(function(e,r){typeof exports=="object"&&typeof module<"u"?module.exports=r(require("vue")):typeof define=="function"&&define.amd?define(["vue"],r):(e=typeof globalThis<"u"?globalThis:e||self,e.CustomForm=r(e.Vue))})(this,function(vue){"use strict";var __vite_style__=document.createElement("style");__vite_style__.textContent=`._customForm_qd2ea_1{display:flex;flex-direction:column;box-sizing:border-box;overflow:auto} `,document.head.appendChild(__vite_style__);const WidgetType={INPUT:"Input",TEXT_AREA:"TextArea",SELECT:"Select",MULTI_SELECT:"MultiSelect",CHECKBOX:"CheckBox",DATE:"DATE"},FieldType={INTEGER:"INTEGER",FLOAT:"FLOAT",STRING:"STRING",DATE:"DATE",BOOLEAN:"BOOLEAN",FILE:"FILE",OBJECT:"OBJECT",ARRAY:"ARRAY"},extraParas=[{defaultValue:"",description:"\u5355\u884C\u6587\u672C\u6D4B\u8BD5",fieldType:FieldType.INTEGER,name:"inputType",regExp:"/^\\d+$/",required:!0,title:"\u5355\u884C\u6587\u672C",config:{maxLength:180}},{defaultValue:"",description:"\u591A\u884C\u6587\u672C\u6D4B\u8BD5",fieldType:FieldType.STRING,name:"areaType",required:!0,title:"\u591A\u884C\u6587\u672C",config:{type:WidgetType.TEXT_AREA,maxLength:180}},{defaultValue:"",description:"\u4E0B\u62C9\u9009\u62E9\u6D4B\u8BD5",fieldType:FieldType.STRING,name:"selectType",required:!0,title:"\u4E0B\u62C9\u9009\u62E9",config:{type:WidgetType.SELECT,option:[{value:"test1",text:"\u6D4B\u8BD51"},{value:"test2",text:"\u6D4B\u8BD52"}]}},{defaultValue:"[]",description:"\u591A\u9009\u4E0B\u62C9\u9009\u62E9\u6D4B\u8BD5",fieldType:FieldType.STRING,name:"multiSelectType",required:!0,title:"\u591A\u9009\u4E0B\u62C9\u9009\u62E9",config:{type:WidgetType.MULTI_SELECT,option:[{value:"test1",text:"\u6D4B\u8BD51"},{value:"test2",text:"\u6D4B\u8BD52"}]}},{defaultValue:"[]",description:"\u590D\u9009\u6846\u6D4B\u8BD5",fieldType:FieldType.STRING,name:"checkboxType",required:!0,title:"\u590D\u9009\u6846",config:{type:WidgetType.CHECKBOX,option:[{value:"test1",text:"\u6D4B\u8BD51"},{value:"test2",text:"\u6D4B\u8BD52"}]}},{defaultValue:"",description:"\u65E5\u671F\u9009\u62E9\u6D4B\u8BD5",fieldType:FieldType.STRING,name:"dateType",required:!0,title:"\u65E5\u671F\u9009\u62E9",config:{type:WidgetType.DATE,content:"YYYY-MM-DD HH:mm:ss"}}],Pagination={items_per_page:"\u6761/\u9875",jump_to:"\u8DF3\u81F3",jump_to_confirm:"\u786E\u5B9A",page:"\u9875",prev_page:"\u4E0A\u4E00\u9875",next_page:"\u4E0B\u4E00\u9875",prev_5:"\u5411\u524D 5 \u9875",next_5:"\u5411\u540E 5 \u9875",prev_3:"\u5411\u524D 3 \u9875",next_3:"\u5411\u540E 3 \u9875"};var assign$1={exports:{}},_global={exports:{}},global$1=_global.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=global$1);var _core={exports:{}},core$1=_core.exports={version:"2.6.12"};typeof __e=="number"&&(__e=core$1);var _aFunction=function(e){if(typeof e!="function")throw TypeError(e+" is not a function!");return e},aFunction=_aFunction,_ctx=function(e,r,a){if(aFunction(e),r===void 0)return e;switch(a){case 1:return function(t){return e.call(r,t)};case 2:return function(t,i){return e.call(r,t,i)};case 3:return function(t,i,u){return e.call(r,t,i,u)}}return function(){return e.apply(r,arguments)}},_objectDp={},_isObject=function(e){return typeof e=="object"?e!==null:typeof e=="function"},isObject$1=_isObject,_anObject=function(e){if(!isObject$1(e))throw TypeError(e+" is not an object!");return e},_fails,hasRequired_fails;function require_fails(){return hasRequired_fails||(hasRequired_fails=1,_fails=function(e){try{return!!e()}catch{return!0}}),_fails}var _descriptors,hasRequired_descriptors;function require_descriptors(){return hasRequired_descriptors||(hasRequired_descriptors=1,_descriptors=!require_fails()(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})),_descriptors}var _domCreate,hasRequired_domCreate;function require_domCreate(){if(hasRequired_domCreate)return _domCreate;hasRequired_domCreate=1;var e=_isObject,r=_global.exports.document,a=e(r)&&e(r.createElement);return _domCreate=function(t){return a?r.createElement(t):{}},_domCreate}var _ie8DomDefine=!require_descriptors()&&!require_fails()(function(){return Object.defineProperty(require_domCreate()("div"),"a",{get:function(){return 7}}).a!=7}),isObject=_isObject,_toPrimitive=function(e,r){if(!isObject(e))return e;var a,t;if(r&&typeof(a=e.toString)=="function"&&!isObject(t=a.call(e))||typeof(a=e.valueOf)=="function"&&!isObject(t=a.call(e))||!r&&typeof(a=e.toString)=="function"&&!isObject(t=a.call(e)))return t;throw TypeError("Can't convert object to primitive value")},anObject=_anObject,IE8_DOM_DEFINE=_ie8DomDefine,toPrimitive=_toPrimitive,dP$1=Object.defineProperty;_objectDp.f=require_descriptors()?Object.defineProperty:function(r,a,t){if(anObject(r),a=toPrimitive(a,!0),anObject(t),IE8_DOM_DEFINE)try{return dP$1(r,a,t)}catch{}if("get"in t||"set"in t)throw TypeError("Accessors not supported!");return"value"in t&&(r[a]=t.value),r};var _propertyDesc=function(e,r){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:r}},dP=_objectDp,createDesc=_propertyDesc,_hide=require_descriptors()?function(e,r,a){return dP.f(e,r,createDesc(1,a))}:function(e,r,a){return e[r]=a,e},hasOwnProperty={}.hasOwnProperty,_has=function(e,r){return hasOwnProperty.call(e,r)},global=_global.exports,core=_core.exports,ctx=_ctx,hide=_hide,has=_has,PROTOTYPE="prototype",$export$1=function(e,r,a){var t=e&$export$1.F,i=e&$export$1.G,u=e&$export$1.S,o=e&$export$1.P,c=e&$export$1.B,s=e&$export$1.W,n=i?core:core[r]||(core[r]={}),d=n[PROTOTYPE],p=i?global:u?global[r]:(global[r]||{})[PROTOTYPE],l,v,_;i&&(a=r);for(l in a)v=!t&&p&&p[l]!==void 0,!(v&&has(n,l))&&(_=v?p[l]:a[l],n[l]=i&&typeof p[l]!="function"?a[l]:c&&v?ctx(_,global):s&&p[l]==_?function(f){var h=function(g,y,m){if(this instanceof f){switch(arguments.length){case 0:return new f;case 1:return new f(g);case 2:return new f(g,y)}return new f(g,y,m)}return f.apply(this,arguments)};return h[PROTOTYPE]=f[PROTOTYPE],h}(_):o&&typeof _=="function"?ctx(Function.call,_):_,o&&((n.virtual||(n.virtual={}))[l]=_,e&$export$1.R&&d&&!d[l]&&hide(d,l,_)))};$export$1.F=1,$export$1.G=2,$export$1.S=4,$export$1.P=8,$export$1.B=16,$export$1.W=32,$export$1.U=64,$export$1.R=128;var _export=$export$1,_cof,hasRequired_cof;function require_cof(){if(hasRequired_cof)return _cof;hasRequired_cof=1;var e={}.toString;return _cof=function(r){return e.call(r).slice(8,-1)},_cof}var _iobject,hasRequired_iobject;function require_iobject(){if(hasRequired_iobject)return _iobject;hasRequired_iobject=1;var e=require_cof();return _iobject=Object("z").propertyIsEnumerable(0)?Object:function(r){return e(r)=="String"?r.split(""):Object(r)},_iobject}var _defined,hasRequired_defined;function require_defined(){return hasRequired_defined||(hasRequired_defined=1,_defined=function(e){if(e==null)throw TypeError("Can't call method on "+e);return e}),_defined}var _toIobject,hasRequired_toIobject;function require_toIobject(){if(hasRequired_toIobject)return _toIobject;hasRequired_toIobject=1;var e=require_iobject(),r=require_defined();return _toIobject=function(a){return e(r(a))},_toIobject}var _toInteger,hasRequired_toInteger;function require_toInteger(){if(hasRequired_toInteger)return _toInteger;hasRequired_toInteger=1;var e=Math.ceil,r=Math.floor;return _toInteger=function(a){return isNaN(a=+a)?0:(a>0?r:e)(a)},_toInteger}var _toLength,hasRequired_toLength;function require_toLength(){if(hasRequired_toLength)return _toLength;hasRequired_toLength=1;var e=require_toInteger(),r=Math.min;return _toLength=function(a){return a>0?r(e(a),9007199254740991):0},_toLength}var _toAbsoluteIndex,hasRequired_toAbsoluteIndex;function require_toAbsoluteIndex(){if(hasRequired_toAbsoluteIndex)return _toAbsoluteIndex;hasRequired_toAbsoluteIndex=1;var e=require_toInteger(),r=Math.max,a=Math.min;return _toAbsoluteIndex=function(t,i){return t=e(t),t<0?r(t+i,0):a(t,i)},_toAbsoluteIndex}var _arrayIncludes,hasRequired_arrayIncludes;function require_arrayIncludes(){if(hasRequired_arrayIncludes)return _arrayIncludes;hasRequired_arrayIncludes=1;var e=require_toIobject(),r=require_toLength(),a=require_toAbsoluteIndex();return _arrayIncludes=function(t){return function(i,u,o){var c=e(i),s=r(c.length),n=a(o,s),d;if(t&&u!=u){for(;s>n;)if(d=c[n++],d!=d)return!0}else for(;s>n;n++)if((t||n in c)&&c[n]===u)return t||n||0;return!t&&-1}},_arrayIncludes}var _shared={exports:{}},_library,hasRequired_library;function require_library(){return hasRequired_library||(hasRequired_library=1,_library=!0),_library}var hasRequired_shared;function require_shared(){if(hasRequired_shared)return _shared.exports;hasRequired_shared=1;var e=_core.exports,r=_global.exports,a="__core-js_shared__",t=r[a]||(r[a]={});return(_shared.exports=function(i,u){return t[i]||(t[i]=u!==void 0?u:{})})("versions",[]).push({version:e.version,mode:require_library()?"pure":"global",copyright:"\xA9 2020 Denis Pushkarev (zloirock.ru)"}),_shared.exports}var _uid,hasRequired_uid;function require_uid(){if(hasRequired_uid)return _uid;hasRequired_uid=1;var e=0,r=Math.random();return _uid=function(a){return"Symbol(".concat(a===void 0?"":a,")_",(++e+r).toString(36))},_uid}var _sharedKey,hasRequired_sharedKey;function require_sharedKey(){if(hasRequired_sharedKey)return _sharedKey;hasRequired_sharedKey=1;var e=require_shared()("keys"),r=require_uid();return _sharedKey=function(a){return e[a]||(e[a]=r(a))},_sharedKey}var _objectKeysInternal,hasRequired_objectKeysInternal;function require_objectKeysInternal(){if(hasRequired_objectKeysInternal)return _objectKeysInternal;hasRequired_objectKeysInternal=1;var e=_has,r=require_toIobject(),a=require_arrayIncludes()(!1),t=require_sharedKey()("IE_PROTO");return _objectKeysInternal=function(i,u){var o=r(i),c=0,s=[],n;for(n in o)n!=t&&e(o,n)&&s.push(n);for(;u.length>c;)e(o,n=u[c++])&&(~a(s,n)||s.push(n));return s},_objectKeysInternal}var _enumBugKeys,hasRequired_enumBugKeys;function require_enumBugKeys(){return hasRequired_enumBugKeys||(hasRequired_enumBugKeys=1,_enumBugKeys="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")),_enumBugKeys}var _objectKeys,hasRequired_objectKeys;function require_objectKeys(){if(hasRequired_objectKeys)return _objectKeys;hasRequired_objectKeys=1;var e=require_objectKeysInternal(),r=require_enumBugKeys();return _objectKeys=Object.keys||function(t){return e(t,r)},_objectKeys}var _objectGops={},hasRequired_objectGops;function require_objectGops(){return hasRequired_objectGops||(hasRequired_objectGops=1,_objectGops.f=Object.getOwnPropertySymbols),_objectGops}var _objectPie={},hasRequired_objectPie;function require_objectPie(){return hasRequired_objectPie||(hasRequired_objectPie=1,_objectPie.f={}.propertyIsEnumerable),_objectPie}var _toObject,hasRequired_toObject;function require_toObject(){if(hasRequired_toObject)return _toObject;hasRequired_toObject=1;var e=require_defined();return _toObject=function(r){return Object(e(r))},_toObject}var _objectAssign,hasRequired_objectAssign;function require_objectAssign(){if(hasRequired_objectAssign)return _objectAssign;hasRequired_objectAssign=1;var e=require_descriptors(),r=require_objectKeys(),a=require_objectGops(),t=require_objectPie(),i=require_toObject(),u=require_iobject(),o=Object.assign;return _objectAssign=!o||require_fails()(function(){var c={},s={},n=Symbol(),d="abcdefghijklmnopqrst";return c[n]=7,d.split("").forEach(function(p){s[p]=p}),o({},c)[n]!=7||Object.keys(o({},s)).join("")!=d})?function(s,n){for(var d=i(s),p=arguments.length,l=1,v=a.f,_=t.f;p>l;)for(var f=u(arguments[l++]),h=v?r(f).concat(v(f)):r(f),g=h.length,y=0,m;g>y;)m=h[y++],(!e||_.call(f,m))&&(d[m]=f[m]);return d}:o,_objectAssign}var $export=_export;$export($export.S+$export.F,"Object",{assign:require_objectAssign()});var assign=_core.exports.Object.assign;(function(e){e.exports={default:assign,__esModule:!0}})(assign$1);var _assign=assign$1.exports,_assign2=_interopRequireDefault(_assign);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=_assign2.default||function(e){for(var r=1;r{this.$set(form,value.name,e)}}});switch(uiType){case WidgetType.SELECT:inputElement=vue.h("a-select",{model:{value:form[value.name],callback:e=>{this.$set(form,value.name,e)}}},[value.config.option.map(e=>vue.h("a-select-option",{attrs:{value:e.value}},[e.text]))]);break;case WidgetType.MULTI_SELECT:inputElement=vue.h("a-select",{attrs:{mode:"multiple"},model:{value:form[value.name],callback:e=>{this.$set(form,value.name,e)}}},[value.config.option.map(e=>vue.h("a-select-option",{attrs:{value:e.value}},[e.text]))]);break;case WidgetType.CHECKBOX:inputElement=vue.h("a-checkbox-group",{model:{value:form[value.name],callback:e=>{this.$set(form,value.name,e)}}},[value.config.option.map(e=>vue.h("a-checkbox",{attrs:{value:e.value}},[e.text]))]);break;case WidgetType.DATE:inputElement=vue.h("a-date-picker",{attrs:{type:"date",showTime:!0,valueFormat:config.content||"YYYY-MM-DD HH:mm:ss",format:config.content||"YYYY-MM-DD HH:mm:ss"},on:{change:e=>form[value.name]=e}});break;case WidgetType.TEXT_AREA:inputElement=vue.h("a-textarea",{attrs:{rows:4,maxLength:config.maxLength},model:{value:form[value.name],callback:e=>{this.$set(form,value.name,e)}}});break}return uiType!==WidgetType.INPUT&&uiType!==WidgetType.TEXT_AREA&&(verbText="\u8BF7\u9009\u62E9",ruleTrigger="change"),value.required&&rules.push({required:!0,message:verbText+value.title,trigger:ruleTrigger}),value.regExp&&rules.push({validator:(rule,val,callback)=>{try{const reg=eval(value.regExp);reg.test(val)?callback():callback(new Error("\u5185\u5BB9\u683C\u5F0F\u9519\u8BEF"))}catch(e){console.warn(e),callback(new Error("\u5185\u5BB9\u683C\u5F0F\u9519\u8BEF"))}},trigger:ruleTrigger}),vue.h("a-form-model-item",{attrs:{label:value.title,prop:value.name,required:value.required,help:value.description,rules}},[inputElement])}},DynamicForm={name:"DynamicForm",components:{DynamicFormItem},props:{paras:Array,form:Object},data(){return{labelCol:{span:4},wrapperCol:{span:14}}},render(){return vue.h("a-form-model",helper([{ref:"form"},{props:{model:this.form}},{attrs:{labelCol:this.labelCol,wrapperCol:this.wrapperCol}}]),[this.paras.map(e=>vue.h(DynamicFormItem,{attrs:{value:e,form:this.form}}))])}},StaticForm={name:"StaticForm",props:{form:Object},data(){return{labelCol:{span:4},wrapperCol:{span:14}}},render(){return vue.h("a-form-model",helper([{ref:"form"},{props:{model:this.form}},{attrs:{labelCol:this.labelCol,wrapperCol:this.wrapperCol}}]),[vue.h("a-form-model-item",{attrs:{label:"\u5355\u884C\u6587\u672C",prop:"inputType",required:!0,help:"\u5355\u884C\u6587\u672C\u6D4B\u8BD5",rules:[{required:!0,message:"\u8BF7\u8F93\u5165\u5355\u884C\u6587\u672C",trigger:"blur"}]}},[vue.h("a-input",{attrs:{placeholder:"\u8BF7\u8F93\u5165"},model:{value:this.form.inputType,callback:e=>{this.$set(this.form,"inputType",e)}}})])])}},CustomForm={extraParas,name:"CustomForm",components:{DynamicForm,StaticForm},props:{value:Array},data(){return{form:{},labelCol:{span:4},wrapperCol:{span:14}}},methods:{async submit(){return new Promise((e,r)=>{this.$refs.dynamic.$refs.form.validate(a=>{a?e({...this.form}):r("\u8868\u5355\u6821\u9A8C\u5931\u8D25")})})}},mounted(){const r=(this.value||[]).reduce((a,t)=>(a[t.name]=t.defaultValue,a),{});extraParas.forEach(({name:a,defaultValue:t,config:i={}})=>{let u=a in r?r[a]:t;if(i.type==="MultiSelect"||i.type==="CheckBox"){let o=[];try{o=JSON.parse(u)}catch{}this.$set(this.form,a,o)}else this.$set(this.form,a,u)})},render(){return vue.h("a-config-provider",{attrs:{locale:zhCN}},[vue.h("div",{class:styles.customForm},[vue.h(DynamicForm,{attrs:{paras:extraParas,form:this.form},ref:"dynamic"})])])}};return CustomForm});