@wssto2/vue-core 0.4.4 → 0.4.6

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 (73) hide show
  1. package/dist/{Activity-BH0jQxZs.js → Activity-BVk8iG3X.js} +2 -2
  2. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-DxD6JvyK.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.js} +1 -1
  3. package/dist/{Changes-DS81sZj9.js → Changes-CaiZpcyW.js} +2 -2
  4. package/dist/CollectionPage.vue_vue_type_script_setup_true_lang-kBBHIJTB.js +1520 -0
  5. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-DBtMgcW6.js → DataTable.vue_vue_type_script_setup_true_lang-KPm5NrDE.js} +1 -1
  6. package/dist/{DeadLetters-BqKtaowL.js → DeadLetters-BOMgmmOg.js} +3 -3
  7. package/dist/{General-CK-9LrQ2.js → General-BaW63VQg.js} +2 -2
  8. package/dist/IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js +50 -0
  9. package/dist/{Menu.vue_vue_type_script_setup_true_lang-ClsOlOSr.js → Menu.vue_vue_type_script_setup_true_lang-uPmxWvds.js} +56 -50
  10. package/dist/{NewRolePage-CziDdoeG.js → NewRolePage-B8OGQE-A.js} +3 -3
  11. package/dist/{ProfilePage-x063Zij2.js → ProfilePage-Bbv5KH3L.js} +4 -4
  12. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-Bua3wbN6.js → RecordHeader.vue_vue_type_script_setup_true_lang-D87Hs75d.js} +1 -1
  13. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-CzP4BNh7.js → ResourcePage.vue_vue_type_script_setup_true_lang-gJGEfLzX.js} +1 -1
  14. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-BjhaIqqG.js → RoleEditor.vue_vue_type_script_setup_true_lang-4YJhNgbn.js} +1 -1
  15. package/dist/{RolePage-Cecu3BKn.js → RolePage-Bn0re7VE.js} +6 -6
  16. package/dist/{RolesPage-DIL35QcF.js → RolesPage-CjEAQvTq.js} +3 -3
  17. package/dist/{SectionList.vue_vue_type_script_setup_true_lang-CaF3LPbQ.js → SectionList.vue_vue_type_script_setup_true_lang-B0p_8xQG.js} +2 -2
  18. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-BJfEOvEf.js → SectionNavigator.vue_vue_type_script_setup_true_lang-ROl9_pdO.js} +3 -3
  19. package/dist/SelectField.vue_vue_type_script_setup_true_lang-BJoAkBo2.js +437 -0
  20. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-D5KRitar.js → SessionList.vue_vue_type_script_setup_true_lang-D4k5QeWS.js} +1 -1
  21. package/dist/{Sessions-DhHIVk7e.js → Sessions-r9WHf0nU.js} +2 -2
  22. package/dist/{SettingsPage-BuGtZcae.js → SettingsPage-Dcib_TK0.js} +2 -2
  23. package/dist/{SignIn-DRls5eYK.js → SignIn-DJ-ai_ap.js} +2 -2
  24. package/dist/{SignInPage-D9wR46KD.js → SignInPage-CJAsxvc6.js} +1 -1
  25. package/dist/{SignInTable.vue_vue_type_script_setup_true_lang-CifEaH7c.js → SignInTable.vue_vue_type_script_setup_true_lang-ALAuc0sI.js} +1 -1
  26. package/dist/{SignIns-BMBFeBrK.js → SignIns-NnIqezxn.js} +2 -2
  27. package/dist/ToneDot.vue_vue_type_script_setup_true_lang-99rNn-L5.js +24 -0
  28. package/dist/{UserRecord-BOCP5XC6.js → UserRecord-JZFQ40hK.js} +6 -6
  29. package/dist/{UsersList-Df6HeAAO.js → UsersList-cfhb1GE7.js} +4 -4
  30. package/dist/access/index.js +1 -1
  31. package/dist/collection/CollectionCell.vue.d.ts +2 -0
  32. package/dist/collection/RecordIdentity.vue.d.ts +6 -0
  33. package/dist/collection/datePresets.d.ts +8 -4
  34. package/dist/collection/filters.d.ts +4 -0
  35. package/dist/collection/index.js +49 -49
  36. package/dist/collection/rowInteractions.d.ts +2 -0
  37. package/dist/collection/state.d.ts +10 -5
  38. package/dist/collection/useCollection.d.ts +20 -5
  39. package/dist/controls/IconTile.vue.d.ts +10 -3
  40. package/dist/controls/index.js +1 -1
  41. package/dist/form/I18nField.vue.d.ts +1 -1
  42. package/dist/form/TextareaField.vue.d.ts +1 -1
  43. package/dist/form/index.js +4 -4
  44. package/dist/form/options.d.ts +3 -0
  45. package/dist/http-D_D9YbLH.js +194 -0
  46. package/dist/identity/index.js +1 -1
  47. package/dist/{index-EkQmsbBQ.js → index-7QcMXQZq.js} +2 -2
  48. package/dist/{index-BykMr7eH.js → index-By5B18A3.js} +10 -10
  49. package/dist/{index-BwMaMqSc.js → index-CixCeO47.js} +5 -5
  50. package/dist/index.d.ts +1 -1
  51. package/dist/index.js +1 -1
  52. package/dist/{neighbors-DpaIMQAL.js → neighbors-BRf4Eh2R.js} +1 -1
  53. package/dist/notifications/index.js +1 -1
  54. package/dist/overlay/AlertDialog.vue.d.ts +2 -2
  55. package/dist/overlay/Menu.vue.d.ts +3 -0
  56. package/dist/overlay/index.js +1 -1
  57. package/dist/page/AdaptivePageShell.vue.d.ts +2 -2
  58. package/dist/page/ResourceHeader.vue.d.ts +2 -2
  59. package/dist/page/index.js +5 -5
  60. package/dist/resource/index.js +1 -1
  61. package/dist/{rowLayout-CZ7uZFnE.js → rowLayout-BkQWulan.js} +239 -221
  62. package/dist/shell/NavigationList.vue.d.ts +1 -1
  63. package/dist/shell/index.js +1 -1
  64. package/dist/state/ToneDot.vue.d.ts +12 -0
  65. package/dist/{status-DyvlO552.js → status-Ct8ixCoS.js} +2 -2
  66. package/dist/styles.css +1 -1
  67. package/package.json +1 -1
  68. package/src/styles/collection.css +1 -1
  69. package/src/styles/theme.css +7 -0
  70. package/dist/CollectionPage.vue_vue_type_script_setup_true_lang-BZRdVhZo.js +0 -1485
  71. package/dist/IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js +0 -40
  72. package/dist/SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js +0 -423
  73. package/dist/http-CNcDHSOj.js +0 -194
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as d, computed as s, useSlots as u, openBlock as w, createElementBlock as p, createVNode as y, unref as f, createSlots as m, renderList as b, withCtx as h, renderSlot as v, normalizeProps as _, guardReactiveProps as g } from "vue";
2
- import { u as k, _ as R } from "./rowLayout-CZ7uZFnE.js";
2
+ import { u as k, _ as R } from "./rowLayout-BkQWulan.js";
3
3
  const B = ["aria-busy"], S = /* @__PURE__ */ d({
4
4
  __name: "DataTable",
5
5
  props: {
@@ -1,15 +1,15 @@
1
1
  import { defineComponent as B, useTemplateRef as C, computed as y, ref as v, openBlock as D, createBlock as z, unref as r, withCtx as m, createVNode as F, createElementVNode as b, normalizeClass as $, toDisplayString as h } from "vue";
2
2
  import { useI18n as q } from "vue-i18n";
3
3
  import { a as k } from "./error-CD7x0Jrz.js";
4
- import { u as V, _ as N } from "./CollectionPage.vue_vue_type_script_setup_true_lang-BZRdVhZo.js";
4
+ import { u as V, _ as N } from "./CollectionPage.vue_vue_type_script_setup_true_lang-kBBHIJTB.js";
5
5
  import { u as P } from "./describeError-Ctga6GcS.js";
6
6
  import { u as I } from "./format-B8mJm946.js";
7
- import { e as a, R as O } from "./index-EkQmsbBQ.js";
7
+ import { e as a, R as O } from "./index-7QcMXQZq.js";
8
8
  import { _ as W } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
9
9
  import { t as i } from "./toast-CqSDTWRX.js";
10
10
  import { u as Y } from "./useLoad-CYRVx6HW.js";
11
11
  import { u as j } from "./platform-q3cjODLx.js";
12
- import { a as G, r as H } from "./http-CNcDHSOj.js";
12
+ import { a as G, r as H } from "./http-D_D9YbLH.js";
13
13
  function J(u) {
14
14
  return G({
15
15
  id: "events.deadletters",
@@ -5,10 +5,10 @@ import { u as E } from "./format-B8mJm946.js";
5
5
  import { u as T } from "./useResourceForm-D1hIpwW5.js";
6
6
  import { _ as h } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
7
7
  import { _ as F } from "./FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js";
8
- import { _ as L } from "./SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js";
8
+ import { _ as L } from "./SelectField.vue_vue_type_script_setup_true_lang-BJoAkBo2.js";
9
9
  import { _ as f } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
10
10
  import { u as A } from "./useSaveChrome-DuWm0Czf.js";
11
- import { P as D, b as G, i as I } from "./index-BykMr7eH.js";
11
+ import { P as D, b as G, i as I } from "./index-By5B18A3.js";
12
12
  import { t as M } from "./toast-CqSDTWRX.js";
13
13
  import { u as O } from "./platform-q3cjODLx.js";
14
14
  import { b as U } from "./routeResource-DstM0hvf.js";
@@ -0,0 +1,50 @@
1
+ import { defineComponent as s, openBlock as t, createElementBlock as o, normalizeClass as r, createBlock as l, unref as d, toDisplayString as c, createCommentVNode as u } from "vue";
2
+ import { _ as x } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
3
+ const g = ["data-tone", "data-weight"], p = /* @__PURE__ */ s({
4
+ __name: "IconTile",
5
+ props: {
6
+ tone: { default: "anchor" },
7
+ icon: { default: void 0 },
8
+ text: { default: void 0 },
9
+ weight: { default: "solid" },
10
+ size: { default: "row" }
11
+ },
12
+ setup(i) {
13
+ const e = i, a = {
14
+ solid: {
15
+ brand: "bg-tile-brand text-tile-brand-foreground",
16
+ anchor: "bg-tile-anchor text-tile-anchor-foreground",
17
+ neutral: "bg-tile-neutral text-tile-neutral-foreground"
18
+ },
19
+ soft: {
20
+ brand: "bg-tile-brand-soft text-tile-brand-soft-foreground ring-1 ring-inset ring-current/15",
21
+ anchor: "bg-tint-soft text-content-link ring-1 ring-inset ring-current/15",
22
+ neutral: "bg-fill text-content-muted ring-1 ring-inset ring-current/15"
23
+ }
24
+ }, n = {
25
+ row: { box: "size-tile rounded-md", text: "text-caption" },
26
+ sm: { box: "size-8 rounded-md", text: "text-footnote" },
27
+ md: { box: "size-11 rounded-xl", text: "text-base" },
28
+ lg: { box: "size-14 rounded-2xl", text: "text-xl" }
29
+ };
30
+ return (f, m) => (t(), o("span", {
31
+ "aria-hidden": "true",
32
+ "data-tone": e.tone,
33
+ "data-weight": e.weight,
34
+ class: r(["inline-flex shrink-0 select-none items-center justify-center", [a[e.weight][e.tone], n[e.size].box]])
35
+ }, [
36
+ e.icon ? (t(), l(d(x), {
37
+ key: 0,
38
+ name: e.icon,
39
+ size: 20,
40
+ class: "size-[62%]"
41
+ }, null, 8, ["name"])) : e.text ? (t(), o("span", {
42
+ key: 1,
43
+ class: r(["font-semibold leading-none", n[e.size].text])
44
+ }, c(e.text), 3)) : u("", !0)
45
+ ], 10, g));
46
+ }
47
+ });
48
+ export {
49
+ p as _
50
+ };
@@ -1,17 +1,18 @@
1
- import { defineComponent as G, useId as Y, ref as f, computed as y, watch as k, nextTick as v, onUnmounted as j, openBlock as o, createElementBlock as r, Fragment as x, renderSlot as J, createCommentVNode as m, createBlock as h, Teleport as Q, createVNode as W, Transition as X, withCtx as Z, mergeProps as ee, unref as d, renderList as te, normalizeClass as ne, createElementVNode as oe, toDisplayString as $ } from "vue";
1
+ import { defineComponent as G, useId as Y, ref as v, computed as y, watch as k, nextTick as h, onUnmounted as j, openBlock as o, createElementBlock as r, Fragment as x, renderSlot as J, createCommentVNode as u, createBlock as d, Teleport as Q, createVNode as W, Transition as X, withCtx as Z, mergeProps as ee, unref as p, renderList as te, normalizeClass as ne, createElementVNode as oe, toDisplayString as R } from "vue";
2
2
  import { _ } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
3
- import { u as ae } from "./anchored-Cj4--8dT.js";
4
- import { I as ie } from "./dialogStack-DZZg55w0.js";
3
+ import { _ as ae } from "./ToneDot.vue_vue_type_script_setup_true_lang-99rNn-L5.js";
4
+ import { u as ie } from "./anchored-Cj4--8dT.js";
5
+ import { I as re } from "./dialogStack-DZZg55w0.js";
5
6
  import { C as O } from "./closeOverlays-CjVsIrpL.js";
6
- const re = ["aria-label"], se = {
7
+ const se = ["aria-label"], ce = {
7
8
  key: 0,
8
9
  role: "separator",
9
10
  class: "mx-2.5 my-1.5 h-px bg-border-separator compact:mx-0 compact:my-0 compact:h-2 compact:bg-fill"
10
- }, ce = ["role", "aria-checked", "disabled", "aria-busy", "data-menu-item", "onClick"], le = { class: "min-w-0 flex-1 truncate" }, ue = {
11
- key: 3,
11
+ }, le = ["role", "aria-checked", "disabled", "aria-busy", "data-menu-item", "onClick"], ue = { class: "min-w-0 flex-1 truncate" }, me = {
12
+ key: 4,
12
13
  "aria-hidden": "true",
13
14
  class: "shrink-0 text-footnote opacity-60 compact:hidden"
14
- }, ge = /* @__PURE__ */ G({
15
+ }, ye = /* @__PURE__ */ G({
15
16
  __name: "Menu",
16
17
  props: {
17
18
  items: {},
@@ -20,15 +21,15 @@ const re = ["aria-label"], se = {
20
21
  },
21
22
  emits: ["presented", "dismissed"],
22
23
  setup(P, { expose: z, emit: B }) {
23
- const s = P, g = B, I = 8, E = `menu-${Y()}`, a = f(!1), p = f(null), l = f(null), N = y(() => [...s.items.filter((e) => !e.tone), ...s.items.filter((e) => e.tone)]), V = y(() => {
24
+ const s = P, g = B, I = 8, E = `menu-${Y()}`, a = v(!1), f = v(null), l = v(null), N = y(() => [...s.items.filter((e) => !e.tone), ...s.items.filter((e) => e.tone)]), V = y(() => {
24
25
  const e = [];
25
26
  let n = null;
26
27
  for (const t of N.value)
27
28
  n && (n.section !== t.section || t.tone && !n.tone) && e.push({ kind: "separator", key: `sep-${t.id}` }), e.push({ kind: "item", item: t }), n = t;
28
29
  return e;
29
- }), C = () => p.value?.querySelector("[data-menu-trigger]") ?? p.value?.firstElementChild ?? null, c = f(null);
30
+ }), C = () => f.value?.querySelector("[data-menu-trigger]") ?? f.value?.firstElementChild ?? null, c = v(null);
30
31
  let b = null;
31
- const { style: K, update: M } = ae(l, {
32
+ const { style: K, update: M } = ie(l, {
32
33
  // The point is read now, not when floating-ui measures: the menu may have closed (and cleared it) by then.
33
34
  reference: () => {
34
35
  const e = c.value;
@@ -40,90 +41,90 @@ const re = ["aria-label"], se = {
40
41
  fit: (e, n) => {
41
42
  e.style.maxHeight = `${Math.max(120, n.height)}px`;
42
43
  }
43
- }), w = () => Array.from(l.value?.querySelectorAll('[role="menuitem"]:not([disabled]), [role="menuitemradio"]:not([disabled])') ?? []);
44
- function u(e) {
45
- const n = w();
44
+ }), L = () => Array.from(l.value?.querySelectorAll('[role="menuitem"]:not([disabled]), [role="menuitemradio"]:not([disabled])') ?? []);
45
+ function m(e) {
46
+ const n = L();
46
47
  n.length !== 0 && n[(e + n.length) % n.length]?.focus();
47
48
  }
48
- function L() {
49
+ function T() {
49
50
  a.value || s.items.length === 0 || (c.value = null, a.value = !0, g("presented"));
50
51
  }
51
52
  function U(e, n) {
52
- s.items.length !== 0 && (b = document.activeElement, c.value = { x: e, y: n }, a.value ? v(M) : (a.value = !0, g("presented")));
53
+ s.items.length !== 0 && (b = document.activeElement, c.value = { x: e, y: n }, a.value ? h(M) : (a.value = !0, g("presented")));
53
54
  }
54
55
  function i(e = !0) {
55
56
  if (!a.value) return;
56
57
  a.value = !1, g("dismissed");
57
58
  const n = c.value ? b : C();
58
- c.value = null, b = null, e && v(() => n?.focus?.({ preventScroll: !0 }));
59
+ c.value = null, b = null, e && h(() => n?.focus?.({ preventScroll: !0 }));
59
60
  }
60
- function T() {
61
- a.value ? i() : L();
61
+ function A() {
62
+ a.value ? i() : T();
62
63
  }
63
64
  async function q(e) {
64
- e.disabled || e.processing || (i(), await v(), e.onSelect());
65
+ e.disabled || e.processing || (i(), await h(), e.onSelect());
65
66
  }
66
67
  function F(e) {
67
- const n = w().indexOf(document.activeElement);
68
+ const n = L().indexOf(document.activeElement);
68
69
  switch (e.key) {
69
70
  case "ArrowDown":
70
- e.preventDefault(), u(n + 1);
71
+ e.preventDefault(), m(n + 1);
71
72
  break;
72
73
  case "ArrowUp":
73
- e.preventDefault(), u(n - 1);
74
+ e.preventDefault(), m(n - 1);
74
75
  break;
75
76
  case "Home":
76
- e.preventDefault(), u(0);
77
+ e.preventDefault(), m(0);
77
78
  break;
78
79
  case "End":
79
- e.preventDefault(), u(-1);
80
+ e.preventDefault(), m(-1);
80
81
  break;
81
82
  case "Tab":
82
83
  i(!1);
83
84
  break;
84
85
  }
85
86
  }
86
- function A(e) {
87
+ function w(e) {
87
88
  e.key === "Escape" && (e.preventDefault(), e.stopPropagation(), i());
88
89
  }
89
90
  function D(e) {
90
91
  const n = e.target;
91
- n && (l.value?.contains(n) || p.value?.contains(n)) || c.value && e.pointerType === "touch" && !l.value || i(!1);
92
+ n && (l.value?.contains(n) || f.value?.contains(n)) || c.value && e.pointerType === "touch" && !l.value || i(!1);
92
93
  }
93
94
  k(l, (e) => {
94
- e && v(() => u(0));
95
+ e && h(() => m(0));
95
96
  });
96
97
  function S() {
97
98
  i();
98
99
  }
99
- function R() {
100
- window.removeEventListener("keydown", A, !0), document.removeEventListener("pointerdown", D, !0), document.removeEventListener(O, S);
100
+ function $() {
101
+ window.removeEventListener("keydown", w, !0), document.removeEventListener("pointerdown", D, !0), document.removeEventListener(O, S);
101
102
  }
102
103
  k(a, (e) => {
103
- e ? (window.addEventListener("keydown", A, !0), document.addEventListener("pointerdown", D, !0), document.addEventListener(O, S)) : R();
104
+ e ? (window.addEventListener("keydown", w, !0), document.addEventListener("pointerdown", D, !0), document.addEventListener(O, S)) : $();
104
105
  }), k(() => s.items.length, (e) => {
105
106
  e === 0 && i(!1);
106
- }), j(R);
107
+ }), j($);
107
108
  const H = y(() => ({
108
109
  "aria-haspopup": "menu",
109
110
  "aria-expanded": a.value,
110
111
  "aria-controls": E,
111
112
  "data-menu-trigger": ""
112
113
  }));
113
- return z({ present: L, presentAt: U, dismiss: () => i(), toggle: T }), (e, n) => (o(), r(x, null, [
114
+ return z({ present: T, presentAt: U, dismiss: () => i(), toggle: A }), (e, n) => (o(), r(x, null, [
114
115
  e.$slots.trigger ? (o(), r("span", {
115
116
  key: 0,
116
117
  ref_key: "anchor",
117
- ref: p,
118
+ ref: f,
118
119
  class: "inline-flex"
119
120
  }, [
120
121
  J(e.$slots, "trigger", {
121
122
  presented: a.value,
122
- toggle: T,
123
+ toggle: A,
123
124
  attrs: H.value
124
125
  })
125
- ], 512)) : m("", !0),
126
- (o(), h(Q, { to: "body" }, [
126
+ ], 512)) : u("", !0),
127
+ (o(), d(Q, { to: "body" }, [
127
128
  W(X, {
128
129
  "enter-active-class": "transition-opacity duration-motion-fast ease-motion-standard",
129
130
  "enter-from-class": "opacity-0",
@@ -138,15 +139,15 @@ const re = ["aria-label"], se = {
138
139
  ref: l,
139
140
  role: "menu",
140
141
  "aria-label": s.label
141
- }, { [d(ie)]: "" }, {
142
- style: d(K),
142
+ }, { [p(re)]: "" }, {
143
+ style: p(K),
143
144
  class: "z-10001 min-w-52 max-w-[calc(100vw-1rem)] overflow-y-auto rounded-menu bg-surface-overlay p-1.5 text-content-strong shadow-float outline-none compact:min-w-60 compact:p-0",
144
145
  onKeydown: F
145
146
  }), [
146
147
  (o(!0), r(x, null, te(V.value, (t) => (o(), r(x, {
147
148
  key: t.kind === "item" ? t.item.id : t.key
148
149
  }, [
149
- t.kind === "separator" ? (o(), r("div", se)) : (o(), r("button", {
150
+ t.kind === "separator" ? (o(), r("div", ce)) : (o(), r("button", {
150
151
  key: 1,
151
152
  type: "button",
152
153
  role: t.item.checked === void 0 ? "menuitem" : "menuitemradio",
@@ -155,31 +156,36 @@ const re = ["aria-label"], se = {
155
156
  "aria-busy": t.item.processing || void 0,
156
157
  "data-menu-item": t.item.id,
157
158
  class: ne(["group flex min-h-8 w-full cursor-pointer items-center gap-2.5 rounded-control px-2.5 py-1 text-left text-subheadline font-normal outline-none disabled:cursor-default disabled:opacity-45 compact:min-h-11 compact:rounded-none compact:border-t compact:border-border-separator compact:px-4 compact:text-body compact:first:border-t-0 compact:[[role=separator]+&]:border-t-0", t.item.tone === "critical" ? "text-content-destructive hover:bg-status-danger-surface focus-visible:bg-status-danger-surface" : "hover:bg-tint hover:text-content-on-tint focus-visible:bg-tint focus-visible:text-content-on-tint compact:hover:bg-fill compact:hover:text-content-strong compact:focus-visible:bg-fill compact:focus-visible:text-content-strong"]),
158
- onClick: (me) => q(t.item)
159
+ onClick: (de) => q(t.item)
159
160
  }, [
160
- t.item.processing ? (o(), h(d(_), {
161
+ t.item.processing ? (o(), d(p(_), {
161
162
  key: 0,
162
163
  name: "loader4Line",
163
164
  size: 16,
164
165
  class: "animate-spin compact:order-last"
165
- })) : t.item.icon ? (o(), h(d(_), {
166
+ })) : t.item.icon ? (o(), d(p(_), {
166
167
  key: 1,
167
168
  name: t.item.icon,
168
169
  size: 16,
169
170
  class: "compact:order-last compact:w-5"
170
- }, null, 8, ["name"])) : m("", !0),
171
- oe("span", le, $(t.item.label), 1),
172
- t.item.checked ? (o(), h(d(_), {
171
+ }, null, 8, ["name"])) : u("", !0),
172
+ t.item.dot ? (o(), d(ae, {
173
173
  key: 2,
174
+ tone: t.item.dot,
175
+ "data-menu-dot": ""
176
+ }, null, 8, ["tone"])) : u("", !0),
177
+ oe("span", ue, R(t.item.label), 1),
178
+ t.item.checked ? (o(), d(p(_), {
179
+ key: 3,
174
180
  name: "checkCustom",
175
181
  size: 16,
176
182
  "data-menu-tick": "",
177
183
  class: "shrink-0 text-content-link compact:order-last"
178
- })) : m("", !0),
179
- t.item.shortcut ? (o(), r("span", ue, $(t.item.shortcut), 1)) : m("", !0)
180
- ], 10, ce))
184
+ })) : u("", !0),
185
+ t.item.shortcut ? (o(), r("span", me, R(t.item.shortcut), 1)) : u("", !0)
186
+ ], 10, le))
181
187
  ], 64))), 128))
182
- ], 16, re)) : m("", !0)
188
+ ], 16, se)) : u("", !0)
183
189
  ]),
184
190
  _: 1
185
191
  })
@@ -188,5 +194,5 @@ const re = ["aria-label"], se = {
188
194
  }
189
195
  });
190
196
  export {
191
- ge as _
197
+ ye as _
192
198
  };
@@ -1,11 +1,11 @@
1
1
  import { defineComponent as _, computed as d, openBlock as y, createBlock as w, unref as e, withCtx as i, createVNode as l } from "vue";
2
2
  import { useI18n as v } from "vue-i18n";
3
3
  import { useRoute as k, useRouter as R } from "vue-router";
4
- import { a as $ } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DxD6JvyK.js";
4
+ import { a as $ } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.js";
5
5
  import { _ as b } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
6
6
  import { u as g } from "./useLoad-CYRVx6HW.js";
7
- import { a as x, c as u } from "./index-BwMaMqSc.js";
8
- import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-BjhaIqqG.js";
7
+ import { a as x, c as u } from "./index-CixCeO47.js";
8
+ import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-4YJhNgbn.js";
9
9
  const V = /* @__PURE__ */ _({
10
10
  __name: "NewRolePage",
11
11
  setup(h) {
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as A, watch as X, openBlock as v, createBlock as S, unref as e, withCtx as u, createVNode as r, mergeProps as E, useModel as pe, useId as fe, useTemplateRef as J, ref as w, onMounted as me, onBeforeUnmount as ve, computed as B, createElementBlock as M, withModifiers as _e, toDisplayString as b, createCommentVNode as W, createElementVNode as x, createTextVNode as N, Fragment as le, mergeModels as oe } from "vue";
2
2
  import { useI18n as R } from "vue-i18n";
3
- import { a as ge } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DxD6JvyK.js";
3
+ import { a as ge } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.js";
4
4
  import { u as L } from "./platform-q3cjODLx.js";
5
5
  import { _ as Q } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
6
6
  import { u as Y } from "./useLoad-CYRVx6HW.js";
7
- import { i as k, d as G } from "./index-BykMr7eH.js";
7
+ import { i as k, d as G } from "./index-By5B18A3.js";
8
8
  import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-BQb7wLT0.js";
9
9
  import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js";
10
10
  import { _ as U } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
@@ -21,9 +21,9 @@ import { a as be } from "./leaveGuard-Cc8yeLxM.js";
21
21
  import { _ as xe } from "./Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js";
22
22
  import { _ as he } from "./OtpInput.vue_vue_type_script_setup_true_lang-gp4FfWAH.js";
23
23
  import { _ as $e } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
24
- import { _ as qe } from "./SessionList.vue_vue_type_script_setup_true_lang-D5KRitar.js";
24
+ import { _ as qe } from "./SessionList.vue_vue_type_script_setup_true_lang-D4k5QeWS.js";
25
25
  import { _ as ke } from "./PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js";
26
- import { _ as Ce } from "./SignInTable.vue_vue_type_script_setup_true_lang-CifEaH7c.js";
26
+ import { _ as Ce } from "./SignInTable.vue_vue_type_script_setup_true_lang-ALAuc0sI.js";
27
27
  import { _ as Se } from "./ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js";
28
28
  const Pe = /* @__PURE__ */ A({
29
29
  __name: "DetailsPanel",
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as p, useTemplateRef as u, openBlock as t, createElementBlock as c, renderSlot as r, createCommentVNode as s, createElementVNode as n, toDisplayString as a, Fragment as d, renderList as f, createBlock as h, resolveDynamicComponent as g, withCtx as x, createVNode as _, unref as k } from "vue";
2
2
  import { _ as b } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
3
- import { u as w } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DxD6JvyK.js";
3
+ import { u as w } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.js";
4
4
  const v = { class: "flex min-w-0 flex-wrap items-center gap-5 compact:flex-col compact:gap-2 compact:text-center" }, y = {
5
5
  key: 0,
6
6
  class: "min-w-0 max-w-full shrink-0"
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as S, openBlock as a, createElementBlock as v, unref as t, createBlock as c, withCtx as s, createVNode as l, normalizeClass as d, createElementVNode as R, toDisplayString as y, computed as m, createSlots as w, renderSlot as f, createCommentVNode as A } from "vue";
2
2
  import { useI18n as z } from "vue-i18n";
3
- import { a as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DxD6JvyK.js";
3
+ import { a as C } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.js";
4
4
  import { _ as B } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
5
5
  import { _ as D } from "./EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js";
6
6
  import { useRouter as K, RouterLink as x } from "vue-router";
@@ -9,7 +9,7 @@ import { u as ae } from "./useSaveChrome-DuWm0Czf.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-BwMaMqSc.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-CixCeO47.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-BMqWlpsL.js";
@@ -1,23 +1,23 @@
1
1
  import { defineComponent as I, computed as z, openBlock as l, createBlock as b, unref as e, withCtx as n, createElementVNode as S, createVNode as f, mergeProps as W, useTemplateRef as A, ref as j, createElementBlock as y, toDisplayString as L, Fragment as D, createCommentVNode as w, renderList as E, createTextVNode as G } from "vue";
2
2
  import { useI18n as K } from "vue-i18n";
3
3
  import { useRouter as X } from "vue-router";
4
- import { _ as Y } from "./IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js";
4
+ import { _ as Y } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
5
5
  import { _ as C } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
6
6
  import { e as F } from "./control-7EP4tjYy.js";
7
7
  import { u as Z } from "./describeError-Ctga6GcS.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-Bua3wbN6.js";
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
12
  import { a as ae, u as le } from "./routeResource-DstM0hvf.js";
13
- import { a as se } from "./ResourcePage.vue_vue_type_script_setup_true_lang-CzP4BNh7.js";
13
+ import { a as se } from "./ResourcePage.vue_vue_type_script_setup_true_lang-gJGEfLzX.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-BwMaMqSc.js";
17
- import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js";
16
+ import { u as O, a as U, f as ce, d as ne, b as M, c as T } from "./index-CixCeO47.js";
17
+ import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-BJoAkBo2.js";
18
18
  import { u as ie, _ as ue } from "./useCommand-BkONMn3X.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-BjhaIqqG.js";
20
+ import { _ as pe } from "./RoleEditor.vue_vue_type_script_setup_true_lang-4YJhNgbn.js";
21
21
  const de = { "data-test": "role-replace" }, fe = /* @__PURE__ */ I({
22
22
  __name: "ReplaceRoleDialog",
23
23
  props: {
@@ -1,17 +1,17 @@
1
1
  import { defineComponent as L, ref as b, computed as i, openBlock as d, createBlock as g, unref as e, withCtx as l, createElementVNode as f, createVNode as n, createElementBlock as h, toDisplayString as _, createCommentVNode as N, Fragment as R, renderList as B, createTextVNode as P } from "vue";
2
2
  import { useI18n as A } from "vue-i18n";
3
3
  import { useRouter as F } from "vue-router";
4
- import { _ as S } from "./IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js";
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
6
  import { _ as U } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
7
7
  import { e as j } from "./control-7EP4tjYy.js";
8
8
  import { _ as D } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
9
- import { a as I } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DxD6JvyK.js";
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
13
  import { u as z } from "./useLoad-CYRVx6HW.js";
14
- import { u as G, a as H, b as J, c as x } from "./index-BwMaMqSc.js";
14
+ import { u as G, a as H, b as J, c as x } from "./index-CixCeO47.js";
15
15
  const M = {
16
16
  class: "flex min-w-0 flex-col gap-group-gap",
17
17
  "data-test": "roles-index"
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as $, computed as _, unref as s, openBlock as l, createBlock as C, withCtx as g, createElementVNode as n, createVNode as k, mergeProps as z, createElementBlock as d, toDisplayString as c, createCommentVNode as u, resolveDynamicComponent as B, normalizeClass as y, Fragment as I, renderList as D, withModifiers as E, normalizeStyle as L } from "vue";
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
- import { _ as N } from "./Menu.vue_vue_type_script_setup_true_lang-ClsOlOSr.js";
5
- import { _ as V } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DxD6JvyK.js";
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";
6
6
  import { a as q } from "./sectionIndex-BS0ic5W7.js";
7
7
  const M = {
8
8
  class: "dock-safe-area pointer-events-none",
@@ -1,14 +1,14 @@
1
1
  import { defineComponent as Y, computed as x, inject as Z, watch as M, onBeforeUnmount as P, useTemplateRef as ee, ref as te, onMounted as ae, openBlock as t, createElementBlock as a, createBlock as F, resolveDynamicComponent as se, unref as l, createElementVNode as s, renderSlot as $, Fragment as y, renderList as w, normalizeClass as d, toDisplayString as i, createCommentVNode as c, createVNode as v, withCtx as C, nextTick as oe } from "vue";
2
2
  import { useI18n as ne } from "vue-i18n";
3
3
  import { RouterLink as z } from "vue-router";
4
- import { _ as W } from "./IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js";
4
+ import { _ as W } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
5
5
  import { _ as q } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
6
6
  import { a as le } from "./mediaQuery-CygcXmFW.js";
7
7
  import { u as re } from "./access-DmAceEo5.js";
8
8
  import { u as ie, a as ce } from "./sections-D-kD98vu.js";
9
- import { p as ue } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-DxD6JvyK.js";
9
+ import { p as ue } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-B7qSUiee.js";
10
10
  import { p as de } from "./sectionIndex-BS0ic5W7.js";
11
- import { _ as G, a as me } from "./SectionList.vue_vue_type_script_setup_true_lang-CaF3LPbQ.js";
11
+ import { _ as G, a as me } from "./SectionList.vue_vue_type_script_setup_true_lang-B0p_8xQG.js";
12
12
  const pe = {
13
13
  key: 0,
14
14
  "data-test": "section-navigator",