@wssto2/vue-core 0.4.14 → 0.4.16

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 (98) hide show
  1. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-LlfIPWsJ.js → ActionRow.vue_vue_type_script_setup_true_lang-DOjn7fqy.js} +1 -1
  2. package/dist/{Activity-BdSvn0GP.js → Activity-CVO3sJwy.js} +6 -6
  3. package/dist/{Changes-BQO--N9F.js → Changes-Bzvl3cEx.js} +5 -5
  4. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-DkpFEHUw.js → CollectionPage.vue_vue_type_script_setup_true_lang-CD5zZ29o.js} +2 -2
  5. package/dist/DateField.vue_vue_type_script_setup_true_lang-BufoFwVQ.js +278 -0
  6. package/dist/{DeadLetters-OmeiADEi.js → DeadLetters-DmwUtgf9.js} +4 -4
  7. package/dist/FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js +285 -0
  8. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js → FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js} +1 -1
  9. package/dist/{FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js → FormView.vue_vue_type_script_setup_true_lang-Dz5TZt92.js} +2 -2
  10. package/dist/{General-CBwFLiKQ.js → General-CUEjJBD4.js} +10 -10
  11. package/dist/{NewRolePage-CblUW2gA.js → NewRolePage-Cyn-oV6r.js} +3 -3
  12. package/dist/NumberField.vue_vue_type_script_setup_true_lang-a8kN3A7k.js +150 -0
  13. package/dist/{ProfilePage-BOoDDbmB.js → ProfilePage-I74SQBFO.js} +41 -41
  14. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-BCE5yrwy.js → RoleEditor.vue_vue_type_script_setup_true_lang-Ce6wjptT.js} +44 -44
  15. package/dist/{RolePage-xDsFL_eC.js → RolePage-DWQP3qQl.js} +8 -8
  16. package/dist/{RolesPage-C39wsF6X.js → RolesPage-BeEsHIQ2.js} +5 -5
  17. package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-BMBkEmxr.js +81 -0
  18. package/dist/SelectField.vue_vue_type_script_setup_true_lang-C1Flb1hA.js +465 -0
  19. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-D4k5QeWS.js → SessionList.vue_vue_type_script_setup_true_lang-DoUo68xE.js} +2 -2
  20. package/dist/{Sessions-m_i4aTfw.js → Sessions-D8IXcb5M.js} +4 -4
  21. package/dist/{SettingsPage-ktKvQQnE.js → SettingsPage-DRQP2nrH.js} +9 -9
  22. package/dist/{SignIn-CkoEixY4.js → SignIn-CAZkovhb.js} +6 -6
  23. package/dist/{SignInPage-DVcpFz3G.js → SignInPage-D-49oLY3.js} +3 -3
  24. package/dist/{SignIns-BnVAtncZ.js → SignIns-BtNfgMLc.js} +3 -3
  25. package/dist/SwitchField.vue_vue_type_script_setup_true_lang-0weBvsJf.js +87 -0
  26. package/dist/TextField.vue_vue_type_script_setup_true_lang-D3-R5XXG.js +292 -0
  27. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-4wC3c0BM.js +91 -0
  28. package/dist/TimeField.vue_vue_type_script_setup_true_lang-pAdLPYXA.js +187 -0
  29. package/dist/{UserRecord-Cg69_mbU.js → UserRecord-BSbNuRFi.js} +10 -10
  30. package/dist/{UsersList-BFmBDGs7.js → UsersList-DPHxcaDm.js} +8 -8
  31. package/dist/access/index.js +1 -1
  32. package/dist/app/application.d.ts +8 -2
  33. package/dist/app/index.js +93 -93
  34. package/dist/collection/index.js +1 -1
  35. package/dist/control-B_Nwtmag.js +334 -0
  36. package/dist/{describeError-CvGmajU0.js → describeError-B-NMa--w.js} +12 -7
  37. package/dist/fieldMessages-DV6sESpn.js +25 -0
  38. package/dist/form/CardSelectField.vue.d.ts +2 -2
  39. package/dist/form/ChoiceChips.vue.d.ts +2 -2
  40. package/dist/form/ComboField.vue.d.ts +2 -2
  41. package/dist/form/DateField.vue.d.ts +10 -2
  42. package/dist/form/DateTimeField.vue.d.ts +10 -2
  43. package/dist/form/Field.vue.d.ts +2 -1
  44. package/dist/form/FileField.vue.d.ts +10 -2
  45. package/dist/form/FormErrors.vue.d.ts +1 -1
  46. package/dist/form/FormRow.vue.d.ts +3 -0
  47. package/dist/form/I18nField.vue.d.ts +10 -2
  48. package/dist/form/MoneyField.vue.d.ts +10 -2
  49. package/dist/form/MonthYearField.vue.d.ts +10 -2
  50. package/dist/form/MultiSelectField.vue.d.ts +2 -2
  51. package/dist/form/NumberField.vue.d.ts +25 -2
  52. package/dist/form/PhotoField.vue.d.ts +10 -2
  53. package/dist/form/SegmentedField.vue.d.ts +2 -2
  54. package/dist/form/SelectField.vue.d.ts +7 -8
  55. package/dist/form/SwitchField.vue.d.ts +3 -2
  56. package/dist/form/TextField.vue.d.ts +10 -2
  57. package/dist/form/TextareaField.vue.d.ts +10 -2
  58. package/dist/form/TimeField.vue.d.ts +10 -2
  59. package/dist/form/field.d.ts +12 -0
  60. package/dist/form/index.d.ts +3 -1
  61. package/dist/form/index.js +1167 -956
  62. package/dist/form/useForm.d.ts +2 -2
  63. package/dist/form/useHiddenFieldErrors.d.ts +23 -0
  64. package/dist/form/useSaveChrome.d.ts +8 -3
  65. package/dist/i18n/describeError.d.ts +8 -0
  66. package/dist/i18n/index.d.ts +3 -2
  67. package/dist/i18n/index.js +32 -28
  68. package/dist/identity/fieldMessages.d.ts +1 -1
  69. package/dist/identity/index.js +1 -1
  70. package/dist/{index-RNF5-9uf.js → index-Bq96L43f.js} +15 -15
  71. package/dist/{index-B416VXmR.js → index-CWeNiBX6.js} +2 -2
  72. package/dist/{index-KcCoCfr-.js → index-yKIOaisE.js} +10 -10
  73. package/dist/index.d.ts +1 -1
  74. package/dist/index.js +1 -1
  75. package/dist/notifications/index.js +1 -1
  76. package/dist/phone/PhoneField.vue.d.ts +1 -0
  77. package/dist/phone/index.js +66 -65
  78. package/dist/resource/index.js +1 -1
  79. package/dist/{routeResource-BwEFXzIX.js → routeResource-DlTsGTg_.js} +1 -1
  80. package/dist/state/index.js +1 -1
  81. package/dist/{status-OZUHZpWl.js → status-DzmySsWw.js} +1 -1
  82. package/dist/{useCommand-BkONMn3X.js → useCommand-B-N6HJOz.js} +1 -1
  83. package/dist/{useLoad-DuEsLECT.js → useLoad-M7V-AVwR.js} +1 -1
  84. package/dist/{useResourceForm-D1hIpwW5.js → useResourceForm-CP2lCwmD.js} +1 -1
  85. package/dist/useSaveChrome-7huA3FzR.js +26 -0
  86. package/package.json +1 -1
  87. package/dist/DateField.vue_vue_type_script_setup_true_lang-GVasv8ao.js +0 -255
  88. package/dist/FormErrors.vue_vue_type_script_setup_true_lang-BQb7wLT0.js +0 -276
  89. package/dist/NumberField.vue_vue_type_script_setup_true_lang-C7N5nq0P.js +0 -113
  90. package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-BMqWlpsL.js +0 -58
  91. package/dist/SelectField.vue_vue_type_script_setup_true_lang-BJoAkBo2.js +0 -437
  92. package/dist/SwitchField.vue_vue_type_script_setup_true_lang-CM8yp9JQ.js +0 -64
  93. package/dist/TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js +0 -269
  94. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CqAWfABZ.js +0 -68
  95. package/dist/TimeField.vue_vue_type_script_setup_true_lang-DWfAUlnz.js +0 -164
  96. package/dist/control-7EP4tjYy.js +0 -313
  97. package/dist/fieldMessages-D_dpSe19.js +0 -25
  98. package/dist/useSaveChrome-DuWm0Czf.js +0 -25
@@ -1,24 +1,24 @@
1
- import { defineComponent as I, computed as y, 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 h, createCommentVNode as $, createBlock as _, createSlots as X, watch as Y, mergeProps as F } from "vue";
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-BQb7wLT0.js";
4
- import { _ as G } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
5
- import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js";
6
- import { _ as te } from "./TextareaField.vue_vue_type_script_setup_true_lang-CqAWfABZ.js";
7
- import { _ as se } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
8
- import { u as ae } from "./useSaveChrome-DuWm0Czf.js";
3
+ import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
4
+ import { _ as W } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
5
+ import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-Dz5TZt92.js";
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";
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 W, 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-KcCoCfr-.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";
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
- import { _ as pe } from "./SegmentedField.vue_vue_type_script_setup_true_lang-BMqWlpsL.js";
16
- import { _ as _e } from "./SwitchField.vue_vue_type_script_setup_true_lang-CM8yp9JQ.js";
15
+ import { _ as pe } from "./SegmentedField.vue_vue_type_script_setup_true_lang-BMBkEmxr.js";
16
+ import { _ as _e } from "./SwitchField.vue_vue_type_script_setup_true_lang-0weBvsJf.js";
17
17
  import { u as ge } from "./platform-q3cjODLx.js";
18
18
  const ve = {
19
19
  class: "flex min-w-0 flex-col gap-4 lg:grid lg:grid-cols-[15rem_minmax(0,1fr)] lg:items-start lg:gap-8",
20
20
  "data-test": "permission-tree"
21
- }, be = ["aria-label"], ye = ["data-test", "aria-current", "onClick"], he = { class: "min-w-0 flex-1 truncate" }, ke = ["data-test"], xe = ["data-test"], we = { class: "flex min-w-0 items-center justify-between gap-3 px-row-inset" }, $e = { class: "min-w-0 flex-1 text-title3 font-semibold text-content-strong" }, Oe = { class: "text-footnote tabular-nums text-content-muted" }, Le = {
21
+ }, be = ["aria-label"], he = ["data-test", "aria-current", "onClick"], ye = { class: "min-w-0 flex-1 truncate" }, ke = ["data-test"], xe = ["data-test"], we = { class: "flex min-w-0 items-center justify-between gap-3 px-row-inset" }, $e = { class: "min-w-0 flex-1 text-title3 font-semibold text-content-strong" }, Oe = { class: "text-footnote tabular-nums text-content-muted" }, Le = {
22
22
  key: 0,
23
23
  class: "contents",
24
24
  "data-test": "tree-toggle-all"
@@ -29,21 +29,21 @@ const ve = {
29
29
  readonly: { type: Boolean }
30
30
  },
31
31
  setup(U) {
32
- const i = U, { t: g } = Q(), { catalogue: a } = W(), m = J(), r = y(() => ne(a)), b = M(r.value[0]?.key ?? ""), f = y(() => r.value.find((e) => e.key === b.value) ?? r.value[0]), j = (e) => Object.entries(a).filter(([, s]) => re(s) === e).map(([s]) => s), O = (e) => {
32
+ const i = U, { t: g } = Q(), { catalogue: a } = G(), m = J(), r = h(() => ne(a)), b = M(r.value[0]?.key ?? ""), f = h(() => r.value.find((e) => e.key === b.value) ?? r.value[0]), j = (e) => Object.entries(a).filter(([, s]) => re(s) === e).map(([s]) => s), O = (e) => {
33
33
  const s = j(e);
34
34
  return { granted: s.filter((o) => o in i.grants).length, total: s.length };
35
- }, k = (e) => `${O(e).granted} / ${O(e).total}`, T = y(() => r.value.map((e) => ({ value: e.key, label: m.groupLabel(e.key), badge: k(e.key) }))), u = y(() => f.value !== void 0 && O(f.value.key).granted === O(f.value.key).total);
36
- function q() {
35
+ }, k = (e) => `${O(e).granted} / ${O(e).total}`, T = h(() => r.value.map((e) => ({ value: e.key, label: m.groupLabel(e.key), badge: k(e.key) }))), u = h(() => f.value !== void 0 && O(f.value.key).granted === O(f.value.key).total);
36
+ function C() {
37
37
  if (f.value)
38
38
  for (const e of j(f.value.key))
39
39
  u.value ? D(a, i.grants, e) : H(a, i.grants, e);
40
40
  }
41
- const z = (e) => [...new Set(e.permissions.map((s) => s.ownable).filter((s) => s !== null))], x = y(() => ["own", "own_location", "all"].map((e) => ({ value: e, label: m.qualifierLabel(e) })));
41
+ const z = (e) => [...new Set(e.permissions.map((s) => s.ownable).filter((s) => s !== null))], x = h(() => ["own", "own_location", "all"].map((e) => ({ value: e, label: m.qualifierLabel(e) })));
42
42
  function A(e, s) {
43
43
  const o = R(a, i.grants, s) ?? "own", n = e.permissions.some((L) => L.ownable === s && L.unownedIsOwn);
44
44
  return [m.qualifierHint(o), o === "own" && n ? g("core.access.unowned") : ""].filter(Boolean).join(" · ");
45
45
  }
46
- function C(e) {
46
+ function q(e) {
47
47
  const s = e.requires.map((o) => m.permissionLabel(o)).join(", ");
48
48
  return [m.permissionDescription(e.id), s ? g("core.access.requires", { names: s }) : ""].filter(Boolean).join(" ");
49
49
  }
@@ -62,12 +62,12 @@ const ve = {
62
62
  class: K(["flex h-9 items-center justify-between gap-3 rounded-control px-3 text-left text-body transition-colors duration-motion-fast hover:bg-fill focus-visible:outline-2 focus-visible:outline-border-focus", b.value === o.key ? "bg-tint-soft font-semibold text-content-strong" : "text-content"]),
63
63
  onClick: (n) => b.value = o.key
64
64
  }, [
65
- w("span", he, d(t(m).groupLabel(o.key)), 1),
65
+ w("span", ye, d(t(m).groupLabel(o.key)), 1),
66
66
  w("span", {
67
67
  class: "text-footnote tabular-nums text-content-muted",
68
68
  "data-test": `tree-count-${o.key}`
69
69
  }, d(k(o.key)), 9, ke)
70
- ], 10, ye))), 128))
70
+ ], 10, he))), 128))
71
71
  ], 8, be),
72
72
  V(t(fe), {
73
73
  modelValue: b.value,
@@ -88,16 +88,16 @@ const ve = {
88
88
  V(t(me), {
89
89
  prominence: "secondary",
90
90
  size: "sm",
91
- onClick: q
91
+ onClick: C
92
92
  }, {
93
93
  default: p(() => [
94
- h(d(u.value ? t(g)("core.access.turn_off_all") : t(g)("core.access.turn_on_all")), 1)
94
+ y(d(u.value ? t(g)("core.access.turn_off_all") : t(g)("core.access.turn_on_all")), 1)
95
95
  ]),
96
96
  _: 1
97
97
  })
98
98
  ]))
99
99
  ]),
100
- (l(!0), v(B, null, N(f.value.screens, (o) => (l(), _(t(G), {
100
+ (l(!0), v(B, null, N(f.value.screens, (o) => (l(), _(t(W), {
101
101
  key: o.key,
102
102
  header: t(m).screenLabel(o.key)
103
103
  }, {
@@ -114,7 +114,7 @@ const ve = {
114
114
  (l(!0), v(B, null, N(o.permissions, (n) => (l(), _(t(_e), {
115
115
  key: n.id,
116
116
  label: t(m).permissionLabel(n.id),
117
- hint: C(n),
117
+ hint: q(n),
118
118
  "model-value": n.id in i.grants,
119
119
  disabled: i.readonly,
120
120
  "onUpdate:modelValue": (L) => c(n.id, !!L)
@@ -127,7 +127,7 @@ const ve = {
127
127
  tone: "warning"
128
128
  }, {
129
129
  default: p(() => [
130
- h(d(t(g)("core.access.sensitive")), 1)
130
+ y(d(t(g)("core.access.sensitive")), 1)
131
131
  ]),
132
132
  _: 1
133
133
  })) : $("", !0),
@@ -136,7 +136,7 @@ const ve = {
136
136
  tone: "neutral"
137
137
  }, {
138
138
  default: p(() => [
139
- h(d(t(g)("core.access.system")), 1)
139
+ y(d(t(g)("core.access.system")), 1)
140
140
  ]),
141
141
  _: 1
142
142
  })) : n.organizationOnly ? (l(), _(t(S), {
@@ -144,7 +144,7 @@ const ve = {
144
144
  tone: "info"
145
145
  }, {
146
146
  default: p(() => [
147
- h(d(t(g)("core.access.organization_only")), 1)
147
+ y(d(t(g)("core.access.organization_only")), 1)
148
148
  ]),
149
149
  _: 1
150
150
  })) : $("", !0)
@@ -161,11 +161,11 @@ const ve = {
161
161
  }), je = {
162
162
  class: "flex min-w-0 flex-col gap-group-gap",
163
163
  "data-test": "role-editor"
164
- }, qe = {
164
+ }, Ce = {
165
165
  key: 0,
166
166
  class: "flex flex-wrap gap-1.5 px-row-inset py-2",
167
167
  "data-test": "role-attrs"
168
- }, Ge = /* @__PURE__ */ I({
168
+ }, We = /* @__PURE__ */ I({
169
169
  __name: "RoleEditor",
170
170
  props: {
171
171
  role: {},
@@ -173,7 +173,7 @@ const ve = {
173
173
  },
174
174
  emits: ["saved"],
175
175
  setup(U, { expose: i, emit: g }) {
176
- const a = U, m = g, { t: r } = Q(), b = J(), { catalogue: f } = W(), j = ie(), { access: O } = ge(), k = (c, e) => {
176
+ const a = U, m = g, { t: r } = Q(), b = J(), { catalogue: f } = G(), j = ie(), { access: O } = ge(), k = (c, e) => {
177
177
  const s = c ?? e ?? null;
178
178
  return {
179
179
  name: c ? c.name : e ? r("core.access.copy_name", { name: b.roleName(e) }) : "",
@@ -193,15 +193,15 @@ const ve = {
193
193
  }
194
194
  },
195
195
  failureMessage: ce()
196
- }), q = M([]);
196
+ }), C = M([]);
197
197
  function z() {
198
- u.hydrate(k(a.role, a.source)), q.value = de(f, u.values.grants);
198
+ u.hydrate(k(a.role, a.source)), C.value = de(f, u.values.grants);
199
199
  }
200
200
  z(), Y(() => [a.role, a.source], z);
201
- const x = y(() => a.role !== null && (a.role.predefined || a.role.computed) || !O.can(ue.manageRoles)), A = y(
202
- () => q.value.length === 0 || x.value ? "" : r("core.access.completed", { names: q.value.map((c) => b.permissionLabel(c)).join(", ") })
201
+ const x = h(() => a.role !== null && (a.role.predefined || a.role.computed) || !O.can(ue.manageRoles)), A = h(
202
+ () => C.value.length === 0 || x.value ? "" : r("core.access.completed", { names: C.value.map((c) => b.permissionLabel(c)).join(", ") })
203
203
  );
204
- async function C() {
204
+ async function q() {
205
205
  if (x.value) return;
206
206
  const c = await u.submit(
207
207
  (e) => {
@@ -218,11 +218,11 @@ const ve = {
218
218
  );
219
219
  (c.status === "saved" || c.status === "saved-refresh-failed") && (oe.success(r("core.access.saved")), m("saved", c.value));
220
220
  }
221
- ae({ form: u, label: () => r("core.access.save"), allowed: () => !x.value, save: () => void C(), cancel: () => u.reset() });
222
- const P = y(() => (a.role ?? a.source)?.attrs ?? []);
223
- return i({ form: u, save: C }), (c, e) => (l(), _(t(ee), {
221
+ ae({ form: u, label: () => r("core.access.save"), allowed: () => !x.value, disabledWhileClean: () => a.role !== null, save: () => void q(), cancel: () => u.reset() });
222
+ const P = h(() => (a.role ?? a.source)?.attrs ?? []);
223
+ return i({ form: u, save: q }), (c, e) => (l(), _(t(ee), {
224
224
  form: t(u),
225
- onSubmit: C
225
+ onSubmit: q
226
226
  }, {
227
227
  default: p(() => [
228
228
  w("div", je, [
@@ -232,7 +232,7 @@ const ve = {
232
232
  "data-test": "role-computed-note"
233
233
  }, {
234
234
  default: p(() => [
235
- h(d(t(r)("core.access.notes.computed")), 1)
235
+ y(d(t(r)("core.access.notes.computed")), 1)
236
236
  ]),
237
237
  _: 1
238
238
  })) : a.role?.predefined ? (l(), _(t(E), {
@@ -241,7 +241,7 @@ const ve = {
241
241
  "data-test": "role-predefined-note"
242
242
  }, {
243
243
  default: p(() => [
244
- h(d(t(r)("core.access.notes.predefined")), 1)
244
+ y(d(t(r)("core.access.notes.predefined")), 1)
245
245
  ]),
246
246
  _: 1
247
247
  })) : $("", !0),
@@ -251,11 +251,11 @@ const ve = {
251
251
  "data-test": "role-completed-note"
252
252
  }, {
253
253
  default: p(() => [
254
- h(d(A.value), 1)
254
+ y(d(A.value), 1)
255
255
  ]),
256
256
  _: 1
257
257
  })) : $("", !0),
258
- V(t(G), {
258
+ V(t(W), {
259
259
  header: t(r)("core.access.groups.role"),
260
260
  editable: !x.value,
261
261
  "label-width": "12rem"
@@ -271,13 +271,13 @@ const ve = {
271
271
  rows: 2,
272
272
  "max-length": 255
273
273
  }), null, 16, ["label"]),
274
- P.value.length ? (l(), v("div", qe, [
274
+ P.value.length ? (l(), v("div", Ce, [
275
275
  (l(!0), v(B, null, N(P.value, (s) => (l(), _(t(S), {
276
276
  key: s.attribute,
277
277
  tone: "neutral"
278
278
  }, {
279
279
  default: p(() => [
280
- h(d(s.attribute) + ": " + d(s.values.join(", ")), 1)
280
+ y(d(s.attribute) + ": " + d(s.values.join(", ")), 1)
281
281
  ]),
282
282
  _: 2
283
283
  }, 1024))), 128))
@@ -296,5 +296,5 @@ const ve = {
296
296
  }
297
297
  });
298
298
  export {
299
- Ge as _
299
+ We as _
300
300
  };
@@ -2,22 +2,22 @@ import { defineComponent as I, computed as z, openBlock as l, createBlock as b,
2
2
  import { useI18n as K } from "vue-i18n";
3
3
  import { useRouter as X } from "vue-router";
4
4
  import { _ as Y } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
5
- import { _ as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
6
- import { e as F } from "./control-7EP4tjYy.js";
7
- import { u as Z } from "./describeError-CvGmajU0.js";
5
+ import { _ as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
6
+ import { e as F } from "./control-B_Nwtmag.js";
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
10
  import { _ as oe } from "./RecordHeader.vue_vue_type_script_setup_true_lang-D87Hs75d.js";
11
11
  import { u as te } from "./platform-q3cjODLx.js";
12
- import { a as ae, u as le } from "./routeResource-BwEFXzIX.js";
12
+ 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-Da0M-hen.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-KcCoCfr-.js";
17
- import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-BJoAkBo2.js";
18
- import { u as ie, _ as ue } from "./useCommand-BkONMn3X.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";
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-BCE5yrwy.js";
20
+ import { _ as pe } from "./RoleEditor.vue_vue_type_script_setup_true_lang-Ce6wjptT.js";
21
21
  const de = { "data-test": "role-replace" }, fe = /* @__PURE__ */ I({
22
22
  __name: "ReplaceRoleDialog",
23
23
  props: {
@@ -3,15 +3,15 @@ import { useI18n as A } from "vue-i18n";
3
3
  import { useRouter as F } from "vue-router";
4
4
  import { _ as S } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
5
5
  import { _ as E } from "./Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js";
6
- import { _ as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
7
- import { e as j } from "./control-7EP4tjYy.js";
8
- import { _ as D } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
6
+ import { _ as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
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
9
  import { a as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.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
- import { u as z } from "./useLoad-DuEsLECT.js";
14
- import { u as G, a as H, b as J, c as x } from "./index-KcCoCfr-.js";
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";
15
15
  const M = {
16
16
  class: "flex min-w-0 flex-col gap-group-gap",
17
17
  "data-test": "roles-index"
@@ -0,0 +1,81 @@
1
+ import { defineComponent as w, openBlock as a, createBlock as k, mergeProps as x, unref as r, createSlots as V, withCtx as o, createElementVNode as h, normalizeClass as n, createElementBlock as s, Fragment as _, renderList as $, createTextVNode as B, toDisplayString as d, createCommentVNode as C, renderSlot as i, mergeDefaults as L } from "vue";
2
+ import { u as F, a as S, _ as T, f as D, b as N } from "./control-B_Nwtmag.js";
3
+ const E = ["id", "aria-label", "aria-describedby", "aria-invalid"], P = ["disabled", "aria-pressed", "onClick"], H = /* @__PURE__ */ w({
4
+ __name: "SegmentedField",
5
+ props: /* @__PURE__ */ L({
6
+ label: {},
7
+ labelHidden: { type: Boolean },
8
+ hint: {},
9
+ error: {},
10
+ required: { type: Boolean },
11
+ editable: { type: Boolean },
12
+ disabled: { type: Boolean },
13
+ lockedReason: {},
14
+ presentation: {},
15
+ name: {},
16
+ modelValue: {},
17
+ options: {},
18
+ rowLayout: {}
19
+ }, { ...N, modelValue: null, rowLayout: "setting" }),
20
+ emits: ["update:modelValue"],
21
+ setup(u, { emit: m }) {
22
+ const e = u, c = m, { editable: f } = F(e), b = !!S(), p = () => e.options.find((t) => t.value === e.modelValue)?.label ?? null;
23
+ return (t, R) => (a(), k(T, x(r(D)(e), {
24
+ value: p(),
25
+ "row-layout": e.rowLayout
26
+ }), V({
27
+ default: o(({ id: y, describedby: g, invalid: v }) => [
28
+ h("div", {
29
+ id: y,
30
+ role: "group",
31
+ "aria-label": e.label,
32
+ "aria-describedby": g,
33
+ "aria-invalid": v || void 0,
34
+ "data-test": "segmented",
35
+ class: n(["max-w-full flex-wrap rounded-control bg-fill p-0.5", [b && e.rowLayout === "stacked" ? "flex w-full" : "inline-flex", e.disabled ? "opacity-45" : ""]])
36
+ }, [
37
+ (a(!0), s(_, null, $(e.options, (l) => (a(), s("button", {
38
+ key: l.value,
39
+ type: "button",
40
+ disabled: e.disabled || !r(f) || l.disabled,
41
+ "aria-pressed": l.value === e.modelValue,
42
+ class: n(["relative min-h-7 min-w-fit flex-1 whitespace-nowrap rounded-control px-3.5 py-1 text-sm transition-colors duration-motion-fast ease-motion-standard focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-border-focus", l.value === e.modelValue ? "bg-segment-selected font-semibold text-content-strong shadow-sm" : "cursor-pointer font-medium text-content hover:text-content-strong"]),
43
+ onClick: (q) => c("update:modelValue", l.value)
44
+ }, [
45
+ B(d(l.label) + " ", 1),
46
+ l.count !== void 0 ? (a(), s("span", {
47
+ key: 0,
48
+ class: n(["ml-1.5 rounded-full px-1.5 text-caption font-semibold tabular-nums", l.value === e.modelValue ? "bg-tint-soft text-content-link" : "bg-fill-strong text-content-muted"])
49
+ }, d(l.count), 3)) : C("", !0)
50
+ ], 10, P))), 128))
51
+ ], 10, E)
52
+ ]),
53
+ _: 2
54
+ }, [
55
+ t.$slots.trailing ? {
56
+ name: "trailing",
57
+ fn: o(() => [
58
+ i(t.$slots, "trailing")
59
+ ]),
60
+ key: "0"
61
+ } : void 0,
62
+ t.$slots.labelTrailing ? {
63
+ name: "labelTrailing",
64
+ fn: o(() => [
65
+ i(t.$slots, "labelTrailing")
66
+ ]),
67
+ key: "1"
68
+ } : void 0,
69
+ t.$slots.readonly ? {
70
+ name: "readonly",
71
+ fn: o(() => [
72
+ i(t.$slots, "readonly")
73
+ ]),
74
+ key: "2"
75
+ } : void 0
76
+ ]), 1040, ["value", "row-layout"]));
77
+ }
78
+ });
79
+ export {
80
+ H as _
81
+ };