@form-create/element-ui
Version:
Element Plus 版本低代码表单 | FormCreate 是一个可以通过 JSON 生成具有动态渲染、数据收集、验证和提交功能的低代码表单生成组件。支持多个 UI 框架,适配移动端,并且支持生成任何 Vue 组件。内置 20 种常用表单组件和自定义组件,再复杂的表单都可以轻松搞定。
15 lines • 151 kB
JavaScript
/*!
* FormCreate 低代码表单渲染器
* @form-create/element-ui v3.3.6
* (c) 2018-2026 xaboy
* Github https://github.com/xaboy/form-create
* Site https://form-create.com/
* Released under the MIT License.
*/
(function(){"use strict";try{if(typeof document!="undefined"){var r=document.createElement("style");r.appendChild(document.createTextNode('._fc-frame ._fc-files img{width:100%;height:100%;display:inline-block;vertical-align:top}._fc-frame ._fc-upload-btn{border:1px dashed #c0ccda;cursor:pointer}._fc-frame._fc-disabled ._fc-upload-btn,._fc-frame._fc-disabled .el-button{cursor:not-allowed!important;color:#999}._fc-frame ._fc-upload-cover{opacity:0;position:absolute;inset:0;background:#0009;-webkit-transition:opacity .3s;-o-transition:opacity .3s;transition:opacity .3s}._fc-frame ._fc-upload-cover i{color:#fff;font-size:20px;cursor:pointer;margin:0 2px}._fc-frame ._fc-files:hover ._fc-upload-cover{opacity:1}._fc-frame .el-upload{display:block}._fc-frame ._fc-upload-icon{cursor:pointer}._fc-frame ._fc-upload-btn,._fc-files{display:inline-block;width:58px;height:58px;text-align:center;line-height:58px;border:1px solid #c0ccda;border-radius:4px;overflow:hidden;background:#fff;position:relative;-webkit-box-shadow:2px 2px 5px rgba(0,0,0,.1);box-shadow:2px 2px 5px #0000001a;margin-right:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tree[aria-disabled=true]{pointer-events:none}.el-tree[aria-disabled=true] .el-checkbox,.el-tree[aria-disabled=true] .el-checkbox__input,.el-tree[aria-disabled=true] .el-checkbox__inner{pointer-events:auto;cursor:not-allowed}._fc-upload{width:100%}._fc-exceed .el-upload{display:none}.el-upload-list.is-disabled .el-upload{cursor:not-allowed!important}._fc-group{display:flex;min-height:38px;justify-content:center;flex-direction:column;width:100%}._fc-group-disabled ._fc-group-btn,._fc-group-disabled ._fc-group-add{cursor:not-allowed}._fc-group-handle{display:flex;flex-direction:row;position:absolute;bottom:-15px;right:30px;border-radius:15px;border:1px dashed #d9d9d9;padding:3px 8px;background-color:#fff}._fc-group-btn{cursor:pointer}._fc-group-idx._fc-group-drag{cursor:grab;width:auto;min-width:30px;padding:0 8px;gap:4px;user-select:none}._fc-group-idx._fc-group-drag:active{cursor:grabbing}._fc-group-grip{flex-shrink:0;color:#666;font-weight:500;line-height:1;font-size:14px}._fc-group-dragging{opacity:.55}._fc-group-idx{position:absolute;bottom:-15px;left:10px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#eee;border-radius:15px;font-weight:500}._fc-group-handle ._fc-group-btn+._fc-group-btn{margin-left:7px}._fc-group-container{position:relative;display:flex;flex-direction:column;border:1px dashed #d9d9d9;border-radius:5px;margin:5px 5px 25px;padding:20px 20px 25px}._fc-group-plus-minus{width:20px;height:20px;position:relative;cursor:pointer}._fc-group-plus-minus:before,._fc-group-plus-minus:after{content:"";position:absolute;top:50%;left:50%;width:60%;height:2px;background-color:#409eff;transform:translate(-50%,-50%)}._fc-group-plus-minus:before{transform:translate(-50%,-50%) rotate(90deg)}._fc-group-plus-minus._fc-group-minus:before{display:none}._fc-group-plus-minus._fc-group-minus:after{background-color:#f56c6c}._fc-group-add{cursor:pointer;width:25px;height:25px;border:1px solid rgb(64 158 255 / 50%);border-radius:15px}._fc-group-add._fc-group-plus-minus:before,._fc-group-add._fc-group-plus-minus:after{width:50%}._fc-group._fc-group-card{display:flex;flex-direction:column;width:100%;gap:16px}._fc-group._fc-group-card._fc-group-disabled ._fc-group-btn,._fc-group._fc-group-card._fc-group-disabled ._fc-group-add{cursor:not-allowed;opacity:.5}._fc-group._fc-group-card ._fc-group-container{position:relative;background:#fff;border:1px solid #f0f0f0;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;padding:0;margin:0}._fc-group._fc-group-card ._fc-group-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #f0f0f0;background:#fafafa}._fc-group._fc-group-card ._fc-group-idx{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#f0f0f0;color:#666;border-radius:6px;font-size:12px;font-weight:500;margin-right:12px;flex-shrink:0;position:static;border:1px solid #e0e0e0}._fc-group._fc-group-card ._fc-group-title{flex:1;font-size:14px;font-weight:500;color:#000000d9;line-height:1.5715}._fc-group._fc-group-card ._fc-group-handle{display:flex;align-items:center;gap:4px;margin-left:12px;flex-shrink:0;position:static;bottom:auto;right:auto;border-radius:0;border:none;padding:0;background-color:transparent;flex-direction:row}._fc-group._fc-group-card ._fc-group-idx._fc-group-drag{width:auto;min-width:24px;height:24px;padding:0 6px;gap:3px;cursor:grab}._fc-group._fc-group-card ._fc-group-drag-btn{cursor:grab;margin-right:8px;flex-shrink:0;color:#00000073;font-size:18px;font-weight:500;line-height:1;letter-spacing:-1px;user-select:none}._fc-group._fc-group-card ._fc-group-drag-btn:active{cursor:grabbing}._fc-group._fc-group-card ._fc-group-btn{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;border:1px solid #d9d9d9;background:#fff;color:#00000073;position:relative}._fc-group._fc-group-card ._fc-group-btn:hover{color:#1890ff;border-color:#1890ff;background:#f0f8ff}._fc-group._fc-group-card ._fc-group-btn:active{color:#096dd9;border-color:#096dd9}._fc-group._fc-group-card ._fc-group-plus-minus{position:relative;background:#409eff;border-color:#409eff;color:#fff;width:24px;height:24px}._fc-group._fc-group-card ._fc-group-plus-minus:hover{background:#66b1ff;border-color:#66b1ff;color:#fff}._fc-group._fc-group-card ._fc-group-plus-minus:before,._fc-group._fc-group-card ._fc-group-plus-minus:after{content:"";position:absolute;top:50%;left:50%;background-color:currentColor;transform:translate(-50%,-50%)}._fc-group._fc-group-card ._fc-group-plus-minus:before{transform:translate(-50%,-50%) rotate(90deg)}._fc-group._fc-group-card ._fc-group-plus-minus._fc-group-minus{background:#f56c6c;border-color:#f56c6c}._fc-group._fc-group-card ._fc-group-plus-minus._fc-group-minus:hover{background:#f78989;border-color:#f78989}._fc-group._fc-group-card ._fc-group-plus-minus._fc-group-minus:before{display:none}._fc-group._fc-group-card ._fc-group-content{padding:20px}._fc-group._fc-group-card ._fc-group-add{cursor:pointer;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;border:1px solid #d9d9d9;background:#fff;color:#00000073;position:relative}._fc-group._fc-group-card ._fc-group-add:hover{color:#409eff;border-color:#409eff;background:#f0f8ff}._fc-group._fc-group-card ._fc-group-add._fc-group-plus-minus{width:24px;height:24px;background:#409eff;border-color:#409eff;color:#fff}._fc-group._fc-group-card ._fc-group-add._fc-group-plus-minus:hover{background:#66b1ff;border-color:#66b1ff;color:#fff}._fc-group._fc-group-card ._fc-group-add._fc-group-plus-minus:before,._fc-group._fc-group-card ._fc-group-add._fc-group-plus-minus:after{content:"";position:absolute;top:50%;left:50%;background-color:currentColor;transform:translate(-50%,-50%)}._fc-group._fc-group-card ._fc-group-add._fc-group-plus-minus:before{transform:translate(-50%,-50%) rotate(90deg)}._fc-group-container._fc-group-drag-over,._fc-group._fc-group-card ._fc-group-container._fc-group-drag-over{border-color:#409eff}@media (max-width: 768px){._fc-group._fc-group-card ._fc-group-container{margin:0 -8px;border-radius:0;border-left:none;border-right:none}._fc-group._fc-group-card ._fc-group-header{padding:12px 16px 8px}._fc-group._fc-group-card ._fc-group-content{padding:16px}._fc-group._fc-group-card ._fc-group-handle{gap:2px}._fc-group._fc-group-card ._fc-group-btn{width:22px;height:22px}}.form-create .form-create .el-form-item{margin-bottom:22px}.form-create{width:100%}.form-create.is-preview .fc-clock,.form-create .fc-none,.form-create.is-preview .el-form-item.is-required>.el-form-item__label-wrap>.el-form-item__label:before,.form-create.is-preview .el-form-item.is-required>.el-form-item__label:before{display:none!important}.fc-wrap-right>.el-form-item__label{display:flex;justify-content:flex-end}.fc-wrap-left>.el-form-item__label{display:flex;justify-content:flex-start}.fc-wrap-top.el-form-item{display:block}.fc-wrap-top.el-form-item>.el-form-item__label{display:block;height:auto;line-height:22px;margin-bottom:8px;text-align:left;float:unset}.el-form--large .fc-wrap-top.el-form-item>.el-form-item__label{line-height:22px;margin-bottom:12px}.el-form--default .fc-wrap-top.el-form-item>.el-form-item__label{line-height:22px;margin-bottom:8px}.el-form--small .fc-wrap-top.el-form-item>.el-form-item__label{line-height:20px;margin-bottom:4px}.fc-form-footer{margin-top:12px}.form-create.is-numbered{counter-reset:q}.form-create.is-numbered .fc-form-title{counter-increment:q}.form-create.is-numbered .fc-form-title:before{content:counter(q) ". ";color:var(--fc-number-color, inherit);font-weight:600}.form-create.is-numbered.is-number-chinese .fc-form-title:before{content:counter(q,simp-chinese-informal) "、"}')),document.head.appendChild(r)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
(function(ee,c){typeof exports=="object"&&typeof module!="undefined"?c(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],c):(ee=typeof globalThis!="undefined"?globalThis:ee||self,c(ee.formCreate={},ee.Vue))})(this,function(ee,c){"use strict";var Pi=Object.defineProperty,Ti=Object.defineProperties;var Bi=Object.getOwnPropertyDescriptors;var fr=Object.getOwnPropertySymbols;var Li=Object.prototype.hasOwnProperty,xi=Object.prototype.propertyIsEnumerable;var dr=(ee,c,oe)=>c in ee?Pi(ee,c,{enumerable:!0,configurable:!0,writable:!0,value:oe}):ee[c]=oe,v=(ee,c)=>{for(var oe in c||(c={}))Li.call(c,oe)&&dr(ee,oe,c[oe]);if(fr)for(var oe of fr(c))xi.call(c,oe)&&dr(ee,oe,c[oe]);return ee},fe=(ee,c)=>Ti(ee,Bi(c));function oe(t,e){return Object.keys(t).reduce((r,n)=>((!e||e.indexOf(n)===-1)&&(r[n]=t[n]),r),{})}function ae(t){return Array.isArray(t)?t:[null,void 0,""].indexOf(t)>-1?[]:[t]}const hr=c.defineComponent({name:"fcCheckbox",inheritAttrs:!1,props:{formCreateInject:Object,modelValue:{type:Array,default:()=>[]},type:String,options:Array,input:Boolean,inputValue:String},emits:["update:modelValue","fc.el"],setup(t,e){const r=c.toRef(t.formCreateInject,"options",[]),n=c.toRef(t,"options"),o=c.toRef(t,"modelValue"),i=c.toRef(t,"inputValue",""),s=c.ref(i.value),a=c.toRef(t,"input",!1),l=d=>{const p=[...ae(o.value)],m=p.indexOf(s.value);s.value=d,m>-1&&(p.splice(m,1),p.push(d),f(p))};c.watch(i,d=>{if(!a.value){s.value=d;return}l(d)});const u=c.computed(()=>{let d=r.value||[];return n.value&&(d=n.value||[]),Array.isArray(d)?d:[]});c.watch(o,d=>{let p=null;if(!i.value&&d!=null&&Array.isArray(d)&&d.length>0&&a.value){const m=u.value.map($=>$.value);d.forEach($=>{m.indexOf($)===-1&&(p=$)})}p!=null&&(s.value=p)},{immediate:!0});const f=d=>{e.emit("update:modelValue",d)};return{options:u,value:o,onInput:f,updateCustomValue:l,makeInput(d){if(a.value)return c.createVNode(d,{value:s.value||void 0,label:s.value||void 0},{default:()=>[c.createVNode(c.resolveComponent("ElInput"),{size:"small",modelValue:s.value,"onUpdate:modelValue":l},null)]})}}},render(){const t=this.type==="button"?"ElCheckboxButton":"ElCheckbox",e=c.resolveComponent(t);return c.createVNode(c.resolveComponent("ElCheckboxGroup"),c.mergeProps(this.$attrs,{modelValue:this.value===null?void 0:this.value,"onUpdate:modelValue":this.onInput,ref:"el"}),v({default:()=>{var r,n;return[this.options.map((o,i)=>{const s=v({},o),a=s.value,l=s.label;return delete s.value,delete s.label,c.createVNode(e,c.mergeProps(s,{label:a,value:a,key:t+i+"-"+a}),{default:()=>[l||a||""]})}),(n=(r=this.$slots).default)==null?void 0:n.call(r),this.makeInput(e)]}},oe(this.$slots,["default"])))},mounted(){this.$emit("fc.el",this.$refs.el)}});function $t(t){t=t||new Map;const e={$on(r,n){const o=t.get(r);o&&o.push(n)||t.set(r,[n])},$once(r,n){n._once=!0,e.$on(r,n)},$off(r,n){const o=t.get(r);o&&o.splice(o.indexOf(n)>>>0,1)},$emit(r,...n){(t.get(r)||[]).slice().map(o=>{o._once&&(e.$off(r,o),delete o._once),o(...n)}),(t.get("*")||[]).slice().map(o=>{o(r,n)})}};return e}const Se=(t,e)=>{const r=t.__vccOpts||t;for(const[n,o]of e)r[n]=o;return r},pr={name:"IconCircleClose"},mr={class:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"};function gr(t,e,r,n,o,i){return c.openBlock(),c.createElementBlock("svg",mr,[...e[0]||(e[0]=[c.createElementVNode("path",{fill:"currentColor",d:"M466.752 512l-90.496-90.496a32 32 0 0145.248-45.248L512 466.752l90.496-90.496a32 32 0 1145.248 45.248L557.248 512l90.496 90.496a32 32 0 11-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 01-45.248-45.248L466.752 512z"},null,-1),c.createElementVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 100-768 384 384 0 000 768zm0 64a448 448 0 110-896 448 448 0 010 896z"},null,-1)])])}const yr=Se(pr,[["render",gr]]),$r={name:"IconDocument"},br={class:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"};function _r(t,e,r,n,o,i){return c.openBlock(),c.createElementBlock("svg",br,[...e[0]||(e[0]=[c.createElementVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 01-32 32H160a32 32 0 01-32-32V96a32 32 0 0132-32zm160 448h384v64H320v-64zm0-192h160v64H320v-64zm0 384h384v64H320v-64z"},null,-1)])])}const wr=Se($r,[["render",_r]]),Cr={name:"IconDelete"},Or={class:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"};function Vr(t,e,r,n,o,i){return c.openBlock(),c.createElementBlock("svg",Or,[...e[0]||(e[0]=[c.createElementVNode("path",{fill:"currentColor",d:"M160 256H96a32 32 0 010-64h256V95.936a32 32 0 0132-32h256a32 32 0 0132 32V192h256a32 32 0 110 64h-64v672a32 32 0 01-32 32H192a32 32 0 01-32-32V256zm448-64v-64H416v64h192zM224 896h576V256H224v640zm192-128a32 32 0 01-32-32V416a32 32 0 0164 0v320a32 32 0 01-32 32zm192 0a32 32 0 01-32-32V416a32 32 0 0164 0v320a32 32 0 01-32 32z"},null,-1)])])}const vr=Se(Cr,[["render",Vr]]),Sr={name:"IconView"},kr={class:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"};function Dr(t,e,r,n,o,i){return c.openBlock(),c.createElementBlock("svg",kr,[...e[0]||(e[0]=[c.createElementVNode("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352zm0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 110 448 224 224 0 010-448zm0 64a160.192 160.192 0 00-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160z"},null,-1)])])}const Er=Se(Sr,[["render",Dr]]),Fr={name:"IconFolderOpened"},Rr={class:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"};function Ar(t,e,r,n,o,i){return c.openBlock(),c.createElementBlock("svg",Rr,[...e[0]||(e[0]=[c.createElementVNode("path",{fill:"currentColor",d:"M878.08 448H241.92l-96 384h636.16l96-384zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 01216.96 384H832zm-24.96 512H96a32 32 0 01-32-32V160a32 32 0 0132-32h287.872l128.384 128H864a32 32 0 0132 32v96h23.04a32 32 0 0131.04 39.744l-112 448A32 32 0 01807.04 896z"},null,-1)])])}const Mr=Se(Fr,[["render",Ar]]),jr=c.defineComponent({name:"fcFrame",props:{type:{type:String,default:"input"},field:String,helper:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},src:{type:String,required:!0},icon:{type:String,default:"IconFolderOpened"},width:{type:String,default:"500px"},height:{type:String,default:"370px"},maxLength:{type:Number,default:0},okBtnText:{type:String,default:""},closeBtnText:{type:String,default:""},modalTitle:String,handleIcon:{type:[String,Boolean],default:void 0},title:String,allowRemove:{type:Boolean,default:!0},onOpen:{type:Function,default:()=>{}},onOk:{type:Function,default:()=>{}},onCancel:{type:Function,default:()=>{}},onLoad:{type:Function,default:()=>{}},onBeforeRemove:{type:Function,default:()=>{}},onRemove:{type:Function,default:()=>{}},onHandle:Function,modal:{type:Object,default:()=>({})},srcKey:[String,Number],modelValue:[Array,String,Number,Object],previewMask:void 0,footer:{type:Boolean,default:!0},reload:{type:Boolean,default:!0},closeBtn:{type:Boolean,default:!0},okBtn:{type:Boolean,default:!0},formCreateInject:Object},emits:["update:modelValue","change"],components:{IconFolderOpened:Mr,IconView:Er},data(){return{fileList:ae(this.modelValue),previewVisible:!1,frameVisible:!1,previewImage:"",bus:new $t}},watch:{modelValue(t){this.fileList=ae(t)}},methods:{close(){this.closeModel(!0)},closeModel(t){this.bus.$emit(t?"$close":"$ok"),this.reload&&(this.bus.$off("$ok"),this.bus.$off("$close")),this.frameVisible=!1},handleCancel(){this.previewVisible=!1},showModel(){this.disabled||this.onOpen()===!1||(this.frameVisible=!0)},input(){const t=this.fileList,e=this.maxLength===1?t[0]||"":t;this.$emit("update:modelValue",e),this.$emit("change",e)},makeInput(){return c.createVNode(c.resolveComponent("ElInput"),c.mergeProps({type:"text",modelValue:this.fileList.map(t=>this.getSrc(t)).toString(),readonly:!0},{key:1}),{append:()=>c.createVNode(c.resolveComponent("ElButton"),{icon:c.resolveComponent(this.icon),onClick:()=>this.showModel()},null),suffix:()=>this.fileList.length&&!this.disabled?c.createVNode(c.resolveComponent("ElIcon"),{class:"el-input__icon _fc-upload-icon",onClick:()=>{this.fileList=[],this.input()}},{default:()=>[c.createVNode(yr,null,null)]}):null})},makeGroup(t){return(!this.maxLength||this.fileList.length<this.maxLength)&&t.push(this.makeBtn()),c.createVNode("div",{key:2},[t])},makeItem(t,e){return c.createVNode("div",{class:"_fc-files",key:"3"+t},[e])},valid(t){const e=this.formCreateInject.field||this.field;if(e&&t!==e)throw new Error("[frame]无效的字段值")},makeIcons(t,e){if(this.handleIcon!==!1||this.allowRemove===!0){const r=[];return(this.type!=="file"&&this.handleIcon!==!1||this.type==="file"&&this.handleIcon)&&r.push(this.makeHandleIcon(t,e)),this.allowRemove&&r.push(this.makeRemoveIcon(t,e)),c.createVNode("div",{class:"_fc-upload-cover",key:4},[r])}},makeHandleIcon(t,e){const r=c.resolveComponent(this.handleIcon===!0||this.handleIcon===void 0?"icon-view":this.handleIcon);return c.createVNode(c.resolveComponent("ElIcon"),{onClick:()=>this.handleClick(t),key:"5"+e},{default:()=>[c.createVNode(r,null,null)]})},makeRemoveIcon(t,e){return c.createVNode(c.resolveComponent("ElIcon"),{onClick:()=>this.handleRemove(t),key:"6"+e},{default:()=>[c.createVNode(vr,null,null)]})},makeFiles(){return this.makeGroup(this.fileList.map((t,e)=>this.makeItem(e,[c.createVNode(c.resolveComponent("ElIcon"),{onClick:()=>this.handleClick(t)},{default:()=>[c.createVNode(wr,null,null)]}),this.makeIcons(t,e)])))},makeImages(){return this.makeGroup(this.fileList.map((t,e)=>this.makeItem(e,[c.createVNode("img",{src:this.getSrc(t)},null),this.makeIcons(t,e)])))},makeBtn(){const t=c.resolveComponent(this.icon);return c.createVNode("div",{class:"_fc-upload-btn",onClick:()=>this.showModel(),key:7},[c.createVNode(c.resolveComponent("ElIcon"),null,{default:()=>[c.createVNode(t,null,null)]})])},handleClick(t){if(this.onHandle)return this.onHandle(t);this.previewImage=this.getSrc(t),this.previewVisible=!0},handleRemove(t){this.disabled||this.onBeforeRemove(t)!==!1&&(this.fileList.splice(this.fileList.indexOf(t),1),this.input(),this.onRemove(t))},getSrc(t){return this.srcKey?t[this.srcKey]:t},onFrameLoad(t){this.frameLoad(t.target.contentWindow||{})},frameLoad(t){this.onLoad(t);try{this.helper===!0&&(t.form_create_helper={api:this.formCreateInject.api,close:e=>{this.valid(e),this.closeModel()},set:(e,r)=>{this.valid(e),!this.disabled&&this.$emit("update:modelValue",r)},get:e=>(this.valid(e),this.modelValue),onOk:e=>this.bus.$on("$ok",e),onClose:e=>this.bus.$on("$close",e)})}catch(e){console.error(e)}},makeFooter(){const{okBtnText:t,closeBtnText:e,closeBtn:r,okBtn:n,footer:o}=this.$props;if(o)return c.createVNode("div",null,[r?c.createVNode(c.resolveComponent("ElButton"),{onClick:()=>this.onCancel()!==!1&&(this.frameVisible=!1)},{default:()=>[e||this.formCreateInject.t("close")||"关闭"]}):null,n?c.createVNode(c.resolveComponent("ElButton"),{type:"primary",onClick:()=>this.onOk()!==!1&&this.closeModel()},{default:()=>[t||this.formCreateInject.t("ok")||"确定"]}):null])}},render(){const t=this.type;let e;t==="input"?e=this.makeInput():t==="image"?e=this.makeImages():e=this.makeFiles();const{width:r="30%",height:n,src:o,title:i,modalTitle:s}=this.$props;return c.createVNode("div",{class:{"_fc-frame":!0,"_fc-disabled":this.disabled}},[e,c.createVNode(c.resolveComponent("ElDialog"),{appendToBody:!0,modal:this.previewMask,title:s,modelValue:this.previewVisible,onClose:this.handleCancel},{default:()=>[c.createVNode("img",{style:"width: 100%",src:this.previewImage},null)]}),c.createVNode(c.resolveComponent("ElDialog"),c.mergeProps({appendToBody:!0},v({width:r,title:i},this.modal),{modelValue:this.frameVisible,onClose:()=>this.closeModel(!0)}),{default:()=>[this.frameVisible||!this.reload?c.createVNode("iframe",{ref:"frame",src:o,frameBorder:"0",onLoad:this.onFrameLoad,style:{height:n,border:"0 none",width:"100%"}},null):null],footer:()=>this.makeFooter()})])},beforeMount(){const{name:t,field:e,api:r}=this.formCreateInject;t&&r.on("fc:closeModal:"+t,this.close),e&&r.on("fc:closeModal:"+e,this.close)},beforeUnmount(){const{name:t,field:e,api:r}=this.formCreateInject;t&&r.off("fc:closeModal:"+t,this.close),e&&r.off("fc:closeModal:"+e,this.close)}}),Nr=c.defineComponent({name:"fcRadio",inheritAttrs:!1,props:{formCreateInject:Object,modelValue:{type:[String,Number,Boolean],default:""},options:Array,type:String,input:Boolean,inputValue:String},emits:["update:modelValue","fc.el"],setup(t,e){const r=c.toRef(t.formCreateInject,"options",[]),n=c.toRef(t,"options"),o=c.toRef(t,"modelValue"),i=c.toRef(t,"inputValue",""),s=c.ref(i.value),a=c.toRef(t,"input",!1);c.watch(i,d=>{if(!a.value){s.value=d;return}f(d)});const l=c.computed(()=>{let d=r.value||[];return n.value&&(d=n.value||[]),Array.isArray(d)?d:[]});c.watch(o,d=>{let p=!1;!i.value&&d!=null&&a.value&&(p=l.value.map(m=>m.value).indexOf(d)===-1),p&&(s.value=d)},{immediate:!0});const u=d=>{e.emit("update:modelValue",d)},f=d=>{const p=s.value;s.value=d,o.value===p&&u(d)};return{options:l,value:o,onInput:u,updateCustomValue:f,customValue:s,makeInput(d){if(a.value)return c.createVNode(d,{checked:!1,value:s.value||void 0,label:s.value||void 0},{default:()=>[c.createVNode(c.resolveComponent("ElInput"),{size:"small",modelValue:s.value,"onUpdate:modelValue":f},null)]})}}},render(){const t=this.type==="button"?"ElRadioButton":"ElRadio",e=c.resolveComponent(t);return c.createVNode(c.resolveComponent("ElRadioGroup"),c.mergeProps(this.$attrs,{modelValue:this.value,"onUpdate:modelValue":this.onInput,ref:"el"}),v({default:()=>{var r,n;return[this.options.map((o,i)=>{const s=v({},o),a=s.value,l=s.label;return delete s.value,delete s.label,c.createVNode(e,c.mergeProps(s,{label:a,value:a,key:t+i+"-"+a}),{default:()=>[l||a||""]})}),(n=(r=this.$slots).default)==null?void 0:n.call(r),this.makeInput(e)]}},oe(this.$slots,["default"])))},mounted(){this.$emit("fc.el",this.$refs.el)}}),g={type(t,e){return Object.prototype.toString.call(t)==="[object "+e+"]"},Undef(t){return t==null},Element(t){return typeof t=="object"&&t!==null&&t.nodeType===1&&!g.Object(t)},trueArray(t){return Array.isArray(t)&&t.length>0},Function(t){const e=this.getType(t);return e==="Function"||e==="AsyncFunction"},getType(t){const e=Object.prototype.toString.call(t);return/^\[object (.*)\]$/.exec(e)[1]},empty(t){return t==null||Array.isArray(t)&&Array.isArray(t)&&!t.length?!0:typeof t=="string"&&!t}};["Date","Object","String","Boolean","Array","Number"].forEach(t=>{g[t]=function(e){return g.type(e,t)}});function z(t,e){return{}.hasOwnProperty.call(t,e)}const Ir=c.defineComponent({name:"fcSelect",inheritAttrs:!1,props:{formCreateInject:Object,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},type:String},emits:["update:modelValue","fc.el"],setup(t,{emit:e}){const r=c.toRef(t.formCreateInject,"options",[]),n=c.toRef(t,"modelValue");return{options:c.computed(()=>Array.isArray(r.value)?r.value:[]),value:n,handleUpdate:s=>{e("update:modelValue",s)},hasProperty:z,is:g}},mounted(){this.$emit("fc.el",this.$refs.el)}});function Pr(t,e,r,n,o,i){const s=c.resolveComponent("el-option"),a=c.resolveComponent("el-option-group"),l=c.resolveComponent("el-select");return c.openBlock(),c.createBlock(l,c.mergeProps(t.$attrs,{"model-value":t.value,"onUpdate:modelValue":t.handleUpdate,ref:"el"}),{default:c.withCtx(()=>[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(t.options,(u,f)=>(c.openBlock(),c.createElementBlock(c.Fragment,null,[t.hasProperty(u,"options")?(c.openBlock(),c.createBlock(a,{label:u.label,key:`${f}-${u.label}`},{default:c.withCtx(()=>[(c.openBlock(!0),c.createElementBlock(c.Fragment,null,c.renderList(t.is.trueArray(u.options)?u.options:[],(d,p)=>(c.openBlock(),c.createBlock(s,c.mergeProps({key:`${p}-${d.value}`},{ref_for:!0},d),null,16))),128))]),_:2},1032,["label"])):(c.openBlock(),c.createBlock(s,c.mergeProps({key:`${f}-${u.value}`},{ref_for:!0},u),null,16))],64))),256)),c.renderSlot(t.$slots,"default")]),_:3},16,["model-value","onUpdate:modelValue"])}const Tr=Se(Ir,[["render",Pr]]),Br=c.defineComponent({name:"fcTree",inheritAttrs:!1,formCreateParser:{mergeProp(t){const e=t.prop.props;e.nodeKey||(e.nodeKey="id"),e.props||(e.props={label:"title"})}},props:{type:String,disabled:Boolean,modelValue:{type:[Array,String,Number],default:()=>[]}},emits:["update:modelValue","fc.el"],watch:{modelValue(){this.setValue()}},methods:{updateValue(){if(this.disabled){this.setValue();return}if(!this.$refs.tree)return;let t;this.type==="selected"?t=this.$refs.tree.getCurrentKey():t=this.$refs.tree.getCheckedKeys(),this.$emit("update:modelValue",t)},setValue(){if(!this.$refs.tree)return;this.type==="selected"?this.$refs.tree.setCurrentKey(this.modelValue):this.$refs.tree.setCheckedKeys(ae(this.modelValue))},onClickCapture(t){this.disabled&&t.target.closest&&t.target.closest(".el-checkbox")&&(t.preventDefault(),t.stopPropagation())}},render(){const t=v({},this.$attrs);return this.disabled&&(t.draggable=!1),c.createVNode(c.resolveComponent("ElTree"),c.mergeProps(t,{ref:"tree","aria-disabled":this.disabled||void 0,onClickCapture:this.onClickCapture,onCheck:this.updateValue,onNodeClick:this.updateValue}),this.$slots)},mounted(){this.setValue(),this.$emit("fc.el",this.$refs.tree)}}),Lr={name:"IconUpload"},xr={class:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"};function Yr(t,e,r,n,o,i){return c.openBlock(),c.createElementBlock("svg",xr,[...e[0]||(e[0]=[c.createElementVNode("path",{fill:"currentColor",d:"M160 832h704a32 32 0 110 64H160a32 32 0 110-64zm384-578.304V704h-64V247.296L237.248 490.048 192 444.8 508.8 128l316.8 316.8-45.312 45.248L544 253.696z"},null,-1)])])}const Ur=Se(Lr,[["render",Yr]]);function bt(t,e){return typeof t=="object"?t:{url:t,is_string:!0,name:qr(t),uid:e}}function _t(t){return fe(v({},t),{file:t,value:t})}function qr(t){return(""+t).split("/").pop()}const Hr=c.defineComponent({name:"fcUpload",inheritAttrs:!1,formCreateParser:{toFormValue(t){return ae(t)},toValue(t,e){return e.prop.props.limit===1?t[0]||"":t}},props:{previewMask:void 0,onPreview:Function,httpRequest:Function,modalTitle:String,listType:String,uploadText:String,formCreateInject:Object,modelValue:[Array,String,Object]},emits:["update:modelValue","change","remove","fc.el"],data(){return{previewVisible:!1,previewImage:"",fileList:[]}},created(){this.fileList=ae(this.modelValue).map(bt).map(_t)},watch:{modelValue(t){this.fileList=ae(t).map(bt).map(_t)}},methods:{handlePreview(t){this.onPreview?this.onPreview(...arguments):this.listType==="text"?window.open(t.url):(this.previewImage=t.url,this.previewVisible=!0)},update(t){let e=t.map(r=>r.is_string?r.url:r.value||r.url).filter(r=>r!==void 0);this.$emit("update:modelValue",e)},handleCancel(){this.previewVisible=!1},handleChange(t,e){this.$emit("change",...arguments),t.status==="success"&&this.update(e)},handleRemove(t,e){this.$emit("remove",...arguments),this.update(e)},doHttpRequest(t){if(this.httpRequest)return this.httpRequest(t);t.source="upload",this.formCreateInject.api.fetch(t)}},render(){const t=ae(this.modelValue).length;return c.createVNode("div",{class:"_fc-upload"},[c.createVNode(c.resolveComponent("ElUpload"),c.mergeProps({key:t},this.$attrs,{listType:this.listType||"picture-card",class:{"_fc-exceed":this.$attrs.limit?this.$attrs.limit<=t:!1},onPreview:this.handlePreview,onChange:this.handleChange,onRemove:this.handleRemove,httpRequest:this.doHttpRequest,fileList:this.fileList,ref:"upload"}),v({default:()=>{var e,r;return[((r=(e=this.$slots).default)==null?void 0:r.call(e))||(["text","picture"].indexOf(this.listType)===-1?c.createVNode(c.resolveComponent("ElIcon"),null,{default:()=>[c.createVNode(Ur,null,null)]}):c.createVNode(c.resolveComponent("ElButton"),{type:"primary"},{default:()=>[this.formCreateInject.t("clickToUpload")||this.uploadText||"点击上传"]}))]}},oe(this.$slots,["default"]))),c.createVNode(c.resolveComponent("ElDialog"),{appendToBody:!0,modal:this.previewMask,title:this.modalTitle,modelValue:this.previewVisible,onClose:this.handleCancel},{default:()=>[c.createVNode("img",{style:"width: 100%",src:this.previewImage},null)]})])},mounted(){this.$emit("fc.el",this.$refs.upload)}});function de(t,e,r){t[e]=r}function je(t,e){delete t[e]}function Pe(t,e={},r){let n=!1;for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)){let i=e[o];if((n=Array.isArray(i))||g.Object(i)){let s=t[o]===void 0;if(n)n=!1,s&&de(t,o,[]);else if(i._clone&&r!==void 0)if(r)i=i.getRule(),s&&de(t,o,{});else{de(t,o,i._clone());continue}else s&&de(t,o,{});t[o]=Pe(t[o],i,r)}else de(t,o,i),g.Undef(i)||(g.Undef(i.__json)||(t[o].__json=i.__json),g.Undef(i.__origin)||(t[o].__origin=i.__origin))}return r!==void 0&&Array.isArray(t)?t.filter(o=>!o||!o.__ctrl):t}function $e(t){return Pe({},{value:t}).value}const Wr=Object.assign||function(t){for(let e,r=1;r<arguments.length;r++)for(let n in e=arguments[r],e)Object.prototype.hasOwnProperty.call(e,n)&&de(t,n,e[n]);return t};function R(){return Wr.apply(this,arguments)}function Xe(t){return typeof t!="object"||t===null?t:t instanceof Array?[...t]:v({},t)}function ke(t,e){var r=null;return function(...n){r!==null&&clearTimeout(r),r=setTimeout(()=>t.call(this,...n),e)}}function wt(t){return t==null?"":typeof t=="object"?JSON.stringify(t,null,2):String(t)}function zr(t){return t&&typeof t=="object"&&typeof t.then=="function"}function Ue(t){return zr(t)?t:Promise.resolve(t)}function Te(t){let e=t.replace(/([A-Z])/g,"-$1").toLocaleLowerCase();return e.indexOf("-")===0&&(e=e.substr(1)),e}function Ct(t){return t.replace(t[0],t[0].toLocaleUpperCase())}function Ot(t,e,r){return`[form-create ${t}]: ${e}`}function et(t,e){console.error(Ot("err",t))}function Gr(t){et(t.toString()),console.error(t)}const tt="[[FORM-CREATE-PREFIX-",rt="-FORM-CREATE-SUFFIX]]";function Be(t,e){return JSON.stringify(Pe(Array.isArray(t)?[]:{},t,!0),function(r,n){if(!(n&&n._isVue===!0)){if(typeof n!="function")return n;if(n.__json)return n.__json;if(n.__origin&&(n=n.__origin),!n.__emit)return tt+n+rt}},e)}function nt(t){return new Function("return "+t)()}function be(t,e){if(t&&g.String(t)&&t.length>4){let r=t.trim(),n=!1;try{if(r.indexOf(rt)>0&&r.indexOf(tt)===0)r=r.replace(rt,"").replace(tt,""),n=!0;else if(r.indexOf("$FN:")===0)r=r.substring(4),n=!0;else if(r.indexOf("$EXEC:")===0)r=r.substring(6),n=!0;else if(r.indexOf("$GLOBAL:")===0){const i=r.substring(8);return r=function(...s){const a=s[0].api.getGlobalEvent(i);if(a)return a.call(this,...s)},r.__json=t,r.__inject=!0,r}else{if(r.indexOf("$FNX:")===0)return r=nt(`function($inject){
`+r.substring(5)+`
}`),r.__json=t,r.__inject=!0,r;(!e&&r.indexOf("function ")===0&&r!=="function "||!e&&r.indexOf("function(")===0&&r!=="function(")&&(n=!0)}if(!n)return t;let o;try{o=nt(r)}catch(i){o=nt("function "+r)}return o.__json=t,o}catch(o){et(`解析失败:${r}
err: ${o}`);return}}return t}function Vt(t,e){return JSON.parse(t,function(r,n){return g.Undef(n)||!n.indexOf?n:be(n,e)})}let Jr=0;function qe(){const t=370+ ++Jr;return"F"+Math.random().toString(36).substr(3,3)+(+`${Date.now()}`).toString(36)+t.toString(36)+"c"}function De(t,e,r){let n=t,o;return(e||"").split(".").forEach(i=>{o&&((!n[o]||typeof n[o]!="object")&&(n[o]={}),n=n[o]),o=i}),n[o]=r,n}const He=4;function Kr(t,e,r){let n=null,o=1/0;return t.forEach((i,s)=>{if(e<i.left||e>i.right||r<i.top||r>i.bottom)return;const a=e-(i.left+i.right)/2,l=r-(i.top+i.bottom)/2,u=a*a+l*l;u<o&&(o=u,n=s)}),n}const Qr=c.defineComponent({name:"fcGroup",props:{field:String,rule:Array,expand:Number,options:Object,button:{type:Boolean,default:!0},max:{type:Number,default:0},min:{type:Number,default:0},modelValue:{type:Array,default:()=>[]},defaultValue:Object,sortBtn:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},syncDisabled:{type:Boolean,default:!0},title:{type:[String,Function],default:null},type:{type:String,default:"default"},onBeforeRemove:{type:Function,default:()=>{}},onBeforeAdd:{type:Function,default:()=>{}},formCreateInject:Object,parse:Function},data(){return{len:0,cacheRule:{},cacheValue:{},sort:[],dragFrom:null,dragOverIndex:null,form:c.markRaw(this.formCreateInject.form.$form())}},emits:["update:modelValue","change","itemMounted","remove","add"],watch:{rule:{handler(t,e){Object.keys(this.cacheRule).forEach(r=>{const n=this.cacheRule[r];if(n.$f){const o=n.$f.formData();if(t===e)n.$f.deferSyncValue(()=>{Pe(n.rule,t),n.$f.setValue(o)},!0);else{const i=n.$f.formData();n.$f.once("reloading",()=>{n.$f.setValue(i)}),n.rule=$e(t)}}})},deep:!0},expand(t){let e=t-this.modelValue.length;e>0&&this.expandRule(e)},modelValue:{handler(t){t=t||[];let e=this.sort,r=e.length,n=r-t.length;if(n<0){for(let o=n;o<0;o++)this.addRule(t.length+o,!0);for(let o=0;o<r;o++)this.setValue(e[o],t[o])}else{if(n>0)for(let o=0;o<n;o++)this.removeRule(e[r-o-1]);t.forEach((o,i)=>{this.setValue(e[i],t[i])})}},deep:!0}},methods:{_value(t){return t&&z(t,this.field)?t[this.field]:t},cache(t,e){this.cacheValue[t]=JSON.stringify(e)},input(t){this.$emit("update:modelValue",t),this.$emit("change",t)},formData(t,e){const r=this.cacheRule,n=this.sort;if(n.filter(i=>r[i]&&r[i].$f).length!==n.length)return;const o=n.map(i=>{const s=t===i?e:v({},this.cacheRule[i].$f.form),a=this.field?g.Undef(s[this.field])?null:s[this.field]:s;return this.cache(i,a),a});this.input(o)},setValue(t,e){const r=this.field;r&&(e={[r]:this._value(e)}),this.cacheValue[t]!==JSON.stringify(r?e[r]:e)&&(this.cacheRule[t].$f&&this.cacheRule[t].$f.coverValue(e),this.cache(t,e))},addRule(t,e){const r=this.formCreateInject.form.copyRules(this.rule||[]),n=this.options?v({},this.options):{submitBtn:!1,resetBtn:!1};if(this.defaultValue){n.formData||(n.formData={});const o=$e(this.defaultValue);R(n.formData,this.field?{[this.field]:o}:o)}this.parse&&this.parse({rule:r,options:n,index:this.sort.length}),this.cacheRule[++this.len]={rule:r,options:n},this.sort=Object.keys(this.cacheRule),e&&c.nextTick(()=>this.$emit("add",r,Object.keys(this.cacheRule).length-1))},add$f(t,e,r){this.cacheRule[e].$f=r,c.nextTick(()=>{this.$emit("itemMounted",r,Object.keys(this.cacheRule).indexOf(e))})},removeRule(t,e){const r=Object.keys(this.cacheRule).indexOf(t);delete this.cacheRule[t],delete this.cacheValue[t],this.sort=Object.keys(this.cacheRule),e&&c.nextTick(()=>this.$emit("remove",r))},add(t){if(this.disabled||this.onBeforeAdd(this.modelValue)===!1)return;const e=[...this.modelValue];e.push(this.defaultValue?$e(this.defaultValue):this.field?null:{}),this.input(e)},del(t,e){if(this.disabled)return;const r=()=>{this.removeRule(e,!0);const n=[...this.modelValue];n.splice(t,1),this.input(n)};Ue(this.onBeforeRemove(this.modelValue,t)).then(n=>{n!==!1&&r()})},addIcon(t){return c.createVNode("div",{class:"_fc-group-btn _fc-group-plus-minus",onClick:this.add},null)},delIcon(t,e){return c.createVNode("div",{class:"_fc-group-btn _fc-group-plus-minus _fc-group-minus",onClick:()=>this.del(t,e)},null)},moveSort(t,e){if(t===e||t<0||e<0||t>=this.sort.length||e>=this.sort.length)return;const r=this.sort.slice(),[n]=r.splice(t,1);r.splice(e,0,n),this.sort=r,this.formCreateInject.subForm(this.sort.map(o=>this.cacheRule[o].$f)),this.formData(0)},dragStart(t,e){if(this.dragFrom=e,this.dragOverIndex=null,!t.dataTransfer)return;t.dataTransfer.effectAllowed="move",t.dataTransfer.setData("text/plain",String(e));const r=t.currentTarget.closest("._fc-group-container");if(r){const n=r.getBoundingClientRect();t.dataTransfer.setDragImage(r,t.clientX-n.left,t.clientY-n.top)}},dragEnd(){this.dragFrom=null,this.dragOverIndex=null},itemBounds(t){const e=t.getBoundingClientRect();let r=e.top,n=e.right,o=e.bottom,i=e.left;return t.querySelectorAll(":scope > ._fc-group-handle, :scope > ._fc-group-idx").forEach(s=>{const a=s.getBoundingClientRect();r=Math.min(r,a.top),n=Math.max(n,a.right),o=Math.max(o,a.bottom),i=Math.min(i,a.left)}),{top:r-He,right:n+He,bottom:o+He,left:i-He}},locateDrag(t){const e=t.currentTarget.querySelectorAll(":scope > ._fc-group-container");return Kr(Array.from(e,r=>this.itemBounds(r)),t.clientX,t.clientY)},groupDragOver(t){if(this.dragFrom==null||this.disabled)return;const e=this.locateDrag(t);this.dragOverIndex!==e&&(this.dragOverIndex=e),t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=e==null||e===this.dragFrom?"none":"move")},groupDragLeave(t){if(this.dragFrom==null)return;const e=t.relatedTarget;if(e&&t.currentTarget.contains(e))return;const r=t.currentTarget.getBoundingClientRect();t.clientX>=r.left&&t.clientX<=r.right&&t.clientY>=r.top&&t.clientY<=r.bottom||(this.dragOverIndex=null)},groupDrop(t){if(this.dragFrom==null)return;t.preventDefault();const e=this.dragFrom,r=this.locateDrag(t);this.dragFrom=null,this.dragOverIndex=null,!(r==null||e===r)&&this.moveSort(e,r)},canDrag(t){return this.sortBtn&&!this.disabled&&t>1},indexIcon(t,e){const r=this.canDrag(e);return c.createVNode("div",{class:{"_fc-group-idx":!0,"_fc-group-drag":r},draggable:r,role:r?"button":void 0,"aria-label":r?"拖动排序":void 0,title:r?"拖动排序":void 0,onDragstart:r?n=>this.dragStart(n,t):void 0,onDragend:r?this.dragEnd:void 0},[r?c.createVNode("span",{class:"_fc-group-grip",lang:"en"},[c.createTextVNode("⋮⋮")]):null,c.createVNode("span",null,[t+1])])},dragHandle(t,e){return this.canDrag(e)?c.createVNode("div",{class:"_fc-group-drag-btn",lang:"en",draggable:!0,role:"button","aria-label":"拖动排序",title:"拖动排序",onDragstart:r=>this.dragStart(r,t),onDragend:this.dragEnd},[c.createTextVNode("⋮⋮")]):null},makeIcon(t,e,r){if(this.$slots.button)return this.$slots.button({total:t,index:e,vm:this,key:r,del:()=>this.del(e,r),add:this.add});const n=[];return(!this.max||t<this.max)&&t===e+1&&n.push(this.addIcon(r)),t>this.min&&n.push(this.delIcon(e,r)),n},expandRule(t){for(let e=0;e<t;e++)this.modelValue.push(this.field?null:{});this.input([...this.modelValue])},getTitle(t,e){return typeof this.title=="function"?this.title(t,this.modelValue[t],e):typeof this.title=="string"?this.title.replace("{index}",t+1):!1}},created(){const t=(this.expand||0)-this.modelValue.length;for(let e=0;e<this.modelValue.length;e++)this.addRule(e);t>0&&this.expandRule(t)},render(){const t=this.sort,e=this.button,r=this.form,n=this.disabled,o=this.type==="card",i=t.length===0?this.$slots.default?this.$slots.default({vm:this,add:this.add}):c.createVNode("div",{key:"a_def",class:"_fc-group-plus-minus _fc-group-add fc-clock",onClick:this.add},null):t.map((s,a)=>{const{rule:l,options:u}=this.cacheRule[s],f=e&&!n?this.makeIcon(t.length,a,s):[],d=this.getTitle(a,s);return o?c.createVNode("div",{class:{"_fc-group-container":!0,"_fc-group-dragging":this.dragFrom===a,"_fc-group-drag-over":this.dragOverIndex===a&&this.dragFrom!==a},key:s},[c.createVNode("div",{class:"_fc-group-header"},[d===!1?this.indexIcon(a,t.length):this.dragHandle(a,t.length),d!==!1?c.createVNode("div",{class:"_fc-group-title"},[d]):null,c.createVNode("div",{class:"_fc-group-handle fc-clock"},[f.length?f:null])]),c.createVNode("div",{class:"_fc-group-content"},[c.createVNode(r,c.mergeProps({key:s},fe(v({},this.$attrs),{disabled:n,"onUpdate:modelValue":p=>this.formData(s,p),"onUpdate:api":p=>this.add$f(a,s,p),inFor:!0,modelValue:this.field?{[this.field]:this._value(this.modelValue[a])}:this.modelValue[a],rule:l,option:u,extendOption:!0})),null)])]):c.createVNode("div",{class:{"_fc-group-container":!0,"_fc-group-dragging":this.dragFrom===a,"_fc-group-drag-over":this.dragOverIndex===a&&this.dragFrom!==a},key:s},[c.createVNode(r,c.mergeProps({key:s},fe(v({},this.$attrs),{disabled:n,"onUpdate:modelValue":p=>this.formData(s,p),"onUpdate:api":p=>this.add$f(a,s,p),inFor:!0,modelValue:this.field?{[this.field]:this._value(this.modelValue[a])}:this.modelValue[a],rule:l,option:u,extendOption:!0})),null),this.indexIcon(a,t.length),f.length?c.createVNode("div",{class:"_fc-group-handle fc-clock"},[f]):null])});return c.createVNode("div",{key:"con",class:"_fc-group "+(n?"_fc-group-disabled":"")+(o?" _fc-group-card":""),onDragenter:this.groupDragOver,onDragover:this.groupDragOver,onDragleave:this.groupDragLeave,onDrop:this.groupDrop},[i])}}),Zr=c.defineComponent({name:"fcSubForm",props:{rule:Array,options:{type:Object,default:()=>c.reactive({submitBtn:!1,resetBtn:!1})},modelValue:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1},syncDisabled:{type:Boolean,default:!0},formCreateInject:Object},data(){return{cacheValue:{},subApi:{},form:c.markRaw(this.formCreateInject.form.$form())}},emits:["fc:subform","update:modelValue","change","itemMounted"],watch:{modelValue(t){this.setValue(t)}},methods:{formData(t){this.cacheValue=JSON.stringify(t),this.$emit("update:modelValue",t),this.$emit("change",t)},setValue(t){const e=JSON.stringify(t);this.cacheValue!==e&&(this.cacheValue=e,this.subApi.coverValue(t||{}))},add$f(t){this.subApi=t,c.nextTick(()=>{this.$emit("itemMounted",t)})}},render(){const t=this.form;return c.createVNode(t,{disabled:this.disabled,"onUpdate:modelValue":this.formData,modelValue:this.modelValue,"onUpdate:api":this.add$f,rule:this.rule,option:this.options,extendOption:!0},null)}}),Xr={name:"IconWarning"},en={class:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"};function tn(t,e,r,n,o,i){return c.openBlock(),c.createElementBlock("svg",en,[...e[0]||(e[0]=[c.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 110 896 448 448 0 010-896zm0 832a384 384 0 000-768 384 384 0 000 768zm48-176a48 48 0 11-96 0 48 48 0 0196 0zm-48-464a32 32 0 0132 32v288a32 32 0 01-64 0V288a32 32 0 0132-32z"},null,-1)])])}const rn=[hr,jr,Nr,Tr,Br,Hr,Qr,Zr,Se(Xr,[["render",tn]])],vt=["props"],St=["class","style","directives"],kt=["on","hook"],Oe=(t,e={},r={})=>{const n=[...vt,...r.normal||[]],o=[...St,...r.array||[]],i=[...kt,...r.functional||[]],s=r.props||[];return t.reduce((a,l)=>{for(const u in l)if(a[u])if(s.indexOf(u)>-1)a[u]=Oe([l[u]],a[u]);else if(n.indexOf(u)>-1)a[u]=v(v({},a[u]),l[u]);else if(o.indexOf(u)>-1){const f=a[u]instanceof Array?a[u]:[a[u]],d=l[u]instanceof Array?l[u]:[l[u]];a[u]=[...f,...d]}else if(i.indexOf(u)>-1)for(const f in l[u])if(a[u][f]){const d=a[u][f]instanceof Array?a[u][f]:[a[u][f]],p=l[u][f]instanceof Array?l[u][f]:[l[u][f]];a[u][f]=[...d,...p]}else a[u][f]=l[u][f];else if(u==="hook")for(let f in l[u])a[u][f]?a[u][f]=nn(a[u][f],l[u][f]):a[u][f]=l[u][f];else a[u]=l[u];else n.indexOf(u)>-1||i.indexOf(u)>-1||s.indexOf(u)>-1?a[u]=v({},l[u]):o.indexOf(u)>-1?a[u]=l[u]instanceof Array?[...l[u]]:typeof l[u]=="object"?v({},l[u]):l[u]:a[u]=l[u];return a},e)},nn=(t,e)=>function(){t&&t.apply(this,arguments),e&&e.apply(this,arguments)},Dt=["type","slot","ignore","emitPrefix","value","name","native","hidden","display","inject","options","emit","link","prefix","suffix","update","sync","optionsTo","key","slotUpdate","computed","preview","component","cache","modelEmit"],it=["validate","children","control"],st=["effect","deep","renderSlots"];function Et(){return[...Dt,...vt,...St,...kt,...it,...st]}var We=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function ze(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ft={exports:{}};(function(t,e){(function(r,n){t.exports=n()})(We,function(){var r=1e3,n=6e4,o=36e5,i="millisecond",s="second",a="minute",l="hour",u="day",f="week",d="month",p="quarter",m="year",$="date",k="Invalid Date",V=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,P=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(D){var O=["th","st","nd","rd"],w=D%100;return"["+D+(O[(w-20)%10]||O[w]||O[0])+"]"}},T=function(D,O,w){var S=String(D);return!S||S.length>=O?D:""+Array(O+1-S.length).join(w)+D},te={s:T,z:function(D){var O=-D.utcOffset(),w=Math.abs(O),S=Math.floor(w/60),C=w%60;return(O<=0?"+":"-")+T(S,2,"0")+":"+T(C,2,"0")},m:function D(O,w){if(O.date()<w.date())return-D(w,O);var S=12*(w.year()-O.year())+(w.month()-O.month()),C=O.clone().add(S,d),E=w-C<0,A=O.clone().add(S+(E?-1:1),d);return+(-(S+(w-C)/(E?C-A:A-C))||0)},a:function(D){return D<0?Math.ceil(D)||0:Math.floor(D)},p:function(D){return{M:d,y:m,w:f,d:u,D:$,h:l,m:a,s,ms:i,Q:p}[D]||String(D||"").toLowerCase().replace(/s$/,"")},u:function(D){return D===void 0}},X="en",Z={};Z[X]=M;var L="$isDayjsObject",B=function(D){return D instanceof J||!(!D||!D[L])},W=function D(O,w,S){var C;if(!O)return X;if(typeof O=="string"){var E=O.toLowerCase();Z[E]&&(C=E),w&&(Z[E]=w,C=E);var A=O.split("-");if(!C&&A.length>1)return D(A[0])}else{var I=O.name;Z[I]=O,C=I}return!S&&C&&(X=C),C||!S&&X},x=function(D,O){if(B(D))return D.clone();var w=typeof O=="object"?O:{};return w.date=D,w.args=arguments,new J(w)},N=te;N.l=W,N.i=B,N.w=function(D,O){return x(D,{locale:O.$L,utc:O.$u,x:O.$x,$offset:O.$offset})};var J=function(){function D(w){this.$L=W(w.locale,null,!0),this.parse(w),this.$x=this.$x||w.x||{},this[L]=!0}var O=D.prototype;return O.parse=function(w){this.$d=function(S){var C=S.date,E=S.utc;if(C===null)return new Date(NaN);if(N.u(C))return new Date;if(C instanceof Date)return new Date(C);if(typeof C=="string"&&!/Z$/i.test(C)){var A=C.match(V);if(A){var I=A[2]-1||0,H=(A[7]||"0").substring(0,3);return E?new Date(Date.UTC(A[1],I,A[3]||1,A[4]||0,A[5]||0,A[6]||0,H)):new Date(A[1],I,A[3]||1,A[4]||0,A[5]||0,A[6]||0,H)}}return new Date(C)}(w),this.init()},O.init=function(){var w=this.$d;this.$y=w.getFullYear(),this.$M=w.getMonth(),this.$D=w.getDate(),this.$W=w.getDay(),this.$H=w.getHours(),this.$m=w.getMinutes(),this.$s=w.getSeconds(),this.$ms=w.getMilliseconds()},O.$utils=function(){return N},O.isValid=function(){return this.$d.toString()!==k},O.isSame=function(w,S){var C=x(w);return this.startOf(S)<=C&&C<=this.endOf(S)},O.isAfter=function(w,S){return x(w)<this.startOf(S)},O.isBefore=function(w,S){return this.endOf(S)<x(w)},O.$g=function(w,S,C){return N.u(w)?this[S]:this.set(C,w)},O.unix=function(){return Math.floor(this.valueOf()/1e3)},O.valueOf=function(){return this.$d.getTime()},O.startOf=function(w,S){var C=this,E=!!N.u(S)||S,A=N.p(w),I=function(y,b){var _=N.w(C.$u?Date.UTC(C.$y,b,y):new Date(C.$y,b,y),C);return E?_:_.endOf(u)},H=function(y,b){return N.w(C.toDate()[y].apply(C.toDate("s"),(E?[0,0,0,0]:[23,59,59,999]).slice(b)),C)},G=this.$W,Q=this.$M,ne=this.$D,Ce="set"+(this.$u?"UTC":"");switch(A){case m:return E?I(1,0):I(31,11);case d:return E?I(1,Q):I(0,Q+1);case f:var ue=this.$locale().weekStart||0,h=(G<ue?G+7:G)-ue;return I(E?ne-h:ne+(6-h),Q);case u:case $:return H(Ce+"Hours",0);case l:return H(Ce+"Minutes",1);case a:return H(Ce+"Seconds",2);case s:return H(Ce+"Milliseconds",3);default:return this.clone()}},O.endOf=function(w){return this.startOf(w,!1)},O.$set=function(w,S){var C,E=N.p(w),A="set"+(this.$u?"UTC":""),I=(C={},C[u]=A+"Date",C[$]=A+"Date",C[d]=A+"Month",C[m]=A+"FullYear",C[l]=A+"Hours",C[a]=A+"Minutes",C[s]=A+"Seconds",C[i]=A+"Milliseconds",C)[E],H=E===u?this.$D+(S-this.$W):S;if(E===d||E===m){var G=this.clone().set($,1);G.$d[I](H),G.init(),this.$d=G.set($,Math.min(this.$D,G.daysInMonth())).$d}else I&&this.$d[I](H);return this.init(),this},O.set=function(w,S){return this.clone().$set(w,S)},O.get=function(w){return this[N.p(w)]()},O.add=function(w,S){var C,E=this;w=Number(w);var A=N.p(S),I=function(Q){var ne=x(E);return N.w(ne.date(ne.date()+Math.round(Q*w)),E)};if(A===d)return this.set(d,this.$M+w);if(A===m)return this.set(m,this.$y+w);if(A===u)return I(1);if(A===f)return I(7);var H=(C={},C[a]=n,C[l]=o,C[s]=r,C)[A]||1,G=this.$d.getTime()+w*H;return N.w(G,this)},O.subtract=function(w,S){return this.add(-1*w,S)},O.format=function(w){var S=this,C=this.$locale();if(!this.isValid())return C.invalidDate||k;var E=w||"YYYY-MM-DDTHH:mm:ssZ",A=N.z(this),I=this.$H,H=this.$m,G=this.$M,Q=C.weekdays,ne=C.months,Ce=C.meridiem,ue=function(b,_,F,Y){return b&&(b[_]||b(S,E))||F[_].slice(0,Y)},h=function(b){return N.s(I%12||12,b,"0")},y=Ce||function(b,_,F){var Y=b<12?"AM":"PM";return F?Y.toLowerCase():Y};return E.replace(P,function(b,_){return _||function(F){switch(F){case"YY":return String(S.$y).slice(-2);case"YYYY":return N.s(S.$y,4,"0");case"M":return G+1;case"MM":return N.s(G+1,2,"0");case"MMM":return ue(C.monthsShort,G,ne,3);case"MMMM":return ue(ne,G);case"D":return S.$D;case"DD":return N.s(S.$D,2,"0");case"d":return String(S.$W);case"dd":return ue(C.weekdaysMin,S.$W,Q,2);case"ddd":return ue(C.weekdaysShort,S.$W,Q,3);case"dddd":return Q[S.$W];case"H":return String(I);case"HH":return N.s(I,2,"0");case"h":return h(1);case"hh":return h(2);case"a":return y(I,H,!0);case"A":return y(I,H,!1);case"m":return String(H);case"mm":return N.s(H,2,"0");case"s":return String(S.$s);case"ss":return N.s(S.$s,2,"0");case"SSS":return N.s(S.$ms,3,"0");case"Z":return A}return null}(b)||A.replace(":","")})},O.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},O.diff=function(w,S,C){var E,A=this,I=N.p(S),H=x(w),G=(H.utcOffset()-this.utcOffset())*n,Q=this-H,ne=function(){return N.m(A,H)};switch(I){case m:E=ne()/12;break;case d:E=ne();break;case p:E=ne()/3;break;case f:E=(Q-G)/6048e5;break;case u:E=(Q-G)/864e5;break;case l:E=Q/o;break;case a:E=Q/n;break;case s:E=Q/r;break;default:E=Q}return C?E:N.a(E)},O.daysInMonth=function(){return this.endOf(d).$D},O.$locale=function(){return Z[this.$L]},O.locale=function(w,S){if(!w)return this.$L;var C=this.clone(),E=W(w,S,!0);return E&&(C.$L=E),C},O.clone=function(){return N.w(this.$d,this)},O.toDate=function(){return new Date(this.valueOf())},O.toJSON=function(){return this.isValid()?this.toISOString():null},O.toISOString=function(){return this.$d.toISOString()},O.toString=function(){return this.$d.toUTCString()},D}(),ie=J.prototype;return x.prototype=ie,[["$ms",i],["$s",s],["$m",a],["$H",l],["$W",u],["$M",d],["$y",m],["$D",$]].forEach(function(D){ie[D[1]]=function(O){return this.$g(O,D[0],D[1])}}),x.extend=function(D,O){return D.$i||(D(O,J,x),D.$i=!0),x},x.locale=W,x.isDayjs=B,x.unix=function(D){return x(1e3*D)},x.en=Z[X],x.Ls=Z,x.p={},x})})(Ft);var sn=Ft.exports;const Ee=ze(sn);var Rt={exports:{}};(function(t,e){(function(r,n){t.exports=n()})(We,function(){var r={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,o=/\d/,i=/\d\d/,s=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,l={},u=function(V){return(V=+V)+(V>68?1900:2e3)},f=function(V){return function(P){this[V]=+P}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(V){(this.zone||(this.zone={})).offset=function(P){if(!P||P==="Z")return 0;var M=P.match(/([+-]|\d\d)/g),T=60*M[1]+(+M[2]||0);return T===0?0:M[0]==="+"?-T:T}(V)}],p=function(V){var P=l[V];return P&&(P.indexOf?P:P.s.concat(P.f))},m=function(V,P){var M,T=l.meridiem;if(T){for(var te=1;te<=24;te+=1)if(V.indexOf(T(te,0,P))>-1){M=te>12;break}}else M=V===(P?"pm":"PM");return M},$={A:[a,function(V){this.afternoon=m(V,!1)}],a:[a,function(V){this.afternoon=m(V,!0)}],Q:[o,function(V){this.month=3*(V-1)+1}],S:[o,function(V){this.milliseconds=100*+V}],SS:[i,function(V){this.milliseconds=10*+V}],SSS:[/\d{3}/,function(V){this.milliseconds=+V}],s:[s,f("seconds")],ss:[s,f("seconds")],m:[s,f("minutes")],mm:[s,f("minutes")],H:[s,f("hours")],h:[s,f("hours")],HH:[s,f("hours")],hh:[s,f("hours")],D:[s,f("day")],DD:[i,f("day")],Do:[a,function(V){var P=l.ordinal,M=V.match(/\d+/);if(this.day=M[0],P)for(var T=1;T<=31;T+=1)P(T).replace(/\[|\]/g,"")===V&&(this.day=T)}],w:[s,f("week")],ww:[i,f("week")],M:[s,f("month")],MM:[i,f("month")],MMM:[a,function(V){var P=p("months"),M=(p("monthsShort")||P.map(function(T){return T.slice(0,3)})).indexOf(V)+1;if(M<1)throw new Error;this.month=M%12||M}],MMMM:[a,function(V){var P=p("months").indexOf(V)+1;if(P<1)throw new Error;this.month=P%12||P}],Y:[/[+-]?\d+/,f("year")],YY:[i,function(V){this.year=u(V)}],YYYY:[/\d{4}/,f("year")],Z:d,ZZ:d};function k(V){var P,M;P=V,M=l&&l.formats;for(var T=(V=P.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(x,N,J){var ie=J&&J.toUpperCase();return N||M[J]||r[J]||M[ie].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(D,O,w){return O||w.slice(1)})})).match(n),te=T.length,X=0;X<te;X+=1){var Z=T[X],L=$[Z],B=L&&L[0],W=L&&L[1];T[X]=W?{regex:B,parser:W}:Z.replace(/^\[|\]$/g,"")}return function(x){for(var N={},J=0,ie=0;J<te;J+=1){var D=T[J];if(typeof D=="string")ie+=D.length;else{var O=D.regex,w=D.parser,S=x.slice(ie),C=O.exec(S)[0];w.call(N,C),x=x.replace(C,"")}}return function(E){var A=E.afternoon;if(A!==void 0){var I=E.hours;A?I<12&&(E.hours+=12):I===12&&(E.hours=0),delete E.afternoon}}(N),N}}return function(V,P,M){M.p.customParseFormat=!0,V&&V.parseTwoDigitYear&&(u=V.parseTwoDigitYear);var T=P.prototype,te=T.parse;T.parse=function(X){var Z=X.date,L=X.utc,B=X.args;this.$u=L;var W=B[1];if(typeof W=="string"){var x=B[2]===!0,N=B[3]===!0,J=x||N,ie=B[2];N&&(ie=B[2]),l=this.$locale(),!x&&ie&&(l=M.Ls[ie]),this.$d=function(S,C,E,A){try{if(["x","X"].indexOf(C)>-1)return new Date((C==="X"?1e3:1)*S);var I=k(C)(S),H=I.year,G=I.month,Q=I.day,ne=I.hours,Ce=I.minutes,ue=I.seconds,h=I.milliseconds,y=I.zone,b=I.week,_=new Date,F=Q||(H||G?1:_.getDate()),Y=H||_.getFullYear(),U=0;H&&!G||(U=G>0?G-1:_.getMonth());var pe,me=ne||0,ge=Ce||0,ce=ue||0,ye=h||0;return y?new Date(Date.UTC(Y,U,F,me,ge,ce,ye+60*y.offset*1e3)):E?new Date(Date.UTC(Y,U,F,me,ge,ce,ye)):(pe=new Date(Y,U,F,me,ge,ce,ye),b&&(pe=A(pe).week(b).toDate()),pe)}catch(Ae){return new Date("")}}(Z,W,L,M),this.init(),ie&&ie!==!0&&(this.$L=this.locale(ie).$L),J&&Z!=this.format(W)&&(this.$d=new Date("")),l={}}else if(W instanceof Array)for(var D=W.length,O=1;O<=D;O+=1){B[1]=W[O-1];var w=M.apply(this,B);if(w.isValid()){this.$d=w.$d,this.$L=w.$L,this.init();break}O===D&&(this.$d=new Date(""))}else te.call(this,X)}}})})(Rt);var on=Rt.exports;const an=ze(on);var At={exports:{}};(function(t,e){(function(r,n){t.exports=n()})(We,function(){var r="day";return function(n,o,i){var s=function(u){return u.add(4-u.isoWeekday(),r)},a=o.prototype;a.isoWeekYear=function(){return s(this).year()},a.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var f,d,p,m,$=s(this),k=(f=this.isoWeekYear(),d=this.$u,p=(d?i.utc:i)().year(f).startOf("year"),m=4-p.isoWeekday(),p.isoWeekday()>4&&(m+=7),p.add(m,r));return $.diff(k,"week")+1},a.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=a.startOf;a.startOf=function(u,f){var d=this.$utils(),p=!!d.u(f)||f;return d.p(u)==="isoweek"?p?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,f)}}})})(At);var ln=At.exports;const un=ze(ln);var Mt={exports:{}};(function(t,e){(function(r,n){t.exports=n()})(We,function(){var r="month",n="quarter";return function(o,i){var s=i.prototype;s.quarter=function(u){return this.$utils().u(u)?Math.ceil((this.month()+1)/3):this.month(this.month()%3+3*(u-1))};var a=s.add;s.add=function(u,f){return u=Number(u),this.$utils().p(f)===n?this.add(3*u,r):a.bind(this)(u,f)};var l=s.startOf;s.startOf=function(u,f){var d=this.$utils(),p=!!d.u(f)||f;if(d.p(u)===n){var m=this.quarter()-1;return p?this.month(3*m).startOf(r).startOf("day"):this.month(3*m+2).endOf(r).endOf("day")}return l.bind(this)(u,f)}}})})(Mt);var cn=Mt.exports;const fn=ze(cn);function le(t){const e=t.replace(/(-[a-z])/g,function(r){return r.replace("-","").toLocaleUpperCase()});return jt(e)}function jt(t){return t.replace(t[0],t[0].toLowerCase())}Ee.extend(an),Ee.extend(un),Ee.extend(fn);function ot(t,e){return{value:t,enumerable:!1,configurable:!1,writable:!0}}function Nt(t,e){return It([t],e||!1)[0]}function It(t,e){return Pe([],[...t],e||!1)}const dn={array:it,normal:st};function Ve(t,e){return Oe(Array.isArray(e)?e:[e],t,dn),t}function Pt(t){const e=g.Function(t.getRule)?t.getRule():t;return e.type||(e.type="input"),e}function hn(t,e){return t?(Object.keys(e||{}).forEach(r=>{e[r]&&(t[r]=Ve(t[r]||{},e[r]))}),t):e}function Tt(t,e){Object.defineProperties(t,Object.keys(e).reduce((r,n)=>(r[n]={get(){return e[n]()}},r),{}))}function _e(t){return t.__fc__||(t.__origin__?t.__origin__.__fc__:null)}function j(t,e){try{e=t()}catch(r){Gr(r)}return e}function Ge(){const t={},e=r=>r||"default";return{setSlot(r,n){r=e(r),!(!n||Array.isArray(n)&&n.length)&&(t[r]||(t[r]=[]),t[r].push(n))},getSlot(r,n){r=e(r);const o=[];return(t[r]||[]).forEach(i=>{if(Array.isArray(i))o.push(...i);else if(g.Function(i)){const s=i(...n||[]);Array.isArray(s)?o.push(...s):o.push(s)}else g.Undef(i)||o.push(i)}),o},getSlots(){const r={};return Object.keys(t).forEach(n=>{r[n]=(...o)=>this.getSlot(n,o)}),r},slotLen(r){return r=e(r),t[r]?t[r].length:0},mergeBag(r){if(!r)return this;const n=g.Function(r.getSlots)?r.getSlots():r;return Array.isArray(r)||c.isVNode(r)?this.setSlot(void 0,()=>r):Object.keys(n).forEach(o=>{this.setSlot(o,n[o])}),this}}}function Bt(t){const e=v({},t.props||{});return Object.keys(t.on||{}).forEach(r=>{r.indexOf("-")>0&&(r=le(r));const n=`on${Ct(r)}`;Array.isArray(e[n])?e[n]=[...e[n],t.on[r]]:e[n]?e[n]=[e[n],t.on[r]]:e[n]=t.on[r]}),e.key=t.key,e.ref=t.ref,e.class=t.class,e.id=t.id,e.style=t.style,e.slot&&delete e.slot,e}function Je(t,e){return Object.setPrototypeOf(t,e),t}const Lt=(t,e)=>typeof t=="string"?String(e):typeof t=="number"?Number(e):e;function pn(t){if(g.Number(t))return!Number.isFinite(t)||t<1e9?NaN:t>=1e11?t:t*1e3;if(!g.String(t))return NaN;const e=t.trim();return/^\d{11,}$/.test(e)?Number(e):/^\d{10}$/.test(e)?Number(e)*1e3:NaN}function Ke(t){let e;if(g.Date(t))e=Ee(t);else{const r=pn(t);Number.isNaN(r)?g.String(t)&&(e=Ee(t.trim().replace("T"," "),["YYYY-MM-DD HH:mm:ss","YYYY-MM-DD"],!0)):e=Ee(r)}return e&&e.isValid()?e:null}function mn(t){return typeof t!="number"||!Number.isInteger(t)||t<0?NaN:t}function K(t,e){return[t.valueOf(),e.valueOf()]}function at(t,e){return Array.isArray(t)?t.length>0&&t.every(r=>e(r)):e(t)}function Fe(t,e,r,n){const o=mn(e);if(Number.isNaN(o))return!1;const i=Ee().add(n*o,r).valueOf();return at(t,s=>{const a=Ke(s);if(!a)return!1;const l=a.valueOf();return n<0?l<i:l>i})}function xt(t,e,r){const n=Ke(e);if(!n)return!1;const o=n.valueOf();return at(t,i=>{const s=Ke(i);return s?r<0?s.valueOf()<o:s.valueOf()>o:!1})}const gn={recent7Day(t){return K(t.startOf("day").subtract(6,"day"),t.endOf("day"))},recent30Day(t){return K(t.startOf("day").subtract(29,"day"),t.endOf("day"))},coming7Day(t){return K(t.startOf("day"),t.add(6,"day").endOf("day"))},coming30Day(t){return K(t.startOf("day"),t.add(29,"day").endOf("day"))},thisWeek(t){return K(t.startOf("isoWeek"),t.endOf("isoWeek"))},lastWeek(t){const e=t.startOf("isoWeek").subtract(1,"week");return K(e,e.endOf("isoWeek"))},nextWeek(t){const e=t.startOf("isoWeek").add(1,"week");return K(e,e.endOf("isoWeek"))},thisMonth(t){return K(t.startOf("month"),t.endOf("month"))},lastMonth(t){const e=t.startOf("month").subtract(1,"month");return K(e,e.endOf("month"))},nextMonth(t){const e=t.startOf("month").add(1,"month");return K(e,e.endOf("month"))},recentMonth(t){return K(t.subtract(1,"month").startOf("day"),t.endOf("day"))},comingMonth(t){return K(t.startOf("day"),t.add(1,"month").endOf("day"))},recent3Month(t){return K(t.subtract(3,"month").startOf("day"),t.endOf("day"))},recent6Month(t){return K(t.subtract(6,"month").startOf("day"),t.endOf("day"))},thisQuarter(t){return K(t.startOf("quarter"),t.endOf("quarter"))},lastQuarter(t){const e=t.startOf("quarter").subtract(1,"quarter");return K(e,e.endOf("quarter"))},nextQuarter(t){const e=t.startOf("quarter").add(1,"quarter");return K(e,e.endOf("quarter"))},thisYear(t){return K(t.startOf("year"),t.endOf("year"))},lastYear(t){const e=t.startOf("year").subtract(1,"year");return K(e,e.endOf("year"))},nextYear(t){const e=t.startOf("year").add(1,"year");return K(e,e.endOf("year"))},recentYear(t){return K(t.subtract(1,"year").startOf("day"),t.endOf("day"))},comingYear(t){return K(t.startOf("day"),t.add(1,"year").endOf("day"))}};function yn(t,e){const r=g.String(e)?gn[e]:null;if(!r)return!1;const[n,o]=r(Ee());return at(t,i=>{const s=Ke(i);return!!s&&s.valueOf()>=n&&s.valueOf()<=o})}const Ne={"==":(t,e)=>JSON.stringify(t)===JSON.stringify(Lt(t,e)),"!=":(t,e)=>!Ne["=="](t,e),">":(t,e)=>t>e,">=":(t,e)=>t>=e,"<":(t,e)=>t<e,"<=":(t,e)=>t<=e,on(t,e){return t&&t.indexOf&&t.indexOf(Lt(t[0],e))>-1},notOn(t,e){return!Ne.on(t,e)},in(t,e){return e&&e.indexOf&&e.indexOf(t)>-1},notIn(t,e){return!Ne.in(t,e)},between(t,e){return t>e[0]&&t<e[1]},notBetween(t,e){return t<e[0]||t>e[1]},empty(t){return g.empty(t)},notEmpty(t){return!g.empty(t)},pattern(t,e){return new RegExp(e,"g").test(t)},beforeDay(t,e){return Fe(t,e,"day",-1)},afterDay(t,e){return Fe(t,e,"day",1)},beforeWeek(t,e){return Fe(t,e,"week",-1)},afterWeek(t,e){return Fe(t,e,"week",1)},beforeMonth(t,e){return Fe(t,e,"month",-1)},afterMonth(t,e){return Fe(t,e,"month",1)},beforeYear(t,e){return Fe(t,e,"year",-1)},afterYear(t,e){return Fe(t,e,"year",1)},beforeDate(t,e){return xt(t,e,-1)},afterDate(t,e){return xt(t,e,1)},period(t,e){return yn(t,e)}};function se(t,e){return(Array.isArray(e)?e:(e||"").split(".")).forEach(r=>{t!=null&&(t=t[r])}),t}function $n(t){const e=/{{\s*(.*?)\s*}}/g;let r;const n={};for(;(r=e.exec(t))!==null;)r[1]&&(n[r[1]]=!0);return Object.keys(n)}function Yt(t){let e=t.split("."),r=[],n="";return e.forEach((o,i)=>{i===0?n=o:n+="."+o,r.push(n)}),r.join(" && ")}function Ut(t){const e=[];let r="",n=0;for(let o=0;o<t.length;o++){const i=t[o];i==="["?(n===0&&r&&(e.push({type:"key",value:r}),r=""),n++,r+=i):i==="]"?(n--,r+=i,n===0&&(e.push({type:"bracket",value:Ut(r.slice(1,-1))}),r="")):i==="."&&n===0?r&&(e.push({type:"key",value:r}),r=""):r+=i}return r&&e.push({type:"key",value:r}),e.map(o=>o.type==="key"?{key:o.value}:{children:o.value})}const Qe=(t,e)=>{if(!(!t||t===e)){if(t.props.formCreateInject)return t.props.formCreateInject;if(t.parent)return Qe(t.parent,e)}};function bn(){return typeof document!="undefined"&&typeof document.createElement=="function"&&document.head!=null}function _n(t,e,r){return c.defineComponent({name:"FormCreate"+(t.isMobile?"Mobile":""),components:e,directives:r,props:{rule:{type:Array,required:!0,default:()=>[]},option:{type:Object,default:()=>({})},extendOption:Boolean,driver:[String,Object],modelValue:Object,disabled:{type:Boolean,default:void 0},preview:{type:Boolean,default:void 0},index:[String,Number],api:Object,locale:[String,Object],t:Function,name:String,subForm:{type:Boolean,default:!0},inFor:Boolean},emits:["update:api","update:modelValue","mounted","beforeUnmount","submit","reset","change","emit-event","control","remove-rule","remove-field","sync","reload","repeat-field","update","validate-field-fail","validate-fail","created"],render(){return this.fc.render()},setup(n){const o=c.getCurrentInstance();c.provide("parentFC",o);const i=c.inject("parentFC",null);let s=i;if(i)for(;s.setupState.parent;)s=s.setupState.parent;else s=o;const{rule:a,modelValue:l,subForm:u,inFor:f}=c.toRefs(n),d=c.reactive({ctxInject:{},destroyed:!1,isShow:!0,unique:1,renderRule:[...a.value||[]]});let p=JSON.stringify(l.value||{});const m=new t(o),$=m.api(),k=f.value,V=()=>{if(i){const L=Qe(o,i);if(L){let B;k?(B=ae(L.getSubForm()),B.push($)):B=$,L.subForm(B)}}},P=()=>{const L=Qe(o,i);if(L)if(k){const B=ae(L.getSubForm()),W=B.indexOf($);W>-1&&B.splice(W,1)}else L.subForm()};let M=null;c.onBeforeMount(()=>{bn()&&c.watchEffect(()=>{let L="";const B=n.option&&n.option.globalClass||{};Object.keys(B).forEach(W=>{let x="";B[W].style&&Object.keys(B[W].style).forEach(N=>{x+=Te(N)+":"+B[W].style[N]+";"}),B[W].content&&(x+=B[W].content+";"),x&&(L+=`.${W}{${x}}`)}),n.option&&n.option.style&&(L+=n.option.style),M||(M=document.createElement("style"),M.type="text/css",document.head.appendChild(M)),M.innerHTML=L||""})});const T=ke(()=>{m.bus.$emit("$loadData.$topForm")},100),te=ke(function(){m.bus.$emit("$loadData.$scopeForm")},100),X=ke(()=>{m.bus.$emit("$loadData.$form")},100),Z=L=>{m.bus.$emit("change-$form."+L)};return c.onMounted(()=>{i&&($.top.bus.$on("$loadData.$form",T),$.top.bus.$on("change",Z)),$!==$.scope&&$.scope.bus.$on("$loadData.$scopeForm",te),m.mounted()}),c.onBeforeUnmount(()=>{i&&($.top.bus.$off("$loadData.$form",T),$.top.bus.$off("change",Z)),$!==$.scope&&$.scope.bus.$off("$loadData.$scopeForm",te),P(),d.destroyed=!0,m.unmount(),M&&M.parentNode&&M.parentNode.removeChild(M)}),c.onUpdated(()=>{m.updated()}),V(),c.watch(()=>n.option,()=>{m.initOptions(),$.refresh()},{deep:!0,flush:"sync"}),c.watch(()=>[...a.value],L=>{m.$handle.isBreakWatch()||L.length===d.renderRule.length&&L.every(B=>d.renderRule.indexOf(B)>-1)||(m.$handle.updateAppendData(),m.$handle.reloadRule(a.value),o.setupState.renderRule())}),c.watch(()=>[n.disabled,n.preview],()=>{$.refresh()}),c.watch(l,L=>{Be(L||{})!==p&&($.config.forceCoverValue?$.coverValue(L||{}):$.setValue(L||{}))},{deep:!0,flush:"post"}),c.watch(()=>n.index,()=>{$.coverValue({}),m.$handle.updateAppendData(),c.nextTick(()=>{c.nextTick(()=>{$.clearValidateState()})})},{flush:"sync"}),fe(v({fc:c.markRaw(m),parent:i&&c.markRaw(i),top:c.markRaw(s),fapi:c.markRaw($)},c.toRefs(d)),{getGroupInject:()=>Qe(o,i),refresh(){++d.unique},renderRule(){d.renderRule=[...a.value||[]]},updateValue(L){if(d.destroyed)return;const B=Be(L);p!==B&&(p=B,o.emit("update:modelValue",L),c.nextTick(()=>{X(),i?u.value||te():(T(),te())}))}})},created(){const n=c.getCurrentInstance();n.emit("update:api",n.setupState.fapi),n.setupState.fc.init()}})}function qt(){return{props:{},on:{},options:[],children:[],hidden:!1,display:!0,value:void 0}}function re(t,e){return(r,n,o,i={})=>{const s=new lt(t,r,n,o,i);return e&&(g.Function(e)?e(s):s.props(e)),s}}function lt(t,e,r,n,o){this._data=R(qt(),{type:t,title:e,field:r,value:n,props:o||{}}),this.event=this.on}R(lt.prototype,{getRule(){return this._data},setProp(t,e){return de(this._data,t,e),this},modelField(t){return this._data.modelField=t,this},_clone(){const t=new this.constructor;return t._data=Nt(this._data),t}});function Ht(t){t.forEach(e=>{lt.prototype[e]=function(r){return Ve(this._data,{[e]:arguments.length<2?r:{[r]:arguments[1]}}),this}})}Ht(Et());const wn=re("");function Cn(t,e,r){let n=wn("",e);return n._data.type=t,n._data.title=r,n}function On(){return{create:Cn,factory:re}}function Vn(t,e,r){const n=`fail to ${t} ${r.status}'`,o=new Error(n);return o.status=r.status,o.url=t,o}function Wt(t){const e=t.responseText||t.response;if(!e)return e;try{return JSON.parse(e)}catch(r){return e}}function zt(t){if(typeof XMLHttpRequest=="undefined")return;const e=new XMLHttpRequest;let r=t.action||"";if(e.upload&&t.onProgress&&e.upload.addEventListener("progress",i=>{i.percent=i.total>0?i.loaded/i.total*100:0,t.onProgress(i)}),t.query){const i=g.String(t.query)?t.query:Object.keys(t.query).reduce((a,l)=>(a[l]=t.query[l]===null||t.query[l]===void 0?"":t.query[l],a),{}),s=new URLSearchParams(i).toString();s&&(r.includes("?")?r+=`&${s}`:r+=`?${s}`)}e.onerror=function(s){t.onError(s)},e.onload=function(){if(e.status<200||e.status>=300)return t.onError(Vn(r,t,e),Wt(e));t.onSuccess(Wt(e))},e.open(t.method||"get",r,!0);let n;(t.data||t.file)&&(t.file||(t.dataType||"").toLowerCase()!=="json"?(n=new FormData,Object.keys(t.data||{}).map(i=>{n.append(i,t.data[i])})):(n=JSON.stringify(t.data||{}),e.setRequestHeader("content-type","application/json"))),t.file&&n.append(t.filename,t.file,t.file.name),t.withCredentials&&"withCredentials"in e&&(e.withCredentials=!0);const o=t.headers||{};Object.keys(o).forEach(i=>{o[i]!=null&&e.setRequestHeader(i,o[i])}),e.send(n)}function Gt(t,e,r){return new Promise((n,o)=>{(e||zt)(fe(v({},t),{onSuccess(i){let s=l=>l;const a=be(t.parse);g.Function(a)?s=a:a&&g.String(a)&&(s=l=>se(l,a)),Ue(s(i,t.targetRule,r)).then(l=>{n(l)})},onError(i){o(i)}}))})}function Le(t){return $e(t)}function vn(t){function e(i){return g.Undef(i)?i=t.fields():Array.isArray(i)||(i=[i]),i}function r(i,s,a){g.Undef(i)?i=Object.keys(v(v({},t.fieldCtx),t.nameCtx)):Array.isArray(i)||(i=[i]),i.forEach(l=>{const u=t.fieldCtx[l]||t.nameCtx[l];u&&u.forEach(f=>{de(f.rule,s,a),t.$render.clearCache(f)})})}function n(){const i=t.subForm;return Object.keys(i).reduce((s,a)=>{const l=i[a];return l&&(Array.isArray(l)?s.push(...l):s.push(l)),s},[])}const o={get isScope(){return t.vm.props.subForm===!1},get isPreview(){return t.preview},get config(){return t.options},set config(i){t.fc.options.value=i},get options(){return t.options},set options(i){t.fc.options.value=i},get form(){return t.form},get rule(){return t.rules},get parent(){return t.vm.setupState.parent&&t.vm.setupState.parent.setupState.fapi},get top(){return o.parent?o.parent.top:o},get scope(){let i=t.vm;for(;i&&i.setupState.fapi;)if(i.props.subForm)i=i.setupState.parent;else return i.setupState.fapi;return o.top},get children(){return n()},get siblings(){const i=t.vm.setupState.getGroupInject();if(i){const s=i.getSubForm();if(Array.isArray(s))return[...s]}},get index(){const i=o.siblings;if(i){const s=i.indexOf(o);return s>-1?s:void 0}},get formulas(){return v({},t.fc.formulas)},formData(i){if(i==null||typeof i=="boolean"){const s={};return Object.keys(t.form).forEach(a=>{(i===!0||t.ignoreFields.indexOf(a)===-1)&&(s[a]=Le(t.form[a]))}),s}else return e(i).reduce((s,a)=>(s[a]=o.getValue(a),s),{})},getValue(i){const s=t.getFieldCtx(i);return s?Le(s.rule.value):t.options.appendValue!==!1&&z(t.appendData,i)?Le(t.appendData[i]):void 0},coverValue(i){const s=v({},i||{});t.deferSyncValue(()=>{t.appendData={},o.fields().forEach(a=>{const l=t.fieldCtx[a];if(l){const u=z(i,a);l.forEach(f=>{f.rule.value=u?i[a]:void 0}),delete s[a]}}),R(t.appendData,s)},!0)},setValue(i){let s=i;arguments.length>=2&&(s={[i]:arguments[1]}),t.deferSyncValue(()=>{Object.keys(s).forEach(a=>{const l=t.fieldCtx[a];if(!l)return t.appendData[a]=s[a];l.forEach(u=>{u.rule.value=s[a]})})},!0)},removeField(i){const s=t.getCtx(i);return t.deferSyncValue(()=>{t.getCtxs(i).forEach(a=>{a.rm()})},!0),s?s.origin:void 0},removeRule(i){const s=i&&_e(i);if(s)return s.rm(),s.origin},fields:()=>t.fields(),append:(i,s,a)=>{let l=t.sort.length-1,u;const f=t.getCtx(s);if(f)if(a){if(u=f.getPending("children",f.rule.children),!Array.isArray(u))return;l=f.rule.children.length-1}else l=f.root.indexOf(f.origin),u=f.root;else u=t.rules;u.splice(l+1,0,i)},prepend:(i,s,a)=>{let l=0,u;const f=t.getCtx(s);if(f)if(a){if(u=f.getPending("children",f.rule.children),!Array.isArray(u))return}else l=f.root.indexOf(f.origin),u=f.root;else u=t.rules;u.splice(l,0,i)},hidden(i,s){r(s,"hidden",!!i),t.refresh()},hiddenStatus(i){const s=t.getCtx(i);if(s)return!!s.rule.hidden},display(i,s){r(s,"display",!!i),t.refresh()},displayStatus(i){const s=t.getCtx(i);if(s)return!!s.rule.display},disabled(i,s){e(s).forEach(a=>{t.getCtxs(a).forEach(l=>{de(l.rule.props,"disabled",!!i)})}),t.refresh()},required(i,s){const a=!!i;e(s).forEach(l=>{t.getCtxs(l).forEach(u=>{const f=z(u.rule,"$required")?u.rule.$required:u.rule.effect&&u.rule.effect.required;g.Object(f)?de(f,"required",a):o.setEffect(u.id,"required",a)})}),t.refresh()},all(i){return Object.keys(t.ctxs).map(s=>{const a=t.ctxs[s];return i?a.origin:a.rule})},model(i){return t.fields().reduce((s,a)=>{const l=t.fieldCtx[a][0];return s[a]=i?l.origin:l.rule,s},{})},component(i){return Object.keys(t.nameCtx).reduce((s,a)=>{const l=t.nameCtx[a].map(u=>i?u.origin:u.rule);return s[a]=l.length===1?l[0]:l,s},{})},bind(){return o.form},reload:i=>{t.reloadRule(i)},updateOptions(i){t.fc.updateOptions(i),o.refresh()},onSubmit(i){o.updateOptions({onSubmit:i})},sync:i=>{if(Array.isArray(i)){i.forEach(a=>o.sync(a));return}let s=g.Object(i)?_e(i):t.getCtxs(i);s&&(s=Array.isArray(s)?s:[s],s.forEach(a=>{if(!a.deleted){const l=t.subForm[a.id];l&&(Array.isArray(l)?l.forEach(u=>{u.refresh()}):l&&l.refresh()),t.$render.clearCache(a)}}),t.refresh())},refresh:()=>{n().forEach(i=>{i.refresh()}),t.$render.clearCacheAll(),t.refresh()},refreshOptions(){t.$manager.updateOptions(t.options),o.refresh()},hideForm:i=>{t.vm.setupState.isShow=!i},changeStatus:()=>t.changeStatus,clearChangeStatus:()=>{t.changeStatus=!1},updateRule(i,s){t.getCtxs(i).forEach(a=>{R(a.rule,s)})},updateRules(i){Object.keys(i).forEach(s=>{o.updateRule(s,i[s])})},mergeRule:(i,s)=>{t.getCtxs(i).forEach(a=>{Ve(a.rule,s)})},mergeRules(i){Object.keys(i).forEach(s=>{o.mergeRule(s,i[s])})},getRule:(i,s)=>{const a=t.getCtx(i);if(a)return s?a.origin:a.rule},findType(i,s){let a;return Object.keys(t.ctxs).forEach(l=>{const u=t.ctxs[l];u.rule.type===i&&(a=s?u.origin:u.rule)}),a},findTypes(i,s){let a=[];return Object.keys(t.ctxs).forEach(l=>{const u=t.ctxs[l];u.rule.type===i&&a.push(s?u.origin:u.rule)}),a},getRenderRule:i=>{const s=t.getCtx(i);if(s)return s.prop},getRefRule:i=>{const s=t.getCtxs(i);if(s){const a=s.map(l=>l.rule);return a.length===1?a[0]:a}},setEffect(i,s,a){const l=t.getCtx(i);l&&s&&(s[0]==="$"&&(s=s.substr(1)),z(l.rule,"$"+s)&&de(l.rule,"$"+s,a),z(l.rule,"effect")||(l.rule.effect={}),de(l.rule.effect,s,a))},clearEffectData(i,s){const a=t.getCtx(i);a&&(s&&s[0]==="$"&&(s=s.substr(1)),a.clearEffectData(s),o.sync(i))},updateValidate(i,s,a){a?o.mergeRule(i,{validate:s}):r(i,"validate",s)},updateValidates(i,s){Object.keys(i).forEach(a=>{o.updateValidate(a,i[a],s)})},refreshValidate(){o.refresh()},resetFields(i){e(i).forEach(s=>{t.getCtxs(s).forEach(a=>{t.$render.clearCache(a),a.rule.value=Le(a.defaultValue)})}),c.nextTick(()=>{c.nextTick(()=>{c.nextTick(()=>{o.clearValidateState(i)})})}),i==null&&(g.Function(t.options.onReset)&&j(()=>t.options.onReset(o)),t.vm.emit("reset",o))},method(i,s){const a=o.el(i);if(!a||!a[s])throw new Error(Ot("err",`${s} 方法不存在`));return(...l)=>a[s](...l)},exec(i,s,...a){return j(()=>o.method(i,s)(...a))},toJson(i){return Be(o.rule,i)},trigger(i,s,...a){const l=o.el(i);l&&l.$emit(s,...a)},el(i){const s=t.getCtx(i);if(s)return s.el||t.vm.refs[s.ref]},scrollTo(i,s={block:"center",inline:"nearest",behavior:"smooth"}){const a=o.el(i);if(!a)return;const l=a.$el!==void 0?a.$el:a;if(!l)return;const u=l.nodeType===1?l:l.firstElementChild;u&&typeof u.scrollIntoView=="function"&&u.scrollIntoView(s)},focus(i){const s=o.el(i);if(!s)return;const a=d=>!d||typeof d.focus!="function"?!1:(j(()=>d.focus()),!0);if(a(s))return;const l=s.$el!==void 0?s.$el:s;if(a(l))return;const u=l&&(l.nodeType===1?l:l.firstElementChild);if(a(u)||!u||!u.querySelector)return;const f=u.querySelector('input:not([type=hidden]):not([disabled]),textarea:not([disabled]),select:not([disabled]),[tabindex]:not([tabindex="-1"])');a(f)},closeModal:i=>{t.bus.$emit("fc:closeModal:"+i)},getSubForm(i){const s=t.getCtx(i);return s?t.subForm[s.id]:void 0},getChildrenRuleList(i){const s=typeof i=="object",a=s?_e(i):t.getCtx(i),l=a?a.rule:s?i:o.getRule(i);if(!l)return[];const u=[];return(d=>{d&&d.forEach(p=>{typeof p=="object"&&(p.field&&u.push(p),u.push(...o.getChildrenRuleList(p)))})})(a?a.loadChildrenPending():l.children),u},getParentRule(i){return(typeof i=="object"?_e(i):t.getCtx(i)).parent.rule},getParentSubRule(i){const a=typeof i=="object"?_e(i):t.getCtx(i);if(a){const l=a.getParentGroup();if(l)return l.rule}},getChildrenFormData(i,s){return o.getChildrenRuleList(i).reduce((l,u)=>((u.ignore!==!0||s===!0)&&(l[u.field]=Le(u.value)),l),{})},setChildrenFormData(i,s,a){const l=o.getChildrenRuleList(i);t.deferSyncValue(()=>{l.forEach(u=>{z(s,u.field)?u.value=s[u.field]:a&&(u.value=void 0)})})},getGlobalEvent(i){let s=o.options.globalEvent[i];if(s)return typeof s=="object"&&(s=s.handle),be(s)},getGlobalData(i){return new Promise((s,a)=>{let l=o.options.globalData[i];l?l.type==="fetch"?o.fetch(l).then(u=>{s(u)}).catch(a):s(l.data):s(t.fc.loadData[i])})},emitGlobalEvent(i,...s){const a=o.getGlobalEvent(i);if(a){const l=t.getInjectData({},void 0);return l.args=[...s],s.unshift(l),a.apply(null,s)}},setGlobalData(i,s){o.setData("$globalData."+i,s)},setGlobalVar(i,s){o.setData("$var."+i,s)},renderRule(i,s,a){const u=typeof i=="object"?_e(i):t.getCtx(i);return u?t.$render.createRuleVnode(u,s,a):void 0},renderChildren(i,s,a){const u=typeof i=="object"?_e(i):t.getCtx(i);return u?t.$render.createChildrenVnodes(u,s,a):void 0},nextTick(i){t.bus.$once("next-tick",i),t.refresh()},nextRefresh(i){t.nextRefresh(),i&&j(i)},deferSyncValue(i,s){t.deferSyncValue(i,s)},emit(i,...s){t.vm.emitsOptions&&!t.vm.emitsOptions[i]&&(t.vm.emitsOptions[i]=null),t.vm.emit(i,...s)},bus:t.bus,getCurrentFormRule(){var i;return(i=t.vm.setupState.getGroupInject())==null?void 0:i.rule},fetch(i){return new Promise((s,a)=>{let l=v({},i);l=t.loadFetchVar(l);const u=f=>{j(()=>l.onError&&l.onError(f)),a(f)};t.beforeFetch(l).then(()=>Gt(l,t.fc.create.fetch,o).then(f=>{j(()=>l.onSuccess&&l.onSuccess(f)),s(f)}).catch(f=>{u(f)})).catch(f=>{u(f)})})},watchFetch(i,s,a,l){return t.fc.watchLoadData((u,f)=>{let d=v({},i);if(d=t.loadFetchVar(d,u),l&&l(d,f)===!1)return;const p=m=>{j(()=>d.onError&&d.onError(m)),a&&a(m)};t.beforeFetch(d).then(()=>Gt(d,t.fc.create.fetch,o).then(m=>{j(()=>d.onSuccess&&d.onSuccess(m)),s&&s(m,f)}).catch(m=>{p(m)})).catch(m=>{p(m)})},i.wait==null?1e3:i.wait)},getData(i,s){return t.fc.get?t.fc.get(i,s):t.fc.getLoadData(i,s)},watchData(i){return t.fc.watchLoadData((s,a)=>{j(()=>i(s,a))})},setData(i,s,a){return t.fc.setData(i,s,a)},refreshData(i){return t.fc.refreshData(i)},t(i,s){return t.fc.t(i,s)},getLocale(){return t.fc.getLocale()},helper:{tidyFields:e,props:r}};return["on","once","off"].forEach(i=>{o[i]=function(...s){t.bus[`$${i}`](...s)}}),o.changeValue=o.changeField=o.setValue,o}function Sn(t){R(t.prototype,{initCache(){this.clearCacheAll()},clearCache(e){if(!e.rule.cache){if(!this.cache[e.id]){e.parent&&this.clearCache(e.parent);return}(this.cache[e.id].use===!0||this.cache[e.id].parent)&&this.$handle.refresh(),this.cache[e.id].parent&&this.clearCache(this.cache[e.id].parent),this.cache[e.id]=null}},clearCacheAll(){this.cache={}},setCache(e,r,n){this.cache[e.id]={vnode:r,use:!1,parent:n,slot:e.rule.slot}},getCache(e){const r=this.cache[e.id];if(r)return r.use=!0,r.vnode}})}function kn(t){R(t.prototype,{initRender(){this.cacheConfig={}},getTypeSlot(e){const r=n=>{if(n){let o;return e.rule.field&&(o=n.slots["field-"+Te(e.rule.field)]||n.slots["field-"+e.rule.field]),o||(o=n.slots["type-"+Te(e.type)]||n.slots["type-"+e.type]),o||r(n.setupState.parent)}};return r(this.vm)},render(){if(!this.vm.setupState.isShow)return;this.$manager.beforeRender(),this.applyShowNumber(this.$manager.rule);const e=Ge();return this.sort.forEach(r=>{this.renderSlot(e,this.$handle.ctxs[r])}),this.$manager.render(e)},applyShowNumber(e){const r=this.$handle.options||{};if(!r.showNumber||!e)return;e.class=this.mergeClass(e.class,"is-numbered"),r.showNumber==="chinese"&&(e.class=this.mergeClass(e.class,"is-number-chinese"));const n=r.numberColor,o=(r.form||{}).style;if(!n){e.style=o;return}g.String(o)?e.style=`${o};--fc-number-color:${n}`:Array.isArray(o)?e.style=o.concat({"--fc-number-color":n}):e.style=fe(v({},o||{}),{"--fc-number-color":n})},renderSlot(e,r,n){if(this.isFragment(r)){r.initProp(),this.mergeGlobal(r),r.initNone();const o=this.renderChildren(r.loadChildrenPending(),r),i=o.default;i&&e.setSlot(r.rule.slot,()=>i()),delete o.default,e.mergeBag(o)}else e.setSlot(r.rule.slot,this.renderCtx(r,n))},mergeGlobal(e){if(!this.$handle.options.global)return;const{trueType:n,originType:o,type:i}=e;this.cacheConfig[n]||(this.cacheConfig[n]=c.computed(()=>{const s=this.$handle.options.global;return Ve({},[s["*"]||s.default||{},s[o]||s[i]||{}])})),e.prop=Ve({},[this.cacheConfig[e.trueType].value,e.prop])},setOptions(e){const r=e.loadPending({key:"options",origin:e.prop.options,def:[]});e.prop.options=r,e.prop.optionsTo&&r&&De(e.prop,e.prop.optionsTo,r)},deepSet(e){const r=e.prop.deep;r&&Object.keys(r).sort((n,o)=>n.length<o.length?-1:1).forEach(n=>{De(e.prop,n,r[n])})},parseSide(e,r){return g.Object(e)?Ve({props:{formCreateInject:r.prop.props.formCreateInject}},e):e},renderSides(e,r,n){const o=r[n?"rule":"prop"];return[this.renderRule(this.parseSide(o.prefix,r)),e,this.renderRule(this.parseSide(o.suffix,r))]},renderId(e,r){const n=this.$handle[r==="field"?"fieldCtx":"nameCtx"][e];return n?n.map(o=>this.renderCtx(o,o.parent)):void 0},renderCtx(e,r){try{if(e.type==="hidden")return;const n=e.rule;if(this.force||!this.cache[e.id]||this.cache[e.id].slot!==n.slot){let o;e.initProp(),this.mergeGlobal(e),e.initNone(),this.$manager.tidyRule(e),this.deepSet(e),this.setOptions(e),this.ctxProp(e);let i=e.prop;i.preview=!!(i.preview!=null?i.preview:this.$handle.preview),i.props.formCreateInject=this.injectProp(e);let s=i.cache!==!1;const a=i.preview;if(i.hidden){this.setCache(e,void 0,r);return}o=(...l)=>{var $,k;const u={rule:n,prop:i,preview:a,api:this.$handle.api,model:i.model||{},slotValue:l};l.length&&n.slotUpdate&&j(()=>n.slotUpdate(u));let f={};const d=e.loadChildrenPending();e.parser.renderChildren?f=e.parser.renderChildren(d,e):e.parser.loadChildren!==!1&&(f=this.renderChildren(d,e)),Object.keys(i.renderSlots||{}).forEach(V=>{f[V]=(...P)=>{if(g.Function(i.renderSlots[V]))return j(()=>i.renderSlots[V](...P));const M=this.parseSide(i.renderSlots[V],e);return this.renderRule(M)}});const p=this.getTypeSlot(e);let m;return p?(u.children=f,m=p(u)):m=a?e.parser.preview(Xe(f),e):e.parser.render(Xe(f),e),m=this.renderSides(m,e),($=i.title)!=null&&$.show&&(i.wrap=v({show:!0},i.wrap||{}),i.native||(i.native=!1)),(!(!e.input&&g.Undef(i.native))||((k=i.col)==null?void 0:k.show)===!0)&&i.native!==!0&&(this.fc.targetFormDriver("updateWrap",e),m=this.$manager.makeWrap(e,m)),e.none&&(Array.isArray(m)?m=m.map(V=>!V||!V.__v_isVNode?V:this.none(V)):m=this.none(m)),s&&this.setCache(e,()=>this.stable(m),r),m},this.setCache(e,o,r)}return(...o)=>{const i=this.getCache(e);if(i)return i(...o);if(this.cache[e.id])return;const s=this.renderCtx(e,e.parent);if(s)return s()}}catch(n){console.error(n);return}},none(e){if(e)return e.props.class=this.mergeClass(e.props.class,"fc-none"),e},mergeClass(e,r){if(Array.isArray(e))e.push(r);else return e?[e,r]:r;return e},stable(e){return(Array.isArray(e)?e:[e]).forEach(n=>{n&&n.__v_isVNode&&n.children&&typeof n.children=="object"&&(n.children.$stable=!0,this.stable(n.children))}),e},getModelField(e){return e.prop.modelField||e.parser.modelField||this.fc.modelFields[this.vNode.aliasMap[e.type]]||this.fc.modelFields[e.type]||this.fc.modelFields[e.originType]||"modelValue"},isFragment(e){return e.type==="fragment"||e.type==="template"},injectProp(e){const r=this.vm.setupState;r.ctxInject[e.id]||(r.ctxInject[e.id]={api:this.$handle.api,form:this.fc.create,subForm:o=>{this.$handle.addSubForm(e,o)},getSubForm:()=>this.$handle.subForm[e.id],slots:()=>this.vm.setupState.top.slots,getWrap:()=>this.vm.refs[e.wrapRef],options:[],children:[],preview:!1,id:e.id,field:e.field,rule:e.rule,input:e.input,t:(...o)=>this.$handle.api.t(...o),updateValue:o=>{this.$handle.onUpdateValue(e,o)}});const n=r.ctxInject[e.id];return R(n,{preview:e.prop.preview,options:e.prop.options,children:e.loadChildrenPending()}),n},ensureCtxHandlers(e){if(e.handlers)return e.handlers;const r=this;return e.handlers={vnodeMounted(n){n.el.__rule__=e.rule,r.onMounted(e,n.el)},vnodeBeforeUnmount(){r.$handle.effect(e,"beforeUnmount"),r.$handle.targetHook(e,"beforeUnmount")},fcUpdateValue(n){r.$handle.onUpdateValue(e,n)},fcEl(n){e.exportEl=n,n&&((n.$el||n).__rule__=e.rule)},modelCallback(n){r.tmpInput&&r.tmpInput(e.field,n,e.rule),r.onInput(e,n)},modelEmit(){r.onEmitInput(e)}},e.handlers},ctxProp(e){const{ref:r,key:n,rule:o}=e;this.$manager.mergeProp(e),e.parser.mergeProp(e);const i=this.ensureCtxHandlers(e),s=[{ref:r,key:o.key||`${n}fc`,slot:void 0,on:{vnodeMounted:i.vnodeMounted,vnodeBeforeUnmount:i.vnodeBeforeUnmount,"fc.updateValue":i.fcUpdateValue,"fc.el":i.fcEl}}];if(e.input){this.vm.props.disabled===!0&&(e.prop.props.disabled=!0);const a=this.getModelField(e),l={callback:i.modelCallback,modelField:a,value:this.$handle.getFormData(e)};s.push({on:v({[`update:${a}`]:l.callback},e.prop.modelEmit?{[e.prop.modelEmit]:i.modelEmit}:{}),props:{[a]:l.value}}),e.prop.model=l}return Oe(s,e.prop),e.prop},onMounted(e,r){e.el=this.vm.refs[e.ref]||r,e.parser.mounted(e),this.$handle.effect(e,"mounted"),this.$handle.targetHook(e,"mounted")},onInput(e,r){if(e.prop.modelEmit){this.$handle.onBaseInput(e,r);return}this.$handle.onInput(e,r)},onEmitInput(e){this.$handle.setValue(e,e.parser.toValue(e.modelValue,e),e.modelValue)},renderChildren(e,r){if(!g.trueArray(e))return{};const n=Ge();return e.map(o=>{if(o){if(g.String(o)||g.Number(o))return n.setSlot(null,`${o}`);if(o.__fc__)return this.renderSlot(n,o.__fc__,r);o.type&&c.nextTick(()=>{this.$handle.loadChildren(e,r),this.$handle.refresh()})}}),n.getSlots()},defaultRender(e,r){const n=e.prop;return n.component?typeof n.component=="string"?this.vNode.make(n.component,n,r):this.vNode.makeComponent(n.component,n,r):this.vNode[e.type]?this.vNode[e.type](n,r):this.vNode[e.originType]?this.vNode[e.originType](n,r):this.vNode.make(jt(n.type),n,r)},createChildrenVnodes(e,r,n){this.force=n!==!1,this.tmpInput=r;const o=this.renderChildren(e.rule.children,e);return this.force=!1,this.tmpInput=null,o},createRuleVnode(e,r,n){this.force=n!==!1,this.tmpInput=r;const o=Ge();return this.renderSlot(o,e,e.parent),this.force=!1,this.tmpInput=null,o.getSlots()},renderRule(e,r,n){if(!e)return;if(g.String(e)||g.Number(e))return`${e}`;let o;if(n)o=e.type;else if(o=e.is,e.type){o=le(e.type);const a=this.vNode.aliasMap[o];a&&(o=le(a))}if(!o)return;const i=Ge();g.trueArray(e.children)&&e.children.forEach(a=>{a&&i.setSlot(a==null?void 0:a.slot,()=>this.renderRule(a))});const s=v({},e);return delete s.type,delete s.is,this.vNode.make(o,s,i.mergeBag(r).getSlots())}})}let Dn=1;function ut(t){R(this,{$handle:t,fc:t.fc,vm:t.vm,$manager:t.$manager,vNode:new t.fc.CreateNode(t),force:!1,tmpInput:null,id:Dn++}),Tt(this,{options(){return t.options},sort(){return t.sort}}),this.initCache(),this.initRender()}Sn(ut),kn(ut);function En(t){R(t.prototype,{parseInjectEvent(e,r){const n=e.inject||this.options.injectEvent;return this.parseEventLst(e,r,n)},parseEventLst(e,r,n,o){return Object.keys(r).forEach(i=>{const s=this.parseEvent(e,r[i],n,o);s&&(r[i]=s)}),r},parseEvent(e,r,n,o){if(g.Function(r)&&(n!==!1&&!g.Undef(n)||r.__inject))return this.inject(e,r,n);if(!o&&Array.isArray(r)&&r[0]&&(g.String(r[0])||g.Function(r[0])))return this.parseEventLst(e,r,n,!0);if(g.String(r)){const i=be(r);if(i&&r!==i)return i.__inject?this.parseEvent(e,i,n,!0):i}},parseEmit(e){let r={},n=e.rule,{emitPrefix:o,field:i,name:s,inject:a}=n,l=n.emit||[];return g.trueArray(l)&&l.forEach(u=>{if(!u)return;let f,d=o||i||s;if(g.Object(u)&&(f=u.inject,u=u.name,d=u.prefix||d),d){const p=Te(`${d}-${u}`),m=(...$)=>{this.vm.emitsOptions&&!this.vm.emitsOptions[p]&&(this.vm.emitsOptions[p]=null),this.vm.emit(p,...$),this.vm.emit("emit-event",p,...$),this.bus.$emit(p,...$)};if(m.__emit=!0,!f&&a===!1)r[le(u)]=m;else{let $=f||a||this.options.injectEvent;r[le(u)]=g.Undef($)?m:this.inject(n,m,$)}}}),e.computed.on=r,r},getInjectData(e,r){const n=e.__fc__&&e.__fc__.$api,o=e.__fc__&&e.__fc__.$handle.vm||this.vm,{option:i,rule:s}=o.props;return{$f:n||this.api,api:n||this.api,rule:s,self:e.__origin__,option:i,inject:r}},inject(e,r,n){if(r.__origin){if(this.watching&&!this.loading)return r;r=r.__origin}const o=this,i=function(...s){const a=o.getInjectData(e,n);return a.args=[...s],s.unshift(a),r.apply(this,s)};return i.__origin=r,i.__json=r.__json,i},loadStrVar(e,r,n){if(e&&typeof e=="string"&&e.indexOf("{{")>-1&&e.indexOf("}}")>-1){const o=e,i=$n(e),s=u=>{let f=!1,d;if(n&&u.indexOf("$form.")===0){const p=u.split(".");p.shift(),z(n.value,p[0])&&(f=!0,d=r?r({id:"$form."+p[0]+"_"+n.rule.__fc__.id,getValue:()=>se(n.value,p)}):se(n.value,p))}return f||(d=r?r(u):this.fc.getLoadData(u)),d},a=u=>{const f=[];u.forEach(p=>{p.key?f.push(p.key):p.children&&f.push(a(p.children))});let d=!1;return f.forEach((p,m)=>{p!=null&&(p.indexOf("'")===0||p.indexOf('"')===0)&&(f[m]=p.slice(1,-1),d=!0)}),f.length===1&&(d||!isNaN(Number(f[0])))?f[0]:s(f.join("."))};let l;if(i.forEach(u=>{const f=u.split("||"),d=f[0].trim();if(d){const p=(f[1]||"").trim(),m=Ut(d);let $=j(()=>a(m));($==null||$==="")&&f.length>1&&($=p),l=$,e=e.replaceAll(`{{${u}}}`,$==null?"":$)}}),i.length===1&&o===`{{${i[0]}}}`)return l}return e},loadFetchVar(e,r,n){let o;n&&n.__fc__&&(o=n.__fc__.getParentGroup()),!o&&e.targetRule&&e.targetRule.__fc__&&(o=e.targetRule.__fc__.getParentGroup());const i=s=>this.loadStrVar(s,r,o?{rule:n,value:this.subRuleData[o.id]||{}}:null);return e.action=i(e.action||""),["headers","data","query"].forEach(s=>{if(e[s]){const a=Array.isArray(e[s])?[]:{};Object.keys(e[s]).forEach(l=>{a[i(l)]=i(e[s][l])}),e[s]=a}}),e}})}const Jt=["hook:updated","hook:mounted"];function Fn(t){R(t.prototype,{usePage(){const e=this.options.page;if(!e)return;let r=25,n=Rn(this.rules);g.Object(e)&&(e.first&&(r=parseInt(e.first,10)||r),e.limit&&(n=parseInt(e.limit,10)||n)),R(this,{first:r,limit:n,pageEnd:this.rules.length<=r}),this.bus.$on("page-end",()=>this.vm.emit("page-end",this.api)),this.pageLoad()},pageLoad(){const e=()=>{this.pageEnd?(this.bus.$off(Jt,e),this.bus.$emit("page-end")):(this.first+=this.limit,this.pageEnd=this.rules.length<=this.first,this.loadRule(),this.refresh())};this.bus.$on(Jt,e)}})}function Rn(t){return t.length<31?31:Math.ceil(t.length/3)}function An(t){R(t.prototype,{clearNextTick(){this.nextTick&&clearTimeout(this.nextTick),this.nextTick=null},bindNextTick(e){this.clearNextTick(),this.nextTick=setTimeout(()=>{e(),this.nextTick=null},10)},render(){return++this.loadedId,this.vm.setupState.unique>0?this.$render.render():(this.vm.setupState.unique=1,[])}})}function Mn(t){Object.defineProperties(t.origin,{__fc__:ot(c.markRaw(t))}),t.rule!==t.origin&&Object.defineProperties(t.rule,{__fc__:ot(c.markRaw(t))})}function Kt(t,e,r){const n=qe(),o=!!e.field;R(this,{id:n,ref:n,wrapRef:n+"fi",rule:e,origin:e.__origin__||e,name:e.name,pending:{},none:!1,watch:[],linkOn:[],root:[],ctrlRule:[],children:[],parent:null,group:e.subRule?this:null,cacheConfig:null,prop:v({},e),computed:{},payload:{},refRule:{},handlers:null,input:o,el:void 0,exportEl:void 0,defaultValue:o?$e(r):void 0,field:e.field||void 0}),this.updateKey(),Mn(this),this.update(t,!0)}R(Kt.prototype,{getParentGroup(){let t=this.parent;for(;t;){if(t.group)return t;t=t.parent}},loadChildrenPending(){const t=this.rule.children||[];return Array.isArray(t)?t:this.loadPending({key:"children",origin:t,def:[],onLoad:e=>{this.$handle&&this.$handle.loadChildren(e,this)},onUpdate:(e,r)=>{this.$handle&&(e===r?this.$handle.loadChildren(e,this):this.$handle.updateChildren(this,e,r))},onReload:e=>{this.$handle?this.$handle.updateChildren(this,[],e):delete this.pending.children}})},loadPending(t){const{key:e,origin:r,def:n,onLoad:o,onReload:i,onUpdate:s}=t;if(this.pending[e]&&this.pending[e].origin===r)return this.getPending(e,n);delete this.pending[e];let a=r;if(g.Function(r)){let l=j(()=>r({rule:this.rule,api:this.$api,update:u=>{const f=u||n,d=this.getPending(e,n);this.setPending(e,r,f),s&&s(f,d)},reload:()=>{const u=this.getPending(e,n);delete this.pending[e],i&&i(u),this.$api&&this.$api.sync(this.rule)}}));l&&g.Function(l.then)?(l.then(u=>{const f=u||n;this.setPending(e,r,f),o&&o(f),this.$api&&this.$api.sync(this.rule)}).catch(u=>{console.error(u)}),a=n,this.setPending(e,r,a)):(a=l||n,this.setPending(e,r,a),o&&o(a))}return a},getPending(t,e){return this.pending[t]&&this.pending[t].value||e},setPending(t,e,r){this.pending[t]={origin:e,value:c.reactive(r)}},effectData(t){return this.payload[t]||(this.payload[t]={}),this.payload[t]},clearEffectData(t){t===void 0?this.payload={}:delete this.payload[t]},updateKey(t){this.key=qe(),t&&this.parent&&this.parent.updateKey(t)},updateType(){this.originType=this.rule.type,this.type=le(this.rule.type),this.trueType=this.$handle.getType(this.originType)},setParser(t){this.parser=t,t.init(this)},initProp(){var e,r,n;const t=v({},this.rule);delete t.children,delete t.validate,this.prop=Ve({},[t,...Object.keys(this.payload).map(o=>this.payload[o]),this.computed]),t.col&&((e=t.col)==null?void 0:e.show)!==!1&&(this.prop.col.show=!0),this.prop.validate=[...((n=(r=this.refRule)==null?void 0:r.__$validate)==null?void 0:n.value)||[],...this.prop.validate||[]]},initNone(){this.none=!(g.Undef(this.prop.display)||this.prop.display)},hasHidden(){return!!this.rule.hidden||(this.parent?this.parent.hasHidden():!1)},injectValidate(){return this.prop.validate},check(t){return this.vm===t.vm},unwatch(){this.watch.forEach(t=>t()),this.watch=[],Object.keys(this.refRule).forEach(t=>{t.indexOf("__$")!==0&&delete this.refRule[t]})},unlink(){this.linkOn.forEach(t=>t()),this.linkOn=[]},link(){this.unlink(),this.$handle.appendLink(this)},watchTo(){this.$handle.watchCtx(this)},delete(){this.unwatch(),this.unlink(),this.rmCtrl(),this.parent&&this.parent.children.splice(this.parent.children.indexOf(this)>>>0,1),R(this,{deleted:!0,computed:{},parent:null,children:[],cacheConfig:null,none:!1,handlers:null,el:void 0,exportEl:void 0})},rmCtrl(){this.ctrlRule.forEach(t=>t.__fc__&&t.__fc__.rm()),this.ctrlRule=[]},rm(){const t=()=>{let e=this.root.indexOf(this.origin);e>-1&&(this.root.splice(e,1),this.$handle&&this.$handle.refresh())};if(this.deleted){t();return}this.$handle.noWatch(()=>{this.$handle.deferSyncValue(()=>{this.rmCtrl(),t(),this.$handle.rmCtx(this),R(this,{root:[]})},this.input)})},update(t,e){R(this,{deleted:!1,$handle:t,$render:t.$render,$api:t.api,vm:t.vm,vNode:t.$render.vNode,updated:!1,cacheValue:this.rule.value}),!e&&this.unwatch(),this.watchTo(),this.link(),this.updateType()}});function jn(t){R(t.prototype,{nextRefresh(e){const r=this.loadedId;c.nextTick(()=>{r===this.loadedId&&(e?e():this.refresh())})},parseRule(e){const r=Pt(e);return Object.defineProperties(r,{__origin__:ot(e)}),Nn(r),this.appendValue(r),[r,r.prefix,r.suffix].forEach(n=>{n&&this.loadFn(n,r)}),this.loadCtrl(r),r.update&&(r.update=be(r.update)),r},loadFn(e,r){["on","props","deep"].forEach(n=>{e[n]&&this.parseInjectEvent(r,e[n])})},loadCtrl(e){e.control&&e.control.forEach(r=>{r.handle&&(r.handle=be(r.handle))})},syncProp(e){const r=e.rule;g.trueArray(r.sync)&&Oe([{on:r.sync.reduce((n,o)=>(n[typeof o=="object"&&o.event||`update:${o}`]=i=>{r.props[typeof o=="object"&&o.prop||o]=i,this.vm.emit("sync",o,i,r,this.fapi)},n),{})}],e.computed)},loadRule(){this.cycleLoad=!1,this.loading=!0,this.pageEnd&&this.bus.$emit("load-start"),this.deferSyncValue(()=>{if(this._loadRule(this.rules),this.loading=!1,this.cycleLoad&&this.pageEnd)return this.loadRule();this.syncForm(),this.pageEnd&&this.bus.$emit("load-end"),this.vm.setupState.renderRule()})},loadChildren(e,r){if(this.cycleLoad=!1,this.loading=!0,this.bus.$emit("load-start"),this._loadRule(e,r),this.loading=!1,this.cycleLoad)return this.loadRule();this.syncForm(),this.bus.$emit("load-end"),this.$render.clearCache(r)},_loadRule(e,r){const n=s=>{let a=e[s-1];if(!a||!a.__fc__)return s>0?n(s-1):-1;let l=this.sort.indexOf(a.__fc__.id);return l>-1?l:n(s-1)},o=(s,a)=>{g.trueArray(s)&&this._loadRule(s,a)},i=e.map((s,a)=>{if(r&&!g.Object(s)||!this.pageEnd&&!r&&a>=this.first)return;if(s.__fc__&&s.__fc__.root===e&&this.ctxs[s.__fc__.id])return o(s.__fc__.loadChildrenPending(),s.__fc__),s.__fc__;let l=Pt(s);const u=()=>!!(l.field&&this.fieldCtx[l.field]&&this.fieldCtx[l.field][0]!==s.__fc__);this.fc.targetFormDriver("loadRule",{rule:l,api:this.api},this.fc),this.ruleEffect(l,"init",{repeat:u()}),u()&&this.vm.emit("repeat-field",s,this.api);let f,d=!1,p=!!s.__fc__,m=l.value;if(p){if(f=s.__fc__,m=f.defaultValue,f.deleted){if(Qt(f))return;f.update(this)}else if(!f.check(this)){if(Qt(f))return;e[a]=s=s._clone?s._clone():Vt(Be(s)),f=null,d=!0}}if(f)f.originType!==f.rule.type&&f.updateType(),this.bindParser(f),this.appendValue(f.rule),f.parent&&f.parent!==r&&this.rmSubRuleData(f);else{const V=this.parseRule(s);f=new Kt(this,V,m),this.bindParser(f)}this.parseEmit(f),this.syncProp(f),f.parent=r||null,f.root=e,this.setCtx(f),!d&&!p&&(this.effect(f,"load"),this.targetHook(f,"load")),this.effect(f,"created");const $=f.loadChildrenPending();if(f.parser.loadChildren===!1||o($,f),!r){const V=n(a);V>-1||!a?this.sort.splice(V+1,0,f.id):this.sort.push(f.id)}const k=f.rule;return f.updated||(f.updated=!0,g.Function(k.update)&&this.bus.$once("load-end",()=>{this.refreshUpdate(f,k.value,"init")}),this.effect(f,"loaded")),this.refreshControl(f)&&(this.cycleLoad=!0),f}).filter(s=>!!s);r&&(r.children=i)},refreshControl(e){return e.input&&e.rule.control&&this.useCtrl(e)},useCtrl(e){const r=In(e),n=[],o=this.api;if(!r.length)return!1;for(let a=0;a<r.length;a++){const l=r[a],u=l.handle||function(d){return(Ne[l.condition||"=="]||Ne["=="])(d,l.value)};if(!g.trueArray(l.rule))continue;const f=fe(v({},l),{valid:j(()=>u(e.rule.value,o)),ctrl:Pn(e,l.rule),isHidden:g.String(l.rule[0])});f.valid&&f.ctrl||!f.valid&&!f.ctrl&&!f.isHidden||n.push(f)}if(!n.length)return!1;const i=[];let s=!1;return this.deferSyncValue(()=>{n.reverse().forEach(({isHidden:a,valid:l,rule:u,prepend:f,append:d,child:p,ctrl:m,method:$})=>{if(a){l?e.ctrlRule.push({__ctrl:!0,children:u,valid:l}):m&&e.ctrlRule.splice(e.ctrlRule.indexOf(m)>>>0,1),i[l?"push":"unshift"](()=>{$==="disabled"||$==="enabled"?this.api.disabled(!l,u):$==="display"||$==="show"?this.api.display(l,u):$==="required"?(u.forEach(k=>{this.api.setEffect(k,"required",l)}),l||this.api.clearValidateState(u)):$==="if"?this.api.hidden(!l,u):this.api.hidden(!l,u)});return}if(l){s=!0;const k={type:"fragment",native:!0,__ctrl:!0,children:u};e.ctrlRule.push(k),this.bus.$once("load-start",()=>{f?o.prepend(k,f,p):d||p?o.append(k,d||e.id,p):e.root.splice(e.root.indexOf(e.origin)+1,0,k)})}else{e.ctrlRule.splice(e.ctrlRule.indexOf(m),1);const k=_e(m);k&&k.rm()}})}),i.length&&(this.loading?i.length&&this.bus.$once("load-end",()=>{i.forEach(a=>a())}):i.length&&c.nextTick(()=>{i.forEach(a=>a())})),this.vm.emit("control",e.origin,this.api),this.effect(e,"control"),s},reloadRule(e){return this._reloadRule(e)},_reloadRule(e){e||(e=this.rules);const r=v({},this.ctxs);this.clearNextTick(),this.initData(e),this.fc.rules=e,this.deferSyncValue(()=>{this.bus.$once("load-end",()=>{Object.keys(r).filter(n=>this.ctxs[n]===void 0).forEach(n=>this.rmCtx(r[n])),this.$render.clearCacheAll()}),this.reloading=!0,this.loadRule(),this.reloading=!1,this.refresh(),this.bus.$emit("reloading",this.api)}),this.bus.$off("next-tick",this.nextReload),this.bus.$once("next-tick",this.nextReload),this.bus.$emit("update",this.api)},refresh(){this.vm.setupState.refresh()}})}function Nn(t){const e=qt();return Object.keys(e).forEach(r=>{z(t,r)||(t[r]=e[r])}),t}function In(t){const e=t.rule.control||[];return g.Object(e)?[e]:e}function Pn(t,e){for(let r=0;r<t.ctrlRule.length;r++){const n=t.ctrlRule[r];if(n.children===e)return n}}function Qt(t){return!!t.rule.__ctrl}function Tn(t){R(t.prototype,{setValue(e,r,n,o){e.deleted||this.options.trim&&(g.String(r)&&(r=r.trim()),g.String(n)&&(n=n.trim()),r===e.rule.value)||(e.rule.value=r,this.changeStatus=!0,this.setFormData(e,n),this.$render.clearCache(e),this.nextRefresh(),this.syncValue(),this.valueChange(e,r),this.vm.emit("change",e.field,r,e.origin,this.api,o||!1),this.effect(e,"value"),this.targetHook(e,"value",{value:r}),this.emitEvent("change",e.field,r,{rule:e.origin,api:this.api,setFlag:o||!1}),o&&c.nextTick(()=>{c.nextTick(()=>{c.nextTick(()=>{this.api.clearValidateState(e.id)})})}),this.$manager.fieldChange(e,r,n,o))},onInput(e,r){let n;e.input&&(this.isQuote(e,n=e.parser.toValue(r,e))||this.isChange(e,r))&&this.setValue(e,n,r)},onUpdateValue(e,r){this.deferSyncValue(()=>{const n=e.getParentGroup(),o=n?this.subRuleData[n.id]:null,i={};Object.keys(r||{}).forEach(s=>{o&&z(o,s)?i[s]=r[s]:z(this.api.form,s)?this.api.form[s]=r[s]:this.api.top!==this.api&&z(this.api.top.form,s)&&(this.api.top.form[s]=r[s])}),Object.keys(i).length&&this.api.setChildrenFormData(n.rule,i)})},onBaseInput(e,r){this.setFormData(e,r),this.$render.clearCache(e),this.nextRefresh()},setFormData(e,r){e.modelValue=r;const n=e.getParentGroup();n&&(this.subRuleData[n.id]||(this.subRuleData[n.id]={}),this.subRuleData[n.id][e.field]=e.rule.value),de(this.formData,e.id,r)},rmSubRuleData(e){const r=e.getParentGroup();r&&this.subRuleData[r.id]&&delete this.subRuleData[r.id][e.field]},getFormData(e){return this.formData[e.id]},syncForm(){const e=c.reactive({}),r=this.fields(),n=[];this.options.appendValue!==!1&&Object.keys(this.appendData).reduce((o,i)=>(r.indexOf(i)===-1&&(o[i]=c.toRef(this.appendData,i)),o),e),r.reduce((o,i)=>{let s=(this.fieldCtx[i]||[]).filter(a=>!this.isIgnore(a))[0];return s||(s=this.fieldCtx[i][0],n.push(i)),o[i]=c.toRef(s.rule,"value"),o},e),this.form=e,this.ignoreFields=n,this.syncValue()},isIgnore(e){return e.rule.ignore===!0||(e.rule.ignore==="hidden"||this.options.ignoreHiddenFields)&&e.hasHidden()},appendValue(e){(!e.field||!z(this.appendData,e.field))&&(!g.Undef(e.value)||!this.options.forceCoverValue)||(e.value=this.appendData[e.field],delete this.appendData[e.field])},addSubForm(e,r){this.subForm[e.id]=r},deferSyncValue(e,r){this.deferSyncFn||(this.deferSyncFn=e),this.deferSyncFn.sync||(this.deferSyncFn.sync=r),j(e),this.deferSyncFn===e&&(this.deferSyncFn=null,e.sync&&this.syncForm())},syncValue(){if(this.deferSyncFn)return this.deferSyncFn.sync=!0;const e={};Object.keys(this.form).forEach(r=>{this.ignoreFields.indexOf(r)===-1&&(e[r]=this.form[r])}),this.vm.setupState.updateValue(e)},isChange(e,r){const n=this.getFormData(e);if(n===r)return!1;const o=typeof n;return o===typeof r&&(o==="string"||o==="boolean"||o==="number"&&Number.isFinite(n)&&Number.isFinite(r))?!0:JSON.stringify(n,Zt)!==JSON.stringify(r,Zt)},isQuote(e,r){return(r instanceof Function||g.Object(r)||Array.isArray(r))&&r===e.rule.value},refreshUpdate(e,r,n,o){if(g.Function(e.rule.update)){const i=j(()=>e.rule.update(r,e.origin,this.api,{origin:n||"change",linkField:o}));if(i===void 0)return;e.rule.hidden=i===!0}},valueChange(e,r){this.refreshRule(e,r),this.bus.$emit("change-"+e.field,r)},refreshRule(e,r,n,o){this.refreshControl(e)&&(this.$render.clearCacheAll(),this.loadRule(),this.bus.$emit("update",this.api),this.refresh()),this.refreshUpdate(e,r,n,o)},appendLink(e){const r=e.rule.link;g.trueArray(r)&&r.forEach(n=>{const o=()=>this.refreshRule(e,e.rule.value,"link",n);this.bus.$on("change-"+n,o),e.linkOn.push(()=>this.bus.$off("change-"+n,o))})},fields(){return Object.keys(this.fieldCtx)}})}function Zt(t,e){return typeof e=="function"?""+e:e}const xe={init(t){},toFormValue(t,e){return t},toValue(t,e){return t},mounted(t){},render(t,e){return e.$handle.fc.renderDriver&&e.$handle.fc.renderDriver.defaultRender?e.$handle.fc.renderDriver.defaultRender(e,t):e.$render.defaultRender(e,t)},preview(t,e){return e.$handle.fc.renderDriver&&e.$handle.fc.renderDriver.defaultPreview?e.$handle.fc.renderDriver.defaultPreview(e,t):this.render(t,e)},mergeProp(t){}},Bn=["field","value","vm","template","name","config","control","inject","sync","payload","optionsTo","update","slotUpdate","computed","component","cache"],Ye=Symbol("oldValue"),Ln=["$condition","$variableVal","$val","$form","$scope","$group","$rule"],xn=["$formulas","$form","$scope","$group","$rule","$api"],Ze=new Map,Yn=1e3;function Xt(t,e){const r=t.join(",")+"|"+e;let n=Ze.get(r);return n||(Ze.size>=Yn&&Ze.clear(),n=new Function(...t,e),Ze.set(r,n)),n}function Un(t){R(t.prototype,{scheduleComputedUpdate(e){(this._computedQueue||(this._computedQueue=[])).push(e),!(this._computedFlushing||this._computedScheduled)&&(this._computedScheduled=!0,setTimeout(()=>{this._computedScheduled=!1,this._computedFlushing=!0;try{const r=this._computedQueue||[];this._computedQueue=[];for(let n=0;n<r.length;n++)j(r[n]),this._computedQueue&&this._computedQueue.length&&(r.push(...this._computedQueue),this._computedQueue=[])}finally{this._computedFlushing=!1}}))},getCtx(e){return this.getFieldCtx(e)||this.getNameCtx(e)[0]||this.ctxs[e]},getCtxs(e){return this.fieldCtx[e]||this.nameCtx[e]||(this.ctxs[e]?[this.ctxs[e]]:[])},setIdCtx(e,r,n){const o=`${n}Ctx`;this[o][r]?this[o][r].push(e):this[o][r]=[e]},rmIdCtx(e,r,n){const o=`${n}Ctx`,i=this[o][r];if(!i)return!1;const s=i.splice(i.indexOf(e)>>>0,1).length>0;return i.length||delete this[o][r],s},getFieldCtx(e){return(this.fieldCtx[e]||[])[0]},getNameCtx(e){return this.nameCtx[e]||[]},setCtx(e){let{id:r,field:n,name:o,rule:i}=e;this.ctxs[r]=e,o&&this.setIdCtx(e,o,"name"),e.input&&(this.setIdCtx(e,n,"field"),this.setFormData(e,e.parser.toFormValue(i.value,e)),this.isMounted&&!this.reloading&&this.vm.emit("change",e.field,i.value,e.origin,this.api,!1,!0))},getParser(e){const r=this.fc.parsers,n=this.fc.renderDriver;if(n){const o=n.parsers||{},i=o[e.originType]||o[le(e.type)]||o[e.trueType];if(i)return i}return r[e.originType]||r[le(e.type)]||r[e.trueType]||xe},bindParser(e){e.setParser(this.getParser(e))},getType(e){const r=this.fc.CreateNode.aliasMap,n=r[e]||r[le(e)]||e;return le(n)},noWatch(e){this.noWatchFn||(this.noWatchFn=e),j(e),this.noWatchFn===e&&(this.noWatchFn=null)},watchCtx(e){const r=Et().filter(s=>s[0]!=="_"&&s[0]!=="$"&&Bn.indexOf(s)===-1),n={},o=(s,a,l)=>(u,f)=>{let d=a.value;if(!this.isBreakWatch()){if(l&&e.parser.loadChildren===!1){this.$render.clearCache(e),this.nextRefresh();return}if(this.watching=!0,c.nextTick(()=>{this.targetHook(e,"watch",{key:s,oldValue:f,newValue:d})}),s==="hidden"&&!!d!=!!f&&c.nextTick(()=>{this.targetHook(e,"hidden",{value:d})}),s==="ignore"&&e.input||s==="hidden"&&(e.rule.ignore==="hidden"||this.options.ignoreHiddenFields))this.syncForm();else if(s==="link"){e.link();return}else["props","on","deep"].indexOf(s)>-1?(this.parseInjectEvent(e.rule,d||{}),s==="props"&&e.input&&this.setFormData(e,e.parser.toFormValue(e.rule.value,e))):s==="emit"?this.parseEmit(e):["prefix","suffix"].indexOf(s)>-1?d&&this.loadFn(d,e.rule):s==="type"?(e.updateType(),this.bindParser(e)):l&&(g.Function(f)&&(f=e.getPending("children",[])),g.Function(d)&&(d=e.loadChildrenPending()),this.updateChildren(e,d,f));this.$render.clearCache(e),this.refresh(),this.watching=!1}},i=(s,a)=>{if(n[s])return;n[s]=!0;const l=e.refRule[s],u=s==="children",f=o(s,l,u);e.watch.push(c.watch(u?()=>g.Function(l.value)?l.value:[...l.value||[]]:()=>l.value,f,{deep:!u,sync:u})),a&&f(l.value,void 0)};if(r.forEach(s=>{e.refRule[s]=c.toRef(e.rule,s),z(e.rule,s)&&i(s)}),e.watch.push(c.watch(()=>Object.keys(e.rule).join("|"),()=>{r.forEach(s=>{!n[s]&&z(e.rule,s)&&i(s,!0)})})),e.refRule.__$title=c.computed(()=>{let s=(typeof e.rule.title=="object"?e.rule.title.title:e.rule.title)||"";if(s){const a=s.match(/^\{\{\s*\$t\.(.+)\s*\}\}$/);a&&(s=this.api.t(a[1]))}return s}),e.refRule.__$info=c.computed(()=>{let s=(typeof e.rule.info=="object"?e.rule.info.info:e.rule.info)||"";if(s){const a=s.match(/^\{\{\s*\$t\.(.+)\s*\}\}$/);a&&(s=this.api.t(a[1]))}return s}),e.refRule.__$validate=c.computed(()=>{const s=a=>{var u,f;const l=a.match(/^\{\{\s*\$t\.(.+)\s*\}\}$/);return l?this.api.t(l[1],{title:(f=(u=e.refRule)==null?void 0:u.__$title)==null?void 0:f.value}):a};return ae(e.rule.validate).map(a=>{const l=v({},a);if(l.message&&(l.message=s(l.message)),g.Function(l.validator)){const u=e;l.validator=function(...f){return a.validator.call({that:this,id:u.id,field:u.field,rule:u.rule,api:u.$handle.api},...f)}}if(l.adapter){if(typeof l.error=="object"){const u=v({},l.error);Object.keys(u).forEach(f=>{u[f]=s(u[f])}),l.error=u}return this.adapterValidate(l,e)}return l})}),e.input){const s=c.toRef(e.rule,"value");e.watch.push(c.watch(()=>s.value,()=>{let a=e.parser.toFormValue(s.value,e);this.isChange(e,a)&&this.setValue(e,s.value,a,!0)}))}this.bus.$once("load-end",()=>{let s=e.rule.computed;s&&(typeof s!="object"&&(s={value:s}),Object.keys(s).forEach(a=>{const l=c.computed(()=>{const f=s[a];if(!f)return;const d=this.compute(e,f);return(f.linkage||f.linkageVariable)&&d===Ye?Ye:d}),u=f=>{a==="value"?this.onInput(e,f):a[0]==="$"?this.api.setEffect(e.id,a,f):De(e.rule,a,f)};(a==="value"?[void 0,null,""].indexOf(e.rule.value)>-1:l.value!==se(e.rule,a))&&u(l.value),e.watch.push(c.watch(l,f=>{f!==Ye&&this.scheduleComputedUpdate(()=>u(f))},{deep:!0}))}))}),this.watchEffect(e)},adapterValidate(e,r){const n=(o,i)=>{if((e.beforeValidate&&j(()=>e.beforeValidate({value:o,api:this.api,validate:e,rule:r.rule})))===!1)i();else{const a=this.validator(r,o,e);if(a){let l="";typeof e.error=="object"&&(l=e.error[a]||e.error.default),!l&&typeof e.message=="string"&&(l=e.message),l||(l=this.getValidateMessage(r,{key:a,rule:e[a]})),i(l)}else if(e.validator){const l=e.validator&&j(()=>e.validator(o,i));l&&g.Function(l.then)&&l.then(()=>i()).catch(u=>i(u))}else i()}};return this.$manager.adapterValidate({required:e.required,message:e.message,trigger:e.trigger},n)},getValidateMessage(e,r){var o,i;const n=Array.isArray(r.rule)?r.rule.join(","):""+r.rule;return this.api.t(r.key==="required"?r.key:"validate."+r.key,{[r.key]:n,title:(i=(o=e.refRule)==null?void 0:o.__$title)==null?void 0:i.value})},validator(e,r,n){if(g.empty(r))return n.required?"required":void 0;for(const[i,s]of Object.entries(n))switch(i){case"len":case"maxLen":case"minLen":const a=$=>i==="len"?$===s:i==="maxLen"?$<=s:$>=s;if(Array.isArray(r)){if(!a(r.length))return i}else{if(typeof r=="object")return i;if(!a((""+r).length))return i}break;case"pattern":if(!(typeof s=="string"?new RegExp(s):s).test(""+r))return i;break;case"uppercase":if(s&&(typeof r!="string"||!/^[A-Z]*$/.test(r)))return i;break;case"lowercase":if(s&&(typeof r!="string"||!/^[a-z]*$/.test(r)))return i;break;case"min":case"max":case"positive":case"negative":case"integer":case"number":const u=Number(r);if(Number.isNaN(u)||i==="min"&&u<s||i==="max"&&u>s||i==="positive"&&u<=0||i==="negative"&&u>=0||i==="integer"&&!Number.isInteger(u))return i;break;case"equal":if(r!==s)return i;break;case"enum":if(Array.isArray(s)&&!s.includes(r))return i;break;case"hasKeys":if(typeof r!="object"||Array.isArray(s)&&s.some($=>!($ in r)))return i;break;case"email":if(!/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(""+r))return i;break;case"url":if(!new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$","i").test(""+r))return i;break;case"ip":if(!/^(2(5[0-5]{1}|[0-4]\d{1})|[0-1]?\d{1,2})(\.(2(5[0-5]{1}|[0-4]\d{1})|[0-1]?\d{1,2})){3}$/.test(""+r))return i;break;case"phone":if(!/^(?:(?:\+|00)86)?1[3-9]\d{9}$/.test(""+r))return i;break;case"computed":if(!this.compute(e,s))return i;break}},compute(e,r){let n;if(typeof r=="object"){const o=e.getParentGroup(),i=a=>{if(a=Array.isArray(a)?{mode:"AND",group:a}:a,!g.trueArray(a.group))return!0;const l=a.mode==="OR";let u=!0;for(let f=0;f<a.group.length;f++){const d=a.group[f];let p,m=null,$=null;if(d.variable)$=this.fc.getLoadData(d.variable);else if(d.field)m=Yt(d.field||"");else if(!d.mode)return!0;let k=d.compare;if(k&&(k=Yt(k||"")),d.mode?p=i(d):Ne[d.condition]?g.Function(d.handler)?p=j(()=>d.handler(this.api,e.rule)):p=j(()=>Xt(Ln,`with($form){with($scope){with(this){with($group){ return $condition['${d.condition}'](${d.variable?"$variableVal":m}, ${k||"$val"}); }}}}`).call(this.api.form,Ne,$,d.value,this.api.top.form,this.api.top===this.api.scope?{}:this.api.scope.form,o?this.subRuleData[o.id]||{}:{},e.rule)):p=!1,l&&p)return!0;l||(u=u&&p)}return l?!1:u};let s=i(r);return s=r.invert===!0?!s:s,r.linkage?s?j(()=>this.computeValue(r.linkage,e,o),void 0):Ye:r.linkageVariable?s?j(()=>this.fc.getLoadData(r.linkageVariable),void 0):Ye:s}else if(g.Function(r))n=()=>r(this.api.form,this.api,e.rule);else{const o=e.getParentGroup();n=()=>this.computeValue(r,e,o)}return j(n,void 0)},computeValue(e,r,n){const o=this,i=Object.keys(this.fc.formulas).reduce((s,a)=>(s[a]=function(...l){return o.fc.formulas[a].call({that:this,rule:r.rule,api:o.api,fc:o.fc},...l)},s),{});return j(()=>Xt(xn,`with($form){with($scope){with(this){with($group){with($formulas){ return ${e} }}}}}`).call(this.api.form,i,this.api.top.form,this.api.top===this.api.scope?{}:this.api.scope.form,n?this.subRuleData[n.id]||{}:{},r.rule,this.api),void 0)},updateChildren(e,r,n){this.deferSyncValue(()=>{n&&n.forEach(o=>{(r||[]).indexOf(o)===-1&&o&&!g.String(o)&&o.__fc__&&o.__fc__.parent===e&&this.rmCtx(o.__fc__)}),g.trueArray(r)&&(this.loadChildren(r,e),this.bus.$emit("update",this.api))})},rmSub(e){g.trueArray(e)&&e.forEach(r=>{r&&r.__fc__&&this.rmCtx(r.__fc__)})},rmCtx(e){if(e.deleted)return;const{id:r,field:n,input:o,name:i}=e;je(this.ctxs,r),je(this.formData,r),je(this.subForm,r),je(this.vm.setupState.ctxInject,r);const s=e.getParentGroup();s&&this.subRuleData[s.id]&&je(this.subRuleData[s.id],n),e.group&&je(this.subRuleData,r),o&&this.rmIdCtx(e,n,"field"),i&&this.rmIdCtx(e,i,"name"),o&&!z(this.fieldCtx,n)&&je(this.form,n),this.deferSyncValue(()=>{if(!this.reloading){if(e.parser.loadChildren!==!1){const l=e.getPending("children",e.rule.children);g.trueArray(l)&&l.forEach(u=>u&&u.__fc__&&this.rmCtx(u.__fc__))}e.root===this.rules&&this.vm.setupState.renderRule()}},o);const a=this.sort.indexOf(r);return a>-1&&this.sort.splice(a,1),this.$render.clearCache(e),e.delete(),this.effect(e,"deleted"),this.targetHook(e,"deleted"),o&&!this.fieldCtx[n]&&this.vm.emit("remove-field",n,e.rule,this.api),e.rule.__ctrl||this.vm.emit("remove-rule",e.rule,this.api),e}})}function qn(t){R(t.prototype,{mounted(){const e=()=>{this.isMounted=!0,this.lifecycle("mounted")};this.pageEnd?e():this.bus.$once("page-end",e)},lifecycle(e){this.fc.targetFormDriver(e,this.api,this.fc),this.vm.emit(e,this.api),this.emitEvent(e,this.api)},emitEvent(e,...r){const n=this.options[e]||this.options[le("on-"+e)];if(n){const o=be(n);g.Function(o)&&j(()=>o(...r))}this.bus.$emit(e,...r)},targetHook(e,r,n){var l,u,f,d;let o=(u=(l=e.prop)==null?void 0:l.hook)==null?void 0:u[r],i=(p,m)=>{p&&(p=Array.isArray(p)?p:[p],p.forEach($=>{j(()=>$(fe(v({args:Object.values(n||{})},n||{}),{self:e.rule,rule:e.rule,parent:m==null?void 0:m.rule,$f:this.api,api:this.api,option:this.vm.props.option})))}))};i(o);let s="deep"+Ct(r),a=e.parent;for(;a;){let p=(d=(f=a.prop)==null?void 0:f.hook)==null?void 0:d[s];i(p,a),a=a.parent}}})}function Hn(t){R(t.prototype,{useProvider(){const e=this.fc.providers;Object.keys(e).forEach(r=>{let n=e[r];g.Function(n)&&(n=n(this.fc)),n._c=zn(n),this.onEffect(n,r),this.providers[r]=n})},onEffect(e,r){const n=[];(e._c||["*"]).forEach(o=>{const i=o==="*"?"*":this.getType(o);n.indexOf(i)>-1||(n.push(i),this.bus.$on(`p:${r||e.name}:${i}:${e.input?1:0}`,(s,a)=>{e[s]&&e[s](...a)}))}),e._used=n},watchEffect(e){let r={required:()=>{var n,o;return(z(e.rule,"$required")?e.rule.$required:(o=(n=e.rule)==null?void 0:n.effect)==null?void 0:o.required)||!1}};Object.keys(e.rule.effect||{}).forEach(n=>{r[n]=()=>e.rule.effect[n]}),Object.keys(e.rule).forEach(n=>{n[0]==="$"&&(r[n.substr(1)]=()=>e.rule[n])}),Object.keys(r).forEach(n=>{e.watch.push(c.watch(r[n],o=>{this.effect(e,"watch",{[n]:o})},{deep:!0}))})},ruleEffect(e,r,n){this.emitEffect({rule:e,input:!!e.field,type:this.getType(e.type)},r,n)},effect(e,r,n){this.emitEffect({rule:e.rule,input:e.input,type:e.trueType,ctx:e,custom:n},r)},getEffect(e,r){if(z(e,"$"+r))return e["$"+r];if(z(e,"effect")&&z(e.effect,r))return e.effect[r]},emitEffect({ctx:e,rule:r,input:n,type:o,custom:i},s,a){if(!o||["fcFragment","fragment"].indexOf(o)>-1)return;const l=i||Object.keys(r).reduce((u,f)=>(f[0]==="$"&&(u[f.substr(1)]=r[f]),u),v({},r.effect||{}));Object.keys(l).forEach(u=>{const f=this.providers[u];if(!f||f.input&&!n)return;let d;if(!f._c)d="*";else if(f._used.indexOf(o)>-1)d=o;else return;const p=v({value:l[u],getValue:()=>this.getEffect(r,u)},a||{});e&&(p.getProp=()=>e.effectData(u),p.clearProp=()=>e.clearEffectData(u),p.mergeProp=m=>Ve(p.getProp(),[m]),p.id=e.id),this.bus.$emit(`p:${u}:${d}:${f.input?1:0}`,s,[p,r,this.api])})}})}function Wn(t){return t.filter(function(e,r,n){return n.indexOf(e,0)===r})}function zn(t){const e=t.components;if(Array.isArray(e)){const r=Wn(e.filter(n=>n!=="*"));return r.length?r:!1}else return g.String(e)?[e]:!1}function we(t){Tt(this,{options(){return t.options.value||{}},bus(){return t.bus},preview(){return t.vm.props.preview!=null?t.vm.props.preview:t.vm.setupState.parent&&t.vm.setupState.parent.props.preview!=null?t.vm.setupState.parent.props.preview:t.options.value.preview||!1}}),R(this,{fc:t,vm:t.vm,watching:!1,loading:!1,reloading:!1,noWatchFn:null,deferSyncFn:null,isMounted:!1,formData:c.reactive({}),subRuleData:c.reactive({}),subForm:{},form:c.reactive({}),appendData:{},ignoreFields:[],providers:{},cycleLoad:null,loadedId:1,nextTick:null,changeStatus:!1,pageEnd:!0,nextReload:()=>{this.lifecycle("reload")}}),this.initData(t.rules),this.$manager=new t.manager(this),this.$render=new ut(this),this.api=t.extendApiFn.reduce((e,r)=>{const n=j(()=>r(e,this));return n&&n!==e&&R(e,n),e},vn(this))}R(we.prototype,{initData(t){R(this,{ctxs:{},fieldCtx:{},nameCtx:{},sort:[],rules:t})},init(){this.updateAppendData(),this.useProvider(),this.usePage(),this.loadRule(),this.$manager.__init(),this.lifecycle("created")},updateAppendData(){this.appendData=v(v(v({},$e(this.options.formData||{})),this.fc.vm.props.modelValue||{}),this.appendData)},isBreakWatch(){return this.loading||this.noWatchFn||this.reloading},globalBeforeFetch(t){return new Promise((e,r)=>{const n=this.options.beforeFetch&&j(()=>this.options.beforeFetch(t,{api:this.api}));n&&g.Function(n.then)?n.then(e).catch(r):e()})},beforeFetch(t){return new Promise((e,r)=>{const n=t&&t.beforeFetch&&j(()=>t.beforeFetch(t,{api:this.api}));n&&g.Function(n.then)?n.then(e).catch(r):n===!1?r():e()}).then(()=>this.globalBeforeFetch(t))},beforeSubmit(t){return new Promise((e,r)=>{const n=this.options.beforeSubmit&&j(()=>this.options.beforeSubmit(t,{api:this.api}));n&&g.Function(n.then)?n.then(e).catch(r):n===!1?r():e()})}}),En(we),Fn(we),An(we),jn(we),Tn(we),Un(we),qn(we),Hn(we);const ct=c.defineComponent({name:"fcFragment",inheritAttrs:!1,props:["vnode"],render(){return this.vnode}});function Gn(t){return Object.keys(t).map(e=>{const r=t[e],n=c.resolveDirective(e);if(n)return[n,r.value,r.arg,r.modifiers]}).filter(e=>!!e)}function er(t,e){let r=t.directives;return r?(Array.isArray(r)||(r=[r]),c.withDirectives(e,r.reduce((n,o)=>n.concat(Gn(o)),[]))):e}function Jn(){const t={};function e(r){this.vm=r.vm,this.handle=r}return R(e.prototype,{make(r,n,o){return er(n,this.h(r,Bt(n),o))},makeComponent(r,n,o){try{return er(n,c.createVNode(r,Bt(n),o))}catch(i){return console.error(i),c.createVNode("")}},h(r,n,o){const s=(this.vm||c.getCurrentInstance()).appContext.config.isNativeTag(r),a=this.handle.fc.prop.components[r];!a&&s&&delete n.formCreateInject;try{return c.createVNode(a||(s?r:c.resolveComponent(r)),n,o)}catch(l){return console.error(l),c.createVNode("")}},aliasMap:t}),R(e,{aliasMap:t,alias(r,n){t[r]=n},use(r){Object.keys(r).forEach(n=>{const o=Te(n),i=wt(n).toLocaleLowerCase(),s=r[n];e.alias(n,s),[n,o,i].forEach(a=>{e.prototype[a]=function(l,u){return this.make(t[n]||a,l,u)}})})}}),e}function Kn(t){class e extends tr{}return Object.assign(e.prototype,t),e}function tr(t){R(this,{$handle:t,vm:t.vm,options:{},ref:"fcForm",mergeOptionsRule:{normal:["form","row","info","submitBtn","resetBtn"]}}),this.updateKey(),this.init()}R(tr.prototype,{__init(){this.$render=this.$handle.$render,this.$r=(...t)=>this.$render.renderRule(...t)},updateKey(){this.key=qe()},init(){},update(){},beforeRender(){},form(){return this.vm.refs[this.ref]},adapterValidate(t,e){return t.validator=(r,n,o)=>e(n,o),t},getSlot(t){const e=r=>{if(r){let n=r.slots[t];return n||e(r.setupState.parent)}};return e(this.vm)},mergeOptions(t,e){return Oe(t.map(r=>this.tidyOptions(r)),e,this.mergeOptionsRule)},updateOptions(t){this.$handle.fc.targetFormDriver("updateOptions",t,{handle:this.$handle,api:this.$handle.api}),this.options=this.mergeOptions([t],this.getDefaultOptions()),this.update()},tidyOptions(t){return t},tidyRule(t){},mergeProp(t){},getDefaultOptions(){return{}},fieldChange(t,e,r,n){},render(t){}});const Qn=function(t){const e={name:"loadData",_fn:[],loaded(r,n,o){this.deleted(r),c.nextTick(()=>{let i=ae(r.getValue());const s=[];i.forEach(a=>{if(a&&(a.attr||a.template||a.handler)){let l=d=>{let p;n&&n.__fc__&&(p=n.__fc__.getParentGroup());let m;a.template?m=t.$handle.loadStrVar(a.template,d,p?{rule:n,value:t.$handle.subRuleData[p.id]||{}}:null):a.handler&&g.Function(a.handler)?m=a.handler(d,n,o):m=t.$handle.loadStrVar(`{{${a.attr}}}`,d,p?{rule:n,value:t.$handle.subRuleData[p.id]||{}}:null),(m==null||m==="")&&a.default!=null&&(m=a.default),a.copy!==!1&&(m=$e(m));const $=a.modify?n:r.getProp();a.to==="child"?$.children?$.children[0]=m:$.children=[m]:De($,a.to||"options",m),o.sync(n)},u=d=>l(d);const f=t.watchLoadData(u);l=ke(l,a.wait||300),a.watch!==!1?s.push(f):f()}}),this._fn[r.id]=s})},deleted(r){this._fn[r.id]&&(this._fn[r.id].forEach(n=>{n()}),delete this._fn[r.id]),r.clearProp()}};return e.watch=e.loaded,e},Zn=function(t){const e={name:"t",_fn:[],loaded(r,n,o){this.deleted(r);let i=r.getValue()||{};const s=[];Object.keys(i).forEach(a=>{const l=i[a];if(l){const u=typeof l=="object";let f=m=>{let $=t.t(u?l.attr:l,u?l.params:null,m);const k=u&&l.modify?n:r.getProp();a==="child"?k.children?k.children[0]=$:k.children=[$]:De(k,a,$),o.sync(n)},d=m=>f(m);const p=t.watchLoadData(d);f=ke(f,l.wait||300),l.watch!==!1?s.push(p):p()}}),this._fn[r.id]=s},deleted(r){this._fn[r.id]&&(this._fn[r.id].forEach(n=>{n()}),delete this._fn[r.id]),r.clearProp()}};return e.watch=e.loaded,e},rr={name:"componentValidate",load(t,e,r){let n=t.getValue();if(!n||n.method===!1)t.clearProp(),r.clearValidateState([e.field]);else{g.Object(n)||(n={method:n});const o=n.method,i=fe(v({},n),{validator(...s){const a=_e(e);if(a)return r.exec(a.id,g.String(o)?o:"formCreateValidate",...s,{attr:t,rule:e,api:r})}});delete i.method,t.getProp().validate=[i]}},watch(...t){rr.load(...t)}},Xn={fetch:function(t){function e(o){return g.String(o)&&(o={action:o,to:"options"}),o}function r(o,i,s){let a=o.value;n.deleted(o),g.Function(a)&&(a=a(i,s)),a=e(a);const l=d=>{d===void 0?o.clearProp():De(o.getProp(),a.to||"options",d),d!=null&&a&&a.key&&t.$handle.options.globalData[a.key]&&t.fetchCache.set(t.$handle.options.globalData[a.key],{status:!0,data:d}),s.sync(i)};if(!a||!a.action&&!a.key){l(void 0);return}a=$e(a),a.to||(a.to="options");const u=a.onError,f=()=>{if(!o.getValue())return o.clearProp(),s.sync(i),!0};n._fn[o.id]=t.watchLoadData(ke((d,p)=>{if(p&&a.watch===!1)return n._fn[o.id]();if(a.key){t.targetRule=i;const k=d("$globalData."+a.key);if(delete t.targetRule,k){if(f())return;l(k)}return}const m=t.$handle.loadFetchVar($e(a),d,i),$=fe(v({headers:{}},m),{onSuccess(k,V){if(f())return;let P=T=>V?T:z(T,"data")?T.data:T;const M=be(m.parse);g.Function(M)?P=M:M&&g.String(M)&&(P=T=>se(T,M)),Ue(P(k,i,s)).then(T=>{l(T)})},onError(k){l(void 0),!f()&&(u||(V=>et(V.message||"fetch fail "+m.action)))(k,i,s)}});t.$handle.beforeFetch($,{rule:i,api:s}).then(()=>{if(g.Function(m.action)){Ue(m.action(i,s)).then(k=>{$.onSuccess(k,!0)}).catch(k=>{$.onError(k)});return}j(()=>t.create.fetch($,{inject:o,rule:i,api:s}))}).catch(k=>{})},a.wait||600))}const n={name:"fetch",_fn:[],loaded(...o){r(...o)},watch(...o){r(...o)},deleted(o){this._fn[o.id]&&(this._fn[o.id](),delete this._fn[o.id]),o.clearProp()}};return n},loadData:Qn,t:Zn,componentValidate:rr},ei={name:"html",loadChildren:!1,render(t,e){return e.prop.props.innerHTML=t.default(),e.vNode.make(e.prop.props.tag||"div",e.prop)},renderChildren(t){return{default:()=>t.filter(e=>g.String(e)).join("")}}};function ti(t){t=t+"=";const r=decodeURIComponent(document.cookie).split(";");for(let n=0;n<r.length;n++){let o=r[n];for(;o.charAt(0)===" ";)o=o.substring(1);if(o.indexOf(t)===0){o=o.substring(t.length,o.length);try{return JSON.parse(o)}catch(i){return o}}}return null}function ri(t){const e=localStorage.getItem(t);if(e)try{return JSON.parse(e)}catch(r){return e}return null}function ni(t){const e=sessionStorage.getItem(t);if(e)try{return JSON.parse(e)}catch(r){return e}return null}function ft(t,e){if(!e)return null;const r=e.split(".");let n=t(r.shift());return r.length?n==null?null:se(n,r):n}function ii(t){return ft(ti,t)}function si(t){return ft(ri,t)}function oi(t){return ft(ni,t)}const ai={en:{required:"{title} is required",validate:{url:"{title} is not a valid url",email:"{title} is not a valid email",ip:"{title} {title} is not a valid ip",phone:"{title} {title} is not a valid phone",pattern:"{title} does not match pattern {pattern}",uppercase:"{title} must be all uppercase",lowercase:"{title} must be all lowercased",positive:"{title} is not a positive number",negative:"{title} is not a negative number",equal:"{title} is not equal to {equal}",min:"{title} cannot be less than {min}",max:"{title} cannot be greater than {max}",enum:"{title} must be one of {enum}",hasKeys:"{title} does not contain required fields {hasKeys}",minLen:"{title} must be at least {minLen}",maxLen:"{title} cannot be longer than {maxLen}",len:"{title} must be exactly {len}",integer:"{title} is not an integer",number:"{title} is not an number"}},"zh-cn":{required:"{title}不能为空",validate:{url:"{title}不是有效的 url 地址",email:"{title}不是有效的邮箱地址",ip:"{title}不是有效的 IP 地址",phone:"{title}不是正确的手机号",pattern:"{title}必须匹配 {pattern}",uppercase:"{title}必须全大写",lowercase:"{title}必须全小写",positive:"{title}不是正数",negative:"{title}不是负数",equal:"{title}必须等于 {equal}",min:"{title}必须大于等于 {min}",max:"{title}必须小于等于 {max}",enum:"{title}必须是 {enum} 之一",hasKeys:"{title}必须包含 {hasKeys} 字段",minLen:"{title}长度必须大于 {minLen}",maxLen:"{title}长度必须小于 {maxLen}",len:"{title}长度必须为 {len}",integer:"{title}必须为整数",number:"{title}必须为数字"}}};function li(t,e){let r;return arguments.length===2?(r=arguments[1],e=r[t]):r=arguments[2],{id:e,prop:r}}function dt(){return li("name",...arguments)}function ui(t){const e=t.key||[],r=t.array||[],n=t.normal||[];Dt.push(...e),it.push(...r),st.push(...n),Ht([...e,...r,...n])}let ci=1;const he={},nr=Symbol("defValue");function ir(t){const e={[ct.name]:ct},r={},n={},o={},i={},s=[],a=[],l=[t.extendApi],u=v({},Xn),f=On();let d={global:{}};const p=t.isMobile===!0,m=c.reactive({$mobile:p}),$=Jn(),k={},V={};ui(t.attrs||{});function P(h){const y=he[h];if(Array.isArray(y))return y.map(b=>b.api());if(y)return y.api()}function M(h){s.push(h)}function T(){const h=dt(...arguments);h.id&&h.prop&&(n[h.id]=h.prop)}function te(){const h=dt(...arguments);h.id&&h.prop&&(u[h.id]=g.Function(h.prop)?h.prop:fe(v({},h.prop),{name:h.id}))}function X(h){$.use(h)}function Z(h){if(arguments.length===0)return xe;if(typeof h=="string"&&arguments.length===1)return r[le(h)];const y=dt(...arguments);if(!y.id||!y.prop)return xe;const b=le(y.id),_=y.prop,F=_.merge===!0?r[b]:void 0;r[b]=Je(_,F||xe),f[b]=re(b),_.maker&&R(f,_.maker)}function L(h,y){let b;if(g.String(h)){if(b=h,y===void 0)return e[b]}else b=h.displayName||h.name,y=h;if(!b||!y)return;const _=le(b);e[b]=y,e[_]=y,delete $.aliasMap[b],delete $.aliasMap[_],delete r[b],delete r[_],y.formCreateParser&&Z(b,y.formCreateParser)}function B(){return _n(Q,e,n)}function W(h,y){const b=B();return c.createApp({data(){return c.reactive({rule:h,option:y})},render(){return c.h(b,v({ref:"fc"},this.$data))}})}function x(){return ct}function N(h,y){return g.Function(h.install)?h.install(J,y):g.Function(h)&&h(J,y),this}function J(h,y){let b=W(h,y||{});s.forEach(Y=>{j(()=>Y(J,b))});const _=document.createElement("div");return((y==null?void 0:y.el)||document.body).appendChild(_),b.mount(_).$refs.fc.fapi}Je(J,V);function ie(h){let y=v({},t);return h?y.inherit={components:e,parsers:r,directives:n,modelFields:o,providers:u,useApps:s,maker:f,formulas:k,loadData:m}:delete y.inherit,ir(y)}function D(h,y){o[h]=y}function O(h,y){k[h]=y}function w(h,y){const b=i[h]||{},_=b.parsers||{};y.parsers&&Object.keys(y.parsers).forEach(F=>{_[F]=Je(y.parsers[F],xe)}),y.name=h,i[h]=fe(v(v({},b),y),{parsers:_})}function S(h){h&&Object.keys(he).forEach(y=>{(Array.isArray(he[y])?he[y]:[he[y]]).forEach(_=>{_.bus.$emit("$loadData."+h)})})}function C(h,y){De(m,h,y),S(h)}function E(h,y){const b=(..._)=>j(()=>y(..._));b._driver=!0,C(h,b)}function A(h,y){const b=(h||"").split(".");h=b.shift();const _=b.join(".");if(z(m,h)||(m[h]=nr),m[h]!==nr){let F=m[h];return F&&F._driver?F=F(_):b.length&&(F=se(F,b)),F==null||F===""?y:F}else return y}function I(h){l.push(h)}function H(h){delete m[h],S(h)}function G(h,y){a.push({name:h,callback:y})}function Q(h){R(this,{id:ci++,create:J,vm:h,manager:Kn(t.manager),parsers:r,providers:u,modelFields:o,formulas:k,isMobile:p,rules:h.props.rule,name:h.props.name||qe(),inFor:h.props.inFor,prop:{components:e,directives:n},get:null,drivers:i,renderDriver:null,refreshData:S,loadData:m,CreateNode:$,bus:new $t,unwatch:new Set,options:c.ref({}),extendApiFn:l,fetchCache:new WeakMap,tmpData:c.reactive({})}),this.unwatch.push=this.unwatch.add,a.forEach(y=>{this.bus.$on(y.name,y.callback)}),c.nextTick(()=>{c.watch(this.options,()=>{this.$handle.$manager.updateOptions(this.options.value),this.api().refresh()},{deep:!0})}),R(h.appContext.components,e),R(h.appContext.directives,n),this.$handle=new we(this),this.name&&(this.inFor?(he[this.name]||(he[this.name]=[]),he[this.name].push(this)):he[this.name]=this)}Q.isMobile=p,R(Q.prototype,{init(){this.isSub()&&this.unwatch.add(c.watch(()=>this.vm.setupState.parent.setupState.fc.options.value,()=>{this.initOptions(),this.$handle.api.refresh()},{deep:!0,flush:"sync"})),this.vm.props.driver&&(this.renderDriver=typeof this.vm.props.driver=="object"?this.vm.props.driver:this.drivers[this.vm.props.driver]),!this.renderDriver&&this.vm.setupState.parent&&(this.renderDriver=this.vm.setupState.parent.setupState.fc.renderDriver),this.renderDriver||(this.renderDriver=this.drivers.default),this.initOptions(),this.$handle.init()},targetFormDriver(h,...y){if(this.bus.$emit(h,...y),this.renderDriver&&this.renderDriver[h])return j(()=>this.renderDriver[h](...y))},t(h,y,b){let _=b?b("$t."+h):this.globalLanguageDriver(h);return _==null&&(_=""),_&&y&&Object.keys(y).forEach(F=>{const Y=new RegExp(`{${F}}`,"g");_=_.replace(Y,y[F])}),_},globalDataDriver(h){let y=h.split(".");const b=y.shift(),_=this.options.value.globalData&&this.options.value.globalData[b];if(_){if(_.type==="static")return se(_.data,y);{let F;const Y=this.fetchCache.get(_);if(Y){if(Y.status&&(F=se(Y.data,y)),!Y.loading)return F;Y.loading=!1,this.fetchCache.set(_,Y)}else this.fetchCache.set(_,{status:!1});const U=ke(()=>{ge();const ce=this.fetchCache.get(_);this.options.value.globalData&&Object.values(this.options.value.globalData).indexOf(_)!==-1?(ce&&(ce.loading=!0,this.fetchCache.set(_,ce)),this.bus.$emit("$loadData.$globalData."+b)):this.fetchCache.delete(_)},_.wait||600),pe=ce=>{this.fetchCache.set(_,{status:!0,data:ce}),this.bus.$emit("$loadData.$globalData."+b)},me=(ce,ye)=>{if(ye&&_.watch===!1)return ge();if(ye){U();return}const Ae=this.$handle.loadFetchVar(Xe(_),ce);Ae.targetRule=this.targetRule,this.$handle.api.fetch(Ae).then(Me=>{pe(Me)}).catch(Me=>{pe(null)})},ge=this.watchLoadData(me);return _.watch===!1&&ge(),F}}},getLocale(){let h=this.vm.setupState.top.props.locale;return h&&typeof h=="object"?h.name:typeof h=="string"?h:"zh-cn"},globalLanguageDriver(h){let y=this.vm.setupState.top.props.t,b=this.vm.setupState.top.props.locale,_;if(y&&(_=j(()=>y(h))),_==null&&b&&typeof b=="object"&&(_=se(b,h)),_==null){const F=this.options.value.language||{},Y=this.getLocale();_=se(F[Y]||{},h),_==null&&(_=se(ai[Y]||{},h))}return _},globalVarDriver(h){let y=h.split(".");const b=y.shift(),_=this.options.value.globalVariable&&this.options.value.globalVariable[b];if(_){const F=g.Function(_)?_:be(_.handle);if(F){let Y=F((...U)=>this.$handle.api.getData(...U),this.$handle.api);return se(Y,y)}}},setData(h,y,b){b?C(h,y):(De(this.vm.setupState.top.setupState.fc.tmpData,h,y),this.bus.$emit("$loadData."+h))},getLoadData(h,y){let b=null;if(h!=null){let _=h.split(".");const F=_.shift();if(b=se(this.vm.setupState.top.setupState.fc.tmpData,h),b!=null)return b;if(F==="$topForm")b=this.$handle.api.top.formData(!0);else if(F==="$scopeForm")b=this.$handle.api.scope.formData(!0);else if(F==="$form")b=this.$handle.api.formData(!0);else if(F==="$options")b=this.options.value;else if(F==="$globalData")b=this.globalDataDriver(_.join(".")),_=[];else if(F==="$var")b=this.globalVarDriver(_.join(".")),_=[];else if(F==="$locale")b=this.getLocale(),_=[];else if(F==="$t")b=this.globalLanguageDriver(_.join(".")),_=[];else{if(F==="$preview")return this.$handle.preview;b=A(h),_=[]}b&&_.length&&(b=se(b,_))}return b==null||b===""?y:b},watchLoadData(h,y){let b={};const _=U=>{this.get||(this.get=F),j(()=>{h(F,U)}),this.get===F&&(this.get=void 0)},F=(U,pe)=>{let me;if(typeof U=="object"&&(me=U.getValue,U=U.id),b[U])return b[U].val;const ge=c.computed(()=>me?me():this.getLoadData(U,pe)),ce=U.split("."),ye=ce.shift(),Ae=ce.shift()||"",Me=ke(()=>{const Ie=me?me():this.getLoadData(U,pe);if(b[U])((Ie instanceof Function||g.Object(Ie)||Array.isArray(Ie))&&Ie===b[U].val||JSON.stringify(Ie)!==JSON.stringify(b[U].val))&&(b[U].val=Ie,_(!0));else return},y||0),Ii=c.watch(ge,Ie=>{Me()});return this.bus.$on("$loadData."+ye,Me),Ae&&this.bus.$on("$loadData."+ye+"."+Ae,Me),b[U]={fn:()=>{this.bus.$off("$loadData."+ye,Me),Ae&&this.bus.$off("$loadData."+ye+"."+Ae,Me),Ii()},val:ge.value},ge.value};_(!1);const Y=()=>{Object.keys(b).forEach(U=>b[U].fn()),b={},this.unwatch.delete(Y)};return this.unwatch.add(Y),Y},isSub(){return this.vm.setupState.parent&&this.vm.props.extendOption},initOptions(){this.options.value={};let h=v({formData:{},submitBtn:{},resetBtn:{},globalEvent:{},globalData:{}},$e(d));const y=this.isSub();y&&(h=this.mergeOptions(h,this.vm.setupState.parent.setupState.fc.options.value||{},!0)),h=this.mergeOptions(h,this.vm.props.option);const b=this.api();this.targetFormDriver("initOptions",h,{api:b,isSubForm:y}),this.updateOptions(h)},mergeOptions(h,y,b){return y=v({},y||{}),b&&["page","onSubmit","onReset","onCreated","onChange","onMounted","mounted","beforeUnmount","beforeSubmit","onBeforeUnmount","onReload","reload","formData","el","globalClass","style"].forEach(_=>{delete y[_]}),y.global&&(h.global=hn(h.global,y.global),delete y.global),this.$handle.$manager.mergeOptions([y],h),h},updateOptions(h){this.options.value=this.mergeOptions(this.options.value,h),this.$handle.$manager.updateOptions(this.options.value),this.bus.$emit("$loadData.$options")},api(){return this.$handle.api},render(){return this.$handle.render()},mounted(){this.$handle.mounted()},unmount(){if(j(()=>this.$handle.lifecycle("beforeUnmount")),this.name)if(this.inFor){const h=he[this.name].indexOf(this);he[this.name].splice(h,1)}else delete he[this.name];a.forEach(h=>{this.bus.$off(h.name,h.callback)}),this.tmpData={},[...this.unwatch].forEach(h=>h()),this.unwatch.clear(),this.$handle.reloadRule([])},updated(){this.$handle.bindNextTick(()=>this.bus.$emit("next-tick",this.$handle.api))}});function ne(h){R(h,{version:t.version,ui:t.ui,isMobile:p,extendApi:I,getData:A,setDataDriver:E,setData:C,removeData:H,refreshData:S,maker:f,component:L,directive:T,setModelField:D,setFormula:O,setDriver:w,register:te,$vnode:x,parser:Z,use:N,factory:ie,componentAlias:X,copyRule:Nt,copyRules:It,mergeRule:Ve,fetch:zt,$form:B,parseFn:be,parseJson:Vt,toJson:Be,useApp:M,getApi:P,on:G})}function Ce(h){R(h,{create:J,install(y,b){d=v(v({},d),b||{});const _=`_installedFormCreate${p?"Mobile":""}_${t.ui}`;if(y[_]===!0)return;y[_]=!0;const F=function(U,pe={}){return J(U,pe)};ne(F),y.config.globalProperties.$formCreate=F;const Y=B();y.component(Y.name,Y),s.forEach(U=>{j(()=>U(h,y))})}})}if(ne(V),Ce(V),E("$cookie",ii),E("$localStorage",si),E("$sessionStorage",oi),$.use({fragment:"fcFragment"}),t.install&&J.use(t),M((h,y)=>{y.mixin({props:["formCreateInject"],emits:["fc.updateValue","fc.el"]})}),Z(ei),t.inherit){const h=t.inherit;h.components&&R(e,h.components),h.parsers&&R(r,h.parsers),h.directives&&R(n,h.directives),h.modelFields&&R(o,h.modelFields),h.providers&&R(u,h.providers),h.useApps&&R(s,h.useApps),h.maker&&R(f,h.maker),h.loadData&&R(m,h.loadData),h.formulas&&R(k,h.formulas)}const ue=B();return Je(ue,V),Object.defineProperties(ue,{fetch:{get(){return V.fetch},set(h){V.fetch=h}}}),ue.util=V,ue}const sr={date:"YYYY-MM-DD",month:"YYYY-MM",week:"YYYY-wo",datetime:"YYYY-MM-DD HH:mm:ss",timerange:"HH:mm:ss",daterange:"YYYY-MM-DD",monthrange:"YYYY-MM",datetimerange:"YYYY-MM-DD HH:mm:ss",year:"YYYY"},or="datePicker",fi={name:or,maker:function(){return["year","month","date","dates","week","datetime","datetimeRange","dateRange","monthRange"].reduce((t,e)=>(t[e]=re(or,{type:e.toLowerCase()}),t),{})}(),mergeProp(t){const e=t.prop.props;e.valueFormat||(e.valueFormat=sr[e.type]||sr.date)}},ht="hidden",di={name:ht,maker:{[ht]:(t,e)=>re(ht)("",t,e)},render(){return[]}},pt="input",hi={name:pt,maker:function(){const t=["password","url","email","text","textarea"].reduce((e,r)=>(e[r]=re(pt,{type:r}),e),{});return t.idate=re(pt,{type:"date"}),t}(),mergeProp(t){let{props:e}=t.prop;e&&e.autosize&&e.autosize.minRows&&(e.rows=e.autosize.minRows||2)}},pi={name:"textarea",mergeProp(t){let{props:e}=t.prop;e.type="textarea",e&&e.autosize&&e.autosize.minRows&&(e.rows=e.autosize.minRows||2)}},ar="slider",mi={name:ar,maker:{sliderRange:re(ar,{range:!0})},toFormValue(t,e){let r=Array.isArray(t),n=e.prop.props,o=n.min||0,i;return n.range===!0?i=r?t:[o,parseFloat(t)||o]:i=r?parseFloat(t[0])||o:parseFloat(t),i}},mt="timePicker",gi={name:mt,maker:{time:re(mt,t=>t.props.isRange=!1),timeRange:re(mt,t=>t.props.isRange=!0)},mergeProp(t){const e=t.prop.props;e.valueFormat||(e.valueFormat="HH:mm:ss")}},yi=[fi,di,hi,pi,mi,gi,{name:"FcRow",render(t,e){return e.vNode.col({props:{span:24}},{default:()=>[e.vNode.row(e.prop,t)]})}},{name:"select",toFormValue(t,e){return e.prop.props.multiple&&!Array.isArray(t)?ae(t):t}}],q="el",$i={button:q+"-button",icon:q+"-icon",slider:q+"-slider",rate:q+"-rate",upload:"fc-upload",cascader:q+"-cascader",popover:q+"-popover",tooltip:q+"-tooltip",colorPicker:q+"-colorPicker",timePicker:q+"-time-picker",timeSelect:q+"-time-select",datePicker:q+"-date-picker",switch:q+"-switch",select:"fc-select",checkbox:"fc-checkbox",radio:"fc-radio",inputNumber:q+"-input-number",number:q+"-input-number",input:q+"-input",textarea:q+"-input",formItem:q+"-form-item",form:q+"-form",frame:"fc-frame",col:q+"-col",row:q+"-row",tree:"fc-tree",inputTag:q+"-input-tag",inputOtp:q+"-input-otp",mention:q+"-mention",transfer:q+"-transfer",treeSelect:q+"-tree-select",autoComplete:q+"-autocomplete",auto:q+"-autocomplete",group:"fc-group",array:"fc-group",object:"fc-sub-form",subForm:"fc-sub-form"};function bi(){return{form:{inline:!1,labelPosition:"right",labelWidth:"125px",disabled:!1,size:void 0},row:{show:!0,gutter:0},submitBtn:{type:"primary",loading:!1,disabled:!1,innerText:"",show:!0,col:void 0,click:void 0},resetBtn:{type:"default",loading:!1,disabled:!1,innerText:"",show:!1,col:void 0,click:void 0},info:{type:"popover",render:"html"}}}function _i(t){return t.type==="tooltip"}function wi(t){return t.render==="text"||t.render==="innerText"}function Ci(t,e){const r=t==null?"":String(t);return{type:"div",props:e?{textContent:r}:{innerHTML:r}}}function lr(t,e){z(t,e)&&g.String(t[e])&&(t[e]={[e]:t[e],show:!0})}function ve(t){return t===!1}function Oi(t,e){z(t,e)&&!g.Object(t[e])&&(t[e]={show:!!t[e]})}function gt(t){const e=v({},t);return delete e.children,e}const Vi={validate(){const t=this.form();return t?t.validate():new Promise(e=>e())},validateField(t){return new Promise((e,r)=>{const n=this.form();n?n.validateField(t,(o,i)=>{i?r(i):e(o)}):e()})},clearValidateState(t){const e=this.vm.refs[t.wrapRef];e&&e.clearValidate()},fieldChange(t,e,r,n){var o,i;n||(i=(o=this.vm.refs[t.wrapRef])==null?void 0:o.validate("change"))==null||i.catch(()=>{})},tidyOptions(t){return["submitBtn","resetBtn","row","info","wrap","col","title"].forEach(e=>{Oi(t,e)}),t},tidyRule({prop:t}){return lr(t,"title"),lr(t,"info"),t},mergeProp(t){const e={info:{type:"popover",render:"html",trigger:"hover",placement:"top-start",icon:!0},title:{},col:{span:24},wrap:{}};["info","wrap","col","title"].forEach(r=>{t.prop[r]=Oe([this.options[r]||{},t.prop[r]||{}],e[r])})},getDefaultOptions(){return bi()},update(){const t=this.options.form;this.rule={props:v({},t),on:{submit:e=>{e.preventDefault()}},style:t.style,type:"form"}},beforeRender(){const{key:t,ref:e,$handle:r}=this,n=this.options.form;R(this.rule,{key:t,ref:e,class:[n.className,n.class,"form-create",this.$handle.preview?"is-preview":""]}),R(this.rule.props,{model:r.formData})},render(t){return t.slotLen()&&!this.$handle.preview&&t.setSlot(void 0,()=>this.makeFormBtn()),this.$r(this.rule,ve(this.options.row.show)?t.getSlots():[this.makeRow(t)])},makeWrap(t,e){const r=t.prop,n=`${this.key}${t.key}`,o=r.col,i=this.isTitle(r)&&r.wrap.title!==!1,s=!(o!=null&&o.labelWidth)&&!i?0:o==null?void 0:o.labelWidth,{inline:a,col:l}=this.rule.props,u=r.wrap.class;delete r.wrap.class,delete r.wrap.title;const f=(g.Undef(r.wrap.show)?!t.input:ve(r.wrap.show))?e:this.$r(Oe([r.wrap,{props:fe(v({labelWidth:s===void 0?s:wt(s),label:i?r.title.title:void 0},gt(r.wrap||{})),{prop:t.id,rules:t.injectValidate()}),class:this.$render.mergeClass(u||r.className,"fc-form-item"),key:`${n}fi`,ref:t.wrapRef,type:"formItem"}]),v({default:()=>e},i?{label:()=>this.makeInfo(r,n,t)}:{}));return a===!0||ve(l)||ve(o.show)?f:this.makeCol(r,n,[f])},isTitle(t){if(this.options.form.title===!1)return!1;const e=t.title;return!(!e.title&&!e.native||ve(e.show))},makeInfo(t,e,r){var f,d,p,m;const n=v({},t.title),o=v({},t.info),i=_i(o),s=this.options.form,a=this.getSlot("title"),l=[a?a({title:(d=(f=r.refRule)==null?void 0:f.__$title)==null?void 0:d.value,rule:r.rule,options:this.options}):((m=(p=r.refRule)==null?void 0:p.__$title)==null?void 0:m.value)+(s.labelSuffix||s["label-suffix"]||"")];if(!ve(o.show)&&(o.info||o.native)&&!ve(o.icon)){const $={type:o.type||"popover",props:gt(o),key:`${e}pop`};delete $.props.icon,delete $.props.show,delete $.props.info,delete $.props.align,delete $.props.native,delete $.props.render,$.props.width="auto",l[o.align!=="left"?"unshift":"push"](this.$r(Oe([o,$]),{[i?"content":"default"]:()=>{var k,V;return this.$r(Ci((V=(k=r.refRule)==null?void 0:k.__$info)==null?void 0:V.value,wi(o)))},[n.slot||(i?"default":"reference")]:()=>this.$r({type:"ElIcon",style:"top:2px",key:`${e}i`},{default:()=>this.$r({type:o.icon===!0?"icon-warning":o.icon})},!0)}))}const u=Oe([n,{props:gt(n),key:`${e}tit`,class:"fc-form-title",type:n.type||"span",on:{click:(...$)=>{this.$handle.targetHook(r,"titleClick",{args:$})}}}]);return delete u.props.show,delete u.props.title,delete u.props.native,this.$r(u,l)},makeCol(t,e,r){const n=v({},t.col);return delete n.show,this.$r({class:this.$render.mergeClass(n.class,"fc-form-col"),type:"col",props:n||{span:24},key:`${e}col`},r)},makeRow(t){const e=this.options.row||{};return this.$r({type:"row",props:e,class:this.$render.mergeClass(e.class,"fc-form-row"),key:`${this.key}row`},t)},makeFormBtn(){let t=[];if(ve(this.options.submitBtn.show)||t.push(this.makeSubmitBtn()),ve(this.options.resetBtn.show)||t.push(this.makeResetBtn()),!t.length)return;const e=this.$r({type:"formItem",class:"fc-form-item",key:`${this.key}fb`},t);return this.rule.props.inline===!0?e:this.$r({type:"col",class:"fc-form-col fc-form-footer",props:{span:24},key:`${this.key}fc`},[e])},makeResetBtn(){const t=v({},this.options.resetBtn),e=t.innerText||this.$handle.api.t("reset")||"重置";return delete t.innerText,delete t.click,delete t.col,delete t.show,this.$r({type:"button",props:t,class:"fc-reset-btn",style:{width:t.width},on:{click:()=>{const r=this.$handle.api;this.options.resetBtn.click?this.options.resetBtn.click(r):r.resetFields()}},key:`${this.key}b2`},[e])},makeSubmitBtn(){const t=v({},this.options.submitBtn),e=t.innerText||this.$handle.api.t("submit")||"提交";return delete t.innerText,delete t.click,delete t.col,delete t.show,this.$r({type:"button",props:t,class:"fc-submit-btn",style:{width:t.width},on:{click:()=>{const r=this.$handle.api;this.options.submitBtn.click?this.options.submitBtn.click(r):r.submit().catch(()=>{})}},key:`${this.key}b1`},[e])}},Re={};vi(Re),Si(Re),ki(Re),Di(Re),Ei(Re),Fi(Re);function vi(t){["group","tree","switch","upload","autoComplete","checkbox","cascader","colorPicker","datePicker","frame","inputNumber","inputTag","inputOtp","mention","transfer","treeSelect","radio","rate"].forEach(e=>{t[e]=re(e)}),t.auto=t.autoComplete,t.number=t.inputNumber,t.color=t.colorPicker,t.tag=t.inputTag}function Si(t){t.treeSelectMultiple=re("treeSelect",{multiple:!0})}function ki(t){const e="select",r="multiple";t.selectMultiple=re(e,{[r]:!0}),t.selectOne=re(e,{[r]:!1})}function Di(t){const e="tree",r={treeSelected:"selected",treeChecked:"checked"};Object.keys(r).reduce((n,o)=>(n[o]=re(e,{type:r[o]}),n),t)}function Ei(t){const e="upload",r={image:["image",0],file:["file",0],uploadFileOne:["file",1],uploadImageOne:["image",1]};Object.keys(r).reduce((n,o)=>(n[o]=re(e,i=>i.props({uploadType:r[o][0],maxLength:r[o][1]})),n),t),t.uploadImage=t.image,t.uploadFile=t.file}function Fi(t){const e={frameInputs:["input",0],frameFiles:["file",0],frameImages:["image",0],frameInputOne:["input",1],frameFileOne:["file",1],frameImageOne:["image",1]};return Object.keys(e).reduce((r,n)=>(r[n]=re("frame",o=>o.props({type:e[n][0],maxLength:e[n][1]})),r),t),t.frameInput=t.frameInputs,t.frameFile=t.frameFiles,t.frameImage=t.frameImages,t}function ur(t,e){return g.Boolean(t)?t={show:t}:!g.Undef(t)&&!g.Object(t)&&(t={show:e}),t}function Ri(t,e){return{formEl(){return e.$manager.form()},wrapEl(r){const n=e.getFieldCtx(r);if(n)return e.vm.refs[n.wrapRef]},validate(r){return new Promise((n,o)=>{const i=t.children,s=[e.$manager.validate()];i.filter(a=>!a.isScope).forEach(a=>{s.push(a.validate())}),Promise.all(s).then(()=>{n(!0),r&&r(!0)}).catch(a=>{o(a),r&&r(a),e.vm.emit("validate-fail",a,{api:t}),e.emitEvent("validate-fail",a,{api:t})})})},validateField(r,n){return new Promise((o,i)=>{const a=typeof r=="object"?_e(r):e.getCtx(r);if(!a){o(null),n&&n(null);return}const l=e.subForm[a.id],u=[e.$manager.validateField(a.id)];ae(l).filter(f=>!f.isScope).forEach(f=>{u.push(f.validate())}),Promise.all(u).then(()=>{o(null),n&&n(null)}).catch(f=>{i(f),n&&n(f),e.vm.emit("validate-field-fail",f,{field:r,api:t})})})},validateFields(r,n){return new Promise((o,i)=>{Array.isArray(r)||(r=[r]);const s=r.map(a=>t.validateField(a));Promise.all(s).then(()=>{o(null),n&&n(null)}).catch(a=>{i(a),n&&n(a)})})},clearValidateState(r,n=!0){t.helper.tidyFields(r).forEach(o=>{n&&this.clearSubValidateState(o),e.getCtxs(o).forEach(i=>{e.$manager.clearValidateState(i)})})},clearSubValidateState(r){t.helper.tidyFields(r).forEach(n=>{e.getCtxs(n).forEach(o=>{const i=e.subForm[o.id];i&&(Array.isArray(i)?i.forEach(s=>{s.clearValidateState()}):i&&i.clearValidateState())})})},btn:{loading:(r=!0)=>{t.submitBtnProps({loading:!!r})},disabled:(r=!0)=>{t.submitBtnProps({disabled:!!r})},show:(r=!0)=>{t.submitBtnProps({show:!!r})}},resetBtn:{loading:(r=!0)=>{t.resetBtnProps({loading:!!r})},disabled:(r=!0)=>{t.resetBtnProps({disabled:!!r})},show:(r=!0)=>{t.resetBtnProps({show:!!r})}},submitBtnProps:(r={})=>{let n=ur(e.options.submitBtn,!0);R(n,r),e.options.submitBtn=n,t.refreshOptions()},resetBtnProps:(r={})=>{let n=ur(e.options.resetBtn,!1);R(n,r),e.options.resetBtn=n,t.refreshOptions()},submit(r,n){return new Promise((o,i)=>{(e.options.validateOnSubmit===!1?Promise.resolve():t.validate()).then(()=>{let a=t.formData();e.beforeSubmit(a).then(()=>{g.Function(r)&&j(()=>r(a,t)),g.Function(e.options.onSubmit)&&j(()=>e.options.onSubmit(a,t)),e.vm.emit("submit",a,t),o(a)}).catch(l=>{})}).catch((...a)=>{g.Function(n)&&j(()=>n(t,...a)),i(...a)})})}}}const cr={name:"required",load(t,e,r){const n=Ai(t.getValue());let o;if(n.required===!1)t.clearProp(),r.clearValidateState([e.field]);else{const i=v({required:!0,validator(a,l,u){s(),g.empty(l)?u(i.message):u()}},n),s=()=>{var l;const a=(l=e.__fc__.refRule.__$title)==null?void 0:l.value;if(o!==a)if(o=a,!n.message)i.message=r.t("required",{title:a})||a+(r.getLocale()==="en"?" is required":"不能为空");else{const u=n.message.match(/^\{\{\s*\$t\.(.+)\s*\}\}$/);u&&(i.message=r.t(u[1],{title:a}))}};s(),t.getProp().validate=[i]}r.sync(e)},watch(...t){cr.load(...t)}};function Ai(t){return g.Boolean(t)?{required:t}:g.String(t)?{message:t}:g.Undef(t)?{required:!1}:g.Function(t)?{validator:t}:g.Object(t)?t:{}}function Mi(t){t.componentAlias($i),rn.forEach(e=>{t.component(e.name,e)}),t.register(cr),yi.forEach(e=>{t.parser(e)}),Object.keys(Re).forEach(e=>{t.maker[e]=Re[e]}),typeof window!="undefined"&&window.ElementPlus&&t.useApp((e,r)=>{r.use(window.ElementPlus)})}function ji(){return ir({ui:"element-ui",version:"3.3.6",manager:Vi,extendApi:Ri,install:Mi,attrs:{normal:["col","wrap"],array:["className"],key:["title","info"]}})}const yt=ji();typeof window!="undefined"&&(window.formCreate=yt);const Ni=yt.maker;ee.default=yt,ee.maker=Ni,Object.defineProperties(ee,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});