@aerogel/core 0.1.1-next.a33efa4fd6560f7df50d8a64a9e9e2a2f62e79bb → 0.1.1-next.ad50ec0af53abadac36a5f25261330a0b5d77f4b

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