@wssto2/vue-core 0.4.21 → 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 (35) hide show
  1. package/CHANGELOG.md +460 -0
  2. package/dist/{Activity-DX-RK9xj.js → Activity-Cu_mAn_m.js} +1 -1
  3. package/dist/{Changes-_nARQ9IC.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-CkZoXu29.js → General-Dbc3qDRz.js} +3 -3
  8. package/dist/{NewRolePage-OosTaMfZ.js → NewRolePage-DPHFJ0I8.js} +2 -2
  9. package/dist/{ProfilePage-Dn8fQ3ff.js → ProfilePage-Cc7eiyV2.js} +3 -3
  10. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-2IOio1Sa.js → RoleEditor.vue_vue_type_script_setup_true_lang-2fpYYCXj.js} +3 -3
  11. package/dist/{RolePage-33RUvHYD.js → RolePage-C0jmkQkO.js} +3 -3
  12. package/dist/{RolesPage-BGPoUCMP.js → RolesPage-eb4gqxdW.js} +1 -1
  13. package/dist/{Sessions-BbAdbjmG.js → Sessions-DSDcj8Yd.js} +1 -1
  14. package/dist/{SettingsPage-D47NSOYW.js → SettingsPage-BF7MW1GH.js} +3 -3
  15. package/dist/{SignIn-DDCRzlUq.js → SignIn-BR8-RVIk.js} +1 -1
  16. package/dist/{SignInPage-D9jryXA7.js → SignInPage-Dcws582A.js} +2 -2
  17. package/dist/{SignIns-C_5sRrB4.js → SignIns-3u7YgKqh.js} +1 -1
  18. package/dist/{UserRecord-CUhbz62x.js → UserRecord-AtZIwCO9.js} +3 -3
  19. package/dist/{UsersList-BE8fnICz.js → UsersList-1IeQnvOL.js} +3 -3
  20. package/dist/access/index.js +1 -1
  21. package/dist/form/MonthYearField.vue.d.ts +3 -1
  22. package/dist/form/index.js +11 -9
  23. package/dist/form/useCommand.d.ts +4 -1
  24. package/dist/form/useForm.d.ts +1 -1
  25. package/dist/identity/index.js +1 -1
  26. package/dist/{index-DiEoRV9D.js → index--CxZ33h0.js} +12 -12
  27. package/dist/{index-D-0JNiFF.js → index-DBTK_iMB.js} +2 -2
  28. package/dist/{index-C3HWRCEe.js → index-Du3Ti2Zp.js} +4 -4
  29. package/dist/index.d.ts +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/notifications/index.js +1 -1
  32. package/dist/{status-UWWFHi9t.js → status-QOGPjIHu.js} +1 -1
  33. package/dist/{useCommand-VIZE7xG-.js → useCommand-CT1RF_IB.js} +3 -2
  34. package/dist/{useResourceForm-CP2lCwmD.js → useResourceForm-CQuniKhd.js} +1 -1
  35. package/package.json +3 -2
@@ -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-DiEoRV9D.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-C3HWRCEe.js";
8
- import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-2IOio1Sa.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-DiEoRV9D.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-C3HWRCEe.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-C3HWRCEe.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-VIZE7xG-.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-2IOio1Sa.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-C3HWRCEe.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-DiEoRV9D.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-DiEoRV9D.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-DiEoRV9D.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-DiEoRV9D.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-DiEoRV9D.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-VIZE7xG-.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-UWWFHi9t.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-DiEoRV9D.js";
10
- import { U as j, u as H, s as J } from "./status-UWWFHi9t.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-VIZE7xG-.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-C3HWRCEe.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,
@@ -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;
@@ -1,12 +1,12 @@
1
- import { _ as Me, s as He, c as Se, f as et } from "../FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
2
- import { E as Ko, u as Ao, a as Ho } from "../FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
3
- import { f as De, u as st } from "../useCommand-VIZE7xG-.js";
4
- import { _ as Yo, a as Wo } from "../useCommand-VIZE7xG-.js";
1
+ import { _ as Me, s as He, c as Se, f as et } from "../FormErrors.vue_vue_type_script_setup_true_lang-4WQz-TYS.js";
2
+ import { E as Ko, u as Ao, a as Ho } from "../FormErrors.vue_vue_type_script_setup_true_lang-4WQz-TYS.js";
3
+ import { f as De, u as st } from "../useCommand-CT1RF_IB.js";
4
+ import { _ as Yo, a as Wo } from "../useCommand-CT1RF_IB.js";
5
5
  import { ref as N, computed as k, defineComponent as P, openBlock as u, createBlock as O, mergeProps as Q, unref as s, createSlots as ee, withCtx as v, createElementVNode as b, normalizeClass as j, createElementBlock as y, Fragment as ue, renderList as we, createVNode as M, createCommentVNode as T, toDisplayString as _, renderSlot as C, mergeDefaults as ce, useModel as ie, useId as je, withKeys as Ce, withModifiers as be, createTextVNode as Y, mergeModels as se, useTemplateRef as H, shallowRef as Le, watch as de, normalizeProps as Ve, guardReactiveProps as qe, nextTick as he, provide as Re, inject as tt, onBeforeUnmount as Ee, onMounted as rt, toRef as it, toValue as Oe, getCurrentScope as ut, onScopeDispose as dt, shallowReactive as Ue, normalizeStyle as ct, resolveDynamicComponent as ft } from "vue";
6
6
  import { a as Ie } from "../leaveGuard-Cc8yeLxM.js";
7
7
  import { M as Zo, c as Xo, i as Qo, l as en, u as tn } from "../leaveGuard-Cc8yeLxM.js";
8
8
  import { _ as ln } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js";
9
- import { u as nn } from "../useResourceForm-CP2lCwmD.js";
9
+ import { u as nn } from "../useResourceForm-CQuniKhd.js";
10
10
  import { _ as te } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
11
11
  import { u as at, _ as ye, f as fe, b as ve, a as lt, c as Ge, e as vt, h as mt, i as pt, d as bt } from "../control-B4SdblL6.js";
12
12
  import { useI18n as oe } from "vue-i18n";
@@ -27,7 +27,7 @@ import { _ as mn } from "../TimeField.vue_vue_type_script_setup_true_lang-DBxKAW
27
27
  import { _ as ge } from "../Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
28
28
  import { _ as qt, r as Rt } from "../FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
29
29
  import { a as bn, c as gn, p as yn, u as hn } from "../FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
30
- import { _ as wn } from "../FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js";
30
+ import { _ as wn } from "../FormView.vue_vue_type_script_setup_true_lang-CbvMRBOc.js";
31
31
  import { i as Ot } from "../intlLocale-CeRU44qJ.js";
32
32
  import { a as Mt } from "../environment-Dva-SG8D.js";
33
33
  import { _ as jt } from "../NumberField.vue_vue_type_script_setup_true_lang-DaE5BLm4.js";
@@ -1223,8 +1223,9 @@ const Ea = ["id", "aria-labelledby"], Ia = ["id", "value", "lang", "name", "rows
1223
1223
  presentation: {},
1224
1224
  name: {},
1225
1225
  minYear: {},
1226
- maxYear: {}
1227
- }, { ...ve, minYear: 1970, maxYear: () => (/* @__PURE__ */ new Date()).getFullYear() + 1 }), {
1226
+ maxYear: {},
1227
+ placeholder: {}
1228
+ }, { ...ve, placeholder: void 0, minYear: 1970, maxYear: () => (/* @__PURE__ */ new Date()).getFullYear() + 1 }), {
1228
1229
  month: { default: null },
1229
1230
  monthModifiers: {},
1230
1231
  year: { default: null },
@@ -1254,6 +1255,7 @@ const Ea = ["id", "aria-labelledby"], Ia = ["id", "value", "lang", "name", "rows
1254
1255
  expanded: z,
1255
1256
  disabled: t.disabled,
1256
1257
  invalid: g,
1258
+ placeholder: t.placeholder ?? s(o)("core.form.select.choose"),
1257
1259
  onClick: S
1258
1260
  }), {
1259
1261
  default: v(() => [
@@ -1267,7 +1269,7 @@ const Ea = ["id", "aria-labelledby"], Ia = ["id", "value", "lang", "name", "rows
1267
1269
  ], 64)) : T("", !0)
1268
1270
  ]),
1269
1271
  _: 1
1270
- }, 16, ["expanded", "disabled", "invalid", "onClick"])
1272
+ }, 16, ["expanded", "disabled", "invalid", "placeholder", "onClick"])
1271
1273
  ]),
1272
1274
  default: v(({ dismiss: S }) => [
1273
1275
  b("div", el, [
@@ -1,10 +1,13 @@
1
1
  import { type Ref } from "vue";
2
+ import type { IconName } from "../icon";
2
3
  import { type Form, type FormOptions, type SubmitContext, type SubmitResult } from "./useForm";
3
4
  /** The question a command asks before it runs: it names the consequence ("Archive the vehicle?"), and `confirmLabel` says exactly what yes does. */
4
5
  export interface CommandQuestion {
5
6
  readonly title: string;
6
7
  readonly message?: string;
7
8
  readonly confirmLabel?: string;
9
+ /** The alert's icon, as on `AlertDialog` (an app-registered or core icon name); by default the tone's. */
10
+ readonly icon?: IconName;
8
11
  readonly tone?: "neutral" | "warning" | "critical";
9
12
  }
10
13
  export interface CommandOptions<Values extends object, Output = Values, Done = unknown> extends FormOptions<Values, Output> {
@@ -49,7 +52,7 @@ export interface Command<Values extends object, Output = Values, Done = unknown>
49
52
  * <CommandDialog :command="assign" :title="t('assign')" :confirm-label="t('assign')"><SelectField v-bind="assign.form.bind('assignee')" … /></CommandDialog>
50
53
  * <Button @click="assign.present()">Assign</Button>
51
54
  *
52
- * `ask: (input) => ({ title, message, confirmLabel, tone }) | null` puts a question before the call (a delivery that archives the vehicle).
55
+ * `ask: (input) => ({ title, message, confirmLabel, icon, tone }) | null` puts a question before the call (a delivery that archives the vehicle).
53
56
  * A command with nothing to enter is an `AlertDialog` with `:action="command.confirm"`.
54
57
  */
55
58
  export declare function useCommand<Values extends object, Output = Values, Done = unknown>(options: CommandOptions<Values, Output, Done>): Command<Values, Output, Done>;
@@ -107,7 +107,7 @@ export interface Form<Values extends object, Output = Values> {
107
107
  reset(): void;
108
108
  /** Takes the draft as the baseline (defaults applied right after loading are not the user's edits). */
109
109
  markClean(): void;
110
- /** Runs the validator on a copy of the draft: the errors are set and null returned, or the parsed output. */
110
+ /** Runs the validator on a copy of the draft: the errors are set and null returned, or the parsed output and the failure of an earlier attempt is cleared (it complained about inputs that have since been fixed). */
111
111
  validate(): Output | null;
112
112
  /** Like `validate` for the given fields only: the validator's issues elsewhere are ignored (a group saving to its own endpoint). True when they are fine. */
113
113
  check(fields: Fields<Values>): boolean;
@@ -1,4 +1,4 @@
1
- import { _ as t, h as n, j as a, i, k as o, d as r, l as d, m as u, n as y, r as l, o as I, s as f, q as p, t as A, f as c } from "../index-DiEoRV9D.js";
1
+ import { _ as t, h as n, j as a, i, k as o, d as r, l as d, m as u, n as y, r as l, o as I, s as f, q as p, t as A, f as c } from "../index--CxZ33h0.js";
2
2
  export {
3
3
  t as SignInAsButton,
4
4
  n as identityFeature,