@wssto2/vue-core 0.4.16 → 0.4.18

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 (74) hide show
  1. package/dist/{Activity-CVO3sJwy.js → Activity-DB9ABAMb.js} +3 -3
  2. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bm0sxqNz.js} +64 -63
  3. package/dist/{Changes-Bzvl3cEx.js → Changes-IIczcs6O.js} +2 -2
  4. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-CD5zZ29o.js → CollectionPage.vue_vue_type_script_setup_true_lang-CUoyYpaW.js} +6 -6
  5. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-ChS9ULwk.js → DataTable.vue_vue_type_script_setup_true_lang-Wuvo-l_z.js} +1 -1
  6. package/dist/{DateField.vue_vue_type_script_setup_true_lang-BufoFwVQ.js → DateField.vue_vue_type_script_setup_true_lang-8mvjzRA-.js} +3 -3
  7. package/dist/{DeadLetters-DmwUtgf9.js → DeadLetters-Bq5YpnvT.js} +3 -3
  8. package/dist/{General-CUEjJBD4.js → General-DQruOZs2.js} +5 -5
  9. package/dist/{NewRolePage-Cyn-oV6r.js → NewRolePage-BcA8jBBQ.js} +3 -3
  10. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-a8kN3A7k.js → NumberField.vue_vue_type_script_setup_true_lang-CC8bKyR_.js} +1 -1
  11. package/dist/{Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js → Popover.vue_vue_type_script_setup_true_lang-BTOzgIQF.js} +12 -12
  12. package/dist/{ProfilePage-I74SQBFO.js → ProfilePage-BqdCzyax.js} +7 -7
  13. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-D87Hs75d.js → RecordHeader.vue_vue_type_script_setup_true_lang-DijFQnU6.js} +1 -1
  14. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-Da0M-hen.js → ResourcePage.vue_vue_type_script_setup_true_lang-BpLnmA6n.js} +1 -1
  15. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-Ce6wjptT.js → RoleEditor.vue_vue_type_script_setup_true_lang-DPpCuJWk.js} +2 -2
  16. package/dist/{RolePage-DWQP3qQl.js → RolePage-IES_ADt5.js} +6 -6
  17. package/dist/{RolesPage-BeEsHIQ2.js → RolesPage-D0K7tEL-.js} +3 -3
  18. package/dist/{SectionList.vue_vue_type_script_setup_true_lang-B0p_8xQG.js → SectionList.vue_vue_type_script_setup_true_lang-D5QWy-c1.js} +1 -1
  19. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-D5Cnb4_O.js → SectionNavigator.vue_vue_type_script_setup_true_lang-CW81A_bn.js} +2 -2
  20. package/dist/SelectField.vue_vue_type_script_setup_true_lang-DkbBJpYX.js +489 -0
  21. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-DoUo68xE.js → SessionList.vue_vue_type_script_setup_true_lang-C0XvavBw.js} +1 -1
  22. package/dist/{Sessions-D8IXcb5M.js → Sessions-BfpiOhGs.js} +2 -2
  23. package/dist/{SettingsPage-DRQP2nrH.js → SettingsPage-BnEpURcU.js} +5 -5
  24. package/dist/{SignIn-CAZkovhb.js → SignIn-DrLE0gNr.js} +2 -2
  25. package/dist/{SignInPage-D-49oLY3.js → SignInPage-CRynZCU2.js} +2 -2
  26. package/dist/{SignInTable.vue_vue_type_script_setup_true_lang-CIv34nRn.js → SignInTable.vue_vue_type_script_setup_true_lang-7Z9EmLs-.js} +1 -1
  27. package/dist/{SignIns-BtNfgMLc.js → SignIns-BQ8tISWn.js} +2 -2
  28. package/dist/{TextField.vue_vue_type_script_setup_true_lang-D3-R5XXG.js → TextField.vue_vue_type_script_setup_true_lang-CWgn-vGl.js} +97 -90
  29. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-pAdLPYXA.js → TimeField.vue_vue_type_script_setup_true_lang-BebAIPeL.js} +3 -3
  30. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-FVRUr-9y.js → Timestamp.vue_vue_type_script_setup_true_lang-CU2Y5oYl.js} +1 -1
  31. package/dist/{UserRecord-BSbNuRFi.js → UserRecord-CqmPm4Fv.js} +7 -7
  32. package/dist/{UsersList-DPHxcaDm.js → UsersList-CHAray61.js} +8 -8
  33. package/dist/access/index.js +1 -1
  34. package/dist/app/index.js +1 -1
  35. package/dist/collection/index.js +3 -3
  36. package/dist/content/index.js +1 -1
  37. package/dist/{fieldMessages-DV6sESpn.js → fieldMessages-6HVzSDqG.js} +1 -1
  38. package/dist/form/ComboField.vue.d.ts +11 -8
  39. package/dist/form/CommandDialog.vue.d.ts +3 -0
  40. package/dist/form/MultiSelectField.vue.d.ts +8 -5
  41. package/dist/form/OptionList.vue.d.ts +7 -4
  42. package/dist/form/SelectField.vue.d.ts +11 -8
  43. package/dist/form/SuggestionList.vue.d.ts +11 -6
  44. package/dist/form/index.d.ts +2 -0
  45. package/dist/form/index.js +981 -928
  46. package/dist/form/options.d.ts +18 -5
  47. package/dist/form/suggestions.d.ts +12 -12
  48. package/dist/form/useOptions.d.ts +12 -12
  49. package/dist/form/useRecordDialog.d.ts +47 -0
  50. package/dist/format/index.js +1 -1
  51. package/dist/format-D8X4zsx6.js +78 -0
  52. package/dist/identity/index.js +1 -1
  53. package/dist/{index-CWeNiBX6.js → index-91Lo0hJy.js} +4 -4
  54. package/dist/{index-Bq96L43f.js → index-sYamgVg7.js} +12 -12
  55. package/dist/{index-yKIOaisE.js → index-wlRejl73.js} +5 -5
  56. package/dist/index.d.ts +1 -1
  57. package/dist/index.js +1 -1
  58. package/dist/internal/intlLocale.d.ts +2 -0
  59. package/dist/intlLocale-CeRU44qJ.js +4 -0
  60. package/dist/notifications/index.js +1 -1
  61. package/dist/overlay/index.js +1 -1
  62. package/dist/page/index.js +5 -5
  63. package/dist/phone/index.js +112 -111
  64. package/dist/resource/index.js +1 -1
  65. package/dist/{rowLayout-D1cYQghV.js → rowLayout-BFz4Kdoy.js} +2 -2
  66. package/dist/shell/index.js +1 -1
  67. package/dist/{status-DzmySsWw.js → status-B_IMA25a.js} +1 -1
  68. package/dist/{suggestions-BxMm6MQA.js → suggestions-DHJFKB26.js} +50 -50
  69. package/dist/testing/index.js +1 -1
  70. package/dist/{useCommand-B-N6HJOz.js → useCommand-YN9EMb7s.js} +41 -38
  71. package/dist/{useTypedEntry-aTfPBAhw.js → useTypedEntry-C7k7Dyl-.js} +237 -236
  72. package/package.json +1 -1
  73. package/dist/SelectField.vue_vue_type_script_setup_true_lang-C1Flb1hA.js +0 -465
  74. package/dist/format-B8mJm946.js +0 -77
@@ -4,12 +4,12 @@ import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM
4
4
  import { _ as W } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
5
5
  import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-Dz5TZt92.js";
6
6
  import { _ as te } from "./TextareaField.vue_vue_type_script_setup_true_lang-4wC3c0BM.js";
7
- import { _ as se } from "./TextField.vue_vue_type_script_setup_true_lang-D3-R5XXG.js";
7
+ import { _ as se } from "./TextField.vue_vue_type_script_setup_true_lang-CWgn-vGl.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-yKIOaisE.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-wlRejl73.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-BMBkEmxr.js";
@@ -7,17 +7,17 @@ import { e as F } from "./control-B_Nwtmag.js";
7
7
  import { u as Z } from "./describeError-B-NMa--w.js";
8
8
  import { _ as ee } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
9
9
  import { t as q } from "./toast-CqSDTWRX.js";
10
- import { _ as oe } from "./RecordHeader.vue_vue_type_script_setup_true_lang-D87Hs75d.js";
10
+ import { _ as oe } from "./RecordHeader.vue_vue_type_script_setup_true_lang-DijFQnU6.js";
11
11
  import { u as te } from "./platform-q3cjODLx.js";
12
12
  import { a as ae, u as le } from "./routeResource-DlTsGTg_.js";
13
- import { a as se } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Da0M-hen.js";
13
+ import { a as se } from "./ResourcePage.vue_vue_type_script_setup_true_lang-BpLnmA6n.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-yKIOaisE.js";
17
- import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-C1Flb1hA.js";
18
- import { u as ie, _ as ue } from "./useCommand-B-N6HJOz.js";
16
+ import { u as O, a as U, f as ce, d as ne, b as M, c as T } from "./index-wlRejl73.js";
17
+ import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-DkbBJpYX.js";
18
+ import { u as ie, _ as ue } from "./useCommand-YN9EMb7s.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-Ce6wjptT.js";
20
+ import { _ as pe } from "./RoleEditor.vue_vue_type_script_setup_true_lang-DPpCuJWk.js";
21
21
  const de = { "data-test": "role-replace" }, fe = /* @__PURE__ */ I({
22
22
  __name: "ReplaceRoleDialog",
23
23
  props: {
@@ -5,13 +5,13 @@ import { _ as S } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.
5
5
  import { _ as E } from "./Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js";
6
6
  import { _ as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
7
7
  import { e as j } from "./control-B_Nwtmag.js";
8
- import { _ as D } from "./TextField.vue_vue_type_script_setup_true_lang-D3-R5XXG.js";
9
- import { a as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.js";
8
+ import { _ as D } from "./TextField.vue_vue_type_script_setup_true_lang-CWgn-vGl.js";
9
+ import { a as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bm0sxqNz.js";
10
10
  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-yKIOaisE.js";
14
+ import { u as G, a as H, b as J, c as x } from "./index-wlRejl73.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 $, computed as _, unref as s, openBlock as l, create
2
2
  import { useI18n as S } from "vue-i18n";
3
3
  import { _ as j } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
4
4
  import { _ as N } from "./Menu.vue_vue_type_script_setup_true_lang-uPmxWvds.js";
5
- import { _ as V } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.js";
5
+ import { _ as V } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bm0sxqNz.js";
6
6
  import { a as q } from "./sectionIndex-BS0ic5W7.js";
7
7
  const M = {
8
8
  class: "dock-safe-area pointer-events-none",
@@ -6,9 +6,9 @@ import { _ as G } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
6
6
  import { a as re } from "./mediaQuery-CygcXmFW.js";
7
7
  import { u as ie } from "./access-DmAceEo5.js";
8
8
  import { u as ce, a as ue } from "./sections-D-kD98vu.js";
9
- import { p as de } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.js";
9
+ import { p as de } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bm0sxqNz.js";
10
10
  import { p as me } from "./sectionIndex-BS0ic5W7.js";
11
- import { _ as K, a as pe } from "./SectionList.vue_vue_type_script_setup_true_lang-B0p_8xQG.js";
11
+ import { _ as K, a as pe } from "./SectionList.vue_vue_type_script_setup_true_lang-D5QWy-c1.js";
12
12
  const fe = {
13
13
  key: 0,
14
14
  "data-test": "section-navigator",
@@ -0,0 +1,489 @@
1
+ import { defineComponent as Q, shallowRef as Z, ref as N, useId as ee, useTemplateRef as X, computed as h, watch as U, nextTick as te, openBlock as s, createElementBlock as b, normalizeClass as y, createElementVNode as i, createVNode as F, unref as t, withDirectives as oe, vModelText as le, createCommentVNode as g, toDisplayString as S, createBlock as V, Fragment as I, renderList as j, renderSlot as B, onScopeDispose as ae, mergeProps as G, createSlots as E, withCtx as C, normalizeProps as K, guardReactiveProps as W, createTextVNode as ne, mergeDefaults as se } from "vue";
2
+ import { useI18n as Y } from "vue-i18n";
3
+ import { _ as re } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
4
+ import { _ as q } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
5
+ import { u as ie } from "./mediaQuery-CygcXmFW.js";
6
+ import { _ as H } 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-BTOzgIQF.js";
9
+ import { a as ce, c as pe, _ as me, f as fe, b as ve } from "./control-B_Nwtmag.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
+ }, Se = { role: "status" }, Ve = {
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
+ }, Le = {
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
+ }, J = /* @__PURE__ */ Q({
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(d, { emit: k }) {
51
+ const e = d, x = k, _ = Z(null), u = (n) => n, m = (n) => void (_.value = n), L = (n) => _.value === n.value, { t: a } = Y(), w = N(""), A = ee(), r = X("root"), $ = h(() => e.options.length >= e.searchFrom), z = h(() => be(ge(e.options, w.value))), D = (n) => e.multiple ? Array.isArray(e.modelValue) && e.modelValue.includes(n.value) : e.modelValue === n.value, O = h(() => e.multiple ? !1 : e.modelValue === null);
52
+ function R(n) {
53
+ if (!["ArrowDown", "ArrowUp", "Home", "End"].includes(n.key)) return;
54
+ const o = [...r.value?.querySelectorAll("[data-option]:not([disabled])") ?? []];
55
+ if (o.length === 0) return;
56
+ const f = o.indexOf(document.activeElement), p = n.key === "Home" ? 0 : n.key === "End" ? o.length - 1 : n.key === "ArrowDown" ? Math.min(f + 1, o.length - 1) : Math.max(f - 1, 0);
57
+ n.key === "ArrowUp" && f <= 0 ? r.value?.querySelector("[data-option-search]")?.focus() : o[f === -1 && n.key === "ArrowDown" ? 0 : p]?.focus(), n.preventDefault();
58
+ }
59
+ const l = h(() => e.presentation === "grouped"), c = h(() => e.status === "loading"), P = h(() => e.status === "failed");
60
+ return U(() => e.status, (n, v) => {
61
+ v !== "loading" || n === "loading" || te(() => {
62
+ const o = document.activeElement;
63
+ (!o || o === document.body || o.getAttribute("role") === "dialog" && !!r.value && o.contains(r.value)) && r.value?.querySelector("[data-option-search], [data-option]:not([disabled])")?.focus({ preventScroll: !0 });
64
+ });
65
+ }), (n, v) => (s(), b("div", {
66
+ ref_key: "root",
67
+ ref: r,
68
+ "data-test": "option-list",
69
+ onKeydown: R
70
+ }, [
71
+ $.value ? (s(), b("div", {
72
+ key: 0,
73
+ class: y(["sticky top-0 z-10 pb-2", l.value ? "bg-surface-page pt-1" : "bg-surface-cell"])
74
+ }, [
75
+ i("label", he, [
76
+ F(t(q), {
77
+ name: "search",
78
+ size: 16,
79
+ class: "shrink-0"
80
+ }),
81
+ oe(i("input", {
82
+ "onUpdate:modelValue": v[0] || (v[0] = (o) => w.value = o),
83
+ "data-option-search": "",
84
+ type: "search",
85
+ enterkeyhint: "search",
86
+ autocomplete: "off",
87
+ autocapitalize: "off",
88
+ spellcheck: "false",
89
+ "aria-label": t(a)("core.form.select.search"),
90
+ placeholder: t(a)("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
+ [le, w.value]
94
+ ])
95
+ ])
96
+ ], 2)) : g("", !0),
97
+ i("ul", {
98
+ class: y(["flex flex-col", l.value ? "gap-group-gap" : "gap-2"]),
99
+ role: "listbox",
100
+ "aria-multiselectable": e.multiple || void 0,
101
+ "aria-busy": c.value || void 0
102
+ }, [
103
+ e.noneLabel && w.value === "" ? (s(), b("li", we, [
104
+ i("ul", {
105
+ role: "group",
106
+ class: y(l.value ? "rounded-group bg-surface-cell shadow-group" : "")
107
+ }, [
108
+ i("li", {
109
+ role: "option",
110
+ "aria-selected": O.value
111
+ }, [
112
+ i("button", {
113
+ type: "button",
114
+ "data-option": "",
115
+ class: y(["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", [O.value ? "text-content-strong" : "text-content-muted", l.value ? "rounded-group" : "rounded-control"]]),
116
+ onClick: v[1] || (v[1] = (o) => x("select", null))
117
+ }, [
118
+ i("span", $e, S(e.noneLabel), 1),
119
+ O.value ? (s(), V(t(q), {
120
+ key: 0,
121
+ name: "checkCustom",
122
+ size: 18,
123
+ class: "shrink-0 text-content-link"
124
+ })) : g("", !0)
125
+ ], 2)
126
+ ], 8, _e)
127
+ ], 2)
128
+ ])) : g("", !0),
129
+ c.value ? (s(), b("li", Ce, [
130
+ F(t(q), {
131
+ name: "loader4Line",
132
+ size: 16,
133
+ class: "shrink-0 animate-spin text-content-link"
134
+ }),
135
+ i("span", Se, S(t(a)("core.form.select.loading")), 1)
136
+ ])) : P.value ? (s(), b("li", Ve, [
137
+ i("span", Le, S(t(a)("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: v[2] || (v[2] = (o) => x("retry"))
144
+ }, S(t(a)("core.actions.retry")), 1)
145
+ ])) : g("", !0),
146
+ (s(!0), b(I, null, j(z.value, (o, f) => (s(), b("li", {
147
+ key: o.title ?? f,
148
+ role: "presentation"
149
+ }, [
150
+ o.title ? (s(), b("p", {
151
+ key: 0,
152
+ id: `${t(A)}-${f}`,
153
+ class: "px-row-inset pb-1.5 text-footnote uppercase tracking-wide text-content-muted"
154
+ }, S(o.title), 9, ze)) : g("", !0),
155
+ i("ul", {
156
+ role: "group",
157
+ "aria-labelledby": o.title ? `${t(A)}-${f}` : void 0,
158
+ class: y(l.value ? "rounded-group bg-surface-cell shadow-group" : "")
159
+ }, [
160
+ (s(!0), b(I, null, j(o.options, (p) => (s(), b("li", {
161
+ key: String(p.value),
162
+ role: "option",
163
+ "aria-selected": D(p),
164
+ class: "group/option"
165
+ }, [
166
+ i("button", {
167
+ type: "button",
168
+ "data-option": "",
169
+ "data-test": "option",
170
+ disabled: p.disabled,
171
+ class: y(["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", l.value ? "group-first/option:rounded-t-group group-last/option:rounded-b-group" : "rounded-control"]),
172
+ onFocus: (M) => m(p.value),
173
+ onBlur: v[3] || (v[3] = (M) => m(null)),
174
+ onClick: (M) => x("select", p.value)
175
+ }, [
176
+ e.multiple ? (s(), b("span", Ae, [
177
+ i("span", {
178
+ class: y(["flex size-5.5 items-center justify-center rounded-full border", D(p) ? "border-control-on bg-control-on text-white" : "border-border-control"])
179
+ }, [
180
+ D(p) ? (s(), V(t(q), {
181
+ key: 0,
182
+ name: "checkCustom",
183
+ size: 12
184
+ })) : g("", !0)
185
+ ], 2)
186
+ ])) : g("", !0),
187
+ i("span", {
188
+ class: y(["flex min-h-row min-w-0 flex-1 items-center gap-3 py-2 pr-row-inset", l.value ? "border-t border-border-separator group-first/option:border-t-0" : ""])
189
+ }, [
190
+ B(n.$slots, "option", {
191
+ option: u(p),
192
+ active: L(p),
193
+ selected: D(p)
194
+ }, () => [
195
+ p.dot ? (s(), V(H, {
196
+ key: 0,
197
+ tone: p.dot,
198
+ class: "-mr-1.5"
199
+ }, null, 8, ["tone"])) : g("", !0),
200
+ i("span", Oe, S(p.label), 1),
201
+ p.description ? (s(), b("span", Te, S(p.description), 1)) : g("", !0)
202
+ ]),
203
+ !e.multiple && D(p) ? (s(), V(t(q), {
204
+ key: 0,
205
+ name: "checkCustom",
206
+ size: 18,
207
+ class: "shrink-0 text-content-link"
208
+ })) : g("", !0)
209
+ ], 2)
210
+ ], 42, qe)
211
+ ], 8, Fe))), 128))
212
+ ], 10, De)
213
+ ]))), 128)),
214
+ z.value.length === 0 && !c.value && !P.value ? (s(), b("li", Be, S(t(a)("core.form.select.no_matches")), 1)) : g("", !0)
215
+ ], 10, xe)
216
+ ], 544));
217
+ }
218
+ });
219
+ function Ze(d) {
220
+ const k = ye(), e = d.for !== void 0;
221
+ let x = 0;
222
+ function _() {
223
+ const u = d.for?.();
224
+ if (e && u == null) {
225
+ k.cancel(), k.items.value = [], k.status.value = "idle";
226
+ return;
227
+ }
228
+ k.run(
229
+ (m) => e ? d.load(u, { signal: m }) : d.load({ signal: m })
230
+ );
231
+ }
232
+ return U(
233
+ () => d.for?.(),
234
+ (u, m) => {
235
+ m != null && x++, _();
236
+ },
237
+ { immediate: !0 }
238
+ ), ae(k.cancel), {
239
+ get status() {
240
+ return k.status.value;
241
+ },
242
+ get options() {
243
+ return k.items.value;
244
+ },
245
+ get generation() {
246
+ return x;
247
+ },
248
+ reload: _
249
+ };
250
+ }
251
+ const T = (d) => Array.isArray(d), Pe = [];
252
+ function Re(d, k) {
253
+ const e = h(() => {
254
+ const a = d();
255
+ return T(a) ? a : a.options;
256
+ }), x = h(() => {
257
+ const a = d();
258
+ return T(a) ? "loaded" : a.status;
259
+ }), _ = h(() => x.value === "loading" || x.value === "failed" ? Pe : e.value), u = h(() => x.value === "loading"), m = d();
260
+ let L = T(m) ? 0 : m.generation;
261
+ return U(
262
+ () => {
263
+ const a = d();
264
+ return T(a) ? null : a.status === "loaded" || a.status === "idle" ? a.options : null;
265
+ },
266
+ (a) => {
267
+ const w = d();
268
+ a === null || T(w) || w.generation === L || (L = w.generation, k(a));
269
+ }
270
+ ), { known: e, rows: _, status: x, loading: u, reload: () => {
271
+ const a = d();
272
+ T(a) || a.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" }, et = /* @__PURE__ */ Q({
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
+ }, { ...ve, selected: null, placeholder: void 0, clearable: void 0, modelValue: void 0, searchFrom: 9 }),
295
+ emits: ["update:modelValue"],
296
+ setup(d, { emit: k }) {
297
+ const e = d, x = k, _ = N(e.modelValue ?? null);
298
+ U(() => e.modelValue, (l) => _.value = l ?? null);
299
+ const u = h({
300
+ get: () => _.value,
301
+ set: (l) => {
302
+ _.value = l, x("update:modelValue", l);
303
+ }
304
+ }), { t: m } = Y(), L = ie(), a = !!ce(), w = X("sheet"), A = N(!1), r = Re(() => e.options, (l) => {
305
+ u.value !== null && !l.some((c) => c.value === u.value) && (u.value = null);
306
+ }), $ = h(() => r.known.value.find((l) => l.value === u.value) ?? (e.selected?.value === u.value ? e.selected : null)), z = h(() => e.placeholder ?? m("core.form.select.choose")), D = pe("popup", () => e.error ? "error" : e.disabled ? "locked" : "rest");
307
+ function O(l) {
308
+ u.value = l, w.value?.dismiss();
309
+ }
310
+ const R = h(() => [
311
+ "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",
312
+ a ? "compact:pl-0 compact:pr-0" : "",
313
+ e.disabled ? "cursor-not-allowed" : "cursor-pointer"
314
+ ]);
315
+ return (l, c) => (s(), V(me, G(t(fe)(e), {
316
+ value: $.value?.label ?? null
317
+ }), E({
318
+ default: C(({ id: P, describedby: n, invalid: v }) => [
319
+ i("div", {
320
+ class: y(["inline-flex max-w-full min-w-0", t(D)])
321
+ }, [
322
+ t(L) ? (s(), b("button", {
323
+ key: 0,
324
+ id: P,
325
+ type: "button",
326
+ disabled: e.disabled,
327
+ "aria-haspopup": "dialog",
328
+ "aria-expanded": A.value,
329
+ "aria-required": e.required || void 0,
330
+ "aria-invalid": v || void 0,
331
+ "aria-describedby": n,
332
+ "aria-busy": t(r).loading.value || void 0,
333
+ class: y(R.value),
334
+ onClick: c[0] || (c[0] = (o) => w.value?.present())
335
+ }, [
336
+ $.value?.dot ? (s(), V(H, {
337
+ key: 0,
338
+ tone: $.value.dot
339
+ }, null, 8, ["tone"])) : g("", !0),
340
+ i("span", {
341
+ class: y(["min-w-0 truncate", $.value ? a ? "text-content-strong compact:text-content-muted" : "text-content-strong" : "text-content-disabled"])
342
+ }, S($.value?.label ?? z.value), 3),
343
+ F(t(q), {
344
+ name: t(r).loading.value ? "loader4Line" : "expandUpDownLine",
345
+ size: 14,
346
+ class: y(["shrink-0 text-content-muted", t(r).loading.value ? "animate-spin" : ""])
347
+ }, null, 8, ["name", "class"])
348
+ ], 10, Ee)) : (s(), V(de, {
349
+ key: 1,
350
+ label: e.label ?? z.value,
351
+ width: "md",
352
+ "match-trigger-width": "",
353
+ placement: "bottom-start",
354
+ arrow: !1
355
+ }, {
356
+ trigger: C(({ toggle: o, attrs: f }) => [
357
+ i("button", G({
358
+ id: P,
359
+ type: "button"
360
+ }, f, {
361
+ "aria-haspopup": "listbox",
362
+ disabled: e.disabled,
363
+ "aria-required": e.required || void 0,
364
+ "aria-invalid": v || void 0,
365
+ "aria-describedby": n,
366
+ "aria-busy": t(r).loading.value || void 0,
367
+ class: R.value,
368
+ onClick: o
369
+ }), [
370
+ $.value?.dot ? (s(), V(H, {
371
+ key: 0,
372
+ tone: $.value.dot
373
+ }, null, 8, ["tone"])) : g("", !0),
374
+ i("span", {
375
+ class: y(["min-w-0 truncate", $.value ? "text-content-strong" : "text-content-disabled"])
376
+ }, S($.value?.label ?? z.value), 3),
377
+ F(t(q), {
378
+ name: t(r).loading.value ? "loader4Line" : "expandUpDownLine",
379
+ size: 14,
380
+ class: y(["shrink-0 text-content-muted", t(r).loading.value ? "animate-spin" : ""])
381
+ }, null, 8, ["name", "class"])
382
+ ], 16, Ue)
383
+ ]),
384
+ default: C(({ dismiss: o }) => [
385
+ i("div", Ne, [
386
+ F(J, {
387
+ options: t(r).rows.value,
388
+ status: t(r).status.value,
389
+ "model-value": u.value,
390
+ "search-from": e.searchFrom,
391
+ "none-label": e.clearable ? t(m)("core.form.select.clear") : void 0,
392
+ presentation: "plain",
393
+ onSelect: (f) => {
394
+ u.value = f, o();
395
+ },
396
+ onRetry: c[1] || (c[1] = (f) => t(r).reload())
397
+ }, E({ _: 2 }, [
398
+ l.$slots.option ? {
399
+ name: "option",
400
+ fn: C((f) => [
401
+ B(l.$slots, "option", K(W(f)))
402
+ ]),
403
+ key: "0"
404
+ } : void 0
405
+ ]), 1032, ["options", "status", "model-value", "search-from", "none-label", "onSelect"])
406
+ ])
407
+ ]),
408
+ _: 2
409
+ }, 1032, ["label"]))
410
+ ], 2),
411
+ t(L) ? (s(), V(ue, {
412
+ key: 0,
413
+ ref_key: "sheet",
414
+ ref: w,
415
+ title: e.label ?? z.value,
416
+ grouped: "",
417
+ onPresented: c[4] || (c[4] = (o) => A.value = !0),
418
+ onDismissed: c[5] || (c[5] = (o) => A.value = !1)
419
+ }, E({
420
+ default: C(() => [
421
+ F(J, {
422
+ options: t(r).rows.value,
423
+ status: t(r).status.value,
424
+ "model-value": u.value,
425
+ "search-from": e.searchFrom,
426
+ "none-label": e.clearable ? t(m)("core.form.select.clear") : void 0,
427
+ onSelect: O,
428
+ onRetry: c[2] || (c[2] = (o) => t(r).reload())
429
+ }, E({ _: 2 }, [
430
+ l.$slots.option ? {
431
+ name: "option",
432
+ fn: C((o) => [
433
+ B(l.$slots, "option", K(W(o)))
434
+ ]),
435
+ key: "0"
436
+ } : void 0
437
+ ]), 1032, ["options", "status", "model-value", "search-from", "none-label"])
438
+ ]),
439
+ _: 2
440
+ }, [
441
+ e.clearable && u.value !== null ? {
442
+ name: "footer",
443
+ fn: C(() => [
444
+ F(re, {
445
+ prominence: "plain",
446
+ onClick: c[3] || (c[3] = (o) => O(null))
447
+ }, {
448
+ default: C(() => [
449
+ ne(S(t(m)("core.form.select.clear")), 1)
450
+ ]),
451
+ _: 1
452
+ })
453
+ ]),
454
+ key: "0"
455
+ } : void 0
456
+ ]), 1032, ["title"])) : g("", !0)
457
+ ]),
458
+ _: 2
459
+ }, [
460
+ l.$slots.trailing ? {
461
+ name: "trailing",
462
+ fn: C(() => [
463
+ B(l.$slots, "trailing")
464
+ ]),
465
+ key: "0"
466
+ } : void 0,
467
+ l.$slots.labelTrailing ? {
468
+ name: "labelTrailing",
469
+ fn: C(() => [
470
+ B(l.$slots, "labelTrailing")
471
+ ]),
472
+ key: "1"
473
+ } : void 0,
474
+ l.$slots.readonly ? {
475
+ name: "readonly",
476
+ fn: C(() => [
477
+ B(l.$slots, "readonly")
478
+ ]),
479
+ key: "2"
480
+ } : void 0
481
+ ]), 1040, ["value"]));
482
+ }
483
+ });
484
+ export {
485
+ et as _,
486
+ J as a,
487
+ Ze as b,
488
+ Re as u
489
+ };
@@ -2,7 +2,7 @@ import { defineComponent as g, openBlock as n, createBlock as i, unref as t, wit
2
2
  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
- import { u as E } from "./format-B8mJm946.js";
5
+ import { u as E } from "./format-D8X4zsx6.js";
6
6
  import { _ as N } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
7
7
  import { e as f } from "./control-B_Nwtmag.js";
8
8
  import { _ as y } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
@@ -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-Bq96L43f.js";
5
+ import { P as D, b as L, e as O, i as g, d as T } from "./index-sYamgVg7.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-DoUo68xE.js";
12
+ import { _ as F } from "./SessionList.vue_vue_type_script_setup_true_lang-C0XvavBw.js";
13
13
  const G = {
14
14
  class: "flex min-w-0 flex-col gap-group-gap",
15
15
  "data-person-sessions": ""
@@ -1,9 +1,9 @@
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-B7qSUiee.js";
4
+ import { a as j } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bm0sxqNz.js";
5
5
  import { t as T } from "./toast-CqSDTWRX.js";
6
- import { u as N } from "./fieldMessages-DV6sESpn.js";
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
9
  import { _ as R } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
@@ -12,10 +12,10 @@ import { _ as Z } from "./SwitchField.vue_vue_type_script_setup_true_lang-0weBvs
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
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-pAdLPYXA.js";
16
- import { a as k, n as X } from "./useTypedEntry-aTfPBAhw.js";
15
+ import { _ as E } from "./TimeField.vue_vue_type_script_setup_true_lang-BebAIPeL.js";
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-CWeNiBX6.js";
18
+ import { n as q } from "./index-91Lo0hJy.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() {
@@ -2,11 +2,11 @@ import { defineComponent as P, computed as f, ref as I, openBlock as m, createEl
2
2
  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
- import { u as D } from "./format-B8mJm946.js";
5
+ import { u as D } from "./format-D8X4zsx6.js";
6
6
  import { _ as p } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
7
7
  import { e as b } from "./control-B_Nwtmag.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-Bq96L43f.js";
9
+ import { c as q, P as z, b as F, _ as L, i as O, d as T } from "./index-sYamgVg7.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";
@@ -4,9 +4,9 @@ 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
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-D3-R5XXG.js";
7
+ import { _ as a } from "./TextField.vue_vue_type_script_setup_true_lang-CWgn-vGl.js";
8
8
  import { r as $ } from "./guards-Dve61KjR.js";
9
- import { u as C, a as E } from "./index-Bq96L43f.js";
9
+ import { u as C, a as E } from "./index-sYamgVg7.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) {