@wssto2/vue-core 0.4.11 → 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.
- package/dist/{Activity-CaQd8aXw.js → Activity-DhVVSf60.js} +1 -1
- package/dist/{Changes-CjrNUYmQ.js → Changes-Czs32zlz.js} +1 -1
- package/dist/{General-DgR7_gax.js → General-UWbJQLc8.js} +1 -1
- package/dist/{ProfilePage-C4MQsZjd.js → ProfilePage-Ep75xf-u.js} +1 -1
- package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-ROl9_pdO.js → SectionNavigator.vue_vue_type_script_setup_true_lang-D5Cnb4_O.js} +102 -102
- package/dist/{Sessions-Bi-DFlda.js → Sessions-_w3Tnevz.js} +1 -1
- package/dist/{SignIn-DBWmWSzJ.js → SignIn-DIjshMpl.js} +1 -1
- package/dist/{SignInPage-DQsEYuR3.js → SignInPage-C3-LHjo2.js} +1 -1
- package/dist/{SignIns-H9EIa9Fb.js → SignIns-DNdLctGJ.js} +1 -1
- package/dist/{UserRecord-Ye2uS25j.js → UserRecord-C0JZgK47.js} +4 -4
- package/dist/{UsersList-Dg31_WWq.js → UsersList-Bc8dCuRB.js} +2 -2
- package/dist/collection/back.d.ts +22 -0
- package/dist/collection/index.d.ts +2 -0
- package/dist/collection/index.js +13 -12
- package/dist/collection/neighbors.d.ts +1 -1
- package/dist/identity/index.js +1 -1
- package/dist/{index-Ddjj0x7J.js → index-BEDhdJQE.js} +10 -10
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/neighbors-DVN_cADL.js +105 -0
- package/dist/page/SectionNavigator.vue.d.ts +5 -4
- package/dist/page/index.js +1 -1
- package/dist/{status-DHFcoQly.js → status-DfAac6vw.js} +1 -1
- package/package.json +1 -1
- package/dist/neighbors-095bixO7.js +0 -91
|
@@ -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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
2
|
-
import { useI18n as
|
|
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
|
|
5
|
-
import { _ as
|
|
6
|
-
import { a as
|
|
7
|
-
import { u as
|
|
8
|
-
import { u as
|
|
9
|
-
import { p as
|
|
10
|
-
import { p as
|
|
11
|
-
import { _ as
|
|
12
|
-
const
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
24
|
+
}, ye = { class: "min-w-0" }, we = ["data-variant"], Le = {
|
|
25
25
|
key: 0,
|
|
26
26
|
"data-test": "section-summary"
|
|
27
|
-
},
|
|
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
|
-
},
|
|
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
|
-
},
|
|
33
|
+
}, je = {
|
|
34
34
|
key: 1,
|
|
35
35
|
class: "sr-only"
|
|
36
|
-
},
|
|
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" },
|
|
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
|
-
},
|
|
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
|
-
},
|
|
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(
|
|
56
|
-
const n =
|
|
57
|
-
|
|
58
|
-
const { sections: f, active: b, first: h, subPage: O } = R, T =
|
|
59
|
-
|
|
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
|
|
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
|
-
),
|
|
71
|
+
), W(() => {
|
|
72
72
|
S && (S.value = null);
|
|
73
73
|
});
|
|
74
|
-
const
|
|
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
|
-
}), _ =
|
|
81
|
+
}), _ = te("segments"), N = ae(!1);
|
|
82
82
|
async function D() {
|
|
83
|
-
if (
|
|
84
|
-
N.value = !1, await
|
|
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
|
-
|
|
89
|
+
se(() => {
|
|
90
90
|
typeof ResizeObserver > "u" || !_.value || (j = new ResizeObserver(() => void D()), j.observe(_.value));
|
|
91
|
-
}),
|
|
92
|
-
const
|
|
93
|
-
return (o, p) =>
|
|
94
|
-
(t(), F(
|
|
95
|
-
])) :
|
|
96
|
-
s("aside",
|
|
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",
|
|
102
|
-
(t(!0), a(y, null, w(l(f), (e,
|
|
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)[
|
|
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",
|
|
109
|
-
},
|
|
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(
|
|
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",
|
|
127
|
-
n.counts[e.name] !== void 0 ? (t(), a("span",
|
|
128
|
-
], 10,
|
|
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 &&
|
|
132
|
+
e.active && I.value ? (t(), F(K, { key: 1 })) : u("", !0)
|
|
133
133
|
]))), 128))
|
|
134
134
|
])
|
|
135
|
-
], 8,
|
|
135
|
+
], 8, he)
|
|
136
136
|
]),
|
|
137
|
-
s("div",
|
|
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":
|
|
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 && (
|
|
146
|
+
o.$slots.summary && (!V.value || B.value || !x.value) ? (t(), a("div", Le, [
|
|
147
147
|
$(o.$slots, "summary")
|
|
148
|
-
])) :
|
|
149
|
-
|
|
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",
|
|
155
|
-
(t(!0), a(y, null, w(l(f), (e,
|
|
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",
|
|
173
|
-
v(l(
|
|
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
|
|
181
|
-
s("span",
|
|
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",
|
|
186
|
-
s("span",
|
|
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 ?
|
|
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
|
-
},
|
|
196
|
-
m(e.name).shortSub ? (t(), a("span",
|
|
197
|
-
], 2)) :
|
|
198
|
-
m(e.name).done ? (t(), a("span",
|
|
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,
|
|
200
|
+
], 10, Ce)
|
|
201
201
|
]),
|
|
202
202
|
_: 2
|
|
203
203
|
}, 1032, ["to"])
|
|
204
204
|
]))), 128))
|
|
205
205
|
])
|
|
206
|
-
], 8,
|
|
207
|
-
|
|
206
|
+
], 8, Se)) : u("", !0),
|
|
207
|
+
x.value && (r.value === "segments" || r.value === "segmented") ? (t(), a("div", {
|
|
208
208
|
key: 2,
|
|
209
|
-
class: d(
|
|
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",
|
|
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:
|
|
226
|
+
default: C(({ href: i, navigate: k }) => [
|
|
227
227
|
s("a", {
|
|
228
|
-
href:
|
|
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:
|
|
238
|
-
},
|
|
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
|
-
},
|
|
244
|
-
], 10,
|
|
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,
|
|
251
|
-
], 2)) :
|
|
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(
|
|
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,
|
|
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, (
|
|
264
|
-
key:
|
|
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:
|
|
269
|
-
"data-test": `section-${
|
|
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",
|
|
274
|
-
v(l(
|
|
273
|
+
s("span", Me, [
|
|
274
|
+
v(l(q), {
|
|
275
275
|
tone: "anchor",
|
|
276
|
-
icon:
|
|
276
|
+
icon: i.icon
|
|
277
277
|
}, null, 8, ["icon"])
|
|
278
278
|
]),
|
|
279
|
-
s("span",
|
|
280
|
-
s("span",
|
|
281
|
-
n.counts[
|
|
282
|
-
v(l(
|
|
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,
|
|
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",
|
|
305
|
-
v(
|
|
306
|
-
])) :
|
|
307
|
-
], 10,
|
|
308
|
-
!l(A) && l(T).sections.value.length > 2 ? (t(), F(
|
|
309
|
-
], 8,
|
|
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
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent as R, openBlock as q, createBlock as P, unref as e, withCtx as u, createVNode as t, mergeProps as L, provide as N, computed as g, useTemplateRef as $, createElementVNode as x, toDisplayString as C, createTextVNode as j } from "vue";
|
|
2
2
|
import { useI18n as A } from "vue-i18n";
|
|
3
|
-
import {
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
10
|
-
import { U as j, u as H, s as J } from "./status-
|
|
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";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type RouteLocationRaw } from "vue-router";
|
|
2
|
+
import type { RecordListContext } from "../resource/listContext";
|
|
3
|
+
import type { CollectionDefinition } from "./definition";
|
|
4
|
+
import type { CollectionQuery } from "./types";
|
|
5
|
+
export interface CollectionBackOptions {
|
|
6
|
+
/** The encoded list state the record was opened with: untrusted (it is in the URL). Default: the route's `?from=`. */
|
|
7
|
+
from?: () => string | null | undefined;
|
|
8
|
+
/** The list's route. */
|
|
9
|
+
list: RouteLocationRaw;
|
|
10
|
+
/** What the back link to the list says ("Tickets"); a function follows the locale. */
|
|
11
|
+
backLabel: string | (() => string);
|
|
12
|
+
/** The URL key the list keeps its state under. Default `"query"`. */
|
|
13
|
+
stateKey?: string;
|
|
14
|
+
}
|
|
15
|
+
/** The list's route carrying `query` as its state; a string route is returned as it is. */
|
|
16
|
+
export declare function listRouteOf<Row, Sort extends string, Filter extends string, View extends string>(definition: CollectionDefinition<Row, Sort, Filter, View>, list: RouteLocationRaw, stateKey: string, query: CollectionQuery<Sort, Filter, View>): RouteLocationRaw;
|
|
17
|
+
/**
|
|
18
|
+
* Back to the list a record was opened from, as the user left it, for a record page without a pager:
|
|
19
|
+
* it decodes `?from=` through the list's definition and asks for nothing. A direct link (no or untrusted
|
|
20
|
+
* state) leads to the plain list. Pass its result as `ResourcePage`'s `list`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useCollectionBack<Row, Sort extends string, Filter extends string, View extends string>(definition: CollectionDefinition<Row, Sort, Filter, View>, options: CollectionBackOptions): RecordListContext;
|
|
@@ -7,6 +7,8 @@ export { httpList, listParams, readListPage } from "./http";
|
|
|
7
7
|
export { LIST_CONTEXT_PARAM } from "./location";
|
|
8
8
|
export type { CollectionColumns, Column, ColumnKey, ColumnKind, ColumnValue, MobileRole, RowAction, SlotKey, TableColumns } from "./columns";
|
|
9
9
|
export type { FilterDescriptor, FilterOption, ViewDescriptor } from "./filters";
|
|
10
|
+
export { useCollectionBack } from "./back";
|
|
11
|
+
export type { CollectionBackOptions } from "./back";
|
|
10
12
|
export { useCollectionNeighbors } from "./neighbors";
|
|
11
13
|
export type { CollectionNeighbors, Neighbor, NeighborOptions } from "./neighbors";
|
|
12
14
|
export { createMemorySavedViews } from "./savedViews";
|
package/dist/collection/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { D as O, L as j, a as U, h as G, l as X, r as Z } from "../http-D_D9YbLH.js";
|
|
2
2
|
import { _ as H, a as J, u as K } from "../CollectionPage.vue_vue_type_script_setup_true_lang-DkpFEHUw.js";
|
|
3
|
-
import { u as W } from "../neighbors-
|
|
4
|
-
import { a as
|
|
5
|
-
import { _ as
|
|
3
|
+
import { u as W, a as Y } from "../neighbors-DVN_cADL.js";
|
|
4
|
+
import { a as te, b as se } from "../rowLayout-D1cYQghV.js";
|
|
5
|
+
import { _ as ae } from "../DataTable.vue_vue_type_script_setup_true_lang-ChS9ULwk.js";
|
|
6
6
|
import { defineComponent as y, openBlock as c, createElementBlock as d, Fragment as h, renderList as v, createBlock as k, unref as f, withCtx as C, normalizeClass as m, createVNode as p, createCommentVNode as g, computed as w, toValue as E } from "vue";
|
|
7
7
|
import { _ } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
8
8
|
import { _ as S } from "../Tooltip.vue_vue_type_script_setup_true_lang-OOD_XNWx.js";
|
|
9
9
|
import { useI18n as T } from "vue-i18n";
|
|
10
|
-
function
|
|
10
|
+
function $(r = {}) {
|
|
11
11
|
const s = new Map(Object.entries(r).map(([t, e]) => [t, [...e]]));
|
|
12
12
|
let a = 1;
|
|
13
13
|
const o = (t) => {
|
|
@@ -79,7 +79,7 @@ const A = {
|
|
|
79
79
|
}, 1032, ["text"]))), 128))
|
|
80
80
|
])) : g("", !0);
|
|
81
81
|
}
|
|
82
|
-
}),
|
|
82
|
+
}), B = ["today", "yesterday", "this_week", "last_week", "this_month", "last_month", "this_year", "last_year"];
|
|
83
83
|
function V(r, s) {
|
|
84
84
|
const { t: a } = T();
|
|
85
85
|
return w(() => ({
|
|
@@ -87,25 +87,26 @@ function V(r, s) {
|
|
|
87
87
|
icon: "calendarEventFill",
|
|
88
88
|
label: E(s) ?? a("core.collection.date_presets.label"),
|
|
89
89
|
type: "select",
|
|
90
|
-
options:
|
|
90
|
+
options: B.map((o) => ({ value: o, label: a(`core.collection.date_presets.options.${o}`) }))
|
|
91
91
|
}));
|
|
92
92
|
}
|
|
93
93
|
export {
|
|
94
|
-
|
|
94
|
+
te as CollectionCell,
|
|
95
95
|
H as CollectionPage,
|
|
96
96
|
J as CollectionTable,
|
|
97
|
-
|
|
97
|
+
B as DATE_PRESETS,
|
|
98
98
|
O as DEFAULT_PAGE_SIZES,
|
|
99
|
-
|
|
99
|
+
ae as DataTable,
|
|
100
100
|
j as LIST_CONTEXT_PARAM,
|
|
101
|
-
|
|
101
|
+
se as RecordIdentity,
|
|
102
102
|
N as RowActions,
|
|
103
|
-
|
|
103
|
+
$ as createMemorySavedViews,
|
|
104
104
|
U as defineCollection,
|
|
105
105
|
G as httpList,
|
|
106
106
|
X as listParams,
|
|
107
107
|
Z as readListPage,
|
|
108
108
|
K as useCollection,
|
|
109
|
-
W as
|
|
109
|
+
W as useCollectionBack,
|
|
110
|
+
Y as useCollectionNeighbors,
|
|
110
111
|
V as useDatePresetFilter
|
|
111
112
|
};
|
|
@@ -16,7 +16,7 @@ export interface CollectionNeighbors {
|
|
|
16
16
|
readonly previous: Readonly<Ref<Neighbor | null>>;
|
|
17
17
|
readonly next: Readonly<Ref<Neighbor | null>>;
|
|
18
18
|
readonly loading: Readonly<Ref<boolean>>;
|
|
19
|
-
/** The list as the user left it (its route with the state in the query); null without list state. */
|
|
19
|
+
/** The list as the user left it (its route with the state in the query, also when the record is no longer in it); null without list state. */
|
|
20
20
|
readonly listRoute: Readonly<Ref<RouteLocationRaw | null>>;
|
|
21
21
|
/**
|
|
22
22
|
* What a record page takes as `list` (`<ResourcePage :list="neighbors.context">`, or its `back` and pager in a page of its own):
|
package/dist/identity/index.js
CHANGED
|
@@ -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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
369
|
-
{ name: "users.record.signin", path: "signin", component: () => import("./SignIn-
|
|
370
|
-
{ name: "users.record.sessions", path: "sessions", component: () => import("./Sessions-
|
|
371
|
-
{ name: "users.record.signins", path: "signins", component: () => import("./SignIns-
|
|
372
|
-
{ name: "users.record.changes", path: "changes", component: () => import("./Changes-
|
|
373
|
-
{ name: "users.record.activity", path: "activity", component: () => import("./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.
|
|
2
|
+
export declare const version = "0.4.13";
|
package/dist/index.js
CHANGED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { computed as j, ref as z, shallowRef as I, watch as F, getCurrentScope as J, onScopeDispose as Q } from "vue";
|
|
2
|
+
import { useRoute as O } from "vue-router";
|
|
3
|
+
import { i as N } from "./error-CD7x0Jrz.js";
|
|
4
|
+
import { L as k, d as B, e as D, o as U, q as V } from "./http-D_D9YbLH.js";
|
|
5
|
+
function K(l, t, n, g) {
|
|
6
|
+
return typeof t == "string" ? t : { ...t, query: { ...t.query, [n]: D(l, g) } };
|
|
7
|
+
}
|
|
8
|
+
function le(l, t) {
|
|
9
|
+
const n = O(), g = t.from ?? (() => typeof n.query[k] == "string" ? n.query[k] : null), q = j(() => {
|
|
10
|
+
const f = B(l, g());
|
|
11
|
+
return f ? K(l, t.list, t.stateKey ?? "query", f) : t.list;
|
|
12
|
+
});
|
|
13
|
+
return {
|
|
14
|
+
get back() {
|
|
15
|
+
return { label: typeof t.backLabel == "function" ? t.backLabel() : t.backLabel, to: q.value };
|
|
16
|
+
},
|
|
17
|
+
neighbors: null
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
const W = 8;
|
|
21
|
+
function re(l, t) {
|
|
22
|
+
const n = O(), g = t.from ?? (() => typeof n.query[k] == "string" ? n.query[k] : null), q = t.stateKey ?? "query", f = z(null), p = z(0), h = I(null), m = I(null), S = z(!1), x = I(null), o = /* @__PURE__ */ new Map();
|
|
23
|
+
let d = 0, C = new AbortController(), E = !1;
|
|
24
|
+
function L(w, b, a) {
|
|
25
|
+
const v = { ...w, page: b }, i = V(v);
|
|
26
|
+
let u = o.get(i);
|
|
27
|
+
for (u ? o.delete(i) : (u = (async () => l.load(v, { signal: a }))(), u.catch(() => {
|
|
28
|
+
o.get(i) === u && o.delete(i);
|
|
29
|
+
})), o.set(i, u); o.size > W; ) o.delete(o.keys().next().value);
|
|
30
|
+
return u.catch((e) => {
|
|
31
|
+
if (N(e)) throw e;
|
|
32
|
+
return null;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function T() {
|
|
36
|
+
f.value = null, h.value = null, m.value = null, p.value = 0;
|
|
37
|
+
}
|
|
38
|
+
async function _() {
|
|
39
|
+
const w = ++d, b = C.signal, a = B(l, g()), v = t.current();
|
|
40
|
+
if (x.value = a ? K(l, t.list, q, a) : null, !a || v === null || v === void 0 || v === "") {
|
|
41
|
+
T(), S.value = !1;
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
S.value = !0, h.value = null, m.value = null;
|
|
45
|
+
const i = (e) => e ? e.rows.findIndex((r) => String(l.key(r)) === String(v)) : -1, u = (e, r) => {
|
|
46
|
+
const s = D(l, { ...a, page: e });
|
|
47
|
+
return {
|
|
48
|
+
key: r,
|
|
49
|
+
get to() {
|
|
50
|
+
return { name: n.name ?? void 0, params: { ...n.params, [t.param]: String(r) }, query: { ...n.query, [k]: s }, hash: n.hash };
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
try {
|
|
55
|
+
let e = a.page, r = await L(a, e, b), s = i(r);
|
|
56
|
+
for (const y of [e - 1, e + 1]) {
|
|
57
|
+
if (s !== -1 || !r || y < 1 || y > r.lastPage) continue;
|
|
58
|
+
const c = await L(a, y, b), M = i(c);
|
|
59
|
+
c && M !== -1 && (e = y, r = c, s = M);
|
|
60
|
+
}
|
|
61
|
+
if (w !== d) return;
|
|
62
|
+
if (!r || s === -1) {
|
|
63
|
+
T();
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const X = r.pageSize || a.pageSize, A = r.rows;
|
|
67
|
+
let P = null;
|
|
68
|
+
if (s > 0) P = u(e, l.key(A[s - 1]));
|
|
69
|
+
else if (e > 1) {
|
|
70
|
+
const y = await L(a, e - 1, b), c = y?.rows[y.rows.length - 1];
|
|
71
|
+
c !== void 0 && (P = u(e - 1, l.key(c)));
|
|
72
|
+
}
|
|
73
|
+
let R = null;
|
|
74
|
+
if (s < A.length - 1) R = u(e, l.key(A[s + 1]));
|
|
75
|
+
else if (e < r.lastPage) {
|
|
76
|
+
const c = (await L(a, e + 1, b))?.rows[0];
|
|
77
|
+
c !== void 0 && (R = u(e + 1, l.key(c)));
|
|
78
|
+
}
|
|
79
|
+
if (w !== d) return;
|
|
80
|
+
p.value = r.total, f.value = (e - 1) * X + s + 1, h.value = P, m.value = R, x.value = K(l, t.list, q, { ...a, page: e });
|
|
81
|
+
} catch (e) {
|
|
82
|
+
if (!N(e)) throw e;
|
|
83
|
+
} finally {
|
|
84
|
+
w === d && (S.value = !1);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const G = F([g, t.current], _, { immediate: !0 });
|
|
88
|
+
function H() {
|
|
89
|
+
E || (E = !0, d++, C.abort(), G(), o.clear());
|
|
90
|
+
}
|
|
91
|
+
return J() && Q(H), U(() => {
|
|
92
|
+
C.abort(), C = new AbortController(), o.clear(), _();
|
|
93
|
+
}), { position: f, total: p, previous: h, next: m, loading: S, listRoute: x, context: {
|
|
94
|
+
get back() {
|
|
95
|
+
return { label: typeof t.backLabel == "function" ? t.backLabel() : t.backLabel, to: x.value ?? t.list };
|
|
96
|
+
},
|
|
97
|
+
get neighbors() {
|
|
98
|
+
return f.value === null ? null : { position: f.value, total: p.value, previous: h.value?.to ?? null, next: m.value?.to ?? null };
|
|
99
|
+
}
|
|
100
|
+
} };
|
|
101
|
+
}
|
|
102
|
+
export {
|
|
103
|
+
re as a,
|
|
104
|
+
le as u
|
|
105
|
+
};
|
|
@@ -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>>;
|
package/dist/page/index.js
CHANGED
|
@@ -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-
|
|
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 = {
|
package/package.json
CHANGED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { ref as P, shallowRef as z, watch as X, getCurrentScope as j, onScopeDispose as B } from "vue";
|
|
2
|
-
import { useRoute as F } from "vue-router";
|
|
3
|
-
import { i as M } from "./error-CD7x0Jrz.js";
|
|
4
|
-
import { L as I, o as J, d as Q, e as N, q as U } from "./http-D_D9YbLH.js";
|
|
5
|
-
const V = 8;
|
|
6
|
-
function te(s, r) {
|
|
7
|
-
const v = F(), R = r.from ?? (() => typeof v.query[I] == "string" ? v.query[I] : null), D = r.stateKey ?? "query", y = P(null), p = P(0), h = z(null), d = z(null), b = P(!1), S = z(null), n = /* @__PURE__ */ new Map();
|
|
8
|
-
let m = 0, k = new AbortController(), E = !1;
|
|
9
|
-
function q(w, g, l) {
|
|
10
|
-
const f = { ...w, page: g }, c = U(f);
|
|
11
|
-
let a = n.get(c);
|
|
12
|
-
for (a ? n.delete(c) : (a = (async () => s.load(f, { signal: l }))(), a.catch(() => {
|
|
13
|
-
n.get(c) === a && n.delete(c);
|
|
14
|
-
})), n.set(c, a); n.size > V; ) n.delete(n.keys().next().value);
|
|
15
|
-
return a.catch((e) => {
|
|
16
|
-
if (M(e)) throw e;
|
|
17
|
-
return null;
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
function K() {
|
|
21
|
-
y.value = null, h.value = null, d.value = null, p.value = 0, S.value = null;
|
|
22
|
-
}
|
|
23
|
-
async function T() {
|
|
24
|
-
const w = ++m, g = k.signal, l = Q(s, R()), f = r.current();
|
|
25
|
-
if (!l || f === null || f === void 0 || f === "") {
|
|
26
|
-
K(), b.value = !1;
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
b.value = !0, h.value = null, d.value = null;
|
|
30
|
-
const c = (e) => e ? e.rows.findIndex((t) => String(s.key(t)) === String(f)) : -1, a = (e, t) => {
|
|
31
|
-
const o = N(s, { ...l, page: e });
|
|
32
|
-
return {
|
|
33
|
-
key: t,
|
|
34
|
-
get to() {
|
|
35
|
-
return { name: v.name ?? void 0, params: { ...v.params, [r.param]: String(t) }, query: { ...v.query, [I]: o }, hash: v.hash };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
try {
|
|
40
|
-
let e = l.page, t = await q(l, e, g), o = c(t);
|
|
41
|
-
for (const i of [e - 1, e + 1]) {
|
|
42
|
-
if (o !== -1 || !t || i < 1 || i > t.lastPage) continue;
|
|
43
|
-
const u = await q(l, i, g), _ = c(u);
|
|
44
|
-
u && _ !== -1 && (e = i, t = u, o = _);
|
|
45
|
-
}
|
|
46
|
-
if (w !== m) return;
|
|
47
|
-
if (!t || o === -1) {
|
|
48
|
-
K();
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const O = t.pageSize || l.pageSize, C = t.rows;
|
|
52
|
-
let A = null;
|
|
53
|
-
if (o > 0) A = a(e, s.key(C[o - 1]));
|
|
54
|
-
else if (e > 1) {
|
|
55
|
-
const i = await q(l, e - 1, g), u = i?.rows[i.rows.length - 1];
|
|
56
|
-
u !== void 0 && (A = a(e - 1, s.key(u)));
|
|
57
|
-
}
|
|
58
|
-
let L = null;
|
|
59
|
-
if (o < C.length - 1) L = a(e, s.key(C[o + 1]));
|
|
60
|
-
else if (e < t.lastPage) {
|
|
61
|
-
const u = (await q(l, e + 1, g))?.rows[0];
|
|
62
|
-
u !== void 0 && (L = a(e + 1, s.key(u)));
|
|
63
|
-
}
|
|
64
|
-
if (w !== m) return;
|
|
65
|
-
p.value = t.total, y.value = (e - 1) * O + o + 1, h.value = A, d.value = L;
|
|
66
|
-
const x = r.list;
|
|
67
|
-
S.value = typeof x == "string" ? x : { ...x, query: { ...x.query, [D]: N(s, { ...l, page: e }) } };
|
|
68
|
-
} catch (e) {
|
|
69
|
-
if (!M(e)) throw e;
|
|
70
|
-
} finally {
|
|
71
|
-
w === m && (b.value = !1);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
const G = X([R, r.current], T, { immediate: !0 });
|
|
75
|
-
function H() {
|
|
76
|
-
E || (E = !0, m++, k.abort(), G(), n.clear());
|
|
77
|
-
}
|
|
78
|
-
return j() && B(H), J(() => {
|
|
79
|
-
k.abort(), k = new AbortController(), n.clear(), T();
|
|
80
|
-
}), { position: y, total: p, previous: h, next: d, loading: b, listRoute: S, context: {
|
|
81
|
-
get back() {
|
|
82
|
-
return { label: typeof r.backLabel == "function" ? r.backLabel() : r.backLabel, to: S.value ?? r.list };
|
|
83
|
-
},
|
|
84
|
-
get neighbors() {
|
|
85
|
-
return y.value === null ? null : { position: y.value, total: p.value, previous: h.value?.to ?? null, next: d.value?.to ?? null };
|
|
86
|
-
}
|
|
87
|
-
} };
|
|
88
|
-
}
|
|
89
|
-
export {
|
|
90
|
-
te as u
|
|
91
|
-
};
|