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