@gopowerteam/form-render 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),d=require("@arco-design/web-vue"),V=require("dayjs");const F=Symbol("ArcoConfigProvider"),w="arco",I="$arco",C=e=>{var t,r,a;const u=l.getCurrentInstance(),c=l.inject(F,void 0),n=(a=(r=c==null?void 0:c.prefixCls)!=null?r:(t=u==null?void 0:u.appContext.config.globalProperties[I])==null?void 0:t.classPrefix)!=null?a:w;return e?`${n}-${e}`:n},j=Object.prototype.toString;function $(e){return j.call(e)==="[object Number]"&&e===e}var N=(e,t)=>{for(const[r,a]of t)e[r]=a;return e};const D=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:t}){const r=C("icon"),a=l.computed(()=>[r,`${r}-down`,{[`${r}-spin`]:e.spin}]),u=l.computed(()=>{const n={};return e.size&&(n.fontSize=$(e.size)?`${e.size}px`:e.size),e.rotate&&(n.transform=`rotate(${e.rotate}deg)`),n});return{cls:a,innerStyle:u,onClick:n=>{t("click",n)}}}}),_=["stroke-width","stroke-linecap","stroke-linejoin"],P=l.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),z=[P];function B(e,t,r,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:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))},z,14,_)}var b=N(D,[["render",B]]);const O=Object.assign(b,{install:(e,t)=>{var r;const a=(r=t==null?void 0:t.iconPrefix)!=null?r:"";e.component(a+b.name,b)}}),L=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:t}){const r=C("icon"),a=l.computed(()=>[r,`${r}-up`,{[`${r}-spin`]:e.spin}]),u=l.computed(()=>{const n={};return e.size&&(n.fontSize=$(e.size)?`${e.size}px`:e.size),e.rotate&&(n.transform=`rotate(${e.rotate}deg)`),n});return{cls:a,innerStyle:u,onClick:n=>{t("click",n)}}}}),M=["stroke-width","stroke-linecap","stroke-linejoin"],U=l.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),q=[U];function T(e,t,r,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:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))},q,14,M)}var v=N(L,[["render",T]]);const R=Object.assign(v,{install:(e,t)=>{var r;const a=(r=t==null?void 0:t.iconPrefix)!=null?r:"";e.component(a+v.name,v)}}),S={id:Symbol("ID"),source:Symbol("Source")};function E(e,t){const r=l.ref({});return e==null||e.forEach(u=>{let c=null;u.default&&(c=(typeof u.default=="function"?u.default():u.default)||null),t&&t[u.key]&&(c=t[u.key]),r.value[u.key]=c}),[r,u=>{r.value=u}]}function A(e){function t(r,a){return e!=null&&e.disabledDate?e.disabledDate(r,a):!1}return(r,a)=>{switch(e==null?void 0:e.type){case"week":return l.createVNode(d.WeekPicker,{modelValue:r[a.key],"onUpdate:modelValue":u=>r[a.key]=u,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return l.createVNode(d.MonthPicker,{modelValue:r[a.key],"onUpdate:modelValue":u=>r[a.key]=u,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return l.createVNode(d.QuarterPicker,{modelValue:r[a.key],"onUpdate:modelValue":u=>r[a.key]=u,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return l.createVNode(d.YearPicker,{modelValue:r[a.key],"onUpdate:modelValue":u=>r[a.key]=u,"disabled-date":t,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:r[a.key],"onUpdate:modelValue":u=>r[a.key]=u,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function Y(e){return(t,r)=>{switch(e==null?void 0:e.type){case"number":return l.createVNode(d.InputNumber,{modelValue:t[r.key],"onUpdate:modelValue":a=>t[r.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:t[r.key],"onUpdate:modelValue":a=>t[r.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 W(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}function G(e){let t=!1;const r=l.ref(new Map);e.options instanceof Function?e.options().then(u=>r.value=u):e.options instanceof Promise?e.options.then(u=>r.value=u):r.value=e.options;function a(){e.autoSumbit}return(u,c)=>{let n;return e.default&&!t&&(u[c.key]=e.default,t=!0),l.createVNode(d.Select,{multiple:e.multiple,modelValue:u[c.key],"onUpdate:modelValue":f=>u[c.key]=f,placeholder:e.placeholder,allowClear:e.clearable,maxTagCount:e.maxTagCount??5,onChange:a},W(n=Array.from(r.value.entries()).map(([f,o])=>l.createVNode(d.Option,{key:f,value:f,label:o},null)))?n:{default:()=>[n]})}}function K(e){function t(){e!=null&&e.autoSumbit}return(r,a)=>(e!=null&&e.default&&(r[a.key]=e.default),l.createVNode(d.Switch,{modelValue:r[a.key],"onUpdate:modelValue":u=>r[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:t},null))}function Q(e){return(t,r)=>{let a=[];function u(f){a=f}function c(f){if(f&&f.length===2){const[o,h]=f.sort(),s=V(o).startOf("days"),y=V(h).endOf("days");t[r.key]=[s.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),y.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:t[r.key],"onUpdate:modelValue":f=>t[r.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 X(e){return(t,r)=>l.createVNode(d.Textarea,{modelValue:t[r.key],"onUpdate:modelValue":a=>t[r.key]=a,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}function H(e){return t=>e(t)}function J(){return{input:Y,textarea:X,select:G,date:A,switch:K,dateRange:Q,render:H}}function Z(e,t){t.render||(t.render=a=>a.input());const r=t.render({...J()});return{default:()=>r(e,t)}}function p(e,t){return l.h(d.FormItem,{field:t.key,label:t.title},Z(e,t))}function g(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}const ee=l.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:300},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 t=Math.random().toString(32).slice(2).toUpperCase(),r=l.ref(),[a,u]=E(e.form,e.modelValue||e.value),c=l.ref(0),n=l.ref(!0),f=()=>n.value=!n.value;l.provide(S.id,t),l.provide(S.source,a);const o=l.computed(()=>{if(!c.value)return 1;const m=e.form.reduce((i,k)=>i+((k==null?void 0:k.span)||1),0);return c.value-m%c.value}),h=l.computed(()=>e.form.reduce((m,i)=>(i.rule&&(m[i.key]=i.rule),m),{}));function s(){var i;const m=(i=r.value)==null?void 0:i.$el;c.value=Math.floor(m.offsetWidth/e.minWidth)}l.onMounted(()=>{s()});function y(m,i){u({...a,[m]:i})}function x(){var m;(m=r.value)==null||m.resetFields()}return window.addEventListener("resize",s),{formId:t,formSource:a,formInstance:r,formColumns:c,formRules:h,formCollspased:n,formActiosSpan:o,toggleFormCollapsed:f,updateFormField:y,updateFormSource:u,reset:x}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},t=()=>{const r=[],a=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(r.push(l.createVNode(d.Button,{type:"primary",htmlType:"submit"},{default:()=>[l.createTextVNode("搜索")]})),r.push(l.createVNode(d.Button,{type:"secondary",onClick:()=>{var u;return(u=this.formInstance)==null?void 0:u.resetFields()}},{default:()=>[l.createTextVNode("重置")]}))),this.submitable&&(r.push(l.createVNode(d.Button,{type:"primary",htmlType:"submit"},{default:()=>[l.createTextVNode("提交")]})),r.push(l.createVNode(d.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[l.createTextVNode("取消")]}))),this.form.some(u=>!!u.collapsed)&&r.push(l.createVNode(d.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?l.createVNode(O,null,null):l.createVNode(R,null,null)})),this.$slots.actions&&r.push(...this.$slots.actions()),r.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,g(r)?r:{default:()=>[r]})]})]})};return l.createVNode(d.Form,l.mergeProps({rules:this.formRules,onSubmitSuccess:e},{name:this.name},{"auto-label-width":!0,ref:r=>this.formInstance=r,model:this.formSource}),{default:()=>[l.createVNode(d.Grid,{cols:this.formColumns,"col-gap":10,"rol-gap":10},{default:()=>[this.form.filter(r=>this.formCollspased?!r.collapsed:!0).map(r=>{let a;return l.createVNode(d.GridItem,{span:r.span},g(a=p(this.formSource,r))?a:{default:()=>[a]})}),t()]})]})}});function re(e){return e}function te(e){const t=l.getCurrentInstance(),r=l.ref();function a(){var c,n;const u=(n=(c=t==null?void 0:t.proxy)==null?void 0:c.$refs)==null?void 0:n[e];u&&(r.value=u)}return l.onMounted(a),l.onUpdated(a),r}exports.FormRender=ee;exports.defineForm=re;exports.useForm=te;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),d=require("@arco-design/web-vue"),V=require("dayjs"),w=require("./resolver.cjs");const I=Symbol("ArcoConfigProvider"),_="arco",j="$arco",C=e=>{var t,r,a;const n=l.getCurrentInstance(),c=l.inject(I,void 0),u=(a=(r=c==null?void 0:c.prefixCls)!=null?r:(t=n==null?void 0:n.appContext.config.globalProperties[j])==null?void 0:t.classPrefix)!=null?a:_;return e?`${u}-${e}`:u},D=Object.prototype.toString;function $(e){return D.call(e)==="[object Number]"&&e===e}var F=(e,t)=>{for(const[r,a]of t)e[r]=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:t}){const r=C("icon"),a=l.computed(()=>[r,`${r}-down`,{[`${r}-spin`]:e.spin}]),n=l.computed(()=>{const u={};return e.size&&(u.fontSize=$(e.size)?`${e.size}px`:e.size),e.rotate&&(u.transform=`rotate(${e.rotate}deg)`),u});return{cls:a,innerStyle:n,onClick:u=>{t("click",u)}}}}),z=["stroke-width","stroke-linecap","stroke-linejoin"],B=l.createElementVNode("path",{d:"M39.6 17.443 24.043 33 8.487 17.443"},null,-1),O=[B];function L(e,t,r,a,n,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:t[0]||(t[0]=(...u)=>e.onClick&&e.onClick(...u))},O,14,z)}var b=F(P,[["render",L]]);const M=Object.assign(b,{install:(e,t)=>{var r;const a=(r=t==null?void 0:t.iconPrefix)!=null?r:"";e.component(a+b.name,b)}}),R=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:t}){const r=C("icon"),a=l.computed(()=>[r,`${r}-up`,{[`${r}-spin`]:e.spin}]),n=l.computed(()=>{const u={};return e.size&&(u.fontSize=$(e.size)?`${e.size}px`:e.size),e.rotate&&(u.transform=`rotate(${e.rotate}deg)`),u});return{cls:a,innerStyle:n,onClick:u=>{t("click",u)}}}}),U=["stroke-width","stroke-linecap","stroke-linejoin"],q=l.createElementVNode("path",{d:"M39.6 30.557 24.043 15 8.487 30.557"},null,-1),T=[q];function E(e,t,r,a,n,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:t[0]||(t[0]=(...u)=>e.onClick&&e.onClick(...u))},T,14,U)}var v=F(R,[["render",E]]);const A=Object.assign(v,{install:(e,t)=>{var r;const a=(r=t==null?void 0:t.iconPrefix)!=null?r:"";e.component(a+v.name,v)}}),S={id:Symbol("ID"),source:Symbol("Source")};function Y(e,t){const r=l.ref({});return e==null||e.forEach(n=>{let c=null;n.default&&(c=(typeof n.default=="function"?n.default():n.default)||null),t&&t[n.key]&&(c=t[n.key]),r.value[n.key]=c}),[r,n=>{r.value=n}]}function W(e){function t(r,a){return e!=null&&e.disabledDate?e.disabledDate(r,a):!1}return(r,a)=>{switch(e==null?void 0:e.type){case"week":return l.createVNode(d.WeekPicker,{modelValue:r[a.key],"onUpdate:modelValue":n=>r[a.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"month":return l.createVNode(d.MonthPicker,{modelValue:r[a.key],"onUpdate:modelValue":n=>r[a.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"quarter":return l.createVNode(d.QuarterPicker,{modelValue:r[a.key],"onUpdate:modelValue":n=>r[a.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null);case"year":return l.createVNode(d.YearPicker,{modelValue:r[a.key],"onUpdate:modelValue":n=>r[a.key]=n,"disabled-date":t,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:r[a.key],"onUpdate:modelValue":n=>r[a.key]=n,"disabled-date":t,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function G(e){return(t,r)=>{switch(e==null?void 0:e.type){case"number":return l.createVNode(d.InputNumber,{modelValue:t[r.key],"onUpdate:modelValue":a=>t[r.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:t[r.key],"onUpdate:modelValue":a=>t[r.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 K(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}function Q(e){let t=!1;const r=l.ref(new Map);e.options instanceof Function?e.options().then(n=>r.value=n):e.options instanceof Promise?e.options.then(n=>r.value=n):r.value=e.options;function a(){e.autoSumbit}return(n,c)=>{let u;return e.default&&!t&&(n[c.key]=e.default,t=!0),l.createVNode(d.Select,{multiple:e.multiple,modelValue:n[c.key],"onUpdate:modelValue":f=>n[c.key]=f,placeholder:e.placeholder,allowClear:e.clearable,maxTagCount:e.maxTagCount??5,onChange:a},K(u=Array.from(r.value.entries()).map(([f,i])=>l.createVNode(d.Option,{key:f,value:f,label:i},null)))?u:{default:()=>[u]})}}function X(e){function t(){e!=null&&e.autoSumbit}return(r,a)=>(e!=null&&e.default&&(r[a.key]=e.default),l.createVNode(d.Switch,{modelValue:r[a.key],"onUpdate:modelValue":n=>r[a.key]=n,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:t},null))}function H(e){return(t,r)=>{let a=[];function n(f){a=f}function c(f){if(f&&f.length===2){const[i,h]=f.sort(),s=V(i).startOf("days"),y=V(h).endOf("days");t[r.key]=[s.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),y.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function u(f){return e!=null&&e.disabledDate?e.disabledDate(a,f):!1}return l.createVNode("div",null,[l.createVNode(d.RangePicker,{style:{width:"300px"},modelValue:t[r.key],"onUpdate:modelValue":f=>t[r.key]=f,onSelect:n,onChange:c,mode:e==null?void 0:e.type,allowClear:e==null?void 0:e.clearable,"disabled-date":u,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)])}}function J(e){return(t,r)=>l.createVNode(d.Textarea,{modelValue:t[r.key],"onUpdate:modelValue":a=>t[r.key]=a,placeholder:e==null?void 0:e.placeholder,autoSize:e==null?void 0:e.autosize,maxLength:e==null?void 0:e.maxLength},null)}function Z(e){return t=>e(t)}function p(){return{input:G,textarea:J,select:Q,date:W,switch:X,dateRange:H,render:Z}}function ee(e,t){t.render||(t.render=a=>a.input());const r=t.render({...p()});return{default:()=>r(e,t)}}function re(e,t){return l.h(d.FormItem,{field:t.key,label:t.title},ee(e,t))}function g(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!l.isVNode(e)}const N=l.defineComponent({props:{form:{type:Object,required:!0},value:{type:Object,required:!1},modelValue:{type:Object,required:!1},minWidth:{type:Number,required:!1,default:300},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 t=Math.random().toString(32).slice(2).toUpperCase(),r=l.ref(),[a,n]=Y(e.form,e.modelValue||e.value),c=l.ref(0),u=l.ref(!0),f=()=>u.value=!u.value;l.provide(S.id,t),l.provide(S.source,a);const i=l.computed(()=>{if(!c.value)return 1;const o=e.form.reduce((m,k)=>m+((k==null?void 0:k.span)||1),0);return c.value-o%c.value}),h=l.computed(()=>e.form.reduce((o,m)=>(m.rule&&(o[m.key]=m.rule),o),{}));function s(){var m;const o=(m=r.value)==null?void 0:m.$el;c.value=Math.floor(o.offsetWidth/e.minWidth)}l.onMounted(()=>{s()});function y(o,m){a.value[o]=m,n({...a})}function x(){var o;(o=r.value)==null||o.resetFields()}return window.addEventListener("resize",s),{formId:t,formSource:a,formInstance:r,formColumns:c,formRules:h,formCollspased:u,formActiosSpan:i,toggleFormCollapsed:f,updateFormField:y,updateFormSource:n,reset:x}},render(){const e=()=>{this.$emit("submit",this.formSource),this.$emit("update:model-value",this.formSource)},t=()=>{const r=[],a=this.footer?{span:this.formColumns}:{span:this.formActiosSpan};if(this.searchable&&(r.push(l.createVNode(d.Button,{type:"primary",htmlType:"submit"},{default:()=>[l.createTextVNode("搜索")]})),r.push(l.createVNode(d.Button,{type:"secondary",onClick:()=>{var n;return(n=this.formInstance)==null?void 0:n.resetFields()}},{default:()=>[l.createTextVNode("重置")]}))),this.submitable&&(r.push(l.createVNode(d.Button,{type:"primary",htmlType:"submit"},{default:()=>[l.createTextVNode("提交")]})),r.push(l.createVNode(d.Button,{type:"secondary",onClick:()=>this.$emit("cancel")},{default:()=>[l.createTextVNode("取消")]}))),this.form.some(n=>!!n.collapsed)&&r.push(l.createVNode(d.Button,{onClick:this.toggleFormCollapsed},{default:()=>this.formCollspased?"展开":"收起",icon:()=>this.formCollspased?l.createVNode(M,null,null):l.createVNode(A,null,null)})),this.$slots.actions&&r.push(...this.$slots.actions()),r.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,g(r)?r:{default:()=>[r]})]})]})};return l.createVNode(d.Form,l.mergeProps({rules:this.formRules,onSubmitSuccess:e},{name:this.name},{"auto-label-width":!0,ref:r=>this.formInstance=r,model:this.formSource}),{default:()=>[l.createVNode(d.Grid,{cols:this.formColumns,"col-gap":10,"rol-gap":10},{default:()=>[this.form.filter(r=>this.formCollspased?!r.collapsed:!0).map(r=>{let a;return l.createVNode(d.GridItem,{span:r.span},g(a=re(this.formSource,r))?a:{default:()=>[a]})}),t()]})]})}});function te(e){return e}function le(e){const t=l.getCurrentInstance(),r=l.ref();function a(){var c,u;const n=(u=(c=t==null?void 0:t.proxy)==null?void 0:c.$refs)==null?void 0:u[e];n&&(r.value=n)}return l.onMounted(a),l.onUpdated(a),r}const ae={install(e,t){e.component("FormRender",N)}};exports.FormRenderResolver=w.FormRenderResolver;exports.FormRender=N;exports.default=ae;exports.defineForm=te;exports.useForm=le;
@@ -2,3 +2,5 @@ export { FormRender, type FormRenderInstance } from './form-render';
2
2
  export * from './defines';
3
3
  export * from './hooks';
4
4
  export * from './interfaces';
5
+ export * from './resolver';
6
+ export { default } from './install';
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from 'vue';
2
+ declare const _default: Plugin;
3
+ export default _default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function o(){return{type:"component",resolve:e=>{const r="@gopowerteam/form-render";if(e==="FormRender"||e==="form-render")return{name:"FormRender",from:r,sideEffects:[`${r}/dist/style.css`]}}}}exports.FormRenderResolver=o;
@@ -0,0 +1,8 @@
1
+ export declare function FormRenderResolver(): {
2
+ type: "component";
3
+ resolve: (name: string) => {
4
+ name: string;
5
+ from: string;
6
+ sideEffects: string[];
7
+ } | undefined;
8
+ };
@@ -2,3 +2,5 @@ export { FormRender, type FormRenderInstance } from './form-render';
2
2
  export * from './defines';
3
3
  export * from './hooks';
4
4
  export * from './interfaces';
5
+ export * from './resolver';
6
+ export { default } from './install';
package/dist/es/index.mjs CHANGED
@@ -1,15 +1,16 @@
1
- import { getCurrentInstance as D, inject as T, defineComponent as C, computed as s, openBlock as _, createElementBlock as j, normalizeClass as P, normalizeStyle as z, createElementVNode as L, ref as i, createVNode as n, isVNode as O, h as A, provide as x, onMounted as U, mergeProps as Y, createTextVNode as k, onUpdated as E } from "vue";
1
+ import { getCurrentInstance as _, inject as T, defineComponent as C, computed as s, openBlock as D, createElementBlock as j, normalizeClass as P, normalizeStyle as z, createElementVNode as L, ref as i, createVNode as n, isVNode as O, h as A, provide as x, onMounted as U, mergeProps as Y, createTextVNode as k, onUpdated as E } from "vue";
2
2
  import { DatePicker as W, YearPicker as G, QuarterPicker as K, MonthPicker as Q, WeekPicker as X, Input as H, InputNumber as J, Select as Z, Option as p, Switch as ee, RangePicker as re, Textarea as le, FormItem as N, Form as te, Grid as ae, GridItem as F, Button as h, Space as ue } from "@arco-design/web-vue";
3
3
  import w from "dayjs";
4
+ import { FormRenderResolver as Ye } from "./resolver.mjs";
4
5
  const ne = Symbol("ArcoConfigProvider"), ce = "arco", de = "$arco", M = (e) => {
5
6
  var l, r, t;
6
- const a = D(), c = T(ne, void 0), u = (t = (r = c == null ? void 0 : c.prefixCls) != null ? r : (l = a == null ? void 0 : a.appContext.config.globalProperties[de]) == null ? void 0 : l.classPrefix) != null ? t : ce;
7
+ const a = _(), c = T(ne, void 0), u = (t = (r = c == null ? void 0 : c.prefixCls) != null ? r : (l = a == null ? void 0 : a.appContext.config.globalProperties[de]) == null ? void 0 : l.classPrefix) != null ? t : ce;
7
8
  return e ? `${u}-${e}` : u;
8
9
  }, fe = Object.prototype.toString;
9
- function B(e) {
10
+ function R(e) {
10
11
  return fe.call(e) === "[object Number]" && e === e;
11
12
  }
12
- var q = (e, l) => {
13
+ var B = (e, l) => {
13
14
  for (const [r, t] of l)
14
15
  e[r] = t;
15
16
  return e;
@@ -47,7 +48,7 @@ const me = C({
47
48
  [`${r}-spin`]: e.spin
48
49
  }]), a = s(() => {
49
50
  const u = {};
50
- return e.size && (u.fontSize = B(e.size) ? `${e.size}px` : e.size), e.rotate && (u.transform = `rotate(${e.rotate}deg)`), u;
51
+ return e.size && (u.fontSize = R(e.size) ? `${e.size}px` : e.size), e.rotate && (u.transform = `rotate(${e.rotate}deg)`), u;
51
52
  });
52
53
  return {
53
54
  cls: t,
@@ -61,7 +62,7 @@ const me = C({
61
62
  d: "M39.6 17.443 24.043 33 8.487 17.443"
62
63
  }, null, -1), oe = [se];
63
64
  function he(e, l, r, t, a, c) {
64
- return _(), j("svg", {
65
+ return D(), j("svg", {
65
66
  viewBox: "0 0 48 48",
66
67
  fill: "none",
67
68
  xmlns: "http://www.w3.org/2000/svg",
@@ -74,7 +75,7 @@ function he(e, l, r, t, a, c) {
74
75
  onClick: l[0] || (l[0] = (...u) => e.onClick && e.onClick(...u))
75
76
  }, oe, 14, ie);
76
77
  }
77
- var g = /* @__PURE__ */ q(me, [["render", he]]);
78
+ var g = /* @__PURE__ */ B(me, [["render", he]]);
78
79
  const ye = Object.assign(g, {
79
80
  install: (e, l) => {
80
81
  var r;
@@ -114,7 +115,7 @@ const ye = Object.assign(g, {
114
115
  [`${r}-spin`]: e.spin
115
116
  }]), a = s(() => {
116
117
  const u = {};
117
- return e.size && (u.fontSize = B(e.size) ? `${e.size}px` : e.size), e.rotate && (u.transform = `rotate(${e.rotate}deg)`), u;
118
+ return e.size && (u.fontSize = R(e.size) ? `${e.size}px` : e.size), e.rotate && (u.transform = `rotate(${e.rotate}deg)`), u;
118
119
  });
119
120
  return {
120
121
  cls: t,
@@ -128,7 +129,7 @@ const ye = Object.assign(g, {
128
129
  d: "M39.6 30.557 24.043 15 8.487 30.557"
129
130
  }, null, -1), Se = [ve];
130
131
  function ge(e, l, r, t, a, c) {
131
- return _(), j("svg", {
132
+ return D(), j("svg", {
132
133
  viewBox: "0 0 48 48",
133
134
  fill: "none",
134
135
  xmlns: "http://www.w3.org/2000/svg",
@@ -141,7 +142,7 @@ function ge(e, l, r, t, a, c) {
141
142
  onClick: l[0] || (l[0] = (...u) => e.onClick && e.onClick(...u))
142
143
  }, Se, 14, be);
143
144
  }
144
- var $ = /* @__PURE__ */ q(ke, [["render", ge]]);
145
+ var $ = /* @__PURE__ */ B(ke, [["render", ge]]);
145
146
  const $e = Object.assign($, {
146
147
  install: (e, l) => {
147
148
  var r;
@@ -278,7 +279,7 @@ function Ie(e) {
278
279
  onChange: l
279
280
  }, null));
280
281
  }
281
- function De(e) {
282
+ function _e(e) {
282
283
  return (l, r) => {
283
284
  let t = [];
284
285
  function a(d) {
@@ -309,7 +310,7 @@ function De(e) {
309
310
  }, null)]);
310
311
  };
311
312
  }
312
- function _e(e) {
313
+ function De(e) {
313
314
  return (l, r) => n(le, {
314
315
  modelValue: l[r.key],
315
316
  "onUpdate:modelValue": (t) => l[r.key] = t,
@@ -324,11 +325,11 @@ function je(e) {
324
325
  function Pe() {
325
326
  return {
326
327
  input: Fe,
327
- textarea: _e,
328
+ textarea: De,
328
329
  select: Ve,
329
330
  date: xe,
330
331
  switch: Ie,
331
- dateRange: De,
332
+ dateRange: _e,
332
333
  render: je
333
334
  };
334
335
  }
@@ -350,7 +351,7 @@ function Le(e, l) {
350
351
  function I(e) {
351
352
  return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !O(e);
352
353
  }
353
- const Me = /* @__PURE__ */ C({
354
+ const Oe = /* @__PURE__ */ C({
354
355
  props: {
355
356
  form: {
356
357
  type: Object,
@@ -410,12 +411,11 @@ const Me = /* @__PURE__ */ C({
410
411
  y();
411
412
  });
412
413
  function v(f, m) {
413
- a({
414
- ...t,
415
- [f]: m
414
+ t.value[f] = m, a({
415
+ ...t
416
416
  });
417
417
  }
418
- function R() {
418
+ function q() {
419
419
  var f;
420
420
  (f = r.value) == null || f.resetFields();
421
421
  }
@@ -430,7 +430,7 @@ const Me = /* @__PURE__ */ C({
430
430
  toggleFormCollapsed: d,
431
431
  updateFormField: v,
432
432
  updateFormSource: a,
433
- reset: R
433
+ reset: q
434
434
  };
435
435
  },
436
436
  render() {
@@ -509,11 +509,11 @@ const Me = /* @__PURE__ */ C({
509
509
  });
510
510
  }
511
511
  });
512
- function Be(e) {
512
+ function Re(e) {
513
513
  return e;
514
514
  }
515
- function qe(e) {
516
- const l = D(), r = i();
515
+ function Be(e) {
516
+ const l = _(), r = i();
517
517
  function t() {
518
518
  var c, u;
519
519
  const a = (u = (c = l == null ? void 0 : l.proxy) == null ? void 0 : c.$refs) == null ? void 0 : u[e];
@@ -521,8 +521,15 @@ function qe(e) {
521
521
  }
522
522
  return U(t), E(t), r;
523
523
  }
524
+ const qe = {
525
+ install(e, l) {
526
+ e.component("FormRender", Oe);
527
+ }
528
+ };
524
529
  export {
525
- Me as FormRender,
526
- Be as defineForm,
527
- qe as useForm
530
+ Oe as FormRender,
531
+ Ye as FormRenderResolver,
532
+ qe as default,
533
+ Re as defineForm,
534
+ Be as useForm
528
535
  };
@@ -0,0 +1,3 @@
1
+ import type { Plugin } from 'vue';
2
+ declare const _default: Plugin;
3
+ export default _default;
@@ -0,0 +1,8 @@
1
+ export declare function FormRenderResolver(): {
2
+ type: "component";
3
+ resolve: (name: string) => {
4
+ name: string;
5
+ from: string;
6
+ sideEffects: string[];
7
+ } | undefined;
8
+ };
@@ -0,0 +1,17 @@
1
+ function o() {
2
+ return {
3
+ type: "component",
4
+ resolve: (e) => {
5
+ const r = "@gopowerteam/form-render";
6
+ if (e === "FormRender" || e === "form-render")
7
+ return {
8
+ name: "FormRender",
9
+ from: r,
10
+ sideEffects: [`${r}/dist/style.css`]
11
+ };
12
+ }
13
+ };
14
+ }
15
+ export {
16
+ o as FormRenderResolver
17
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gopowerteam/form-render",
3
3
  "type": "module",
4
- "version": "0.0.8",
4
+ "version": "0.0.9",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"