vft 0.0.84 → 0.0.85

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.
@@ -0,0 +1,10 @@
1
+ const e = {
2
+ type: "seq",
3
+ title: "序号",
4
+ width: 70,
5
+ fixed: "left",
6
+ align: "center"
7
+ };
8
+ export {
9
+ e as INDEX
10
+ };
@@ -1,26 +1,26 @@
1
- import { defineComponent as W, useAttrs as U, ref as d, computed as x, watch as w, createVNode as p, resolveComponent as L, nextTick as Z, reactive as _, onMounted as ee, openBlock as S, createElementBlock as te, normalizeClass as k, unref as a, createBlock as O, mergeProps as N, createCommentVNode as D, createSlots as le, withCtx as P, withDirectives as ne, createElementVNode as T, vShow as ae } from "vue";
2
- import { VftEmpty as oe } from "../empty/index.js";
3
- import { VftPagination as I } from "../pagination/index.js";
4
- import { useNamespace as re } from "../../hooks/use-namespace/index.js";
1
+ import { defineComponent as V, useAttrs as Y, ref as c, computed as H, watch as y, createVNode as p, reactive as J, onMounted as K, resolveComponent as Q, openBlock as C, createElementBlock as U, normalizeClass as b, unref as n, createBlock as L, mergeProps as x, createCommentVNode as P, createSlots as Z, withCtx as R, withDirectives as _, createElementVNode as O, vShow as ee } from "vue";
2
+ import { VftEmpty as te } from "../empty/index.js";
3
+ import { VftPagination as W } from "../pagination/index.js";
4
+ import { useNamespace as ae } from "../../hooks/use-namespace/index.js";
5
5
  import "@popperjs/core";
6
6
  import "lodash";
7
7
  import "../../hooks/use-z-index/index.js";
8
- import { useDebounceFn as ie, useResizeObserver as ce } from "@vueuse/core";
8
+ import { useDebounceFn as le, useResizeObserver as ne } from "@vueuse/core";
9
9
  import "@vft/utils";
10
10
  import "../../utils/ns-cover.js";
11
- import E from "vxe-table";
12
- import { EmptyEnum as se } from "../empty/constants.js";
13
- const c = (
11
+ import I from "vxe-table";
12
+ import { EmptyEnum as oe } from "../empty/constants.js";
13
+ const r = (
14
14
  /* hoist-static*/
15
- re("table")
16
- ), ue = W({
17
- name: c.b()
18
- }), Se = /* @__PURE__ */ W({
19
- ...ue,
15
+ ae("table")
16
+ ), re = V({
17
+ name: r.b()
18
+ }), Ce = /* @__PURE__ */ V({
19
+ ...re,
20
20
  props: {
21
21
  maxHeight: null,
22
22
  columns: null,
23
- tableData: {
23
+ data: {
24
24
  default: []
25
25
  },
26
26
  loading: {
@@ -50,86 +50,53 @@ const c = (
50
50
  pageOptions: null
51
51
  },
52
52
  emits: ["page-change", "sort-change", "update:pageNum"],
53
- setup(t, {
53
+ setup(e, {
54
54
  expose: q,
55
- emit: h
55
+ emit: d
56
56
  }) {
57
- const V = U(), A = d(0), s = d(), $ = ie(() => M(), 120), z = x(() => t.pagePlacement.startsWith("bottom"));
58
- w([() => t.loading, () => t.tableData, () => t.columns], () => {
59
- $();
57
+ const T = Y(), $ = c(0), i = c(), A = le(() => D(), 120), S = H(() => e.pagePlacement.startsWith("bottom"));
58
+ y([() => e.loading, () => e.data, () => e.columns], () => {
59
+ A();
60
60
  }, {
61
61
  immediate: !0
62
62
  });
63
- function M() {
64
- v.data = t.tableData, H(t.pageNum);
63
+ function D() {
64
+ g.data = e.data, w(e.pageNum);
65
65
  }
66
- E.renderer.add("Encrypt", {
66
+ I.renderer.add("Encrypt", {
67
67
  // 加密模板
68
- renderDefault(e, l) {
68
+ renderDefault(t, a) {
69
69
  const {
70
- row: n,
71
- column: o
72
- } = l;
70
+ row: l,
71
+ column: f
72
+ } = a;
73
73
  return p("span", {
74
74
  class: "line-clamp",
75
- innerHTML: n[o.field] || "-"
75
+ innerHTML: l[f.field] || "-"
76
76
  }, null);
77
77
  }
78
- }), E.renderer.add("Clamp", {
79
- // 展开收起
80
- renderDefault(e, l) {
81
- const {
82
- row: n,
83
- column: o
84
- } = l;
85
- return o.showOverflow = null, p(L("vftClampToggle"), {
86
- autoResize: !0,
87
- maxLines: 2,
88
- text: n[o.field],
89
- title: n[o.field],
90
- toggleText: ["展开", "收起"],
91
- onClampChange: (i) => X(l)
92
- }, null);
93
- }
94
- }), E.formats.mixin({
78
+ }), I.formats.mixin({
95
79
  showEmpty({
96
- cellValue: e
80
+ cellValue: t
97
81
  }) {
98
- return e || "-";
82
+ return t || "-";
99
83
  }
100
84
  });
101
- function G(e) {
102
- h("page-change", e), h("update:pageNum", e);
85
+ function G(t) {
86
+ d("page-change", t), d("update:pageNum", t);
103
87
  }
104
- const X = (e, l) => {
105
- const {
106
- rowid: n
107
- } = e;
108
- Z(() => {
109
- const o = document.getElementsByClassName("vxe-body--row"), i = [];
110
- for (var u = 0; u < o.length; u++)
111
- o[u].getAttribute("rowid") === n && i.push(o[u]);
112
- setTimeout(() => {
113
- if (i.length > 1) {
114
- const g = i[0].clientHeight, Q = i[1].clientHeight;
115
- g !== Q && (i[1].style.height = g + "px");
116
- }
117
- }, 1);
118
- });
119
- }, j = x(() => t.columns.filter((e) => (e && e.type !== "seq" && !e.formatter && !e.slots && !e.cellRender && (e.cellRender = {
120
- name: "Encrypt"
121
- }), e))), F = () => ({
88
+ const M = () => ({
122
89
  maxHeight: "88px",
123
90
  height: "44px"
124
- }), Y = (e) => {
125
- var n;
91
+ }), X = (t) => {
92
+ var l;
126
93
  const {
127
- column: l
128
- } = e;
94
+ column: a
95
+ } = t;
129
96
  return {
130
- maxHeight: ((n = l == null ? void 0 : l.cellRender) == null ? void 0 : n.name) === "Clamp" ? "max-content" : "44px"
97
+ maxHeight: ((l = a == null ? void 0 : a.cellRender) == null ? void 0 : l.name) === "Clamp" ? "max-content" : "44px"
131
98
  };
132
- }, v = _({
99
+ }, g = J({
133
100
  autoResize: !0,
134
101
  sortConfig: {
135
102
  trigger: "cell",
@@ -137,17 +104,17 @@ const c = (
137
104
  defaultSort: {
138
105
  field: "",
139
106
  order: "desc",
140
- ...t.defaultSort
107
+ ...e.defaultSort
141
108
  },
142
109
  orders: ["desc", "asc", null]
143
110
  },
144
111
  seqConfig: {
145
- startIndex: A.value
112
+ startIndex: $.value
146
113
  },
147
114
  cellClassName: "cellClass",
148
115
  rowClassName: "rowClass",
149
- cellStyle: Y,
150
- rowStyle: F,
116
+ cellStyle: X,
117
+ rowStyle: M,
151
118
  headerRowClassName: "headerRowClass",
152
119
  headerAlign: "center",
153
120
  columnConfig: {
@@ -163,115 +130,115 @@ const c = (
163
130
  scrollX: {
164
131
  enabled: !1
165
132
  },
166
- ...t.tableConfig,
167
- ...V
168
- }), J = (e) => {
169
- h("sort-change", e);
133
+ ...e.tableConfig,
134
+ ...T
135
+ }), j = (t) => {
136
+ d("sort-change", t);
170
137
  };
171
- w(() => t.pageNum, (e) => {
172
- H(e);
138
+ y(() => e.pageNum, (t) => {
139
+ w(t);
173
140
  });
174
- const H = (e) => {
175
- v.seqConfig && (v.seqConfig.startIndex = (e - 1) * t.pageSize);
176
- }, m = d(), B = d();
177
- let C = d(!1), r = d(null), y = d(null);
178
- const f = x(() => {
179
- var e;
180
- return ((e = t.sticky) == null ? void 0 : e.getContainer) || document.documentElement || document.body;
141
+ const w = (t) => {
142
+ g.seqConfig && (g.seqConfig.startIndex = (t - 1) * e.pageSize);
143
+ }, u = c(), k = c();
144
+ let h = c(!1), o = c(null), m = c(null);
145
+ const s = H(() => {
146
+ var t;
147
+ return ((t = e.sticky) == null ? void 0 : t.getContainer) || document.documentElement || document.body;
181
148
  });
182
- w(() => [s, t.sticky], () => {
183
- var e, l, n;
184
- (e = s.value) != null && e.$el && t.sticky && ((l = f.value) == null || l.removeEventListener("scroll", b), (n = f.value) == null || n.addEventListener("scroll", b), setTimeout(() => {
185
- R();
149
+ y(() => [i, e.sticky], () => {
150
+ var t, a, l;
151
+ (t = i.value) != null && t.$el && e.sticky && ((a = s.value) == null || a.removeEventListener("scroll", v), (l = s.value) == null || l.addEventListener("scroll", v), setTimeout(() => {
152
+ N();
186
153
  }, 50));
187
154
  }, {
188
155
  immediate: !0,
189
156
  deep: !0
190
157
  });
191
- function R() {
192
- if (!r.value || !y.value || (b(), !C.value))
158
+ function N() {
159
+ if (!o.value || !m.value || (v(), !h.value))
193
160
  return;
194
- const e = r.value.clientWidth, l = y.value.offsetWidth;
195
- m.value.style.width = e - 1 + "px", B.value.style.width = l + "px";
161
+ const t = o.value.clientWidth, a = m.value.offsetWidth;
162
+ u.value.style.width = t - 1 + "px", k.value.style.width = a + "px";
196
163
  }
197
- function b() {
198
- var i, u, g;
199
- if (!((i = s.value) != null && i.$el) || !r.value || !f.value)
164
+ function v() {
165
+ var z, E, B;
166
+ if (!((z = i.value) != null && z.$el) || !o.value || !s.value)
200
167
  return;
201
- const e = ((u = f.value) == null ? void 0 : u.clientHeight) || window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight, {
202
- top: l,
203
- bottom: n
204
- } = r.value.getBoundingClientRect(), o = ((g = f.value) == null ? void 0 : g.getBoundingClientRect().top) || document.body.getBoundingClientRect().top;
205
- C.value = l < e && n > e && n - o > e, m.value.scrollLeft = r.value.scrollLeft;
168
+ const t = ((E = s.value) == null ? void 0 : E.clientHeight) || window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight, {
169
+ top: a,
170
+ bottom: l
171
+ } = o.value.getBoundingClientRect(), f = ((B = s.value) == null ? void 0 : B.getBoundingClientRect().top) || document.body.getBoundingClientRect().top;
172
+ h.value = a < t && l > t && l - f > t, u.value.scrollLeft = o.value.scrollLeft;
206
173
  }
207
- const K = () => {
208
- var l;
209
- const e = (l = s.value) == null ? void 0 : l.$el;
210
- e && (r.value = e.querySelector(".vxe-table--body-wrapper"), y.value = e.querySelector(".vxe-table--body"), !(!r.value && !y.value) && (r.value.addEventListener("scroll", function(n) {
211
- m.value.scrollLeft = n.target.scrollLeft;
212
- }), m.value.addEventListener("scroll", function(n) {
213
- r.value.scrollLeft = n.target.scrollLeft;
174
+ const F = () => {
175
+ var a;
176
+ const t = (a = i.value) == null ? void 0 : a.$el;
177
+ t && (o.value = t.querySelector(".vxe-table--body-wrapper"), m.value = t.querySelector(".vxe-table--body"), !(!o.value && !m.value) && (o.value.addEventListener("scroll", function(l) {
178
+ u.value.scrollLeft = l.target.scrollLeft;
179
+ }), u.value.addEventListener("scroll", function(l) {
180
+ o.value.scrollLeft = l.target.scrollLeft;
214
181
  })));
215
182
  };
216
- return ee(() => {
217
- t.sticky && (K(), ce(s, () => R()));
183
+ return K(() => {
184
+ e.sticky && (F(), ne(i, () => N()));
218
185
  }), q({
219
- table: s
220
- }), (e, l) => {
221
- const n = L("vxe-grid");
222
- return S(), te("div", {
223
- class: k(a(c).b())
224
- }, [a(z) ? D("", !0) : (S(), O(a(I), N({
186
+ table: i
187
+ }), (t, a) => {
188
+ const l = Q("vxe-grid");
189
+ return C(), U("div", {
190
+ class: b(n(r).b())
191
+ }, [n(S) ? P("", !0) : (C(), L(n(W), x({
225
192
  key: 0,
226
- class: [a(c).e("pager"), a(c).m("pager-" + t.pagePlacement)],
193
+ class: [n(r).e("pager"), n(r).m("pager-" + e.pagePlacement)],
227
194
  layout: "prev, pager, next"
228
- }, t.pageOptions, {
229
- total: t.total,
230
- "page-size": t.pageSize,
231
- onCurrentChange: l[0] || (l[0] = (o) => h("page-change", t.pageNum)),
232
- "current-page": t.pageNum
233
- }), null, 16, ["class", "total", "page-size", "current-page"])), p(n, N({
195
+ }, e.pageOptions, {
196
+ total: e.total,
197
+ "page-size": e.pageSize,
198
+ onCurrentChange: a[0] || (a[0] = (f) => d("page-change", e.pageNum)),
199
+ "current-page": e.pageNum
200
+ }), null, 16, ["class", "total", "page-size", "current-page"])), p(l, x({
234
201
  ref_key: "xGrid",
235
- ref: s
236
- }, v, {
237
- height: t.height,
238
- "max-height": t.maxHeight,
239
- columns: a(j),
240
- data: t.tableData,
202
+ ref: i
203
+ }, g, {
204
+ height: e.height,
205
+ "max-height": e.maxHeight,
206
+ columns: e.columns,
207
+ data: e.data,
241
208
  "auto-resize": "",
242
- loading: t.loading,
209
+ loading: e.loading,
243
210
  resizable: "",
244
- onSortChange: J
245
- }), le({
246
- empty: P(() => [p(a(oe), {
247
- type: a(se).NO_DATA
211
+ onSortChange: j
212
+ }), Z({
213
+ empty: R(() => [p(n(te), {
214
+ type: n(oe).NO_DATA
248
215
  }, null, 8, ["type"])]),
249
216
  _: 2
250
- }, [t.sticky ? {
217
+ }, [e.sticky ? {
251
218
  name: "bottom",
252
- fn: P(() => [ne(T("div", {
219
+ fn: R(() => [_(O("div", {
253
220
  ref_key: "stickyScroll",
254
- ref: m,
255
- class: k(a(c).e("sticky-scroll-warpper"))
256
- }, [T("div", {
221
+ ref: u,
222
+ class: b(n(r).e("sticky-scroll-warpper"))
223
+ }, [O("div", {
257
224
  ref_key: "stickyScrollBar",
258
- ref: B,
259
- class: k(a(c).e("sticky-scroll-bar"))
260
- }, null, 2)], 2), [[ae, a(C)]])]),
225
+ ref: k,
226
+ class: b(n(r).e("sticky-scroll-bar"))
227
+ }, null, 2)], 2), [[ee, n(h)]])]),
261
228
  key: "0"
262
- } : void 0]), 1040, ["height", "max-height", "columns", "data", "loading"]), a(z) ? (S(), O(a(I), N({
229
+ } : void 0]), 1040, ["height", "max-height", "columns", "data", "loading"]), n(S) ? (C(), L(n(W), x({
263
230
  key: 1,
264
- class: [a(c).e("pager"), a(c).m("pager-" + t.pagePlacement)],
231
+ class: [n(r).e("pager"), n(r).m("pager-" + e.pagePlacement)],
265
232
  layout: "prev, pager, next"
266
- }, t.pageOptions, {
267
- total: t.total,
268
- "page-size": t.pageSize,
233
+ }, e.pageOptions, {
234
+ total: e.total,
235
+ "page-size": e.pageSize,
269
236
  onCurrentChange: G,
270
- "current-page": t.pageNum
271
- }), null, 16, ["class", "total", "page-size", "current-page"])) : D("", !0)], 2);
237
+ "current-page": e.pageNum
238
+ }), null, 16, ["class", "total", "page-size", "current-page"])) : P("", !0)], 2);
272
239
  };
273
240
  }
274
241
  });
275
242
  export {
276
- Se as default
243
+ Ce as default
277
244
  };
@@ -1,4 +1,4 @@
1
- const o = "0.0.84";
1
+ const o = "0.0.85";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={type:"seq",title:"序号",width:70,fixed:"left",align:"center"};exports.INDEX=e;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),W=require("../empty/index.cjs"),k=require("../pagination/index.cjs"),$=require("../../hooks/use-namespace/index.cjs");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.cjs");const N=require("@vueuse/core");require("@vft/utils");require("../../utils/ns-cover.cjs");const p=require("vxe-table"),A=require("../empty/constants.cjs"),u=$.useNamespace("table"),M=e.defineComponent({name:u.b()}),j=e.defineComponent({...M,props:{maxHeight:null,columns:null,tableData:{default:[]},loading:{type:Boolean,default:!1},height:null,pageSize:{default:50},pageNum:{default:1},total:null,defaultSort:{default:{}},tableConfig:{default:{}},sticky:{type:[Boolean,Object]},pagePlacement:{default:"bottom-right"},pageOptions:null},emits:["page-change","sort-change","update:pageNum"],setup(n,{expose:q,emit:m}){const z=e.useAttrs(),B=e.ref(0),i=e.ref(),E=N.useDebounceFn(()=>H(),120),x=e.computed(()=>n.pagePlacement.startsWith("bottom"));e.watch([()=>n.loading,()=>n.tableData,()=>n.columns],()=>{E()},{immediate:!0});function H(){h.data=n.tableData,b(n.pageNum)}p.renderer.add("Encrypt",{renderDefault(t,l){const{row:a,column:r}=l;return e.createVNode("span",{class:"line-clamp",innerHTML:a[r.field]||"-"},null)}}),p.renderer.add("Clamp",{renderDefault(t,l){const{row:a,column:r}=l;return r.showOverflow=null,e.createVNode(e.resolveComponent("vftClampToggle"),{autoResize:!0,maxLines:2,text:a[r.field],title:a[r.field],toggleText:["展开","收起"],onClampChange:c=>R(l)},null)}}),p.formats.mixin({showEmpty({cellValue:t}){return t||"-"}});function P(t){m("page-change",t),m("update:pageNum",t)}const R=(t,l)=>{const{rowid:a}=t;e.nextTick(()=>{const r=document.getElementsByClassName("vxe-body--row"),c=[];for(var s=0;s<r.length;s++)r[s].getAttribute("rowid")===a&&c.push(r[s]);setTimeout(()=>{if(c.length>1){const d=c[0].clientHeight,I=c[1].clientHeight;d!==I&&(c[1].style.height=d+"px")}},1)})},L=e.computed(()=>n.columns.filter(t=>(t&&t.type!=="seq"&&!t.formatter&&!t.slots&&!t.cellRender&&(t.cellRender={name:"Encrypt"}),t))),V=()=>({maxHeight:"88px",height:"44px"}),O=t=>{var a;const{column:l}=t;return{maxHeight:((a=l==null?void 0:l.cellRender)==null?void 0:a.name)==="Clamp"?"max-content":"44px"}},h=e.reactive({autoResize:!0,sortConfig:{trigger:"cell",remote:!0,defaultSort:{field:"",order:"desc",...n.defaultSort},orders:["desc","asc",null]},seqConfig:{startIndex:B.value},cellClassName:"cellClass",rowClassName:"rowClass",cellStyle:O,rowStyle:V,headerRowClassName:"headerRowClass",headerAlign:"center",columnConfig:{resizable:!0},rowConfig:{isHover:!0},scrollY:{mode:"wheel"},scrollX:{enabled:!1},...n.tableConfig,...z}),T=t=>{m("sort-change",t)};e.watch(()=>n.pageNum,t=>{b(t)});const b=t=>{h.seqConfig&&(h.seqConfig.startIndex=(t-1)*n.pageSize)},g=e.ref(),w=e.ref();let y=e.ref(!1),o=e.ref(null),v=e.ref(null);const f=e.computed(()=>{var t;return((t=n.sticky)==null?void 0:t.getContainer)||document.documentElement||document.body});e.watch(()=>[i,n.sticky],()=>{var t,l,a;(t=i.value)!=null&&t.$el&&n.sticky&&((l=f.value)==null||l.removeEventListener("scroll",C),(a=f.value)==null||a.addEventListener("scroll",C),setTimeout(()=>{S()},50))},{immediate:!0,deep:!0});function S(){if(!o.value||!v.value||(C(),!y.value))return;const t=o.value.clientWidth,l=v.value.offsetWidth;g.value.style.width=t-1+"px",w.value.style.width=l+"px"}function C(){var c,s,d;if(!((c=i.value)!=null&&c.$el)||!o.value||!f.value)return;const t=((s=f.value)==null?void 0:s.clientHeight)||window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,{top:l,bottom:a}=o.value.getBoundingClientRect(),r=((d=f.value)==null?void 0:d.getBoundingClientRect().top)||document.body.getBoundingClientRect().top;y.value=l<t&&a>t&&a-r>t,g.value.scrollLeft=o.value.scrollLeft}const D=()=>{var l;const t=(l=i.value)==null?void 0:l.$el;t&&(o.value=t.querySelector(".vxe-table--body-wrapper"),v.value=t.querySelector(".vxe-table--body"),!(!o.value&&!v.value)&&(o.value.addEventListener("scroll",function(a){g.value.scrollLeft=a.target.scrollLeft}),g.value.addEventListener("scroll",function(a){o.value.scrollLeft=a.target.scrollLeft})))};return e.onMounted(()=>{n.sticky&&(D(),N.useResizeObserver(i,()=>S()))}),q({table:i}),(t,l)=>{const a=e.resolveComponent("vxe-grid");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(u).b())},[e.unref(x)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(k.VftPagination),e.mergeProps({key:0,class:[e.unref(u).e("pager"),e.unref(u).m("pager-"+n.pagePlacement)],layout:"prev, pager, next"},n.pageOptions,{total:n.total,"page-size":n.pageSize,onCurrentChange:l[0]||(l[0]=r=>m("page-change",n.pageNum)),"current-page":n.pageNum}),null,16,["class","total","page-size","current-page"])),e.createVNode(a,e.mergeProps({ref_key:"xGrid",ref:i},h,{height:n.height,"max-height":n.maxHeight,columns:e.unref(L),data:n.tableData,"auto-resize":"",loading:n.loading,resizable:"",onSortChange:T}),e.createSlots({empty:e.withCtx(()=>[e.createVNode(e.unref(W.VftEmpty),{type:e.unref(A.EmptyEnum).NO_DATA},null,8,["type"])]),_:2},[n.sticky?{name:"bottom",fn:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"stickyScroll",ref:g,class:e.normalizeClass(e.unref(u).e("sticky-scroll-warpper"))},[e.createElementVNode("div",{ref_key:"stickyScrollBar",ref:w,class:e.normalizeClass(e.unref(u).e("sticky-scroll-bar"))},null,2)],2),[[e.vShow,e.unref(y)]])]),key:"0"}:void 0]),1040,["height","max-height","columns","data","loading"]),e.unref(x)?(e.openBlock(),e.createBlock(e.unref(k.VftPagination),e.mergeProps({key:1,class:[e.unref(u).e("pager"),e.unref(u).m("pager-"+n.pagePlacement)],layout:"prev, pager, next"},n.pageOptions,{total:n.total,"page-size":n.pageSize,onCurrentChange:P,"current-page":n.pageNum}),null,16,["class","total","page-size","current-page"])):e.createCommentVNode("",!0)],2)}}});exports.default=j;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),W=require("../empty/index.cjs"),w=require("../pagination/index.cjs"),$=require("../../hooks/use-namespace/index.cjs");require("@popperjs/core");require("lodash");require("../../hooks/use-z-index/index.cjs");const k=require("@vueuse/core");require("@vft/utils");require("../../utils/ns-cover.cjs");const N=require("vxe-table"),I=require("../empty/constants.cjs"),o=$.useNamespace("table"),T=e.defineComponent({name:o.b()}),A=e.defineComponent({...T,props:{maxHeight:null,columns:null,data:{default:[]},loading:{type:Boolean,default:!1},height:null,pageSize:{default:50},pageNum:{default:1},total:null,defaultSort:{default:{}},tableConfig:{default:{}},sticky:{type:[Boolean,Object]},pagePlacement:{default:"bottom-right"},pageOptions:null},emits:["page-change","sort-change","update:pageNum"],setup(t,{expose:q,emit:s}){const z=e.useAttrs(),B=e.ref(0),u=e.ref(),E=k.useDebounceFn(()=>P(),120),v=e.computed(()=>t.pagePlacement.startsWith("bottom"));e.watch([()=>t.loading,()=>t.data,()=>t.columns],()=>{E()},{immediate:!0});function P(){d.data=t.data,y(t.pageNum)}N.renderer.add("Encrypt",{renderDefault(n,a){const{row:l,column:m}=a;return e.createVNode("span",{class:"line-clamp",innerHTML:l[m.field]||"-"},null)}}),N.formats.mixin({showEmpty({cellValue:n}){return n||"-"}});function H(n){s("page-change",n),s("update:pageNum",n)}const L=()=>({maxHeight:"88px",height:"44px"}),V=n=>{var l;const{column:a}=n;return{maxHeight:((l=a==null?void 0:a.cellRender)==null?void 0:l.name)==="Clamp"?"max-content":"44px"}},d=e.reactive({autoResize:!0,sortConfig:{trigger:"cell",remote:!0,defaultSort:{field:"",order:"desc",...t.defaultSort},orders:["desc","asc",null]},seqConfig:{startIndex:B.value},cellClassName:"cellClass",rowClassName:"rowClass",cellStyle:V,rowStyle:L,headerRowClassName:"headerRowClass",headerAlign:"center",columnConfig:{resizable:!0},rowConfig:{isHover:!0},scrollY:{mode:"wheel"},scrollX:{enabled:!1},...t.tableConfig,...z}),O=n=>{s("sort-change",n)};e.watch(()=>t.pageNum,n=>{y(n)});const y=n=>{d.seqConfig&&(d.seqConfig.startIndex=(n-1)*t.pageSize)},i=e.ref(),C=e.ref();let f=e.ref(!1),r=e.ref(null),g=e.ref(null);const c=e.computed(()=>{var n;return((n=t.sticky)==null?void 0:n.getContainer)||document.documentElement||document.body});e.watch(()=>[u,t.sticky],()=>{var n,a,l;(n=u.value)!=null&&n.$el&&t.sticky&&((a=c.value)==null||a.removeEventListener("scroll",h),(l=c.value)==null||l.addEventListener("scroll",h),setTimeout(()=>{p()},50))},{immediate:!0,deep:!0});function p(){if(!r.value||!g.value||(h(),!f.value))return;const n=r.value.clientWidth,a=g.value.offsetWidth;i.value.style.width=n-1+"px",C.value.style.width=a+"px"}function h(){var b,x,S;if(!((b=u.value)!=null&&b.$el)||!r.value||!c.value)return;const n=((x=c.value)==null?void 0:x.clientHeight)||window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,{top:a,bottom:l}=r.value.getBoundingClientRect(),m=((S=c.value)==null?void 0:S.getBoundingClientRect().top)||document.body.getBoundingClientRect().top;f.value=a<n&&l>n&&l-m>n,i.value.scrollLeft=r.value.scrollLeft}const R=()=>{var a;const n=(a=u.value)==null?void 0:a.$el;n&&(r.value=n.querySelector(".vxe-table--body-wrapper"),g.value=n.querySelector(".vxe-table--body"),!(!r.value&&!g.value)&&(r.value.addEventListener("scroll",function(l){i.value.scrollLeft=l.target.scrollLeft}),i.value.addEventListener("scroll",function(l){r.value.scrollLeft=l.target.scrollLeft})))};return e.onMounted(()=>{t.sticky&&(R(),k.useResizeObserver(u,()=>p()))}),q({table:u}),(n,a)=>{const l=e.resolveComponent("vxe-grid");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(o).b())},[e.unref(v)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(w.VftPagination),e.mergeProps({key:0,class:[e.unref(o).e("pager"),e.unref(o).m("pager-"+t.pagePlacement)],layout:"prev, pager, next"},t.pageOptions,{total:t.total,"page-size":t.pageSize,onCurrentChange:a[0]||(a[0]=m=>s("page-change",t.pageNum)),"current-page":t.pageNum}),null,16,["class","total","page-size","current-page"])),e.createVNode(l,e.mergeProps({ref_key:"xGrid",ref:u},d,{height:t.height,"max-height":t.maxHeight,columns:t.columns,data:t.data,"auto-resize":"",loading:t.loading,resizable:"",onSortChange:O}),e.createSlots({empty:e.withCtx(()=>[e.createVNode(e.unref(W.VftEmpty),{type:e.unref(I.EmptyEnum).NO_DATA},null,8,["type"])]),_:2},[t.sticky?{name:"bottom",fn:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"stickyScroll",ref:i,class:e.normalizeClass(e.unref(o).e("sticky-scroll-warpper"))},[e.createElementVNode("div",{ref_key:"stickyScrollBar",ref:C,class:e.normalizeClass(e.unref(o).e("sticky-scroll-bar"))},null,2)],2),[[e.vShow,e.unref(f)]])]),key:"0"}:void 0]),1040,["height","max-height","columns","data","loading"]),e.unref(v)?(e.openBlock(),e.createBlock(e.unref(w.VftPagination),e.mergeProps({key:1,class:[e.unref(o).e("pager"),e.unref(o).m("pager-"+t.pagePlacement)],layout:"prev, pager, next"},t.pageOptions,{total:t.total,"page-size":t.pageSize,onCurrentChange:H,"current-page":t.pageNum}),null,16,["class","total","page-size","current-page"])):e.createCommentVNode("",!0)],2)}}});exports.default=A;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.84";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.85";exports.version=e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vft",
3
- "version": "0.0.84",
3
+ "version": "0.0.85",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
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-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-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-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","append-to-body","lock-scroll","open-delay","close-delay","close-on-click-modal","close-on-press-escape","show-close","before-close","draggable","center","align-center","destroy-on-close","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-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":{"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-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-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-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","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","persistent","show","before-enter","after-enter","hide","before-leave","after-leave"],"description":"<!-- more -->\n\n[Docs](https://wflynn.cn/pages/popover#popover)"},"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","multiple","disabled","value-key","size","clearable","collapse-tags","collapse-tags-tooltip","multiple-limit","name","effect","autocomplete","placeholder","filterable","allow-create","filter-method","remote","remote-method","remote-show-suffix","loading","loading-text","no-match-text","no-data-text","popper-class","reserve-keyword","default-first-option","popper-append-to-body ^(deprecated)","teleported","persistent","automatic-dropdown","clear-icon","fit-input-width","suffix-icon","suffix-transition ^(deprecated)","tag-type","validate-event","placement","max-collapse-tags ^(2.3.0)","change","visible-change","remove-tag","clear","blur","focus"],"description":"[Docs](https://wflynn.cn/pages/select#select)"},"vft-option-group":{"attributes":["label","disabled"],"description":"[Docs](https://wflynn.cn/pages/select#option-group)"},"vft-option":{"attributes":["value","label","disabled"],"description":"[Docs](https://wflynn.cn/pages/select#option)"},"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","change"],"description":"表示两种相互对立的状态间的切换,多用于触发「开/关」。\n\n[Docs](https://wflynn.cn/pages/switch#switch)"},"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":["append-to","effect","content","raw-content","placement","visible / v-model:visible","disabled","offset","transition","popper-options","show-after","show-arrow","hide-after","auto-close","popper-class","enterable","teleported","trigger","virtual-triggering","virtual-ref","trigger-keys","persistent","aria-label ^(a11y)"],"description":"常用于展示鼠标 hover 时的提示信息。\n\n[Docs](https://wflynn.cn/pages/tooltip#tooltip)"},"vft-tree-select":{"attributes":["cacheData"],"description":"含有下拉菜单的树形选择器,结合了 `vft-tree` 和 `vft-select` 两个组件的功能。\n\n[Docs](https://wflynn.cn/pages/tree-select#treeselect)"},"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-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)"}}
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-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-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-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","append-to-body","lock-scroll","open-delay","close-delay","close-on-click-modal","close-on-press-escape","show-close","before-close","draggable","center","align-center","destroy-on-close","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-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":{"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-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-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-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","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","persistent","show","before-enter","after-enter","hide","before-leave","after-leave"],"description":"<!-- more -->\n\n[Docs](https://wflynn.cn/pages/popover#popover)"},"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","multiple","disabled","value-key","size","clearable","collapse-tags","collapse-tags-tooltip","multiple-limit","name","effect","autocomplete","placeholder","filterable","allow-create","filter-method","remote","remote-method","remote-show-suffix","loading","loading-text","no-match-text","no-data-text","popper-class","reserve-keyword","default-first-option","popper-append-to-body ^(deprecated)","teleported","persistent","automatic-dropdown","clear-icon","fit-input-width","suffix-icon","suffix-transition ^(deprecated)","tag-type","validate-event","placement","max-collapse-tags ^(2.3.0)","change","visible-change","remove-tag","clear","blur","focus"],"description":"[Docs](https://wflynn.cn/pages/select#select)"},"vft-option-group":{"attributes":["label","disabled"],"description":"[Docs](https://wflynn.cn/pages/select#option-group)"},"vft-option":{"attributes":["value","label","disabled"],"description":"[Docs](https://wflynn.cn/pages/select#option)"},"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","change"],"description":"表示两种相互对立的状态间的切换,多用于触发「开/关」。\n\n[Docs](https://wflynn.cn/pages/switch#switch)"},"vft-table":{"attributes":["maxHeight","columns","data","loading","height","pageSize","pageNum","total","defaultSort","tableConfig","sticky","pagePlacement","pageOptions","update:modelValue","blur","focus","clear","enter","prefixClick","suffixClick","mouseenter","mouseleave","keydown","change"],"description":"表格\n\n[Docs](https://wflynn.cn/pages/table#table)"},"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":["append-to","effect","content","raw-content","placement","visible / v-model:visible","disabled","offset","transition","popper-options","show-after","show-arrow","hide-after","auto-close","popper-class","enterable","teleported","trigger","virtual-triggering","virtual-ref","trigger-keys","persistent","aria-label ^(a11y)"],"description":"常用于展示鼠标 hover 时的提示信息。\n\n[Docs](https://wflynn.cn/pages/tooltip#tooltip)"},"vft-tree-select":{"attributes":["cacheData"],"description":"含有下拉菜单的树形选择器,结合了 `vft-tree` 和 `vft-select` 两个组件的功能。\n\n[Docs](https://wflynn.cn/pages/tree-select#treeselect)"},"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-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)"}}