vft 0.0.327 → 0.0.329

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.
@@ -7,6 +7,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
7
7
  direction: string;
8
8
  finishStatus: string;
9
9
  processStatus: string;
10
+ contentPosition: string;
10
11
  }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
12
  change: (newVal?: number | undefined, oldVal?: number | undefined) => void;
12
13
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<StepsProps>, {
@@ -14,11 +15,13 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
14
15
  direction: string;
15
16
  finishStatus: string;
16
17
  processStatus: string;
18
+ contentPosition: string;
17
19
  }>>> & Readonly<{
18
20
  onChange?: ((newVal?: number | undefined, oldVal?: number | undefined) => any) | undefined;
19
21
  }>, {
20
22
  direction: "horizontal" | "vertical";
21
23
  active: number;
24
+ contentPosition: "top" | "bottom";
22
25
  finishStatus: "wait" | "process" | "finish" | "error" | "success";
23
26
  processStatus: "wait" | "process" | "finish" | "error" | "success";
24
27
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const d=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");const p=require("../../hooks/use-ordered-children/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const f=e.defineComponent({name:"vft-steps"}),m=e.defineComponent({...f,props:{space:{},active:{default:0},direction:{default:"horizontal"},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{default:"finish"},processStatus:{default:"process"}},emits:["change"],setup(o,{emit:a}){const n=o,u=a,i=d.useNamespace("steps"),{children:s,addChild:l,removeChild:c}=p.useOrderedChildren(e.getCurrentInstance(),"ElStep");return e.watch(s,()=>{s.value.forEach((t,r)=>{t.setIndex(r)})}),e.provide("VftSteps",{props:n,steps:s,addStep:l,removeStep:c}),e.watch(()=>n.active,(t,r)=>{u("change",t,r)}),(t,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(i).b(),e.unref(i).m(t.simple?"simple":t.direction)])},[e.renderSlot(t.$slots,"default")],2))}});exports.default=m;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),p=require("../../constants/event.cjs");require("@vueuse/core");require("@vft/utils");require("../config-provider/hooks/use-global-config.cjs");require("lodash-es");const f=require("../../hooks/use-namespace/index.cjs");require("../../hooks/use-model-toggle/index.cjs");const m=require("../../hooks/use-ordered-children/index.cjs");require("@popperjs/core");require("../../hooks/use-z-index/index.cjs");const h=require("./tokens.cjs"),S=e.defineComponent({name:"vft-steps"}),q=e.defineComponent({...S,props:{space:{},active:{default:0},direction:{default:"horizontal"},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{default:"finish"},processStatus:{default:"process"},contentPosition:{default:"bottom"}},emits:["change"],setup(i,{emit:u}){const s=i,a=u,o=f.useNamespace("steps"),{children:n,addChild:c,removeChild:l,ChildrenSorter:d}=m.useOrderedChildren(e.getCurrentInstance(),"VftStep");return e.watch(n,()=>{n.value.forEach((t,r)=>{t.setIndex(r)})}),e.provide(h.STEPS_INJECTION_KEY,{props:s,steps:n,addStep:c,removeStep:l}),e.watch(()=>s.active,(t,r)=>{a(p.CHANGE_EVENT,t,r)}),(t,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([e.unref(o).b(),e.unref(o).m(t.simple?"simple":t.direction)])},[e.renderSlot(t.$slots,"default"),e.createVNode(e.unref(d))],2))}});exports.default=q;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t="VftSteps";exports.STEPS_INJECTION_KEY=t;
@@ -0,0 +1 @@
1
+ export declare const STEPS_INJECTION_KEY = "VftSteps";
@@ -7,10 +7,12 @@ export interface StepsProps {
7
7
  simple?: boolean;
8
8
  finishStatus?: 'wait' | 'process' | 'finish' | 'error' | 'success';
9
9
  processStatus?: 'wait' | 'process' | 'finish' | 'error' | 'success';
10
+ /** 内容区域位置:'top' | 'bottom',默认为 'bottom' */
11
+ contentPosition?: 'top' | 'bottom';
10
12
  }
11
13
  export interface StepItemProps {
12
14
  title?: string;
13
- icon?: IconProps;
15
+ icon?: IconProps | string;
14
16
  description?: string;
15
17
  status?: '' | 'wait' | 'process' | 'finish' | 'error' | 'success';
16
18
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),L=require("../col/index.cjs"),G=require("../divider/index.cjs"),$=require("../form/index.cjs");require("@vueuse/core");const c=require("@vft/utils");require("../config-provider/hooks/use-global-config.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 e=require("./component-map.cjs"),U=require("./use/helper.cjs");function q(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!o.isVNode(t)}const X=o.defineComponent({inheritAttrs:!1}),z=o.defineComponent({...X,__name:"super-form-item",props:{schema:{},formProps:{},allDefaultValues:{},formModel:{},setFormModel:{},updateSchema:{},formActionType:{}},setup(t){const M=J.useNamespace("super-form"),h=o.computed(()=>{const{mergeDynamicData:n}=t.formProps;return{field:t.schema.field,model:t.formModel,values:{...n,...t.allDefaultValues,...t.formModel},schema:t.schema}}),S=o.computed(()=>{let{componentProps:n={}}=t.schema;c.isFunction(n)&&(n=n({schema:t.schema,formModel:t.formModel,formActionType:t.formActionType})??{});const r=new Map([[e.FormCompEnum.DIVIDER,{type:"horizontal"}],[e.FormCompEnum.TEXTAREA,{type:"textarea"}],[e.FormCompEnum.PASSWORD,{type:"password","show-password":!0}],[e.FormCompEnum.INPUT_NUMBER,{type:"number"}],[e.FormCompEnum.CHECKBOX_BUTTON,{useButton:!0}],[e.FormCompEnum.RADIO_BUTTON,{useButton:!0}],[e.FormCompEnum.YEAR_PICKER,{type:e.FormCompEnum.YEAR_PICKER}],[e.FormCompEnum.MONTH_PICKER,{type:e.FormCompEnum.MONTH_PICKER}],[e.FormCompEnum.DATE_PICKER,{type:e.FormCompEnum.DATE_PICKER}],[e.FormCompEnum.DATES_PICKER,{type:e.FormCompEnum.DATES_PICKER}],[e.FormCompEnum.DATETIME_PICKER,{type:e.FormCompEnum.DATETIME_PICKER}],[e.FormCompEnum.WEEK_PICKER,{type:e.FormCompEnum.WEEK_PICKER}],[e.FormCompEnum.TIMERANGE_PICKER,{type:e.FormCompEnum.TIME_PICKER,"is-range":!0,"start-placeholder":"开始时间","end-placeholder":"结束时间"}],[e.FormCompEnum.DATETIMERANGE_PICKER,{type:e.FormCompEnum.DATETIMERANGE_PICKER,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[e.FormCompEnum.DATERANGE_PICKER,{type:e.FormCompEnum.DATERANGE_PICKER,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[e.FormCompEnum.MONTHRANGE_PICKER,{type:e.FormCompEnum.MONTHRANGE_PICKER,"start-placeholder":"开始月份","end-placeholder":"结束月份"}]]);return r.has(t.schema.type)&&(n=Object.assign(r.get(t.schema.type)||{},n)),t.formProps.inputMaxLength&&[e.FormCompEnum.INPUT].includes(t.schema.type)&&!n?.maxlength&&(n.maxlength=t.formProps.inputMaxLength),n}),j=o.computed(()=>{const{disabled:n}=t.formProps,{dynamicDisabled:r}=t.schema,{disabled:a=!1}=o.unref(S);let i=!!n||a;return c.isBoolean(r)&&(i=r),c.isFunction(r)&&(i=r(o.unref(h))),i});function K(){const{show:n,ifShow:r}=t.schema;let a=!0,i=!0;return c.isBoolean(n)&&(a=n),c.isBoolean(r)&&(i=r),c.isFunction(n)&&(a=n(o.unref(h))),c.isFunction(r)&&(i=r(o.unref(h))),{isShow:a,isIfShow:i}}function B(){const{rules:n=[],type:r=e.FormCompEnum.INPUT,rulesMessageJoinLabel:a,label:i,title:E,dynamicRule:u,required:P,dynamicRuleAdd:g=!0}=t.schema,f=i||E;if(c.isFunction(u)&&!g)return u(o.unref(h));let l=c.cloneDeep(c.isArray(n)?n:[n]);const{rulesMessageJoinLabel:I}=t.formProps,N=Reflect.has(t.schema,"rulesMessageJoinLabel")?a:I,b=U.createPlaceholderMessage(r,`${N?f:""}`);function T(m,s){const x=m.message||b;return s===void 0||c.isNull(s)||Array.isArray(s)&&s.length===0||typeof s=="string"&&s.trim()===""||typeof s=="object"&&Reflect.has(s,"checked")&&Reflect.has(s,"halfChecked")&&Array.isArray(s.checked)&&Array.isArray(s.halfChecked)&&s.checked.length===0&&s.halfChecked.length===0?Promise.reject(x):Promise.resolve()}const d=c.isFunction(P)?P(o.unref(h)):P,R=[e.FormCompEnum.RADIO,e.FormCompEnum.SELECT,e.FormCompEnum.RADIO,e.FormCompEnum.RADIO_SINGLE,e.FormCompEnum.RADIO_BUTTON,e.FormCompEnum.CHECKBOX,e.FormCompEnum.CHECKBOX_SINGLE,e.FormCompEnum.CHECKBOX_BUTTON,e.FormCompEnum.AUTOCOMPLETE,e.FormCompEnum.Cascader,e.FormCompEnum.ColorPicker,e.FormCompEnum.Upload,e.FormCompEnum.Slider].includes(r);d&&(!l||l.length===0?l=[{required:d,validator:T,trigger:R?"change":"blur"}]:l.findIndex(s=>Reflect.has(s,"required"))===-1&&l.unshift({required:d,validator:T,trigger:R?"change":"blur"}));const y=l.findIndex(m=>Reflect.has(m,"required")&&!Reflect.has(m,"validator"));if(y!==-1){const m=l[y],{isShow:s}=K();s||(m.required=!1),r&&(m.message=m.message||b)}const p=l.findIndex(m=>m.min),C=l.findIndex(m=>m.max);function F(m,s,x="all"){const D=l[s],w=D.isNumber?isNaN(m)?m?.length||0:Number(m):m?.length||0;return["min","all"].includes(x)&&w<D.min?Promise.reject(f+"至少为"+D.min+"位"):["max","all"].includes(x)&&w>D.max?Promise.reject(f+"最多"+D.max+"位"):Promise.resolve()}(p!==-1||C!==-1)&&(p!==-1&&C!==-1&&!l[p].validator&&!l[p].message?l[p].validator=(m,s)=>F(s,p):p!==-1&&!l[p].validator&&!l[p].message?l[p].validator=(m,s)=>F(s,p,"min"):C!==-1&&!l[C].validator&&!l[C].message&&(l[C].validator=(m,s)=>F(s,C,"max")));const A=l.findIndex(m=>m.len);if(A!==-1&&(l[A].validator=(m,s)=>s.length!==l[A].len?Promise.reject(f+"必须是"+l[A].len+"位"):Promise.resolve()),c.isFunction(u)&&g){let m=u(o.unref(h));m=c.isArray(m)?m:[m],l=l.concat(m)}return l}const k=()=>{const{renderComponentContent:n,type:r=e.FormCompEnum.INPUT,field:a,changeEvent:i="change",valueField:E,label:u,title:P,placeholderJoinLabel:g=!0}=t.schema;let f=i;e.isInput(r)?f="input":e.isDatePicker(r)||r===e.FormCompEnum.TIME_PICKER||[e.FormCompEnum.INPUT_TAG,e.FormCompEnum.AUTOCOMPLETE,e.FormCompEnum.Cascader,e.FormCompEnum.ColorPicker,e.FormCompEnum.Slider].includes(r)?f="update:modelValue":r===e.FormCompEnum.Upload&&(f="update:fileList");const l=`on${c.upperFirst(f)}`,I={[l]:(...F)=>{const[A]=F;d[l]&&d[l](...F);const m=A?A.target:null,s=m?m.value:A;t.setFormModel(a,s,t.schema)}},N=e.componentMap.get(r),{autoSetPlaceHolder:b,size:T}=t.formProps,d={clearable:!0,...o.unref(S)};if([e.FormCompEnum.SEARCH].includes(r)||(d.size=o.unref(S)?.size||T,d.disabled=o.unref(j)),!d.disabled&&b&&!e.isRangePicker(r)&&r){const F=u||P;d.placeholder=o.unref(S)?.placeholder||U.createPlaceholderMessage(r,g&&c.isString(F)?F:"")}const y={[E||"model-value"]:t.formModel[a]},p={...I,...d,...y};if(!n&&r!==e.FormCompEnum.Upload)return o.createVNode(N,p,null);let C;if(C=c.isFunction(n)?{...n(o.unref(h))}:{default:()=>n},r===e.FormCompEnum.Upload&&!n){const{drag:F}=o.unref(S);C=F?{default:()=>o.createVNode(o.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)}:{default:()=>o.createVNode(o.resolveComponent("vft-button"),{type:"primary"},{default:()=>[o.createVNode(o.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)]})}}return o.createVNode(N,p,q(C)?C:{default:()=>[C]})};function V(){const{showLabel:n=!0,label:r,title:a,subLabel:i,labelRequired:E}=t.schema;let u=r||a;return u=E?o.createVNode("span",null,[o.createVNode("span",{class:"label-required"},[o.createTextVNode("*")]),o.createVNode("span",null,[u])]):u,n&&u?i?o.createVNode("span",null,[u,o.createTextVNode(" "),o.createVNode("span",{class:"sub-label"},[i])]):u:void 0}const O=o.useSlots();function v(n,r="default",a){if(!n||!Reflect.has(n,r))return null;if(!c.isFunction(n[r]))return console.error(`${r} is not a function!`),null;const i=n[r];return i?i(a):null}function H(){const{itemProps:n,slot:r,render:a,field:i,suffix:E,prefix:u,prefixParentStyle:P}=t.schema,{autoCleanErrorMessage:g,compFullWidth:f}=t.formProps,l=()=>r?v(O,r,o.unref(h)):a?a(o.unref(h)):k(),I=!!E,N=!!u,b=c.isFunction(E)?E(o.unref(h)):E,T=c.isFunction(u)?u(o.unref(h)):u,d=()=>{t.updateSchema([{field:i,itemProps:{error:""}}])},R=()=>o.createVNode($.VftFormItem,o.mergeProps({style:{marginRight:t.formProps.customLayout?"10px":0},prop:i,class:[{[M.is("suffix")]:I},{[M.is("comp-full-width")]:f},M.e("item")]},n,{label:n?.label||n?.title,"onUpdate:error":g?d:()=>{},rules:B()}),{default:()=>[o.createVNode("div",{class:M.e("container")},[o.createVNode("div",{class:M.e("content")},[l(),I&&o.createVNode("span",{class:M.m("suffix")},[b])])])],label:V()?()=>V():void 0});return N?o.createVNode("div",{style:P},[o.createVNode("span",{class:M.m("prefix")},[T]),R()]):R()}return()=>{let n;const{colProps:r={},colSlot:a,renderColContent:i,type:E=e.FormCompEnum.INPUT,render:u,quickColSpan:P}=t.schema;if(!e.componentMap.has(E)&&!i&&!u)return null;const{baseColProps:g={},quickColSpan:f}=t.formProps,l=f?{span:Math.ceil(24/f),...g}:{...g},I=P?{span:Math.ceil(24/P),...r}:{...r},N={...l,...I},{isIfShow:b,isShow:T}=K(),d=o.unref(h),R=()=>a?v(O,a,d):i?i(d):H();if(E===e.FormCompEnum.DIVIDER){let y;return o.createVNode(L.VftCol,o.mergeProps({span:24},I),{default:()=>[o.createVNode(G.VftDivider,o.unref(S),q(y=V())?y:{default:()=>[y]})]})}return b&&(t.formProps.customLayout?R():o.withDirectives(o.createVNode(L.VftCol,N,q(n=R())?n:{default:()=>[n]}),[[o.vShow,T]]))}}});exports.default=z;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),U=require("../col/index.cjs"),$=require("../divider/index.cjs"),J=require("../form/index.cjs");require("@vueuse/core");const c=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 e=require("./component-map.cjs"),j=require("./use/helper.cjs");function K(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!o.isVNode(t)}const z=o.defineComponent({inheritAttrs:!1}),W=o.defineComponent({...z,__name:"super-form-item",props:{schema:{},formProps:{},allDefaultValues:{},formModel:{},setFormModel:{},updateSchema:{},formActionType:{}},setup(t){const M=X.useNamespace("super-form"),h=o.computed(()=>{const{mergeDynamicData:r}=t.formProps;return{field:t.schema.field,model:t.formModel,values:{...r,...t.allDefaultValues,...t.formModel},schema:t.schema,elRef:V}}),S=o.computed(()=>{let{componentProps:r={}}=t.schema;c.isFunction(r)&&(r=r({schema:t.schema,formModel:t.formModel,formActionType:t.formActionType})??{});const n=new Map([[e.FormCompEnum.DIVIDER,{type:"horizontal"}],[e.FormCompEnum.TEXTAREA,{type:"textarea"}],[e.FormCompEnum.PASSWORD,{type:"password","show-password":!0}],[e.FormCompEnum.INPUT_NUMBER,{type:"number"}],[e.FormCompEnum.CHECKBOX_BUTTON,{useButton:!0}],[e.FormCompEnum.RADIO_BUTTON,{useButton:!0}],[e.FormCompEnum.YEAR_PICKER,{type:e.FormCompEnum.YEAR_PICKER}],[e.FormCompEnum.MONTH_PICKER,{type:e.FormCompEnum.MONTH_PICKER}],[e.FormCompEnum.DATE_PICKER,{type:e.FormCompEnum.DATE_PICKER}],[e.FormCompEnum.DATES_PICKER,{type:e.FormCompEnum.DATES_PICKER}],[e.FormCompEnum.DATETIME_PICKER,{type:e.FormCompEnum.DATETIME_PICKER}],[e.FormCompEnum.WEEK_PICKER,{type:e.FormCompEnum.WEEK_PICKER}],[e.FormCompEnum.TIMERANGE_PICKER,{type:e.FormCompEnum.TIME_PICKER,"is-range":!0,"start-placeholder":"开始时间","end-placeholder":"结束时间"}],[e.FormCompEnum.DATETIMERANGE_PICKER,{type:e.FormCompEnum.DATETIMERANGE_PICKER,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[e.FormCompEnum.DATERANGE_PICKER,{type:e.FormCompEnum.DATERANGE_PICKER,"start-placeholder":"开始日期","end-placeholder":"结束日期"}],[e.FormCompEnum.MONTHRANGE_PICKER,{type:e.FormCompEnum.MONTHRANGE_PICKER,"start-placeholder":"开始月份","end-placeholder":"结束月份"}]]);return n.has(t.schema.type)&&(r=Object.assign(n.get(t.schema.type)||{},r)),t.formProps.inputMaxLength&&[e.FormCompEnum.INPUT].includes(t.schema.type)&&!r?.maxlength&&(r.maxlength=t.formProps.inputMaxLength),r}),B=o.computed(()=>{const{disabled:r}=t.formProps,{dynamicDisabled:n}=t.schema,{disabled:a=!1}=o.unref(S);let i=!!r||a;return c.isBoolean(n)&&(i=n),c.isFunction(n)&&(i=n(o.unref(h))),i});function O(){const{show:r,ifShow:n}=t.schema;let a=!0,i=!0;return c.isBoolean(r)&&(a=r),c.isBoolean(n)&&(i=n),c.isFunction(r)&&(a=r(o.unref(h))),c.isFunction(n)&&(i=n(o.unref(h))),{isShow:a,isIfShow:i}}function k(){const{rules:r=[],type:n=e.FormCompEnum.INPUT,rulesMessageJoinLabel:a,label:i,title:E,dynamicRule:u,required:F,dynamicRuleAdd:g=!0}=t.schema,f=i||E;if(c.isFunction(u)&&!g)return u(o.unref(h));let l=c.cloneDeep(c.isArray(r)?r:[r]);const{rulesMessageJoinLabel:R}=t.formProps,N=Reflect.has(t.schema,"rulesMessageJoinLabel")?a:R,b=j.createPlaceholderMessage(n,`${N?f:""}`);function T(m,s){const x=m.message||b;return s===void 0||c.isNull(s)||Array.isArray(s)&&s.length===0||typeof s=="string"&&s.trim()===""||typeof s=="object"&&Reflect.has(s,"checked")&&Reflect.has(s,"halfChecked")&&Array.isArray(s.checked)&&Array.isArray(s.halfChecked)&&s.checked.length===0&&s.halfChecked.length===0?Promise.reject(x):Promise.resolve()}const d=c.isFunction(F)?F(o.unref(h)):F,I=[e.FormCompEnum.RADIO,e.FormCompEnum.SELECT,e.FormCompEnum.RADIO,e.FormCompEnum.RADIO_SINGLE,e.FormCompEnum.RADIO_BUTTON,e.FormCompEnum.CHECKBOX,e.FormCompEnum.CHECKBOX_SINGLE,e.FormCompEnum.CHECKBOX_BUTTON,e.FormCompEnum.AUTOCOMPLETE,e.FormCompEnum.Cascader,e.FormCompEnum.ColorPicker,e.FormCompEnum.Upload,e.FormCompEnum.Slider].includes(n);d&&(!l||l.length===0?l=[{required:d,validator:T,trigger:I?"change":"blur"}]:l.findIndex(s=>Reflect.has(s,"required"))===-1&&l.unshift({required:d,validator:T,trigger:I?"change":"blur"}));const y=l.findIndex(m=>Reflect.has(m,"required")&&!Reflect.has(m,"validator"));if(y!==-1){const m=l[y],{isShow:s}=O();s||(m.required=!1),n&&(m.message=m.message||b)}const p=l.findIndex(m=>m.min),C=l.findIndex(m=>m.max);function P(m,s,x="all"){const D=l[s],L=D.isNumber?isNaN(m)?m?.length||0:Number(m):m?.length||0;return["min","all"].includes(x)&&L<D.min?Promise.reject(f+"至少为"+D.min+"位"):["max","all"].includes(x)&&L>D.max?Promise.reject(f+"最多"+D.max+"位"):Promise.resolve()}(p!==-1||C!==-1)&&(p!==-1&&C!==-1&&!l[p].validator&&!l[p].message?l[p].validator=(m,s)=>P(s,p):p!==-1&&!l[p].validator&&!l[p].message?l[p].validator=(m,s)=>P(s,p,"min"):C!==-1&&!l[C].validator&&!l[C].message&&(l[C].validator=(m,s)=>P(s,C,"max")));const A=l.findIndex(m=>m.len);if(A!==-1&&(l[A].validator=(m,s)=>s.length!==l[A].len?Promise.reject(f+"必须是"+l[A].len+"位"):Promise.resolve()),c.isFunction(u)&&g){let m=u(o.unref(h));m=c.isArray(m)?m:[m],l=l.concat(m)}return l}const V=o.ref(),H=()=>{const{renderComponentContent:r,type:n=e.FormCompEnum.INPUT,field:a,changeEvent:i="change",valueField:E,label:u,title:F,placeholderJoinLabel:g=!0}=t.schema;let f=i;e.isInput(n)?f="input":e.isDatePicker(n)||n===e.FormCompEnum.TIME_PICKER||[e.FormCompEnum.INPUT_TAG,e.FormCompEnum.AUTOCOMPLETE,e.FormCompEnum.Cascader,e.FormCompEnum.ColorPicker,e.FormCompEnum.Slider].includes(n)?f="update:modelValue":n===e.FormCompEnum.Upload&&(f="update:fileList");const l=`on${c.upperFirst(f)}`,R={[l]:(...P)=>{const[A]=P;d[l]&&d[l](...P);const m=A?A.target:null,s=m?m.value:A;t.setFormModel(a,s,t.schema)}},N=e.componentMap.get(n),{autoSetPlaceHolder:b,size:T}=t.formProps,d={clearable:!0,...o.unref(S)};if([e.FormCompEnum.SEARCH].includes(n)||(d.size=o.unref(S)?.size||T,d.disabled=o.unref(B)),!d.disabled&&b&&!e.isRangePicker(n)&&n){const P=u||F;d.placeholder=o.unref(S)?.placeholder||j.createPlaceholderMessage(n,g&&c.isString(P)?P:"")}const y={[E||"model-value"]:t.formModel[a]},p={...R,...d,...y};if(!r&&n!==e.FormCompEnum.Upload)return o.createVNode(N,o.mergeProps({ref:V},p),null);let C;if(C=c.isFunction(r)?{...r({...o.unref(h),elRef:V})}:{default:()=>r},n===e.FormCompEnum.Upload&&!r){const{drag:P}=o.unref(S);C=P?{default:()=>o.createVNode(o.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)}:{default:()=>o.createVNode(o.resolveComponent("vft-button"),{type:"primary"},{default:()=>[o.createVNode(o.resolveComponent("vft-icon"),{icon:"icon-arrow-upload"},null)]})}}return o.createVNode(N,o.mergeProps({ref:V},p),K(C)?C:{default:()=>[C]})};function q(){const{showLabel:r=!0,label:n,title:a,subLabel:i,labelRequired:E}=t.schema;let u=n||a;return u=E?o.createVNode("span",null,[o.createVNode("span",{class:"label-required"},[o.createTextVNode("*")]),o.createVNode("span",null,[u])]):u,r&&u?i?o.createVNode("span",null,[u,o.createTextVNode(" "),o.createVNode("span",{class:"sub-label"},[i])]):u:void 0}const v=o.useSlots();function w(r,n="default",a){if(!r||!Reflect.has(r,n))return null;if(!c.isFunction(r[n]))return console.error(`${n} is not a function!`),null;const i=r[n];return i?i(a):null}function G(){const{itemProps:r,slot:n,render:a,field:i,suffix:E,prefix:u,prefixParentStyle:F}=t.schema,{autoCleanErrorMessage:g,compFullWidth:f}=t.formProps,l=()=>n?w(v,n,o.unref(h)):a?a(o.unref(h)):H(),R=!!E,N=!!u,b=c.isFunction(E)?E(o.unref(h)):E,T=c.isFunction(u)?u(o.unref(h)):u,d=()=>{t.updateSchema([{field:i,itemProps:{error:""}}])},I=()=>o.createVNode(J.VftFormItem,o.mergeProps({style:{marginRight:t.formProps.customLayout?"10px":0},prop:i,class:[{[M.is("suffix")]:R},{[M.is("comp-full-width")]:f},M.e("item")]},r,{label:r?.label||r?.title,"onUpdate:error":g?d:()=>{},rules:k()}),{default:()=>[o.createVNode("div",{class:M.e("container")},[o.createVNode("div",{class:M.e("content")},[l(),R&&o.createVNode("span",{class:M.m("suffix")},[b])])])],label:q()?()=>q():void 0});return N?o.createVNode("div",{style:F},[o.createVNode("span",{class:M.m("prefix")},[T]),I()]):I()}return()=>{let r;const{colProps:n={},colSlot:a,renderColContent:i,type:E=e.FormCompEnum.INPUT,render:u,quickColSpan:F}=t.schema;if(!e.componentMap.has(E)&&!i&&!u)return null;const{baseColProps:g={},quickColSpan:f}=t.formProps,l=f?{span:Math.ceil(24/f),...g}:{...g},R=F?{span:Math.ceil(24/F),...n}:{...n},N={...l,...R},{isIfShow:b,isShow:T}=O(),d=o.unref(h),I=()=>a?w(v,a,d):i?i(d):G();if(E===e.FormCompEnum.DIVIDER){let y;return o.createVNode(U.VftCol,o.mergeProps({span:24},R),{default:()=>[o.createVNode($.VftDivider,o.unref(S),K(y=q())?y:{default:()=>[y]})]})}return b&&(t.formProps.customLayout?I():o.withDirectives(o.createVNode(U.VftCol,N,K(r=I())?r:{default:()=>[r]}),[[o.vShow,T]]))}}});exports.default=W;
@@ -4,7 +4,7 @@ import type { FormItemProp, FormItemProps, FormProps } from 'vft/es/components/f
4
4
  import type { RowProps } from 'vft/es/components/row';
5
5
  import type { ComponentSize } from 'vft/es/constants';
6
6
  import type { InternalRuleItem, RuleItem } from 'async-validator';
7
- import type { StyleValue, VNode } from 'vue';
7
+ import type { ComponentPublicInstance, Ref, StyleValue, VNode } from 'vue';
8
8
  import type { Arrayable } from 'vft/es/utils';
9
9
  import type { Recordable } from '../types';
10
10
  import { FormCompEnum } from './component-map';
@@ -47,6 +47,8 @@ export interface RenderCallbackParams {
47
47
  model: Recordable;
48
48
  /** 字段名 */
49
49
  field: string;
50
+ /** 组件实例引用 */
51
+ elRef?: Ref<ComponentPublicInstance | null>;
50
52
  }
51
53
  /** 表单操作方法接口 */
52
54
  export interface FormActionType {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.327";exports.version=e;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="0.0.329";exports.version=e;
@@ -1,6 +1,6 @@
1
1
  declare const _default: {
2
2
  "name": "vft",
3
- "version": "0.0.327",
3
+ "version": "0.0.329",
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.327",
3
+ "version": "0.0.329",
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/constants": "0.0.72",
59
- "@vft/use": "0.0.76",
60
- "@vft/store": "0.0.54",
61
59
  "@vft/router": "0.0.65",
60
+ "@vft/use": "0.0.76",
62
61
  "@vft/utils": "0.0.128",
63
- "@vft/directives": "0.0.33"
62
+ "@vft/directives": "0.0.33",
63
+ "@vft/store": "0.0.54"
64
64
  },
65
65
  "vetur": {
66
66
  "tags": "tags.json",