vft 0.0.263 → 0.0.264
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/components/carousel/use-carousel.js +1 -1
- package/es/components/input/input.vue2.js +4 -4
- package/es/components/super-form/index.d.ts +15 -0
- package/es/components/super-form/super-form.vue.d.ts +1 -0
- package/es/components/super-form/super-form.vue2.js +4 -4
- package/es/components/super-form/types.d.ts +2 -0
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/es/utils/vue/vnode.js +1 -1
- package/lib/components/input/input.vue2.cjs +1 -1
- package/lib/components/super-form/index.d.ts +15 -0
- package/lib/components/super-form/super-form.vue.d.ts +1 -0
- package/lib/components/super-form/super-form.vue2.cjs +1 -1
- package/lib/components/super-form/types.d.ts +2 -0
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/package.json +5 -5
- package/web-types.json +1 -1
|
@@ -10,7 +10,7 @@ import "../../hooks/use-model-toggle/index.js";
|
|
|
10
10
|
import { useOrderedChildren as Ie } from "../../hooks/use-ordered-children/index.js";
|
|
11
11
|
import "@popperjs/core";
|
|
12
12
|
import "../../hooks/use-z-index/index.js";
|
|
13
|
-
import {
|
|
13
|
+
import { carouselContextKey as ge, CAROUSEL_ITEM_NAME as H } from "./constants.js";
|
|
14
14
|
const L = 300, _e = (t, O, M) => {
|
|
15
15
|
const {
|
|
16
16
|
children: o,
|
|
@@ -13,8 +13,8 @@ import "../../hooks/use-model-toggle/index.js";
|
|
|
13
13
|
import "@popperjs/core";
|
|
14
14
|
import "../../hooks/use-z-index/index.js";
|
|
15
15
|
import { calcTextareaHeight as ye } from "./utils.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
16
|
+
import { useFormItem as et, useFormItemInputId as tt } from "../form/hooks/use-form-item.js";
|
|
17
|
+
import { useFormSize as at, useFormDisabled as ot } from "../form/hooks/use-form-common-props.js";
|
|
18
18
|
const nt = ["role"], lt = ["id", "type", "disabled", "formatter", "parser", "readonly", "autocomplete", "tabindex", "aria-label", "placeholder", "form"], st = ["id", "tabindex", "disabled", "readonly", "autocomplete", "aria-label", "placeholder", "form"], It = /* @__PURE__ */ Oe({
|
|
19
19
|
__name: "input",
|
|
20
20
|
props: {
|
|
@@ -85,9 +85,9 @@ const nt = ["role"], lt = ["id", "type", "disabled", "formatter", "parser", "rea
|
|
|
85
85
|
o.is("focus", h.value)
|
|
86
86
|
]), d = Je({
|
|
87
87
|
excludeKeys: l(() => Object.keys(X.value))
|
|
88
|
-
}), { form: Ce, formItem: F } =
|
|
88
|
+
}), { form: Ce, formItem: F } = et(), { inputId: Y } = tt(xe.props, {
|
|
89
89
|
formItemContext: F
|
|
90
|
-
}), ke =
|
|
90
|
+
}), ke = at(), p = ot(), o = pe("input"), Z = pe("textarea"), K = H(), y = H(), h = S(!1), D = S(!1), g = S(!1), M = S(!1), _ = S(), O = H(e.inputStyle), C = l(() => K.value || y.value), T = l(() => J(e.prefixIcon, "icon", { size: 16 })), ee = l(() => J(e.suffixIcon, "icon", { size: 16 })), Ie = l(() => J(e.clearIcon, "icon", {
|
|
91
91
|
icon: "icon-circle-close",
|
|
92
92
|
size: 16
|
|
93
93
|
})), te = l(() => Ce?.statusIcon ?? !1), k = l(() => F?.validateState || ""), ae = l(
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
2
2
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
3
|
+
size: {
|
|
4
|
+
type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
|
|
5
|
+
default: string;
|
|
6
|
+
};
|
|
3
7
|
mergeDynamicData: {
|
|
4
8
|
type: import("vue").PropType<import("../types").Recordable>;
|
|
5
9
|
};
|
|
@@ -95,6 +99,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
|
95
99
|
submit: (formData: Record<string, any>, isChange?: boolean | undefined, changeData?: any[] | undefined) => void;
|
|
96
100
|
"field-value-change": () => void;
|
|
97
101
|
}, import("vue").PublicProps, {
|
|
102
|
+
size: import("vft/es/constants").ComponentSize;
|
|
98
103
|
rulesMessageJoinLabel: boolean;
|
|
99
104
|
compFullWidth: boolean;
|
|
100
105
|
autoSetPlaceHolder: boolean;
|
|
@@ -112,6 +117,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
|
112
117
|
M: {};
|
|
113
118
|
Defaults: {};
|
|
114
119
|
}, Readonly<import("vue").ExtractPropTypes<{
|
|
120
|
+
size: {
|
|
121
|
+
type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
|
|
122
|
+
default: string;
|
|
123
|
+
};
|
|
115
124
|
mergeDynamicData: {
|
|
116
125
|
type: import("vue").PropType<import("../types").Recordable>;
|
|
117
126
|
};
|
|
@@ -202,6 +211,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
|
202
211
|
submit: (e?: Event) => Promise<void>;
|
|
203
212
|
getSchema: import("vue").ComputedRef<import("./types").FormSchema[]>;
|
|
204
213
|
}, {}, {}, {}, {
|
|
214
|
+
size: import("vft/es/constants").ComponentSize;
|
|
205
215
|
rulesMessageJoinLabel: boolean;
|
|
206
216
|
compFullWidth: boolean;
|
|
207
217
|
autoSetPlaceHolder: boolean;
|
|
@@ -216,6 +226,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
|
216
226
|
__isTeleport?: never;
|
|
217
227
|
__isSuspense?: never;
|
|
218
228
|
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
229
|
+
size: {
|
|
230
|
+
type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
|
|
231
|
+
default: string;
|
|
232
|
+
};
|
|
219
233
|
mergeDynamicData: {
|
|
220
234
|
type: import("vue").PropType<import("../types").Recordable>;
|
|
221
235
|
};
|
|
@@ -311,6 +325,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
|
311
325
|
submit: (formData: Record<string, any>, isChange?: boolean | undefined, changeData?: any[] | undefined) => void;
|
|
312
326
|
"field-value-change": () => void;
|
|
313
327
|
}, string, {
|
|
328
|
+
size: import("vft/es/constants").ComponentSize;
|
|
314
329
|
rulesMessageJoinLabel: boolean;
|
|
315
330
|
compFullWidth: boolean;
|
|
316
331
|
autoSetPlaceHolder: boolean;
|
|
@@ -75,6 +75,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
75
75
|
onRegister?: ((instance: Partial<FormActionType>) => any) | undefined;
|
|
76
76
|
"onField-value-change"?: (() => any) | undefined;
|
|
77
77
|
}>, {
|
|
78
|
+
size: import("vft/es/constants").ComponentSize;
|
|
78
79
|
rulesMessageJoinLabel: boolean;
|
|
79
80
|
compFullWidth: boolean;
|
|
80
81
|
autoSetPlaceHolder: boolean;
|
|
@@ -21,6 +21,9 @@ const Re = K({
|
|
|
21
21
|
}), Ke = /* @__PURE__ */ K({
|
|
22
22
|
...Re,
|
|
23
23
|
props: {
|
|
24
|
+
size: {
|
|
25
|
+
default: "default"
|
|
26
|
+
},
|
|
24
27
|
rowProps: {
|
|
25
28
|
default: {
|
|
26
29
|
gutter: 20
|
|
@@ -76,9 +79,6 @@ const Re = K({
|
|
|
76
79
|
default: !1
|
|
77
80
|
},
|
|
78
81
|
resetFunc: {},
|
|
79
|
-
size: {
|
|
80
|
-
default: "default"
|
|
81
|
-
},
|
|
82
82
|
disabled: {
|
|
83
83
|
type: Boolean
|
|
84
84
|
},
|
|
@@ -247,7 +247,7 @@ const Re = K({
|
|
|
247
247
|
scrollToField: Y
|
|
248
248
|
};
|
|
249
249
|
V("register", x);
|
|
250
|
-
const G = B(() => ve(t.value, ["showResetButton", "showCommonButton", "showSubmitButton", "resetButtonOptions", "submitButtonOptions", "commonButtonOptions", "
|
|
250
|
+
const G = B(() => ve(t.value, ["showResetButton", "showCommonButton", "showSubmitButton", "resetButtonOptions", "submitButtonOptions", "commonButtonOptions", "actionRowOptions", "actionSpan"]));
|
|
251
251
|
return W({
|
|
252
252
|
getFieldsValue: S,
|
|
253
253
|
getFieldValue: N,
|
|
@@ -2,6 +2,7 @@ import type { ButtonProps } from 'vft/es/components/button';
|
|
|
2
2
|
import type { ColProps } from 'vft/es/components/col';
|
|
3
3
|
import type { FormItemProp, FormItemProps, FormProps } from 'vft/es/components/form';
|
|
4
4
|
import type { RowProps } from 'vft/es/components/row';
|
|
5
|
+
import type { ComponentSize } from 'vft/es/constants';
|
|
5
6
|
import type { InternalRuleItem, RuleItem } from 'async-validator';
|
|
6
7
|
import type { StyleValue, VNode } from 'vue';
|
|
7
8
|
import type { Arrayable } from 'vft/es/utils';
|
|
@@ -65,6 +66,7 @@ export interface SuperFormActionProps {
|
|
|
65
66
|
}
|
|
66
67
|
type FormInnerProps = FormProps & SuperFormActionProps;
|
|
67
68
|
export interface SuperFormProps extends FormInnerProps {
|
|
69
|
+
size?: ComponentSize;
|
|
68
70
|
/** 配置表单的 RowProps */
|
|
69
71
|
rowProps?: RowProps;
|
|
70
72
|
/** 配置所有选子项的 ColProps */
|
package/es/package.json.d.ts
CHANGED
package/es/package.json.js
CHANGED
package/es/utils/vue/vnode.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { hasOwn as m, camelize as N, isArray as E } from "@vft/utils";
|
|
2
2
|
import { isVNode as o, Fragment as S, Comment as A, Text as s, createCommentVNode as L, createBlock as _, openBlock as C } from "vue";
|
|
3
3
|
import { debugWarn as O } from "../error.js";
|
|
4
4
|
const R = "utils/vue/vnode";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),T=require("@vft/constants"),Y=require("@vft/use"),s=require("@vft/utils");require("../form/index.cjs");const b=require("../icon/index.cjs"),Z=require("@vueuse/core"),q=require("../../utils/error.cjs");require("../../utils/ns-cover.cjs");const Be=require("lodash-es"),_=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const ee=require("./utils.cjs"),te=require("../form/hooks/use-form-common-props.cjs"),oe=require("../form/hooks/use-form-item.cjs"),Ve=["role"],Ie=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],Se=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],ze=e.defineComponent({__name:"input",props:{id:{},size:{default:""},disabled:{type:Boolean},modelValue:{},type:{default:"text"},resize:{},autosize:{type:[Object,Boolean],default:!1},autocomplete:{default:"off"},formatter:{},parser:{},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean},showPassword:{type:Boolean},showWordLimit:{type:Boolean},suffixIcon:{},prefixIcon:{},clearIcon:{},containerRole:{},label:{},tabindex:{default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Boolean,null,String,Object,Array]}},emits:{[T.UPDATE_MODEL_EVENT]:t=>s.isString(t),input:t=>s.isString(t),change:t=>s.isString(t),suffixClick:t=>s.isString(t),prefixClick:t=>s.isString(t),focus:t=>t instanceof FocusEvent,blur:t=>t instanceof FocusEvent,clear:()=>!0,enter:()=>!0,mouseleave:t=>t instanceof MouseEvent,mouseenter:t=>t instanceof MouseEvent,keydown:t=>t instanceof Event,compositionstart:t=>t instanceof CompositionEvent,compositionupdate:t=>t instanceof CompositionEvent,compositionend:t=>t instanceof CompositionEvent},setup(t,{expose:ne,emit:ae}){const l=ae,p=e.useAttrs(),i=e.useSlots(),F=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=p["aria-haspopup"],o["aria-owns"]=p["aria-owns"],o["aria-expanded"]=p["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",c.value),n.is("exceed",fe.value),n.is("focus",m.value),{[n.b("group")]:i.prepend||i.append,[n.bm("group","append")]:i.append,[n.bm("group","prepend")]:i.prepend,[n.m("prefix")]:i.prefix||t.prefixIcon,[n.m("suffix")]:i.suffix||t.suffixIcon||t.clearable||t.showPassword,[n.bm("suffix","password-clear")]:E.value&&z.value},p.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",m.value)]),r=Y.useAttrs({excludeKeys:e.computed(()=>Object.keys(F.value))}),{form:ue,formItem:C}=oe.useFormItem(),{inputId:M}=oe.useFormItemInputId(se.props,{formItemContext:C}),ie=te.useFormSize(),c=te.useFormDisabled(),n=_.useNamespace("input"),A=_.useNamespace("textarea"),w=e.shallowRef(),d=e.shallowRef(),m=e.ref(!1),V=e.ref(!1),v=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),y=e.computed(()=>w.value||d.value),S=e.computed(()=>s.singleAttrToObj(t.prefixIcon,"icon",{size:16})),O=e.computed(()=>s.singleAttrToObj(t.suffixIcon,"icon",{size:16})),ce=e.computed(()=>s.singleAttrToObj(t.clearIcon,"icon",{icon:"icon-circle-close",size:16})),R=e.computed(()=>ue?.statusIcon??!1),h=e.computed(()=>C?.validateState||""),K=e.computed(()=>h.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[h.value]),de=e.computed(()=>x.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[p.style,t.inputStyle]),$=e.computed(()=>[t.inputStyle,I.value,{resize:t.resize}]),u=e.computed(()=>Be.isNil(t.modelValue)?"":String(t.modelValue)),E=e.computed(()=>t.clearable&&!c.value&&!t.readonly&&!!u.value&&(m.value||V.value)),z=e.computed(()=>t.showPassword&&!c.value&&!t.readonly&&!!u.value&&(!!u.value||m.value)),f=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!c.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!f.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||f.value||!!h.value&&R.value),[ve,ye]=Y.useCursor(w);Z.useResizeObserver(d,o=>{if(!f.value||t.resize!=="both")return;const a=o[0],{width:k}=a.contentRect;D.value={right:`calc(100% - ${k+15+6}px)`}});const B=()=>{if(!(!Z.isClient||t.type!=="textarea"))if(t.autosize){const o=s.isObject(t.autosize)?t.autosize.minRows:void 0,a=s.isObject(t.autosize)?t.autosize.maxRows:void 0;I.value={...ee.calcTextareaHeight(d.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(d.value).minHeight}},g=()=>{const o=y.value;!o||o.value===u.value||(o.value=u.value)},P=async o=>{ve();let{value:a}=o.target;if(r.value.maxlength&&a.length>=r.value.maxlength&&(a=a.slice(0,Number(r.value.maxlength))),t.formatter&&(a=t.parser?t.parser(a):a,a=t.formatter(a)),!v.value){if(a===u.value){g();return}l(T.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),g(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),v.value=!0},ke=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,k=a[a.length-1]||"";v.value=!ke(k)},H=o=>{l("compositionend",o),v.value&&(v.value=!1,P(o))},be=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),y.value?.focus()},Ce=()=>y.value?.blur(),G=o=>{m.value=!0,l("focus",o)},J=o=>{m.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>q.debugWarn(a))},we=o=>{V.value=!1,l("mouseleave",o)},xe=o=>{V.value=!0,l("mouseenter",o)},Q=o=>{let a=o.key;if(o.target.type==="number"&&["e","+","-0","E"].includes(a))return o.returnValue=!1,!1;l("keydown",o)},Ee=()=>{y.value?.select()},X=()=>{l(T.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>q.debugWarn(o))}),e.watch(u,()=>g()),e.watch(()=>t.type,async()=>{await e.nextTick(),g(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&q.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),g(),e.nextTick(B)}),ne({input:w,textarea:d,ref:y,textareaStyle:$,autosize:t.autosize,focus:U,blur:Ce,select:Ee,clear:X,resizeTextarea:B}),(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(F.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we}),[o.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).be("group","prepend"))},[e.renderSlot(o.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(re.value)},[o.$slots.prefix||S.value?.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("prefix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("prefix-inner")),onClick:ge},[e.renderSlot(o.$slots,"prefix"),S.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:0,pointer:""},S.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(M),ref_key:"input",ref:w,class:e.unref(n).e("inner")},e.unref(r),{type:o.showPassword?x.value?"text":"password":o.type,disabled:e.unref(c),formatter:o.formatter,parser:o.parser,readonly:o.readonly,autocomplete:o.autocomplete,tabindex:o.tabindex,"aria-label":o.label,placeholder:o.placeholder,style:o.inputStyle,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q,onKeyup:a[0]||(a[0]=e.withKeys(k=>l("enter"),["enter"]))}),null,16,Ie),pe.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("suffix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix-inner")),onClick:he},[!E.value||!z.value||!f.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:0},O.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(n).e("icon"),e.unref(n).e("clear")]},ce.value,{onMousedown:e.withModifiers(e.unref(s.noop),["prevent"]),onClick:e.withModifiers(X,["stop"])}),null,16,["class","onMousedown"])):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:be}),null,16,["class"])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(e.unref(n).e("count"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count-inner"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),3)],2)):e.createCommentVNode("",!0),h.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",h.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),o.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).be("group","append"))},[e.renderSlot(o.$slots,"append")],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("textarea",e.mergeProps({id:e.unref(M),ref_key:"textarea",ref:d,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(c),readonly:o.readonly,autocomplete:o.autocomplete,style:$.value,"aria-label":o.label,placeholder:o.placeholder,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q}),null,16,Se),f.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(D.value),class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),7)):e.createCommentVNode("",!0)],64))],16,Ve)),[[e.vShow,o.type!=="hidden"]])}});exports.default=ze;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),T=require("@vft/constants"),Y=require("@vft/use"),s=require("@vft/utils");require("../form/index.cjs");const b=require("../icon/index.cjs"),Z=require("@vueuse/core"),q=require("../../utils/error.cjs");require("../../utils/ns-cover.cjs");const Be=require("lodash-es"),_=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const ee=require("./utils.cjs"),te=require("../form/hooks/use-form-item.cjs"),oe=require("../form/hooks/use-form-common-props.cjs"),Ve=["role"],Ie=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder","form"],Se=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form"],ze=e.defineComponent({__name:"input",props:{id:{},size:{default:""},disabled:{type:Boolean},modelValue:{},type:{default:"text"},resize:{},autosize:{type:[Object,Boolean],default:!1},autocomplete:{default:"off"},formatter:{},parser:{},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean},showPassword:{type:Boolean},showWordLimit:{type:Boolean},suffixIcon:{},prefixIcon:{},clearIcon:{},containerRole:{},label:{},tabindex:{default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:[Boolean,null,String,Object,Array]}},emits:{[T.UPDATE_MODEL_EVENT]:t=>s.isString(t),input:t=>s.isString(t),change:t=>s.isString(t),suffixClick:t=>s.isString(t),prefixClick:t=>s.isString(t),focus:t=>t instanceof FocusEvent,blur:t=>t instanceof FocusEvent,clear:()=>!0,enter:()=>!0,mouseleave:t=>t instanceof MouseEvent,mouseenter:t=>t instanceof MouseEvent,keydown:t=>t instanceof Event,compositionstart:t=>t instanceof CompositionEvent,compositionupdate:t=>t instanceof CompositionEvent,compositionend:t=>t instanceof CompositionEvent},setup(t,{expose:ne,emit:ae}){const l=ae,p=e.useAttrs(),i=e.useSlots(),F=e.computed(()=>{const o={};return t.containerRole==="combobox"&&(o["aria-haspopup"]=p["aria-haspopup"],o["aria-owns"]=p["aria-owns"],o["aria-expanded"]=p["aria-expanded"]),o}),le=e.computed(()=>[t.type==="textarea"?A.b():n.b(),n.m(ie.value),n.is("disabled",c.value),n.is("exceed",fe.value),n.is("focus",m.value),{[n.b("group")]:i.prepend||i.append,[n.bm("group","append")]:i.append,[n.bm("group","prepend")]:i.prepend,[n.m("prefix")]:i.prefix||t.prefixIcon,[n.m("suffix")]:i.suffix||t.suffixIcon||t.clearable||t.showPassword,[n.bm("suffix","password-clear")]:E.value&&z.value},p.class]),se=e.getCurrentInstance(),re=e.computed(()=>[n.e("wrapper"),n.is("focus",m.value)]),r=Y.useAttrs({excludeKeys:e.computed(()=>Object.keys(F.value))}),{form:ue,formItem:C}=te.useFormItem(),{inputId:M}=te.useFormItemInputId(se.props,{formItemContext:C}),ie=oe.useFormSize(),c=oe.useFormDisabled(),n=_.useNamespace("input"),A=_.useNamespace("textarea"),w=e.shallowRef(),d=e.shallowRef(),m=e.ref(!1),V=e.ref(!1),v=e.ref(!1),x=e.ref(!1),D=e.ref(),I=e.shallowRef(t.inputStyle),y=e.computed(()=>w.value||d.value),S=e.computed(()=>s.singleAttrToObj(t.prefixIcon,"icon",{size:16})),O=e.computed(()=>s.singleAttrToObj(t.suffixIcon,"icon",{size:16})),ce=e.computed(()=>s.singleAttrToObj(t.clearIcon,"icon",{icon:"icon-circle-close",size:16})),R=e.computed(()=>ue?.statusIcon??!1),h=e.computed(()=>C?.validateState||""),K=e.computed(()=>h.value&&{validating:"icon-loading",success:"icon-circle-check",error:"icon-circle-close"}[h.value]),de=e.computed(()=>x.value?{icon:"icon-view",size:16}:{icon:"icon-hide",size:16}),me=e.computed(()=>[p.style,t.inputStyle]),$=e.computed(()=>[t.inputStyle,I.value,{resize:t.resize}]),u=e.computed(()=>Be.isNil(t.modelValue)?"":String(t.modelValue)),E=e.computed(()=>t.clearable&&!c.value&&!t.readonly&&!!u.value&&(m.value||V.value)),z=e.computed(()=>t.showPassword&&!c.value&&!t.readonly&&!!u.value&&(!!u.value||m.value)),f=e.computed(()=>t.showWordLimit&&!!r.value.maxlength&&(t.type==="text"||t.type==="textarea")&&!c.value&&!t.readonly&&!t.showPassword),N=e.computed(()=>Array.from(u.value).length),fe=e.computed(()=>!!f.value&&N.value>Number(r.value.maxlength)),pe=e.computed(()=>!!i.suffix||!!t.suffixIcon||E.value||t.showPassword||f.value||!!h.value&&R.value),[ve,ye]=Y.useCursor(w);Z.useResizeObserver(d,o=>{if(!f.value||t.resize!=="both")return;const a=o[0],{width:k}=a.contentRect;D.value={right:`calc(100% - ${k+15+6}px)`}});const B=()=>{if(!(!Z.isClient||t.type!=="textarea"))if(t.autosize){const o=s.isObject(t.autosize)?t.autosize.minRows:void 0,a=s.isObject(t.autosize)?t.autosize.maxRows:void 0;I.value={...ee.calcTextareaHeight(d.value,o,a)}}else I.value={minHeight:ee.calcTextareaHeight(d.value).minHeight}},g=()=>{const o=y.value;!o||o.value===u.value||(o.value=u.value)},P=async o=>{ve();let{value:a}=o.target;if(r.value.maxlength&&a.length>=r.value.maxlength&&(a=a.slice(0,Number(r.value.maxlength))),t.formatter&&(a=t.parser?t.parser(a):a,a=t.formatter(a)),!v.value){if(a===u.value){g();return}l(T.UPDATE_MODEL_EVENT,a),l("input",a),await e.nextTick(),g(),ye()}},j=o=>{l("change",o.target.value)},he=()=>{l("suffixClick",t.modelValue)},ge=()=>{l("prefixClick",t.modelValue)},L=o=>{l("compositionstart",o),v.value=!0},ke=o=>/([(\uAC00-\uD7AF)|\u3130-\u318F])+/.test(o),W=o=>{l("compositionupdate",o);const a=o.target?.value,k=a[a.length-1]||"";v.value=!ke(k)},H=o=>{l("compositionend",o),v.value&&(v.value=!1,P(o))},be=()=>{x.value=!x.value,U()},U=async()=>{await e.nextTick(),y.value?.focus()},Ce=()=>y.value?.blur(),G=o=>{m.value=!0,l("focus",o)},J=o=>{m.value=!1,l("blur",o),t.validateEvent&&C?.validate?.("blur").catch(a=>q.debugWarn(a))},we=o=>{V.value=!1,l("mouseleave",o)},xe=o=>{V.value=!0,l("mouseenter",o)},Q=o=>{let a=o.key;if(o.target.type==="number"&&["e","+","-0","E"].includes(a))return o.returnValue=!1,!1;l("keydown",o)},Ee=()=>{y.value?.select()},X=()=>{l(T.UPDATE_MODEL_EVENT,""),l("change",""),l("clear"),l("input","")};return e.watch(()=>t.modelValue,()=>{e.nextTick(()=>B()),t.validateEvent&&C?.validate?.("change").catch(o=>q.debugWarn(o))}),e.watch(u,()=>g()),e.watch(()=>t.type,async()=>{await e.nextTick(),g(),B()}),e.onMounted(()=>{!t.formatter&&t.parser&&q.debugWarn("VftInput","If you set the parser, you also need to set the formatter."),g(),e.nextTick(B)}),ne({input:w,textarea:d,ref:y,textareaStyle:$,autosize:t.autosize,focus:U,blur:Ce,select:Ee,clear:X,resizeTextarea:B}),(o,a)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps(F.value,{class:le.value,style:me.value,role:o.containerRole,onMouseenter:xe,onMouseleave:we}),[o.type!=="textarea"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.$slots.prepend?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(n).be("group","prepend"))},[e.renderSlot(o.$slots,"prepend")],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(re.value)},[o.$slots.prefix||S.value?.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(e.unref(n).e("prefix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("prefix-inner")),onClick:ge},[e.renderSlot(o.$slots,"prefix"),S.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:0,pointer:""},S.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0),e.createElementVNode("input",e.mergeProps({id:e.unref(M),ref_key:"input",ref:w,class:e.unref(n).e("inner")},e.unref(r),{type:o.showPassword?x.value?"text":"password":o.type,disabled:e.unref(c),formatter:o.formatter,parser:o.parser,readonly:o.readonly,autocomplete:o.autocomplete,tabindex:o.tabindex,"aria-label":o.label,placeholder:o.placeholder,style:o.inputStyle,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q,onKeyup:a[0]||(a[0]=e.withKeys(k=>l("enter"),["enter"]))}),null,16,Ie),pe.value?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(e.unref(n).e("suffix"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("suffix-inner")),onClick:he},[!E.value||!z.value||!f.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(o.$slots,"suffix"),O.value?.icon?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:0},O.value,{class:e.unref(n).e("icon")}),null,16,["class"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:1,pointer:"",class:[e.unref(n).e("icon"),e.unref(n).e("clear")]},ce.value,{onMousedown:e.withModifiers(e.unref(s.noop),["prevent"]),onClick:e.withModifiers(X,["stop"])}),null,16,["class","onMousedown"])):e.createCommentVNode("",!0),z.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),e.mergeProps({key:2},de.value,{class:[e.unref(n).e("icon"),e.unref(n).e("password")],onClick:be}),null,16,["class"])):e.createCommentVNode("",!0),f.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(e.unref(n).e("count"))},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(n).e("count-inner"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),3)],2)):e.createCommentVNode("",!0),h.value&&K.value&&R.value?(e.openBlock(),e.createBlock(e.unref(b.VftIcon),{key:4,icon:K.value,class:e.normalizeClass([e.unref(n).e("icon"),e.unref(n).e("validateIcon"),e.unref(n).is("loading",h.value==="validating")])},null,8,["icon","class"])):e.createCommentVNode("",!0)],2)],2)):e.createCommentVNode("",!0)],2),o.$slots.append?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(n).be("group","append"))},[e.renderSlot(o.$slots,"append")],2)):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("textarea",e.mergeProps({id:e.unref(M),ref_key:"textarea",ref:d,class:e.unref(A).e("inner")},e.unref(r),{tabindex:o.tabindex,disabled:e.unref(c),readonly:o.readonly,autocomplete:o.autocomplete,style:$.value,"aria-label":o.label,placeholder:o.placeholder,form:o.form,onCompositionstart:L,onCompositionupdate:W,onCompositionend:H,onInput:P,onFocus:G,onBlur:J,onChange:j,onKeydown:Q}),null,16,Se),f.value?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(D.value),class:e.normalizeClass(e.unref(n).e("count"))},e.toDisplayString(N.value)+" / "+e.toDisplayString(e.unref(r).maxlength),7)):e.createCommentVNode("",!0)],64))],16,Ve)),[[e.vShow,o.type!=="hidden"]])}});exports.default=ze;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
2
2
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
|
|
3
|
+
size: {
|
|
4
|
+
type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
|
|
5
|
+
default: string;
|
|
6
|
+
};
|
|
3
7
|
mergeDynamicData: {
|
|
4
8
|
type: import("vue").PropType<import("../types").Recordable>;
|
|
5
9
|
};
|
|
@@ -95,6 +99,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
|
95
99
|
submit: (formData: Record<string, any>, isChange?: boolean | undefined, changeData?: any[] | undefined) => void;
|
|
96
100
|
"field-value-change": () => void;
|
|
97
101
|
}, import("vue").PublicProps, {
|
|
102
|
+
size: import("vft/es/constants").ComponentSize;
|
|
98
103
|
rulesMessageJoinLabel: boolean;
|
|
99
104
|
compFullWidth: boolean;
|
|
100
105
|
autoSetPlaceHolder: boolean;
|
|
@@ -112,6 +117,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
|
112
117
|
M: {};
|
|
113
118
|
Defaults: {};
|
|
114
119
|
}, Readonly<import("vue").ExtractPropTypes<{
|
|
120
|
+
size: {
|
|
121
|
+
type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
|
|
122
|
+
default: string;
|
|
123
|
+
};
|
|
115
124
|
mergeDynamicData: {
|
|
116
125
|
type: import("vue").PropType<import("../types").Recordable>;
|
|
117
126
|
};
|
|
@@ -202,6 +211,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
|
202
211
|
submit: (e?: Event) => Promise<void>;
|
|
203
212
|
getSchema: import("vue").ComputedRef<import("./types").FormSchema[]>;
|
|
204
213
|
}, {}, {}, {}, {
|
|
214
|
+
size: import("vft/es/constants").ComponentSize;
|
|
205
215
|
rulesMessageJoinLabel: boolean;
|
|
206
216
|
compFullWidth: boolean;
|
|
207
217
|
autoSetPlaceHolder: boolean;
|
|
@@ -216,6 +226,10 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
|
216
226
|
__isTeleport?: never;
|
|
217
227
|
__isSuspense?: never;
|
|
218
228
|
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
229
|
+
size: {
|
|
230
|
+
type: import("vue").PropType<import("vft/es/constants").ComponentSize>;
|
|
231
|
+
default: string;
|
|
232
|
+
};
|
|
219
233
|
mergeDynamicData: {
|
|
220
234
|
type: import("vue").PropType<import("../types").Recordable>;
|
|
221
235
|
};
|
|
@@ -311,6 +325,7 @@ export declare const VftSuperForm: import("vft/es/utils").SFCWithInstall<{
|
|
|
311
325
|
submit: (formData: Record<string, any>, isChange?: boolean | undefined, changeData?: any[] | undefined) => void;
|
|
312
326
|
"field-value-change": () => void;
|
|
313
327
|
}, string, {
|
|
328
|
+
size: import("vft/es/constants").ComponentSize;
|
|
314
329
|
rulesMessageJoinLabel: boolean;
|
|
315
330
|
compFullWidth: boolean;
|
|
316
331
|
autoSetPlaceHolder: boolean;
|
|
@@ -75,6 +75,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
75
75
|
onRegister?: ((instance: Partial<FormActionType>) => any) | undefined;
|
|
76
76
|
"onField-value-change"?: (() => any) | undefined;
|
|
77
77
|
}>, {
|
|
78
|
+
size: import("vft/es/constants").ComponentSize;
|
|
78
79
|
rulesMessageJoinLabel: boolean;
|
|
79
80
|
compFullWidth: boolean;
|
|
80
81
|
autoSetPlaceHolder: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),K=require("../row/index.cjs"),U=require("../col/index.cjs"),W=require("../form/index.cjs"),I=require("@vueuse/core"),m=require("@vft/utils");require("../../utils/ns-cover.cjs");require("lodash-es");const J=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const M=require("./super-form-action.vue2.cjs"),Q=require("./super-form-item.vue2.cjs"),X=require("./use/use-auto-focus.cjs"),Y=require("./use/use-form-context.cjs"),Z=require("./use/use-form-events.cjs"),ee=require("./use/use-form-values.cjs"),te=e.defineComponent({name:"vft-super-form"}),oe=e.defineComponent({...te,props:{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},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),K=require("../row/index.cjs"),U=require("../col/index.cjs"),W=require("../form/index.cjs"),I=require("@vueuse/core"),m=require("@vft/utils");require("../../utils/ns-cover.cjs");require("lodash-es");const J=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const M=require("./super-form-action.vue2.cjs"),Q=require("./super-form-item.vue2.cjs"),X=require("./use/use-auto-focus.cjs"),Y=require("./use/use-form-context.cjs"),Z=require("./use/use-form-events.cjs"),ee=require("./use/use-form-values.cjs"),te=e.defineComponent({name:"vft-super-form"}),oe=e.defineComponent({...te,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},beforeSubmitFunc:{},submitFunc:{},watchDataIsChange:{type:Boolean},compFullWidth:{type:Boolean,default:!1},actionInline:{type:Boolean,default:!1},resetFunc:{},disabled:{type:Boolean},model:{},rules:{},labelPosition:{default:"right"},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},showResetButton:{type:Boolean,default:!1},showSubmitButton:{type:Boolean,default:!0},showCommonButton:{type:Boolean,default:!1},resetButtonOptions:{},submitButtonOptions:{},commonButtonOptions:{},actionRowOptions:{}},emits:["register","reset","submit","field-value-change"],setup(T,{expose:x,emit:D}){const N=J.useNamespace("super-form"),y=T,F=D,$=e.useAttrs(),u=e.reactive({}),p=e.ref({}),i=e.ref(!1),c=e.ref({}),b=e.ref(),d=e.ref(null),k=e.ref(),o=e.computed(()=>({...y,...e.unref(c)})),s=e.computed(()=>({...$,...y,...e.unref(o)})),n=e.computed(()=>{const t=e.unref(b);return m.cloneDeep(t)}),{handleFormValues:z,initDefault:w}=ee.useFormValues({getProps:o,defaultValueRef:p,getSchema:n,formModel:u});X.useAutoFocus({getSchema:n,getProps:o,isInitedDefault:i,formElRef:d});const{handleSubmit:l,setFieldsValue:B,clearValidate:C,validate:_,validateField:q,getFieldsValue:h,updateSchema:v,resetSchema:f,appendSchemaByField:P,removeSchemaByField:S,resetFields:g,scrollToField:L,getFieldValue:V}=Z.useFormEvents({emit:F,getProps:o,formModel:u,getSchema:n,defaultValueRef:p,formElRef:d,schemaRef:b,handleFormValues:z,initValues:k});Y.createFormContext({resetAction:g,submitAction:l}),e.watch(()=>e.unref(o).model,()=>{const{model:t}=e.unref(o);t&&B(t)},{immediate:!0}),e.watch(()=>e.unref(o).schemas,(t,a)=>{m.isEqual(t,a)||f(t??[])}),e.watch(()=>n.value,t=>{e.nextTick(()=>{}),!e.unref(i)&&t?.length&&(w(),i.value=!0,o.value?.watchDataIsChange&&I.useTimeoutFn(()=>{k.value=h()},40))}),e.watch(()=>u,I.useDebounceFn(()=>{e.unref(o).submitOnChange&&l()},300),{deep:!0});async function R(t){c.value=m.deepMerge(e.unref(c)||{},t),i.value||(f(c.value?.schemas??[]),w())}function G(t,a,r){u[t]=a,r&&r.itemProps}function H(t){const{autoSubmitOnEnter:a}=e.unref(o);if(a&&t.key==="Enter"&&t.target&&t.target instanceof HTMLElement){const r=t.target;r&&r.tagName&&r.tagName.toUpperCase()==="INPUT"&&l()}}const O={getFieldsValue:h,getFieldValue:V,setFieldsValue:B,resetFields:g,updateSchema:v,resetSchema:f,setProps:R,removeSchemaByField:S,appendSchemaByField:P,clearValidate:C,validateField:q,validate:_,submit:l,scrollToField:L};F("register",O);const E=e.computed(()=>m.pick(o.value,["showResetButton","showCommonButton","showSubmitButton","resetButtonOptions","submitButtonOptions","commonButtonOptions","actionRowOptions","actionSpan"]));return x({getFieldsValue:h,getFieldValue:V,setFieldsValue:B,resetFields:g,updateSchema:v,resetSchema:f,setProps:R,removeSchemaByField:S,appendSchemaByField:P,clearValidate:C,validateField:q,validate:_,submit:l,getSchema:n}),(t,a)=>n.value?.length?(e.openBlock(),e.createBlock(e.unref(W.VftForm),e.mergeProps({key:0},s.value,{ref_key:"formElRef",ref:d,class:e.unref(N).b(),model:u,onKeypress:e.withKeys(H,["enter"])}),{default:e.withCtx(()=>[n.value?.length?(e.openBlock(),e.createBlock(e.unref(K.VftRow),e.normalizeProps(e.mergeProps({key:0},s.value?.rowProps)),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"formHeader"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,r=>(e.openBlock(),e.createBlock(Q.default,{key:r.field,"form-action-type":O,schema:r,"form-props":o.value,"all-default-values":p.value,"form-model":u,"set-form-model":G,"update-schema":e.unref(v)},e.createSlots({_:2},[e.renderList(Object.keys(t.$slots),A=>({name:A,fn:e.withCtx(j=>[e.renderSlot(t.$slots,A,e.mergeProps({ref_for:!0},j||{}))])}))]),1032,["schema","form-props","all-default-values","form-model","update-schema"]))),128)),e.createVNode(e.unref(U.VftCol),e.normalizeProps(e.guardReactiveProps(s.value?.quickColSpan?{span:Math.ceil(24/s.value?.quickColSpan),...s.value?.baseColProps}:{})),{default:e.withCtx(()=>[o.value?.showActionButtonGroup&&o.value?.actionInline?(e.openBlock(),e.createBlock(M.default,e.normalizeProps(e.mergeProps({key:0},E.value)),null,16)):e.createCommentVNode("",!0)]),_:1},16)]),_:3},16)):e.createCommentVNode("",!0),o.value?.showActionButtonGroup&&!o.value?.actionInline?(e.openBlock(),e.createBlock(M.default,e.normalizeProps(e.mergeProps({key:1},E.value)),null,16)):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"formFooter")]),_:3},16,["class","model"])):e.createCommentVNode("",!0)}});exports.default=oe;
|
|
@@ -2,6 +2,7 @@ import type { ButtonProps } from 'vft/es/components/button';
|
|
|
2
2
|
import type { ColProps } from 'vft/es/components/col';
|
|
3
3
|
import type { FormItemProp, FormItemProps, FormProps } from 'vft/es/components/form';
|
|
4
4
|
import type { RowProps } from 'vft/es/components/row';
|
|
5
|
+
import type { ComponentSize } from 'vft/es/constants';
|
|
5
6
|
import type { InternalRuleItem, RuleItem } from 'async-validator';
|
|
6
7
|
import type { StyleValue, VNode } from 'vue';
|
|
7
8
|
import type { Arrayable } from 'vft/es/utils';
|
|
@@ -65,6 +66,7 @@ export interface SuperFormActionProps {
|
|
|
65
66
|
}
|
|
66
67
|
type FormInnerProps = FormProps & SuperFormActionProps;
|
|
67
68
|
export interface SuperFormProps extends FormInnerProps {
|
|
69
|
+
size?: ComponentSize;
|
|
68
70
|
/** 配置表单的 RowProps */
|
|
69
71
|
rowProps?: RowProps;
|
|
70
72
|
/** 配置所有选子项的 ColProps */
|
package/lib/package.json.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.264";exports.version=e;
|
package/lib/package.json.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vft",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.264",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -54,12 +54,12 @@
|
|
|
54
54
|
"qrcode": "1.5.3",
|
|
55
55
|
"resize-detector": "0.3.0",
|
|
56
56
|
"sortablejs": "1.15.0",
|
|
57
|
-
"@vft/
|
|
57
|
+
"@vft/use": "0.0.54",
|
|
58
58
|
"@vft/store": "0.0.42",
|
|
59
59
|
"@vft/router": "0.0.57",
|
|
60
|
-
"@vft/
|
|
61
|
-
"@vft/
|
|
62
|
-
"@vft/
|
|
60
|
+
"@vft/directives": "0.0.30",
|
|
61
|
+
"@vft/constants": "0.0.71",
|
|
62
|
+
"@vft/utils": "0.0.114"
|
|
63
63
|
},
|
|
64
64
|
"vetur": {
|
|
65
65
|
"tags": "tags.json",
|