@wssto2/vue-core 0.4.18 → 0.4.20

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 (81) hide show
  1. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-DOjn7fqy.js → ActionRow.vue_vue_type_script_setup_true_lang-QPvYudWc.js} +1 -1
  2. package/dist/{Activity-DB9ABAMb.js → Activity-C0NvjIi5.js} +4 -4
  3. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bm0sxqNz.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-CxU9aNRQ.js} +1 -1
  4. package/dist/{Changes-IIczcs6O.js → Changes-hoMHeAZt.js} +3 -3
  5. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-CUoyYpaW.js → CollectionPage.vue_vue_type_script_setup_true_lang-BNM_cbXa.js} +6 -6
  6. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-Wuvo-l_z.js → DataTable.vue_vue_type_script_setup_true_lang-DPuH84I7.js} +1 -1
  7. package/dist/{DateButton.vue_vue_type_script_setup_true_lang-EcqrfWKz.js → DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js} +5 -5
  8. package/dist/DateField.vue_vue_type_script_setup_true_lang-CpuH0WTl.js +281 -0
  9. package/dist/{DeadLetters-Bq5YpnvT.js → DeadLetters-O6QReswO.js} +2 -2
  10. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js → FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js} +3 -2
  11. package/dist/{FormView.vue_vue_type_script_setup_true_lang-Dz5TZt92.js → FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js} +1 -1
  12. package/dist/{General-DQruOZs2.js → General-9Sgxb74n.js} +6 -6
  13. package/dist/{Menu.vue_vue_type_script_setup_true_lang-uPmxWvds.js → Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js} +1 -1
  14. package/dist/{NewRolePage-BcA8jBBQ.js → NewRolePage-D-LunWMH.js} +3 -3
  15. package/dist/NumberField.vue_vue_type_script_setup_true_lang-DaE5BLm4.js +161 -0
  16. package/dist/{Popover.vue_vue_type_script_setup_true_lang-BTOzgIQF.js → Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js} +8 -8
  17. package/dist/{ProfilePage-BqdCzyax.js → ProfilePage-DJUDCyEr.js} +6 -6
  18. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DijFQnU6.js → RecordHeader.vue_vue_type_script_setup_true_lang-szzWzdDu.js} +1 -1
  19. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-BpLnmA6n.js → ResourcePage.vue_vue_type_script_setup_true_lang-BFaaFQSm.js} +2 -2
  20. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-DPpCuJWk.js → RoleEditor.vue_vue_type_script_setup_true_lang-D-b-O6SG.js} +7 -7
  21. package/dist/{RolePage-IES_ADt5.js → RolePage-Ha-EgoEJ.js} +7 -7
  22. package/dist/{RolesPage-D0K7tEL-.js → RolesPage-8uWWCClN.js} +5 -5
  23. package/dist/{SectionList.vue_vue_type_script_setup_true_lang-D5QWy-c1.js → SectionList.vue_vue_type_script_setup_true_lang-BJnz2ROc.js} +2 -2
  24. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-CW81A_bn.js → SectionNavigator.vue_vue_type_script_setup_true_lang-BltrQnrQ.js} +2 -2
  25. package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-BMBkEmxr.js → SegmentedField.vue_vue_type_script_setup_true_lang-Dg-_ZjgR.js} +1 -1
  26. package/dist/SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js +515 -0
  27. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-C0XvavBw.js → SessionList.vue_vue_type_script_setup_true_lang-D5qm77Zo.js} +2 -2
  28. package/dist/{Sessions-BfpiOhGs.js → Sessions-Dz4KYMu9.js} +2 -2
  29. package/dist/{SettingsPage-BnEpURcU.js → SettingsPage-D47NSOYW.js} +7 -7
  30. package/dist/{SignIn-DrLE0gNr.js → SignIn-CNv68Tba.js} +4 -4
  31. package/dist/{SignInPage-CRynZCU2.js → SignInPage-CsjC4aiV.js} +3 -3
  32. package/dist/{SignInTable.vue_vue_type_script_setup_true_lang-7Z9EmLs-.js → SignInTable.vue_vue_type_script_setup_true_lang-ByEAVfjv.js} +1 -1
  33. package/dist/{SignIns-BQ8tISWn.js → SignIns-CgsNf8uf.js} +2 -2
  34. package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-0weBvsJf.js → SwitchField.vue_vue_type_script_setup_true_lang-ALvJisiP.js} +1 -1
  35. package/dist/TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js +317 -0
  36. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-BJ4__cvJ.js +93 -0
  37. package/dist/TimeField.vue_vue_type_script_setup_true_lang-DBxKAWRo.js +190 -0
  38. package/dist/{Tooltip.vue_vue_type_script_setup_true_lang-OOD_XNWx.js → Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js} +1 -1
  39. package/dist/{UserRecord-CqmPm4Fv.js → UserRecord-B9r_9U1z.js} +7 -7
  40. package/dist/{UsersList-CHAray61.js → UsersList-BBLa3OCv.js} +6 -6
  41. package/dist/access/index.js +1 -1
  42. package/dist/{anchored-Cj4--8dT.js → anchored-DpuUwf-9.js} +17 -15
  43. package/dist/collection/index.js +4 -4
  44. package/dist/{control-B_Nwtmag.js → control-B4SdblL6.js} +134 -118
  45. package/dist/controls/index.js +1 -1
  46. package/dist/form/ComboField.vue.d.ts +9 -3
  47. package/dist/form/DateField.vue.d.ts +4 -0
  48. package/dist/form/DateTimeField.vue.d.ts +4 -0
  49. package/dist/form/Field.vue.d.ts +2 -0
  50. package/dist/form/MoneyField.vue.d.ts +10 -5
  51. package/dist/form/NumberField.vue.d.ts +13 -5
  52. package/dist/form/SelectField.vue.d.ts +5 -1
  53. package/dist/form/TextField.vue.d.ts +10 -2
  54. package/dist/form/TextareaField.vue.d.ts +4 -0
  55. package/dist/form/TimeField.vue.d.ts +4 -0
  56. package/dist/form/index.d.ts +1 -1
  57. package/dist/form/index.js +1173 -1142
  58. package/dist/form/options.d.ts +4 -0
  59. package/dist/identity/index.js +1 -1
  60. package/dist/{index-91Lo0hJy.js → index-D-0JNiFF.js} +3 -3
  61. package/dist/{index-wlRejl73.js → index-D6BjUQJT.js} +7 -7
  62. package/dist/{index-sYamgVg7.js → index-Dxu7ZfCC.js} +12 -12
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.js +1 -1
  65. package/dist/notifications/index.js +1 -1
  66. package/dist/overlay/anchored.d.ts +2 -0
  67. package/dist/overlay/index.js +3 -3
  68. package/dist/page/index.js +5 -5
  69. package/dist/phone/index.js +2 -2
  70. package/dist/resource/index.js +1 -1
  71. package/dist/{rowLayout-BFz4Kdoy.js → rowLayout-D1vrdy0s.js} +2 -2
  72. package/dist/shell/index.js +2 -2
  73. package/dist/{status-B_IMA25a.js → status-BLTC7wi1.js} +1 -1
  74. package/dist/styles.css +1 -1
  75. package/package.json +1 -1
  76. package/dist/DateField.vue_vue_type_script_setup_true_lang-8mvjzRA-.js +0 -278
  77. package/dist/NumberField.vue_vue_type_script_setup_true_lang-CC8bKyR_.js +0 -150
  78. package/dist/SelectField.vue_vue_type_script_setup_true_lang-DkbBJpYX.js +0 -489
  79. package/dist/TextField.vue_vue_type_script_setup_true_lang-CWgn-vGl.js +0 -299
  80. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-4wC3c0BM.js +0 -91
  81. package/dist/TimeField.vue_vue_type_script_setup_true_lang-BebAIPeL.js +0 -187
@@ -0,0 +1,515 @@
1
+ import { defineComponent as X, shallowRef as ee, ref as M, useId as te, useTemplateRef as Y, computed as g, watch as N, nextTick as oe, openBlock as n, createElementBlock as b, normalizeClass as k, createElementVNode as i, createVNode as O, unref as t, withDirectives as le, vModelText as ae, createCommentVNode as h, toDisplayString as L, createBlock as z, Fragment as U, renderList as G, renderSlot as V, onScopeDispose as ne, mergeProps as K, createSlots as E, withCtx as $, createTextVNode as H, normalizeProps as W, guardReactiveProps as J, mergeDefaults as se } from "vue";
2
+ import { useI18n as Z } from "vue-i18n";
3
+ import { _ as re } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
4
+ import { _ as T } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
5
+ import { u as ie } from "./mediaQuery-CygcXmFW.js";
6
+ import { _ as I } from "./ToneDot.vue_vue_type_script_setup_true_lang-99rNn-L5.js";
7
+ import { _ as ue } from "./Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js";
8
+ import { _ as de } from "./Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js";
9
+ import { a as ce, c as pe, _ as me, f as ve, b as fe } from "./control-B4SdblL6.js";
10
+ import { g as be, m as ge } from "./options-Ba_0uLWN.js";
11
+ import { a as ye } from "./suggestions-DHJFKB26.js";
12
+ const he = { class: "flex min-h-9 items-center gap-1.5 rounded-control bg-fill px-2.5 text-content-muted focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-border-focus" }, ke = ["aria-label", "placeholder"], xe = ["aria-multiselectable", "aria-busy"], we = {
13
+ key: 0,
14
+ role: "presentation"
15
+ }, _e = ["aria-selected"], $e = { class: "flex-1 py-2" }, Ce = {
16
+ key: 1,
17
+ role: "presentation",
18
+ class: "flex items-center gap-2.5 px-row-inset py-4 text-subheadline text-content-muted",
19
+ "data-test": "options-loading"
20
+ }, Le = { role: "status" }, Se = {
21
+ key: 2,
22
+ role: "presentation",
23
+ class: "flex flex-col items-start gap-1 px-row-inset py-3",
24
+ "data-test": "options-failed"
25
+ }, Ve = {
26
+ role: "alert",
27
+ class: "text-subheadline text-content-destructive"
28
+ }, ze = ["id"], De = ["aria-labelledby"], Fe = ["aria-selected"], qe = ["disabled", "onFocus", "onClick"], Ae = {
29
+ key: 0,
30
+ "aria-hidden": "true",
31
+ class: "flex shrink-0 items-center"
32
+ }, Oe = { class: "min-w-0 flex-1 text-content-strong" }, Te = {
33
+ key: 1,
34
+ class: "shrink-0 text-footnote text-content-muted"
35
+ }, Be = {
36
+ key: 3,
37
+ class: "px-4 py-6 text-center text-subheadline text-content-muted"
38
+ }, Q = /* @__PURE__ */ X({
39
+ __name: "OptionList",
40
+ props: {
41
+ options: {},
42
+ modelValue: { default: null },
43
+ multiple: { type: Boolean, default: !1 },
44
+ searchFrom: { default: 9 },
45
+ noneLabel: { default: void 0 },
46
+ presentation: { default: "grouped" },
47
+ status: { default: "loaded" }
48
+ },
49
+ emits: ["select", "retry"],
50
+ setup(p, { emit: x }) {
51
+ const e = p, w = x, C = ee(null), c = (s) => s, f = (s) => void (C.value = s), D = (s) => C.value === s.value, { t: l } = Z(), _ = M(""), B = te(), u = Y("root"), m = g(() => e.options.length >= e.searchFrom), F = g(() => be(ge(e.options, _.value))), q = (s) => e.multiple ? Array.isArray(e.modelValue) && e.modelValue.includes(s.value) : e.modelValue === s.value, P = g(() => e.multiple ? !1 : e.modelValue === null);
52
+ function A(s) {
53
+ if (!["ArrowDown", "ArrowUp", "Home", "End"].includes(s.key)) return;
54
+ const r = [...u.value?.querySelectorAll("[data-option]:not([disabled])") ?? []];
55
+ if (r.length === 0) return;
56
+ const d = r.indexOf(document.activeElement), a = s.key === "Home" ? 0 : s.key === "End" ? r.length - 1 : s.key === "ArrowDown" ? Math.min(d + 1, r.length - 1) : Math.max(d - 1, 0);
57
+ s.key === "ArrowUp" && d <= 0 ? u.value?.querySelector("[data-option-search]")?.focus() : r[d === -1 && s.key === "ArrowDown" ? 0 : a]?.focus(), s.preventDefault();
58
+ }
59
+ const S = g(() => e.presentation === "grouped"), o = g(() => e.status === "loading"), v = g(() => e.status === "failed");
60
+ return N(() => e.status, (s, y) => {
61
+ y !== "loading" || s === "loading" || oe(() => {
62
+ const r = document.activeElement;
63
+ (!r || r === document.body || r.getAttribute("role") === "dialog" && !!u.value && r.contains(u.value)) && u.value?.querySelector("[data-option-search], [data-option]:not([disabled])")?.focus({ preventScroll: !0 });
64
+ });
65
+ }), (s, y) => (n(), b("div", {
66
+ ref_key: "root",
67
+ ref: u,
68
+ "data-test": "option-list",
69
+ onKeydown: A
70
+ }, [
71
+ m.value ? (n(), b("div", {
72
+ key: 0,
73
+ class: k(["sticky top-0 z-10 pb-2", S.value ? "bg-surface-page pt-1" : "bg-surface-cell"])
74
+ }, [
75
+ i("label", he, [
76
+ O(t(T), {
77
+ name: "search",
78
+ size: 16,
79
+ class: "shrink-0"
80
+ }),
81
+ le(i("input", {
82
+ "onUpdate:modelValue": y[0] || (y[0] = (r) => _.value = r),
83
+ "data-option-search": "",
84
+ type: "search",
85
+ enterkeyhint: "search",
86
+ autocomplete: "off",
87
+ autocapitalize: "off",
88
+ spellcheck: "false",
89
+ "aria-label": t(l)("core.form.select.search"),
90
+ placeholder: t(l)("core.form.select.search"),
91
+ class: "min-w-0 flex-1 border-0 bg-transparent p-0 text-body text-content-strong outline-none placeholder:text-content-disabled focus:ring-0"
92
+ }, null, 8, ke), [
93
+ [ae, _.value]
94
+ ])
95
+ ])
96
+ ], 2)) : h("", !0),
97
+ i("ul", {
98
+ class: k(["flex flex-col", S.value ? "gap-group-gap" : "gap-2"]),
99
+ role: "listbox",
100
+ "aria-multiselectable": e.multiple || void 0,
101
+ "aria-busy": o.value || void 0
102
+ }, [
103
+ e.noneLabel && _.value === "" ? (n(), b("li", we, [
104
+ i("ul", {
105
+ role: "group",
106
+ class: k(S.value ? "rounded-group bg-surface-cell shadow-group" : "")
107
+ }, [
108
+ i("li", {
109
+ role: "option",
110
+ "aria-selected": P.value
111
+ }, [
112
+ i("button", {
113
+ type: "button",
114
+ "data-option": "",
115
+ class: k(["flex min-h-row w-full cursor-pointer items-center gap-3 px-row-inset text-left text-body hover:bg-fill focus-visible:bg-fill focus-visible:outline-none active:bg-fill", [P.value ? "text-content-strong" : "text-content-muted", S.value ? "rounded-group" : "rounded-control"]]),
116
+ onClick: y[1] || (y[1] = (r) => w("select", null))
117
+ }, [
118
+ i("span", $e, L(e.noneLabel), 1),
119
+ P.value ? (n(), z(t(T), {
120
+ key: 0,
121
+ name: "checkCustom",
122
+ size: 18,
123
+ class: "shrink-0 text-content-link"
124
+ })) : h("", !0)
125
+ ], 2)
126
+ ], 8, _e)
127
+ ], 2)
128
+ ])) : h("", !0),
129
+ o.value ? (n(), b("li", Ce, [
130
+ O(t(T), {
131
+ name: "loader4Line",
132
+ size: 16,
133
+ class: "shrink-0 animate-spin text-content-link"
134
+ }),
135
+ i("span", Le, L(t(l)("core.form.select.loading")), 1)
136
+ ])) : v.value ? (n(), b("li", Se, [
137
+ i("span", Ve, L(t(l)("core.form.select.load_failed")), 1),
138
+ i("button", {
139
+ type: "button",
140
+ "data-option": "",
141
+ "data-test": "options-retry",
142
+ class: "-ml-2 cursor-pointer rounded-control px-2 py-1 text-subheadline font-medium text-content-link hover:bg-fill focus-visible:bg-fill focus-visible:outline-none",
143
+ onClick: y[2] || (y[2] = (r) => w("retry"))
144
+ }, L(t(l)("core.actions.retry")), 1)
145
+ ])) : h("", !0),
146
+ (n(!0), b(U, null, G(F.value, (r, d) => (n(), b("li", {
147
+ key: r.title ?? d,
148
+ role: "presentation"
149
+ }, [
150
+ r.title ? (n(), b("p", {
151
+ key: 0,
152
+ id: `${t(B)}-${d}`,
153
+ class: "px-row-inset pb-1.5 text-footnote uppercase tracking-wide text-content-muted"
154
+ }, L(r.title), 9, ze)) : h("", !0),
155
+ i("ul", {
156
+ role: "group",
157
+ "aria-labelledby": r.title ? `${t(B)}-${d}` : void 0,
158
+ class: k(S.value ? "rounded-group bg-surface-cell shadow-group" : "")
159
+ }, [
160
+ (n(!0), b(U, null, G(r.options, (a) => (n(), b("li", {
161
+ key: String(a.value),
162
+ role: "option",
163
+ "aria-selected": q(a),
164
+ class: "group/option"
165
+ }, [
166
+ i("button", {
167
+ type: "button",
168
+ "data-option": "",
169
+ "data-test": "option",
170
+ disabled: a.disabled,
171
+ class: k(["flex w-full cursor-pointer items-stretch gap-3 pl-row-inset text-left text-body hover:bg-fill focus-visible:bg-fill focus-visible:outline-none active:bg-fill disabled:cursor-not-allowed disabled:opacity-45", S.value ? "group-first/option:rounded-t-group group-last/option:rounded-b-group" : "rounded-control"]),
172
+ onFocus: (j) => f(a.value),
173
+ onBlur: y[3] || (y[3] = (j) => f(null)),
174
+ onClick: (j) => w("select", a.value)
175
+ }, [
176
+ e.multiple ? (n(), b("span", Ae, [
177
+ i("span", {
178
+ class: k(["flex size-5.5 items-center justify-center rounded-full border", q(a) ? "border-control-on bg-control-on text-white" : "border-border-control"])
179
+ }, [
180
+ q(a) ? (n(), z(t(T), {
181
+ key: 0,
182
+ name: "checkCustom",
183
+ size: 12
184
+ })) : h("", !0)
185
+ ], 2)
186
+ ])) : h("", !0),
187
+ i("span", {
188
+ class: k(["flex min-h-row min-w-0 flex-1 items-center gap-3 py-2 pr-row-inset", S.value ? "border-t border-border-separator group-first/option:border-t-0" : ""])
189
+ }, [
190
+ V(s.$slots, "option", {
191
+ option: c(a),
192
+ active: D(a),
193
+ selected: q(a)
194
+ }, () => [
195
+ a.dot ? (n(), z(I, {
196
+ key: 0,
197
+ tone: a.dot,
198
+ class: "-mr-1.5"
199
+ }, null, 8, ["tone"])) : h("", !0),
200
+ i("span", Oe, L(a.label), 1),
201
+ a.description ? (n(), b("span", Te, L(a.description), 1)) : h("", !0)
202
+ ]),
203
+ !e.multiple && q(a) ? (n(), z(t(T), {
204
+ key: 0,
205
+ name: "checkCustom",
206
+ size: 18,
207
+ class: "shrink-0 text-content-link"
208
+ })) : h("", !0)
209
+ ], 2)
210
+ ], 42, qe)
211
+ ], 8, Fe))), 128))
212
+ ], 10, De)
213
+ ]))), 128)),
214
+ F.value.length === 0 && !o.value && !v.value ? (n(), b("li", Be, L(t(l)("core.form.select.no_matches")), 1)) : h("", !0)
215
+ ], 10, xe)
216
+ ], 544));
217
+ }
218
+ });
219
+ function et(p) {
220
+ const x = ye(), e = p.for !== void 0;
221
+ let w = 0;
222
+ function C() {
223
+ const c = p.for?.();
224
+ if (e && c == null) {
225
+ x.cancel(), x.items.value = [], x.status.value = "idle";
226
+ return;
227
+ }
228
+ x.run(
229
+ (f) => e ? p.load(c, { signal: f }) : p.load({ signal: f })
230
+ );
231
+ }
232
+ return N(
233
+ () => p.for?.(),
234
+ (c, f) => {
235
+ f != null && w++, C();
236
+ },
237
+ { immediate: !0 }
238
+ ), ne(x.cancel), {
239
+ get status() {
240
+ return x.status.value;
241
+ },
242
+ get options() {
243
+ return x.items.value;
244
+ },
245
+ get generation() {
246
+ return w;
247
+ },
248
+ reload: C
249
+ };
250
+ }
251
+ const R = (p) => Array.isArray(p), Pe = [];
252
+ function Re(p, x) {
253
+ const e = g(() => {
254
+ const l = p();
255
+ return R(l) ? l : l.options;
256
+ }), w = g(() => {
257
+ const l = p();
258
+ return R(l) ? "loaded" : l.status;
259
+ }), C = g(() => w.value === "loading" || w.value === "failed" ? Pe : e.value), c = g(() => w.value === "loading"), f = p();
260
+ let D = R(f) ? 0 : f.generation;
261
+ return N(
262
+ () => {
263
+ const l = p();
264
+ return R(l) ? null : l.status === "loaded" || l.status === "idle" ? l.options : null;
265
+ },
266
+ (l) => {
267
+ const _ = p();
268
+ l === null || R(_) || _.generation === D || (D = _.generation, x(l));
269
+ }
270
+ ), { known: e, rows: C, status: w, loading: c, reload: () => {
271
+ const l = p();
272
+ R(l) || l.reload();
273
+ } };
274
+ }
275
+ const Ee = ["id", "disabled", "aria-expanded", "aria-required", "aria-invalid", "aria-describedby", "aria-busy"], Ue = ["id", "disabled", "aria-required", "aria-invalid", "aria-describedby", "aria-busy", "onClick"], Ne = { class: "max-h-72 overflow-y-auto" }, He = { class: "block break-words text-body text-content-strong" }, tt = /* @__PURE__ */ X({
276
+ __name: "SelectField",
277
+ props: /* @__PURE__ */ se({
278
+ label: {},
279
+ labelHidden: { type: Boolean },
280
+ hint: {},
281
+ error: {},
282
+ required: { type: Boolean },
283
+ editable: { type: Boolean },
284
+ disabled: { type: Boolean },
285
+ lockedReason: {},
286
+ presentation: {},
287
+ name: {},
288
+ options: {},
289
+ selected: {},
290
+ placeholder: {},
291
+ clearable: {},
292
+ modelValue: {},
293
+ searchFrom: {},
294
+ rowLayout: {}
295
+ }, { ...fe, selected: null, placeholder: void 0, clearable: void 0, modelValue: void 0, searchFrom: 9, rowLayout: void 0 }),
296
+ emits: ["update:modelValue"],
297
+ setup(p, { emit: x }) {
298
+ const e = p, w = x, C = M(e.modelValue ?? null);
299
+ N(() => e.modelValue, (o) => C.value = o ?? null);
300
+ const c = g({
301
+ get: () => C.value,
302
+ set: (o) => {
303
+ C.value = o, w("update:modelValue", o);
304
+ }
305
+ }), { t: f } = Z(), D = ie(), l = !!ce(), _ = Y("sheet"), B = M(!1), u = Re(() => e.options, (o) => {
306
+ c.value !== null && !o.some((v) => v.value === c.value) && (c.value = null);
307
+ }), m = g(() => u.known.value.find((o) => o.value === c.value) ?? (e.selected?.value === c.value ? e.selected : null)), F = g(() => e.placeholder ?? f("core.form.select.choose")), q = pe("popup", () => e.error ? "error" : e.disabled ? "locked" : "rest");
308
+ function P(o) {
309
+ c.value = o, _.value?.dismiss();
310
+ }
311
+ const A = g(() => e.rowLayout === "stacked"), S = g(() => [
312
+ "flex max-w-full min-w-0 items-center gap-1.5 py-1 pl-2.5 pr-2 text-body focus-visible:outline-none",
313
+ A.value ? "w-full" : "",
314
+ l ? "compact:pl-0 compact:pr-0" : "",
315
+ e.disabled ? "cursor-not-allowed" : "cursor-pointer"
316
+ ]);
317
+ return (o, v) => (n(), z(me, K(t(ve)(e), {
318
+ value: m.value?.label ?? null,
319
+ "row-layout": e.rowLayout
320
+ }), E({
321
+ default: $(({ id: s, describedby: y, invalid: r }) => [
322
+ i("div", {
323
+ class: k(["max-w-full min-w-0", [A.value ? "flex w-full" : "inline-flex", t(q)]])
324
+ }, [
325
+ t(D) ? (n(), b("button", {
326
+ key: 0,
327
+ id: s,
328
+ type: "button",
329
+ disabled: e.disabled,
330
+ "aria-haspopup": "dialog",
331
+ "aria-expanded": B.value,
332
+ "aria-required": e.required || void 0,
333
+ "aria-invalid": r || void 0,
334
+ "aria-describedby": y,
335
+ "aria-busy": t(u).loading.value || void 0,
336
+ class: k(S.value),
337
+ onClick: v[0] || (v[0] = (d) => _.value?.present())
338
+ }, [
339
+ m.value?.dot ? (n(), z(I, {
340
+ key: 0,
341
+ tone: m.value.dot
342
+ }, null, 8, ["tone"])) : h("", !0),
343
+ i("span", {
344
+ class: k(["min-w-0 truncate", [A.value ? "flex-1 text-left" : "", m.value ? l ? "text-content-strong compact:text-content-muted" : "text-content-strong" : "text-content-disabled"]])
345
+ }, [
346
+ o.$slots.value && m.value ? V(o.$slots, "value", {
347
+ option: m.value
348
+ }, void 0, void 0, 0) : (n(), b(U, { key: 1 }, [
349
+ H(L(m.value?.label ?? F.value), 1)
350
+ ], 64))
351
+ ], 2),
352
+ O(t(T), {
353
+ name: t(u).loading.value ? "loader4Line" : "expandUpDownLine",
354
+ size: 14,
355
+ class: k(["shrink-0 text-content-muted", t(u).loading.value ? "animate-spin" : ""])
356
+ }, null, 8, ["name", "class"])
357
+ ], 10, Ee)) : (n(), z(de, {
358
+ key: 1,
359
+ label: e.label ?? F.value,
360
+ width: "lg",
361
+ "match-trigger-width": "",
362
+ placement: "bottom-start",
363
+ arrow: !1,
364
+ block: A.value
365
+ }, {
366
+ trigger: $(({ toggle: d, attrs: a }) => [
367
+ i("button", K({
368
+ id: s,
369
+ type: "button"
370
+ }, a, {
371
+ "aria-haspopup": "listbox",
372
+ disabled: e.disabled,
373
+ "aria-required": e.required || void 0,
374
+ "aria-invalid": r || void 0,
375
+ "aria-describedby": y,
376
+ "aria-busy": t(u).loading.value || void 0,
377
+ class: S.value,
378
+ onClick: d
379
+ }), [
380
+ m.value?.dot ? (n(), z(I, {
381
+ key: 0,
382
+ tone: m.value.dot
383
+ }, null, 8, ["tone"])) : h("", !0),
384
+ i("span", {
385
+ class: k(["min-w-0 truncate", [A.value ? "flex-1 text-left" : "", m.value ? "text-content-strong" : "text-content-disabled"]])
386
+ }, [
387
+ o.$slots.value && m.value ? V(o.$slots, "value", {
388
+ option: m.value
389
+ }, void 0, void 0, 0) : (n(), b(U, { key: 1 }, [
390
+ H(L(m.value?.label ?? F.value), 1)
391
+ ], 64))
392
+ ], 2),
393
+ O(t(T), {
394
+ name: t(u).loading.value ? "loader4Line" : "expandUpDownLine",
395
+ size: 14,
396
+ class: k(["shrink-0 text-content-muted", t(u).loading.value ? "animate-spin" : ""])
397
+ }, null, 8, ["name", "class"])
398
+ ], 16, Ue)
399
+ ]),
400
+ default: $(({ dismiss: d }) => [
401
+ i("div", Ne, [
402
+ O(Q, {
403
+ options: t(u).rows.value,
404
+ status: t(u).status.value,
405
+ "model-value": c.value,
406
+ "search-from": e.searchFrom,
407
+ "none-label": e.clearable ? t(f)("core.form.select.clear") : void 0,
408
+ presentation: "plain",
409
+ onSelect: (a) => {
410
+ c.value = a, d();
411
+ },
412
+ onRetry: v[1] || (v[1] = (a) => t(u).reload())
413
+ }, E({ _: 2 }, [
414
+ o.$slots.option ? {
415
+ name: "option",
416
+ fn: $((a) => [
417
+ V(o.$slots, "option", W(J(a)))
418
+ ]),
419
+ key: "0"
420
+ } : void 0
421
+ ]), 1032, ["options", "status", "model-value", "search-from", "none-label", "onSelect"])
422
+ ])
423
+ ]),
424
+ _: 2
425
+ }, 1032, ["label", "block"]))
426
+ ], 2),
427
+ t(D) ? (n(), z(ue, {
428
+ key: 0,
429
+ ref_key: "sheet",
430
+ ref: _,
431
+ title: e.label ?? F.value,
432
+ grouped: "",
433
+ onPresented: v[4] || (v[4] = (d) => B.value = !0),
434
+ onDismissed: v[5] || (v[5] = (d) => B.value = !1)
435
+ }, E({
436
+ default: $(() => [
437
+ O(Q, {
438
+ options: t(u).rows.value,
439
+ status: t(u).status.value,
440
+ "model-value": c.value,
441
+ "search-from": e.searchFrom,
442
+ "none-label": e.clearable ? t(f)("core.form.select.clear") : void 0,
443
+ onSelect: P,
444
+ onRetry: v[2] || (v[2] = (d) => t(u).reload())
445
+ }, E({ _: 2 }, [
446
+ o.$slots.option ? {
447
+ name: "option",
448
+ fn: $((d) => [
449
+ V(o.$slots, "option", W(J(d)))
450
+ ]),
451
+ key: "0"
452
+ } : void 0
453
+ ]), 1032, ["options", "status", "model-value", "search-from", "none-label"])
454
+ ]),
455
+ _: 2
456
+ }, [
457
+ e.clearable && c.value !== null ? {
458
+ name: "footer",
459
+ fn: $(() => [
460
+ O(re, {
461
+ prominence: "plain",
462
+ onClick: v[3] || (v[3] = (d) => P(null))
463
+ }, {
464
+ default: $(() => [
465
+ H(L(t(f)("core.form.select.clear")), 1)
466
+ ]),
467
+ _: 1
468
+ })
469
+ ]),
470
+ key: "0"
471
+ } : void 0
472
+ ]), 1032, ["title"])) : h("", !0)
473
+ ]),
474
+ _: 2
475
+ }, [
476
+ o.$slots.trailing ? {
477
+ name: "trailing",
478
+ fn: $(() => [
479
+ V(o.$slots, "trailing")
480
+ ]),
481
+ key: "0"
482
+ } : void 0,
483
+ o.$slots.labelTrailing ? {
484
+ name: "labelTrailing",
485
+ fn: $(() => [
486
+ V(o.$slots, "labelTrailing")
487
+ ]),
488
+ key: "1"
489
+ } : void 0,
490
+ o.$slots.readonly ? {
491
+ name: "readonly",
492
+ fn: $(() => [
493
+ V(o.$slots, "readonly")
494
+ ]),
495
+ key: "2"
496
+ } : o.$slots.value && m.value ? {
497
+ name: "readonly",
498
+ fn: $(() => [
499
+ i("span", He, [
500
+ V(o.$slots, "value", {
501
+ option: m.value
502
+ })
503
+ ])
504
+ ]),
505
+ key: "3"
506
+ } : void 0
507
+ ]), 1040, ["value", "row-layout"]));
508
+ }
509
+ });
510
+ export {
511
+ tt as _,
512
+ Q as a,
513
+ et as b,
514
+ Re as u
515
+ };
@@ -3,8 +3,8 @@ import { useI18n as $ } from "vue-i18n";
3
3
  import { _ as C } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
4
4
  import { _ as B } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
5
5
  import { u as E } from "./format-D8X4zsx6.js";
6
- import { _ as N } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
7
- import { e as f } from "./control-B_Nwtmag.js";
6
+ import { _ as N } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
7
+ import { e as f } from "./control-B4SdblL6.js";
8
8
  import { _ as y } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
9
9
  const V = { class: "flex flex-wrap items-center gap-x-1.5 gap-y-0.5" }, L = {
10
10
  key: 0,
@@ -2,14 +2,14 @@ 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-sYamgVg7.js";
5
+ import { P as D, b as L, e as O, i as g, d as T } from "./index-Dxu7ZfCC.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";
9
9
  import { b as I } from "./routeResource-DlTsGTg_.js";
10
10
  import { _ as j } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
11
11
  import { _ as z } from "./SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js";
12
- import { _ as F } from "./SessionList.vue_vue_type_script_setup_true_lang-C0XvavBw.js";
12
+ import { _ as F } from "./SessionList.vue_vue_type_script_setup_true_lang-D5qm77Zo.js";
13
13
  const G = {
14
14
  class: "flex min-w-0 flex-col gap-group-gap",
15
15
  "data-person-sessions": ""
@@ -1,21 +1,21 @@
1
1
  import { defineComponent as w, openBlock as u, createBlock as b, unref as e, withCtx as p, createElementBlock as g, toDisplayString as y, Fragment as $, renderList as Q, createElementVNode as P, createVNode as d, createTextVNode as U, createCommentVNode as S, computed as V, mergeProps as h, ref as D } from "vue";
2
2
  import { useI18n as v } from "vue-i18n";
3
3
  import { useRouter as I } from "vue-router";
4
- import { a as j } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bm0sxqNz.js";
4
+ import { a as j } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-CxU9aNRQ.js";
5
5
  import { t as T } from "./toast-CqSDTWRX.js";
6
6
  import { u as N } from "./fieldMessages-6HVzSDqG.js";
7
7
  import { _ as A } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
8
8
  import { _ as O } from "./Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
9
- import { _ as R } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
10
- import { e as G } from "./control-B_Nwtmag.js";
11
- import { _ as Z } from "./SwitchField.vue_vue_type_script_setup_true_lang-0weBvsJf.js";
9
+ import { _ as R } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
10
+ import { e as G } from "./control-B4SdblL6.js";
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
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-Dz5TZt92.js";
15
- import { _ as E } from "./TimeField.vue_vue_type_script_setup_true_lang-BebAIPeL.js";
14
+ import { _ as W } from "./FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js";
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-91Lo0hJy.js";
18
+ import { n as q } from "./index-D-0JNiFF.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() {
@@ -3,15 +3,15 @@ import { useI18n as A } from "vue-i18n";
3
3
  import { _ as B } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
4
4
  import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
5
5
  import { u as D } from "./format-D8X4zsx6.js";
6
- import { _ as p } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
7
- import { e as b } from "./control-B_Nwtmag.js";
6
+ import { _ as p } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
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-sYamgVg7.js";
9
+ import { c as q, P as z, b as F, _ as L, i as O, d as T } from "./index-Dxu7ZfCC.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";
13
13
  import { _ as J } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
14
- import { _ as K } from "./ActionRow.vue_vue_type_script_setup_true_lang-DOjn7fqy.js";
14
+ import { _ as K } from "./ActionRow.vue_vue_type_script_setup_true_lang-QPvYudWc.js";
15
15
  import { _ as M } from "./SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js";
16
16
  const Q = {
17
17
  key: 0,
@@ -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-Dz5TZt92.js";
7
- import { _ as a } from "./TextField.vue_vue_type_script_setup_true_lang-CWgn-vGl.js";
6
+ import { _ as S } from "./FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js";
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-sYamgVg7.js";
9
+ import { u as C, a as E } from "./index-Dxu7ZfCC.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 _, computed as p, openBlock as y, createElementBlock as g, createVNode as l, unref as i, withCtx as s, createElementVNode as a, toDisplayString as r, createTextVNode as h } from "vue";
2
2
  import { useI18n as b } from "vue-i18n";
3
- import { _ as f } from "./DataTable.vue_vue_type_script_setup_true_lang-Wuvo-l_z.js";
3
+ import { _ as f } from "./DataTable.vue_vue_type_script_setup_true_lang-DPuH84I7.js";
4
4
  import { _ as v } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
5
5
  const w = {
6
6
  signed_in: { tone: "positive", byOther: !1 },
@@ -1,13 +1,13 @@
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-sYamgVg7.js";
3
+ import { P as S, i as b } from "./index-Dxu7ZfCC.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";
7
7
  import { u as C } from "./useLoad-M7V-AVwR.js";
8
8
  import { _ as E } from "./PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js";
9
9
  import { _ as B } from "./SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js";
10
- import { _ as P } from "./SignInTable.vue_vue_type_script_setup_true_lang-7Z9EmLs-.js";
10
+ import { _ as P } from "./SignInTable.vue_vue_type_script_setup_true_lang-ByEAVfjv.js";
11
11
  import { _ as h } from "./ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js";
12
12
  const U = {
13
13
  class: "flex min-w-0 flex-col gap-group-gap",
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as v, useModel as w, computed as y, openBlock as g, createBlock as k, mergeProps as _, unref as t, createSlots as $, withCtx as l, createElementVNode as s, renderSlot as i, normalizeClass as d, normalizeStyle as B, toDisplayString as S, mergeModels as z, mergeDefaults as C } from "vue";
2
2
  import { useI18n as M } from "vue-i18n";
3
- import { u as V, _ as D, f as T, b as E } from "./control-B_Nwtmag.js";
3
+ import { u as V, _ as D, f as T, b as E } from "./control-B4SdblL6.js";
4
4
  const F = { class: "flex items-center gap-2" }, I = ["id", "aria-checked", "aria-label", "aria-describedby", "aria-invalid", "disabled"], P = { class: "sr-only" }, Z = /* @__PURE__ */ v({
5
5
  __name: "SwitchField",
6
6
  props: /* @__PURE__ */ z(/* @__PURE__ */ C({