@wssto2/vue-core 0.4.20 → 0.4.23

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 (37) hide show
  1. package/CHANGELOG.md +460 -0
  2. package/dist/{Activity-C0NvjIi5.js → Activity-Cu_mAn_m.js} +1 -1
  3. package/dist/{Changes-hoMHeAZt.js → Changes-DW_3-MwX.js} +1 -1
  4. package/dist/{DeadLetters-O6QReswO.js → DeadLetters-CpcMccCc.js} +1 -1
  5. package/dist/{FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js → FormErrors.vue_vue_type_script_setup_true_lang-4WQz-TYS.js} +75 -74
  6. package/dist/{FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js → FormView.vue_vue_type_script_setup_true_lang-CbvMRBOc.js} +1 -1
  7. package/dist/{General-9Sgxb74n.js → General-Dbc3qDRz.js} +3 -3
  8. package/dist/{NewRolePage-D-LunWMH.js → NewRolePage-DPHFJ0I8.js} +2 -2
  9. package/dist/{ProfilePage-DJUDCyEr.js → ProfilePage-Cc7eiyV2.js} +3 -3
  10. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-D-b-O6SG.js → RoleEditor.vue_vue_type_script_setup_true_lang-2fpYYCXj.js} +3 -3
  11. package/dist/{RolePage-Ha-EgoEJ.js → RolePage-C0jmkQkO.js} +3 -3
  12. package/dist/{RolesPage-8uWWCClN.js → RolesPage-eb4gqxdW.js} +1 -1
  13. package/dist/{Sessions-Dz4KYMu9.js → Sessions-DSDcj8Yd.js} +1 -1
  14. package/dist/{SettingsPage-D47NSOYW.js → SettingsPage-BF7MW1GH.js} +3 -3
  15. package/dist/{SignIn-CNv68Tba.js → SignIn-BR8-RVIk.js} +1 -1
  16. package/dist/{SignInPage-CsjC4aiV.js → SignInPage-Dcws582A.js} +2 -2
  17. package/dist/{SignIns-CgsNf8uf.js → SignIns-3u7YgKqh.js} +1 -1
  18. package/dist/{UserRecord-B9r_9U1z.js → UserRecord-AtZIwCO9.js} +3 -3
  19. package/dist/{UsersList-BBLa3OCv.js → UsersList-1IeQnvOL.js} +3 -3
  20. package/dist/access/index.js +1 -1
  21. package/dist/form/CommandDialog.vue.d.ts +4 -1
  22. package/dist/form/MonthYearField.vue.d.ts +3 -1
  23. package/dist/form/index.js +728 -717
  24. package/dist/form/useCommand.d.ts +21 -0
  25. package/dist/form/useForm.d.ts +1 -1
  26. package/dist/identity/index.js +1 -1
  27. package/dist/{index-Dxu7ZfCC.js → index--CxZ33h0.js} +12 -12
  28. package/dist/{index-D-0JNiFF.js → index-DBTK_iMB.js} +2 -2
  29. package/dist/{index-D6BjUQJT.js → index-Du3Ti2Zp.js} +4 -4
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.js +1 -1
  32. package/dist/notifications/index.js +1 -1
  33. package/dist/{status-BLTC7wi1.js → status-QOGPjIHu.js} +1 -1
  34. package/dist/useCommand-CT1RF_IB.js +169 -0
  35. package/dist/{useResourceForm-CP2lCwmD.js → useResourceForm-CQuniKhd.js} +1 -1
  36. package/package.json +3 -2
  37. package/dist/useCommand-YN9EMb7s.js +0 -138
@@ -1,10 +1,10 @@
1
1
  var Q = Object.defineProperty;
2
2
  var X = (s, e, t) => e in s ? Q(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
3
3
  var $ = (s, e, t) => X(s, typeof e != "symbol" ? e + "" : e, t);
4
- import { shallowRef as M, computed as w, toRaw as Z, reactive as K, ref as Y, watch as ee, nextTick as te, toValue as re, defineComponent as se, unref as k, openBlock as b, createBlock as ne, withCtx as ae, createElementBlock as y, toDisplayString as O, createCommentVNode as _, Fragment as I, createElementVNode as W, normalizeClass as ie, renderList as le, createTextVNode as U } from "vue";
4
+ import { shallowRef as M, computed as w, toRaw as Z, reactive as K, ref as Y, watch as ee, nextTick as te, toValue as re, defineComponent as se, unref as k, openBlock as b, createBlock as ne, withCtx as ae, createElementBlock as y, toDisplayString as O, createCommentVNode as _, Fragment as I, createElementVNode as W, normalizeClass as le, renderList as ie, createTextVNode as U } from "vue";
5
5
  import { useI18n as G } from "vue-i18n";
6
- import { i as oe, a as q } from "./error-CD7x0Jrz.js";
7
- import { d as ue } from "./describeError-B-NMa--w.js";
6
+ import { i as ue, a as q } from "./error-CD7x0Jrz.js";
7
+ import { d as oe } from "./describeError-B-NMa--w.js";
8
8
  import { _ as ce } from "./Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js";
9
9
  class fe {
10
10
  constructor() {
@@ -39,9 +39,9 @@ class fe {
39
39
  return this.messages.value;
40
40
  }
41
41
  }
42
- function f(s) {
42
+ function d(s) {
43
43
  const e = Z(s);
44
- return e === null || typeof e != "object" ? e : e instanceof Date ? new Date(e.getTime()) : typeof Blob < "u" && e instanceof Blob ? e : Array.isArray(e) ? e.map(f) : Object.fromEntries(Object.entries(e).map(([t, n]) => [t, f(n)]));
44
+ return e === null || typeof e != "object" ? e : e instanceof Date ? new Date(e.getTime()) : typeof Blob < "u" && e instanceof Blob ? e : Array.isArray(e) ? e.map(d) : Object.fromEntries(Object.entries(e).map(([t, n]) => [t, d(n)]));
45
45
  }
46
46
  function S(s, e) {
47
47
  const t = s, n = e;
@@ -49,10 +49,10 @@ function S(s, e) {
49
49
  if (t === null || n === null || typeof t != "object" || typeof n != "object") return !1;
50
50
  if (t instanceof Date || n instanceof Date) return t instanceof Date && n instanceof Date && t.getTime() === n.getTime();
51
51
  if (Array.isArray(t) || Array.isArray(n))
52
- return Array.isArray(t) && Array.isArray(n) && t.length === n.length && t.every((i, d) => S(i, n[d]));
52
+ return Array.isArray(t) && Array.isArray(n) && t.length === n.length && t.every((l, m) => S(l, n[m]));
53
53
  if (typeof Blob < "u" && (t instanceof Blob || n instanceof Blob)) return !1;
54
- const a = (i) => Object.keys(i).filter((d) => i[d] !== void 0), c = a(t);
55
- return c.length === a(n).length && c.every((i) => S(t[i], n[i]));
54
+ const a = (l) => Object.keys(l).filter((m) => l[m] !== void 0), c = a(t);
55
+ return c.length === a(n).length && c.every((l) => S(t[l], n[l]));
56
56
  }
57
57
  function H(s) {
58
58
  const e = {};
@@ -64,35 +64,36 @@ function H(s) {
64
64
  }
65
65
  const de = (s) => s.split(".")[0] ?? s, L = () => typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `${Date.now()}-${Math.random().toString(36).slice(2)}`;
66
66
  function _e(s) {
67
- const { t: e } = G(), t = s.describeFieldError ?? ue(), a = K(f(typeof s.defaults == "function" ? s.defaults() : s.defaults)), c = M(f(a)), i = new fe(), d = Y(!1), m = M(null), A = w(() => !S(a, c.value));
67
+ const { t: e } = G(), t = s.describeFieldError ?? oe(), a = K(d(typeof s.defaults == "function" ? s.defaults() : s.defaults)), c = M(d(a)), l = new fe(), m = Y(!1), f = M(null), A = w(() => !S(a, c.value));
68
68
  let E = null, T = L();
69
69
  function F(r) {
70
- const l = a;
71
- for (const o of Object.keys(l)) o in r || delete l[o];
72
- Object.assign(l, f(r));
70
+ const i = a;
71
+ for (const u of Object.keys(i)) u in r || delete i[u];
72
+ Object.assign(i, d(r));
73
73
  }
74
74
  function C() {
75
- i.clear(), m.value = null;
75
+ l.clear(), f.value = null;
76
76
  }
77
- function D(r, l) {
78
- const o = q(l) ? l.requestId : null, u = s.failureMessage?.(r, l) ?? e(`core.form.failure.${r}`);
79
- return m.value = { kind: r, message: u, requestId: o, error: l };
77
+ function D(r, i) {
78
+ const u = q(i) ? i.requestId : null, o = s.failureMessage?.(r, i) ?? e(`core.form.failure.${r}`);
79
+ return f.value = { kind: r, message: o, requestId: u, error: i };
80
80
  }
81
- function x(r, l = !1) {
82
- const { serverField: o } = s, u = t, j = l && o ? Object.entries(r).map(([v, h]) => [o(v), h]) : Object.entries(r);
83
- i.set(Object.fromEntries(u ? j.map(([v, h]) => [v, h.map((B) => u(B, v))]) : j));
81
+ function x(r, i = !1) {
82
+ const { serverField: u } = s, o = t, j = i && u ? Object.entries(r).map(([v, h]) => [u(v), h]) : Object.entries(r);
83
+ l.set(Object.fromEntries(o ? j.map(([v, h]) => [v, h.map((B) => o(B, v))]) : j));
84
84
  }
85
85
  function z() {
86
- if (i.clear(), !s.validator) return f(a);
87
- const r = s.validator.safeParse(f(a));
88
- return r.success ? r.data : (x(H(r.error.issues)), null);
86
+ if (l.clear(), !s.validator)
87
+ return f.value = null, d(a);
88
+ const r = s.validator.safeParse(d(a));
89
+ return r.success ? (f.value = null, r.data) : (x(H(r.error.issues)), null);
89
90
  }
90
91
  function N(r) {
91
- if (i.clear(), !s.validator) return !0;
92
- const l = s.validator.safeParse(f(a));
93
- if (l.success) return !0;
94
- const o = Object.fromEntries(Object.entries(H(l.error.issues)).filter(([u]) => r.includes(de(u))));
95
- return x(o), Object.keys(o).length === 0;
92
+ if (l.clear(), !s.validator) return !0;
93
+ const i = s.validator.safeParse(d(a));
94
+ if (i.success) return !0;
95
+ const u = Object.fromEntries(Object.entries(H(i.error.issues)).filter(([o]) => r.includes(de(o))));
96
+ return x(u), Object.keys(u).length === 0;
96
97
  }
97
98
  function J(r) {
98
99
  if (!q(r)) return "failed";
@@ -111,30 +112,30 @@ function _e(s) {
111
112
  return "failed";
112
113
  }
113
114
  }
114
- async function P(r, l, o, u) {
115
+ async function P(r, i, u, o) {
115
116
  if (E) return E;
116
117
  const v = (async () => {
117
- m.value = null;
118
+ f.value = null;
118
119
  const h = r();
119
120
  if (h === null) return { status: "failed", failure: D("invalid", null) };
120
- const B = f(a);
121
+ const B = d(a);
121
122
  let p;
122
- d.value = !0;
123
+ m.value = !0;
123
124
  try {
124
- p = await l(h, { idempotencyKey: T });
125
+ p = await i(h, { idempotencyKey: T });
125
126
  } catch (g) {
126
- if (d.value = !1, oe(g)) return { status: "aborted" };
127
+ if (m.value = !1, ue(g)) return { status: "aborted" };
127
128
  const R = J(g);
128
129
  return R === "invalid" && q(g) && x(g.fields, !0), { status: "failed", failure: D(R, g) };
129
130
  }
130
- const V = u?.hydrateFrom?.(p) ?? null;
131
- V ? (F(V), c.value = f(V), i.clear()) : o(p, B);
131
+ const V = o?.hydrateFrom?.(p) ?? null;
132
+ V ? (F(V), c.value = d(V), l.clear()) : u(p, B);
132
133
  try {
133
- await u?.refresh?.(p);
134
+ await o?.refresh?.(p);
134
135
  } catch (g) {
135
136
  return D("refresh", g), { status: "saved-refresh-failed", value: p, error: g };
136
137
  } finally {
137
- d.value = !1;
138
+ m.value = !1;
138
139
  }
139
140
  return { status: "saved", value: p };
140
141
  })().finally(() => {
@@ -144,69 +145,69 @@ function _e(s) {
144
145
  }
145
146
  return {
146
147
  values: a,
147
- errors: i,
148
+ errors: l,
148
149
  dirty: A,
149
- submitting: d,
150
- failure: m,
150
+ submitting: m,
151
+ failure: f,
151
152
  bind(r) {
152
153
  return {
153
154
  get modelValue() {
154
155
  return a[r];
155
156
  },
156
- "onUpdate:modelValue"(l) {
157
- a[r] = l, i.clear(r);
157
+ "onUpdate:modelValue"(i) {
158
+ a[r] = i, l.clear(r);
158
159
  },
159
160
  get error() {
160
- return i.first(r);
161
+ return l.first(r);
161
162
  },
162
163
  "data-field-key": r
163
164
  };
164
165
  },
165
- bindMonthYear(r, l) {
166
- const o = a;
166
+ bindMonthYear(r, i) {
167
+ const u = a;
167
168
  return {
168
169
  get month() {
169
- return o[r] ?? null;
170
+ return u[r] ?? null;
170
171
  },
171
172
  get year() {
172
- return o[l] ?? null;
173
+ return u[i] ?? null;
173
174
  },
174
- "onUpdate:month"(u) {
175
- o[r] = u, i.clear(r);
175
+ "onUpdate:month"(o) {
176
+ u[r] = o, l.clear(r);
176
177
  },
177
- "onUpdate:year"(u) {
178
- o[l] = u, i.clear(l);
178
+ "onUpdate:year"(o) {
179
+ u[i] = o, l.clear(i);
179
180
  },
180
181
  get error() {
181
- return i.first(r) ?? i.first(l);
182
+ return l.first(r) ?? l.first(i);
182
183
  },
183
- "data-field-key": `${r} ${l}`
184
+ "data-field-key": `${r} ${i}`
184
185
  };
185
186
  },
186
187
  hydrate(r) {
187
- F(r), c.value = f(r), C();
188
+ F(r), c.value = d(r), C();
188
189
  },
189
190
  reset() {
190
191
  F(c.value), C();
191
192
  },
192
193
  markClean() {
193
- c.value = f(a);
194
+ c.value = d(a);
194
195
  },
195
196
  validate: z,
196
197
  check: N,
197
- submit: (r, l) => P(z, r, (o, u) => c.value = u, l),
198
- submitFields: (r, l, o) => P(
199
- () => N(r) ? Object.fromEntries(r.map((u) => [u, f(a[u])])) : null,
200
- l,
201
- (u, j) => {
202
- const v = f(c.value);
203
- for (const h of r) v[h] = f(j[h]);
198
+ submit: (r, i) => P(z, r, (u, o) => c.value = o, i),
199
+ submitFields: (r, i, u) => P(
200
+ () => N(r) ? Object.fromEntries(r.map((o) => [o, d(a[o])])) : null,
201
+ i,
202
+ (o, j) => {
203
+ const v = d(c.value);
204
+ for (const h of r) v[h] = d(j[h]);
204
205
  c.value = v;
205
206
  },
206
- o
207
+ u
207
208
  ),
208
209
  dismissFailure() {
209
- m.value = null;
210
+ f.value = null;
210
211
  }
211
212
  };
212
213
  }
@@ -216,8 +217,8 @@ function me(s) {
216
217
  () => s.form.errors.all(),
217
218
  async (t) => {
218
219
  await te();
219
- const n = re(s.root) ?? document, a = new Set([...n.querySelectorAll("[data-field-key]")].flatMap((i) => (i.getAttribute("data-field-key") ?? "").split(/\s+/))), c = (i) => i.split(".").some((d, m, A) => a.has(A.slice(0, m + 1).join(".")));
220
- e.value = Object.entries(t).flatMap(([i, d]) => d[0] && !c(i) ? [{ field: i, message: d[0] }] : []);
220
+ const n = re(s.root) ?? document, a = new Set([...n.querySelectorAll("[data-field-key]")].flatMap((l) => (l.getAttribute("data-field-key") ?? "").split(/\s+/))), c = (l) => l.split(".").some((m, f, A) => a.has(A.slice(0, f + 1).join(".")));
221
+ e.value = Object.entries(t).flatMap(([l, m]) => m[0] && !c(l) ? [{ field: l, message: m[0] }] : []);
221
222
  },
222
223
  { immediate: !0 }
223
224
  ), w(() => e.value);
@@ -245,7 +246,7 @@ const ve = {
245
246
  },
246
247
  root: () => e.scope
247
248
  }), a = w(() => e.form.failure.value), c = w(() => a.value?.kind === "conflict" || a.value?.kind === "refresh" ? "warning" : "critical");
248
- return (i, d) => a.value || k(n).length ? (b(), ne(ce, {
249
+ return (l, m) => a.value || k(n).length ? (b(), ne(ce, {
249
250
  key: 0,
250
251
  tone: a.value ? c.value : "warning",
251
252
  "data-test": "form-errors"
@@ -254,17 +255,17 @@ const ve = {
254
255
  a.value ? (b(), y("p", ve, O(a.value.message), 1)) : _("", !0),
255
256
  k(n).length ? (b(), y(I, { key: 1 }, [
256
257
  W("p", {
257
- class: ie(["text-footnote", a.value ? "mt-1" : "font-medium"])
258
+ class: le(["text-footnote", a.value ? "mt-1" : "font-medium"])
258
259
  }, O(k(t)("core.form.errors.hidden_title")), 3),
259
260
  W("ul", he, [
260
- (b(!0), y(I, null, le(k(n), (m) => (b(), y("li", {
261
- key: m.field
261
+ (b(!0), y(I, null, ie(k(n), (f) => (b(), y("li", {
262
+ key: f.field
262
263
  }, [
263
- U(O(m.field ? e.label(m.field) : ""), 1),
264
- m.field ? (b(), y(I, { key: 0 }, [
264
+ U(O(f.field ? e.label(f.field) : ""), 1),
265
+ f.field ? (b(), y(I, { key: 0 }, [
265
266
  U(": ")
266
267
  ], 64)) : _("", !0),
267
- U(O(m.message), 1)
268
+ U(O(f.message), 1)
268
269
  ]))), 128))
269
270
  ])
270
271
  ], 64)) : _("", !0),
@@ -278,7 +279,7 @@ export {
278
279
  fe as E,
279
280
  we as _,
280
281
  me as a,
281
- f as c,
282
+ d as c,
282
283
  de as f,
283
284
  S as s,
284
285
  _e as u
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as n, provide as f, computed as s, useTemplateRef as u, openBlock as t, createElementBlock as p, withModifiers as c, createBlock as d, createCommentVNode as b, renderSlot as _ } from "vue";
2
2
  import { d as v } from "./control-B4SdblL6.js";
3
- import { _ as k } from "./FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
3
+ import { _ as k } from "./FormErrors.vue_vue_type_script_setup_true_lang-4WQz-TYS.js";
4
4
  const x = /* @__PURE__ */ n({
5
5
  __name: "FormView",
6
6
  props: {
@@ -2,13 +2,13 @@ import { defineComponent as R, computed as N, openBlock as i, createElementBlock
2
2
  import { useI18n as V } from "vue-i18n";
3
3
  import { RouterLink as B } from "vue-router";
4
4
  import { u as E } from "./format-D8X4zsx6.js";
5
- import { u as T } from "./useResourceForm-CP2lCwmD.js";
5
+ import { u as T } from "./useResourceForm-CQuniKhd.js";
6
6
  import { _ as h } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
7
- import { _ as F } from "./FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js";
7
+ import { _ as F } from "./FormView.vue_vue_type_script_setup_true_lang-CbvMRBOc.js";
8
8
  import { _ as L } from "./SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js";
9
9
  import { _ as f } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
10
10
  import { u as A } from "./useSaveChrome-7huA3FzR.js";
11
- import { P as D, b as G, i as I } from "./index-Dxu7ZfCC.js";
11
+ import { P as D, b as G, i as I } from "./index--CxZ33h0.js";
12
12
  import { t as M } from "./toast-CqSDTWRX.js";
13
13
  import { u as O } from "./platform-q3cjODLx.js";
14
14
  import { b as U } from "./routeResource-DlTsGTg_.js";
@@ -4,8 +4,8 @@ import { useRoute as k, useRouter as R } from "vue-router";
4
4
  import { a as $ } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-CxU9aNRQ.js";
5
5
  import { _ as b } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
6
6
  import { u as g } from "./useLoad-M7V-AVwR.js";
7
- import { a as x, c as u } from "./index-D6BjUQJT.js";
8
- import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-D-b-O6SG.js";
7
+ import { a as x, c as u } from "./index-Du3Ti2Zp.js";
8
+ import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-2fpYYCXj.js";
9
9
  const V = /* @__PURE__ */ _({
10
10
  __name: "NewRolePage",
11
11
  setup(h) {
@@ -4,9 +4,9 @@ import { a as ge } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang
4
4
  import { u as L } from "./platform-q3cjODLx.js";
5
5
  import { _ as Q } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
6
6
  import { u as Y } from "./useLoad-M7V-AVwR.js";
7
- import { i as k, d as G } from "./index-Dxu7ZfCC.js";
8
- import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
9
- import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js";
7
+ import { i as k, d as G } from "./index--CxZ33h0.js";
8
+ import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-4WQz-TYS.js";
9
+ import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-CbvMRBOc.js";
10
10
  import { _ as U } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
11
11
  import { _ as H } from "./Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
12
12
  import { t as C } from "./toast-CqSDTWRX.js";
@@ -1,15 +1,15 @@
1
1
  import { defineComponent as I, computed as h, ref as M, openBlock as l, createElementBlock as v, createElementVNode as w, unref as t, Fragment as B, renderList as N, normalizeClass as K, toDisplayString as d, createVNode as V, withCtx as p, createTextVNode as y, createCommentVNode as $, createBlock as _, createSlots as X, watch as Y, mergeProps as F } from "vue";
2
2
  import { useI18n as Q } from "vue-i18n";
3
- import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
3
+ import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-4WQz-TYS.js";
4
4
  import { _ as W } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
5
- import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js";
5
+ import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-CbvMRBOc.js";
6
6
  import { _ as te } from "./TextareaField.vue_vue_type_script_setup_true_lang-BJ4__cvJ.js";
7
7
  import { _ as se } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
8
8
  import { u as ae } from "./useSaveChrome-7huA3FzR.js";
9
9
  import { t as oe } from "./toast-CqSDTWRX.js";
10
10
  import { _ as S } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
11
11
  import { _ as E } from "./Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js";
12
- import { d as G, u as J, p as ne, o as R, r as D, g as H, s as le, e as re, a as ie, f as ce, b as ue, h as de } from "./index-D6BjUQJT.js";
12
+ import { d as G, u as J, p as ne, o as R, r as D, g as H, s as le, e as re, a as ie, f as ce, b as ue, h as de } from "./index-Du3Ti2Zp.js";
13
13
  import { _ as me } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
14
14
  import { _ as fe } from "./Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js";
15
15
  import { _ as pe } from "./SegmentedField.vue_vue_type_script_setup_true_lang-Dg-_ZjgR.js";
@@ -13,11 +13,11 @@ import { a as ae, u as le } from "./routeResource-DlTsGTg_.js";
13
13
  import { a as se } from "./ResourcePage.vue_vue_type_script_setup_true_lang-BFaaFQSm.js";
14
14
  import { _ as re } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
15
15
  import { _ as H } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
16
- import { u as O, a as U, f as ce, d as ne, b as M, c as T } from "./index-D6BjUQJT.js";
16
+ import { u as O, a as U, f as ce, d as ne, b as M, c as T } from "./index-Du3Ti2Zp.js";
17
17
  import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js";
18
- import { u as ie, _ as ue } from "./useCommand-YN9EMb7s.js";
18
+ import { u as ie, _ as ue } from "./useCommand-CT1RF_IB.js";
19
19
  import { _ as me } from "./Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js";
20
- import { _ as pe } from "./RoleEditor.vue_vue_type_script_setup_true_lang-D-b-O6SG.js";
20
+ import { _ as pe } from "./RoleEditor.vue_vue_type_script_setup_true_lang-2fpYYCXj.js";
21
21
  const de = { "data-test": "role-replace" }, fe = /* @__PURE__ */ I({
22
22
  __name: "ReplaceRoleDialog",
23
23
  props: {
@@ -11,7 +11,7 @@ import { u as K } from "./platform-q3cjODLx.js";
11
11
  import { _ as T } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
12
12
  import { _ as q } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
13
13
  import { u as z } from "./useLoad-M7V-AVwR.js";
14
- import { u as G, a as H, b as J, c as x } from "./index-D6BjUQJT.js";
14
+ import { u as G, a as H, b as J, c as x } from "./index-Du3Ti2Zp.js";
15
15
  const M = {
16
16
  class: "flex min-w-0 flex-col gap-group-gap",
17
17
  "data-test": "roles-index"
@@ -2,7 +2,7 @@ import { defineComponent as x, useTemplateRef as v, computed as w, ref as $, ope
2
2
  import { useI18n as N } from "vue-i18n";
3
3
  import { _ as q } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
4
4
  import { u as A } from "./describeError-B-NMa--w.js";
5
- import { P as D, b as L, e as O, i as g, d as T } from "./index-Dxu7ZfCC.js";
5
+ import { P as D, b as L, e as O, i as g, d as T } from "./index--CxZ33h0.js";
6
6
  import { _ as k } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
7
7
  import { t as b } from "./toast-CqSDTWRX.js";
8
8
  import { u as V } from "./platform-q3cjODLx.js";
@@ -10,12 +10,12 @@ import { _ as R } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5
10
10
  import { e as G } from "./control-B4SdblL6.js";
11
11
  import { _ as Z } from "./SwitchField.vue_vue_type_script_setup_true_lang-ALvJisiP.js";
12
12
  import { _ as J } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
13
- import { u as K } from "./FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
14
- import { _ as W } from "./FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js";
13
+ import { u as K } from "./FormErrors.vue_vue_type_script_setup_true_lang-4WQz-TYS.js";
14
+ import { _ as W } from "./FormView.vue_vue_type_script_setup_true_lang-CbvMRBOc.js";
15
15
  import { _ as E } from "./TimeField.vue_vue_type_script_setup_true_lang-DBxKAWRo.js";
16
16
  import { a as k, n as X } from "./useTypedEntry-C7k7Dyl-.js";
17
17
  import { _ as Y } from "./PanelActions.vue_vue_type_script_setup_true_lang-E9VdIGkf.js";
18
- import { n as q } from "./index-D-0JNiFF.js";
18
+ import { n as q } from "./index-DBTK_iMB.js";
19
19
  import { u as ee } from "./platform-q3cjODLx.js";
20
20
  import { u as te } from "./useLoad-M7V-AVwR.js";
21
21
  function ne() {
@@ -6,7 +6,7 @@ import { u as D } from "./format-D8X4zsx6.js";
6
6
  import { _ as p } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
7
7
  import { e as b } from "./control-B4SdblL6.js";
8
8
  import { u as U } from "./describeError-B-NMa--w.js";
9
- import { c as q, P as z, b as F, _ as L, i as O, d as T } from "./index-Dxu7ZfCC.js";
9
+ import { c as q, P as z, b as F, _ as L, i as O, d as T } from "./index--CxZ33h0.js";
10
10
  import { t as h } from "./toast-CqSDTWRX.js";
11
11
  import { u as j, h as G } from "./platform-q3cjODLx.js";
12
12
  import { b as H } from "./routeResource-DlTsGTg_.js";
@@ -3,10 +3,10 @@ import { useI18n as x } from "vue-i18n";
3
3
  import { useRoute as y, useRouter as h } from "vue-router";
4
4
  import { _ as I } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
5
5
  import { _ as N } from "./Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
6
- import { _ as S } from "./FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js";
6
+ import { _ as S } from "./FormView.vue_vue_type_script_setup_true_lang-CbvMRBOc.js";
7
7
  import { _ as a } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
8
8
  import { r as $ } from "./guards-Dve61KjR.js";
9
- import { u as C, a as E } from "./index-Dxu7ZfCC.js";
9
+ import { u as C, a as E } from "./index--CxZ33h0.js";
10
10
  const V = { class: "flex flex-1 flex-col items-center justify-center gap-8" }, k = { class: "text-xl font-semibold text-content-strong" }, H = /* @__PURE__ */ d({
11
11
  __name: "SignInPage",
12
12
  setup(q) {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as g, ref as m, watch as p, openBlock as c, createElementBlock as v, createVNode as i, unref as e, withCtx as w, createBlock as x, createCommentVNode as y, createElementVNode as V, toDisplayString as $ } from "vue";
2
2
  import { useI18n as N } from "vue-i18n";
3
- import { P as S, i as b } from "./index-Dxu7ZfCC.js";
3
+ import { P as S, i as b } from "./index--CxZ33h0.js";
4
4
  import { u as k } from "./platform-q3cjODLx.js";
5
5
  import { b as I } from "./routeResource-DlTsGTg_.js";
6
6
  import { _ as R } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
@@ -3,7 +3,7 @@ import { useI18n as A } from "vue-i18n";
3
3
  import { a as F } from "./neighbors-DVN_cADL.js";
4
4
  import { _ as H } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
5
5
  import { u as J } from "./describeError-B-NMa--w.js";
6
- import { i as w, P as Q, p as W, f as X, M as Y, g as Z, d as ee } from "./index-Dxu7ZfCC.js";
6
+ import { i as w, P as Q, p as W, f as X, M as Y, g as Z, d as ee } from "./index--CxZ33h0.js";
7
7
  import { _ as se } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
8
8
  import { t as k } from "./toast-CqSDTWRX.js";
9
9
  import { _ as ae } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-BltrQnrQ.js";
@@ -16,9 +16,9 @@ import { u as ie } from "./useLoad-M7V-AVwR.js";
16
16
  import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
17
17
  import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
18
18
  import { e as B } from "./control-B4SdblL6.js";
19
- import { u as z, _ as K } from "./useCommand-YN9EMb7s.js";
19
+ import { u as z, _ as K } from "./useCommand-CT1RF_IB.js";
20
20
  import { u as U } from "./fieldMessages-6HVzSDqG.js";
21
- import { u as ce, s as le } from "./status-BLTC7wi1.js";
21
+ import { u as ce, s as le } from "./status-QOGPjIHu.js";
22
22
  import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
23
23
  const ue = /* @__PURE__ */ R({
24
24
  __name: "DeactivateDialog",
@@ -6,14 +6,14 @@ import { _ as I } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js
6
6
  import { u as F } from "./format-D8X4zsx6.js";
7
7
  import { u as L } from "./platform-q3cjODLx.js";
8
8
  import { _ as G } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
9
- import { i as K, f as E, M as W } from "./index-Dxu7ZfCC.js";
10
- import { U as j, u as H, s as J } from "./status-BLTC7wi1.js";
9
+ import { i as K, f as E, M as W } from "./index--CxZ33h0.js";
10
+ import { U as j, u as H, s as J } from "./status-QOGPjIHu.js";
11
11
  import { u as O } from "./environment-Dva-SG8D.js";
12
12
  import { u as Q } from "./languages-BShG9LpE.js";
13
13
  import { _ as X } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
14
14
  import { _ as Y } from "./SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js";
15
15
  import { _ as d } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
16
- import { u as Z, _ as ee } from "./useCommand-YN9EMb7s.js";
16
+ import { u as Z, _ as ee } from "./useCommand-CT1RF_IB.js";
17
17
  import { t as se } from "./toast-CqSDTWRX.js";
18
18
  import { u as te } from "./fieldMessages-6HVzSDqG.js";
19
19
  const oe = /* @__PURE__ */ U({
@@ -1,4 +1,4 @@
1
- import { _ as a, i as c, j as o, c as r, b as n, k as i, l as u, p as l, m as p, n as t, u as d, f as m } from "../index-D6BjUQJT.js";
1
+ import { _ as a, i as c, j as o, c as r, b as n, k as i, l as u, p as l, m as p, n as t, u as d, f as m } from "../index-Du3Ti2Zp.js";
2
2
  export {
3
3
  a as BindingRow,
4
4
  c as PersonAccess,
@@ -12,9 +12,12 @@ import type { Form } from "./useForm";
12
12
  * Another action beside the primary one goes in `#actions`; `run({ addAnother: true })` saves like the primary action and then,
13
13
  * instead of closing, opens the dialog again with fresh inputs (the command's defaults), so the next record can be entered
14
14
  * (the add-a-record recipe, `docs/recipes/forms.md`).
15
+ *
16
+ * A command with `ask` puts its question here, in an `AlertDialog` over the filled form, once the inputs check out: Cancel
17
+ * returns to the form untouched and nothing is sent; the action runs the command, and a refusal then lands on the form like any other.
15
18
  */
16
19
  type __VLS_Props = {
17
- command: Pick<Command<object, unknown, unknown>, "open" | "run" | "dismiss" | "present"> & {
20
+ command: Pick<Command<object, unknown, unknown>, "open" | "run" | "dismiss" | "present"> & Partial<Pick<Command<object, unknown, unknown>, "question" | "answer">> & {
18
21
  readonly form: Pick<Form<object>, "dirty" | "submitting" | "failure" | "errors">;
19
22
  };
20
23
  title: string;
@@ -10,7 +10,8 @@ import { type FieldProps, type FieldSlots } from "./field";
10
10
  */
11
11
  type __VLS_Props = FieldProps & {
12
12
  minYear?: number;
13
- maxYear?: number;
13
+ maxYear?: number; /** Shown while both are empty; by default the library's "Choose…". */
14
+ placeholder?: string;
14
15
  };
15
16
  type __VLS_Slots = FieldSlots;
16
17
  type __VLS_PublicProps = __VLS_Props & {
@@ -25,6 +26,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
25
26
  "onUpdate:year"?: ((value: number | null) => any) | undefined;
26
27
  }>, {
27
28
  disabled: boolean;
29
+ placeholder: string;
28
30
  name: string;
29
31
  label: string;
30
32
  error: string;