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