@wssto2/vue-core 0.12.1 → 0.13.1
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/CHANGELOG.md +33 -0
- package/README.md +4 -2
- package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-CzQbD2Pc.js → AccessGate.vue_vue_type_script_setup_true_lang-DEzXovsY.js} +1 -1
- package/dist/{Activity-CdkJW68R.js → Activity-ChfxdvXf.js} +24 -23
- package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-D5i77H6S.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-lPj9hPqV.js} +33 -33
- package/dist/{Changes-DxK_QfiB.js → Changes-BCa43_mO.js} +18 -17
- package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-x0jyJ01f.js → CollectionPage.vue_vue_type_script_setup_true_lang-C1GCvyZx.js} +6 -6
- package/dist/{DataTable.vue_vue_type_script_setup_true_lang-C_ZytnW-.js → DataTable.vue_vue_type_script_setup_true_lang-B9r9M5Gt.js} +1 -1
- package/dist/{DateField.vue_vue_type_script_setup_true_lang-CeNwBbJT.js → DateField.vue_vue_type_script_setup_true_lang-B5UUY1OO.js} +2 -2
- package/dist/{DeadLetters-DnA7LP1w.js → DeadLetters-wFTqhISU.js} +5 -5
- package/dist/{General-2matxl2Y.js → General-jW7u4MjH.js} +16 -15
- package/dist/{IncidentRecord-Bt3G4HlX.js → IncidentRecord-zTemLz2R.js} +6 -6
- package/dist/{IncidentsList-2iwgqp9J.js → IncidentsList-yu0xSMrH.js} +6 -6
- package/dist/{NewRolePage-DhGFwvk3.js → NewRolePage-CQ5UVaHs.js} +3 -3
- package/dist/{NumberField.vue_vue_type_script_setup_true_lang-B3UrXNqH.js → NumberField.vue_vue_type_script_setup_true_lang-YVgf5CP6.js} +1 -1
- package/dist/{PersonAccess.vue_vue_type_script_setup_true_lang-DbGZSNQc.js → PersonAccess.vue_vue_type_script_setup_true_lang-CWCt9_dM.js} +2 -2
- package/dist/{ProfilePage-CpuyDBAv.js → ProfilePage-Ca3x3UAH.js} +79 -77
- package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DqGc3Jyo.js → RecordHeader.vue_vue_type_script_setup_true_lang-Do_ATJwT.js} +1 -1
- package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-DljhsTU4.js → ResourcePage.vue_vue_type_script_setup_true_lang-Coz91xht.js} +1 -1
- package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-C0FIotFA.js → RoleEditor.vue_vue_type_script_setup_true_lang-d_aaeXTT.js} +2 -2
- package/dist/{RolePage-DaNv049g.js → RolePage-BUj1w1m1.js} +5 -5
- package/dist/{RolesPage-6hlzJes_.js → RolesPage-NKzBUsrM.js} +3 -3
- package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-Dh3sXUt_.js → SectionNavigator.vue_vue_type_script_setup_true_lang-DfKEhTFv.js} +2 -2
- package/dist/{ServiceAccountDialog.vue_vue_type_script_setup_true_lang-FJbWxME_.js → ServiceAccountDialog.vue_vue_type_script_setup_true_lang-4nbhEpv_.js} +10 -9
- package/dist/{ServiceAccountRecord-0-JF5lRx.js → ServiceAccountRecord-ClbyeLhL.js} +8 -8
- package/dist/{ServiceAccountsList-DcsnOcf-.js → ServiceAccountsList-B2VDnYxD.js} +5 -5
- package/dist/{Sessions-DgWhpk-i.js → Sessions-BjkciyHH.js} +23 -21
- package/dist/{SettingsPage-BXPWATYU.js → SettingsPage-Csb14qsx.js} +7 -7
- package/dist/{SignIn-DPoUwHZd.js → SignIn-DPFMv4C7.js} +14 -12
- package/dist/{SignInPage-OyrVemro.js → SignInPage-DukoFqkt.js} +2 -2
- package/dist/{SignIns-BMDrZVVp.js → SignIns-DvdpNkiS.js} +23 -22
- package/dist/{TimeField.vue_vue_type_script_setup_true_lang-D-Em4glH.js → TimeField.vue_vue_type_script_setup_true_lang-DpDXHH7u.js} +2 -2
- package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-ClZAAUMd.js → Timestamp.vue_vue_type_script_setup_true_lang-DlEUKWra.js} +1 -1
- package/dist/{UserRecord-BW-gdCqi.js → UserRecord-B9SeSWQh.js} +57 -55
- package/dist/{UsersList-B3ZF_1Dj.js → UsersList-CREG8q3l.js} +4 -4
- package/dist/access/index.js +4 -4
- package/dist/app/application.d.ts +14 -6
- package/dist/app/current.d.ts +11 -0
- package/dist/app/environment.d.ts +8 -0
- package/dist/app/index.d.ts +1 -0
- package/dist/app/index.js +14 -12
- package/dist/application-DomS6sbx.js +435 -0
- package/dist/collection/http.d.ts +16 -1
- package/dist/collection/index.d.ts +1 -1
- package/dist/collection/index.js +34 -32
- package/dist/content/Money.vue.d.ts +1 -1
- package/dist/content/index.js +151 -158
- package/dist/{contributions-CeG4bszd.js → contributions-obnyn03x.js} +1 -1
- package/dist/current-B0lHKTWr.js +17 -0
- package/dist/form/DateField.vue.d.ts +2 -2
- package/dist/form/DateTimeField.vue.d.ts +2 -2
- package/dist/form/MoneyField.vue.d.ts +1 -1
- package/dist/form/NumberField.vue.d.ts +1 -1
- package/dist/form/date/MonthYearPanel.vue.d.ts +1 -1
- package/dist/form/date/days.d.ts +3 -3
- package/dist/form/index.d.ts +2 -0
- package/dist/form/index.js +1111 -1081
- package/dist/form/zodErrorMap.d.ts +35 -0
- package/dist/format/format.d.ts +51 -6
- package/dist/format/index.d.ts +1 -1
- package/dist/format/index.js +1 -1
- package/dist/format-DoKs29bZ.js +118 -0
- package/dist/{guards-Biv_SlGn.js → guards-DGcSfTEh.js} +1 -1
- package/dist/http-DOEfFCDA.js +107 -0
- package/dist/i18n/index.js +15 -15
- package/dist/identity/index.d.ts +2 -0
- package/dist/identity/index.js +43 -40
- package/dist/identity/usePreferences.d.ts +19 -0
- package/dist/incidents/clientErrorReporter.d.ts +2 -1
- package/dist/incidents/index.js +1 -1
- package/dist/{index-kEHY7hcG.js → index-Be9Q1PB_.js} +78 -76
- package/dist/{index-Cq9TuOqH.js → index-DZikGJ8L.js} +457 -511
- package/dist/{index-ClJeyW3F.js → index-D_yyd4C2.js} +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/intlLocale.d.ts +5 -2
- package/dist/modules/identity/entities.d.ts +4 -0
- package/dist/modules/identity/routes.d.ts +5 -2
- package/dist/modules/identity/schemas.d.ts +6 -2
- package/dist/modules/incident/routes.d.ts +2 -0
- package/dist/modules/incident/schemas.d.ts +2 -0
- package/dist/{navigation-TnVFYRaX.js → navigation-CctcxT51.js} +1 -1
- package/dist/{neighbors-OyvGi233.js → neighbors-Csfan8Ho.js} +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/onboarding/Tip.vue.d.ts +41 -0
- package/dist/onboarding/index.d.ts +1 -0
- package/dist/onboarding/index.js +145 -0
- package/dist/onboarding/tips.d.ts +5 -0
- package/dist/page/index.js +3 -3
- package/dist/phone/index.js +74 -74
- package/dist/phone/phone.d.ts +3 -3
- package/dist/platform/httpSession.d.ts +1 -1
- package/dist/platform/index.d.ts +2 -0
- package/dist/platform/index.js +16 -13
- package/dist/platform/preferences.d.ts +35 -0
- package/dist/platform/session.d.ts +6 -1
- package/dist/platform-DtISOEt7.js +284 -0
- package/dist/playwright/session.d.ts +2 -0
- package/dist/preferences-hYhrw8Uy.js +91 -0
- package/dist/resource/index.d.ts +1 -0
- package/dist/resource/index.js +24 -8
- package/dist/resource/read.d.ts +16 -0
- package/dist/router/index.js +3 -3
- package/dist/{rowLayout-BsKEzEME.js → rowLayout-y1IB_h2r.js} +2 -2
- package/dist/{sections-CvUwZ-S1.js → sections-fkW_IJLc.js} +1 -1
- package/dist/{serverMessages-B6GHgi40.js → serverMessages-Ddghrewh.js} +1 -1
- package/dist/shell/darkMode.d.ts +13 -8
- package/dist/shell/index.js +396 -384
- package/dist/{state-6KSYsVw0.js → state-CXMexi0l.js} +1 -1
- package/dist/styles.css +1 -1
- package/dist/testing/app.d.ts +11 -0
- package/dist/testing/format.d.ts +4 -2
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.js +96 -89
- package/dist/testing/platform.d.ts +2 -0
- package/dist/usePreferences-B8LIZp_f.js +47 -0
- package/dist/{useTypedEntry-C_Bk4sI0.js → useTypedEntry-DKs8I1yP.js} +279 -280
- package/package.json +6 -2
- package/src/styles/components.css +17 -0
- package/dist/application-CuzT-0vW.js +0 -420
- package/dist/format-D8KUBmbS.js +0 -87
- package/dist/http-Dm0uXY9O.js +0 -95
- package/dist/intlLocale-CeRU44qJ.js +0 -4
- package/dist/platform-BQOX_Ntw.js +0 -283
package/dist/shell/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as O, provide as ce, computed as L, ref as P, useId as Se, openBlock as r, createElementBlock as m, normalizeClass as T, unref as t, createVNode as p, createCommentVNode as k, createElementVNode as i, toDisplayString as M, createBlock as N, withDirectives as nt, Fragment as U, renderList as se, vShow as at, withCtx as D, mergeProps as le, useTemplateRef as re, renderSlot as j, createSlots as G, normalizeProps as ne, guardReactiveProps as ae, inject as Le, onMounted as ot, onBeforeUnmount as Oe, normalizeStyle as ve, nextTick as be, watch as Q, onScopeDispose as ue, Teleport as Re, shallowRef as Pe, h as te, Transition as we, toValue as _e, createTextVNode as ie } from "vue";
|
|
2
2
|
import { useI18n as K } from "vue-i18n";
|
|
3
|
-
import { _ as
|
|
3
|
+
import { _ as Ne } from "../Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
|
|
4
4
|
import { _ as q, u as st, c as lt } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
|
|
5
5
|
import { _ as rt } from "../Popover.vue_vue_type_script_setup_true_lang-C20Hf3Hl.js";
|
|
6
|
-
import { u as qe, S as J } from "../contributions-
|
|
6
|
+
import { u as qe, S as J } from "../contributions-obnyn03x.js";
|
|
7
7
|
import { u as it } from "../environment-Dva-SG8D.js";
|
|
8
8
|
import { _ as ct } from "../CountryFlag.vue_vue_type_script_setup_true_lang-Kry_vPPZ.js";
|
|
9
9
|
import { l as Ae } from "../languageName-CItV_SOv.js";
|
|
10
10
|
import { t as Be } from "../toast-CqSDTWRX.js";
|
|
11
|
-
import { u as de, h as Ce } from "../platform-
|
|
11
|
+
import { u as de, h as Ce } from "../platform-DtISOEt7.js";
|
|
12
12
|
import { a as ut, _ as $e, h as Ee } from "../AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js";
|
|
13
13
|
import { _ as dt } from "../Sheet.vue_vue_type_script_setup_true_lang-B91aRD_y.js";
|
|
14
14
|
import { _ as ft } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-CIwW7y4j.js";
|
|
@@ -17,7 +17,7 @@ import { _ as pt } from "../BottomDock.vue_vue_type_script_setup_true_lang-CjN7x
|
|
|
17
17
|
import { b as je } from "../chrome-nUcmVu8G.js";
|
|
18
18
|
import { p as Ke, A as vt } from "../access-DmAceEo5.js";
|
|
19
19
|
import { RouterLink as Ve, useRoute as ht, useRouter as ge } from "vue-router";
|
|
20
|
-
import { u as bt } from "../navigation-
|
|
20
|
+
import { u as bt } from "../navigation-CctcxT51.js";
|
|
21
21
|
import { u as gt } from "../leaveGuard-Cc8yeLxM.js";
|
|
22
22
|
import { u as yt, S as xt } from "../dialogStack-B5G6xHq0.js";
|
|
23
23
|
import { a as oe } from "../mediaQuery-CygcXmFW.js";
|
|
@@ -25,49 +25,51 @@ import { u as Fe } from "../useDialog-DfNmqM-0.js";
|
|
|
25
25
|
import { _ as kt } from "../Menu.vue_vue_type_script_setup_true_lang-wKc9gdCn.js";
|
|
26
26
|
import { W as _t, s as Ue, u as wt, b as $t } from "../shortcut-DUR6yPWA.js";
|
|
27
27
|
import { d as fe } from "../feature-DdUAfyi4.js";
|
|
28
|
-
import { _ as
|
|
28
|
+
import { _ as go } from "../HeaderAction.vue_vue_type_script_setup_true_lang-Da59TLBh.js";
|
|
29
29
|
import { p as St } from "../perDocument-DUuFrdGU.js";
|
|
30
30
|
import { _ as De } from "../Highlight.vue_vue_type_script_setup_true_lang-DZGBmwcX.js";
|
|
31
31
|
import { _ as Lt } from "../SearchInput.vue_vue_type_script_setup_true_lang-w4eAqyZ9.js";
|
|
32
32
|
import { _ as Ct } from "../Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
33
33
|
import { _ as Et } from "../StatusLine.vue_vue_type_script_setup_true_lang-DsdQmLq6.js";
|
|
34
|
-
import {
|
|
35
|
-
|
|
34
|
+
import { u as Tt } from "../usePreferences-B8LIZp_f.js";
|
|
35
|
+
import { p as Mt } from "../preferences-hYhrw8Uy.js";
|
|
36
|
+
import { _ as At } from "../BottomDockPortal.vue_vue_type_script_setup_true_lang-DmwR-2SP.js";
|
|
37
|
+
const Dt = ["aria-expanded", "aria-controls"], zt = { class: "flex-1 whitespace-nowrap" }, It = { class: "truncate" }, Ot = ["id"], We = /* @__PURE__ */ O({
|
|
36
38
|
__name: "AccountMenuContent",
|
|
37
39
|
props: {
|
|
38
40
|
appearance: {}
|
|
39
41
|
},
|
|
40
42
|
emits: ["close"],
|
|
41
43
|
setup(e, { emit: a }) {
|
|
42
|
-
const n = e, o = a, { t:
|
|
44
|
+
const n = e, o = a, { t: l } = K(), { session: c } = de(), s = it(), u = qe();
|
|
43
45
|
ce(ut, { appearance: n.appearance, close: () => o("close") });
|
|
44
|
-
const d = n.appearance === "sheet", b = L(() =>
|
|
46
|
+
const d = n.appearance === "sheet", b = L(() => u.get("accountMenu").length > 0), g = s.locales.length > 1, h = P(!1), $ = Se(), _ = L(() => Ae(s.locale.value)), y = (z) => s.localeFlags[z];
|
|
45
47
|
async function C() {
|
|
46
48
|
try {
|
|
47
|
-
await
|
|
49
|
+
await c.signOut();
|
|
48
50
|
} catch {
|
|
49
|
-
Be.error(
|
|
51
|
+
Be.error(l("core.shell.account.sign_out_failed"));
|
|
50
52
|
}
|
|
51
53
|
}
|
|
52
54
|
const v = d ? "overflow-hidden rounded-group bg-surface-cell shadow-group" : "";
|
|
53
|
-
return (z, f) => (
|
|
55
|
+
return (z, f) => (r(), m("div", {
|
|
54
56
|
class: T(d ? "flex flex-col gap-group-gap text-content-strong" : "-m-1.5 space-y-1 *:not-first:border-t *:not-first:border-border-separator *:not-first:pt-1"),
|
|
55
57
|
"data-shell-account-menu": ""
|
|
56
58
|
}, [
|
|
57
|
-
b.value ? (
|
|
59
|
+
b.value ? (r(), m("div", {
|
|
58
60
|
key: 0,
|
|
59
61
|
class: T(t(v))
|
|
60
62
|
}, [
|
|
61
63
|
p(t(J), { name: "accountMenu" })
|
|
62
64
|
], 2)) : k("", !0),
|
|
63
|
-
g ? (
|
|
65
|
+
g ? (r(), m("div", {
|
|
64
66
|
key: 1,
|
|
65
67
|
class: T(t(v))
|
|
66
68
|
}, [
|
|
67
|
-
|
|
69
|
+
i("div", {
|
|
68
70
|
class: T(d ? "relative" : "")
|
|
69
71
|
}, [
|
|
70
|
-
|
|
72
|
+
i("button", {
|
|
71
73
|
type: "button",
|
|
72
74
|
"aria-expanded": h.value,
|
|
73
75
|
"aria-controls": t($),
|
|
@@ -80,43 +82,43 @@ const Mt = ["aria-expanded", "aria-controls"], At = { class: "flex-1 whitespace-
|
|
|
80
82
|
size: d ? 22 : 16,
|
|
81
83
|
class: "shrink-0 text-content-muted"
|
|
82
84
|
}, null, 8, ["size"]),
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
i("span", zt, M(t(l)("core.shell.account.language")), 1),
|
|
86
|
+
i("span", {
|
|
85
87
|
class: T(["flex min-w-0 items-center gap-1.5 text-content-muted", d ? "" : "text-xs"])
|
|
86
88
|
}, [
|
|
87
|
-
y(t(s).locale.value) ? (
|
|
89
|
+
y(t(s).locale.value) ? (r(), N(ct, {
|
|
88
90
|
key: 0,
|
|
89
91
|
country: y(t(s).locale.value)
|
|
90
92
|
}, null, 8, ["country"])) : k("", !0),
|
|
91
|
-
|
|
93
|
+
i("span", It, M(_.value), 1)
|
|
92
94
|
], 2),
|
|
93
95
|
p(t(q), {
|
|
94
96
|
name: "arrowDownSLine",
|
|
95
97
|
size: d ? 18 : 16,
|
|
96
98
|
class: T(["shrink-0 text-content-disabled transition-transform duration-motion-fast", h.value ? "rotate-180" : ""])
|
|
97
99
|
}, null, 8, ["size", "class"])
|
|
98
|
-
], 10,
|
|
100
|
+
], 10, Dt)
|
|
99
101
|
], 2),
|
|
100
|
-
nt(
|
|
102
|
+
nt(i("div", {
|
|
101
103
|
id: t($),
|
|
102
104
|
class: T(d ? "" : "space-y-0.5 pl-4")
|
|
103
105
|
}, [
|
|
104
|
-
(
|
|
106
|
+
(r(!0), m(U, null, se(t(s).locales, (I) => (r(), N($e, {
|
|
105
107
|
key: I,
|
|
106
108
|
label: t(Ae)(I),
|
|
107
109
|
flag: y(I),
|
|
108
110
|
selected: I === t(s).locale.value,
|
|
109
111
|
onClick: (E) => t(s).setLocale(I)
|
|
110
112
|
}, null, 8, ["label", "flag", "selected", "onClick"]))), 128))
|
|
111
|
-
], 10,
|
|
113
|
+
], 10, Ot), [
|
|
112
114
|
[at, h.value]
|
|
113
115
|
])
|
|
114
116
|
], 2)) : k("", !0),
|
|
115
|
-
|
|
117
|
+
i("div", {
|
|
116
118
|
class: T(t(v))
|
|
117
119
|
}, [
|
|
118
120
|
p($e, {
|
|
119
|
-
label: t(
|
|
121
|
+
label: t(l)("core.shell.account.sign_out"),
|
|
120
122
|
icon: "logoutBoxRLine",
|
|
121
123
|
tone: "critical",
|
|
122
124
|
onClick: C
|
|
@@ -124,61 +126,61 @@ const Mt = ["aria-expanded", "aria-controls"], At = { class: "flex-1 whitespace-
|
|
|
124
126
|
], 2)
|
|
125
127
|
], 2));
|
|
126
128
|
}
|
|
127
|
-
}),
|
|
129
|
+
}), Rt = ["onClick"], Pt = { class: "min-w-0 flex-1" }, Nt = { class: "block truncate text-sm font-semibold text-white" }, qt = {
|
|
128
130
|
key: 0,
|
|
129
131
|
class: "block truncate text-xs text-gray-300"
|
|
130
|
-
},
|
|
132
|
+
}, Bt = /* @__PURE__ */ O({
|
|
131
133
|
__name: "AccountMenu",
|
|
132
134
|
props: {
|
|
133
135
|
identity: {}
|
|
134
136
|
},
|
|
135
137
|
setup(e) {
|
|
136
138
|
const { t: a } = K();
|
|
137
|
-
return (n, o) => (
|
|
139
|
+
return (n, o) => (r(), N(t(rt), {
|
|
138
140
|
placement: "top-start",
|
|
139
141
|
width: "sm",
|
|
140
142
|
block: "",
|
|
141
143
|
arrow: !1,
|
|
142
144
|
label: t(a)("core.shell.account.open")
|
|
143
145
|
}, {
|
|
144
|
-
trigger: D(({ toggle:
|
|
145
|
-
|
|
146
|
+
trigger: D(({ toggle: l, attrs: c, presented: s }) => [
|
|
147
|
+
i("button", le({ type: "button" }, c, {
|
|
146
148
|
"data-shell-account": "",
|
|
147
149
|
class: ["flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-white/5 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus", { "bg-white/10": s }],
|
|
148
|
-
onClick:
|
|
150
|
+
onClick: l
|
|
149
151
|
}), [
|
|
150
|
-
p(t(
|
|
152
|
+
p(t(Ne), {
|
|
151
153
|
name: e.identity.name,
|
|
152
154
|
size: "md"
|
|
153
155
|
}, null, 8, ["name"]),
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
e.identity.detail ? (
|
|
156
|
+
i("span", Pt, [
|
|
157
|
+
i("span", Nt, M(e.identity.name), 1),
|
|
158
|
+
e.identity.detail ? (r(), m("span", qt, M(e.identity.detail), 1)) : k("", !0)
|
|
157
159
|
]),
|
|
158
160
|
p(t(q), {
|
|
159
161
|
name: "expandUpDownLine",
|
|
160
162
|
size: 16,
|
|
161
163
|
class: "shrink-0 text-gray-400"
|
|
162
164
|
})
|
|
163
|
-
], 16,
|
|
165
|
+
], 16, Rt)
|
|
164
166
|
]),
|
|
165
|
-
default: D(({ dismiss:
|
|
167
|
+
default: D(({ dismiss: l }) => [
|
|
166
168
|
p(We, {
|
|
167
169
|
appearance: "popover",
|
|
168
|
-
onClose:
|
|
170
|
+
onClose: l
|
|
169
171
|
}, null, 8, ["onClose"])
|
|
170
172
|
]),
|
|
171
173
|
_: 1
|
|
172
174
|
}, 8, ["label"]));
|
|
173
175
|
}
|
|
174
|
-
}),
|
|
176
|
+
}), jt = /* @__PURE__ */ O({
|
|
175
177
|
__name: "AccountSheet",
|
|
176
178
|
props: {
|
|
177
179
|
identity: {}
|
|
178
180
|
},
|
|
179
181
|
setup(e, { expose: a }) {
|
|
180
182
|
const n = re("sheet");
|
|
181
|
-
return a({ present: () => n.value?.present(), dismiss: () => n.value?.dismiss() }), (o,
|
|
183
|
+
return a({ present: () => n.value?.present(), dismiss: () => n.value?.dismiss() }), (o, l) => (r(), N(t(dt), {
|
|
182
184
|
ref_key: "sheet",
|
|
183
185
|
ref: n,
|
|
184
186
|
title: e.identity.name,
|
|
@@ -187,14 +189,14 @@ const Mt = ["aria-expanded", "aria-controls"], At = { class: "flex-1 whitespace-
|
|
|
187
189
|
default: D(() => [
|
|
188
190
|
p(We, {
|
|
189
191
|
appearance: "sheet",
|
|
190
|
-
onClose:
|
|
192
|
+
onClose: l[0] || (l[0] = (c) => n.value?.dismiss())
|
|
191
193
|
})
|
|
192
194
|
]),
|
|
193
195
|
_: 1
|
|
194
196
|
}, 8, ["title"]));
|
|
195
197
|
}
|
|
196
198
|
});
|
|
197
|
-
function
|
|
199
|
+
function Kt() {
|
|
198
200
|
const e = st(), a = (n, o) => Object.prototype.hasOwnProperty.call(n, o);
|
|
199
201
|
return (n) => n && (e[n] !== void 0 || a(lt, n)) ? n : null;
|
|
200
202
|
}
|
|
@@ -202,22 +204,22 @@ function Xe(e) {
|
|
|
202
204
|
return e.button === 0 && !e.metaKey && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.defaultPrevented;
|
|
203
205
|
}
|
|
204
206
|
const Ye = (e) => e.to ? [e] : e.children.flatMap(Ye);
|
|
205
|
-
function
|
|
207
|
+
function Vt(e) {
|
|
206
208
|
const a = [];
|
|
207
209
|
for (const n of e) {
|
|
208
210
|
const o = Ye(n);
|
|
209
211
|
if (o.length === 0) continue;
|
|
210
|
-
const
|
|
212
|
+
const l = !n.to && o.length > 1 ? n.label : null;
|
|
211
213
|
a.push({
|
|
212
214
|
key: n.key,
|
|
213
|
-
heading:
|
|
214
|
-
separated:
|
|
215
|
-
items: o.map((
|
|
215
|
+
heading: l,
|
|
216
|
+
separated: l === null && a.length > 0,
|
|
217
|
+
items: o.map((c) => ({ key: c.key, label: c.label, icon: c.icon, to: c.to, active: c.active }))
|
|
216
218
|
});
|
|
217
219
|
}
|
|
218
220
|
return a;
|
|
219
221
|
}
|
|
220
|
-
const
|
|
222
|
+
const Ft = ["aria-label", "data-appearance"], Ut = ["data-separated"], Wt = ["id"], Xt = ["aria-labelledby"], Yt = ["href", "aria-current", "onClick"], Ht = { class: "min-w-0 flex-1 truncate" }, ze = "flex w-full items-center transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus", He = /* @__PURE__ */ O({
|
|
221
223
|
__name: "NavigationList",
|
|
222
224
|
props: {
|
|
223
225
|
items: { default: void 0 },
|
|
@@ -226,7 +228,7 @@ const Kt = ["aria-label", "data-appearance"], Vt = ["data-separated"], Ft = ["id
|
|
|
226
228
|
},
|
|
227
229
|
emits: ["select"],
|
|
228
230
|
setup(e, { emit: a }) {
|
|
229
|
-
const n = e, o = a, { t:
|
|
231
|
+
const n = e, o = a, { t: l } = K(), c = Se(), s = n.items === void 0 ? bt() : null, u = Kt(), d = L(() => Vt(n.items ?? s?.value ?? []));
|
|
230
232
|
function b(y, C, v) {
|
|
231
233
|
if (n.appearance === "drawer" && Xe(y)) {
|
|
232
234
|
y.preventDefault(), o("select", v);
|
|
@@ -252,27 +254,27 @@ const Kt = ["aria-label", "data-appearance"], Vt = ["data-separated"], Ft = ["id
|
|
|
252
254
|
heading: "px-3 pt-4.5 pb-1.5 text-subheadline text-content-muted",
|
|
253
255
|
separator: "before:mx-3 before:my-3 before:block before:border-t before:border-border-separator"
|
|
254
256
|
}, $ = L(() => n.appearance === "rail" ? g : h), _ = L(() => n.appearance === "rail" ? 16 : 22);
|
|
255
|
-
return (y, C) => (
|
|
256
|
-
"aria-label": e.label ?? t(
|
|
257
|
+
return (y, C) => (r(), m("nav", {
|
|
258
|
+
"aria-label": e.label ?? t(l)("core.shell.menu"),
|
|
257
259
|
"data-shell-navigation": "",
|
|
258
260
|
"data-appearance": e.appearance
|
|
259
261
|
}, [
|
|
260
|
-
|
|
261
|
-
(
|
|
262
|
+
i("ul", null, [
|
|
263
|
+
(r(!0), m(U, null, se(d.value, (v, z) => (r(), m("li", {
|
|
262
264
|
key: v.key,
|
|
263
265
|
"data-separated": v.separated || void 0,
|
|
264
266
|
class: T(v.separated ? $.value.separator : "")
|
|
265
267
|
}, [
|
|
266
|
-
v.heading ? (
|
|
268
|
+
v.heading ? (r(), m("p", {
|
|
267
269
|
key: 0,
|
|
268
|
-
id: `${t(
|
|
270
|
+
id: `${t(c)}-${z}`,
|
|
269
271
|
class: T([$.value.heading, e.appearance === "rail" ? z > 0 ? "pt-4" : "pt-1" : ""])
|
|
270
|
-
}, M(v.heading), 11,
|
|
271
|
-
|
|
272
|
-
"aria-labelledby": v.heading ? `${t(
|
|
272
|
+
}, M(v.heading), 11, Wt)) : k("", !0),
|
|
273
|
+
i("ul", {
|
|
274
|
+
"aria-labelledby": v.heading ? `${t(c)}-${z}` : void 0,
|
|
273
275
|
class: T(e.appearance === "rail" ? "space-y-0.5" : "")
|
|
274
276
|
}, [
|
|
275
|
-
(
|
|
277
|
+
(r(!0), m(U, null, se(v.items, (f) => (r(), m("li", {
|
|
276
278
|
key: f.key
|
|
277
279
|
}, [
|
|
278
280
|
p(t(Ve), {
|
|
@@ -280,31 +282,31 @@ const Kt = ["aria-label", "data-appearance"], Vt = ["data-separated"], Ft = ["id
|
|
|
280
282
|
to: f.to
|
|
281
283
|
}, {
|
|
282
284
|
default: D(({ href: I, navigate: E }) => [
|
|
283
|
-
|
|
285
|
+
i("a", {
|
|
284
286
|
href: I,
|
|
285
287
|
"aria-current": f.active ? "page" : void 0,
|
|
286
288
|
"data-shell-destination": "",
|
|
287
289
|
class: T([$.value.item, f.active ? $.value.active : $.value.inactive]),
|
|
288
290
|
onClick: (x) => b(x, E, f.to)
|
|
289
291
|
}, [
|
|
290
|
-
t(
|
|
292
|
+
t(u)(f.icon) ? (r(), N(t(q), {
|
|
291
293
|
key: 0,
|
|
292
|
-
name: t(
|
|
294
|
+
name: t(u)(f.icon),
|
|
293
295
|
size: _.value,
|
|
294
296
|
class: T(f.active ? $.value.iconActive : $.value.iconInactive)
|
|
295
297
|
}, null, 8, ["name", "size", "class"])) : k("", !0),
|
|
296
|
-
|
|
297
|
-
], 10,
|
|
298
|
+
i("span", Ht, M(f.label), 1)
|
|
299
|
+
], 10, Yt)
|
|
298
300
|
]),
|
|
299
301
|
_: 2
|
|
300
302
|
}, 1032, ["to"])
|
|
301
303
|
]))), 128))
|
|
302
|
-
], 10,
|
|
303
|
-
], 10,
|
|
304
|
+
], 10, Xt)
|
|
305
|
+
], 10, Ut))), 128))
|
|
304
306
|
])
|
|
305
|
-
], 8,
|
|
307
|
+
], 8, Ft));
|
|
306
308
|
}
|
|
307
|
-
}),
|
|
309
|
+
}), Qt = ["href", "aria-label", "onClick"], Te = /* @__PURE__ */ O({
|
|
308
310
|
inheritAttrs: !1,
|
|
309
311
|
__name: "ShellBrand",
|
|
310
312
|
props: {
|
|
@@ -314,32 +316,32 @@ const Kt = ["aria-label", "data-appearance"], Vt = ["data-separated"], Ft = ["id
|
|
|
314
316
|
},
|
|
315
317
|
emits: ["select"],
|
|
316
318
|
setup(e, { emit: a }) {
|
|
317
|
-
const n = e, o = a, { t:
|
|
318
|
-
function s(
|
|
319
|
-
if (n.intercept && Xe(
|
|
320
|
-
|
|
319
|
+
const n = e, o = a, { t: l } = K(), { config: c } = de();
|
|
320
|
+
function s(u, d) {
|
|
321
|
+
if (n.intercept && Xe(u)) {
|
|
322
|
+
u.preventDefault(), o("select", n.to);
|
|
321
323
|
return;
|
|
322
324
|
}
|
|
323
|
-
d(
|
|
325
|
+
d(u);
|
|
324
326
|
}
|
|
325
|
-
return (
|
|
327
|
+
return (u, d) => (r(), N(t(Ve), {
|
|
326
328
|
custom: "",
|
|
327
329
|
to: e.to
|
|
328
330
|
}, {
|
|
329
331
|
default: D(({ href: b, navigate: g }) => [
|
|
330
|
-
|
|
332
|
+
i("a", le(u.$attrs, {
|
|
331
333
|
href: b,
|
|
332
|
-
"aria-label": t(
|
|
334
|
+
"aria-label": t(l)("core.shell.home"),
|
|
333
335
|
"data-shell-brand": "",
|
|
334
336
|
class: "inline-block rounded-control focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus",
|
|
335
337
|
onClick: (h) => s(h, g)
|
|
336
338
|
}), [
|
|
337
|
-
j(
|
|
338
|
-
|
|
339
|
+
j(u.$slots, "default", { tone: e.tone }, () => [
|
|
340
|
+
i("span", {
|
|
339
341
|
class: T(["block truncate text-headline font-semibold", e.tone === "light" ? "text-white" : "text-content-strong"])
|
|
340
|
-
}, M(t(
|
|
342
|
+
}, M(t(c).appName), 3)
|
|
341
343
|
])
|
|
342
|
-
], 16,
|
|
344
|
+
], 16, Qt)
|
|
343
345
|
]),
|
|
344
346
|
_: 3
|
|
345
347
|
}, 8, ["to"]));
|
|
@@ -349,16 +351,16 @@ function Qe() {
|
|
|
349
351
|
const e = qe();
|
|
350
352
|
return L(() => e.get("search").length > 0);
|
|
351
353
|
}
|
|
352
|
-
const
|
|
354
|
+
const Gt = {
|
|
353
355
|
class: "flex h-full flex-col bg-surface-page text-content-strong",
|
|
354
356
|
"data-shell-drawer-content": ""
|
|
355
|
-
},
|
|
357
|
+
}, Jt = { class: "shrink-0 pt-[calc(max(0.75rem,env(safe-area-inset-top))+0.75rem)] pr-4 pb-4 pl-[max(1.375rem,env(safe-area-inset-left))]" }, Zt = {
|
|
356
358
|
key: 0,
|
|
357
359
|
class: "shrink-0 pr-4 pb-3 pl-[max(1.125rem,env(safe-area-inset-left))]"
|
|
358
|
-
},
|
|
360
|
+
}, en = { class: "min-w-0 flex-1" }, tn = { class: "block truncate text-headline font-semibold" }, nn = {
|
|
359
361
|
key: 0,
|
|
360
362
|
class: "block truncate text-footnote text-content-muted"
|
|
361
|
-
},
|
|
363
|
+
}, an = /* @__PURE__ */ O({
|
|
362
364
|
__name: "NavigationDrawer",
|
|
363
365
|
props: {
|
|
364
366
|
identity: {},
|
|
@@ -366,29 +368,29 @@ const Ht = {
|
|
|
366
368
|
},
|
|
367
369
|
emits: ["select", "account"],
|
|
368
370
|
setup(e, { emit: a }) {
|
|
369
|
-
const n = a, { t: o } = K(),
|
|
370
|
-
return (
|
|
371
|
-
|
|
371
|
+
const n = a, { t: o } = K(), l = Qe();
|
|
372
|
+
return (c, s) => (r(), m("div", Gt, [
|
|
373
|
+
i("div", Jt, [
|
|
372
374
|
p(Te, {
|
|
373
375
|
to: e.home,
|
|
374
376
|
tone: "brand",
|
|
375
377
|
intercept: "",
|
|
376
378
|
class: "max-w-36",
|
|
377
|
-
onSelect: s[0] || (s[0] = (
|
|
379
|
+
onSelect: s[0] || (s[0] = (u) => n("select", u))
|
|
378
380
|
}, G({ _: 2 }, [
|
|
379
|
-
|
|
381
|
+
c.$slots.brand ? {
|
|
380
382
|
name: "default",
|
|
381
|
-
fn: D((
|
|
382
|
-
j(
|
|
383
|
+
fn: D((u) => [
|
|
384
|
+
j(c.$slots, "brand", ne(ae(u)))
|
|
383
385
|
]),
|
|
384
386
|
key: "0"
|
|
385
387
|
} : void 0
|
|
386
388
|
]), 1032, ["to"])
|
|
387
389
|
]),
|
|
388
|
-
t(
|
|
390
|
+
t(l) ? (r(), m("div", Zt, [
|
|
389
391
|
p(t(J), { name: "search" })
|
|
390
392
|
])) : k("", !0),
|
|
391
|
-
s[3] || (s[3] =
|
|
393
|
+
s[3] || (s[3] = i("div", {
|
|
392
394
|
class: "mx-5.5 shrink-0 border-t border-border-separator",
|
|
393
395
|
role: "presentation"
|
|
394
396
|
}, null, -1)),
|
|
@@ -396,23 +398,23 @@ const Ht = {
|
|
|
396
398
|
appearance: "drawer",
|
|
397
399
|
label: t(o)("core.shell.menu"),
|
|
398
400
|
class: "min-h-0 flex-1 overflow-y-auto overscroll-contain pt-2 pr-2.5 pb-3 pl-[max(0.625rem,env(safe-area-inset-left))] [mask-image:linear-gradient(to_bottom,black_calc(100%-1.5rem),transparent)]",
|
|
399
|
-
onSelect: s[1] || (s[1] = (
|
|
401
|
+
onSelect: s[1] || (s[1] = (u) => n("select", u))
|
|
400
402
|
}, null, 8, ["label"]),
|
|
401
|
-
j(
|
|
402
|
-
|
|
403
|
+
j(c.$slots, "footer"),
|
|
404
|
+
i("button", {
|
|
403
405
|
type: "button",
|
|
404
406
|
"data-shell-drawer-account": "",
|
|
405
407
|
"aria-haspopup": "dialog",
|
|
406
408
|
class: "flex shrink-0 cursor-pointer items-center gap-3 border-t border-border-separator pt-3 pr-4 pb-[max(1rem,env(safe-area-inset-bottom))] pl-[max(1.125rem,env(safe-area-inset-left))] text-left transition-colors duration-motion-fast active:bg-fill focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus",
|
|
407
|
-
onClick: s[2] || (s[2] = (
|
|
409
|
+
onClick: s[2] || (s[2] = (u) => n("account"))
|
|
408
410
|
}, [
|
|
409
|
-
p(t(
|
|
411
|
+
p(t(Ne), {
|
|
410
412
|
name: e.identity.name,
|
|
411
413
|
size: "lg"
|
|
412
414
|
}, null, 8, ["name"]),
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
e.identity.detail ? (
|
|
415
|
+
i("span", en, [
|
|
416
|
+
i("span", tn, M(e.identity.name), 1),
|
|
417
|
+
e.identity.detail ? (r(), m("span", nn, M(e.identity.detail), 1)) : k("", !0)
|
|
416
418
|
]),
|
|
417
419
|
p(t(q), {
|
|
418
420
|
name: "arrowRightSLine",
|
|
@@ -426,21 +428,21 @@ const Ht = {
|
|
|
426
428
|
function Je() {
|
|
427
429
|
return Le(Ge, null);
|
|
428
430
|
}
|
|
429
|
-
const he = 72,
|
|
430
|
-
function
|
|
431
|
-
const n =
|
|
432
|
-
let
|
|
433
|
-
function
|
|
434
|
-
s = !1, !(!a.enabled() || o.value || h.touches.length !== 1 || window.scrollY > 0) && (
|
|
431
|
+
const he = 72, on = 110, sn = 0.5, ln = 600;
|
|
432
|
+
function rn(e, a) {
|
|
433
|
+
const n = P(0), o = P(!1);
|
|
434
|
+
let l = 0, c = 0, s = !1;
|
|
435
|
+
function u(h) {
|
|
436
|
+
s = !1, !(!a.enabled() || o.value || h.touches.length !== 1 || window.scrollY > 0) && (l = h.touches[0].clientX, c = h.touches[0].clientY, s = !0);
|
|
435
437
|
}
|
|
436
438
|
function d(h) {
|
|
437
439
|
if (!s) return;
|
|
438
|
-
const $ = h.touches[0].clientX -
|
|
440
|
+
const $ = h.touches[0].clientX - l, _ = h.touches[0].clientY - c;
|
|
439
441
|
if (_ <= 0 || Math.abs($) > _ || window.scrollY > 0) {
|
|
440
442
|
n.value === 0 && (s = !1), n.value = 0;
|
|
441
443
|
return;
|
|
442
444
|
}
|
|
443
|
-
n.value = Math.min(
|
|
445
|
+
n.value = Math.min(on, _ * sn);
|
|
444
446
|
}
|
|
445
447
|
async function b() {
|
|
446
448
|
if (s) {
|
|
@@ -450,7 +452,7 @@ function sn(e, a) {
|
|
|
450
452
|
}
|
|
451
453
|
o.value = !0, n.value = he;
|
|
452
454
|
try {
|
|
453
|
-
await Promise.all([e(), new Promise((h) => setTimeout(h,
|
|
455
|
+
await Promise.all([e(), new Promise((h) => setTimeout(h, ln))]);
|
|
454
456
|
} finally {
|
|
455
457
|
o.value = !1, n.value = 0;
|
|
456
458
|
}
|
|
@@ -460,47 +462,47 @@ function sn(e, a) {
|
|
|
460
462
|
s = !1, o.value || (n.value = 0);
|
|
461
463
|
}
|
|
462
464
|
return ot(() => {
|
|
463
|
-
window.addEventListener("touchstart",
|
|
464
|
-
}),
|
|
465
|
-
window.removeEventListener("touchstart",
|
|
465
|
+
window.addEventListener("touchstart", u, { passive: !0 }), window.addEventListener("touchmove", d, { passive: !0 }), window.addEventListener("touchend", b), window.addEventListener("touchcancel", g);
|
|
466
|
+
}), Oe(() => {
|
|
467
|
+
window.removeEventListener("touchstart", u), window.removeEventListener("touchmove", d), window.removeEventListener("touchend", b), window.removeEventListener("touchcancel", g);
|
|
466
468
|
}), { pull: n, refreshing: o };
|
|
467
469
|
}
|
|
468
|
-
const
|
|
470
|
+
const cn = { class: "flex size-9 items-center justify-center rounded-full bg-surface-raised text-primary-700 shadow-md ring-1 ring-border-separator dark:text-primary-300" }, un = /* @__PURE__ */ O({
|
|
469
471
|
__name: "PullToRefresh",
|
|
470
472
|
setup(e) {
|
|
471
|
-
const a = oe("(display-mode: standalone)"), n = yt(), o = Je(),
|
|
473
|
+
const a = oe("(display-mode: standalone)"), n = yt(), o = Je(), l = gt(), c = Le(Ke, null), { pull: s, refreshing: u } = rn(
|
|
472
474
|
async () => {
|
|
473
|
-
|
|
475
|
+
l.hasUnsavedChanges() && !await l.confirm() || (c && c.value++, await be());
|
|
474
476
|
},
|
|
475
477
|
{
|
|
476
|
-
enabled: () =>
|
|
478
|
+
enabled: () => c !== null && n.value === 0 && !o?.open.value && (a.value || navigator.standalone === !0)
|
|
477
479
|
}
|
|
478
480
|
);
|
|
479
|
-
return (d, b) => t(s) > 0 || t(
|
|
481
|
+
return (d, b) => t(s) > 0 || t(u) ? (r(), m("div", {
|
|
480
482
|
key: 0,
|
|
481
483
|
"aria-hidden": "true",
|
|
482
484
|
"data-shell-pull-to-refresh": "",
|
|
483
485
|
class: "pointer-events-none fixed inset-x-0 z-40 flex justify-center",
|
|
484
486
|
style: ve({ top: `calc(env(safe-area-inset-top) + ${Math.max(t(s), 8)}px)` })
|
|
485
487
|
}, [
|
|
486
|
-
|
|
488
|
+
i("span", cn, [
|
|
487
489
|
p(t(q), {
|
|
488
|
-
name: t(
|
|
490
|
+
name: t(u) ? "loader4Line" : "refreshLine",
|
|
489
491
|
size: 20,
|
|
490
|
-
class: T(t(
|
|
491
|
-
style: ve(t(
|
|
492
|
+
class: T(t(u) ? "animate-spin motion-reduce:animate-none" : ""),
|
|
493
|
+
style: ve(t(u) ? void 0 : { transform: `rotate(${t(s) / t(he) * 270}deg)`, opacity: Math.min(1, t(s) / t(he)) })
|
|
492
494
|
}, null, 8, ["name", "class", "style"])
|
|
493
495
|
])
|
|
494
496
|
], 4)) : k("", !0);
|
|
495
497
|
}
|
|
496
|
-
}),
|
|
498
|
+
}), dn = {
|
|
497
499
|
key: 0,
|
|
498
500
|
"data-shell-sidebar": "",
|
|
499
501
|
class: "flex w-64 shrink-0 flex-col bg-anchor-900 dark:border-r dark:border-white/5 dark:bg-anchor-950"
|
|
500
|
-
},
|
|
502
|
+
}, fn = { class: "sticky top-[var(--shell-banner-h,0px)] z-30 flex h-[calc(100vh-var(--shell-banner-h,0px))] flex-col" }, mn = { class: "flex items-center justify-between gap-2 pt-5 pr-2 pb-3 pl-4" }, pn = { class: "flex shrink-0 items-center gap-1" }, vn = {
|
|
501
503
|
key: 0,
|
|
502
504
|
class: "px-2 pb-1"
|
|
503
|
-
},
|
|
505
|
+
}, hn = { class: "border-t border-white/10 p-2" }, bn = /* @__PURE__ */ O({
|
|
504
506
|
__name: "ShellSidebar",
|
|
505
507
|
props: {
|
|
506
508
|
identity: {},
|
|
@@ -509,9 +511,9 @@ const ln = { class: "flex size-9 items-center justify-center rounded-full bg-sur
|
|
|
509
511
|
setup(e) {
|
|
510
512
|
ce(Ee, "rail");
|
|
511
513
|
const a = oe("(min-width: 48rem)"), n = Qe();
|
|
512
|
-
return (o,
|
|
513
|
-
|
|
514
|
-
|
|
514
|
+
return (o, l) => t(a) ? (r(), m("aside", dn, [
|
|
515
|
+
i("div", fn, [
|
|
516
|
+
i("div", mn, [
|
|
515
517
|
p(Te, {
|
|
516
518
|
to: e.home,
|
|
517
519
|
tone: "light",
|
|
@@ -519,17 +521,17 @@ const ln = { class: "flex size-9 items-center justify-center rounded-full bg-sur
|
|
|
519
521
|
}, G({ _: 2 }, [
|
|
520
522
|
o.$slots.brand ? {
|
|
521
523
|
name: "default",
|
|
522
|
-
fn: D((
|
|
523
|
-
j(o.$slots, "brand", ne(ae(
|
|
524
|
+
fn: D((c) => [
|
|
525
|
+
j(o.$slots, "brand", ne(ae(c)))
|
|
524
526
|
]),
|
|
525
527
|
key: "0"
|
|
526
528
|
} : void 0
|
|
527
529
|
]), 1032, ["to"]),
|
|
528
|
-
|
|
530
|
+
i("div", pn, [
|
|
529
531
|
p(t(J), { name: "headerActions" })
|
|
530
532
|
])
|
|
531
533
|
]),
|
|
532
|
-
t(n) ? (
|
|
534
|
+
t(n) ? (r(), m("div", vn, [
|
|
533
535
|
p(t(J), { name: "search" })
|
|
534
536
|
])) : k("", !0),
|
|
535
537
|
p(He, {
|
|
@@ -537,50 +539,50 @@ const ln = { class: "flex size-9 items-center justify-center rounded-full bg-sur
|
|
|
537
539
|
class: "scrollbar-subtle min-h-0 flex-1 overflow-y-auto px-2 pt-3 pb-3 [mask-image:linear-gradient(to_bottom,transparent,black_12px,black_calc(100%-12px),transparent)]"
|
|
538
540
|
}),
|
|
539
541
|
j(o.$slots, "footer"),
|
|
540
|
-
|
|
541
|
-
p(
|
|
542
|
+
i("div", hn, [
|
|
543
|
+
p(Bt, { identity: e.identity }, null, 8, ["identity"])
|
|
542
544
|
])
|
|
543
545
|
])
|
|
544
546
|
])) : k("", !0);
|
|
545
547
|
}
|
|
546
|
-
}),
|
|
547
|
-
function
|
|
548
|
-
if (Math.abs(e - a) >
|
|
548
|
+
}), gn = 20, yn = 8, Ie = 0.5, xn = 40;
|
|
549
|
+
function kn({ offset: e, startOffset: a, width: n, velocity: o }) {
|
|
550
|
+
if (Math.abs(e - a) > xn) {
|
|
549
551
|
if (o > Ie) return !0;
|
|
550
552
|
if (o < -Ie) return !1;
|
|
551
553
|
}
|
|
552
554
|
return e > n / 2;
|
|
553
555
|
}
|
|
554
|
-
function
|
|
555
|
-
const a =
|
|
556
|
-
let o = !1,
|
|
556
|
+
function _n(e) {
|
|
557
|
+
const a = P(0), n = P(!1);
|
|
558
|
+
let o = !1, l = null, c = 0, s = 0, u = 0, d = 0, b = 0, g = 0;
|
|
557
559
|
function h(E, x) {
|
|
558
|
-
o = !0,
|
|
560
|
+
o = !0, l = null, c = d = E.clientX, s = E.clientY, u = x, b = performance.now(), g = 0;
|
|
559
561
|
}
|
|
560
562
|
function $(E) {
|
|
561
563
|
const x = E.touches[0];
|
|
562
564
|
if (!o || !x) return;
|
|
563
|
-
const B = x.clientX -
|
|
564
|
-
if (!
|
|
565
|
-
if (Math.max(Math.abs(B), Math.abs(Z)) <
|
|
566
|
-
if (
|
|
565
|
+
const B = x.clientX - c, Z = x.clientY - s;
|
|
566
|
+
if (!l) {
|
|
567
|
+
if (Math.max(Math.abs(B), Math.abs(Z)) < yn) return;
|
|
568
|
+
if (l = Math.abs(B) > Math.abs(Z) ? "x" : "y", l === "y" || u === 0 && B < 0) {
|
|
567
569
|
o = !1;
|
|
568
570
|
return;
|
|
569
571
|
}
|
|
570
|
-
n.value = !0, a.value =
|
|
572
|
+
n.value = !0, a.value = u, e.onStart();
|
|
571
573
|
}
|
|
572
574
|
const Y = performance.now();
|
|
573
|
-
g = (x.clientX - d) / Math.max(Y - b, 1), d = x.clientX, b = Y, a.value = Math.min(e.width(), Math.max(0,
|
|
575
|
+
g = (x.clientX - d) / Math.max(Y - b, 1), d = x.clientX, b = Y, a.value = Math.min(e.width(), Math.max(0, u + B)), E.cancelable && E.preventDefault();
|
|
574
576
|
}
|
|
575
577
|
function _() {
|
|
576
|
-
o && (o = !1, n.value && (n.value = !1, e.onSettle(
|
|
578
|
+
o && (o = !1, n.value && (n.value = !1, e.onSettle(kn({ offset: a.value, startOffset: u, width: e.width(), velocity: g }))));
|
|
577
579
|
}
|
|
578
580
|
function y() {
|
|
579
581
|
o = !1, n.value = !1;
|
|
580
582
|
}
|
|
581
583
|
function C(E) {
|
|
582
584
|
const x = E.touches[0];
|
|
583
|
-
!x || E.touches.length !== 1 || e.isOpen() || !e.canOpenFromEdge() || x.clientX >
|
|
585
|
+
!x || E.touches.length !== 1 || e.isOpen() || !e.canOpenFromEdge() || x.clientX > gn || h(x, 0);
|
|
584
586
|
}
|
|
585
587
|
let v = !1;
|
|
586
588
|
function z() {
|
|
@@ -596,15 +598,15 @@ function xn(e) {
|
|
|
596
598
|
}
|
|
597
599
|
}, cancel: y };
|
|
598
600
|
}
|
|
599
|
-
const
|
|
601
|
+
const wn = ["id", "aria-label"], $n = ["data-drawer", "inert"], Sn = /* @__PURE__ */ O({
|
|
600
602
|
__name: "ShellStage",
|
|
601
603
|
props: {
|
|
602
604
|
enabled: { type: Boolean }
|
|
603
605
|
},
|
|
604
606
|
setup(e) {
|
|
605
|
-
const a = e, { t: n } = K(), o = ht(),
|
|
607
|
+
const a = e, { t: n } = K(), o = ht(), l = ge(), c = oe("(max-width: 47.999rem)"), s = oe("(display-mode: standalone)"), u = oe("(prefers-reduced-motion: reduce)"), d = L(() => a.enabled && c.value), b = re("stage"), g = re("scroller"), h = P(null), $ = Se(), _ = P(!1), y = P(!1), C = P(!1);
|
|
606
608
|
let v = 0, z = !1, f, I = null;
|
|
607
|
-
const E = () => h.value?.offsetWidth ?? 0, x =
|
|
609
|
+
const E = () => h.value?.offsetWidth ?? 0, x = _n({
|
|
608
610
|
enabled: () => d.value,
|
|
609
611
|
width: E,
|
|
610
612
|
isOpen: () => C.value,
|
|
@@ -631,7 +633,7 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
631
633
|
}
|
|
632
634
|
Q([B, () => x.dragging.value, y], () => {
|
|
633
635
|
const S = b.value;
|
|
634
|
-
!S || !y.value || (S.style.transform = `translate3d(${B.value}px, 0, 0)`, S.style.borderRadius = B.value > 0 ? "2.5rem" : "", S.style.transition = x.dragging.value ||
|
|
636
|
+
!S || !y.value || (S.style.transform = `translate3d(${B.value}px, 0, 0)`, S.style.borderRadius = B.value > 0 ? "2.5rem" : "", S.style.transition = x.dragging.value || u.value ? "none" : "transform var(--app-motion-drawer) var(--app-motion-sheet-easing), border-radius var(--app-motion-drawer) var(--app-motion-sheet-easing)");
|
|
635
637
|
}, { flush: "sync" });
|
|
636
638
|
function H() {
|
|
637
639
|
if (!d.value) {
|
|
@@ -660,7 +662,7 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
660
662
|
y.value && (z = !0), C.value && F();
|
|
661
663
|
});
|
|
662
664
|
function me(S) {
|
|
663
|
-
|
|
665
|
+
l.push(S).catch(() => {
|
|
664
666
|
}).finally(() => F());
|
|
665
667
|
}
|
|
666
668
|
return ce(Ge, {
|
|
@@ -671,10 +673,10 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
671
673
|
d.value && (_.value = !0);
|
|
672
674
|
},
|
|
673
675
|
dismiss: F
|
|
674
|
-
}),
|
|
676
|
+
}), Oe(() => {
|
|
675
677
|
clearTimeout(f), W();
|
|
676
|
-
}), (S, V) => (
|
|
677
|
-
d.value ? (
|
|
678
|
+
}), (S, V) => (r(), m(U, null, [
|
|
679
|
+
d.value ? (r(), m("div", le({
|
|
678
680
|
key: 0,
|
|
679
681
|
id: t($),
|
|
680
682
|
ref_key: "panel",
|
|
@@ -685,14 +687,14 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
685
687
|
tabindex: "-1",
|
|
686
688
|
"data-shell-drawer": "",
|
|
687
689
|
class: ["fixed inset-y-0 left-0 z-0 w-[min(82vw,20rem)] outline-none", y.value ? "visible" : "invisible"],
|
|
688
|
-
style: t(
|
|
690
|
+
style: t(u) ? { opacity: C.value || t(x).dragging.value ? 1 : 0, transition: "opacity var(--app-motion-drawer) linear" } : void 0
|
|
689
691
|
}, t(x).closeEvents), [
|
|
690
692
|
j(S.$slots, "drawer", {
|
|
691
693
|
select: me,
|
|
692
694
|
dismiss: F
|
|
693
695
|
})
|
|
694
|
-
], 16,
|
|
695
|
-
|
|
696
|
+
], 16, wn)) : k("", !0),
|
|
697
|
+
i("div", {
|
|
696
698
|
ref_key: "stage",
|
|
697
699
|
ref: b,
|
|
698
700
|
"data-shell-stage": "",
|
|
@@ -700,21 +702,21 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
700
702
|
class: T(["flex flex-1 flex-col", y.value ? "overscroll-none bg-surface-page shadow-dialog" : ""]),
|
|
701
703
|
inert: C.value || t(x).dragging.value || void 0
|
|
702
704
|
}, [
|
|
703
|
-
|
|
705
|
+
i("div", {
|
|
704
706
|
ref_key: "scroller",
|
|
705
707
|
ref: g,
|
|
706
708
|
class: "flex flex-1 flex-col"
|
|
707
709
|
}, [
|
|
708
710
|
j(S.$slots, "default")
|
|
709
711
|
], 512),
|
|
710
|
-
y.value ? (
|
|
712
|
+
y.value ? (r(), m("div", {
|
|
711
713
|
key: 0,
|
|
712
714
|
"aria-hidden": "true",
|
|
713
715
|
class: "pointer-events-none fixed inset-0 z-50 bg-scrim",
|
|
714
716
|
style: ve({ opacity: Z.value * 0.55 })
|
|
715
717
|
}, null, 4)) : k("", !0)
|
|
716
|
-
], 10,
|
|
717
|
-
y.value && B.value > 0 ? (
|
|
718
|
+
], 10, $n),
|
|
719
|
+
y.value && B.value > 0 ? (r(), m("div", le({
|
|
718
720
|
key: 1,
|
|
719
721
|
"aria-hidden": "true",
|
|
720
722
|
"data-shell-stage-cover": "",
|
|
@@ -725,11 +727,11 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
725
727
|
}), null, 16)) : k("", !0)
|
|
726
728
|
], 64));
|
|
727
729
|
}
|
|
728
|
-
}),
|
|
730
|
+
}), Ln = ["aria-label", "aria-expanded", "aria-controls"], Cn = /* @__PURE__ */ O({
|
|
729
731
|
__name: "NavigationMenuButton",
|
|
730
732
|
setup(e) {
|
|
731
733
|
const a = Je(), { t: n } = K();
|
|
732
|
-
return (o,
|
|
734
|
+
return (o, l) => t(a)?.available.value ? (r(), m("button", {
|
|
733
735
|
key: 0,
|
|
734
736
|
type: "button",
|
|
735
737
|
"data-shell-menu-button": "",
|
|
@@ -738,36 +740,36 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
738
740
|
"aria-controls": t(a).panelId,
|
|
739
741
|
"aria-haspopup": "dialog",
|
|
740
742
|
class: "relative my-1 ml-2 flex size-11 shrink-0 cursor-pointer items-center justify-center rounded-full bg-surface-cell text-content-strong shadow-float transition-transform duration-motion-fast active:scale-95 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus",
|
|
741
|
-
onClick:
|
|
743
|
+
onClick: l[0] || (l[0] = (c) => t(a).present())
|
|
742
744
|
}, [
|
|
743
745
|
p(t(q), {
|
|
744
746
|
name: "menuLines",
|
|
745
747
|
size: 20
|
|
746
748
|
})
|
|
747
|
-
], 8,
|
|
749
|
+
], 8, Ln)) : k("", !0);
|
|
748
750
|
}
|
|
749
|
-
}),
|
|
751
|
+
}), En = { class: "grid min-h-bar-height grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-1" }, Tn = { class: "flex min-w-0 items-center justify-start" }, Mn = ["data-page-action", "disabled"], An = { class: "truncate" }, Dn = { class: "ml-1 flex items-center gap-1" }, zn = { class: "flex min-w-0 items-center justify-end" }, In = ["data-page-action", "aria-label", "disabled", "onClick"], On = ["data-page-action", "disabled", "aria-label", "aria-busy", "onClick"], Rn = { class: "truncate" }, Pn = ["aria-label", "onClick"], Nn = /* @__PURE__ */ O({
|
|
750
752
|
__name: "ShellTopBar",
|
|
751
753
|
props: {
|
|
752
754
|
home: {}
|
|
753
755
|
},
|
|
754
756
|
setup(e) {
|
|
755
|
-
const { t: a } = K(), n = ge(), o = je(), { session:
|
|
757
|
+
const { t: a } = K(), n = ge(), o = je(), { session: l } = de(), c = oe("(max-width: 47.999rem)");
|
|
756
758
|
ce(Ee, "bar");
|
|
757
|
-
const s = L(() => Ce(
|
|
759
|
+
const s = L(() => Ce(l.state.value) !== null), u = L(() => !s.value || c.value), d = L(() => s.value ? o.back.value : null), b = L(() => s.value ? o.leading.value : null), g = L(() => o.navTitle.value ?? o.title.value), h = L(() => s.value && !!g.value && (!!o.navTitle.value || !o.titleInView.value)), $ = L(() => s.value ? o.actions.value : []), _ = L(() => $.value.filter((v) => v.placement === "primary" && v.tone !== "critical")), y = L(
|
|
758
760
|
() => $.value.filter((v) => !_.value.includes(v)).map((v) => ({ id: v.id, label: v.label, icon: v.icon, tone: v.tone, disabled: v.disabled, processing: v.processing, onSelect: v.onClick }))
|
|
759
761
|
);
|
|
760
762
|
function C() {
|
|
761
763
|
d.value && n.push(d.value.to);
|
|
762
764
|
}
|
|
763
|
-
return (v, z) =>
|
|
765
|
+
return (v, z) => u.value ? (r(), m("header", {
|
|
764
766
|
key: 0,
|
|
765
767
|
"data-shell-top-bar": "",
|
|
766
768
|
class: T(["pt-[max(0.25rem,env(safe-area-inset-top))] pr-[max(0.5rem,env(safe-area-inset-right))] pb-1 pl-[max(0.5rem,env(safe-area-inset-left))] text-content-strong", s.value ? ["sticky top-[var(--shell-banner-h,0px)] z-30 border-b bg-surface-page/85 backdrop-blur-xl transition-colors duration-motion-normal", h.value ? "border-border-separator" : "border-transparent"] : "border-b border-border-separator bg-surface-cell"])
|
|
767
769
|
}, [
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
b.value ? (
|
|
770
|
+
i("div", En, [
|
|
771
|
+
i("div", Tn, [
|
|
772
|
+
b.value ? (r(), m("button", {
|
|
771
773
|
key: 0,
|
|
772
774
|
type: "button",
|
|
773
775
|
"data-shell-bar-leading": "",
|
|
@@ -776,8 +778,8 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
776
778
|
class: "hit-target inline-flex min-w-0 cursor-pointer items-center rounded-control px-2 text-body text-content-link disabled:text-content-disabled",
|
|
777
779
|
onClick: z[0] || (z[0] = (f) => b.value.onClick())
|
|
778
780
|
}, [
|
|
779
|
-
|
|
780
|
-
], 8,
|
|
781
|
+
i("span", An, M(b.value.label), 1)
|
|
782
|
+
], 8, Mn)) : d.value ? (r(), m("button", {
|
|
781
783
|
key: 1,
|
|
782
784
|
type: "button",
|
|
783
785
|
"data-shell-bar-back": "",
|
|
@@ -790,15 +792,15 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
790
792
|
size: 28,
|
|
791
793
|
class: "-mr-0.5 shrink-0"
|
|
792
794
|
}),
|
|
793
|
-
|
|
795
|
+
i("span", {
|
|
794
796
|
class: T(["truncate", h.value ? "sr-only" : ""])
|
|
795
797
|
}, M(d.value.label), 3)
|
|
796
|
-
])) : s.value ? (
|
|
797
|
-
p(
|
|
798
|
-
|
|
798
|
+
])) : s.value ? (r(), m(U, { key: 2 }, [
|
|
799
|
+
p(Cn),
|
|
800
|
+
i("span", Dn, [
|
|
799
801
|
p(t(J), { name: "headerActions" })
|
|
800
802
|
])
|
|
801
|
-
], 64)) : (
|
|
803
|
+
], 64)) : (r(), N(Te, {
|
|
802
804
|
key: 3,
|
|
803
805
|
to: e.home,
|
|
804
806
|
tone: "brand",
|
|
@@ -813,17 +815,17 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
813
815
|
} : void 0
|
|
814
816
|
]), 1032, ["to", "class"]))
|
|
815
817
|
]),
|
|
816
|
-
|
|
818
|
+
i("span", {
|
|
817
819
|
"aria-hidden": "true",
|
|
818
820
|
"data-shell-bar-title": "",
|
|
819
821
|
class: T(["pointer-events-none truncate text-center text-headline font-semibold transition-opacity duration-motion-normal", h.value ? "max-w-[42vw] opacity-100" : "max-w-0 opacity-0"])
|
|
820
822
|
}, M(g.value), 3),
|
|
821
|
-
|
|
822
|
-
s.value ? (
|
|
823
|
-
(
|
|
823
|
+
i("div", zn, [
|
|
824
|
+
s.value ? (r(), m(U, { key: 0 }, [
|
|
825
|
+
(r(!0), m(U, null, se(_.value, (f) => (r(), m(U, {
|
|
824
826
|
key: f.id
|
|
825
827
|
}, [
|
|
826
|
-
f.compact === "icon" && f.icon ? (
|
|
828
|
+
f.compact === "icon" && f.icon ? (r(), m("button", {
|
|
827
829
|
key: 0,
|
|
828
830
|
type: "button",
|
|
829
831
|
"data-page-action": f.id,
|
|
@@ -837,7 +839,7 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
837
839
|
size: 18,
|
|
838
840
|
class: T(f.processing ? "animate-spin" : "")
|
|
839
841
|
}, null, 8, ["name", "class"])
|
|
840
|
-
], 8,
|
|
842
|
+
], 8, In)) : (r(), m("button", {
|
|
841
843
|
key: 1,
|
|
842
844
|
type: "button",
|
|
843
845
|
"data-page-action": f.id,
|
|
@@ -847,22 +849,22 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
847
849
|
class: "hit-target flex min-w-0 shrink cursor-pointer items-center gap-1 rounded-control px-2 text-body font-semibold text-content-link disabled:text-content-disabled",
|
|
848
850
|
onClick: (I) => f.onClick()
|
|
849
851
|
}, [
|
|
850
|
-
f.processing ? (
|
|
852
|
+
f.processing ? (r(), N(t(q), {
|
|
851
853
|
key: 0,
|
|
852
854
|
name: "loader4Line",
|
|
853
855
|
size: 16,
|
|
854
856
|
class: "animate-spin"
|
|
855
857
|
})) : k("", !0),
|
|
856
|
-
|
|
857
|
-
], 8,
|
|
858
|
+
i("span", Rn, M(f.shortLabel ?? f.label), 1)
|
|
859
|
+
], 8, On))
|
|
858
860
|
], 64))), 128)),
|
|
859
|
-
y.value.length ? (
|
|
861
|
+
y.value.length ? (r(), N(t(kt), {
|
|
860
862
|
key: 0,
|
|
861
863
|
items: y.value,
|
|
862
864
|
label: t(a)("core.page.more_actions")
|
|
863
865
|
}, {
|
|
864
866
|
trigger: D(({ toggle: f, attrs: I }) => [
|
|
865
|
-
|
|
867
|
+
i("button", le({ type: "button" }, I, {
|
|
866
868
|
"aria-label": t(a)("core.page.more_actions"),
|
|
867
869
|
"data-shell-bar-more": "",
|
|
868
870
|
"data-page-overflow": "",
|
|
@@ -873,7 +875,7 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
873
875
|
name: "moreLine",
|
|
874
876
|
size: 22
|
|
875
877
|
})
|
|
876
|
-
], 16,
|
|
878
|
+
], 16, Pn)
|
|
877
879
|
]),
|
|
878
880
|
_: 1
|
|
879
881
|
}, 8, ["items", "label"])) : k("", !0)
|
|
@@ -884,18 +886,18 @@ const kn = ["id", "aria-label"], _n = ["data-drawer", "inert"], wn = /* @__PURE_
|
|
|
884
886
|
], 2)) : k("", !0);
|
|
885
887
|
}
|
|
886
888
|
});
|
|
887
|
-
function
|
|
889
|
+
function qn(e) {
|
|
888
890
|
const { name: a, email: n } = e;
|
|
889
891
|
return { name: typeof a == "string" && a !== "" ? a : String(e.id), detail: typeof n == "string" ? n : null };
|
|
890
892
|
}
|
|
891
|
-
function
|
|
892
|
-
const { session: a } = de(), n = e ??
|
|
893
|
+
function Bn(e) {
|
|
894
|
+
const { session: a } = de(), n = e ?? qn;
|
|
893
895
|
return L(() => {
|
|
894
896
|
const o = Ce(a.state.value);
|
|
895
897
|
return o ? n(o.user) : null;
|
|
896
898
|
});
|
|
897
899
|
}
|
|
898
|
-
const
|
|
900
|
+
const jn = { class: "flex min-h-screen flex-col bg-surface-page text-base text-content antialiased" }, Kn = ["aria-label"], Vn = { class: "flex flex-1" }, Fn = { class: "flex min-w-0 flex-1 overflow-x-clip" }, Un = { "data-dialog-inert-skip": "" }, Wn = /* @__PURE__ */ O({
|
|
899
901
|
__name: "BackofficeShell",
|
|
900
902
|
props: {
|
|
901
903
|
home: { default: void 0 },
|
|
@@ -904,24 +906,24 @@ const qn = { class: "flex min-h-screen flex-col bg-surface-page text-base text-c
|
|
|
904
906
|
pullToRefresh: { type: Boolean, default: !0 }
|
|
905
907
|
},
|
|
906
908
|
setup(e) {
|
|
907
|
-
const a = e, { t: n } = K(), { session: o } = de(),
|
|
908
|
-
ce(Ke,
|
|
909
|
-
const s = L(() => Ce(o.state.value) !== null),
|
|
910
|
-
return (d, b) => (
|
|
911
|
-
e.progress?.visible.value ? (
|
|
909
|
+
const a = e, { t: n } = K(), { session: o } = de(), l = je(), c = Bn(a.identity);
|
|
910
|
+
ce(Ke, P(0));
|
|
911
|
+
const s = L(() => Ce(o.state.value) !== null), u = re("accountSheet");
|
|
912
|
+
return (d, b) => (r(), m("div", jn, [
|
|
913
|
+
e.progress?.visible.value ? (r(), m("div", {
|
|
912
914
|
key: 0,
|
|
913
915
|
role: "progressbar",
|
|
914
916
|
"aria-label": t(n)("core.state.loading"),
|
|
915
917
|
"data-shell-progress": "",
|
|
916
918
|
class: "fixed inset-x-0 top-0 z-10000 flex h-1 justify-center bg-primary-800"
|
|
917
919
|
}, [...b[0] || (b[0] = [
|
|
918
|
-
|
|
919
|
-
])], 8,
|
|
920
|
+
i("div", { class: "animate-grow-and-shrink-width bg-primary-600 motion-reduce:w-full motion-reduce:animate-none motion-reduce:opacity-60" }, null, -1)
|
|
921
|
+
])], 8, Kn)) : k("", !0),
|
|
920
922
|
p(t(J), { name: "banner" }),
|
|
921
|
-
p(
|
|
923
|
+
p(Sn, { enabled: s.value }, G({
|
|
922
924
|
default: D(() => [
|
|
923
|
-
e.pullToRefresh && s.value ? (
|
|
924
|
-
p(
|
|
925
|
+
e.pullToRefresh && s.value ? (r(), N(un, { key: 0 })) : k("", !0),
|
|
926
|
+
p(Nn, { home: e.home }, G({ _: 2 }, [
|
|
925
927
|
d.$slots.brand ? {
|
|
926
928
|
name: "brand",
|
|
927
929
|
fn: D((g) => [
|
|
@@ -937,10 +939,10 @@ const qn = { class: "flex min-h-screen flex-col bg-surface-page text-base text-c
|
|
|
937
939
|
key: "1"
|
|
938
940
|
} : void 0
|
|
939
941
|
]), 1032, ["home"]),
|
|
940
|
-
|
|
941
|
-
t(
|
|
942
|
+
i("div", Vn, [
|
|
943
|
+
t(c) ? (r(), N(bn, {
|
|
942
944
|
key: 0,
|
|
943
|
-
identity: t(
|
|
945
|
+
identity: t(c),
|
|
944
946
|
home: e.home
|
|
945
947
|
}, G({ _: 2 }, [
|
|
946
948
|
d.$slots.brand ? {
|
|
@@ -958,10 +960,10 @@ const qn = { class: "flex min-h-screen flex-col bg-surface-page text-base text-c
|
|
|
958
960
|
key: "1"
|
|
959
961
|
} : void 0
|
|
960
962
|
]), 1032, ["identity", "home"])) : k("", !0),
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
class: T(["flex min-w-0 flex-1 flex-col", t(
|
|
964
|
-
style: ve(t(
|
|
963
|
+
i("div", Fn, [
|
|
964
|
+
i("main", {
|
|
965
|
+
class: T(["flex min-w-0 flex-1 flex-col", t(l).hasShell.value ? "" : "p-4 md:px-8 md:py-6"]),
|
|
966
|
+
style: ve(t(l).hasShell.value ? void 0 : { paddingBottom: "calc(var(--bottom-dock-h, 0px) + 1rem)" })
|
|
965
967
|
}, [
|
|
966
968
|
p(t(vt))
|
|
967
969
|
], 6)
|
|
@@ -973,14 +975,14 @@ const qn = { class: "flex min-h-screen flex-col bg-surface-page text-base text-c
|
|
|
973
975
|
]),
|
|
974
976
|
_: 2
|
|
975
977
|
}, [
|
|
976
|
-
t(
|
|
978
|
+
t(c) ? {
|
|
977
979
|
name: "drawer",
|
|
978
980
|
fn: D(({ select: g, dismiss: h }) => [
|
|
979
|
-
p(
|
|
980
|
-
identity: t(
|
|
981
|
+
p(an, {
|
|
982
|
+
identity: t(c),
|
|
981
983
|
home: e.home,
|
|
982
984
|
onSelect: g,
|
|
983
|
-
onAccount: ($) => h(() =>
|
|
985
|
+
onAccount: ($) => h(() => u.value?.present())
|
|
984
986
|
}, G({ _: 2 }, [
|
|
985
987
|
d.$slots.brand ? {
|
|
986
988
|
name: "brand",
|
|
@@ -1001,14 +1003,14 @@ const qn = { class: "flex min-h-screen flex-col bg-surface-page text-base text-c
|
|
|
1001
1003
|
key: "0"
|
|
1002
1004
|
} : void 0
|
|
1003
1005
|
]), 1032, ["enabled"]),
|
|
1004
|
-
t(
|
|
1006
|
+
t(c) ? (r(), N(jt, {
|
|
1005
1007
|
key: 1,
|
|
1006
1008
|
ref_key: "accountSheet",
|
|
1007
|
-
ref:
|
|
1008
|
-
identity: t(
|
|
1009
|
+
ref: u,
|
|
1010
|
+
identity: t(c)
|
|
1009
1011
|
}, null, 8, ["identity"])) : k("", !0),
|
|
1010
|
-
(
|
|
1011
|
-
|
|
1012
|
+
(r(), N(Re, { to: "body" }, [
|
|
1013
|
+
i("div", Un, [
|
|
1012
1014
|
p(t(mt))
|
|
1013
1015
|
])
|
|
1014
1016
|
])),
|
|
@@ -1017,8 +1019,8 @@ const qn = { class: "flex min-h-screen flex-col bg-surface-page text-base text-c
|
|
|
1017
1019
|
]));
|
|
1018
1020
|
}
|
|
1019
1021
|
});
|
|
1020
|
-
function
|
|
1021
|
-
const a =
|
|
1022
|
+
function Xn(e = _t) {
|
|
1023
|
+
const a = Pe(!1);
|
|
1022
1024
|
let n;
|
|
1023
1025
|
return {
|
|
1024
1026
|
visible: a,
|
|
@@ -1030,13 +1032,13 @@ function Un(e = _t) {
|
|
|
1030
1032
|
}
|
|
1031
1033
|
};
|
|
1032
1034
|
}
|
|
1033
|
-
function
|
|
1034
|
-
const a =
|
|
1035
|
-
return { component:
|
|
1035
|
+
function co(e = {}) {
|
|
1036
|
+
const a = Xn(), { brand: n, footer: o, topBarEnd: l } = e;
|
|
1037
|
+
return { component: O({
|
|
1036
1038
|
name: "BackofficeShell",
|
|
1037
1039
|
setup() {
|
|
1038
1040
|
return () => te(
|
|
1039
|
-
|
|
1041
|
+
Wn,
|
|
1040
1042
|
{
|
|
1041
1043
|
home: e.home,
|
|
1042
1044
|
// The application's session produces U; the shell reads it as the SessionUser it is guaranteed to be.
|
|
@@ -1047,34 +1049,34 @@ function so(e = {}) {
|
|
|
1047
1049
|
{
|
|
1048
1050
|
...n && { brand: (s) => te(n, s) },
|
|
1049
1051
|
...o && { footer: () => te(o) },
|
|
1050
|
-
...
|
|
1052
|
+
...l && { "top-bar-end": () => te(l) }
|
|
1051
1053
|
}
|
|
1052
1054
|
);
|
|
1053
1055
|
}
|
|
1054
1056
|
}), slots: ["headerActions", "search", "accountMenu", "banner", "host"], progress: a };
|
|
1055
1057
|
}
|
|
1056
|
-
const
|
|
1057
|
-
function
|
|
1058
|
+
const Yn = 30 * 6e4, Hn = 6e4;
|
|
1059
|
+
function Qn(e, a) {
|
|
1058
1060
|
const n = new DOMParser().parseFromString(e, "text/html").querySelectorAll('script[type="module"][src]');
|
|
1059
1061
|
return Array.from(n, (o) => new URL(o.getAttribute("src") ?? "", a).pathname).sort();
|
|
1060
1062
|
}
|
|
1061
|
-
function
|
|
1063
|
+
function Gn() {
|
|
1062
1064
|
return Array.from(document.querySelectorAll('script[type="module"][src]'), (e) => new URL(e.src, location.href).pathname).sort();
|
|
1063
1065
|
}
|
|
1064
|
-
function
|
|
1065
|
-
return
|
|
1066
|
+
function Jn(e) {
|
|
1067
|
+
return O({
|
|
1066
1068
|
name: "AppUpdateNotice",
|
|
1067
1069
|
setup() {
|
|
1068
1070
|
if (e.enabled === !1) return () => null;
|
|
1069
|
-
const { t: a } = K(), n = e.url ?? "/", o =
|
|
1070
|
-
let
|
|
1071
|
+
const { t: a } = K(), n = e.url ?? "/", o = Gn();
|
|
1072
|
+
let l = !1, c = 0;
|
|
1071
1073
|
async function s() {
|
|
1072
|
-
if (!(
|
|
1073
|
-
|
|
1074
|
+
if (!(l || o.length === 0 || !navigator.onLine || document.visibilityState !== "visible") && !(Date.now() - c < Hn)) {
|
|
1075
|
+
c = Date.now();
|
|
1074
1076
|
try {
|
|
1075
|
-
const b = await fetch(n, { cache: "no-store", credentials: "include" }), g = b.ok ?
|
|
1077
|
+
const b = await fetch(n, { cache: "no-store", credentials: "include" }), g = b.ok ? Qn(await b.text(), location.href) : [];
|
|
1076
1078
|
if (g.length === 0 || g.join() === o.join()) return;
|
|
1077
|
-
|
|
1079
|
+
l = !0, Be.info(a("core.shell.update.available"), {
|
|
1078
1080
|
duration: 1 / 0,
|
|
1079
1081
|
action: { label: a("core.shell.update.reload"), onClick: () => location.reload() }
|
|
1080
1082
|
});
|
|
@@ -1082,35 +1084,35 @@ function Qn(e) {
|
|
|
1082
1084
|
}
|
|
1083
1085
|
}
|
|
1084
1086
|
}
|
|
1085
|
-
const
|
|
1086
|
-
document.addEventListener("visibilitychange",
|
|
1087
|
-
const d = setInterval(s, e.checkEveryMs ??
|
|
1087
|
+
const u = () => void s();
|
|
1088
|
+
document.addEventListener("visibilitychange", u);
|
|
1089
|
+
const d = setInterval(s, e.checkEveryMs ?? Yn);
|
|
1088
1090
|
return ue(() => {
|
|
1089
|
-
document.removeEventListener("visibilitychange",
|
|
1091
|
+
document.removeEventListener("visibilitychange", u), clearInterval(d);
|
|
1090
1092
|
}), () => null;
|
|
1091
1093
|
}
|
|
1092
1094
|
});
|
|
1093
1095
|
}
|
|
1094
|
-
function
|
|
1096
|
+
function uo(e = {}) {
|
|
1095
1097
|
return fe({
|
|
1096
1098
|
id: "vue-core.app-updates",
|
|
1097
|
-
contributions: [{ id: "vue-core.app-updates", slot: "host", component:
|
|
1099
|
+
contributions: [{ id: "vue-core.app-updates", slot: "host", component: Jn(e), scope: "always" }]
|
|
1098
1100
|
});
|
|
1099
1101
|
}
|
|
1100
|
-
const
|
|
1101
|
-
function
|
|
1102
|
+
const Zn = 1e3, pe = (e) => e.path.split("/").filter(Boolean).length;
|
|
1103
|
+
function ea(e) {
|
|
1102
1104
|
if (typeof document > "u" || typeof document.startViewTransition != "function") return () => {
|
|
1103
1105
|
};
|
|
1104
1106
|
let a = null;
|
|
1105
|
-
const n = () => window.matchMedia("(max-width: 1023px)").matches && !window.matchMedia("(prefers-reduced-motion: reduce)").matches && !document.body.classList.contains(xt), o = e.beforeResolve((
|
|
1106
|
-
if (
|
|
1107
|
-
const b = pe(
|
|
1107
|
+
const n = () => window.matchMedia("(max-width: 1023px)").matches && !window.matchMedia("(prefers-reduced-motion: reduce)").matches && !document.body.classList.contains(xt), o = e.beforeResolve((u, d) => {
|
|
1108
|
+
if (l(), !d.matched.length || u.path === d.path || !n()) return;
|
|
1109
|
+
const b = pe(u) > pe(d) ? "forward" : pe(u) < pe(d) ? "back" : null;
|
|
1108
1110
|
if (!b) return;
|
|
1109
1111
|
const g = document.documentElement;
|
|
1110
1112
|
return g.dataset.navDirection = b, new Promise((h) => {
|
|
1111
1113
|
const $ = document.startViewTransition(
|
|
1112
1114
|
() => new Promise((_) => {
|
|
1113
|
-
const y = setTimeout(_,
|
|
1115
|
+
const y = setTimeout(_, Zn);
|
|
1114
1116
|
a = () => {
|
|
1115
1117
|
clearTimeout(y), _();
|
|
1116
1118
|
}, h();
|
|
@@ -1123,72 +1125,72 @@ function Jn(e) {
|
|
|
1123
1125
|
});
|
|
1124
1126
|
});
|
|
1125
1127
|
});
|
|
1126
|
-
function
|
|
1127
|
-
const
|
|
1128
|
-
a = null,
|
|
1128
|
+
function l() {
|
|
1129
|
+
const u = a;
|
|
1130
|
+
a = null, u && be().then(u);
|
|
1129
1131
|
}
|
|
1130
|
-
const
|
|
1132
|
+
const c = e.afterEach(l), s = e.onError(l);
|
|
1131
1133
|
return () => {
|
|
1132
|
-
o(),
|
|
1134
|
+
o(), c(), s(), delete document.documentElement.dataset.navDirection, a?.(), a = null;
|
|
1133
1135
|
};
|
|
1134
1136
|
}
|
|
1135
|
-
const
|
|
1137
|
+
const ta = O({
|
|
1136
1138
|
name: "ViewTransitions",
|
|
1137
1139
|
setup() {
|
|
1138
|
-
return ue(
|
|
1140
|
+
return ue(ea(ge())), () => null;
|
|
1139
1141
|
}
|
|
1140
1142
|
});
|
|
1141
|
-
function
|
|
1143
|
+
function fo() {
|
|
1142
1144
|
return fe({
|
|
1143
1145
|
id: "vue-core.view-transitions",
|
|
1144
|
-
contributions: [{ id: "vue-core.view-transitions", slot: "host", component:
|
|
1146
|
+
contributions: [{ id: "vue-core.view-transitions", slot: "host", component: ta, scope: "always" }]
|
|
1145
1147
|
});
|
|
1146
1148
|
}
|
|
1147
|
-
const
|
|
1149
|
+
const na = Symbol("vue-core:quick-search");
|
|
1148
1150
|
function Ze() {
|
|
1149
|
-
const e = St(
|
|
1151
|
+
const e = St(na, () => Pe(!1));
|
|
1150
1152
|
return { isOpen: e, open: () => e.value = !0, close: () => e.value = !1 };
|
|
1151
1153
|
}
|
|
1152
|
-
const
|
|
1154
|
+
const aa = { class: "flex-1 truncate" }, oa = /* @__PURE__ */ O({
|
|
1153
1155
|
__name: "QuickSearchButton",
|
|
1154
1156
|
setup(e) {
|
|
1155
|
-
const { t: a } = K(), n = Ze(), o = Le(Ee, "bar") === "rail",
|
|
1156
|
-
return (
|
|
1157
|
+
const { t: a } = K(), n = Ze(), o = Le(Ee, "bar") === "rail", l = L(() => Ue({ key: "k", mod: !0 }).join(" "));
|
|
1158
|
+
return (c, s) => (r(), m("button", {
|
|
1157
1159
|
type: "button",
|
|
1158
1160
|
"data-test": "quick-search-button",
|
|
1159
1161
|
class: T(["flex h-9 w-full cursor-pointer items-center gap-2 rounded-control px-3 text-left text-callout transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus", o ? "bg-gray-500/15 text-gray-400 hover:bg-gray-500/25" : "bg-fill text-content-muted hover:bg-fill-strong"]),
|
|
1160
|
-
onClick: s[0] || (s[0] = (
|
|
1162
|
+
onClick: s[0] || (s[0] = (u) => t(n).open())
|
|
1161
1163
|
}, [
|
|
1162
1164
|
p(t(q), {
|
|
1163
1165
|
name: "search",
|
|
1164
1166
|
size: 16,
|
|
1165
1167
|
class: "shrink-0"
|
|
1166
1168
|
}),
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
+
i("span", aa, M(t(a)("core.shell.search.open")) + "…", 1),
|
|
1170
|
+
i("kbd", {
|
|
1169
1171
|
class: T(["rounded border px-1.5 text-caption [@media(pointer:coarse)]:hidden", o ? "border-gray-500/30" : "border-border-separator"])
|
|
1170
|
-
}, M(
|
|
1172
|
+
}, M(l.value), 3)
|
|
1171
1173
|
], 2));
|
|
1172
1174
|
}
|
|
1173
|
-
}),
|
|
1175
|
+
}), sa = ["aria-label"], la = { class: "flex items-center gap-3 border-b border-border-separator px-4 py-3 pt-[max(0.75rem,var(--app-safe-top))] md:px-5 md:py-4" }, ra = {
|
|
1174
1176
|
key: 0,
|
|
1175
1177
|
class: "px-3 py-3"
|
|
1176
|
-
},
|
|
1178
|
+
}, ia = {
|
|
1177
1179
|
key: 1,
|
|
1178
1180
|
class: "flex flex-col items-center gap-1 px-6 py-10 text-center",
|
|
1179
1181
|
"data-test": "quick-search-empty"
|
|
1180
|
-
},
|
|
1182
|
+
}, ca = { class: "text-headline font-semibold" }, ua = { class: "max-w-sm text-subheadline text-content-muted" }, da = ["data-test"], fa = ["id", "aria-selected", "data-index", "data-test", "onMousemove", "onClick"], ma = { class: "flex min-w-0 flex-1 flex-col" }, pa = { class: "truncate text-body font-semibold" }, va = {
|
|
1181
1183
|
key: 2,
|
|
1182
1184
|
class: "px-3 py-3 text-subheadline text-content-destructive",
|
|
1183
1185
|
role: "alert"
|
|
1184
|
-
},
|
|
1186
|
+
}, ha = {
|
|
1185
1187
|
key: 3,
|
|
1186
1188
|
class: "px-3 py-2 text-footnote text-content-muted",
|
|
1187
1189
|
"data-test": "quick-search-unavailable"
|
|
1188
|
-
},
|
|
1190
|
+
}, ba = {
|
|
1189
1191
|
key: 4,
|
|
1190
1192
|
class: "px-3 py-8 text-center text-subheadline text-content-muted"
|
|
1191
|
-
},
|
|
1193
|
+
}, ga = { class: "hidden items-center gap-4 border-t border-border-separator px-5 py-2.5 text-footnote text-content-muted md:flex" }, ya = { class: "font-semibold" }, xa = /* @__PURE__ */ O({
|
|
1192
1194
|
__name: "QuickSearchPalette",
|
|
1193
1195
|
props: {
|
|
1194
1196
|
search: {},
|
|
@@ -1202,18 +1204,18 @@ const ta = { class: "flex-1 truncate" }, na = /* @__PURE__ */ R({
|
|
|
1202
1204
|
delayMs: { default: 180 }
|
|
1203
1205
|
},
|
|
1204
1206
|
setup(e) {
|
|
1205
|
-
const a = e, { t: n } = K(), o = ge(),
|
|
1206
|
-
B(),
|
|
1207
|
+
const a = e, { t: n } = K(), o = ge(), l = Ze(), c = re("panel"), s = re("list"), { isOpen: u, present: d, dismiss: b } = Fe(c, { onDismissed: () => {
|
|
1208
|
+
B(), l.close();
|
|
1207
1209
|
} });
|
|
1208
|
-
wt({ key: "k", mod: !0, group: "general", label: () => n("core.shell.search.title") }, () =>
|
|
1209
|
-
const g =
|
|
1210
|
+
wt({ key: "k", mod: !0, group: "general", label: () => n("core.shell.search.title") }, () => l.open()), ue(() => l.close());
|
|
1211
|
+
const g = P(""), h = P(null), $ = P(""), _ = P(!1), y = P(!1), C = P(0), v = P([]);
|
|
1210
1212
|
let z = null, f;
|
|
1211
1213
|
const I = $t(_), E = L(() => g.value.trim()), x = L(() => E.value.length >= a.minLength);
|
|
1212
1214
|
function B() {
|
|
1213
1215
|
clearTimeout(f), z?.abort(), z = null, _.value = !1;
|
|
1214
1216
|
}
|
|
1215
|
-
Q(
|
|
1216
|
-
w ? (g.value = "", h.value = null, $.value = "", y.value = !1, C.value = 0, v.value = a.recent?.() ?? [], d()) :
|
|
1217
|
+
Q(l.isOpen, (w) => {
|
|
1218
|
+
w ? (g.value = "", h.value = null, $.value = "", y.value = !1, C.value = 0, v.value = a.recent?.() ?? [], d()) : u.value && (B(), b());
|
|
1217
1219
|
}), Q(E, (w) => {
|
|
1218
1220
|
if (B(), C.value = 0, w.length < a.minLength) {
|
|
1219
1221
|
h.value = null, $.value = "", y.value = !1;
|
|
@@ -1254,7 +1256,7 @@ const ta = { class: "flex-1 truncate" }, na = /* @__PURE__ */ R({
|
|
|
1254
1256
|
accent: "bg-control-on text-white",
|
|
1255
1257
|
action: "bg-tint-soft text-content-link"
|
|
1256
1258
|
}, tt = L(() => Ue({ key: "k", mod: !0 })[0]);
|
|
1257
|
-
return (w, A) => (
|
|
1259
|
+
return (w, A) => (r(), N(Re, { to: "body" }, [
|
|
1258
1260
|
p(we, {
|
|
1259
1261
|
"enter-active-class": "transition-opacity duration-motion-normal ease-motion-standard",
|
|
1260
1262
|
"enter-from-class": "opacity-0",
|
|
@@ -1262,7 +1264,7 @@ const ta = { class: "flex-1 truncate" }, na = /* @__PURE__ */ R({
|
|
|
1262
1264
|
"leave-to-class": "opacity-0"
|
|
1263
1265
|
}, {
|
|
1264
1266
|
default: D(() => [
|
|
1265
|
-
t(
|
|
1267
|
+
t(u) ? (r(), m("div", {
|
|
1266
1268
|
key: 0,
|
|
1267
1269
|
class: "fixed inset-0 z-9999 bg-scrim",
|
|
1268
1270
|
"aria-hidden": "true",
|
|
@@ -1278,10 +1280,10 @@ const ta = { class: "flex-1 truncate" }, na = /* @__PURE__ */ R({
|
|
|
1278
1280
|
"leave-to-class": "opacity-0 scale-98"
|
|
1279
1281
|
}, {
|
|
1280
1282
|
default: D(() => [
|
|
1281
|
-
t(
|
|
1283
|
+
t(u) ? (r(), m("div", {
|
|
1282
1284
|
key: 0,
|
|
1283
1285
|
ref_key: "panel",
|
|
1284
|
-
ref:
|
|
1286
|
+
ref: c,
|
|
1285
1287
|
role: "dialog",
|
|
1286
1288
|
"aria-modal": "true",
|
|
1287
1289
|
"aria-label": t(n)("core.shell.search.title"),
|
|
@@ -1290,7 +1292,7 @@ const ta = { class: "flex-1 truncate" }, na = /* @__PURE__ */ R({
|
|
|
1290
1292
|
"data-test": "quick-search",
|
|
1291
1293
|
onKeydown: Me
|
|
1292
1294
|
}, [
|
|
1293
|
-
|
|
1295
|
+
i("div", la, [
|
|
1294
1296
|
p(t(q), {
|
|
1295
1297
|
name: "search",
|
|
1296
1298
|
size: 20,
|
|
@@ -1308,14 +1310,14 @@ const ta = { class: "flex-1 truncate" }, na = /* @__PURE__ */ R({
|
|
|
1308
1310
|
"aria-activedescendant": W.value.length ? `quick-search-row-${C.value}` : void 0,
|
|
1309
1311
|
"data-test": "quick-search-input"
|
|
1310
1312
|
}), null, 16, ["modelValue", "label", "placeholder"]),
|
|
1311
|
-
|
|
1313
|
+
i("button", {
|
|
1312
1314
|
type: "button",
|
|
1313
1315
|
class: "hit-target shrink-0 cursor-pointer rounded-control px-1 text-body text-content-link md:hidden",
|
|
1314
1316
|
onClick: A[2] || (A[2] = (X) => t(b)())
|
|
1315
1317
|
}, M(t(n)("core.actions.cancel")), 1),
|
|
1316
|
-
A[3] || (A[3] =
|
|
1318
|
+
A[3] || (A[3] = i("kbd", { class: "hidden shrink-0 rounded-md border border-border-separator px-1.5 py-0.5 text-caption text-content-muted md:inline" }, "esc", -1))
|
|
1317
1319
|
]),
|
|
1318
|
-
|
|
1320
|
+
i("div", {
|
|
1319
1321
|
id: "quick-search-results",
|
|
1320
1322
|
ref_key: "list",
|
|
1321
1323
|
ref: s,
|
|
@@ -1323,156 +1325,166 @@ const ta = { class: "flex-1 truncate" }, na = /* @__PURE__ */ R({
|
|
|
1323
1325
|
class: "min-h-0 flex-1 overflow-y-auto overscroll-contain px-2 py-2 md:px-3",
|
|
1324
1326
|
"data-test": "quick-search-results"
|
|
1325
1327
|
}, [
|
|
1326
|
-
t(I).visible.value && !F.value ? (
|
|
1328
|
+
t(I).visible.value && !F.value ? (r(), m("div", ra, [
|
|
1327
1329
|
p(t(Et), {
|
|
1328
1330
|
text: t(n)("core.shell.search.searching")
|
|
1329
1331
|
}, null, 8, ["text"])
|
|
1330
1332
|
])) : k("", !0),
|
|
1331
|
-
xe.value ? (
|
|
1332
|
-
|
|
1333
|
-
|
|
1333
|
+
xe.value ? (r(), m("div", ia, [
|
|
1334
|
+
i("p", ca, M(t(n)("core.shell.search.none", { query: E.value })), 1),
|
|
1335
|
+
i("p", ua, M(_e(a.noneHint) ?? t(n)("core.shell.search.none_hint")), 1)
|
|
1334
1336
|
])) : k("", !0),
|
|
1335
|
-
(
|
|
1337
|
+
(r(!0), m(U, null, se(ee.value, (X) => (r(), m(U, {
|
|
1336
1338
|
key: X.key
|
|
1337
1339
|
}, [
|
|
1338
|
-
|
|
1340
|
+
i("p", {
|
|
1339
1341
|
class: "px-3 pt-2.5 pb-1.5 text-footnote font-semibold text-content-muted uppercase",
|
|
1340
1342
|
"data-test": `quick-search-group-${X.key}`
|
|
1341
|
-
}, M(X.label), 9,
|
|
1342
|
-
(
|
|
1343
|
-
id: `quick-search-row-${H.value.get(
|
|
1344
|
-
key:
|
|
1343
|
+
}, M(X.label), 9, da),
|
|
1344
|
+
(r(!0), m(U, null, se(X.rows, (R) => (r(), m("div", {
|
|
1345
|
+
id: `quick-search-row-${H.value.get(R)}`,
|
|
1346
|
+
key: R.key,
|
|
1345
1347
|
role: "option",
|
|
1346
|
-
"aria-selected": H.value.get(
|
|
1347
|
-
"data-index": H.value.get(
|
|
1348
|
-
"data-test": `quick-search-row-${
|
|
1349
|
-
class: T(["flex cursor-pointer animate-row-in items-center gap-3 rounded-control px-3 py-2.5", H.value.get(
|
|
1350
|
-
onMousemove: (ke) => C.value = H.value.get(
|
|
1351
|
-
onClick: (ke) => V(
|
|
1348
|
+
"aria-selected": H.value.get(R) === C.value,
|
|
1349
|
+
"data-index": H.value.get(R),
|
|
1350
|
+
"data-test": `quick-search-row-${R.key}`,
|
|
1351
|
+
class: T(["flex cursor-pointer animate-row-in items-center gap-3 rounded-control px-3 py-2.5", H.value.get(R) === C.value ? "bg-surface-selected" : "hover:bg-fill"]),
|
|
1352
|
+
onMousemove: (ke) => C.value = H.value.get(R),
|
|
1353
|
+
onClick: (ke) => V(R, ke.metaKey || ke.ctrlKey)
|
|
1352
1354
|
}, [
|
|
1353
|
-
|
|
1354
|
-
class: T(["flex size-8 shrink-0 items-center justify-center rounded-lg", et[
|
|
1355
|
+
i("span", {
|
|
1356
|
+
class: T(["flex size-8 shrink-0 items-center justify-center rounded-lg", et[R.tile ?? "neutral"]])
|
|
1355
1357
|
}, [
|
|
1356
1358
|
p(t(q), {
|
|
1357
|
-
name:
|
|
1359
|
+
name: R.icon,
|
|
1358
1360
|
size: 16
|
|
1359
1361
|
}, null, 8, ["name"])
|
|
1360
1362
|
], 2),
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
+
i("span", ma, [
|
|
1364
|
+
i("span", pa, [
|
|
1363
1365
|
p(De, {
|
|
1364
|
-
text:
|
|
1366
|
+
text: R.title,
|
|
1365
1367
|
search: x.value ? E.value : ""
|
|
1366
1368
|
}, null, 8, ["text", "search"])
|
|
1367
1369
|
]),
|
|
1368
|
-
|
|
1370
|
+
R.meta ? (r(), m("span", {
|
|
1369
1371
|
key: 0,
|
|
1370
|
-
class: T(["truncate text-footnote text-content-muted",
|
|
1372
|
+
class: T(["truncate text-footnote text-content-muted", R.mono ? "font-mono tracking-tight" : ""])
|
|
1371
1373
|
}, [
|
|
1372
1374
|
p(De, {
|
|
1373
|
-
text:
|
|
1375
|
+
text: R.meta,
|
|
1374
1376
|
search: x.value ? E.value : ""
|
|
1375
1377
|
}, null, 8, ["text", "search"])
|
|
1376
1378
|
], 2)) : k("", !0)
|
|
1377
1379
|
]),
|
|
1378
|
-
|
|
1380
|
+
R.badge ? (r(), N(t(Ct), {
|
|
1379
1381
|
key: 0,
|
|
1380
|
-
tone:
|
|
1382
|
+
tone: R.badge.tone,
|
|
1381
1383
|
class: "hidden shrink-0 sm:inline-flex"
|
|
1382
1384
|
}, {
|
|
1383
1385
|
default: D(() => [
|
|
1384
|
-
ie(M(
|
|
1386
|
+
ie(M(R.badge.label), 1)
|
|
1385
1387
|
]),
|
|
1386
1388
|
_: 2
|
|
1387
1389
|
}, 1032, ["tone"])) : k("", !0),
|
|
1388
|
-
H.value.get(
|
|
1390
|
+
H.value.get(R) === C.value ? (r(), N(t(q), {
|
|
1389
1391
|
key: 1,
|
|
1390
1392
|
name: "arrowRightSLine",
|
|
1391
1393
|
size: 16,
|
|
1392
1394
|
class: "hidden shrink-0 text-content-muted md:inline"
|
|
1393
1395
|
})) : k("", !0)
|
|
1394
|
-
], 42,
|
|
1396
|
+
], 42, fa))), 128))
|
|
1395
1397
|
], 64))), 128)),
|
|
1396
|
-
y.value ? (
|
|
1397
|
-
me.value.length ? (
|
|
1398
|
-
!ee.value.length && !x.value ? (
|
|
1398
|
+
y.value ? (r(), m("p", va, M(t(n)("core.shell.search.failed")), 1)) : k("", !0),
|
|
1399
|
+
me.value.length ? (r(), m("p", ha, M(t(n)("core.shell.search.unavailable", { groups: me.value.join(", ") })), 1)) : k("", !0),
|
|
1400
|
+
!ee.value.length && !x.value ? (r(), m("p", ba, M(_e(a.hint) ?? t(n)("core.shell.search.hint")), 1)) : k("", !0)
|
|
1399
1401
|
], 512),
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
A[4] || (A[4] =
|
|
1402
|
+
i("div", ga, [
|
|
1403
|
+
i("span", null, [
|
|
1404
|
+
A[4] || (A[4] = i("kbd", { class: "font-semibold" }, "↑ ↓", -1)),
|
|
1403
1405
|
ie(" " + M(t(n)("core.shell.search.select")), 1)
|
|
1404
1406
|
]),
|
|
1405
|
-
|
|
1406
|
-
A[5] || (A[5] =
|
|
1407
|
+
i("span", null, [
|
|
1408
|
+
A[5] || (A[5] = i("kbd", { class: "font-semibold" }, "↵", -1)),
|
|
1407
1409
|
ie(" " + M(t(n)("core.shell.search.open_row")), 1)
|
|
1408
1410
|
]),
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
+
i("span", null, [
|
|
1412
|
+
i("kbd", ya, M(tt.value) + " ↵", 1),
|
|
1411
1413
|
ie(" " + M(t(n)("core.shell.search.new_tab")), 1)
|
|
1412
1414
|
])
|
|
1413
1415
|
])
|
|
1414
|
-
], 40,
|
|
1416
|
+
], 40, sa)) : k("", !0)
|
|
1415
1417
|
]),
|
|
1416
1418
|
_: 1
|
|
1417
1419
|
})
|
|
1418
1420
|
]));
|
|
1419
1421
|
}
|
|
1420
1422
|
});
|
|
1421
|
-
function
|
|
1422
|
-
return
|
|
1423
|
+
function ka(e) {
|
|
1424
|
+
return O({ name: "QuickSearch", setup: () => () => te(xa, e) });
|
|
1423
1425
|
}
|
|
1424
|
-
function
|
|
1426
|
+
function mo(e) {
|
|
1425
1427
|
return fe({
|
|
1426
1428
|
id: "vue-core.quick-search",
|
|
1427
1429
|
contributions: [
|
|
1428
|
-
{ id: "vue-core.quick-search.button", slot: "search", component:
|
|
1429
|
-
{ id: "vue-core.quick-search.palette", slot: "host", component:
|
|
1430
|
+
{ id: "vue-core.quick-search.button", slot: "search", component: oa, scope: "authenticated", optional: !0 },
|
|
1431
|
+
{ id: "vue-core.quick-search.palette", slot: "host", component: ka(e), scope: "authenticated" }
|
|
1430
1432
|
]
|
|
1431
1433
|
});
|
|
1432
1434
|
}
|
|
1433
|
-
const
|
|
1435
|
+
const _a = /* @__PURE__ */ O({
|
|
1434
1436
|
__name: "DarkModeRow",
|
|
1435
1437
|
props: {
|
|
1436
1438
|
dark: { type: Boolean }
|
|
1437
1439
|
},
|
|
1438
1440
|
emits: ["toggle"],
|
|
1439
1441
|
setup(e, { emit: a }) {
|
|
1440
|
-
const n = e, o = a, { t:
|
|
1441
|
-
return (
|
|
1442
|
-
label: t(
|
|
1442
|
+
const n = e, o = a, { t: l } = K();
|
|
1443
|
+
return (c, s) => (r(), N($e, {
|
|
1444
|
+
label: t(l)("core.shell.dark_mode"),
|
|
1443
1445
|
icon: "moonLine",
|
|
1444
1446
|
checked: n.dark,
|
|
1445
|
-
onClick: s[0] || (s[0] = (
|
|
1447
|
+
onClick: s[0] || (s[0] = (u) => o("toggle"))
|
|
1446
1448
|
}, null, 8, ["label", "checked"]));
|
|
1447
1449
|
}
|
|
1448
|
-
}),
|
|
1449
|
-
function
|
|
1450
|
+
}), wa = { light: "#ffffff", dark: "#18181B" };
|
|
1451
|
+
function $a(e, a = wa) {
|
|
1450
1452
|
document.documentElement.classList.toggle("dark", e), document.querySelector('meta[name="theme-color"]')?.setAttribute("content", e ? a.dark : a.light);
|
|
1451
1453
|
}
|
|
1452
|
-
function
|
|
1453
|
-
const a =
|
|
1454
|
+
function po(e = {}) {
|
|
1455
|
+
const a = O({
|
|
1454
1456
|
name: "DarkModeSwitch",
|
|
1455
|
-
setup
|
|
1457
|
+
setup() {
|
|
1458
|
+
const n = Tt(), o = e.dark ?? (() => n.value.value.dark_mode === !0), l = e.set ?? ((c) => void n.save({ dark_mode: c }));
|
|
1459
|
+
return () => te(_a, { dark: o(), onToggle: () => void l(!o()) });
|
|
1460
|
+
}
|
|
1456
1461
|
});
|
|
1457
1462
|
return fe({
|
|
1458
1463
|
id: "vue-core.dark-mode",
|
|
1459
1464
|
contributions: [{ id: "vue-core.dark-mode.row", slot: "accountMenu", component: a, scope: "authenticated" }],
|
|
1460
1465
|
// Runs while the application is mounted, signed in or not; the watcher's stop handle is the effect's cleanup.
|
|
1461
|
-
effects: [{
|
|
1466
|
+
effects: [{
|
|
1467
|
+
id: "vue-core.dark-mode",
|
|
1468
|
+
scope: "app",
|
|
1469
|
+
start: ({ platform: n }) => {
|
|
1470
|
+
const o = Mt(n).value;
|
|
1471
|
+
return Q(e.dark ?? (() => o.value.dark_mode === !0), (l) => $a(l, e.themeColor), { immediate: !0 });
|
|
1472
|
+
}
|
|
1473
|
+
}]
|
|
1462
1474
|
});
|
|
1463
1475
|
}
|
|
1464
|
-
const
|
|
1476
|
+
const Sa = {
|
|
1465
1477
|
key: 0,
|
|
1466
1478
|
role: "status",
|
|
1467
1479
|
"data-test": "offline-notice",
|
|
1468
1480
|
class: "dock-safe-area pointer-events-auto order-first mb-3 px-3"
|
|
1469
|
-
},
|
|
1481
|
+
}, La = { class: "mx-auto flex max-w-md items-center justify-center gap-2 rounded-full bg-status-warning-surface px-4 py-2 text-subheadline font-semibold text-status-warning-content shadow-float" }, Ca = /* @__PURE__ */ O({
|
|
1470
1482
|
__name: "OfflineNotice",
|
|
1471
1483
|
setup(e) {
|
|
1472
|
-
const { t: a } = K(), n =
|
|
1484
|
+
const { t: a } = K(), n = P(navigator.onLine), o = () => n.value = navigator.onLine;
|
|
1473
1485
|
return window.addEventListener("online", o), window.addEventListener("offline", o), ue(() => {
|
|
1474
1486
|
window.removeEventListener("online", o), window.removeEventListener("offline", o);
|
|
1475
|
-
}), (
|
|
1487
|
+
}), (l, c) => (r(), N(t(At), null, {
|
|
1476
1488
|
default: D(() => [
|
|
1477
1489
|
p(we, {
|
|
1478
1490
|
"enter-active-class": "transition duration-motion-normal ease-motion-standard",
|
|
@@ -1481,8 +1493,8 @@ const wa = {
|
|
|
1481
1493
|
"leave-to-class": "translate-y-2 opacity-0"
|
|
1482
1494
|
}, {
|
|
1483
1495
|
default: D(() => [
|
|
1484
|
-
n.value ? k("", !0) : (
|
|
1485
|
-
|
|
1496
|
+
n.value ? k("", !0) : (r(), m("div", Sa, [
|
|
1497
|
+
i("div", La, [
|
|
1486
1498
|
p(t(q), {
|
|
1487
1499
|
name: "errorWarningLine",
|
|
1488
1500
|
size: 16
|
|
@@ -1498,41 +1510,41 @@ const wa = {
|
|
|
1498
1510
|
}));
|
|
1499
1511
|
}
|
|
1500
1512
|
});
|
|
1501
|
-
function
|
|
1513
|
+
function vo() {
|
|
1502
1514
|
return fe({
|
|
1503
1515
|
id: "vue-core.offline-notice",
|
|
1504
|
-
contributions: [{ id: "vue-core.offline-notice", slot: "host", component:
|
|
1516
|
+
contributions: [{ id: "vue-core.offline-notice", slot: "host", component: Ca, scope: "always" }]
|
|
1505
1517
|
});
|
|
1506
1518
|
}
|
|
1507
1519
|
export {
|
|
1508
|
-
|
|
1520
|
+
Bt as AccountMenu,
|
|
1509
1521
|
$e as AccountMenuItem,
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1522
|
+
jt as AccountSheet,
|
|
1523
|
+
Wn as BackofficeShell,
|
|
1524
|
+
_a as DarkModeRow,
|
|
1525
|
+
go as HeaderAction,
|
|
1526
|
+
an as NavigationDrawer,
|
|
1515
1527
|
He as NavigationList,
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1528
|
+
Cn as NavigationMenuButton,
|
|
1529
|
+
Ca as OfflineNotice,
|
|
1530
|
+
oa as QuickSearchButton,
|
|
1531
|
+
xa as QuickSearchPalette,
|
|
1520
1532
|
Te as ShellBrand,
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1533
|
+
bn as ShellSidebar,
|
|
1534
|
+
Sn as ShellStage,
|
|
1535
|
+
Nn as ShellTopBar,
|
|
1536
|
+
uo as appUpdates,
|
|
1537
|
+
$a as applyDarkMode,
|
|
1538
|
+
co as backofficeShell,
|
|
1539
|
+
Xn as createNavigationProgress,
|
|
1540
|
+
po as darkMode,
|
|
1541
|
+
qn as defaultIdentity,
|
|
1542
|
+
Vt as groupNavigation,
|
|
1543
|
+
ea as installViewTransitions,
|
|
1544
|
+
vo as offlineNotice,
|
|
1545
|
+
mo as quickSearch,
|
|
1534
1546
|
Je as useNavigationDrawer,
|
|
1535
1547
|
Ze as useQuickSearch,
|
|
1536
|
-
|
|
1537
|
-
|
|
1548
|
+
Bn as useShellIdentity,
|
|
1549
|
+
fo as viewTransitions
|
|
1538
1550
|
};
|