@aerogel/core 0.0.0-next.c2e6acc000e97a1020c2e232678563c53884dd0e → 0.0.0-next.c33ad773d3eb977461630ff22012d99eeedf46cb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/aerogel-core.d.ts +1025 -429
  2. package/dist/aerogel-core.js +1601 -1440
  3. package/dist/aerogel-core.js.map +1 -1
  4. package/package.json +1 -1
  5. package/src/components/AppModals.vue +1 -1
  6. package/src/components/AppOverlays.vue +2 -7
  7. package/src/components/AppToasts.vue +16 -0
  8. package/src/components/contracts/Button.ts +1 -0
  9. package/src/components/contracts/DropdownMenu.ts +11 -0
  10. package/src/components/contracts/Input.ts +4 -4
  11. package/src/components/contracts/Modal.ts +4 -0
  12. package/src/components/contracts/Select.ts +33 -0
  13. package/src/components/contracts/Toast.ts +13 -0
  14. package/src/components/contracts/index.ts +2 -0
  15. package/src/components/headless/HeadlessButton.vue +7 -2
  16. package/src/components/headless/HeadlessInputDescription.vue +1 -1
  17. package/src/components/headless/HeadlessInputInput.vue +3 -3
  18. package/src/components/headless/HeadlessInputTextArea.vue +2 -2
  19. package/src/components/headless/HeadlessModal.vue +4 -2
  20. package/src/components/headless/HeadlessModalOverlay.vue +2 -2
  21. package/src/components/headless/HeadlessModalTitle.vue +2 -2
  22. package/src/components/headless/HeadlessSelect.vue +92 -0
  23. package/src/components/headless/{forms/AGHeadlessSelectError.vue → HeadlessSelectError.vue} +3 -4
  24. package/src/components/headless/HeadlessSelectLabel.vue +25 -0
  25. package/src/components/headless/HeadlessSelectOption.vue +34 -0
  26. package/src/components/headless/HeadlessSelectOptions.vue +30 -0
  27. package/src/components/headless/HeadlessSelectTrigger.vue +22 -0
  28. package/src/components/headless/HeadlessSelectValue.vue +15 -0
  29. package/src/components/headless/HeadlessToast.vue +18 -0
  30. package/src/components/headless/HeadlessToastAction.vue +13 -0
  31. package/src/components/headless/index.ts +7 -3
  32. package/src/components/index.ts +2 -8
  33. package/src/components/ui/AdvancedOptions.vue +18 -0
  34. package/src/components/ui/AlertModal.vue +1 -1
  35. package/src/components/ui/Button.vue +54 -14
  36. package/src/components/ui/Checkbox.vue +17 -10
  37. package/src/components/ui/ConfirmModal.vue +3 -3
  38. package/src/components/ui/DropdownMenu.vue +33 -0
  39. package/src/components/ui/EditableContent.vue +82 -0
  40. package/src/components/{lib/AGErrorMessage.vue → ui/ErrorMessage.vue} +2 -3
  41. package/src/components/ui/ErrorReportModal.vue +1 -1
  42. package/src/components/ui/ErrorReportModalButtons.vue +6 -8
  43. package/src/components/ui/ErrorReportModalTitle.vue +1 -1
  44. package/src/components/ui/Input.vue +8 -4
  45. package/src/components/ui/Link.vue +2 -2
  46. package/src/components/ui/LoadingModal.vue +3 -3
  47. package/src/components/ui/Markdown.vue +10 -3
  48. package/src/components/ui/Modal.vue +23 -8
  49. package/src/components/ui/PromptModal.vue +4 -4
  50. package/src/components/ui/Select.vue +53 -0
  51. package/src/components/ui/Toast.vue +42 -0
  52. package/src/components/ui/index.ts +7 -0
  53. package/src/components/utils.ts +4 -4
  54. package/src/errors/Errors.ts +4 -5
  55. package/src/index.css +33 -0
  56. package/src/ui/UI.state.ts +2 -2
  57. package/src/ui/UI.ts +12 -20
  58. package/src/ui/index.ts +4 -4
  59. package/src/utils/vue.ts +0 -4
  60. package/src/components/AppSnackbars.vue +0 -13
  61. package/src/components/constants.ts +0 -8
  62. package/src/components/forms/AGSelect.story.vue +0 -46
  63. package/src/components/forms/AGSelect.vue +0 -54
  64. package/src/components/forms/index.ts +0 -1
  65. package/src/components/headless/forms/AGHeadlessSelect.ts +0 -42
  66. package/src/components/headless/forms/AGHeadlessSelect.vue +0 -77
  67. package/src/components/headless/forms/AGHeadlessSelectOption.ts +0 -4
  68. package/src/components/headless/forms/AGHeadlessSelectOption.vue +0 -31
  69. package/src/components/headless/forms/AGHeadlessSelectOptions.vue +0 -19
  70. package/src/components/headless/forms/AGHeadlessSelectTrigger.vue +0 -25
  71. package/src/components/headless/forms/composition.ts +0 -10
  72. package/src/components/headless/forms/index.ts +0 -8
  73. package/src/components/headless/snackbars/AGHeadlessSnackbar.vue +0 -10
  74. package/src/components/headless/snackbars/index.ts +0 -40
  75. package/src/components/lib/AGMeasured.vue +0 -16
  76. package/src/components/lib/index.ts +0 -3
  77. package/src/components/snackbars/AGSnackbar.vue +0 -38
  78. package/src/components/snackbars/index.ts +0 -3
  79. /package/src/components/{lib/AGStartupCrash.vue → ui/StartupCrash.vue} +0 -0
@@ -1,39 +1,39 @@
1
- var ut = Object.defineProperty;
2
- var dt = (t, r, e) => r in t ? ut(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
3
- var _ = (t, r, e) => dt(t, typeof r != "symbol" ? r + "" : r, e);
4
- import { ref as I, computed as d, watch as Se, inject as X, reactive as ue, markRaw as Ie, nextTick as Ve, defineComponent as h, createElementBlock as b, openBlock as u, renderSlot as y, createBlock as g, unref as c, mergeProps as A, withCtx as f, onUnmounted as oe, createPropsRestProxy as Y, Comment as pt, Text as mt, Static as ft, useAttrs as ze, useSlots as qe, h as ht, normalizeClass as H, createVNode as m, Fragment as ee, renderList as ie, createTextVNode as B, toDisplayString as k, createElementVNode as v, provide as fe, toRef as Ae, resolveDynamicComponent as te, normalizeProps as ke, guardReactiveProps as Ce, createCommentVNode as E, resolveComponent as j, watchEffect as Be, withModifiers as gt, readonly as De, withDirectives as Fe, vModelCheckbox as vt, normalizeStyle as bt, createApp as _t, customRef as yt, resolveDirective as wt, onMounted as $t, toRaw as xt } from "vue";
5
- import { JSError as he, tap as K, MagicObject as Ue, PromisedValue as W, Storage as U, objectOnly as re, arrayFrom as Ge, isEmpty as _e, objectDeepClone as St, fail as O, facade as Q, arrayRemove as $e, getEnv as kt, updateLocationQueryParameters as Ct, forever as Mt, toString as V, isDevelopment as Z, isTesting as Me, after as He, uuid as de, required as Et, isObject as pe, objectWithoutEmpty as Ne, objectWithout as We, stringMatchAll as Pt, isInstanceOf as It, stringExcerpt as At, ListenersManager as Ht, toError as Lt, round as Tt, noop as jt } from "@noeldemartin/utils";
6
- import J from "virtual:aerogel";
7
- import { createPinia as Rt, setActivePinia as Vt, defineStore as zt } from "pinia";
8
- import { Primitive as qt, DialogRoot as Bt, DialogPortal as Dt, DialogContent as Ft, DialogOverlay as Ut, DialogTitle as Gt, SelectRoot as Nt, SelectTrigger as Wt, SelectValue as Ot, SelectItem as Kt, SelectItemText as Qt, SelectPortal as Jt, SelectContent as Zt, SelectViewport as Xt } from "reka-ui";
9
- import Yt from "clsx";
10
- import { cva as er } from "class-variance-authority";
11
- import { twMerge as tr } from "tailwind-merge";
12
- import rr from "dompurify";
13
- import { marked as sr, Renderer as Le } from "marked";
14
- class xe extends he {
1
+ var mt = Object.defineProperty;
2
+ var ft = (t, r, e) => r in t ? mt(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
3
+ var _ = (t, r, e) => ft(t, typeof r != "symbol" ? r + "" : r, e);
4
+ import { ref as H, computed as p, watch as ke, inject as se, reactive as oe, markRaw as Le, nextTick as ze, createElementBlock as v, openBlock as l, createElementVNode as y, Comment as ht, Text as gt, Static as vt, defineComponent as g, useAttrs as Be, useSlots as Se, createBlock as h, h as bt, unref as i, mergeProps as I, withCtx as f, renderSlot as w, onUnmounted as ue, createPropsRestProxy as Z, createVNode as m, provide as ce, toRef as Te, resolveDynamicComponent as X, normalizeProps as de, guardReactiveProps as pe, createCommentVNode as M, useTemplateRef as me, normalizeClass as P, toDisplayString as x, watchEffect as Me, withModifiers as qe, readonly as Ee, Fragment as q, renderList as U, withDirectives as De, vModelCheckbox as yt, createTextVNode as A, normalizeStyle as _t, createApp as wt, customRef as $t, onMounted as xt, toRaw as Ct, vModelText as kt } from "vue";
5
+ import { JSError as fe, tap as K, MagicObject as Fe, PromisedValue as O, Storage as D, objectOnly as Y, arrayFrom as Ue, isEmpty as be, objectDeepClone as St, fail as W, facade as J, arrayRemove as we, getEnv as Mt, updateLocationQueryParameters as Et, forever as Pt, toString as z, isDevelopment as G, isTesting as Pe, after as Ve, uuid as te, required as Ht, isObject as ie, objectWithoutEmpty as Ne, stringMatchAll as It, isInstanceOf as Lt, stringExcerpt as Tt, objectWithout as Vt, noop as jt, value as At, ListenersManager as Rt, toError as zt, round as Bt } from "@noeldemartin/utils";
6
+ import Q from "virtual:aerogel";
7
+ import { createPinia as qt, setActivePinia as Dt, defineStore as Ft } from "pinia";
8
+ import Ut from "dompurify";
9
+ import { marked as Nt, Renderer as je } from "marked";
10
+ import { Primitive as Ot, DialogRoot as Wt, DialogPortal as Kt, DialogContent as Jt, DialogOverlay as Qt, DialogTitle as Gt, ToastClose as Zt, ToastRoot as Xt, ToastProvider as Yt, ToastViewport as er, SelectValue as tr, SelectTrigger as rr, SelectIcon as sr, SelectItem as nr, SelectItemText as ar, SelectPortal as or, SelectContent as ir, SelectViewport as lr, SelectRoot as ur, Label as cr, DropdownMenuRoot as dr, DropdownMenuTrigger as pr, DropdownMenuPortal as mr, DropdownMenuContent as fr, DropdownMenuItem as hr } from "reka-ui";
11
+ import gr from "clsx";
12
+ import { cva as vr } from "class-variance-authority";
13
+ import { twMerge as br } from "tailwind-merge";
14
+ class $e extends fe {
15
15
  constructor(r, e) {
16
16
  super(`Service '${r}' failed booting`, { cause: e });
17
17
  }
18
18
  }
19
- let Ee = null;
19
+ let He = null;
20
20
  function Oe() {
21
- return Ee ?? nr();
21
+ return He ?? yr();
22
22
  }
23
- function nr() {
24
- return K(Rt(), (t) => {
25
- Ee = t, Vt(t);
23
+ function yr() {
24
+ return K(qt(), (t) => {
25
+ He = t, Dt(t);
26
26
  });
27
27
  }
28
- function ar() {
29
- return Ee ?? Oe();
28
+ function _r() {
29
+ return He ?? Oe();
30
30
  }
31
- function or(t, r) {
32
- return Oe(), zt(t, r)();
31
+ function wr(t, r) {
32
+ return Oe(), Ft(t, r)();
33
33
  }
34
- function ge(t) {
34
+ function he(t) {
35
35
  var r;
36
- return r = class extends ve {
36
+ return r = class extends ge {
37
37
  usesStore() {
38
38
  return !0;
39
39
  }
@@ -69,8 +69,8 @@ To fix this problem, declare your initialState as a function instead.`
69
69
  }
70
70
  }, _(r, "persist", t.persist ?? []), r;
71
71
  }
72
- var we;
73
- let ve = (we = class extends Ue {
72
+ var _e;
73
+ let ge = (_e = class extends Fe {
74
74
  constructor() {
75
75
  super();
76
76
  _(this, "_name");
@@ -79,7 +79,7 @@ let ve = (we = class extends Ue {
79
79
  _(this, "_watchers");
80
80
  _(this, "_store");
81
81
  const e = this.getComputedStateDefinition();
82
- this._name = this.getName() ?? new.target.name, this._booted = new W(), this._computedStateKeys = new Set(Object.keys(e)), this._watchers = this.getStateWatchers(), this._store = this.usesStore() && or(this._name, {
82
+ this._name = this.getName() ?? new.target.name, this._booted = new O(), this._computedStateKeys = new Set(Object.keys(e)), this._watchers = this.getStateWatchers(), this._store = this.usesStore() && wr(this._name, {
83
83
  state: () => this.getInitialState(),
84
84
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
85
  getters: e
@@ -92,7 +92,7 @@ let ve = (we = class extends Ue {
92
92
  return super.static(e);
93
93
  }
94
94
  launch() {
95
- const e = (s) => this._booted.reject(new xe(this._name, s));
95
+ const e = (s) => this._booted.reject(new $e(this._name, s));
96
96
  try {
97
97
  this.frameworkBoot().then(() => this.boot()).then(() => this._booted.resolve()).catch(e);
98
98
  } catch (s) {
@@ -101,7 +101,7 @@ let ve = (we = class extends Ue {
101
101
  return this._booted;
102
102
  }
103
103
  hasPersistedState() {
104
- return U.has(this._name);
104
+ return D.has(this._name);
105
105
  }
106
106
  hasState(e) {
107
107
  return this._store ? e in this._store.$state || this._computedStateKeys.has(e) : !1;
@@ -113,14 +113,14 @@ let ve = (we = class extends Ue {
113
113
  setState(e, s) {
114
114
  if (!this._store)
115
115
  return;
116
- const n = typeof e == "string" ? { [e]: s } : e, a = re(this._store.$state, Object.keys(n));
116
+ const n = typeof e == "string" ? { [e]: s } : e, a = Y(this._store.$state, Object.keys(n));
117
117
  Object.assign(this._store.$state, n), this.onStateUpdated(n, a);
118
118
  }
119
119
  updatePersistedState(e) {
120
120
  if (!this._store)
121
121
  return;
122
- const s = Ge(e), n = re(this._store.$state, s);
123
- _e(n) || this.onPersistentStateUpdated(n);
122
+ const s = Ue(e), n = Y(this._store.$state, s);
123
+ be(n) || this.onPersistentStateUpdated(n);
124
124
  }
125
125
  __get(e) {
126
126
  return this.hasState(e) ? this.getState(e) : super.__get(e);
@@ -129,16 +129,16 @@ let ve = (we = class extends Ue {
129
129
  this.setState({ [e]: s });
130
130
  }
131
131
  onStateUpdated(e, s) {
132
- const n = re(e, this.static("persist"));
133
- _e(n) || this.onPersistentStateUpdated(n);
132
+ const n = Y(e, this.static("persist"));
133
+ be(n) || this.onPersistentStateUpdated(n);
134
134
  for (const a in e) {
135
- const i = this._watchers[a];
136
- !i || e[a] === s[a] || i.call(this, e[a], s[a]);
135
+ const o = this._watchers[a];
136
+ !o || e[a] === s[a] || o.call(this, e[a], s[a]);
137
137
  }
138
138
  }
139
139
  onPersistentStateUpdated(e) {
140
- const s = U.get(this._name);
141
- s && U.set(this._name, {
140
+ const s = D.get(this._name);
141
+ s && D.set(this._name, {
142
142
  ...s,
143
143
  ...this.serializePersistedState(St(e))
144
144
  });
@@ -170,25 +170,25 @@ let ve = (we = class extends Ue {
170
170
  async boot() {
171
171
  }
172
172
  restorePersistedState() {
173
- if (!(!this.usesStore() || _e(this.static("persist")))) {
174
- if (U.has(this._name)) {
175
- const e = U.require(this._name);
173
+ if (!(!this.usesStore() || be(this.static("persist")))) {
174
+ if (D.has(this._name)) {
175
+ const e = D.require(this._name);
176
176
  this.setState(this.deserializePersistedState(e));
177
177
  return;
178
178
  }
179
- U.set(this._name, re(this.getState(), this.static("persist")));
179
+ D.set(this._name, Y(this.getState(), this.static("persist")));
180
180
  }
181
181
  }
182
182
  requireStore() {
183
- return this._store ? this._store : O(`Failed getting '${this._name}' store`);
183
+ return this._store ? this._store : W(`Failed getting '${this._name}' store`);
184
184
  }
185
- }, _(we, "persist", []), we);
186
- const ia = {
185
+ }, _(_e, "persist", []), _e);
186
+ const oa = {
187
187
  Low: -256,
188
188
  Default: 0,
189
189
  High: 256
190
190
  };
191
- class ir extends ve {
191
+ class $r extends ge {
192
192
  constructor() {
193
193
  super(...arguments);
194
194
  _(this, "listeners", {});
@@ -199,72 +199,72 @@ class ir extends ve {
199
199
  async emit(e, s) {
200
200
  var a;
201
201
  const n = this.listeners[e] ?? { priorities: [], handlers: {} };
202
- for (const i of n.priorities)
203
- await Promise.all(((a = n.handlers[i]) == null ? void 0 : a.map((o) => o(s))) ?? []);
202
+ for (const o of n.priorities)
203
+ await Promise.all(((a = n.handlers[o]) == null ? void 0 : a.map((u) => u(s))) ?? []);
204
204
  }
205
205
  // prettier-ignore
206
206
  /* eslint-enable max-len */
207
207
  on(e, s, n) {
208
- const a = typeof s == "function" ? {} : typeof s == "number" ? { priority: s } : s, i = typeof s == "function" ? s : n;
209
- return this.registerListener(e, a, i), () => this.off(e, i);
208
+ const a = typeof s == "function" ? {} : typeof s == "number" ? { priority: s } : s, o = typeof s == "function" ? s : n;
209
+ return this.registerListener(e, a, o), () => this.off(e, o);
210
210
  }
211
211
  // prettier-ignore
212
212
  /* eslint-enable max-len */
213
213
  once(e, s, n) {
214
214
  let a = null;
215
- const i = typeof s == "function" ? {} : s, o = typeof s == "function" ? s : n;
215
+ const o = typeof s == "function" ? {} : s, u = typeof s == "function" ? s : n;
216
216
  return K(
217
217
  () => a && this.off(e, a),
218
- (l) => {
219
- a = (...p) => (l(), o(...p)), this.registerListener(e, i, o);
218
+ (c) => {
219
+ a = (...d) => (c(), u(...d)), this.registerListener(e, o, u);
220
220
  }
221
221
  );
222
222
  }
223
223
  off(e, s) {
224
- var i;
224
+ var o;
225
225
  const n = this.listeners[e];
226
226
  if (!n)
227
227
  return;
228
228
  const a = [...n.priorities];
229
- for (const o of a)
230
- $e(n.handlers[o] ?? [], s), ((i = n.handlers[o]) == null ? void 0 : i.length) === 0 && (delete n.handlers[o], $e(n.priorities, o));
229
+ for (const u of a)
230
+ we(n.handlers[u] ?? [], s), ((o = n.handlers[u]) == null ? void 0 : o.length) === 0 && (delete n.handlers[u], we(n.priorities, u));
231
231
  n.priorities.length === 0 && delete this.listeners[e];
232
232
  }
233
233
  registerListener(e, s, n) {
234
- var l, p, w;
234
+ var c, d, b;
235
235
  const a = s.priority ?? 0;
236
236
  e in this.listeners || (this.listeners[e] = { priorities: [], handlers: {} });
237
- const i = ((l = this.listeners[e]) == null ? void 0 : l.priorities) ?? O(`priorities missing for event '${e}'`), o = ((p = this.listeners[e]) == null ? void 0 : p.handlers) ?? O(`handlers missing for event '${e}'`);
238
- i.includes(a) || (i.push(a), i.sort((M, S) => S - M), o[a] = []), (w = o[a]) == null || w.push(n);
237
+ const o = ((c = this.listeners[e]) == null ? void 0 : c.priorities) ?? W(`priorities missing for event '${e}'`), u = ((d = this.listeners[e]) == null ? void 0 : d.handlers) ?? W(`handlers missing for event '${e}'`);
238
+ o.includes(a) || (o.push(a), o.sort(($, k) => k - $), u[a] = []), (b = u[a]) == null || b.push(n);
239
239
  }
240
240
  }
241
- const x = Q(ir), lr = ge({
241
+ const S = J($r), xr = he({
242
242
  name: "app",
243
243
  initialState: {
244
244
  plugins: {},
245
245
  instance: null,
246
- environment: kt() ?? "development",
247
- version: J.version,
248
- sourceUrl: J.sourceUrl
246
+ environment: Mt() ?? "development",
247
+ version: Q.version,
248
+ sourceUrl: Q.sourceUrl
249
249
  },
250
250
  computed: {
251
251
  development: (t) => t.environment === "development",
252
252
  staging: (t) => t.environment === "staging",
253
253
  testing: (t) => t.environment === "test" || t.environment === "testing",
254
254
  versionName(t) {
255
- return this.development ? "dev." + J.sourceHash.toString().substring(0, 7) : this.staging ? "staging." + J.sourceHash.toString().substring(0, 7) : `v${t.version}`;
255
+ return this.development ? "dev." + Q.sourceHash.toString().substring(0, 7) : this.staging ? "staging." + Q.sourceHash.toString().substring(0, 7) : `v${t.version}`;
256
256
  },
257
257
  versionUrl(t) {
258
- return t.sourceUrl + (this.development || this.staging ? `/tree/${J.sourceHash}` : `/releases/tag/${this.versionName}`);
258
+ return t.sourceUrl + (this.development || this.staging ? `/tree/${Q.sourceHash}` : `/releases/tag/${this.versionName}`);
259
259
  }
260
260
  }
261
261
  });
262
- class cr extends lr {
262
+ class Cr extends xr {
263
263
  constructor() {
264
264
  super(...arguments);
265
- _(this, "name", J.name);
266
- _(this, "ready", new W());
267
- _(this, "mounted", new W());
265
+ _(this, "name", Q.name);
266
+ _(this, "ready", new O());
267
+ _(this, "mounted", new O());
268
268
  }
269
269
  isReady() {
270
270
  return this.ready.isResolved();
@@ -276,7 +276,7 @@ class cr extends lr {
276
276
  return await this.ready.then(e);
277
277
  }
278
278
  async reload(e) {
279
- e && Ct(e), location.reload(), await Mt();
279
+ e && Et(e), location.reload(), await Pt();
280
280
  }
281
281
  plugin(e) {
282
282
  return this.plugins[e] ?? null;
@@ -286,15 +286,15 @@ class cr extends lr {
286
286
  return ((s = this.instance) == null ? void 0 : s.config.globalProperties[e]) ?? null;
287
287
  }
288
288
  async boot() {
289
- x.once("application-ready", () => this.ready.resolve()), x.once("application-mounted", () => this.mounted.resolve());
289
+ S.once("application-ready", () => this.ready.resolve()), S.once("application-mounted", () => this.mounted.resolve());
290
290
  }
291
291
  }
292
- const G = Q(cr);
293
- function la(t) {
292
+ const F = J(Cr);
293
+ function ia(t) {
294
294
  return t;
295
295
  }
296
- async function ur(t, ...r) {
297
- G.setState(
296
+ async function kr(t, ...r) {
297
+ F.setState(
298
298
  "plugins",
299
299
  t.reduce(
300
300
  (e, s) => (s.name && (e[s.name] = s), e),
@@ -302,29 +302,26 @@ async function ur(t, ...r) {
302
302
  )
303
303
  ), await Promise.all(t.map((e) => e.install(...r)) ?? []);
304
304
  }
305
- function dr(t) {
305
+ function la(t) {
306
306
  return {
307
307
  type: Array,
308
308
  default: t ?? (() => [])
309
309
  };
310
310
  }
311
- function ca(t = !1) {
311
+ function ua(t = !1) {
312
312
  return {
313
313
  type: Boolean,
314
314
  default: t
315
315
  };
316
316
  }
317
- function Pe() {
318
- return I();
319
- }
320
- function ua(t) {
321
- const r = I(), e = d(t);
322
- return Se(e, async () => r.value = await e.value, { immediate: !0 }), r;
317
+ function ca(t) {
318
+ const r = H(), e = p(t);
319
+ return ke(e, async () => r.value = await e.value, { immediate: !0 }), r;
323
320
  }
324
321
  function da(t) {
325
322
  return t;
326
323
  }
327
- function pr(t, r) {
324
+ function pa(t, r) {
328
325
  const e = Object.values(t);
329
326
  return {
330
327
  type: String,
@@ -332,47 +329,47 @@ function pr(t, r) {
332
329
  validator: (s) => e.includes(s)
333
330
  };
334
331
  }
335
- function mr(t) {
336
- const r = X(t);
337
- return r ? ue(r) : void 0;
332
+ function Sr(t) {
333
+ const r = se(t);
334
+ return r ? oe(r) : void 0;
338
335
  }
339
- function z(t, r) {
340
- return mr(t) ?? O(r ?? `Could not resolve '${V(t)}' injection key`);
336
+ function j(t, r) {
337
+ return Sr(t) ?? W(r ?? `Could not resolve '${z(t)}' injection key`);
341
338
  }
342
- function pa(t, r) {
343
- return X(t) ?? O(r ?? `Could not resolve '${V(t)}' injection key`);
339
+ function ma(t, r) {
340
+ return se(t) ?? W(r ?? `Could not resolve '${z(t)}' injection key`);
344
341
  }
345
- function ma() {
342
+ function fa() {
346
343
  return {
347
344
  type: Function,
348
345
  default: null
349
346
  };
350
347
  }
351
- function Ke(t, r) {
348
+ function ha(t, r) {
352
349
  return {
353
350
  type: t,
354
351
  default: r ?? null
355
352
  };
356
353
  }
357
- function fa(t = null) {
354
+ function ga(t = null) {
358
355
  return {
359
356
  type: Number,
360
357
  default: t
361
358
  };
362
359
  }
363
- function ha(t = null) {
360
+ function va(t = null) {
364
361
  return {
365
362
  type: Object,
366
363
  default: t
367
364
  };
368
365
  }
369
- function fr() {
366
+ function ba() {
370
367
  return {
371
368
  type: Array,
372
369
  required: !0
373
370
  };
374
371
  }
375
- function ga(t) {
372
+ function ya(t) {
376
373
  const r = Object.values(t);
377
374
  return {
378
375
  type: String,
@@ -380,37 +377,37 @@ function ga(t) {
380
377
  validator: (e) => r.includes(e)
381
378
  };
382
379
  }
383
- function hr(t) {
380
+ function _a(t) {
384
381
  return {
385
382
  type: t,
386
383
  required: !0
387
384
  };
388
385
  }
389
- function va() {
386
+ function wa() {
390
387
  return {
391
388
  type: Number,
392
389
  required: !0
393
390
  };
394
391
  }
395
- function gr() {
392
+ function $a() {
396
393
  return {
397
394
  type: Object,
398
395
  required: !0
399
396
  };
400
397
  }
401
- function Te() {
398
+ function xa() {
402
399
  return {
403
400
  type: String,
404
401
  required: !0
405
402
  };
406
403
  }
407
- function R(t = null) {
404
+ function Ca(t = null) {
408
405
  return {
409
406
  type: String,
410
407
  default: t
411
408
  };
412
409
  }
413
- const ye = /* @__PURE__ */ new WeakMap(), vr = {
410
+ const ye = /* @__PURE__ */ new WeakMap(), Mr = {
414
411
  mounted(t, { value: r }) {
415
412
  const e = typeof r == "function" ? r : null, s = () => {
416
413
  const n = t.getBoundingClientRect();
@@ -422,19 +419,19 @@ const ye = /* @__PURE__ */ new WeakMap(), vr = {
422
419
  var r;
423
420
  (r = ye.get(t)) == null || r.unobserve(t), ye.delete(t);
424
421
  }
425
- }, br = {
426
- measure: vr
427
- }, _r = {
422
+ }, Er = {
423
+ measure: Mr
424
+ }, Pr = {
428
425
  install(t, r) {
429
426
  const e = {
430
- ...br,
427
+ ...Er,
431
428
  ...r.directives
432
429
  };
433
430
  for (const [s, n] of Object.entries(e))
434
431
  t.directive(s, n);
435
432
  }
436
433
  };
437
- class yr extends ve {
434
+ class Hr extends ge {
438
435
  constructor() {
439
436
  super(...arguments);
440
437
  _(this, "cache");
@@ -450,82 +447,82 @@ class yr extends ve {
450
447
  (await n.keys(e)).length !== 0 && await n.put(e, s);
451
448
  }
452
449
  async open() {
453
- return this.cache = this.cache ?? K(new W(), (e) => {
450
+ return this.cache = this.cache ?? K(new O(), (e) => {
454
451
  caches.open("app").then((s) => e.resolve(s));
455
452
  });
456
453
  }
457
454
  }
458
- const ba = Q(yr);
459
- class wr extends ve {
455
+ const ka = J(Hr);
456
+ class Ir extends ge {
460
457
  async purge() {
461
- await x.emit("purge-storage");
458
+ await S.emit("purge-storage");
462
459
  }
463
460
  }
464
- const $r = Q(wr);
465
- function _a(t, r) {
461
+ const Lr = J(Ir);
462
+ function Sa(t, r) {
466
463
  return {
467
464
  ...t,
468
- ...re(r, Object.keys(t))
465
+ ...Y(r, Object.keys(t))
469
466
  };
470
467
  }
471
- const xr = {
472
- $app: G,
473
- $events: x,
474
- $storage: $r
468
+ const Tr = {
469
+ $app: F,
470
+ $events: S,
471
+ $storage: Lr
475
472
  };
476
- async function be(t, r) {
473
+ async function ve(t, r) {
477
474
  await Promise.all(
478
475
  Object.entries(r).map(async ([e, s]) => {
479
476
  await s.launch().catch((n) => {
480
- var a, i;
481
- return (i = (a = t.config).errorHandler) == null ? void 0 : i.call(a, n, null, `Failed launching ${e}.`);
477
+ var a, o;
478
+ return (o = (a = t.config).errorHandler) == null ? void 0 : o.call(a, n, null, `Failed launching ${e}.`);
482
479
  });
483
480
  })
484
- ), Object.assign(t.config.globalProperties, r), (Z() || Me()) && Object.assign(globalThis, r);
481
+ ), Object.assign(t.config.globalProperties, r), (G() || Pe()) && Object.assign(globalThis, r);
485
482
  }
486
- const Sr = {
483
+ const Vr = {
487
484
  async install(t, r) {
488
485
  const e = {
489
- ...xr,
486
+ ...Tr,
490
487
  ...r.services
491
488
  };
492
- t.use(ar()), await be(t, e);
489
+ t.use(_r()), await ve(t, e);
493
490
  }
494
- }, Qe = 768, me = {
491
+ }, We = 768, le = {
495
492
  Mobile: "mobile",
496
493
  Desktop: "desktop"
497
494
  };
498
- function Je() {
499
- return globalThis.innerWidth > Qe ? me.Desktop : me.Mobile;
495
+ function Ke() {
496
+ return globalThis.innerWidth > We ? le.Desktop : le.Mobile;
500
497
  }
501
- const kr = ge({
498
+ const jr = he({
502
499
  name: "ui",
503
500
  initialState: {
504
501
  modals: [],
505
- snackbars: [],
506
- layout: Je()
502
+ toasts: [],
503
+ layout: Ke()
507
504
  },
508
505
  computed: {
509
- mobile: ({ layout: t }) => t === me.Mobile,
510
- desktop: ({ layout: t }) => t === me.Desktop
506
+ mobile: ({ layout: t }) => t === le.Mobile,
507
+ desktop: ({ layout: t }) => t === le.Desktop
511
508
  }
512
- }), C = {
509
+ }), E = {
513
510
  AlertModal: "alert-modal",
514
511
  ConfirmModal: "confirm-modal",
515
512
  ErrorReportModal: "error-report-modal",
516
513
  LoadingModal: "loading-modal",
517
514
  PromptModal: "prompt-modal",
518
- Snackbar: "snackbar",
515
+ Toast: "toast",
519
516
  StartupCrash: "startup-crash"
520
517
  };
521
- class Cr extends kr {
518
+ class Ar extends jr {
522
519
  constructor() {
523
520
  super(...arguments);
524
521
  _(this, "modalCallbacks", {});
525
522
  _(this, "components", {});
526
523
  }
527
524
  requireComponent(e) {
528
- return this.components[e] ?? O(`UI Component '${e}' is not defined!`);
525
+ return this.components[e] ?? W(`UI Component '${e}' is not defined!`);
529
526
  }
530
527
  alert(e, s) {
531
528
  const n = () => typeof s != "string" ? { message: e } : {
@@ -533,14 +530,14 @@ class Cr extends kr {
533
530
  message: s
534
531
  };
535
532
  this.openModal(
536
- this.requireComponent(C.AlertModal),
533
+ this.requireComponent(E.AlertModal),
537
534
  n()
538
535
  );
539
536
  }
540
537
  // prettier-ignore
541
538
  /* eslint-enable max-len */
542
539
  async confirm(e, s, n) {
543
- const i = typeof s != "string" ? {
540
+ const o = typeof s != "string" ? {
544
541
  ...s ?? {},
545
542
  message: e,
546
543
  required: !!(s != null && s.required)
@@ -549,127 +546,121 @@ class Cr extends kr {
549
546
  title: e,
550
547
  message: s,
551
548
  required: !!(n != null && n.required)
552
- }, l = await (await this.openModal(
553
- this.requireComponent(C.ConfirmModal),
554
- i
555
- )).beforeClose, p = typeof l == "object" ? l[0] : l ?? !1, w = typeof l == "object" ? l[1] : Object.entries(i.checkboxes ?? {}).reduce(
556
- (M, [S, { default: D }]) => ({
557
- [S]: D ?? !1,
558
- ...M
549
+ }, c = await (await this.openModal(
550
+ this.requireComponent(E.ConfirmModal),
551
+ o
552
+ )).beforeClose, d = typeof c == "object" ? c[0] : c ?? !1, b = typeof c == "object" ? c[1] : Object.entries(o.checkboxes ?? {}).reduce(
553
+ ($, [k, { default: N }]) => ({
554
+ [k]: N ?? !1,
555
+ ...$
559
556
  }),
560
557
  {}
561
558
  );
562
- for (const [M, S] of Object.entries(i.checkboxes ?? {}))
563
- if (!(!S.required || w[M]))
564
- return p && Z() && console.warn(`Confirmed confirm modal was suppressed because required '${M}' checkbox was missing`), [!1, w];
565
- return "checkboxes" in i ? [p, w] : p;
559
+ for (const [$, k] of Object.entries(o.checkboxes ?? {}))
560
+ if (!(!k.required || b[$]))
561
+ return d && G() && console.warn(`Confirmed confirm modal was suppressed because required '${$}' checkbox was missing`), [!1, b];
562
+ return "checkboxes" in o ? [d, b] : d;
566
563
  }
567
564
  async prompt(e, s, n) {
568
- const a = (n == null ? void 0 : n.trim) ?? !0, i = () => typeof s != "string" ? {
565
+ const a = (n == null ? void 0 : n.trim) ?? !0, o = () => typeof s != "string" ? {
569
566
  message: e,
570
567
  ...s ?? {}
571
568
  } : {
572
569
  title: e,
573
570
  message: s,
574
571
  ...n ?? {}
575
- }, l = await (await this.openModal(
576
- this.requireComponent(C.PromptModal),
577
- i()
572
+ }, c = await (await this.openModal(
573
+ this.requireComponent(E.PromptModal),
574
+ o()
578
575
  )).beforeClose;
579
- return (a && typeof l == "string" ? l == null ? void 0 : l.trim() : l) ?? null;
576
+ return (a && typeof c == "string" ? c == null ? void 0 : c.trim() : c) ?? null;
580
577
  }
581
578
  async loading(e, s) {
582
- const n = (p) => typeof p == "function" ? Promise.resolve(p()) : p, a = () => typeof e == "string" ? {
579
+ const n = (d) => typeof d == "function" ? Promise.resolve(d()) : d, a = () => typeof e == "string" ? {
583
580
  props: { message: e },
584
581
  operationPromise: n(s)
585
582
  } : typeof e == "function" || e instanceof Promise ? { operationPromise: n(e) } : {
586
583
  props: e,
587
584
  operationPromise: n(s)
588
- }, { operationPromise: i, props: o } = a(), l = await this.openModal(this.requireComponent(C.LoadingModal), o);
585
+ }, { operationPromise: o, props: u } = a(), c = await this.openModal(this.requireComponent(E.LoadingModal), u);
589
586
  try {
590
- const p = await i;
591
- return await He({ ms: 500 }), p;
587
+ const d = await o;
588
+ return await Ve({ ms: 500 }), d;
592
589
  } finally {
593
- await this.closeModal(l.id);
590
+ await this.closeModal(c.id);
594
591
  }
595
592
  }
596
- showSnackbar(e, s = {}) {
597
- const n = {
598
- id: de(),
599
- properties: { message: e, ...s },
600
- component: Ie(s.component ?? this.requireComponent(C.Snackbar))
593
+ toast(e, s = {}) {
594
+ const { component: n, ...a } = s, o = {
595
+ id: te(),
596
+ properties: { message: e, ...a },
597
+ component: Le(n ?? this.requireComponent(E.Toast))
601
598
  };
602
- this.setState("snackbars", this.snackbars.concat(n)), setTimeout(() => this.hideSnackbar(n.id), 5e3);
603
- }
604
- hideSnackbar(e) {
605
- this.setState(
606
- "snackbars",
607
- this.snackbars.filter((s) => s.id !== e)
608
- );
599
+ this.setState("toasts", this.toasts.concat(o));
609
600
  }
610
601
  registerComponent(e, s) {
611
602
  this.components[e] = s;
612
603
  }
613
604
  async openModal(e, s) {
614
- const n = de(), a = {}, i = {
605
+ const n = te(), a = {}, o = {
615
606
  id: n,
616
607
  properties: s ?? {},
617
- component: Ie(e),
618
- beforeClose: new Promise((p) => a.willClose = p),
619
- afterClose: new Promise((p) => a.closed = p)
620
- }, o = this.modals.at(-1), l = this.modals.concat(i);
621
- return this.modalCallbacks[i.id] = a, this.setState({ modals: l }), await Ve(), await (o && x.emit("hide-modal", { id: o.id })), await Promise.all([
622
- o || x.emit("show-overlays-backdrop"),
623
- x.emit("show-modal", { id: i.id })
624
- ]), i;
608
+ component: Le(e),
609
+ beforeClose: new Promise((d) => a.willClose = d),
610
+ afterClose: new Promise((d) => a.closed = d)
611
+ }, u = this.modals.at(-1), c = this.modals.concat(o);
612
+ return this.modalCallbacks[o.id] = a, this.setState({ modals: c }), await ze(), await (u && S.emit("hide-modal", { id: u.id })), await Promise.all([
613
+ u || S.emit("show-overlays-backdrop"),
614
+ S.emit("show-modal", { id: o.id })
615
+ ]), o;
625
616
  }
626
617
  async closeModal(e, s) {
627
- if (!G.isMounted()) {
618
+ if (!F.isMounted()) {
628
619
  await this.removeModal(e, s);
629
620
  return;
630
621
  }
631
- await x.emit("close-modal", { id: e, result: s });
622
+ await S.emit("close-modal", { id: e, result: s });
632
623
  }
633
624
  async closeAllModals() {
634
625
  for (; this.modals.length > 0; )
635
- await this.closeModal(Et(this.modals[this.modals.length - 1]).id);
626
+ await this.closeModal(Ht(this.modals[this.modals.length - 1]).id);
636
627
  }
637
628
  async boot() {
638
629
  this.watchModalEvents(), this.watchMountedEvent(), this.watchViewportBreakpoints();
639
630
  }
640
631
  async removeModal(e, s) {
641
- var a, i;
632
+ var a, o;
642
633
  this.setState(
643
634
  "modals",
644
- this.modals.filter((o) => o.id !== e)
645
- ), (i = (a = this.modalCallbacks[e]) == null ? void 0 : a.closed) == null || i.call(a, s), delete this.modalCallbacks[e];
635
+ this.modals.filter((u) => u.id !== e)
636
+ ), (o = (a = this.modalCallbacks[e]) == null ? void 0 : a.closed) == null || o.call(a, s), delete this.modalCallbacks[e];
646
637
  const n = this.modals.at(-1);
647
- await (n && x.emit("show-modal", { id: n.id }));
638
+ await (n && S.emit("show-modal", { id: n.id }));
648
639
  }
649
640
  watchModalEvents() {
650
- x.on("modal-will-close", ({ modal: e, result: s }) => {
641
+ S.on("modal-will-close", ({ modal: e, result: s }) => {
651
642
  var n, a;
652
- (a = (n = this.modalCallbacks[e.id]) == null ? void 0 : n.willClose) == null || a.call(n, s), this.modals.length === 1 && x.emit("hide-overlays-backdrop");
653
- }), x.on("modal-closed", async ({ modal: { id: e }, result: s }) => {
643
+ (a = (n = this.modalCallbacks[e.id]) == null ? void 0 : n.willClose) == null || a.call(n, s), this.modals.length === 1 && S.emit("hide-overlays-backdrop");
644
+ }), S.on("modal-closed", async ({ modal: { id: e }, result: s }) => {
654
645
  await this.removeModal(e, s);
655
646
  });
656
647
  }
657
648
  watchMountedEvent() {
658
- x.once("application-mounted", async () => {
649
+ S.once("application-mounted", async () => {
659
650
  if (!globalThis.document || !globalThis.getComputedStyle)
660
651
  return;
661
652
  const e = globalThis.document.getElementById("splash");
662
- e && (globalThis.getComputedStyle(e).opacity !== "0" && (e.style.opacity = "0", await He({ ms: 600 })), e.remove());
653
+ e && (globalThis.getComputedStyle(e).opacity !== "0" && (e.style.opacity = "0", await Ve({ ms: 600 })), e.remove());
663
654
  });
664
655
  }
665
656
  watchViewportBreakpoints() {
666
657
  if (!globalThis.matchMedia)
667
658
  return;
668
- globalThis.matchMedia(`(min-width: ${Qe}px)`).addEventListener("change", () => this.setState({ layout: Je() }));
659
+ globalThis.matchMedia(`(min-width: ${We}px)`).addEventListener("change", () => this.setState({ layout: Ke() }));
669
660
  }
670
661
  }
671
- const P = Q(Cr);
672
- class Mr {
662
+ const L = J(Ar);
663
+ class Rr {
673
664
  constructor(r, e) {
674
665
  this.locale = r, this.fallbackLocale = e;
675
666
  }
@@ -689,13 +680,13 @@ class Mr {
689
680
  return ["en"];
690
681
  }
691
682
  translate(r) {
692
- return Z() && console.warn("Lang provider is missing"), r;
683
+ return G() && console.warn("Lang provider is missing"), r;
693
684
  }
694
685
  translateWithDefault(r, e) {
695
- return Z() && console.warn("Lang provider is missing"), e;
686
+ return G() && console.warn("Lang provider is missing"), e;
696
687
  }
697
688
  }
698
- const Er = ge({
689
+ const zr = he({
699
690
  name: "lang",
700
691
  persist: ["locale", "fallbackLocale"],
701
692
  initialState: {
@@ -704,11 +695,11 @@ const Er = ge({
704
695
  fallbackLocale: "en"
705
696
  }
706
697
  });
707
- class Pr extends Er {
698
+ class Br extends zr {
708
699
  constructor() {
709
700
  super();
710
701
  _(this, "provider");
711
- this.provider = new Mr(
702
+ this.provider = new Rr(
712
703
  this.getState("locale") ?? this.getBrowserLocale(),
713
704
  this.getState("fallbackLocale")
714
705
  );
@@ -736,12 +727,7 @@ class Pr extends Er {
736
727
  );
737
728
  }
738
729
  }
739
- const ne = Q(Pr), Ze = ne.translate.bind(ne), $ = ne.translateWithDefault.bind(ne), ae = {
740
- Primary: "primary",
741
- Secondary: "secondary",
742
- Danger: "danger",
743
- Clear: "clear"
744
- }, Ir = ge({
730
+ const re = J(Br), Je = re.translate.bind(re), C = re.translateWithDefault.bind(re), qr = he({
745
731
  name: "errors",
746
732
  initialState: {
747
733
  logs: [],
@@ -753,7 +739,7 @@ const ne = Q(Pr), Ze = ne.translate.bind(ne), $ = ne.translateWithDefault.bind(n
753
739
  hasStartupErrors: ({ startupErrors: t }) => t.length > 0
754
740
  }
755
741
  });
756
- class Ar extends Ir {
742
+ class Dr extends qr {
757
743
  constructor() {
758
744
  super(...arguments);
759
745
  _(this, "forceReporting", !1);
@@ -768,19 +754,19 @@ class Ar extends Ir {
768
754
  async inspect(e) {
769
755
  const s = Array.isArray(e) ? e : [await this.createErrorReport(e)];
770
756
  if (s.length === 0) {
771
- P.alert($("errors.inspectEmpty", "Nothing to inspect!"));
757
+ L.alert(C("errors.inspectEmpty", "Nothing to inspect!"));
772
758
  return;
773
759
  }
774
- P.openModal(P.requireComponent(C.ErrorReportModal), {
760
+ L.openModal(L.requireComponent(E.ErrorReportModal), {
775
761
  reports: s
776
762
  });
777
763
  }
778
764
  async report(e, s) {
779
- if (await x.emit("error", { error: e, message: s }), Me("unit") || (Z() && this.logError(e), !this.enabled))
765
+ if (await S.emit("error", { error: e, message: s }), Pe("unit") || (G() && this.logError(e), !this.enabled))
780
766
  throw e;
781
- if (!G.isMounted()) {
782
- const i = await this.createStartupErrorReport(e);
783
- i && this.setState({ startupErrors: this.startupErrors.concat(i) });
767
+ if (!F.isMounted()) {
768
+ const o = await this.createStartupErrorReport(e);
769
+ o && this.setState({ startupErrors: this.startupErrors.concat(o) });
784
770
  return;
785
771
  }
786
772
  const n = await this.createErrorReport(e), a = {
@@ -788,16 +774,16 @@ class Ar extends Ir {
788
774
  seen: !1,
789
775
  date: /* @__PURE__ */ new Date()
790
776
  };
791
- P.showSnackbar(
792
- s ?? $("errors.notice", "Something went wrong, but it's not your fault. Try again!"),
777
+ L.toast(
778
+ s ?? C("errors.notice", "Something went wrong, but it's not your fault. Try again!"),
793
779
  {
794
- color: ae.Danger,
780
+ variant: "danger",
795
781
  actions: [
796
782
  {
797
- text: $("errors.viewDetails", "View details"),
783
+ label: C("errors.viewDetails", "View details"),
798
784
  dismiss: !0,
799
- handler: () => P.openModal(
800
- P.requireComponent(C.ErrorReportModal),
785
+ click: () => L.openModal(
786
+ L.requireComponent(E.ErrorReportModal),
801
787
  { reports: [n] }
802
788
  )
803
789
  }
@@ -822,24 +808,24 @@ class Ar extends Ir {
822
808
  });
823
809
  }
824
810
  logError(e) {
825
- console.error(e), pe(e) && e.cause && this.logError(e.cause);
811
+ console.error(e), ie(e) && e.cause && this.logError(e.cause);
826
812
  }
827
813
  async createErrorReport(e) {
828
- return typeof e == "string" ? { title: e } : e instanceof Error || e instanceof he ? this.createErrorReportFromError(e) : pe(e) ? Ne({
829
- title: V(
830
- e.name ?? e.title ?? $("errors.unknown", "Unknown Error")
814
+ return typeof e == "string" ? { title: e } : e instanceof Error || e instanceof fe ? this.createErrorReportFromError(e) : ie(e) ? Ne({
815
+ title: z(
816
+ e.name ?? e.title ?? C("errors.unknown", "Unknown Error")
831
817
  ),
832
- description: V(
833
- e.message ?? e.description ?? $("errors.unknownDescription", "Unknown error object")
818
+ description: z(
819
+ e.message ?? e.description ?? C("errors.unknownDescription", "Unknown error object")
834
820
  ),
835
821
  error: e
836
822
  }) : {
837
- title: $("errors.unknown", "Unknown Error"),
823
+ title: C("errors.unknown", "Unknown Error"),
838
824
  error: e
839
825
  };
840
826
  }
841
827
  async createStartupErrorReport(e) {
842
- return e instanceof xe ? e.cause instanceof xe ? null : this.createErrorReport(e.cause) : this.createErrorReport(e);
828
+ return e instanceof $e ? e.cause instanceof $e ? null : this.createErrorReport(e.cause) : this.createErrorReport(e);
843
829
  }
844
830
  createErrorReportFromError(e, s = {}) {
845
831
  return {
@@ -851,67 +837,120 @@ class Ar extends Ir {
851
837
  };
852
838
  }
853
839
  }
854
- const Xe = Q(Ar), Ye = [];
855
- function ya(t) {
856
- Ye.push(t);
840
+ const Qe = J(Dr), Ge = [];
841
+ function Ma(t) {
842
+ Ge.push(t);
857
843
  }
858
- function Hr(t) {
859
- for (const r of Ye) {
844
+ function Fr(t) {
845
+ for (const r of Ge) {
860
846
  const e = r(t);
861
847
  if (e)
862
848
  return e;
863
849
  }
864
- return typeof t == "string" ? t : t instanceof Error || t instanceof he ? t.message : pe(t) ? V(t.message ?? t.description ?? "Unknown error object") : $("errors.unknown", "Unknown Error");
850
+ return typeof t == "string" ? t : t instanceof Error || t instanceof fe ? t.message : ie(t) ? z(t.message ?? t.description ?? "Unknown error object") : C("errors.unknown", "Unknown Error");
865
851
  }
866
- class je extends he {
852
+ class Ae extends fe {
867
853
  }
868
- const Lr = { $errors: Xe }, Tr = (t) => (Xe.report(t), !0);
869
- function jr(t, r = () => !1) {
870
- const e = (s) => r(s) || Tr(s);
871
- t.config.errorHandler = e, globalThis.onerror = (s, n, a, i, o) => e(o ?? s), globalThis.onunhandledrejection = (s) => e(s.reason);
854
+ const Ur = { $errors: Qe }, Nr = (t) => (Qe.report(t), !0);
855
+ function Or(t, r = () => !1) {
856
+ const e = (s) => r(s) || Nr(s);
857
+ t.config.errorHandler = e, globalThis.onerror = (s, n, a, o, u) => e(u ?? s), globalThis.onunhandledrejection = (s) => e(s.reason);
872
858
  }
873
- const Rr = {
859
+ const Wr = {
874
860
  async install(t, r) {
875
- jr(t, r.handleError), await be(t, Lr);
861
+ Or(t, r.handleError), await ve(t, Ur);
876
862
  }
877
- }, Vr = { $lang: ne }, zr = {
863
+ }, Kr = { $lang: re }, Jr = {
878
864
  async install(t) {
879
865
  var r;
880
- (r = t.config.globalProperties).$t ?? (r.$t = Ze), t.config.globalProperties.$td = $, await be(t, Vr);
866
+ (r = t.config.globalProperties).$t ?? (r.$t = Je), t.config.globalProperties.$td = C, await ve(t, Kr);
881
867
  }
882
- }, qr = {
868
+ }, Qr = {
883
869
  async install() {
884
- Me() && (globalThis.testingRuntime = {
885
- on: (...t) => x.on(...t)
870
+ Pe() && (globalThis.testingRuntime = {
871
+ on: (...t) => S.on(...t)
886
872
  });
887
873
  }
888
- }, Br = { class: "pointer-events-auto" }, Dr = /* @__PURE__ */ h({
889
- __name: "AGHeadlessSnackbar",
890
- setup(t) {
891
- return (r, e) => (u(), b("div", Br, [
892
- y(r.$slots, "default")
893
- ]));
894
- }
895
- }), Fr = We(ae, ["Primary", "Clear"]), Ur = {
896
- id: Te(),
897
- message: Te(),
898
- actions: dr(() => []),
899
- color: pr(Fr, ae.Secondary)
874
+ }, Gr = {
875
+ viewBox: "0 0 20 20",
876
+ width: "1.2em",
877
+ height: "1.2em"
900
878
  };
901
- function Gr() {
902
- return Ur;
879
+ function Zr(t, r) {
880
+ return l(), v("svg", Gr, r[0] || (r[0] = [
881
+ y("path", {
882
+ fill: "currentColor",
883
+ 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"
884
+ }, null, -1)
885
+ ]));
903
886
  }
904
- function Nr(t) {
905
- function r(e) {
906
- var s;
907
- (s = e.handler) == null || s.call(e), e.dismiss && P.hideSnackbar(t.id);
908
- }
909
- return { activate: r };
887
+ const Xr = { name: "zondicons-close", render: Zr };
888
+ function Yr() {
889
+ return K(new je(), (t) => {
890
+ t.link = function(r) {
891
+ return je.prototype.link.apply(this, [r]).replace("<a", '<a target="_blank"');
892
+ };
893
+ });
894
+ }
895
+ function es(t) {
896
+ const r = It(t, /<a[^>]*href="#action:([^"]+)"[^>]*>([^<]+)<\/a>/g);
897
+ for (const [e, s, n] of r)
898
+ t = t.replace(e, `<button type="button" data-markdown-action="${s}">${n}</button>`);
899
+ return t;
900
+ }
901
+ function ts(t) {
902
+ let r = Nt(t, { renderer: Yr(), async: !1 });
903
+ return r = rs(r), r = es(r), r;
904
+ }
905
+ function rs(t) {
906
+ return Ut.sanitize(t, { ADD_ATTR: ["target"] });
907
+ }
908
+ function ss(t) {
909
+ return Object.entries(t.props ?? {}).reduce((r, [e, s]) => r + `${e}="${z(s)}"`, "");
910
+ }
911
+ function Ze(t) {
912
+ return typeof t == "string" ? t : t.type === ht ? "" : t.type === gt || t.type === vt ? t.children : t.type === "br" ? `
913
+
914
+ ` : `<${t.type} ${ss(t)}>${Array.from(t.children).map(Ze).join("")}</${t.type}>`;
910
915
  }
911
- const Wr = /* @__PURE__ */ h({
916
+ const R = /* @__PURE__ */ g({
917
+ __name: "Markdown",
918
+ props: {
919
+ as: {},
920
+ inline: { type: Boolean },
921
+ langKey: {},
922
+ langParams: {},
923
+ langDefault: {},
924
+ text: {},
925
+ actions: {}
926
+ },
927
+ setup(t) {
928
+ const r = Be(), e = Se(), s = p(() => e.default ? e.default().map(Ze).join("") : t.text ?? (t.langKey && (t.langDefault ? C(t.langKey, t.langDefault, t.langParams ?? {}) : Je(t.langKey, t.langParams ?? {})))), n = p(() => {
929
+ if (!s.value)
930
+ return null;
931
+ let u = ts(s.value);
932
+ return t.inline && (u = u.replace("<p>", "<span>").replace("</p>", "</span>")), u;
933
+ }), a = () => bt(t.as ?? (t.inline ? "span" : "div"), {
934
+ innerHTML: n.value,
935
+ onClick: o,
936
+ ...r,
937
+ class: `${r.class ?? ""} ${t.inline ? "" : "prose"}`
938
+ });
939
+ async function o(u) {
940
+ var d, b;
941
+ const { target: c } = u;
942
+ if (Lt(c, HTMLElement) && c.dataset.markdownAction) {
943
+ (b = (d = t.actions) == null ? void 0 : d[c.dataset.markdownAction]) == null || b.call(d);
944
+ return;
945
+ }
946
+ }
947
+ return (u, c) => (l(), h(a));
948
+ }
949
+ }), ns = /* @__PURE__ */ g({
912
950
  __name: "HeadlessButton",
913
951
  props: {
914
952
  class: {},
953
+ disabled: { type: Boolean },
915
954
  href: {},
916
955
  route: {},
917
956
  routeParams: {},
@@ -923,7 +962,7 @@ const Wr = /* @__PURE__ */ h({
923
962
  as: {}
924
963
  },
925
964
  setup(t) {
926
- const r = d(() => t.as ? { as: t.as } : t.route ? {
965
+ const r = p(() => t.as ? { as: t.as } : t.route ? {
927
966
  as: "router-link",
928
967
  to: Ne({
929
968
  name: t.route,
@@ -938,49 +977,45 @@ const Wr = /* @__PURE__ */ h({
938
977
  as: "button",
939
978
  type: t.submit ? "submit" : "button"
940
979
  });
941
- return (e, s) => (u(), g(c(qt), A({
980
+ return (e, s) => (l(), h(i(Ot), I({
942
981
  class: t.class,
943
- "as-child": e.asChild
982
+ "as-child": e.asChild,
983
+ disabled: e.disabled
944
984
  }, r.value), {
945
985
  default: f(() => [
946
- y(e.$slots, "default")
986
+ w(e.$slots, "default")
947
987
  ]),
948
988
  _: 3
949
- }, 16, ["class", "as-child"]));
989
+ }, 16, ["class", "as-child", "disabled"]));
950
990
  }
951
991
  });
952
- function Or(t, r) {
953
- return d(() => {
954
- const { baseClasses: e, ...s } = t, { baseClasses: n, ...a } = r, i = er(n, a), o = Object.entries(s).reduce((l, [p, w]) => (l[p] = c(w), l), {});
955
- return N(i(o), c(e));
992
+ function Xe(t, r) {
993
+ return p(() => {
994
+ const { baseClasses: e, ...s } = t, { baseClasses: n, ...a } = r, o = vr(n, a), u = Object.entries(s).reduce((c, [d, b]) => (c[d] = i(b), c), {});
995
+ return T(o(u), i(e));
956
996
  });
957
997
  }
958
- function N(...t) {
959
- return tr(Yt(t));
960
- }
961
- function Kr(t, r) {
962
- return Object.keys(r).reduce(
963
- (e, s) => (e[s] = t[s], e),
964
- {}
965
- );
998
+ function T(...t) {
999
+ return br(gr(t));
966
1000
  }
967
- function Qr(t) {
1001
+ function as(t) {
968
1002
  if (t instanceof HTMLElement)
969
1003
  return t;
970
- if (Jr(t))
1004
+ if (os(t))
971
1005
  return t.$el;
972
1006
  }
973
- function Jr(t) {
974
- return pe(t) && "$el" in t;
1007
+ function os(t) {
1008
+ return ie(t) && "$el" in t;
975
1009
  }
976
- function et(t, r) {
977
- const e = X("form", null), s = e == null ? void 0 : e.on("focus", (n) => t.name === n && r());
978
- oe(() => s == null ? void 0 : s());
1010
+ function Ye(t, r) {
1011
+ const e = se("form", null), s = e == null ? void 0 : e.on("focus", (n) => t.name === n && r());
1012
+ ue(() => s == null ? void 0 : s());
979
1013
  }
980
- const L = /* @__PURE__ */ h({
1014
+ const V = /* @__PURE__ */ g({
981
1015
  __name: "Button",
982
1016
  props: {
983
1017
  class: {},
1018
+ disabled: { type: Boolean },
984
1019
  href: {},
985
1020
  route: {},
986
1021
  routeParams: {},
@@ -992,24 +1027,28 @@ const L = /* @__PURE__ */ h({
992
1027
  as: {}
993
1028
  },
994
1029
  setup(t) {
995
- const r = Y(t, ["class", "size", "variant"]), e = Or(
996
- { baseClasses: t.class, variant: t.variant, size: t.size },
1030
+ const r = Z(t, ["class", "size", "variant", "disabled"]), e = Xe(
1031
+ { baseClasses: t.class, variant: t.variant, size: t.size, disabled: t.disabled },
997
1032
  {
998
- baseClasses: "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2",
1033
+ baseClasses: "flex items-center justify-center gap-1 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2",
999
1034
  variants: {
1000
1035
  variant: {
1001
- default: "bg-primary text-white hover:bg-primary/90 focus-visible:outline-primary",
1002
- secondary: "bg-background text-gray-900 ring-gray-300 hover:bg-accent",
1003
- danger: "bg-danger text-white hover:bg-danger/80 focus-visible:outline-danger",
1004
- ghost: "bg-background hover:bg-accent",
1005
- outline: "bg-background text-primary ring-primary hover:bg-accent",
1006
- link: "text-primary hover:underline"
1036
+ default: "bg-primary text-white focus-visible:outline-primary",
1037
+ secondary: "bg-background text-gray-900 ring-gray-300",
1038
+ danger: "bg-danger text-white focus-visible:outline-danger",
1039
+ ghost: "bg-transparent",
1040
+ outline: "bg-transparent text-primary ring-primary",
1041
+ link: "text-primary"
1007
1042
  },
1008
1043
  size: {
1009
- small: "rounded px-2 py-1 text-xs",
1010
- default: "rounded-md px-2.5 py-1.5 text-sm",
1011
- large: "rounded-md px-3 py-2 text-base",
1044
+ small: "text-xs",
1045
+ default: "text-sm",
1046
+ large: "text-base",
1012
1047
  icon: "rounded-full p-2.5"
1048
+ },
1049
+ disabled: {
1050
+ false: null,
1051
+ true: "opacity-50 cursor-not-allowed"
1013
1052
  }
1014
1053
  },
1015
1054
  compoundVariants: [
@@ -1024,212 +1063,104 @@ const L = /* @__PURE__ */ h({
1024
1063
  {
1025
1064
  variant: ["secondary", "outline"],
1026
1065
  class: "ring-1 ring-inset"
1066
+ },
1067
+ {
1068
+ variant: ["default", "secondary", "danger", "ghost", "outline"],
1069
+ size: "small",
1070
+ class: "rounded px-2 py-1"
1071
+ },
1072
+ {
1073
+ variant: ["default", "secondary", "danger", "ghost", "outline"],
1074
+ size: "default",
1075
+ class: "rounded-md px-2.5 py-1.5"
1076
+ },
1077
+ {
1078
+ variant: ["default", "secondary", "danger", "ghost", "outline"],
1079
+ size: "large",
1080
+ class: "rounded-md px-3 py-2"
1081
+ },
1082
+ {
1083
+ variant: "default",
1084
+ disabled: !1,
1085
+ class: "hover:bg-primary/90"
1086
+ },
1087
+ {
1088
+ variant: ["secondary", "ghost", "outline"],
1089
+ disabled: !1,
1090
+ class: "hover:bg-accent"
1091
+ },
1092
+ {
1093
+ variant: "danger",
1094
+ disabled: !1,
1095
+ class: "hover:bg-danger/80"
1096
+ },
1097
+ {
1098
+ variant: "link",
1099
+ disabled: !1,
1100
+ class: "hover:underline"
1027
1101
  }
1028
1102
  ],
1029
1103
  defaultVariants: {
1030
1104
  variant: "default",
1031
- size: "default"
1105
+ size: "default",
1106
+ disabled: !1
1032
1107
  }
1033
1108
  }
1034
1109
  );
1035
- return (s, n) => (u(), g(Wr, A({ class: c(e) }, r), {
1110
+ return (s, n) => (l(), h(ns, I({
1111
+ class: i(e),
1112
+ disabled: s.disabled
1113
+ }, r), {
1036
1114
  default: f(() => [
1037
- y(s.$slots, "default")
1115
+ w(s.$slots, "default")
1038
1116
  ]),
1039
1117
  _: 3
1040
- }, 16, ["class"]));
1118
+ }, 16, ["class", "disabled"]));
1041
1119
  }
1042
1120
  });
1043
- function Zr() {
1044
- return K(new Le(), (t) => {
1045
- t.link = function(r) {
1046
- return Le.prototype.link.apply(this, [r]).replace("<a", '<a target="_blank"');
1047
- };
1048
- });
1049
- }
1050
- function Xr(t) {
1051
- const r = Pt(t, /<a[^>]*href="#action:([^"]+)"[^>]*>([^<]+)<\/a>/g);
1052
- for (const [e, s, n] of r)
1053
- t = t.replace(e, `<button type="button" data-markdown-action="${s}">${n}</button>`);
1054
- return t;
1055
- }
1056
- function Yr(t) {
1057
- let r = sr(t, { renderer: Zr(), async: !1 });
1058
- return r = es(r), r = Xr(r), r;
1059
- }
1060
- function es(t) {
1061
- return rr.sanitize(t, { ADD_ATTR: ["target"] });
1062
- }
1063
- function ts(t) {
1064
- return Object.entries(t.props ?? {}).reduce((r, [e, s]) => r + `${e}="${V(s)}"`, "");
1065
- }
1066
- function tt(t) {
1067
- return typeof t == "string" ? t : t.type === pt ? "" : t.type === mt || t.type === ft ? t.children : t.type === "br" ? `
1068
-
1069
- ` : `<${t.type} ${ts(t)}>${Array.from(t.children).map(tt).join("")}</${t.type}>`;
1070
- }
1071
- const T = /* @__PURE__ */ h({
1072
- __name: "Markdown",
1073
- props: {
1074
- as: {},
1075
- inline: { type: Boolean },
1076
- langKey: {},
1077
- langParams: {},
1078
- text: {},
1079
- actions: {}
1080
- },
1081
- setup(t) {
1082
- const r = ze(), e = qe(), s = d(() => e.default ? e.default().map(tt).join("") : t.text ?? (t.langKey && Ze(t.langKey, t.langParams ?? {}))), n = d(() => {
1083
- if (!s.value)
1084
- return null;
1085
- let o = Yr(s.value);
1086
- return t.inline && (o = o.replace("<p>", "<span>").replace("</p>", "</span>")), o;
1087
- }), a = () => ht(t.as ?? (t.inline ? "span" : "div"), {
1088
- innerHTML: n.value,
1089
- onClick: i,
1090
- ...r,
1091
- class: `${r.class ?? ""} ${t.inline ? "" : "prose"}`
1092
- });
1093
- async function i(o) {
1094
- var p, w;
1095
- const { target: l } = o;
1096
- if (It(l, HTMLElement) && l.dataset.markdownAction) {
1097
- (w = (p = t.actions) == null ? void 0 : p[l.dataset.markdownAction]) == null || w.call(p);
1098
- return;
1099
- }
1100
- }
1101
- return (o, l) => (u(), g(a));
1102
- }
1103
- }), rs = /* @__PURE__ */ h({
1104
- __name: "AGSnackbar",
1105
- props: Gr(),
1106
- setup(t) {
1107
- const r = t, { activate: e } = Nr(r), s = d(() => {
1108
- switch (r.color) {
1109
- case ae.Danger:
1110
- return "bg-red-200 text-red-900";
1111
- default:
1112
- case ae.Secondary:
1113
- return "bg-gray-900 text-white";
1114
- }
1115
- }), n = d(() => r.color);
1116
- return (a, i) => (u(), g(Dr, {
1117
- class: H(["flex flex-row items-center justify-center gap-3 p-4", s.value])
1118
- }, {
1119
- default: f(() => [
1120
- m(T, {
1121
- text: a.message,
1122
- inline: ""
1123
- }, null, 8, ["text"]),
1124
- (u(!0), b(ee, null, ie(a.actions, (o, l) => (u(), g(L, {
1125
- key: l,
1126
- variant: n.value,
1127
- onClick: (p) => c(e)(o)
1128
- }, {
1129
- default: f(() => [
1130
- B(k(o.text), 1)
1131
- ]),
1132
- _: 2
1133
- }, 1032, ["variant", "onClick"]))), 128))
1134
- ]),
1135
- _: 1
1136
- }, 8, ["class"]));
1137
- }
1138
- }), ss = { class: "grid grow place-items-center" }, ns = { class: "flex flex-col items-center space-y-6 p-8" }, as = { class: "mt-2 text-center text-4xl font-medium text-red-600" }, os = { class: "mt-4 flex flex-col space-y-4" }, is = /* @__PURE__ */ h({
1139
- __name: "AGStartupCrash",
1140
- setup(t) {
1141
- return (r, e) => (u(), b("div", ss, [
1142
- v("div", ns, [
1143
- v("h1", as, k(r.$td("startupCrash.title", "Something went wrong!")), 1),
1144
- m(T, {
1145
- text: r.$td(
1146
- "startupCrash.message",
1147
- `Something failed trying to start the application.
1148
-
1149
- Here's some things you can do:`
1150
- ),
1151
- class: "mt-4 text-center"
1152
- }, null, 8, ["text"]),
1153
- v("div", os, [
1154
- m(L, {
1155
- variant: "danger",
1156
- onClick: e[0] || (e[0] = (s) => r.$app.reload())
1157
- }, {
1158
- default: f(() => [
1159
- B(k(r.$td("startupCrash.reload", "Try again")), 1)
1160
- ]),
1161
- _: 1
1162
- }),
1163
- m(L, {
1164
- variant: "danger",
1165
- onClick: e[1] || (e[1] = (s) => r.$errors.inspect(r.$errors.startupErrors))
1166
- }, {
1167
- default: f(() => [
1168
- B(k(r.$td("startupCrash.inspect", "View error details")), 1)
1169
- ]),
1170
- _: 1
1171
- })
1172
- ])
1173
- ])
1174
- ]));
1175
- }
1176
- }), ls = {
1177
- viewBox: "0 0 20 20",
1178
- width: "1.2em",
1179
- height: "1.2em"
1180
- };
1181
- function cs(t, r) {
1182
- return u(), b("svg", ls, r[0] || (r[0] = [
1183
- v("path", {
1184
- fill: "currentColor",
1185
- 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"
1186
- }, null, -1)
1187
- ]));
1188
- }
1189
- const us = { name: "zondicons-close", render: cs };
1190
- function se(t, r) {
1191
- const e = x.on(t, r);
1192
- oe(() => e());
1121
+ function ee(t, r) {
1122
+ const e = S.on(t, r);
1123
+ ue(() => e());
1193
1124
  }
1194
- const ds = /* @__PURE__ */ h({
1125
+ const is = /* @__PURE__ */ g({
1195
1126
  __name: "HeadlessModal",
1196
1127
  props: {
1197
1128
  persistent: { type: Boolean },
1198
1129
  title: {},
1199
1130
  description: {}
1200
1131
  },
1201
- setup(t) {
1202
- const r = I(null), e = I(!0), s = I(!1), { modal: n } = z(
1132
+ setup(t, { expose: r }) {
1133
+ const e = H(null), s = H(!0), n = H(!1), { modal: a } = j(
1203
1134
  "modal",
1204
1135
  "could not obtain modal reference from <HeadlessModal>, did you render this component manually? Show it using $ui.openModal() instead"
1205
1136
  );
1206
- async function a() {
1207
- var l;
1208
- (l = r.value) != null && l.$el && (e.value = !0);
1137
+ async function o() {
1138
+ var d;
1139
+ (d = e.value) != null && d.$el && (s.value = !0);
1209
1140
  }
1210
- async function i() {
1211
- var l;
1212
- (l = r.value) != null && l.$el && (e.value = !1);
1141
+ async function u() {
1142
+ var d;
1143
+ (d = e.value) != null && d.$el && (s.value = !1);
1213
1144
  }
1214
- async function o(l) {
1215
- s.value || (x.emit("modal-will-close", { modal: n, result: l }), await a(), s.value = !0, x.emit("modal-closed", { modal: n, result: l }));
1145
+ async function c(d) {
1146
+ n.value || (S.emit("modal-will-close", { modal: a, result: d }), await o(), n.value = !0, S.emit("modal-closed", { modal: a, result: d }));
1216
1147
  }
1217
- return se("close-modal", async ({ id: l, result: p }) => {
1218
- l === n.id && await o(p);
1219
- }), se("hide-modal", async ({ id: l }) => {
1220
- l === n.id && await a();
1221
- }), se("show-modal", async ({ id: l }) => {
1222
- l === n.id && await i();
1223
- }), (l, p) => (u(), g(c(Bt), {
1148
+ return ee("close-modal", async ({ id: d, result: b }) => {
1149
+ d === a.id && await c(b);
1150
+ }), ee("hide-modal", async ({ id: d }) => {
1151
+ d === a.id && await o();
1152
+ }), ee("show-modal", async ({ id: d }) => {
1153
+ d === a.id && await u();
1154
+ }), r({ close: c }), (d, b) => (l(), h(i(Wt), {
1224
1155
  ref_key: "$root",
1225
- ref: r,
1226
- open: !0,
1227
- "onUpdate:open": p[0] || (p[0] = (w) => l.persistent || o())
1156
+ ref: e,
1157
+ open: "",
1158
+ "onUpdate:open": b[0] || (b[0] = ($) => d.persistent || c())
1228
1159
  }, {
1229
1160
  default: f(() => [
1230
- m(c(Dt), null, {
1161
+ m(i(Kt), null, {
1231
1162
  default: f(() => [
1232
- y(l.$slots, "default", { close: o })
1163
+ w(d.$slots, "default", { close: c })
1233
1164
  ]),
1234
1165
  _: 3
1235
1166
  })
@@ -1237,44 +1168,44 @@ const ds = /* @__PURE__ */ h({
1237
1168
  _: 3
1238
1169
  }, 512));
1239
1170
  }
1240
- }), rt = /* @__PURE__ */ h({
1171
+ }), et = /* @__PURE__ */ g({
1241
1172
  __name: "ModalContext",
1242
1173
  props: {
1243
1174
  modal: {},
1244
1175
  childIndex: {}
1245
1176
  },
1246
1177
  setup(t) {
1247
- const r = t, e = d(() => {
1178
+ const r = t, e = p(() => {
1248
1179
  const s = {};
1249
1180
  for (const n in r.modal.properties)
1250
- s[n] = c(r.modal.properties[n]);
1181
+ s[n] = i(r.modal.properties[n]);
1251
1182
  return s;
1252
1183
  });
1253
- return fe("modal", {
1254
- modal: Ae(r, "modal"),
1255
- childIndex: Ae(r, "childIndex")
1256
- }), (s, n) => (u(), g(te(s.modal.component), ke(Ce(e.value)), null, 16));
1184
+ return ce("modal", {
1185
+ modal: Te(r, "modal"),
1186
+ childIndex: Te(r, "childIndex")
1187
+ }), (s, n) => (l(), h(X(s.modal.component), de(pe(e.value)), null, 16));
1257
1188
  }
1258
- }), ps = /* @__PURE__ */ h({
1189
+ }), ls = /* @__PURE__ */ g({
1259
1190
  __name: "HeadlessModalContent",
1260
1191
  setup(t) {
1261
- const { childIndex: r = 0 } = z(
1192
+ const { childIndex: r = 0 } = j(
1262
1193
  "modal",
1263
1194
  "could not obtain modal reference from <HeadlessModalContent>, did you render this component manually? Show it using $ui.openModal() instead"
1264
- ), e = d(() => P.modals[r] ?? null);
1265
- return (s, n) => (u(), g(c(Ft), null, {
1195
+ ), e = p(() => L.modals[r] ?? null);
1196
+ return (s, n) => (l(), h(i(Jt), null, {
1266
1197
  default: f(() => [
1267
- y(s.$slots, "default"),
1268
- e.value ? (u(), g(rt, {
1198
+ w(s.$slots, "default"),
1199
+ e.value ? (l(), h(et, {
1269
1200
  key: 0,
1270
- "child-index": c(r) + 1,
1201
+ "child-index": i(r) + 1,
1271
1202
  modal: e.value
1272
- }, null, 8, ["child-index", "modal"])) : E("", !0)
1203
+ }, null, 8, ["child-index", "modal"])) : M("", !0)
1273
1204
  ]),
1274
1205
  _: 3
1275
1206
  }));
1276
1207
  }
1277
- }), ms = /* @__PURE__ */ h({
1208
+ }), us = /* @__PURE__ */ g({
1278
1209
  __name: "HeadlessModalOverlay",
1279
1210
  props: {
1280
1211
  forceMount: { type: Boolean },
@@ -1282,109 +1213,112 @@ const ds = /* @__PURE__ */ h({
1282
1213
  as: {}
1283
1214
  },
1284
1215
  setup(t) {
1285
- const r = t;
1286
- return (e, s) => (u(), g(c(Ut), ke(Ce(r)), {
1216
+ return (r, e) => (l(), h(i(Qt), de(pe(r.$props)), {
1287
1217
  default: f(() => [
1288
- y(e.$slots, "default")
1218
+ w(r.$slots, "default")
1289
1219
  ]),
1290
1220
  _: 3
1291
1221
  }, 16));
1292
1222
  }
1293
- }), fs = /* @__PURE__ */ h({
1223
+ }), cs = /* @__PURE__ */ g({
1294
1224
  __name: "HeadlessModalTitle",
1295
1225
  props: {
1296
1226
  asChild: { type: Boolean },
1297
1227
  as: {}
1298
1228
  },
1299
1229
  setup(t) {
1300
- const r = t;
1301
- return (e, s) => (u(), g(c(Gt), ke(Ce(r)), {
1230
+ return (r, e) => (l(), h(i(Gt), de(pe(r.$props)), {
1302
1231
  default: f(() => [
1303
- y(e.$slots, "default")
1232
+ w(r.$slots, "default")
1304
1233
  ]),
1305
1234
  _: 3
1306
1235
  }, 16));
1307
1236
  }
1308
- }), hs = {
1237
+ }), ds = {
1309
1238
  key: 0,
1310
1239
  class: "absolute top-0 right-0 hidden pt-1.5 pr-1.5 sm:block"
1311
- }, gs = { class: "sr-only" }, le = /* @__PURE__ */ h({
1240
+ }, ps = { class: "sr-only" }, ne = /* @__PURE__ */ g({
1312
1241
  __name: "Modal",
1313
1242
  props: {
1314
1243
  persistent: { type: Boolean },
1315
1244
  title: {},
1316
1245
  description: {},
1246
+ dismissable: { type: Boolean, default: !0 },
1317
1247
  wrapperClass: { default: "" },
1318
1248
  class: { default: "" }
1319
1249
  },
1320
- setup(t) {
1321
- const r = Y(t, ["class", "wrapperClass", "title", "persistent"]), e = d(() => N({ "mt-2": t.title }, t.class)), s = d(() => N(
1250
+ setup(t, { expose: r }) {
1251
+ const e = Z(t, ["class", "dismissable", "wrapperClass", "title", "persistent"]), s = me("$modal"), n = p(() => T({ "mt-2": t.title }, t.class)), a = p(() => T(
1322
1252
  // eslint-disable-next-line vue/max-len
1323
1253
  "fixed top-1/2 left-1/2 z-50 w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 overflow-hidden rounded-lg bg-white px-4 pt-5 pb-4 text-left shadow-xl sm:max-w-lg",
1324
1254
  t.wrapperClass
1325
1255
  ));
1326
- return (n, a) => {
1327
- const i = j("Button");
1328
- return u(), g(ds, A({ persistent: n.persistent }, r), {
1329
- default: f(({ close: o }) => [
1330
- m(ms, { class: "fixed inset-0 bg-gray-500/75" }),
1331
- m(ps, {
1332
- class: H(s.value)
1333
- }, {
1334
- default: f(() => [
1335
- n.persistent ? E("", !0) : (u(), b("div", hs, [
1336
- m(i, {
1337
- variant: "ghost",
1338
- size: "icon",
1339
- onClick: (l) => o()
1340
- }, {
1341
- default: f(() => [
1342
- v("span", gs, k(n.$td("ui.close", "Close")), 1),
1343
- m(c(us), { class: "size-3 text-gray-400" })
1344
- ]),
1345
- _: 2
1346
- }, 1032, ["onClick"])
1347
- ])),
1348
- n.title ? (u(), g(fs, {
1349
- key: 1,
1350
- class: "text-base font-semibold text-gray-900"
1256
+ return r({ close: async () => {
1257
+ var o;
1258
+ return (o = s.value) == null ? void 0 : o.close();
1259
+ } }), (o, u) => (l(), h(is, I(e, {
1260
+ ref_key: "$modal",
1261
+ ref: s,
1262
+ persistent: o.persistent
1263
+ }), {
1264
+ default: f(({ close: c }) => [
1265
+ m(us, { class: "fixed inset-0 bg-gray-500/75" }),
1266
+ m(ls, {
1267
+ class: P(a.value)
1268
+ }, {
1269
+ default: f(() => [
1270
+ !o.persistent && o.dismissable ? (l(), v("div", ds, [
1271
+ m(V, {
1272
+ variant: "ghost",
1273
+ size: "icon",
1274
+ onClick: (d) => c()
1351
1275
  }, {
1352
1276
  default: f(() => [
1353
- m(T, {
1354
- text: n.title,
1355
- inline: ""
1356
- }, null, 8, ["text"])
1277
+ y("span", ps, x(o.$td("ui.close", "Close")), 1),
1278
+ m(i(Xr), { class: "size-3 text-gray-400" })
1357
1279
  ]),
1358
- _: 1
1359
- })) : E("", !0),
1360
- v("div", {
1361
- class: H(e.value)
1362
- }, [
1363
- y(n.$slots, "default", { close: o })
1364
- ], 2)
1365
- ]),
1366
- _: 2
1367
- }, 1032, ["class"])
1368
- ]),
1369
- _: 3
1370
- }, 16, ["persistent"]);
1371
- };
1280
+ _: 2
1281
+ }, 1032, ["onClick"])
1282
+ ])) : M("", !0),
1283
+ o.title ? (l(), h(cs, {
1284
+ key: 1,
1285
+ class: "text-base font-semibold text-gray-900"
1286
+ }, {
1287
+ default: f(() => [
1288
+ m(R, {
1289
+ text: o.title,
1290
+ inline: ""
1291
+ }, null, 8, ["text"])
1292
+ ]),
1293
+ _: 1
1294
+ })) : M("", !0),
1295
+ y("div", {
1296
+ class: P(n.value)
1297
+ }, [
1298
+ w(o.$slots, "default", { close: c })
1299
+ ], 2)
1300
+ ]),
1301
+ _: 2
1302
+ }, 1032, ["class"])
1303
+ ]),
1304
+ _: 3
1305
+ }, 16, ["persistent"]));
1372
1306
  }
1373
- }), vs = /* @__PURE__ */ h({
1307
+ }), ms = /* @__PURE__ */ g({
1374
1308
  __name: "AlertModal",
1375
1309
  props: {
1376
1310
  title: {},
1377
1311
  message: {}
1378
1312
  },
1379
1313
  setup(t) {
1380
- return (r, e) => (u(), g(le, { title: r.title }, {
1314
+ return (r, e) => (l(), h(ne, { title: r.title }, {
1381
1315
  default: f(() => [
1382
- m(T, { text: r.message }, null, 8, ["text"])
1316
+ m(R, { text: r.message }, null, 8, ["text"])
1383
1317
  ]),
1384
1318
  _: 1
1385
1319
  }, 8, ["title"]));
1386
1320
  }
1387
- }), st = /* @__PURE__ */ h({
1321
+ }), tt = /* @__PURE__ */ g({
1388
1322
  __name: "Form",
1389
1323
  props: {
1390
1324
  form: {}
@@ -1393,37 +1327,37 @@ const ds = /* @__PURE__ */ h({
1393
1327
  setup(t, { emit: r }) {
1394
1328
  let e;
1395
1329
  const s = r;
1396
- return Be((n) => {
1330
+ return Me((n) => {
1397
1331
  var a;
1398
1332
  e == null || e(), e = (a = t.form) == null ? void 0 : a.on("submit", () => s("submit")), n(() => e == null ? void 0 : e());
1399
- }), fe("form", t.form), (n, a) => (u(), b("form", {
1400
- onSubmit: a[0] || (a[0] = gt((i) => {
1401
- var o;
1402
- return (o = n.form) == null ? void 0 : o.submit();
1333
+ }), ce("form", t.form), (n, a) => (l(), v("form", {
1334
+ onSubmit: a[0] || (a[0] = qe((o) => {
1335
+ var u;
1336
+ return (u = n.form) == null ? void 0 : u.submit();
1403
1337
  }, ["prevent"]))
1404
1338
  }, [
1405
- y(n.$slots, "default")
1339
+ w(n.$slots, "default")
1406
1340
  ], 32));
1407
1341
  }
1408
- }), bs = {
1342
+ }), fs = {
1409
1343
  required: (t) => t ? void 0 : "required"
1410
- }, ce = { ...bs };
1411
- function wa(t, r) {
1412
- ce[t] = r;
1344
+ }, ae = { ...fs };
1345
+ function Ea(t, r) {
1346
+ ae[t] = r;
1413
1347
  }
1414
- function _s(t, r) {
1348
+ function hs(t, r) {
1415
1349
  var s;
1416
- const e = (s = ce[r]) == null ? void 0 : s.call(ce, t);
1417
- return e ? Ge(e) : [];
1350
+ const e = (s = ae[r]) == null ? void 0 : s.call(ae, t);
1351
+ return e ? Ue(e) : [];
1418
1352
  }
1419
- const q = {
1353
+ const B = {
1420
1354
  String: "string",
1421
1355
  Number: "number",
1422
1356
  Boolean: "boolean",
1423
1357
  Object: "object",
1424
1358
  Date: "date"
1425
1359
  }, Re = /* @__PURE__ */ new WeakMap();
1426
- class ys extends Ue {
1360
+ class gs extends Fe {
1427
1361
  constructor(e) {
1428
1362
  super();
1429
1363
  _(this, "errors");
@@ -1432,10 +1366,10 @@ class ys extends Ue {
1432
1366
  _(this, "_submitted");
1433
1367
  _(this, "_errors");
1434
1368
  _(this, "_listeners", {});
1435
- this._fields = e, this._submitted = I(!1), this._data = this.getInitialData(e), this._errors = this.getInitialErrors(e), Re.set(
1369
+ this._fields = e, this._submitted = H(!1), this._data = this.getInitialData(e), this._errors = this.getInitialErrors(e), Re.set(
1436
1370
  this,
1437
- d(() => !Object.values(this._errors).some((s) => s !== null))
1438
- ), this.errors = De(this._errors);
1371
+ p(() => !Object.values(this._errors).some((s) => s !== null))
1372
+ ), this.errors = Ee(this._errors);
1439
1373
  }
1440
1374
  get valid() {
1441
1375
  var e;
@@ -1445,8 +1379,8 @@ class ys extends Ue {
1445
1379
  return this._submitted.value;
1446
1380
  }
1447
1381
  setFieldValue(e, s) {
1448
- const n = this._fields[e] ?? O(`Trying to set undefined '${V(e)}' field`);
1449
- this._data[e] = n.type === q.String && (n.trim ?? !0) ? V(s).trim() : s, this._submitted.value && this.validate();
1382
+ const n = this._fields[e] ?? W(`Trying to set undefined '${z(e)}' field`);
1383
+ this._data[e] = n.type === B.String && (n.trim ?? !0) ? z(s).trim() : s, this._submitted.value && this.validate();
1450
1384
  }
1451
1385
  getFieldValue(e) {
1452
1386
  return this._data[e];
@@ -1479,11 +1413,11 @@ class ys extends Ue {
1479
1413
  return (n = this._listeners)[e] ?? (n[e] = []), (a = this._listeners[e]) == null || a.push(s), () => this.off(e, s);
1480
1414
  }
1481
1415
  off(e, s) {
1482
- $e(this._listeners[e] ?? [], s);
1416
+ we(this._listeners[e] ?? [], s);
1483
1417
  }
1484
1418
  async focus(e) {
1485
1419
  var s;
1486
- await Ve(), (s = this._listeners.focus) == null || s.forEach((n) => n(e));
1420
+ await ze(), (s = this._listeners.focus) == null || s.forEach((n) => n(e));
1487
1421
  }
1488
1422
  __get(e) {
1489
1423
  return e in this._fields ? this.getFieldValue(e) : super.__get(e);
@@ -1496,23 +1430,23 @@ class ys extends Ue {
1496
1430
  this.setFieldValue(e, s);
1497
1431
  }
1498
1432
  getFieldErrors(e, s) {
1499
- var o;
1500
- const n = [], a = this._data[e], i = ((o = s.rules) == null ? void 0 : o.split("|")) ?? [];
1501
- for (const l of i)
1502
- l !== "required" && a == null || n.push(..._s(a, l));
1433
+ var u;
1434
+ const n = [], a = this._data[e], o = ((u = s.rules) == null ? void 0 : u.split("|")) ?? [];
1435
+ for (const c of o)
1436
+ c !== "required" && a == null || n.push(...hs(a, c));
1503
1437
  return n.length > 0 ? n : null;
1504
1438
  }
1505
1439
  getInitialData(e) {
1506
1440
  if (this.static().isConjuring())
1507
1441
  return {};
1508
- const s = Object.entries(e).reduce((n, [a, i]) => (n[a] = i.default ?? null, n), {});
1509
- return ue(s);
1442
+ const s = Object.entries(e).reduce((n, [a, o]) => (n[a] = o.default ?? null, n), {});
1443
+ return oe(s);
1510
1444
  }
1511
1445
  getInitialErrors(e) {
1512
1446
  if (this.static().isConjuring())
1513
1447
  return {};
1514
1448
  const s = Object.keys(e).reduce((n, a) => (n[a] = null, n), {});
1515
- return ue(s);
1449
+ return oe(s);
1516
1450
  }
1517
1451
  resetData() {
1518
1452
  for (const [e, s] of Object.entries(this._fields))
@@ -1522,85 +1456,85 @@ class ys extends Ue {
1522
1456
  Object.keys(this._errors).forEach((s) => delete this._errors[s]), e && Object.assign(this._errors, e);
1523
1457
  }
1524
1458
  }
1525
- function nt(t) {
1526
- return new ys(t);
1459
+ function rt(t) {
1460
+ return new gs(t);
1527
1461
  }
1528
- function $a(t, r = {}) {
1462
+ function Pa(t, r = {}) {
1529
1463
  return {
1530
1464
  default: t,
1531
- type: q.Boolean,
1465
+ type: B.Boolean,
1532
1466
  rules: r.rules
1533
1467
  };
1534
1468
  }
1535
- function xa(t, r = {}) {
1469
+ function Ha(t, r = {}) {
1536
1470
  return {
1537
1471
  default: t,
1538
- type: q.Date,
1472
+ type: B.Date,
1539
1473
  rules: r.rules
1540
1474
  };
1541
1475
  }
1542
- function Sa(t) {
1476
+ function Ia(t) {
1543
1477
  return {
1544
1478
  default: t,
1545
- type: q.Boolean,
1479
+ type: B.Boolean,
1546
1480
  rules: "required"
1547
1481
  };
1548
1482
  }
1549
- function ka(t) {
1483
+ function La(t) {
1550
1484
  return {
1551
1485
  default: t,
1552
- type: q.Date,
1486
+ type: B.Date,
1553
1487
  rules: "required"
1554
1488
  };
1555
1489
  }
1556
- function Ca(t) {
1490
+ function Ta(t) {
1557
1491
  return {
1558
1492
  default: t,
1559
- type: q.Number,
1493
+ type: B.Number,
1560
1494
  rules: "required"
1561
1495
  };
1562
1496
  }
1563
- function ws(t) {
1497
+ function vs(t) {
1564
1498
  return {
1565
1499
  default: t,
1566
- type: q.String,
1500
+ type: B.String,
1567
1501
  rules: "required"
1568
1502
  };
1569
1503
  }
1570
- function Ma(t, r = {}) {
1504
+ function Va(t, r = {}) {
1571
1505
  return {
1572
1506
  default: t,
1573
- type: q.Number,
1507
+ type: B.Number,
1574
1508
  rules: r.rules
1575
1509
  };
1576
1510
  }
1577
- function Ea(t, r = {}) {
1511
+ function ja(t, r = {}) {
1578
1512
  return {
1579
1513
  default: t,
1580
- type: q.String,
1514
+ type: B.String,
1581
1515
  rules: r.rules
1582
1516
  };
1583
1517
  }
1584
- function $s(t) {
1585
- const r = nt(
1518
+ function bs(t) {
1519
+ const r = rt(
1586
1520
  Object.entries(t.checkboxes ?? {}).reduce(
1587
- (n, [a, i]) => ({
1521
+ (n, [a, o]) => ({
1588
1522
  [a]: {
1589
- type: q.Boolean,
1590
- default: i.default,
1591
- required: i.required ? "required" : void 0
1523
+ type: B.Boolean,
1524
+ default: o.default,
1525
+ required: o.required ? "required" : void 0
1592
1526
  },
1593
1527
  ...n
1594
1528
  }),
1595
1529
  {}
1596
1530
  )
1597
- ), e = d(() => t.acceptText ?? $("ui.accept", "Ok")), s = d(() => t.cancelText ?? $("ui.cancel", "Cancel"));
1531
+ ), e = p(() => t.acceptText ?? C("ui.accept", "Ok")), s = p(() => t.cancelText ?? C("ui.cancel", "Cancel"));
1598
1532
  return { form: r, renderedAcceptText: e, renderedCancelText: s };
1599
1533
  }
1600
- const xs = {
1534
+ const ys = {
1601
1535
  key: 0,
1602
1536
  class: "mt-4 flex flex-col text-sm text-gray-600"
1603
- }, Ss = { class: "flex items-center" }, ks = ["onUpdate:modelValue", "required"], Cs = { class: "ml-1.5" }, Ms = { class: "mt-4 flex flex-row-reverse gap-2" }, Es = /* @__PURE__ */ h({
1537
+ }, _s = { class: "flex items-center" }, ws = ["onUpdate:modelValue", "required"], $s = { class: "ml-1.5" }, xs = { class: "mt-4 flex flex-row-reverse gap-2" }, Cs = /* @__PURE__ */ g({
1604
1538
  __name: "ConfirmModal",
1605
1539
  props: {
1606
1540
  title: {},
@@ -1614,53 +1548,53 @@ const xs = {
1614
1548
  required: { type: Boolean }
1615
1549
  },
1616
1550
  setup(t) {
1617
- const r = Y(t, ["cancelVariant"]), { form: e, renderedAcceptText: s, renderedCancelText: n } = $s(r);
1618
- return (a, i) => (u(), g(le, {
1551
+ const r = Z(t, ["cancelVariant"]), { form: e, renderedAcceptText: s, renderedCancelText: n } = bs(r);
1552
+ return (a, o) => (l(), h(ne, {
1619
1553
  title: a.title,
1620
1554
  persistent: ""
1621
1555
  }, {
1622
- default: f(({ close: o }) => [
1623
- m(st, {
1624
- form: c(e),
1625
- onSubmit: (l) => o([!0, c(e).data()])
1556
+ default: f(({ close: u }) => [
1557
+ m(tt, {
1558
+ form: i(e),
1559
+ onSubmit: (c) => u([!0, i(e).data()])
1626
1560
  }, {
1627
1561
  default: f(() => [
1628
- m(T, {
1562
+ m(R, {
1629
1563
  text: a.message,
1630
1564
  actions: a.actions
1631
1565
  }, null, 8, ["text", "actions"]),
1632
- a.checkboxes ? (u(), b("ul", xs, [
1633
- (u(!0), b(ee, null, ie(a.checkboxes, (l, p) => (u(), b("li", { key: p }, [
1634
- v("label", Ss, [
1635
- Fe(v("input", {
1636
- "onUpdate:modelValue": (w) => c(e)[p] = w,
1566
+ a.checkboxes ? (l(), v("ul", ys, [
1567
+ (l(!0), v(q, null, U(a.checkboxes, (c, d) => (l(), v("li", { key: d }, [
1568
+ y("label", _s, [
1569
+ De(y("input", {
1570
+ "onUpdate:modelValue": (b) => i(e)[d] = b,
1637
1571
  type: "checkbox",
1638
- required: l.required,
1572
+ required: c.required,
1639
1573
  class: "border-primary text-primary hover:bg-primary/10 hover:checked:bg-primary/80 focus:ring-primary focus-visible:ring-primary rounded border-2"
1640
- }, null, 8, ks), [
1641
- [vt, c(e)[p]]
1574
+ }, null, 8, ws), [
1575
+ [yt, i(e)[d]]
1642
1576
  ]),
1643
- v("span", Cs, k(l.label), 1)
1577
+ y("span", $s, x(c.label), 1)
1644
1578
  ])
1645
1579
  ]))), 128))
1646
- ])) : E("", !0),
1647
- v("div", Ms, [
1648
- m(L, {
1580
+ ])) : M("", !0),
1581
+ y("div", xs, [
1582
+ m(V, {
1649
1583
  variant: a.acceptVariant,
1650
1584
  submit: ""
1651
1585
  }, {
1652
1586
  default: f(() => [
1653
- B(k(c(s)), 1)
1587
+ A(x(i(s)), 1)
1654
1588
  ]),
1655
1589
  _: 1
1656
1590
  }, 8, ["variant"]),
1657
- a.required ? E("", !0) : (u(), g(L, {
1591
+ a.required ? M("", !0) : (l(), h(V, {
1658
1592
  key: 0,
1659
1593
  variant: a.cancelVariant,
1660
- onClick: (l) => o(!1)
1594
+ onClick: (c) => u(!1)
1661
1595
  }, {
1662
1596
  default: f(() => [
1663
- B(k(c(n)), 1)
1597
+ A(x(i(n)), 1)
1664
1598
  ]),
1665
1599
  _: 2
1666
1600
  }, 1032, ["variant", "onClick"]))
@@ -1672,130 +1606,128 @@ const xs = {
1672
1606
  _: 1
1673
1607
  }, 8, ["title"]));
1674
1608
  }
1675
- }), Ps = {
1609
+ }), ks = {
1676
1610
  viewBox: "0 0 20 20",
1677
1611
  width: "1.2em",
1678
1612
  height: "1.2em"
1679
1613
  };
1680
- function Is(t, r) {
1681
- return u(), b("svg", Ps, r[0] || (r[0] = [
1682
- v("path", {
1614
+ function Ss(t, r) {
1615
+ return l(), v("svg", ks, r[0] || (r[0] = [
1616
+ y("path", {
1683
1617
  fill: "currentColor",
1684
1618
  d: "M7.05 9.293L6.343 10L12 15.657l1.414-1.414L9.172 10l4.242-4.243L12 4.343z"
1685
1619
  }, null, -1)
1686
1620
  ]));
1687
1621
  }
1688
- const As = { name: "zondicons-cheveron-left", render: Is }, Hs = {
1622
+ const Ms = { name: "zondicons-cheveron-left", render: Ss }, Es = {
1689
1623
  viewBox: "0 0 20 20",
1690
1624
  width: "1.2em",
1691
1625
  height: "1.2em"
1692
1626
  };
1693
- function Ls(t, r) {
1694
- return u(), b("svg", Hs, r[0] || (r[0] = [
1695
- v("path", {
1627
+ function Ps(t, r) {
1628
+ return l(), v("svg", Es, r[0] || (r[0] = [
1629
+ y("path", {
1696
1630
  fill: "currentColor",
1697
1631
  d: "m12.95 10.707l.707-.707L8 4.343L6.586 5.757L10.828 10l-4.242 4.243L8 15.657z"
1698
1632
  }, null, -1)
1699
1633
  ]));
1700
1634
  }
1701
- const Ts = { name: "zondicons-cheveron-right", render: Ls }, js = {
1635
+ const st = { name: "zondicons-cheveron-right", render: Ps }, Hs = {
1702
1636
  viewBox: "0 0 20 20",
1703
1637
  width: "1.2em",
1704
1638
  height: "1.2em"
1705
1639
  };
1706
- function Rs(t, r) {
1707
- return u(), b("svg", js, r[0] || (r[0] = [
1708
- v("path", {
1640
+ function Is(t, r) {
1641
+ return l(), v("svg", Hs, r[0] || (r[0] = [
1642
+ y("path", {
1709
1643
  fill: "currentColor",
1710
1644
  d: "M2.93 17.07A10 10 0 1 1 17.07 2.93A10 10 0 0 1 2.93 17.07M9 5v6h2V5zm0 8v2h2v-2z"
1711
1645
  }, null, -1)
1712
1646
  ]));
1713
1647
  }
1714
- const at = { name: "zondicons-exclamation-solid", render: Rs }, Vs = {
1648
+ const nt = { name: "zondicons-exclamation-solid", render: Is }, Ls = {
1715
1649
  viewBox: "0 0 24 24",
1716
1650
  width: "1.2em",
1717
1651
  height: "1.2em"
1718
1652
  };
1719
- function zs(t, r) {
1720
- return u(), b("svg", Vs, r[0] || (r[0] = [
1721
- v("path", {
1653
+ function Ts(t, r) {
1654
+ return l(), v("svg", Ls, r[0] || (r[0] = [
1655
+ y("path", {
1722
1656
  fill: "currentColor",
1723
1657
  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"
1724
1658
  }, null, -1)
1725
1659
  ]));
1726
1660
  }
1727
- const qs = { name: "mdi-console", render: zs }, Bs = {
1661
+ const Vs = { name: "mdi-console", render: Ts }, js = {
1728
1662
  viewBox: "0 0 20 20",
1729
1663
  width: "1.2em",
1730
1664
  height: "1.2em"
1731
1665
  };
1732
- function Ds(t, r) {
1733
- return u(), b("svg", Bs, r[0] || (r[0] = [
1734
- v("path", {
1666
+ function As(t, r) {
1667
+ return l(), v("svg", js, r[0] || (r[0] = [
1668
+ y("path", {
1735
1669
  fill: "currentColor",
1736
1670
  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"
1737
1671
  }, null, -1)
1738
1672
  ]));
1739
1673
  }
1740
- const Fs = { name: "zondicons-copy", render: Ds }, Us = {
1674
+ const Rs = { name: "zondicons-copy", render: As }, zs = {
1741
1675
  viewBox: "0 0 24 24",
1742
1676
  width: "1.2em",
1743
1677
  height: "1.2em"
1744
1678
  };
1745
- function Gs(t, r) {
1746
- return u(), b("svg", Us, r[0] || (r[0] = [
1747
- v("path", {
1679
+ function Bs(t, r) {
1680
+ return l(), v("svg", zs, r[0] || (r[0] = [
1681
+ y("path", {
1748
1682
  fill: "currentColor",
1749
1683
  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"
1750
1684
  }, null, -1)
1751
1685
  ]));
1752
1686
  }
1753
- const Ns = { name: "mdi-github", render: Gs }, Ws = { class: "flex" }, Os = { class: "sr-only" }, Ks = /* @__PURE__ */ h({
1687
+ const qs = { name: "mdi-github", render: Bs }, Ds = { class: "flex" }, Fs = { class: "sr-only" }, Us = /* @__PURE__ */ g({
1754
1688
  __name: "ErrorReportModalButtons",
1755
1689
  props: {
1756
1690
  report: {}
1757
1691
  },
1758
1692
  setup(t) {
1759
- const r = t, e = d(() => r.report.description ? `${r.report.title}: ${r.report.description}` : r.report.title), s = d(() => {
1760
- if (!G.sourceUrl)
1693
+ const r = t, e = p(() => r.report.description ? `${r.report.title}: ${r.report.description}` : r.report.title), s = p(() => {
1694
+ if (!F.sourceUrl)
1761
1695
  return !1;
1762
- const a = encodeURIComponent(e.value), i = encodeURIComponent(
1696
+ const a = encodeURIComponent(e.value), o = encodeURIComponent(
1763
1697
  [
1764
1698
  "[Please, explain here what you were trying to do when this error appeared]",
1765
1699
  "",
1766
1700
  "Error details:",
1767
1701
  "```",
1768
- At(
1702
+ Tt(
1769
1703
  r.report.details ?? "Details missing from report",
1770
- 1800 - a.length - G.sourceUrl.length
1704
+ 1800 - a.length - F.sourceUrl.length
1771
1705
  ).trim(),
1772
1706
  "```"
1773
1707
  ].join(`
1774
1708
  `)
1775
1709
  );
1776
- return `${G.sourceUrl}/issues/new?title=${a}&body=${i}`;
1777
- }), n = d(() => K(
1710
+ return `${F.sourceUrl}/issues/new?title=${a}&body=${o}`;
1711
+ }), n = p(() => K(
1778
1712
  [
1779
1713
  {
1780
1714
  id: "clipboard",
1781
1715
  description: "Copy to clipboard",
1782
- iconComponent: Fs,
1783
- async handler() {
1716
+ iconComponent: Rs,
1717
+ async click() {
1784
1718
  await navigator.clipboard.writeText(`${e.value}
1785
1719
 
1786
- ${r.report.details}`), P.showSnackbar(
1787
- $("errors.copiedToClipboard", "Debug information copied to clipboard")
1788
- );
1720
+ ${r.report.details}`), L.toast(C("errors.copiedToClipboard", "Debug information copied to clipboard"));
1789
1721
  }
1790
1722
  },
1791
1723
  {
1792
1724
  id: "console",
1793
1725
  description: "Log to console",
1794
- iconComponent: qs,
1795
- handler() {
1726
+ iconComponent: Vs,
1727
+ click() {
1796
1728
  const a = r.report.error ?? r.report;
1797
- window.error = a, console.error(a), P.showSnackbar(
1798
- $(
1729
+ window.error = a, console.error(a), L.toast(
1730
+ C(
1799
1731
  "errors.addedToConsole",
1800
1732
  "You can now use the **error** variable in the console"
1801
1733
  )
@@ -1807,24 +1739,24 @@ ${r.report.details}`), P.showSnackbar(
1807
1739
  s.value && a.push({
1808
1740
  id: "github",
1809
1741
  description: "Report in GitHub",
1810
- iconComponent: Ns,
1742
+ iconComponent: qs,
1811
1743
  url: s.value
1812
1744
  });
1813
1745
  }
1814
1746
  ));
1815
- return (a, i) => (u(), b("div", Ws, [
1816
- (u(!0), b(ee, null, ie(n.value, (o) => y(a.$slots, "default", A({ ref_for: !0 }, o), () => [
1817
- m(L, {
1747
+ return (a, o) => (l(), v("div", Ds, [
1748
+ (l(!0), v(q, null, U(n.value, (u) => w(a.$slots, "default", I({ ref_for: !0 }, u), () => [
1749
+ m(V, {
1818
1750
  size: "icon",
1819
1751
  variant: "ghost",
1820
1752
  class: "group whitespace-nowrap",
1821
- href: o.url,
1822
- title: a.$td(`errors.report_${o.id}`, o.description),
1823
- onClick: o.handler
1753
+ href: u.url,
1754
+ title: a.$td(`errors.report_${u.id}`, u.description),
1755
+ onClick: u.click
1824
1756
  }, {
1825
1757
  default: f(() => [
1826
- v("span", Os, k(a.$td(`errors.report_${o.id}`, o.description)), 1),
1827
- (u(), g(te(o.iconComponent), {
1758
+ y("span", Fs, x(a.$td(`errors.report_${u.id}`, u.description)), 1),
1759
+ (l(), h(X(u.iconComponent), {
1828
1760
  class: "size-4",
1829
1761
  "aria-hidden": "true"
1830
1762
  }))
@@ -1834,7 +1766,7 @@ ${r.report.details}`), P.showSnackbar(
1834
1766
  ])), 256))
1835
1767
  ]));
1836
1768
  }
1837
- }), Qs = /* @__PURE__ */ h({
1769
+ }), Ns = /* @__PURE__ */ g({
1838
1770
  __name: "ErrorReportModalTitle",
1839
1771
  props: {
1840
1772
  report: {},
@@ -1842,20 +1774,20 @@ ${r.report.details}`), P.showSnackbar(
1842
1774
  totalReports: {}
1843
1775
  },
1844
1776
  setup(t) {
1845
- const r = d(() => !t.totalReports || t.totalReports <= 1 ? t.report.title : `${t.report.title} (${t.currentReport}/${t.totalReports})`);
1846
- return (e, s) => (u(), g(T, {
1777
+ const r = p(() => !t.totalReports || t.totalReports <= 1 ? t.report.title : `${t.report.title} (${t.currentReport}/${t.totalReports})`);
1778
+ return (e, s) => (l(), h(R, {
1847
1779
  text: r.value,
1848
1780
  inline: ""
1849
1781
  }, null, 8, ["text"]));
1850
1782
  }
1851
1783
  });
1852
- function Js(t) {
1853
- const r = I(0), e = d(() => t.reports[r.value]), s = d(
1784
+ function Os(t) {
1785
+ const r = H(0), e = p(() => t.reports[r.value]), s = p(
1854
1786
  () => {
1855
- var i;
1856
- return ((i = e.value.details) == null ? void 0 : i.trim()) || $("errors.detailsEmpty", "This error is missing a stacktrace.");
1787
+ var o;
1788
+ return ((o = e.value.details) == null ? void 0 : o.trim()) || C("errors.detailsEmpty", "This error is missing a stacktrace.");
1857
1789
  }
1858
- ), n = $("errors.previousReport", "Show previous report"), a = $("errors.nextReport", "Show next report");
1790
+ ), n = C("errors.previousReport", "Show previous report"), a = C("errors.nextReport", "Show next report");
1859
1791
  return {
1860
1792
  activeReportIndex: r,
1861
1793
  details: s,
@@ -1864,95 +1796,95 @@ function Js(t) {
1864
1796
  report: e
1865
1797
  };
1866
1798
  }
1867
- const Zs = { class: "px-4 pt-5 pb-4" }, Xs = { class: "flex justify-between gap-4" }, Ys = { class: "flex items-center gap-2" }, en = {
1799
+ const Ws = { class: "px-4 pt-5 pb-4" }, Ks = { class: "flex justify-between gap-4" }, Js = { class: "flex items-center gap-2" }, Qs = {
1868
1800
  key: 0,
1869
1801
  class: "flex gap-0.5"
1870
- }, tn = { class: "-mt-2 max-h-[80vh] overflow-auto bg-red-800/10" }, rn = ["textContent"], sn = /* @__PURE__ */ h({
1802
+ }, Gs = { class: "-mt-2 max-h-[80vh] overflow-auto bg-red-800/10" }, Zs = ["textContent"], Xs = /* @__PURE__ */ g({
1871
1803
  __name: "ErrorReportModal",
1872
1804
  props: {
1873
1805
  reports: {}
1874
1806
  },
1875
1807
  setup(t) {
1876
- const r = t, { activeReportIndex: e, details: s, nextReportText: n, previousReportText: a, report: i } = Js(r);
1877
- return (o, l) => (u(), g(le, { "wrapper-class": "p-0 sm:w-auto sm:min-w-lg sm:max-w-[80vw]" }, {
1808
+ const r = t, { activeReportIndex: e, details: s, nextReportText: n, previousReportText: a, report: o } = Os(r);
1809
+ return (u, c) => (l(), h(ne, { "wrapper-class": "p-0 sm:w-auto sm:min-w-lg sm:max-w-[80vw]" }, {
1878
1810
  default: f(() => [
1879
- v("div", Zs, [
1880
- v("h2", Xs, [
1881
- v("div", Ys, [
1882
- m(c(at), { class: "size-5 text-red-600" }),
1883
- m(Qs, {
1811
+ y("div", Ws, [
1812
+ y("h2", Ks, [
1813
+ y("div", Js, [
1814
+ m(i(nt), { class: "size-5 text-red-600" }),
1815
+ m(Ns, {
1884
1816
  class: "text-lg leading-6 font-semibold text-gray-900",
1885
- report: c(i),
1886
- "current-report": c(e) + 1,
1887
- "total-reports": o.reports.length
1817
+ report: i(o),
1818
+ "current-report": i(e) + 1,
1819
+ "total-reports": u.reports.length
1888
1820
  }, null, 8, ["report", "current-report", "total-reports"]),
1889
- o.reports.length > 1 ? (u(), b("span", en, [
1890
- m(L, {
1821
+ u.reports.length > 1 ? (l(), v("span", Qs, [
1822
+ m(V, {
1891
1823
  size: "icon",
1892
1824
  variant: "ghost",
1893
- disabled: c(e) === 0,
1894
- "aria-label": c(a),
1895
- title: c(a),
1896
- onClick: l[0] || (l[0] = (p) => e.value--)
1825
+ disabled: i(e) === 0,
1826
+ "aria-label": i(a),
1827
+ title: i(a),
1828
+ onClick: c[0] || (c[0] = (d) => e.value--)
1897
1829
  }, {
1898
1830
  default: f(() => [
1899
- m(c(As), { class: "size-4" })
1831
+ m(i(Ms), { class: "size-4" })
1900
1832
  ]),
1901
1833
  _: 1
1902
1834
  }, 8, ["disabled", "aria-label", "title"]),
1903
- m(L, {
1835
+ m(V, {
1904
1836
  size: "icon",
1905
1837
  variant: "ghost",
1906
- disabled: c(e) === o.reports.length - 1,
1907
- "aria-label": c(n),
1908
- title: c(n),
1909
- onClick: l[1] || (l[1] = (p) => e.value++)
1838
+ disabled: i(e) === u.reports.length - 1,
1839
+ "aria-label": i(n),
1840
+ title: i(n),
1841
+ onClick: c[1] || (c[1] = (d) => e.value++)
1910
1842
  }, {
1911
1843
  default: f(() => [
1912
- m(c(Ts), { class: "size-4" })
1844
+ m(i(st), { class: "size-4" })
1913
1845
  ]),
1914
1846
  _: 1
1915
1847
  }, 8, ["disabled", "aria-label", "title"])
1916
- ])) : E("", !0)
1848
+ ])) : M("", !0)
1917
1849
  ]),
1918
- m(Ks, {
1919
- report: c(i),
1850
+ m(Us, {
1851
+ report: i(o),
1920
1852
  class: "gap-0.5"
1921
1853
  }, null, 8, ["report"])
1922
1854
  ]),
1923
- c(i).description ? (u(), g(T, {
1855
+ i(o).description ? (l(), h(R, {
1924
1856
  key: 0,
1925
- text: c(i).description,
1857
+ text: i(o).description,
1926
1858
  class: "text-gray-600"
1927
- }, null, 8, ["text"])) : E("", !0)
1859
+ }, null, 8, ["text"])) : M("", !0)
1928
1860
  ]),
1929
- v("div", tn, [
1930
- v("pre", {
1861
+ y("div", Gs, [
1862
+ y("pre", {
1931
1863
  class: "p-4 text-xs text-red-800",
1932
- textContent: k(c(s))
1933
- }, null, 8, rn)
1864
+ textContent: x(i(s))
1865
+ }, null, 8, Zs)
1934
1866
  ])
1935
1867
  ]),
1936
1868
  _: 1
1937
1869
  }));
1938
1870
  }
1939
- }), nn = {
1871
+ }), Ys = {
1940
1872
  viewBox: "0 0 24 24",
1941
1873
  width: "1.2em",
1942
1874
  height: "1.2em"
1943
1875
  };
1944
- function an(t, r) {
1945
- return u(), b("svg", nn, r[0] || (r[0] = [
1946
- v("path", {
1876
+ function en(t, r) {
1877
+ return l(), v("svg", Ys, r[0] || (r[0] = [
1878
+ y("path", {
1947
1879
  fill: "currentColor",
1948
1880
  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",
1949
1881
  opacity: ".25"
1950
1882
  }, null, -1),
1951
- v("path", {
1883
+ y("path", {
1952
1884
  fill: "currentColor",
1953
1885
  d: "M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z"
1954
1886
  }, [
1955
- v("animateTransform", {
1887
+ y("animateTransform", {
1956
1888
  attributeName: "transform",
1957
1889
  dur: "0.75s",
1958
1890
  repeatCount: "indefinite",
@@ -1962,7 +1894,7 @@ function an(t, r) {
1962
1894
  ], -1)
1963
1895
  ]));
1964
1896
  }
1965
- const on = { name: "svg-spinners-90-ring-with-bg", render: an }, ln = { class: "mt-1 h-2 w-full overflow-hidden rounded-full bg-gray-200" }, cn = { class: "sr-only" }, un = /* @__PURE__ */ h({
1897
+ const tn = { name: "svg-spinners-90-ring-with-bg", render: en }, rn = { class: "mt-1 h-2 w-full overflow-hidden rounded-full bg-gray-200" }, sn = { class: "sr-only" }, nn = /* @__PURE__ */ g({
1966
1898
  __name: "ProgressBar",
1967
1899
  props: {
1968
1900
  filledClass: {},
@@ -1971,30 +1903,30 @@ const on = { name: "svg-spinners-90-ring-with-bg", render: an }, ln = { class: "
1971
1903
  },
1972
1904
  setup(t) {
1973
1905
  let r;
1974
- const e = I(0), s = d(() => N("size-full transition-transform duration-500 rounded-r-full ease-linear bg-primary", t.filledClass)), n = d(() => typeof t.progress == "number" ? t.progress : e.value);
1975
- return Se(
1906
+ const e = H(0), s = p(() => T("size-full transition-transform duration-500 rounded-r-full ease-linear bg-primary", t.filledClass)), n = p(() => typeof t.progress == "number" ? t.progress : e.value);
1907
+ return ke(
1976
1908
  () => t.job,
1977
1909
  () => {
1978
- var a, i;
1979
- r == null || r(), e.value = ((a = t.job) == null ? void 0 : a.progress) ?? 0, r = (i = t.job) == null ? void 0 : i.listeners.add({ onUpdated: (o) => e.value = o });
1910
+ var a, o;
1911
+ r == null || r(), e.value = ((a = t.job) == null ? void 0 : a.progress) ?? 0, r = (o = t.job) == null ? void 0 : o.listeners.add({ onUpdated: (u) => e.value = u });
1980
1912
  },
1981
1913
  { immediate: !0 }
1982
- ), oe(() => r == null ? void 0 : r()), (a, i) => (u(), b("div", ln, [
1983
- v("div", {
1984
- class: H(s.value),
1985
- style: bt(`transform:translateX(-${(1 - n.value) * 100}%)`)
1914
+ ), ue(() => r == null ? void 0 : r()), (a, o) => (l(), v("div", rn, [
1915
+ y("div", {
1916
+ class: P(s.value),
1917
+ style: _t(`transform:translateX(-${(1 - n.value) * 100}%)`)
1986
1918
  }, null, 6),
1987
- v("span", cn, k(a.$td("ui.progress", "{progress}% complete", {
1919
+ y("span", sn, x(a.$td("ui.progress", "{progress}% complete", {
1988
1920
  progress: n.value * 100
1989
1921
  })), 1)
1990
1922
  ]));
1991
1923
  }
1992
1924
  });
1993
- function dn(t) {
1994
- const r = d(() => t.message ?? $("ui.loading", "Loading...")), e = d(() => typeof t.progress == "number" || !!t.job);
1925
+ function an(t) {
1926
+ const r = p(() => t.message ?? C("ui.loading", "Loading...")), e = p(() => typeof t.progress == "number" || !!t.job);
1995
1927
  return { renderedMessage: r, showProgress: e };
1996
1928
  }
1997
- const pn = /* @__PURE__ */ h({
1929
+ const on = /* @__PURE__ */ g({
1998
1930
  __name: "LoadingModal",
1999
1931
  props: {
2000
1932
  title: {},
@@ -2003,147 +1935,269 @@ const pn = /* @__PURE__ */ h({
2003
1935
  job: {}
2004
1936
  },
2005
1937
  setup(t) {
2006
- const r = t, { renderedMessage: e, showProgress: s } = dn(r);
2007
- return (n, a) => (u(), g(le, {
1938
+ const r = t, { renderedMessage: e, showProgress: s } = an(r);
1939
+ return (n, a) => (l(), h(ne, {
2008
1940
  persistent: "",
2009
- class: H(["flex", { "flex-col-reverse": c(s), "items-center justify-center gap-2": !c(s) }]),
1941
+ class: P(["flex", { "flex-col-reverse": i(s), "items-center justify-center gap-2": !i(s) }]),
2010
1942
  "wrapper-class": "w-auto",
2011
1943
  title: n.title
2012
1944
  }, {
2013
1945
  default: f(() => [
2014
- c(s) ? (u(), g(un, {
1946
+ i(s) ? (l(), h(nn, {
2015
1947
  key: 0,
2016
1948
  progress: n.progress,
2017
1949
  job: n.job,
2018
1950
  class: "min-w-[min(400px,80vw)]"
2019
- }, null, 8, ["progress", "job"])) : (u(), g(c(on), {
1951
+ }, null, 8, ["progress", "job"])) : (l(), h(i(tn), {
2020
1952
  key: 1,
2021
1953
  class: "text-primary mr-1 size-6"
2022
1954
  })),
2023
- m(T, { text: c(e) }, null, 8, ["text"])
1955
+ m(R, { text: i(e) }, null, 8, ["text"])
2024
1956
  ]),
2025
1957
  _: 1
2026
1958
  }, 8, ["title", "class"]));
2027
1959
  }
2028
- });
2029
- function ot() {
2030
- const t = ze(), r = d(() => t.class);
2031
- return [d(() => We(t, "class")), r];
2032
- }
2033
- const mn = {
2034
- key: 0,
2035
- class: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3"
2036
- }, fn = /* @__PURE__ */ h({
2037
- inheritAttrs: !1,
2038
- __name: "Input",
1960
+ }), at = /* @__PURE__ */ g({
1961
+ __name: "HeadlessInput",
2039
1962
  props: {
2040
1963
  name: {},
2041
1964
  label: {},
2042
1965
  description: {},
2043
1966
  modelValue: {},
2044
- inputClass: {},
2045
- wrapperClass: {}
1967
+ as: { default: "div" }
2046
1968
  },
2047
1969
  emits: ["update:modelValue"],
2048
- setup(t) {
2049
- const r = Y(t, ["label", "inputClass", "wrapperClass"]), e = Pe(), [s, n] = ot(), a = d(() => N("relative rounded-md shadow-2xs", { "mt-1": t.label }, t.wrapperClass)), i = d(() => {
2050
- var o, l, p;
2051
- return N(
2052
- // eslint-disable-next-line vue/max-len
2053
- "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",
2054
- {
2055
- "text-gray-900 shadow-2xs ring-gray-300 placeholder:text-gray-400": !((o = e.value) != null && o.errors),
2056
- "hover:ring-1 hover:ring-primary/80 hover:ring-inset focus:ring-primary": !((l = e.value) != null && l.errors),
2057
- "pr-10 text-red-900 ring-red-300 placeholder:text-red-300 focus:ring-red-500": (p = e.value) == null ? void 0 : p.errors
2058
- },
2059
- t.inputClass
2060
- );
2061
- });
2062
- return (o, l) => {
2063
- const p = j("HeadlessInputLabel"), w = j("HeadlessInputInput"), M = j("HeadlessInputDescription"), S = j("HeadlessInputError"), D = j("HeadlessInput");
2064
- return u(), g(D, A({
2065
- ref_key: "$input",
2066
- ref: e,
2067
- label: o.label,
2068
- class: c(n)
2069
- }, r, {
2070
- "onUpdate:modelValue": l[0] || (l[0] = (F) => o.$emit("update:modelValue", F))
2071
- }), {
2072
- default: f(() => {
2073
- var F;
2074
- return [
2075
- m(p, { class: "block text-sm leading-6 font-medium text-gray-900" }),
2076
- v("div", {
2077
- class: H(a.value)
2078
- }, [
2079
- m(w, A(c(s), { class: i.value }), null, 16, ["class"]),
2080
- (F = c(e)) != null && F.errors ? (u(), b("div", mn, [
2081
- m(c(at), { class: "size-5 text-red-500" })
2082
- ])) : E("", !0)
2083
- ], 2),
2084
- m(M, { class: "mt-2 text-sm text-gray-600" }),
2085
- m(S, { class: "mt-2 text-sm text-red-600" })
2086
- ];
2087
- }),
2088
- _: 1
2089
- }, 16, ["label", "class"]);
1970
+ setup(t, { expose: r, emit: e }) {
1971
+ const s = e, n = se("form", null), a = p(() => !n || !t.name ? null : n.errors[t.name] ?? null), o = {
1972
+ id: `input-${te()}`,
1973
+ name: p(() => t.name),
1974
+ label: p(() => t.label),
1975
+ description: p(() => t.description),
1976
+ value: p(() => n && t.name ? n.getFieldValue(t.name) : t.modelValue),
1977
+ errors: Ee(a),
1978
+ required: p(() => {
1979
+ if (!(!t.name || !n))
1980
+ return n.getFieldRules(t.name).includes("required");
1981
+ }),
1982
+ update(u) {
1983
+ if (n && t.name) {
1984
+ n.setFieldValue(t.name, u);
1985
+ return;
1986
+ }
1987
+ s("update:modelValue", u);
1988
+ }
2090
1989
  };
1990
+ return ce("input", o), r(o), (u, c) => (l(), h(X(u.as), null, {
1991
+ default: f(() => [
1992
+ w(u.$slots, "default")
1993
+ ]),
1994
+ _: 3
1995
+ }));
2091
1996
  }
2092
- });
2093
- function hn(t) {
2094
- const r = nt({
2095
- draft: ws(t.defaultValue ?? "")
2096
- }), e = d(() => t.acceptText ?? $("ui.accept", "Ok")), s = d(() => t.cancelText ?? $("ui.cancel", "Cancel"));
2097
- return { form: r, renderedAcceptText: e, renderedCancelText: s };
2098
- }
2099
- const gn = { class: "mt-4 flex flex-row-reverse gap-2" }, vn = /* @__PURE__ */ h({
2100
- __name: "PromptModal",
1997
+ }), ln = ["for"], xe = /* @__PURE__ */ g({
1998
+ __name: "HeadlessInputLabel",
1999
+ setup(t) {
2000
+ const r = j("input", "<HeadlessInputLabel> must be a child of a <HeadlessInput>"), e = Se(), s = p(() => !!(r.label || e.default));
2001
+ return (n, a) => s.value ? (l(), v("label", {
2002
+ key: 0,
2003
+ for: i(r).id
2004
+ }, [
2005
+ w(n.$slots, "default", {}, () => [
2006
+ A(x(i(r).label), 1)
2007
+ ])
2008
+ ], 8, ln)) : M("", !0);
2009
+ }
2010
+ }), un = ["id", "name", "type", "checked", "required", "aria-invalid", "aria-describedby"], ot = /* @__PURE__ */ g({
2011
+ __name: "HeadlessInputInput",
2101
2012
  props: {
2102
- title: {},
2103
- message: {},
2104
- label: {},
2105
- defaultValue: {},
2106
- placeholder: {},
2107
- acceptText: {},
2108
- acceptVariant: {},
2109
- cancelText: {},
2110
- cancelVariant: { default: "secondary" }
2013
+ type: { default: "text" }
2111
2014
  },
2112
2015
  setup(t) {
2113
- const r = Y(t, ["cancelVariant"]), { form: e, renderedAcceptText: s, renderedCancelText: n } = hn(r);
2114
- return (a, i) => (u(), g(le, {
2115
- title: a.title,
2116
- persistent: ""
2117
- }, {
2118
- default: f(({ close: o }) => [
2119
- m(st, {
2120
- form: c(e),
2121
- onSubmit: (l) => o(c(e).draft)
2122
- }, {
2016
+ const r = H(), e = j("input", "<HeadlessInputInput> must be a child of a <HeadlessInput>"), s = p(() => e.name ?? void 0), n = p(() => e.value), a = p(() => {
2017
+ if (t.type === "checkbox")
2018
+ return !!n.value;
2019
+ });
2020
+ function o() {
2021
+ r.value && e.update(u());
2022
+ }
2023
+ function u() {
2024
+ if (!r.value)
2025
+ return null;
2026
+ switch (t.type) {
2027
+ case "checkbox":
2028
+ return r.value.checked;
2029
+ case "date":
2030
+ return r.value.valueAsDate;
2031
+ default:
2032
+ return r.value.value;
2033
+ }
2034
+ }
2035
+ return Ye(e, () => {
2036
+ var c;
2037
+ return (c = r.value) == null ? void 0 : c.focus();
2038
+ }), Me(() => {
2039
+ if (r.value) {
2040
+ if (t.type === "date") {
2041
+ r.value.valueAsDate = n.value;
2042
+ return;
2043
+ }
2044
+ r.value.value = n.value ?? null;
2045
+ }
2046
+ }), (c, d) => (l(), v("input", {
2047
+ id: i(e).id,
2048
+ ref_key: "$input",
2049
+ ref: r,
2050
+ name: s.value,
2051
+ type: c.type,
2052
+ checked: a.value,
2053
+ required: i(e).required ?? void 0,
2054
+ "aria-invalid": i(e).errors ? "true" : "false",
2055
+ "aria-describedby": i(e).errors ? `${i(e).id}-error` : i(e).description ? `${i(e).id}-description` : void 0,
2056
+ onInput: o
2057
+ }, null, 40, un));
2058
+ }
2059
+ }), cn = /* @__PURE__ */ g({
2060
+ inheritAttrs: !1,
2061
+ __name: "HeadlessInputDescription",
2062
+ setup(t) {
2063
+ const r = j(
2064
+ "input",
2065
+ "<HeadlessInputDescription> must be a child of a <HeadlessInput>"
2066
+ ), e = p(() => typeof r.description == "string" ? r.description : ""), s = p(() => !!r.description);
2067
+ return (n, a) => w(n.$slots, "default", {
2068
+ id: `${i(r).id}-description`
2069
+ }, () => [
2070
+ s.value ? (l(), h(R, I({ key: 0 }, n.$attrs, {
2071
+ id: `${i(r).id}-description`,
2072
+ text: e.value
2073
+ }), null, 16, ["id", "text"])) : M("", !0)
2074
+ ]);
2075
+ }
2076
+ }), dn = ["id"], Ce = /* @__PURE__ */ g({
2077
+ __name: "HeadlessInputError",
2078
+ setup(t) {
2079
+ const r = j("input", "<HeadlessInputError> must be a child of a <HeadlessInput>"), e = p(() => r.errors ? C(`errors.${r.errors[0]}`, `Error: ${r.errors[0]}`) : null);
2080
+ return (s, n) => e.value ? (l(), v("p", {
2081
+ key: 0,
2082
+ id: `${i(r).id}-error`
2083
+ }, x(e.value), 9, dn)) : M("", !0);
2084
+ }
2085
+ });
2086
+ function it() {
2087
+ const t = Be(), r = p(() => t.class);
2088
+ return [p(() => Vt(t, "class")), r];
2089
+ }
2090
+ const pn = {
2091
+ key: 0,
2092
+ class: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-3"
2093
+ }, mn = /* @__PURE__ */ g({
2094
+ inheritAttrs: !1,
2095
+ __name: "Input",
2096
+ props: {
2097
+ name: {},
2098
+ label: {},
2099
+ description: {},
2100
+ modelValue: {},
2101
+ inputClass: {},
2102
+ wrapperClass: {}
2103
+ },
2104
+ emits: ["update:modelValue"],
2105
+ setup(t) {
2106
+ const r = Z(t, ["label", "inputClass", "wrapperClass"]), e = me("$input"), [s, n] = it(), a = p(() => T("relative rounded-md shadow-2xs", { "mt-1": t.label }, t.wrapperClass)), o = p(() => {
2107
+ var u, c, d;
2108
+ return T(
2109
+ // eslint-disable-next-line vue/max-len
2110
+ "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",
2111
+ {
2112
+ "text-gray-900 shadow-2xs ring-gray-300 placeholder:text-gray-400": !((u = e.value) != null && u.errors),
2113
+ "hover:ring-1 hover:ring-primary/80 hover:ring-inset focus:ring-primary": !((c = e.value) != null && c.errors),
2114
+ "pr-10 text-red-900 ring-red-300 placeholder:text-red-300 focus:ring-red-500": (d = e.value) == null ? void 0 : d.errors
2115
+ },
2116
+ t.inputClass
2117
+ );
2118
+ });
2119
+ return (u, c) => (l(), h(at, I({
2120
+ ref_key: "$input",
2121
+ ref: e,
2122
+ label: u.label,
2123
+ class: i(n)
2124
+ }, r, {
2125
+ "onUpdate:modelValue": c[0] || (c[0] = (d) => u.$emit("update:modelValue", d))
2126
+ }), {
2127
+ default: f(() => {
2128
+ var d;
2129
+ return [
2130
+ m(xe, { class: "block text-sm leading-6 font-medium text-gray-900" }),
2131
+ y("div", {
2132
+ class: P(a.value)
2133
+ }, [
2134
+ m(ot, I(i(s), { class: o.value }), null, 16, ["class"]),
2135
+ (d = i(e)) != null && d.errors ? (l(), v("div", pn, [
2136
+ m(i(nt), { class: "size-5 text-red-500" })
2137
+ ])) : M("", !0)
2138
+ ], 2),
2139
+ m(cn, { class: "mt-2 text-sm text-gray-600" }),
2140
+ m(Ce, { class: "mt-2 text-sm text-red-600" })
2141
+ ];
2142
+ }),
2143
+ _: 1
2144
+ }, 16, ["label", "class"]));
2145
+ }
2146
+ });
2147
+ function fn(t) {
2148
+ const r = rt({
2149
+ draft: vs(t.defaultValue ?? "")
2150
+ }), e = p(() => t.acceptText ?? C("ui.accept", "Ok")), s = p(() => t.cancelText ?? C("ui.cancel", "Cancel"));
2151
+ return { form: r, renderedAcceptText: e, renderedCancelText: s };
2152
+ }
2153
+ const hn = { class: "mt-4 flex flex-row-reverse gap-2" }, gn = /* @__PURE__ */ g({
2154
+ __name: "PromptModal",
2155
+ props: {
2156
+ title: {},
2157
+ message: {},
2158
+ label: {},
2159
+ defaultValue: {},
2160
+ placeholder: {},
2161
+ acceptText: {},
2162
+ acceptVariant: {},
2163
+ cancelText: {},
2164
+ cancelVariant: { default: "secondary" }
2165
+ },
2166
+ setup(t) {
2167
+ const r = Z(t, ["cancelVariant"]), { form: e, renderedAcceptText: s, renderedCancelText: n } = fn(r);
2168
+ return (a, o) => (l(), h(ne, {
2169
+ title: a.title,
2170
+ persistent: ""
2171
+ }, {
2172
+ default: f(({ close: u }) => [
2173
+ m(tt, {
2174
+ form: i(e),
2175
+ onSubmit: (c) => u(i(e).draft)
2176
+ }, {
2123
2177
  default: f(() => [
2124
- m(T, { text: a.message }, null, 8, ["text"]),
2125
- m(fn, {
2178
+ m(R, { text: a.message }, null, 8, ["text"]),
2179
+ m(mn, {
2126
2180
  name: "draft",
2127
2181
  class: "mt-2",
2128
2182
  placeholder: a.placeholder,
2129
2183
  label: a.label
2130
2184
  }, null, 8, ["placeholder", "label"]),
2131
- v("div", gn, [
2132
- m(L, {
2185
+ y("div", hn, [
2186
+ m(V, {
2133
2187
  variant: a.acceptVariant,
2134
2188
  submit: ""
2135
2189
  }, {
2136
2190
  default: f(() => [
2137
- B(k(c(s)), 1)
2191
+ A(x(i(s)), 1)
2138
2192
  ]),
2139
2193
  _: 1
2140
2194
  }, 8, ["variant"]),
2141
- m(L, {
2195
+ m(V, {
2142
2196
  variant: a.cancelVariant,
2143
- onClick: (l) => o(!1)
2197
+ onClick: (c) => u(!1)
2144
2198
  }, {
2145
2199
  default: f(() => [
2146
- B(k(c(n)), 1)
2200
+ A(x(i(n)), 1)
2147
2201
  ]),
2148
2202
  _: 2
2149
2203
  }, 1032, ["variant", "onClick"])
@@ -2155,264 +2209,342 @@ const gn = { class: "mt-4 flex flex-row-reverse gap-2" }, vn = /* @__PURE__ */ h
2155
2209
  _: 1
2156
2210
  }, 8, ["title"]));
2157
2211
  }
2158
- }), bn = { $ui: P }, _n = {
2212
+ }), vn = { class: "grid grow place-items-center" }, bn = { class: "flex flex-col items-center space-y-6 p-8" }, yn = { class: "mt-2 text-center text-4xl font-medium text-red-600" }, _n = { class: "mt-4 flex flex-col space-y-4" }, wn = /* @__PURE__ */ g({
2213
+ __name: "StartupCrash",
2214
+ setup(t) {
2215
+ return (r, e) => (l(), v("div", vn, [
2216
+ y("div", bn, [
2217
+ y("h1", yn, x(r.$td("startupCrash.title", "Something went wrong!")), 1),
2218
+ m(R, {
2219
+ text: r.$td(
2220
+ "startupCrash.message",
2221
+ `Something failed trying to start the application.
2222
+
2223
+ Here's some things you can do:`
2224
+ ),
2225
+ class: "mt-4 text-center"
2226
+ }, null, 8, ["text"]),
2227
+ y("div", _n, [
2228
+ m(V, {
2229
+ variant: "danger",
2230
+ onClick: e[0] || (e[0] = (s) => r.$app.reload())
2231
+ }, {
2232
+ default: f(() => [
2233
+ A(x(r.$td("startupCrash.reload", "Try again")), 1)
2234
+ ]),
2235
+ _: 1
2236
+ }),
2237
+ m(V, {
2238
+ variant: "danger",
2239
+ onClick: e[1] || (e[1] = (s) => r.$errors.inspect(r.$errors.startupErrors))
2240
+ }, {
2241
+ default: f(() => [
2242
+ A(x(r.$td("startupCrash.inspect", "View error details")), 1)
2243
+ ]),
2244
+ _: 1
2245
+ })
2246
+ ])
2247
+ ])
2248
+ ]));
2249
+ }
2250
+ }), lt = /* @__PURE__ */ g({
2251
+ __name: "HeadlessToastAction",
2252
+ props: {
2253
+ action: {}
2254
+ },
2255
+ setup(t) {
2256
+ return (r, e) => (l(), h(X(r.action.dismiss ? i(Zt) : "button"), {
2257
+ type: "button",
2258
+ onClick: r.action.click
2259
+ }, {
2260
+ default: f(() => [
2261
+ A(x(r.action.label), 1)
2262
+ ]),
2263
+ _: 1
2264
+ }, 8, ["onClick"]));
2265
+ }
2266
+ }), $n = { key: 0 }, xn = /* @__PURE__ */ g({
2267
+ __name: "HeadlessToast",
2268
+ props: {
2269
+ message: {},
2270
+ actions: {},
2271
+ variant: {}
2272
+ },
2273
+ setup(t) {
2274
+ return (r, e) => (l(), h(i(Xt), null, {
2275
+ default: f(() => [
2276
+ w(r.$slots, "default", {}, () => [
2277
+ r.message ? (l(), v("span", $n, x(r.message), 1)) : M("", !0),
2278
+ (l(!0), v(q, null, U(r.actions, (s, n) => (l(), h(lt, {
2279
+ key: n,
2280
+ action: s
2281
+ }, null, 8, ["action"]))), 128))
2282
+ ])
2283
+ ]),
2284
+ _: 3
2285
+ }));
2286
+ }
2287
+ }), Cn = /* @__PURE__ */ g({
2288
+ __name: "Toast",
2289
+ props: {
2290
+ message: {},
2291
+ actions: {},
2292
+ variant: { default: "secondary" },
2293
+ class: {}
2294
+ },
2295
+ setup(t) {
2296
+ const r = Xe(
2297
+ { baseClasses: t.class, variant: t.variant },
2298
+ {
2299
+ baseClasses: "flex items-center gap-2 rounded-md p-2 ring-1 shadow-lg border-gray-200",
2300
+ variants: {
2301
+ variant: {
2302
+ secondary: "bg-gray-900 text-white ring-black",
2303
+ danger: "bg-red-50 text-red-900 ring-red-100"
2304
+ }
2305
+ },
2306
+ defaultVariants: {
2307
+ variant: "secondary"
2308
+ }
2309
+ }
2310
+ );
2311
+ return (e, s) => (l(), h(xn, {
2312
+ class: P(i(r))
2313
+ }, {
2314
+ default: f(() => [
2315
+ e.message ? (l(), h(R, {
2316
+ key: 0,
2317
+ text: e.message,
2318
+ inline: ""
2319
+ }, null, 8, ["text"])) : M("", !0),
2320
+ (l(!0), v(q, null, U(e.actions, (n, a) => (l(), h(V, {
2321
+ key: a,
2322
+ action: n,
2323
+ variant: e.variant,
2324
+ as: lt
2325
+ }, null, 8, ["action", "variant"]))), 128))
2326
+ ]),
2327
+ _: 1
2328
+ }, 8, ["class"]));
2329
+ }
2330
+ }), kn = { $ui: L }, Sn = {
2159
2331
  async install(t, r) {
2160
2332
  const e = {
2161
- [C.AlertModal]: vs,
2162
- [C.ConfirmModal]: Es,
2163
- [C.ErrorReportModal]: sn,
2164
- [C.LoadingModal]: pn,
2165
- [C.PromptModal]: vn,
2166
- [C.Snackbar]: rs,
2167
- [C.StartupCrash]: is
2333
+ [E.AlertModal]: ms,
2334
+ [E.ConfirmModal]: Cs,
2335
+ [E.ErrorReportModal]: Xs,
2336
+ [E.LoadingModal]: on,
2337
+ [E.PromptModal]: gn,
2338
+ [E.Toast]: Cn,
2339
+ [E.StartupCrash]: wn
2168
2340
  };
2169
2341
  Object.entries({
2170
2342
  ...e,
2171
2343
  ...r.components
2172
- }).forEach(([s, n]) => P.registerComponent(s, n)), await be(t, bn);
2344
+ }).forEach(([s, n]) => L.registerComponent(s, n)), await ve(t, kn);
2173
2345
  }
2174
2346
  };
2175
- async function yn(t, r = {}) {
2347
+ async function Mn(t, r = {}) {
2176
2348
  var s;
2177
- const e = [qr, _r, Rr, zr, Sr, _n, ...r.plugins ?? []];
2178
- G.instance = t, await ur(e, t, r), await ((s = r.install) == null ? void 0 : s.call(r, t)), await x.emit("application-ready");
2349
+ const e = [Qr, Pr, Wr, Jr, Vr, Sn, ...r.plugins ?? []];
2350
+ F.instance = t, await kr(e, t, r), await ((s = r.install) == null ? void 0 : s.call(r, t)), await S.emit("application-ready");
2179
2351
  }
2180
- async function Pa(t, r = {}) {
2352
+ async function Aa(t, r = {}) {
2181
2353
  var s;
2182
- const e = _t(t);
2183
- Z() && (window.$aerogel = e), await yn(e, r), e.mount("#app"), (s = e._container) == null || s.classList.remove("loading"), await x.emit("application-mounted");
2354
+ const e = wt(t);
2355
+ G() && (window.$aerogel = e), await Mn(e, r), e.mount("#app"), (s = e._container) == null || s.classList.remove("loading"), await S.emit("application-mounted");
2184
2356
  }
2185
- const wn = { key: 0 }, $n = /* @__PURE__ */ h({
2357
+ const En = { key: 0 }, Pn = /* @__PURE__ */ g({
2186
2358
  __name: "AppModals",
2187
2359
  setup(t) {
2188
- const r = d(() => P.modals[0] ?? null);
2189
- return (e, s) => r.value ? (u(), b("aside", wn, [
2190
- m(rt, {
2360
+ const r = p(() => L.modals[0] ?? null);
2361
+ return (e, s) => r.value ? (l(), v("aside", En, [
2362
+ m(et, {
2191
2363
  "child-index": 1,
2192
2364
  modal: r.value
2193
2365
  }, null, 8, ["modal"])
2194
- ])) : E("", !0);
2195
- }
2196
- }), xn = (t, r) => {
2197
- const e = t.__vccOpts || t;
2198
- for (const [s, n] of r)
2199
- e[s] = n;
2200
- return e;
2201
- }, Sn = {}, kn = {
2202
- "aria-live": "assertive",
2203
- class: "pointer-events-none fixed inset-0 z-50 flex items-end px-4 py-6 sm:p-6"
2204
- }, Cn = { class: "flex w-full flex-col items-end space-y-4" };
2205
- function Mn(t, r) {
2206
- return u(), b("div", kn, [
2207
- v("div", Cn, [
2208
- (u(!0), b(ee, null, ie(t.$ui.snackbars, (e) => (u(), g(te(e.component), A({
2209
- id: e.id,
2210
- key: e.id,
2211
- ref_for: !0
2212
- }, e.properties), null, 16, ["id"]))), 128))
2213
- ])
2214
- ]);
2215
- }
2216
- const En = /* @__PURE__ */ xn(Sn, [["render", Mn]]), Pn = /* @__PURE__ */ h({
2366
+ ])) : M("", !0);
2367
+ }
2368
+ }), Hn = /* @__PURE__ */ g({
2369
+ __name: "AppToasts",
2370
+ setup(t) {
2371
+ return (r, e) => (l(), h(i(Yt), null, {
2372
+ default: f(() => [
2373
+ (l(!0), v(q, null, U(r.$ui.toasts, (s) => (l(), h(X(s.component), I({
2374
+ id: s.id,
2375
+ key: s.id,
2376
+ ref_for: !0
2377
+ }, s.properties), null, 16, ["id"]))), 128)),
2378
+ m(i(er), { class: "fixed right-0 bottom-0 z-50 flex flex-col items-end space-y-4 px-4 py-6 sm:p-6" })
2379
+ ]),
2380
+ _: 1
2381
+ }));
2382
+ }
2383
+ }), In = /* @__PURE__ */ g({
2217
2384
  __name: "AppOverlays",
2218
2385
  setup(t) {
2219
- const r = I(null), e = I(!0);
2220
- return se("show-overlays-backdrop", async () => {
2386
+ const r = H(null), e = H(!0);
2387
+ return ee("show-overlays-backdrop", async () => {
2221
2388
  !r.value || !e.value || (e.value = !1, r.value.classList.remove("opacity-0"));
2222
- }), se("hide-overlays-backdrop", async () => {
2389
+ }), ee("hide-overlays-backdrop", async () => {
2223
2390
  !r.value || e.value || (e.value = !0, r.value.classList.add("opacity-0"));
2224
- }), (s, n) => (u(), b(ee, null, [
2225
- v("div", {
2226
- id: "aerogel-overlays-backdrop",
2227
- ref_key: "$backdrop",
2228
- ref: r,
2229
- class: "pointer-events-none fixed inset-0 z-50 bg-black/30 opacity-0"
2230
- }, null, 512),
2231
- m($n),
2232
- m(En)
2391
+ }), (s, n) => (l(), v(q, null, [
2392
+ m(Pn),
2393
+ m(Hn)
2233
2394
  ], 64));
2234
2395
  }
2235
- }), In = { class: "flex min-h-full flex-col text-base leading-tight font-normal text-gray-900 antialiased" }, Ia = /* @__PURE__ */ h({
2396
+ }), Ln = { class: "flex min-h-full flex-col text-base leading-tight font-normal text-gray-900 antialiased" }, Ra = /* @__PURE__ */ g({
2236
2397
  __name: "AppLayout",
2237
2398
  setup(t) {
2238
- return (r, e) => (u(), b("div", In, [
2239
- r.$errors.hasStartupErrors ? y(r.$slots, "startup-crash", { key: 0 }, () => [
2240
- (u(), g(te(r.$ui.requireComponent(c(C).StartupCrash))))
2241
- ]) : y(r.$slots, "default", { key: 1 }),
2242
- m(Pn)
2399
+ return (r, e) => (l(), v("div", Ln, [
2400
+ r.$errors.hasStartupErrors ? w(r.$slots, "startup-crash", { key: 0 }, () => [
2401
+ (l(), h(X(r.$ui.requireComponent(i(E).StartupCrash))))
2402
+ ]) : w(r.$slots, "default", { key: 1 }),
2403
+ m(In)
2243
2404
  ]));
2244
2405
  }
2245
2406
  });
2246
- function Aa() {
2247
- return yt((t, r) => {
2407
+ function za() {
2408
+ return $t((t, r) => {
2248
2409
  let e;
2249
2410
  return {
2250
2411
  get() {
2251
2412
  return t(), e;
2252
2413
  },
2253
2414
  set(s) {
2254
- e = Qr(s), r();
2415
+ e = as(s), r();
2255
2416
  }
2256
2417
  };
2257
2418
  });
2258
2419
  }
2259
- const An = {
2260
- viewBox: "0 0 20 20",
2261
- width: "1.2em",
2262
- height: "1.2em"
2263
- };
2264
- function Hn(t, r) {
2265
- return u(), b("svg", An, r[0] || (r[0] = [
2266
- v("path", {
2267
- fill: "currentColor",
2268
- d: "m9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828L5.757 6.586L4.343 8z"
2269
- }, null, -1)
2270
- ]));
2420
+ function Tn(t) {
2421
+ return typeof t == "object" && t !== null && "label" in t;
2271
2422
  }
2272
- const Ln = { name: "zondicons-cheveron-down", render: Hn }, it = {
2273
- name: R(),
2274
- label: R(),
2275
- options: fr(),
2276
- noSelectionText: R(),
2277
- optionsText: Ke()
2278
- }, Tn = ["update:modelValue"];
2279
- function lt() {
2280
- return it;
2423
+ const Vn = ["id", "name", "value", "required", "aria-invalid", "aria-describedby"], Ba = /* @__PURE__ */ g({
2424
+ __name: "HeadlessInputTextArea",
2425
+ setup(t) {
2426
+ const r = H(), e = j(
2427
+ "input",
2428
+ "<HeadlessInputTextArea> must be a child of a <HeadlessInput>"
2429
+ ), s = p(() => e.name ?? void 0), n = p(() => e.value);
2430
+ function a() {
2431
+ r.value && e.update(r.value.value);
2432
+ }
2433
+ return Ye(e, () => {
2434
+ var o;
2435
+ return (o = r.value) == null ? void 0 : o.focus();
2436
+ }), (o, u) => (l(), v("textarea", {
2437
+ id: i(e).id,
2438
+ ref_key: "$textArea",
2439
+ ref: r,
2440
+ name: s.value,
2441
+ value: n.value,
2442
+ required: i(e).required ?? void 0,
2443
+ "aria-invalid": i(e).errors ? "true" : "false",
2444
+ "aria-describedby": i(e).errors ? `${i(e).id}-error` : i(e).description ? `${i(e).id}-description` : void 0,
2445
+ onInput: a
2446
+ }, null, 40, Vn));
2447
+ }
2448
+ });
2449
+ function qa(t) {
2450
+ let r = jt;
2451
+ xt(() => r = t()), ue(() => r());
2281
2452
  }
2282
- function ct() {
2283
- return [...Tn];
2453
+ function Da(t, r) {
2454
+ const e = oe(D.get(t) ?? r);
2455
+ return ke(e, () => D.set(t, Ct(e))), e;
2284
2456
  }
2285
- function Ha(t) {
2286
- return Kr(t, it);
2457
+ function Fa(t) {
2458
+ return t.split(/\s+/).filter((r) => !/^(hover|focus|focus-visible):/.test(r)).join(" ").trim();
2287
2459
  }
2288
- const jn = /* @__PURE__ */ h({
2289
- __name: "AGHeadlessSelect",
2290
- props: {
2291
- modelValue: Ke(),
2292
- ...lt()
2293
- },
2294
- emits: ct(),
2295
- setup(t, { expose: r, emit: e }) {
2296
- const s = e, n = t, a = d(() => typeof n.optionsText == "function" ? n.optionsText : typeof n.optionsText == "string" ? (S) => V(S[n.optionsText]) : (S) => V(S)), i = X("form", null), o = d(() => n.noSelectionText ?? $("select.noSelection", "-")), l = d(
2297
- () => i && n.name ? i.getFieldValue(n.name) : n.modelValue
2298
- ), p = d(() => !i || !n.name ? null : i.errors[n.name] ?? null);
2299
- function w(S) {
2300
- if (i && n.name) {
2301
- i.setFieldValue(n.name, S);
2302
- return;
2303
- }
2304
- s("update:modelValue", S);
2305
- }
2306
- const M = {
2307
- id: `select-${de()}`,
2308
- noSelectionText: o,
2309
- selectedOption: l,
2310
- errors: p,
2311
- options: d(() => n.options),
2312
- label: d(() => n.label),
2313
- buttonText: d(() => l.value === null ? o.value : a.value(l.value)),
2314
- renderText: a,
2315
- update: w
2316
- };
2317
- return fe("select", M), r(M), (S, D) => (u(), g(c(Nt), {
2318
- "model-value": l.value,
2319
- "onUpdate:modelValue": D[0] || (D[0] = (F) => w(F))
2320
- }, {
2321
- default: f(({ open: F }) => [
2322
- y(S.$slots, "default", {
2323
- modelValue: t.modelValue,
2324
- open: F
2325
- })
2326
- ]),
2327
- _: 3
2328
- }, 8, ["model-value"]));
2460
+ const ut = /* @__PURE__ */ g({
2461
+ __name: "HeadlessSelectValue",
2462
+ setup(t) {
2463
+ const r = j(
2464
+ "select",
2465
+ "<HeadlessSelectValue> must be a child of a <HeadlessSelect>"
2466
+ );
2467
+ return (e, s) => (l(), h(i(tr), {
2468
+ placeholder: i(r).placeholder
2469
+ }, null, 8, ["placeholder"]));
2329
2470
  }
2330
- }), Rn = /* @__PURE__ */ h({
2331
- __name: "AGHeadlessSelectTrigger",
2332
- props: { textClass: R() },
2471
+ }), ct = /* @__PURE__ */ g({
2472
+ __name: "HeadlessSelectTrigger",
2333
2473
  setup(t) {
2334
- const r = z(
2474
+ const r = j(
2335
2475
  "select",
2336
- "<AGHeadlessSelectTrigger> must be a child of a <AGHeadlessSelect>"
2476
+ "<HeadlessSelectTrigger> must be a child of a <HeadlessSelect>"
2337
2477
  );
2338
- return (e, s) => (u(), g(c(Wt), null, {
2478
+ return (e, s) => (l(), h(i(rr), {
2479
+ id: i(r).id
2480
+ }, {
2339
2481
  default: f(() => [
2340
- m(c(Ot), null, {
2341
- default: f(() => [
2342
- y(e.$slots, "default", {}, () => {
2343
- var n;
2344
- return [
2345
- v("span", {
2346
- class: H(t.textClass)
2347
- }, k((n = c(r)) == null ? void 0 : n.buttonText), 3)
2348
- ];
2349
- }),
2350
- y(e.$slots, "icon")
2351
- ]),
2352
- _: 3
2353
- })
2482
+ w(e.$slots, "default", {}, () => [
2483
+ m(ut, {
2484
+ placeholder: i(r).placeholder
2485
+ }, null, 8, ["placeholder"]),
2486
+ m(i(sr))
2487
+ ])
2354
2488
  ]),
2355
2489
  _: 3
2356
- }));
2357
- }
2358
- }), Vn = ["id"], zn = /* @__PURE__ */ h({
2359
- __name: "AGHeadlessSelectError",
2360
- setup(t) {
2361
- const r = z(
2362
- "select",
2363
- "<AGHeadlessSelectError> must be a child of a <AGHeadlessSelect>"
2364
- ), e = d(() => r.errors ? $(`errors.${r.errors[0]}`, `Error: ${r.errors[0]}`) : null);
2365
- return (s, n) => e.value ? (u(), b("p", {
2366
- key: 0,
2367
- id: `${c(r).id}-error`
2368
- }, k(e.value), 9, Vn)) : E("", !0);
2490
+ }, 8, ["id"]));
2369
2491
  }
2370
- }), qn = /* @__PURE__ */ h({
2371
- __name: "AGHeadlessSelectOption",
2492
+ }), dt = /* @__PURE__ */ g({
2493
+ __name: "HeadlessSelectOption",
2372
2494
  props: {
2373
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2374
- value: hr(),
2375
- selectedClass: R(),
2376
- unselectedClass: R(),
2377
- activeClass: R(),
2378
- inactiveClass: R()
2495
+ value: {},
2496
+ disabled: { type: Boolean },
2497
+ textValue: {},
2498
+ asChild: { type: Boolean },
2499
+ as: {}
2379
2500
  },
2380
2501
  setup(t) {
2381
- const r = z(
2502
+ const r = j(
2382
2503
  "select",
2383
- "<AGHeadlessSelectOption> must be a child of a <AGHeadlessSelect>"
2384
- );
2385
- return (e, s) => (u(), g(c(Kt), {
2386
- value: t.value,
2387
- as: "template"
2388
- }, {
2504
+ "<HeadlessSelectOption> must be a child of a <HeadlessSelect>"
2505
+ ), e = p(() => {
2506
+ var n;
2507
+ const s = (n = r.options) == null ? void 0 : n.find((a) => a.value === t.value);
2508
+ return s ? s.label : z(t.value);
2509
+ });
2510
+ return (s, n) => (l(), h(i(nr), de(pe(s.$props)), {
2389
2511
  default: f(() => [
2390
- m(c(Qt), null, {
2512
+ m(i(ar), { class: "the-text" }, {
2391
2513
  default: f(() => [
2392
- y(e.$slots, "default", {}, () => [
2393
- B(k(c(r).renderText(t.value)), 1)
2514
+ w(s.$slots, "default", {}, () => [
2515
+ A(x(e.value), 1)
2394
2516
  ])
2395
2517
  ]),
2396
2518
  _: 3
2397
2519
  })
2398
2520
  ]),
2399
2521
  _: 3
2400
- }, 8, ["value"]));
2522
+ }, 16));
2401
2523
  }
2402
- }), Bn = /* @__PURE__ */ h({
2403
- __name: "AGHeadlessSelectOptions",
2404
- props: { class: R("") },
2524
+ }), pt = /* @__PURE__ */ g({
2525
+ __name: "HeadlessSelectOptions",
2526
+ props: {
2527
+ class: {}
2528
+ },
2405
2529
  setup(t) {
2406
- const r = t, e = d(() => r.class);
2407
- return (s, n) => (u(), g(c(Jt), null, {
2530
+ const r = j(
2531
+ "select",
2532
+ "<HeadlessSelectOptions> must be a child of a <HeadlessSelect>"
2533
+ );
2534
+ return (e, s) => (l(), h(i(or), null, {
2408
2535
  default: f(() => [
2409
- m(c(Zt), {
2410
- class: H(e.value)
2536
+ m(i(ir), {
2537
+ class: P(t.class)
2411
2538
  }, {
2412
2539
  default: f(() => [
2413
- m(c(Xt), null, {
2540
+ m(i(lr), null, {
2414
2541
  default: f(() => [
2415
- y(s.$slots, "default")
2542
+ w(e.$slots, "default", {}, () => [
2543
+ (l(!0), v(q, null, U(i(r).options ?? [], (n) => (l(), h(dt, {
2544
+ key: n.key,
2545
+ value: n.value
2546
+ }, null, 8, ["value"]))), 128))
2547
+ ])
2416
2548
  ]),
2417
2549
  _: 3
2418
2550
  })
@@ -2423,248 +2555,104 @@ const jn = /* @__PURE__ */ h({
2423
2555
  _: 3
2424
2556
  }));
2425
2557
  }
2426
- }), Dn = { class: "pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2" }, La = /* @__PURE__ */ h({
2427
- __name: "AGSelect",
2428
- props: lt(),
2429
- emits: ct(),
2430
- setup(t) {
2431
- const r = t, e = Pe();
2432
- return (s, n) => (u(), g(jn, A(r, {
2433
- ref_key: "$select",
2434
- ref: e,
2435
- as: "div",
2436
- "onUpdate:modelValue": n[0] || (n[0] = (a) => s.$emit("update:modelValue", a))
2437
- }), {
2438
- default: f(() => {
2439
- var a, i;
2440
- return [
2441
- v("div", {
2442
- class: H(["relative", { "mt-2": (a = c(e)) == null ? void 0 : a.label }])
2443
- }, [
2444
- m(Rn, {
2445
- class: H(["relative w-full cursor-default bg-white py-1.5 pr-10 pl-3 text-left text-gray-900 ring-1 ring-gray-300 ring-inset focus:ring-2 focus:ring-indigo-600 focus:outline-hidden", {
2446
- "ring-1 ring-red-500": (i = c(e)) == null ? void 0 : i.errors
2447
- }]),
2448
- "text-class": "block truncate"
2449
- }, {
2450
- icon: f(() => [
2451
- v("span", Dn, [
2452
- m(c(Ln), { class: "size-5 text-gray-400" })
2453
- ])
2454
- ]),
2455
- _: 1
2456
- }, 8, ["class"]),
2457
- m(Bn, { class: "absolute z-10 mt-1 max-h-60 w-full overflow-auto border border-gray-300 bg-white py-1 text-base ring-1 ring-black/5 focus:outline-hidden" }, {
2458
- default: f(() => {
2459
- var o;
2460
- return [
2461
- (u(!0), b(ee, null, ie(((o = c(e)) == null ? void 0 : o.options) ?? [], (l, p) => (u(), g(qn, {
2462
- key: p,
2463
- value: l,
2464
- class: "relative block cursor-default truncate py-2 pr-9 pl-3 text-gray-900 select-none data-[highlighted]:bg-indigo-600 data-[highlighted]:text-white data-[state=checked]:font-semibold data-[state=unchecked]:font-normal"
2465
- }, null, 8, ["value"]))), 128))
2466
- ];
2467
- }),
2468
- _: 1
2469
- })
2470
- ], 2),
2471
- m(zn, { class: "mt-2 text-sm text-red-600" })
2472
- ];
2473
- }),
2474
- _: 1
2475
- }, 16));
2476
- }
2477
- });
2478
- function Ta(t, r) {
2479
- const e = X("form", null), s = e == null ? void 0 : e.on("focus", (n) => t.name === n && r());
2480
- oe(() => s == null ? void 0 : s());
2481
- }
2482
- const ja = /* @__PURE__ */ h({
2483
- __name: "HeadlessInput",
2558
+ }), jn = /* @__PURE__ */ g({
2559
+ __name: "HeadlessSelect",
2484
2560
  props: {
2561
+ options: {},
2562
+ placeholder: {},
2563
+ renderOption: { type: Function },
2485
2564
  name: {},
2486
2565
  label: {},
2487
2566
  description: {},
2488
- modelValue: {},
2489
- as: { default: "div" }
2567
+ modelValue: {}
2490
2568
  },
2491
2569
  emits: ["update:modelValue"],
2492
2570
  setup(t, { expose: r, emit: e }) {
2493
- const s = e, n = X("form", null), a = d(() => !n || !t.name ? null : n.errors[t.name] ?? null), i = {
2494
- id: `input-${de()}`,
2495
- name: d(() => t.name),
2496
- label: d(() => t.label),
2497
- description: d(() => t.description),
2498
- value: d(() => n && t.name ? n.getFieldValue(t.name) : t.modelValue),
2499
- errors: De(a),
2500
- required: d(() => {
2571
+ const s = e, n = se("form", null), a = p(() => t.modelValue), o = p(() => !n || !t.name ? null : n.errors[t.name] ?? null), u = p(() => t.options ? t.options.map((b) => ({
2572
+ key: te(),
2573
+ label: t.renderOption ? t.renderOption(b) : Tn(b) ? At(b.label) : z(b),
2574
+ value: b
2575
+ })) : null), c = {
2576
+ id: `select-${te()}`,
2577
+ name: p(() => t.name),
2578
+ label: p(() => t.label),
2579
+ description: p(() => t.description),
2580
+ placeholder: p(() => t.placeholder ?? C("ui.select", "Select an option")),
2581
+ options: u,
2582
+ selectedOption: p(() => {
2583
+ var b;
2584
+ return (b = u.value) == null ? void 0 : b.find(($) => $.value === t.modelValue);
2585
+ }),
2586
+ value: p(() => n && t.name ? n.getFieldValue(t.name) : t.modelValue),
2587
+ errors: Ee(o),
2588
+ required: p(() => {
2501
2589
  if (!(!t.name || !n))
2502
2590
  return n.getFieldRules(t.name).includes("required");
2503
2591
  }),
2504
- update(o) {
2592
+ update(b) {
2505
2593
  if (n && t.name) {
2506
- n.setFieldValue(t.name, o);
2594
+ n.setFieldValue(t.name, b);
2507
2595
  return;
2508
2596
  }
2509
- s("update:modelValue", o);
2597
+ s("update:modelValue", b);
2510
2598
  }
2511
2599
  };
2512
- return fe("input", i), r(i), (o, l) => (u(), g(te(o.as), null, {
2513
- default: f(() => [
2514
- y(o.$slots, "default")
2600
+ function d(b) {
2601
+ c.update(b);
2602
+ }
2603
+ return ce("select", c), r(c), (b, $) => (l(), h(i(ur), {
2604
+ "model-value": a.value,
2605
+ "onUpdate:modelValue": $[0] || ($[0] = (k) => d(k))
2606
+ }, {
2607
+ default: f(({ open: k }) => [
2608
+ w(b.$slots, "default", {
2609
+ modelValue: b.modelValue,
2610
+ open: k
2611
+ }, () => [
2612
+ m(ct),
2613
+ m(pt)
2614
+ ])
2515
2615
  ]),
2516
2616
  _: 3
2517
- }));
2518
- }
2519
- }), Ra = /* @__PURE__ */ h({
2520
- inheritAttrs: !1,
2521
- __name: "HeadlessInputDescription",
2522
- setup(t) {
2523
- const r = z(
2524
- "input",
2525
- "<HeadlessInputDescription> must be a child of a <HeadlessInput>"
2526
- ), e = d(() => typeof r.description == "string" ? r.description : ""), s = d(() => !!r.description);
2527
- return (n, a) => y(n.$slots, "default", {
2528
- id: `${c(r).id}-description`
2529
- }, () => [
2530
- s.value ? (u(), g(T, A({ key: 0 }, n.$attrs, {
2531
- id: `${c(r).id}-description`,
2532
- text: e.value
2533
- }), null, 16, ["id", "text"])) : E("", !0)
2534
- ]);
2535
- }
2536
- }), Fn = ["id"], Va = /* @__PURE__ */ h({
2537
- __name: "HeadlessInputError",
2538
- setup(t) {
2539
- const r = z("input", "<HeadlessInputError> must be a child of a <HeadlessInput>"), e = d(() => r.errors ? $(`errors.${r.errors[0]}`, `Error: ${r.errors[0]}`) : null);
2540
- return (s, n) => e.value ? (u(), b("p", {
2541
- key: 0,
2542
- id: `${c(r).id}-error`
2543
- }, k(e.value), 9, Fn)) : E("", !0);
2617
+ }, 8, ["model-value"]));
2544
2618
  }
2545
- }), Un = ["id", "name", "type", "required", "aria-invalid", "aria-describedby", "checked"], za = /* @__PURE__ */ h({
2546
- __name: "HeadlessInputInput",
2619
+ }), An = /* @__PURE__ */ g({
2620
+ __name: "HeadlessSelectLabel",
2547
2621
  props: {
2548
- type: { default: "text" }
2622
+ asChild: { type: Boolean },
2623
+ as: {}
2549
2624
  },
2550
2625
  setup(t) {
2551
- const r = I(), e = z("input", "<HeadlessInputInput> must be a child of a <HeadlessInput>"), s = d(() => e.name ?? void 0), n = d(() => e.value), a = d(() => {
2552
- if (t.type === "checkbox")
2553
- return !!n.value;
2554
- });
2555
- function i() {
2556
- r.value && e.update(o());
2557
- }
2558
- function o() {
2559
- if (!r.value)
2560
- return null;
2561
- switch (t.type) {
2562
- case "checkbox":
2563
- return r.value.checked;
2564
- case "date":
2565
- return r.value.valueAsDate;
2566
- default:
2567
- return r.value.value;
2568
- }
2569
- }
2570
- return et(e, () => {
2571
- var l;
2572
- return (l = r.value) == null ? void 0 : l.focus();
2573
- }), Be(() => {
2574
- if (r.value) {
2575
- if (t.type === "date") {
2576
- r.value.valueAsDate = n.value;
2577
- return;
2578
- }
2579
- r.value.value = n.value ?? null;
2580
- }
2581
- }), (l, p) => (u(), b("input", {
2582
- id: c(e).id,
2583
- ref_key: "$input",
2584
- ref: r,
2585
- name: s.value,
2586
- type: l.type,
2587
- required: c(e).required ?? void 0,
2588
- "aria-invalid": c(e).errors ? "true" : "false",
2589
- "aria-describedby": c(e).errors ? `${c(e).id}-error` : c(e).description ? `${c(e).id}-description` : void 0,
2590
- checked: a.value,
2591
- onInput: i
2592
- }, null, 40, Un));
2593
- }
2594
- }), Gn = ["for"], qa = /* @__PURE__ */ h({
2595
- __name: "HeadlessInputLabel",
2596
- setup(t) {
2597
- const r = z("input", "<HeadlessInputLabel> must be a child of a <HeadlessInput>"), e = qe(), s = d(() => !!(r.label || e.default));
2598
- return (n, a) => s.value ? (u(), b("label", {
2626
+ const r = j(
2627
+ "select",
2628
+ "<HeadlessSelectLabel> must be a child of a <HeadlessSelect>"
2629
+ ), e = Se(), s = p(() => !!(r.label || e.default));
2630
+ return (n, a) => s.value ? (l(), h(i(cr), I({
2599
2631
  key: 0,
2600
- for: c(r).id
2601
- }, [
2602
- y(n.$slots, "default", {}, () => [
2603
- B(k(c(r).label), 1)
2604
- ])
2605
- ], 8, Gn)) : E("", !0);
2606
- }
2607
- }), Nn = ["id", "name", "required", "value", "aria-invalid", "aria-describedby"], Ba = /* @__PURE__ */ h({
2608
- __name: "HeadlessInputTextArea",
2609
- setup(t) {
2610
- const r = I(), e = z(
2611
- "input",
2612
- "<HeadlessInputTextArea> must be a child of a <HeadlessInput>"
2613
- ), s = d(() => e.name ?? void 0), n = d(() => e.value);
2614
- function a() {
2615
- r.value && e.update(r.value.value);
2616
- }
2617
- return et(e, () => {
2618
- var i;
2619
- return (i = r.value) == null ? void 0 : i.focus();
2620
- }), (i, o) => (u(), b("textarea", {
2621
- id: c(e).id,
2622
- ref_key: "$textArea",
2623
- ref: r,
2624
- name: s.value,
2625
- required: c(e).required ?? void 0,
2626
- value: n.value,
2627
- "aria-invalid": c(e).errors ? "true" : "false",
2628
- "aria-describedby": c(e).errors ? `${c(e).id}-error` : c(e).description ? `${c(e).id}-description` : void 0,
2629
- onInput: a
2630
- }, null, 40, Nn));
2631
- }
2632
- }), Da = /* @__PURE__ */ h({
2633
- __name: "AGErrorMessage",
2634
- props: { error: gr() },
2635
- setup(t) {
2636
- const r = t, e = d(() => Hr(r.error));
2637
- return (s, n) => (u(), g(T, {
2638
- text: e.value,
2639
- inline: ""
2640
- }, null, 8, ["text"]));
2632
+ for: i(r).id
2633
+ }, n.$props), {
2634
+ default: f(() => [
2635
+ w(n.$slots, "default", {}, () => [
2636
+ A(x(i(r).label), 1)
2637
+ ])
2638
+ ]),
2639
+ _: 3
2640
+ }, 16, ["for"])) : M("", !0);
2641
2641
  }
2642
- }), Fa = /* @__PURE__ */ h({
2643
- __name: "AGMeasured",
2644
- props: { as: R("span") },
2642
+ }), Rn = { class: "group" }, zn = { class: "-ml-2 flex w-[max-content] cursor-pointer items-center rounded-lg py-2 pr-3 pl-1 hover:bg-gray-100 focus-visible:outline focus-visible:outline-gray-700" }, Bn = { class: "pt-2 pl-4" }, Ua = /* @__PURE__ */ g({
2643
+ __name: "AdvancedOptions",
2645
2644
  setup(t) {
2646
- const r = I(!1);
2647
- return (e, s) => {
2648
- const n = wt("measure");
2649
- return Fe((u(), g(te(t.as), {
2650
- class: H({ "invisible! absolute! w-auto!": !r.value })
2651
- }, {
2652
- default: f(() => [
2653
- y(e.$slots, "default")
2654
- ]),
2655
- _: 3
2656
- }, 8, ["class"])), [
2657
- [n, () => r.value = !0]
2658
- ]);
2659
- };
2645
+ return (r, e) => (l(), v("details", Rn, [
2646
+ y("summary", zn, [
2647
+ m(i(st), { class: "size-6 transition-transform group-open:rotate-90" }),
2648
+ y("span", null, x(r.$td("ui.advancedOptions", "Advanced options")), 1)
2649
+ ]),
2650
+ y("div", Bn, [
2651
+ w(r.$slots, "default")
2652
+ ])
2653
+ ]));
2660
2654
  }
2661
- }), Wn = { class: "flex h-6 items-center" }, On = {
2662
- key: 0,
2663
- class: "ml-2 text-sm leading-6"
2664
- }, Kn = {
2665
- key: 1,
2666
- class: "ml-2 text-sm leading-6"
2667
- }, Ua = /* @__PURE__ */ h({
2655
+ }), qn = { class: "flex h-6 items-center" }, Na = /* @__PURE__ */ g({
2668
2656
  inheritAttrs: !1,
2669
2657
  __name: "Checkbox",
2670
2658
  props: {
@@ -2672,58 +2660,181 @@ const ja = /* @__PURE__ */ h({
2672
2660
  label: {},
2673
2661
  description: {},
2674
2662
  modelValue: {},
2675
- inputClass: {}
2663
+ inputClass: {},
2664
+ labelClass: {}
2676
2665
  },
2677
2666
  emits: ["update:modelValue"],
2678
2667
  setup(t) {
2679
- const r = Y(t, ["inputClass"]), e = Pe(), [s, n] = ot(), a = d(() => N("relative flex items-start", n.value)), i = d(() => {
2680
- var o, l;
2681
- return N(
2668
+ const r = Z(t, ["inputClass", "labelClass"]), e = me("$input"), [s, n] = it(), a = p(() => T("relative flex items-start", n.value)), o = p(() => {
2669
+ var c, d;
2670
+ return T(
2682
2671
  "size-4 rounded text-primary hover:bg-gray-200 checked:hover:bg-primary/80 checked:border-0",
2683
2672
  {
2684
- "border-gray-300 focus:ring-primary": !((o = e.value) != null && o.errors),
2685
- "border-red-400 border-2 focus:ring-red-600": (l = e.value) == null ? void 0 : l.errors
2673
+ "border-gray-300 focus:ring-primary": !((c = e.value) != null && c.errors),
2674
+ "border-red-400 border-2 focus:ring-red-600": (d = e.value) == null ? void 0 : d.errors
2686
2675
  },
2687
2676
  t.inputClass
2688
2677
  );
2689
- });
2690
- return (o, l) => {
2691
- const p = j("HeadlessInputInput"), w = j("HeadlessInputLabel"), M = j("HeadlessInputError"), S = j("HeadlessInput");
2692
- return u(), g(S, A({
2693
- ref_key: "$input",
2694
- ref: e,
2695
- class: a.value
2696
- }, r, {
2697
- "onUpdate:modelValue": l[0] || (l[0] = (D) => o.$emit("update:modelValue", D))
2698
- }), {
2699
- default: f(() => [
2700
- v("div", Wn, [
2701
- m(p, A(c(s), {
2702
- type: "checkbox",
2703
- class: i.value
2704
- }), null, 16, ["class"])
2678
+ }), u = p(() => T("ml-2 text-sm leading-6", t.labelClass));
2679
+ return (c, d) => (l(), h(at, I({
2680
+ ref_key: "$input",
2681
+ ref: e,
2682
+ class: a.value
2683
+ }, r, {
2684
+ "onUpdate:modelValue": d[0] || (d[0] = (b) => c.$emit("update:modelValue", b))
2685
+ }), {
2686
+ default: f(() => [
2687
+ y("div", qn, [
2688
+ m(ot, I(i(s), {
2689
+ type: "checkbox",
2690
+ class: o.value
2691
+ }), null, 16, ["class"])
2692
+ ]),
2693
+ c.$slots.default ? (l(), v("div", {
2694
+ key: 0,
2695
+ class: P(u.value)
2696
+ }, [
2697
+ m(xe, { class: "text-gray-900" }, {
2698
+ default: f(() => [
2699
+ w(c.$slots, "default")
2700
+ ]),
2701
+ _: 3
2702
+ }),
2703
+ m(Ce, { class: "text-red-600" })
2704
+ ], 2)) : c.label ? (l(), v("div", {
2705
+ key: 1,
2706
+ class: P(u.value)
2707
+ }, [
2708
+ m(xe, { class: "text-gray-900" }),
2709
+ m(Ce, { class: "text-red-600" })
2710
+ ], 2)) : M("", !0)
2711
+ ]),
2712
+ _: 3
2713
+ }, 16, ["class"]));
2714
+ }
2715
+ }), Oa = /* @__PURE__ */ g({
2716
+ __name: "DropdownMenu",
2717
+ props: {
2718
+ align: {},
2719
+ options: {}
2720
+ },
2721
+ setup(t) {
2722
+ return (r, e) => (l(), h(i(dr), null, {
2723
+ default: f(() => [
2724
+ m(i(pr), null, {
2725
+ default: f(() => [
2726
+ w(r.$slots, "default")
2705
2727
  ]),
2706
- o.$slots.default ? (u(), b("div", On, [
2707
- m(w, { class: "text-gray-900" }, {
2728
+ _: 3
2729
+ }),
2730
+ m(i(mr), null, {
2731
+ default: f(() => [
2732
+ m(i(fr), {
2733
+ class: "gap-y-0.5 rounded-lg bg-white p-1.5 shadow-lg ring-1 ring-black/5",
2734
+ align: r.align
2735
+ }, {
2708
2736
  default: f(() => [
2709
- y(o.$slots, "default")
2737
+ (l(!0), v(q, null, U(r.options, (s, n) => (l(), h(i(hr), {
2738
+ key: n,
2739
+ class: "flex w-full items-center rounded-lg px-2 py-2 text-sm text-gray-900 data-[highlighted]:bg-gray-100",
2740
+ onSelect: s.click
2741
+ }, {
2742
+ default: f(() => [
2743
+ A(x(s.label), 1)
2744
+ ]),
2745
+ _: 2
2746
+ }, 1032, ["onSelect"]))), 128))
2710
2747
  ]),
2711
- _: 3
2712
- }),
2713
- m(M, { class: "text-sm text-red-600" })
2714
- ])) : o.label ? (u(), b("div", Kn, [
2715
- m(w),
2716
- m(M, { class: "text-sm text-red-600" })
2717
- ])) : E("", !0)
2718
- ]),
2719
- _: 3
2720
- }, 16, ["class"]);
2721
- };
2748
+ _: 1
2749
+ }, 8, ["align"])
2750
+ ]),
2751
+ _: 1
2752
+ })
2753
+ ]),
2754
+ _: 3
2755
+ }));
2722
2756
  }
2723
- }), Ga = /* @__PURE__ */ h({
2757
+ }), Dn = ["aria-hidden"], Fn = ["tabindex", "aria-label", "type"], Wa = /* @__PURE__ */ g({
2758
+ __name: "EditableContent",
2759
+ props: {
2760
+ type: { default: "text" },
2761
+ contentClass: {},
2762
+ ariaLabel: {},
2763
+ formAriaHidden: { type: Boolean },
2764
+ tabindex: {},
2765
+ text: {},
2766
+ disabled: { type: Boolean }
2767
+ },
2768
+ emits: ["update", "save"],
2769
+ setup(t, { emit: r }) {
2770
+ const e = r, s = H(), n = H(null), a = H(t.text), o = p(() => T("inline whitespace-pre", t.contentClass)), u = p(() => T("invisible whitespace-pre", t.contentClass)), c = p(() => T("absolute inset-0 h-full w-full resize-none border-0 bg-transparent p-0 focus:ring-0", t.contentClass));
2771
+ function d() {
2772
+ n.value = t.text;
2773
+ }
2774
+ function b() {
2775
+ n.value && (t.type !== "number" && a.value.trim().length === 0 && (a.value = n.value, e("update", a.value)), n.value = null, e("save"));
2776
+ }
2777
+ return Me(() => a.value = t.text), ($, k) => (l(), v("div", {
2778
+ class: P(["relative", { "pointer-events-none!": $.disabled && !n.value }])
2779
+ }, [
2780
+ n.value ? (l(), v("span", {
2781
+ key: 1,
2782
+ class: P(u.value)
2783
+ }, x(a.value), 3)) : (l(), v("div", {
2784
+ key: 0,
2785
+ class: P(o.value)
2786
+ }, [
2787
+ w($.$slots, "default")
2788
+ ], 2)),
2789
+ $.type === "number" ? (l(), v("span", {
2790
+ key: 2,
2791
+ class: P(["inline-block transition-[width]", n.value ? "w-5" : "w-0"])
2792
+ }, null, 2)) : M("", !0),
2793
+ y("form", {
2794
+ class: "w-full",
2795
+ "aria-hidden": $.formAriaHidden,
2796
+ onSubmit: k[4] || (k[4] = qe((N) => {
2797
+ var Ie;
2798
+ return (Ie = s.value) == null ? void 0 : Ie.blur();
2799
+ }, ["prevent"]))
2800
+ }, [
2801
+ De(y("input", {
2802
+ ref_key: "$input",
2803
+ ref: s,
2804
+ "onUpdate:modelValue": k[0] || (k[0] = (N) => a.value = N),
2805
+ tabindex: $.tabindex ?? void 0,
2806
+ "aria-label": $.ariaLabel ?? void 0,
2807
+ type: $.type,
2808
+ class: P([
2809
+ c.value,
2810
+ { "opacity-0": !n.value, "appearance-textfield": !n.value && $.type === "number" }
2811
+ ]),
2812
+ onKeyup: k[1] || (k[1] = (N) => $.$emit("update", a.value)),
2813
+ onFocus: k[2] || (k[2] = (N) => d()),
2814
+ onBlur: k[3] || (k[3] = (N) => b())
2815
+ }, null, 42, Fn), [
2816
+ [kt, a.value]
2817
+ ])
2818
+ ], 40, Dn)
2819
+ ], 2));
2820
+ }
2821
+ }), Ka = /* @__PURE__ */ g({
2822
+ __name: "ErrorMessage",
2823
+ props: {
2824
+ error: {}
2825
+ },
2826
+ setup(t) {
2827
+ const r = p(() => Fr(t.error));
2828
+ return (e, s) => (l(), h(R, {
2829
+ text: r.value,
2830
+ inline: ""
2831
+ }, null, 8, ["text"]));
2832
+ }
2833
+ }), Ja = /* @__PURE__ */ g({
2724
2834
  __name: "Link",
2725
2835
  props: {
2726
2836
  class: {},
2837
+ disabled: { type: Boolean },
2727
2838
  href: {},
2728
2839
  route: {},
2729
2840
  routeParams: {},
@@ -2734,16 +2845,85 @@ const ja = /* @__PURE__ */ h({
2734
2845
  as: {}
2735
2846
  },
2736
2847
  setup(t) {
2737
- const r = t;
2738
- return (e, s) => (u(), g(L, A({ variant: "link" }, r), {
2848
+ return (r, e) => (l(), h(V, I({ variant: "link" }, r.$props), {
2739
2849
  default: f(() => [
2740
- y(e.$slots, "default")
2850
+ w(r.$slots, "default")
2851
+ ]),
2852
+ _: 3
2853
+ }, 16));
2854
+ }
2855
+ }), Un = {
2856
+ viewBox: "0 0 20 20",
2857
+ width: "1.2em",
2858
+ height: "1.2em"
2859
+ };
2860
+ function Nn(t, r) {
2861
+ return l(), v("svg", Un, r[0] || (r[0] = [
2862
+ y("path", {
2863
+ fill: "currentColor",
2864
+ d: "m9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828L5.757 6.586L4.343 8z"
2865
+ }, null, -1)
2866
+ ]));
2867
+ }
2868
+ const On = { name: "zondicons-cheveron-down", render: Nn }, Wn = { class: "relative flex max-w-[calc(100vw-2rem)] cursor-pointer items-center truncate rounded-md px-2 py-1 select-none *:truncate group-data-[highlighted]:bg-gray-100 group-data-[state=checked]:font-semibold group-data-[state=unchecked]:opacity-50" }, Kn = { class: "text-sm" }, Qa = /* @__PURE__ */ g({
2869
+ __name: "Select",
2870
+ props: {
2871
+ options: {},
2872
+ placeholder: {},
2873
+ renderOption: { type: Function },
2874
+ name: {},
2875
+ label: {},
2876
+ description: {},
2877
+ modelValue: {}
2878
+ },
2879
+ emits: ["update:modelValue"],
2880
+ setup(t) {
2881
+ const r = me("$select");
2882
+ return (e, s) => (l(), h(jn, I({
2883
+ ref_key: "$select",
2884
+ ref: r
2885
+ }, e.$props, {
2886
+ "onUpdate:modelValue": s[0] || (s[0] = (n) => e.$emit("update:modelValue", n))
2887
+ }), {
2888
+ default: f(() => [
2889
+ m(An, { class: "block text-sm leading-6 font-medium text-gray-900" }),
2890
+ w(e.$slots, "default", {}, () => [
2891
+ m(ct, {
2892
+ class: P(["focus:outline-primary 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 outline-1 -outline-offset-1 outline-gray-300 focus:outline focus:outline-2 focus:-outline-offset-2 sm:text-sm/6", { "mt-1": e.label }])
2893
+ }, {
2894
+ default: f(() => [
2895
+ m(ut, { class: "col-start-1 row-start-1 truncate pr-6" }),
2896
+ m(i(On), { class: "col-start-1 row-start-1 size-5 self-center justify-self-end text-gray-500 sm:size-4" })
2897
+ ]),
2898
+ _: 1
2899
+ }, 8, ["class"]),
2900
+ m(pt, { class: "z-50 overflow-auto rounded-lg bg-white text-base shadow-lg ring-1 ring-black/5 focus:outline-hidden" }, {
2901
+ default: f(() => {
2902
+ var n;
2903
+ return [
2904
+ (l(!0), v(q, null, U(((n = i(r)) == null ? void 0 : n.options) ?? [], (a) => (l(), h(dt, {
2905
+ key: a.key,
2906
+ value: a.value,
2907
+ class: "group p-1 outline-none"
2908
+ }, {
2909
+ default: f(() => [
2910
+ y("div", Wn, [
2911
+ y("span", Kn, x(a.label), 1)
2912
+ ])
2913
+ ]),
2914
+ _: 2
2915
+ }, 1032, ["value"]))), 128))
2916
+ ];
2917
+ }),
2918
+ _: 1
2919
+ })
2920
+ ])
2741
2921
  ]),
2742
2922
  _: 3
2743
2923
  }, 16));
2744
2924
  }
2745
2925
  });
2746
- class Na {
2926
+ class Ga {
2747
2927
  constructor() {
2748
2928
  _(this, "status");
2749
2929
  _(this, "_listeners");
@@ -2751,22 +2931,22 @@ class Na {
2751
2931
  _(this, "_cancelled");
2752
2932
  _(this, "_started");
2753
2933
  _(this, "_completed");
2754
- this.status = this.getInitialStatus(), this._listeners = new Ht(), this._started = new W(), this._completed = new W();
2934
+ this.status = this.getInitialStatus(), this._listeners = new Rt(), this._started = new O(), this._completed = new O();
2755
2935
  }
2756
2936
  async start() {
2757
2937
  this.beforeStart(), this._started.resolve();
2758
2938
  try {
2759
2939
  await this.updateProgress(), await this.run(), await this.updateProgress(), this._completed.resolve();
2760
2940
  } catch (r) {
2761
- if (r instanceof je)
2941
+ if (r instanceof Ae)
2762
2942
  return;
2763
- throw K(Lt(r), (e) => {
2943
+ throw K(zt(r), (e) => {
2764
2944
  this._completed.reject(e);
2765
2945
  });
2766
2946
  }
2767
2947
  }
2768
2948
  async cancel() {
2769
- this._cancelled = new W(), await this._cancelled;
2949
+ this._cancelled = new O(), await this._cancelled;
2770
2950
  }
2771
2951
  serialize() {
2772
2952
  return this.serializeStatus(this.status);
@@ -2801,10 +2981,10 @@ class Na {
2801
2981
  }
2802
2982
  assertNotCancelled() {
2803
2983
  if (this._cancelled)
2804
- throw this._cancelled.resolve(), new je();
2984
+ throw this._cancelled.resolve(), new Ae();
2805
2985
  }
2806
2986
  calculateCurrentProgress(r) {
2807
- return r ?? (r = this.status), r.completed ? 1 : r.children ? Tt(
2987
+ return r ?? (r = this.status), r.completed ? 1 : r.children ? Bt(
2808
2988
  r.children.reduce((e, s) => e + this.calculateCurrentProgress(s), 0) / r.children.length,
2809
2989
  2
2810
2990
  ) : 0;
@@ -2818,151 +2998,132 @@ class Na {
2818
2998
  return { ...r };
2819
2999
  }
2820
3000
  }
2821
- async function Wa(t) {
3001
+ async function Za(t) {
2822
3002
  await t.start();
2823
3003
  }
2824
- function Oa(t) {
2825
- let r = jt;
2826
- $t(() => r = t()), oe(() => r());
2827
- }
2828
- function Ka(t, r) {
2829
- const e = ue(U.get(t) ?? r);
2830
- return Se(e, () => U.set(t, xt(e))), e;
2831
- }
2832
- function Qa(t) {
2833
- return t.split(/\s+/).filter((r) => !/^(hover|focus|focus-visible):/.test(r)).join(" ").trim();
2834
- }
2835
3004
  export {
2836
- Da as AGErrorMessage,
2837
- jn as AGHeadlessSelect,
2838
- zn as AGHeadlessSelectError,
2839
- qn as AGHeadlessSelectOption,
2840
- Bn as AGHeadlessSelectOptions,
2841
- Rn as AGHeadlessSelectTrigger,
2842
- Dr as AGHeadlessSnackbar,
2843
- Fa as AGMeasured,
2844
- La as AGSelect,
2845
- rs as AGSnackbar,
2846
- is as AGStartupCrash,
2847
- vs as AlertModal,
2848
- G as App,
2849
- Ia as AppLayout,
2850
- Pn as AppOverlays,
2851
- cr as AppService,
2852
- L as Button,
2853
- ba as Cache,
2854
- yr as CacheService,
2855
- Ua as Checkbox,
2856
- ae as Colors,
2857
- Es as ConfirmModal,
2858
- sn as ErrorReportModal,
2859
- Ks as ErrorReportModalButtons,
2860
- Qs as ErrorReportModalTitle,
2861
- Xe as Errors,
2862
- ia as EventListenerPriorities,
2863
- x as Events,
2864
- ir as EventsService,
2865
- st as Form,
2866
- ys as FormController,
2867
- q as FormFieldTypes,
2868
- Wr as HeadlessButton,
2869
- ja as HeadlessInput,
2870
- Ra as HeadlessInputDescription,
2871
- Va as HeadlessInputError,
2872
- za as HeadlessInputInput,
2873
- qa as HeadlessInputLabel,
3005
+ Ua as AdvancedOptions,
3006
+ ms as AlertModal,
3007
+ F as App,
3008
+ Ra as AppLayout,
3009
+ In as AppOverlays,
3010
+ Cr as AppService,
3011
+ V as Button,
3012
+ ka as Cache,
3013
+ Hr as CacheService,
3014
+ Na as Checkbox,
3015
+ Cs as ConfirmModal,
3016
+ Oa as DropdownMenu,
3017
+ Wa as EditableContent,
3018
+ Ka as ErrorMessage,
3019
+ Xs as ErrorReportModal,
3020
+ Us as ErrorReportModalButtons,
3021
+ Ns as ErrorReportModalTitle,
3022
+ Qe as Errors,
3023
+ oa as EventListenerPriorities,
3024
+ S as Events,
3025
+ $r as EventsService,
3026
+ tt as Form,
3027
+ gs as FormController,
3028
+ B as FormFieldTypes,
3029
+ ns as HeadlessButton,
3030
+ at as HeadlessInput,
3031
+ cn as HeadlessInputDescription,
3032
+ Ce as HeadlessInputError,
3033
+ ot as HeadlessInputInput,
3034
+ xe as HeadlessInputLabel,
2874
3035
  Ba as HeadlessInputTextArea,
2875
- ds as HeadlessModal,
2876
- ps as HeadlessModalContent,
2877
- ms as HeadlessModalOverlay,
2878
- fs as HeadlessModalTitle,
2879
- fn as Input,
2880
- Na as Job,
2881
- je as JobCancelledError,
2882
- ne as Lang,
2883
- me as Layouts,
2884
- Ga as Link,
2885
- pn as LoadingModal,
2886
- Qe as MOBILE_BREAKPOINT,
2887
- T as Markdown,
2888
- le as Modal,
2889
- rt as ModalContext,
2890
- un as ProgressBar,
2891
- vn as PromptModal,
2892
- ve as Service,
2893
- xe as ServiceBootError,
2894
- Fr as SnackbarColors,
2895
- $r as Storage,
2896
- P as UI,
2897
- C as UIComponents,
2898
- Cr as UIService,
2899
- dr as arrayProp,
2900
- $a as booleanInput,
2901
- ca as booleanProp,
2902
- be as bootServices,
2903
- Pa as bootstrap,
2904
- yn as bootstrapApplication,
2905
- Pe as componentRef,
2906
- ua as computedAsync,
2907
- xa as dateInput,
3036
+ is as HeadlessModal,
3037
+ ls as HeadlessModalContent,
3038
+ us as HeadlessModalOverlay,
3039
+ cs as HeadlessModalTitle,
3040
+ jn as HeadlessSelect,
3041
+ An as HeadlessSelectLabel,
3042
+ dt as HeadlessSelectOption,
3043
+ pt as HeadlessSelectOptions,
3044
+ ct as HeadlessSelectTrigger,
3045
+ ut as HeadlessSelectValue,
3046
+ xn as HeadlessToast,
3047
+ mn as Input,
3048
+ Ga as Job,
3049
+ Ae as JobCancelledError,
3050
+ re as Lang,
3051
+ le as Layouts,
3052
+ Ja as Link,
3053
+ on as LoadingModal,
3054
+ We as MOBILE_BREAKPOINT,
3055
+ R as Markdown,
3056
+ ne as Modal,
3057
+ et as ModalContext,
3058
+ nn as ProgressBar,
3059
+ gn as PromptModal,
3060
+ Qa as Select,
3061
+ ge as Service,
3062
+ $e as ServiceBootError,
3063
+ wn as StartupCrash,
3064
+ Lr as Storage,
3065
+ Cn as Toast,
3066
+ L as UI,
3067
+ E as UIComponents,
3068
+ Ar as UIService,
3069
+ la as arrayProp,
3070
+ Pa as booleanInput,
3071
+ ua as booleanProp,
3072
+ ve as bootServices,
3073
+ Aa as bootstrap,
3074
+ Mn as bootstrapApplication,
3075
+ ca as computedAsync,
3076
+ Ha as dateInput,
2908
3077
  da as defineDirective,
2909
- wa as defineFormValidationRule,
2910
- la as definePlugin,
2911
- ge as defineServiceState,
2912
- or as defineServiceStore,
2913
- Wa as dispatch,
2914
- Aa as elementRef,
2915
- pr as enumProp,
2916
- Ha as extractSelectProps,
2917
- Je as getCurrentLayout,
2918
- Hr as getErrorMessage,
2919
- ar as getPiniaStore,
2920
- pa as injectOrFail,
2921
- mr as injectReactive,
2922
- z as injectReactiveOrFail,
2923
- ur as installPlugins,
2924
- ma as listenerProp,
2925
- Ke as mixedProp,
2926
- Ma as numberInput,
2927
- fa as numberProp,
2928
- ha as objectProp,
2929
- Oa as onCleanMounted,
2930
- Ta as onFormFocus,
2931
- Ka as persistent,
2932
- ya as registerErrorHandler,
2933
- Qa as removeInteractiveClasses,
2934
- Yr as renderMarkdown,
2935
- _a as replaceExisting,
2936
- fr as requiredArrayProp,
2937
- Sa as requiredBooleanInput,
2938
- ka as requiredDateInput,
2939
- ga as requiredEnumProp,
2940
- hr as requiredMixedProp,
2941
- Ca as requiredNumberInput,
2942
- va as requiredNumberProp,
2943
- gr as requiredObjectProp,
2944
- ws as requiredStringInput,
2945
- Te as requiredStringProp,
2946
- nr as resetPiniaStore,
2947
- es as safeHtml,
2948
- Tn as selectEmits,
2949
- it as selectProps,
2950
- Ur as snackbarProps,
2951
- Ea as stringInput,
2952
- R as stringProp,
2953
- Ze as translate,
2954
- $ as translateWithDefault,
2955
- $s as useConfirmModal,
2956
- se as useEvent,
2957
- nt as useForm,
2958
- ot as useInputAttrs,
2959
- dn as useLoadingModal,
2960
- hn as usePromptModal,
2961
- ct as useSelectEmits,
2962
- lt as useSelectProps,
2963
- Nr as useSnackbar,
2964
- Gr as useSnackbarProps,
2965
- _s as validate,
2966
- ce as validators
3078
+ Ea as defineFormValidationRule,
3079
+ ia as definePlugin,
3080
+ he as defineServiceState,
3081
+ wr as defineServiceStore,
3082
+ Za as dispatch,
3083
+ za as elementRef,
3084
+ pa as enumProp,
3085
+ Ke as getCurrentLayout,
3086
+ Fr as getErrorMessage,
3087
+ _r as getPiniaStore,
3088
+ Tn as hasSelectOptionLabel,
3089
+ ma as injectOrFail,
3090
+ Sr as injectReactive,
3091
+ j as injectReactiveOrFail,
3092
+ kr as installPlugins,
3093
+ fa as listenerProp,
3094
+ ha as mixedProp,
3095
+ Va as numberInput,
3096
+ ga as numberProp,
3097
+ va as objectProp,
3098
+ qa as onCleanMounted,
3099
+ Da as persistent,
3100
+ Ma as registerErrorHandler,
3101
+ Fa as removeInteractiveClasses,
3102
+ ts as renderMarkdown,
3103
+ Sa as replaceExisting,
3104
+ ba as requiredArrayProp,
3105
+ Ia as requiredBooleanInput,
3106
+ La as requiredDateInput,
3107
+ ya as requiredEnumProp,
3108
+ _a as requiredMixedProp,
3109
+ Ta as requiredNumberInput,
3110
+ wa as requiredNumberProp,
3111
+ $a as requiredObjectProp,
3112
+ vs as requiredStringInput,
3113
+ xa as requiredStringProp,
3114
+ yr as resetPiniaStore,
3115
+ rs as safeHtml,
3116
+ ja as stringInput,
3117
+ Ca as stringProp,
3118
+ Je as translate,
3119
+ C as translateWithDefault,
3120
+ bs as useConfirmModal,
3121
+ ee as useEvent,
3122
+ rt as useForm,
3123
+ it as useInputAttrs,
3124
+ an as useLoadingModal,
3125
+ fn as usePromptModal,
3126
+ hs as validate,
3127
+ ae as validators
2967
3128
  };
2968
3129
  //# sourceMappingURL=aerogel-core.js.map