vft 0.0.403 → 0.0.405

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.
@@ -1,7 +1,7 @@
1
1
  export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
2
2
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
3
3
  size: {
4
- type: import("vue").PropType<import("../types").ComponentSize>;
4
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
5
5
  };
6
6
  link: {
7
7
  type: import("vue").PropType<boolean>;
@@ -91,7 +91,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
91
91
  Defaults: {};
92
92
  }, Readonly<import("vue").ExtractPropTypes<{
93
93
  size: {
94
- type: import("vue").PropType<import("../types").ComponentSize>;
94
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
95
95
  };
96
96
  link: {
97
97
  type: import("vue").PropType<boolean>;
@@ -176,7 +176,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
176
176
  __isSuspense?: never;
177
177
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
178
178
  size: {
179
- type: import("vue").PropType<import("../types").ComponentSize>;
179
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
180
180
  };
181
181
  link: {
182
182
  type: import("vue").PropType<boolean>;
@@ -266,7 +266,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
266
266
  ButtonGroup: {
267
267
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
268
268
  size: {
269
- type: import("vue").PropType<import("../types").ComponentSize>;
269
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
270
270
  };
271
271
  type: {
272
272
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -280,7 +280,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
280
280
  Defaults: {};
281
281
  }, Readonly<import("vue").ExtractPropTypes<{
282
282
  size: {
283
- type: import("vue").PropType<import("../types").ComponentSize>;
283
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
284
284
  };
285
285
  type: {
286
286
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -291,7 +291,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
291
291
  __isSuspense?: never;
292
292
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
293
293
  size: {
294
- type: import("vue").PropType<import("../types").ComponentSize>;
294
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
295
295
  };
296
296
  type: {
297
297
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -305,7 +305,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
305
305
  export declare const VftButtonGroup: import("vft/es/utils").SFCWithInstall<{
306
306
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
307
307
  size: {
308
- type: import("vue").PropType<import("../types").ComponentSize>;
308
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
309
309
  };
310
310
  type: {
311
311
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -319,7 +319,7 @@ export declare const VftButtonGroup: import("vft/es/utils").SFCWithInstall<{
319
319
  Defaults: {};
320
320
  }, Readonly<import("vue").ExtractPropTypes<{
321
321
  size: {
322
- type: import("vue").PropType<import("../types").ComponentSize>;
322
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
323
323
  };
324
324
  type: {
325
325
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -330,7 +330,7 @@ export declare const VftButtonGroup: import("vft/es/utils").SFCWithInstall<{
330
330
  __isSuspense?: never;
331
331
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
332
332
  size: {
333
- type: import("vue").PropType<import("../types").ComponentSize>;
333
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
334
334
  };
335
335
  type: {
336
336
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -1,5 +1,5 @@
1
1
  import type { IconProps } from 'vft/es/components';
2
- import type { ComponentSize } from 'vft/es/components/types.ts';
2
+ import type { ComponentSize } from 'vft/es/constants';
3
3
  import type { Component } from 'vue';
4
4
  export type ButtonType = 'default' | 'primary' | 'success' | 'warning' | 'info' | 'danger' | 'text' | '';
5
5
  export interface ButtonConfigContext {
@@ -8,6 +8,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
8
8
  type: import("vue").PropType<"top" | "left" | "right">;
9
9
  default: string;
10
10
  };
11
+ labelWidth: {
12
+ type: import("vue").PropType<string | number>;
13
+ default: string;
14
+ };
11
15
  showResetButton: {
12
16
  type: import("vue").PropType<boolean>;
13
17
  default: boolean;
@@ -150,6 +154,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
150
154
  }, import("vue").PublicProps, {
151
155
  size: import("vft/es/constants").ComponentSize;
152
156
  labelPosition: "left" | "right" | "top";
157
+ labelWidth: string | number;
153
158
  showResetButton: boolean;
154
159
  showSubmitButton: boolean;
155
160
  showCommonButton: boolean;
@@ -180,6 +185,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
180
185
  type: import("vue").PropType<"top" | "left" | "right">;
181
186
  default: string;
182
187
  };
188
+ labelWidth: {
189
+ type: import("vue").PropType<string | number>;
190
+ default: string;
191
+ };
183
192
  showResetButton: {
184
193
  type: import("vue").PropType<boolean>;
185
194
  default: boolean;
@@ -316,6 +325,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
316
325
  }, {}, {}, {}, {
317
326
  size: import("vft/es/constants").ComponentSize;
318
327
  labelPosition: "left" | "right" | "top";
328
+ labelWidth: string | number;
319
329
  showResetButton: boolean;
320
330
  showSubmitButton: boolean;
321
331
  showCommonButton: boolean;
@@ -343,6 +353,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
343
353
  type: import("vue").PropType<"top" | "left" | "right">;
344
354
  default: string;
345
355
  };
356
+ labelWidth: {
357
+ type: import("vue").PropType<string | number>;
358
+ default: string;
359
+ };
346
360
  showResetButton: {
347
361
  type: import("vue").PropType<boolean>;
348
362
  default: boolean;
@@ -485,6 +499,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
485
499
  }, string, {
486
500
  size: import("vft/es/constants").ComponentSize;
487
501
  labelPosition: "left" | "right" | "top";
502
+ labelWidth: string | number;
488
503
  showResetButton: boolean;
489
504
  showSubmitButton: boolean;
490
505
  showCommonButton: boolean;
@@ -85,6 +85,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
85
85
  }>, {
86
86
  size: import("vft/es/constants").ComponentSize;
87
87
  labelPosition: "left" | "right" | "top";
88
+ labelWidth: string | number;
88
89
  showResetButton: boolean;
89
90
  showSubmitButton: boolean;
90
91
  showCommonButton: boolean;
@@ -107,6 +107,9 @@ const Ve = j({
107
107
  labelPosition: {
108
108
  default: "right"
109
109
  },
110
+ labelWidth: {
111
+ default: "auto"
112
+ },
110
113
  disabled: {
111
114
  type: Boolean
112
115
  },
@@ -115,9 +118,6 @@ const Ve = j({
115
118
  requireAsteriskPosition: {
116
119
  default: "left"
117
120
  },
118
- labelWidth: {
119
- default: "auto"
120
- },
121
121
  labelSuffix: {},
122
122
  inline: {
123
123
  type: Boolean
@@ -177,6 +177,7 @@ export interface SuperFormProps extends FormInnerProps {
177
177
  /** 重置与提交按钮互换位置 */
178
178
  submitResetReverse?: boolean;
179
179
  labelPosition?: 'left' | 'right' | 'top';
180
+ labelWidth?: string | number;
180
181
  }
181
182
  /** 表单配置模式接口 */
182
183
  export interface FormSchema {
@@ -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 { ref as v, getCurrentInstance as i, inject as e, computed as c, unref as Z } from "vue";
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 = v(0), f = 2e3, d = Symbol("vftZIndexContextKey"), y = Symbol("zIndexContextKey"), K = (I) => {
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 = Z(x);
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(
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.403",
3
+ "version": "0.0.405",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -1,4 +1,4 @@
1
- const o = "0.0.403";
1
+ const o = "0.0.405";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -1,7 +1,7 @@
1
1
  export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
2
2
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
3
3
  size: {
4
- type: import("vue").PropType<import("../types").ComponentSize>;
4
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
5
5
  };
6
6
  link: {
7
7
  type: import("vue").PropType<boolean>;
@@ -91,7 +91,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
91
91
  Defaults: {};
92
92
  }, Readonly<import("vue").ExtractPropTypes<{
93
93
  size: {
94
- type: import("vue").PropType<import("../types").ComponentSize>;
94
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
95
95
  };
96
96
  link: {
97
97
  type: import("vue").PropType<boolean>;
@@ -176,7 +176,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
176
176
  __isSuspense?: never;
177
177
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
178
178
  size: {
179
- type: import("vue").PropType<import("../types").ComponentSize>;
179
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
180
180
  };
181
181
  link: {
182
182
  type: import("vue").PropType<boolean>;
@@ -266,7 +266,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
266
266
  ButtonGroup: {
267
267
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
268
268
  size: {
269
- type: import("vue").PropType<import("../types").ComponentSize>;
269
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
270
270
  };
271
271
  type: {
272
272
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -280,7 +280,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
280
280
  Defaults: {};
281
281
  }, Readonly<import("vue").ExtractPropTypes<{
282
282
  size: {
283
- type: import("vue").PropType<import("../types").ComponentSize>;
283
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
284
284
  };
285
285
  type: {
286
286
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -291,7 +291,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
291
291
  __isSuspense?: never;
292
292
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
293
293
  size: {
294
- type: import("vue").PropType<import("../types").ComponentSize>;
294
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
295
295
  };
296
296
  type: {
297
297
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -305,7 +305,7 @@ export declare const VftButton: import("vft/es/utils").SFCWithInstall<{
305
305
  export declare const VftButtonGroup: import("vft/es/utils").SFCWithInstall<{
306
306
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
307
307
  size: {
308
- type: import("vue").PropType<import("../types").ComponentSize>;
308
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
309
309
  };
310
310
  type: {
311
311
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -319,7 +319,7 @@ export declare const VftButtonGroup: import("vft/es/utils").SFCWithInstall<{
319
319
  Defaults: {};
320
320
  }, Readonly<import("vue").ExtractPropTypes<{
321
321
  size: {
322
- type: import("vue").PropType<import("../types").ComponentSize>;
322
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
323
323
  };
324
324
  type: {
325
325
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -330,7 +330,7 @@ export declare const VftButtonGroup: import("vft/es/utils").SFCWithInstall<{
330
330
  __isSuspense?: never;
331
331
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
332
332
  size: {
333
- type: import("vue").PropType<import("../types").ComponentSize>;
333
+ type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
334
334
  };
335
335
  type: {
336
336
  type: import("vue").PropType<import("./types").ButtonType>;
@@ -1,5 +1,5 @@
1
1
  import type { IconProps } from 'vft/es/components';
2
- import type { ComponentSize } from 'vft/es/components/types.ts';
2
+ import type { ComponentSize } from 'vft/es/constants';
3
3
  import type { Component } from 'vue';
4
4
  export type ButtonType = 'default' | 'primary' | 'success' | 'warning' | 'info' | 'danger' | 'text' | '';
5
5
  export interface ButtonConfigContext {
@@ -8,6 +8,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
8
8
  type: import("vue").PropType<"top" | "left" | "right">;
9
9
  default: string;
10
10
  };
11
+ labelWidth: {
12
+ type: import("vue").PropType<string | number>;
13
+ default: string;
14
+ };
11
15
  showResetButton: {
12
16
  type: import("vue").PropType<boolean>;
13
17
  default: boolean;
@@ -150,6 +154,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
150
154
  }, import("vue").PublicProps, {
151
155
  size: import("vft/es/constants").ComponentSize;
152
156
  labelPosition: "left" | "right" | "top";
157
+ labelWidth: string | number;
153
158
  showResetButton: boolean;
154
159
  showSubmitButton: boolean;
155
160
  showCommonButton: boolean;
@@ -180,6 +185,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
180
185
  type: import("vue").PropType<"top" | "left" | "right">;
181
186
  default: string;
182
187
  };
188
+ labelWidth: {
189
+ type: import("vue").PropType<string | number>;
190
+ default: string;
191
+ };
183
192
  showResetButton: {
184
193
  type: import("vue").PropType<boolean>;
185
194
  default: boolean;
@@ -316,6 +325,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
316
325
  }, {}, {}, {}, {
317
326
  size: import("vft/es/constants").ComponentSize;
318
327
  labelPosition: "left" | "right" | "top";
328
+ labelWidth: string | number;
319
329
  showResetButton: boolean;
320
330
  showSubmitButton: boolean;
321
331
  showCommonButton: boolean;
@@ -343,6 +353,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
343
353
  type: import("vue").PropType<"top" | "left" | "right">;
344
354
  default: string;
345
355
  };
356
+ labelWidth: {
357
+ type: import("vue").PropType<string | number>;
358
+ default: string;
359
+ };
346
360
  showResetButton: {
347
361
  type: import("vue").PropType<boolean>;
348
362
  default: boolean;
@@ -485,6 +499,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
485
499
  }, string, {
486
500
  size: import("vft/es/constants").ComponentSize;
487
501
  labelPosition: "left" | "right" | "top";
502
+ labelWidth: string | number;
488
503
  showResetButton: boolean;
489
504
  showSubmitButton: boolean;
490
505
  showCommonButton: boolean;
@@ -85,6 +85,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
85
85
  }>, {
86
86
  size: import("vft/es/constants").ComponentSize;
87
87
  labelPosition: "left" | "right" | "top";
88
+ labelWidth: string | number;
88
89
  showResetButton: boolean;
89
90
  showSubmitButton: boolean;
90
91
  showCommonButton: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),W=require("../col/index.cjs"),J=require("../form/index.cjs"),Q=require("../row/index.cjs"),x=require("@vueuse/core"),f=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const X=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const Y=require("./super-form-action.vue2.cjs"),Z=require("./super-form-item.vue2.cjs"),ee=require("./use/use-auto-focus.cjs"),te=require("./use/use-form-context.cjs"),oe=require("./use/use-form-events.cjs"),ne=require("./use/use-form-values.cjs"),re=e.defineComponent({name:"vft-super-form"}),ue=e.defineComponent({...re,props:{size:{default:"default"},rowProps:{default:{gutter:20}},baseColProps:{},quickColSpan:{default:3},autoSetPlaceHolder:{type:Boolean,default:!0},schemas:{},autoFocusFirstItem:{type:Boolean,default:!1},submitOnReset:{type:Boolean},mergeDynamicData:{},fieldMapToTime:{},autoSubmitOnEnter:{type:Boolean,default:!0},rulesMessageJoinLabel:{type:Boolean,default:!0},submitOnChange:{type:Boolean},showActionButtonGroup:{type:Boolean,default:!0},autoCleanErrorMessage:{type:Boolean,default:!0},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},customLayout:{type:Boolean,default:!1},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},inputMaxLength:{},submitResetReverse:{type:Boolean},labelPosition:{default:"right"},disabled:{type:Boolean},model:{},rules:{},requireAsteriskPosition:{default:"left"},labelWidth:{default:"auto"},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:{type:Boolean},scrollIntoViewOptions:{type:Boolean}},emits:["register","reset","submit","field-value-change","common-btn-click"],setup(T,{expose:L,emit:$}){const N=X.useNamespace("super-form"),k=T,p=$,G=e.useAttrs(),s=e.reactive({}),d=e.ref({}),i=e.ref(!1),c=e.ref({}),w=e.ref(),B=e.ref(null),C=e.ref(),o=e.computed(()=>({...k,...e.unref(c)})),l=e.computed(()=>({...G,...k,...e.unref(o)})),u=e.computed(()=>{const t=e.unref(w);return f.cloneDeep(t)}),{handleFormValues:S,initDefault:q}=ne.useFormValues({getProps:o,defaultValueRef:d,getSchema:u,formModel:s});ee.useAutoFocus({getSchema:u,getProps:o,isInitedDefault:i,formElRef:B});const{handleSubmit:a,setFieldsValue:h,clearValidate:_,validate:R,validateField:P,getFieldsValue:v,updateSchema:y,resetSchema:m,appendSchemaByField:A,removeSchemaByField:O,resetFields:g,scrollToField:z,getFieldValue:E,setFormItemError:V}=oe.useFormEvents({emit:p,getProps:o,formModel:s,getSchema:u,defaultValueRef:d,formElRef:B,schemaRef:w,handleFormValues:S,initValues:C});te.createFormContext({resetAction:g,submitAction:a,commonAction:()=>p("common-btn-click")}),e.watch(()=>e.unref(o).model,()=>{const{model:t}=e.unref(o);t&&h(t)},{immediate:!0}),e.watch(()=>e.unref(o).schemas,(t,n)=>{f.isEqual(t,n)||m(t??[])}),e.watch(()=>u.value,t=>{e.nextTick(()=>{}),!e.unref(i)&&t?.length&&(q(),i.value=!0,o.value?.watchDataIsChange&&x.useTimeoutFn(()=>{C.value=v()},40))}),e.watch(()=>s,x.useDebounceFn(()=>{e.unref(o).submitOnChange&&a()},300),{deep:!0});async function M(t){c.value=f.deepMerge(e.unref(c)||{},t),i.value||(m(c.value?.schemas??[]),q())}function H(t,n,r){s[t]=n,r&&r.itemProps}function j(t){const{autoSubmitOnEnter:n}=e.unref(o);if(n&&t.key==="Enter"&&t.target&&t.target instanceof HTMLElement){const r=t.target;r&&r.tagName&&r.tagName.toUpperCase()==="INPUT"&&a()}}const I={getFieldsValue:v,getFieldValue:E,setFieldsValue:h,resetFields:g,updateSchema:y,resetSchema:m,setProps:M,removeSchemaByField:O,appendSchemaByField:A,clearValidate:_,validateField:P,setFormItemError:V,validate:R,submit:a,scrollToField:z};p("register",I);const K=e.computed(()=>f.pick(o.value,["showResetButton","showCommonButton","showSubmitButton","resetButtonOptions","submitButtonOptions","commonButtonOptions","actionRowOptions","actionSpan","submitResetReverse"])),b=e.useSlots(),F=t=>t?e.h(Y.default,K.value,{resetBefore:n=>b.resetBefore?.(n),submitBefore:n=>b.submitBefore?.(n),submitAfter:n=>b.submitAfter?.(n)}):null;return L({getFieldsValue:v,getFieldValue:E,setFieldsValue:h,resetFields:g,updateSchema:y,resetSchema:m,setProps:M,removeSchemaByField:O,appendSchemaByField:A,clearValidate:_,validateField:P,validate:R,submit:a,getSchema:u,setFormItemError:V,formModel:e.computed(()=>S(s))}),(t,n)=>u.value?.length?(e.openBlock(),e.createBlock(e.unref(J.VftForm),e.mergeProps({key:0},l.value,{ref_key:"formElRef",ref:B,class:e.unref(N).b(),model:s,onSubmit:n[0]||(n[0]=e.withModifiers(()=>{},["prevent"])),onKeypress:e.withKeys(j,["enter"])}),{default:e.withCtx(()=>[u.value?.length?(e.openBlock(),e.createBlock(e.unref(Q.VftRow),e.normalizeProps(e.mergeProps({key:0},l.value?.rowProps)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"formHeader"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,r=>(e.openBlock(),e.createBlock(Z.default,{key:r.field,"form-action-type":I,schema:r,"form-props":o.value,"all-default-values":d.value,"form-model":s,"set-form-model":H,"update-schema":e.unref(y)},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),D=>({name:D,fn:e.withCtx(U=>[e.renderSlot(t.$slots,D,e.mergeProps({ref_for:!0},U||{}))])}))]),1032,["schema","form-props","all-default-values","form-model","update-schema"]))),128)),o.value?.customLayout?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&o.value?.actionInline)),{key:1})):(e.openBlock(),e.createBlock(e.unref(W.VftCol),e.normalizeProps(e.mergeProps({key:0},l.value?.quickColSpan?{span:Math.ceil(24/l.value?.quickColSpan),...l.value?.baseColProps}:{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&o.value?.actionInline))))]),_:1},16))]),_:3},16)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&!o.value?.actionInline)))),e.renderSlot(t.$slots,"formFooter")]),_:3},16,["class","model"])):e.createCommentVNode("",!0)}});exports.default=ue;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),W=require("../col/index.cjs"),J=require("../form/index.cjs"),Q=require("../row/index.cjs"),x=require("@vueuse/core"),f=require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const X=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const Y=require("./super-form-action.vue2.cjs"),Z=require("./super-form-item.vue2.cjs"),ee=require("./use/use-auto-focus.cjs"),te=require("./use/use-form-context.cjs"),oe=require("./use/use-form-events.cjs"),ne=require("./use/use-form-values.cjs"),re=e.defineComponent({name:"vft-super-form"}),ue=e.defineComponent({...re,props:{size:{default:"default"},rowProps:{default:{gutter:20}},baseColProps:{},quickColSpan:{default:3},autoSetPlaceHolder:{type:Boolean,default:!0},schemas:{},autoFocusFirstItem:{type:Boolean,default:!1},submitOnReset:{type:Boolean},mergeDynamicData:{},fieldMapToTime:{},autoSubmitOnEnter:{type:Boolean,default:!0},rulesMessageJoinLabel:{type:Boolean,default:!0},submitOnChange:{type:Boolean},showActionButtonGroup:{type:Boolean,default:!0},autoCleanErrorMessage:{type:Boolean,default:!0},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},customLayout:{type:Boolean,default:!1},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{},inputMaxLength:{},submitResetReverse:{type:Boolean},labelPosition:{default:"right"},labelWidth:{default:"auto"},disabled:{type:Boolean},model:{},rules:{},requireAsteriskPosition:{default:"left"},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:{type:Boolean},scrollIntoViewOptions:{type:Boolean}},emits:["register","reset","submit","field-value-change","common-btn-click"],setup(T,{expose:L,emit:$}){const N=X.useNamespace("super-form"),k=T,p=$,G=e.useAttrs(),s=e.reactive({}),d=e.ref({}),i=e.ref(!1),c=e.ref({}),w=e.ref(),B=e.ref(null),C=e.ref(),o=e.computed(()=>({...k,...e.unref(c)})),l=e.computed(()=>({...G,...k,...e.unref(o)})),u=e.computed(()=>{const t=e.unref(w);return f.cloneDeep(t)}),{handleFormValues:S,initDefault:q}=ne.useFormValues({getProps:o,defaultValueRef:d,getSchema:u,formModel:s});ee.useAutoFocus({getSchema:u,getProps:o,isInitedDefault:i,formElRef:B});const{handleSubmit:a,setFieldsValue:h,clearValidate:_,validate:R,validateField:P,getFieldsValue:v,updateSchema:y,resetSchema:m,appendSchemaByField:A,removeSchemaByField:O,resetFields:g,scrollToField:z,getFieldValue:E,setFormItemError:V}=oe.useFormEvents({emit:p,getProps:o,formModel:s,getSchema:u,defaultValueRef:d,formElRef:B,schemaRef:w,handleFormValues:S,initValues:C});te.createFormContext({resetAction:g,submitAction:a,commonAction:()=>p("common-btn-click")}),e.watch(()=>e.unref(o).model,()=>{const{model:t}=e.unref(o);t&&h(t)},{immediate:!0}),e.watch(()=>e.unref(o).schemas,(t,n)=>{f.isEqual(t,n)||m(t??[])}),e.watch(()=>u.value,t=>{e.nextTick(()=>{}),!e.unref(i)&&t?.length&&(q(),i.value=!0,o.value?.watchDataIsChange&&x.useTimeoutFn(()=>{C.value=v()},40))}),e.watch(()=>s,x.useDebounceFn(()=>{e.unref(o).submitOnChange&&a()},300),{deep:!0});async function M(t){c.value=f.deepMerge(e.unref(c)||{},t),i.value||(m(c.value?.schemas??[]),q())}function H(t,n,r){s[t]=n,r&&r.itemProps}function j(t){const{autoSubmitOnEnter:n}=e.unref(o);if(n&&t.key==="Enter"&&t.target&&t.target instanceof HTMLElement){const r=t.target;r&&r.tagName&&r.tagName.toUpperCase()==="INPUT"&&a()}}const I={getFieldsValue:v,getFieldValue:E,setFieldsValue:h,resetFields:g,updateSchema:y,resetSchema:m,setProps:M,removeSchemaByField:O,appendSchemaByField:A,clearValidate:_,validateField:P,setFormItemError:V,validate:R,submit:a,scrollToField:z};p("register",I);const K=e.computed(()=>f.pick(o.value,["showResetButton","showCommonButton","showSubmitButton","resetButtonOptions","submitButtonOptions","commonButtonOptions","actionRowOptions","actionSpan","submitResetReverse"])),b=e.useSlots(),F=t=>t?e.h(Y.default,K.value,{resetBefore:n=>b.resetBefore?.(n),submitBefore:n=>b.submitBefore?.(n),submitAfter:n=>b.submitAfter?.(n)}):null;return L({getFieldsValue:v,getFieldValue:E,setFieldsValue:h,resetFields:g,updateSchema:y,resetSchema:m,setProps:M,removeSchemaByField:O,appendSchemaByField:A,clearValidate:_,validateField:P,validate:R,submit:a,getSchema:u,setFormItemError:V,formModel:e.computed(()=>S(s))}),(t,n)=>u.value?.length?(e.openBlock(),e.createBlock(e.unref(J.VftForm),e.mergeProps({key:0},l.value,{ref_key:"formElRef",ref:B,class:e.unref(N).b(),model:s,onSubmit:n[0]||(n[0]=e.withModifiers(()=>{},["prevent"])),onKeypress:e.withKeys(j,["enter"])}),{default:e.withCtx(()=>[u.value?.length?(e.openBlock(),e.createBlock(e.unref(Q.VftRow),e.normalizeProps(e.mergeProps({key:0},l.value?.rowProps)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"formHeader"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,r=>(e.openBlock(),e.createBlock(Z.default,{key:r.field,"form-action-type":I,schema:r,"form-props":o.value,"all-default-values":d.value,"form-model":s,"set-form-model":H,"update-schema":e.unref(y)},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),D=>({name:D,fn:e.withCtx(U=>[e.renderSlot(t.$slots,D,e.mergeProps({ref_for:!0},U||{}))])}))]),1032,["schema","form-props","all-default-values","form-model","update-schema"]))),128)),o.value?.customLayout?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&o.value?.actionInline)),{key:1})):(e.openBlock(),e.createBlock(e.unref(W.VftCol),e.normalizeProps(e.mergeProps({key:0},l.value?.quickColSpan?{span:Math.ceil(24/l.value?.quickColSpan),...l.value?.baseColProps}:{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&o.value?.actionInline))))]),_:1},16))]),_:3},16)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F(o.value?.showActionButtonGroup&&!o.value?.actionInline)))),e.renderSlot(t.$slots,"formFooter")]),_:3},16,["class","model"])):e.createCommentVNode("",!0)}});exports.default=ue;
@@ -177,6 +177,7 @@ export interface SuperFormProps extends FormInnerProps {
177
177
  /** 重置与提交按钮互换位置 */
178
178
  submitResetReverse?: boolean;
179
179
  labelPosition?: 'left' | 'right' | 'top';
180
+ labelWidth?: string | number;
180
181
  }
181
182
  /** 表单配置模式接口 */
182
183
  export interface FormSchema {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.403";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.405";exports.version=e;
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.403",
3
+ "version": "0.0.405",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vft",
3
- "version": "0.0.403",
3
+ "version": "0.0.405",
4
4
  "license": "MIT",
5
5
  "main": "lib/index.cjs",
6
6
  "module": "es/index.js",
@@ -56,11 +56,11 @@
56
56
  "sortablejs": "1.15.0",
57
57
  "photoswipe": "5.4.4",
58
58
  "@vft/router": "0.0.67",
59
+ "@vft/utils": "0.0.140",
59
60
  "@vft/constants": "0.0.72",
60
- "@vft/use": "0.0.82",
61
61
  "@vft/directives": "0.0.36",
62
62
  "@vft/store": "0.0.54",
63
- "@vft/utils": "0.0.140"
63
+ "@vft/use": "0.0.82"
64
64
  },
65
65
  "vetur": {
66
66
  "tags": "tags.json",
package/tags.json CHANGED
@@ -1 +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","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-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-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-modal":{"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","showActionButtonGroup","showSubmitButton","showCancelButton","submitButtonOptions","cancelButtonOptions","actionRowOptions","open","opened","close","closed","open-auto-focus","close-auto-focus"],"description":"在保留当前页面状态的情况下,告知用户并承载相关操作。\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","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-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-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"],"description":"<!-- more -->\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":["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":{"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)"}}