@gopowerteam/form-render 0.0.7 → 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.
@@ -3,5 +3,6 @@ export declare function renderInputItem<T = DataRecord>(options?: RenderInputIte
3
3
  export interface RenderInputItemOptions {
4
4
  placeholder?: string;
5
5
  clearable?: boolean;
6
+ readonly?: boolean;
6
7
  type?: 'string' | 'number';
7
8
  }
@@ -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 r,t,a;const n=l.getCurrentInstance(),c=l.inject(F,void 0),u=(a=(t=c==null?void 0:c.prefixCls)!=null?t:(r=n==null?void 0:n.appContext.config.globalProperties[I])==null?void 0:r.classPrefix)!=null?a:w;return e?`${u}-${e}`:u},j=Object.prototype.toString;function $(e){return j.call(e)==="[object Number]"&&e===e}var N=(e,r)=>{for(const[t,a]of r)e[t]=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:r}){const t=C("icon"),a=l.computed(()=>[t,`${t}-down`,{[`${t}-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=>{r("click",u)}}}}),_=["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,r,t,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:r[0]||(r[0]=(...u)=>e.onClick&&e.onClick(...u))},z,14,_)}var b=N(D,[["render",B]]);const O=Object.assign(b,{install:(e,r)=>{var t;const a=(t=r==null?void 0:r.iconPrefix)!=null?t:"";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:r}){const t=C("icon"),a=l.computed(()=>[t,`${t}-up`,{[`${t}-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=>{r("click",u)}}}}),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,r,t,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:r[0]||(r[0]=(...u)=>e.onClick&&e.onClick(...u))},q,14,M)}var v=N(L,[["render",T]]);const R=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)}}),S={id:Symbol("ID"),source:Symbol("Source")};function E(e,r){const t=l.ref({});return e==null||e.forEach(n=>{let c=null;n.default&&(c=(typeof n.default=="function"?n.default():n.default)||null),r&&r[n.key]&&(c=r[n.key]),t.value[n.key]=c}),[t,n=>{t.value=n}]}function A(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":n=>t[a.key]=n,"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":n=>t[a.key]=n,"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":n=>t[a.key]=n,"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":n=>t[a.key]=n,"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":n=>t[a.key]=n,"disabled-date":r,format:e==null?void 0:e.labelFormat,"value-format":e==null?void 0:e.valueFormat},null)}}}function Y(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,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,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 r=!1;const t=l.ref(new Map);e.options instanceof Function?e.options().then(n=>t.value=n):e.options instanceof Promise?e.options.then(n=>t.value=n):t.value=e.options;function a(){e.autoSumbit}return(n,c)=>{let u;return e.default&&!r&&(n[c.key]=e.default,r=!0),l.createVNode(d.Select,{multiple:e.multiple,modelValue:n[c.key],"onUpdate:modelValue":o=>n[c.key]=o,placeholder:e.placeholder,allowClear:e.clearable,maxTagCount:e.maxTagCount,onChange:a},W(u=Array.from(t.value.entries()).map(([o,m])=>l.createVNode(d.Option,{key:o,value:o,label:m},null)))?u:{default:()=>[u]})}}function K(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":n=>t[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:r},null))}function Q(e){return(r,t)=>{let a=[];function n(o){a=o}function c(o){if(o&&o.length===2){const[m,h]=o.sort(),s=V(m).startOf("days"),k=V(h).endOf("days");r[t.key]=[s.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD"),k.format((e==null?void 0:e.valueFormat)||"YYYY-MM-DD")]}}function u(o){return e!=null&&e.disabledDate?e.disabledDate(a,o):!1}return l.createVNode("div",null,[l.createVNode(d.RangePicker,{style:{width:"300px"},modelValue:r[t.key],"onUpdate:modelValue":o=>r[t.key]=o,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 X(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)}function H(e){return r=>e(r)}function J(){return{input:Y,textarea:X,select:G,date:A,switch:K,dateRange:Q,render:H}}function Z(e,r){r.render||(r.render=a=>a.input());const t=r.render({...J()});return{default:()=>t(e,r)}}function p(e,r){return l.h(d.FormItem,{field:r.key,label:r.title},Z(e,r))}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 r=Math.random().toString(32).slice(2).toUpperCase(),t=l.ref(),[a,n]=E(e.form,e.modelValue||e.value),c=l.ref(0),u=l.ref(!0),o=()=>u.value=!u.value;l.provide(S.id,r),l.provide(S.source,a);const m=l.computed(()=>{if(!c.value)return 1;const f=e.form.reduce((i,y)=>i+((y==null?void 0:y.span)||1),0);return c.value-f%c.value}),h=l.computed(()=>e.form.reduce((f,i)=>(i.rule&&(f[i.key]=i.rule),f),{}));function s(){var i;const f=(i=t.value)==null?void 0:i.$el;c.value=Math.floor(f.offsetWidth/e.minWidth)}l.onMounted(()=>{s()});function k(f,i){n({...a,[f]:i})}function x(){var f;(f=t.value)==null||f.resetFields()}return window.addEventListener("resize",s),{formId:r,formSource:a,formInstance:t,formColumns:c,formRules:h,formCollspased:u,formActiosSpan:m,toggleFormCollapsed:o,updateFormField:k,updateFormSource:n,reset:x}},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 n;return(n=this.formInstance)==null?void 0:n.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(n=>!!n.collapsed)&&t.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&&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,g(t)?t:{default:()=>[t]})]})]})};return l.createVNode(d.Form,l.mergeProps({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},g(a=p(this.formSource,t))?a:{default:()=>[a]})}),r()]})]})}});function te(e){return e}function re(e){const r=l.getCurrentInstance(),t=l.ref();function a(){var c,u;const n=(u=(c=r==null?void 0:r.proxy)==null?void 0:c.$refs)==null?void 0:u[e];n&&(t.value=n)}return l.onMounted(a),l.onUpdated(a),t}exports.FormRender=ee;exports.defineForm=te;exports.useForm=re;
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
+ };
@@ -3,5 +3,6 @@ export declare function renderInputItem<T = DataRecord>(options?: RenderInputIte
3
3
  export interface RenderInputItemOptions {
4
4
  placeholder?: string;
5
5
  clearable?: boolean;
6
+ readonly?: boolean;
6
7
  type?: 'string' | 'number';
7
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,20 +1,21 @@
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 m, createVNode as n, isVNode as O, h as A, provide as x, onMounted as U, mergeProps as Y, createTextVNode as y, 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;
16
17
  };
17
- const ie = C({
18
+ const me = C({
18
19
  name: "IconDown",
19
20
  props: {
20
21
  size: {
@@ -47,7 +48,7 @@ const ie = 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,
@@ -57,11 +58,11 @@ const ie = C({
57
58
  }
58
59
  };
59
60
  }
60
- }), me = ["stroke-width", "stroke-linecap", "stroke-linejoin"], se = /* @__PURE__ */ L("path", {
61
+ }), ie = ["stroke-width", "stroke-linecap", "stroke-linejoin"], se = /* @__PURE__ */ L("path", {
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",
@@ -72,16 +73,16 @@ function he(e, l, r, t, a, c) {
72
73
  "stroke-linecap": e.strokeLinecap,
73
74
  "stroke-linejoin": e.strokeLinejoin,
74
75
  onClick: l[0] || (l[0] = (...u) => e.onClick && e.onClick(...u))
75
- }, oe, 14, me);
76
+ }, oe, 14, ie);
76
77
  }
77
- var g = /* @__PURE__ */ q(ie, [["render", he]]);
78
- const ke = Object.assign(g, {
78
+ var g = /* @__PURE__ */ B(me, [["render", he]]);
79
+ const ye = Object.assign(g, {
79
80
  install: (e, l) => {
80
81
  var r;
81
82
  const t = (r = l == null ? void 0 : l.iconPrefix) != null ? r : "";
82
83
  e.component(t + g.name, g);
83
84
  }
84
- }), ye = C({
85
+ }), ke = C({
85
86
  name: "IconUp",
86
87
  props: {
87
88
  size: {
@@ -114,7 +115,7 @@ const ke = 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 ke = 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(ye, [["render", ge]]);
145
+ var $ = /* @__PURE__ */ B(ke, [["render", ge]]);
145
146
  const $e = Object.assign($, {
146
147
  install: (e, l) => {
147
148
  var r;
@@ -153,7 +154,7 @@ const $e = Object.assign($, {
153
154
  source: Symbol("Source")
154
155
  };
155
156
  function Ce(e, l) {
156
- const r = m({});
157
+ const r = i({});
157
158
  return e == null || e.forEach((a) => {
158
159
  let c = null;
159
160
  a.default && (c = (typeof a.default == "function" ? a.default() : a.default) || null), l && l[a.key] && (c = l[a.key]), r.value[a.key] = c;
@@ -219,6 +220,7 @@ function Fe(e) {
219
220
  modelValue: l[r.key],
220
221
  "onUpdate:modelValue": (t) => l[r.key] = t,
221
222
  hideButton: !0,
223
+ "read-only": e == null ? void 0 : e.readonly,
222
224
  placeholder: e == null ? void 0 : e.placeholder,
223
225
  allowClear: e == null ? void 0 : e.clearable
224
226
  }, null);
@@ -228,6 +230,7 @@ function Fe(e) {
228
230
  modelValue: l[r.key],
229
231
  "onUpdate:modelValue": (t) => l[r.key] = t,
230
232
  placeholder: e == null ? void 0 : e.placeholder,
233
+ readonly: e == null ? void 0 : e.readonly,
231
234
  allowClear: e == null ? void 0 : e.clearable
232
235
  }, null);
233
236
  }
@@ -238,7 +241,7 @@ function we(e) {
238
241
  }
239
242
  function Ve(e) {
240
243
  let l = !1;
241
- const r = m(/* @__PURE__ */ new Map());
244
+ const r = i(/* @__PURE__ */ new Map());
242
245
  e.options instanceof Function ? e.options().then((a) => r.value = a) : e.options instanceof Promise ? e.options.then((a) => r.value = a) : r.value = e.options;
243
246
  function t() {
244
247
  e.autoSumbit;
@@ -251,7 +254,7 @@ function Ve(e) {
251
254
  "onUpdate:modelValue": (d) => a[c.key] = d,
252
255
  placeholder: e.placeholder,
253
256
  allowClear: e.clearable,
254
- maxTagCount: e.maxTagCount,
257
+ maxTagCount: e.maxTagCount ?? 5,
255
258
  onChange: t
256
259
  }, we(u = Array.from(r.value.entries()).map(([d, o]) => n(p, {
257
260
  key: d,
@@ -276,7 +279,7 @@ function Ie(e) {
276
279
  onChange: l
277
280
  }, null));
278
281
  }
279
- function De(e) {
282
+ function _e(e) {
280
283
  return (l, r) => {
281
284
  let t = [];
282
285
  function a(d) {
@@ -284,8 +287,8 @@ function De(e) {
284
287
  }
285
288
  function c(d) {
286
289
  if (d && d.length === 2) {
287
- const [o, b] = d.sort(), k = w(o).startOf("days"), v = w(b).endOf("days");
288
- l[r.key] = [k.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), v.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
290
+ const [o, b] = d.sort(), y = w(o).startOf("days"), v = w(b).endOf("days");
291
+ l[r.key] = [y.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD"), v.format((e == null ? void 0 : e.valueFormat) || "YYYY-MM-DD")];
289
292
  }
290
293
  }
291
294
  function u(d) {
@@ -307,7 +310,7 @@ function De(e) {
307
310
  }, null)]);
308
311
  };
309
312
  }
310
- function _e(e) {
313
+ function De(e) {
311
314
  return (l, r) => n(le, {
312
315
  modelValue: l[r.key],
313
316
  "onUpdate:modelValue": (t) => l[r.key] = t,
@@ -322,11 +325,11 @@ function je(e) {
322
325
  function Pe() {
323
326
  return {
324
327
  input: Fe,
325
- textarea: _e,
328
+ textarea: De,
326
329
  select: Ve,
327
330
  date: xe,
328
331
  switch: Ie,
329
- dateRange: De,
332
+ dateRange: _e,
330
333
  render: je
331
334
  };
332
335
  }
@@ -348,7 +351,7 @@ function Le(e, l) {
348
351
  function I(e) {
349
352
  return typeof e == "function" || Object.prototype.toString.call(e) === "[object Object]" && !O(e);
350
353
  }
351
- const Me = /* @__PURE__ */ C({
354
+ const Oe = /* @__PURE__ */ C({
352
355
  props: {
353
356
  form: {
354
357
  type: Object,
@@ -391,33 +394,32 @@ const Me = /* @__PURE__ */ C({
391
394
  emits: ["submit", "cancel", "update:model-value"],
392
395
  expose: ["formSource", "updateFormField", "updateFormSource", "reset"],
393
396
  setup(e) {
394
- const l = Math.random().toString(32).slice(2).toUpperCase(), r = m(), [t, a] = Ce(e.form, e.modelValue || e.value), c = m(0), u = m(!0), d = () => u.value = !u.value;
397
+ const l = Math.random().toString(32).slice(2).toUpperCase(), r = i(), [t, a] = Ce(e.form, e.modelValue || e.value), c = i(0), u = i(!0), d = () => u.value = !u.value;
395
398
  x(V.id, l), x(V.source, t);
396
399
  const o = s(() => {
397
400
  if (!c.value)
398
401
  return 1;
399
- const f = e.form.reduce((i, S) => i + ((S == null ? void 0 : S.span) || 1), 0);
402
+ const f = e.form.reduce((m, S) => m + ((S == null ? void 0 : S.span) || 1), 0);
400
403
  return c.value - f % c.value;
401
- }), b = s(() => e.form.reduce((f, i) => (i.rule && (f[i.key] = i.rule), f), {}));
402
- function k() {
403
- var i;
404
- const f = (i = r.value) == null ? void 0 : i.$el;
404
+ }), b = s(() => e.form.reduce((f, m) => (m.rule && (f[m.key] = m.rule), f), {}));
405
+ function y() {
406
+ var m;
407
+ const f = (m = r.value) == null ? void 0 : m.$el;
405
408
  c.value = Math.floor(f.offsetWidth / e.minWidth);
406
409
  }
407
410
  U(() => {
408
- k();
411
+ y();
409
412
  });
410
- function v(f, i) {
411
- a({
412
- ...t,
413
- [f]: i
413
+ function v(f, m) {
414
+ t.value[f] = m, a({
415
+ ...t
414
416
  });
415
417
  }
416
- function R() {
418
+ function q() {
417
419
  var f;
418
420
  (f = r.value) == null || f.resetFields();
419
421
  }
420
- return window.addEventListener("resize", k), {
422
+ return window.addEventListener("resize", y), {
421
423
  formId: l,
422
424
  formSource: t,
423
425
  formInstance: r,
@@ -428,7 +430,7 @@ const Me = /* @__PURE__ */ C({
428
430
  toggleFormCollapsed: d,
429
431
  updateFormField: v,
430
432
  updateFormSource: a,
431
- reset: R
433
+ reset: q
432
434
  };
433
435
  },
434
436
  render() {
@@ -444,7 +446,7 @@ const Me = /* @__PURE__ */ C({
444
446
  type: "primary",
445
447
  htmlType: "submit"
446
448
  }, {
447
- default: () => [y("搜索")]
449
+ default: () => [k("搜索")]
448
450
  })), r.push(n(h, {
449
451
  type: "secondary",
450
452
  onClick: () => {
@@ -452,22 +454,22 @@ const Me = /* @__PURE__ */ C({
452
454
  return (a = this.formInstance) == null ? void 0 : a.resetFields();
453
455
  }
454
456
  }, {
455
- default: () => [y("重置")]
457
+ default: () => [k("重置")]
456
458
  }))), this.submitable && (r.push(n(h, {
457
459
  type: "primary",
458
460
  htmlType: "submit"
459
461
  }, {
460
- default: () => [y("提交")]
462
+ default: () => [k("提交")]
461
463
  })), r.push(n(h, {
462
464
  type: "secondary",
463
465
  onClick: () => this.$emit("cancel")
464
466
  }, {
465
- default: () => [y("取消")]
467
+ default: () => [k("取消")]
466
468
  }))), this.form.some((a) => !!a.collapsed) && r.push(n(h, {
467
469
  onClick: this.toggleFormCollapsed
468
470
  }, {
469
471
  default: () => this.formCollspased ? "展开" : "收起",
470
- icon: () => this.formCollspased ? n(ke, null, null) : n($e, null, null)
472
+ icon: () => this.formCollspased ? n(ye, null, null) : n($e, null, null)
471
473
  })), this.$slots.actions && r.push(...this.$slots.actions()), r.length)
472
474
  return n(F, t, {
473
475
  default: () => [n(N, {
@@ -507,11 +509,11 @@ const Me = /* @__PURE__ */ C({
507
509
  });
508
510
  }
509
511
  });
510
- function Be(e) {
512
+ function Re(e) {
511
513
  return e;
512
514
  }
513
- function qe(e) {
514
- const l = D(), r = m();
515
+ function Be(e) {
516
+ const l = _(), r = i();
515
517
  function t() {
516
518
  var c, u;
517
519
  const a = (u = (c = l == null ? void 0 : l.proxy) == null ? void 0 : c.$refs) == null ? void 0 : u[e];
@@ -519,8 +521,15 @@ function qe(e) {
519
521
  }
520
522
  return U(t), E(t), r;
521
523
  }
524
+ const qe = {
525
+ install(e, l) {
526
+ e.component("FormRender", Oe);
527
+ }
528
+ };
522
529
  export {
523
- Me as FormRender,
524
- Be as defineForm,
525
- qe as useForm
530
+ Oe as FormRender,
531
+ Ye as FormRenderResolver,
532
+ qe as default,
533
+ Re as defineForm,
534
+ Be as useForm
526
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.7",
4
+ "version": "0.0.9",
5
5
  "author": {
6
6
  "name": "zhuchentong",
7
7
  "email": "2037630@gmail.com"