@aerogel/core 0.1.1-next.3efa6858f5942a7048392e08e88f511c6c5ca343 → 0.1.1-next.6005e06a52b9294023bae608af05bf826d281a4d

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