@wssto2/vue-core 0.4.12 → 0.4.13

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.
@@ -6,7 +6,7 @@ import { u as O } from "./format-B8mJm946.js";
6
6
  import { _ as U } from "./DateField.vue_vue_type_script_setup_true_lang-GVasv8ao.js";
7
7
  import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
8
8
  import { e as z } from "./control-7EP4tjYy.js";
9
- import { P as G, c as H, i as J } from "./index-CM_Uh_xF.js";
9
+ import { P as G, c as H, i as J } from "./index-BEDhdJQE.js";
10
10
  import { u as K } from "./platform-q3cjODLx.js";
11
11
  import { b as M } from "./routeResource-DstM0hvf.js";
12
12
  import { _ as Q } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as k, computed as N, openBlock as n, createBlock as u, unref as a, withCtx as g, createElementBlock as p, Fragment as _, renderList as $, createElementVNode as i, toDisplayString as h, createCommentVNode as C, ref as x, watch as b, createVNode as y } from "vue";
2
2
  import { useI18n as E } from "vue-i18n";
3
- import { P as V, i as R } from "./index-CM_Uh_xF.js";
3
+ import { P as V, i as R } from "./index-BEDhdJQE.js";
4
4
  import { u as S } from "./platform-q3cjODLx.js";
5
5
  import { b as B } from "./routeResource-DstM0hvf.js";
6
6
  import { _ as F } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
@@ -8,7 +8,7 @@ import { _ as F } from "./FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.
8
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-CM_Uh_xF.js";
11
+ import { P as D, b as G, i as I } from "./index-BEDhdJQE.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";
@@ -4,7 +4,7 @@ import { a as ge } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang
4
4
  import { u as L } from "./platform-q3cjODLx.js";
5
5
  import { _ as Q } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
6
6
  import { u as Y } from "./useLoad-CYRVx6HW.js";
7
- import { i as k, d as G } from "./index-CM_Uh_xF.js";
7
+ import { i as k, d as G } from "./index-BEDhdJQE.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";
@@ -1,48 +1,48 @@
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
- import { useI18n as ne } from "vue-i18n";
1
+ import { defineComponent as Z, computed as g, inject as ee, watch as P, onBeforeUnmount as W, useTemplateRef as te, ref as ae, onMounted as se, openBlock as t, createElementBlock as a, createBlock as F, resolveDynamicComponent as oe, unref as l, createElementVNode as s, renderSlot as $, Fragment as y, renderList as w, normalizeClass as d, toDisplayString as c, createCommentVNode as u, createVNode as v, withCtx as C, nextTick as ne } from "vue";
2
+ import { useI18n as le } 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-_FXvaj93.js";
5
- import { _ as q } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
6
- import { a as le } from "./mediaQuery-CygcXmFW.js";
7
- import { u as re } from "./access-DmAceEo5.js";
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-B7qSUiee.js";
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-B0p_8xQG.js";
12
- const pe = {
4
+ import { _ as q } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
5
+ import { _ as G } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
6
+ import { a as re } from "./mediaQuery-CygcXmFW.js";
7
+ import { u as ie } from "./access-DmAceEo5.js";
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";
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";
12
+ const fe = {
13
13
  key: 0,
14
14
  "data-test": "section-navigator",
15
15
  "data-variant": "none"
16
- }, fe = {
16
+ }, ve = {
17
17
  key: 1,
18
18
  "data-test": "section-navigator",
19
19
  "data-variant": "sidebar",
20
20
  class: "grid min-w-0 grid-cols-[minmax(0,15rem)_minmax(0,1fr)] items-start gap-8"
21
- }, ve = { class: "sticky top-[calc(var(--app-bar-height)+1rem+var(--shell-banner-h,0px))] flex min-w-0 flex-col gap-4 self-start" }, be = ["aria-label"], he = { class: "flex flex-col gap-0.5" }, ge = ["href", "aria-current", "data-test", "onClick"], xe = { class: "min-w-0 flex-1 truncate" }, _e = {
21
+ }, be = { class: "sticky top-[calc(var(--app-bar-height)+1rem+var(--shell-banner-h,0px))] flex min-w-0 flex-col gap-4 self-start" }, he = ["aria-label"], ge = { class: "flex flex-col gap-0.5" }, xe = ["href", "aria-current", "data-test", "onClick"], _e = { class: "min-w-0 flex-1 truncate" }, ke = {
22
22
  key: 0,
23
23
  class: "text-subheadline tabular-nums text-content-muted"
24
- }, ke = { class: "min-w-0" }, ye = ["data-variant"], we = {
24
+ }, ye = { class: "min-w-0" }, we = ["data-variant"], Le = {
25
25
  key: 0,
26
26
  "data-test": "section-summary"
27
- }, Le = ["aria-label"], Se = { class: "flex gap-2.5 compact:gap-1.5" }, $e = ["href", "aria-current", "data-test", "data-done", "onClick"], Ce = {
27
+ }, Se = ["aria-label"], $e = { class: "flex gap-2.5 compact:gap-1.5" }, Ce = ["href", "aria-current", "data-test", "data-done", "onClick"], ze = {
28
28
  key: 0,
29
29
  class: "flex size-6.5 shrink-0 items-center justify-center rounded-full bg-control-on text-white"
30
- }, ze = { class: "flex min-w-0 flex-col" }, Re = { class: "compact:hidden" }, Ae = { class: "hidden compact:inline" }, Be = {
30
+ }, Re = { class: "flex min-w-0 flex-col" }, Ae = { class: "compact:hidden" }, Be = { class: "hidden compact:inline" }, Ne = {
31
31
  key: 0,
32
32
  class: "hidden compact:inline"
33
- }, Ne = {
33
+ }, je = {
34
34
  key: 1,
35
35
  class: "sr-only"
36
- }, je = ["aria-label"], Ee = { class: "flex gap-0.5" }, Fe = ["href", "aria-current", "data-test", "onClick"], Oe = ["title"], Te = ["aria-label"], Ve = {
36
+ }, Ee = ["aria-label"], Fe = { class: "flex gap-0.5" }, Oe = ["href", "aria-current", "data-test", "onClick"], Te = ["title"], Ie = ["aria-label"], Ve = {
37
37
  key: 0,
38
38
  class: "px-row-inset pb-2 text-subheadline font-semibold text-content-strong compact:text-footnote compact:font-normal compact:uppercase compact:tracking-wide compact:text-content-muted"
39
- }, De = { class: "overflow-hidden rounded-group bg-surface-cell shadow-group" }, Ie = { class: "flex shrink-0 items-center" }, Me = { class: "row-body flex min-h-row min-w-0 flex-1 items-center gap-2 border-t border-border-separator py-2 pr-row-inset" }, Pe = { class: "min-w-0 flex-1 break-words text-body text-content-strong" }, We = {
39
+ }, De = { class: "overflow-hidden rounded-group bg-surface-cell shadow-group" }, Me = { class: "flex shrink-0 items-center" }, Pe = { class: "row-body flex min-h-row min-w-0 flex-1 items-center gap-2 border-t border-border-separator py-2 pr-row-inset" }, We = { class: "min-w-0 flex-1 break-words text-body text-content-strong" }, qe = {
40
40
  key: 0,
41
41
  class: "text-body tabular-nums text-content-muted"
42
- }, qe = ["data-test"], Ge = {
42
+ }, Ge = ["data-test"], Ke = {
43
43
  key: 0,
44
44
  class: "sticky top-[calc(var(--app-bar-height)+1rem+var(--shell-banner-h,0px))] min-w-0 self-start"
45
- }, st = /* @__PURE__ */ Y({
45
+ }, ot = /* @__PURE__ */ Z({
46
46
  __name: "SectionNavigator",
47
47
  props: {
48
48
  label: {},
@@ -52,61 +52,61 @@ const pe = {
52
52
  counts: { default: () => ({}) },
53
53
  steps: { default: void 0 }
54
54
  },
55
- setup(K) {
56
- const n = K, { t: Q } = ne(), R = ie();
57
- ce(R);
58
- const { sections: f, active: b, first: h, subPage: O } = R, T = de(), U = re(), A = le("(min-width: 64rem)"), u = x(() => n.steps ? "steps" : A.value ? n.desktop : n.compact === "auto" ? f.value.length > 5 ? "rows" : "segmented" : n.compact), g = x(() => f.value.length > 1), H = x(() => R.declared.value > 0 && f.value.length === 0), B = x(() => !!b.value && b.value.name === h.value?.name && !O.value), V = x(() => T.sections.value.length > 1), L = x(() => u.value === "steps" && A.value && V.value), m = (o) => n.steps?.[o] ?? { done: !1 }, J = { positive: "text-status-success-content", warning: "text-status-warning-content", critical: "text-status-danger-content" }, S = Z(ue, null);
59
- M(
55
+ setup(Q) {
56
+ const n = Q, { t: U } = le(), R = ce();
57
+ ue(R);
58
+ const { sections: f, active: b, first: h, subPage: O } = R, T = me(), H = ie(), A = re("(min-width: 64rem)"), r = g(() => n.steps ? "steps" : A.value ? n.desktop : n.compact === "auto" ? f.value.length > 5 ? "rows" : "segmented" : n.compact), x = g(() => f.value.length > 1), J = g(() => R.declared.value > 0 && f.value.length === 0), B = g(() => !!b.value && b.value.name === h.value?.name && !O.value), I = g(() => T.sections.value.length > 1), L = g(() => (r.value === "steps" || r.value === "hub") && A.value && I.value), V = g(() => r.value === "rows" || r.value === "hub"), m = (o) => n.steps?.[o] ?? { done: !1 }, X = { positive: "text-status-success-content", warning: "text-status-warning-content", critical: "text-status-danger-content" }, S = ee(de, null);
59
+ P(
60
60
  () => {
61
61
  if (O.value && b.value && h.value) {
62
62
  const o = { label: n.backLabel || h.value.label, to: h.value.to }, p = b.value.name === h.value.name && !n.backLabel;
63
63
  return { label: b.value.shortLabel, to: b.value.to, path: p ? [o] : [o, { label: b.value.label, to: b.value.to }] };
64
64
  }
65
- return u.value === "rows" && g.value && !B.value && h.value ? { label: n.backLabel || h.value.label, to: h.value.to } : null;
65
+ return V.value && x.value && !B.value && h.value ? { label: n.backLabel || h.value.label, to: h.value.to } : null;
66
66
  },
67
67
  (o) => {
68
68
  S && (S.value = o);
69
69
  },
70
70
  { immediate: !0 }
71
- ), P(() => {
71
+ ), W(() => {
72
72
  S && (S.value = null);
73
73
  });
74
- const X = x(() => {
74
+ const Y = g(() => {
75
75
  const o = [];
76
76
  for (const p of f.value.slice(1)) {
77
77
  const e = o[o.length - 1];
78
78
  e && e.header === p.group ? e.sections.push(p) : o.push({ key: p.name, header: p.group, sections: [p] });
79
79
  }
80
80
  return o;
81
- }), _ = ee("segments"), N = te(!1);
81
+ }), _ = te("segments"), N = ae(!1);
82
82
  async function D() {
83
- if (u.value !== "segments" || !_.value) return;
84
- N.value = !1, await oe();
83
+ if (r.value !== "segments" || !_.value) return;
84
+ N.value = !1, await ne();
85
85
  const o = _.value?.querySelectorAll("[data-segment-label]") ?? [];
86
86
  N.value = [...o].some((p) => p.scrollWidth > p.clientWidth + 1);
87
87
  }
88
88
  let j = null;
89
- ae(() => {
89
+ se(() => {
90
90
  typeof ResizeObserver > "u" || !_.value || (j = new ResizeObserver(() => void D()), j.observe(_.value));
91
- }), P(() => j?.disconnect()), M([u, f], () => void D(), { flush: "post" });
92
- const I = (o) => u.value === "segments" && !N.value ? o.label : o.shortLabel;
93
- return (o, p) => H.value ? (t(), a("div", pe, [
94
- (t(), F(se(l(U).noAccess)))
95
- ])) : g.value && u.value === "sidebar" ? (t(), a("div", fe, [
96
- s("aside", ve, [
91
+ }), W(() => j?.disconnect()), P([r, f], () => void D(), { flush: "post" });
92
+ const M = (o) => r.value === "segments" && !N.value ? o.label : o.shortLabel;
93
+ return (o, p) => J.value ? (t(), a("div", fe, [
94
+ (t(), F(oe(l(H).noAccess)))
95
+ ])) : x.value && r.value === "sidebar" ? (t(), a("div", ve, [
96
+ s("aside", be, [
97
97
  $(o.$slots, "summary"),
98
98
  s("nav", {
99
99
  "aria-label": n.label
100
100
  }, [
101
- s("ul", he, [
102
- (t(!0), a(y, null, w(l(f), (e, r) => (t(), a("li", {
101
+ s("ul", ge, [
102
+ (t(!0), a(y, null, w(l(f), (e, i) => (t(), a("li", {
103
103
  key: e.name
104
104
  }, [
105
- e.group && e.group !== l(f)[r - 1]?.group ? (t(), a("div", {
105
+ e.group && e.group !== l(f)[i - 1]?.group ? (t(), a("div", {
106
106
  key: 0,
107
107
  "data-test": "section-group",
108
- class: d(["px-2.5 pb-1.5 text-caption font-semibold tracking-wide text-content-muted uppercase", r > 0 ? "pt-4" : "pt-1"])
109
- }, i(e.group), 3)) : c("", !0),
108
+ class: d(["px-2.5 pb-1.5 text-caption font-semibold tracking-wide text-content-muted uppercase", i > 0 ? "pt-4" : "pt-1"])
109
+ }, c(e.group), 3)) : u("", !0),
110
110
  v(l(z), {
111
111
  to: e.to,
112
112
  custom: ""
@@ -119,40 +119,40 @@ const pe = {
119
119
  class: d(["flex min-h-[2.125rem] items-center gap-2.5 rounded-control py-1 pr-2.5 pl-1.5 text-body text-content-strong transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus", e.active ? "bg-tint-soft font-semibold" : "hover:bg-fill"]),
120
120
  onClick: E
121
121
  }, [
122
- v(l(W), {
122
+ v(l(q), {
123
123
  tone: e.active ? "brand" : "anchor",
124
124
  icon: e.icon
125
125
  }, null, 8, ["tone", "icon"]),
126
- s("span", xe, i(e.label), 1),
127
- n.counts[e.name] !== void 0 ? (t(), a("span", _e, i(n.counts[e.name]), 1)) : c("", !0)
128
- ], 10, ge)
126
+ s("span", _e, c(e.label), 1),
127
+ n.counts[e.name] !== void 0 ? (t(), a("span", ke, c(n.counts[e.name]), 1)) : u("", !0)
128
+ ], 10, xe)
129
129
  ]),
130
130
  _: 2
131
131
  }, 1032, ["to"]),
132
- e.active && V.value ? (t(), F(G, { key: 1 })) : c("", !0)
132
+ e.active && I.value ? (t(), F(K, { key: 1 })) : u("", !0)
133
133
  ]))), 128))
134
134
  ])
135
- ], 8, be)
135
+ ], 8, he)
136
136
  ]),
137
- s("div", ke, [
137
+ s("div", ye, [
138
138
  $(o.$slots, "default")
139
139
  ])
140
140
  ])) : (t(), a("div", {
141
141
  key: 2,
142
142
  "data-test": "section-navigator",
143
- "data-variant": g.value ? u.value : "none",
143
+ "data-variant": x.value ? r.value : "none",
144
144
  class: "flex min-w-0 flex-col gap-section-gap"
145
145
  }, [
146
- o.$slots.summary && (u.value !== "rows" || B.value || !g.value) ? (t(), a("div", we, [
146
+ o.$slots.summary && (!V.value || B.value || !x.value) ? (t(), a("div", Le, [
147
147
  $(o.$slots, "summary")
148
- ])) : c("", !0),
149
- g.value && u.value === "steps" ? (t(), a("nav", {
148
+ ])) : u("", !0),
149
+ x.value && r.value === "steps" ? (t(), a("nav", {
150
150
  key: 1,
151
151
  "aria-label": n.label,
152
152
  "data-test": "section-steps"
153
153
  }, [
154
- s("ol", Se, [
155
- (t(!0), a(y, null, w(l(f), (e, r) => (t(), a("li", {
154
+ s("ol", $e, [
155
+ (t(!0), a(y, null, w(l(f), (e, i) => (t(), a("li", {
156
156
  key: e.name,
157
157
  class: "flex min-w-0 flex-1"
158
158
  }, [
@@ -169,44 +169,44 @@ const pe = {
169
169
  class: d(["flex min-w-0 flex-1 items-center gap-3 rounded-group px-4 py-3 transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus compact:flex-col compact:items-start compact:gap-1.5 compact:p-2", e.active ? "bg-tint-soft ring-2 ring-tint ring-inset" : "bg-surface-cell shadow-group hover:bg-fill"]),
170
170
  onClick: E
171
171
  }, [
172
- m(e.name).done ? (t(), a("span", Ce, [
173
- v(l(q), {
172
+ m(e.name).done ? (t(), a("span", ze, [
173
+ v(l(G), {
174
174
  name: "checkCustom",
175
175
  size: 14
176
176
  })
177
177
  ])) : (t(), a("span", {
178
178
  key: 1,
179
179
  class: d(["flex size-6.5 shrink-0 items-center justify-center rounded-full text-footnote font-semibold", e.active ? "bg-tint text-content-on-tint" : "text-content-muted ring-2 ring-fill-strong ring-inset"])
180
- }, i(r + 1), 3)),
181
- s("span", ze, [
180
+ }, c(i + 1), 3)),
181
+ s("span", Re, [
182
182
  s("span", {
183
183
  class: d(["truncate text-headline compact:text-footnote", e.active || m(e.name).done ? "font-semibold text-content-strong" : "font-medium text-content-muted"])
184
184
  }, [
185
- s("span", Re, i(e.label), 1),
186
- s("span", Ae, i(e.shortLabel), 1)
185
+ s("span", Ae, c(e.label), 1),
186
+ s("span", Be, c(e.shortLabel), 1)
187
187
  ], 2),
188
188
  m(e.name).sub ? (t(), a("span", {
189
189
  key: 0,
190
190
  "data-test": "section-step-sub",
191
- class: d(["truncate text-footnote compact:text-caption", m(e.name).tone ? J[m(e.name).tone] : "text-content-muted"])
191
+ class: d(["truncate text-footnote compact:text-caption", m(e.name).tone ? X[m(e.name).tone] : "text-content-muted"])
192
192
  }, [
193
193
  s("span", {
194
194
  class: d(m(e.name).shortSub ? "compact:hidden" : "")
195
- }, i(m(e.name).sub), 3),
196
- m(e.name).shortSub ? (t(), a("span", Be, i(m(e.name).shortSub), 1)) : c("", !0)
197
- ], 2)) : c("", !0),
198
- m(e.name).done ? (t(), a("span", Ne, i(l(Q)("core.steps.done")), 1)) : c("", !0)
195
+ }, c(m(e.name).sub), 3),
196
+ m(e.name).shortSub ? (t(), a("span", Ne, c(m(e.name).shortSub), 1)) : u("", !0)
197
+ ], 2)) : u("", !0),
198
+ m(e.name).done ? (t(), a("span", je, c(l(U)("core.steps.done")), 1)) : u("", !0)
199
199
  ])
200
- ], 10, $e)
200
+ ], 10, Ce)
201
201
  ]),
202
202
  _: 2
203
203
  }, 1032, ["to"])
204
204
  ]))), 128))
205
205
  ])
206
- ], 8, Le)) : c("", !0),
207
- g.value && (u.value === "segments" || u.value === "segmented") ? (t(), a("div", {
206
+ ], 8, Se)) : u("", !0),
207
+ x.value && (r.value === "segments" || r.value === "segmented") ? (t(), a("div", {
208
208
  key: 2,
209
- class: d(u.value === "segmented" ? "z-20 -mx-screen-padding bg-surface-page/90 px-screen-padding py-2 backdrop-blur-xl max-md:sticky max-md:top-[calc(max(0.25rem,env(safe-area-inset-top))+var(--app-bar-height)+0.25rem+1px+var(--shell-banner-h,0px))]" : "")
209
+ class: d(r.value === "segmented" ? "z-20 -mx-screen-padding bg-surface-page/90 px-screen-padding py-2 backdrop-blur-xl max-md:sticky max-md:top-[calc(max(0.25rem,env(safe-area-inset-top))+var(--app-bar-height)+0.25rem+1px+var(--shell-banner-h,0px))]" : "")
210
210
  }, [
211
211
  s("nav", {
212
212
  ref_key: "segments",
@@ -214,7 +214,7 @@ const pe = {
214
214
  "aria-label": n.label,
215
215
  class: "max-w-full overflow-x-auto rounded-control bg-fill p-0.5 scrollbar-hide"
216
216
  }, [
217
- s("ul", Ee, [
217
+ s("ul", Fe, [
218
218
  (t(!0), a(y, null, w(l(f), (e) => (t(), a("li", {
219
219
  key: e.name,
220
220
  class: "flex min-w-0 flex-1"
@@ -223,9 +223,9 @@ const pe = {
223
223
  to: e.to,
224
224
  custom: ""
225
225
  }, {
226
- default: C(({ href: r, navigate: k }) => [
226
+ default: C(({ href: i, navigate: k }) => [
227
227
  s("a", {
228
- href: r,
228
+ href: i,
229
229
  "aria-current": e.active ? "page" : void 0,
230
230
  "data-test": `section-${e.name}`,
231
231
  class: d(["flex min-h-8 min-w-0 flex-1 items-center justify-center gap-1.5 rounded-control px-3 py-1 text-subheadline whitespace-nowrap transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-border-focus compact:min-h-[2.125rem] compact:px-1.5", e.active ? "bg-segment-selected font-semibold text-content-strong shadow-sm" : "font-medium text-content hover:text-content-strong"]),
@@ -234,52 +234,52 @@ const pe = {
234
234
  s("span", {
235
235
  class: "truncate",
236
236
  "data-segment-label": "",
237
- title: I(e) !== e.label ? e.label : void 0
238
- }, i(I(e)), 9, Oe),
237
+ title: M(e) !== e.label ? e.label : void 0
238
+ }, c(M(e)), 9, Te),
239
239
  n.counts[e.name] !== void 0 ? (t(), a("span", {
240
240
  key: 0,
241
241
  "data-test": "section-count",
242
242
  class: d(["min-w-[1.125rem] rounded-full px-1.5 text-center text-caption font-semibold tabular-nums", e.active ? "bg-tint-soft text-content-link" : "bg-surface-cell text-content-muted"])
243
- }, i(n.counts[e.name]), 3)) : c("", !0)
244
- ], 10, Fe)
243
+ }, c(n.counts[e.name]), 3)) : u("", !0)
244
+ ], 10, Oe)
245
245
  ]),
246
246
  _: 2
247
247
  }, 1032, ["to"])
248
248
  ]))), 128))
249
249
  ])
250
- ], 8, je)
251
- ], 2)) : g.value && u.value === "rows" && B.value ? (t(), a("nav", {
250
+ ], 8, Ee)
251
+ ], 2)) : x.value && r.value === "rows" && B.value ? (t(), a("nav", {
252
252
  key: 3,
253
253
  "aria-label": n.label,
254
254
  "data-test": "section-rows",
255
255
  class: "flex flex-col gap-group-gap"
256
256
  }, [
257
- (t(!0), a(y, null, w(X.value, (e) => (t(), a("section", {
257
+ (t(!0), a(y, null, w(Y.value, (e) => (t(), a("section", {
258
258
  key: e.key,
259
259
  class: "flex min-w-0 flex-col"
260
260
  }, [
261
- e.header ? (t(), a("h3", Ve, i(e.header), 1)) : c("", !0),
261
+ e.header ? (t(), a("h3", Ve, c(e.header), 1)) : u("", !0),
262
262
  s("ul", De, [
263
- (t(!0), a(y, null, w(e.sections, (r) => (t(), a("li", {
264
- key: r.name,
263
+ (t(!0), a(y, null, w(e.sections, (i) => (t(), a("li", {
264
+ key: i.name,
265
265
  class: "[&:first-child_.row-body]:border-t-0"
266
266
  }, [
267
267
  v(l(z), {
268
- to: r.to,
269
- "data-test": `section-${r.name}`,
268
+ to: i.to,
269
+ "data-test": `section-${i.name}`,
270
270
  class: "flex min-w-0 items-stretch gap-3 pl-row-inset transition-colors duration-motion-fast hover:bg-fill focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus"
271
271
  }, {
272
272
  default: C(() => [
273
- s("span", Ie, [
274
- v(l(W), {
273
+ s("span", Me, [
274
+ v(l(q), {
275
275
  tone: "anchor",
276
- icon: r.icon
276
+ icon: i.icon
277
277
  }, null, 8, ["icon"])
278
278
  ]),
279
- s("span", Me, [
280
- s("span", Pe, i(r.label), 1),
281
- n.counts[r.name] !== void 0 ? (t(), a("span", We, i(n.counts[r.name]), 1)) : c("", !0),
282
- v(l(q), {
279
+ s("span", Pe, [
280
+ s("span", We, c(i.label), 1),
281
+ n.counts[i.name] !== void 0 ? (t(), a("span", qe, c(n.counts[i.name]), 1)) : u("", !0),
282
+ v(l(G), {
283
283
  name: "arrowRightSLine",
284
284
  size: 18,
285
285
  class: "shrink-0 text-content-disabled"
@@ -291,7 +291,7 @@ const pe = {
291
291
  ]))), 128))
292
292
  ])
293
293
  ]))), 128))
294
- ], 8, Te)) : c("", !0),
294
+ ], 8, Ie)) : u("", !0),
295
295
  s("div", {
296
296
  class: d(L.value ? "grid min-w-0 grid-cols-[minmax(0,1fr)_minmax(0,14rem)] items-start gap-7" : "contents"),
297
297
  "data-test": L.value ? "section-steps-form" : void 0
@@ -301,14 +301,14 @@ const pe = {
301
301
  }, [
302
302
  $(o.$slots, "default")
303
303
  ], 2),
304
- L.value ? (t(), a("aside", Ge, [
305
- v(G, { standalone: "" })
306
- ])) : c("", !0)
307
- ], 10, qe),
308
- !l(A) && l(T).sections.value.length > 2 ? (t(), F(me, { key: 4 })) : c("", !0)
309
- ], 8, ye));
304
+ L.value ? (t(), a("aside", Ke, [
305
+ v(K, { standalone: "" })
306
+ ])) : u("", !0)
307
+ ], 10, Ge),
308
+ !l(A) && l(T).sections.value.length > 2 ? (t(), F(pe, { key: 4 })) : u("", !0)
309
+ ], 8, we));
310
310
  }
311
311
  });
312
312
  export {
313
- st as _
313
+ ot as _
314
314
  };
@@ -2,7 +2,7 @@ import { defineComponent as x, useTemplateRef as v, computed as w, ref as $, ope
2
2
  import { useI18n as N } from "vue-i18n";
3
3
  import { _ as q } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
4
4
  import { u as A } from "./describeError-Ctga6GcS.js";
5
- import { P as D, b as L, e as O, i as g, d as T } from "./index-CM_Uh_xF.js";
5
+ import { P as D, b as L, e as O, i as g, d as T } from "./index-BEDhdJQE.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";
@@ -6,7 +6,7 @@ import { u as D } from "./format-B8mJm946.js";
6
6
  import { _ as p } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
7
7
  import { e as b } from "./control-7EP4tjYy.js";
8
8
  import { u as U } from "./describeError-Ctga6GcS.js";
9
- import { c as q, P as z, b as F, _ as L, i as O, d as T } from "./index-CM_Uh_xF.js";
9
+ import { c as q, P as z, b as F, _ as L, i as O, d as T } from "./index-BEDhdJQE.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-DstM0hvf.js";
@@ -6,7 +6,7 @@ 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-cr0xNDXP.js";
7
7
  import { _ as a } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
8
8
  import { r as $ } from "./guards-Dve61KjR.js";
9
- import { u as C, a as E } from "./index-CM_Uh_xF.js";
9
+ import { u as C, a as E } from "./index-BEDhdJQE.js";
10
10
  const V = { class: "flex flex-1 flex-col items-center justify-center gap-8" }, k = { class: "text-xl font-semibold text-content-strong" }, H = /* @__PURE__ */ d({
11
11
  __name: "SignInPage",
12
12
  setup(q) {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as g, ref as m, watch as p, openBlock as c, createElementBlock as v, createVNode as i, unref as e, withCtx as w, createBlock as x, createCommentVNode as y, createElementVNode as V, toDisplayString as $ } from "vue";
2
2
  import { useI18n as N } from "vue-i18n";
3
- import { P as S, i as b } from "./index-CM_Uh_xF.js";
3
+ import { P as S, i as b } from "./index-BEDhdJQE.js";
4
4
  import { u as k } from "./platform-q3cjODLx.js";
5
5
  import { b as I } from "./routeResource-DstM0hvf.js";
6
6
  import { _ as R } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
@@ -3,10 +3,10 @@ import { useI18n as A } from "vue-i18n";
3
3
  import { a as F } from "./neighbors-DVN_cADL.js";
4
4
  import { _ as H } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
5
5
  import { u as J } from "./describeError-Ctga6GcS.js";
6
- import { i as w, P as Q, p as W, f as X, M as Y, g as Z, d as ee } from "./index-CM_Uh_xF.js";
6
+ import { i as w, P as Q, p as W, f as X, M as Y, g as Z, d as ee } from "./index-BEDhdJQE.js";
7
7
  import { _ as se } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
8
8
  import { t as k } from "./toast-CqSDTWRX.js";
9
- import { _ as ae } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-ROl9_pdO.js";
9
+ import { _ as ae } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-D5Cnb4_O.js";
10
10
  import { u as E } from "./platform-q3cjODLx.js";
11
11
  import { a as te } from "./routeResource-DstM0hvf.js";
12
12
  import { a as oe } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Da0M-hen.js";
@@ -18,7 +18,7 @@ import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a
18
18
  import { e as B } from "./control-7EP4tjYy.js";
19
19
  import { u as z, _ as K } from "./useCommand-BkONMn3X.js";
20
20
  import { u as U } from "./fieldMessages-C3Rpbktw.js";
21
- import { u as ce, s as le } from "./status-cZWwrYGN.js";
21
+ import { u as ce, s as le } from "./status-DfAac6vw.js";
22
22
  import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
23
23
  const ue = /* @__PURE__ */ R({
24
24
  __name: "DeactivateDialog",
@@ -6,8 +6,8 @@ import { _ as I } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js
6
6
  import { u as F } from "./format-B8mJm946.js";
7
7
  import { u as L } from "./platform-q3cjODLx.js";
8
8
  import { _ as G } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
9
- import { i as K, f as E, M as W } from "./index-CM_Uh_xF.js";
10
- import { U as j, u as H, s as J } from "./status-cZWwrYGN.js";
9
+ import { i as K, f as E, M as W } from "./index-BEDhdJQE.js";
10
+ import { U as j, u as H, s as J } from "./status-DfAac6vw.js";
11
11
  import { u as O } from "./environment-Dva-SG8D.js";
12
12
  import { u as Q } from "./languages-BShG9LpE.js";
13
13
  import { _ as X } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
@@ -1,4 +1,4 @@
1
- import { _ as t, h as n, j as a, i, k as o, d as r, l as d, m as u, n as y, r as l, o as I, s as f, q as p, t as A, f as c } from "../index-CM_Uh_xF.js";
1
+ import { _ as t, h as n, j as a, i, k as o, d as r, l as d, m as u, n as y, r as l, o as I, s as f, q as p, t as A, f as c } from "../index-BEDhdJQE.js";
2
2
  export {
3
3
  t as SignInAsButton,
4
4
  n as identityFeature,
@@ -315,7 +315,7 @@ function Cs(e) {
315
315
  const Ye = async (e) => {
316
316
  await B(e.http);
317
317
  }, Je = z({
318
- login: { name: "login", path: "/login", component: () => import("./SignInPage-DIo9fK1d.js"), meta: { public: !0, titleKey: "core.identity.signin.title" } }
318
+ login: { name: "login", path: "/login", component: () => import("./SignInPage-C3-LHjo2.js"), meta: { public: !0, titleKey: "core.identity.signin.title" } }
319
319
  });
320
320
  function Os(e = {}) {
321
321
  return H({
@@ -334,7 +334,7 @@ function Os(e = {}) {
334
334
  });
335
335
  }
336
336
  const Z = z({
337
- index: { name: "profile", path: "/profile", component: () => import("./ProfilePage-B1-66cXB.js"), meta: { titleKey: "core.profile.title" } }
337
+ index: { name: "profile", path: "/profile", component: () => import("./ProfilePage-Ep75xf-u.js"), meta: { titleKey: "core.profile.title" } }
338
338
  }), Qe = /* @__PURE__ */ E({
339
339
  __name: "ProfileMenuItem",
340
340
  setup(e) {
@@ -358,19 +358,19 @@ function es(e) {
358
358
  return { name: `users.record.${e.path}`, path: e.path, component: s, meta: { ...e.meta } };
359
359
  }
360
360
  const W = "iam.user:view", qs = "iam.user:manage", ss = "iam.user.activity:view", ee = z({
361
- index: { name: "users.index", path: "/users", component: () => import("./UsersList-C3cNr0MI.js"), meta: { access: W, titleKey: "core.users.title" } },
361
+ index: { name: "users.index", path: "/users", component: () => import("./UsersList-Bc8dCuRB.js"), meta: { access: W, titleKey: "core.users.title" } },
362
362
  record: {
363
363
  name: "users.record",
364
364
  path: "/users/:id",
365
- component: () => import("./UserRecord-DVm0mIrA.js"),
365
+ component: () => import("./UserRecord-C0JZgK47.js"),
366
366
  meta: { access: W, titleKey: "core.users.title", remountOnParam: "id" },
367
367
  children: [
368
- { name: "users.record.general", path: "general", component: () => import("./General-Cvb-tLsE.js"), meta: { section: { labelKey: "core.users.sections.general", icon: "user3Line", groupKey: "core.users.section_groups.person" } } },
369
- { name: "users.record.signin", path: "signin", component: () => import("./SignIn-B8FbIWMH.js"), meta: { section: { labelKey: "core.users.sections.signin", icon: "key2Line", groupKey: "core.users.section_groups.access" } } },
370
- { name: "users.record.sessions", path: "sessions", component: () => import("./Sessions-CIVLL9X4.js"), meta: { section: { labelKey: "core.users.sections.sessions", icon: "deviceLine", groupKey: "core.users.section_groups.access" } } },
371
- { name: "users.record.signins", path: "signins", component: () => import("./SignIns-nH3zghoi.js"), meta: { section: { labelKey: "core.users.sections.signins", icon: "timeFill", groupKey: "core.users.section_groups.activity" } } },
372
- { name: "users.record.changes", path: "changes", component: () => import("./Changes-CBM8york.js"), meta: { section: { labelKey: "core.users.sections.changes", icon: "edit", groupKey: "core.users.section_groups.activity" } } },
373
- { name: "users.record.activity", path: "activity", component: () => import("./Activity-DdnEG7EW.js"), meta: { access: ss, section: { labelKey: "core.users.sections.activity", icon: "listCheck", groupKey: "core.users.section_groups.activity" } } }
368
+ { name: "users.record.general", path: "general", component: () => import("./General-UWbJQLc8.js"), meta: { section: { labelKey: "core.users.sections.general", icon: "user3Line", groupKey: "core.users.section_groups.person" } } },
369
+ { name: "users.record.signin", path: "signin", component: () => import("./SignIn-DIjshMpl.js"), meta: { section: { labelKey: "core.users.sections.signin", icon: "key2Line", groupKey: "core.users.section_groups.access" } } },
370
+ { name: "users.record.sessions", path: "sessions", component: () => import("./Sessions-_w3Tnevz.js"), meta: { section: { labelKey: "core.users.sections.sessions", icon: "deviceLine", groupKey: "core.users.section_groups.access" } } },
371
+ { name: "users.record.signins", path: "signins", component: () => import("./SignIns-DNdLctGJ.js"), meta: { section: { labelKey: "core.users.sections.signins", icon: "timeFill", groupKey: "core.users.section_groups.activity" } } },
372
+ { name: "users.record.changes", path: "changes", component: () => import("./Changes-Czs32zlz.js"), meta: { section: { labelKey: "core.users.sections.changes", icon: "edit", groupKey: "core.users.section_groups.activity" } } },
373
+ { name: "users.record.activity", path: "activity", component: () => import("./Activity-DhVVSf60.js"), meta: { access: ss, section: { labelKey: "core.users.sections.activity", icon: "listCheck", groupKey: "core.users.section_groups.activity" } } }
374
374
  ]
375
375
  }
376
376
  });
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** The version of @wssto2/vue-core (kept equal to package.json by index.test.ts). */
2
- export declare const version = "0.4.12";
2
+ export declare const version = "0.4.13";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const o = "0.4.12";
1
+ const o = "0.4.13";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -15,6 +15,7 @@ import type { SectionStep } from "./types";
15
15
  * | compact | `compact="segmented"` (default) | a segmented control of short labels, pinned under the phone nav bar while the section scrolls |
16
16
  * | compact | `compact="rows"` | drill-in rows at the top of the first section; every other section goes back to it |
17
17
  * | compact | `compact="auto"` | segmented up to five sections, rows beyond |
18
+ * | any | `hub` | no navigation: the first section is the record's hub, and its own content leads to the others (a workflow record's to-dos); every other section goes back to it, and a long form in one lists its sections beside it on wide screens |
18
19
  *
19
20
  * `steps` makes the record a workflow instead: the sections are large tiles in order, on every width (the `desktop` and `compact` variants
20
21
  * do not apply). Each tile is the section's link with its number (a ✓ once done), its label (short on phones), one line saying where the step
@@ -36,8 +37,8 @@ import type { SectionStep } from "./types";
36
37
  type __VLS_Props = {
37
38
  /** The accessible name of the navigation ("Parts of the dealer"). */
38
39
  label: string;
39
- desktop?: "sidebar" | "segments";
40
- compact?: "segmented" | "rows" | "auto";
40
+ desktop?: "sidebar" | "segments" | "hub";
41
+ compact?: "segmented" | "rows" | "auto" | "hub";
41
42
  /** The back label of a nested section on compact screens, and the record's name in the path of a page inside a section. */
42
43
  backLabel?: string;
43
44
  /** A quiet count per section route name ("Locations 4"). */
@@ -51,8 +52,8 @@ type __VLS_Slots = {
51
52
  summary?: () => unknown;
52
53
  };
53
54
  declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
54
- compact: "segmented" | "rows" | "auto";
55
- desktop: "sidebar" | "segments";
55
+ compact: "segmented" | "rows" | "auto" | "hub";
56
+ desktop: "sidebar" | "segments" | "hub";
56
57
  backLabel: string;
57
58
  counts: Readonly<Record<string, string | number>>;
58
59
  steps: Readonly<Record<string, SectionStep>>;
@@ -8,7 +8,7 @@ import { _ as ue } from "../RecordHeader.vue_vue_type_script_setup_true_lang-D87
8
8
  import { c as pe, i as fe, p as me, a as be, u as ge, b as ve } from "../chrome-nUcmVu8G.js";
9
9
  import { s as z, u as I } from "../sectionIndex-BS0ic5W7.js";
10
10
  import { p as _e, a as xe } from "../sectionIndex-BS0ic5W7.js";
11
- import { _ as ye } from "../SectionNavigator.vue_vue_type_script_setup_true_lang-ROl9_pdO.js";
11
+ import { _ as ye } from "../SectionNavigator.vue_vue_type_script_setup_true_lang-D5Cnb4_O.js";
12
12
  import { a as Se, _ as Ce } from "../SectionList.vue_vue_type_script_setup_true_lang-B0p_8xQG.js";
13
13
  import { _ as A } from "../Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
14
14
  const K = ["aria-label"], M = ["aria-label"], N = ["aria-selected", "tabindex", "onClick"], R = { class: "relative" }, E = {
@@ -1,5 +1,5 @@
1
1
  import { a, r as o } from "./http-D_D9YbLH.js";
2
- import { i as r } from "./index-CM_Uh_xF.js";
2
+ import { i as r } from "./index-BEDhdJQE.js";
3
3
  const n = ["active", "locked", "inactive", "all"];
4
4
  function l(i) {
5
5
  return a({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wssto2/vue-core",
3
- "version": "0.4.12",
3
+ "version": "0.4.13",
4
4
  "goCore": "v1.7.0",
5
5
  "description": "Shared Vue 3 library for go-core applications: app shell, list / record / form pages and their controls.",
6
6
  "keywords": [