@aerogel/core 0.1.1-next.9bd06e629f34098543a54bdb87e8996767876d42 → 0.1.1-next.a5ae42367ffcf6545e59e5c2abda58718cbab59b

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 (46) hide show
  1. package/dist/aerogel-core.d.ts +371 -89
  2. package/dist/aerogel-core.js +1635 -1291
  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 +7 -0
  9. package/src/components/contracts/Modal.ts +2 -0
  10. package/src/components/contracts/Select.ts +89 -2
  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 +6 -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 +56 -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 +63 -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/services/App.state.ts +1 -0
  40. package/src/services/App.ts +4 -0
  41. package/src/services/index.ts +5 -0
  42. package/src/ui/UI.ts +2 -2
  43. package/src/ui/index.ts +1 -11
  44. package/src/ui/modals.ts +36 -0
  45. package/src/utils/index.ts +1 -0
  46. 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 Ft = (t, s, e) => s in t ? jt(t, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[s] = e;
3
+ var x = (t, s, e) => Ft(t, typeof s != "symbol" ? s + "" : s, e);
4
+ import { markRaw as R, Comment as Ot, 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 rt, onMounted as nt, watch as de, toRaw as Kt, customRef as Qt, watchEffect as ee, defineComponent as v, createBlock as g, openBlock as o, mergeProps as E, withCtx as f, renderSlot as $, createPropsRestProxy as W, provide as ae, createVNode as p, normalizeProps as pe, guardReactiveProps as me, createTextVNode as I, toDisplayString as C, normalizeClass as _, createElementBlock as y, Fragment as j, renderList as O, resolveDynamicComponent as te, useSlots as xe, createCommentVNode as V, createElementVNode as b, h as Zt, useTemplateRef as Z, withModifiers as at, withDirectives as lt, vModelCheckbox as Jt, normalizeStyle as Ue, 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 ot, PromisedValue as J, Storage as K, objectOnly as le, arrayFrom as it, isEmpty as Ve, objectDeepClone as ss, fail as Q, facade as re, arrayRemove as Le, getEnv as rs, updateLocationQueryParameters as ns, forever as as, toString as F, objectWithout as ls, noop as os, debounce as is, stringMatchAll as ut, isDevelopment as G, isTesting as Re, after as ie, uuid as ce, isObject as ge, objectWithoutEmpty as ct, evaluate as us, isInstanceOf as Ne, 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 We } from "marked";
10
+ import { injectModal as dt, useModal as ws, createModal as $s, showModal as Ke, closeModal as Qe, modals as oe, 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 Ze, 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 pt, useForwardExpose as ze, SwitchRoot as qs, SwitchThumb as Ps, DialogRoot as As, DialogPortal as Ds, DialogContent as Bs, DialogDescription as js, DialogOverlay as Fs, DialogTitle as Os, 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 Ie 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 qe = null;
25
+ function mt() {
26
+ return qe ?? 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
+ qe = t, gs(t);
31
31
  });
32
32
  }
33
- function Qs() {
34
- return Ae ?? it();
33
+ function pr() {
34
+ return qe ?? mt();
35
35
  }
36
- function Js(t, s) {
37
- return it(), us(t, s)();
36
+ function mr(t, s) {
37
+ return mt(), 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
+ }, x(s, "persist", t.persist ?? []), s;
76
76
  }
77
77
  var He;
78
- let xe = (He = class extends rt {
78
+ let Te = (He = class extends ot {
79
79
  constructor() {
80
80
  super();
81
- _(this, "_name");
82
- _(this, "_booted");
83
- _(this, "_computedStateKeys");
84
- _(this, "_watchers");
85
- _(this, "_store");
81
+ x(this, "_name");
82
+ x(this, "_booted");
83
+ x(this, "_computedStateKeys");
84
+ x(this, "_watchers");
85
+ x(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 Ie(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 = le(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 = it(e), n = le(this._store.$state, r);
128
+ Ve(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 = le(e, this.static("persist"));
141
+ Ve(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() || Ve(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, le(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
+ }, x(He, "persist", []), He);
194
+ const Fl = {
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
+ x(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
+ Le(n.handlers[i] ?? [], r), ((u = n.handlers[i]) == null ? void 0 : u.length) === 0 && (delete n.handlers[i], Le(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((w, S) => S - w), 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 Ol(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
+ x(this, "name", U.name);
283
+ x(this, "ready", new J());
284
+ x(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,15 +309,15 @@ 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 P = re(gr);
316
+ function Ul(t) {
313
317
  return t;
314
318
  }
315
- async function Ys(t, ...s) {
316
- A.setState(
319
+ async function vr(t, ...s) {
320
+ P.setState(
317
321
  "plugins",
318
322
  t.reduce(
319
323
  (e, r) => (r.name && (e[r.name] = r), e),
@@ -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}="${F(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 H(t, s) {
339
+ return yr(t) ?? Q(s ?? `Could not resolve '${F(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 '${F(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 ft(t) {
345
+ return typeof t == "string" ? t : t.type === Ot ? "" : 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(ft).join("")}</${t.type}>`;
344
348
  }
345
- const Te = /* @__PURE__ */ new WeakMap(), rr = {
349
+ const Ee = /* @__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 && Ee.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 = Ee.get(t)) == null || s.unobserve(t), Ee.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 ht(t, s) {
363
+ const { baseClasses: e, ...r } = t, { baseClasses: n, ...a } = s, u = ks(n, a);
364
+ return k(u(r), l(e));
361
365
  }
362
- function H(...t) {
363
- return bs(gs(t));
366
+ function k(...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,32 +392,32 @@ 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 ? it(e) : [];
402
406
  }
403
- const kl = Symbol(), Je = /* @__PURE__ */ new WeakMap();
404
- class or extends rt {
407
+ const Ql = Symbol(), Je = /* @__PURE__ */ new WeakMap();
408
+ class Sr extends ot {
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
+ x(this, "errors");
412
+ x(this, "_fields");
413
+ x(this, "_data");
414
+ x(this, "_submitted");
415
+ x(this, "_errors");
416
+ x(this, "_listeners", {});
417
+ this._fields = e, this._submitted = B(!1), this._data = this.getInitialData(e), this._errors = this.getInitialErrors(e), Je.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;
@@ -423,8 +427,8 @@ class or extends rt {
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 '${F(e)}' field`);
431
+ this._data[e] = n.type === "string" && (n.trim ?? !0) ? F(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
+ Le(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 gt(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 vt(t) {
520
+ return new Sr(t);
514
521
  }
515
522
  function Pe() {
516
- const t = Ye(), s = c(() => t.class);
517
- return [c(() => Gt(t, "class")), s];
523
+ const t = rt(), 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
+ nt(() => 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 de(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 de(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 ue = null;
570
+ function Mr() {
571
+ return se(new We(), (t) => {
565
572
  t.link = function(s) {
566
- const e = Ne.prototype.link.apply(this, [s]);
573
+ const e = We.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 = ut(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 = ut(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 = (ue == null ? void 0 : ue.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 ue;
587
594
  }
588
- function Vl(t) {
589
- ie = t;
595
+ function Yl(t) {
596
+ ue = 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 = bt(s), s = Vr(s), s = Er(s), s;
594
601
  }
595
- function pt(t) {
596
- return cs.sanitize(t, { ADD_ATTR: ["target"] });
602
+ function bt(t) {
603
+ return bs.sanitize(t, { ADD_ATTR: ["target"] });
597
604
  }
598
- const hr = {
605
+ const Ir = 6e4, Ge = -(/* @__PURE__ */ new Date()).getTimezoneOffset() * -Ir, Rr = {
599
606
  mounted(t, { value: s }) {
600
- t.innerHTML = pt(s);
607
+ t.innerHTML = bt(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
+ x(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 yt = re(Ar);
650
+ function to(t, s) {
644
651
  return {
645
652
  ...t,
646
- ...ne(s, Object.keys(t))
653
+ ...le(s, Object.keys(t))
647
654
  };
648
655
  }
649
- const $r = {
650
- $app: A,
651
- $events: F,
652
- $storage: mt
656
+ const Dr = {
657
+ $app: P,
658
+ $events: N,
659
+ $storage: yt
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() || Re()) && 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) => P.addSetting(n)), s.settingsFullscreenOnMobile !== void 0 && P.setSettingsFullscreenOnMobile(s.settingsFullscreenOnMobile), await Me(t, e);
679
+ }
680
+ }, Xe = /* @__PURE__ */ new WeakSet();
681
+ function Ae() {
682
+ const t = dt(), { close: s, remove: e, ...r } = ws(Xe.has(t) ? {} : { removeOnClose: !1 });
683
+ return Xe.add(t), {
684
+ ...r,
685
+ async close(n) {
686
+ s(n), await ie(1e3), e();
687
+ }
688
+ };
689
+ }
690
+ const wt = 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 > wt ? 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 Fr extends jr {
692
709
  constructor() {
693
710
  super(...arguments);
694
- _(this, "components", {});
711
+ x(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, [w, { default: S }]) => ({
743
+ [w]: S ?? !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, w] of Object.entries(u.checkboxes ?? {}))
749
+ if (!(!w.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 = (w) => typeof w == "function" ? Promise.resolve(w()) : w, 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: w, ...S } = e;
757
774
  return {
758
775
  props: S,
759
- delay: l(v),
776
+ delay: l(w),
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([ie({ ms: m }).then(() => u = !0), i]), m && !u)
783
+ return i;
784
+ const h = $s(this.requireComponent("loading-modal"), c);
785
+ Ke(h);
769
786
  try {
770
- const v = await o;
771
- return await le({ ms: 500 }), v;
787
+ const w = await i;
788
+ return await ie({ ms: 500 }), w;
772
789
  } finally {
773
- await Ke($.id, { removeAfter: 1e3 });
790
+ await Qe(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: ce(),
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 Ke(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(oe.value.map(({ id: e }) => Qe(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 ie({ 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: ${wt}px)`).addEventListener("change", () => this.setState({ layout: $t() }));
805
822
  }
806
823
  }
807
- const P = se(Cr);
808
- class xr {
824
+ const D = re(Fr);
825
+ class Or {
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
+ x(this, "provider");
864
+ this.provider = new Or(
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), _t = 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
+ x(this, "forceReporting", !1);
909
+ x(this, "enabled", !0);
910
+ x(this, "eruda", null);
911
+ x(this, "erudaPlugins", null);
894
912
  }
895
913
  enable() {
896
914
  this.enabled = !0;
@@ -900,16 +918,16 @@ 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 }), Re("unit") || (G() && this.logError(e), !this.enabled))
911
929
  throw e;
912
- if (!A.isMounted()) {
930
+ if (!P.isMounted()) {
913
931
  const u = await this.createStartupErrorReport(e);
914
932
  u && this.setState({ startupErrors: this.startupErrors.concat(u) });
915
933
  return;
@@ -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) ? ct({
986
+ title: F(
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: F(
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 Ie ? e.cause instanceof Ie ? 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 Ct = re(Kr), xt = /* @__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: ct({
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), E({
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(() => ht(
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,102 @@ 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(xt, E({
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 kt(t, s) {
1180
+ const e = Y("form", null), r = (h) => h === void 0 ? "" : t.renderOption ? t.renderOption(h) : Qr(h) ? us(h.label) : F(h), n = d(() => e && t.name ? e.getFieldValue(t.name) : t.modelValue), a = d(() => n.value), u = d(() => !e || !t.name ? null : e.errors[t.name] ?? null), i = d(() => t.options ? t.options.map((h) => ({
1181
+ key: ce(),
1182
+ label: r(h),
1183
+ value: h
1184
+ })) : null), c = {
1185
+ renderOption: r,
1186
+ labelClass: t.labelClass,
1187
+ optionsClass: t.optionsClass,
1188
+ align: t.align,
1189
+ side: t.side,
1190
+ value: n,
1191
+ id: `select-${ce()}`,
1192
+ name: d(() => t.name),
1193
+ label: d(() => t.label),
1194
+ description: d(() => t.description),
1195
+ placeholder: d(() => t.placeholder ?? T("ui.select", "Select an option")),
1196
+ options: i,
1197
+ selectedOption: d(() => {
1198
+ var h;
1199
+ return (h = i.value) == null ? void 0 : h.find((w) => w.value === t.modelValue);
1200
+ }),
1201
+ errors: Ce(u),
1202
+ required: d(() => {
1203
+ if (!(!t.name || !e))
1204
+ return e.getFieldRules(t.name).includes("required");
1205
+ }),
1206
+ update(h) {
1207
+ if (e && t.name) {
1208
+ e.setFieldValue(t.name, h);
1209
+ return;
1210
+ }
1211
+ s("update:modelValue", h);
1212
+ }
1213
+ };
1214
+ function m(h) {
1215
+ c.update(h);
1216
+ }
1217
+ return ae("select", c), { expose: c, acceptableValue: a, update: m, renderOption: r };
1218
+ }
1219
+ const St = /* @__PURE__ */ v({
1158
1220
  __name: "HeadlessSelectValue",
1159
1221
  setup(t) {
1160
- const s = I(
1222
+ const s = H(
1161
1223
  "select",
1162
1224
  "<HeadlessSelectValue> must be a child of a <HeadlessSelect>"
1163
1225
  );
1164
- return (e, r) => e.$slots.default ? (i(), f(l(Qe), {
1226
+ return (e, r) => e.$slots.default ? (o(), g(l(Ze), {
1165
1227
  key: 0,
1166
1228
  placeholder: l(s).placeholder
1167
1229
  }, {
1168
- default: m(() => [
1169
- w(e.$slots, "default")
1230
+ default: f(() => [
1231
+ $(e.$slots, "default")
1170
1232
  ]),
1171
1233
  _: 3
1172
- }, 8, ["placeholder"])) : (i(), f(l(Qe), {
1234
+ }, 8, ["placeholder"])) : (o(), g(l(Ze), {
1173
1235
  key: 1,
1174
1236
  placeholder: l(s).placeholder
1175
1237
  }, null, 8, ["placeholder"]));
1176
1238
  }
1177
- }), $t = /* @__PURE__ */ h({
1239
+ }), Tt = /* @__PURE__ */ v({
1178
1240
  __name: "HeadlessSelectTrigger",
1179
1241
  setup(t) {
1180
- const s = I(
1242
+ const s = H(
1181
1243
  "select",
1182
1244
  "<HeadlessSelectTrigger> must be a child of a <HeadlessSelect>"
1183
1245
  );
1184
- return (e, r) => (i(), f(l($s), {
1246
+ return (e, r) => (o(), g(l(Ms), {
1185
1247
  id: l(s).id
1186
1248
  }, {
1187
- default: m(() => [
1188
- w(e.$slots, "default", {}, () => [
1189
- d(yt, {
1249
+ default: f(() => [
1250
+ $(e.$slots, "default", {}, () => [
1251
+ p(St, {
1190
1252
  placeholder: l(s).placeholder
1191
1253
  }, null, 8, ["placeholder"]),
1192
- d(l(ws))
1254
+ p(l(Vs))
1193
1255
  ])
1194
1256
  ]),
1195
1257
  _: 3
1196
1258
  }, 8, ["id"]));
1197
1259
  }
1198
- }), wt = /* @__PURE__ */ h({
1260
+ }), Mt = /* @__PURE__ */ v({
1199
1261
  __name: "HeadlessSelectOption",
1200
1262
  props: {
1201
1263
  value: {},
@@ -1205,20 +1267,20 @@ const yt = /* @__PURE__ */ h({
1205
1267
  as: {}
1206
1268
  },
1207
1269
  setup(t) {
1208
- const s = I(
1270
+ const s = H(
1209
1271
  "select",
1210
1272
  "<HeadlessSelectOption> must be a child of a <HeadlessSelect>"
1211
- ), e = c(() => {
1273
+ ), e = d(() => {
1212
1274
  var n;
1213
1275
  const r = (n = s.options) == null ? void 0 : n.find((a) => a.value === t.value);
1214
- return r ? r.label : B(t.value);
1276
+ return r ? s.renderOption(r.value) : F(t.value);
1215
1277
  });
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)
1278
+ return (r, n) => (o(), g(l(Es), pe(me(r.$props)), {
1279
+ default: f(() => [
1280
+ p(l(Hs), null, {
1281
+ default: f(() => [
1282
+ $(r.$slots, "default", {}, () => [
1283
+ I(C(e.value), 1)
1222
1284
  ])
1223
1285
  ]),
1224
1286
  _: 3
@@ -1227,33 +1289,33 @@ const yt = /* @__PURE__ */ h({
1227
1289
  _: 3
1228
1290
  }, 16));
1229
1291
  }
1230
- }), _t = /* @__PURE__ */ h({
1292
+ }), Vt = /* @__PURE__ */ v({
1231
1293
  __name: "HeadlessSelectOptions",
1232
1294
  props: {
1233
1295
  class: {},
1234
1296
  innerClass: {}
1235
1297
  },
1236
1298
  setup(t) {
1237
- const s = I(
1299
+ const s = H(
1238
1300
  "select",
1239
1301
  "<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), {
1302
+ ), e = d(() => k("min-w-(--reka-select-trigger-width) max-h-(--reka-select-content-available-height)", t.class));
1303
+ return (r, n) => (o(), g(l(Ls), null, {
1304
+ default: f(() => [
1305
+ p(l(Is), {
1244
1306
  position: "popper",
1245
- class: x(e.value),
1307
+ class: _(e.value),
1246
1308
  align: l(s).align,
1247
1309
  side: l(s).side,
1248
1310
  "side-offset": 4
1249
1311
  }, {
1250
- default: m(() => [
1251
- d(l(Ss), {
1252
- class: x(r.innerClass)
1312
+ default: f(() => [
1313
+ p(l(Rs), {
1314
+ class: _(r.innerClass)
1253
1315
  }, {
1254
- default: m(() => [
1255
- w(r.$slots, "default", {}, () => [
1256
- (i(!0), y(D, null, U(l(s).options ?? [], (a) => (i(), f(wt, {
1316
+ default: f(() => [
1317
+ $(r.$slots, "default", {}, () => [
1318
+ (o(!0), y(j, null, O(l(s).options ?? [], (a) => (o(), g(Mt, {
1257
1319
  key: a.key,
1258
1320
  value: a.value
1259
1321
  }, null, 8, ["value"]))), 128))
@@ -1268,7 +1330,7 @@ const yt = /* @__PURE__ */ h({
1268
1330
  _: 3
1269
1331
  }));
1270
1332
  }
1271
- }), Vr = /* @__PURE__ */ h({
1333
+ }), Zr = /* @__PURE__ */ v({
1272
1334
  inheritAttrs: !1,
1273
1335
  __name: "HeadlessSelect",
1274
1336
  props: {
@@ -1288,56 +1350,21 @@ const yt = /* @__PURE__ */ h({
1288
1350
  },
1289
1351
  emits: ["update:modelValue"],
1290
1352
  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))
1353
+ const r = e, n = W(t, ["as", "compareOptions"]), { expose: a, acceptableValue: u, update: i } = kt({ as: t.as, compareOptions: t.compareOptions, ...n }, r);
1354
+ return s(a), (c, m) => (o(), g(l(zs), {
1355
+ "model-value": l(u),
1356
+ by: c.compareOptions,
1357
+ "onUpdate:modelValue": m[0] || (m[0] = (h) => l(i)(h))
1331
1358
  }, {
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
1359
+ default: f(({ open: h }) => [
1360
+ (o(), g(te(c.as), pe(me(c.$attrs)), {
1361
+ default: f(() => [
1362
+ $(c.$slots, "default", {
1363
+ modelValue: c.modelValue,
1364
+ open: h
1338
1365
  }, () => [
1339
- d($t),
1340
- d(_t)
1366
+ p(Tt),
1367
+ p(Vt)
1341
1368
  ])
1342
1369
  ]),
1343
1370
  _: 2
@@ -1346,50 +1373,50 @@ const yt = /* @__PURE__ */ h({
1346
1373
  _: 3
1347
1374
  }, 8, ["model-value", "by"]));
1348
1375
  }
1349
- }), Ze = /* @__PURE__ */ h({
1376
+ }), Ye = /* @__PURE__ */ v({
1350
1377
  __name: "HeadlessSelectLabel",
1351
1378
  props: {
1352
1379
  asChild: { type: Boolean },
1353
1380
  as: {}
1354
1381
  },
1355
1382
  setup(t) {
1356
- const s = I(
1383
+ const s = H(
1357
1384
  "select",
1358
1385
  "<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({
1386
+ ), e = xe(), r = d(() => !!(s.label || e.default));
1387
+ return (n, a) => r.value ? (o(), g(l(pt), E({
1361
1388
  key: 0,
1362
1389
  for: l(s).id
1363
1390
  }, n.$props), {
1364
- default: m(() => [
1365
- w(n.$slots, "default", {}, () => [
1366
- L(C(l(s).label), 1)
1391
+ default: f(() => [
1392
+ $(n.$slots, "default", {}, () => [
1393
+ I(C(l(s).label), 1)
1367
1394
  ])
1368
1395
  ]),
1369
1396
  _: 3
1370
- }, 16, ["for"])) : M("", !0);
1397
+ }, 16, ["for"])) : V("", !0);
1371
1398
  }
1372
- }), Ct = /* @__PURE__ */ h({
1399
+ }), Et = /* @__PURE__ */ v({
1373
1400
  __name: "SelectLabel",
1374
1401
  props: {
1375
1402
  class: {}
1376
1403
  },
1377
1404
  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, {
1405
+ const s = H("select", "<SelectLabel> must be a child of a <Select>"), e = d(() => k("block text-sm leading-6 font-medium text-gray-900", s.labelClass, t.class));
1406
+ return (r, n) => r.$slots.default ? (o(), g(Ye, {
1380
1407
  key: 0,
1381
- class: x(e.value)
1408
+ class: _(e.value)
1382
1409
  }, {
1383
- default: m(() => [
1384
- w(r.$slots, "default")
1410
+ default: f(() => [
1411
+ $(r.$slots, "default")
1385
1412
  ]),
1386
1413
  _: 3
1387
- }, 8, ["class"])) : (i(), f(Ze, {
1414
+ }, 8, ["class"])) : (o(), g(Ye, {
1388
1415
  key: 1,
1389
- class: x(e.value)
1416
+ class: _(e.value)
1390
1417
  }, null, 8, ["class"]));
1391
1418
  }
1392
- }), Xe = /* @__PURE__ */ h({
1419
+ }), et = /* @__PURE__ */ v({
1393
1420
  __name: "SelectOption",
1394
1421
  props: {
1395
1422
  value: {},
@@ -1397,62 +1424,62 @@ const yt = /* @__PURE__ */ h({
1397
1424
  innerClass: {}
1398
1425
  },
1399
1426
  setup(t) {
1400
- const s = c(() => H("group p-1 outline-none", t.class)), e = c(() => H(
1427
+ const s = d(() => k("group p-1 outline-none", t.class)), e = d(() => k(
1401
1428
  // eslint-disable-next-line vue/max-len
1402
1429
  "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
1430
  t.innerClass
1404
1431
  ));
1405
- return (r, n) => (i(), f(wt, {
1406
- class: x(s.value),
1432
+ return (r, n) => (o(), g(Mt, {
1433
+ class: _(s.value),
1407
1434
  value: r.value
1408
1435
  }, {
1409
- default: m(() => [
1436
+ default: f(() => [
1410
1437
  b("div", {
1411
- class: x(e.value)
1438
+ class: _(e.value)
1412
1439
  }, [
1413
- w(r.$slots, "default")
1440
+ $(r.$slots, "default")
1414
1441
  ], 2)
1415
1442
  ]),
1416
1443
  _: 3
1417
1444
  }, 8, ["class", "value"]));
1418
1445
  }
1419
- }), xt = /* @__PURE__ */ h({
1446
+ }), Ht = /* @__PURE__ */ v({
1420
1447
  __name: "SelectOptions",
1421
1448
  props: {
1422
1449
  class: {}
1423
1450
  },
1424
1451
  setup(t) {
1425
- const s = I("select", "<SelectOptions> must be a child of a <Select>"), e = c(() => H(
1452
+ const s = H("select", "<SelectOptions> must be a child of a <Select>"), e = d(() => k(
1426
1453
  "z-50 overflow-auto rounded-lg bg-white text-base shadow-lg ring-1 ring-black/5 focus:outline-hidden",
1427
1454
  s.optionsClass,
1428
1455
  t.class
1429
1456
  ));
1430
- return (r, n) => (i(), f(_t, {
1431
- class: x(e.value)
1457
+ return (r, n) => (o(), g(Vt, {
1458
+ class: _(e.value)
1432
1459
  }, {
1433
- default: m(() => {
1460
+ default: f(() => {
1434
1461
  var a;
1435
1462
  return [
1436
- (a = l(s).options) != null && a.length ? w(r.$slots, "default", { key: 0 }, () => {
1463
+ (a = l(s).options) != null && a.length ? $(r.$slots, "default", { key: 0 }, () => {
1437
1464
  var u;
1438
1465
  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
1466
+ (o(!0), y(j, null, O(((u = l(s)) == null ? void 0 : u.options) ?? [], (i) => (o(), g(et, {
1467
+ key: i.key,
1468
+ value: i.value
1442
1469
  }, {
1443
- default: m(() => [
1444
- L(C(o.label), 1)
1470
+ default: f(() => [
1471
+ I(C(i.label), 1)
1445
1472
  ]),
1446
1473
  _: 2
1447
1474
  }, 1032, ["value"]))), 128))
1448
1475
  ];
1449
- }) : w(r.$slots, "default", { key: 1 }, () => [
1450
- d(Xe, {
1476
+ }) : $(r.$slots, "default", { key: 1 }, () => [
1477
+ p(et, {
1451
1478
  disabled: "",
1452
1479
  value: null
1453
1480
  }, {
1454
- default: m(() => [
1455
- L(C(r.$td("ui.selectEmpty", "No options available")), 1)
1481
+ default: f(() => [
1482
+ I(C(r.$td("ui.selectEmpty", "No options available")), 1)
1456
1483
  ]),
1457
1484
  _: 1
1458
1485
  })
@@ -1462,42 +1489,42 @@ const yt = /* @__PURE__ */ h({
1462
1489
  _: 3
1463
1490
  }, 8, ["class"]));
1464
1491
  }
1465
- }), Er = {
1492
+ }), Jr = {
1466
1493
  viewBox: "0 0 20 20",
1467
1494
  width: "1.2em",
1468
1495
  height: "1.2em"
1469
1496
  };
1470
- function Lr(t, s) {
1471
- return i(), y("svg", Er, s[0] || (s[0] = [
1497
+ function Gr(t, s) {
1498
+ return o(), y("svg", Jr, s[0] || (s[0] = [
1472
1499
  b("path", {
1473
1500
  fill: "currentColor",
1474
1501
  d: "m9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828L5.757 6.586L4.343 8z"
1475
1502
  }, null, -1)
1476
1503
  ]));
1477
1504
  }
1478
- const Rr = E({ name: "zondicons-cheveron-down", render: Lr }), kt = /* @__PURE__ */ h({
1505
+ const Xr = R({ name: "zondicons-cheveron-down", render: Gr }), Lt = /* @__PURE__ */ v({
1479
1506
  __name: "SelectTrigger",
1480
1507
  props: {
1481
1508
  class: {}
1482
1509
  },
1483
1510
  setup(t) {
1484
- const s = I("select", "<SelectTrigger> must be a child of a <Select>"), e = c(() => H(
1511
+ const s = H("select", "<SelectTrigger> must be a child of a <Select>"), e = d(() => k(
1485
1512
  // eslint-disable-next-line vue/max-len
1486
1513
  "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
1514
  { "mt-1": s.label },
1488
1515
  t.class
1489
1516
  ));
1490
- return (r, n) => (i(), f($t, {
1491
- class: x(e.value)
1517
+ return (r, n) => (o(), g(Tt, {
1518
+ class: _(e.value)
1492
1519
  }, {
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" })
1520
+ default: f(() => [
1521
+ p(St, { class: "col-start-1 row-start-1 truncate pr-6" }),
1522
+ p(l(Xr), { class: "col-start-1 row-start-1 size-5 self-center justify-self-end text-gray-500 sm:size-4" })
1496
1523
  ]),
1497
1524
  _: 1
1498
1525
  }, 8, ["class"]));
1499
1526
  }
1500
- }), zr = /* @__PURE__ */ h({
1527
+ }), Yr = /* @__PURE__ */ v({
1501
1528
  __name: "Select",
1502
1529
  props: {
1503
1530
  as: {},
@@ -1516,30 +1543,30 @@ const Rr = E({ name: "zondicons-cheveron-down", render: Lr }), kt = /* @__PURE__
1516
1543
  },
1517
1544
  emits: ["update:modelValue"],
1518
1545
  setup(t) {
1519
- const { forwardRef: s } = qe();
1520
- return (e, r) => (i(), f(Vr, V({ ref: l(s) }, e.$props, {
1546
+ const { forwardRef: s } = ze();
1547
+ return (e, r) => (o(), g(Zr, E({ ref: l(s) }, e.$props, {
1521
1548
  "onUpdate:modelValue": r[0] || (r[0] = (n) => e.$emit("update:modelValue", n))
1522
1549
  }), {
1523
- default: m(() => [
1524
- d(Ct),
1525
- w(e.$slots, "default", {}, () => [
1526
- d(kt),
1527
- d(xt)
1550
+ default: f(() => [
1551
+ p(Et),
1552
+ $(e.$slots, "default", {}, () => [
1553
+ p(Lt),
1554
+ p(Ht)
1528
1555
  ])
1529
1556
  ]),
1530
1557
  _: 3
1531
1558
  }, 16));
1532
1559
  }
1533
- }), Ir = { class: "grow" }, qr = /* @__PURE__ */ h({
1560
+ }), en = { class: "grow" }, tn = /* @__PURE__ */ v({
1534
1561
  __name: "Language",
1535
1562
  setup(t) {
1536
- const s = Z.getBrowserLocale(), e = c(() => [null, ...Z.locales]);
1563
+ const s = X.getBrowserLocale(), e = d(() => [null, ...X.locales]);
1537
1564
  function r(n) {
1538
- return (n && j.locales[n]) ?? k("settings.localeDefault", "{locale} (default)", {
1539
- locale: j.locales[s] ?? s
1565
+ return (n && U.locales[n]) ?? T("settings.localeDefault", "{locale} (default)", {
1566
+ locale: U.locales[s] ?? s
1540
1567
  });
1541
1568
  }
1542
- return (n, a) => (i(), f(zr, {
1569
+ return (n, a) => (o(), g(Yr, {
1543
1570
  modelValue: n.$lang.locale,
1544
1571
  "onUpdate:modelValue": a[0] || (a[0] = (u) => n.$lang.locale = u),
1545
1572
  class: "flex flex-col items-start md:flex-row",
@@ -1547,41 +1574,41 @@ const Rr = E({ name: "zondicons-cheveron-down", render: Lr }), kt = /* @__PURE__
1547
1574
  options: e.value,
1548
1575
  "render-option": r
1549
1576
  }, {
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)
1577
+ default: f(() => [
1578
+ b("div", en, [
1579
+ p(Et, { class: "text-base font-semibold" }, {
1580
+ default: f(() => [
1581
+ I(C(n.$td("settings.locale", "Language")), 1)
1555
1582
  ]),
1556
1583
  _: 1
1557
1584
  }),
1558
- d(z, {
1585
+ p(q, {
1559
1586
  "lang-key": "settings.localeDescription",
1560
1587
  "lang-default": "Choose the application's language.",
1561
1588
  class: "mt-1 text-sm text-gray-500"
1562
1589
  })
1563
1590
  ]),
1564
- d(R, {
1591
+ p(z, {
1565
1592
  variant: "ghost",
1566
- as: kt,
1593
+ as: Lt,
1567
1594
  class: "grid w-auto outline-none"
1568
1595
  }),
1569
- d(xt)
1596
+ p(Ht)
1570
1597
  ]),
1571
1598
  _: 1
1572
1599
  }, 8, ["modelValue", "options"]));
1573
1600
  }
1574
- }), Ar = [
1601
+ }), sn = [
1575
1602
  {
1576
1603
  priority: 100,
1577
- component: qr
1604
+ component: tn
1578
1605
  }
1579
- ], Pr = { $lang: Z }, Dr = {
1606
+ ], rn = { $lang: X }, nn = {
1580
1607
  async install(t) {
1581
1608
  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);
1609
+ (s = t.config.globalProperties).$t ?? (s.$t = _t), t.config.globalProperties.$td = T, sn.forEach((e) => P.addSetting(e)), await Me(t, rn);
1583
1610
  }
1584
- }, jr = /* @__PURE__ */ h({
1611
+ }, an = /* @__PURE__ */ v({
1585
1612
  __name: "Markdown",
1586
1613
  props: {
1587
1614
  as: {},
@@ -1593,38 +1620,38 @@ const Rr = E({ name: "zondicons-cheveron-down", render: Lr }), kt = /* @__PURE__
1593
1620
  actions: {}
1594
1621
  },
1595
1622
  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(() => {
1623
+ const s = rt(), e = xe(), r = d(() => e.default ? e.default().map(ft).join("") : t.text ?? (t.langKey && (t.langDefault ? T(t.langKey, t.langDefault, t.langParams ?? {}) : _t(t.langKey, t.langParams ?? {})))), n = d(() => {
1597
1624
  if (!r.value)
1598
1625
  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"), {
1626
+ let i = Lr(r.value);
1627
+ return t.inline && (i = i.replace("<p>", "<span>").replace("</p>", "</span>")), i;
1628
+ }), a = () => Zt(t.as ?? (t.inline ? "span" : "div"), {
1602
1629
  innerHTML: n.value,
1603
1630
  onClick: u,
1604
1631
  ...s,
1605
1632
  class: `${s.class ?? ""} ${t.inline ? "" : "prose"}`
1606
1633
  });
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);
1634
+ async function u(i) {
1635
+ var m, h;
1636
+ const { target: c } = i;
1637
+ if (Ne(c, HTMLElement) && c.dataset.markdownAction) {
1638
+ (h = (m = t.actions) == null ? void 0 : m[c.dataset.markdownAction]) == null || h.call(m);
1612
1639
  return;
1613
1640
  }
1614
- if (Oe(p, HTMLAnchorElement) && p.dataset.markdownRoute) {
1615
- const v = mr();
1616
- v && (o.preventDefault(), v.visit(p.dataset.markdownRoute));
1641
+ if (Ne(c, HTMLAnchorElement) && c.dataset.markdownRoute) {
1642
+ const w = Hr();
1643
+ w && (i.preventDefault(), w.visit(c.dataset.markdownRoute));
1617
1644
  return;
1618
1645
  }
1619
1646
  }
1620
- return (o, p) => (i(), f(a));
1647
+ return (i, c) => (o(), g(a));
1621
1648
  }
1622
- }), Br = (t, s) => {
1649
+ }), ln = (t, s) => {
1623
1650
  const e = t.__vccOpts || t;
1624
1651
  for (const [r, n] of s)
1625
1652
  e[r] = n;
1626
1653
  return e;
1627
- }, z = /* @__PURE__ */ Br(jr, [["__scopeId", "data-v-8b211cfb"]]), Fr = { class: "flex-grow" }, Ur = ["id"], Or = /* @__PURE__ */ h({
1654
+ }, q = /* @__PURE__ */ ln(an, [["__scopeId", "data-v-8b211cfb"]]), on = { class: "flex-grow" }, un = ["id"], cn = /* @__PURE__ */ v({
1628
1655
  __name: "Setting",
1629
1656
  props: {
1630
1657
  title: {},
@@ -1634,29 +1661,29 @@ const Rr = E({ name: "zondicons-cheveron-down", render: Lr }), kt = /* @__PURE__
1634
1661
  layout: { default: "horizontal" }
1635
1662
  },
1636
1663
  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" }])
1664
+ const s = d(() => k(t.class, "flex flex-col justify-center gap-1"));
1665
+ return (e, r) => (o(), y("div", {
1666
+ class: _(["mt-4 flex", { "flex-col": e.layout === "vertical" }])
1640
1667
  }, [
1641
- b("div", Fr, [
1668
+ b("div", on, [
1642
1669
  b("h3", {
1643
1670
  id: e.titleId,
1644
1671
  class: "text-base font-semibold"
1645
- }, C(e.title), 9, Ur),
1646
- e.description ? (i(), f(z, {
1672
+ }, C(e.title), 9, un),
1673
+ e.description ? (o(), g(q, {
1647
1674
  key: 0,
1648
1675
  text: e.description,
1649
1676
  class: "mt-1 text-sm text-gray-500"
1650
- }, null, 8, ["text"])) : M("", !0)
1677
+ }, null, 8, ["text"])) : V("", !0)
1651
1678
  ]),
1652
1679
  b("div", {
1653
- class: x(s.value)
1680
+ class: _(s.value)
1654
1681
  }, [
1655
- w(e.$slots, "default")
1682
+ $(e.$slots, "default")
1656
1683
  ], 2)
1657
1684
  ], 2));
1658
1685
  }
1659
- }), Nr = ["for"], Wr = /* @__PURE__ */ h({
1686
+ }), dn = ["for"], pn = /* @__PURE__ */ v({
1660
1687
  inheritAttrs: !1,
1661
1688
  __name: "HeadlessSwitch",
1662
1689
  props: {
@@ -1671,71 +1698,71 @@ const Rr = E({ name: "zondicons-cheveron-down", render: Lr }), kt = /* @__PURE__
1671
1698
  },
1672
1699
  emits: ["update:modelValue"],
1673
1700
  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(() => {
1701
+ const r = e, n = Y("form", null), a = d(() => !n || !t.name ? null : n.errors[t.name] ?? null), u = {
1702
+ id: `switch-${ce()}`,
1703
+ name: d(() => t.name),
1704
+ label: d(() => t.label),
1705
+ description: d(() => t.description),
1706
+ value: d(() => n && t.name ? n.getFieldValue(t.name) : t.modelValue),
1707
+ errors: Ce(a),
1708
+ required: d(() => {
1682
1709
  if (!(!t.name || !n))
1683
1710
  return n.getFieldRules(t.name).includes("required");
1684
1711
  }),
1685
- update(o) {
1712
+ update(i) {
1686
1713
  if (n && t.name) {
1687
- n.setFieldValue(t.name, o);
1714
+ n.setFieldValue(t.name, i);
1688
1715
  return;
1689
1716
  }
1690
- r("update:modelValue", o);
1717
+ r("update:modelValue", i);
1691
1718
  }
1692
1719
  };
1693
- return s(u), G(() => {
1720
+ return s(u), ee(() => {
1694
1721
  !t.description && !a.value || console.warn("Errors and description not implemented in <HeadlessSwitch>");
1695
- }), (o, p) => (i(), y("div", {
1696
- class: x(t.class)
1722
+ }), (i, c) => (o(), y("div", {
1723
+ class: _(t.class)
1697
1724
  }, [
1698
- o.label ? (i(), y("label", {
1725
+ i.label ? (o(), y("label", {
1699
1726
  key: 0,
1700
1727
  for: u.id,
1701
- class: x(o.labelClass)
1702
- }, C(o.label), 11, Nr)) : M("", !0),
1703
- d(l(Hs), V({
1728
+ class: _(i.labelClass)
1729
+ }, C(i.label), 11, dn)) : V("", !0),
1730
+ p(l(qs), E({
1704
1731
  id: u.id,
1705
- name: o.name,
1732
+ name: i.name,
1706
1733
  "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))
1734
+ }, i.$attrs, {
1735
+ class: i.inputClass,
1736
+ "onUpdate:modelValue": c[0] || (c[0] = (m) => i.$emit("update:modelValue", m))
1710
1737
  }), {
1711
- default: m(() => [
1712
- d(l(Vs), {
1713
- class: x(o.thumbClass)
1738
+ default: f(() => [
1739
+ p(l(Ps), {
1740
+ class: _(i.thumbClass)
1714
1741
  }, null, 8, ["class"])
1715
1742
  ]),
1716
1743
  _: 1
1717
1744
  }, 16, ["id", "name", "model-value", "class"])
1718
1745
  ], 2));
1719
1746
  }
1720
- }), Kr = /* @__PURE__ */ h({
1747
+ }), mn = /* @__PURE__ */ v({
1721
1748
  __name: "Switch",
1722
1749
  setup(t) {
1723
- return (s, e) => (i(), f(Wr, {
1750
+ return (s, e) => (o(), g(pn, {
1724
1751
  class: "flex flex-row items-center gap-1",
1725
1752
  "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
1753
  "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
1754
  }));
1728
1755
  }
1729
- }), Qr = /* @__PURE__ */ h({
1756
+ }), fn = /* @__PURE__ */ v({
1730
1757
  __name: "Debug",
1731
1758
  setup(t) {
1732
- return (s, e) => (i(), f(Or, {
1759
+ return (s, e) => (o(), g(cn, {
1733
1760
  "title-id": "debug-setting",
1734
1761
  title: s.$td("settings.debug", "Debugging"),
1735
1762
  description: s.$td("settings.debugDescription", "Enable debugging with [Eruda](https://eruda.liriliri.io/).")
1736
1763
  }, {
1737
- default: m(() => [
1738
- d(Kr, {
1764
+ default: f(() => [
1765
+ p(mn, {
1739
1766
  modelValue: s.$errors.debug,
1740
1767
  "onUpdate:modelValue": e[0] || (e[0] = (r) => s.$errors.debug = r),
1741
1768
  "aria-labelledby": "debug-setting"
@@ -1744,80 +1771,78 @@ const Rr = E({ name: "zondicons-cheveron-down", render: Lr }), kt = /* @__PURE__
1744
1771
  _: 1
1745
1772
  }, 8, ["title", "description"]));
1746
1773
  }
1747
- }), Jr = [
1774
+ }), hn = [
1748
1775
  {
1749
1776
  priority: 10,
1750
- component: Qr
1777
+ component: fn
1751
1778
  }
1752
- ], St = [];
1753
- function Rl(t) {
1754
- St.push(t);
1779
+ ], It = [];
1780
+ function so(t) {
1781
+ It.push(t);
1755
1782
  }
1756
- function Tt(t) {
1757
- for (const s of St) {
1783
+ function Rt(t) {
1784
+ for (const s of It) {
1758
1785
  const e = s(t);
1759
1786
  if (e)
1760
1787
  return e;
1761
1788
  }
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");
1789
+ return typeof t == "string" ? t : t instanceof Error || t instanceof ke ? t.message : ge(t) ? F(t.message ?? t.description ?? "Unknown error object") : T("errors.unknown", "Unknown Error");
1763
1790
  }
1764
- class Ge extends _e {
1791
+ class tt extends ke {
1765
1792
  }
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);
1793
+ const gn = { $errors: Ct }, vn = (t) => (Ct.report(t), !0);
1794
+ function bn(t, s = () => !1) {
1795
+ const e = (r) => s(r) || vn(r);
1796
+ t.config.errorHandler = e, globalThis.onerror = (r, n, a, u, i) => e(i ?? r), globalThis.onunhandledrejection = (r) => e(r.reason);
1770
1797
  }
1771
- const Yr = {
1798
+ const yn = {
1772
1799
  async install(t, s) {
1773
- Gr(t, s.handleError), Jr.forEach((e) => A.addSetting(e)), await ke(t, Zr);
1800
+ bn(t, s.handleError), hn.forEach((e) => P.addSetting(e)), await Me(t, gn);
1774
1801
  }
1775
- }, en = {
1802
+ }, wn = {
1776
1803
  async install() {
1777
- ze() && (globalThis.testingRuntime = {
1778
- on: (...t) => F.on(...t),
1779
- service: (t) => A.service(t)
1804
+ Re() && (globalThis.testingRuntime = {
1805
+ on: (...t) => N.on(...t),
1806
+ service: (t) => P.service(t)
1780
1807
  });
1781
1808
  }
1782
- }, tn = {
1809
+ }, $n = {
1783
1810
  viewBox: "0 0 20 20",
1784
1811
  width: "1.2em",
1785
1812
  height: "1.2em"
1786
1813
  };
1787
- function sn(t, s) {
1788
- return i(), y("svg", tn, s[0] || (s[0] = [
1814
+ function _n(t, s) {
1815
+ return o(), y("svg", $n, s[0] || (s[0] = [
1789
1816
  b("path", {
1790
1817
  fill: "currentColor",
1791
1818
  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
1819
  }, null, -1)
1793
1820
  ]));
1794
1821
  }
1795
- const rn = E({ name: "zondicons-close", render: sn }), nn = /* @__PURE__ */ h({
1822
+ const Cn = R({ name: "zondicons-close", render: _n }), xn = /* @__PURE__ */ v({
1796
1823
  __name: "HeadlessModal",
1797
1824
  props: {
1798
1825
  persistent: { type: Boolean },
1826
+ fullscreen: { type: Boolean },
1827
+ fullscreenOnMobile: { type: Boolean },
1799
1828
  title: {},
1800
1829
  titleHidden: { type: Boolean },
1801
1830
  description: {},
1802
1831
  descriptionHidden: { type: Boolean }
1803
1832
  },
1804
1833
  setup(t, { expose: s }) {
1805
- const e = N(null), r = Ie({ removeOnClose: !1 });
1834
+ const e = B(null), { close: r } = Ae();
1806
1835
  s({ $content: e });
1807
- 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), {
1836
+ const { forwardRef: n } = ze();
1837
+ return ae("$modalContentRef", e), (a, u) => (o(), g(l(As), {
1813
1838
  ref: l(n),
1814
1839
  open: "",
1815
- "onUpdate:open": o[0] || (o[0] = (p) => u.persistent || a())
1840
+ "onUpdate:open": u[0] || (u[0] = (i) => a.persistent || i || l(r)())
1816
1841
  }, {
1817
- default: m(() => [
1818
- d(l(Ls), null, {
1819
- default: m(() => [
1820
- w(u.$slots, "default", { close: a })
1842
+ default: f(() => [
1843
+ p(l(Ds), null, {
1844
+ default: f(() => [
1845
+ $(a.$slots, "default", { close: l(r) })
1821
1846
  ]),
1822
1847
  _: 3
1823
1848
  })
@@ -1825,36 +1850,36 @@ const rn = E({ name: "zondicons-close", render: sn }), nn = /* @__PURE__ */ h({
1825
1850
  _: 3
1826
1851
  }, 512));
1827
1852
  }
1828
- }), an = /* @__PURE__ */ h({
1853
+ }), kn = /* @__PURE__ */ v({
1829
1854
  __name: "HeadlessModalContent",
1830
1855
  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), {
1856
+ const { child: s } = Ae(), e = wr("$modalContentRef"), r = Z("$contentRef");
1857
+ return ee(() => e.value = r.value), (n, a) => (o(), g(l(Bs), { ref: "$contentRef" }, {
1858
+ default: f(() => [
1859
+ $(n.$slots, "default"),
1860
+ l(s) ? (o(), g(l(_s), {
1836
1861
  key: 0,
1837
1862
  is: l(s)
1838
- }, null, 8, ["is"])) : M("", !0)
1863
+ }, null, 8, ["is"])) : V("", !0)
1839
1864
  ]),
1840
1865
  _: 3
1841
1866
  }, 512));
1842
1867
  }
1843
- }), ln = /* @__PURE__ */ h({
1868
+ }), Sn = /* @__PURE__ */ v({
1844
1869
  __name: "HeadlessModalDescription",
1845
1870
  props: {
1846
1871
  asChild: { type: Boolean },
1847
1872
  as: {}
1848
1873
  },
1849
1874
  setup(t) {
1850
- return (s, e) => (i(), f(l(zs), ue(ce(s.$props)), {
1851
- default: m(() => [
1852
- w(s.$slots, "default")
1875
+ return (s, e) => (o(), g(l(js), pe(me(s.$props)), {
1876
+ default: f(() => [
1877
+ $(s.$slots, "default")
1853
1878
  ]),
1854
1879
  _: 3
1855
1880
  }, 16));
1856
1881
  }
1857
- }), on = /* @__PURE__ */ h({
1882
+ }), Tn = /* @__PURE__ */ v({
1858
1883
  __name: "HeadlessModalOverlay",
1859
1884
  props: {
1860
1885
  forceMount: { type: Boolean },
@@ -1862,34 +1887,33 @@ const rn = E({ name: "zondicons-close", render: sn }), nn = /* @__PURE__ */ h({
1862
1887
  as: {}
1863
1888
  },
1864
1889
  setup(t) {
1865
- return (s, e) => (i(), f(l(Is), ue(ce(s.$props)), {
1866
- default: m(() => [
1867
- w(s.$slots, "default")
1890
+ return (s, e) => (o(), g(l(Fs), pe(me(s.$props)), {
1891
+ default: f(() => [
1892
+ $(s.$slots, "default")
1868
1893
  ]),
1869
1894
  _: 3
1870
1895
  }, 16));
1871
1896
  }
1872
- }), un = /* @__PURE__ */ h({
1897
+ }), Mn = /* @__PURE__ */ v({
1873
1898
  __name: "HeadlessModalTitle",
1874
1899
  props: {
1875
1900
  asChild: { type: Boolean },
1876
1901
  as: {}
1877
1902
  },
1878
1903
  setup(t) {
1879
- return (s, e) => (i(), f(l(qs), ue(ce(s.$props)), {
1880
- default: m(() => [
1881
- w(s.$slots, "default")
1904
+ return (s, e) => (o(), g(l(Os), pe(me(s.$props)), {
1905
+ default: f(() => [
1906
+ $(s.$slots, "default")
1882
1907
  ]),
1883
1908
  _: 3
1884
1909
  }, 16));
1885
1910
  }
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({
1911
+ }), Vn = ["onClick"], En = { class: "sr-only" }, he = Tr(), ne = /* @__PURE__ */ v({
1890
1912
  __name: "Modal",
1891
1913
  props: {
1892
1914
  persistent: { type: Boolean },
1915
+ fullscreen: { type: Boolean },
1916
+ fullscreenOnMobile: { type: Boolean },
1893
1917
  title: {},
1894
1918
  titleHidden: { type: Boolean },
1895
1919
  description: {},
@@ -1899,87 +1923,99 @@ const rn = E({ name: "zondicons-close", render: sn }), nn = /* @__PURE__ */ h({
1899
1923
  closeHidden: { type: Boolean }
1900
1924
  },
1901
1925
  setup(t, { expose: s }) {
1902
- const e = K(t, ["class", "wrapperClass", "title", "titleHidden", "description", "persistent", "closeHidden"]);
1926
+ const e = W(t, ["class", "wrapperClass", "title", "titleHidden", "description", "persistent", "closeHidden", "fullscreen", "fullscreenOnMobile"]);
1903
1927
  s({
1904
- $content: c(() => {
1905
- var T;
1906
- return (T = o.value) == null ? void 0 : T.$content;
1928
+ $content: d(() => {
1929
+ var M;
1930
+ return (M = i.value) == null ? void 0 : M.$content;
1907
1931
  })
1908
1932
  });
1909
- const { forwardRef: r, currentRef: n } = qe(), { id: a, visible: u } = Ie(), o = n, p = fs(), g = c(
1933
+ const { forwardRef: r, currentRef: n } = ze(), { id: a, visible: u } = Ae(), i = n, c = dt(), m = d(
1910
1934
  () => {
1911
- var T;
1912
- return u.value && ((T = ae.value.toReversed().find((Be) => Be.visible.value)) == null ? void 0 : T.id) === a.value;
1935
+ var M;
1936
+ return u.value && ((M = oe.value.toReversed().find((je) => je.visible.value)) == null ? void 0 : M.id) === a.value;
1913
1937
  }
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
- },
1938
+ ), h = d(() => oe.value.find((M) => M.visible.value)), w = d(() => oe.value.some((M) => he.has(M))), S = d(() => t.description ? {} : { "aria-describedby": void 0 }), L = d(() => k(
1939
+ "overflow-auto px-4 pb-4 flex flex-col flex-1",
1940
+ { "pt-4": !t.title || t.titleHidden, "max-h-[90vh]": !A.value },
1941
+ t.class
1942
+ )), A = d(() => t.fullscreen || t.fullscreenOnMobile && D.mobile), Bt = d(() => k(
1943
+ "isolate fixed z-50 flex flex-col overflow-hidden bg-white text-left duration-300",
1944
+ A.value ? [
1945
+ "inset-0 transition-[transform,translate] will-change-[transform,translate]",
1946
+ he.has(c.value) || "animate-[slide-in_var(--tw-duration)_ease-in-out]",
1947
+ m.value ? "translate-y-0" : "translate-y-full"
1948
+ ] : [
1949
+ "top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full",
1950
+ "max-w-[calc(100%-2rem)] rounded-lg shadow-xl sm:max-w-lg",
1951
+ "transition-[scale,opacity] will-change-[scale,opacity]",
1952
+ he.has(c.value) || "animate-[fade-in_var(--tw-duration)_ease-in-out,grow_var(--tw-duration)_ease-in-out]",
1953
+ m.value ? "scale-100 opacity-100" : "scale-50 opacity-0"
1954
+ ],
1923
1955
  t.wrapperClass
1924
1956
  ));
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
1957
+ return nt(() => ie(500).then(() => he.add(c.value))), (M, je) => (o(), g(xn, E(e, {
1958
+ ref: (fe) => l(r)(fe),
1959
+ persistent: M.persistent
1928
1960
  }), {
1929
- default: m(({ close: me }) => {
1930
- var Fe, Ue;
1961
+ default: f(({ close: fe }) => {
1962
+ var Fe, Oe;
1931
1963
  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
1964
+ p(Tn, {
1965
+ class: _(["fixed inset-0 transition-opacity duration-300 will-change-[opacity]", {
1966
+ "animate-[fade-in_var(--tw-duration)_ease-in-out]": !w.value,
1967
+ "bg-black/30": ((Fe = h.value) == null ? void 0 : Fe.id) === l(a) || !h.value && ((Oe = l(oe)[0]) == null ? void 0 : Oe.id) === l(a),
1968
+ "opacity-0": !h.value,
1969
+ hidden: A.value
1937
1970
  }])
1938
1971
  }, null, 8, ["class"]),
1939
- d(an, V(S.value, { class: pe.value }), {
1940
- default: m(() => [
1941
- !T.persistent && !T.closeHidden ? (i(), y("div", cn, [
1972
+ p(kn, E(S.value, { class: Bt.value }), {
1973
+ default: f(() => [
1974
+ !M.persistent && !M.closeHidden ? (o(), y("div", {
1975
+ key: 0,
1976
+ class: _(["absolute top-0 right-0 pt-3.5 pr-2.5", { "hidden sm:block": !A.value }])
1977
+ }, [
1942
1978
  b("button", {
1943
1979
  type: "button",
1944
1980
  class: "clickable z-10 rounded-full p-2.5 text-gray-400 hover:text-gray-500",
1945
- onClick: (al) => me()
1981
+ onClick: (Ml) => fe()
1946
1982
  }, [
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, {
1983
+ b("span", En, C(M.$td("ui.close", "Close")), 1),
1984
+ p(l(Cn), { class: "size-4" })
1985
+ ], 8, Vn)
1986
+ ], 2)) : V("", !0),
1987
+ M.title ? (o(), g(Mn, {
1952
1988
  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
1989
+ class: _(["px-4 pt-5 text-base font-semibold text-gray-900", {
1990
+ "sr-only": M.titleHidden,
1991
+ "pb-0": M.description && !M.descriptionHidden,
1992
+ "pb-2": !M.description || M.descriptionHidden
1957
1993
  }])
1958
1994
  }, {
1959
- default: m(() => [
1960
- d(z, {
1961
- text: T.title,
1995
+ default: f(() => [
1996
+ p(q, {
1997
+ text: M.title,
1962
1998
  inline: ""
1963
1999
  }, null, 8, ["text"])
1964
2000
  ]),
1965
2001
  _: 1
1966
- }, 8, ["class"])) : M("", !0),
1967
- T.description ? (i(), f(ln, {
2002
+ }, 8, ["class"])) : V("", !0),
2003
+ M.description ? (o(), g(Sn, {
1968
2004
  key: 2,
1969
- class: x(["px-4 pt-1 pb-2", { "sr-only": T.descriptionHidden }])
2005
+ class: _(["px-4 pt-1 pb-2", { "sr-only": M.descriptionHidden }])
1970
2006
  }, {
1971
- default: m(() => [
1972
- d(z, {
1973
- text: T.description,
2007
+ default: f(() => [
2008
+ p(q, {
2009
+ text: M.description,
1974
2010
  class: "text-sm leading-6 text-gray-500"
1975
2011
  }, null, 8, ["text"])
1976
2012
  ]),
1977
2013
  _: 1
1978
- }, 8, ["class"])) : M("", !0),
2014
+ }, 8, ["class"])) : V("", !0),
1979
2015
  b("div", {
1980
- class: x(q.value)
2016
+ class: _(L.value)
1981
2017
  }, [
1982
- w(T.$slots, "default", { close: me })
2018
+ $(M.$slots, "default", { close: fe })
1983
2019
  ], 2)
1984
2020
  ]),
1985
2021
  _: 2
@@ -1990,29 +2026,29 @@ const rn = E({ name: "zondicons-close", render: sn }), nn = /* @__PURE__ */ h({
1990
2026
  }, 16, ["persistent"]));
1991
2027
  }
1992
2028
  });
1993
- function mn(t) {
1994
- const s = c(() => t.title ?? k("ui.alert", "Alert")), e = c(() => !t.title);
2029
+ function Hn(t) {
2030
+ const s = d(() => t.title ?? T("ui.alert", "Alert")), e = d(() => !t.title);
1995
2031
  return { renderedTitle: s, titleHidden: e };
1996
2032
  }
1997
- const fn = /* @__PURE__ */ h({
2033
+ const Ln = /* @__PURE__ */ v({
1998
2034
  __name: "AlertModal",
1999
2035
  props: {
2000
2036
  title: {},
2001
2037
  message: {}
2002
2038
  },
2003
2039
  setup(t, { expose: s }) {
2004
- const e = t, { renderedTitle: r, titleHidden: n } = mn(e);
2005
- return s(), (a, u) => (i(), f(re, {
2040
+ const e = t, { renderedTitle: r, titleHidden: n } = Hn(e);
2041
+ return s(), (a, u) => (o(), g(ne, {
2006
2042
  title: l(r),
2007
2043
  "title-hidden": l(n)
2008
2044
  }, {
2009
- default: m(() => [
2010
- d(z, { text: a.message }, null, 8, ["text"])
2045
+ default: f(() => [
2046
+ p(q, { text: a.message }, null, 8, ["text"])
2011
2047
  ]),
2012
2048
  _: 1
2013
2049
  }, 8, ["title", "title-hidden"]));
2014
2050
  }
2015
- }), Mt = /* @__PURE__ */ h({
2051
+ }), zt = /* @__PURE__ */ v({
2016
2052
  __name: "Form",
2017
2053
  props: {
2018
2054
  form: {}
@@ -2021,36 +2057,36 @@ const fn = /* @__PURE__ */ h({
2021
2057
  setup(t, { emit: s }) {
2022
2058
  let e;
2023
2059
  const r = s;
2024
- return G((n) => {
2060
+ return ee((n) => {
2025
2061
  var a;
2026
2062
  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"]))
2063
+ }), ae("form", t.form), (n, a) => (o(), y("form", {
2064
+ onSubmit: a[0] || (a[0] = at((u) => n.form ? n.form.submit() : n.$emit("submit"), ["prevent"]))
2029
2065
  }, [
2030
- w(n.$slots, "default")
2066
+ $(n.$slots, "default")
2031
2067
  ], 32));
2032
2068
  }
2033
2069
  });
2034
- function hn(t) {
2035
- const s = dt(
2070
+ function In(t) {
2071
+ const s = vt(
2036
2072
  Object.entries(t.checkboxes ?? {}).reduce(
2037
- (u, [o, p]) => ({
2038
- [o]: {
2073
+ (u, [i, c]) => ({
2074
+ [i]: {
2039
2075
  type: "boolean",
2040
- default: p.default,
2041
- required: p.required ? "required" : void 0
2076
+ default: c.default,
2077
+ required: c.required ? "required" : void 0
2042
2078
  },
2043
2079
  ...u
2044
2080
  }),
2045
2081
  {}
2046
2082
  )
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"));
2083
+ ), 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
2084
  return { form: s, renderedTitle: e, titleHidden: r, renderedAcceptText: n, renderedCancelText: a };
2049
2085
  }
2050
- const gn = {
2086
+ const Rn = {
2051
2087
  key: 0,
2052
2088
  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({
2089
+ }, 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
2090
  __name: "ConfirmModal",
2055
2091
  props: {
2056
2092
  title: {},
@@ -2065,54 +2101,54 @@ const gn = {
2065
2101
  },
2066
2102
  emits: ["close"],
2067
2103
  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, {
2104
+ const e = W(t, ["cancelVariant"]), { form: r, renderedTitle: n, titleHidden: a, renderedAcceptText: u, renderedCancelText: i } = In(e);
2105
+ return s(), (c, m) => (o(), g(ne, {
2070
2106
  title: l(n),
2071
2107
  "title-hidden": l(a),
2072
2108
  persistent: ""
2073
2109
  }, {
2074
- default: m(({ close: $ }) => [
2075
- d(Mt, {
2110
+ default: f(({ close: h }) => [
2111
+ p(zt, {
2076
2112
  form: l(r),
2077
- onSubmit: (v) => $([!0, l(r).data()])
2113
+ onSubmit: (w) => h([!0, l(r).data()])
2078
2114
  }, {
2079
- default: m(() => [
2080
- d(z, {
2081
- text: p.message,
2082
- actions: p.actions
2115
+ default: f(() => [
2116
+ p(q, {
2117
+ text: c.message,
2118
+ actions: c.actions
2083
2119
  }, 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,
2120
+ c.checkboxes ? (o(), y("ul", Rn, [
2121
+ (o(!0), y(j, null, O(c.checkboxes, (w, S) => (o(), y("li", { key: S }, [
2122
+ b("label", zn, [
2123
+ lt(b("input", {
2124
+ "onUpdate:modelValue": (L) => l(r)[S] = L,
2089
2125
  type: "checkbox",
2090
- required: v.required,
2126
+ required: w.required,
2091
2127
  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]]
2128
+ }, null, 8, qn), [
2129
+ [Jt, l(r)[S]]
2094
2130
  ]),
2095
- b("span", yn, C(v.label), 1)
2131
+ b("span", Pn, C(w.label), 1)
2096
2132
  ])
2097
2133
  ]))), 128))
2098
- ])) : M("", !0),
2099
- b("div", $n, [
2100
- d(R, {
2101
- variant: p.acceptVariant,
2134
+ ])) : V("", !0),
2135
+ b("div", An, [
2136
+ p(z, {
2137
+ variant: c.acceptVariant,
2102
2138
  submit: ""
2103
2139
  }, {
2104
- default: m(() => [
2105
- L(C(l(u)), 1)
2140
+ default: f(() => [
2141
+ I(C(l(u)), 1)
2106
2142
  ]),
2107
2143
  _: 1
2108
2144
  }, 8, ["variant"]),
2109
- p.required ? M("", !0) : (i(), f(R, {
2145
+ c.required ? V("", !0) : (o(), g(z, {
2110
2146
  key: 0,
2111
- variant: p.cancelVariant,
2112
- onClick: (v) => $(!1)
2147
+ variant: c.cancelVariant,
2148
+ onClick: (w) => h(!1)
2113
2149
  }, {
2114
- default: m(() => [
2115
- L(C(l(o)), 1)
2150
+ default: f(() => [
2151
+ I(C(l(i)), 1)
2116
2152
  ]),
2117
2153
  _: 2
2118
2154
  }, 1032, ["variant", "onClick"]))
@@ -2124,92 +2160,92 @@ const gn = {
2124
2160
  _: 1
2125
2161
  }, 8, ["title", "title-hidden"]));
2126
2162
  }
2127
- }), _n = {
2163
+ }), Bn = {
2128
2164
  viewBox: "0 0 20 20",
2129
2165
  width: "1.2em",
2130
2166
  height: "1.2em"
2131
2167
  };
2132
- function Cn(t, s) {
2133
- return i(), y("svg", _n, s[0] || (s[0] = [
2168
+ function jn(t, s) {
2169
+ return o(), y("svg", Bn, s[0] || (s[0] = [
2134
2170
  b("path", {
2135
2171
  fill: "currentColor",
2136
2172
  d: "M7.05 9.293L6.343 10L12 15.657l1.414-1.414L9.172 10l4.242-4.243L12 4.343z"
2137
2173
  }, null, -1)
2138
2174
  ]));
2139
2175
  }
2140
- const xn = E({ name: "zondicons-cheveron-left", render: Cn }), kn = {
2176
+ const Fn = R({ name: "zondicons-cheveron-left", render: jn }), On = {
2141
2177
  viewBox: "0 0 20 20",
2142
2178
  width: "1.2em",
2143
2179
  height: "1.2em"
2144
2180
  };
2145
- function Sn(t, s) {
2146
- return i(), y("svg", kn, s[0] || (s[0] = [
2181
+ function Un(t, s) {
2182
+ return o(), y("svg", On, s[0] || (s[0] = [
2147
2183
  b("path", {
2148
2184
  fill: "currentColor",
2149
2185
  d: "m12.95 10.707l.707-.707L8 4.343L6.586 5.757L10.828 10l-4.242 4.243L8 15.657z"
2150
2186
  }, null, -1)
2151
2187
  ]));
2152
2188
  }
2153
- const Ht = E({ name: "zondicons-cheveron-right", render: Sn }), Tn = {
2189
+ const qt = R({ name: "zondicons-cheveron-right", render: Un }), Nn = {
2154
2190
  viewBox: "0 0 20 20",
2155
2191
  width: "1.2em",
2156
2192
  height: "1.2em"
2157
2193
  };
2158
- function Mn(t, s) {
2159
- return i(), y("svg", Tn, s[0] || (s[0] = [
2194
+ function Wn(t, s) {
2195
+ return o(), y("svg", Nn, s[0] || (s[0] = [
2160
2196
  b("path", {
2161
2197
  fill: "currentColor",
2162
2198
  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
2199
  }, null, -1)
2164
2200
  ]));
2165
2201
  }
2166
- const De = E({ name: "zondicons-exclamation-solid", render: Mn }), Hn = {
2202
+ const De = R({ name: "zondicons-exclamation-solid", render: Wn }), Kn = {
2167
2203
  viewBox: "0 0 24 24",
2168
2204
  width: "1.2em",
2169
2205
  height: "1.2em"
2170
2206
  };
2171
- function Vn(t, s) {
2172
- return i(), y("svg", Hn, s[0] || (s[0] = [
2207
+ function Qn(t, s) {
2208
+ return o(), y("svg", Kn, s[0] || (s[0] = [
2173
2209
  b("path", {
2174
2210
  fill: "currentColor",
2175
2211
  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
2212
  }, null, -1)
2177
2213
  ]));
2178
2214
  }
2179
- const En = E({ name: "mdi-console", render: Vn }), Ln = {
2215
+ const Zn = R({ name: "mdi-console", render: Qn }), Jn = {
2180
2216
  viewBox: "0 0 20 20",
2181
2217
  width: "1.2em",
2182
2218
  height: "1.2em"
2183
2219
  };
2184
- function Rn(t, s) {
2185
- return i(), y("svg", Ln, s[0] || (s[0] = [
2220
+ function Gn(t, s) {
2221
+ return o(), y("svg", Jn, s[0] || (s[0] = [
2186
2222
  b("path", {
2187
2223
  fill: "currentColor",
2188
2224
  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
2225
  }, null, -1)
2190
2226
  ]));
2191
2227
  }
2192
- const zn = E({ name: "zondicons-copy", render: Rn }), In = {
2228
+ const Xn = R({ name: "zondicons-copy", render: Gn }), Yn = {
2193
2229
  viewBox: "0 0 24 24",
2194
2230
  width: "1.2em",
2195
2231
  height: "1.2em"
2196
2232
  };
2197
- function qn(t, s) {
2198
- return i(), y("svg", In, s[0] || (s[0] = [
2233
+ function ea(t, s) {
2234
+ return o(), y("svg", Yn, s[0] || (s[0] = [
2199
2235
  b("path", {
2200
2236
  fill: "currentColor",
2201
2237
  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
2238
  }, null, -1)
2203
2239
  ]));
2204
2240
  }
2205
- const An = E({ name: "mdi-github", render: qn }), Pn = { class: "flex" }, Dn = { class: "sr-only" }, jn = /* @__PURE__ */ h({
2241
+ const ta = R({ name: "mdi-github", render: ea }), sa = { class: "flex" }, ra = { class: "sr-only" }, na = /* @__PURE__ */ v({
2206
2242
  __name: "ErrorReportModalButtons",
2207
2243
  props: {
2208
2244
  report: {}
2209
2245
  },
2210
2246
  setup(t) {
2211
- const s = t, e = c(() => s.report.description ? `${s.report.title}: ${s.report.description}` : s.report.title), r = c(() => {
2212
- if (!A.sourceUrl)
2247
+ const s = t, e = d(() => s.report.description ? `${s.report.title}: ${s.report.description}` : s.report.title), r = d(() => {
2248
+ if (!P.sourceUrl)
2213
2249
  return !1;
2214
2250
  const a = encodeURIComponent(e.value), u = encodeURIComponent(
2215
2251
  [
@@ -2217,35 +2253,35 @@ const An = E({ name: "mdi-github", render: qn }), Pn = { class: "flex" }, Dn = {
2217
2253
  "",
2218
2254
  "Error details:",
2219
2255
  "```",
2220
- ss(
2256
+ cs(
2221
2257
  s.report.details ?? "Details missing from report",
2222
- 1800 - a.length - A.sourceUrl.length
2258
+ 1800 - a.length - P.sourceUrl.length
2223
2259
  ).trim(),
2224
2260
  "```"
2225
2261
  ].join(`
2226
2262
  `)
2227
2263
  );
2228
- return `${A.sourceUrl}/issues/new?title=${a}&body=${u}`;
2229
- }), n = c(() => te(
2264
+ return `${P.sourceUrl}/issues/new?title=${a}&body=${u}`;
2265
+ }), n = d(() => se(
2230
2266
  [
2231
2267
  {
2232
2268
  id: "clipboard",
2233
2269
  description: "Copy to clipboard",
2234
- iconComponent: zn,
2270
+ iconComponent: Xn,
2235
2271
  async click() {
2236
2272
  await navigator.clipboard.writeText(`${e.value}
2237
2273
 
2238
- ${s.report.details}`), P.toast(k("errors.copiedToClipboard", "Debug information copied to clipboard"));
2274
+ ${s.report.details}`), D.toast(T("errors.copiedToClipboard", "Debug information copied to clipboard"));
2239
2275
  }
2240
2276
  },
2241
2277
  {
2242
2278
  id: "console",
2243
2279
  description: "Log to console",
2244
- iconComponent: En,
2280
+ iconComponent: Zn,
2245
2281
  click() {
2246
2282
  const a = s.report.error ?? s.report;
2247
- window.error = a, console.error(a), P.toast(
2248
- k(
2283
+ window.error = a, console.error(a), D.toast(
2284
+ T(
2249
2285
  "errors.addedToConsole",
2250
2286
  "You can now use the **error** variable in the console"
2251
2287
  )
@@ -2257,24 +2293,24 @@ ${s.report.details}`), P.toast(k("errors.copiedToClipboard", "Debug information
2257
2293
  r.value && a.push({
2258
2294
  id: "github",
2259
2295
  description: "Report in GitHub",
2260
- iconComponent: An,
2296
+ iconComponent: ta,
2261
2297
  url: r.value
2262
2298
  });
2263
2299
  }
2264
2300
  ));
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, {
2301
+ return (a, u) => (o(), y("div", sa, [
2302
+ (o(!0), y(j, null, O(n.value, (i) => $(a.$slots, "default", E({ ref_for: !0 }, i), () => [
2303
+ p(z, {
2268
2304
  size: "icon",
2269
2305
  variant: "ghost",
2270
2306
  class: "group whitespace-nowrap",
2271
- href: o.url,
2272
- title: a.$td(`errors.report_${o.id}`, o.description),
2273
- onClick: o.click
2307
+ href: i.url,
2308
+ title: a.$td(`errors.report_${i.id}`, i.description),
2309
+ onClick: i.click
2274
2310
  }, {
2275
- default: m(() => [
2276
- b("span", Dn, C(a.$td(`errors.report_${o.id}`, o.description)), 1),
2277
- (i(), f(Y(o.iconComponent), {
2311
+ default: f(() => [
2312
+ b("span", ra, C(a.$td(`errors.report_${i.id}`, i.description)), 1),
2313
+ (o(), g(te(i.iconComponent), {
2278
2314
  class: "size-4",
2279
2315
  "aria-hidden": "true"
2280
2316
  }))
@@ -2284,7 +2320,7 @@ ${s.report.details}`), P.toast(k("errors.copiedToClipboard", "Debug information
2284
2320
  ])), 256))
2285
2321
  ]));
2286
2322
  }
2287
- }), Bn = /* @__PURE__ */ h({
2323
+ }), aa = /* @__PURE__ */ v({
2288
2324
  __name: "ErrorReportModalTitle",
2289
2325
  props: {
2290
2326
  report: {},
@@ -2292,20 +2328,20 @@ ${s.report.details}`), P.toast(k("errors.copiedToClipboard", "Debug information
2292
2328
  totalReports: {}
2293
2329
  },
2294
2330
  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, {
2331
+ const s = d(() => !t.totalReports || t.totalReports <= 1 ? t.report.title : `${t.report.title} (${t.currentReport}/${t.totalReports})`);
2332
+ return (e, r) => (o(), g(q, {
2297
2333
  text: s.value,
2298
2334
  inline: ""
2299
2335
  }, null, 8, ["text"]));
2300
2336
  }
2301
2337
  });
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(
2338
+ function la(t) {
2339
+ const s = B(t.reports.includes(t.report) ? t.reports.indexOf(t.report) : 0), e = d(() => t.reports[s.value]), r = d(
2304
2340
  () => {
2305
2341
  var u;
2306
- return ((u = e.value.details) == null ? void 0 : u.trim()) || k("errors.detailsEmpty", "This error is missing a stacktrace.");
2342
+ return ((u = e.value.details) == null ? void 0 : u.trim()) || T("errors.detailsEmpty", "This error is missing a stacktrace.");
2307
2343
  }
2308
- ), n = k("errors.previousReport", "Show previous report"), a = k("errors.nextReport", "Show next report");
2344
+ ), n = T("errors.previousReport", "Show previous report"), a = T("errors.nextReport", "Show next report");
2309
2345
  return {
2310
2346
  activeReportIndex: s,
2311
2347
  details: r,
@@ -2314,92 +2350,92 @@ function Fn(t) {
2314
2350
  activeReport: e
2315
2351
  };
2316
2352
  }
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 = {
2353
+ 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
2354
  key: 0,
2319
2355
  class: "flex gap-0.5"
2320
- }, Kn = { class: "-mt-2 max-h-[75vh] overflow-auto bg-red-800/10" }, Qn = ["textContent"], Jn = /* @__PURE__ */ h({
2356
+ }, da = { class: "-mt-2 max-h-[75vh] overflow-auto bg-red-800/10" }, pa = ["textContent"], ma = /* @__PURE__ */ v({
2321
2357
  __name: "ErrorReportModal",
2322
2358
  props: {
2323
2359
  report: {},
2324
2360
  reports: {}
2325
2361
  },
2326
2362
  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"),
2363
+ const e = t, { activeReportIndex: r, details: n, nextReportText: a, previousReportText: u, activeReport: i } = la(e);
2364
+ return s(), (c, m) => (o(), g(ne, {
2365
+ title: c.$td("errors.report", "Error report"),
2330
2366
  "title-hidden": "",
2331
2367
  "close-hidden": "",
2332
2368
  class: "p-0",
2333
2369
  "wrapper-class": "sm:w-auto sm:min-w-lg sm:max-w-[80vw]"
2334
2370
  }, {
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, {
2371
+ default: f(() => [
2372
+ b("div", oa, [
2373
+ b("h2", ia, [
2374
+ b("div", ua, [
2375
+ p(l(De), { class: "size-5 text-red-600" }),
2376
+ p(aa, {
2341
2377
  class: "text-lg leading-6 font-semibold text-gray-900",
2342
- report: l(o),
2378
+ report: l(i),
2343
2379
  "current-report": l(r) + 1,
2344
- "total-reports": p.reports.length
2380
+ "total-reports": c.reports.length
2345
2381
  }, null, 8, ["report", "current-report", "total-reports"]),
2346
- p.reports.length > 1 ? (i(), y("span", Wn, [
2347
- d(R, {
2382
+ c.reports.length > 1 ? (o(), y("span", ca, [
2383
+ p(z, {
2348
2384
  size: "icon",
2349
2385
  variant: "ghost",
2350
2386
  disabled: l(r) === 0,
2351
2387
  "aria-label": l(u),
2352
2388
  title: l(u),
2353
- onClick: g[0] || (g[0] = ($) => r.value--)
2389
+ onClick: m[0] || (m[0] = (h) => r.value--)
2354
2390
  }, {
2355
- default: m(() => [
2356
- d(l(xn), { class: "size-4" })
2391
+ default: f(() => [
2392
+ p(l(Fn), { class: "size-4" })
2357
2393
  ]),
2358
2394
  _: 1
2359
2395
  }, 8, ["disabled", "aria-label", "title"]),
2360
- d(R, {
2396
+ p(z, {
2361
2397
  size: "icon",
2362
2398
  variant: "ghost",
2363
- disabled: l(r) === p.reports.length - 1,
2399
+ disabled: l(r) === c.reports.length - 1,
2364
2400
  "aria-label": l(a),
2365
2401
  title: l(a),
2366
- onClick: g[1] || (g[1] = ($) => r.value++)
2402
+ onClick: m[1] || (m[1] = (h) => r.value++)
2367
2403
  }, {
2368
- default: m(() => [
2369
- d(l(Ht), { class: "size-4" })
2404
+ default: f(() => [
2405
+ p(l(qt), { class: "size-4" })
2370
2406
  ]),
2371
2407
  _: 1
2372
2408
  }, 8, ["disabled", "aria-label", "title"])
2373
- ])) : M("", !0)
2409
+ ])) : V("", !0)
2374
2410
  ]),
2375
- d(jn, {
2376
- report: l(o),
2411
+ p(na, {
2412
+ report: l(i),
2377
2413
  class: "gap-0.5"
2378
2414
  }, null, 8, ["report"])
2379
2415
  ]),
2380
- l(o).description ? (i(), f(z, {
2416
+ l(i).description ? (o(), g(q, {
2381
2417
  key: 0,
2382
- text: l(o).description,
2418
+ text: l(i).description,
2383
2419
  class: "text-gray-600"
2384
- }, null, 8, ["text"])) : M("", !0)
2420
+ }, null, 8, ["text"])) : V("", !0)
2385
2421
  ]),
2386
- b("div", Kn, [
2422
+ b("div", da, [
2387
2423
  b("pre", {
2388
2424
  class: "p-4 text-xs text-red-800",
2389
2425
  textContent: C(l(n))
2390
- }, null, 8, Qn)
2426
+ }, null, 8, pa)
2391
2427
  ])
2392
2428
  ]),
2393
2429
  _: 1
2394
2430
  }, 8, ["title"]));
2395
2431
  }
2396
- }), Zn = {
2432
+ }), fa = {
2397
2433
  viewBox: "0 0 24 24",
2398
2434
  width: "1.2em",
2399
2435
  height: "1.2em"
2400
2436
  };
2401
- function Xn(t, s) {
2402
- return i(), y("svg", Zn, s[0] || (s[0] = [
2437
+ function ha(t, s) {
2438
+ return o(), y("svg", fa, s[0] || (s[0] = [
2403
2439
  b("path", {
2404
2440
  fill: "currentColor",
2405
2441
  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",
@@ -2419,40 +2455,50 @@ function Xn(t, s) {
2419
2455
  ], -1)
2420
2456
  ]));
2421
2457
  }
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({
2458
+ 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
2459
  __name: "ProgressBar",
2424
2460
  props: {
2425
2461
  filledClass: {},
2462
+ overflowClass: {},
2426
2463
  progress: {},
2427
2464
  job: {}
2428
2465
  },
2429
2466
  setup(t) {
2430
2467
  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(
2468
+ const e = B(0), r = d(() => k("size-full transition-transform duration-500 rounded-r-full ease-linear bg-primary-600", t.filledClass)), n = d(() => k(
2469
+ "absolute inset-y-0 right-0 size-full rounded-r-full",
2470
+ "bg-primary-900 transition-[width] duration-500 ease-linear",
2471
+ t.overflowClass
2472
+ )), a = d(() => typeof t.progress == "number" ? t.progress : e.value), u = d(() => a.value > 1 ? 100 * ((a.value - 1) / a.value) : null);
2473
+ return de(
2433
2474
  () => t.job,
2434
2475
  () => {
2435
- s && s(), e.value = t.job ? t.job.progress : 0, s = t.job && t.job.listeners.add({ onUpdated: (a) => e.value = a });
2476
+ s && s(), e.value = t.job ? t.job.progress : 0, s = t.job && t.job.listeners.add({ onUpdated: (i) => e.value = i });
2436
2477
  },
2437
2478
  { immediate: !0 }
2438
- ), $e(() => s && s()), (a, u) => (i(), y("div", Yn, [
2479
+ ), _e(() => s && s()), (i, c) => (o(), y("div", va, [
2439
2480
  b("div", {
2440
- class: x(r.value),
2441
- style: Ut(`transform:translateX(-${(1 - n.value) * 100}%)`)
2481
+ class: _(r.value),
2482
+ style: Ue(`transform:translateX(-${(1 - a.value) * 100}%)`)
2442
2483
  }, null, 6),
2443
- b("span", ea, C(a.$td("ui.progress", "{progress}% complete", {
2444
- progress: n.value * 100
2484
+ u.value ? (o(), y("div", {
2485
+ key: 0,
2486
+ class: _(n.value),
2487
+ style: Ue({ width: `${u.value}%` })
2488
+ }, null, 6)) : V("", !0),
2489
+ b("span", ba, C(i.$td("ui.progress", "{progress}% complete", {
2490
+ progress: a.value * 100
2445
2491
  })), 1)
2446
2492
  ]));
2447
2493
  }
2448
2494
  });
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);
2495
+ function wa(t) {
2496
+ const s = d(() => t.title ?? T("ui.loading", "Loading")), e = d(
2497
+ () => t.message ?? T("ui.loadingInProgress", "Loading in progress...")
2498
+ ), r = d(() => typeof t.progress == "number" || !!t.job), n = d(() => !t.title);
2453
2499
  return { renderedTitle: s, renderedMessage: e, titleHidden: n, showProgress: r };
2454
2500
  }
2455
- const ra = /* @__PURE__ */ h({
2501
+ const $a = /* @__PURE__ */ v({
2456
2502
  __name: "LoadingModal",
2457
2503
  props: {
2458
2504
  title: {},
@@ -2461,30 +2507,30 @@ const ra = /* @__PURE__ */ h({
2461
2507
  job: {}
2462
2508
  },
2463
2509
  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, {
2510
+ const e = t, { renderedTitle: r, renderedMessage: n, titleHidden: a, showProgress: u } = wa(e);
2511
+ return s(), (i, c) => (o(), g(ne, {
2466
2512
  persistent: "",
2467
- class: x(["flex", { "flex-col-reverse": l(u), "items-center justify-center gap-2": !l(u) }]),
2468
2513
  "wrapper-class": "w-auto",
2469
2514
  title: l(r),
2470
- "title-hidden": l(a)
2515
+ "title-hidden": l(a),
2516
+ class: _({ "flex-col-reverse": l(u), "flex-row items-center justify-center gap-2": !l(u) })
2471
2517
  }, {
2472
- default: m(() => [
2473
- l(u) ? (i(), f(ta, {
2518
+ default: f(() => [
2519
+ l(u) ? (o(), g(ya, {
2474
2520
  key: 0,
2475
- progress: o.progress,
2476
- job: o.job,
2521
+ progress: i.progress,
2522
+ job: i.job,
2477
2523
  class: "min-w-[min(400px,80vw)]"
2478
- }, null, 8, ["progress", "job"])) : (i(), f(l(Gn), {
2524
+ }, null, 8, ["progress", "job"])) : (o(), g(l(ga), {
2479
2525
  key: 1,
2480
2526
  class: "text-primary-600 mr-1 size-6"
2481
2527
  })),
2482
- d(z, { text: l(n) }, null, 8, ["text"])
2528
+ p(q, { text: l(n) }, null, 8, ["text"])
2483
2529
  ]),
2484
2530
  _: 1
2485
2531
  }, 8, ["title", "title-hidden", "class"]));
2486
2532
  }
2487
- }), je = /* @__PURE__ */ h({
2533
+ }), Be = /* @__PURE__ */ v({
2488
2534
  __name: "HeadlessInput",
2489
2535
  props: {
2490
2536
  name: {},
@@ -2495,128 +2541,133 @@ const ra = /* @__PURE__ */ h({
2495
2541
  },
2496
2542
  emits: ["update:modelValue"],
2497
2543
  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(() => {
2544
+ const r = e, n = Y("form", null), a = d(() => !n || !t.name ? null : n.errors[t.name] ?? null), u = {
2545
+ id: `input-${ce()}`,
2546
+ name: d(() => t.name),
2547
+ label: d(() => t.label),
2548
+ description: d(() => t.description),
2549
+ value: d(() => n && t.name ? n.getFieldValue(t.name) : t.modelValue),
2550
+ errors: Ce(a),
2551
+ required: d(() => {
2506
2552
  if (!(!t.name || !n))
2507
2553
  return n.getFieldRules(t.name).includes("required");
2508
2554
  }),
2509
- update(o) {
2555
+ update(i) {
2510
2556
  if (n && t.name) {
2511
- n.setFieldValue(t.name, o);
2557
+ n.setFieldValue(t.name, i);
2512
2558
  return;
2513
2559
  }
2514
- r("update:modelValue", o);
2560
+ r("update:modelValue", i);
2515
2561
  }
2516
2562
  };
2517
- return de("input", u), s(u), (o, p) => (i(), f(Y(o.as), null, {
2518
- default: m(() => [
2519
- w(o.$slots, "default")
2563
+ return ae("input", u), s(u), (i, c) => (o(), g(te(i.as), null, {
2564
+ default: f(() => [
2565
+ $(i.$slots, "default")
2520
2566
  ]),
2521
2567
  _: 3
2522
2568
  }));
2523
2569
  }
2524
- }), na = ["for"], be = /* @__PURE__ */ h({
2570
+ }), _a = ["for"], we = /* @__PURE__ */ v({
2525
2571
  __name: "HeadlessInputLabel",
2526
2572
  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", {
2573
+ const s = H("input", "<HeadlessInputLabel> must be a child of a <HeadlessInput>"), e = xe(), r = d(() => !!(s.label || e.default));
2574
+ return (n, a) => r.value ? (o(), y("label", {
2529
2575
  key: 0,
2530
2576
  for: l(s).id
2531
2577
  }, [
2532
- w(n.$slots, "default", {}, () => [
2533
- L(C(l(s).label), 1)
2578
+ $(n.$slots, "default", {}, () => [
2579
+ I(C(l(s).label), 1)
2534
2580
  ])
2535
- ], 8, na)) : M("", !0);
2581
+ ], 8, _a)) : V("", !0);
2536
2582
  }
2537
- }), aa = ["id", "name", "checked", "type", "required", "aria-invalid", "aria-describedby"], Vt = /* @__PURE__ */ h({
2583
+ }), Ca = ["id", "name", "checked", "type", "required", "aria-invalid", "aria-describedby"], Pt = /* @__PURE__ */ v({
2538
2584
  __name: "HeadlessInputInput",
2539
2585
  props: {
2540
2586
  type: {}
2541
2587
  },
2542
2588
  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(() => {
2589
+ const s = Z("$inputRef"), e = H("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
2590
  if (t.type)
2545
2591
  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")
2592
+ const h = (n.value && (r == null ? void 0 : r.getFieldType(n.value))) ?? "";
2593
+ return ["text", "email", "number", "tel", "url"].includes(h) ? h : "text";
2594
+ }), i = d(() => {
2595
+ if (u.value === "checkbox")
2550
2596
  return !!a.value;
2551
2597
  });
2552
- function p() {
2553
- s.value && e.update(g());
2598
+ function c() {
2599
+ s.value && e.update(m());
2554
2600
  }
2555
- function g() {
2601
+ function m() {
2556
2602
  if (!s.value)
2557
2603
  return null;
2558
- switch (t.type) {
2604
+ switch (u.value) {
2559
2605
  case "checkbox":
2560
2606
  return s.value.checked;
2561
2607
  case "date":
2562
- return s.value.valueAsDate;
2608
+ case "time":
2609
+ case "datetime-local":
2610
+ return new Date(Math.round(s.value.valueAsNumber / 6e4) * 6e4 + Ge);
2611
+ case "number":
2612
+ return s.value.valueAsNumber;
2563
2613
  default:
2564
2614
  return s.value.value;
2565
2615
  }
2566
2616
  }
2567
- return ct(e, () => {
2568
- var $;
2569
- return ($ = s.value) == null ? void 0 : $.focus();
2570
- }), G(() => {
2617
+ return gt(e, () => {
2618
+ var h;
2619
+ return (h = s.value) == null ? void 0 : h.focus();
2620
+ }), ee(() => {
2571
2621
  if (s.value) {
2572
- if (t.type === "date" && a.value instanceof Date) {
2573
- s.value.valueAsDate = a.value;
2622
+ if (["date", "time", "datetime-local"].includes(u.value) && a.value instanceof Date) {
2623
+ const h = Math.round(a.value.getTime() / 6e4) * 6e4;
2624
+ s.value.valueAsNumber = h - Ge, e.update(new Date(h));
2574
2625
  return;
2575
2626
  }
2576
2627
  s.value.value = a.value ?? null;
2577
2628
  }
2578
- }), ($, v) => (i(), y("input", {
2629
+ }), (h, w) => (o(), y("input", {
2579
2630
  id: l(e).id,
2580
2631
  ref: "$inputRef",
2581
2632
  name: n.value,
2582
- checked: o.value,
2633
+ checked: i.value,
2583
2634
  type: u.value,
2584
2635
  required: l(e).required ?? void 0,
2585
2636
  "aria-invalid": l(e).errors ? "true" : "false",
2586
2637
  "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));
2638
+ onInput: c
2639
+ }, null, 40, Ca));
2589
2640
  }
2590
- }), Et = /* @__PURE__ */ h({
2641
+ }), At = /* @__PURE__ */ v({
2591
2642
  inheritAttrs: !1,
2592
2643
  __name: "HeadlessInputDescription",
2593
2644
  setup(t) {
2594
- const s = I(
2645
+ const s = H(
2595
2646
  "input",
2596
2647
  "<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", {
2648
+ ), e = d(() => typeof s.description == "string" ? s.description : ""), r = d(() => !!s.description);
2649
+ return (n, a) => $(n.$slots, "default", {
2599
2650
  id: `${l(s).id}-description`
2600
2651
  }, () => [
2601
- r.value ? (i(), f(z, V({ key: 0 }, n.$attrs, {
2652
+ r.value ? (o(), g(q, E({ key: 0 }, n.$attrs, {
2602
2653
  id: `${l(s).id}-description`,
2603
2654
  text: e.value
2604
- }), null, 16, ["id", "text"])) : M("", !0)
2655
+ }), null, 16, ["id", "text"])) : V("", !0)
2605
2656
  ]);
2606
2657
  }
2607
- }), la = ["id"], ye = /* @__PURE__ */ h({
2658
+ }), xa = ["id"], $e = /* @__PURE__ */ v({
2608
2659
  __name: "HeadlessInputError",
2609
2660
  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", {
2661
+ const s = H("input", "<HeadlessInputError> must be a child of a <HeadlessInput>"), e = d(() => s.errors ? T(`errors.${s.errors[0]}`, `Error: ${s.errors[0]}`) : null);
2662
+ return (r, n) => e.value ? (o(), y("p", {
2612
2663
  key: 0,
2613
2664
  id: `${l(s).id}-error`
2614
- }, C(e.value), 9, la)) : M("", !0);
2665
+ }, C(e.value), 9, xa)) : V("", !0);
2615
2666
  }
2616
- }), ia = {
2667
+ }), ka = {
2617
2668
  key: 0,
2618
2669
  class: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3"
2619
- }, oa = /* @__PURE__ */ h({
2670
+ }, Sa = /* @__PURE__ */ v({
2620
2671
  inheritAttrs: !1,
2621
2672
  __name: "Input",
2622
2673
  props: {
@@ -2625,65 +2676,71 @@ const ra = /* @__PURE__ */ h({
2625
2676
  description: {},
2626
2677
  modelValue: {},
2627
2678
  inputClass: {},
2628
- wrapperClass: {}
2679
+ wrapperClass: {},
2680
+ descriptionClass: {},
2681
+ errorClass: {}
2629
2682
  },
2630
2683
  emits: ["update:modelValue"],
2631
2684
  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(
2685
+ const s = W(t, ["label", "inputClass", "wrapperClass", "descriptionClass", "errorClass"]), e = Z("$inputRef"), [r, n] = Pe(), a = d(() => k("relative rounded-md shadow-2xs", { "mt-1": t.label }, t.wrapperClass)), u = d(() => k("mt-2 text-sm text-gray-600", t.descriptionClass)), i = d(() => k("mt-2 text-sm text-red-600", t.errorClass)), c = d(() => {
2686
+ var m, h, w;
2687
+ return k(
2635
2688
  // eslint-disable-next-line vue/max-len
2636
2689
  "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
2690
  {
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
2691
+ "focus:ring-primary-600": !((m = e.value) != null && m.errors),
2692
+ "text-gray-900 shadow-2xs ring-gray-900/10 placeholder:text-gray-400": !((h = e.value) != null && h.errors),
2693
+ "pr-10 text-red-900 ring-red-900/10 placeholder:text-red-300 focus:ring-red-500": (w = e.value) == null ? void 0 : w.errors
2641
2694
  },
2642
2695
  t.inputClass
2643
2696
  );
2644
2697
  });
2645
- return (o, p) => (i(), f(je, V({
2698
+ return (m, h) => (o(), g(Be, E({
2646
2699
  ref: "$inputRef",
2647
- label: o.label,
2700
+ label: m.label,
2648
2701
  class: l(n)
2649
2702
  }, s, {
2650
- "onUpdate:modelValue": p[0] || (p[0] = (g) => o.$emit("update:modelValue", g))
2703
+ "onUpdate:modelValue": h[0] || (h[0] = (w) => m.$emit("update:modelValue", w))
2651
2704
  }), {
2652
- default: m(() => {
2653
- var g;
2705
+ default: f(() => {
2706
+ var w;
2654
2707
  return [
2655
- d(be, { class: "block text-sm leading-6 font-medium text-gray-900" }),
2708
+ p(we, { class: "block text-sm leading-6 font-medium text-gray-900" }),
2656
2709
  b("div", {
2657
- class: x(a.value)
2710
+ class: _(a.value)
2658
2711
  }, [
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)
2712
+ p(Pt, E(l(r), { class: c.value }), null, 16, ["class"]),
2713
+ (w = e.value) != null && w.errors ? (o(), y("div", ka, [
2714
+ p(l(De), { class: "size-5 text-red-500" })
2715
+ ])) : V("", !0)
2663
2716
  ], 2),
2664
- d(Et, { class: "mt-2 text-sm text-gray-600" }),
2665
- d(ye, { class: "mt-2 text-sm text-red-600" })
2717
+ p(At, {
2718
+ class: _(u.value)
2719
+ }, null, 8, ["class"]),
2720
+ p($e, {
2721
+ class: _(i.value)
2722
+ }, null, 8, ["class"])
2666
2723
  ];
2667
2724
  }),
2668
2725
  _: 1
2669
2726
  }, 16, ["label", "class"]));
2670
2727
  }
2671
2728
  });
2672
- function zl(t, s = {}) {
2729
+ function ro(t, s = {}) {
2673
2730
  return {
2674
2731
  default: t,
2675
2732
  type: "boolean",
2676
2733
  rules: s.rules
2677
2734
  };
2678
2735
  }
2679
- function Il(t, s = {}) {
2736
+ function no(t, s = {}) {
2680
2737
  return {
2681
2738
  default: t,
2682
2739
  type: "date",
2683
2740
  rules: s.rules
2684
2741
  };
2685
2742
  }
2686
- function ql(t, s, e = {}) {
2743
+ function ao(t, s, e = {}) {
2687
2744
  return {
2688
2745
  default: s,
2689
2746
  type: "enum",
@@ -2691,21 +2748,21 @@ function ql(t, s, e = {}) {
2691
2748
  values: t
2692
2749
  };
2693
2750
  }
2694
- function Al(t) {
2751
+ function lo(t) {
2695
2752
  return {
2696
2753
  default: t,
2697
2754
  type: "boolean",
2698
2755
  rules: "required"
2699
2756
  };
2700
2757
  }
2701
- function Pl(t) {
2758
+ function oo(t) {
2702
2759
  return {
2703
2760
  default: t,
2704
2761
  type: "date",
2705
2762
  rules: "required"
2706
2763
  };
2707
2764
  }
2708
- function Dl(t, s) {
2765
+ function io(t, s) {
2709
2766
  return {
2710
2767
  default: s,
2711
2768
  type: "enum",
@@ -2713,55 +2770,55 @@ function Dl(t, s) {
2713
2770
  values: t
2714
2771
  };
2715
2772
  }
2716
- function jl(t) {
2773
+ function uo(t) {
2717
2774
  return {
2718
2775
  default: t,
2719
2776
  type: "number",
2720
2777
  rules: "required"
2721
2778
  };
2722
2779
  }
2723
- function Bl(t) {
2780
+ function co(t) {
2724
2781
  return {
2725
2782
  default: t,
2726
2783
  type: "object",
2727
2784
  rules: "required"
2728
2785
  };
2729
2786
  }
2730
- function ua(t) {
2787
+ function Ta(t) {
2731
2788
  return {
2732
2789
  default: t,
2733
2790
  type: "string",
2734
2791
  rules: "required"
2735
2792
  };
2736
2793
  }
2737
- function Fl(t, s = {}) {
2794
+ function po(t, s = {}) {
2738
2795
  return {
2739
2796
  default: t,
2740
2797
  type: "number",
2741
2798
  rules: s.rules
2742
2799
  };
2743
2800
  }
2744
- function Ul(t, s = {}) {
2801
+ function mo(t, s = {}) {
2745
2802
  return {
2746
2803
  default: t,
2747
2804
  type: "object",
2748
2805
  rules: s.rules
2749
2806
  };
2750
2807
  }
2751
- function Ol(t, s = {}) {
2808
+ function fo(t, s = {}) {
2752
2809
  return {
2753
2810
  default: t,
2754
2811
  type: "string",
2755
2812
  rules: s.rules
2756
2813
  };
2757
2814
  }
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"));
2815
+ function Ma(t) {
2816
+ const s = vt({
2817
+ draft: Ta(t.defaultValue ?? "")
2818
+ }), 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
2819
  return { form: s, renderedTitle: e, renderedMessage: r, renderedAcceptText: n, renderedCancelText: a };
2763
2820
  }
2764
- const da = { class: "mt-4 flex flex-row-reverse gap-2" }, pa = /* @__PURE__ */ h({
2821
+ const Va = { class: "mt-4 flex flex-row-reverse gap-2" }, Ea = /* @__PURE__ */ v({
2765
2822
  __name: "PromptModal",
2766
2823
  props: {
2767
2824
  title: {},
@@ -2776,43 +2833,43 @@ const da = { class: "mt-4 flex flex-row-reverse gap-2" }, pa = /* @__PURE__ */ h
2776
2833
  },
2777
2834
  emits: ["close"],
2778
2835
  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, {
2836
+ const e = W(t, ["cancelVariant"]), { form: r, renderedTitle: n, renderedMessage: a, renderedAcceptText: u, renderedCancelText: i } = Ma(e);
2837
+ return s(), (c, m) => (o(), g(ne, {
2781
2838
  title: l(n),
2782
2839
  persistent: ""
2783
2840
  }, {
2784
- default: m(({ close: $ }) => [
2785
- d(Mt, {
2841
+ default: f(({ close: h }) => [
2842
+ p(zt, {
2786
2843
  form: l(r),
2787
- onSubmit: (v) => $(l(r).draft)
2844
+ onSubmit: (w) => h(l(r).draft)
2788
2845
  }, {
2789
- default: m(() => [
2790
- l(a) ? (i(), f(z, {
2846
+ default: f(() => [
2847
+ l(a) ? (o(), g(q, {
2791
2848
  key: 0,
2792
2849
  text: l(a)
2793
- }, null, 8, ["text"])) : M("", !0),
2794
- d(oa, {
2850
+ }, null, 8, ["text"])) : V("", !0),
2851
+ p(Sa, {
2795
2852
  name: "draft",
2796
2853
  class: "mt-2",
2797
- placeholder: p.placeholder,
2798
- label: p.label
2854
+ placeholder: c.placeholder,
2855
+ label: c.label
2799
2856
  }, null, 8, ["placeholder", "label"]),
2800
- b("div", da, [
2801
- d(R, {
2802
- variant: p.acceptVariant,
2857
+ b("div", Va, [
2858
+ p(z, {
2859
+ variant: c.acceptVariant,
2803
2860
  submit: ""
2804
2861
  }, {
2805
- default: m(() => [
2806
- L(C(l(u)), 1)
2862
+ default: f(() => [
2863
+ I(C(l(u)), 1)
2807
2864
  ]),
2808
2865
  _: 1
2809
2866
  }, 8, ["variant"]),
2810
- d(R, {
2811
- variant: p.cancelVariant,
2812
- onClick: (v) => $()
2867
+ p(z, {
2868
+ variant: c.cancelVariant,
2869
+ onClick: (w) => h()
2813
2870
  }, {
2814
- default: m(() => [
2815
- L(C(l(o)), 1)
2871
+ default: f(() => [
2872
+ I(C(l(i)), 1)
2816
2873
  ]),
2817
2874
  _: 2
2818
2875
  }, 1032, ["variant", "onClick"])
@@ -2824,65 +2881,65 @@ const da = { class: "mt-4 flex flex-row-reverse gap-2" }, pa = /* @__PURE__ */ h
2824
2881
  _: 1
2825
2882
  }, 8, ["title"]));
2826
2883
  }
2827
- }), ma = {
2884
+ }), Ha = {
2828
2885
  viewBox: "0 0 24 24",
2829
2886
  width: "1.2em",
2830
2887
  height: "1.2em"
2831
2888
  };
2832
- function fa(t, s) {
2833
- return i(), y("svg", ma, s[0] || (s[0] = [
2889
+ function La(t, s) {
2890
+ return o(), y("svg", Ha, s[0] || (s[0] = [
2834
2891
  b("path", {
2835
2892
  fill: "currentColor",
2836
2893
  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
2894
  }, null, -1)
2838
2895
  ]));
2839
2896
  }
2840
- const ha = E({ name: "material-symbols-bug-report", render: fa }), ga = {
2897
+ const Ia = R({ name: "material-symbols-bug-report", render: La }), Ra = {
2841
2898
  viewBox: "0 0 24 24",
2842
2899
  width: "1.2em",
2843
2900
  height: "1.2em"
2844
2901
  };
2845
- function va(t, s) {
2846
- return i(), y("svg", ga, s[0] || (s[0] = [
2902
+ function za(t, s) {
2903
+ return o(), y("svg", Ra, s[0] || (s[0] = [
2847
2904
  b("path", {
2848
2905
  fill: "currentColor",
2849
2906
  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
2907
  }, null, -1)
2851
2908
  ]));
2852
2909
  }
2853
- const ba = E({ name: "material-symbols-delete-forever-rounded", render: va }), ya = {
2910
+ const qa = R({ name: "material-symbols-delete-forever-rounded", render: za }), Pa = {
2854
2911
  viewBox: "0 0 24 24",
2855
2912
  width: "1.2em",
2856
2913
  height: "1.2em"
2857
2914
  };
2858
- function $a(t, s) {
2859
- return i(), y("svg", ya, s[0] || (s[0] = [
2915
+ function Aa(t, s) {
2916
+ return o(), y("svg", Pa, s[0] || (s[0] = [
2860
2917
  b("path", {
2861
2918
  fill: "currentColor",
2862
2919
  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
2920
  }, null, -1)
2864
2921
  ]));
2865
2922
  }
2866
- const wa = E({ name: "material-symbols-frame-inspect", render: $a }), _a = {
2923
+ const Da = R({ name: "material-symbols-frame-inspect", render: Aa }), Ba = {
2867
2924
  viewBox: "0 0 24 24",
2868
2925
  width: "1.2em",
2869
2926
  height: "1.2em"
2870
2927
  };
2871
- function Ca(t, s) {
2872
- return i(), y("svg", _a, s[0] || (s[0] = [
2928
+ function ja(t, s) {
2929
+ return o(), y("svg", Ba, s[0] || (s[0] = [
2873
2930
  b("path", {
2874
2931
  fill: "currentColor",
2875
2932
  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
2933
  }, null, -1)
2877
2934
  ]));
2878
2935
  }
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({
2936
+ const Fa = R({ name: "material-symbols-refresh-rounded", render: ja }), Oa = { 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
2937
  __name: "StartupCrash",
2881
2938
  setup(t) {
2882
2939
  async function s() {
2883
- await P.confirm(
2884
- k("startupCrash.purgeConfirmTitle", "Delete everything?"),
2885
- k(
2940
+ await D.confirm(
2941
+ T("startupCrash.purgeConfirmTitle", "Delete everything?"),
2942
+ T(
2886
2943
  "startupCrash.purgeConfirmMessage",
2887
2944
  `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
2945
 
@@ -2890,61 +2947,61 @@ Do you still want to proceed?`
2890
2947
  ),
2891
2948
  {
2892
2949
  acceptVariant: "danger",
2893
- acceptText: k("startupCrash.purgeConfirmAccept", "Purge device")
2950
+ acceptText: T("startupCrash.purgeConfirmAccept", "Purge device")
2894
2951
  }
2895
- ) && (await mt.purge(), await A.reload());
2952
+ ) && (await yt.purge(), await P.reload());
2896
2953
  }
2897
2954
  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, {
2955
+ const n = Gt("i-majesticons-exclamation");
2956
+ return o(), y("div", Oa, [
2957
+ b("div", Ua, [
2958
+ p(n, { class: "size-20 text-red-600" }),
2959
+ b("h1", Na, C(e.$td("startupCrash.title", "Oops, something went wrong!")), 1),
2960
+ p(q, {
2904
2961
  text: e.$td(
2905
2962
  "startupCrash.message",
2906
2963
  "There was a problem starting the application, but here's some things you can do:"
2907
2964
  ),
2908
2965
  class: "mt-4 text-center"
2909
2966
  }, null, 8, ["text"]),
2910
- b("div", Ma, [
2911
- d(R, {
2967
+ b("div", Wa, [
2968
+ p(z, {
2912
2969
  variant: "danger",
2913
2970
  onClick: r[0] || (r[0] = (a) => e.$app.reload())
2914
2971
  }, {
2915
- default: m(() => [
2916
- d(l(xa)),
2917
- L(" " + C(e.$td("startupCrash.reload", "Try again")), 1)
2972
+ default: f(() => [
2973
+ p(l(Fa)),
2974
+ I(" " + C(e.$td("startupCrash.reload", "Try again")), 1)
2918
2975
  ]),
2919
2976
  _: 1
2920
2977
  }),
2921
- d(R, {
2978
+ p(z, {
2922
2979
  variant: "danger",
2923
2980
  onClick: r[1] || (r[1] = (a) => e.$errors.inspect(e.$errors.startupErrors))
2924
2981
  }, {
2925
- default: m(() => [
2926
- d(l(ha)),
2927
- L(" " + C(e.$td("startupCrash.inspect", "View error details")), 1)
2982
+ default: f(() => [
2983
+ p(l(Ia)),
2984
+ I(" " + C(e.$td("startupCrash.inspect", "View error details")), 1)
2928
2985
  ]),
2929
2986
  _: 1
2930
2987
  }),
2931
- d(R, {
2988
+ p(z, {
2932
2989
  variant: "danger",
2933
2990
  onClick: r[2] || (r[2] = (a) => s())
2934
2991
  }, {
2935
- default: m(() => [
2936
- d(l(ba)),
2937
- L(" " + C(e.$td("startupCrash.purge", "Purge device")), 1)
2992
+ default: f(() => [
2993
+ p(l(qa)),
2994
+ I(" " + C(e.$td("startupCrash.purge", "Purge device")), 1)
2938
2995
  ]),
2939
2996
  _: 1
2940
2997
  }),
2941
- d(R, {
2998
+ p(z, {
2942
2999
  variant: "danger",
2943
3000
  onClick: r[3] || (r[3] = (a) => e.$errors.debug = !e.$errors.debug)
2944
3001
  }, {
2945
- default: m(() => [
2946
- d(l(wa)),
2947
- L(" " + C(e.$td("startupCrash.debug", "Toggle debugging")), 1)
3002
+ default: f(() => [
3003
+ p(l(Da)),
3004
+ I(" " + C(e.$td("startupCrash.debug", "Toggle debugging")), 1)
2948
3005
  ]),
2949
3006
  _: 1
2950
3007
  })
@@ -2953,23 +3010,23 @@ Do you still want to proceed?`
2953
3010
  ]);
2954
3011
  };
2955
3012
  }
2956
- }), Lt = /* @__PURE__ */ h({
3013
+ }), Dt = /* @__PURE__ */ v({
2957
3014
  __name: "HeadlessToastAction",
2958
3015
  props: {
2959
3016
  action: {}
2960
3017
  },
2961
3018
  setup(t) {
2962
- return (s, e) => (i(), f(Y(s.action.dismiss ? l(As) : "button"), {
3019
+ return (s, e) => (o(), g(te(s.action.dismiss ? l(Us) : "button"), {
2963
3020
  type: "button",
2964
3021
  onClick: s.action.click
2965
3022
  }, {
2966
- default: m(() => [
2967
- L(C(s.action.label), 1)
3023
+ default: f(() => [
3024
+ I(C(s.action.label), 1)
2968
3025
  ]),
2969
3026
  _: 1
2970
3027
  }, 8, ["onClick"]));
2971
3028
  }
2972
- }), Va = { key: 0 }, Ea = /* @__PURE__ */ h({
3029
+ }), Qa = { key: 0 }, Za = /* @__PURE__ */ v({
2973
3030
  __name: "HeadlessToast",
2974
3031
  props: {
2975
3032
  message: {},
@@ -2977,11 +3034,11 @@ Do you still want to proceed?`
2977
3034
  variant: {}
2978
3035
  },
2979
3036
  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, {
3037
+ return (s, e) => (o(), g(l(Ns), null, {
3038
+ default: f(() => [
3039
+ $(s.$slots, "default", {}, () => [
3040
+ s.message ? (o(), y("span", Qa, C(s.message), 1)) : V("", !0),
3041
+ (o(!0), y(j, null, O(s.actions, (r, n) => (o(), g(Dt, {
2985
3042
  key: n,
2986
3043
  action: r
2987
3044
  }, null, 8, ["action"]))), 128))
@@ -2990,7 +3047,7 @@ Do you still want to proceed?`
2990
3047
  _: 3
2991
3048
  }));
2992
3049
  }
2993
- }), La = /* @__PURE__ */ h({
3050
+ }), Ja = /* @__PURE__ */ v({
2994
3051
  __name: "Toast",
2995
3052
  props: {
2996
3053
  message: {},
@@ -2999,14 +3056,15 @@ Do you still want to proceed?`
2999
3056
  class: {}
3000
3057
  },
3001
3058
  setup(t, { expose: s }) {
3002
- const e = c(() => ut(
3059
+ const e = d(() => ht(
3003
3060
  { baseClasses: t.class, variant: t.variant },
3004
3061
  {
3005
3062
  baseClasses: "flex items-center gap-2 rounded-md p-2 ring-1 shadow-lg border-gray-200",
3006
3063
  variants: {
3007
3064
  variant: {
3008
3065
  secondary: "bg-gray-900 text-white ring-black",
3009
- danger: "bg-red-50 text-red-900 ring-red-100"
3066
+ danger: "bg-red-50 text-red-900 ring-red-100",
3067
+ warning: "bg-yellow-50 text-yellow-900 ring-yellow-100"
3010
3068
  }
3011
3069
  },
3012
3070
  defaultVariants: {
@@ -3014,98 +3072,98 @@ Do you still want to proceed?`
3014
3072
  }
3015
3073
  }
3016
3074
  ));
3017
- return s(), (r, n) => (i(), f(Ea, {
3018
- class: x(e.value)
3075
+ return s(), (r, n) => (o(), g(Za, {
3076
+ class: _(e.value)
3019
3077
  }, {
3020
- default: m(() => [
3021
- r.message ? (i(), f(z, {
3078
+ default: f(() => [
3079
+ r.message ? (o(), g(q, {
3022
3080
  key: 0,
3023
3081
  text: r.message,
3024
3082
  inline: ""
3025
- }, null, 8, ["text"])) : M("", !0),
3026
- (i(!0), y(D, null, U(r.actions, (a, u) => (i(), f(R, {
3083
+ }, null, 8, ["text"])) : V("", !0),
3084
+ (o(!0), y(j, null, O(r.actions, (a, u) => (o(), g(z, {
3027
3085
  key: u,
3028
3086
  action: a,
3029
3087
  variant: r.variant,
3030
- as: Lt
3088
+ as: Dt
3031
3089
  }, null, 8, ["action", "variant"]))), 128))
3032
3090
  ]),
3033
3091
  _: 1
3034
3092
  }, 8, ["class"]));
3035
3093
  }
3036
- }), Ra = { $ui: P }, za = {
3094
+ }), Ga = { $ui: D }, Xa = {
3037
3095
  async install(t, s) {
3038
3096
  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,
3097
+ "alert-modal": Ln,
3098
+ "confirm-modal": Dn,
3099
+ "error-report-modal": ma,
3100
+ "loading-modal": $a,
3101
+ "prompt-modal": Ea,
3102
+ "startup-crash": Ka,
3103
+ toast: Ja,
3046
3104
  ...s.components
3047
3105
  };
3048
3106
  for (const [r, n] of Object.entries(e))
3049
- P.registerComponent(r, n);
3050
- await ke(t, Ra);
3107
+ D.registerComponent(r, n);
3108
+ await Me(t, Ga);
3051
3109
  }
3052
3110
  };
3053
- async function Ia(t, s = {}) {
3111
+ async function Ya(t, s = {}) {
3054
3112
  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");
3113
+ const e = [wn, qr, yn, nn, Br, Xa, ...s.plugins ?? []];
3114
+ P.instance = t, await vr(e, t, s), await ((r = s.install) == null ? void 0 : r.call(s, t)), await N.emit("application-ready");
3057
3115
  }
3058
- async function Nl(t, s = {}) {
3116
+ async function ho(t, s = {}) {
3059
3117
  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");
3118
+ const e = Xt(t);
3119
+ 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
3120
  }
3063
- const qa = /* @__PURE__ */ h({
3121
+ const el = /* @__PURE__ */ v({
3064
3122
  __name: "AppToasts",
3065
3123
  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({
3124
+ return (s, e) => (o(), g(l(Ws), null, {
3125
+ default: f(() => [
3126
+ (o(!0), y(j, null, O(s.$ui.toasts, (r) => (o(), g(te(r.component), E({
3069
3127
  id: r.id,
3070
3128
  key: r.id
3071
3129
  }, { 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" })
3130
+ 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
3131
  ]),
3074
3132
  _: 1
3075
3133
  }));
3076
3134
  }
3077
- }), Aa = /* @__PURE__ */ h({
3135
+ }), tl = /* @__PURE__ */ v({
3078
3136
  __name: "AppOverlays",
3079
3137
  setup(t) {
3080
- return (s, e) => (i(), y(D, null, [
3081
- d(l(hs), { nested: "" }),
3082
- d(qa)
3138
+ return (s, e) => (o(), y(j, null, [
3139
+ p(l(Cs), { nested: "" }),
3140
+ p(el)
3083
3141
  ], 64));
3084
3142
  }
3085
- }), Pa = { class: "flex min-h-full flex-col text-base leading-tight font-normal text-gray-900 antialiased" }, Wl = /* @__PURE__ */ h({
3143
+ }), sl = { class: "text-primary-text flex min-h-full flex-col text-base leading-tight font-normal antialiased" }, go = /* @__PURE__ */ v({
3086
3144
  __name: "AppLayout",
3087
3145
  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)
3146
+ return (s, e) => (o(), y("div", sl, [
3147
+ s.$errors.hasStartupErrors ? $(s.$slots, "startup-crash", { key: 0 }, () => [
3148
+ (o(), g(te(s.$ui.requireComponent("startup-crash"))))
3149
+ ]) : $(s.$slots, "default", { key: 1 }),
3150
+ p(tl)
3093
3151
  ]));
3094
3152
  }
3095
- }), Da = ["id", "name", "value", "required", "aria-invalid", "aria-describedby"], ja = /* @__PURE__ */ h({
3153
+ }), rl = ["id", "name", "value", "required", "aria-invalid", "aria-describedby"], nl = /* @__PURE__ */ v({
3096
3154
  __name: "HeadlessInputTextArea",
3097
3155
  setup(t) {
3098
- const s = ee("$textAreaRef"), e = I(
3156
+ const s = Z("$textAreaRef"), e = H(
3099
3157
  "input",
3100
3158
  "<HeadlessInputTextArea> must be a child of a <HeadlessInput>"
3101
- ), r = c(() => e.name ?? void 0), n = c(() => e.value);
3159
+ ), r = d(() => e.name ?? void 0), n = d(() => e.value);
3102
3160
  function a() {
3103
3161
  s.value && e.update(s.value.value);
3104
3162
  }
3105
- return ct(e, () => {
3163
+ return gt(e, () => {
3106
3164
  var u;
3107
3165
  return (u = s.value) == null ? void 0 : u.focus();
3108
- }), (u, o) => (i(), y("textarea", {
3166
+ }), (u, i) => (o(), y("textarea", {
3109
3167
  id: l(e).id,
3110
3168
  ref: "$textAreaRef",
3111
3169
  name: r.value,
@@ -3114,22 +3172,51 @@ const qa = /* @__PURE__ */ h({
3114
3172
  "aria-invalid": l(e).errors ? "true" : "false",
3115
3173
  "aria-describedby": l(e).errors ? `${l(e).id}-error` : l(e).description ? `${l(e).id}-description` : void 0,
3116
3174
  onInput: a
3117
- }, null, 40, Da));
3175
+ }, null, 40, rl));
3118
3176
  }
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({
3177
+ }), al = { class: "group" }, ll = /* @__PURE__ */ v({
3178
+ __name: "Details",
3179
+ props: {
3180
+ label: { default: () => {
3181
+ } },
3182
+ contentClass: {},
3183
+ summaryClass: {}
3184
+ },
3185
+ setup(t) {
3186
+ const s = d(() => k("pt-2 pl-4", t.contentClass)), e = d(() => k(
3187
+ "-ml-2 flex w-[max-content] items-center rounded-lg py-2 pr-3 pl-1 max-w-full",
3188
+ "hover:bg-gray-100 focus-visible:outline focus-visible:outline-gray-700",
3189
+ t.summaryClass
3190
+ ));
3191
+ return (r, n) => (o(), y("details", al, [
3192
+ b("summary", {
3193
+ class: _(e.value)
3194
+ }, [
3195
+ p(l(qt), { class: "size-6 transition-transform group-open:rotate-90" }),
3196
+ $(r.$slots, "label", {}, () => [
3197
+ b("span", null, C(r.label ?? r.$td("ui.details", "Details")), 1)
3198
+ ])
3199
+ ], 2),
3200
+ b("div", {
3201
+ class: _(s.value)
3202
+ }, [
3203
+ $(r.$slots, "default")
3204
+ ], 2)
3205
+ ]));
3206
+ }
3207
+ }), vo = /* @__PURE__ */ v({
3120
3208
  __name: "AdvancedOptions",
3121
3209
  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)
3210
+ return (s, e) => (o(), g(ll, {
3211
+ label: s.$td("ui.advancedOptions", "Advanced options")
3212
+ }, {
3213
+ default: f(() => [
3214
+ $(s.$slots, "default")
3126
3215
  ]),
3127
- b("div", Ua, [
3128
- w(s.$slots, "default")
3129
- ])
3130
- ]));
3216
+ _: 3
3217
+ }, 8, ["label"]));
3131
3218
  }
3132
- }), Oa = { class: "flex h-6 items-center" }, Ql = /* @__PURE__ */ h({
3219
+ }), ol = { class: "flex h-6 items-center" }, bo = /* @__PURE__ */ v({
3133
3220
  inheritAttrs: !1,
3134
3221
  __name: "Checkbox",
3135
3222
  props: {
@@ -3142,53 +3229,298 @@ const qa = /* @__PURE__ */ h({
3142
3229
  },
3143
3230
  emits: ["update:modelValue"],
3144
3231
  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(
3232
+ const s = W(t, ["inputClass", "labelClass"]), e = Z("$inputRef"), [r, n] = Pe(), a = d(() => k("relative flex items-start", n.value)), u = d(() => {
3233
+ var c, m;
3234
+ return k(
3148
3235
  "size-4 rounded text-primary-600 not-checked:hover:bg-gray-200 checked:hover:text-primary-500 checked:border-0",
3149
3236
  {
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
3237
+ "border-gray-300 focus:ring-primary-600": !((c = e.value) != null && c.errors),
3238
+ "border-red-400 border-2 focus:ring-red-600": (m = e.value) == null ? void 0 : m.errors
3152
3239
  },
3153
3240
  t.inputClass
3154
3241
  );
3155
- }), o = c(() => H("ml-2 text-sm leading-6", t.labelClass));
3156
- return (p, g) => (i(), f(je, V({
3242
+ }), i = d(() => k("ml-2 text-sm leading-6", t.labelClass));
3243
+ return (c, m) => (o(), g(Be, E({
3157
3244
  ref: "$inputRef",
3158
3245
  class: a.value
3159
3246
  }, s, {
3160
- "onUpdate:modelValue": g[0] || (g[0] = ($) => p.$emit("update:modelValue", $))
3247
+ "onUpdate:modelValue": m[0] || (m[0] = (h) => c.$emit("update:modelValue", h))
3161
3248
  }), {
3162
- default: m(() => [
3163
- b("div", Oa, [
3164
- d(Vt, V(l(r), {
3249
+ default: f(() => [
3250
+ b("div", ol, [
3251
+ p(Pt, E(l(r), {
3165
3252
  type: "checkbox",
3166
3253
  class: u.value
3167
3254
  }), null, 16, ["class"])
3168
3255
  ]),
3169
- p.$slots.default ? (i(), y("div", {
3256
+ c.$slots.default ? (o(), y("div", {
3170
3257
  key: 0,
3171
- class: x(o.value)
3258
+ class: _(i.value)
3172
3259
  }, [
3173
- d(be, { class: "text-gray-900" }, {
3174
- default: m(() => [
3175
- w(p.$slots, "default")
3260
+ p(we, { class: "text-gray-900" }, {
3261
+ default: f(() => [
3262
+ $(c.$slots, "default")
3176
3263
  ]),
3177
3264
  _: 3
3178
3265
  }),
3179
- d(ye, { class: "text-red-600" })
3180
- ], 2)) : p.label ? (i(), y("div", {
3266
+ p($e, { class: "text-red-600" })
3267
+ ], 2)) : c.label ? (o(), y("div", {
3181
3268
  key: 1,
3182
- class: x(o.value)
3269
+ class: _(i.value)
3183
3270
  }, [
3184
- d(be, { class: "text-gray-900" }),
3185
- d(ye, { class: "text-red-600" })
3186
- ], 2)) : M("", !0)
3271
+ p(we, { class: "text-gray-900" }),
3272
+ p($e, { class: "text-red-600" })
3273
+ ], 2)) : V("", !0)
3187
3274
  ]),
3188
3275
  _: 3
3189
3276
  }, 16, ["class"]));
3190
3277
  }
3191
- }), Na = /* @__PURE__ */ h({
3278
+ }), il = /* @__PURE__ */ v({
3279
+ __name: "Provide",
3280
+ props: {
3281
+ name: {},
3282
+ value: {}
3283
+ },
3284
+ setup(t) {
3285
+ return ae(t.name, t.value), (s, e) => $(s.$slots, "default");
3286
+ }
3287
+ }), 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" }, st = /* @__PURE__ */ v({
3288
+ __name: "ComboboxOption",
3289
+ props: {
3290
+ textValue: {},
3291
+ value: {},
3292
+ disabled: { type: Boolean },
3293
+ asChild: { type: Boolean },
3294
+ as: {}
3295
+ },
3296
+ emits: ["select"],
3297
+ setup(t, { emit: s }) {
3298
+ const e = s, r = H("select", "<ComboboxOption> must be a child of a <Combobox>"), n = Qs(), a = H("combobox"), u = d(() => {
3299
+ var m;
3300
+ const c = (m = r.options) == null ? void 0 : m.find((h) => h.value === t.value);
3301
+ return c ? r.renderOption(c.value) : F(t.value);
3302
+ });
3303
+ function i(c) {
3304
+ n.multiple.value || n.disabled.value || (c.preventDefault(), a.preventChange = !0, n.modelValue.value = t.value, e("select"));
3305
+ }
3306
+ return (c, m) => (o(), g(l(Zs), E(c.$props, {
3307
+ class: "group p-1 outline-none",
3308
+ onSelect: m[0] || (m[0] = (h) => i(h))
3309
+ }), {
3310
+ default: f(() => [
3311
+ b("div", ul, [
3312
+ $(c.$slots, "default", {}, () => [
3313
+ I(C(u.value), 1)
3314
+ ])
3315
+ ])
3316
+ ]),
3317
+ _: 3
3318
+ }, 16));
3319
+ }
3320
+ }), 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({
3321
+ __name: "ComboboxOptions",
3322
+ props: {
3323
+ newInputValue: { type: Function }
3324
+ },
3325
+ emits: ["select"],
3326
+ setup(t) {
3327
+ const { contains: s } = Js({ sensitivity: "base" }), e = H("select", "<ComboboxOptions> must be a child of a <Combobox>"), r = H("combobox"), n = Z("$group"), a = d(
3328
+ () => {
3329
+ var c;
3330
+ return ((c = e.options) == null ? void 0 : c.filter((m) => s(m.label, r.input))) ?? [];
3331
+ }
3332
+ ), u = d(
3333
+ () => r.input && !a.value.some((c) => c.label === r.input)
3334
+ ), i = k(
3335
+ "max-h-(--reka-combobox-content-available-height) min-w-(--reka-combobox-trigger-width)",
3336
+ "z-50 overflow-auto rounded-lg bg-white text-base shadow-lg ring-1 ring-black/5 focus:outline-hidden"
3337
+ );
3338
+ return de(n, () => {
3339
+ var c;
3340
+ return r.$group = ((c = n.value) == null ? void 0 : c.$el) ?? null;
3341
+ }), (c, m) => (o(), g(l(Gs), null, {
3342
+ default: f(() => [
3343
+ p(l(Xs), {
3344
+ position: "popper",
3345
+ align: l(e).align,
3346
+ side: l(e).side,
3347
+ "side-offset": 4,
3348
+ class: _(l(i))
3349
+ }, {
3350
+ default: f(() => [
3351
+ p(l(Ys), null, {
3352
+ default: f(() => [
3353
+ p(l(er), { class: "group p-1 outline-none" }, {
3354
+ default: f(() => [
3355
+ b("div", cl, C(c.$td("ui.comboboxEmpty", "No options found")), 1)
3356
+ ]),
3357
+ _: 1
3358
+ }),
3359
+ p(l(tr), {
3360
+ ref_key: "$group",
3361
+ ref: n
3362
+ }, {
3363
+ default: f(() => {
3364
+ var h;
3365
+ return [
3366
+ u.value ? (o(), g(st, {
3367
+ key: 0,
3368
+ value: ((h = c.newInputValue) == null ? void 0 : h.call(c, l(r).input)) ?? l(r).input,
3369
+ onSelect: m[0] || (m[0] = (w) => c.$emit("select"))
3370
+ }, {
3371
+ default: f(() => [
3372
+ I(C(l(r).input), 1)
3373
+ ]),
3374
+ _: 1
3375
+ }, 8, ["value"])) : V("", !0),
3376
+ (o(!0), y(j, null, O(a.value, (w) => (o(), g(st, {
3377
+ key: w.key,
3378
+ value: w.value,
3379
+ onSelect: m[1] || (m[1] = (S) => c.$emit("select"))
3380
+ }, null, 8, ["value"]))), 128))
3381
+ ];
3382
+ }),
3383
+ _: 1
3384
+ }, 512)
3385
+ ]),
3386
+ _: 1
3387
+ })
3388
+ ]),
3389
+ _: 1
3390
+ }, 8, ["align", "side", "class"])
3391
+ ]),
3392
+ _: 1
3393
+ }));
3394
+ }
3395
+ }), pl = /* @__PURE__ */ v({
3396
+ __name: "ComboboxTrigger",
3397
+ emits: ["focus", "change", "blur"],
3398
+ setup(t, { emit: s }) {
3399
+ const e = s, r = H("select", "<ComboboxTrigger> must be a child of a <Combobox>"), n = H("combobox"), a = d(() => k(
3400
+ // eslint-disable-next-line vue/max-len
3401
+ "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",
3402
+ {
3403
+ "mt-1": r.label,
3404
+ "focus:ring-primary-600": !r.errors,
3405
+ "text-gray-900 shadow-2xs ring-gray-900/10 placeholder:text-gray-400": !r.errors,
3406
+ "pr-10 text-red-900 ring-red-900/10 placeholder:text-red-300 focus:ring-red-500": r.errors
3407
+ }
3408
+ ));
3409
+ function u() {
3410
+ Array.from(document.querySelectorAll(":hover")).some((c) => {
3411
+ var m;
3412
+ return (m = n.$group) == null ? void 0 : m.contains(c);
3413
+ }) || e("blur");
3414
+ }
3415
+ return de(
3416
+ () => n.input,
3417
+ () => {
3418
+ if (n.preventChange) {
3419
+ n.preventChange = !1;
3420
+ return;
3421
+ }
3422
+ e("change");
3423
+ }
3424
+ ), (i, c) => (o(), g(l(sr), null, {
3425
+ default: f(() => [
3426
+ p(l(rr), {
3427
+ id: l(r).id,
3428
+ modelValue: l(n).input,
3429
+ "onUpdate:modelValue": c[0] || (c[0] = (m) => l(n).input = m),
3430
+ placeholder: l(r).placeholder,
3431
+ class: _(a.value),
3432
+ "display-value": l(r).renderOption,
3433
+ name: l(r).name,
3434
+ onFocus: c[1] || (c[1] = (m) => i.$emit("focus")),
3435
+ onBlur: c[2] || (c[2] = (m) => u()),
3436
+ onKeydown: c[3] || (c[3] = Yt((m) => i.$emit("blur"), ["esc"]))
3437
+ }, null, 8, ["id", "modelValue", "placeholder", "class", "display-value", "name"])
3438
+ ]),
3439
+ _: 1
3440
+ }));
3441
+ }
3442
+ }), ml = /* @__PURE__ */ v({
3443
+ __name: "ComboboxLabel",
3444
+ props: {
3445
+ asChild: { type: Boolean },
3446
+ as: {}
3447
+ },
3448
+ setup(t) {
3449
+ const s = H("select", "<ComboboxLabel> must be a child of a <Combobox>"), e = xe(), r = d(() => !!(s.label || e.default)), n = d(() => k("block text-sm leading-6 font-medium text-gray-900", s.labelClass));
3450
+ return (a, u) => r.value ? (o(), g(l(pt), E({
3451
+ key: 0,
3452
+ for: l(s).id,
3453
+ class: n.value
3454
+ }, a.$props), {
3455
+ default: f(() => [
3456
+ $(a.$slots, "default", {}, () => [
3457
+ I(C(l(s).label), 1)
3458
+ ])
3459
+ ]),
3460
+ _: 3
3461
+ }, 16, ["for", "class"])) : V("", !0);
3462
+ }
3463
+ }), yo = /* @__PURE__ */ v({
3464
+ __name: "Combobox",
3465
+ props: {
3466
+ as: { default: "div" },
3467
+ options: {},
3468
+ placeholder: {},
3469
+ renderOption: { type: Function },
3470
+ compareOptions: { type: Function, default: (t, s) => t === s },
3471
+ labelClass: {},
3472
+ optionsClass: {},
3473
+ align: {},
3474
+ side: {},
3475
+ name: {},
3476
+ label: {},
3477
+ description: {},
3478
+ modelValue: {},
3479
+ newInputValue: { type: Function }
3480
+ },
3481
+ emits: ["update:modelValue"],
3482
+ setup(t, { expose: s, emit: e }) {
3483
+ const r = e, n = W(t, ["as", "compareOptions"]), { expose: a, acceptableValue: u, update: i, renderOption: c } = kt({ as: t.as, compareOptions: t.compareOptions, ...n }, r), m = B(!1), h = {
3484
+ input: B(u.value ? c(u.value) : ""),
3485
+ preventChange: B(!1),
3486
+ $group: B(null)
3487
+ };
3488
+ function w(S) {
3489
+ h.input.value = c(S), i(S);
3490
+ }
3491
+ return s(a), (S, L) => (o(), g(l(nr), {
3492
+ "ignore-filter": "",
3493
+ open: m.value,
3494
+ "reset-search-term-on-blur": !1,
3495
+ "reset-search-term-on-select": !1,
3496
+ "model-value": l(u),
3497
+ by: S.compareOptions,
3498
+ "onUpdate:modelValue": L[4] || (L[4] = (A) => w(A))
3499
+ }, {
3500
+ default: f(() => [
3501
+ p(il, {
3502
+ name: "combobox",
3503
+ value: h
3504
+ }, {
3505
+ default: f(() => [
3506
+ p(ml),
3507
+ p(pl, {
3508
+ onFocus: L[0] || (L[0] = (A) => m.value = !0),
3509
+ onChange: L[1] || (L[1] = (A) => m.value = !0),
3510
+ onBlur: L[2] || (L[2] = (A) => m.value = !1)
3511
+ }),
3512
+ p(dl, {
3513
+ "new-input-value": S.newInputValue,
3514
+ onSelect: L[3] || (L[3] = (A) => m.value = !1)
3515
+ }, null, 8, ["new-input-value"])
3516
+ ]),
3517
+ _: 1
3518
+ })
3519
+ ]),
3520
+ _: 1
3521
+ }, 8, ["open", "model-value", "by"]));
3522
+ }
3523
+ }), fl = /* @__PURE__ */ v({
3192
3524
  __name: "DropdownMenuOption",
3193
3525
  props: {
3194
3526
  class: {},
@@ -3197,37 +3529,37 @@ const qa = /* @__PURE__ */ h({
3197
3529
  },
3198
3530
  emits: ["select"],
3199
3531
  setup(t) {
3200
- const s = K(t, ["class"]), e = c(() => H(
3532
+ const s = W(t, ["class"]), e = d(() => k(
3201
3533
  "flex w-full items-center gap-2 rounded-lg px-2 py-2 text-sm text-gray-900 data-[highlighted]:bg-gray-100",
3202
3534
  t.class
3203
3535
  ));
3204
- return (r, n) => (i(), f(l(Bs), V({ class: e.value }, s, {
3536
+ return (r, n) => (o(), g(l(ar), E({ class: e.value }, s, {
3205
3537
  onSelect: n[0] || (n[0] = (a) => r.$emit("select"))
3206
3538
  }), {
3207
- default: m(() => [
3208
- w(r.$slots, "default")
3539
+ default: f(() => [
3540
+ $(r.$slots, "default")
3209
3541
  ]),
3210
3542
  _: 3
3211
3543
  }, 16, ["class"]));
3212
3544
  }
3213
- }), Wa = /* @__PURE__ */ h({
3545
+ }), hl = /* @__PURE__ */ v({
3214
3546
  __name: "DropdownMenuOptions",
3215
3547
  setup(t) {
3216
- const s = I(
3548
+ const s = H(
3217
3549
  "dropdown-menu",
3218
3550
  "<DropdownMenuOptions> must be a child of a <DropdownMenu>"
3219
3551
  );
3220
- return (e, r) => (i(), f(l(Fs), {
3552
+ return (e, r) => (o(), g(l(lr), {
3221
3553
  class: "gap-y-0.5 rounded-lg bg-white p-1.5 shadow-lg ring-1 ring-black/5",
3222
3554
  align: l(s).align,
3223
3555
  side: l(s).side
3224
3556
  }, {
3225
- default: m(() => [
3226
- w(e.$slots, "default", {}, () => [
3227
- (i(!0), y(D, null, U(l(s).options, (n, a) => (i(), f(Na, V(
3557
+ default: f(() => [
3558
+ $(e.$slots, "default", {}, () => [
3559
+ (o(!0), y(j, null, O(l(s).options, (n, a) => (o(), g(fl, E(
3228
3560
  {
3229
3561
  key: a,
3230
- as: n.route || n.href ? bt : void 0,
3562
+ as: n.route || n.href ? xt : void 0,
3231
3563
  class: n.class
3232
3564
  },
3233
3565
  { ref_for: !0 },
@@ -3239,13 +3571,13 @@ const qa = /* @__PURE__ */ h({
3239
3571
  } : {},
3240
3572
  {
3241
3573
  onSelect: (u) => {
3242
- var o;
3243
- return (o = n.click) == null ? void 0 : o.call(n);
3574
+ var i;
3575
+ return (i = n.click) == null ? void 0 : i.call(n);
3244
3576
  }
3245
3577
  }
3246
3578
  ), {
3247
- default: m(() => [
3248
- L(C(n.label), 1)
3579
+ default: f(() => [
3580
+ I(C(n.label), 1)
3249
3581
  ]),
3250
3582
  _: 2
3251
3583
  }, 1040, ["as", "class", "onSelect"]))), 128))
@@ -3254,7 +3586,7 @@ const qa = /* @__PURE__ */ h({
3254
3586
  _: 3
3255
3587
  }, 8, ["align", "side"]));
3256
3588
  }
3257
- }), Jl = /* @__PURE__ */ h({
3589
+ }), wo = /* @__PURE__ */ v({
3258
3590
  __name: "DropdownMenu",
3259
3591
  props: {
3260
3592
  align: {},
@@ -3265,23 +3597,23 @@ const qa = /* @__PURE__ */ h({
3265
3597
  const e = {
3266
3598
  align: t.align,
3267
3599
  side: t.side,
3268
- options: c(() => {
3600
+ options: d(() => {
3269
3601
  var r;
3270
3602
  return (r = t.options) == null ? void 0 : r.filter(Boolean);
3271
3603
  })
3272
3604
  };
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")
3605
+ return ae("dropdown-menu", e), s(e), (r, n) => (o(), g(l(or), null, {
3606
+ default: f(() => [
3607
+ p(l(ir), null, {
3608
+ default: f(() => [
3609
+ $(r.$slots, "default")
3278
3610
  ]),
3279
3611
  _: 3
3280
3612
  }),
3281
- d(l(Ns), null, {
3282
- default: m(() => [
3283
- w(r.$slots, "options", {}, () => [
3284
- d(Wa)
3613
+ p(l(ur), null, {
3614
+ default: f(() => [
3615
+ $(r.$slots, "options", {}, () => [
3616
+ p(hl)
3285
3617
  ])
3286
3618
  ]),
3287
3619
  _: 3
@@ -3290,7 +3622,7 @@ const qa = /* @__PURE__ */ h({
3290
3622
  _: 3
3291
3623
  }));
3292
3624
  }
3293
- }), Ka = ["aria-hidden"], Qa = ["tabindex", "aria-label", "type"], Zl = /* @__PURE__ */ h({
3625
+ }), gl = ["aria-hidden"], vl = ["tabindex", "aria-label", "type"], $o = /* @__PURE__ */ v({
3294
3626
  __name: "EditableContent",
3295
3627
  props: {
3296
3628
  type: { default: "text" },
@@ -3303,106 +3635,106 @@ const qa = /* @__PURE__ */ h({
3303
3635
  },
3304
3636
  emits: ["update", "save"],
3305
3637
  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() {
3638
+ const e = s, r = Z("$inputRef"), n = B(null), a = B(t.text), u = d(() => k("inline whitespace-pre", t.contentClass)), i = d(() => k("invisible whitespace-pre", t.contentClass)), c = d(() => k("absolute inset-0 h-full w-full resize-none border-0 bg-transparent p-0 focus:ring-0", t.contentClass));
3639
+ function m() {
3308
3640
  n.value = t.text;
3309
3641
  }
3310
- function $() {
3642
+ function h() {
3311
3643
  n.value && (t.type !== "number" && a.value.trim().length === 0 && (a.value = n.value, e("update", a.value)), n.value = null, e("save"));
3312
3644
  }
3313
- return G(() => a.value = t.text), (v, S) => (i(), y("div", {
3314
- class: x(["relative", { "pointer-events-none!": v.disabled && !n.value }])
3645
+ return ee(() => a.value = t.text), (w, S) => (o(), y("div", {
3646
+ class: _(["relative", { "pointer-events-none!": w.disabled && !n.value }])
3315
3647
  }, [
3316
- n.value ? (i(), y("span", {
3648
+ n.value ? (o(), y("span", {
3317
3649
  key: 1,
3318
- class: x(o.value)
3319
- }, C(a.value), 3)) : (i(), y("div", {
3650
+ class: _(i.value)
3651
+ }, C(a.value), 3)) : (o(), y("div", {
3320
3652
  key: 0,
3321
- class: x(u.value)
3653
+ class: _(u.value)
3322
3654
  }, [
3323
- w(v.$slots, "default")
3655
+ $(w.$slots, "default")
3324
3656
  ], 2)),
3325
- v.type === "number" ? (i(), y("span", {
3657
+ w.type === "number" ? (o(), y("span", {
3326
3658
  key: 2,
3327
- class: x(["inline-block transition-[width]", n.value ? "w-5" : "w-0"])
3328
- }, null, 2)) : M("", !0),
3659
+ class: _(["inline-block transition-[width]", n.value ? "w-5" : "w-0"])
3660
+ }, null, 2)) : V("", !0),
3329
3661
  b("form", {
3330
3662
  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();
3663
+ "aria-hidden": w.formAriaHidden,
3664
+ onSubmit: S[4] || (S[4] = at((L) => {
3665
+ var A;
3666
+ return (A = r.value) == null ? void 0 : A.blur();
3335
3667
  }, ["prevent"]))
3336
3668
  }, [
3337
- st(b("input", {
3669
+ lt(b("input", {
3338
3670
  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" }
3671
+ "onUpdate:modelValue": S[0] || (S[0] = (L) => a.value = L),
3672
+ tabindex: w.tabindex ?? void 0,
3673
+ "aria-label": w.ariaLabel ?? void 0,
3674
+ type: w.type,
3675
+ class: _([
3676
+ c.value,
3677
+ { "opacity-0": !n.value, "appearance-textfield": !n.value && w.type === "number" }
3346
3678
  ]),
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]
3679
+ onKeyup: S[1] || (S[1] = (L) => w.$emit("update", a.value)),
3680
+ onFocus: S[2] || (S[2] = (L) => m()),
3681
+ onBlur: S[3] || (S[3] = (L) => h())
3682
+ }, null, 42, vl), [
3683
+ [es, a.value]
3352
3684
  ])
3353
- ], 40, Ka)
3685
+ ], 40, gl)
3354
3686
  ], 2));
3355
3687
  }
3356
- }), Ja = {
3688
+ }), bl = {
3357
3689
  viewBox: "0 0 512 512",
3358
3690
  width: "1.2em",
3359
3691
  height: "1.2em"
3360
3692
  };
3361
- function Za(t, s) {
3362
- return i(), y("svg", Ja, s[0] || (s[0] = [
3693
+ function yl(t, s) {
3694
+ return o(), y("svg", bl, s[0] || (s[0] = [
3363
3695
  b("path", {
3364
3696
  fill: "currentColor",
3365
3697
  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
3698
  }, null, -1)
3367
3699
  ]));
3368
3700
  }
3369
- const Xa = E({ name: "ion-warning", render: Za }), Ga = {
3701
+ const wl = R({ name: "ion-warning", render: yl }), $l = {
3370
3702
  viewBox: "0 0 20 20",
3371
3703
  width: "1.2em",
3372
3704
  height: "1.2em"
3373
3705
  };
3374
- function Ya(t, s) {
3375
- return i(), y("svg", Ga, s[0] || (s[0] = [
3706
+ function _l(t, s) {
3707
+ return o(), y("svg", $l, s[0] || (s[0] = [
3376
3708
  b("path", {
3377
3709
  fill: "currentColor",
3378
3710
  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
3711
  }, null, -1)
3380
3712
  ]));
3381
3713
  }
3382
- const el = E({ name: "zondicons-view-show", render: Ya }), tl = { class: "font-medium" }, sl = ["datetime"], rl = /* @__PURE__ */ h({
3714
+ const Cl = R({ name: "zondicons-view-show", render: _l }), xl = { class: "font-medium" }, kl = ["datetime"], Sl = /* @__PURE__ */ v({
3383
3715
  __name: "ErrorLogsModal",
3384
3716
  setup(t) {
3385
- return (s, e) => (i(), f(re, {
3717
+ return (s, e) => (o(), g(ne, {
3386
3718
  title: s.$td("errors.report", "Errors ({count})", { count: s.$errors.logs.length })
3387
3719
  }, {
3388
- default: m(() => [
3720
+ default: f(() => [
3389
3721
  b("ol", null, [
3390
- (i(!0), y(D, null, U(s.$errors.logs, (r, n) => (i(), y("li", {
3722
+ (o(!0), y(j, null, O(s.$errors.logs, (r, n) => (o(), y("li", {
3391
3723
  key: n,
3392
3724
  class: "mb-2 flex max-w-prose min-w-56 justify-between py-2 last:mb-0"
3393
3725
  }, [
3394
3726
  b("div", null, [
3395
- b("h3", tl, C(r.report.title), 1),
3727
+ b("h3", xl, C(r.report.title), 1),
3396
3728
  b("time", {
3397
3729
  datetime: r.date.toISOString(),
3398
3730
  class: "text-xs text-gray-700"
3399
- }, C(r.date.toLocaleTimeString()), 9, sl),
3400
- d(z, {
3731
+ }, C(r.date.toLocaleTimeString()), 9, kl),
3732
+ p(q, {
3401
3733
  class: "text-sm text-gray-500",
3402
- text: r.report.description ?? l(Tt)(r.report)
3734
+ text: r.report.description ?? l(Rt)(r.report)
3403
3735
  }, null, 8, ["text"])
3404
3736
  ]),
3405
- d(R, {
3737
+ p(z, {
3406
3738
  size: "icon",
3407
3739
  variant: "ghost",
3408
3740
  "aria-label": s.$td("errors.viewDetails", "View details"),
@@ -3413,8 +3745,8 @@ const el = E({ name: "zondicons-view-show", render: Ya }), tl = { class: "font-m
3413
3745
  s.$errors.logs.map(({ report: u }) => u)
3414
3746
  )
3415
3747
  }, {
3416
- default: m(() => [
3417
- d(l(el), {
3748
+ default: f(() => [
3749
+ p(l(Cl), {
3418
3750
  class: "size-4",
3419
3751
  "aria-hidden": "true"
3420
3752
  })
@@ -3427,36 +3759,36 @@ const el = E({ name: "zondicons-view-show", render: Ya }), tl = { class: "font-m
3427
3759
  _: 1
3428
3760
  }, 8, ["title"]));
3429
3761
  }
3430
- }), Xl = /* @__PURE__ */ h({
3762
+ }), _o = /* @__PURE__ */ v({
3431
3763
  __name: "ErrorLogs",
3432
3764
  setup(t) {
3433
- return (s, e) => s.$errors.logs.length > 0 ? (i(), f(R, {
3765
+ return (s, e) => s.$errors.logs.length > 0 ? (o(), g(z, {
3434
3766
  key: 0,
3435
3767
  size: "icon",
3436
3768
  variant: "ghost",
3437
3769
  title: s.$td("errors.viewLogs", "View error logs"),
3438
3770
  "aria-label": s.$td("errors.viewLogs", "View error logs"),
3439
- onClick: e[0] || (e[0] = (r) => s.$ui.modal(rl))
3771
+ onClick: e[0] || (e[0] = (r) => s.$ui.modal(Sl))
3440
3772
  }, {
3441
- default: m(() => [
3442
- d(l(Xa), { class: "size-6 text-red-500" })
3773
+ default: f(() => [
3774
+ p(l(wl), { class: "size-6 text-red-500" })
3443
3775
  ]),
3444
3776
  _: 1
3445
- }, 8, ["title", "aria-label"])) : M("", !0);
3777
+ }, 8, ["title", "aria-label"])) : V("", !0);
3446
3778
  }
3447
- }), Gl = /* @__PURE__ */ h({
3779
+ }), Co = /* @__PURE__ */ v({
3448
3780
  __name: "ErrorMessage",
3449
3781
  props: {
3450
3782
  error: {}
3451
3783
  },
3452
3784
  setup(t) {
3453
- const s = c(() => Tt(t.error));
3454
- return (e, r) => (i(), f(z, {
3785
+ const s = d(() => Rt(t.error));
3786
+ return (e, r) => (o(), g(q, {
3455
3787
  text: s.value,
3456
3788
  inline: ""
3457
3789
  }, null, 8, ["text"]));
3458
3790
  }
3459
- }), Yl = /* @__PURE__ */ h({
3791
+ }), xo = /* @__PURE__ */ v({
3460
3792
  __name: "Link",
3461
3793
  props: {
3462
3794
  class: {},
@@ -3471,30 +3803,31 @@ const el = E({ name: "zondicons-view-show", render: Ya }), tl = { class: "font-m
3471
3803
  as: {}
3472
3804
  },
3473
3805
  setup(t) {
3474
- return (s, e) => (i(), f(R, V({ variant: "link" }, s.$props), {
3475
- default: m(() => [
3476
- w(s.$slots, "default")
3806
+ return (s, e) => (o(), g(z, E({ variant: "link" }, s.$props), {
3807
+ default: f(() => [
3808
+ $(s.$slots, "default")
3477
3809
  ]),
3478
3810
  _: 3
3479
3811
  }, 16));
3480
3812
  }
3481
- }), ei = /* @__PURE__ */ h({
3813
+ }), ko = /* @__PURE__ */ v({
3482
3814
  __name: "SettingsModal",
3483
3815
  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")
3816
+ const s = d(() => ds(P.settings, "priority", "desc"));
3817
+ return (e, r) => (o(), g(ne, {
3818
+ title: e.$td("settings.title", "Settings"),
3819
+ "fullscreen-on-mobile": e.$app.settingsFullscreenOnMobile
3487
3820
  }, {
3488
- default: m(() => [
3489
- (i(!0), y(D, null, U(s.value, (n, a) => (i(), f(Y(n.component), { key: a }))), 128))
3821
+ default: f(() => [
3822
+ (o(!0), y(j, null, O(s.value, (n, a) => (o(), g(te(n.component), { key: a }))), 128))
3490
3823
  ]),
3491
3824
  _: 1
3492
- }, 8, ["title"]));
3825
+ }, 8, ["title", "fullscreen-on-mobile"]));
3493
3826
  }
3494
- }), nl = {
3827
+ }), Tl = {
3495
3828
  key: 0,
3496
3829
  class: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3"
3497
- }, ti = /* @__PURE__ */ h({
3830
+ }, So = /* @__PURE__ */ v({
3498
3831
  inheritAttrs: !1,
3499
3832
  __name: "TextArea",
3500
3833
  props: {
@@ -3507,70 +3840,70 @@ const el = E({ name: "zondicons-view-show", render: Ya }), tl = { class: "font-m
3507
3840
  },
3508
3841
  emits: ["update:modelValue"],
3509
3842
  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(
3843
+ const s = W(t, ["label", "inputClass", "wrapperClass"]), e = Z("$inputRef"), [r, n] = Pe(), a = d(() => k("relative rounded-md shadow-2xs", { "mt-1": t.label }, t.wrapperClass)), u = d(() => {
3844
+ var i, c, m;
3845
+ return k(
3513
3846
  // eslint-disable-next-line vue/max-len
3514
3847
  "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
3848
  {
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
3849
+ "focus:ring-primary-600": !((i = e.value) != null && i.errors),
3850
+ "text-gray-900 shadow-2xs ring-gray-900/10 placeholder:text-gray-400": !((c = e.value) != null && c.errors),
3851
+ "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
3852
  },
3520
3853
  t.inputClass
3521
3854
  );
3522
3855
  });
3523
- return (o, p) => (i(), f(je, V({
3856
+ return (i, c) => (o(), g(Be, E({
3524
3857
  ref: "$inputRef",
3525
- label: o.label,
3858
+ label: i.label,
3526
3859
  class: l(n)
3527
3860
  }, s, {
3528
- "onUpdate:modelValue": p[0] || (p[0] = (g) => o.$emit("update:modelValue", g))
3861
+ "onUpdate:modelValue": c[0] || (c[0] = (m) => i.$emit("update:modelValue", m))
3529
3862
  }), {
3530
- default: m(() => {
3531
- var g;
3863
+ default: f(() => {
3864
+ var m;
3532
3865
  return [
3533
- d(be, { class: "block text-sm leading-6 font-medium text-gray-900" }),
3866
+ p(we, { class: "block text-sm leading-6 font-medium text-gray-900" }),
3534
3867
  b("div", {
3535
- class: x(a.value)
3868
+ class: _(a.value)
3536
3869
  }, [
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)
3870
+ p(nl, E(l(r), { class: u.value }), null, 16, ["class"]),
3871
+ (m = e.value) != null && m.errors ? (o(), y("div", Tl, [
3872
+ p(l(De), { class: "size-5 text-red-500" })
3873
+ ])) : V("", !0)
3541
3874
  ], 2),
3542
- d(Et, { class: "mt-2 text-sm text-gray-600" }),
3543
- d(ye, { class: "mt-2 text-sm text-red-600" })
3875
+ p(At, { class: "mt-2 text-sm text-gray-600" }),
3876
+ p($e, { class: "mt-2 text-sm text-red-600" })
3544
3877
  ];
3545
3878
  }),
3546
3879
  _: 1
3547
3880
  }, 16, ["label", "class"]));
3548
3881
  }
3549
3882
  });
3550
- class si {
3883
+ class To {
3551
3884
  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();
3885
+ x(this, "status");
3886
+ x(this, "_listeners");
3887
+ x(this, "_progress");
3888
+ x(this, "_cancelled");
3889
+ x(this, "_started");
3890
+ x(this, "_completed");
3891
+ this.status = this.getInitialStatus(), this._listeners = new ps(), this._started = new J(), this._completed = new J();
3559
3892
  }
3560
3893
  async start() {
3561
3894
  this.beforeStart(), this._started.resolve();
3562
3895
  try {
3563
3896
  await this.updateProgress(), await this.run(), await this.updateProgress(), this._completed.resolve();
3564
3897
  } catch (s) {
3565
- if (s instanceof Ge)
3898
+ if (s instanceof tt)
3566
3899
  return;
3567
- throw te(as(s), (e) => {
3900
+ throw se(ms(s), (e) => {
3568
3901
  this._completed.reject(e);
3569
3902
  });
3570
3903
  }
3571
3904
  }
3572
3905
  async cancel() {
3573
- this._cancelled = new Q(), await this._cancelled;
3906
+ this._cancelled = new J(), await this._cancelled;
3574
3907
  }
3575
3908
  serialize() {
3576
3909
  return this.serializeStatus(this.status);
@@ -3605,10 +3938,10 @@ class si {
3605
3938
  }
3606
3939
  assertNotCancelled() {
3607
3940
  if (this._cancelled)
3608
- throw this._cancelled.resolve(), new Ge();
3941
+ throw this._cancelled.resolve(), new tt();
3609
3942
  }
3610
3943
  calculateCurrentProgress(s) {
3611
- return s ?? (s = this.status), s.completed ? 1 : s.children ? ls(
3944
+ return s ?? (s = this.status), s.completed ? 1 : s.children ? fs(
3612
3945
  s.children.reduce((e, r) => e + this.calculateCurrentProgress(r), 0) / s.children.length,
3613
3946
  2
3614
3947
  ) : 0;
@@ -3622,154 +3955,165 @@ class si {
3622
3955
  return { ...s };
3623
3956
  }
3624
3957
  }
3625
- async function ri(t) {
3958
+ async function Mo(t) {
3626
3959
  await t.start();
3627
3960
  }
3628
3961
  export {
3629
- Kl as AdvancedOptions,
3630
- fn as AlertModal,
3631
- 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,
3658
- 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,
3962
+ vo as AdvancedOptions,
3963
+ Ln as AlertModal,
3964
+ P as App,
3965
+ go as AppLayout,
3966
+ tl as AppOverlays,
3967
+ gr as AppService,
3968
+ el as AppToasts,
3969
+ z as Button,
3970
+ eo as Cache,
3971
+ Pr as CacheService,
3972
+ bo as Checkbox,
3973
+ yo as Combobox,
3974
+ ml as ComboboxLabel,
3975
+ st as ComboboxOption,
3976
+ dl as ComboboxOptions,
3977
+ pl as ComboboxTrigger,
3978
+ Dn as ConfirmModal,
3979
+ ll as Details,
3980
+ wo as DropdownMenu,
3981
+ fl as DropdownMenuOption,
3982
+ hl as DropdownMenuOptions,
3983
+ $o as EditableContent,
3984
+ _o as ErrorLogs,
3985
+ Sl as ErrorLogsModal,
3986
+ Co as ErrorMessage,
3987
+ ma as ErrorReportModal,
3988
+ na as ErrorReportModalButtons,
3989
+ aa as ErrorReportModalTitle,
3990
+ Ct as Errors,
3991
+ Fl as EventListenerPriorities,
3992
+ N as Events,
3993
+ fr as EventsService,
3994
+ zt as Form,
3995
+ Sr as FormController,
3996
+ xt as HeadlessButton,
3997
+ Be as HeadlessInput,
3998
+ At as HeadlessInputDescription,
3999
+ $e as HeadlessInputError,
4000
+ Pt as HeadlessInputInput,
4001
+ we as HeadlessInputLabel,
4002
+ nl as HeadlessInputTextArea,
4003
+ xn as HeadlessModal,
4004
+ kn as HeadlessModalContent,
4005
+ Sn as HeadlessModalDescription,
4006
+ Tn as HeadlessModalOverlay,
4007
+ Mn as HeadlessModalTitle,
4008
+ Zr as HeadlessSelect,
4009
+ Ye as HeadlessSelectLabel,
4010
+ Mt as HeadlessSelectOption,
4011
+ Vt as HeadlessSelectOptions,
4012
+ Tt as HeadlessSelectTrigger,
4013
+ St as HeadlessSelectValue,
4014
+ pn as HeadlessSwitch,
4015
+ Za as HeadlessToast,
4016
+ Sa as Input,
4017
+ To as Job,
4018
+ tt as JobCancelledError,
4019
+ Ge as LOCAL_TIMEZONE_OFFSET,
4020
+ X as Lang,
4021
+ ye as Layouts,
4022
+ xo as Link,
4023
+ $a as LoadingModal,
4024
+ Ir as MINUTE_MILLISECONDS,
4025
+ wt as MOBILE_BREAKPOINT,
4026
+ q as Markdown,
4027
+ ne as Modal,
4028
+ Ho as ModalComponent,
4029
+ Lo as ModalsPortal,
4030
+ ya as ProgressBar,
4031
+ Ea as PromptModal,
4032
+ il as Provide,
4033
+ Yr as Select,
4034
+ Et as SelectLabel,
4035
+ et as SelectOption,
4036
+ Ht as SelectOptions,
4037
+ Lt as SelectTrigger,
4038
+ Te as Service,
4039
+ Ie as ServiceBootError,
4040
+ cn as Setting,
4041
+ ko as SettingsModal,
4042
+ Ka as StartupCrash,
4043
+ yt as Storage,
4044
+ mn as Switch,
4045
+ So as TextArea,
4046
+ Ja as Toast,
4047
+ D as UI,
4048
+ Fr as UIService,
4049
+ Ql as __valueType,
4050
+ zr as aerogelDirectives,
4051
+ cr as appNamespace,
4052
+ ro as booleanInput,
4053
+ Me as bootServices,
4054
+ ho as bootstrap,
4055
+ Ya as bootstrapApplication,
4056
+ k as classes,
4057
+ Io as closeModal,
4058
+ Gl as computedAsync,
4059
+ Xl as computedDebounce,
4060
+ Ro as createModal,
4061
+ no as dateInput,
4062
+ Nl as defineDirective,
4063
+ Kl as defineFormValidationRule,
4064
+ Ul as definePlugin,
4065
+ Se as defineServiceState,
4066
+ mr as defineServiceStore,
4067
+ Ol as defineSettings,
4068
+ Mo as dispatch,
4069
+ ao as enumInput,
4070
+ $t as getCurrentLayout,
4071
+ Rt as getErrorMessage,
4072
+ Hr as getMarkdownRouter,
4073
+ pr as getPiniaStore,
4074
+ Qr as hasSelectOptionLabel,
4075
+ zo as injectModal,
4076
+ wr as injectOrFail,
4077
+ yr as injectReactive,
4078
+ H as injectReactiveOrFail,
4079
+ vr as installPlugins,
4080
+ qo as modals,
4081
+ po as numberInput,
4082
+ mo as objectInput,
4083
+ Zl as onCleanMounted,
4084
+ gt as onFormFocus,
4085
+ Jl as persistent,
4086
+ Tr as reactiveSet,
4087
+ so as registerErrorHandler,
4088
+ Lr as renderMarkdown,
4089
+ ft as renderVNode,
4090
+ to as replaceExisting,
4091
+ lo as requiredBooleanInput,
4092
+ oo as requiredDateInput,
4093
+ io as requiredEnumInput,
4094
+ uo as requiredNumberInput,
4095
+ co as requiredObjectInput,
4096
+ Ta as requiredStringInput,
4097
+ dr as resetPiniaStore,
4098
+ bt as safeHtml,
4099
+ Yl as setMarkdownRouter,
4100
+ Po as showModal,
4101
+ fo as stringInput,
4102
+ _t as translate,
4103
+ T as translateWithDefault,
4104
+ Hn as useAlertModal,
4105
+ In as useConfirmModal,
4106
+ la as useErrorReportModal,
4107
+ Wl as useEvent,
4108
+ vt as useForm,
3766
4109
  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
4110
+ wa as useLoadingModal,
4111
+ Ae as useModal,
4112
+ Ma as usePromptModal,
4113
+ kt as useSelect,
4114
+ kr as validate,
4115
+ xr as validateType,
4116
+ ve as validators,
4117
+ ht as variantClasses
3774
4118
  };
3775
4119
  //# sourceMappingURL=aerogel-core.js.map