@gopowerteam/form-render 0.0.17 → 0.0.18

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.
@@ -4,6 +4,7 @@ export declare function renderTreeSelectItem<T = DataRecord>(options: RenderTree
4
4
  export interface RenderTreeSelectItemOptions {
5
5
  placeholder?: string;
6
6
  clearable?: boolean;
7
+ searchable?: boolean;
7
8
  fieldNames?: TreeFieldNames;
8
9
  options: TreeNodeData[] | (() => TreeNodeData[]) | Promise<TreeNodeData[]> | (() => Promise<TreeNodeData[]>);
9
10
  multiple?: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),d=require("@arco-design/web-vue"),$=require("dayjs"),D=require("./resolver.cjs");const O=Symbol("ArcoConfigProvider"),j="arco",M="$arco",F=e=>{var r,t,a;const u=l.getCurrentInstance(),c=l.inject(O,void 0),n=(a=(t=c==null?void 0:c.prefixCls)!=null?t:(r=u==null?void 0:u.appContext.config.globalProperties[M])==null?void 0:r.classPrefix)!=null?a:j;return e?`${n}-${e}`:n},z=Object.prototype.toString;function x(e){return z.call(e)==="[object Number]"&&e===e}var w=(e,r)=>{for(const[t,a]of r)e[t]=a;return e};const P=l.defineComponent({name:"IconDown",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:r}){const t=F("icon"),a=l.computed(()=>[t,`${t}-down`,{[`${t}-spin`]:e.spin}]),u=l.computed(()=>{const n={};return e.size&&(n.fontSize=x(e.size)?`${e.size}px`:e.size),e.rotate&&(n.transform=`rotate(${e.rotate}deg)`),n});return{cls:a,innerStyle:u,onClick:n=>{r("click",n)}}}}),R=["stroke-width","stroke-linecap","stroke-linejoin"],B=l.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),T=[B];function q(e,r,t,a,u,c){return l.openBlock(),l.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:l.normalizeClass(e.cls),style:l.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:r[0]||(r[0]=(...n)=>e.onClick&&e.onClick(...n))},T,14,R)}var v=w(P,[["render",q]]);const L=Object.assign(v,{install:(e,r)=>{var t;const a=(t=r==null?void 0:r.iconPrefix)!=null?t:"";e.component(a+v.name,v)}}),U=l.defineComponent({name:"IconUp",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:r}){const t=F("icon"),a=l.computed(()=>[t,`${t}-up`,{[`${t}-spin`]:e.spin}]),u=l.computed(()=>{const n={};return e.size&&(n.fontSize=x(e.size)?`${e.size}px`:e.size),e.rotate&&(n.transform=`rotate(${e.rotate}deg)`),n});return{cls:a,innerStyle:u,onClick:n=>{r("click",n)}}}}),E=["stroke-width","stroke-linecap","stroke-linejoin"],W=l.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),A=[W];function Y(e,r,t,a,u,c){return l.openBlock(),l.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:l.normalizeClass(e.cls),style:l.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:r[0]||(r[0]=(...n)=>e.onClick&&e.onClick(...n))},A,14,E)}var S=w(U,[["render",Y]]);const G=Object.assign(S,{install:(e,r)=>{var t;const a=(t=r==null?void 0:r.iconPrefix)!=null?t:"";e.component(a+S.name,S)}}),C={id:Symbol("ID"),source:Symbol("Source")};function K(e,r){const t=l.ref({});return e==null||e.forEach(u=>{let c=null;u.default&&(c=(typeof u.default=="function"?u.default():u.default)||null),r&&r[u.key]!==void 0&&(c=r[u.key]),t.value[u.key]=c}),[t,u=>{t.value=u}]}function Q(e){function r(t,a){return e!=null&&e.disabledDate?e.disabledDate(t,a):!1}return(t,a)=>{switch(e==null?void 0:e.type){case"week":return l.createVNode(d.WeekPicker,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return l.createVNode(d.MonthPicker,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return l.createVNode(d.QuarterPicker,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return l.createVNode(d.YearPicker,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"date":default:return l.createVNode(d.DatePicker,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function X(e){return(r,t)=>{switch(e==null?void 0:e.type){case"number":return l.createVNode(d.InputNumber,{modelValue:r[t.key],"onUpdate:modelValue":a=>r[t.key]=a,hideButton:!0,"read-only":e==null?void 0:e.readonly,placeholder:e==null?void 0:e.placeholder,allowClear:e==null?void 0:e.clearable},null);case"string":default:return l.createVNode(d.Input,{modelValue:r[t.key],"onUpdate:modelValue":a=>r[t.key]=a,placeholder:e==null?void 0:e.placeholder,readonly:e==null?void 0:e.readonly,allowClear:e==null?void 0:e.clearable},null)}}}function y(e){return!!e&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}function H(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}const V=new WeakMap;function J(e){let r,t=!1;const a=l.ref(new Map),u=n=>{a.value=n,e.cache!==!1&&V.set(e.options,n)};switch(!0){case e.options instanceof Function:{if(V.has(e.options)){a.value=V.get(e.options);break}const n=e.options();y(n)?n.then(u):u(n);break}case y(e.options):{e.options.then(n=>a.value=n);break}default:a.value=e.options}function c(){if(!e.autoSumbit||!r)return;let n=r;for(;n&&n.$el.tagName!=="FORM";)n=n.$parent;n&&n.$el&&n.$el.dispatchEvent(new Event("submit"))}return(n,f)=>{let s;return e.default&&!t&&(n[f.key]=e.default,t=!0),l.createVNode(d.Select,{ref:i=>r=i,multiple:e.multiple,modelValue:n[f.key],"onUpdate:modelValue":i=>n[f.key]=i,placeholder:e.placeholder,allowClear:e.clearable,maxTagCount:e.maxTagCount??2,onChange:c},H(s=Array.from(a.value.entries()).map(([i,h])=>l.createVNode(d.Option,{key:i,value:i,label:h},null)))?s:{default:()=>[s]})}}function Z(e){function r(){e!=null&&e.autoSumbit}return(t,a)=>(e!=null&&e.default&&(t[a.key]=e.default),l.createVNode(d.Switch,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,checkedText:(e==null?void 0:e.openLabel)??"是",uncheckedText:(e==null?void 0:e.closeLabel)??"否",checkedValue:(e==null?void 0:e.openValue)??!0,uncheckedValue:(e==null?void 0:e.closeValue)??!1,onChange:r},null))}function p(e){return(r,t)=>{let a=[];function u(f){a=f}function c(f){if(f&&f.length===2){const[s,i]=f.sort(),h=$(s).startOf("days"),k=$(i).endOf("days");r[t.key]=[h.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),k.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function n(f){return e!=null&&e.disabledDate?e.disabledDate(a,f):!1}return l.createVNode("div",null,[l.createVNode(d.RangePicker,{style:{width:"300px"},modelValue:r[t.key],"onUpdate:modelValue":f=>r[t.key]=f,onSelect:u,onChange:c,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":n,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function ee(e){return(r,t)=>l.createVNode(d.Textarea,{modelValue:r[t.key],"onUpdate:modelValue":a=>r[t.key]=a,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}const g=new WeakMap;function te(e){let r,t=!1;const a=l.ref([]),u=n=>{a.value=n,e.cache!==!1&&g.set(e.options,n)};switch(!0){case e.options instanceof Function:{if(g.has(e.options)){a.value=g.get(e.options);break}const n=e.options();y(n)?n.then(u):u(n);break}case y(e.options):{e.options.then(n=>a.value=n);break}default:a.value=e.options}function c(){if(!e.autoSumbit||!r)return;let n=r;for(;n&&n.$el.tagName!=="FORM";)n=n.$parent;n&&n.$el&&n.$el.dispatchEvent(new Event("submit"))}return(n,f)=>(e.default&&!t&&(n[f.key]=e.default,t=!0),l.createVNode(d.TreeSelect,{ref:s=>r=s,multiple:e.multiple,modelValue:n[f.key],"onUpdate:modelValue":s=>n[f.key]=s,placeholder:e.placeholder,allowClear:e.clearable,maxTagCount:e.maxTagCount??2,onChange:c,data:a.value,fieldNames:e.fieldNames},null))}function re(e){return r=>e(r)}function le(){return{input:X,textarea:ee,select:J,treeSelect:te,date:Q,switch:Z,dateRange:p,render:re}}function ae(e,r){r.render||(r.render=a=>a.input());const t=r.render({...le()});return{default:()=>t(e,r)}}function ne(e,r){return l.h(d.FormItem,{field:r.key,label:r.title},ae(e,r))}function N(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}const I=l.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},layout:{type:String,required:!1,default:"horizontal"},columns:{type:Number,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:320},name:{type:String,required:!1,default:"form"},submitable:{type:Boolean,required:!1,default:!1},searchable:{type:Boolean,required:!1,default:!1},footer:{type:Boolean,required:!1,default:!1}},emits:["submit","cancel","update:model-value"],expose:["formSource","updateFormField","updateFormSource","reset"],setup(e){const r=Math.random().toString(32).slice(2).toUpperCase(),t=l.ref(),[a,u]=K(e.form,e.modelValue||e.value),c=l.ref(e.columns||0),n=l.ref(!0),f=()=>n.value=!n.value;l.provide(C.id,r),l.provide(C.source,a);const s=l.computed(()=>{if(!c.value)return 1;const o=e.form.reduce((m,b)=>m+((b==null?void 0:b.span)||1),0);return c.value-o%c.value}),i=l.computed(()=>e.form.reduce((o,m)=>(m.rule&&(o[m.key]=m.rule),o),{}));function h(){var m;const o=(m=t.value)==null?void 0:m.$el;o&&(c.value=Math.floor(o.offsetWidth/e.minWidth))}l.onMounted(()=>{h()});function k(o,m){a.value[o]=m,u({...a})}function _(){var o;(o=t.value)==null||o.resetFields()}return window.addEventListener("resize",h),{formId:r,formSource:a,formInstance:t,formColumns:c,formRules:i,formCollspased:n,formActiosSpan:s,toggleFormCollapsed:f,updateFormField:k,updateFormSource:u,reset:_}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},r=()=>{const t=[],a=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(t.push(l.createVNode(d.Button,{type:"primary",htmlType:"submit"},{default:()=>[l.createTextVNode("搜索")]})),t.push(l.createVNode(d.Button,{type:"secondary",onClick:()=>{var u;return(u=this.formInstance)==null?void 0:u.resetFields()}},{default:()=>[l.createTextVNode("重置")]}))),this.submitable&&(t.push(l.createVNode(d.Button,{type:"primary",htmlType:"submit"},{default:()=>[l.createTextVNode("提交")]})),t.push(l.createVNode(d.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[l.createTextVNode("取消")]}))),this.form.some(u=>!!u.collapsed)&&t.push(l.createVNode(d.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?l.createVNode(L,null,null):l.createVNode(G,null,null)})),this.$slots.actions&&t.push(...this.$slots.actions()),t.length)return l.createVNode(d.GridItem,a,{default:()=>[l.createVNode(d.FormItem,{hideLabel:!0,contentClass:this.footer?"form-footer":""},{default:()=>[l.createVNode(d.Space,null,N(t)?t:{default:()=>[t]})]})]})};return l.createVNode("div",{class:"form-render"},[l.createVNode(d.Form,l.mergeProps({layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:e},{name:this.name},{"auto-label-width":!0,ref:t=>this.formInstance=t,model:this.formSource}),{default:()=>[l.createVNode(d.Grid,{cols:this.formColumns,"col-gap":10,"rol-gap":10},{default:()=>[this.form.filter(t=>this.formCollspased?!t.collapsed:!0).map(t=>{let a;return l.createVNode(d.GridItem,{span:t.span},N(a=ne(this.formSource,t))?a:{default:()=>[a]})}),r()]})]})])}});function ue(e){return e}function ce(e){const r=l.getCurrentInstance(),t=l.ref();function a(){var c,n;const u=(n=(c=r==null?void 0:r.proxy)==null?void 0:c.$refs)==null?void 0:n[e];u&&(t.value=u)}return l.onMounted(a),l.onUpdated(a),t}const de={install(e,r){e.component("FormRender",I)}};exports.FormRenderResolver=D.FormRenderResolver;exports.FormRender=I;exports.default=de;exports.defineForm=ue;exports.useForm=ce;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),d=require("@arco-design/web-vue"),$=require("dayjs"),D=require("./resolver.cjs");const O=Symbol("ArcoConfigProvider"),j="arco",M="$arco",F=e=>{var r,t,a;const u=l.getCurrentInstance(),c=l.inject(O,void 0),n=(a=(t=c==null?void 0:c.prefixCls)!=null?t:(r=u==null?void 0:u.appContext.config.globalProperties[M])==null?void 0:r.classPrefix)!=null?a:j;return e?`${n}-${e}`:n},z=Object.prototype.toString;function x(e){return z.call(e)==="[object Number]"&&e===e}var w=(e,r)=>{for(const[t,a]of r)e[t]=a;return e};const P=l.defineComponent({name:"IconDown",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:r}){const t=F("icon"),a=l.computed(()=>[t,`${t}-down`,{[`${t}-spin`]:e.spin}]),u=l.computed(()=>{const n={};return e.size&&(n.fontSize=x(e.size)?`${e.size}px`:e.size),e.rotate&&(n.transform=`rotate(${e.rotate}deg)`),n});return{cls:a,innerStyle:u,onClick:n=>{r("click",n)}}}}),R=["stroke-width","stroke-linecap","stroke-linejoin"],B=l.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),T=[B];function q(e,r,t,a,u,c){return l.openBlock(),l.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:l.normalizeClass(e.cls),style:l.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:r[0]||(r[0]=(...n)=>e.onClick&&e.onClick(...n))},T,14,R)}var v=w(P,[["render",q]]);const L=Object.assign(v,{install:(e,r)=>{var t;const a=(t=r==null?void 0:r.iconPrefix)!=null?t:"";e.component(a+v.name,v)}}),U=l.defineComponent({name:"IconUp",props:{size:{type:[Number,String]},strokeWidth:{type:Number,default:4},strokeLinecap:{type:String,default:"butt",validator:e=>["butt","round","square"].includes(e)},strokeLinejoin:{type:String,default:"miter",validator:e=>["arcs","bevel","miter","miter-clip","round"].includes(e)},rotate:Number,spin:Boolean},emits:{click:e=>!0},setup(e,{emit:r}){const t=F("icon"),a=l.computed(()=>[t,`${t}-up`,{[`${t}-spin`]:e.spin}]),u=l.computed(()=>{const n={};return e.size&&(n.fontSize=x(e.size)?`${e.size}px`:e.size),e.rotate&&(n.transform=`rotate(${e.rotate}deg)`),n});return{cls:a,innerStyle:u,onClick:n=>{r("click",n)}}}}),E=["stroke-width","stroke-linecap","stroke-linejoin"],W=l.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),A=[W];function Y(e,r,t,a,u,c){return l.openBlock(),l.createElementBlock("svg",{viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg",stroke:"currentColor",class:l.normalizeClass(e.cls),style:l.normalizeStyle(e.innerStyle),"stroke-width":e.strokeWidth,"stroke-linecap":e.strokeLinecap,"stroke-linejoin":e.strokeLinejoin,onClick:r[0]||(r[0]=(...n)=>e.onClick&&e.onClick(...n))},A,14,E)}var S=w(U,[["render",Y]]);const G=Object.assign(S,{install:(e,r)=>{var t;const a=(t=r==null?void 0:r.iconPrefix)!=null?t:"";e.component(a+S.name,S)}}),C={id:Symbol("ID"),source:Symbol("Source")};function K(e,r){const t=l.ref({});return e==null||e.forEach(u=>{let c=null;u.default&&(c=(typeof u.default=="function"?u.default():u.default)||null),r&&r[u.key]!==void 0&&(c=r[u.key]),t.value[u.key]=c}),[t,u=>{t.value=u}]}function Q(e){function r(t,a){return e!=null&&e.disabledDate?e.disabledDate(t,a):!1}return(t,a)=>{switch(e==null?void 0:e.type){case"week":return l.createVNode(d.WeekPicker,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return l.createVNode(d.MonthPicker,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return l.createVNode(d.QuarterPicker,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return l.createVNode(d.YearPicker,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"date":default:return l.createVNode(d.DatePicker,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function X(e){return(r,t)=>{switch(e==null?void 0:e.type){case"number":return l.createVNode(d.InputNumber,{modelValue:r[t.key],"onUpdate:modelValue":a=>r[t.key]=a,hideButton:!0,"read-only":e==null?void 0:e.readonly,placeholder:e==null?void 0:e.placeholder,allowClear:e==null?void 0:e.clearable},null);case"string":default:return l.createVNode(d.Input,{modelValue:r[t.key],"onUpdate:modelValue":a=>r[t.key]=a,placeholder:e==null?void 0:e.placeholder,readonly:e==null?void 0:e.readonly,allowClear:e==null?void 0:e.clearable},null)}}}function y(e){return!!e&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}function H(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}const V=new WeakMap;function J(e){let r,t=!1;const a=l.ref(new Map),u=n=>{a.value=n,e.cache!==!1&&V.set(e.options,n)};switch(!0){case e.options instanceof Function:{if(V.has(e.options)){a.value=V.get(e.options);break}const n=e.options();y(n)?n.then(u):u(n);break}case y(e.options):{e.options.then(n=>a.value=n);break}default:a.value=e.options}function c(){if(!e.autoSumbit||!r)return;let n=r;for(;n&&n.$el.tagName!=="FORM";)n=n.$parent;n&&n.$el&&n.$el.dispatchEvent(new Event("submit"))}return(n,f)=>{let s;return e.default&&!t&&(n[f.key]=e.default,t=!0),l.createVNode(d.Select,{ref:i=>r=i,multiple:e.multiple,modelValue:n[f.key],"onUpdate:modelValue":i=>n[f.key]=i,placeholder:e.placeholder,allowClear:e.clearable,maxTagCount:e.maxTagCount??2,onChange:c},H(s=Array.from(a.value.entries()).map(([i,h])=>l.createVNode(d.Option,{key:i,value:i,label:h},null)))?s:{default:()=>[s]})}}function Z(e){function r(){e!=null&&e.autoSumbit}return(t,a)=>(e!=null&&e.default&&(t[a.key]=e.default),l.createVNode(d.Switch,{modelValue:t[a.key],"onUpdate:modelValue":u=>t[a.key]=u,checkedText:(e==null?void 0:e.openLabel)??"是",uncheckedText:(e==null?void 0:e.closeLabel)??"否",checkedValue:(e==null?void 0:e.openValue)??!0,uncheckedValue:(e==null?void 0:e.closeValue)??!1,onChange:r},null))}function p(e){return(r,t)=>{let a=[];function u(f){a=f}function c(f){if(f&&f.length===2){const[s,i]=f.sort(),h=$(s).startOf("days"),k=$(i).endOf("days");r[t.key]=[h.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),k.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function n(f){return e!=null&&e.disabledDate?e.disabledDate(a,f):!1}return l.createVNode("div",null,[l.createVNode(d.RangePicker,{style:{width:"300px"},modelValue:r[t.key],"onUpdate:modelValue":f=>r[t.key]=f,onSelect:u,onChange:c,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":n,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function ee(e){return(r,t)=>l.createVNode(d.Textarea,{modelValue:r[t.key],"onUpdate:modelValue":a=>r[t.key]=a,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}const g=new WeakMap;function te(e){let r,t=!1;const a=l.ref([]),u=n=>{a.value=n,e.cache!==!1&&g.set(e.options,n)};switch(!0){case e.options instanceof Function:{if(g.has(e.options)){a.value=g.get(e.options);break}const n=e.options();y(n)?n.then(u):u(n);break}case y(e.options):{e.options.then(n=>a.value=n);break}default:a.value=e.options}function c(){if(!e.autoSumbit||!r)return;let n=r;for(;n&&n.$el.tagName!=="FORM";)n=n.$parent;n&&n.$el&&n.$el.dispatchEvent(new Event("submit"))}return(n,f)=>(e.default&&!t&&(n[f.key]=e.default,t=!0),l.createVNode(d.TreeSelect,{ref:s=>r=s,multiple:e.multiple,modelValue:n[f.key],"onUpdate:modelValue":s=>n[f.key]=s,placeholder:e.placeholder,allowClear:e.clearable,allowSearch:e.searchable,maxTagCount:e.maxTagCount??2,onChange:c,data:a.value,fieldNames:e.fieldNames},null))}function re(e){return r=>e(r)}function le(){return{input:X,textarea:ee,select:J,treeSelect:te,date:Q,switch:Z,dateRange:p,render:re}}function ae(e,r){r.render||(r.render=a=>a.input());const t=r.render({...le()});return{default:()=>t(e,r)}}function ne(e,r){return l.h(d.FormItem,{field:r.key,label:r.title},ae(e,r))}function N(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}const I=l.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},layout:{type:String,required:!1,default:"horizontal"},columns:{type:Number,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:320},name:{type:String,required:!1,default:"form"},submitable:{type:Boolean,required:!1,default:!1},searchable:{type:Boolean,required:!1,default:!1},footer:{type:Boolean,required:!1,default:!1}},emits:["submit","cancel","update:model-value"],expose:["formSource","updateFormField","updateFormSource","reset"],setup(e){const r=Math.random().toString(32).slice(2).toUpperCase(),t=l.ref(),[a,u]=K(e.form,e.modelValue||e.value),c=l.ref(e.columns||0),n=l.ref(!0),f=()=>n.value=!n.value;l.provide(C.id,r),l.provide(C.source,a);const s=l.computed(()=>{if(!c.value)return 1;const o=e.form.reduce((m,b)=>m+((b==null?void 0:b.span)||1),0);return c.value-o%c.value}),i=l.computed(()=>e.form.reduce((o,m)=>(m.rule&&(o[m.key]=m.rule),o),{}));function h(){var m;const o=(m=t.value)==null?void 0:m.$el;o&&(c.value=Math.floor(o.offsetWidth/e.minWidth))}l.onMounted(()=>{h()});function k(o,m){a.value[o]=m,u({...a})}function _(){var o;(o=t.value)==null||o.resetFields()}return window.addEventListener("resize",h),{formId:r,formSource:a,formInstance:t,formColumns:c,formRules:i,formCollspased:n,formActiosSpan:s,toggleFormCollapsed:f,updateFormField:k,updateFormSource:u,reset:_}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},r=()=>{const t=[],a=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(t.push(l.createVNode(d.Button,{type:"primary",htmlType:"submit"},{default:()=>[l.createTextVNode("搜索")]})),t.push(l.createVNode(d.Button,{type:"secondary",onClick:()=>{var u;return(u=this.formInstance)==null?void 0:u.resetFields()}},{default:()=>[l.createTextVNode("重置")]}))),this.submitable&&(t.push(l.createVNode(d.Button,{type:"primary",htmlType:"submit"},{default:()=>[l.createTextVNode("提交")]})),t.push(l.createVNode(d.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[l.createTextVNode("取消")]}))),this.form.some(u=>!!u.collapsed)&&t.push(l.createVNode(d.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?l.createVNode(L,null,null):l.createVNode(G,null,null)})),this.$slots.actions&&t.push(...this.$slots.actions()),t.length)return l.createVNode(d.GridItem,a,{default:()=>[l.createVNode(d.FormItem,{hideLabel:!0,contentClass:this.footer?"form-footer":""},{default:()=>[l.createVNode(d.Space,null,N(t)?t:{default:()=>[t]})]})]})};return l.createVNode("div",{class:"form-render"},[l.createVNode(d.Form,l.mergeProps({layout:this.$props.layout,rules:this.formRules,onSubmitSuccess:e},{name:this.name},{"auto-label-width":!0,ref:t=>this.formInstance=t,model:this.formSource}),{default:()=>[l.createVNode(d.Grid,{cols:this.formColumns,"col-gap":10,"rol-gap":10},{default:()=>[this.form.filter(t=>this.formCollspased?!t.collapsed:!0).map(t=>{let a;return l.createVNode(d.GridItem,{span:t.span},N(a=ne(this.formSource,t))?a:{default:()=>[a]})}),r()]})]})])}});function ue(e){return e}function ce(e){const r=l.getCurrentInstance(),t=l.ref();function a(){var c,n;const u=(n=(c=r==null?void 0:r.proxy)==null?void 0:c.$refs)==null?void 0:n[e];u&&(t.value=u)}return l.onMounted(a),l.onUpdated(a),t}const de={install(e,r){e.component("FormRender",I)}};exports.FormRenderResolver=D.FormRenderResolver;exports.FormRender=I;exports.default=de;exports.defineForm=ue;exports.useForm=ce;
@@ -4,6 +4,7 @@ export declare function renderTreeSelectItem<T = DataRecord>(options: RenderTree
4
4
  export interface RenderTreeSelectItemOptions {
5
5
  placeholder?: string;
6
6
  clearable?: boolean;
7
+ searchable?: boolean;
7
8
  fieldNames?: TreeFieldNames;
8
9
  options: TreeNodeData[] | (() => TreeNodeData[]) | Promise<TreeNodeData[]> | (() => Promise<TreeNodeData[]>);
9
10
  multiple?: boolean;
package/dist/es/index.mjs CHANGED
@@ -1,18 +1,18 @@
1
1
  import { getCurrentInstance as j, inject as A, defineComponent as w, computed as y, openBlock as N, createElementBlock as P, normalizeClass as z, normalizeStyle as M, createElementVNode as L, ref as o, createVNode as u, isVNode as U, h as Y, provide as V, onMounted as R, mergeProps as G, createTextVNode as b, onUpdated as K } from "vue";
2
- import { DatePicker as Q, YearPicker as X, QuarterPicker as H, MonthPicker as J, WeekPicker as Z, Input as p, InputNumber as ee, Select as te, Option as le, Switch as re, RangePicker as ae, Textarea as ne, TreeSelect as ue, FormItem as T, Form as ce, Grid as de, GridItem as I, Button as k, Space as fe } from "@arco-design/web-vue";
2
+ import { DatePicker as Q, YearPicker as X, QuarterPicker as H, MonthPicker as J, WeekPicker as Z, Input as p, InputNumber as ee, Select as le, Option as te, Switch as re, RangePicker as ae, Textarea as ne, TreeSelect as ue, FormItem as T, Form as ce, Grid as de, GridItem as I, Button as k, Space as fe } from "@arco-design/web-vue";
3
3
  import _ from "dayjs";
4
4
  import { FormRenderResolver as Qe } from "./resolver.mjs";
5
- const ie = Symbol("ArcoConfigProvider"), se = "arco", me = "$arco", q = (e) => {
6
- var l, t, r;
7
- const n = j(), c = A(ie, void 0), a = (r = (t = c == null ? void 0 : c.prefixCls) != null ? t : (l = n == null ? void 0 : n.appContext.config.globalProperties[me]) == null ? void 0 : l.classPrefix) != null ? r : se;
5
+ const se = Symbol("ArcoConfigProvider"), ie = "arco", me = "$arco", q = (e) => {
6
+ var t, l, r;
7
+ const n = j(), c = A(se, void 0), a = (r = (l = c == null ? void 0 : c.prefixCls) != null ? l : (t = n == null ? void 0 : n.appContext.config.globalProperties[me]) == null ? void 0 : t.classPrefix) != null ? r : ie;
8
8
  return e ? `${a}-${e}` : a;
9
9
  }, oe = Object.prototype.toString;
10
10
  function B(e) {
11
11
  return oe.call(e) === "[object Number]" && e === e;
12
12
  }
13
- var E = (e, l) => {
14
- for (const [t, r] of l)
15
- e[t] = r;
13
+ var E = (e, t) => {
14
+ for (const [l, r] of t)
15
+ e[l] = r;
16
16
  return e;
17
17
  };
18
18
  const he = w({
@@ -42,10 +42,10 @@ const he = w({
42
42
  click: (e) => !0
43
43
  },
44
44
  setup(e, {
45
- emit: l
45
+ emit: t
46
46
  }) {
47
- const t = q("icon"), r = y(() => [t, `${t}-down`, {
48
- [`${t}-spin`]: e.spin
47
+ const l = q("icon"), r = y(() => [l, `${l}-down`, {
48
+ [`${l}-spin`]: e.spin
49
49
  }]), n = y(() => {
50
50
  const a = {};
51
51
  return e.size && (a.fontSize = B(e.size) ? `${e.size}px` : e.size), e.rotate && (a.transform = `rotate(${e.rotate}deg)`), a;
@@ -54,14 +54,14 @@ const he = w({
54
54
  cls: r,
55
55
  innerStyle: n,
56
56
  onClick: (a) => {
57
- l("click", a);
57
+ t("click", a);
58
58
  }
59
59
  };
60
60
  }
61
61
  }), ye = ["stroke-width", "stroke-linecap", "stroke-linejoin"], ke = /* @__PURE__ */ L("path", {
62
62
  d: "M39.6 17.443 24.043 33 8.487 17.443"
63
63
  }, null, -1), be = [ke];
64
- function ve(e, l, t, r, n, c) {
64
+ function ve(e, t, l, r, n, c) {
65
65
  return N(), P("svg", {
66
66
  viewBox: "0 0 48 48",
67
67
  fill: "none",
@@ -72,14 +72,14 @@ function ve(e, l, t, r, n, c) {
72
72
  "stroke-width": e.strokeWidth,
73
73
  "stroke-linecap": e.strokeLinecap,
74
74
  "stroke-linejoin": e.strokeLinejoin,
75
- onClick: l[0] || (l[0] = (...a) => e.onClick && e.onClick(...a))
75
+ onClick: t[0] || (t[0] = (...a) => e.onClick && e.onClick(...a))
76
76
  }, be, 14, ye);
77
77
  }
78
78
  var g = /* @__PURE__ */ E(he, [["render", ve]]);
79
79
  const Se = Object.assign(g, {
80
- install: (e, l) => {
81
- var t;
82
- const r = (t = l == null ? void 0 : l.iconPrefix) != null ? t : "";
80
+ install: (e, t) => {
81
+ var l;
82
+ const r = (l = t == null ? void 0 : t.iconPrefix) != null ? l : "";
83
83
  e.component(r + g.name, g);
84
84
  }
85
85
  }), $e = w({
@@ -109,10 +109,10 @@ const Se = Object.assign(g, {
109
109
  click: (e) => !0
110
110
  },
111
111
  setup(e, {
112
- emit: l
112
+ emit: t
113
113
  }) {
114
- const t = q("icon"), r = y(() => [t, `${t}-up`, {
115
- [`${t}-spin`]: e.spin
114
+ const l = q("icon"), r = y(() => [l, `${l}-up`, {
115
+ [`${l}-spin`]: e.spin
116
116
  }]), n = y(() => {
117
117
  const a = {};
118
118
  return e.size && (a.fontSize = B(e.size) ? `${e.size}px` : e.size), e.rotate && (a.transform = `rotate(${e.rotate}deg)`), a;
@@ -121,14 +121,14 @@ const Se = Object.assign(g, {
121
121
  cls: r,
122
122
  innerStyle: n,
123
123
  onClick: (a) => {
124
- l("click", a);
124
+ t("click", a);
125
125
  }
126
126
  };
127
127
  }
128
128
  }), ge = ["stroke-width", "stroke-linecap", "stroke-linejoin"], Ce = /* @__PURE__ */ L("path", {
129
129
  d: "M39.6 30.557 24.043 15 8.487 30.557"
130
130
  }, null, -1), xe = [Ce];
131
- function Fe(e, l, t, r, n, c) {
131
+ function Fe(e, t, l, r, n, c) {
132
132
  return N(), P("svg", {
133
133
  viewBox: "0 0 48 48",
134
134
  fill: "none",
@@ -139,73 +139,73 @@ function Fe(e, l, t, r, n, c) {
139
139
  "stroke-width": e.strokeWidth,
140
140
  "stroke-linecap": e.strokeLinecap,
141
141
  "stroke-linejoin": e.strokeLinejoin,
142
- onClick: l[0] || (l[0] = (...a) => e.onClick && e.onClick(...a))
142
+ onClick: t[0] || (t[0] = (...a) => e.onClick && e.onClick(...a))
143
143
  }, xe, 14, ge);
144
144
  }
145
145
  var C = /* @__PURE__ */ E($e, [["render", Fe]]);
146
146
  const we = Object.assign(C, {
147
- install: (e, l) => {
148
- var t;
149
- const r = (t = l == null ? void 0 : l.iconPrefix) != null ? t : "";
147
+ install: (e, t) => {
148
+ var l;
149
+ const r = (l = t == null ? void 0 : t.iconPrefix) != null ? l : "";
150
150
  e.component(r + C.name, C);
151
151
  }
152
152
  }), D = {
153
153
  id: Symbol("ID"),
154
154
  source: Symbol("Source")
155
155
  };
156
- function Ve(e, l) {
157
- const t = o({});
156
+ function Ve(e, t) {
157
+ const l = o({});
158
158
  return e == null || e.forEach((n) => {
159
159
  let c = null;
160
- n.default && (c = (typeof n.default == "function" ? n.default() : n.default) || null), l && l[n.key] !== void 0 && (c = l[n.key]), t.value[n.key] = c;
161
- }), [t, (n) => {
162
- t.value = n;
160
+ n.default && (c = (typeof n.default == "function" ? n.default() : n.default) || null), t && t[n.key] !== void 0 && (c = t[n.key]), l.value[n.key] = c;
161
+ }), [l, (n) => {
162
+ l.value = n;
163
163
  }];
164
164
  }
165
165
  function Ie(e) {
166
- function l(t, r) {
167
- return e != null && e.disabledDate ? e.disabledDate(t, r) : !1;
166
+ function t(l, r) {
167
+ return e != null && e.disabledDate ? e.disabledDate(l, r) : !1;
168
168
  }
169
- return (t, r) => {
169
+ return (l, r) => {
170
170
  switch (e == null ? void 0 : e.type) {
171
171
  case "week":
172
172
  return u(Z, {
173
- modelValue: t[r.key],
174
- "onUpdate:modelValue": (n) => t[r.key] = n,
175
- "disabled-date": l,
173
+ modelValue: l[r.key],
174
+ "onUpdate:modelValue": (n) => l[r.key] = n,
175
+ "disabled-date": t,
176
176
  format: e == null ? void 0 : e.labelFormat,
177
177
  "value-format": e == null ? void 0 : e.valueFormat
178
178
  }, null);
179
179
  case "month":
180
180
  return u(J, {
181
- modelValue: t[r.key],
182
- "onUpdate:modelValue": (n) => t[r.key] = n,
183
- "disabled-date": l,
181
+ modelValue: l[r.key],
182
+ "onUpdate:modelValue": (n) => l[r.key] = n,
183
+ "disabled-date": t,
184
184
  format: e == null ? void 0 : e.labelFormat,
185
185
  "value-format": e == null ? void 0 : e.valueFormat
186
186
  }, null);
187
187
  case "quarter":
188
188
  return u(H, {
189
- modelValue: t[r.key],
190
- "onUpdate:modelValue": (n) => t[r.key] = n,
191
- "disabled-date": l,
189
+ modelValue: l[r.key],
190
+ "onUpdate:modelValue": (n) => l[r.key] = n,
191
+ "disabled-date": t,
192
192
  format: e == null ? void 0 : e.labelFormat,
193
193
  "value-format": e == null ? void 0 : e.valueFormat
194
194
  }, null);
195
195
  case "year":
196
196
  return u(X, {
197
- modelValue: t[r.key],
198
- "onUpdate:modelValue": (n) => t[r.key] = n,
199
- "disabled-date": l,
197
+ modelValue: l[r.key],
198
+ "onUpdate:modelValue": (n) => l[r.key] = n,
199
+ "disabled-date": t,
200
200
  format: e == null ? void 0 : e.labelFormat,
201
201
  "value-format": e == null ? void 0 : e.valueFormat
202
202
  }, null);
203
203
  case "date":
204
204
  default:
205
205
  return u(Q, {
206
- modelValue: t[r.key],
207
- "onUpdate:modelValue": (n) => t[r.key] = n,
208
- "disabled-date": l,
206
+ modelValue: l[r.key],
207
+ "onUpdate:modelValue": (n) => l[r.key] = n,
208
+ "disabled-date": t,
209
209
  format: e == null ? void 0 : e.labelFormat,
210
210
  "value-format": e == null ? void 0 : e.valueFormat
211
211
  }, null);
@@ -213,12 +213,12 @@ function Ie(e) {
213
213
  };
214
214
  }
215
215
  function _e(e) {
216
- return (l, t) => {
216
+ return (t, l) => {
217
217
  switch (e == null ? void 0 : e.type) {
218
218
  case "number":
219
219
  return u(ee, {
220
- modelValue: l[t.key],
221
- "onUpdate:modelValue": (r) => l[t.key] = r,
220
+ modelValue: t[l.key],
221
+ "onUpdate:modelValue": (r) => t[l.key] = r,
222
222
  hideButton: !0,
223
223
  "read-only": e == null ? void 0 : e.readonly,
224
224
  placeholder: e == null ? void 0 : e.placeholder,
@@ -227,8 +227,8 @@ function _e(e) {
227
227
  case "string":
228
228
  default:
229
229
  return u(p, {
230
- modelValue: l[t.key],
231
- "onUpdate:modelValue": (r) => l[t.key] = r,
230
+ modelValue: t[l.key],
231
+ "onUpdate:modelValue": (r) => t[l.key] = r,
232
232
  placeholder: e == null ? void 0 : e.placeholder,
233
233
  readonly: e == null ? void 0 : e.readonly,
234
234
  allowClear: e == null ? void 0 : e.clearable
@@ -244,7 +244,7 @@ function De(e) {
244
244
  }
245
245
  const x = /* @__PURE__ */ new WeakMap();
246
246
  function Oe(e) {
247
- let l, t = !1;
247
+ let t, l = !1;
248
248
  const r = o(/* @__PURE__ */ new Map()), n = (a) => {
249
249
  r.value = a, e.cache !== !1 && x.set(e.options, a);
250
250
  };
@@ -266,57 +266,57 @@ function Oe(e) {
266
266
  r.value = e.options;
267
267
  }
268
268
  function c() {
269
- if (!e.autoSumbit || !l)
269
+ if (!e.autoSumbit || !t)
270
270
  return;
271
- let a = l;
271
+ let a = t;
272
272
  for (; a && a.$el.tagName !== "FORM"; )
273
273
  a = a.$parent;
274
274
  a && a.$el && a.$el.dispatchEvent(new Event("submit"));
275
275
  }
276
276
  return (a, d) => {
277
- let i;
278
- return e.default && !t && (a[d.key] = e.default, t = !0), u(te, {
279
- ref: (s) => l = s,
277
+ let s;
278
+ return e.default && !l && (a[d.key] = e.default, l = !0), u(le, {
279
+ ref: (i) => t = i,
280
280
  multiple: e.multiple,
281
281
  modelValue: a[d.key],
282
- "onUpdate:modelValue": (s) => a[d.key] = s,
282
+ "onUpdate:modelValue": (i) => a[d.key] = i,
283
283
  placeholder: e.placeholder,
284
284
  allowClear: e.clearable,
285
285
  maxTagCount: e.maxTagCount ?? 2,
286
286
  onChange: c
287
- }, De(i = Array.from(r.value.entries()).map(([s, h]) => u(le, {
288
- key: s,
289
- value: s,
287
+ }, De(s = Array.from(r.value.entries()).map(([i, h]) => u(te, {
288
+ key: i,
289
+ value: i,
290
290
  label: h
291
- }, null))) ? i : {
292
- default: () => [i]
291
+ }, null))) ? s : {
292
+ default: () => [s]
293
293
  });
294
294
  };
295
295
  }
296
296
  function je(e) {
297
- function l() {
297
+ function t() {
298
298
  e != null && e.autoSumbit;
299
299
  }
300
- return (t, r) => (e != null && e.default && (t[r.key] = e.default), u(re, {
301
- modelValue: t[r.key],
302
- "onUpdate:modelValue": (n) => t[r.key] = n,
300
+ return (l, r) => (e != null && e.default && (l[r.key] = e.default), u(re, {
301
+ modelValue: l[r.key],
302
+ "onUpdate:modelValue": (n) => l[r.key] = n,
303
303
  checkedText: (e == null ? void 0 : e.openLabel) ?? "是",
304
304
  uncheckedText: (e == null ? void 0 : e.closeLabel) ?? "否",
305
305
  checkedValue: (e == null ? void 0 : e.openValue) ?? !0,
306
306
  uncheckedValue: (e == null ? void 0 : e.closeValue) ?? !1,
307
- onChange: l
307
+ onChange: t
308
308
  }, null));
309
309
  }
310
310
  function Ne(e) {
311
- return (l, t) => {
311
+ return (t, l) => {
312
312
  let r = [];
313
313
  function n(d) {
314
314
  r = d;
315
315
  }
316
316
  function c(d) {
317
317
  if (d && d.length === 2) {
318
- const [i, s] = d.sort(), h = _(i).startOf("days"), S = _(s).endOf("days");
319
- l[t.key] = [h.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), S.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
318
+ const [s, i] = d.sort(), h = _(s).startOf("days"), S = _(i).endOf("days");
319
+ t[l.key] = [h.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), S.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
320
320
  }
321
321
  }
322
322
  function a(d) {
@@ -326,8 +326,8 @@ function Ne(e) {
326
326
  style: {
327
327
  width: "300px"
328
328
  },
329
- modelValue: l[t.key],
330
- "onUpdate:modelValue": (d) => l[t.key] = d,
329
+ modelValue: t[l.key],
330
+ "onUpdate:modelValue": (d) => t[l.key] = d,
331
331
  onSelect: n,
332
332
  onChange: c,
333
333
  mode: e == null ? void 0 : e.type,
@@ -339,9 +339,9 @@ function Ne(e) {
339
339
  };
340
340
  }
341
341
  function Pe(e) {
342
- return (l, t) => u(ne, {
343
- modelValue: l[t.key],
344
- "onUpdate:modelValue": (r) => l[t.key] = r,
342
+ return (t, l) => u(ne, {
343
+ modelValue: t[l.key],
344
+ "onUpdate:modelValue": (r) => t[l.key] = r,
345
345
  placeholder: e == null ? void 0 : e.placeholder,
346
346
  autoSize: e == null ? void 0 : e.autosize,
347
347
  maxLength: e == null ? void 0 : e.maxLength
@@ -349,7 +349,7 @@ function Pe(e) {
349
349
  }
350
350
  const F = /* @__PURE__ */ new WeakMap();
351
351
  function ze(e) {
352
- let l, t = !1;
352
+ let t, l = !1;
353
353
  const r = o([]), n = (a) => {
354
354
  r.value = a, e.cache !== !1 && F.set(e.options, a);
355
355
  };
@@ -371,20 +371,21 @@ function ze(e) {
371
371
  r.value = e.options;
372
372
  }
373
373
  function c() {
374
- if (!e.autoSumbit || !l)
374
+ if (!e.autoSumbit || !t)
375
375
  return;
376
- let a = l;
376
+ let a = t;
377
377
  for (; a && a.$el.tagName !== "FORM"; )
378
378
  a = a.$parent;
379
379
  a && a.$el && a.$el.dispatchEvent(new Event("submit"));
380
380
  }
381
- return (a, d) => (e.default && !t && (a[d.key] = e.default, t = !0), u(ue, {
382
- ref: (i) => l = i,
381
+ return (a, d) => (e.default && !l && (a[d.key] = e.default, l = !0), u(ue, {
382
+ ref: (s) => t = s,
383
383
  multiple: e.multiple,
384
384
  modelValue: a[d.key],
385
- "onUpdate:modelValue": (i) => a[d.key] = i,
385
+ "onUpdate:modelValue": (s) => a[d.key] = s,
386
386
  placeholder: e.placeholder,
387
387
  allowClear: e.clearable,
388
+ allowSearch: e.searchable,
388
389
  maxTagCount: e.maxTagCount ?? 2,
389
390
  onChange: c,
390
391
  data: r.value,
@@ -392,7 +393,7 @@ function ze(e) {
392
393
  }, null));
393
394
  }
394
395
  function Me(e) {
395
- return (l) => e(l);
396
+ return (t) => e(t);
396
397
  }
397
398
  function Le() {
398
399
  return {
@@ -406,20 +407,20 @@ function Le() {
406
407
  render: Me
407
408
  };
408
409
  }
409
- function Ue(e, l) {
410
- l.render || (l.render = (r) => r.input());
411
- const t = l.render({
410
+ function Ue(e, t) {
411
+ t.render || (t.render = (r) => r.input());
412
+ const l = t.render({
412
413
  ...Le()
413
414
  });
414
415
  return {
415
- default: () => t(e, l)
416
+ default: () => l(e, t)
416
417
  };
417
418
  }
418
- function Re(e, l) {
419
+ function Re(e, t) {
419
420
  return Y(T, {
420
- field: l.key,
421
- label: l.title
422
- }, Ue(e, l));
421
+ field: t.key,
422
+ label: t.title
423
+ }, Ue(e, t));
423
424
  }
424
425
  function O(e) {
425
426
  return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !U(e);
@@ -476,17 +477,17 @@ const Te = /* @__PURE__ */ w({
476
477
  emits: ["submit", "cancel", "update:model-value"],
477
478
  expose: ["formSource", "updateFormField", "updateFormSource", "reset"],
478
479
  setup(e) {
479
- const l = Math.random().toString(32).slice(2).toUpperCase(), t = o(), [r, n] = Ve(e.form, e.modelValue || e.value), c = o(e.columns || 0), a = o(!0), d = () => a.value = !a.value;
480
- V(D.id, l), V(D.source, r);
481
- const i = y(() => {
480
+ const t = Math.random().toString(32).slice(2).toUpperCase(), l = o(), [r, n] = Ve(e.form, e.modelValue || e.value), c = o(e.columns || 0), a = o(!0), d = () => a.value = !a.value;
481
+ V(D.id, t), V(D.source, r);
482
+ const s = y(() => {
482
483
  if (!c.value)
483
484
  return 1;
484
485
  const f = e.form.reduce((m, $) => m + (($ == null ? void 0 : $.span) || 1), 0);
485
486
  return c.value - f % c.value;
486
- }), s = y(() => e.form.reduce((f, m) => (m.rule && (f[m.key] = m.rule), f), {}));
487
+ }), i = y(() => e.form.reduce((f, m) => (m.rule && (f[m.key] = m.rule), f), {}));
487
488
  function h() {
488
489
  var m;
489
- const f = (m = t.value) == null ? void 0 : m.$el;
490
+ const f = (m = l.value) == null ? void 0 : m.$el;
490
491
  f && (c.value = Math.floor(f.offsetWidth / e.minWidth));
491
492
  }
492
493
  R(() => {
@@ -499,16 +500,16 @@ const Te = /* @__PURE__ */ w({
499
500
  }
500
501
  function W() {
501
502
  var f;
502
- (f = t.value) == null || f.resetFields();
503
+ (f = l.value) == null || f.resetFields();
503
504
  }
504
505
  return window.addEventListener("resize", h), {
505
- formId: l,
506
+ formId: t,
506
507
  formSource: r,
507
- formInstance: t,
508
+ formInstance: l,
508
509
  formColumns: c,
509
- formRules: s,
510
+ formRules: i,
510
511
  formCollspased: a,
511
- formActiosSpan: i,
512
+ formActiosSpan: s,
512
513
  toggleFormCollapsed: d,
513
514
  updateFormField: S,
514
515
  updateFormSource: n,
@@ -518,18 +519,18 @@ const Te = /* @__PURE__ */ w({
518
519
  render() {
519
520
  const e = () => {
520
521
  this.$emit("submit", this.formSource), this.$emit("update:model-value", this.formSource);
521
- }, l = () => {
522
- const t = [], r = this.footer ? {
522
+ }, t = () => {
523
+ const l = [], r = this.footer ? {
523
524
  span: this.formColumns
524
525
  } : {
525
526
  span: this.formActiosSpan
526
527
  };
527
- if (this.searchable && (t.push(u(k, {
528
+ if (this.searchable && (l.push(u(k, {
528
529
  type: "primary",
529
530
  htmlType: "submit"
530
531
  }, {
531
532
  default: () => [b("搜索")]
532
- })), t.push(u(k, {
533
+ })), l.push(u(k, {
533
534
  type: "secondary",
534
535
  onClick: () => {
535
536
  var n;
@@ -537,29 +538,29 @@ const Te = /* @__PURE__ */ w({
537
538
  }
538
539
  }, {
539
540
  default: () => [b("重置")]
540
- }))), this.submitable && (t.push(u(k, {
541
+ }))), this.submitable && (l.push(u(k, {
541
542
  type: "primary",
542
543
  htmlType: "submit"
543
544
  }, {
544
545
  default: () => [b("提交")]
545
- })), t.push(u(k, {
546
+ })), l.push(u(k, {
546
547
  type: "secondary",
547
548
  onClick: () => this.$emit("cancel")
548
549
  }, {
549
550
  default: () => [b("取消")]
550
- }))), this.form.some((n) => !!n.collapsed) && t.push(u(k, {
551
+ }))), this.form.some((n) => !!n.collapsed) && l.push(u(k, {
551
552
  onClick: this.toggleFormCollapsed
552
553
  }, {
553
554
  default: () => this.formCollspased ? "展开" : "收起",
554
555
  icon: () => this.formCollspased ? u(Se, null, null) : u(we, null, null)
555
- })), this.$slots.actions && t.push(...this.$slots.actions()), t.length)
556
+ })), this.$slots.actions && l.push(...this.$slots.actions()), l.length)
556
557
  return u(I, r, {
557
558
  default: () => [u(T, {
558
559
  hideLabel: !0,
559
560
  contentClass: this.footer ? "form-footer" : ""
560
561
  }, {
561
- default: () => [u(fe, null, O(t) ? t : {
562
- default: () => [t]
562
+ default: () => [u(fe, null, O(l) ? l : {
563
+ default: () => [l]
563
564
  })]
564
565
  })]
565
566
  });
@@ -574,7 +575,7 @@ const Te = /* @__PURE__ */ w({
574
575
  name: this.name
575
576
  }, {
576
577
  "auto-label-width": !0,
577
- ref: (t) => this.formInstance = t,
578
+ ref: (l) => this.formInstance = l,
578
579
  model: this.formSource
579
580
  }), {
580
581
  default: () => [u(de, {
@@ -582,14 +583,14 @@ const Te = /* @__PURE__ */ w({
582
583
  "col-gap": 10,
583
584
  "rol-gap": 10
584
585
  }, {
585
- default: () => [this.form.filter((t) => this.formCollspased ? !t.collapsed : !0).map((t) => {
586
+ default: () => [this.form.filter((l) => this.formCollspased ? !l.collapsed : !0).map((l) => {
586
587
  let r;
587
588
  return u(I, {
588
- span: t.span
589
- }, O(r = Re(this.formSource, t)) ? r : {
589
+ span: l.span
590
+ }, O(r = Re(this.formSource, l)) ? r : {
590
591
  default: () => [r]
591
592
  });
592
- }), l()]
593
+ }), t()]
593
594
  })]
594
595
  })]);
595
596
  }
@@ -598,16 +599,16 @@ function We(e) {
598
599
  return e;
599
600
  }
600
601
  function Ae(e) {
601
- const l = j(), t = o();
602
+ const t = j(), l = o();
602
603
  function r() {
603
604
  var c, a;
604
- const n = (a = (c = l == null ? void 0 : l.proxy) == null ? void 0 : c.$refs) == null ? void 0 : a[e];
605
- n && (t.value = n);
605
+ const n = (a = (c = t == null ? void 0 : t.proxy) == null ? void 0 : c.$refs) == null ? void 0 : a[e];
606
+ n && (l.value = n);
606
607
  }
607
- return R(r), K(r), t;
608
+ return R(r), K(r), l;
608
609
  }
609
610
  const Ye = {
610
- install(e, l) {
611
+ install(e, t) {
611
612
  e.component("FormRender", Te);
612
613
  }
613
614
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/form-render",
3
3
  "type": "module",
4
- "version": "0.0.17",
4
+ "version": "0.0.18",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"