vft 0.0.430 → 0.0.433
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/md-container/index.d.ts +9 -0
- package/es/components/md-container/md-container.vue.d.ts +2 -0
- package/es/components/md-container/md-container.vue2.js +78 -74
- package/es/components/menu/sub-menu.vue2.js +33 -31
- package/es/components/side-menu/side-menu.vue.d.ts +3 -3
- package/es/components/side-menu/side-menu.vue2.js +48 -46
- package/es/components/side-menu/use-drag-line.d.ts +3 -1
- package/es/components/side-menu/use-drag-line.js +33 -27
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/lib/components/md-container/index.d.ts +9 -0
- package/lib/components/md-container/md-container.vue.d.ts +2 -0
- package/lib/components/md-container/md-container.vue2.cjs +1 -1
- package/lib/components/menu/sub-menu.vue2.cjs +1 -1
- package/lib/components/side-menu/side-menu.vue.d.ts +3 -3
- package/lib/components/side-menu/side-menu.vue2.cjs +1 -1
- package/lib/components/side-menu/use-drag-line.cjs +1 -1
- package/lib/components/side-menu/use-drag-line.d.ts +3 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/package.json +4 -4
- package/theme-style/index.css +1 -1
- package/theme-style/src/header-layout.scss +1 -1
- package/theme-style/src/menu.scss +7 -2
- package/theme-style/src/side-menu.scss +0 -3
- package/theme-style/vft-header-layout.css +1 -1
- package/theme-style/vft-menu.css +1 -1
- package/theme-style/vft-side-menu.css +1 -1
- package/web-types.json +1 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { defineComponent as J, toRefs as
|
|
2
|
-
import { listenerRouteChange as
|
|
3
|
-
import { useSortable as
|
|
4
|
-
import { isNullOrUndefined as
|
|
1
|
+
import { defineComponent as J, toRefs as ie, useSlots as de, getCurrentInstance as re, ref as h, computed as b, watch as ce, onMounted as pe, nextTick as fe, createVNode as p, h as y, isVNode as me } from "vue";
|
|
2
|
+
import { listenerRouteChange as ve, useRouterHelper as he } from "@vft/router";
|
|
3
|
+
import { useSortable as ge } from "@vft/use/sortable";
|
|
4
|
+
import { isNullOrUndefined as W, isNumber as j, isUrl as be } from "@vft/utils";
|
|
5
5
|
import "@vueuse/core";
|
|
6
6
|
import { addUnit as q } from "../../utils/helper.js";
|
|
7
7
|
import "lodash-es";
|
|
8
8
|
import "../form/index.js";
|
|
9
|
-
import { VftIcon as
|
|
10
|
-
import { VftMenu as
|
|
11
|
-
import { useNamespace as
|
|
9
|
+
import { VftIcon as ye } from "../icon/index.js";
|
|
10
|
+
import { VftMenu as Me, VftSubMenu as Se, VftMenuItem as E } from "../menu/index.js";
|
|
11
|
+
import { useNamespace as Oe } from "../../hooks/use-namespace/index.js";
|
|
12
12
|
import "../../hooks/use-model-toggle/index.js";
|
|
13
13
|
import "@popperjs/core";
|
|
14
14
|
import "../../hooks/use-z-index/index.js";
|
|
15
15
|
import { useDragLine as Ce } from "./use-drag-line.js";
|
|
16
|
-
function
|
|
17
|
-
return typeof g == "function" || Object.prototype.toString.call(g) === "[object Object]" && !
|
|
16
|
+
function xe(g) {
|
|
17
|
+
return typeof g == "function" || Object.prototype.toString.call(g) === "[object Object]" && !me(g);
|
|
18
18
|
}
|
|
19
|
-
const
|
|
19
|
+
const _e = J({
|
|
20
20
|
name: "vft-side-menu"
|
|
21
|
-
}),
|
|
22
|
-
...
|
|
21
|
+
}), Le = /* @__PURE__ */ J({
|
|
22
|
+
..._e,
|
|
23
23
|
props: {
|
|
24
24
|
isFixedLeft: {
|
|
25
25
|
type: Boolean,
|
|
@@ -98,7 +98,7 @@ const xe = J({
|
|
|
98
98
|
defaultOpeneds: $,
|
|
99
99
|
openMenuCollapse: F,
|
|
100
100
|
defaultOpenedsLevel: M
|
|
101
|
-
} =
|
|
101
|
+
} = ie(t), u = Oe("side-menu"), r = de(), C = re(), x = h(), a = b(() => ({
|
|
102
102
|
path: "path",
|
|
103
103
|
children: "children",
|
|
104
104
|
title: "title",
|
|
@@ -114,7 +114,7 @@ const xe = J({
|
|
|
114
114
|
};
|
|
115
115
|
return n(e), l;
|
|
116
116
|
};
|
|
117
|
-
|
|
117
|
+
ve(({
|
|
118
118
|
route: e
|
|
119
119
|
}) => {
|
|
120
120
|
!e || e.meta?.hideSide && !t.useRouterJump || (x.value = e.path);
|
|
@@ -148,7 +148,7 @@ const xe = J({
|
|
|
148
148
|
const l = e[a.value.path], n = e[a.value.title], s = e?.[a.value.children], i = e?.[a.value.index], v = e?.[a.value.icon], T = !!e?.[a.value.disabled], R = t.disabledJudgeTurnOver ? !T : T, N = i || l || o + n;
|
|
149
149
|
return s?.length ? y(
|
|
150
150
|
// @ts-ignore
|
|
151
|
-
|
|
151
|
+
Se,
|
|
152
152
|
{
|
|
153
153
|
...e,
|
|
154
154
|
popperAppendToBody: !0,
|
|
@@ -160,18 +160,18 @@ const xe = J({
|
|
|
160
160
|
popperClass: u.e("popper")
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
|
-
default: () => s?.map((c,
|
|
164
|
-
const
|
|
165
|
-
return c?.[a.value.children]?.length ? B(c,
|
|
163
|
+
default: () => s?.map((c, oe) => {
|
|
164
|
+
const O = c[a.value.path], I = c[a.value.index], ae = c[a.value.icon], ue = c[a.value.title], V = !!c[a.value.disabled], se = t.disabledJudgeTurnOver ? !V : V;
|
|
165
|
+
return c?.[a.value.children]?.length ? B(c, oe) : (
|
|
166
166
|
// @ts-ignore
|
|
167
167
|
y(E, {
|
|
168
168
|
...c,
|
|
169
|
-
key: I ||
|
|
170
|
-
index: I ||
|
|
171
|
-
route:
|
|
172
|
-
icon:
|
|
173
|
-
title:
|
|
174
|
-
disabled: t.openDisabled &&
|
|
169
|
+
key: I || O,
|
|
170
|
+
index: I || O,
|
|
171
|
+
route: O,
|
|
172
|
+
icon: ae,
|
|
173
|
+
title: ue,
|
|
174
|
+
disabled: t.openDisabled && se
|
|
175
175
|
}, r.menuItem ? () => r.menuItem?.({
|
|
176
176
|
item: c
|
|
177
177
|
}) : "")
|
|
@@ -197,14 +197,14 @@ const xe = J({
|
|
|
197
197
|
width: 0
|
|
198
198
|
} : {},
|
|
199
199
|
height: `calc(100% - ${t.menuTopBottomHeight}px)`
|
|
200
|
-
})), w =
|
|
200
|
+
})), w = C.appContext.config.globalProperties.$router;
|
|
201
201
|
async function X(e) {
|
|
202
202
|
if (t.useRouterJump) {
|
|
203
203
|
const {
|
|
204
204
|
go: o
|
|
205
|
-
} =
|
|
205
|
+
} = he(w), l = e.route;
|
|
206
206
|
let n = e.route;
|
|
207
|
-
e.indexPath.some((i) =>
|
|
207
|
+
e.indexPath.some((i) => be(i)) && (n = e.indexPath.slice(-2).join("/"));
|
|
208
208
|
const s = w.getRoutes().filter((i) => i.path === n)?.[0]?.meta?.linkTarget;
|
|
209
209
|
o(s ? {
|
|
210
210
|
url: l,
|
|
@@ -215,32 +215,34 @@ const xe = J({
|
|
|
215
215
|
}
|
|
216
216
|
d("select", e);
|
|
217
217
|
}
|
|
218
|
-
const S = h(),
|
|
218
|
+
const S = h(), D = h(), k = h(), ee = b(() => ({
|
|
219
219
|
...t.collapseWidth === 0 && f.value ? {
|
|
220
220
|
borderRight: "none"
|
|
221
221
|
} : {},
|
|
222
222
|
width: q(t.width),
|
|
223
223
|
height: t.height
|
|
224
224
|
}));
|
|
225
|
-
|
|
226
|
-
e ? d("update:width", t.collapseWidth) : d("update:width",
|
|
227
|
-
})
|
|
228
|
-
const
|
|
225
|
+
ce(() => f.value, (e) => {
|
|
226
|
+
te.value || (e ? d("update:width", t.collapseWidth) : d("update:width", k.value || t.width), k.value = t.width);
|
|
227
|
+
});
|
|
228
|
+
const {
|
|
229
|
+
isDraging: te
|
|
230
|
+
} = Ce(S, D, C), le = b(() => ({
|
|
229
231
|
left: q(t.width)
|
|
230
|
-
})),
|
|
231
|
-
return
|
|
232
|
-
|
|
232
|
+
})), ne = b(() => [u.b(), t.isFixedLeft ? u.m("fixed") : ""]), A = h([]);
|
|
233
|
+
return pe(() => {
|
|
234
|
+
fe(() => {
|
|
233
235
|
if (t.dragOption?.dragClassName) {
|
|
234
236
|
const e = document.querySelectorAll(`.${u.e(t.dragOption?.dragClassName)}`)?.[0], {
|
|
235
237
|
initSortable: o
|
|
236
|
-
} =
|
|
238
|
+
} = ge(e, {
|
|
237
239
|
draggable: ".vft-menu-item",
|
|
238
240
|
onEnd: (l) => {
|
|
239
241
|
const {
|
|
240
242
|
oldIndex: n,
|
|
241
243
|
newIndex: s
|
|
242
244
|
} = l;
|
|
243
|
-
|
|
245
|
+
W(n) || W(s) || n === s || d("dragEnd", n, s);
|
|
244
246
|
},
|
|
245
247
|
...t.dragOption
|
|
246
248
|
});
|
|
@@ -253,46 +255,46 @@ const xe = J({
|
|
|
253
255
|
menuRef: m
|
|
254
256
|
}), () => {
|
|
255
257
|
let e;
|
|
256
|
-
return M.value && (
|
|
258
|
+
return M.value && (A.value = Z(t.menus, j(M.value) ? M.value : 1 / 0)), p("div", {
|
|
257
259
|
ref: S,
|
|
258
|
-
class:
|
|
260
|
+
class: ne.value,
|
|
259
261
|
style: ee.value
|
|
260
262
|
}, [r.top ? p("div", {
|
|
261
263
|
class: u.e("top")
|
|
262
|
-
}, [r.top()]) : null, y(p(
|
|
264
|
+
}, [r.top()]) : null, y(p(Me, {
|
|
263
265
|
ref: m,
|
|
264
266
|
onSelect: X,
|
|
265
267
|
onOpen: z,
|
|
266
268
|
onSubMenuClick: Y,
|
|
267
269
|
defaultActive: H?.value || x.value,
|
|
268
|
-
defaultOpeneds: $?.value ||
|
|
270
|
+
defaultOpeneds: $?.value || A.value,
|
|
269
271
|
disableSubMenuAction: t.disableSubMenuAction,
|
|
270
272
|
class: [u.e("con"), t.dragOption?.dragClassName ? u.e(t.dragOption?.dragClassName) : ""],
|
|
271
273
|
style: Q.value,
|
|
272
274
|
collapse: F.value ? f.value : !1,
|
|
273
275
|
uniqueOpened: U.value,
|
|
274
276
|
collapseTransition: !1
|
|
275
|
-
},
|
|
277
|
+
}, xe(e = t.menus.map((o, l) => B(o, l))) ? e : {
|
|
276
278
|
default: () => [e]
|
|
277
279
|
})), r.bottom ? p("div", {
|
|
278
280
|
class: u.e("bottom")
|
|
279
281
|
}, [r.bottom()]) : t.showCollapse ? p("div", {
|
|
280
282
|
onClick: () => d("update:collapse", !f.value),
|
|
281
283
|
class: [u.e("bottom"), u.e("collapse")]
|
|
282
|
-
}, [p(
|
|
284
|
+
}, [p(ye, {
|
|
283
285
|
style: {
|
|
284
286
|
transform: f.value ? "rotateY(180deg)" : ""
|
|
285
287
|
},
|
|
286
288
|
size: 20,
|
|
287
289
|
icon: "icon-sidebar-collapse"
|
|
288
290
|
}, null)]) : null, r.default?.(), t.dragWidthCfg ? p("div", {
|
|
289
|
-
ref:
|
|
290
|
-
style:
|
|
291
|
+
ref: D,
|
|
292
|
+
style: le.value,
|
|
291
293
|
class: u.e("drag-bar")
|
|
292
294
|
}, null) : null]);
|
|
293
295
|
};
|
|
294
296
|
}
|
|
295
297
|
});
|
|
296
298
|
export {
|
|
297
|
-
|
|
299
|
+
Le as default
|
|
298
300
|
};
|
|
@@ -1,42 +1,48 @@
|
|
|
1
|
-
import { useDebounceFn as
|
|
2
|
-
import { onMounted as
|
|
3
|
-
function
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { useDebounceFn as x, useThrottleFn as v } from "@vft/use";
|
|
2
|
+
import { ref as w, onMounted as T, nextTick as c, unref as r } from "vue";
|
|
3
|
+
function X(l, m, o) {
|
|
4
|
+
const i = w(!1), a = o.props?.dragWidthCfg?.minWidth || 200;
|
|
5
|
+
T(() => {
|
|
6
|
+
o.props?.dragWidthCfg && c(() => {
|
|
7
|
+
x(g, 100)();
|
|
8
8
|
});
|
|
9
9
|
});
|
|
10
|
-
function
|
|
11
|
-
const n =
|
|
12
|
-
return n ? Reflect.has(n, "$el") ?
|
|
10
|
+
function f(e) {
|
|
11
|
+
const n = r(e);
|
|
12
|
+
return n ? Reflect.has(n, "$el") ? r(e)?.$el : r(e) : null;
|
|
13
13
|
}
|
|
14
|
-
function
|
|
15
|
-
document.onmousemove = function(
|
|
16
|
-
let t = e.left + (
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
return t <=
|
|
20
|
-
|
|
14
|
+
function p(e, n, s) {
|
|
15
|
+
document.onmousemove = function(u) {
|
|
16
|
+
let t = e.left + (u.clientX - s);
|
|
17
|
+
u = u || window.event;
|
|
18
|
+
const d = o.props?.dragWidthCfg?.maxWidth || 800, W = r(a);
|
|
19
|
+
return t <= W ? void 0 : (t < 0 && (t = 0), t > d && (t = d), e.style.left = t + "px", v(() => {
|
|
20
|
+
o.emit("update:width", t + "px");
|
|
21
21
|
}, 150)(), !1);
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
function
|
|
24
|
+
function h(e) {
|
|
25
25
|
document.onmouseup = function() {
|
|
26
|
-
document.onmousemove = null, document.onmouseup = null,
|
|
26
|
+
document.onmousemove = null, document.onmouseup = null, i.value = !0, c(() => {
|
|
27
|
+
o.emit("dragWidthEnd"), setTimeout(() => {
|
|
28
|
+
i.value = !1;
|
|
29
|
+
}, 100);
|
|
30
|
+
}), e.releaseCapture?.();
|
|
27
31
|
};
|
|
28
32
|
}
|
|
29
|
-
function
|
|
30
|
-
const e =
|
|
33
|
+
function g() {
|
|
34
|
+
const e = f(m);
|
|
31
35
|
if (!e) return;
|
|
32
|
-
const n =
|
|
33
|
-
n && (e.onmousedown = (
|
|
34
|
-
const
|
|
35
|
-
return e.left = e.offsetLeft,
|
|
36
|
+
const n = f(l);
|
|
37
|
+
n && (e.onmousedown = (s) => {
|
|
38
|
+
const u = s?.clientX;
|
|
39
|
+
return e.left = e.offsetLeft, p(e, n, u), h(e), e.setCapture?.(), !1;
|
|
36
40
|
});
|
|
37
41
|
}
|
|
38
|
-
return {
|
|
42
|
+
return {
|
|
43
|
+
isDraging: i
|
|
44
|
+
};
|
|
39
45
|
}
|
|
40
46
|
export {
|
|
41
|
-
|
|
47
|
+
X as useDragLine
|
|
42
48
|
};
|
package/es/package.json.d.ts
CHANGED
package/es/package.json.js
CHANGED
|
@@ -3,6 +3,9 @@ export declare const VftMdContainer: import("vft/es/utils").SFCWithInstall<{
|
|
|
3
3
|
tocList: {
|
|
4
4
|
type: import("vue").PropType<string>;
|
|
5
5
|
};
|
|
6
|
+
scrollDom: {
|
|
7
|
+
type: import("vue").PropType<string>;
|
|
8
|
+
};
|
|
6
9
|
}>> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
7
10
|
P: {};
|
|
8
11
|
B: {};
|
|
@@ -14,6 +17,9 @@ export declare const VftMdContainer: import("vft/es/utils").SFCWithInstall<{
|
|
|
14
17
|
tocList: {
|
|
15
18
|
type: import("vue").PropType<string>;
|
|
16
19
|
};
|
|
20
|
+
scrollDom: {
|
|
21
|
+
type: import("vue").PropType<string>;
|
|
22
|
+
};
|
|
17
23
|
}>> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
18
24
|
__isFragment?: never;
|
|
19
25
|
__isTeleport?: never;
|
|
@@ -22,6 +28,9 @@ export declare const VftMdContainer: import("vft/es/utils").SFCWithInstall<{
|
|
|
22
28
|
tocList: {
|
|
23
29
|
type: import("vue").PropType<string>;
|
|
24
30
|
};
|
|
31
|
+
scrollDom: {
|
|
32
|
+
type: import("vue").PropType<string>;
|
|
33
|
+
};
|
|
25
34
|
}>> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
26
35
|
$slots: {
|
|
27
36
|
default?(_: {}): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),p=require("../icon/index.cjs"),E=require("../icon-text/index.cjs"),N=require("../md-comment/index.cjs"),_=require("../side-menu/index.cjs"),S=require("../tag/index.cjs");require("@vueuse/core");const i=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");const b=require("../../utils/ns-cover.cjs"),T=require("lodash-es");require("../form/index.cjs");const D=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const $=require("@vft/router"),B=require("@vft/use"),L=require("@vft/use/photoswipe"),g=require("@vft/utils/date"),M=require("./use/useCopyCode.cjs"),w=require("./utils.cjs"),z={class:"info-container"},P={key:0,class:"left"},R={class:"infos"},A={class:"reading",title:"阅读量"},I=["data-path"],j=e.defineComponent({name:"vft-md-container"}),O=e.defineComponent({...j,props:{tocList:{},scrollDom:{default:".layout-content"}},setup(s){const l=D.useNamespace("md-container"),v=e.getCurrentInstance(),c=e.ref(),a=e.computed(()=>s.tocList&&s.tocList!=="undefined"?JSON.parse(s.tocList):""),{initPhotoSwipe:y}=L.usePhotoSwipe(`.${l.e("content")} img`);y(),M.useCopyCode();const u=v.appContext.config.globalProperties.$router,r=u.currentRoute.value,h=b.primaryColor(),C=i.isClient?location.pathname:"",{go:q}=$.useRouterHelper(u);function k(n){q(`/?classify=${n}`)}const x=e.computed(()=>r.meta.category?.includes("api")),d=T.debounce(()=>i.handleScrollPosition({scrollDom:".layout-content",contentDom:".header-anchor",selectAttrName:"href",offset:100,callback:n=>{c.value.menuRef.updateActiveIndex(n.slice(1))}}),100),m=n=>{i.jumpElement(`#${n.index}`)},f=()=>{const n=document.querySelector(s.scrollDom);n&&n.removeEventListener("scroll",d)};return e.onMounted(()=>{e.nextTick(()=>{setTimeout(()=>{i.jumpElement(encodeURI(r.hash))}),setTimeout(()=>{const t=document.querySelector(".layout-content");t&&t.addEventListener("scroll",d)},1500);const n=document.querySelectorAll(".item.expand"),o=document.querySelectorAll("div.language-vue");for(let t=0;t<n.length;t++)B.useEventListener(n[t],"click",()=>{o[t].offsetHeight===0?(o[t].style.height="auto",o[t].style.visibility="visible"):(o[t].style.height="0px",o[t].style.visibility="hidden")})})}),e.onDeactivated(()=>{f()}),e.onBeforeMount(()=>{f()}),(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(l).b(),e.unref(l).is("api",x.value)])},[a.value?.length?(e.openBlock(),e.createBlock(e.unref(_.VftSideMenu),{key:0,ref_key:"sideMenuRef",ref:c,"default-active":a.value[0].slug,class:"toc-side-menu",menus:a.value,"is-fixed-left":!1,"default-openeds-level":"","unique-opened":!1,"disable-sub-menu-action":"","attr-mapping":{index:"slug"},onSelect:m,onSubMenuClick:m},null,8,["default-active","menus"])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(e.unref(l).e("header"))},[e.createElementVNode("h1",{class:e.normalizeClass(e.unref(l).e("title"))},e.toDisplayString(e.unref(r).meta?.title),3),e.createElementVNode("div",z,[e.unref(r).meta?.category?.length?(e.openBlock(),e.createElementBlock("div",P,[e.createVNode(e.unref(p.VftIcon),{size:14,color:e.unref(h),icon:"icon-category"},null,8,["color"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r).meta?.category,(t,V)=>(e.openBlock(),e.createBlock(e.unref(S.VftTag),{size:"small",class:"tag",type:e.unref(i.getRandomElementForArr)(e.unref(w.COMP_TYPE),1)[0],key:V,onClick:F=>k(t)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t),1)]),_:2},1032,["type","onClick"]))),128))])):e.createCommentVNode("",!0),e.createElementVNode("div",R,[e.createVNode(e.unref(E.VftIconText),{title:"发布时间",icon:"icon-date",size:12,class:"mr-10px",distance:5,text:e.unref(g.formatToDateTime)((e.unref(r).meta?.date?new Date(e.unref(r).meta.date).getTime():new Date().getTime())-e.unref(g.getDayTimestamp)())},null,8,["text"]),e.createElementVNode("div",A,[e.createVNode(e.unref(p.VftIcon),{icon:"icon-reading",size:14,class:"mr-5px"}),e.createElementVNode("div",{class:"waline-pageview-count lh-1","data-path":e.unref(C)},"0",8,I)])])])],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(l).e("content"))},[e.renderSlot(n.$slots,"default")],2),e.createVNode(e.unref(N.VftMdComment)),o[0]||(o[0]=e.createElementVNode("ins",{class:"adsbygoogle",style:{display:"block","text-align":"center"},"data-ad-layout":"in-article","data-ad-format":"fluid","data-ad-client":"ca-pub-4046301015031382","data-ad-slot":"6525439078"},null,-1))],2))}});exports.default=O;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),m=require("@vft/utils"),ee=require("../tooltip/index.cjs"),V=require("../icon/index.cjs"),te=require("../collapse-transition/index.cjs"),N=require("@vueuse/core"),R=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const x=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const oe=require("./use-menu.cjs"),ne=require("./use-menu-css-var.cjs"),ue=e.defineComponent({name:"vft-sub-menu",inheritAttrs:!1}),le=e.defineComponent({...ue,props:{index:{},showTimeout:{default:300},hideTimeout:{default:300},popperClass:{},disabled:{type:Boolean},popperOffset:{default:6},expandIcon:{},collapseIcon:{},title:{},icon:{},showArrow:{type:Boolean,default:!0},toolTipCfg:{},teleported:{type:Boolean,default:void 0}},emits:["mouseenter","mouseleave"],setup(o,{expose:D,emit:L}){const S=L,w=x.useNamespace("sub-menu"),d=e.getCurrentInstance(),{indexPath:f,parentMenu:q}=oe.default(d,e.computed(()=>o.index)),a=x.useNamespace("menu"),l=x.useNamespace("sub-menu"),t=e.inject("rootMenu");t||R.throwError(w.b(),"can not inject root menu");const r=e.inject(`subMenu:${q.value.uid}`);r||R.throwError(w.b(),"can not inject sub menu");const C=e.ref({});let M;const y=e.ref(!1),H=e.ref(),I=e.ref(null),k=e.computed(()=>c.value==="horizontal"&&b.value?"bottom-start":"right-start"),b=e.computed(()=>r.level===0),g=e.computed(()=>o.teleported===void 0?b.value:o.teleported),U=e.computed(()=>t.props.collapse?`${a.namespace.value}-zoom-in-left`:`${a.namespace.value}-zoom-in-top`),Z=e.computed(()=>c.value==="horizontal"&&b.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","left-start","bottom-start","bottom-end","top-start","top-end"]),i=e.computed(()=>t.openedMenus.includes(o.index)),p=e.computed(()=>{let n=!1;return Object.values(C.value).forEach(s=>{s.active&&(n=!0)}),o.index===t.activeIndex&&(n=!0),n}),z=e.computed(()=>t.props.backgroundColor||""),E=e.computed(()=>t.props.activeTextColor||""),A=e.computed(()=>t.props.textColor||""),c=e.computed(()=>t.props.mode),G=e.computed(()=>t.props.persistent),h=e.reactive({index:o.index,indexPath:f,active:p}),j=ne.useMenuCssVar(t.props,r.level+1),P=e.computed(()=>c.value!=="horizontal"?{color:A.value}:{borderBottomColor:p.value?t.props.activeTextColor?E.value:"":"transparent",color:p.value?E.value:A.value}),J=()=>I.value?.popperRef?.popperInstanceRef?.destroy(),K=n=>{n||J()},$=n=>{const s={e:n,index:o.index,indexPath:f.value,active:p.value};if(t.props.menuTrigger==="hover"&&t.props.mode==="horizontal"&&!m.isMobile()||t.props.collapse&&t.props.mode==="vertical"||o.disabled){t.handleSubMenuClick({...s,isFirstLevel:!0});return}t.handleSubMenuClick(s)},v=(n,s=o.showTimeout)=>{n.type!=="focus"&&(t.props.menuTrigger==="click"&&t.props.mode==="horizontal"||!t.props.collapse&&t.props.mode==="vertical"||o.disabled||(r.mouseInChild.value=!0,M?.(),{stop:M}=N.useTimeoutFn(()=>{t.openMenu(o.index,f.value)},s),g.value&&q.value.vnode.el?.dispatchEvent(new MouseEvent("mouseenter")),S("mouseenter",n)))},Q=()=>{t.inSubMenuMouseEnterTimer&&clearTimeout(t.inSubMenuMouseEnterTimer),t.inSubMenuMouseleaveTimer&&clearTimeout(t.inSubMenuMouseleaveTimer),t.inSubMenuMouseEnterTimer=setTimeout(()=>{t.inSubMenu=!0},o.showTimeout+10)},W=()=>{t.inSubMenuMouseEnterTimer&&clearTimeout(t.inSubMenuMouseEnterTimer),t.inSubMenuMouseleaveTimer&&clearTimeout(t.inSubMenuMouseleaveTimer),t.inSubMenuMouseleaveTimer=setTimeout(()=>{t.inSubMenu=!1},o.hideTimeout-10)},T=(n,s=!1)=>{t.props.menuTrigger==="click"&&t.props.mode==="horizontal"||!t.props.collapse&&t.props.mode==="vertical"||(M?.(),r.mouseInChild.value=!1,{stop:M}=N.useTimeoutFn(()=>{!y.value&&t.closeMenu(o.index,f.value)},o.hideTimeout),g.value&&s&&d.parent?.type.name==="vft-sub-menu"&&r.handleMouseleave?.(n,!0),S("mouseleave",n))};e.watch(()=>t.props.collapse,n=>K(!!n));{const n=u=>{C.value[u.index]=u},s=u=>{delete C.value[u.index]};e.provide(`subMenu:${d.uid}`,{addSubMenu:n,removeSubMenu:s,handleMouseleave:T,mouseInChild:y,level:r.level+1})}D({opened:i}),e.onMounted(()=>{t.addSubMenu(h),r.addSubMenu(h)}),e.onBeforeUnmount(()=>{r.removeSubMenu(h),t.removeSubMenu(h)});const B=e.useSlots(),F=e.computed(()=>m.singleAttrToObj(o.icon,"icon")),X=e.computed(()=>m.singleAttrToObj(o.expandIcon,"icon")),Y=e.computed(()=>m.singleAttrToObj(o.collapseIcon,"icon")),_=e.computed(()=>c.value==="horizontal"&&b.value||c.value==="vertical"&&!t.props.collapse?{icon:"icon-arrow-down",size:20,...X.value}:{icon:"icon-arrow-right",size:18,...Y.value}),O=e.computed(()=>m.renderTNode(d,"title"));return()=>{const n=[F.value?.icon?e.h(V.VftIcon,{...F.value}):null,e.h("span",{class:[l.e("text"),l.is("arrow",o.showArrow)],title:d.props.title},O.value),o.showArrow?e.h(V.VftIcon,{class:l.e("icon-arrow"),..._.value,style:{transform:i.value?"rotateZ(180deg)":"none"}}):!1],s=t.isMenuPopup?e.h(ee.VftTooltip,{ref:I,visible:i.value,effect:"light",pure:!0,offset:o.popperOffset,showArrow:!1,persistent:G.value,popperClass:o.popperClass,placement:k.value,teleported:g.value,fallbackPlacements:Z.value,transition:U.value,gpuAcceleration:!1,...o.toolTipCfg},{content:()=>e.h("div",{class:[a.m(c.value),a.m("popup-container"),o.popperClass],onMouseenter:u=>v(u,100),onMouseleave:u=>T(u,!0),onFocus:u=>v(u,100)},[e.h("
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),m=require("@vft/utils"),ee=require("../tooltip/index.cjs"),V=require("../icon/index.cjs"),te=require("../collapse-transition/index.cjs"),N=require("@vueuse/core"),R=require("../../utils/error.cjs");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const x=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const oe=require("./use-menu.cjs"),ne=require("./use-menu-css-var.cjs"),ue=e.defineComponent({name:"vft-sub-menu",inheritAttrs:!1}),le=e.defineComponent({...ue,props:{index:{},showTimeout:{default:300},hideTimeout:{default:300},popperClass:{},disabled:{type:Boolean},popperOffset:{default:6},expandIcon:{},collapseIcon:{},title:{},icon:{},showArrow:{type:Boolean,default:!0},toolTipCfg:{},teleported:{type:Boolean,default:void 0}},emits:["mouseenter","mouseleave"],setup(o,{expose:D,emit:L}){const S=L,w=x.useNamespace("sub-menu"),d=e.getCurrentInstance(),{indexPath:f,parentMenu:q}=oe.default(d,e.computed(()=>o.index)),a=x.useNamespace("menu"),l=x.useNamespace("sub-menu"),t=e.inject("rootMenu");t||R.throwError(w.b(),"can not inject root menu");const r=e.inject(`subMenu:${q.value.uid}`);r||R.throwError(w.b(),"can not inject sub menu");const C=e.ref({});let M;const y=e.ref(!1),H=e.ref(),I=e.ref(null),k=e.computed(()=>c.value==="horizontal"&&b.value?"bottom-start":"right-start"),b=e.computed(()=>r.level===0),g=e.computed(()=>o.teleported===void 0?b.value:o.teleported),U=e.computed(()=>t.props.collapse?`${a.namespace.value}-zoom-in-left`:`${a.namespace.value}-zoom-in-top`),Z=e.computed(()=>c.value==="horizontal"&&b.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","left-start","bottom-start","bottom-end","top-start","top-end"]),i=e.computed(()=>t.openedMenus.includes(o.index)),p=e.computed(()=>{let n=!1;return Object.values(C.value).forEach(s=>{s.active&&(n=!0)}),o.index===t.activeIndex&&(n=!0),n}),z=e.computed(()=>t.props.backgroundColor||""),E=e.computed(()=>t.props.activeTextColor||""),A=e.computed(()=>t.props.textColor||""),c=e.computed(()=>t.props.mode),G=e.computed(()=>t.props.persistent),h=e.reactive({index:o.index,indexPath:f,active:p}),j=ne.useMenuCssVar(t.props,r.level+1),P=e.computed(()=>c.value!=="horizontal"?{color:A.value}:{borderBottomColor:p.value?t.props.activeTextColor?E.value:"":"transparent",color:p.value?E.value:A.value}),J=()=>I.value?.popperRef?.popperInstanceRef?.destroy(),K=n=>{n||J()},$=n=>{const s={e:n,index:o.index,indexPath:f.value,active:p.value};if(t.props.menuTrigger==="hover"&&t.props.mode==="horizontal"&&!m.isMobile()||t.props.collapse&&t.props.mode==="vertical"||o.disabled){t.handleSubMenuClick({...s,isFirstLevel:!0});return}t.handleSubMenuClick(s)},v=(n,s=o.showTimeout)=>{n.type!=="focus"&&(t.props.menuTrigger==="click"&&t.props.mode==="horizontal"||!t.props.collapse&&t.props.mode==="vertical"||o.disabled||(r.mouseInChild.value=!0,M?.(),{stop:M}=N.useTimeoutFn(()=>{t.openMenu(o.index,f.value)},s),g.value&&q.value.vnode.el?.dispatchEvent(new MouseEvent("mouseenter")),S("mouseenter",n)))},Q=()=>{t.inSubMenuMouseEnterTimer&&clearTimeout(t.inSubMenuMouseEnterTimer),t.inSubMenuMouseleaveTimer&&clearTimeout(t.inSubMenuMouseleaveTimer),t.inSubMenuMouseEnterTimer=setTimeout(()=>{t.inSubMenu=!0},o.showTimeout+10)},W=()=>{t.inSubMenuMouseEnterTimer&&clearTimeout(t.inSubMenuMouseEnterTimer),t.inSubMenuMouseleaveTimer&&clearTimeout(t.inSubMenuMouseleaveTimer),t.inSubMenuMouseleaveTimer=setTimeout(()=>{t.inSubMenu=!1},o.hideTimeout-10)},T=(n,s=!1)=>{t.props.menuTrigger==="click"&&t.props.mode==="horizontal"||!t.props.collapse&&t.props.mode==="vertical"||(M?.(),r.mouseInChild.value=!1,{stop:M}=N.useTimeoutFn(()=>{!y.value&&t.closeMenu(o.index,f.value)},o.hideTimeout),g.value&&s&&d.parent?.type.name==="vft-sub-menu"&&r.handleMouseleave?.(n,!0),S("mouseleave",n))};e.watch(()=>t.props.collapse,n=>K(!!n));{const n=u=>{C.value[u.index]=u},s=u=>{delete C.value[u.index]};e.provide(`subMenu:${d.uid}`,{addSubMenu:n,removeSubMenu:s,handleMouseleave:T,mouseInChild:y,level:r.level+1})}D({opened:i}),e.onMounted(()=>{t.addSubMenu(h),r.addSubMenu(h)}),e.onBeforeUnmount(()=>{r.removeSubMenu(h),t.removeSubMenu(h)});const B=e.useSlots(),F=e.computed(()=>m.singleAttrToObj(o.icon,"icon")),X=e.computed(()=>m.singleAttrToObj(o.expandIcon,"icon")),Y=e.computed(()=>m.singleAttrToObj(o.collapseIcon,"icon")),_=e.computed(()=>c.value==="horizontal"&&b.value||c.value==="vertical"&&!t.props.collapse?{icon:"icon-arrow-down",size:20,...X.value}:{icon:"icon-arrow-right",size:18,...Y.value}),O=e.computed(()=>m.renderTNode(d,"title"));return()=>{const n=[F.value?.icon?e.h(V.VftIcon,{...F.value}):null,e.h("span",{class:[l.e("text"),l.is("arrow",o.showArrow)],title:d.props.title},O.value),o.showArrow?e.h(V.VftIcon,{class:l.e("icon-arrow"),..._.value,style:{transform:i.value?"rotateZ(180deg)":"none"}}):!1],s=t.isMenuPopup?e.h(ee.VftTooltip,{ref:I,visible:i.value,effect:"light",pure:!0,offset:o.popperOffset,showArrow:!1,persistent:G.value,popperClass:o.popperClass,placement:k.value,teleported:g.value,fallbackPlacements:Z.value,transition:U.value,gpuAcceleration:!1,...o.toolTipCfg},{content:()=>e.h("div",{class:[a.m(c.value),a.m("popup-container"),o.popperClass],onMouseenter:u=>v(u,100),onMouseleave:u=>T(u,!0),onFocus:u=>v(u,100)},[e.h("div",{class:[a.b(),a.m("popup"),a.m(`popup-${k.value}`)],style:j.value},[e.h("ul",{class:a.m("popup-ul-list")},B.default?.())])]),default:()=>e.h("div",{class:l.e("title"),style:[P.value,{backgroundColor:z.value}],onMouseenter:u=>v(u),onMouseleave:u=>T(u,!0),onClick:u=>$(u)},n)}):e.h(e.Fragment,{},[O.value?e.h("div",{class:l.e("title"),style:[P.value,{backgroundColor:z.value}],ref:H,onClick:$},n):null,e.h(te.VftCollapseTransition,{},{default:()=>e.withDirectives(e.h("ul",{role:"menu",class:[a.b(),a.m("inline")],style:j.value},[B.default?.()]),[[e.vShow,i.value]])})]);return e.h("li",{class:[l.b(),l.is("active",p.value),l.e(String(r.level)),l.is("in-popup",r.level!==0),l.is("opened",i.value),l.is("arrow",!0),l.is("disabled",o.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:i.value,onMouseenter:[Q,u=>v(u)],onMouseleave:[W,u=>T(u,!0)],onFocus:v},[s])}}});exports.default=le;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { SortableEvent } from 'sortablejs';
|
|
2
2
|
import type { MenuSelectEventData, SideMenuProps } from './types';
|
|
3
3
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SideMenuProps>, {
|
|
4
4
|
isFixedLeft: boolean;
|
|
@@ -27,7 +27,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
27
27
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
28
28
|
"update:collapse": (val: boolean) => void;
|
|
29
29
|
"update:width": (val: string | number) => void;
|
|
30
|
-
dragEnd: (oldIndex:
|
|
30
|
+
dragEnd: (oldIndex: SortableEvent, newIndex: SortableEvent) => void;
|
|
31
31
|
dragWidthEnd: () => void;
|
|
32
32
|
select: (val: MenuSelectEventData) => void;
|
|
33
33
|
subMenuClick: (val: any) => void;
|
|
@@ -54,7 +54,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
54
54
|
onSelect?: ((val: MenuSelectEventData) => any) | undefined;
|
|
55
55
|
"onUpdate:collapse"?: ((val: boolean) => any) | undefined;
|
|
56
56
|
"onUpdate:width"?: ((val: string | number) => any) | undefined;
|
|
57
|
-
onDragEnd?: ((oldIndex:
|
|
57
|
+
onDragEnd?: ((oldIndex: SortableEvent, newIndex: SortableEvent) => any) | undefined;
|
|
58
58
|
onDragWidthEnd?: (() => any) | undefined;
|
|
59
59
|
onSubMenuClick?: ((val: any) => any) | undefined;
|
|
60
60
|
onSubMenuOpenClick?: ((val: any) => any) | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),R=require("@vft/router"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("vue"),R=require("@vft/router"),oe=require("@vft/use/sortable"),g=require("@vft/utils");require("@vueuse/core");const I=require("../../utils/helper.cjs");require("lodash-es");require("../form/index.cjs");const ue=require("../icon/index.cjs"),b=require("../menu/index.cjs"),ae=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const se=require("./use-drag-line.cjs");function ie(h){return typeof h=="function"||Object.prototype.toString.call(h)==="[object Object]"&&!n.isVNode(h)}const de=n.defineComponent({name:"vft-side-menu"}),re=n.defineComponent({...de,props:{isFixedLeft:{type:Boolean,default:!1},menus:{},width:{default:200},height:{default:"100%"},collapseWidth:{default:50},attrMapping:{},menuTopBottomHeight:{default:0},showCollapse:{type:Boolean,default:!1},dragOption:{},dragWidthCfg:{type:[Boolean,Object],default:!1},useRouterJump:{type:Boolean,default:!1},openDisabled:{type:Boolean},autoScrollActiveDom:{type:[Boolean,Number],default:!0},openMenuCollapse:{type:Boolean,default:!0},collapse:{type:Boolean,default:!1},uniqueOpened:{type:Boolean,default:!0},disabledJudgeTurnOver:{type:Boolean,default:!1},defaultActive:{},defaultOpeneds:{},defaultOpenedsLevel:{type:[Number,Boolean],default:!1},disableSubMenuAction:{type:Boolean,default:!1}},emits:["update:collapse","update:width","dragEnd","dragWidthEnd","select","subMenuClick","subMenuOpenClick","menuItemMouseenter","menuItemMouseleave"],setup(h,{expose:W,emit:j}){const t=h,r=j,{defaultActive:L,collapse:f,uniqueOpened:E,defaultOpeneds:J,openMenuCollapse:P,defaultOpenedsLevel:y}=n.toRefs(t),s=ae.useNamespace("side-menu"),c=n.useSlots(),O=n.getCurrentInstance(),C=n.ref(),a=n.computed(()=>({path:"path",children:"children",title:"title",index:"path",icon:"icon",disabled:"disabled",...t.attrMapping})),U=(e,u=1/0)=>{const l=[],o=(i,d=0)=>{d>=u||i.forEach(m=>{m[a.value.children]?.length&&(l.push(m[a.value.index]),o(m[a.value.children],d+1))})};return o(e),l};R.listenerRouteChange(({route:e})=>{!e||e.meta?.hideSide&&!t.useRouterJump||(C.value=e.path)});const $=e=>{const u=e.e;if(t.autoScrollActiveDom&&u){const l=g.isNumber(t.autoScrollActiveDom)?t.autoScrollActiveDom:0,o=u.target;x({activeDom:o,offset:l})}r("subMenuOpenClick",e)},H=e=>{r("subMenuClick",e)},x=({activeDom:e=null,offset:u=0,delay:l=300}={})=>{v.value?.menu&&setTimeout(()=>{const o=e||document.querySelector(".vft-menu-item.is-active")||document.querySelector(".vft-sub-menu.is-active");o&&(v.value.menu.scrollTop=v.value.menu.scrollTop+(o.getBoundingClientRect().top-v.value.menu.getBoundingClientRect().top)+u)},l)},F=e=>{r("menuItemMouseenter",e)},Z=e=>{r("menuItemMouseleave",e)},_=(e,u)=>{const l=e[a.value.path],o=e[a.value.title],i=e?.[a.value.children],d=e?.[a.value.index],m=e?.[a.value.icon],D=!!e?.[a.value.disabled],T=t.disabledJudgeTurnOver?!D:D,k=d||l||u+o;return i?.length?n.h(b.VftSubMenu,{...e,popperAppendToBody:!0,key:k,index:k,title:o,icon:m,disabled:t.openDisabled&&T,popperClass:s.e("popper")},{default:()=>i?.map((p,ee)=>{const S=p[a.value.path],A=p[a.value.index],te=p[a.value.icon],ne=p[a.value.title],V=!!p[a.value.disabled],le=t.disabledJudgeTurnOver?!V:V;return p?.[a.value.children]?.length?_(p,ee):n.h(b.VftMenuItem,{...p,key:A||S,index:A||S,route:S,icon:te,title:ne,disabled:t.openDisabled&&le},c.menuItem?()=>c.menuItem?.({item:p}):"")})}):n.h(b.VftMenuItem,{...e,key:d||l,index:d||l,title:o,route:l,icon:m,disabled:t.openDisabled&&T,onMouseenter:()=>F(e),onMouseleave:()=>Z(e)},c.menuItem?()=>c.menuItem?.({item:e,index:u}):"")},v=n.ref(),z=n.computed(()=>({...t.collapseWidth===0&&f.value?{width:0}:{},height:`calc(100% - ${t.menuTopBottomHeight}px)`})),q=O.appContext.config.globalProperties.$router;async function Y(e){if(t.useRouterJump){const{go:u}=R.useRouterHelper(q),l=e.route;let o=e.route;e.indexPath.some(d=>g.isUrl(d))&&(o=e.indexPath.slice(-2).join("/"));const i=q.getRoutes().filter(d=>d.path===o)?.[0]?.meta?.linkTarget;u(i?{url:l,winOpenOpt:{target:i}}:l)}r("select",e)}const M=n.ref(),N=n.ref(),B=n.ref(),G=n.computed(()=>({...t.collapseWidth===0&&f.value?{borderRight:"none"}:{},width:I.addUnit(t.width),height:t.height}));n.watch(()=>f.value,e=>{K.value||(e?r("update:width",t.collapseWidth):r("update:width",B.value||t.width),B.value=t.width)});const{isDraging:K}=se.useDragLine(M,N,O),Q=n.computed(()=>({left:I.addUnit(t.width)})),X=n.computed(()=>[s.b(),t.isFixedLeft?s.m("fixed"):""]),w=n.ref([]);return n.onMounted(()=>{n.nextTick(()=>{if(t.dragOption?.dragClassName){const e=document.querySelectorAll(`.${s.e(t.dragOption?.dragClassName)}`)?.[0],{initSortable:u}=oe.useSortable(e,{draggable:".vft-menu-item",onEnd:l=>{const{oldIndex:o,newIndex:i}=l;g.isNullOrUndefined(o)||g.isNullOrUndefined(i)||o===i||r("dragEnd",o,i)},...t.dragOption});u()}})}),W({sideRef:M,jumpActiveDom:x,menuRef:v}),()=>{let e;return y.value&&(w.value=U(t.menus,g.isNumber(y.value)?y.value:1/0)),n.createVNode("div",{ref:M,class:X.value,style:G.value},[c.top?n.createVNode("div",{class:s.e("top")},[c.top()]):null,n.h(n.createVNode(b.VftMenu,{ref:v,onSelect:Y,onOpen:$,onSubMenuClick:H,defaultActive:L?.value||C.value,defaultOpeneds:J?.value||w.value,disableSubMenuAction:t.disableSubMenuAction,class:[s.e("con"),t.dragOption?.dragClassName?s.e(t.dragOption?.dragClassName):""],style:z.value,collapse:P.value?f.value:!1,uniqueOpened:E.value,collapseTransition:!1},ie(e=t.menus.map((u,l)=>_(u,l)))?e:{default:()=>[e]})),c.bottom?n.createVNode("div",{class:s.e("bottom")},[c.bottom()]):t.showCollapse?n.createVNode("div",{onClick:()=>r("update:collapse",!f.value),class:[s.e("bottom"),s.e("collapse")]},[n.createVNode(ue.VftIcon,{style:{transform:f.value?"rotateY(180deg)":""},size:20,icon:"icon-sidebar-collapse"},null)]):null,c.default?.(),t.dragWidthCfg?n.createVNode("div",{ref:N,style:Q.value,class:s.e("drag-bar")},null):null])}}});exports.default=re;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@vft/use"),t=require("vue");function v(l,a,o){const i=t.ref(!1),m=o.props?.dragWidthCfg?.minWidth||200;t.onMounted(()=>{o.props?.dragWidthCfg&&t.nextTick(()=>{d.useDebounceFn(h,100)()})});function c(e){const u=t.unref(e);return u?Reflect.has(u,"$el")?t.unref(e)?.$el:t.unref(e):null}function p(e,u,s){document.onmousemove=function(r){let n=e.left+(r.clientX-s);r=r||window.event;const f=o.props?.dragWidthCfg?.maxWidth||800,W=t.unref(m);return n<=W?void 0:(n<0&&(n=0),n>f&&(n=f),e.style.left=n+"px",d.useThrottleFn(()=>{o.emit("update:width",n+"px")},150)(),!1)}}function g(e){document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null,i.value=!0,t.nextTick(()=>{o.emit("dragWidthEnd"),setTimeout(()=>{i.value=!1},100)}),e.releaseCapture?.()}}function h(){const e=c(a);if(!e)return;const u=c(l);u&&(e.onmousedown=s=>{const r=s?.clientX;return e.left=e.offsetLeft,p(e,u,r),g(e),e.setCapture?.(),!1})}return{isDraging:i}}exports.useDragLine=v;
|
package/lib/package.json.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.433";exports.version=e;
|
package/lib/package.json.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vft",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.433",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -56,11 +56,11 @@
|
|
|
56
56
|
"sortablejs": "1.15.0",
|
|
57
57
|
"photoswipe": "5.4.4",
|
|
58
58
|
"@vft/router": "0.0.67",
|
|
59
|
-
"@vft/store": "0.0.
|
|
59
|
+
"@vft/store": "0.0.57",
|
|
60
60
|
"@vft/constants": "0.0.75",
|
|
61
|
+
"@vft/directives": "0.0.36",
|
|
61
62
|
"@vft/utils": "0.0.144",
|
|
62
|
-
"@vft/use": "0.0.89"
|
|
63
|
-
"@vft/directives": "0.0.36"
|
|
63
|
+
"@vft/use": "0.0.89"
|
|
64
64
|
},
|
|
65
65
|
"vetur": {
|
|
66
66
|
"tags": "tags.json",
|