vft 0.0.507 → 0.0.509
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/es/components/carousel/use-carousel.js +1 -1
- package/es/components/cascader/cascader.vue2.js +203 -202
- package/es/components/cascader-panel/menu.vue2.js +50 -49
- package/es/components/clamp-toggle/clamp-toggle.vue2.js +21 -17
- package/es/components/color-picker/color-picker.vue2.js +134 -133
- package/es/components/config-provider/config-provider.vue.d.ts +2 -0
- package/es/components/config-provider/config-provider.vue2.js +5 -4
- package/es/components/config-provider/constants.d.ts +1 -0
- package/es/components/config-provider/constants.js +3 -2
- package/es/components/config-provider/hooks/use-global-config.js +33 -30
- package/es/components/config-provider/index.d.ts +9 -0
- package/es/components/config-provider/index.js +6 -5
- package/es/components/date-picker/composables/use-basic-date-table.d.ts +1 -1
- package/es/components/date-picker/composables/use-basic-date-table.js +124 -123
- package/es/components/date-picker/composables/use-month-range-header.js +15 -14
- package/es/components/date-picker/composables/use-panel-date-range.js +24 -23
- package/es/components/date-picker/date-picker-com/basic-month-table.vue2.js +39 -38
- package/es/components/date-picker/date-picker-com/basic-year-table.vue2.js +39 -38
- package/es/components/date-picker/date-picker-com/panel-date-pick.vue2.js +179 -178
- package/es/components/date-picker/date-picker-com/panel-date-range.vue2.js +225 -224
- package/es/components/date-time-select/date-time-select.vue2.js +39 -36
- package/es/components/dropdown/dropdown.vue2.js +68 -67
- package/es/components/empty/empty.vue2.js +39 -38
- package/es/components/full-screen/full-screen.vue2.js +18 -17
- package/es/components/image/image.vue2.js +60 -59
- package/es/components/image-viewer/image-viewer.vue2.js +45 -44
- package/es/components/index.js +161 -160
- package/es/components/input/input.vue2.js +4 -4
- package/es/components/input-tag/composables/use-input-tag.js +1 -1
- package/es/components/md-container/md-container.vue2.js +75 -74
- package/es/components/md-container/toc.js +37 -36
- package/es/components/modal/modal-footer-action.vue2.js +25 -24
- package/es/components/multiple-tabs/multiple-tabs.vue2.js +16 -15
- package/es/components/multiple-tabs/use/use-tab-dropdown.js +54 -53
- package/es/components/pagination/components/jumper.vue2.js +29 -28
- package/es/components/pagination/components/sizes.vue2.js +21 -20
- package/es/components/pagination/components/total.vue2.js +11 -10
- package/es/components/popconfirm/popconfirm.vue2.js +40 -39
- package/es/components/search/search.vue2.js +79 -77
- package/es/components/select/useSelect.js +232 -231
- package/es/components/super-form/super-form-action.vue2.js +41 -40
- package/es/components/super-form/super-form-item.vue2.js +206 -203
- package/es/components/super-form/use/helper.d.ts +1 -1
- package/es/components/super-form/use/helper.js +62 -62
- package/es/components/table/field.js +130 -110
- package/es/components/table/table.vue2.js +152 -150
- package/es/components/table/use/use-columns.js +29 -26
- package/es/components/table/use/use-data-source.js +87 -86
- package/es/components/time-picker/time-picker-com/panel-time-pick.vue2.js +66 -65
- package/es/components/time-picker/time-picker-com/panel-time-range.vue2.js +134 -133
- package/es/components/transfer/transfer-panel.vue2.js +57 -56
- package/es/components/transfer/transfer.vue2.js +70 -69
- package/es/components/tree/tree.vue2.js +60 -59
- package/es/components/upload/index.d.ts +3 -3
- package/es/components/upload/upload-content.vue.d.ts +2 -2
- package/es/components/upload/upload-content.vue2.js +78 -75
- package/es/components/upload/upload-list.vue2.js +46 -45
- package/es/components/upload/upload.vue.d.ts +2 -2
- package/es/components/upload/upload.vue2.js +87 -85
- package/es/components/upload/utils.js +29 -29
- package/es/constants/date.d.ts +1 -1
- package/es/constants/date.js +9 -1
- package/es/hooks/use-z-index/index.js +3 -3
- package/es/index.d.ts +1 -0
- package/es/index.js +5 -1
- package/es/locale/index.d.js +1 -0
- package/es/locale/index.d.ts +26 -0
- package/es/locale/index.js +10 -0
- package/es/locale/lang/en.d.ts +183 -0
- package/es/locale/lang/en.js +241 -0
- package/es/locale/lang/zh-cn.d.ts +183 -0
- package/es/locale/lang/zh-cn.js +241 -0
- package/es/locale/lang/zh-tw.d.ts +183 -0
- package/es/locale/lang/zh-tw.js +241 -0
- package/es/locale/use-locale.d.ts +17 -0
- package/es/locale/use-locale.js +56 -0
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/es/utils/vue/vnode.js +1 -1
- package/lib/components/cascader/cascader.vue2.cjs +1 -1
- package/lib/components/cascader-panel/menu.vue2.cjs +4 -4
- package/lib/components/clamp-toggle/clamp-toggle.vue2.cjs +1 -1
- package/lib/components/color-picker/color-picker.vue2.cjs +1 -1
- package/lib/components/config-provider/config-provider.vue.d.ts +2 -0
- package/lib/components/config-provider/config-provider.vue2.cjs +1 -1
- package/lib/components/config-provider/constants.cjs +1 -1
- package/lib/components/config-provider/constants.d.ts +1 -0
- package/lib/components/config-provider/hooks/use-global-config.cjs +1 -1
- package/lib/components/config-provider/index.cjs +1 -1
- package/lib/components/config-provider/index.d.ts +9 -0
- package/lib/components/date-picker/composables/use-basic-date-table.cjs +1 -1
- package/lib/components/date-picker/composables/use-basic-date-table.d.ts +1 -1
- package/lib/components/date-picker/composables/use-month-range-header.cjs +1 -1
- package/lib/components/date-picker/composables/use-panel-date-range.cjs +1 -1
- package/lib/components/date-picker/date-picker-com/basic-month-table.vue2.cjs +1 -1
- package/lib/components/date-picker/date-picker-com/basic-year-table.vue2.cjs +1 -1
- package/lib/components/date-picker/date-picker-com/panel-date-pick.vue2.cjs +1 -1
- package/lib/components/date-picker/date-picker-com/panel-date-range.vue2.cjs +1 -1
- package/lib/components/date-time-select/date-time-select.vue2.cjs +1 -1
- package/lib/components/dropdown/dropdown.vue2.cjs +1 -1
- package/lib/components/empty/empty.vue2.cjs +1 -1
- package/lib/components/full-screen/full-screen.vue2.cjs +1 -1
- package/lib/components/image/image.vue2.cjs +1 -1
- package/lib/components/image-viewer/image-viewer.vue2.cjs +1 -1
- package/lib/components/index.cjs +1 -1
- package/lib/components/input/input.vue2.cjs +1 -1
- package/lib/components/md-container/md-container.vue2.cjs +1 -1
- package/lib/components/md-container/toc.cjs +1 -1
- package/lib/components/modal/modal-footer-action.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
- package/lib/components/pagination/components/jumper.vue2.cjs +1 -1
- package/lib/components/pagination/components/sizes.vue2.cjs +1 -1
- package/lib/components/pagination/components/total.vue2.cjs +1 -1
- package/lib/components/popconfirm/popconfirm.vue2.cjs +1 -1
- package/lib/components/search/search.vue2.cjs +1 -1
- package/lib/components/select/useSelect.cjs +1 -1
- package/lib/components/super-form/super-form-action.vue2.cjs +1 -1
- package/lib/components/super-form/super-form-item.vue2.cjs +1 -1
- package/lib/components/super-form/use/helper.cjs +1 -1
- package/lib/components/super-form/use/helper.d.ts +1 -1
- package/lib/components/table/field.cjs +1 -1
- package/lib/components/table/table.vue2.cjs +1 -1
- package/lib/components/table/use/use-columns.cjs +1 -1
- package/lib/components/table/use/use-data-source.cjs +1 -1
- package/lib/components/time-picker/time-picker-com/panel-time-pick.vue2.cjs +1 -1
- package/lib/components/time-picker/time-picker-com/panel-time-range.vue2.cjs +1 -1
- package/lib/components/transfer/transfer-panel.vue2.cjs +1 -1
- package/lib/components/transfer/transfer.vue2.cjs +1 -1
- package/lib/components/tree/tree.vue2.cjs +1 -1
- package/lib/components/upload/index.d.ts +3 -3
- package/lib/components/upload/upload-content.vue.d.ts +2 -2
- package/lib/components/upload/upload-content.vue2.cjs +1 -1
- package/lib/components/upload/upload-list.vue2.cjs +1 -1
- package/lib/components/upload/upload.vue.d.ts +2 -2
- package/lib/components/upload/upload.vue2.cjs +1 -1
- package/lib/components/upload/utils.cjs +1 -1
- package/lib/constants/date.cjs +1 -1
- package/lib/constants/date.d.ts +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/locale/index.cjs +1 -0
- package/lib/locale/index.d.cjs +1 -0
- package/lib/locale/index.d.ts +26 -0
- package/lib/locale/lang/en.cjs +1 -0
- package/lib/locale/lang/en.d.ts +183 -0
- package/lib/locale/lang/zh-cn.cjs +1 -0
- package/lib/locale/lang/zh-cn.d.ts +183 -0
- package/lib/locale/lang/zh-tw.cjs +1 -0
- package/lib/locale/lang/zh-tw.d.ts +183 -0
- package/lib/locale/use-locale.cjs +1 -0
- package/lib/locale/use-locale.d.ts +17 -0
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/package.json +3 -3
- package/theme-style/index.css +1 -1
- package/theme-style/src/super-form.scss +0 -1
- package/theme-style/vft-super-form.css +1 -1
- package/web-types.json +1 -1
|
@@ -1,88 +1,86 @@
|
|
|
1
|
-
import { defineComponent as S, getCurrentInstance as
|
|
2
|
-
import { VftIcon as
|
|
3
|
-
import { VftIconText as
|
|
4
|
-
import { VftMdComment as
|
|
5
|
-
import { VftSideMenu as
|
|
6
|
-
import { VftTag as
|
|
1
|
+
import { defineComponent as S, getCurrentInstance as N, ref as A, computed as k, onMounted as P, nextTick as q, onDeactivated as z, onBeforeMount as B, createElementBlock as u, openBlock as s, normalizeClass as c, unref as e, createBlock as f, createCommentVNode as p, createElementVNode as l, toDisplayString as b, createVNode as h, Fragment as I, renderList as O, withCtx as F, createTextVNode as H, renderSlot as J } from "vue";
|
|
2
|
+
import { VftIcon as T } from "../icon/index.js";
|
|
3
|
+
import { VftIconText as j } from "../icon-text/index.js";
|
|
4
|
+
import { VftMdComment as U } from "../md-comment/index.js";
|
|
5
|
+
import { VftSideMenu as Y } from "../side-menu/index.js";
|
|
6
|
+
import { VftTag as G } from "../tag/index.js";
|
|
7
7
|
import "@vueuse/core";
|
|
8
|
-
import { handleScrollPosition as
|
|
8
|
+
import { handleScrollPosition as K, getAdaptiveOffset as Q, jumpElement as D, getRandomElementForArr as W, isClient as X } from "@vft/utils";
|
|
9
9
|
import "../config-provider/hooks/use-global-config.js";
|
|
10
|
-
import { primaryColor as
|
|
11
|
-
import { debounce as
|
|
10
|
+
import { primaryColor as Z } from "../../utils/ns-cover.js";
|
|
11
|
+
import { debounce as ee } from "lodash-es";
|
|
12
12
|
import "../form/index.js";
|
|
13
|
-
import { useNamespace as
|
|
13
|
+
import { useNamespace as te } from "../../hooks/use-namespace/index.js";
|
|
14
14
|
import "../../hooks/use-model-toggle/index.js";
|
|
15
15
|
import "@popperjs/core";
|
|
16
16
|
import "../../hooks/use-z-index/index.js";
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
|
|
17
|
+
import { useLocale as oe } from "../../locale/use-locale.js";
|
|
18
|
+
import { useRouterHelper as ne } from "@vft/router";
|
|
19
|
+
import { useEventListener as ie } from "@vft/use";
|
|
20
|
+
import { usePhotoSwipe as le } from "@vft/use/photoswipe";
|
|
21
|
+
import { formatToDateTime as ae, getDayTimestamp as re } from "@vft/utils/date";
|
|
22
|
+
import { useCopyCode as se } from "./use/useCopyCode.js";
|
|
23
|
+
import { COMP_TYPE as ce } from "./utils.js";
|
|
24
|
+
const me = { class: "info-container" }, de = {
|
|
24
25
|
key: 0,
|
|
25
26
|
class: "left"
|
|
26
|
-
},
|
|
27
|
-
class: "reading",
|
|
28
|
-
title: "阅读量"
|
|
29
|
-
}, ue = ["data-path"], fe = S({
|
|
27
|
+
}, ue = { class: "infos" }, fe = ["title"], pe = ["data-path"], he = S({
|
|
30
28
|
name: "vft-md-container"
|
|
31
|
-
}),
|
|
32
|
-
...
|
|
29
|
+
}), Ie = /* @__PURE__ */ S({
|
|
30
|
+
...he,
|
|
33
31
|
props: {
|
|
34
32
|
tocList: {},
|
|
35
33
|
scrollDom: { default: ".layout-content" },
|
|
36
34
|
showComment: { type: Boolean, default: !0 }
|
|
37
35
|
},
|
|
38
36
|
setup(a) {
|
|
39
|
-
const
|
|
40
|
-
w(),
|
|
41
|
-
const
|
|
42
|
-
function
|
|
43
|
-
|
|
37
|
+
const r = te("md-container"), L = N(), { t: g } = oe(), m = A(), d = k(() => a.tocList && a.tocList !== "undefined" ? JSON.parse(a.tocList) : ""), { initPhotoSwipe: w } = le(`.${r.e("content")} img`);
|
|
38
|
+
w(), se();
|
|
39
|
+
const v = L.appContext.config.globalProperties.$router, n = v.currentRoute.value, V = Z(), _ = X ? location.pathname : "", { go: E } = ne(v);
|
|
40
|
+
function M(o) {
|
|
41
|
+
E(`/?classify=${o}`);
|
|
44
42
|
}
|
|
45
|
-
const
|
|
46
|
-
() =>
|
|
43
|
+
const R = k(() => n.meta.category?.includes("api")), y = ee(
|
|
44
|
+
() => K({
|
|
47
45
|
scrollDom: a.scrollDom,
|
|
48
46
|
contentDom: ".header-anchor",
|
|
49
47
|
selectAttrName: "href",
|
|
50
|
-
offset:
|
|
48
|
+
offset: Q(210, 1920, 1500, 1920),
|
|
51
49
|
callback: (o) => {
|
|
52
50
|
m.value?.menuRef && (m.value.menuRef.activeIndex = o.slice(1));
|
|
53
51
|
}
|
|
54
52
|
}),
|
|
55
53
|
100
|
|
56
|
-
),
|
|
54
|
+
), C = (o) => {
|
|
57
55
|
D(`[id="${o.index}"]`, a.scrollDom, 120);
|
|
58
|
-
},
|
|
56
|
+
}, x = () => {
|
|
59
57
|
const o = document.querySelector(a.scrollDom);
|
|
60
|
-
o && o.removeEventListener("scroll",
|
|
58
|
+
o && o.removeEventListener("scroll", y);
|
|
61
59
|
};
|
|
62
|
-
return
|
|
63
|
-
|
|
60
|
+
return P(() => {
|
|
61
|
+
q(() => {
|
|
64
62
|
setTimeout(() => {
|
|
65
63
|
n.hash && D(`[id="${encodeURI(n.hash).slice(1)}"]`);
|
|
66
64
|
}), setTimeout(() => {
|
|
67
65
|
const t = document.querySelector(".layout-content");
|
|
68
|
-
t && t.addEventListener("scroll",
|
|
66
|
+
t && t.addEventListener("scroll", y);
|
|
69
67
|
}, 1500);
|
|
70
68
|
const o = document.querySelectorAll(".item.expand"), i = document.querySelectorAll(
|
|
71
69
|
"div.language-vue"
|
|
72
70
|
);
|
|
73
71
|
for (let t = 0; t < o.length; t++)
|
|
74
|
-
|
|
72
|
+
ie(o[t], "click", () => {
|
|
75
73
|
i[t].offsetHeight === 0 ? (i[t].style.height = "auto", i[t].style.visibility = "visible") : (i[t].style.height = "0px", i[t].style.visibility = "hidden");
|
|
76
74
|
});
|
|
77
75
|
});
|
|
78
|
-
}), q(() => {
|
|
79
|
-
C();
|
|
80
76
|
}), z(() => {
|
|
81
|
-
|
|
82
|
-
}), (
|
|
83
|
-
|
|
77
|
+
x();
|
|
78
|
+
}), B(() => {
|
|
79
|
+
x();
|
|
80
|
+
}), (o, i) => (s(), u("div", {
|
|
81
|
+
class: c([e(r).b(), e(r).is("api", R.value)])
|
|
84
82
|
}, [
|
|
85
|
-
d.value?.length ? (
|
|
83
|
+
d.value?.length ? (s(), f(e(Y), {
|
|
86
84
|
key: 0,
|
|
87
85
|
ref_key: "sideMenuRef",
|
|
88
86
|
ref: m,
|
|
@@ -96,66 +94,69 @@ const re = { class: "info-container" }, ce = {
|
|
|
96
94
|
"attr-mapping": {
|
|
97
95
|
index: "slug"
|
|
98
96
|
},
|
|
99
|
-
onSelect:
|
|
100
|
-
onSubMenuClick:
|
|
97
|
+
onSelect: C,
|
|
98
|
+
onSubMenuClick: C
|
|
101
99
|
}, null, 8, ["default-active", "menus"])) : p("", !0),
|
|
102
100
|
l("div", {
|
|
103
|
-
class: c(e(
|
|
101
|
+
class: c(e(r).e("header"))
|
|
104
102
|
}, [
|
|
105
103
|
l("h1", {
|
|
106
|
-
class: c(e(
|
|
107
|
-
},
|
|
108
|
-
l("div",
|
|
109
|
-
e(n).meta?.category?.length ? (
|
|
110
|
-
|
|
104
|
+
class: c(e(r).e("title"))
|
|
105
|
+
}, b(e(n).meta?.title), 3),
|
|
106
|
+
l("div", me, [
|
|
107
|
+
e(n).meta?.category?.length ? (s(), u("div", de, [
|
|
108
|
+
h(e(T), {
|
|
111
109
|
size: 14,
|
|
112
|
-
color: e(
|
|
110
|
+
color: e(V),
|
|
113
111
|
icon: "icon-category"
|
|
114
112
|
}, null, 8, ["color"]),
|
|
115
|
-
(
|
|
113
|
+
(s(!0), u(I, null, O(e(n).meta?.category, (t, $) => (s(), f(e(G), {
|
|
116
114
|
size: "small",
|
|
117
115
|
class: "tag",
|
|
118
|
-
type: e(
|
|
119
|
-
key:
|
|
120
|
-
onClick: (
|
|
116
|
+
type: e(W)(e(ce), 1)[0],
|
|
117
|
+
key: $,
|
|
118
|
+
onClick: (ge) => M(t)
|
|
121
119
|
}, {
|
|
122
|
-
default:
|
|
123
|
-
|
|
120
|
+
default: F(() => [
|
|
121
|
+
H(b(t), 1)
|
|
124
122
|
]),
|
|
125
123
|
_: 2
|
|
126
124
|
}, 1032, ["type", "onClick"]))), 128))
|
|
127
125
|
])) : p("", !0),
|
|
128
|
-
l("div",
|
|
129
|
-
|
|
130
|
-
title: "
|
|
126
|
+
l("div", ue, [
|
|
127
|
+
h(e(j), {
|
|
128
|
+
title: e(g)("vft.mdContainer.publishTime"),
|
|
131
129
|
icon: "icon-date",
|
|
132
130
|
size: 12,
|
|
133
131
|
class: "mr-10px",
|
|
134
132
|
distance: 5,
|
|
135
|
-
text: e(
|
|
136
|
-
(e(n).meta?.date ? new Date(e(n).meta.date).getTime() : (/* @__PURE__ */ new Date()).getTime()) - e(
|
|
133
|
+
text: e(ae)(
|
|
134
|
+
(e(n).meta?.date ? new Date(e(n).meta.date).getTime() : (/* @__PURE__ */ new Date()).getTime()) - e(re)()
|
|
137
135
|
)
|
|
138
|
-
}, null, 8, ["text"]),
|
|
139
|
-
l("div",
|
|
140
|
-
|
|
136
|
+
}, null, 8, ["title", "text"]),
|
|
137
|
+
l("div", {
|
|
138
|
+
class: "reading",
|
|
139
|
+
title: e(g)("vft.mdContainer.readCount")
|
|
140
|
+
}, [
|
|
141
|
+
h(e(T), {
|
|
141
142
|
icon: "icon-reading",
|
|
142
143
|
size: 14,
|
|
143
144
|
class: "mr-5px"
|
|
144
145
|
}),
|
|
145
146
|
l("div", {
|
|
146
147
|
class: "waline-pageview-count lh-1",
|
|
147
|
-
"data-path": e(
|
|
148
|
-
}, "0", 8,
|
|
149
|
-
])
|
|
148
|
+
"data-path": e(_)
|
|
149
|
+
}, "0", 8, pe)
|
|
150
|
+
], 8, fe)
|
|
150
151
|
])
|
|
151
152
|
])
|
|
152
153
|
], 2),
|
|
153
154
|
l("div", {
|
|
154
|
-
class: c(e(
|
|
155
|
+
class: c(e(r).e("content"))
|
|
155
156
|
}, [
|
|
156
|
-
|
|
157
|
+
J(o.$slots, "default")
|
|
157
158
|
], 2),
|
|
158
|
-
a.showComment ? (
|
|
159
|
+
a.showComment ? (s(), f(e(U), { key: 1 })) : p("", !0),
|
|
159
160
|
i[0] || (i[0] = l("ins", {
|
|
160
161
|
class: "adsbygoogle",
|
|
161
162
|
style: { display: "block", "text-align": "center" },
|
|
@@ -168,5 +169,5 @@ const re = { class: "info-container" }, ce = {
|
|
|
168
169
|
}
|
|
169
170
|
});
|
|
170
171
|
export {
|
|
171
|
-
|
|
172
|
+
Ie as default
|
|
172
173
|
};
|
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
import { jumpElement as h } from "@vft/utils";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
2
|
+
import { useLocale as v } from "../../locale/use-locale.js";
|
|
3
|
+
import { defineComponent as g, ref as C, getCurrentInstance as T, computed as $, onMounted as I, watch as b, h as n } from "vue";
|
|
4
|
+
import { isActiveLink as k } from "./utils.js";
|
|
5
|
+
const y = ({ title: e, level: o, slug: t }) => n(
|
|
5
6
|
"a",
|
|
6
7
|
{
|
|
7
|
-
href: `#${
|
|
8
|
-
class: ["toc-link", `level${
|
|
8
|
+
href: `#${t}`,
|
|
9
|
+
class: ["toc-link", `level${o}`]
|
|
9
10
|
},
|
|
10
|
-
|
|
11
|
-
),
|
|
11
|
+
e
|
|
12
|
+
), u = (e, o, t) => e.length && o > 0 ? n(
|
|
12
13
|
"ul",
|
|
13
14
|
{ class: "toc-list" },
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
e.map((l) => [
|
|
16
|
+
n(
|
|
16
17
|
"li",
|
|
17
18
|
{
|
|
18
19
|
class: [
|
|
19
20
|
"toc-item",
|
|
20
21
|
{
|
|
21
|
-
active:
|
|
22
|
-
|
|
23
|
-
`#${decodeURIComponent(
|
|
22
|
+
active: k(
|
|
23
|
+
t,
|
|
24
|
+
`#${decodeURIComponent(l.slug)}`
|
|
24
25
|
)
|
|
25
26
|
}
|
|
26
27
|
],
|
|
27
|
-
onClick: (
|
|
28
|
+
onClick: (s) => H(s, l.slug)
|
|
28
29
|
},
|
|
29
|
-
|
|
30
|
+
y(l)
|
|
30
31
|
),
|
|
31
|
-
|
|
32
|
+
u(l.children, o - 1, t)
|
|
32
33
|
])
|
|
33
34
|
) : null;
|
|
34
|
-
function
|
|
35
|
-
|
|
35
|
+
function H(e, o) {
|
|
36
|
+
e.preventDefault(), h(`[id="${o}"]`);
|
|
36
37
|
}
|
|
37
|
-
const
|
|
38
|
+
const w = g({
|
|
38
39
|
props: {
|
|
39
40
|
/**
|
|
40
41
|
* TOC items config
|
|
@@ -55,37 +56,37 @@ const A = v({
|
|
|
55
56
|
default: 2
|
|
56
57
|
}
|
|
57
58
|
},
|
|
58
|
-
setup(
|
|
59
|
-
const
|
|
60
|
-
|
|
59
|
+
setup(e) {
|
|
60
|
+
const { t: o } = v(), t = C(), s = T().appContext.config.globalProperties.$router, a = $(() => s.currentRoute.value), m = (c) => {
|
|
61
|
+
t.value?.scrollTo({ top: c, behavior: "smooth" });
|
|
61
62
|
};
|
|
62
|
-
return
|
|
63
|
-
|
|
64
|
-
() =>
|
|
65
|
-
(
|
|
66
|
-
if (
|
|
63
|
+
return I(() => {
|
|
64
|
+
b(
|
|
65
|
+
() => a.value.hash,
|
|
66
|
+
(c) => {
|
|
67
|
+
if (t.value) {
|
|
67
68
|
const p = document.querySelector(
|
|
68
|
-
`#toc a.toc-link[href$="${
|
|
69
|
+
`#toc a.toc-link[href$="${c}"]`
|
|
69
70
|
);
|
|
70
71
|
if (!p) return;
|
|
71
|
-
const { top:
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
const { top: r, height: d } = t.value.getBoundingClientRect(), { top: i, height: f } = p.getBoundingClientRect();
|
|
73
|
+
i < r ? m(t.value.scrollTop + i - r) : i + f > r + d && m(
|
|
74
|
+
t.value.scrollTop + i + f - r - d
|
|
74
75
|
);
|
|
75
76
|
}
|
|
76
77
|
}
|
|
77
78
|
);
|
|
78
79
|
}), () => {
|
|
79
|
-
const
|
|
80
|
-
return
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
const c = e.items.length ? u(e.items, e.headerDepth, a.value) || [] : u([], e.headerDepth, a.value) || null;
|
|
81
|
+
return c ? n("div", { class: "toc-place-holder" }, [
|
|
82
|
+
n("aside", { id: "toc" }, [
|
|
83
|
+
n("div", { class: "toc-header" }, [o("vft.mdContainer.tableOfContents")]),
|
|
84
|
+
n("div", { class: "toc-wrapper", ref: t }, [c])
|
|
84
85
|
])
|
|
85
86
|
]) : null;
|
|
86
87
|
};
|
|
87
88
|
}
|
|
88
89
|
});
|
|
89
90
|
export {
|
|
90
|
-
|
|
91
|
+
w as default
|
|
91
92
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as w, computed as e, createBlock as n, openBlock as s, unref as o, normalizeProps as v, guardReactiveProps as y, withCtx as a, createCommentVNode as l, renderSlot as p, mergeProps as f, createTextVNode as B, toDisplayString as b } from "vue";
|
|
2
2
|
import { VftRow as g } from "../row/index.js";
|
|
3
|
-
import { VftButton as
|
|
3
|
+
import { VftButton as d } from "../button/index.js";
|
|
4
4
|
import "@vueuse/core";
|
|
5
5
|
import "@vft/utils";
|
|
6
6
|
import "../config-provider/hooks/use-global-config.js";
|
|
@@ -10,7 +10,8 @@ import { useNamespace as h } from "../../hooks/use-namespace/index.js";
|
|
|
10
10
|
import "../../hooks/use-model-toggle/index.js";
|
|
11
11
|
import "@popperjs/core";
|
|
12
12
|
import "../../hooks/use-z-index/index.js";
|
|
13
|
-
|
|
13
|
+
import { useLocale as x } from "../../locale/use-locale.js";
|
|
14
|
+
const q = /* @__PURE__ */ w({
|
|
14
15
|
__name: "modal-footer-action",
|
|
15
16
|
props: {
|
|
16
17
|
showSubmitButton: { type: Boolean },
|
|
@@ -20,41 +21,41 @@ const A = /* @__PURE__ */ O({
|
|
|
20
21
|
actionRowOptions: {}
|
|
21
22
|
},
|
|
22
23
|
setup(t) {
|
|
23
|
-
const
|
|
24
|
+
const i = h("form-action"), { t: r } = x(), O = e(() => ({
|
|
24
25
|
justify: "end",
|
|
25
26
|
...t.actionRowOptions
|
|
26
|
-
})),
|
|
27
|
-
() => Object.assign({ btnText: "
|
|
28
|
-
),
|
|
29
|
-
() => Object.assign({ btnText: "
|
|
27
|
+
})), m = e(
|
|
28
|
+
() => Object.assign({ btnText: r("vft.modal.confirm") }, t.submitButtonOptions)
|
|
29
|
+
), c = e(
|
|
30
|
+
() => Object.assign({ btnText: r("vft.modal.cancel") }, t.cancelButtonOptions)
|
|
30
31
|
);
|
|
31
|
-
return (
|
|
32
|
-
default:
|
|
33
|
-
t.showCancelButton ? (s(), n(o(
|
|
34
|
-
class: o(
|
|
32
|
+
return (u, C) => (s(), n(o(g), v(y(O.value)), {
|
|
33
|
+
default: a(() => [
|
|
34
|
+
t.showCancelButton ? (s(), n(o(d), f({ key: 0 }, c.value, {
|
|
35
|
+
class: o(i).e("cancel")
|
|
35
36
|
}), {
|
|
36
|
-
default:
|
|
37
|
-
|
|
37
|
+
default: a(() => [
|
|
38
|
+
B(b(c.value.btnText), 1)
|
|
38
39
|
]),
|
|
39
40
|
_: 1
|
|
40
|
-
}, 16, ["class"])) :
|
|
41
|
-
|
|
42
|
-
t.showSubmitButton ? (s(), n(o(
|
|
41
|
+
}, 16, ["class"])) : l("", !0),
|
|
42
|
+
p(u.$slots, "submitBefore"),
|
|
43
|
+
t.showSubmitButton ? (s(), n(o(d), f({
|
|
43
44
|
key: 1,
|
|
44
45
|
type: "primary",
|
|
45
|
-
class: o(
|
|
46
|
-
},
|
|
47
|
-
default:
|
|
48
|
-
|
|
46
|
+
class: o(i).e("submit")
|
|
47
|
+
}, m.value), {
|
|
48
|
+
default: a(() => [
|
|
49
|
+
B(b(m.value.btnText), 1)
|
|
49
50
|
]),
|
|
50
51
|
_: 1
|
|
51
|
-
}, 16, ["class"])) :
|
|
52
|
-
|
|
52
|
+
}, 16, ["class"])) : l("", !0),
|
|
53
|
+
p(u.$slots, "submitAfter")
|
|
53
54
|
]),
|
|
54
55
|
_: 3
|
|
55
56
|
}, 16));
|
|
56
57
|
}
|
|
57
58
|
});
|
|
58
59
|
export {
|
|
59
|
-
|
|
60
|
+
q as default
|
|
60
61
|
};
|
|
@@ -7,11 +7,11 @@ import { addUnit as o } from "../../utils/helper.js";
|
|
|
7
7
|
import { generateCssVars as M } from "../../utils/ns-cover.js";
|
|
8
8
|
import "lodash-es";
|
|
9
9
|
import "../form/index.js";
|
|
10
|
-
import { useNamespace as
|
|
10
|
+
import { useNamespace as ie } from "../../hooks/use-namespace/index.js";
|
|
11
11
|
import "../../hooks/use-model-toggle/index.js";
|
|
12
12
|
import "@popperjs/core";
|
|
13
13
|
import "../../hooks/use-z-index/index.js";
|
|
14
|
-
import { useRouterHelper as
|
|
14
|
+
import { useRouterHelper as le, getRouterKeyPath as b, listenerRouteChange as re } from "@vft/router";
|
|
15
15
|
import { useMultipleTabStore as se, isTabPinned as $, useTabs as ue } from "@vft/store";
|
|
16
16
|
import { useRefs as ce } from "@vft/use";
|
|
17
17
|
import fe from "hotkeys-js";
|
|
@@ -19,9 +19,10 @@ import { onBeforeRouteLeave as me } from "vue-router";
|
|
|
19
19
|
import de from "./tab-content.vue2.js";
|
|
20
20
|
import { initAffixTabs as ve, useTabsDrag as he } from "./use/use-multiple-tabs.js";
|
|
21
21
|
import "../context-menu/context-menu.vue2.js";
|
|
22
|
+
import "../../locale/use-locale.js";
|
|
22
23
|
const be = B({
|
|
23
24
|
name: "vft-multiple-tabs"
|
|
24
|
-
}),
|
|
25
|
+
}), De = /* @__PURE__ */ B({
|
|
25
26
|
...be,
|
|
26
27
|
props: {
|
|
27
28
|
tabsStyle: {},
|
|
@@ -32,15 +33,15 @@ const be = B({
|
|
|
32
33
|
fixExtraScrollWidth: {}
|
|
33
34
|
},
|
|
34
35
|
setup(u) {
|
|
35
|
-
const R =
|
|
36
|
-
() =>
|
|
36
|
+
const R = ie("multiple-tabs"), s = q().appContext.config.globalProperties.$router, I = ve(s), i = se(), f = d(
|
|
37
|
+
() => i.getTabList.filter((e) => !e.meta?.hideTab && $(e)).length
|
|
37
38
|
), L = d(
|
|
38
39
|
() => Math.max(u.fixTabCount, f.value)
|
|
39
|
-
), r = v(""),
|
|
40
|
+
), r = v(""), l = v(0), p = v(), { go: C } = le(s), m = d(() => i.getTabList.filter((e) => !e.meta?.hideTab));
|
|
40
41
|
G(() => {
|
|
41
42
|
if (r.value) {
|
|
42
43
|
const e = m.value.findIndex((n) => b(n) === r.value);
|
|
43
|
-
e === -1 ?
|
|
44
|
+
e === -1 ? l.value = m.value?.length - 1 : l.value = e, l.value = l.value < f.value ? f.value - 1 : l.value;
|
|
44
45
|
}
|
|
45
46
|
}), oe && me(() => {
|
|
46
47
|
p.value = t(s.currentRoute);
|
|
@@ -50,13 +51,13 @@ const be = B({
|
|
|
50
51
|
const { meta: n = {} } = e, { currentActivePath: a, hideTab: c } = n, W = c ? a : null, S = b(e);
|
|
51
52
|
if (r.value !== S && (r.value = S), W) {
|
|
52
53
|
const k = s.getRoutes().find((j) => j.path === a);
|
|
53
|
-
k &&
|
|
54
|
+
k && i.addTab(
|
|
54
55
|
k,
|
|
55
56
|
t(p),
|
|
56
|
-
|
|
57
|
+
l.value,
|
|
57
58
|
e
|
|
58
59
|
);
|
|
59
|
-
} else c ||
|
|
60
|
+
} else c || i.addTab(t(e), t(p), l.value);
|
|
60
61
|
});
|
|
61
62
|
function N(e) {
|
|
62
63
|
if (r.value === e.paneName)
|
|
@@ -67,7 +68,7 @@ const be = B({
|
|
|
67
68
|
C(a || n.fullPath || n.path);
|
|
68
69
|
}
|
|
69
70
|
function _(e) {
|
|
70
|
-
|
|
71
|
+
i.closeTabByKey(e, s);
|
|
71
72
|
}
|
|
72
73
|
const { refs: E, setRefs: F } = ce();
|
|
73
74
|
function A(e) {
|
|
@@ -100,11 +101,11 @@ const be = B({
|
|
|
100
101
|
),
|
|
101
102
|
...u.contextMenuStyle
|
|
102
103
|
}, K = () => {
|
|
103
|
-
|
|
104
|
+
i.toggleFullScreen(i.getTabList[l.value], s);
|
|
104
105
|
}, x = v(!1);
|
|
105
106
|
let y;
|
|
106
107
|
const U = () => {
|
|
107
|
-
clearInterval(y), x.value = !0,
|
|
108
|
+
clearInterval(y), x.value = !0, i.refreshPage(0, s, i.getTabList[l.value]), y = setTimeout(() => {
|
|
108
109
|
x.value = !1;
|
|
109
110
|
}, 500);
|
|
110
111
|
};
|
|
@@ -161,7 +162,7 @@ const be = B({
|
|
|
161
162
|
}, null, 8, ["rotate"]),
|
|
162
163
|
h(t(w), {
|
|
163
164
|
onClick: K,
|
|
164
|
-
icon: t(
|
|
165
|
+
icon: t(i).isFullScreen ? "icon-collapse" : "icon-expand",
|
|
165
166
|
pointer: ""
|
|
166
167
|
}, null, 8, ["icon"])
|
|
167
168
|
], 2)
|
|
@@ -174,5 +175,5 @@ const be = B({
|
|
|
174
175
|
}
|
|
175
176
|
});
|
|
176
177
|
export {
|
|
177
|
-
|
|
178
|
+
De as default
|
|
178
179
|
};
|