vft 0.0.518 → 0.0.520
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/attributes.json +1 -1
- package/es/components/image/image.vue2.js +61 -60
- package/es/hooks/use-z-index/index.js +3 -3
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/es/utils/ns-cover.js +27 -23
- package/lib/components/image/image.vue2.cjs +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/lib/utils/ns-cover.cjs +1 -1
- package/package.json +4 -4
- package/tags.json +1 -1
- package/web-types.json +1 -1
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
import { defineComponent as T, useAttrs as
|
|
2
|
-
import { useAttrs as
|
|
3
|
-
import { isInContainer as
|
|
4
|
-
import {
|
|
5
|
-
import { isClient as v, useThrottleFn as oe, useEventListener as V } from "@vueuse/core";
|
|
1
|
+
import { defineComponent as T, defineAsyncComponent as G, useAttrs as J, ref as o, computed as d, watch as Q, onMounted as U, openBlock as s, createElementBlock as f, normalizeStyle as X, normalizeClass as y, unref as l, mergeProps as Z, createCommentVNode as u, renderSlot as C, createElementVNode as A, Fragment as _, createBlock as ee, withCtx as te, nextTick as le } from "vue";
|
|
2
|
+
import { useAttrs as ne } from "@vft/use";
|
|
3
|
+
import { isInContainer as ae, isElement as ie, isString as re, getScrollContainer as oe } from "@vft/utils";
|
|
4
|
+
import { isClient as v, useThrottleFn as se, useEventListener as B } from "@vueuse/core";
|
|
6
5
|
import "../config-provider/hooks/use-global-config.js";
|
|
7
6
|
import "lodash-es";
|
|
8
7
|
import "../form/index.js";
|
|
9
|
-
import { useNamespace as
|
|
8
|
+
import { useNamespace as ue } from "../../hooks/use-namespace/index.js";
|
|
10
9
|
import "../../hooks/use-model-toggle/index.js";
|
|
11
10
|
import "@popperjs/core";
|
|
12
11
|
import "../../hooks/use-z-index/index.js";
|
|
13
|
-
const
|
|
12
|
+
const ce = ["src", "loading"], de = { key: 0 }, fe = T({
|
|
14
13
|
name: "vft-image",
|
|
15
14
|
inheritAttrs: !1
|
|
16
|
-
}),
|
|
17
|
-
...
|
|
15
|
+
}), Ie = /* @__PURE__ */ T({
|
|
16
|
+
...fe,
|
|
18
17
|
props: {
|
|
19
18
|
hideOnClickModal: { type: Boolean, default: !1 },
|
|
20
19
|
src: { default: "" },
|
|
@@ -32,37 +31,39 @@ const ue = ["src", "loading"], ce = { key: 0 }, de = T({
|
|
|
32
31
|
},
|
|
33
32
|
emits: ["load", "error", "switch", "close", "show"],
|
|
34
33
|
setup(e, { expose: $, emit: b }) {
|
|
35
|
-
const c = b,
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
const c = b, M = G(
|
|
35
|
+
() => import("../image-viewer/index.js").then((t) => t.VftImageViewer)
|
|
36
|
+
), i = ue("image");
|
|
37
|
+
let k = "";
|
|
38
|
+
const O = J(), H = ne(), w = o(), r = o(!1), n = o(!0), h = o(!1), m = o(), a = o(), F = v && "loading" in HTMLImageElement.prototype;
|
|
38
39
|
let z, S;
|
|
39
|
-
const
|
|
40
|
+
const N = d(() => O.style), P = d(() => v && e.fit ? { objectFit: e.fit } : {}), g = d(() => Array.isArray(e.previewSrcList) && e.previewSrcList.length > 0), D = d(() => {
|
|
40
41
|
let t = e.initialIndex;
|
|
41
42
|
return e.initialIndex > e.previewSrcList.length - 1 && (t = 0), t;
|
|
42
|
-
}), p = d(() => e.loading === "eager" ? !1 : !
|
|
43
|
-
v && (
|
|
43
|
+
}), p = d(() => e.loading === "eager" ? !1 : !F && e.loading === "lazy" || e.lazy), L = () => {
|
|
44
|
+
v && (n.value = !0, r.value = !1, w.value = e.src);
|
|
44
45
|
};
|
|
45
|
-
function D(t) {
|
|
46
|
-
a.value = !1, r.value = !1, c("load", t);
|
|
47
|
-
}
|
|
48
46
|
function R(t) {
|
|
49
|
-
|
|
47
|
+
n.value = !1, r.value = !1, c("load", t);
|
|
48
|
+
}
|
|
49
|
+
function Y(t) {
|
|
50
|
+
n.value = !1, r.value = !0, c("error", t);
|
|
50
51
|
}
|
|
51
|
-
function
|
|
52
|
-
|
|
52
|
+
function I() {
|
|
53
|
+
ae(m.value, a.value) && (L(), V());
|
|
53
54
|
}
|
|
54
|
-
const
|
|
55
|
+
const x = se(I, 200);
|
|
55
56
|
async function E() {
|
|
56
|
-
v && (await
|
|
57
|
-
|
|
57
|
+
v && (await le(), ie(e.scrollContainer) ? a.value = e.scrollContainer : re(e.scrollContainer) && e.scrollContainer !== "" ? a.value = document.querySelector(e.scrollContainer) ?? void 0 : m.value && (a.value = oe(m.value)), a.value && (z = B(
|
|
58
|
+
a,
|
|
58
59
|
"scroll",
|
|
59
|
-
|
|
60
|
-
), setTimeout(() =>
|
|
60
|
+
x
|
|
61
|
+
), setTimeout(() => I(), 100)));
|
|
61
62
|
}
|
|
62
|
-
function
|
|
63
|
-
!v || !
|
|
63
|
+
function V() {
|
|
64
|
+
!v || !a.value || !x || (z?.(), a.value = void 0);
|
|
64
65
|
}
|
|
65
|
-
function
|
|
66
|
+
function j(t) {
|
|
66
67
|
if (t.ctrlKey) {
|
|
67
68
|
if (t.deltaY < 0)
|
|
68
69
|
return t.preventDefault(), !1;
|
|
@@ -70,77 +71,77 @@ const ue = ["src", "loading"], ce = { key: 0 }, de = T({
|
|
|
70
71
|
return t.preventDefault(), !1;
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
|
-
function
|
|
74
|
-
g.value && (S =
|
|
74
|
+
function q() {
|
|
75
|
+
g.value && (S = B("wheel", j, {
|
|
75
76
|
passive: !1
|
|
76
|
-
}),
|
|
77
|
+
}), k = document.body.style.overflow, document.body.style.overflow = "hidden", h.value = !0, c("show"));
|
|
77
78
|
}
|
|
78
|
-
function
|
|
79
|
-
S?.(), document.body.style.overflow =
|
|
79
|
+
function K() {
|
|
80
|
+
S?.(), document.body.style.overflow = k, h.value = !1, c("close");
|
|
80
81
|
}
|
|
81
|
-
function
|
|
82
|
+
function W(t) {
|
|
82
83
|
c("switch", t);
|
|
83
84
|
}
|
|
84
|
-
return
|
|
85
|
+
return Q(
|
|
85
86
|
() => e.src,
|
|
86
87
|
() => {
|
|
87
|
-
p.value ? (
|
|
88
|
+
p.value ? (n.value = !0, r.value = !1, V(), E()) : L();
|
|
88
89
|
}
|
|
89
|
-
),
|
|
90
|
+
), U(() => {
|
|
90
91
|
p.value ? E() : L();
|
|
91
92
|
}), $({
|
|
92
|
-
isLoading:
|
|
93
|
-
}), (t,
|
|
93
|
+
isLoading: n
|
|
94
|
+
}), (t, ve) => (s(), f("div", {
|
|
94
95
|
ref_key: "container",
|
|
95
96
|
ref: m,
|
|
96
97
|
class: y([l(i).b(), t.$attrs.class]),
|
|
97
|
-
style:
|
|
98
|
+
style: X(N.value)
|
|
98
99
|
}, [
|
|
99
|
-
w.value !== void 0 && !r.value ? (s(), f("img",
|
|
100
|
+
w.value !== void 0 && !r.value ? (s(), f("img", Z({ key: 0 }, l(H), {
|
|
100
101
|
src: w.value,
|
|
101
102
|
loading: e.loading,
|
|
102
|
-
style:
|
|
103
|
+
style: P.value,
|
|
103
104
|
class: [
|
|
104
105
|
l(i).e("inner"),
|
|
105
106
|
g.value && l(i).e("preview"),
|
|
106
|
-
|
|
107
|
+
n.value && l(i).is("loading")
|
|
107
108
|
],
|
|
108
|
-
onClick:
|
|
109
|
-
onLoad:
|
|
110
|
-
onError:
|
|
109
|
+
onClick: q,
|
|
110
|
+
onLoad: R,
|
|
111
|
+
onError: Y,
|
|
111
112
|
alt: ""
|
|
112
|
-
}), null, 16,
|
|
113
|
-
|
|
113
|
+
}), null, 16, ce)) : u("", !0),
|
|
114
|
+
n.value || r.value ? (s(), f("div", {
|
|
114
115
|
key: 1,
|
|
115
116
|
class: y(l(i).e("wrapper"))
|
|
116
117
|
}, [
|
|
117
|
-
|
|
118
|
+
n.value ? C(t.$slots, "placeholder", { key: 0 }, () => [
|
|
118
119
|
A("div", {
|
|
119
120
|
class: y(l(i).e("placeholder"))
|
|
120
121
|
}, null, 2)
|
|
121
|
-
]) : r.value ?
|
|
122
|
+
]) : r.value ? C(t.$slots, "error", { key: 1 }, () => [
|
|
122
123
|
A("div", {
|
|
123
124
|
class: y(l(i).e("error"))
|
|
124
125
|
}, "加载失败", 2)
|
|
125
126
|
]) : u("", !0)
|
|
126
127
|
], 2)) : u("", !0),
|
|
127
|
-
g.value ? (s(), f(
|
|
128
|
-
h.value ? (s(),
|
|
128
|
+
g.value ? (s(), f(_, { key: 2 }, [
|
|
129
|
+
h.value ? (s(), ee(l(M), {
|
|
129
130
|
key: 0,
|
|
130
131
|
"z-index": e.zIndex,
|
|
131
|
-
"initial-index":
|
|
132
|
+
"initial-index": D.value,
|
|
132
133
|
infinite: e.infinite,
|
|
133
134
|
"zoom-rate": e.zoomRate,
|
|
134
135
|
"url-list": e.previewSrcList,
|
|
135
136
|
"hide-on-click-modal": e.hideOnClickModal,
|
|
136
137
|
teleported: e.previewTeleported,
|
|
137
138
|
"close-on-press-escape": e.closeOnPressEscape,
|
|
138
|
-
onClose:
|
|
139
|
-
onSwitch:
|
|
139
|
+
onClose: K,
|
|
140
|
+
onSwitch: W
|
|
140
141
|
}, {
|
|
141
|
-
default:
|
|
142
|
-
t.$slots.viewer ? (s(), f("div",
|
|
143
|
-
|
|
142
|
+
default: te(() => [
|
|
143
|
+
t.$slots.viewer ? (s(), f("div", de, [
|
|
144
|
+
C(t.$slots, "viewer")
|
|
144
145
|
])) : u("", !0)
|
|
145
146
|
]),
|
|
146
147
|
_: 3
|
|
@@ -150,5 +151,5 @@ const ue = ["src", "loading"], ce = { key: 0 }, de = T({
|
|
|
150
151
|
}
|
|
151
152
|
});
|
|
152
153
|
export {
|
|
153
|
-
|
|
154
|
+
Ie as default
|
|
154
155
|
};
|
|
@@ -2,14 +2,14 @@ import "@vueuse/core";
|
|
|
2
2
|
import { isNumber as m, isClient as p } from "@vft/utils";
|
|
3
3
|
import { debugWarn as l } from "../../utils/error.js";
|
|
4
4
|
import "../../components/config-provider/hooks/use-global-config.js";
|
|
5
|
-
import {
|
|
5
|
+
import { getCurrentInstance as i, inject as e, computed as c, unref as v, ref as Z } from "vue";
|
|
6
6
|
import "lodash-es";
|
|
7
7
|
import "../../components/form/index.js";
|
|
8
8
|
const s = {
|
|
9
9
|
current: 0
|
|
10
|
-
}, u =
|
|
10
|
+
}, u = Z(0), f = 2e3, d = Symbol("vftZIndexContextKey"), y = Symbol("zIndexContextKey"), K = (I) => {
|
|
11
11
|
const n = i() ? e(d, s) : s, x = I || (i() ? e(y, void 0) : void 0), t = c(() => {
|
|
12
|
-
const r =
|
|
12
|
+
const r = v(x);
|
|
13
13
|
return m(r) ? r : f;
|
|
14
14
|
}), o = c(() => t.value + u.value), a = () => (n.current++, u.value = n.current, o.value);
|
|
15
15
|
return !p && !e(d) && l(
|
package/es/package.json.d.ts
CHANGED
package/es/package.json.js
CHANGED
package/es/utils/ns-cover.js
CHANGED
|
@@ -1,30 +1,34 @@
|
|
|
1
|
-
import { generateCssVars as
|
|
2
|
-
import { isClient as
|
|
1
|
+
import { generateCssVars as a, cssVarValue as c, isObject as i, setStyle as l, getRgbCount as u, hexToRGB as m, mixColor as n } from "@vft/utils";
|
|
2
|
+
import { isClient as r } from "@vueuse/core";
|
|
3
3
|
import { ref as g } from "vue";
|
|
4
|
-
const V = (e,
|
|
5
|
-
if (
|
|
6
|
-
return c(e,
|
|
7
|
-
}, b = () =>
|
|
8
|
-
function d(e,
|
|
9
|
-
return
|
|
4
|
+
const V = (e, s = document.documentElement, t = !0) => {
|
|
5
|
+
if (r)
|
|
6
|
+
return c(e, s, "vft", t);
|
|
7
|
+
}, b = () => r ? V("primary-color") : g("");
|
|
8
|
+
function d(e, s) {
|
|
9
|
+
return a(e, s, "vft");
|
|
10
10
|
}
|
|
11
|
-
function x(e,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
function x(e, s, t = "", o) {
|
|
12
|
+
if (!r)
|
|
13
|
+
return;
|
|
14
|
+
let f;
|
|
15
|
+
i(e) ? f = e : f = {
|
|
16
|
+
[e]: s
|
|
17
|
+
}, l(d(f, t), "", o || document.documentElement, !1);
|
|
16
18
|
}
|
|
17
|
-
function E(e,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
function E(e, s = !1) {
|
|
20
|
+
if (!r)
|
|
21
|
+
return;
|
|
22
|
+
const t = s ? "#000" : "#fff";
|
|
23
|
+
l(
|
|
24
|
+
a(
|
|
21
25
|
{
|
|
22
|
-
"light-3": n(e,
|
|
23
|
-
"light-5": n(e,
|
|
24
|
-
"light-7": n(e,
|
|
25
|
-
"light-8": n(e,
|
|
26
|
-
"light-9": n(e,
|
|
27
|
-
"dark-2": n(e,
|
|
26
|
+
"light-3": n(e, t, 0.7, !1),
|
|
27
|
+
"light-5": n(e, t, 0.5, !1),
|
|
28
|
+
"light-7": n(e, t, 0.3, !1),
|
|
29
|
+
"light-8": n(e, t, 0.2, !1),
|
|
30
|
+
"light-9": n(e, t, 0.1, !1),
|
|
31
|
+
"dark-2": n(e, t, 0.8, !1),
|
|
28
32
|
rgb: u(m(e)).join(",")
|
|
29
33
|
},
|
|
30
34
|
"primary-color",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),$=require("@vft/use"),c=require("@vft/utils"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),$=require("@vft/use"),c=require("@vft/utils"),o=require("@vueuse/core");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");require("../form/index.cjs");const H=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const F=["src","loading"],j={key:0},D=e.defineComponent({name:"vft-image",inheritAttrs:!1}),R=e.defineComponent({...D,props:{hideOnClickModal:{type:Boolean,default:!1},src:{default:""},fit:{default:""},loading:{},lazy:{type:Boolean},scrollContainer:{},previewSrcList:{default:()=>[]},previewTeleported:{type:Boolean,default:!1},zIndex:{},initialIndex:{default:0},infinite:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},zoomRate:{default:1.2}},emits:["load","error","switch","close","show"],setup(t,{expose:S,emit:B}){const s=B,E=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("../image-viewer/index.cjs")).then(l=>l.VftImageViewer)),a=H.useNamespace("image");let y="";const V=e.useAttrs(),q=$.useAttrs(),d=e.ref(),i=e.ref(!1),n=e.ref(!0),f=e.ref(!1),u=e.ref(),r=e.ref(),p=o.isClient&&"loading"in HTMLImageElement.prototype;let w,h;const I=e.computed(()=>V.style),x=e.computed(()=>o.isClient&&t.fit?{objectFit:t.fit}:{}),v=e.computed(()=>Array.isArray(t.previewSrcList)&&t.previewSrcList.length>0),N=e.computed(()=>{let l=t.initialIndex;return t.initialIndex>t.previewSrcList.length-1&&(l=0),l}),C=e.computed(()=>t.loading==="eager"?!1:!p&&t.loading==="lazy"||t.lazy),m=()=>{o.isClient&&(n.value=!0,i.value=!1,d.value=t.src)};function b(l){n.value=!1,i.value=!1,s("load",l)}function A(l){n.value=!1,i.value=!0,s("error",l)}function g(){c.isInContainer(u.value,r.value)&&(m(),z())}const k=o.useThrottleFn(g,200);async function L(){o.isClient&&(await e.nextTick(),c.isElement(t.scrollContainer)?r.value=t.scrollContainer:c.isString(t.scrollContainer)&&t.scrollContainer!==""?r.value=document.querySelector(t.scrollContainer)??void 0:u.value&&(r.value=c.getScrollContainer(u.value)),r.value&&(w=o.useEventListener(r,"scroll",k),setTimeout(()=>g(),100)))}function z(){!o.isClient||!r.value||!k||(w?.(),r.value=void 0)}function M(l){if(l.ctrlKey){if(l.deltaY<0)return l.preventDefault(),!1;if(l.deltaY>0)return l.preventDefault(),!1}}function T(){v.value&&(h=o.useEventListener("wheel",M,{passive:!1}),y=document.body.style.overflow,document.body.style.overflow="hidden",f.value=!0,s("show"))}function O(){h?.(),document.body.style.overflow=y,f.value=!1,s("close")}function P(l){s("switch",l)}return e.watch(()=>t.src,()=>{C.value?(n.value=!0,i.value=!1,z(),L()):m()}),e.onMounted(()=>{C.value?L():m()}),S({isLoading:n}),(l,Y)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:u,class:e.normalizeClass([e.unref(a).b(),l.$attrs.class]),style:e.normalizeStyle(I.value)},[d.value!==void 0&&!i.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:0},e.unref(q),{src:d.value,loading:t.loading,style:x.value,class:[e.unref(a).e("inner"),v.value&&e.unref(a).e("preview"),n.value&&e.unref(a).is("loading")],onClick:T,onLoad:b,onError:A,alt:""}),null,16,F)):e.createCommentVNode("",!0),n.value||i.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(a).e("wrapper"))},[n.value?e.renderSlot(l.$slots,"placeholder",{key:0},()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("placeholder"))},null,2)]):i.value?e.renderSlot(l.$slots,"error",{key:1},()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a).e("error"))},"加载失败",2)]):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),v.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[f.value?(e.openBlock(),e.createBlock(e.unref(E),{key:0,"z-index":t.zIndex,"initial-index":N.value,infinite:t.infinite,"zoom-rate":t.zoomRate,"url-list":t.previewSrcList,"hide-on-click-modal":t.hideOnClickModal,teleported:t.previewTeleported,"close-on-press-escape":t.closeOnPressEscape,onClose:O,onSwitch:P},{default:e.withCtx(()=>[l.$slots.viewer?(e.openBlock(),e.createElementBlock("div",j,[e.renderSlot(l.$slots,"viewer")])):e.createCommentVNode("",!0)]),_:3},8,["z-index","initial-index","infinite","zoom-rate","url-list","hide-on-click-modal","teleported","close-on-press-escape"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],6))}});exports.default=R;
|
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.520";exports.version=e;
|
package/lib/package.json.d.ts
CHANGED
package/lib/utils/ns-cover.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@vft/utils"),l=require("@vueuse/core"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@vft/utils"),l=require("@vueuse/core"),u=require("vue"),o=(e,r=document.documentElement,t=!0)=>{if(l.isClient)return s.cssVarValue(e,r,"vft",t)},c=()=>l.isClient?o("primary-color"):u.ref("");function i(e,r){return s.generateCssVars(e,r,"vft")}function f(e,r,t="",a){if(!l.isClient)return;let n;s.isObject(e)?n=e:n={[e]:r},s.setStyle(i(n,t),"",a||document.documentElement,!1)}function C(e,r=!1){if(!l.isClient)return;const t=r?"#000":"#fff";s.setStyle(s.generateCssVars({"light-3":s.mixColor(e,t,.7,!1),"light-5":s.mixColor(e,t,.5,!1),"light-7":s.mixColor(e,t,.3,!1),"light-8":s.mixColor(e,t,.2,!1),"light-9":s.mixColor(e,t,.1,!1),"dark-2":s.mixColor(e,t,.8,!1),rgb:s.getRgbCount(s.hexToRGB(e)).join(",")},"primary-color","vft"),"",document.documentElement,!1)}exports.cssVarValue=o;exports.generateCssVars=i;exports.primaryColor=c;exports.setCssVar=f;exports.setPrimaryColorCssvars=C;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vft",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.520",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -56,12 +56,12 @@
|
|
|
56
56
|
"resize-detector": "0.3.0",
|
|
57
57
|
"sortablejs": "1.15.0",
|
|
58
58
|
"photoswipe": "5.4.4",
|
|
59
|
+
"@vft/use": "0.0.96",
|
|
59
60
|
"@vft/constants": "0.0.83",
|
|
60
61
|
"@vft/router": "0.0.73",
|
|
61
62
|
"@vft/store": "0.0.78",
|
|
62
|
-
"@vft/
|
|
63
|
-
"@vft/utils": "0.0.161"
|
|
64
|
-
"@vft/directives": "0.0.36"
|
|
63
|
+
"@vft/directives": "0.0.36",
|
|
64
|
+
"@vft/utils": "0.0.161"
|
|
65
65
|
},
|
|
66
66
|
"vetur": {
|
|
67
67
|
"tags": "tags.json",
|
package/tags.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"vft-alert":{"attributes":["title","type","description","closable","center","close-text","show-icon","effect"],"description":"提示 用于页面中展示重要的提示信息。\n\n[Docs](https://wflynn.cn/pages/alert#alert)"},"vft-auto-complete":{"attributes":["model-value / v-model","placeholder","clearable","disabled","value-key","debounce","placement","fetch-suggestions","trigger-on-focus","select-when-unmatched","name","label","hide-loading","popper-class","popper-append-to-body ^(deprecated)","teleported","highlight-first-item","fit-input-width","select","change"],"description":"自动补全输入框 根据输入内容提供对应的输入建议。\n\n[Docs](https://wflynn.cn/pages/autocomplete#autocomplete)"},"vft-avatar":{"attributes":["icon","size","shape","src","src-set","alt","fit"],"description":"Avatar 组件可以用来代表人物或对象, 支持使用图片、图标或者文字作为 Avatar。\n\n[Docs](https://wflynn.cn/pages/avatar#avatar)"},"vft-backtop":{"attributes":["target","visibility-height","right","bottom"],"description":"返回页面顶部的操作按钮。\n\n[Docs](https://wflynn.cn/pages/backtop#backtop)"},"vft-button":{"attributes":["size","type","plain","text","bg","link<VersionTag version=\"2.2.1\" />","round","circle","loading","loading-icon","disabled","icon","autofocus","native-type","auto-insert-space","color","dark"],"description":"常用的操作按钮。\n\n[Docs](https://wflynn.cn/pages/button#button)"},"vft-button-group":{"description":"[Docs](https://wflynn.cn/pages/button#buttongroup)"},"vft-card":{"attributes":["header","body-style","shadow"],"description":"将信息聚合在卡片容器中展示。\n\n[Docs](https://wflynn.cn/pages/card#card)"},"vft-carousel":{"attributes":["height","initial-index","trigger","autoplay","interval","indicator-position","arrow","type","loop","direction","pause-on-hover","change"],"description":"在有限空间内,循环播放同一类型的图片、文字等内容\n\n[Docs](https://wflynn.cn/pages/carousel#carousel)"},"vft-carousel-item":{"attributes":["name","label"],"description":"[Docs](https://wflynn.cn/pages/carousel#carousel-item)"},"vft-checkbox":{"attributes":["model-value / v-model","label","true-label","false-label","disabled","border","size","name","checked","indeterminate","validate-event","tabindex","id","controls ^(a11y)","change"],"description":"在一组备选项中进行多选。\n\n[Docs](https://wflynn.cn/pages/checkbox#checkbox)"},"vft-checkbox-group":{"attributes":["model-value / v-model","size","disabled","min","max","label","text-color","fill","tag","validate-event","change"],"description":"[Docs](https://wflynn.cn/pages/checkbox#checkboxgroup)"},"vft-checkbox-button":{"attributes":["label","true-label","false-label","disabled","name","checked"],"description":"[Docs](https://wflynn.cn/pages/checkbox#checkboxbutton)"},"vft-clamp":{"attributes":["text","maxHeight","maxLines","expanded","ellipsis","autoResize","location"],"description":"文字...省略\n\n[Docs](https://wflynn.cn/pages/clamp#clamp)"},"vft-color-picker":{"attributes":["model-value / v-model","disabled","size","show-alpha","color-format","popper-class","predefine","validate-event","tabindex","label<A11yTag/>","id","change","active-change"],"description":"用于颜色选择,支持多种格式。\n\n[Docs](https://wflynn.cn/pages/color-picker#colorpicker)"},"vft-config-provider":{"attributes":["locale","size","zIndex","namespace","button","message","experimental-features"],"description":"Config Provider 被用来提供全局的配置选项,让你的配置能够在全局都能够被访问到。\n\n[Docs](https://wflynn.cn/pages/config-provider#config-provider)"},"vft-container":{"attributes":["direction"],"description":"[Docs](https://wflynn.cn/pages/container#container)"},"vft-header":{"attributes":["height"],"description":"[Docs](https://wflynn.cn/pages/container#header)"},"vft-aside":{"attributes":["width"],"description":"[Docs](https://wflynn.cn/pages/container#aside)"},"vft-main":{"description":"[Docs](https://wflynn.cn/pages/container#main)"},"vft-footer":{"attributes":["height"],"description":"[Docs](https://wflynn.cn/pages/container#footer)"},"vft-date-picker":{"attributes":["model-value / v-model","readonly","disabled","size","editable","clearable","placeholder","start-placeholder","end-placeholder","type","format","popper-class","popper-options","range-separator","default-value","default-time","value-format","id","name","unlink-panels","prefix-icon","clear-icon","validate-event","disabled-date","shortcuts","cell-class-name","teleported","change","blur","focus","calendar-change","panel-change","visible-change"],"description":"用于选择或输入日期\n\n[Docs](https://wflynn.cn/pages/date-picker#datepicker)"},"vft-date-time-picker":{"attributes":["model-value / v-model","readonly","disabled","editable","clearable","size","placeholder","start-placeholder","end-placeholder","time-arrow-control","type","format","popper-class","range-separator","default-value","default-time","value-format","id","name","unlink-panels","prefix-icon","clear-icon","shortcuts","disabled-date","cell-class-name","teleported","change","blur","focus","calendar-change","visible-change"],"description":"在同一个选择器里选择日期和时间\n\n[Docs](https://wflynn.cn/pages/datetime-picker#datetimepicker)"},"vft-descriptions":{"attributes":["border","column","direction","size","title","extra"],"description":"列表形式展示多个字段。\n\n[Docs](https://wflynn.cn/pages/descriptions#descriptions)"},"vft-descriptions-item":{"attributes":["label","span","width","min-width","align","label-align","class-name","label-class-name"],"description":"[Docs](https://wflynn.cn/pages/descriptions#descriptions-item)"},"vft-dialog":{"attributes":["model-value / v-model","title","width","fullscreen","top","modal","modal-penetrable","modal-class","header-class","body-class","footer-class","append-to-body","append-to","lock-scroll","open-delay","close-delay","close-on-click-modal","close-on-press-escape","show-close","before-close","draggable","overflow","center","align-center","destroy-on-close","close-icon","z-index","header-aria-level","transition","custom-class","open","opened","close","closed","open-auto-focus","close-auto-focus"],"description":"在保留当前页面状态的情况下,告知用户并承载相关操作。\n\n[Docs](https://wflynn.cn/pages/dialog#dialog)"},"vft-divider":{"attributes":["direction","border-style","content-position"],"description":"区隔内容的分割线。\n\n[Docs](https://wflynn.cn/pages/divider#divider)"},"vft-drawer":{"attributes":["model-value / v-model","append-to-body","lock-scroll","before-close","close-on-click-modal","close-on-press-escape","open-delay","close-delay","custom-class ^(deprecated)","destroy-on-close","modal","direction","show-close","size","title","with-header","modal-class","z-index","open","opened","close","closed"],"description":"有些时候, `Dialog` 组件并不满足我们的需求, 比如你的表单很长, 亦或是你需要临时展示一些文档, `Drawer`\n\n[Docs](https://wflynn.cn/pages/drawer#drawer)"},"vft-dropdown":{"attributes":["type","size","max-height","split-button","disabled","placement","trigger","hide-on-click","show-timeout","hide-timeout","role","tabindex","popper-class","popper-options","teleported","click","command","visible-change"],"description":"将动作或菜单折叠到下拉菜单中。\n\n[Docs](https://wflynn.cn/pages/dropdown#dropdown)"},"vft-dropdown-menu":{"description":"[Docs](https://wflynn.cn/pages/dropdown#dropdown-menu)"},"vft-dropdown-item":{"attributes":["command","disabled","divided","icon"],"description":"[Docs](https://wflynn.cn/pages/dropdown#dropdown-item)"},"vft-empty":{"attributes":["image","image-size","description"],"description":"空状态时的占位提示。\n\n[Docs](https://wflynn.cn/pages/empty#empty)"},"vft-form":{"attributes":["model","rules","inline","label-position","label-width","label-suffix","hide-required-asterisk","require-asterisk-position","show-message","inline-message","status-icon","validate-on-rule-change","size","disabled","scroll-to-error","scroll-into-view-options","validate"],"description":"表单包含 `输入框`, `单选框`, `下拉选择`, `多选框` 等用户输入的组件。 使用表单,您可以收集、验证和提交数据。\n\n[Docs](https://wflynn.cn/pages/form#form)"},"vft-form-item":{"attributes":["prop","label","label-width","required","rules","error","show-message","inline-message","size","for","validate-status"],"description":"[Docs](https://wflynn.cn/pages/form#formitem)"},"vft-icon":{"attributes":["icon","size","color","hoverColor","rotate","rotateSpeed","pointer"],"description":"图标 [图标资源地址]\n\n[Docs](https://wflynn.cn/pages/icon#icon)"},"vft-image":{"attributes":["src","fit","hide-on-click-modal","`loading` ^(2.2.3)","lazy","scroll-container","alt","referrerpolicy","preview-src-list","z-index","initial-index","close-on-press-escape","preview-teleported","load","error","switch","close"],"description":"图片容器,在保留所有原生 img 的特性下,支持懒加载,自定义占位、加载失败等\n\n[Docs](https://wflynn.cn/pages/image#image)"},"vft-image-viewer":{"attributes":["url-list","z-index","initial-index","infinite","hide-on-click-modal","teleported","zoom-rate","close","switch"],"description":"[Docs](https://wflynn.cn/pages/image#image-viewer)"},"vft-input-number":{"attributes":["model-value / v-model","min","max","step","step-strictly","precision","size","readonly","disabled","controls","controls-position","name","label","placeholder","id","value-on-clear ^(2.2.0)","validate-event","change","blur","focus"],"description":"仅允许输入标准的数字值,可定义范围\n\n[Docs](https://wflynn.cn/pages/input-number#input-number)"},"vft-input":{"attributes":["type","model-value / v-model","maxlength","minlength","show-word-limit","placeholder","clearable","formatter","parser","show-password","disabled","size","prefix-icon","suffix-icon","rows","autosize","autocomplete","name","readonly","max","min","step","resize","autofocus","form","label ^(a11y)","tabindex","validate-event","input-style","blur","focus","change","input","clear"],"description":"通过鼠标或键盘输入字符\n\n[Docs](https://wflynn.cn/pages/input#input)"},"vft-row":{"attributes":["gutter","justify","align","tag"],"description":"[Docs](https://wflynn.cn/pages/layout#row)"},"vft-col":{"attributes":["span","offset","push","pull","xs","sm","md","lg","xl","tag"],"description":"[Docs](https://wflynn.cn/pages/layout#col)"},"vft-link":{"attributes":["type","underline","disabled","href","icon"],"description":"文字超链接\n\n[Docs](https://wflynn.cn/pages/link#link)"},"vft-list-cell":{"attributes":["list","cellHeight","leftTextDistance","activeIndex","item-click"],"description":"菜单列表\n\n[Docs](https://wflynn.cn/pages/list-cell#listcell)"},"vft-logo":{"attributes":["title","logo","jump-path","click"],"description":"用于展示品牌 `logo` 和标题的组件,支持点击跳转功能。\n\n[Docs](https://wflynn.cn/pages/logo#logo)"},"vft-menu":{"attributes":["mode","collapse","ellipsis","default-active","default-openeds","unique-opened","menu-trigger","router","collapse-transition","popper-effect","select","open","close"],"description":"为网站提供导航功能的菜单。\n\n[Docs](https://wflynn.cn/pages/menu#menu)"},"vft-sub-menu":{"attributes":["index","popper-class","show-timeout","hide-timeout","disabled","popper-append-to-body(已废弃)","teleported","popper-offset","expand-close-icon","expand-open-icon","collapse-close-icon","collapse-open-icon"],"description":"[Docs](https://wflynn.cn/pages/menu#submenu)"},"vft-menu-item":{"attributes":["index","route","disabled","click"],"description":"[Docs](https://wflynn.cn/pages/menu#menu-item)"},"vft-menu-item-group":{"attributes":["title"],"description":"[Docs](https://wflynn.cn/pages/menu#menu-item-group)"},"vft-message-消息提示":{"attributes":["message","type","icon","showIcon","closeIcon","dangerouslyUseHTMLString","customClass","duration","showClose","center","onClose","offset","zIndex","grouping","repeatNum","appendTo"],"description":"常用于主动操作后的反馈提示。与 `Notification` 的区别是后者更多用于系统级通知的被动提醒。\n\n[Docs](https://wflynn.cn/pages/message#message-消息提示)"},"vft-modal-模态框":{"attributes":["modelValue / v-model","title","width","fullscreen","top","modal","modalClass","appendTo","appendToBody","lockScroll","customClass","openDelay","closeDelay","closeOnClickModal","closeOnPressEscape","showClose","beforeClose","draggable","center","alignCenter","destroyOnClose","closeFunc","showActionButtonGroup","showSubmitButton","showCancelButton","submitButtonOptions","cancelButtonOptions","actionRowOptions","scrollTop","confirmLoading","loading","open","opened","close","closed","open-auto-focus","close-auto-focus","visible-change","submit","ok","register"],"description":"在保留当前页面状态的情况下,告知用户并承载相关操作。基于 `Dialog` 组件封装,提供了更便捷的操作按钮组和加载状态管理。\n\n[Docs](https://wflynn.cn/pages/modal#modal-模态框)"},"vft-page-wrapper":{"attributes":["title"],"description":"页面 demo 容器\n\n[Docs](https://wflynn.cn/pages/page-wrapper#pagewrapper)"},"vft-pagination":{"attributes":["small","background","page-size / v-model:page-size","default-page-size","total","page-count","pager-count","current-page / v-model:current-page","default-current-page","layout","page-sizes","popper-class","prev-text","prev-icon","next-text","next-icon","disabled","hide-on-single-page","size-change","current-change","prev-click","next-click"],"description":"当数据量过多时,使用分页分解数据。\n\n[Docs](https://wflynn.cn/pages/pagination#pagination)"},"vft-popconfirm":{"attributes":["title","confirm-button-text","cancel-button-text","confirm-button-type","cancel-button-type","icon","icon-color","hide-icon","hide-after","teleported","persistent","width"],"description":"点击某个元素弹出一个简单的气泡确认框\n\n[Docs](https://wflynn.cn/pages/popconfirm#popconfirm)"},"vft-popover":{"attributes":["trigger","trigger-keys","title","effect","content","width","placement","disabled","visible / v-model:visible","offset","transition","show-arrow","popper-options","popper-class","popper-style","show-after","hide-after","auto-close","tabindex","teleported","append-to","persistent","virtual-triggering","virtual-ref","show","before-enter","after-enter","hide","before-leave","after-leave"],"description":"<!-- more -->\n\n[Docs](https://wflynn.cn/pages/popover#popover)"},"vft-progress":{"attributes":["percentage","type","stroke-width","text-inside","status","indeterminate","duration","color","width","show-text","stroke-linecap","format","striped","striped-flow"],"description":"用于展示操作进度,告知用户当前状态和预期。\n\n[Docs](https://wflynn.cn/pages/progress#progress)"},"vft-radio":{"attributes":["model-value / v-model","label","disabled","border","size","name","change"],"description":"在一组备选项中进行单选\n\n[Docs](https://wflynn.cn/pages/radio#radio)"},"vft-radio-group":{"attributes":["model-value / v-model","size","disabled","text-color","fill","validate-event","label ^(a11y)","name","id","change"],"description":"[Docs](https://wflynn.cn/pages/radio#radiogroup)"},"vft-radio-button":{"attributes":["label","disabled","name"],"description":"[Docs](https://wflynn.cn/pages/radio#radiobutton)"},"vft-result":{"attributes":["title","sub-title","icon"],"description":"用于对用户的操作结果或者异常状态做反馈。\n\n[Docs](https://wflynn.cn/pages/result#result)"},"vft-scrollbar":{"attributes":["height","max-height","native","wrap-style","wrap-class","view-style","view-class","noresize","tag","always","min-size","scroll"],"description":"用于替换浏览器原生滚动条。\n\n[Docs](https://wflynn.cn/pages/scrollbar#scrollbar)"},"vft-select":{"attributes":["model-value / v-model","options","multiple","disabled","value-key","size","clearable","clear-icon","collapse-tags","multiple-limit","name","effect","autocomplete","placeholder","filterable","allow-create","reserve-keyword","no-data-text","popper-class","popper-append-to-body ^(deprecated)","teleported","persistent","popper-options","automatic-dropdown","height","scrollbar-always-on","remote","remote-method","validate-event","placement","collapse-tags-tooltip","change","visible-change","remove-tag","clear","blur","focus"],"description":"在某些使用情况下,单个选择器可能最终加载数万行数据。 将这么多的数据渲染至 DOM 中可能会给浏览器带来负担,从而造成性能问题。\n\n[Docs](https://wflynn.cn/pages/select#select)"},"vft-side-menu-侧边菜单":{"attributes":["menus","width","height","collapse","collapse-width","is-fixed-left","show-collapse","default-active","default-openeds","default-openeds-level","unique-opened","attr-mapping","menu-top-bottom-height","drag-option","drag-width-cfg","use-router-jump","open-disabled","disabled-judge-turn-over","auto-scroll-active-dom","open-menu-collapse","disable-sub-menu-action","select","update:collapse","update:width","drag-end","drag-width-end","sub-menu-click","sub-menu-open-click","menu-item-mouseenter","menu-item-mouseleave"],"description":"侧边导航菜单组件,提供丰富的功能配置,支持折叠、拖拽宽度、自定义属性映射等特性。\n\n[Docs](https://wflynn.cn/pages/side-menu#sidemenu-侧边菜单)"},"vft-skeleton-item":{"attributes":["variant"],"description":"[Docs](https://wflynn.cn/pages/skeleton#skeletonitem)"},"vft-space":{"attributes":["alignment","class","direction","prefix-cls","style","spacer","size","wrap","fill","fill-ratio"],"description":"虽然我们拥有 [Divider 组件]\n\n[Docs](https://wflynn.cn/pages/space#space)"},"vft-switch":{"attributes":["model-value / v-model","disabled","loading","size","width","inline-prompt","active-icon","inactive-icon","active-text","inactive-text","active-value","inactive-value","active-color","inactive-color","border-color","name","validate-event","before-change","id","tabindex","change"],"description":"表示两种相互对立的状态间的切换,多用于触发「开/关」。\n\n[Docs](https://wflynn.cn/pages/switch#switch)"},"vft-table-表格":{"attributes":["api","columns","data","loading","stripe","border","align","headerAlign","showHeader","showOverflow","height","maxHeight","minHeight","fit","rowkey","pageSize","total","immediate","showPager","sticky","fetchSetting","watchApiFetch","beforeFetch","afterFetch","delEmptyParams","transformParams","extraParams","extraSysHeight","pageHeight","pagination","formOptions","emptyCfg","columnConfig","rowConfig","toolbarConfig","change","page-change","current-row-change","cell-click","cell-dblclick","sort-change","filter-change","fetch-success"],"description":"用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。基于 `VXE Table` 进行封装,提供了更便捷的数据获取和分页功能。\n\n[Docs](https://wflynn.cn/pages/table#table-表格)"},"vft-tabs":{"attributes":["model-value / v-model","type","closable","addable","editable","tab-position","stretch","before-leave","tab-click","tab-change","tab-remove","tab-add","edit"],"description":"分隔内容上有关联但属于不同类别的数据集合。\n\n[Docs](https://wflynn.cn/pages/tabs#tabs)"},"vft-tab-pane":{"attributes":["label","disabled","name","closable","lazy"],"description":"[Docs](https://wflynn.cn/pages/tabs#tab-pane)"},"vft-check-tag":{"attributes":["checked","change"],"description":"[Docs](https://wflynn.cn/pages/tag#checktag)"},"vft-tag":{"attributes":["type","closable","disable-transitions","hit","color","size","effect","round","click","close"],"description":"用于标记和选择。\n\n[Docs](https://wflynn.cn/pages/tag#tag)"},"vft-time-picker":{"attributes":["model-value / v-model","readonly","disabled","editable","clearable","size","placeholder","start-placeholder","end-placeholder","is-range","arrow-control","popper-class","range-separator","format","default-value","id","name","label ^(a11y)","prefix-icon","clear-icon","disabled-hours","disabled-minutes","disabled-seconds","teleported","tabindex","change","blur","focus","visible-change"],"description":"用于选择或输入日期\n\n[Docs](https://wflynn.cn/pages/time-picker#timepicker)"},"vft-tooltip":{"attributes":["role","show-arrow","arrow-offset","virtual-ref","virtual-triggering","id","open","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","strategy","style","className","effect","visible / v-model:visible","enterable","pure","focus-on-show","trapping","popper-class","popper-style","reference-el","trigger-target-el","stop-popper-mouse-event","aria-label ^(a11y)","before-show","before-hide","show","hide","open","close"],"description":"常用于展示鼠标 hover 时的提示信息。\n\n[Docs](https://wflynn.cn/pages/tooltip#tooltip)"},"vft-tree":{"attributes":["data","empty-text","node-key","props","render-after-expand","load","render-content","highlight-current","default-expand-all","expand-on-click-node","check-on-click-node","auto-expand-parent","default-expanded-keys","show-checkbox","check-strictly","default-checked-keys","current-node-key","filter-node-method","accordion","indent","icon","lazy","draggable","allow-drag","allow-drop","node-click","node-contextmenu","check-change","check","current-change","node-expand","node-collapse","node-drag-start","node-drag-enter","node-drag-leave","node-drag-over","node-drag-end","node-drop"],"description":"用清晰的层级结构展示信息,可展开或折叠。\n\n[Docs](https://wflynn.cn/pages/tree#tree)"},"vft-upload":{"attributes":["action","headers","method","multiple","data","name","with-credentials","show-file-list","drag","accept","on-preview","on-remove","on-success","on-error","on-progress","on-change","on-exceed","before-upload","before-remove","file-list` / `v-model:file-list","list-type","auto-upload","http-request","disabled","limit"],"description":"通过点击或者拖拽上传文件。\n\n[Docs](https://wflynn.cn/pages/upload#upload)"},"vft-date-time-select":{"attributes":["dateList","defaultFormat","placement","change"],"description":"自定义时间选择器\n\n[Docs](https://wflynn.cn/pages/date-time-select#datetimeselect)"},"vft-horizontal-menu":{"attributes":["menus","defaultActive","defaultOpeneds","attrMapping","useRouterJump","openDisabled","disabledJudgeTurnOver","subMenuCfg","maxRowLength","open","close"],"description":"自定义时间选择器\n\n[Docs](https://wflynn.cn/pages/horizontal-menu#horizontalmenu)"},"vft-icon-text":{"attributes":["text","icon","color","hoverColor","distance","reverse","size","direction","pointer"],"description":"文字与图标组合\n\n[Docs](https://wflynn.cn/pages/icon-text#icontext)"},"vft-search":{"attributes":["modelValue","placeholder","prefixIcon","suffixIcon","clearable","clearIcon","width","activeWidth","usePopover","popoverCfg","update:modelValue","blur","focus","clear","enter","prefixClick","suffixClick","mouseenter","mouseleave","keydown","change"],"description":"搜索,以及搜索框\n\n[Docs](https://wflynn.cn/pages/search#search)"},"vft-side-menu":{"attributes":["menus","uniqueOpened","isFixedLeft","autoScrollActiveDom","collapse","defaultActive","defaultOpeneds","width","collapseWidth","height","attrMapping","extraHeight","menuTopBottomHeight","showCollapse","dragOption","dragWidthCfg","useRouterJump","openDisabled","update:collapse","update:width","dragEnd","dragWidthEnd","select","menuItemMouseenter","menuItemMouseleave"],"description":"自定义时间选择器\n\n[Docs](https://wflynn.cn/pages/side-menu#sidemenu)"},"vft-super-form":{"attributes":["register","submit"],"description":"自定义时间选择器\n\n[Docs](https://wflynn.cn/pages/super-form#superform)"}}
|
|
1
|
+
{}
|