slw 1.0.0-rc.2.7 → 1.0.0-rc.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.umd.cjs CHANGED
@@ -76,9 +76,9 @@ echarts.use([`+De+"]);":"Unknown series "+Me))}return}if(ae==="tooltip"){if(pe){
76
76
  `);if(/.+function\s{0,}([.]{0,})/.test(X[0])){let K=new RegExp(`[\\s\\,]{0,}${H}[\\s\\,]{0,}`,"g");X[0]=X[0].replace(K,"")}curEvent=X.join(`
77
77
  `);let Q=new RegExp(`${H}\\.`,"g");curEvent=curEvent.replace(Q,"")}}let fun=curEvent.replaceAll("this.$data.","").replaceAll("this.","");if(typeof fun=="function"||fun.indexOf("function")>-1)return typeof fun!="function"&&eval("fun = "+fun),fun(...eventParams);eval(fun)}catch(G){console.error(G,componentData.value.params.windowTitle,eventParams.at(-1))}}};function initEchart(){echartDom=init$1(echart.value)}function loadEchart(){if(!echartDom)return;echartDom.showLoading();let G=componentData.value.params.component.option||{};echartDom.setOption(G,!0),echartDom.hideLoading()}function refreshEchart(G={},H=!1){echartDom&&echartDom.setOption(G,H)}function setEchartOption(G){componentData.value.params.component.option=G}function getEchartOption(){return echartDom?echartDom.getOption():componentData.value.params.component.option}function resize(){echartDom.resize()}function rowClickEmitFun(G,H){componentData.value.params.parentRegionId===H&&(G?componentData.value.params.preTag===G.preTag&&(componentData.value.params.parentRowId=G.rowId,componentData.value.params.parentRowIdValue=G.rowIdValue,componentData.value.params.parentData=G):(setEchartOption({}),componentData.value.params.parentData=null,componentData.value.params.parentRowId=null,componentData.value.params.parentRowIdValue=null),loadEchart())}return vue.onMounted(async()=>{var G;(G=componentData.value.params.component)!=null&&G.script&&(componentData.value.params.component.option=eval("("+componentData.value.params.component.script+")")),await evalEvent(componentData.value.params.component.initFunction,"ECHARTS","图表组件初始化事件"),initEchart(),componentData.value.params.parentRegionId?addGridClickEvent(rowClickEmitFun):loadEchart(),echartDom.params=componentData.value.params,regionMap.value[componentData.value.params.code+"-"+componentData.value.params.preTag]=echartDom,regionMap.value[componentData.value.params.code]=echartDom,on$1(window,"resize",resize),echartDom.loadEchart=()=>loadEchart(),echartDom.refreshEchart=(H={},X=!1)=>refreshEchart(H,X),echartDom.setEchartOption=H=>setEchartOption(H),echartDom.getEchartOption=()=>getEchartOption()}),vue.onUnmounted(()=>{off$1(window,"resize",resize)}),vue.onActivated(()=>{vue.nextTick(()=>{on$1(window,"resize",resize)})}),vue.onDeactivated(()=>{off$1(window,"resize",resize)}),__expose(),(G,H)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$la,[vue.createElementVNode("div",{ref_key:"echart",ref:echart,class:"charts window-chart"},null,512)]))}},WindowCharts=_export_sfc(_sfc_main$n,[["__scopeId","data-v-f131e10c"]]);WindowCharts.name="slw-window-charts",WindowCharts.install=G=>{G.component(WindowCharts.name,WindowCharts)};const _hoisted_1$l9={class:"slw-window-grid-container",style:{height:"100%"}},_hoisted_2$l3={key:0,style:{verticalAlign:"middle"}},_hoisted_3$h$=["id"],_hoisted_4$aA={class:"vxe-grid--form-wrapper"},_hoisted_5$4Y=["id"],_hoisted_6$21=["onClick"],_hoisted_7$14={class:"slw-form-item"},_hoisted_8$H={key:0,class:"vxe-form--item-trigger-text"},_hoisted_9$n={key:1,class:"vxe-form--item-trigger-text"},_hoisted_10$r=["id"],_hoisted_11$h={style:{"font-size":"18px","margin-right":"8px"}},_hoisted_12$8={key:0,class:"pager-left-wrapper",title:"全量数据全选/取消"},_hoisted_13$4={style:{padding:"20px 0"}},_sfc_main$m={__name:"window-grid",props:{gridData:{type:Object,require:!0},childs:{type:Array}},emits:["update:gridData","jumpDesign"],setup(__props,{expose:__expose,emit:__emit}){const props=__props,emit=__emit,axios=vue.inject("$axios"),hiprint=vue.inject("$hiprint"),silentHiprint=vue.inject("$silentHiprint",""),serverPrint=vue.inject("$serverPrint"),regionMap=vue.inject("$regionMap"),focusInput=vue.inject("$focusInput"),base64Encode=vue.inject("$base64Encode"),base64Decode=vue.inject("$base64Decode"),$T=vue.inject("$t"),httpHeaders=vue.inject("$httpHeaders"),addGridClickEvent=vue.inject("$addGridClickEvent"),showPreView=vue.inject("$showPreView"),showPreViewClose=vue.inject("$showPreViewClose"),preViewCloseCallback=vue.inject("$preViewCloseCallback"),toggleModalLoading=vue.inject("$toggleModalLoading"),closePreModal=vue.inject("$closePreModal"),rowDbClick=vue.inject("$rowDbClick"),$Modal=vue.inject("$modal"),$qs=vue.inject("$qs"),$ElMessage=vue.inject("$ElMessage"),$vxeMessage=vue.inject("$vxeMessage"),$vxeConfirm=vue.inject("$vxeConfirm"),$vxeOpen=vue.inject("$vxeOpen"),$vxeReadFile=vue.inject("$vxeReadFile"),openModal=vue.inject("$openModal"),closeModal=vue.inject("$closeModal"),openDrawer=vue.inject("$openDrawer"),closeDrawer=vue.inject("$closeDrawer"),evalDefaultValue=vue.inject("$evalDefaultValue"),callGridClickEvents=vue.inject("$callGridClickEvents"),ElMessageBox=vue.inject("$ElMessageBox"),addOnActivatedFun=vue.inject("$addOnActivatedFun"),debounce=vue.inject("$debounce"),router=vue.inject("$router"),$components=vue.inject("$components"),$componentsPath=vue.inject("$componentsPath"),$externalFun=vue.inject("$externalFun"),beginEdit=vue.inject("$beginEdit"),endEdit=vue.inject("$endEdit"),route=vueRouter.useRoute();let success=vue.inject("$success",null),error=vue.inject("$error",null);const executeFun=vue.inject("$executeFun"),isActivatedFun=vue.inject("$isActivatedFun");let gridData=useVModel$1(props,"gridData",emit),rowIndex=vue.ref(0),isImport=vue.ref(!1),importUrl=vue.ref(`${(axios==null?void 0:axios.baseUrl)||""}/window/import`),importBtnId=vue.ref(""),uploadConfig=vue.ref({show:!1,dataId:"",regionId:"",isHavePicUploadBtn:!0,openType:""}),bodyMenus=vue.ref([[{code:"expand",name:$T("展开节点"),disabled:!1},{code:"contract",name:$T("收缩节点"),disabled:!1}]]),editBtn=vue.ref(null),exportButton=vue.ref(null),uploadData=vue.ref({}),queryTimeout=vue.ref(null),formSelectMap=vue.ref({}),isEditGridInitData=vue.ref(!1),queryFormData=vue.ref({});const otherItem=vue.ref(),tableTop=vue.ref(),queryTop=vue.ref();let otherItemComponent=vue.shallowRef(),tableTopComponent=vue.shallowRef(),queryTopComponent=vue.shallowRef(),componentViewShow=vue.ref(!1),componentViewData=vue.ref(null),componentViewName=vue.shallowRef(null),pagerToolChecked=vue.ref(!1);const preTag=vue.computed(()=>gridData.value.params.preTag||""),computeExcelUrl=vue.computed(()=>{let G=getCurRegion();return G.params.newImportUrl?G.params.newImportUrl:importUrl.value}),computeGridClass=vue.computed(()=>{let G="";if(gridData.value.addListener&&(G="cell--area"),(gridData.value.type=="TREE"||gridData.value.type=="TREE_STRUCTURE")&&(G+=" vxe-grid-tree"),getCurRegion()){let X=gridData.value.formConfig.items.filter(Q=>Q.folding).map(Q=>Q.field);if(X.length>0){let Q=!1;for(let K of X)if(queryFormData.value[K]instanceof Array)if(queryFormData.value[K].length>0){Q=!0;break}else continue;else if(queryFormData.value[K]){Q=!0;break}Q&&(G+=" form-folding")}}return G});let checkedGridOptions=vue.ref({});const computeCheckedData=vue.computed(()=>{if(!gridData.value.checkboxConfig.reserve)return;const G=getCheckedReserveData();if((G==null?void 0:G.length)>0){removeCheckedRow.value&&(removeCheckedRow.value=null);const H=gridData.value.rowConfig.keyField;let X=XEUtils.clone(gridData.value.columns,!0);X=X.filter(K=>{if(K.field)return delete K.filterRender,delete K.filters,checkedGridShowCols.value&&(checkedGridShowCols.value.includes(K.field.toLowerCase())?K.visible=!0:K.visible=!1),K}),X.unshift({title:"操作",width:60,align:"center",slots:{default:"operate"}});let Q=XEUtils.clone(G,!0);return Q.forEach(K=>{for(let Z in K)K["_"+Z+"_NAME"]&&(K[Z]=K["_"+Z+"_NAME"])}),checkedGridOptions.value={border:!0,showOverflow:"tooltip",showHeaderOverflow:!0,align:null,minHeight:"250",columnConfig:{useKey:!0,resizable:!0},columns:X,toolbarConfig:{slots:{buttons:"toolbar_buttons"},custom:!0},customConfig:{allowSort:!1,allowFixed:!1,allowResizable:!1},rowConfig:{useKey:!0,keyField:H},data:Q},!0}else(G==null?void 0:G.length)==0&&removeCheckedRow.value&&(checkedGridOptions.value.data=[]);return!1}),computeQueryBtnDisplay=vue.computed(()=>{let G=!0;return gridData.value.formConfig.items.forEach(H=>{G=G&&!H.visible}),!G});vue.watch(()=>queryFormData.value,(G,H)=>{gridData.value.params.queryFormData=G},{deep:!0});const showButtons=(G,H)=>gridData.value.type==="TREE"||gridData.value.type==="TREE_STRUCTURE"?gridData.value.toolbarConfig.buttons.filter(X=>X.showInGrid&&X.btnShowInGrid[H._INDEX]):gridData.value.toolbarConfig.buttons.filter(X=>X.showInGrid&&X.btnShowInGrid[G]),$modal=$Modal,$Message=vue.ref({success(G){success(G)},error(G){error(G)}}),$message=$Message.value,showModal=(G,H,X)=>{openModal(G,H,X)},evalEvent=(curEvent,...eventParams)=>{if(curEvent){if(typeof curEvent=="function")return curEvent(...eventParams);try{if(eventParams.length){let H=curEvent.substring(curEvent.indexOf("(")+1,curEvent.indexOf(")")).split(",")[0].replace(" ","");if(H=="form"||H=="grid"){let X=curEvent.split(`
78
78
  `);if(/.+function\s{0,}([.]{0,})/.test(X[0])){let K=new RegExp(`[\\s\\,]{0,}${H}[\\s\\,]{0,}`,"g");X[0]=X[0].replace(K,"")}curEvent=X.join(`
79
- `);let Q=new RegExp(`${H}\\.`,"g");curEvent=curEvent.replace(Q,"")}}let fun=curEvent.replaceAll("this.$data.","").replaceAll("this.","");if(typeof fun=="function"||fun.indexOf("function")>-1)return typeof fun!="function"&&eval("fun = "+fun),fun(...eventParams);eval(fun)}catch(G){console.error(G,gridData.value.params.windowTitle,eventParams.at(-1))}}},displayLogic=(displayStr,datax)=>{const data=Object.assign({},datax);let result=!1;try{(gridData.value.type==="TREE"||gridData.value.type==="TREE_STRUCTURE")&&typeof data._CHILDS>"u"&&(data._CHILDS="undefined"),data.userId=localStorage.getItem("userId");for(const G in data)displayStr=displayStr.replace(new RegExp("@"+G+"@","gi"),typeof data[G]=="string"?"'"+data[G]+"'":data[G]);result=eval(displayStr.replaceAll("this.$data.","").replaceAll("this.",""))}catch(G){result=!1}return result};function onFormReset(G){Object.entries(G.data).forEach(([H,X])=>{X!==void 0&&(G.data[H]=void 0)}),getCurRegion().commitProxy("reload")}const operationButton=G=>({size:"small",type:G.viewType,style:{...G.css,marginLeft:"0px",padding:"5px"},icon:G.icon,text:!0,iconComponent:G.iconComponent,round:G.shape==="round",circle:G.shape==="circle",loading:G.btnLoad[rowIndex.value],shape:G.shape}),rowClickEmitFun=(G,H)=>{gridData.value.params.parentRegionId===H&&(G?preTag.value===G.preTag&&(gridData.value.params.parentRowId=G.rowId,gridData.value.params.parentRowIdValue=G.rowIdValue,G.hasData?(gridData.value.params.parentData=G,reload()):(gridData.value.params.parentData=null,gridData.value.params.queryParams=null,getCurRegion().loadData([]))):(gridData.value.params.parentRowId=null,gridData.value.params.parentRowIdValue=null,getCurRegion().loadData([])))},gridReload=(G,H)=>{gridData.value.params._region_id===G&&(H!=null&&(rowIndex.value=H),getCurRegion().commitProxy("reload"))},setSubtableSearchParams=G=>{gridData.value.params.subtableSearchExParams=G},searchData=G=>{gridData.value.proxyConfig={seq:!0,sort:!0,filter:!0,form:!1,props:{list:"data.data",result:"data.data",total:"data.count"},ajax:{query:async({page:H,sorts:X,filters:Q,form:K})=>{if(gridData.value.noSearchData){delete gridData.value.noSearchData;return}let Z=getParentRegion(),ee=null;Z!=null&&Z.params&&(ee=Z.params.subtableSearchExParams);let te=gridData.value.formConfig.items.map(ce=>ce.field);for(let ce in queryFormData.value)if(!te.includes(ce))if(ce.includes("end_")){let de=ce.replace("end_","");te.includes(de)||delete queryFormData.value[ce]}else delete queryFormData.value[ce];const ne=Object.assign({},queryFormData.value,ee);Object.entries(ne).forEach(([ce,de])=>{var ue;if(de==null&&(ne[ce]=null,queryFormData.value[ce]=null),ne[ce]instanceof Array){let he=gridData.value.formConfig.items.filter(ve=>ve.field==ce)[0],fe=(ue=he==null?void 0:he.itemRender)==null?void 0:ue.name,pe=XEUtils.clone(ne[ce],!0);fe=="ElTimePicker"?(ne[ce]=pe[0],ne["end_"+ce]=pe[1]):["ElDateRangePicker","ElDateTimeRangePicker"].includes(fe)&&(ne[ce]=pe[0],ne["end_"+ce]=pe[1],queryFormData.value[ce]=pe[0],queryFormData.value["end_"+ce]=pe[1])}});const re=X[0];re&&(ne.$_sort_column=re.property,ne.$_sort_type=re.order);for(let{property:ce,datas:de,column:ue}of Q){let he=ce.toLowerCase(),fe=ue.editRender.name;if(de[0]instanceof Array&&["ElDatePicker","ElDateRangePicker","ElDateTimeRangePicker","ElTimePicker","ElInputNumber"].includes(fe)){let pe=XEUtils.clone(de[0],!0);ne[he]=pe[0],ne["end_"+he]=pe[1]}else{let pe=de.join(",");ne[he]=pe}}if(ne.page=H.currentPage,ne.limit=H.pageSize,ne._region_id=gridData.value.params._region_id,gridData.value.params.parentRowId&&(ne[gridData.value.params.parentRowId]=gridData.value.params.parentRowIdValue),G&&Object.keys(G).forEach(ce=>{const de=ce.toLowerCase();ne.hasOwnProperty(de)&&(ne[de]=G[ce])}),queryFormData.value=XEUtils.clone(ne,!0),Object.keys(ne).forEach(ce=>{ne[ce]instanceof Object&&(ne[ce]=Object.values(ne[ce]).join())}),localStorage.setItem(gridData.value.params._region_id+preTag.value,JSON.stringify(queryFormData.value)),queryBeforeList&&queryBeforeList.length>0){let ce={};if(queryBeforeList.forEach(de=>{if(de&&typeof de=="function")try{ce=de(ne,"GIRD")}catch(ue){console.error(ue,gridData.value.params.windowTitle,"表格查询前方法")}}),ce===!1)return{data:{data:[],count:0},status:200}}const oe=axios.post("/window/data/"+gridData.value.params.datasourceCode,ne);let ae=null,se=[];oe.then(async ce=>{var ue,he;let de={};if(ce&&ce.data&&ce.data.result&&ce.data.data&&ce.data.data.length>0){let me=function($e){$e.forEach((Ee,xe)=>{let Me=15;gridData.value.toolbarConfig.buttons.forEach(De=>{if(typeof De.type<"u"){De.btnLoad[ve]=!1;const ke=De.displayLogic?displayLogic(De.displayLogic,{...Ee,...assembleParentData(gridData.value.params.parentData)}):!0,Oe=De.showInGrid&&ke,Ne=!De.showInGrid&&ke;if(De.btnShowInGrid[ve]=Oe,De.btnShow[ve]=Ne,fe=fe||Oe,Oe)if(De.type=="EDIT"||De.type=="DELETE")Me+=30;else if(De.iconComponent)Me+=30;else{let _e=De.name.replace(/[\u4e00-\u9fa5]/g,"DD").length;Me+=_e*8}}}),Me>pe&&(pe=Me),Ee._INDEX=ve,ve++,Ee._CHILDS&&Ee._CHILDS.length>0&&me(Ee._CHILDS)})},fe=!1,pe=0,ve=0;se=ce.data.data,me(se);let ge=!1;gridData.value.columns.forEach($e=>{$e.colId=="_operation_"&&$e.title=="操作"&&$e.width!=pe&&pe>60&&(ge=!0,$e.width=pe+"px")}),ge&&getCurRegion().loadColumn(gridData.value.columns),gridData.value.params.rowIndex!=null&&(rowIndex.value=gridData.value.params.rowIndex),ce.data.data.length>rowIndex.value?de=ce.data.data[rowIndex.value]:de=ce.data.data[0];const we=getCurRegion();if(we){const $e=we.getColumnById("_operation_");$e&&fe&&we.showColumn($e)}!isEditGridInitData.value&&gridData.value.type==="EDIT_GRID"&&editGridInitData(de)}((he=(ue=checkedGridOptions.value)==null?void 0:ue.data)==null?void 0:he.length)>0&&checkedGridOptions.value.data.forEach(fe=>{getCurRegion().setCheckboxRow(fe,!0)}),pagerToolChecked.value&&ce.data.data.forEach(fe=>{getCurRegion().setCheckboxRow(fe,!0)}),gridData.value.params.rowNotSelect?rowIndex.value=-1:rowClickCommon(de,rowIndex.value),queryAfterList&&queryAfterList.length>0&&queryAfterList.forEach(fe=>{if(fe&&typeof fe=="function")try{ae=fe(se,"GRID")}catch(pe){console.error(pe,gridData.value.params.windowTitle,"表格查询后方法")}})});const le=await oe;return typeof le>"u"||ae===!1?{data:{data:[],count:0},status:200}:le&&ae?(le.data.data=ae,le):(setTimeout(()=>{var ce,de,ue;((de=(ce=le==null?void 0:le.data)==null?void 0:ce.data)==null?void 0:de.length)<((ue=le==null?void 0:le.data)==null?void 0:ue.count)&&checkTableHeightExceedContainer()&&scrollBoundaryEvent({direction:"bottom",isBottom:!0,scrollHeight:0,bodyHeight:0})}),oe)}}},(gridData.value.params.parentRegionId&&!gridData.value.params.addFollowMain||gridData.value.openType=="new")&&(gridData.value.proxyConfig.autoLoad=!1)},rowClick=G=>{if(gridData.value.type==="TREE"||gridData.value.type==="TREE_STRUCTURE"?rowClickCommon(G.row,G.rowIndex):(G.rowIndex==-1&&(G.rowIndex=G._rowIndex),G.rowIndex!==rowIndex.value?rowClickCommon(G.row,G.rowIndex,G.column.field):(rowIndex.value=G.rowIndex,gridData.value.type=="EDIT_GRID"&&getCurRegion().setEditCell(G.row,G.column.field))),gridData.value.rowConfig.keyField=="SYS_WINDOW_REGION_ID")try{navigator.clipboard&&window.isSecureContext&&(G.column.field=="CODE"?(navigator.clipboard.writeText(G.row[G.column.field]),$message.success("已复制区域编码到剪贴板")):G.column.field=="SYS_DATASOURCE_ID"&&(navigator.clipboard.writeText(G.row._SYS_DATASOURCE_ID_NAME),$message.success("已复制数据源到剪贴板")))}catch(H){console.error("复制失败!",H)}},rowClickCommon=(G,H,X)=>{var ee;const Q={rowId:gridData.value.rowConfig.keyField,rowIdValue:!G||!G.hasOwnProperty(gridData.value.rowConfig.keyField)?"":G[gridData.value.rowConfig.keyField],preTag:preTag.value,hasData:!(typeof G>"u"||Object.keys(G).length===0),...G},K=Object.assign({},Q);if(delete K._region_id,gridData.value.params.parentData=getParentData(),getCheckedReserveData().length<=0&&emitButtonDisplayLogic({...G,...assembleParentData(gridData.value.params.parentData)},H),rowIndex.value=H,Q.hasData&&(evalEvent(gridData.value.params.formEvents.rowClickFunction,G,"行点击事件"),getCurRegion().setCurrentRow(G)),callGridClickEvents(K,gridData.value.params._region_id),gridData.value.type=="EDIT_GRID"){for(let te in G){let ne=gridData.value.columns.filter(re=>re.field==te)[0];(ee=ne==null?void 0:ne.editRender)!=null&&ee.props.multiple&&typeof G[te]=="string"&&(G[te]=G[te].split(","))}setTimeout(()=>{X?getCurRegion().setEditCell(G,X):getCurRegion().setEditRow(G)},300)}},emitButtonDisplayLogic=(G,H)=>{gridData.value.toolbarConfig.buttons.forEach(X=>{X.displayLogic&&(X.showInGrid||(X.visible=displayLogic(X.displayLogic,G)),X.btnShowInGrid[H]=X.showInGrid&&displayLogic(X.displayLogic,G),X.btnShow[H]=!X.showInGrid&&X.showInGrid)})},onRowDbClick=async G=>{gridData.value.addListener&&G.column.type=="seq"&&G.column.fixed=="left"&&headerSeqCellDbClick(G),gridData.value.params.formEvents.rowDbclickFunction?await evalEvent(gridData.value.params.formEvents.rowDbclickFunction,G.row,"行双击事件"):gridData.value.type!=="EDIT_GRID"&&commonEditData(G.row,G.rowIndex)},toolBarButtonClick=async(G,H,X)=>{var Z,ee;if(G.hasOwnProperty("button")&&(G=G.button),gridData.value.type=="TREE_STRUCTURE"){if(G.type=="OPEN"){getCurRegion().setAllTreeExpand(!0);return}else if(G.type=="CLOSE"){getCurRegion().clearTreeExpand();return}}let Q;if(typeof H>"u"&&G.type!=="EXPORT"&&(H=getSelectRecord()||getCheckedReserveData(),Q=getCheckedReserveData(),gridData.value.type!=="EDIT_GRID"&&G.type!=="NEW"&&G.type!=="IMPORT"&&G.code.toUpperCase()!=="ROLLBACK"&&G.type!=="EVENT")){if(!H||H.length===0){$message.success($T("请选择数据!"),"info");return}H.length>0&&(H=H[0])}typeof X<"u"?(G.buttonRender.props.loading=vue.computed(()=>G.btnLoad[X]),G.btnLoad[X]=!0):(G.buttonRender.props.loading=vue.computed(()=>G.loading),G.loading=!0);let K={};switch(gridData.value.params.addChildData&&gridData.value.params.childRegionCode.forEach(te=>{let ne=getRegion(te),re=ne.columns.filter(oe=>oe.colId!="_operation_").map(oe=>{var ae,se;return delete oe.filterRender,delete oe.filters,((ae=oe.editRender)!=null&&ae.props.readonly||(se=oe.editRender)!=null&&se.props.disabled)&&(oe.editRender.name="ElText"),oe});K[te]={id:ne.id,name:ne.params.windowTitle,gridData:{id:ne.id,columns:JSON.parse(JSON.stringify(re)),tableData:[],editRules:ne.editRules,params:Object.assign({},ne.params),height:"auto",autoResize:!0,border:"inner",size:"small",columnConfig:{useKey:!0,isCurrent:!0,isHover:!0,resizable:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{code:"child_add",css:"",iconComponent:"Add",btnLoad:{},btnShowInGrid:{},btnShow:{},icon:null,loading:!1,name:$T("新增"),showInGrid:!1,type:"CHILD_ADD",viewType:"primary",visible:!0},{code:"child_copy",css:"",iconComponent:"Copy",btnLoad:{},btnShowInGrid:{},btnShow:{},icon:null,loading:!1,name:$T("复制"),showInGrid:!1,type:"CHILD_COPY",viewType:"primary",visible:!0},{code:"child_delete",css:"",iconComponent:"TrashOutline",btnLoad:{},btnShowInGrid:{},btnShow:{},icon:null,loading:!1,name:$T("删除"),showInGrid:!1,type:"CHILD_DELETE",viewType:"danger",visible:!0,plain:!0}],refresh:!1,import:!1,export:!1,print:!1,zoom:!1,custom:!1},editConfig:{trigger:"manual",mode:"row",enabled:!0,showStatus:!1,showIcon:!1},showOverflow:!0,rowConfig:{useKey:!0,keyField:ne.rowConfig.keyField,isCurrent:!1,height:35,isHover:!0},type:"EDIT_GRID",addListener:!0,pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,enabled:!1,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"]}}},G.type=="NEW"&&(K[te].gridData.openType="new")}),G.type){case"NEW":const te={},ne=gridData.value.columns;for(let oe of ne)oe.editRender&&(te[oe.field]=oe.editRender.name=="ElInputNumber"?null:""),(Z=oe.editRender)!=null&&Z.name.includes("Select")&&oe.editRender.props.multiple&&(te[oe.field]=te[oe.field]==""?[]:(ee=te[oe.field])==null?void 0:ee.split(","));if(gridData.value.params.parentRowId&&(te[gridData.value.params.parentRowId]=gridData.value.params.parentRowIdValue),te._button_id=G._button_id,gridData.value.type==="EDIT_GRID"){const oe=getGrid();te._region_id=gridData.value.params._region_id;const{row:ae}=await getGrid().insertAt(te,-1);await editGridSetDefaultValue(ae),isEditGridInitData.value||await editGridInitData(ae),oe.setEditRow(ae)}else{if(gridData.value.params.parentRowId&&!gridData.value.params.parentRowIdValue){$message.success($T("请选创建父窗口数据!"),"info"),G.loading=!1;return}let oe=Object.assign({},gridData.value);oe={...oe,formData:Object.assign({},te),windowTitle:$T("[新增]")+gridData.value.params.windowTitle,openType:"new",preTag:preTag.value,showEdit:!0,width:gridData.value.params.newWidth?gridData.value.params.newWidth:"800px",height:gridData.value.params.newHeight?gridData.value.params.newHeight:"",childForm:K},K&&Object.keys(K).length>0&&(oe.width="85vw"),oe.params.queryParams!==null&&typeof oe.params.queryParams<"u"&&(oe.params.queryParams.unQuery=!0),oe.params.parentData=getParentData(),oe._reload=()=>reload(),rowDbClick(oe)}break;case"EDIT":commonEditData(H,X||rowIndex.value,K);break;case"DELETE":if(gridData.value.type==="EDIT_GRID")$vxeConfirm($T("你确定删除?"),void 0,{zIndex:3e3}).then(oe=>{oe==="confirm"&&(G.showInGrid?getGrid().remove(H):getGrid().removeCheckboxRow())});else{let oe=H[gridData.value.rowConfig.keyField];const ae=getCheckedReserveData();ae&&ae.length>0&&!G.showInGrid&&(oe=ae.map(ce=>ce[gridData.value.rowConfig.keyField]).join(","));const se={ids:oe,_region_id:gridData.value.params._region_id,_button_id:gridData.value.params.delete_button_id};let le="/window/delete";G.requestPath&&(le=G.requestPath),$vxeConfirm($T("你确定删除?"),void 0,{zIndex:3e3}).then(ce=>{ce==="confirm"&&axios.post(le,se).then(de=>{de.status===200&&de.data.result?(reload(),$message.success($T(de.data.msg),"info")):$message.error(de.data.msg)}).catch(de=>{$message.error(de.msg)})})}break;case"TRANSLATE":showPreView("11",$T("翻译"),{dataId:H[gridData.value.rowConfig.keyField],dsId:gridData.value.params.dsId});break;case"PIC_UPLOAD":uploadConfig.value.show=!uploadConfig.value.show,uploadConfig.value.dataId=H[gridData.value.rowConfig.keyField],uploadConfig.value.regionId=gridData.value.params._region_id,uploadConfig.value.config=gridData.value.params.pictureUploadConfig;break;case"IMPORT":isImport.value=!0,importBtnId.value=G._button_id,uploadData.value={_region_id:gridData.value.params._region_id,_button_id:importBtnId.value},gridData.value.rowConfig.keyField&&getSelectRecord()&&(uploadData.value[gridData.value.rowConfig.keyField]=getSelectRecord()[gridData.value.rowConfig.keyField]),gridData.value.params.parentRowId&&(uploadData.value[gridData.value.params.parentRowId]=gridData.value.params.parentRowIdValue);break;case"EXPORT":await exportData();break;case"SUBMIT":gridData.value.type==="EDIT_GRID"?$vxeConfirm($T("确定批量保存?"),void 0,{zIndex:3e3}).then(oe=>{if(oe==="confirm"){let{insertRecords:ae,updateRecords:se}=getGrid().getRecordset();const ce=ae.concat(se).map(ue=>(ue[gridData.value.rowConfig.keyField].includes("row_")&&(ue[gridData.value.rowConfig.keyField]=""),Object.keys(ue).forEach(he=>{ue[he]instanceof Array&&(ue[he]=Object.values(ue[he]).join())}),ue));let de={_region_id:gridData.value.params._region_id,_button_id:G._button_id,datas:ce};axios.post("window/batchSave",de,"json").then(ue=>{ue.status===200&&ue.data.result?(reload(),$message.success($T(ue.data.msg),"info")):$message.error(ue.data.msg)}).catch(ue=>{$message.error(ue.msg)})}}):$message.error("仅支持可编辑表格批量新增!");break;case"EVENT":const re=G.code.toUpperCase();if(re=="NEW_DESIGNER")emit("jumpDesign","add");else if(re=="EDIT_DESIGNER")emit("jumpDesign","edit",H.SYS_WINDOW_ID,H);else if(re==="WINDOW_VIEW")showPreView(H.SYS_WINDOW_ID,H.NAME),G.loading=!1;else if(re==="ROLLBACK")try{$vxeReadFile({types:["xml"]}).then(({file:oe})=>{const ae=new FormData;ae.append("file",oe),axios.upload("windowButton/importWindow",ae).then(se=>{se.status===200&&($message.success($T(se.data.msg||$T("导入失败!")),"info"),se.data.result&&reload()),G.loading=!1})}).catch(oe=>{console.error(oe),G.loading=!1})}catch(oe){G.loading=!1,console.error(oe)}else if(re==="EXPORT"&&gridData.value.params.code=="Window"){if(!H||H.length===0){$message.success($T(response.data.msg||$T("请选择需要导出的窗口!")),"info"),G.loading=!1;return}H.length>0&&(H=H[0]),await axios.download("/windowButton/exportWindow",{windowId:H.SYS_WINDOW_ID}),G.loading=!1}else if(re==="CREATE_COLUMN")$vxeConfirm($T("确定生成字段?"),void 0,{zIndex:3e3}).then(oe=>{oe==="confirm"&&axios.post("windowButton/generateColumn",{datasourceId:H.SYS_DATASOURCE_ID}).then(ae=>{ae.data.result?(reload(),$message.success(ae.data.msg)):$message.error(ae.data.msg),G.loading=!1})});else if(re==="DATA_VIEW")axios.post("datasource/"+H.URL).then(oe=>{$vxeOpen({width:"800px",height:"500px",title:$T("预览[")+H.NAME+$T("]的数据"),content:oe.data.result?JSON.stringify(oe.data.data,null," "):oe.data.msg}),G.loading=!1});else if(re==="GENERATETABLE")$vxeConfirm($T("确定生成表结构?"),void 0,{zIndex:3e3}).then(oe=>{oe==="confirm"&&axios.post("windowButton/generateTableStructure",{dataSourceId:H.SYS_DATASOURCE_ID}).then(ae=>{ae.data.result?(reload(),$message.success(ae.data.msg)):$message.error(ae.data.msg),G.loading=!1})});else if(re==="GENERATE_FIELD")$vxeConfirm($T("确定生成字段?"),void 0,{zIndex:3e3}).then(oe=>{oe==="confirm"&&axios.post("windowButton/generateField",{regionId:H.SYS_WINDOW_REGION_ID}).then(ae=>{ae.data.result?(reload(),$message.success(ae.data.msg)):$message.error(ae.data.msg),G.loading=!1})});else if(re==="COMPONENT_VIEW"){let oe=Object.keys(H).reduce((ae,se)=>{const le=H[se];return ae[se.toLowerCase()]=le,ae},{});if(componentViewData.value={params:{component:oe}},oe.type=="ECHARTS")componentViewName.value=WindowCharts;else if(oe.type=="VUE")if(oe.vue_path.includes("layout")){let se=await Object.assign({})[oe.vue_path]();componentViewName.value=vue.markRaw(se.default)}else{let ae=`${$componentsPath}/${oe.vue_path}`;if($components[ae]){let se=await $components[ae]();componentViewName.value=vue.markRaw(se.default)}}componentViewShow.value=!0,G.loading=!1}else if(G.windowId){if(beginEdit&&await beginEdit(H,gridData.value.rowConfig.keyField,curRegion.value)==!1)return;showPreView(G.windowId,G.name,H,{width:G.openWidth,height:G.openHeight,preViewCloseFun:function(){endEdit&&endEdit(H,gridData.value.rowConfig.keyField,curRegion.value)}})}else try{G.clickFunction&&await evalEvent("async "+G.clickFunction,(Q==null?void 0:Q.length)>1?Q:H,G,"按钮点击事件")!==!1&&(G.loading=!1)}catch(oe){console.error(oe),G.loading=!1}break;case"CHILD_ADD":handleAddChildTableData();break;case"CHILD_COPY":handleCopyChildTableData();break;case"CHILD_DELETE":handleDeleteChildTableData();break}typeof X<"u"?G.btnLoad[X]=!1:G.loading=!1},curRegion=vue.ref(),getCurRegion=()=>curRegion.value,commonEditData=async(G,H,X)=>{const Q=gridData.value.params.isEdit&&(editBtn.value.visible||editBtn.value.btnShowInGrid[H]||gridData.value.type==="TREE"||gridData.value.type==="TREE_STRUCTURE");gridData.value.params.parentData=getParentData();let K=Object.assign({},gridData.value);beginEdit&&Q&&await beginEdit(G,gridData.value.rowConfig.keyField,curRegion.value)==!1||(K={...K,formData:Object.assign({},G),windowTitle:$T(Q?"[编辑]":"[查看]")+gridData.value.params.windowTitle,openType:Q?"edit":"view",preTag:preTag.value,showEdit:!0,width:gridData.value.params.editWidth?gridData.value.params.editWidth:"800px",height:gridData.value.params.editHeight?gridData.value.params.editHeight:"",tableData:getCanEditData(),rowIndex:H,childForm:X},X&&Object.keys(X).length>0&&(K.width="85vw"),(K.type=="TREE"||K.type=="TREE_STRUCTURE")&&(K.rowIndex=G._INDEX),K.params.queryParams!==null&&typeof K.params.queryParams<"u"&&(K.params.queryParams.unQuery=!0),K.formData._button_id=gridData.value.params.edit_button_id,K._reload=Z=>reloadRow(Z),rowDbClick(K))},reload=()=>{var G;(G=getCurRegion())==null||G.commitProxy("reload")},reloadRow=G=>{const{formData:H,tableData:X,rowConfig:Q}=G;function K(Z){Z.forEach(ee=>{var te,ne;if(ee[Q.keyField]==H[Q.keyField]){if(G.type=="TREE"||G.type=="TREE_STRUCTURE"){(te=getCurRegion())==null||te.reloadData([]),reload(),setTimeout(()=>{getCurRegion().setAllTreeExpand(!0)},500);return}else getCurRegion().reloadRow(ee,H);queryAfterList&&queryAfterList.length>0&&queryAfterList.forEach(re=>{if(re&&typeof re=="function")try{re(X||[])}catch(oe){console.error(oe,gridData.value.params.windowTitle,"表格查询后方法")}}),rowClickCommon(ee,rowIndex.value);return}else((ne=ee._CHILDS)==null?void 0:ne.length)>0&&K(ee._CHILDS)})}K(X)},clearGrid=()=>{for(let G in queryFormData.value)queryFormData.value[G]=null;localStorage.setItem(gridData.value.params._region_id+preTag.value,JSON.stringify(queryFormData.value)),clearCheckedReserveData(),getCurRegion().loadData([])},resetGrid=()=>{var G;for(let H in queryFormData.value)queryFormData.value[H]=null;pagerToolChecked.value=!1,clearCheckedReserveData(),(G=getCurRegion())==null||G.commitProxy("reload")},getCheckedData=()=>{const G=getCurRegion();if(pagerToolChecked.value){const{pager:H}=G.getProxyInfo();let X=Object.assign({},queryFormData.value,{page:1,limit:H.total});return getWindowDataSync(X)}return G?G.getCheckboxRecords():null},getCheckedReserveData=()=>{const G=getCurRegion();return G?G.getCheckboxRecords().concat(G.getCheckboxReserveRecords()):null},clearCheckedReserveData=()=>{getCurRegion().clearCheckboxReserve(),checkedGridOptions.value&&(checkedGridOptions.value.data=[])},headerCheckboxChange=({checked:G,row:H,rowIndex:X})=>{var K,Z,ee;let Q=getCheckedReserveData();if(Q.length>0)gridData.value.toolbarConfig.buttons.forEach(te=>{te.displayLogic&&!te.showInGrid&&Q.some(ne=>{if(te.visible=te.displayLogic?displayLogic(te.displayLogic,{...ne,...assembleParentData(gridData.value.params.parentData)}):!0,!te.visible)return!0})});else{const te=getSelectRecord();gridData.value.toolbarConfig.buttons.forEach(ne=>{ne.displayLogic&&!ne.showInGrid&&(ne.visible=displayLogic(ne.displayLogic,{...te,...assembleParentData(gridData.value.params.parentData)}))})}if(H)G||removeRowEvent(H),rowClickCommon(H,X);else{if(!G&&((Z=(K=checkedGridOptions.value)==null?void 0:K.data)==null?void 0:Z.length)>0){const{data:te}=curRegion.value.getProxyInfo();te.forEach(ne=>{removeRowEvent(ne)})}allCheckboxFunList&&allCheckboxFunList.length>0&&allCheckboxFunList.forEach(te=>{if(te&&typeof te=="function")try{te(Q)}catch(ne){console.error(ne)}})}if((ee=gridData.value.pagerConfig.slots)!=null&&ee.left&&getCheckedReserveData().length>0&&gridData.value.params.fullCheckboxLinkage){const{pager:te}=curRegion.value.getProxyInfo();getCheckedReserveData().length==te.total&&(pagerToolChecked.value=!0)}},getSelectRecord=()=>{const G=getCurRegion();return G?G.getCurrentRecord():null},getData=()=>{const G=getCurRegion();return gridData.value.type=="EDIT_GRID"?G?G.getTableData().visibleData:null:G?G.getData():null},setSelectRecordValue=(G,H)=>{const X=getSelectRecord();X[G]=H},setChecked=G=>{if(G instanceof Array)for(let H=0;H<G.length;H++)getCurRegion().setCheckboxRow(getCurRegion().getRowById(G[H]),!0);else G instanceof String&&getCurRegion().setCheckboxRow(getCurRegion().getRowById(G),!0)},getRegion=G=>{let H=regionMap.value[G+"-"+preTag.value];return H||regionMap.value[G]},getParentRegion=()=>{let G=regionMap.value[gridData.value.params.parentCode+"-"+preTag.value];return G||regionMap.value[gridData.value.params.parentCode]},getParentData=()=>{let G=getParentRegion();if(G){if(G.type=="FORM")return G.data;if(G.getCurrentRecord)return G.getCurrentRecord()}else return null},removeRow=G=>{getCurRegion().remove(G)},setExportSheetStyle=async({fontStyle:G={bold:!1,size:16,color:"000000"},borderStyle:H={color:"000000"},fillStyle:X={color:"ffffff"}})=>{gridData.value.exportConfig.sheetMethod=({options:Q,workbook:K,worksheet:Z})=>{Z.eachRow(ee=>{ee.eachCell(te=>{te.font={bold:G.bold,size:G.size,color:{argb:G.color}},te.border={top:{style:"thin",color:{argb:H.color}},left:{style:"thin",color:{argb:H.color}},bottom:{style:"thin",color:{argb:H.color}},right:{style:"thin",color:{argb:H.color}}},te.fill={type:"pattern",pattern:"solid",fgColor:{argb:X.color}}})})}},exportCurrentData=async G=>{if(exportButton.value){let H=({column:X,$columnIndex:Q})=>X.type!="checkbox";getCurRegion().vxeGridExportData(Object.assign({type:"xlsx",columnFilterMethod:H},G))}else $message.error($T("您没有导出数据权限!"))},exportData=async G=>{var H;if(exportButton.value){const X=Object.assign({_button_id:exportButton.value._button_id},gridData.value.params.queryFormData);if(gridData.value.params.parentRowId&&(X[gridData.value.params.parentRowId]=gridData.value.params.parentRowIdValue),(H=gridData.value.params)!=null&&H.exportDataLimit){const{pager:Q}=getCurRegion().getProxyInfo();if(Q.total>gridData.value.params.exportDataLimit){$message.error(`即将导出的数据量为${Q.total},超过限制${gridData.value.params.exportDataLimit},无法导出!`);return}}Object.keys(X).forEach(Q=>{X[Q]instanceof Array&&(X[Q]=Object.values(X[Q]).join())});try{await axios.export("/window/export?data="+base64Encode(JSON.stringify(X)),{},G)}catch(Q){console.error(Q)}}else $message.error($T("您没有导出数据权限!"))},search=G=>{clearTimeout(queryTimeout.value),G&&Object.keys(G).forEach(H=>{const X=H.toLowerCase();queryFormData.value.hasOwnProperty(X)&&(queryFormData.value[X]=G[H])}),queryTimeout.value=setTimeout(function(){var H;(H=getCurRegion())==null||H.commitProxy("query")},500)},importFormatError=G=>{$message.error($T("导入文件格式错误!"))},importSuccess=(G,H)=>{G.result&&(isImport.value=!1,reload()),success(G.msg,"info")},downTemplate=()=>{let G=getCurRegion(),H=G.params.newDownTemplateUrl?G.params.newDownTemplateUrl:"/window/downloadTemplate";axios.download(H,{_region_id:gridData.value.params._region_id})},confirm=(G,H)=>{$vxeConfirm(G,void 0,{zIndex:3e3}).then(X=>{X==="confirm"&&evalEvent(H)})},getGrid=()=>curRegion.value,assembleParentData=G=>{const H={};return G&&Object.keys(G).forEach(X=>{H["parent."+X]=G[X]}),H},getCanEditData=()=>{const G=[],H=getCurRegion().getData();for(let X=0;X<H.length;X++)gridData.value.params.isEdit&&(editBtn.value.btnShow[X]||editBtn.value.btnShowInGrid[X]||gridData.value.type==="TREE")&&(H[X]._button_id=gridData.value.params.edit_button_id,G.push(H[X]));return G},editGridSetDefaultValue=async G=>{const H=gridData.value.params._region_id,X={},Q={};X.PARAMS=Object.assign({},gridData.value.params.queryParams),Q.PARENT=Object.assign({},gridData.value.params.parentData),await axios.post("window/defaultValue",$qs.stringify({_region_id:H})).then(K=>{if(K.data.result&&K.data.data)for(const Z in K.data.data){const ee=K.data.data[Z];G[Z]=evalDefaultValue(ee,{...G,...X,...Q}),(G[Z]=="null"||G[Z]==null)&&(G[Z]=null)}})},editGridInitData=async G=>{var H,X;G._region_id=gridData.value.params._region_id;for(const Q of Object.keys(formSelectMap.value)){const K=formSelectMap.value[Q];K.dataType==="TREE"?await getSelectorData(G,K.id,K.selectorId).then(Z=>{K.editRender.props.treeData=Z,K.editRender.name=="ElCascader"&&(K.editRender.props.options=Z),K.editRender.props.props||(K.editRender.props.props={}),K.editRender.props.props.label=(ee,te)=>ee.label||ee.title}):typeof K.selectorId<"u"&&(await getSelectorData(G,K.id,K.selectorId).then(Z=>{K.editRender.options=Z.map(ee=>Object.assign({value:ee.VALUE,label:ee.NAME},ee)),getCurRegion().loadColumn(gridData.value.columns)}),(H=K.editRender)!=null&&H.name.includes("Select")&&K.editRender.props.multiple&&(G[K.field]==""?G[K.field]=[]:G[K.field]instanceof String&&(G[K.field]=(X=G[K.field])==null?void 0:X.split(","))))}isEditGridInitData.value=!0},onFieldChange=(G,H)=>{var te;const X=G.column.editRender.props,Q=X._field_id,K=G.column.property,Z=G.row;Z._region_id=gridData.value.params._region_id;let ee={};if(formSelectMap.value[Q]&&formSelectMap.value[Q].editRender.options){const ne=formSelectMap.value[Q].editRender.options;if(formSelectMap.value[Q].editRender.props.multiple&&H.value)Z["_"+K+"_NAME"]="",H.value.forEach(re=>{let oe=ne.filter(ae=>ae.value==re)[0];oe&&(Z["_"+K+"_NAME"]?Z["_"+K+"_NAME"]+=`,${oe.label}`:Z["_"+K+"_NAME"]=oe.label)});else{const re=ne.filter(oe=>oe.value==H)[0];re&&(ee=re,Z["_"+K+"_NAME"]=re.label)}evalEvent(X.changeFunction,H,ee,Z,"字段值更改方法")}else if(X.dataType==="TREE"){if(X.treeData){let ne=X.treeData,re=[];G.column.editRender.name=="ElCascader"&&H instanceof Array?((te=X.props)!=null&&te.multiple?(Z["_"+K+"_NAME"]="",H.forEach((oe,ae)=>{oe.forEach((se,le)=>{let ce=Object.assign({},getSelectedTreeDataOptionByValue(ne,se));le==0?(re.findIndex(de=>de.value==se)==-1&&re.push(ce),Z["_"+K+"_NAME"]+=ce.label):Z["_"+K+"_NAME"]+=`/${ce.label}`}),ae!=H.length-1&&(Z["_"+K+"_NAME"]+=",")})):(H=H[H.length-1],re=Object.assign({},getSelectedTreeDataOptionByValue(ne,H)),Z["_"+K+"_NAME"]=re.label),Z[K]=H):X.multiple?(Z["_"+K+"_NAME"]="",H.forEach((oe,ae)=>{let se=Object.assign({},getSelectedTreeDataOptionByValue(ne,oe));ae==0?Z["_"+K+"_NAME"]=se.label||se.title:Z["_"+K+"_NAME"]+=`,${se.label||se.title}`})):(re=Object.assign({},getSelectedTreeDataOptionByValue(ne,H)),Z["_"+K+"_NAME"]=re.label||opt.title),evalEvent(X.changeFunction,H,re,Z,"字段值更改方法")}}else evalEvent(X.changeFunction,H,K,Z,"字段值更改方法")},getSelectedTreeDataOptionByValue=(G,H)=>{let X;for(let Q=0;Q<G.length;Q++){if(G[Q].value===H){X=G[Q];break}if(G[Q].hasOwnProperty("children")&&(X=getSelectedTreeDataOptionByValue(G[Q].children,H),typeof X<"u"))break}return X};success||(success=(G,H)=>{$vxeMessage({content:G,status:H||"success",zIndex:3e3})}),error||(error=G=>{$ElMessage({message:G,type:"error",zIndex:3e3})});const visibleMethod=({row:G,type:H})=>{let X=getCurRegion();return H==="body"&&bodyMenus.value.forEach(Q=>{Q.forEach(K=>{if(["expand","contract"].includes(K.code))if(G._CHILDS&&G._CHILDS.length>0){let Z=X.isTreeExpandByRow(G);K.disabled=["expand"].includes(K.code)?Z:!Z}else K.disabled=!0})}),!0},contextMenuClickEvent=({menu:G,row:H,column:X})=>{let Q=getCurRegion();switch(G.code){case"expand":Q.setTreeExpand(H,!0);break;case"contract":Q.setTreeExpand(H,!1);break}},onFieldEnter=(G,H)=>{if(H.key==="Enter"&&G.column.editRender.props.enterFunction){let X=G.row[G.column.field];evalEvent(G.column.editRender.props.enterFunction,X,G.column.field,G.row,"字段回车事件")}},handleAddChildTableData=async()=>{let G={},H="";for(let K in gridData.value.columns)gridData.value.columns[K].visible&&(H===""&&(H=gridData.value.columns[K].field),G[gridData.value.columns[K].field]="");const X=getGrid(),{row:Q}=await X.insertAt(G);await X.setEditCell(Q,H),editGridInitData(Q)},handleCopyChildTableData=async G=>{const H=getGrid();let X=H.getCheckboxRecords();if(X.length<=0){$message.success($T("请勾选需要复制的行数据!"),"warning");return}let Q=H.getRowSeq(X[X.length-1]);for(let Z of X)delete Z.id;if(G){let Z=XEUtils.clone(X,!0);for(let ee=0;ee<9;ee++)X=X.concat(Z)}const{tableData:K}=await H.getTableData();K.length==Q&&(Q=-1),H.insertAt(X,Q)},handleDeleteChildTableData=async()=>{const G=getGrid();if(G.getCheckboxRecords().length<=0){$message.success($T("请勾选需要删除的行数据!"),"warning");return}await $vxeConfirm($T("您确定要删除吗?"))==="confirm"&&G.removeCheckboxRow()};let editActivedRow=null,editActivedRowIndex=0;const editActived=({row:G,rowIndex:H,$rowIndex:X,column:Q,columnIndex:K,$columnIndex:Z})=>{editActivedRow=G,editActivedRowIndex=H,destroyCopyAreaBox(),destroyCellAreaBox()};let isSelecting=vue.ref(!1),selectionStart=vue.ref({rowIndex:-1,cellIndex:-1}),selectionEnd=vue.ref({rowIndex:-1,cellIndex:-1}),cellarea=vue.ref(),outevent=null,tbodyMousedownTimeout=null,cellAreaData=null,isCut=!1,cutSelectionStart=vue.ref({rowIndex:-1,cellIndex:-1}),cutSelectionEnd=vue.ref({rowIndex:-1,cellIndex:-1});const ctrlVPaste=async G=>{if(gridData.value.addListener){let H=(G.clipboardData||window.clipboardData).getData("text");if(H){destroyCopyAreaBox();let X=H.split(`
79
+ `);let Q=new RegExp(`${H}\\.`,"g");curEvent=curEvent.replace(Q,"")}}let fun=curEvent.replaceAll("this.$data.","").replaceAll("this.","");if(typeof fun=="function"||fun.indexOf("function")>-1)return typeof fun!="function"&&eval("fun = "+fun),fun(...eventParams);eval(fun)}catch(G){console.error(G,gridData.value.params.windowTitle,eventParams.at(-1))}}},displayLogic=(displayStr,datax)=>{const data=Object.assign({},datax);let result=!1;try{(gridData.value.type==="TREE"||gridData.value.type==="TREE_STRUCTURE")&&typeof data._CHILDS>"u"&&(data._CHILDS="undefined"),data.userId=localStorage.getItem("userId");for(const G in data)displayStr=displayStr.replace(new RegExp("@"+G+"@","gi"),typeof data[G]=="string"?"'"+data[G]+"'":data[G]);result=eval(displayStr.replaceAll("this.$data.","").replaceAll("this.",""))}catch(G){result=!1}return result};function onFormReset(G){Object.entries(G.data).forEach(([H,X])=>{X!==void 0&&(G.data[H]=void 0)}),getCurRegion().commitProxy("reload")}const operationButton=G=>({size:"small",type:G.viewType,style:{...G.css,marginLeft:"0px",padding:"5px"},icon:G.icon,text:!0,iconComponent:G.iconComponent,round:G.shape==="round",circle:G.shape==="circle",loading:G.btnLoad[rowIndex.value],shape:G.shape}),rowClickEmitFun=(G,H)=>{gridData.value.params.parentRegionId===H&&(G?preTag.value===G.preTag&&(gridData.value.params.parentRowId=G.rowId,gridData.value.params.parentRowIdValue=G.rowIdValue,G.hasData?(gridData.value.params.parentData=G,reload()):(gridData.value.params.parentData=null,gridData.value.params.queryParams=null,getCurRegion().loadData([]))):(gridData.value.params.parentRowId=null,gridData.value.params.parentRowIdValue=null,getCurRegion().loadData([])))},gridReload=(G,H)=>{gridData.value.params._region_id===G&&(H!=null&&(rowIndex.value=H),getCurRegion().commitProxy("reload"))},setSubtableSearchParams=G=>{gridData.value.params.subtableSearchExParams=G},searchData=G=>{gridData.value.proxyConfig={seq:!0,sort:!0,filter:!0,form:!1,props:{list:"data.data",result:"data.data",total:"data.count"},ajax:{query:async({page:H,sorts:X,filters:Q,form:K})=>{if(gridData.value.noSearchData){delete gridData.value.noSearchData;return}let Z=getParentRegion(),ee=null;Z!=null&&Z.params&&(ee=Z.params.subtableSearchExParams);let te=gridData.value.formConfig.items.map(ce=>ce.field);for(let ce in queryFormData.value)if(!te.includes(ce))if(ce.includes("end_")){let de=ce.replace("end_","");te.includes(de)||delete queryFormData.value[ce]}else delete queryFormData.value[ce];const ne=Object.assign({},queryFormData.value,ee);Object.entries(ne).forEach(([ce,de])=>{var ue;if(de==null&&(ne[ce]=null,queryFormData.value[ce]=null),ne[ce]instanceof Array){let he=gridData.value.formConfig.items.filter(ve=>ve.field==ce)[0],fe=(ue=he==null?void 0:he.itemRender)==null?void 0:ue.name,pe=XEUtils.clone(ne[ce],!0);fe=="ElTimePicker"?(ne[ce]=pe[0],ne["end_"+ce]=pe[1]):["ElDateRangePicker","ElDateTimeRangePicker"].includes(fe)&&(ne[ce]=pe[0],ne["end_"+ce]=pe[1],queryFormData.value[ce]=pe[0],queryFormData.value["end_"+ce]=pe[1])}});const re=X[0];re&&(ne.$_sort_column=re.property,ne.$_sort_type=re.order);for(let{property:ce,datas:de,column:ue}of Q){let he=ce.toLowerCase(),fe=ue.editRender.name;if(de[0]instanceof Array&&["ElDatePicker","ElDateRangePicker","ElDateTimeRangePicker","ElTimePicker","ElInputNumber"].includes(fe)){let pe=XEUtils.clone(de[0],!0);ne[he]=pe[0],ne["end_"+he]=pe[1]}else{let pe=de.join(",");ne[he]=pe}}if(ne.page=H.currentPage,ne.limit=H.pageSize,ne._region_id=gridData.value.params._region_id,gridData.value.params.parentRowId&&(ne[gridData.value.params.parentRowId]=gridData.value.params.parentRowIdValue),G&&Object.keys(G).forEach(ce=>{const de=ce.toLowerCase();ne.hasOwnProperty(de)&&(ne[de]=G[ce])}),queryFormData.value=XEUtils.clone(ne,!0),Object.keys(ne).forEach(ce=>{ne[ce]instanceof Object&&(ne[ce]=Object.values(ne[ce]).join())}),localStorage.setItem(gridData.value.params._region_id+preTag.value,JSON.stringify(queryFormData.value)),queryBeforeList&&queryBeforeList.length>0){let ce={};if(queryBeforeList.forEach(de=>{if(de&&typeof de=="function")try{ce=de(ne,"GIRD")}catch(ue){console.error(ue,gridData.value.params.windowTitle,"表格查询前方法")}}),ce===!1)return{data:{data:[],count:0},status:200}}const oe=axios.post("/window/data/"+gridData.value.params.datasourceCode,ne);let ae=null,se=[];oe.then(async ce=>{var ue,he;let de={};if(ce&&ce.data&&ce.data.result&&ce.data.data&&ce.data.data.length>0){let me=function($e){$e.forEach((Ee,xe)=>{let Me=15;gridData.value.toolbarConfig.buttons.forEach(De=>{if(typeof De.type<"u"){De.btnLoad[ve]=!1;const ke=De.displayLogic?displayLogic(De.displayLogic,{...Ee,...assembleParentData(gridData.value.params.parentData)}):!0,Oe=De.showInGrid&&ke,Ne=!De.showInGrid&&ke;if(De.btnShowInGrid[ve]=Oe,De.btnShow[ve]=Ne,fe=fe||Oe,Oe)if(De.type=="EDIT"||De.type=="DELETE")Me+=30;else if(De.iconComponent)Me+=30;else{let _e=De.name.replace(/[\u4e00-\u9fa5]/g,"DD").length;Me+=_e*8}}}),Me>pe&&(pe=Me),Ee._INDEX=ve,ve++,Ee._CHILDS&&Ee._CHILDS.length>0&&me(Ee._CHILDS)})},fe=!1,pe=0,ve=0;se=ce.data.data,me(se);let ge=!1;gridData.value.columns.forEach($e=>{$e.colId=="_operation_"&&$e.title=="操作"&&$e.width!=pe&&pe>60&&(ge=!0,$e.width=pe+"px")}),ge&&getCurRegion().loadColumn(gridData.value.columns),gridData.value.params.rowIndex!=null&&(rowIndex.value=gridData.value.params.rowIndex),ce.data.data.length>rowIndex.value?de=ce.data.data[rowIndex.value]:de=ce.data.data[0];const we=getCurRegion();if(we){const $e=we.getColumnById("_operation_");$e&&fe&&we.showColumn($e)}!isEditGridInitData.value&&gridData.value.type==="EDIT_GRID"&&editGridInitData(de)}((he=(ue=checkedGridOptions.value)==null?void 0:ue.data)==null?void 0:he.length)>0&&checkedGridOptions.value.data.forEach(fe=>{getCurRegion().setCheckboxRow(fe,!0)}),pagerToolChecked.value&&ce.data.data.forEach(fe=>{getCurRegion().setCheckboxRow(fe,!0)}),gridData.value.params.rowNotSelect?rowIndex.value=-1:rowClickCommon(de,rowIndex.value),queryAfterList&&queryAfterList.length>0&&queryAfterList.forEach(fe=>{if(fe&&typeof fe=="function")try{ae=fe(se,"GRID")}catch(pe){console.error(pe,gridData.value.params.windowTitle,"表格查询后方法")}})});const le=await oe;return typeof le>"u"||ae===!1?{data:{data:[],count:0},status:200}:le&&ae?(le.data.data=ae,le):(setTimeout(()=>{var ce,de,ue;((de=(ce=le==null?void 0:le.data)==null?void 0:ce.data)==null?void 0:de.length)<((ue=le==null?void 0:le.data)==null?void 0:ue.count)&&checkTableHeightExceedContainer()&&scrollBoundaryEvent({direction:"bottom",isBottom:!0,scrollHeight:0,bodyHeight:0})}),oe)}}},(gridData.value.params.parentRegionId&&!gridData.value.params.addFollowMain||gridData.value.openType=="new")&&(gridData.value.proxyConfig.autoLoad=!1)},rowClick=G=>{if(gridData.value.type==="TREE"||gridData.value.type==="TREE_STRUCTURE"?rowClickCommon(G.row,G.rowIndex):(G.rowIndex==-1&&(G.rowIndex=G._rowIndex),G.rowIndex!==rowIndex.value?rowClickCommon(G.row,G.rowIndex,G.column.field):(rowIndex.value=G.rowIndex,gridData.value.type=="EDIT_GRID"&&getCurRegion().setEditCell(G.row,G.column.field))),gridData.value.rowConfig.keyField=="SYS_WINDOW_REGION_ID")try{navigator.clipboard&&window.isSecureContext&&(G.column.field=="CODE"?(navigator.clipboard.writeText(G.row[G.column.field]),$message.success("已复制区域编码到剪贴板")):G.column.field=="SYS_DATASOURCE_ID"&&(navigator.clipboard.writeText(G.row._SYS_DATASOURCE_ID_NAME),$message.success("已复制数据源到剪贴板")))}catch(H){console.error("复制失败!",H)}},rowClickCommon=(G,H,X)=>{var ee;const Q={rowId:gridData.value.rowConfig.keyField,rowIdValue:!G||!G.hasOwnProperty(gridData.value.rowConfig.keyField)?"":G[gridData.value.rowConfig.keyField],preTag:preTag.value,hasData:!(typeof G>"u"||Object.keys(G).length===0),...G},K=Object.assign({},Q);if(delete K._region_id,gridData.value.params.parentData=getParentData(),getCheckedReserveData().length<=0&&emitButtonDisplayLogic({...G,...assembleParentData(gridData.value.params.parentData)},H),rowIndex.value=H,Q.hasData&&(evalEvent(gridData.value.params.formEvents.rowClickFunction,G,"行点击事件"),getCurRegion().setCurrentRow(G)),callGridClickEvents(K,gridData.value.params._region_id),gridData.value.type=="EDIT_GRID"){for(let te in G){let ne=gridData.value.columns.filter(re=>re.field==te)[0];(ee=ne==null?void 0:ne.editRender)!=null&&ee.props.multiple&&typeof G[te]=="string"&&(G[te]=G[te].split(","))}setTimeout(()=>{X?getCurRegion().setEditCell(G,X):getCurRegion().setEditRow(G)},300)}},emitButtonDisplayLogic=(G,H)=>{gridData.value.toolbarConfig.buttons.forEach(X=>{X.displayLogic&&(X.showInGrid||(X.visible=displayLogic(X.displayLogic,G)),X.btnShowInGrid[H]=X.showInGrid&&displayLogic(X.displayLogic,G),X.btnShow[H]=!X.showInGrid&&X.showInGrid)})},onRowDbClick=async G=>{gridData.value.addListener&&G.column.type=="seq"&&G.column.fixed=="left"&&headerSeqCellDbClick(G),gridData.value.params.formEvents.rowDbclickFunction?await evalEvent(gridData.value.params.formEvents.rowDbclickFunction,G.row,"行双击事件"):gridData.value.type!=="EDIT_GRID"&&commonEditData(G.row,G.rowIndex)},toolBarButtonClick=async(G,H,X)=>{var Z,ee;if(G.hasOwnProperty("button")&&(G=G.button),gridData.value.type=="TREE_STRUCTURE"){if(G.type=="OPEN"){getCurRegion().setAllTreeExpand(!0);return}else if(G.type=="CLOSE"){getCurRegion().clearTreeExpand();return}}let Q;if(typeof H>"u"&&G.type!=="EXPORT"&&(H=getSelectRecord()||getCheckedReserveData(),Q=getCheckedReserveData(),gridData.value.type!=="EDIT_GRID"&&G.type!=="NEW"&&G.type!=="IMPORT"&&G.code.toUpperCase()!=="ROLLBACK"&&G.type!=="EVENT")){if(!H||H.length===0){$message.success($T("请选择数据!"),"info");return}H.length>0&&(H=H[0])}typeof X<"u"?(G.buttonRender.props.loading=vue.computed(()=>G.btnLoad[X]),G.btnLoad[X]=!0):(G.buttonRender.props.loading=vue.computed(()=>G.loading),G.loading=!0);let K={};switch(gridData.value.params.addChildData&&gridData.value.params.childRegionCode.forEach(te=>{let ne=getRegion(te),re=ne.columns.filter(oe=>oe.colId!="_operation_").map(oe=>{var ae,se;return delete oe.filterRender,delete oe.filters,((ae=oe.editRender)!=null&&ae.props.readonly||(se=oe.editRender)!=null&&se.props.disabled)&&(oe.editRender.name="ElText"),oe});K[te]={id:ne.id,name:ne.params.windowTitle,gridData:{id:ne.id,columns:JSON.parse(JSON.stringify(re)),tableData:[],editRules:ne.editRules,params:Object.assign({},ne.params),height:"auto",autoResize:!0,border:"inner",size:"small",columnConfig:{useKey:!0,isCurrent:!0,isHover:!0,resizable:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{code:"child_add",css:"",iconComponent:"Add",btnLoad:{},btnShowInGrid:{},btnShow:{},icon:null,loading:!1,name:$T("新增"),showInGrid:!1,type:"CHILD_ADD",viewType:"primary",visible:!0},{code:"child_copy",css:"",iconComponent:"Copy",btnLoad:{},btnShowInGrid:{},btnShow:{},icon:null,loading:!1,name:$T("复制"),showInGrid:!1,type:"CHILD_COPY",viewType:"primary",visible:!0},{code:"child_delete",css:"",iconComponent:"TrashOutline",btnLoad:{},btnShowInGrid:{},btnShow:{},icon:null,loading:!1,name:$T("删除"),showInGrid:!1,type:"CHILD_DELETE",viewType:"danger",visible:!0,plain:!0}],refresh:!1,import:!1,export:!1,print:!1,zoom:!1,custom:!1},editConfig:{trigger:"manual",mode:"row",enabled:!0,showStatus:!1,showIcon:!1},showOverflow:!0,rowConfig:{useKey:!0,keyField:ne.rowConfig.keyField,isCurrent:!1,height:35,isHover:!0},type:"EDIT_GRID",addListener:!0,pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,enabled:!1,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"]}}},G.type=="NEW"&&(K[te].gridData.openType="new")}),G.type){case"NEW":const te={},ne=gridData.value.columns;for(let oe of ne)oe.editRender&&(te[oe.field]=oe.editRender.name=="ElInputNumber"?null:""),(Z=oe.editRender)!=null&&Z.name.includes("Select")&&oe.editRender.props.multiple&&(te[oe.field]=te[oe.field]==""?[]:(ee=te[oe.field])==null?void 0:ee.split(","));if(gridData.value.params.parentRowId&&(te[gridData.value.params.parentRowId]=gridData.value.params.parentRowIdValue),te._button_id=G._button_id,gridData.value.type==="EDIT_GRID"){const oe=getGrid();te._region_id=gridData.value.params._region_id;const{row:ae}=await getGrid().insertAt(te,-1);await editGridSetDefaultValue(ae),isEditGridInitData.value||await editGridInitData(ae),oe.setEditRow(ae)}else{if(gridData.value.params.parentRowId&&!gridData.value.params.parentRowIdValue){$message.success($T("请选创建父窗口数据!"),"info"),G.loading=!1;return}let oe=Object.assign({},gridData.value);oe={...oe,formData:Object.assign({},te),windowTitle:$T("[新增]")+gridData.value.params.windowTitle,openType:"new",preTag:preTag.value,showEdit:!0,width:gridData.value.params.newWidth?gridData.value.params.newWidth:"800px",height:gridData.value.params.newHeight?gridData.value.params.newHeight:"",childForm:K},K&&Object.keys(K).length>0&&(oe.width="85vw"),oe.params.queryParams!==null&&typeof oe.params.queryParams<"u"&&(oe.params.queryParams.unQuery=!0),oe.params.parentData=getParentData(),oe._reload=()=>reload(),rowDbClick(oe)}break;case"EDIT":commonEditData(H,X||rowIndex.value,K);break;case"DELETE":if(gridData.value.type==="EDIT_GRID")$vxeConfirm($T("你确定删除?"),void 0,{zIndex:3e3}).then(oe=>{oe==="confirm"&&(G.showInGrid?getGrid().remove(H):getGrid().removeCheckboxRow())});else{let oe=H[gridData.value.rowConfig.keyField];const ae=getCheckedReserveData();ae&&ae.length>0&&!G.showInGrid&&(oe=ae.map(ce=>ce[gridData.value.rowConfig.keyField]).join(","));const se={ids:oe,_region_id:gridData.value.params._region_id,_button_id:gridData.value.params.delete_button_id};let le="/window/delete";G.requestPath&&(le=G.requestPath),$vxeConfirm($T("你确定删除?"),void 0,{zIndex:3e3}).then(ce=>{ce==="confirm"&&axios.post(le,se).then(de=>{de.status===200&&de.data.result?(reload(),$message.success($T(de.data.msg),"info")):$message.error(de.data.msg)}).catch(de=>{$message.error(de.msg)})})}break;case"TRANSLATE":showPreView("11",$T("翻译"),{dataId:H[gridData.value.rowConfig.keyField],dsId:gridData.value.params.dsId});break;case"PIC_UPLOAD":uploadConfig.value.show=!uploadConfig.value.show,uploadConfig.value.dataId=H[gridData.value.rowConfig.keyField],uploadConfig.value.regionId=gridData.value.params._region_id,uploadConfig.value.config=gridData.value.params.pictureUploadConfig;break;case"IMPORT":isImport.value=!0,importBtnId.value=G._button_id,uploadData.value={_region_id:gridData.value.params._region_id,_button_id:importBtnId.value},gridData.value.rowConfig.keyField&&getSelectRecord()&&(uploadData.value[gridData.value.rowConfig.keyField]=getSelectRecord()[gridData.value.rowConfig.keyField]),gridData.value.params.parentRowId&&(uploadData.value[gridData.value.params.parentRowId]=gridData.value.params.parentRowIdValue);break;case"EXPORT":await exportData();break;case"SUBMIT":gridData.value.type==="EDIT_GRID"?$vxeConfirm($T("确定批量保存?"),void 0,{zIndex:3e3}).then(oe=>{if(oe==="confirm"){let{insertRecords:ae,updateRecords:se}=getGrid().getRecordset();const ce=ae.concat(se).map(ue=>(ue[gridData.value.rowConfig.keyField].includes("row_")&&(ue[gridData.value.rowConfig.keyField]=""),Object.keys(ue).forEach(he=>{ue[he]instanceof Array&&(ue[he]=Object.values(ue[he]).join())}),ue));let de={_region_id:gridData.value.params._region_id,_button_id:G._button_id,datas:ce};axios.post("window/batchSave",de,"json").then(ue=>{ue.status===200&&ue.data.result?(reload(),$message.success($T(ue.data.msg),"info")):$message.error(ue.data.msg)}).catch(ue=>{$message.error(ue.msg)})}}):$message.error("仅支持可编辑表格批量新增!");break;case"EVENT":const re=G.code.toUpperCase();if(re=="NEW_DESIGNER")emit("jumpDesign","add");else if(re=="EDIT_DESIGNER")emit("jumpDesign","edit",H.SYS_WINDOW_ID,H);else if(re==="WINDOW_VIEW")showPreView(H.SYS_WINDOW_ID,H.NAME),G.loading=!1;else if(re==="ROLLBACK")try{$vxeReadFile({types:["xml"]}).then(({file:oe})=>{const ae=new FormData;ae.append("file",oe),axios.upload("windowButton/importWindow",ae).then(se=>{se.status===200&&($message.success($T(se.data.msg||$T("导入失败!")),"info"),se.data.result&&reload()),G.loading=!1})}).catch(oe=>{console.error(oe),G.loading=!1})}catch(oe){G.loading=!1,console.error(oe)}else if(re==="EXPORT"&&gridData.value.params.code=="Window"){if(!H||H.length===0){$message.success($T(response.data.msg||$T("请选择需要导出的窗口!")),"info"),G.loading=!1;return}H.length>0&&(H=H[0]),await axios.download("/windowButton/exportWindow",{windowId:H.SYS_WINDOW_ID}),G.loading=!1}else if(re==="CREATE_COLUMN")$vxeConfirm($T("确定生成字段?"),void 0,{zIndex:3e3}).then(oe=>{oe==="confirm"&&axios.post("windowButton/generateColumn",{datasourceId:H.SYS_DATASOURCE_ID}).then(ae=>{ae.data.result?(reload(),$message.success(ae.data.msg)):$message.error(ae.data.msg),G.loading=!1})});else if(re==="DATA_VIEW")axios.post("datasource/"+H.URL).then(oe=>{$vxeOpen({width:"800px",height:"500px",title:$T("预览[")+H.NAME+$T("]的数据"),content:oe.data.result?JSON.stringify(oe.data.data,null," "):oe.data.msg}),G.loading=!1});else if(re==="GENERATETABLE")$vxeConfirm($T("确定生成表结构?"),void 0,{zIndex:3e3}).then(oe=>{oe==="confirm"&&axios.post("windowButton/generateTableStructure",{dataSourceId:H.SYS_DATASOURCE_ID}).then(ae=>{ae.data.result?(reload(),$message.success(ae.data.msg)):$message.error(ae.data.msg),G.loading=!1})});else if(re==="GENERATE_FIELD")$vxeConfirm($T("确定生成字段?"),void 0,{zIndex:3e3}).then(oe=>{oe==="confirm"&&axios.post("windowButton/generateField",{regionId:H.SYS_WINDOW_REGION_ID}).then(ae=>{ae.data.result?(reload(),$message.success(ae.data.msg)):$message.error(ae.data.msg),G.loading=!1})});else if(re==="COMPONENT_VIEW"){let oe=Object.keys(H).reduce((ae,se)=>{const le=H[se];return ae[se.toLowerCase()]=le,ae},{});if(componentViewData.value={params:{component:oe}},oe.type=="ECHARTS")componentViewName.value=WindowCharts;else if(oe.type=="VUE")if(oe.vue_path.includes("layout")){let se=await Object.assign({})[oe.vue_path]();componentViewName.value=vue.markRaw(se.default)}else{let ae=`${$componentsPath}/${oe.vue_path}`;if($components[ae]){let se=await $components[ae]();componentViewName.value=vue.markRaw(se.default)}}componentViewShow.value=!0,G.loading=!1}else if(G.windowId){if(beginEdit&&await beginEdit(H,gridData.value.rowConfig.keyField,curRegion.value)==!1)return;const oe=Object.assign(H,{buttonId:G._button_id,buttonName:G.name,buttonCode:G.code});showPreView(G.windowId,G.name,oe,{width:G.openWidth,height:G.openHeight,preViewCloseFun:function(){endEdit&&endEdit(H,gridData.value.rowConfig.keyField,curRegion.value)}})}else try{G.clickFunction&&await evalEvent("async "+G.clickFunction,(Q==null?void 0:Q.length)>1?Q:H,G,"按钮点击事件")!==!1&&(G.loading=!1)}catch(oe){console.error(oe),G.loading=!1}break;case"CHILD_ADD":handleAddChildTableData();break;case"CHILD_COPY":handleCopyChildTableData();break;case"CHILD_DELETE":handleDeleteChildTableData();break}typeof X<"u"?G.btnLoad[X]=!1:G.loading=!1},curRegion=vue.ref(),getCurRegion=()=>curRegion.value,commonEditData=async(G,H,X)=>{const Q=gridData.value.params.isEdit&&(editBtn.value.visible||editBtn.value.btnShowInGrid[H]||gridData.value.type==="TREE"||gridData.value.type==="TREE_STRUCTURE");gridData.value.params.parentData=getParentData();let K=Object.assign({},gridData.value);beginEdit&&Q&&await beginEdit(G,gridData.value.rowConfig.keyField,curRegion.value)==!1||(K={...K,formData:Object.assign({},G),windowTitle:$T(Q?"[编辑]":"[查看]")+gridData.value.params.windowTitle,openType:Q?"edit":"view",preTag:preTag.value,showEdit:!0,width:gridData.value.params.editWidth?gridData.value.params.editWidth:"800px",height:gridData.value.params.editHeight?gridData.value.params.editHeight:"",tableData:getCanEditData(),rowIndex:H,childForm:X},X&&Object.keys(X).length>0&&(K.width="85vw"),(K.type=="TREE"||K.type=="TREE_STRUCTURE")&&(K.rowIndex=G._INDEX),K.params.queryParams!==null&&typeof K.params.queryParams<"u"&&(K.params.queryParams.unQuery=!0),K.formData._button_id=gridData.value.params.edit_button_id,K._reload=Z=>reloadRow(Z),rowDbClick(K))},reload=()=>{var G;(G=getCurRegion())==null||G.commitProxy("reload")},reloadRow=G=>{const{formData:H,tableData:X,rowConfig:Q}=G;function K(Z){Z.forEach(ee=>{var te,ne;if(ee[Q.keyField]==H[Q.keyField]){if(G.type=="TREE"||G.type=="TREE_STRUCTURE"){(te=getCurRegion())==null||te.reloadData([]),reload(),setTimeout(()=>{getCurRegion().setAllTreeExpand(!0)},500);return}else getCurRegion().reloadRow(ee,H);queryAfterList&&queryAfterList.length>0&&queryAfterList.forEach(re=>{if(re&&typeof re=="function")try{re(X||[])}catch(oe){console.error(oe,gridData.value.params.windowTitle,"表格查询后方法")}}),rowClickCommon(ee,rowIndex.value);return}else((ne=ee._CHILDS)==null?void 0:ne.length)>0&&K(ee._CHILDS)})}K(X)},clearGrid=()=>{for(let G in queryFormData.value)queryFormData.value[G]=null;localStorage.setItem(gridData.value.params._region_id+preTag.value,JSON.stringify(queryFormData.value)),clearCheckedReserveData(),getCurRegion().loadData([])},resetGrid=()=>{var G;for(let H in queryFormData.value)queryFormData.value[H]=null;pagerToolChecked.value=!1,clearCheckedReserveData(),(G=getCurRegion())==null||G.commitProxy("reload")},getCheckedData=()=>{const G=getCurRegion();if(pagerToolChecked.value){const{pager:H}=G.getProxyInfo();let X=Object.assign({},queryFormData.value,{page:1,limit:H.total});return getWindowDataSync(X)}return G?G.getCheckboxRecords():null},getCheckedReserveData=()=>{const G=getCurRegion();return G?G.getCheckboxRecords().concat(G.getCheckboxReserveRecords()):null},clearCheckedReserveData=()=>{getCurRegion().clearCheckboxReserve(),checkedGridOptions.value&&(checkedGridOptions.value.data=[])},headerCheckboxChange=({checked:G,row:H,rowIndex:X})=>{var K,Z,ee;let Q=getCheckedReserveData();if(Q.length>0)gridData.value.toolbarConfig.buttons.forEach(te=>{te.displayLogic&&!te.showInGrid&&Q.some(ne=>{if(te.visible=te.displayLogic?displayLogic(te.displayLogic,{...ne,...assembleParentData(gridData.value.params.parentData)}):!0,!te.visible)return!0})});else{const te=getSelectRecord();gridData.value.toolbarConfig.buttons.forEach(ne=>{ne.displayLogic&&!ne.showInGrid&&(ne.visible=displayLogic(ne.displayLogic,{...te,...assembleParentData(gridData.value.params.parentData)}))})}if(H)G||removeRowEvent(H),rowClickCommon(H,X);else{if(!G&&((Z=(K=checkedGridOptions.value)==null?void 0:K.data)==null?void 0:Z.length)>0){const{data:te}=curRegion.value.getProxyInfo();te.forEach(ne=>{removeRowEvent(ne)})}allCheckboxFunList&&allCheckboxFunList.length>0&&allCheckboxFunList.forEach(te=>{if(te&&typeof te=="function")try{te(Q)}catch(ne){console.error(ne)}})}if((ee=gridData.value.pagerConfig.slots)!=null&&ee.left&&getCheckedReserveData().length>0&&gridData.value.params.fullCheckboxLinkage){const{pager:te}=curRegion.value.getProxyInfo();getCheckedReserveData().length==te.total&&(pagerToolChecked.value=!0)}},getSelectRecord=()=>{const G=getCurRegion();return G?G.getCurrentRecord():null},getData=()=>{const G=getCurRegion();return gridData.value.type=="EDIT_GRID"?G?G.getTableData().visibleData:null:G?G.getData():null},setSelectRecordValue=(G,H)=>{const X=getSelectRecord();X[G]=H},setChecked=G=>{if(G instanceof Array)for(let H=0;H<G.length;H++)getCurRegion().setCheckboxRow(getCurRegion().getRowById(G[H]),!0);else G instanceof String&&getCurRegion().setCheckboxRow(getCurRegion().getRowById(G),!0)},getRegion=G=>{let H=regionMap.value[G+"-"+preTag.value];return H||regionMap.value[G]},getParentRegion=()=>{let G=regionMap.value[gridData.value.params.parentCode+"-"+preTag.value];return G||regionMap.value[gridData.value.params.parentCode]},getParentData=()=>{let G=getParentRegion();if(G){if(G.type=="FORM")return G.data;if(G.getCurrentRecord)return G.getCurrentRecord()}else return null},removeRow=G=>{getCurRegion().remove(G)},setExportSheetStyle=async({fontStyle:G={bold:!1,size:16,color:"000000"},borderStyle:H={color:"000000"},fillStyle:X={color:"ffffff"}})=>{gridData.value.exportConfig.sheetMethod=({options:Q,workbook:K,worksheet:Z})=>{Z.eachRow(ee=>{ee.eachCell(te=>{te.font={bold:G.bold,size:G.size,color:{argb:G.color}},te.border={top:{style:"thin",color:{argb:H.color}},left:{style:"thin",color:{argb:H.color}},bottom:{style:"thin",color:{argb:H.color}},right:{style:"thin",color:{argb:H.color}}},te.fill={type:"pattern",pattern:"solid",fgColor:{argb:X.color}}})})}},exportCurrentData=async G=>{if(exportButton.value){let H=({column:X,$columnIndex:Q})=>X.type!="checkbox";getCurRegion().vxeGridExportData(Object.assign({type:"xlsx",columnFilterMethod:H},G))}else $message.error($T("您没有导出数据权限!"))},exportData=async G=>{var H;if(exportButton.value){const X=Object.assign({_button_id:exportButton.value._button_id},gridData.value.params.queryFormData);if(gridData.value.params.parentRowId&&(X[gridData.value.params.parentRowId]=gridData.value.params.parentRowIdValue),(H=gridData.value.params)!=null&&H.exportDataLimit){const{pager:Q}=getCurRegion().getProxyInfo();if(Q.total>gridData.value.params.exportDataLimit){$message.error(`即将导出的数据量为${Q.total},超过限制${gridData.value.params.exportDataLimit},无法导出!`);return}}Object.keys(X).forEach(Q=>{X[Q]instanceof Array&&(X[Q]=Object.values(X[Q]).join())});try{await axios.export("/window/export?data="+base64Encode(JSON.stringify(X)),{},G)}catch(Q){console.error(Q)}}else $message.error($T("您没有导出数据权限!"))},search=G=>{clearTimeout(queryTimeout.value),G&&Object.keys(G).forEach(H=>{const X=H.toLowerCase();queryFormData.value.hasOwnProperty(X)&&(queryFormData.value[X]=G[H])}),queryTimeout.value=setTimeout(function(){var H;(H=getCurRegion())==null||H.commitProxy("query")},500)},importFormatError=G=>{$message.error($T("导入文件格式错误!"))},importSuccess=(G,H)=>{G.result&&(isImport.value=!1,reload()),success(G.msg,"info")},downTemplate=()=>{let G=getCurRegion(),H=G.params.newDownTemplateUrl?G.params.newDownTemplateUrl:"/window/downloadTemplate";axios.download(H,{_region_id:gridData.value.params._region_id})},confirm=(G,H)=>{$vxeConfirm(G,void 0,{zIndex:3e3}).then(X=>{X==="confirm"&&evalEvent(H)})},getGrid=()=>curRegion.value,assembleParentData=G=>{const H={};return G&&Object.keys(G).forEach(X=>{H["parent."+X]=G[X]}),H},getCanEditData=()=>{const G=[],H=getCurRegion().getData();for(let X=0;X<H.length;X++)gridData.value.params.isEdit&&(editBtn.value.btnShow[X]||editBtn.value.btnShowInGrid[X]||gridData.value.type==="TREE")&&(H[X]._button_id=gridData.value.params.edit_button_id,G.push(H[X]));return G},editGridSetDefaultValue=async G=>{const H=gridData.value.params._region_id,X={},Q={};X.PARAMS=Object.assign({},gridData.value.params.queryParams),Q.PARENT=Object.assign({},gridData.value.params.parentData),await axios.post("window/defaultValue",$qs.stringify({_region_id:H})).then(K=>{if(K.data.result&&K.data.data)for(const Z in K.data.data){const ee=K.data.data[Z];G[Z]=evalDefaultValue(ee,{...G,...X,...Q}),(G[Z]=="null"||G[Z]==null)&&(G[Z]=null)}})},editGridInitData=async G=>{var H,X;G._region_id=gridData.value.params._region_id;for(const Q of Object.keys(formSelectMap.value)){const K=formSelectMap.value[Q];K.dataType==="TREE"?await getSelectorData(G,K.id,K.selectorId).then(Z=>{K.editRender.props.treeData=Z,K.editRender.name=="ElCascader"&&(K.editRender.props.options=Z),K.editRender.props.props||(K.editRender.props.props={}),K.editRender.props.props.label=(ee,te)=>ee.label||ee.title}):typeof K.selectorId<"u"&&(await getSelectorData(G,K.id,K.selectorId).then(Z=>{K.editRender.options=Z.map(ee=>Object.assign({value:ee.VALUE,label:ee.NAME},ee)),getCurRegion().loadColumn(gridData.value.columns)}),(H=K.editRender)!=null&&H.name.includes("Select")&&K.editRender.props.multiple&&(G[K.field]==""?G[K.field]=[]:G[K.field]instanceof String&&(G[K.field]=(X=G[K.field])==null?void 0:X.split(","))))}isEditGridInitData.value=!0},onFieldChange=(G,H)=>{var te;const X=G.column.editRender.props,Q=X._field_id,K=G.column.property,Z=G.row;Z._region_id=gridData.value.params._region_id;let ee={};if(formSelectMap.value[Q]&&formSelectMap.value[Q].editRender.options){const ne=formSelectMap.value[Q].editRender.options;if(formSelectMap.value[Q].editRender.props.multiple&&H.value)Z["_"+K+"_NAME"]="",H.value.forEach(re=>{let oe=ne.filter(ae=>ae.value==re)[0];oe&&(Z["_"+K+"_NAME"]?Z["_"+K+"_NAME"]+=`,${oe.label}`:Z["_"+K+"_NAME"]=oe.label)});else{const re=ne.filter(oe=>oe.value==H)[0];re&&(ee=re,Z["_"+K+"_NAME"]=re.label)}evalEvent(X.changeFunction,H,ee,Z,"字段值更改方法")}else if(X.dataType==="TREE"){if(X.treeData){let ne=X.treeData,re=[];G.column.editRender.name=="ElCascader"&&H instanceof Array?((te=X.props)!=null&&te.multiple?(Z["_"+K+"_NAME"]="",H.forEach((oe,ae)=>{oe.forEach((se,le)=>{let ce=Object.assign({},getSelectedTreeDataOptionByValue(ne,se));le==0?(re.findIndex(de=>de.value==se)==-1&&re.push(ce),Z["_"+K+"_NAME"]+=ce.label):Z["_"+K+"_NAME"]+=`/${ce.label}`}),ae!=H.length-1&&(Z["_"+K+"_NAME"]+=",")})):(H=H[H.length-1],re=Object.assign({},getSelectedTreeDataOptionByValue(ne,H)),Z["_"+K+"_NAME"]=re.label),Z[K]=H):X.multiple?(Z["_"+K+"_NAME"]="",H.forEach((oe,ae)=>{let se=Object.assign({},getSelectedTreeDataOptionByValue(ne,oe));ae==0?Z["_"+K+"_NAME"]=se.label||se.title:Z["_"+K+"_NAME"]+=`,${se.label||se.title}`})):(re=Object.assign({},getSelectedTreeDataOptionByValue(ne,H)),Z["_"+K+"_NAME"]=re.label||opt.title),evalEvent(X.changeFunction,H,re,Z,"字段值更改方法")}}else evalEvent(X.changeFunction,H,K,Z,"字段值更改方法")},getSelectedTreeDataOptionByValue=(G,H)=>{let X;for(let Q=0;Q<G.length;Q++){if(G[Q].value===H){X=G[Q];break}if(G[Q].hasOwnProperty("children")&&(X=getSelectedTreeDataOptionByValue(G[Q].children,H),typeof X<"u"))break}return X};success||(success=(G,H)=>{$vxeMessage({content:G,status:H||"success",zIndex:3e3})}),error||(error=G=>{$ElMessage({message:G,type:"error",zIndex:3e3})});const visibleMethod=({row:G,type:H})=>{let X=getCurRegion();return H==="body"&&bodyMenus.value.forEach(Q=>{Q.forEach(K=>{if(["expand","contract"].includes(K.code))if(G._CHILDS&&G._CHILDS.length>0){let Z=X.isTreeExpandByRow(G);K.disabled=["expand"].includes(K.code)?Z:!Z}else K.disabled=!0})}),!0},contextMenuClickEvent=({menu:G,row:H,column:X})=>{let Q=getCurRegion();switch(G.code){case"expand":Q.setTreeExpand(H,!0);break;case"contract":Q.setTreeExpand(H,!1);break}},onFieldEnter=(G,H)=>{if(H.key==="Enter"&&G.column.editRender.props.enterFunction){let X=G.row[G.column.field];evalEvent(G.column.editRender.props.enterFunction,X,G.column.field,G.row,"字段回车事件")}},handleAddChildTableData=async()=>{let G={},H="";for(let K in gridData.value.columns)gridData.value.columns[K].visible&&(H===""&&(H=gridData.value.columns[K].field),G[gridData.value.columns[K].field]="");const X=getGrid(),{row:Q}=await X.insertAt(G);await X.setEditCell(Q,H),editGridInitData(Q)},handleCopyChildTableData=async G=>{const H=getGrid();let X=H.getCheckboxRecords();if(X.length<=0){$message.success($T("请勾选需要复制的行数据!"),"warning");return}let Q=H.getRowSeq(X[X.length-1]);for(let Z of X)delete Z.id;if(G){let Z=XEUtils.clone(X,!0);for(let ee=0;ee<9;ee++)X=X.concat(Z)}const{tableData:K}=await H.getTableData();K.length==Q&&(Q=-1),H.insertAt(X,Q)},handleDeleteChildTableData=async()=>{const G=getGrid();if(G.getCheckboxRecords().length<=0){$message.success($T("请勾选需要删除的行数据!"),"warning");return}await $vxeConfirm($T("您确定要删除吗?"))==="confirm"&&G.removeCheckboxRow()};let editActivedRow=null,editActivedRowIndex=0;const editActived=({row:G,rowIndex:H,$rowIndex:X,column:Q,columnIndex:K,$columnIndex:Z})=>{editActivedRow=G,editActivedRowIndex=H,destroyCopyAreaBox(),destroyCellAreaBox()};let isSelecting=vue.ref(!1),selectionStart=vue.ref({rowIndex:-1,cellIndex:-1}),selectionEnd=vue.ref({rowIndex:-1,cellIndex:-1}),cellarea=vue.ref(),outevent=null,tbodyMousedownTimeout=null,cellAreaData=null,isCut=!1,cutSelectionStart=vue.ref({rowIndex:-1,cellIndex:-1}),cutSelectionEnd=vue.ref({rowIndex:-1,cellIndex:-1});const ctrlVPaste=async G=>{if(gridData.value.addListener){let H=(G.clipboardData||window.clipboardData).getData("text");if(H){destroyCopyAreaBox();let X=H.split(`
80
80
  `).filter(K=>K);X=X.map(K=>K.split(" "));const Q=getGrid();if(G.target.name&&selectionStart.value.rowIndex==-1&&selectionEnd.value.rowIndex==-1){let K=G.target;for(;K&&K.tagName!=="TD";)K=K.parentElement;if(K==null)return;let Z={};for(let ae=0;ae<gridData.value.columns.length;ae++)gridData.value.columns[ae].visible&&(Z[gridData.value.columns[ae].field]="");let ee=Object.keys(Z).findIndex(ae=>ae==G.target.name),te=Object.keys(Z).slice(ee);X=X.map((ae,se)=>{let le=se==0?Object.assign({},editActivedRow):Object.assign({},Z);return te.forEach((ce,de)=>{ae[de]&&(le[ce]=ae[de])}),le});let ne=gridData.value.columns.filter(ae=>ae.visible).slice(ee);X=verifyPasteData(ne,X);let re=editActivedRowIndex;const{tableData:oe}=await Q.getTableData();oe.length==re+1&&(re=-1),Q.remove(editActivedRow),Q.insertAt(X,re)}else if(selectionStart.value.rowIndex!=-1&&selectionEnd.value.rowIndex!=-1){if(isCut){const{selectRows:ae,selectCols:se}=getSelectData(cutSelectionStart.value,cutSelectionEnd.value);ae.forEach((le,ce)=>{se.forEach((de,ue)=>{Q.clearData(le,de.field)})})}const{selectRows:K,selectCols:Z}=getSelectData();let ee=XEUtils.clone(vue.toRaw(K),!0);K.forEach((ae,se)=>{Z.forEach((le,ce)=>{ee[se][le.field]=X[se]?X[se][ce]:""})});let te=Z.map(ae=>ae.field),ne=gridData.value.columns.filter(ae=>te.includes(ae.field));ee=verifyPasteData(ne,ee),Q.remove(K);let re=selectionStart.value.rowIndex<=selectionEnd.value.rowIndex?selectionStart.value.rowIndex:selectionEnd.value.rowIndex;(await Q.getTableData().tableData).length==re&&(re=-1),Q.insertAt(ee,re)}}}},verifyPasteData=(G,H)=>{for(let X of G)if(X.dataType=="LIST"){for(let Q of H)if(X.editRender.options&&X.editRender.options.length>0&&Q[X.field]){let K=Q[X.field].replace(/(\r\n|\n|\r)/g,""),Z=X.editRender.options.findIndex(ee=>ee.label==K||ee.value==K);Z!=-1?Q[X.field]=X.editRender.options[Z].value:Q[X.field]=""}}else if(X.dataType=="LONG"||X.dataType=="PLONG"||X.dataType=="DOUBLE"){let Q=!1;for(let K of H)K[X.field]&&isNaN(parseInt(K[X.field]))&&(K[X.field]="",Q=!0);Q&&$message.error($T("粘贴内容不是数字!"))}else if(X.dataType=="DATE"){let Q=!1,K="(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)$";for(let Z of H)Z[X.field]&&!K.test(Z[X.field].replace(/(\r\n|\n|\r)/g,""))&&(Z[X.field]="",Q=!0);Q&&$message.error($T("粘贴内容日期格式错误!"))}else if(X.dataType=="DATETIME"){let Q=!1,K=/^((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29))\s([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;for(let Z of H)Z[X.field]&&!K.test(Z[X.field].replace(/(\r\n|\n|\r)/g,""))&&(Z[X.field]="",Q=!0);Q&&$message.error($T("粘贴内容日期格式错误!"))}else if(X.dataType=="TIME"){let Q=!1,K=/^([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/;for(let Z of H)Z[X.field]&&!K.test(Z[X.field].replace(/(\r\n|\n|\r)/g,""))&&(Z[X.field]="",Q=!0);Q&&$message.error($T("粘贴内容时间格式错误!"))}return H},ctrlCopyAndCut=G=>{if(selectionStart.value.rowIndex==-1&&selectionEnd.value.rowIndex==-1)return;let H=$T("复制成功!");isCut=!1,G.type=="cut"&&(H=$T("剪切成功!"),isCut=!0,cutSelectionStart.value=Object.assign({},selectionStart.value),cutSelectionEnd.value=Object.assign({},selectionEnd.value));const{selectRows:X,selectCols:Q}=getSelectData();let K="";X.forEach(Z=>{let ee="";Q.forEach(te=>{Z[te.field]&&typeof Z[te.field]=="string"&&Z[te.field].trim()?ee=ee+Z[te.field]+" ":ee=ee+" "+Z[te.field]}),K=K?K+`
81
- `+ee:ee}),navigator.clipboard.writeText(K).then(function(){let Z=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-copy-area");if(cellAreaData&&Z){const{width:ee,height:te,left:ne,top:re,right:oe}=cellAreaData;Z.style.width=`${ee}px`,Z.style.height=`${te}px`,Z.style.top=`${re}px`,Z.style.display="block",Z.style.left=`${ne}px`}$message.success(H)},function(Z){console.log(Z)})},getSelectData=(G=selectionStart.value,H=selectionEnd.value)=>{const X=getGrid();let Q=X.getTableData().visibleData,K=G.rowIndex,Z=H.rowIndex,ee=Q.filter((ae,se)=>K<=Z?K<=se&&Z>=se:K>=se&&Z<=se),te=G.cellIndex,ne=H.cellIndex,oe=X.getTableColumn().visibleColumn.filter((ae,se)=>te<=ne?te<=se&&ne>=se:te>=se&&ne<=se);return{selectRows:ee,selectCols:oe}},addListener=()=>{vue.nextTick(()=>{document.addEventListener("mousedown",tableOutDestroyAreaBox),document.addEventListener("mouseup",tbodymouseup),document.addEventListener("paste",ctrlVPaste),document.addEventListener("copy",ctrlCopyAndCut),document.addEventListener("cut",ctrlCopyAndCut);let G=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper table");G&&(G.addEventListener("mousedown",tbodymousedown),G.addEventListener("mousemove",XEUtils.throttle(tbodymousemove,100)),G.addEventListener("mouseout",XEUtils.throttle(tbodymouseout,100)),G.appendChild(cellarea.value))})},tbodymousedown=G=>{tbodyMousedownTimeout=setTimeout(()=>{G.stopPropagation(),G.button===0&&(getCurRegion().closeMenu(),selectionStart.value=getCellPosition(G.target),isSelecting.value=!0)},300)},tbodymousemove=G=>{if(G.button===0){if(!isSelecting.value)return;selectionEnd.value=getCellPosition(G.target),setselectedCellArea()}},tbodymouseup=G=>{G.button===0&&(isSelecting.value=!1,clearTimeout(tbodyMousedownTimeout))},tableOutDestroyAreaBox=G=>{if(getCurRegion()){let H=getCurRegion().$el.querySelector(".vxe-table--render-wrapper");H&&(G.clientX<H.getBoundingClientRect().left||G.clientX>H.getBoundingClientRect().right||G.clientY<H.getBoundingClientRect().top||G.clientY>H.getBoundingClientRect().bottom)&&destroyCellAreaBox()}},destroyCellAreaBox=()=>{let G=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-area");G&&(G.style.display="none",selectionStart.value={rowIndex:-1,cellIndex:-1},selectionEnd.value={rowIndex:-1,cellIndex:-1},cellAreaData=null)},destroyCopyAreaBox=()=>{let G=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-copy-area");G&&(G.style.display="none",G.style.width="0px",G.style.height="0px",G.style.top="0px",G.style.left="0px")},getCellPosition=G=>{for(;G&&G.tagName!=="TD";)G=G.parentElement;if(G==null)return;const X=getCurRegion().getTableColumn().visibleColumn.findIndex(Z=>Z.id==G.getAttribute("colid"));return{rowIndex:getCurRegion().getTableData().visibleData.findIndex(Z=>Z.id==G.parentElement.getAttribute("rowid")),cellIndex:X}},setselectedCellArea=()=>{let G=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-active-area"),H=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area"),X=[G,H];if(cellAreaData=getAreaBoxPosition(),cellAreaData)var{width:Q,height:K,left:Z,top:ee,right:te}=cellAreaData;else return;X.forEach(ne=>{ne&&(ne.style.width=`${Q}px`,ne.style.height=`${K}px`,ne.style.top=`${ee}px`,ne.style.display="block",ne.style.left=`${Z}px`)}),openAreaBox()},getAreaBoxPosition=()=>{let G=selectionStart.value.rowIndex,H=selectionEnd.value.rowIndex,X=selectionStart.value.cellIndex,Q=selectionEnd.value.cellIndex,K=getCurRegion().getTableColumn().visibleColumn,Z=getCurRegion().getTableData().visibleData;if(X<0||Q<0||G<0||H<0)return;var ee=K.length-1,te=Z.length-1;Q>ee&&(Q=ee),H>te&&(H=te);let ne=0,re=0,oe=0,ae=0,se=0;return K.forEach((le,ce)=>{X<=Q?(ce<X&&(oe+=le.renderWidth),ce>Q&&(se+=le.renderWidth),X<=ce&&ce<=Q&&(ne+=le.renderWidth)):(ce<Q&&(oe+=le.renderWidth),ce>X&&(se+=le.renderWidth),X>=ce&&ce>=Q&&(ne+=le.renderWidth))}),G<=H?(re=(H-G+1)*gridData.value.rowConfig.height,ae=G*gridData.value.rowConfig.height):(re=(G-H+1)*gridData.value.rowConfig.height,ae=H*gridData.value.rowConfig.height),{width:ne,height:re,left:oe,top:ae,right:se}},openAreaBox=()=>{let G=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-area");G&&(G.style.display="block")},tbodymouseout=G=>{if(outevent=G,isSelecting.value){const H=setInterval(()=>{if(isSelecting.value){let X=getCurRegion().$el.querySelector(".vxe-table--body-wrapper table"),Q=X.parentElement.getBoundingClientRect();if(outevent.clientX>Q.right-30){let K=X.parentElement.scrollWidth-X.parentElement.clientWidth;X.parentElement.scrollLeft<K&&(X.parentElement.scrollLeft+=10)}else if(outevent.clientX<Q.left+30)X.parentElement.scrollLeft>0&&(X.parentElement.scrollLeft-=10);else if(outevent.clientY>Q.height+Q.top-30){let K=X.parentElement.scrollHeight-X.parentElement.clientHeight;X.parentElement.scrollTop<K&&(X.parentElement.scrollTop+=10)}else outevent.clientY<Q.top&&(X.parentElement.scrollTop-=10)}else clearInterval(H)},200)}},resizableChange=({column:G,$columnIndex:H})=>{if(selectionStart.value.rowIndex==-1&&selectionEnd.value.rowIndex==-1)return;let{width:X,left:Q}=getAreaBoxPosition(),K=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-active-area"),Z=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area"),ee=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-copy-area");[K,Z,ee].forEach(ne=>{ne&&ne.style.display=="block"&&cellAreaData&&(ne.style.width=`${X}px`,cellAreaData.width=X,ne.style.left=`${Q}px`,cellAreaData.left=Q)})},headerCellClick=({$columnIndex:G,triggerResizable:H})=>{if(H)return;let Q=getCurRegion().getTableData().visibleData.length-1;selectionStart.value={rowIndex:0,cellIndex:G},selectionEnd.value={rowIndex:Q,cellIndex:G},setselectedCellArea()},headerSeqCellDbClick=({row:G,rowIndex:H,$rowIndex:X,column:Q,columnIndex:K,$columnIndex:Z,$event:ee})=>{var ne=getCurRegion().getTableColumn().visibleColumn.length-1;selectionStart.value={rowIndex:X,cellIndex:2},selectionEnd.value={rowIndex:X,cellIndex:ne},setselectedCellArea()},closeUploadModal=()=>{uploadConfig.value={show:!1,dataId:"",regionId:"",isHavePicUploadBtn:!0,openType:""}},setCheckboxRowColor=(G,H="#e6f7ff")=>{let X=getCurRegion();G&&(X=getRegion(G));let Q=X.getCheckboxRecords();setTimeout(()=>{let K=X.$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper table tbody");if(K.children.length>0)for(let Z of K.children){let ee=Z.attributes.rowid.value;Q.find(te=>te[X.rowConfig.keyField]==ee)&&(Z.style["background-color"]=H)}},400)},setRowCellColor=(G,H,X,Q)=>{if(!(Q instanceof Object)){console.error(" style 必须是个对象!");return}let K=getCurRegion();G&&(K=getRegion(G)),setTimeout(()=>{let Z=K.$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper table tbody");if(Z.children.length>0){for(let ee of Z.children)if(ee.attributes.rowid.value==H){if(X){for(let te of ee.children)if(te.attributes.class.value.includes(X.toUpperCase())){Object.keys(Q).forEach(ne=>{try{te.style.hasOwnProperty(ne)&&(te.style[ne]=Q[ne])}catch{}});return}}else Object.keys(Q).forEach(te=>{try{ee.style.hasOwnProperty(te)&&(ee.style[te]=Q[te])}catch{}});return}}},400)},onScanIconClick=(G,H)=>{const X=gridData.value.formConfig.items.filter(Q=>Q.field==H)[0];X.itemRender.props.clickFunction&&evalEvent(X.itemRender.props.clickFunction,G,H,"扫码图标点击事件")},setFormScanValue=(G,H)=>{queryFormData.value[G]=H},setFormValue=(G,H)=>{queryFormData.value[G]=H;const X=gridData.value.formConfig.items.filter(Q=>Q.field==G)[0];if(X){let Q={data:queryFormData.value,item:X,property:G};onQueryFieldChange(Q,queryFormData.value[G])}},setFormSelectOption=(G,H,X=[])=>{let Q=getCurRegion();if(G&&(Q=getRegion(G)),Q){let K=Q.formConfig.items.filter(Z=>Z.field==H)[0];K&&(K.itemRender.options=X)}},getFormSelectOption=async(G,H)=>{let X=getCurRegion();G&&(X=getRegion(G));let Q=[];if(X){let K=X.formConfig.items.filter(Z=>Z.field==H)[0];K.querys?Q=(await getSelectorData({_region_id:X.params._region_id},K.querys.id,K.querys.selectorId)).map(ee=>Object.assign({value:ee.VALUE,label:ee.NAME},ee)):Q=K.itemRender.options}return Q},getQueryForm=G=>{let H=getCurRegion();if(G&&(H=getRegion(G)),H)return H.params.queryFormData},unfoldForm=()=>{let G=getCurRegion();G&&(G.params.expandQueryTool=!G.params.expandQueryTool,G.formConfig.items.forEach((H,X)=>{X>2&&(H.folding=!H.folding)}))},onQueryFieldChange=async(G,H)=>{const X=G.item.itemRender.props.changeFunction;if(X){const Q=G.property,K=G.data,Z=G.item.itemRender.options;await evalEvent(X,H,Q,K,Z,"查询条件字段值改变事件")}gridData.value.params.queryFieldChangeNoQuery||vue.nextTick(()=>{reload()})},setQueryFieldChangeFun=(G,H)=>{const Q=getCurRegion().formConfig.items.filter(K=>K.field==G)[0];Q&&(Q.itemRender.props.changeFunction=H)},setQueryFormItemDisplay=(G,H)=>{const Q=getCurRegion().formConfig.items.filter(K=>K.field==G)[0];Q&&(Q.visible=H)},setQueryFormItemProperty=(G,H,X)=>{const K=getCurRegion().formConfig.items.filter(Z=>Z.field==G)[0];K&&(K.itemRender.props[H]=X)},footerSum=(G,H,X=2,Q="和值")=>{const K=(te,ne)=>{let re=0;return te.forEach(oe=>{re+=Number(oe[ne])}),re.toFixed(X)},Z=(te,ne)=>{let re=0,oe="";return te.forEach(ae=>{typeof ae[ne]=="string"&&ae[ne].includes("%")?(re+=parseFloat(ae[ne]),oe="%"):re+=Number(ae[ne])}),(re/te.length).toFixed(X)+oe},ee=({columns:te,data:ne})=>{let re=te.findIndex(oe=>oe.type=="checkbox");return re=re<0?0:re,[te.map((oe,ae)=>ae===re+1?Q:G.includes(oe.field)?K(ne,oe.field):H.includes(oe.field)?Z(ne,oe.field):"")]};gridData.value.showFooter=!0,gridData.value.footerMethod=ee},setColumnFixed=(G,H="left")=>{let X=getCurRegion();if(X){let Q=X.columns.filter(K=>K.field==G.toUpperCase())[0];Q.fixed=H}},setImportUrl=G=>{const H=vue.ref(`${(axios==null?void 0:axios.baseUrl)||""}${G}`);let X=getCurRegion();X.params.newImportUrl=H.value},setDownTemplateUrl=G=>{const H=G;let X=getCurRegion();X.params.newDownTemplateUrl=H},beforeExcelUpload=async G=>{let H=getCurRegion();return H.params.addUploadData&&(uploadData.value=Object.assign(uploadData.value,H.params.addUploadData)),H.params.beforeUploadFn?await H.params.beforeUploadFn():!0},setBeforeUploadFn=G=>{let H=getCurRegion();H.params.beforeUploadFn=G},setUploadData=G=>{let H=getCurRegion();H.params.addUploadData=Object.assign({},G)},editGridFunList=[];let oldInsertRecords=null;const addEditGridDataChangeFun=G=>{editGridFunList.push(G)},isEqual=(G,H)=>{let X=!0;for(let Q in G)if(G[Q].length>0){X=!1;break}if(X)return!0;if(H==null)return oldInsertRecords=XEUtils.clone(G,!0),G.insertRecords.length>0;for(let Q in G){if(G[Q].length!=H[Q].length)return!1;for(let[K,Z]of G[Q].entries())if(!XEUtils.isEqual(Z,H[Q][K]))return!1}return!0};vue.watch(()=>{var G;return(G=curRegion.value)==null?void 0:G.getRecordset()},(G,H)=>{gridData.value.type!="EDIT_GRID"||typeof H>"u"||isEqual(G,oldInsertRecords)||(oldInsertRecords=XEUtils.clone(G,!0),editGridFunList&&editGridFunList.length>0&&editGridFunList.forEach(X=>{if(X&&typeof X=="function")try{const Q=curRegion.value.getTableData().visibleData;X({visibleData:Q,...G})}catch(Q){console.error(Q)}}))},{deep:!0});const setCurrentRowByRowIndex=async(G,H)=>{let X=getCurRegion();if(G&&(X=getRegion(G)),X){gridData.value.params.rowIndex=H;const Q=X.getTableData().visibleData;X.setCurrentRow(Q[H])}},queryBeforeList=[],addProxyQueryBeforeFun=G=>{queryBeforeList.push(G)},headerCustomClick=({type:G,$event:H})=>{if(G=="confirm"||G=="reset"){let Q=getCurRegion().getColumns().filter(Z=>Z.field).map(Z=>Z.field),K={_region_id:gridData.value.params._region_id,cols:Q};axios.request({headers:{"Content-Type":"application/json;charset=utf-8",...httpHeaders()},method:"post",url:"/window/selfGridColumn",type:"json",data:K}).then(Z=>{Z.data.result||$message.error(Z.data.msg)}).catch(Z=>{console.error(Z)})}},queryAfterList=[],addProxyQueryAfterFun=G=>{queryAfterList.push(G)},getSelectorData=async(G,H,X)=>{var Z;let Q=Object.assign({},G);Q._field_id=H,Q._select_id=X;let K=await axios.post("/window/selector",$qs.stringify(Q));return(Z=K==null?void 0:K.data)==null?void 0:Z.data},allCheckboxFunList=[],addAllCheckboxFun=G=>{allCheckboxFunList.push(G)},setGridBasicConfig=G=>{if(G instanceof Object){let H=["stripe","border","padding","round","size"];Object.keys(G).forEach(X=>{H.includes(X)?gridData.value[X]=G[X]:X=="checkboxReserve"?gridData.value.checkboxConfig.reserve=G[X]:X=="showTablePagerTool"?gridData.value.pagerConfig.slots={left:"pager_left"}:X=="toolbarRefresh"&&(gridData.value.toolbarConfig.refresh=G[X])})}},setGridSlotsVuePath=async(G,H)=>{if(gridData.value.params.slotsVuePath||(gridData.value.params.slotsVuePath={}),H=="other_item"?otherItemComponent.value=(await $components[`${$componentsPath}/${G}`]()).default:H=="table_top"?tableTopComponent.value=(await $components[`${$componentsPath}/${G}`]()).default:H=="query_top"&&(queryTopComponent.value=(await $components[`${$componentsPath}/${G}`]()).default),otherItemComponent.value||tableTopComponent.value||queryTopComponent.value){switch(gridData.value.params.slotsVuePath[H]=G,await vue.nextTick(),H){case"other_item":regionMap.value[H+"-"+gridData.value.params.code+"-"+gridData.value.params.preTag]=otherItem.value,regionMap.value[H+"-"+gridData.value.params.code]=otherItem.value;break;case"table_top":regionMap.value[H+"-"+gridData.value.params.code+"-"+gridData.value.params.preTag]=tableTop.value,regionMap.value[H+"-"+gridData.value.params.code]=tableTop.value;break;case"query_top":regionMap.value[H+"-"+gridData.value.params.code+"-"+gridData.value.params.preTag]=queryTop.value,regionMap.value[H+"-"+gridData.value.params.code]=queryTop.value;break}getCurRegion().recalculate(!0)}},setCheckMethod=G=>{gridData.value.checkboxConfig.checkMethod=G},setButtonDisplay=(G,H)=>{gridData.value.toolbarConfig.buttons.forEach(X=>{if(X.name==G){X.visible=H,X.showInGrid=H;return}})},computeNewLine=()=>{let G=gridData.value.formConfig.items.filter(H=>H.visible);for(let[H,X]of G.entries())if(H>0){X.span=X.span?X.span:12;let Q=G[H-1];Number(X.span)>24?(X.aLine=!0,X.residue=0):(X.aLine=!1,X.residue=24-Number(X.span),Q&&(Q.aLine||Q.residue-Number(X.span)<0)||H==0?X.residue=24-Number(X.span):Q.residue-Number(X.span)>=0&&(X.residue=Q.residue-Number(X.span))),(X.itemRender.props.newLine===!0||X.itemRender.props.newLine==="Y")&&(Q.span=Number(Q.span)+Number(Q.residue),Q.residue=0,X.residue=24-Number(X.span))}else H==0&&(X.span=X.span?Number(X.span):12,X.residue=X.span>24?0:24-Number(X.span))},addColumn=G=>{let H=getCurRegion();if(G instanceof Array)G.forEach(X=>{let Q={dataType:"STRING",field:X.field,title:X.title,width:X.width,visible:!0};gridData.value.columns.push(Q)});else if(G instanceof Object){let X={dataType:"STRING",field:G.field,title:G.title,visible:!0};gridData.value.columns.push(X)}H.loadColumn(gridData.value.columns)};let removeCheckedRow=vue.ref(null);const removeRowEvent=G=>{removeCheckedRow.value=G,getCurRegion().setCheckboxRow(G,!1),pagerToolChecked.value=!1},removeAllRowEvent=()=>{getCheckedReserveData().forEach(H=>{removeRowEvent(H)})};let checkedGridShowCols=vue.ref(null);const setCheckedGridShowCols=G=>{checkedGridShowCols.value=G},getWindowDataSync=async G=>{var X;const H=await axios.post("/window/data/"+gridData.value.params.datasourceCode,G);return((X=H==null?void 0:H.data)==null?void 0:X.data)||[]},headerPagerToolCheckedClick=()=>{pagerToolChecked.value=!pagerToolChecked.value,headerPagerToolCheckedChange({checked:pagerToolChecked.value})},headerPagerToolCheckedChange=async({checked:G,$event:H})=>{let X=getCurRegion();const{data:Q}=curRegion.value.getProxyInfo();G?Q.forEach(K=>{X.setCheckboxRow(K,!0)}):(Q.forEach(K=>{removeRowEvent(K)}),removeAllRowEvent())},remoteMethod=async(G,H,X)=>{let Q=[],K=await axios.post("/window/selector",$qs.stringify({$_f_value:G,_region_id:gridData.value.params._region_id,_field_id:H,_select_id:X}));if(K.data.result&&K.data.data)return Q=K.data.data.map(Z=>Object.assign({value:Z.VALUE,label:Z.NAME},Z)),Q},setColumnElement=(G,H,X)=>{let Q=gridData.value.columns.filter(K=>K.field==G.toUpperCase())[0];Q&&(Q.editRender.name=H,X&&X instanceof Object&&(Q.editRender.props.elementProps=X))},headerFormCollapse=()=>{gridData.value.params.expandQueryTool=!gridData.value.params.expandQueryTool,gridData.value.formConfig.items.forEach((G,H)=>{H>2&&(G.folding=!G.folding)})},setPictureUploadConfig=G=>{gridData.value.params.pictureUploadConfig=G},setOperationColumnFixed=(G="left")=>{let H=getCurRegion();if(H){let X=H.columns.filter(Q=>Q.colId=="_operation_")[0];X.fixed=G}},setEditGridColumnProps=(G,H)=>{const Q=getCurRegion().columns.filter(K=>K.field==G.toUpperCase())[0];Q&&(Q.editRender.props=Object.assign(Q.editRender.props,H))},setEditGridInputSlotsVuePath=async(G,H,X="append")=>{const K=getCurRegion().columns.filter(Z=>Z.field==H.toUpperCase())[0];K&&(K.editRender.slotsComponent=vue.markRaw((await $components[`${$componentsPath}/${G}`]()).default),K.editRender.props.slots=X)},setEditGridColumnSelectOption=(G,H=[])=>{const Q=getCurRegion().columns.filter(K=>K.field==G.toUpperCase())[0];Q&&(Q.editRender.options=H)},getEditGridColumnSelectOption=async(G,H)=>{let X=getCurRegion();G&&(X=getRegion(G));let Q=[];if(X){let K=X.columns.filter(Z=>Z.field==H.toUpperCase())[0];if(K.editRender.options)Q=K.editRender.options;else{const Z=await axios.post("/window/selector",$qs.stringify({_region_id:X.params._region_id,_field_id:K.querys.id,_select_id:K.querys.selectorId}));Z.data.result&&Z.data.data&&(Q=Z.data.data.map(ee=>Object.assign({value:ee.VALUE,label:ee.NAME},ee)))}}return Q},setExportDataLimit=G=>{gridData.value.params.exportDataLimit=G};let scrollFinished=!1;const scrollBoundaryEvent=async({direction:G,isBottom:H,scrollHeight:X,bodyHeight:Q})=>{var K,Z;if(G==="bottom"&&H&&gridData.value.params.rowInfiniteLoad){const{pager:ee}=(K=getCurRegion())==null?void 0:K.getProxyInfo();if((!ee||ee.total==0||ee.total<=ee.pageSize)&&(scrollFinished=!0),scrollFinished){$ElMessage({message:"已加载全部数据!",type:"info",zIndex:3e3});return}ee.pageSize+=gridData.value.pagerConfig.pageSize,ee.total<ee.pageSize?(scrollFinished=!0,ee.pageSize=ee.total):scrollFinished=!1,await((Z=getCurRegion())==null?void 0:Z.commitProxy("reload")),gridData.value.loading=!0,setTimeout(()=>{var te;(te=getCurRegion())==null||te.scrollTo(null,X-Q),gridData.value.loading=!1},200)}};function isEdgeBrowser(){const G=navigator.userAgent;return/Edg|Edge\/\d+/i.test(G)}let isScrollBottom=!1;const scrollEvent=({isBottom:G,scrollTop:H,scrollHeight:X,scrollWidth:Q,bodyWidth:K,bodyHeight:Z})=>{isEdgeBrowser()&&(!G&&!isScrollBottom&&X-Z-H<5?(isScrollBottom=!0,scrollBoundaryEvent({direction:"bottom",isBottom:!0,scrollHeight:X,bodyHeight:Z})):X-Z-H>5&&(isScrollBottom=!1))},checkTableHeightExceedContainer=()=>{if(getCurRegion()){let H=getCurRegion(),X=H.$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper table");return H.$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper").clientHeight-X.clientHeight>=0}};return vue.onMounted(async()=>{gridData.value.addListener&&getCurRegion()&&addListener(),gridData.value.type==="TREE_STRUCTURE"&&(gridData.value.menuConfig={body:{options:bodyMenus.value},visibleMethod}),await evalEvent(gridData.value.params.formEvents.dataInit,"GRID","表格数据初始化事件"),gridData.value.toolbarConfig.buttons.forEach(G=>{typeof G.type<"u"&&G.type.toLowerCase()==="edit"&&(editBtn.value=G),typeof G.type<"u"&&G.type.toLowerCase()==="export"&&(exportButton.value=G),G.hasOwnProperty("buttonRender")||(G.buttonRender={name:"ElButton",props:{autoInsertSpace:!0,iconComponent:G.iconComponent,size:gridData.value.params.elComponentSize,type:G.viewType,style:G.css,loading:G.btnLoad[rowIndex],plain:G.plain},events:{click:toolBarButtonClick}})}),computeNewLine(),gridData.value.formConfig.items.forEach(G=>{var H,X,Q;queryFormData.value[G.field]=null,(H=G==null?void 0:G.itemRender)!=null&&H.defaultValue&&(queryFormData.value[G.field]=G.itemRender.defaultValue),(Q=(X=G==null?void 0:G.itemRender)==null?void 0:X.events)!=null&&Q.hasOwnProperty("change")&&(G.itemRender.events.change=onQueryFieldChange),G.remoteSearch?(G.itemRender.props.remoteMethod=debounce(async K=>{K&&(G.itemRender.props.loading=!0,G.itemRender.options=await remoteMethod(K,G.querys.id,G.querys.selectorId),G.itemRender.props.loading=!1)},1e3),G.itemRender.defaultValue&&remoteMethod(G.itemRender.defaultValue,G.querys.id,G.querys.selectorId).then(K=>{G.itemRender.options=K})):G.querys&&getSelectorData({_region_id:gridData.value.params._region_id},G.querys.id,G.querys.selectorId).then(K=>{const Z=K.map(ee=>Object.assign({value:ee.VALUE,label:ee.NAME},ee));G.itemRender.options=Z})}),gridData.value.params.queryParams&&Object.keys(gridData.value.params.queryParams).forEach(G=>{const H=G.toLowerCase();queryFormData.value.hasOwnProperty(H)&&!queryFormData.value[H]&&(queryFormData.value[H]=gridData.value.params.queryParams[G])}),gridData.value.columns.forEach(G=>{G.hasOwnProperty("field")&&!G.hasOwnProperty("treeNode")&&(G.events.change=onFieldChange,G.events["on-change"]=onFieldChange,G.events.keyup=onFieldEnter,G.editRender.events=G.events,G.itemRender.events=G.events),G.itemRender&&G.itemRender.props._select_id&&(formSelectMap.value[G.id]=G)}),gridData.value.params.rowNotSelect&&(rowIndex.value=-1),searchData(),regionMap.value[gridData.value.params.code+"-"+preTag.value]=curRegion.value,regionMap.value[gridData.value.params.code]=curRegion.value,evalEvent(gridData.value.params.formEvents.regionInit,"GRID","表格页面初始化事件"),gridData.value.params.parentRegionId&&addGridClickEvent(rowClickEmitFun),setTimeout(()=>{let G=getCurRegion().$el.querySelector(".vxe-table--header-wrapper .vxe-cell--checkbox");G&&(G.title="当页全选/取消")},1500),curRegion.value.closeModal=()=>{closeModal&&closeModal()},curRegion.value.closeDrawer=()=>{closeDrawer()},curRegion.value.closePreModal=()=>{closePreModal&&closePreModal()},curRegion.value.reload=()=>{reload&&reload()},curRegion.value.search=G=>{search(G)},curRegion.value.getCheckedData=()=>getCheckedData(),curRegion.value.getCheckedReserveData=()=>getCheckedReserveData(),curRegion.value.getSelectRecord=()=>getSelectRecord(),curRegion.value.setChecked=G=>{setChecked(G)},curRegion.value.getParentRegion=()=>getParentRegion(),curRegion.value.setExportSheetStyle=G=>setExportSheetStyle(G),curRegion.value.vxeGridExportData=curRegion.value.exportData,curRegion.value.exportCurrentData=G=>exportCurrentData(G),curRegion.value.exportData=G=>exportData(G),curRegion.value.getRegion=G=>getRegion(G),curRegion.value.removeRow=G=>removeRow(G),curRegion.value.clearGrid=()=>clearGrid(),curRegion.value.setCheckboxRowColor=(G,H)=>setCheckboxRowColor(G,H),curRegion.value.setFormValue=(G,H)=>setFormValue(G,H),curRegion.value.setRowCellColor=(G,H,X,Q)=>setRowCellColor(G,H,X,Q),curRegion.value.setFormSelectOption=(G,H,X)=>setFormSelectOption(G,H,X),curRegion.value.getFormSelectOption=(G,H)=>getFormSelectOption(G,H),curRegion.value.setColumnFixed=(G,H)=>setColumnFixed(G,H),curRegion.value.getQueryForm=G=>getQueryForm(G),curRegion.value.setCurrentRowByRowIndex=(G,H)=>setCurrentRowByRowIndex(G,H),curRegion.value.setUploadData=G=>setUploadData(G),curRegion.value.setQueryFieldChangeFun=(G,H)=>setQueryFieldChangeFun(G,H),curRegion.value.setQueryFormItemDisplay=(G,H)=>setQueryFormItemDisplay(G,H),curRegion.value.setQueryFormItemProperty=(G,H,X)=>setQueryFormItemProperty(G,H,X),curRegion.value.setCheckMethod=G=>setCheckMethod(G),curRegion.value.setButtonDisplay=(G,H)=>setButtonDisplay(G,H),curRegion.value.addColumn=G=>addColumn(G),curRegion.value.resetGrid=()=>resetGrid(),curRegion.value.clearCheckedReserveData=()=>clearCheckedReserveData(),curRegion.value.setEditGridColumnSelectOption=(G,H)=>setEditGridColumnSelectOption(G,H),curRegion.value.getEditGridColumnSelectOption=(G,H)=>getEditGridColumnSelectOption(G,H),curRegion.value.setExportDataLimit=G=>setExportDataLimit(G)}),vue.onUnmounted(()=>{document.removeEventListener("mousedown",tableOutDestroyAreaBox),document.removeEventListener("mouseup",tbodymouseup),document.removeEventListener("paste",ctrlVPaste),document.removeEventListener("copy",ctrlCopyAndCut),document.removeEventListener("cut",ctrlCopyAndCut)}),__expose({gridReload,reload}),(G,H)=>{const X=vue.resolveComponent("el-icon"),Q=vue.resolveComponent("el-tooltip"),K=vue.resolveComponent("el-button"),Z=vue.resolveComponent("vxe-form-item"),ee=vue.resolveComponent("el-input"),te=vue.resolveComponent("vxe-form"),ne=vue.resolveComponent("vxe-button"),re=vue.resolveComponent("vxe-icon"),oe=vue.resolveComponent("vxe-grid"),ae=vue.resolveComponent("el-popover"),se=vue.resolveComponent("vxe-checkbox"),le=vue.resolveComponent("cloud-upload"),ce=vue.resolveComponent("el-upload"),de=vue.resolveComponent("download-outline"),ue=vue.resolveComponent("el-dialog"),he=vue.resolveComponent("vxe-modal");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l9,[vue.createElementVNode("div",{class:"vxe-table--cell-area",ref_key:"cellarea",ref:cellarea},[...H[7]||(H[7]=[vue.createElementVNode("span",{class:"vxe-table--cell-main-area"},null,-1),vue.createElementVNode("span",{class:"vxe-table--cell-active-area"},null,-1),vue.createElementVNode("span",{class:"vxe-table--cell-copy-area"},null,-1)])],512),vue.createVNode(oe,vue.mergeProps({ref_key:"curRegion",ref:curRegion,class:computeGridClass.value,"keep-source":""},vue.unref(gridData),{onEditActived:editActived,onResizableChange:resizableChange,onHeaderCellClick:headerCellClick,onCellClick:rowClick,onCellDblclick:onRowDbClick,onMenuClick:contextMenuClickEvent,onCheckboxChange:headerCheckboxChange,onCheckboxAll:headerCheckboxChange,onCustom:headerCustomClick,onScroll:scrollEvent,onScrollBoundary:scrollBoundaryEvent}),{operation:vue.withCtx(({row:fe,rowIndex:pe})=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(showButtons(pe,fe),ve=>(vue.openBlock(),vue.createBlock(K,{key:ve._button_id,iconComponent:ve.iconComponent,"auto-insert-space":"",size:"small",style:vue.normalizeStyle(ve.css+"marginLeft: 0px; padding: 5px"),type:"primary",text:"",onClick:me=>toolBarButtonClick(ve,fe,pe)},vue.createSlots({default:vue.withCtx(()=>[!ve.iconComponent||typeof ve.iconComponent>"u"?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$l3,vue.toDisplayString(vue.unref($T)(ve.name)),1)):vue.createCommentVNode("",!0)]),_:2},[ve.iconComponent?{name:"icon",fn:vue.withCtx(()=>[vue.createVNode(Q,{content:vue.unref($T)(ve.name),placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(X,{size:"15",style:{verticalAlign:"middle"}},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(ve.iconComponent)))]),_:2},1024)]),_:2},1032,["content"])]),key:"0"}:void 0]),1032,["iconComponent","style","onClick"]))),128))]),top:vue.withCtx(()=>{var fe;return[vue.createElementVNode("div",{class:"table_top_wrapper",id:"table_top_"+vue.unref(gridData).params.code},[(fe=vue.unref(gridData).params.slotsVuePath)!=null&&fe.table_top?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(tableTopComponent)),{key:0,ref_key:"tableTop",ref:tableTop},null,512)):vue.createCommentVNode("",!0)],8,_hoisted_3$h$)]}),form:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$aA,[vue.createVNode(te,{ref:"queryForm",data:vue.unref(queryFormData)},{default:vue.withCtx(()=>[vue.createVNode(Z,{span:"24"},{default:vue.withCtx(()=>{var fe;return[vue.createElementVNode("div",{class:"query_top",id:"query_top_"+vue.unref(gridData).params.code},[(fe=vue.unref(gridData).params.slotsVuePath)!=null&&fe.query_top?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(queryTopComponent)),{key:0,ref_key:"queryTop",ref:queryTop},null,512)):vue.createCommentVNode("",!0)],8,_hoisted_5$4Y)]}),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(gridData).formConfig.items,fe=>(vue.openBlock(),vue.createBlock(Z,{key:fe.title,"title-overflow":"tooltip",field:fe.field,title:fe.title,span:fe.span,folding:fe.folding,"item-render":fe.itemRender,visible:fe.visible},vue.createSlots({_:2},[fe.canScan===!0?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(ee,{modelValue:vue.unref(queryFormData)[fe.field],"onUpdate:modelValue":pe=>vue.unref(queryFormData)[fe.field]=pe},{suffix:vue.withCtx(()=>[vue.createElementVNode("i",{class:"iconfont icon-scan1",onClick:pe=>onScanIconClick(vue.unref(queryFormData)[fe.field],fe.field),style:{cursor:"pointer"}},null,8,_hoisted_6$21)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),key:"0"}:void 0,fe.itemRender.name==="ElInputNumber"?{name:"default",fn:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_7$14,[vue.createVNode(ee,{class:"slw-input-number",modelValue:vue.unref(queryFormData)[fe.field],"onUpdate:modelValue":pe=>vue.unref(queryFormData)[fe.field]=pe,type:"number"},{prefix:vue.withCtx(()=>[...H[8]||(H[8]=[vue.createElementVNode("span",{class:"el-input__icon"},"下限:",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),H[10]||(H[10]=vue.createElementVNode("span",null,"—",-1)),vue.createVNode(ee,{class:"slw-input-number",modelValue:vue.unref(queryFormData)["end_"+fe.field],"onUpdate:modelValue":pe=>vue.unref(queryFormData)["end_"+fe.field]=pe,type:"number"},{prefix:vue.withCtx(()=>[...H[9]||(H[9]=[vue.createElementVNode("span",{class:"el-input__icon"},"上限:",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])]),key:"1"}:void 0]),1032,["field","title","span","folding","item-render","visible"]))),128)),computeQueryBtnDisplay.value?(vue.openBlock(),vue.createBlock(Z,{key:0},{default:vue.withCtx(()=>[vue.createVNode(K,{type:"primary",nativeType:"submit",autoInsertSpace:"",size:vue.unref(gridData).params.elComponentSize,icon:"Search",onClick:reload},{default:vue.withCtx(()=>[...H[11]||(H[11]=[vue.createTextVNode(" 查询 ",-1)])]),_:1},8,["size"]),vue.createVNode(K,{nativeType:"reset",autoInsertSpace:"",size:vue.unref(gridData).params.elComponentSize,icon:"Refresh",onClick:resetGrid},{default:vue.withCtx(()=>[...H[12]||(H[12]=[vue.createTextVNode(" 重置 ",-1)])]),_:1},8,["size"]),vue.unref(gridData).formConfig.items.length>3?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"vxe-form--item-trigger-node",onClick:headerFormCollapse},[vue.unref(gridData).params.expandQueryTool?(vue.openBlock(),vue.createElementBlock("span",_hoisted_9$n," 收起 ")):(vue.openBlock(),vue.createElementBlock("span",_hoisted_8$H," 展开 ")),vue.createElementVNode("i",{class:vue.normalizeClass(["vxe-form--item-trigger-icon vxe-icon-arrow-up",{" rotate180":!vue.unref(gridData).params.expandQueryTool}])},null,2)])):vue.createCommentVNode("",!0)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(Z,{span:"24"},{default:vue.withCtx(()=>{var fe;return[vue.createElementVNode("div",{class:"query_bottom",id:"other_item_"+vue.unref(gridData).params.code},[(fe=vue.unref(gridData).params.slotsVuePath)!=null&&fe.other_item?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(otherItemComponent)),{key:0,ref_key:"otherItem",ref:otherItem},null,512)):vue.createCommentVNode("",!0)],8,_hoisted_10$r)]}),_:1})]),_:1},8,["data"])])]),checkbox_tool:vue.withCtx(({})=>[computeCheckedData.value?(vue.openBlock(),vue.createBlock(ae,{key:0,placement:"right",width:500,"popper-style":"max-height: 90vh;overflow: auto;",trigger:"click"},{reference:vue.withCtx(()=>[vue.createVNode(K,{circle:"",size:vue.unref(gridData).params.elComponentSize,style:{"margin-right":"0.8em"},title:"已勾选数据"},{default:vue.withCtx(()=>[...H[13]||(H[13]=[vue.createElementVNode("i",{class:"iconfont icon-carryout",style:{cursor:"pointer",padding:"0"}},null,-1)])]),_:1},8,["size"])]),default:vue.withCtx(()=>[vue.createVNode(oe,vue.normalizeProps(vue.guardReactiveProps(vue.unref(checkedGridOptions))),{toolbar_buttons:vue.withCtx(()=>[vue.createElementVNode("b",_hoisted_11$h,vue.toDisplayString(vue.unref($T)("已勾选数据")),1),vue.createVNode(ne,{status:"danger",size:"mini",content:vue.unref($T)("全部删除"),onClick:H[0]||(H[0]=fe=>removeAllRowEvent())},null,8,["content"])]),operate:vue.withCtx(({row:fe})=>[vue.createVNode(re,{title:"删除",name:"delete",status:"danger",style:{cursor:"pointer","font-size":"16px","font-weight":"bold"},onClick:pe=>removeRowEvent(fe)},null,8,["onClick"])]),_:1},16)]),_:1})):vue.createCommentVNode("",!0)]),pager_left:vue.withCtx(()=>{var fe;return[(fe=vue.unref(gridData).pagerConfig.slots)!=null&&fe.left?(vue.openBlock(),vue.createElementBlock("div",_hoisted_12$8,[vue.createElementVNode("span",{style:{width:"45px","text-align":"center",background:"#409eff",color:"#fff","border-radius":"5px",cursor:"pointer"},onClick:headerPagerToolCheckedClick}," 全选 "),vue.createVNode(se,{class:"checkbox-box",modelValue:vue.unref(pagerToolChecked),"onUpdate:modelValue":H[1]||(H[1]=pe=>vue.isRef(pagerToolChecked)?pagerToolChecked.value=pe:pagerToolChecked=pe),size:vue.unref(gridData).size,onChange:headerPagerToolCheckedChange},null,8,["modelValue","size"])])):vue.createCommentVNode("",!0)]}),_:1},16,["class"]),vue.createVNode(ue,{ref:"importModal",modelValue:vue.unref(isImport),"onUpdate:modelValue":H[2]||(H[2]=fe=>vue.isRef(isImport)?isImport.value=fe:isImport=fe),visible:vue.unref(isImport),"onUpdate:visible":H[3]||(H[3]=fe=>vue.isRef(isImport)?isImport.value=fe:isImport=fe),zIndex:1e3,title:vue.unref($T)("Excel导入"),width:"500px",height:"280px","destroy-on-close":"",draggable:"","append-to-body":"",transfer:"",destroyOnClose:"",resize:"","mask-closable":"","esc-closable":"","show-footer":""},{footer:vue.withCtx(()=>[vue.createVNode(K,{"auto-insert-space":!0,type:"primary",onClick:downTemplate},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref($T)("模板"))+" ",1),vue.createVNode(X,{size:"15",style:{verticalAlign:"middle"}},{default:vue.withCtx(()=>[vue.createVNode(de)]),_:1})]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(ce,{ref:"uploadExcel",type:"drag",drag:"",action:computeExcelUrl.value,headers:vue.unref(httpHeaders)(),accept:".xls,.xlsx",data:vue.unref(uploadData),"before-upload":beforeExcelUpload,"on-format-error":importFormatError,"on-success":importSuccess},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_13$4,[vue.createVNode(le,{width:50}),vue.createElementVNode("p",null,vue.toDisplayString(vue.unref($T)("点击或拖文件到此处上传")),1)])]),_:1},8,["action","headers","data"])]),_:1},8,["modelValue","visible","title"]),vue.createVNode(ue,{ref:"pictureUploadModal",width:"20%",modelValue:vue.unref(uploadConfig).show,"onUpdate:modelValue":H[4]||(H[4]=fe=>vue.unref(uploadConfig).show=fe),"z-index":1e3,draggable:"","append-to-body":"","close-on-press-escape":"","destroy-on-close":"",title:vue.unref($T)("图片上传"),onClosed:closeUploadModal},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(PictureUpload),{uploadConfig:vue.unref(uploadConfig)},null,8,["uploadConfig"])]),_:1},8,["modelValue","title"]),vue.createVNode(he,{modelValue:vue.unref(componentViewShow),"onUpdate:modelValue":H[5]||(H[5]=fe=>vue.isRef(componentViewShow)?componentViewShow.value=fe:componentViewShow=fe),resize:"",transfer:"",zIndex:1e3,title:vue.unref($T)("组件预览"),width:"50%",height:"60vh",draggable:"","lock-scroll":"",position:"center","destroy-on-close":"","show-footer":!1,onClose:H[6]||(H[6]=fe=>vue.isRef(componentViewShow)?componentViewShow.value=!1:componentViewShow=!1)},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(componentViewName)),{componentData:vue.unref(componentViewData)},null,8,["componentData"]))]),_:1},8,["modelValue","title"])])}}},WindowGrid=_export_sfc(_sfc_main$m,[["__scopeId","data-v-d19c6982"]]);WindowGrid.name="slw-window-grid",WindowGrid.install=G=>{G.component(WindowGrid.name,WindowGrid)};const _hoisted_1$l8={class:"el-upload__tip"},_hoisted_2$l2={class:"el-upload-list el-upload-list--text"},_hoisted_3$h_={class:"el-upload-list__item is-success",tabindex:"0"},_hoisted_4$az={class:"el-upload-list__item-info",style:{width:"calc(100% - 55px)"}},_hoisted_5$4X={class:"el-upload-list__item-name"},_hoisted_6$20=["title"],_hoisted_7$13=["onClick"],_hoisted_8$G=["onClick"],_sfc_main$l={__name:"file-upload",props:{uploadConfig:{type:Object,require:!0},fieldId:{type:String},field:{type:String},filePreviewList:{type:Array},fileFormData:{type:Array},uploadFinished:{type:Boolean},colProps:{type:Object}},emits:["update:filePreviewList","update:uploadFinished","onload"],setup(G,{emit:H}){var ye;const X=G,Q=H,K=vue.inject("$httpHeaders"),Z=vue.inject("$vxeMessage"),ee=vue.inject("$axios"),te=vue.inject("$qs"),ne=vue.inject("$t"),re=vue.inject("$vxeConfirm"),oe=vue.inject("$VXETableConfig");let ae=vue.ref(),se=vue.ref(`${(ee==null?void 0:ee.baseUrl)||""}/dataFile/upload/`),le=useVModel$1(X,"filePreviewList",Q),ce=useVModel$1(X,"fileFormData",Q),de=vue.ref({dataId:"",columnId:""}),ue=vue.ref(!1),he=vue.ref(!1),fe=vue.ref(),pe=vue.ref({border:!0,height:700,rowConfig:{isCurrent:!0,isHover:!0},columns:[{field:"name",title:"文件名",align:"center"},{field:"created",title:"创建时间",sortable:!0},{field:"deleteDate",title:"删除时间",sortable:!0},{fixed:"right",title:"操作",align:"center",slots:{default:"operation"},colId:"_operation_"}],data:[]}),ve=!0,me=((ye=oe==null?void 0:oe.file)==null?void 0:ye.uploadMaximumSize)||20,ge=useVModel$1(X,"uploadFinished",Q);const we=vue.computed(()=>{var Ce,be;return((Ce=X.colProps)==null?void 0:Ce.readonly)||((be=X.colProps)==null?void 0:be.disabled)||X.uploadConfig.openType=="view"}),$e=Ce=>{ae.value.handleRemove(Ce)},Ee=Ce=>(ge.value=!1,ve=Ce.size/1024/1024<me,ve||Z({content:`文件大小不能超过${me}MB!`,status:"error",zIndex:3e3}),ve),xe=async Ce=>{if(!ve)return ve=!0,!0;if(await re(ne("确定删除?"),void 0,{zIndex:3e3})==="confirm")ee.post(`/dataFile/delete/${Ce.id}`).then(Te=>{if(Te.data.result){let Ae=ce.value.findIndex(Re=>Re==Ce.id);ce.value.splice(Ae,1),Z({content:Te.data.msg,status:"success",zIndex:3e3})}});else return!1},Me=Ce=>{re(ne("确定下载?"),void 0,{zIndex:3e3}).then(be=>{be==="confirm"&&ee.export(`/dataFile/download/${Ce.id}`).then(Te=>{Z({content:"下载成功!",status:"success",zIndex:3e3})})})},De=(Ce,be)=>{Z({content:"允许上传文件的最大数量为1",status:"error",zIndex:3e3})},ke=(Ce,be)=>{ge.value=!0,Ce.result?(le.value=le.value.map(Te=>{var Ae;return((Ae=Te.response)==null?void 0:Ae.id)==Ce.id?{id:Ce.id,name:be.name}:Te}),ce.value.push(Ce.id),Z({content:Ce.msg,status:"success",zIndex:3e3})):Z({content:Ce.msg,status:"error",zIndex:3e3})},Oe=()=>{le.value=[],ee.post(`/dataFile/list/${X.uploadConfig.regionId}/${X.uploadConfig.dataId}`).then(async Ce=>{if(Ce.data.result&&Ce.data.list.length>0){let be=[];for(let Te of Ce.data.list)(Te.columnName==X.fieldId||Te.columnName==X.field.toLowerCase())&&(be.push({id:Te.id,name:Te.name,columnName:Te.columnName}),ce.value.push(Te.id));le.value=be,Q("onload")}})},Ne=()=>{he.value=!0,ee.post(`/dataFile/logs/${X.uploadConfig.regionId}/${X.uploadConfig.dataId}`).then(async Ce=>{he.value=!1,Ce.data.result&&Ce.data.list.length>0&&(pe.value.data=Ce.data.list.filter(be=>!["jpg","png"].includes(be.type.toLocaleLowerCase())).sort((be,Te)=>new Date(Te.created)-new Date(be.created))),ue.value=!0}).catch(Ce=>{he.value=!1})},_e=Ce=>{re(ne("确定下载历史文件?"),void 0,{zIndex:3e3}).then(be=>{be==="confirm"&&ee.export(`/dataFile/download/${Ce.id}`).then(Te=>{Z({content:"下载成功!",status:"success",zIndex:3e3})})})};return vue.watch(()=>X.uploadConfig,Ce=>{se.value+=Ce.regionId,X.fieldId&&(de.value.columnId=X.fieldId),Ce.dataId&&(de.value.dataId=Ce.dataId,Oe())},{deep:!0,immediate:!0}),(Ce,be)=>{const Te=vue.resolveComponent("el-button"),Ae=vue.resolveComponent("el-upload"),Re=vue.resolveComponent("vxe-grid"),Fe=vue.resolveComponent("el-dialog");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(Ae,{ref_key:"fileUploadRef",ref:ae,"file-list":vue.unref(le),"onUpdate:fileList":be[0]||(be[0]=Be=>vue.isRef(le)?le.value=Be:le=Be),class:"upload-file",disabled:we.value,headers:vue.unref(K)(),action:vue.unref(se),data:vue.unref(de),"before-upload":Ee,"on-exceed":De,"on-success":ke,"before-remove":xe},{tip:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$l8,"大小不超过"+vue.toDisplayString(vue.unref(me))+"MB的文件.",1)]),file:vue.withCtx(({file:Be})=>[vue.createElementVNode("ul",_hoisted_2$l2,[vue.createElementVNode("li",_hoisted_3$h_,[vue.createElementVNode("div",_hoisted_4$az,[vue.createElementVNode("a",_hoisted_5$4X,[be[4]||(be[4]=vue.createElementVNode("i",{class:"iconfont icon-document"},null,-1)),vue.createElementVNode("span",{class:"el-upload-list__item-file-name",title:Be.name},vue.toDisplayString(Be.name),9,_hoisted_6$20)])]),vue.createElementVNode("i",{class:"iconfont icon-download1",style:{color:"#67c23a",cursor:"pointer","pointer-events":"all","font-size":"18px"},onClick:je=>Me(Be),title:"下载"},null,8,_hoisted_7$13),be[5]||(be[5]=vue.createElementVNode("label",{class:"el-upload-list__item-status-label"},[vue.createElementVNode("i",{class:"iconfont icon-circle-check el-icon--upload-success"})],-1)),we.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("i",{key:0,class:"iconfont icon-close2 el-icon--close el-icon",style:{"font-size":"18px"},title:"删除",onClick:je=>$e(Be)},null,8,_hoisted_8$G))])])]),default:vue.withCtx(()=>[vue.createVNode(Te,{type:"primary",size:"small",disabled:we.value},{default:vue.withCtx(()=>[...be[2]||(be[2]=[vue.createTextVNode(" 上传文件 ",-1)])]),_:1},8,["disabled"]),vue.createVNode(Te,{type:"info",size:"small",loading:vue.unref(he),onClick:vue.withModifiers(Ne,["stop"])},{default:vue.withCtx(()=>[...be[3]||(be[3]=[vue.createTextVNode(" 历史文件 ",-1)])]),_:1},8,["loading"])]),_:1},8,["file-list","disabled","headers","action","data"]),vue.createVNode(Fe,{modelValue:vue.unref(ue),"onUpdate:modelValue":be[1]||(be[1]=Be=>vue.isRef(ue)?ue.value=Be:ue=Be),title:vue.unref(ne)("历史文件")},{default:vue.withCtx(()=>[vue.createVNode(Re,vue.mergeProps({ref_key:"logsRegionRef",ref:fe},vue.unref(pe)),{operation:vue.withCtx(({row:Be,rowIndex:je})=>[vue.createVNode(Te,{type:"primary",size:"small",onClick:Le=>_e(Be)},{default:vue.withCtx(()=>[...be[6]||(be[6]=[vue.createElementVNode("i",{class:"iconfont icon-download1"},null,-1),vue.createTextVNode(" 下载文件 ",-1)])]),_:1},8,["onClick"])]),_:1},16)]),_:1},8,["modelValue","title"])],64)}}},FileUpload=_export_sfc(_sfc_main$l,[["__scopeId","data-v-773d7284"]]);FileUpload.name="slw-file-upload",FileUpload.install=G=>{G.component(FileUpload.name,FileUpload)};let rangeFrom=[],rangeTo=[];(()=>{let G="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(H=>H?parseInt(H,36):1);for(let H=0,X=0;H<G.length;H++)(H%2?rangeTo:rangeFrom).push(X=X+G[H])})();function isExtendingChar(G){if(G<768)return!1;for(let H=0,X=rangeFrom.length;;){let Q=H+X>>1;if(G<rangeFrom[Q])X=Q;else if(G>=rangeTo[Q])H=Q+1;else return!0;if(H==X)return!1}}function isRegionalIndicator(G){return G>=127462&&G<=127487}function check(G){for(let H=0;H<rangeFrom.length;H++)if(rangeTo[H]>G)return rangeFrom[H]<=G;return!1}const ZWJ=8205;function findClusterBreak$1(G,H,X=!0,Q=!0){return(X?nextClusterBreak:prevClusterBreak)(G,H,Q)}function nextClusterBreak(G,H,X){if(H==G.length)return H;H&&surrogateLow$1(G.charCodeAt(H))&&surrogateHigh$1(G.charCodeAt(H-1))&&H--;let Q=codePointAt$1(G,H);for(H+=codePointSize$1(Q);H<G.length;){let K=codePointAt$1(G,H);if(Q==ZWJ||K==ZWJ||X&&isExtendingChar(K))H+=codePointSize$1(K),Q=K;else if(isRegionalIndicator(K)){let Z=0,ee=H-2;for(;ee>=0&&isRegionalIndicator(codePointAt$1(G,ee));)Z++,ee-=2;if(Z%2==0)break;H+=2}else break}return H}function prevClusterBreak(G,H,X){for(;H>0;){let Q=nextClusterBreak(G,H-2,X);if(Q<H)return Q;H--}return 0}function codePointAt$1(G,H){let X=G.charCodeAt(H);if(!surrogateHigh$1(X)||H+1==G.length)return X;let Q=G.charCodeAt(H+1);return surrogateLow$1(Q)?(X-55296<<10)+(Q-56320)+65536:X}function surrogateLow$1(G){return G>=56320&&G<57344}function surrogateHigh$1(G){return G>=55296&&G<56320}function codePointSize$1(G){return G<65536?1:2}let Text$2=class si{lineAt(H){if(H<0||H>this.length)throw new RangeError(`Invalid position ${H} in document of length ${this.length}`);return this.lineInner(H,!1,1,0)}line(H){if(H<1||H>this.lines)throw new RangeError(`Invalid line number ${H} in ${this.lines}-line document`);return this.lineInner(H,!0,1,0)}replace(H,X,Q){[H,X]=clip(this,H,X);let K=[];return this.decompose(0,H,K,2),Q.length&&Q.decompose(0,Q.length,K,3),this.decompose(X,this.length,K,1),TextNode.from(K,this.length-(X-H)+Q.length)}append(H){return this.replace(this.length,this.length,H)}slice(H,X=this.length){[H,X]=clip(this,H,X);let Q=[];return this.decompose(H,X,Q,0),TextNode.from(Q,X-H)}eq(H){if(H==this)return!0;if(H.length!=this.length||H.lines!=this.lines)return!1;let X=this.scanIdentical(H,1),Q=this.length-this.scanIdentical(H,-1),K=new RawTextCursor(this),Z=new RawTextCursor(H);for(let ee=X,te=X;;){if(K.next(ee),Z.next(ee),ee=0,K.lineBreak!=Z.lineBreak||K.done!=Z.done||K.value!=Z.value)return!1;if(te+=K.value.length,K.done||te>=Q)return!0}}iter(H=1){return new RawTextCursor(this,H)}iterRange(H,X=this.length){return new PartialTextCursor(this,H,X)}iterLines(H,X){let Q;if(H==null)Q=this.iter();else{X==null&&(X=this.lines+1);let K=this.line(H).from;Q=this.iterRange(K,Math.max(K,X==this.lines+1?this.length:X<=1?0:this.line(X-1).to))}return new LineCursor(Q)}toString(){return this.sliceString(0)}toJSON(){let H=[];return this.flatten(H),H}constructor(){}static of(H){if(H.length==0)throw new RangeError("A document must have at least one line");return H.length==1&&!H[0]?si.empty:H.length<=32?new TextLeaf(H):TextNode.from(TextLeaf.split(H,[]))}};class TextLeaf extends Text$2{constructor(H,X=textLength(H)){super(),this.text=H,this.length=X}get lines(){return this.text.length}get children(){return null}lineInner(H,X,Q,K){for(let Z=0;;Z++){let ee=this.text[Z],te=K+ee.length;if((X?Q:te)>=H)return new Line$2(K,te,Q,ee);K=te+1,Q++}}decompose(H,X,Q,K){let Z=H<=0&&X>=this.length?this:new TextLeaf(sliceText(this.text,H,X),Math.min(X,this.length)-Math.max(0,H));if(K&1){let ee=Q.pop(),te=appendText(Z.text,ee.text.slice(),0,Z.length);if(te.length<=32)Q.push(new TextLeaf(te,ee.length+Z.length));else{let ne=te.length>>1;Q.push(new TextLeaf(te.slice(0,ne)),new TextLeaf(te.slice(ne)))}}else Q.push(Z)}replace(H,X,Q){if(!(Q instanceof TextLeaf))return super.replace(H,X,Q);[H,X]=clip(this,H,X);let K=appendText(this.text,appendText(Q.text,sliceText(this.text,0,H)),X),Z=this.length+Q.length-(X-H);return K.length<=32?new TextLeaf(K,Z):TextNode.from(TextLeaf.split(K,[]),Z)}sliceString(H,X=this.length,Q=`
81
+ `+ee:ee}),navigator.clipboard.writeText(K).then(function(){let Z=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-copy-area");if(cellAreaData&&Z){const{width:ee,height:te,left:ne,top:re,right:oe}=cellAreaData;Z.style.width=`${ee}px`,Z.style.height=`${te}px`,Z.style.top=`${re}px`,Z.style.display="block",Z.style.left=`${ne}px`}$message.success(H)},function(Z){console.log(Z)})},getSelectData=(G=selectionStart.value,H=selectionEnd.value)=>{const X=getGrid();let Q=X.getTableData().visibleData,K=G.rowIndex,Z=H.rowIndex,ee=Q.filter((ae,se)=>K<=Z?K<=se&&Z>=se:K>=se&&Z<=se),te=G.cellIndex,ne=H.cellIndex,oe=X.getTableColumn().visibleColumn.filter((ae,se)=>te<=ne?te<=se&&ne>=se:te>=se&&ne<=se);return{selectRows:ee,selectCols:oe}},addListener=()=>{vue.nextTick(()=>{document.addEventListener("mousedown",tableOutDestroyAreaBox),document.addEventListener("mouseup",tbodymouseup),document.addEventListener("paste",ctrlVPaste),document.addEventListener("copy",ctrlCopyAndCut),document.addEventListener("cut",ctrlCopyAndCut);let G=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper table");G&&(G.addEventListener("mousedown",tbodymousedown),G.addEventListener("mousemove",XEUtils.throttle(tbodymousemove,100)),G.addEventListener("mouseout",XEUtils.throttle(tbodymouseout,100)),G.appendChild(cellarea.value))})},tbodymousedown=G=>{tbodyMousedownTimeout=setTimeout(()=>{G.stopPropagation(),G.button===0&&(getCurRegion().closeMenu(),selectionStart.value=getCellPosition(G.target),isSelecting.value=!0)},300)},tbodymousemove=G=>{if(G.button===0){if(!isSelecting.value)return;selectionEnd.value=getCellPosition(G.target),setselectedCellArea()}},tbodymouseup=G=>{G.button===0&&(isSelecting.value=!1,clearTimeout(tbodyMousedownTimeout))},tableOutDestroyAreaBox=G=>{if(getCurRegion()){let H=getCurRegion().$el.querySelector(".vxe-table--render-wrapper");H&&(G.clientX<H.getBoundingClientRect().left||G.clientX>H.getBoundingClientRect().right||G.clientY<H.getBoundingClientRect().top||G.clientY>H.getBoundingClientRect().bottom)&&destroyCellAreaBox()}},destroyCellAreaBox=()=>{let G=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-area");G&&(G.style.display="none",selectionStart.value={rowIndex:-1,cellIndex:-1},selectionEnd.value={rowIndex:-1,cellIndex:-1},cellAreaData=null)},destroyCopyAreaBox=()=>{let G=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-copy-area");G&&(G.style.display="none",G.style.width="0px",G.style.height="0px",G.style.top="0px",G.style.left="0px")},getCellPosition=G=>{for(;G&&G.tagName!=="TD";)G=G.parentElement;if(G==null)return;const X=getCurRegion().getTableColumn().visibleColumn.findIndex(Z=>Z.id==G.getAttribute("colid"));return{rowIndex:getCurRegion().getTableData().visibleData.findIndex(Z=>Z.id==G.parentElement.getAttribute("rowid")),cellIndex:X}},setselectedCellArea=()=>{let G=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-active-area"),H=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area"),X=[G,H];if(cellAreaData=getAreaBoxPosition(),cellAreaData)var{width:Q,height:K,left:Z,top:ee,right:te}=cellAreaData;else return;X.forEach(ne=>{ne&&(ne.style.width=`${Q}px`,ne.style.height=`${K}px`,ne.style.top=`${ee}px`,ne.style.display="block",ne.style.left=`${Z}px`)}),openAreaBox()},getAreaBoxPosition=()=>{let G=selectionStart.value.rowIndex,H=selectionEnd.value.rowIndex,X=selectionStart.value.cellIndex,Q=selectionEnd.value.cellIndex,K=getCurRegion().getTableColumn().visibleColumn,Z=getCurRegion().getTableData().visibleData;if(X<0||Q<0||G<0||H<0)return;var ee=K.length-1,te=Z.length-1;Q>ee&&(Q=ee),H>te&&(H=te);let ne=0,re=0,oe=0,ae=0,se=0;return K.forEach((le,ce)=>{X<=Q?(ce<X&&(oe+=le.renderWidth),ce>Q&&(se+=le.renderWidth),X<=ce&&ce<=Q&&(ne+=le.renderWidth)):(ce<Q&&(oe+=le.renderWidth),ce>X&&(se+=le.renderWidth),X>=ce&&ce>=Q&&(ne+=le.renderWidth))}),G<=H?(re=(H-G+1)*gridData.value.rowConfig.height,ae=G*gridData.value.rowConfig.height):(re=(G-H+1)*gridData.value.rowConfig.height,ae=H*gridData.value.rowConfig.height),{width:ne,height:re,left:oe,top:ae,right:se}},openAreaBox=()=>{let G=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-area");G&&(G.style.display="block")},tbodymouseout=G=>{if(outevent=G,isSelecting.value){const H=setInterval(()=>{if(isSelecting.value){let X=getCurRegion().$el.querySelector(".vxe-table--body-wrapper table"),Q=X.parentElement.getBoundingClientRect();if(outevent.clientX>Q.right-30){let K=X.parentElement.scrollWidth-X.parentElement.clientWidth;X.parentElement.scrollLeft<K&&(X.parentElement.scrollLeft+=10)}else if(outevent.clientX<Q.left+30)X.parentElement.scrollLeft>0&&(X.parentElement.scrollLeft-=10);else if(outevent.clientY>Q.height+Q.top-30){let K=X.parentElement.scrollHeight-X.parentElement.clientHeight;X.parentElement.scrollTop<K&&(X.parentElement.scrollTop+=10)}else outevent.clientY<Q.top&&(X.parentElement.scrollTop-=10)}else clearInterval(H)},200)}},resizableChange=({column:G,$columnIndex:H})=>{if(selectionStart.value.rowIndex==-1&&selectionEnd.value.rowIndex==-1)return;let{width:X,left:Q}=getAreaBoxPosition(),K=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-active-area"),Z=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-main-area"),ee=getCurRegion().$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper .vxe-table--cell-copy-area");[K,Z,ee].forEach(ne=>{ne&&ne.style.display=="block"&&cellAreaData&&(ne.style.width=`${X}px`,cellAreaData.width=X,ne.style.left=`${Q}px`,cellAreaData.left=Q)})},headerCellClick=({$columnIndex:G,triggerResizable:H})=>{if(H)return;let Q=getCurRegion().getTableData().visibleData.length-1;selectionStart.value={rowIndex:0,cellIndex:G},selectionEnd.value={rowIndex:Q,cellIndex:G},setselectedCellArea()},headerSeqCellDbClick=({row:G,rowIndex:H,$rowIndex:X,column:Q,columnIndex:K,$columnIndex:Z,$event:ee})=>{var ne=getCurRegion().getTableColumn().visibleColumn.length-1;selectionStart.value={rowIndex:X,cellIndex:2},selectionEnd.value={rowIndex:X,cellIndex:ne},setselectedCellArea()},closeUploadModal=()=>{uploadConfig.value={show:!1,dataId:"",regionId:"",isHavePicUploadBtn:!0,openType:""}},setCheckboxRowColor=(G,H="#e6f7ff")=>{let X=getCurRegion();G&&(X=getRegion(G));let Q=X.getCheckboxRecords();setTimeout(()=>{let K=X.$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper table tbody");if(K.children.length>0)for(let Z of K.children){let ee=Z.attributes.rowid.value;Q.find(te=>te[X.rowConfig.keyField]==ee)&&(Z.style["background-color"]=H)}},400)},setRowCellColor=(G,H,X,Q)=>{if(!(Q instanceof Object)){console.error(" style 必须是个对象!");return}let K=getCurRegion();G&&(K=getRegion(G)),setTimeout(()=>{let Z=K.$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper table tbody");if(Z.children.length>0){for(let ee of Z.children)if(ee.attributes.rowid.value==H){if(X){for(let te of ee.children)if(te.attributes.class.value.includes(X.toUpperCase())){Object.keys(Q).forEach(ne=>{try{te.style.hasOwnProperty(ne)&&(te.style[ne]=Q[ne])}catch{}});return}}else Object.keys(Q).forEach(te=>{try{ee.style.hasOwnProperty(te)&&(ee.style[te]=Q[te])}catch{}});return}}},400)},onScanIconClick=(G,H)=>{const X=gridData.value.formConfig.items.filter(Q=>Q.field==H)[0];X.itemRender.props.clickFunction&&evalEvent(X.itemRender.props.clickFunction,G,H,"扫码图标点击事件")},setFormScanValue=(G,H)=>{queryFormData.value[G]=H},setFormValue=(G,H)=>{queryFormData.value[G]=H;const X=gridData.value.formConfig.items.filter(Q=>Q.field==G)[0];if(X){let Q={data:queryFormData.value,item:X,property:G};onQueryFieldChange(Q,queryFormData.value[G])}},setFormSelectOption=(G,H,X=[])=>{let Q=getCurRegion();if(G&&(Q=getRegion(G)),Q){let K=Q.formConfig.items.filter(Z=>Z.field==H)[0];K&&(K.itemRender.options=X)}},getFormSelectOption=async(G,H)=>{let X=getCurRegion();G&&(X=getRegion(G));let Q=[];if(X){let K=X.formConfig.items.filter(Z=>Z.field==H)[0];K.querys?Q=(await getSelectorData({_region_id:X.params._region_id},K.querys.id,K.querys.selectorId)).map(ee=>Object.assign({value:ee.VALUE,label:ee.NAME},ee)):Q=K.itemRender.options}return Q},getQueryForm=G=>{let H=getCurRegion();if(G&&(H=getRegion(G)),H)return H.params.queryFormData},unfoldForm=()=>{let G=getCurRegion();G&&(G.params.expandQueryTool=!G.params.expandQueryTool,G.formConfig.items.forEach((H,X)=>{X>2&&(H.folding=!H.folding)}))},onQueryFieldChange=async(G,H)=>{const X=G.item.itemRender.props.changeFunction;if(X){const Q=G.property,K=G.data,Z=G.item.itemRender.options;await evalEvent(X,H,Q,K,Z,"查询条件字段值改变事件")}gridData.value.params.queryFieldChangeNoQuery||vue.nextTick(()=>{reload()})},setQueryFieldChangeFun=(G,H)=>{const Q=getCurRegion().formConfig.items.filter(K=>K.field==G)[0];Q&&(Q.itemRender.props.changeFunction=H)},setQueryFormItemDisplay=(G,H)=>{const Q=getCurRegion().formConfig.items.filter(K=>K.field==G)[0];Q&&(Q.visible=H)},setQueryFormItemProperty=(G,H,X)=>{const K=getCurRegion().formConfig.items.filter(Z=>Z.field==G)[0];K&&(K.itemRender.props[H]=X)},footerSum=(G,H,X=2,Q="和值")=>{const K=(te,ne)=>{let re=0;return te.forEach(oe=>{re+=Number(oe[ne])}),re.toFixed(X)},Z=(te,ne)=>{let re=0,oe="";return te.forEach(ae=>{typeof ae[ne]=="string"&&ae[ne].includes("%")?(re+=parseFloat(ae[ne]),oe="%"):re+=Number(ae[ne])}),(re/te.length).toFixed(X)+oe},ee=({columns:te,data:ne})=>{let re=te.findIndex(oe=>oe.type=="checkbox");return re=re<0?0:re,[te.map((oe,ae)=>ae===re+1?Q:G.includes(oe.field)?K(ne,oe.field):H.includes(oe.field)?Z(ne,oe.field):"")]};gridData.value.showFooter=!0,gridData.value.footerMethod=ee},setColumnFixed=(G,H="left")=>{let X=getCurRegion();if(X){let Q=X.columns.filter(K=>K.field==G.toUpperCase())[0];Q.fixed=H}},setImportUrl=G=>{const H=vue.ref(`${(axios==null?void 0:axios.baseUrl)||""}${G}`);let X=getCurRegion();X.params.newImportUrl=H.value},setDownTemplateUrl=G=>{const H=G;let X=getCurRegion();X.params.newDownTemplateUrl=H},beforeExcelUpload=async G=>{let H=getCurRegion();return H.params.addUploadData&&(uploadData.value=Object.assign(uploadData.value,H.params.addUploadData)),H.params.beforeUploadFn?await H.params.beforeUploadFn():!0},setBeforeUploadFn=G=>{let H=getCurRegion();H.params.beforeUploadFn=G},setUploadData=G=>{let H=getCurRegion();H.params.addUploadData=Object.assign({},G)},editGridFunList=[];let oldInsertRecords=null;const addEditGridDataChangeFun=G=>{editGridFunList.push(G)},isEqual=(G,H)=>{let X=!0;for(let Q in G)if(G[Q].length>0){X=!1;break}if(X)return!0;if(H==null)return oldInsertRecords=XEUtils.clone(G,!0),G.insertRecords.length>0;for(let Q in G){if(G[Q].length!=H[Q].length)return!1;for(let[K,Z]of G[Q].entries())if(!XEUtils.isEqual(Z,H[Q][K]))return!1}return!0};vue.watch(()=>{var G;return(G=curRegion.value)==null?void 0:G.getRecordset()},(G,H)=>{gridData.value.type!="EDIT_GRID"||typeof H>"u"||isEqual(G,oldInsertRecords)||(oldInsertRecords=XEUtils.clone(G,!0),editGridFunList&&editGridFunList.length>0&&editGridFunList.forEach(X=>{if(X&&typeof X=="function")try{const Q=curRegion.value.getTableData().visibleData;X({visibleData:Q,...G})}catch(Q){console.error(Q)}}))},{deep:!0});const setCurrentRowByRowIndex=async(G,H)=>{let X=getCurRegion();if(G&&(X=getRegion(G)),X){gridData.value.params.rowIndex=H;const Q=X.getTableData().visibleData;X.setCurrentRow(Q[H])}},queryBeforeList=[],addProxyQueryBeforeFun=G=>{queryBeforeList.push(G)},headerCustomClick=({type:G,$event:H})=>{if(G=="confirm"||G=="reset"){let Q=getCurRegion().getColumns().filter(Z=>Z.field).map(Z=>Z.field),K={_region_id:gridData.value.params._region_id,cols:Q};axios.request({headers:{"Content-Type":"application/json;charset=utf-8",...httpHeaders()},method:"post",url:"/window/selfGridColumn",type:"json",data:K}).then(Z=>{Z.data.result||$message.error(Z.data.msg)}).catch(Z=>{console.error(Z)})}},queryAfterList=[],addProxyQueryAfterFun=G=>{queryAfterList.push(G)},getSelectorData=async(G,H,X)=>{var Z;let Q=Object.assign({},G);Q._field_id=H,Q._select_id=X;let K=await axios.post("/window/selector",$qs.stringify(Q));return(Z=K==null?void 0:K.data)==null?void 0:Z.data},allCheckboxFunList=[],addAllCheckboxFun=G=>{allCheckboxFunList.push(G)},setGridBasicConfig=G=>{if(G instanceof Object){let H=["stripe","border","padding","round","size"];Object.keys(G).forEach(X=>{H.includes(X)?gridData.value[X]=G[X]:X=="checkboxReserve"?gridData.value.checkboxConfig.reserve=G[X]:X=="showTablePagerTool"?gridData.value.pagerConfig.slots={left:"pager_left"}:X=="toolbarRefresh"&&(gridData.value.toolbarConfig.refresh=G[X])})}},setGridSlotsVuePath=async(G,H)=>{if(gridData.value.params.slotsVuePath||(gridData.value.params.slotsVuePath={}),H=="other_item"?otherItemComponent.value=(await $components[`${$componentsPath}/${G}`]()).default:H=="table_top"?tableTopComponent.value=(await $components[`${$componentsPath}/${G}`]()).default:H=="query_top"&&(queryTopComponent.value=(await $components[`${$componentsPath}/${G}`]()).default),otherItemComponent.value||tableTopComponent.value||queryTopComponent.value){switch(gridData.value.params.slotsVuePath[H]=G,await vue.nextTick(),H){case"other_item":regionMap.value[H+"-"+gridData.value.params.code+"-"+gridData.value.params.preTag]=otherItem.value,regionMap.value[H+"-"+gridData.value.params.code]=otherItem.value;break;case"table_top":regionMap.value[H+"-"+gridData.value.params.code+"-"+gridData.value.params.preTag]=tableTop.value,regionMap.value[H+"-"+gridData.value.params.code]=tableTop.value;break;case"query_top":regionMap.value[H+"-"+gridData.value.params.code+"-"+gridData.value.params.preTag]=queryTop.value,regionMap.value[H+"-"+gridData.value.params.code]=queryTop.value;break}getCurRegion().recalculate(!0)}},setCheckMethod=G=>{gridData.value.checkboxConfig.checkMethod=G},setButtonDisplay=(G,H)=>{gridData.value.toolbarConfig.buttons.forEach(X=>{if(X.name==G){X.visible=H,X.showInGrid=H;return}})},computeNewLine=()=>{let G=gridData.value.formConfig.items.filter(H=>H.visible);for(let[H,X]of G.entries())if(H>0){X.span=X.span?X.span:12;let Q=G[H-1];Number(X.span)>24?(X.aLine=!0,X.residue=0):(X.aLine=!1,X.residue=24-Number(X.span),Q&&(Q.aLine||Q.residue-Number(X.span)<0)||H==0?X.residue=24-Number(X.span):Q.residue-Number(X.span)>=0&&(X.residue=Q.residue-Number(X.span))),(X.itemRender.props.newLine===!0||X.itemRender.props.newLine==="Y")&&(Q.span=Number(Q.span)+Number(Q.residue),Q.residue=0,X.residue=24-Number(X.span))}else H==0&&(X.span=X.span?Number(X.span):12,X.residue=X.span>24?0:24-Number(X.span))},addColumn=G=>{let H=getCurRegion();if(G instanceof Array)G.forEach(X=>{let Q={dataType:"STRING",field:X.field,title:X.title,width:X.width,visible:!0};gridData.value.columns.push(Q)});else if(G instanceof Object){let X={dataType:"STRING",field:G.field,title:G.title,visible:!0};gridData.value.columns.push(X)}H.loadColumn(gridData.value.columns)};let removeCheckedRow=vue.ref(null);const removeRowEvent=G=>{removeCheckedRow.value=G,getCurRegion().setCheckboxRow(G,!1),pagerToolChecked.value=!1},removeAllRowEvent=()=>{getCheckedReserveData().forEach(H=>{removeRowEvent(H)})};let checkedGridShowCols=vue.ref(null);const setCheckedGridShowCols=G=>{checkedGridShowCols.value=G},getWindowDataSync=async G=>{var X;const H=await axios.post("/window/data/"+gridData.value.params.datasourceCode,G);return((X=H==null?void 0:H.data)==null?void 0:X.data)||[]},headerPagerToolCheckedClick=()=>{pagerToolChecked.value=!pagerToolChecked.value,headerPagerToolCheckedChange({checked:pagerToolChecked.value})},headerPagerToolCheckedChange=async({checked:G,$event:H})=>{let X=getCurRegion();const{data:Q}=curRegion.value.getProxyInfo();G?Q.forEach(K=>{X.setCheckboxRow(K,!0)}):(Q.forEach(K=>{removeRowEvent(K)}),removeAllRowEvent())},remoteMethod=async(G,H,X)=>{let Q=[],K=await axios.post("/window/selector",$qs.stringify({$_f_value:G,_region_id:gridData.value.params._region_id,_field_id:H,_select_id:X}));if(K.data.result&&K.data.data)return Q=K.data.data.map(Z=>Object.assign({value:Z.VALUE,label:Z.NAME},Z)),Q},setColumnElement=(G,H,X)=>{let Q=gridData.value.columns.filter(K=>K.field==G.toUpperCase())[0];Q&&(Q.editRender.name=H,X&&X instanceof Object&&(Q.editRender.props.elementProps=X))},headerFormCollapse=()=>{gridData.value.params.expandQueryTool=!gridData.value.params.expandQueryTool,gridData.value.formConfig.items.forEach((G,H)=>{H>2&&(G.folding=!G.folding)})},setPictureUploadConfig=G=>{gridData.value.params.pictureUploadConfig=G},setOperationColumnFixed=(G="left")=>{let H=getCurRegion();if(H){let X=H.columns.filter(Q=>Q.colId=="_operation_")[0];X.fixed=G}},setEditGridColumnProps=(G,H)=>{const Q=getCurRegion().columns.filter(K=>K.field==G.toUpperCase())[0];Q&&(Q.editRender.props=Object.assign(Q.editRender.props,H))},setEditGridInputSlotsVuePath=async(G,H,X="append")=>{const K=getCurRegion().columns.filter(Z=>Z.field==H.toUpperCase())[0];K&&(K.editRender.slotsComponent=vue.markRaw((await $components[`${$componentsPath}/${G}`]()).default),K.editRender.props.slots=X)},setEditGridColumnSelectOption=(G,H=[])=>{const Q=getCurRegion().columns.filter(K=>K.field==G.toUpperCase())[0];Q&&(Q.editRender.options=H)},getEditGridColumnSelectOption=async(G,H)=>{let X=getCurRegion();G&&(X=getRegion(G));let Q=[];if(X){let K=X.columns.filter(Z=>Z.field==H.toUpperCase())[0];if(K.editRender.options)Q=K.editRender.options;else{const Z=await axios.post("/window/selector",$qs.stringify({_region_id:X.params._region_id,_field_id:K.querys.id,_select_id:K.querys.selectorId}));Z.data.result&&Z.data.data&&(Q=Z.data.data.map(ee=>Object.assign({value:ee.VALUE,label:ee.NAME},ee)))}}return Q},setExportDataLimit=G=>{gridData.value.params.exportDataLimit=G};let scrollFinished=!1;const scrollBoundaryEvent=async({direction:G,isBottom:H,scrollHeight:X,bodyHeight:Q})=>{var K,Z;if(G==="bottom"&&H&&gridData.value.params.rowInfiniteLoad){const{pager:ee}=(K=getCurRegion())==null?void 0:K.getProxyInfo();if((!ee||ee.total==0||ee.total<=ee.pageSize)&&(scrollFinished=!0),scrollFinished){$ElMessage({message:"已加载全部数据!",type:"info",zIndex:3e3});return}ee.pageSize+=gridData.value.pagerConfig.pageSize,ee.total<ee.pageSize?(scrollFinished=!0,ee.pageSize=ee.total):scrollFinished=!1,await((Z=getCurRegion())==null?void 0:Z.commitProxy("reload")),gridData.value.loading=!0,setTimeout(()=>{var te;(te=getCurRegion())==null||te.scrollTo(null,X-Q),gridData.value.loading=!1},200)}};function isEdgeBrowser(){const G=navigator.userAgent;return/Edg|Edge\/\d+/i.test(G)}let isScrollBottom=!1;const scrollEvent=({isBottom:G,scrollTop:H,scrollHeight:X,scrollWidth:Q,bodyWidth:K,bodyHeight:Z})=>{isEdgeBrowser()&&(!G&&!isScrollBottom&&X-Z-H<5?(isScrollBottom=!0,scrollBoundaryEvent({direction:"bottom",isBottom:!0,scrollHeight:X,bodyHeight:Z})):X-Z-H>5&&(isScrollBottom=!1))},checkTableHeightExceedContainer=()=>{if(getCurRegion()){let H=getCurRegion(),X=H.$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper table");return H.$el.querySelector(".vxe-table--main-wrapper .vxe-table--body-wrapper").clientHeight-X.clientHeight>=0}};return vue.onMounted(async()=>{gridData.value.addListener&&getCurRegion()&&addListener(),gridData.value.type==="TREE_STRUCTURE"&&(gridData.value.menuConfig={body:{options:bodyMenus.value},visibleMethod}),await evalEvent(gridData.value.params.formEvents.dataInit,"GRID","表格数据初始化事件"),gridData.value.toolbarConfig.buttons.forEach(G=>{typeof G.type<"u"&&G.type.toLowerCase()==="edit"&&(editBtn.value=G),typeof G.type<"u"&&G.type.toLowerCase()==="export"&&(exportButton.value=G),G.hasOwnProperty("buttonRender")||(G.buttonRender={name:"ElButton",props:{autoInsertSpace:!0,iconComponent:G.iconComponent,size:gridData.value.params.elComponentSize,type:G.viewType,style:G.css,loading:G.btnLoad[rowIndex],plain:G.plain},events:{click:toolBarButtonClick}})}),computeNewLine(),gridData.value.formConfig.items.forEach(G=>{var H,X,Q;queryFormData.value[G.field]=null,(H=G==null?void 0:G.itemRender)!=null&&H.defaultValue&&(queryFormData.value[G.field]=G.itemRender.defaultValue),(Q=(X=G==null?void 0:G.itemRender)==null?void 0:X.events)!=null&&Q.hasOwnProperty("change")&&(G.itemRender.events.change=onQueryFieldChange),G.remoteSearch?(G.itemRender.props.remoteMethod=debounce(async K=>{K&&(G.itemRender.props.loading=!0,G.itemRender.options=await remoteMethod(K,G.querys.id,G.querys.selectorId),G.itemRender.props.loading=!1)},1e3),G.itemRender.defaultValue&&remoteMethod(G.itemRender.defaultValue,G.querys.id,G.querys.selectorId).then(K=>{G.itemRender.options=K})):G.querys&&getSelectorData({_region_id:gridData.value.params._region_id},G.querys.id,G.querys.selectorId).then(K=>{const Z=K.map(ee=>Object.assign({value:ee.VALUE,label:ee.NAME},ee));G.itemRender.options=Z})}),gridData.value.params.queryParams&&Object.keys(gridData.value.params.queryParams).forEach(G=>{const H=G.toLowerCase();queryFormData.value.hasOwnProperty(H)&&!queryFormData.value[H]&&(queryFormData.value[H]=gridData.value.params.queryParams[G])}),gridData.value.columns.forEach(G=>{G.hasOwnProperty("field")&&!G.hasOwnProperty("treeNode")&&(G.events.change=onFieldChange,G.events["on-change"]=onFieldChange,G.events.keyup=onFieldEnter,G.editRender.events=G.events,G.itemRender.events=G.events),G.itemRender&&G.itemRender.props._select_id&&(formSelectMap.value[G.id]=G)}),gridData.value.params.rowNotSelect&&(rowIndex.value=-1),searchData(),regionMap.value[gridData.value.params.code+"-"+preTag.value]=curRegion.value,regionMap.value[gridData.value.params.code]=curRegion.value,evalEvent(gridData.value.params.formEvents.regionInit,"GRID","表格页面初始化事件"),gridData.value.params.parentRegionId&&addGridClickEvent(rowClickEmitFun),setTimeout(()=>{let G=getCurRegion().$el.querySelector(".vxe-table--header-wrapper .vxe-cell--checkbox");G&&(G.title="当页全选/取消")},1500),curRegion.value.closeModal=()=>{closeModal&&closeModal()},curRegion.value.closeDrawer=()=>{closeDrawer()},curRegion.value.closePreModal=()=>{closePreModal&&closePreModal()},curRegion.value.reload=()=>{reload&&reload()},curRegion.value.search=G=>{search(G)},curRegion.value.getCheckedData=()=>getCheckedData(),curRegion.value.getCheckedReserveData=()=>getCheckedReserveData(),curRegion.value.getSelectRecord=()=>getSelectRecord(),curRegion.value.setChecked=G=>{setChecked(G)},curRegion.value.getParentRegion=()=>getParentRegion(),curRegion.value.setExportSheetStyle=G=>setExportSheetStyle(G),curRegion.value.vxeGridExportData=curRegion.value.exportData,curRegion.value.exportCurrentData=G=>exportCurrentData(G),curRegion.value.exportData=G=>exportData(G),curRegion.value.getRegion=G=>getRegion(G),curRegion.value.removeRow=G=>removeRow(G),curRegion.value.clearGrid=()=>clearGrid(),curRegion.value.setCheckboxRowColor=(G,H)=>setCheckboxRowColor(G,H),curRegion.value.setFormValue=(G,H)=>setFormValue(G,H),curRegion.value.setRowCellColor=(G,H,X,Q)=>setRowCellColor(G,H,X,Q),curRegion.value.setFormSelectOption=(G,H,X)=>setFormSelectOption(G,H,X),curRegion.value.getFormSelectOption=(G,H)=>getFormSelectOption(G,H),curRegion.value.setColumnFixed=(G,H)=>setColumnFixed(G,H),curRegion.value.getQueryForm=G=>getQueryForm(G),curRegion.value.setCurrentRowByRowIndex=(G,H)=>setCurrentRowByRowIndex(G,H),curRegion.value.setUploadData=G=>setUploadData(G),curRegion.value.setQueryFieldChangeFun=(G,H)=>setQueryFieldChangeFun(G,H),curRegion.value.setQueryFormItemDisplay=(G,H)=>setQueryFormItemDisplay(G,H),curRegion.value.setQueryFormItemProperty=(G,H,X)=>setQueryFormItemProperty(G,H,X),curRegion.value.setCheckMethod=G=>setCheckMethod(G),curRegion.value.setButtonDisplay=(G,H)=>setButtonDisplay(G,H),curRegion.value.addColumn=G=>addColumn(G),curRegion.value.resetGrid=()=>resetGrid(),curRegion.value.clearCheckedReserveData=()=>clearCheckedReserveData(),curRegion.value.setEditGridColumnSelectOption=(G,H)=>setEditGridColumnSelectOption(G,H),curRegion.value.getEditGridColumnSelectOption=(G,H)=>getEditGridColumnSelectOption(G,H),curRegion.value.setExportDataLimit=G=>setExportDataLimit(G)}),vue.onUnmounted(()=>{document.removeEventListener("mousedown",tableOutDestroyAreaBox),document.removeEventListener("mouseup",tbodymouseup),document.removeEventListener("paste",ctrlVPaste),document.removeEventListener("copy",ctrlCopyAndCut),document.removeEventListener("cut",ctrlCopyAndCut)}),__expose({gridReload,reload}),(G,H)=>{const X=vue.resolveComponent("el-icon"),Q=vue.resolveComponent("el-tooltip"),K=vue.resolveComponent("el-button"),Z=vue.resolveComponent("vxe-form-item"),ee=vue.resolveComponent("el-input"),te=vue.resolveComponent("vxe-form"),ne=vue.resolveComponent("vxe-button"),re=vue.resolveComponent("vxe-icon"),oe=vue.resolveComponent("vxe-grid"),ae=vue.resolveComponent("el-popover"),se=vue.resolveComponent("vxe-checkbox"),le=vue.resolveComponent("cloud-upload"),ce=vue.resolveComponent("el-upload"),de=vue.resolveComponent("download-outline"),ue=vue.resolveComponent("el-dialog"),he=vue.resolveComponent("vxe-modal");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l9,[vue.createElementVNode("div",{class:"vxe-table--cell-area",ref_key:"cellarea",ref:cellarea},[...H[7]||(H[7]=[vue.createElementVNode("span",{class:"vxe-table--cell-main-area"},null,-1),vue.createElementVNode("span",{class:"vxe-table--cell-active-area"},null,-1),vue.createElementVNode("span",{class:"vxe-table--cell-copy-area"},null,-1)])],512),vue.createVNode(oe,vue.mergeProps({ref_key:"curRegion",ref:curRegion,class:computeGridClass.value,"keep-source":""},vue.unref(gridData),{onEditActived:editActived,onResizableChange:resizableChange,onHeaderCellClick:headerCellClick,onCellClick:rowClick,onCellDblclick:onRowDbClick,onMenuClick:contextMenuClickEvent,onCheckboxChange:headerCheckboxChange,onCheckboxAll:headerCheckboxChange,onCustom:headerCustomClick,onScroll:scrollEvent,onScrollBoundary:scrollBoundaryEvent}),{operation:vue.withCtx(({row:fe,rowIndex:pe})=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(showButtons(pe,fe),ve=>(vue.openBlock(),vue.createBlock(K,{key:ve._button_id,iconComponent:ve.iconComponent,"auto-insert-space":"",size:"small",style:vue.normalizeStyle(ve.css+"marginLeft: 0px; padding: 5px"),type:"primary",text:"",onClick:me=>toolBarButtonClick(ve,fe,pe)},vue.createSlots({default:vue.withCtx(()=>[!ve.iconComponent||typeof ve.iconComponent>"u"?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$l3,vue.toDisplayString(vue.unref($T)(ve.name)),1)):vue.createCommentVNode("",!0)]),_:2},[ve.iconComponent?{name:"icon",fn:vue.withCtx(()=>[vue.createVNode(Q,{content:vue.unref($T)(ve.name),placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(X,{size:"15",style:{verticalAlign:"middle"}},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(ve.iconComponent)))]),_:2},1024)]),_:2},1032,["content"])]),key:"0"}:void 0]),1032,["iconComponent","style","onClick"]))),128))]),top:vue.withCtx(()=>{var fe;return[vue.createElementVNode("div",{class:"table_top_wrapper",id:"table_top_"+vue.unref(gridData).params.code},[(fe=vue.unref(gridData).params.slotsVuePath)!=null&&fe.table_top?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(tableTopComponent)),{key:0,ref_key:"tableTop",ref:tableTop},null,512)):vue.createCommentVNode("",!0)],8,_hoisted_3$h$)]}),form:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$aA,[vue.createVNode(te,{ref:"queryForm",data:vue.unref(queryFormData)},{default:vue.withCtx(()=>[vue.createVNode(Z,{span:"24"},{default:vue.withCtx(()=>{var fe;return[vue.createElementVNode("div",{class:"query_top",id:"query_top_"+vue.unref(gridData).params.code},[(fe=vue.unref(gridData).params.slotsVuePath)!=null&&fe.query_top?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(queryTopComponent)),{key:0,ref_key:"queryTop",ref:queryTop},null,512)):vue.createCommentVNode("",!0)],8,_hoisted_5$4Y)]}),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(gridData).formConfig.items,fe=>(vue.openBlock(),vue.createBlock(Z,{key:fe.title,"title-overflow":"tooltip",field:fe.field,title:fe.title,span:fe.span,folding:fe.folding,"item-render":fe.itemRender,visible:fe.visible},vue.createSlots({_:2},[fe.canScan===!0?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(ee,{modelValue:vue.unref(queryFormData)[fe.field],"onUpdate:modelValue":pe=>vue.unref(queryFormData)[fe.field]=pe},{suffix:vue.withCtx(()=>[vue.createElementVNode("i",{class:"iconfont icon-scan1",onClick:pe=>onScanIconClick(vue.unref(queryFormData)[fe.field],fe.field),style:{cursor:"pointer"}},null,8,_hoisted_6$21)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),key:"0"}:void 0,fe.itemRender.name==="ElInputNumber"?{name:"default",fn:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_7$14,[vue.createVNode(ee,{class:"slw-input-number",modelValue:vue.unref(queryFormData)[fe.field],"onUpdate:modelValue":pe=>vue.unref(queryFormData)[fe.field]=pe,type:"number"},{prefix:vue.withCtx(()=>[...H[8]||(H[8]=[vue.createElementVNode("span",{class:"el-input__icon"},"下限:",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"]),H[10]||(H[10]=vue.createElementVNode("span",null,"—",-1)),vue.createVNode(ee,{class:"slw-input-number",modelValue:vue.unref(queryFormData)["end_"+fe.field],"onUpdate:modelValue":pe=>vue.unref(queryFormData)["end_"+fe.field]=pe,type:"number"},{prefix:vue.withCtx(()=>[...H[9]||(H[9]=[vue.createElementVNode("span",{class:"el-input__icon"},"上限:",-1)])]),_:1},8,["modelValue","onUpdate:modelValue"])])]),key:"1"}:void 0]),1032,["field","title","span","folding","item-render","visible"]))),128)),computeQueryBtnDisplay.value?(vue.openBlock(),vue.createBlock(Z,{key:0},{default:vue.withCtx(()=>[vue.createVNode(K,{type:"primary",nativeType:"submit",autoInsertSpace:"",size:vue.unref(gridData).params.elComponentSize,icon:"Search",onClick:reload},{default:vue.withCtx(()=>[...H[11]||(H[11]=[vue.createTextVNode(" 查询 ",-1)])]),_:1},8,["size"]),vue.createVNode(K,{nativeType:"reset",autoInsertSpace:"",size:vue.unref(gridData).params.elComponentSize,icon:"Refresh",onClick:resetGrid},{default:vue.withCtx(()=>[...H[12]||(H[12]=[vue.createTextVNode(" 重置 ",-1)])]),_:1},8,["size"]),vue.unref(gridData).formConfig.items.length>3?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"vxe-form--item-trigger-node",onClick:headerFormCollapse},[vue.unref(gridData).params.expandQueryTool?(vue.openBlock(),vue.createElementBlock("span",_hoisted_9$n," 收起 ")):(vue.openBlock(),vue.createElementBlock("span",_hoisted_8$H," 展开 ")),vue.createElementVNode("i",{class:vue.normalizeClass(["vxe-form--item-trigger-icon vxe-icon-arrow-up",{" rotate180":!vue.unref(gridData).params.expandQueryTool}])},null,2)])):vue.createCommentVNode("",!0)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(Z,{span:"24"},{default:vue.withCtx(()=>{var fe;return[vue.createElementVNode("div",{class:"query_bottom",id:"other_item_"+vue.unref(gridData).params.code},[(fe=vue.unref(gridData).params.slotsVuePath)!=null&&fe.other_item?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(otherItemComponent)),{key:0,ref_key:"otherItem",ref:otherItem},null,512)):vue.createCommentVNode("",!0)],8,_hoisted_10$r)]}),_:1})]),_:1},8,["data"])])]),checkbox_tool:vue.withCtx(({})=>[computeCheckedData.value?(vue.openBlock(),vue.createBlock(ae,{key:0,placement:"right",width:500,"popper-style":"max-height: 90vh;overflow: auto;",trigger:"click"},{reference:vue.withCtx(()=>[vue.createVNode(K,{circle:"",size:vue.unref(gridData).params.elComponentSize,style:{"margin-right":"0.8em"},title:"已勾选数据"},{default:vue.withCtx(()=>[...H[13]||(H[13]=[vue.createElementVNode("i",{class:"iconfont icon-carryout",style:{cursor:"pointer",padding:"0"}},null,-1)])]),_:1},8,["size"])]),default:vue.withCtx(()=>[vue.createVNode(oe,vue.normalizeProps(vue.guardReactiveProps(vue.unref(checkedGridOptions))),{toolbar_buttons:vue.withCtx(()=>[vue.createElementVNode("b",_hoisted_11$h,vue.toDisplayString(vue.unref($T)("已勾选数据")),1),vue.createVNode(ne,{status:"danger",size:"mini",content:vue.unref($T)("全部删除"),onClick:H[0]||(H[0]=fe=>removeAllRowEvent())},null,8,["content"])]),operate:vue.withCtx(({row:fe})=>[vue.createVNode(re,{title:"删除",name:"delete",status:"danger",style:{cursor:"pointer","font-size":"16px","font-weight":"bold"},onClick:pe=>removeRowEvent(fe)},null,8,["onClick"])]),_:1},16)]),_:1})):vue.createCommentVNode("",!0)]),pager_left:vue.withCtx(()=>{var fe;return[(fe=vue.unref(gridData).pagerConfig.slots)!=null&&fe.left?(vue.openBlock(),vue.createElementBlock("div",_hoisted_12$8,[vue.createElementVNode("span",{style:{width:"45px","text-align":"center",background:"#409eff",color:"#fff","border-radius":"5px",cursor:"pointer"},onClick:headerPagerToolCheckedClick}," 全选 "),vue.createVNode(se,{class:"checkbox-box",modelValue:vue.unref(pagerToolChecked),"onUpdate:modelValue":H[1]||(H[1]=pe=>vue.isRef(pagerToolChecked)?pagerToolChecked.value=pe:pagerToolChecked=pe),size:vue.unref(gridData).size,onChange:headerPagerToolCheckedChange},null,8,["modelValue","size"])])):vue.createCommentVNode("",!0)]}),_:1},16,["class"]),vue.createVNode(ue,{ref:"importModal",modelValue:vue.unref(isImport),"onUpdate:modelValue":H[2]||(H[2]=fe=>vue.isRef(isImport)?isImport.value=fe:isImport=fe),visible:vue.unref(isImport),"onUpdate:visible":H[3]||(H[3]=fe=>vue.isRef(isImport)?isImport.value=fe:isImport=fe),zIndex:1e3,title:vue.unref($T)("Excel导入"),width:"500px",height:"280px","destroy-on-close":"",draggable:"","append-to-body":"",transfer:"",destroyOnClose:"",resize:"","mask-closable":"","esc-closable":"","show-footer":""},{footer:vue.withCtx(()=>[vue.createVNode(K,{"auto-insert-space":!0,type:"primary",onClick:downTemplate},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref($T)("模板"))+" ",1),vue.createVNode(X,{size:"15",style:{verticalAlign:"middle"}},{default:vue.withCtx(()=>[vue.createVNode(de)]),_:1})]),_:1})]),default:vue.withCtx(()=>[vue.createVNode(ce,{ref:"uploadExcel",type:"drag",drag:"",action:computeExcelUrl.value,headers:vue.unref(httpHeaders)(),accept:".xls,.xlsx",data:vue.unref(uploadData),"before-upload":beforeExcelUpload,"on-format-error":importFormatError,"on-success":importSuccess},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_13$4,[vue.createVNode(le,{width:50}),vue.createElementVNode("p",null,vue.toDisplayString(vue.unref($T)("点击或拖文件到此处上传")),1)])]),_:1},8,["action","headers","data"])]),_:1},8,["modelValue","visible","title"]),vue.createVNode(ue,{ref:"pictureUploadModal",width:"20%",modelValue:vue.unref(uploadConfig).show,"onUpdate:modelValue":H[4]||(H[4]=fe=>vue.unref(uploadConfig).show=fe),"z-index":1e3,draggable:"","append-to-body":"","close-on-press-escape":"","destroy-on-close":"",title:vue.unref($T)("图片上传"),onClosed:closeUploadModal},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(PictureUpload),{uploadConfig:vue.unref(uploadConfig)},null,8,["uploadConfig"])]),_:1},8,["modelValue","title"]),vue.createVNode(he,{modelValue:vue.unref(componentViewShow),"onUpdate:modelValue":H[5]||(H[5]=fe=>vue.isRef(componentViewShow)?componentViewShow.value=fe:componentViewShow=fe),resize:"",transfer:"",zIndex:1e3,title:vue.unref($T)("组件预览"),width:"50%",height:"60vh",draggable:"","lock-scroll":"",position:"center","destroy-on-close":"","show-footer":!1,onClose:H[6]||(H[6]=fe=>vue.isRef(componentViewShow)?componentViewShow.value=!1:componentViewShow=!1)},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(componentViewName)),{componentData:vue.unref(componentViewData)},null,8,["componentData"]))]),_:1},8,["modelValue","title"])])}}},WindowGrid=_export_sfc(_sfc_main$m,[["__scopeId","data-v-b27e1777"]]);WindowGrid.name="slw-window-grid",WindowGrid.install=G=>{G.component(WindowGrid.name,WindowGrid)};const _hoisted_1$l8={class:"el-upload__tip"},_hoisted_2$l2={class:"el-upload-list el-upload-list--text"},_hoisted_3$h_={class:"el-upload-list__item is-success",tabindex:"0"},_hoisted_4$az={class:"el-upload-list__item-info",style:{width:"calc(100% - 55px)"}},_hoisted_5$4X={class:"el-upload-list__item-name"},_hoisted_6$20=["title"],_hoisted_7$13=["onClick"],_hoisted_8$G=["onClick"],_sfc_main$l={__name:"file-upload",props:{uploadConfig:{type:Object,require:!0},fieldId:{type:String},field:{type:String},filePreviewList:{type:Array},fileFormData:{type:Array},uploadFinished:{type:Boolean},colProps:{type:Object}},emits:["update:filePreviewList","update:uploadFinished","onload"],setup(G,{emit:H}){var ye;const X=G,Q=H,K=vue.inject("$httpHeaders"),Z=vue.inject("$vxeMessage"),ee=vue.inject("$axios"),te=vue.inject("$qs"),ne=vue.inject("$t"),re=vue.inject("$vxeConfirm"),oe=vue.inject("$VXETableConfig");let ae=vue.ref(),se=vue.ref(`${(ee==null?void 0:ee.baseUrl)||""}/dataFile/upload/`),le=useVModel$1(X,"filePreviewList",Q),ce=useVModel$1(X,"fileFormData",Q),de=vue.ref({dataId:"",columnId:""}),ue=vue.ref(!1),he=vue.ref(!1),fe=vue.ref(),pe=vue.ref({border:!0,height:700,rowConfig:{isCurrent:!0,isHover:!0},columns:[{field:"name",title:"文件名",align:"center"},{field:"created",title:"创建时间",sortable:!0},{field:"deleteDate",title:"删除时间",sortable:!0},{fixed:"right",title:"操作",align:"center",slots:{default:"operation"},colId:"_operation_"}],data:[]}),ve=!0,me=((ye=oe==null?void 0:oe.file)==null?void 0:ye.uploadMaximumSize)||20,ge=useVModel$1(X,"uploadFinished",Q);const we=vue.computed(()=>{var Ce,be;return((Ce=X.colProps)==null?void 0:Ce.readonly)||((be=X.colProps)==null?void 0:be.disabled)||X.uploadConfig.openType=="view"}),$e=Ce=>{ae.value.handleRemove(Ce)},Ee=Ce=>(ge.value=!1,ve=Ce.size/1024/1024<me,ve||Z({content:`文件大小不能超过${me}MB!`,status:"error",zIndex:3e3}),ve),xe=async Ce=>{if(!ve)return ve=!0,!0;if(await re(ne("确定删除?"),void 0,{zIndex:3e3})==="confirm")ee.post(`/dataFile/delete/${Ce.id}`).then(Te=>{if(Te.data.result){let Ae=ce.value.findIndex(Re=>Re==Ce.id);ce.value.splice(Ae,1),Z({content:Te.data.msg,status:"success",zIndex:3e3})}});else return!1},Me=Ce=>{re(ne("确定下载?"),void 0,{zIndex:3e3}).then(be=>{be==="confirm"&&ee.export(`/dataFile/download/${Ce.id}`).then(Te=>{Z({content:"下载成功!",status:"success",zIndex:3e3})})})},De=(Ce,be)=>{Z({content:"允许上传文件的最大数量为1",status:"error",zIndex:3e3})},ke=(Ce,be)=>{ge.value=!0,Ce.result?(le.value=le.value.map(Te=>{var Ae;return((Ae=Te.response)==null?void 0:Ae.id)==Ce.id?{id:Ce.id,name:be.name}:Te}),ce.value.push(Ce.id),Z({content:Ce.msg,status:"success",zIndex:3e3})):Z({content:Ce.msg,status:"error",zIndex:3e3})},Oe=()=>{le.value=[],ee.post(`/dataFile/list/${X.uploadConfig.regionId}/${X.uploadConfig.dataId}`).then(async Ce=>{if(Ce.data.result&&Ce.data.list.length>0){let be=[];for(let Te of Ce.data.list)(Te.columnName==X.fieldId||Te.columnName==X.field.toLowerCase())&&(be.push({id:Te.id,name:Te.name,columnName:Te.columnName}),ce.value.push(Te.id));le.value=be,Q("onload")}})},Ne=()=>{he.value=!0,ee.post(`/dataFile/logs/${X.uploadConfig.regionId}/${X.uploadConfig.dataId}`).then(async Ce=>{he.value=!1,Ce.data.result&&Ce.data.list.length>0&&(pe.value.data=Ce.data.list.filter(be=>!["jpg","png"].includes(be.type.toLocaleLowerCase())).sort((be,Te)=>new Date(Te.created)-new Date(be.created))),ue.value=!0}).catch(Ce=>{he.value=!1})},_e=Ce=>{re(ne("确定下载历史文件?"),void 0,{zIndex:3e3}).then(be=>{be==="confirm"&&ee.export(`/dataFile/download/${Ce.id}`).then(Te=>{Z({content:"下载成功!",status:"success",zIndex:3e3})})})};return vue.watch(()=>X.uploadConfig,Ce=>{se.value+=Ce.regionId,X.fieldId&&(de.value.columnId=X.fieldId),Ce.dataId&&(de.value.dataId=Ce.dataId,Oe())},{deep:!0,immediate:!0}),(Ce,be)=>{const Te=vue.resolveComponent("el-button"),Ae=vue.resolveComponent("el-upload"),Re=vue.resolveComponent("vxe-grid"),Fe=vue.resolveComponent("el-dialog");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createVNode(Ae,{ref_key:"fileUploadRef",ref:ae,"file-list":vue.unref(le),"onUpdate:fileList":be[0]||(be[0]=Be=>vue.isRef(le)?le.value=Be:le=Be),class:"upload-file",disabled:we.value,headers:vue.unref(K)(),action:vue.unref(se),data:vue.unref(de),"before-upload":Ee,"on-exceed":De,"on-success":ke,"before-remove":xe},{tip:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$l8,"大小不超过"+vue.toDisplayString(vue.unref(me))+"MB的文件.",1)]),file:vue.withCtx(({file:Be})=>[vue.createElementVNode("ul",_hoisted_2$l2,[vue.createElementVNode("li",_hoisted_3$h_,[vue.createElementVNode("div",_hoisted_4$az,[vue.createElementVNode("a",_hoisted_5$4X,[be[4]||(be[4]=vue.createElementVNode("i",{class:"iconfont icon-document"},null,-1)),vue.createElementVNode("span",{class:"el-upload-list__item-file-name",title:Be.name},vue.toDisplayString(Be.name),9,_hoisted_6$20)])]),vue.createElementVNode("i",{class:"iconfont icon-download1",style:{color:"#67c23a",cursor:"pointer","pointer-events":"all","font-size":"18px"},onClick:je=>Me(Be),title:"下载"},null,8,_hoisted_7$13),be[5]||(be[5]=vue.createElementVNode("label",{class:"el-upload-list__item-status-label"},[vue.createElementVNode("i",{class:"iconfont icon-circle-check el-icon--upload-success"})],-1)),we.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("i",{key:0,class:"iconfont icon-close2 el-icon--close el-icon",style:{"font-size":"18px"},title:"删除",onClick:je=>$e(Be)},null,8,_hoisted_8$G))])])]),default:vue.withCtx(()=>[vue.createVNode(Te,{type:"primary",size:"small",disabled:we.value},{default:vue.withCtx(()=>[...be[2]||(be[2]=[vue.createTextVNode(" 上传文件 ",-1)])]),_:1},8,["disabled"]),vue.createVNode(Te,{type:"info",size:"small",loading:vue.unref(he),onClick:vue.withModifiers(Ne,["stop"])},{default:vue.withCtx(()=>[...be[3]||(be[3]=[vue.createTextVNode(" 历史文件 ",-1)])]),_:1},8,["loading"])]),_:1},8,["file-list","disabled","headers","action","data"]),vue.createVNode(Fe,{modelValue:vue.unref(ue),"onUpdate:modelValue":be[1]||(be[1]=Be=>vue.isRef(ue)?ue.value=Be:ue=Be),title:vue.unref(ne)("历史文件")},{default:vue.withCtx(()=>[vue.createVNode(Re,vue.mergeProps({ref_key:"logsRegionRef",ref:fe},vue.unref(pe)),{operation:vue.withCtx(({row:Be,rowIndex:je})=>[vue.createVNode(Te,{type:"primary",size:"small",onClick:Le=>_e(Be)},{default:vue.withCtx(()=>[...be[6]||(be[6]=[vue.createElementVNode("i",{class:"iconfont icon-download1"},null,-1),vue.createTextVNode(" 下载文件 ",-1)])]),_:1},8,["onClick"])]),_:1},16)]),_:1},8,["modelValue","title"])],64)}}},FileUpload=_export_sfc(_sfc_main$l,[["__scopeId","data-v-773d7284"]]);FileUpload.name="slw-file-upload",FileUpload.install=G=>{G.component(FileUpload.name,FileUpload)};let rangeFrom=[],rangeTo=[];(()=>{let G="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(H=>H?parseInt(H,36):1);for(let H=0,X=0;H<G.length;H++)(H%2?rangeTo:rangeFrom).push(X=X+G[H])})();function isExtendingChar(G){if(G<768)return!1;for(let H=0,X=rangeFrom.length;;){let Q=H+X>>1;if(G<rangeFrom[Q])X=Q;else if(G>=rangeTo[Q])H=Q+1;else return!0;if(H==X)return!1}}function isRegionalIndicator(G){return G>=127462&&G<=127487}function check(G){for(let H=0;H<rangeFrom.length;H++)if(rangeTo[H]>G)return rangeFrom[H]<=G;return!1}const ZWJ=8205;function findClusterBreak$1(G,H,X=!0,Q=!0){return(X?nextClusterBreak:prevClusterBreak)(G,H,Q)}function nextClusterBreak(G,H,X){if(H==G.length)return H;H&&surrogateLow$1(G.charCodeAt(H))&&surrogateHigh$1(G.charCodeAt(H-1))&&H--;let Q=codePointAt$1(G,H);for(H+=codePointSize$1(Q);H<G.length;){let K=codePointAt$1(G,H);if(Q==ZWJ||K==ZWJ||X&&isExtendingChar(K))H+=codePointSize$1(K),Q=K;else if(isRegionalIndicator(K)){let Z=0,ee=H-2;for(;ee>=0&&isRegionalIndicator(codePointAt$1(G,ee));)Z++,ee-=2;if(Z%2==0)break;H+=2}else break}return H}function prevClusterBreak(G,H,X){for(;H>0;){let Q=nextClusterBreak(G,H-2,X);if(Q<H)return Q;H--}return 0}function codePointAt$1(G,H){let X=G.charCodeAt(H);if(!surrogateHigh$1(X)||H+1==G.length)return X;let Q=G.charCodeAt(H+1);return surrogateLow$1(Q)?(X-55296<<10)+(Q-56320)+65536:X}function surrogateLow$1(G){return G>=56320&&G<57344}function surrogateHigh$1(G){return G>=55296&&G<56320}function codePointSize$1(G){return G<65536?1:2}let Text$2=class si{lineAt(H){if(H<0||H>this.length)throw new RangeError(`Invalid position ${H} in document of length ${this.length}`);return this.lineInner(H,!1,1,0)}line(H){if(H<1||H>this.lines)throw new RangeError(`Invalid line number ${H} in ${this.lines}-line document`);return this.lineInner(H,!0,1,0)}replace(H,X,Q){[H,X]=clip(this,H,X);let K=[];return this.decompose(0,H,K,2),Q.length&&Q.decompose(0,Q.length,K,3),this.decompose(X,this.length,K,1),TextNode.from(K,this.length-(X-H)+Q.length)}append(H){return this.replace(this.length,this.length,H)}slice(H,X=this.length){[H,X]=clip(this,H,X);let Q=[];return this.decompose(H,X,Q,0),TextNode.from(Q,X-H)}eq(H){if(H==this)return!0;if(H.length!=this.length||H.lines!=this.lines)return!1;let X=this.scanIdentical(H,1),Q=this.length-this.scanIdentical(H,-1),K=new RawTextCursor(this),Z=new RawTextCursor(H);for(let ee=X,te=X;;){if(K.next(ee),Z.next(ee),ee=0,K.lineBreak!=Z.lineBreak||K.done!=Z.done||K.value!=Z.value)return!1;if(te+=K.value.length,K.done||te>=Q)return!0}}iter(H=1){return new RawTextCursor(this,H)}iterRange(H,X=this.length){return new PartialTextCursor(this,H,X)}iterLines(H,X){let Q;if(H==null)Q=this.iter();else{X==null&&(X=this.lines+1);let K=this.line(H).from;Q=this.iterRange(K,Math.max(K,X==this.lines+1?this.length:X<=1?0:this.line(X-1).to))}return new LineCursor(Q)}toString(){return this.sliceString(0)}toJSON(){let H=[];return this.flatten(H),H}constructor(){}static of(H){if(H.length==0)throw new RangeError("A document must have at least one line");return H.length==1&&!H[0]?si.empty:H.length<=32?new TextLeaf(H):TextNode.from(TextLeaf.split(H,[]))}};class TextLeaf extends Text$2{constructor(H,X=textLength(H)){super(),this.text=H,this.length=X}get lines(){return this.text.length}get children(){return null}lineInner(H,X,Q,K){for(let Z=0;;Z++){let ee=this.text[Z],te=K+ee.length;if((X?Q:te)>=H)return new Line$2(K,te,Q,ee);K=te+1,Q++}}decompose(H,X,Q,K){let Z=H<=0&&X>=this.length?this:new TextLeaf(sliceText(this.text,H,X),Math.min(X,this.length)-Math.max(0,H));if(K&1){let ee=Q.pop(),te=appendText(Z.text,ee.text.slice(),0,Z.length);if(te.length<=32)Q.push(new TextLeaf(te,ee.length+Z.length));else{let ne=te.length>>1;Q.push(new TextLeaf(te.slice(0,ne)),new TextLeaf(te.slice(ne)))}}else Q.push(Z)}replace(H,X,Q){if(!(Q instanceof TextLeaf))return super.replace(H,X,Q);[H,X]=clip(this,H,X);let K=appendText(this.text,appendText(Q.text,sliceText(this.text,0,H)),X),Z=this.length+Q.length-(X-H);return K.length<=32?new TextLeaf(K,Z):TextNode.from(TextLeaf.split(K,[]),Z)}sliceString(H,X=this.length,Q=`
82
82
  `){[H,X]=clip(this,H,X);let K="";for(let Z=0,ee=0;Z<=X&&ee<this.text.length;ee++){let te=this.text[ee],ne=Z+te.length;Z>H&&ee&&(K+=Q),H<ne&&X>Z&&(K+=te.slice(Math.max(0,H-Z),X-Z)),Z=ne+1}return K}flatten(H){for(let X of this.text)H.push(X)}scanIdentical(){return 0}static split(H,X){let Q=[],K=-1;for(let Z of H)Q.push(Z),K+=Z.length+1,Q.length==32&&(X.push(new TextLeaf(Q,K)),Q=[],K=-1);return K>-1&&X.push(new TextLeaf(Q,K)),X}}class TextNode extends Text$2{constructor(H,X){super(),this.children=H,this.length=X,this.lines=0;for(let Q of H)this.lines+=Q.lines}lineInner(H,X,Q,K){for(let Z=0;;Z++){let ee=this.children[Z],te=K+ee.length,ne=Q+ee.lines-1;if((X?ne:te)>=H)return ee.lineInner(H,X,Q,K);K=te+1,Q=ne+1}}decompose(H,X,Q,K){for(let Z=0,ee=0;ee<=X&&Z<this.children.length;Z++){let te=this.children[Z],ne=ee+te.length;if(H<=ne&&X>=ee){let re=K&((ee<=H?1:0)|(ne>=X?2:0));ee>=H&&ne<=X&&!re?Q.push(te):te.decompose(H-ee,X-ee,Q,re)}ee=ne+1}}replace(H,X,Q){if([H,X]=clip(this,H,X),Q.lines<this.lines)for(let K=0,Z=0;K<this.children.length;K++){let ee=this.children[K],te=Z+ee.length;if(H>=Z&&X<=te){let ne=ee.replace(H-Z,X-Z,Q),re=this.lines-ee.lines+ne.lines;if(ne.lines<re>>4&&ne.lines>re>>6){let oe=this.children.slice();return oe[K]=ne,new TextNode(oe,this.length-(X-H)+Q.length)}return super.replace(Z,te,ne)}Z=te+1}return super.replace(H,X,Q)}sliceString(H,X=this.length,Q=`
83
83
  `){[H,X]=clip(this,H,X);let K="";for(let Z=0,ee=0;Z<this.children.length&&ee<=X;Z++){let te=this.children[Z],ne=ee+te.length;ee>H&&Z&&(K+=Q),H<ne&&X>ee&&(K+=te.sliceString(H-ee,X-ee,Q)),ee=ne+1}return K}flatten(H){for(let X of this.children)X.flatten(H)}scanIdentical(H,X){if(!(H instanceof TextNode))return 0;let Q=0,[K,Z,ee,te]=X>0?[0,0,this.children.length,H.children.length]:[this.children.length-1,H.children.length-1,-1,-1];for(;;K+=X,Z+=X){if(K==ee||Z==te)return Q;let ne=this.children[K],re=H.children[Z];if(ne!=re)return Q+ne.scanIdentical(re,X);Q+=ne.length+1}}static from(H,X=H.reduce((Q,K)=>Q+K.length+1,-1)){let Q=0;for(let le of H)Q+=le.lines;if(Q<32){let le=[];for(let ce of H)ce.flatten(le);return new TextLeaf(le,X)}let K=Math.max(32,Q>>5),Z=K<<1,ee=K>>1,te=[],ne=0,re=-1,oe=[];function ae(le){let ce;if(le.lines>Z&&le instanceof TextNode)for(let de of le.children)ae(de);else le.lines>ee&&(ne>ee||!ne)?(se(),te.push(le)):le instanceof TextLeaf&&ne&&(ce=oe[oe.length-1])instanceof TextLeaf&&le.lines+ce.lines<=32?(ne+=le.lines,re+=le.length+1,oe[oe.length-1]=new TextLeaf(ce.text.concat(le.text),ce.length+1+le.length)):(ne+le.lines>K&&se(),ne+=le.lines,re+=le.length+1,oe.push(le))}function se(){ne!=0&&(te.push(oe.length==1?oe[0]:TextNode.from(oe,re)),re=-1,ne=oe.length=0)}for(let le of H)ae(le);return se(),te.length==1?te[0]:new TextNode(te,X)}}Text$2.empty=new TextLeaf([""],0);function textLength(G){let H=-1;for(let X of G)H+=X.length+1;return H}function appendText(G,H,X=0,Q=1e9){for(let K=0,Z=0,ee=!0;Z<G.length&&K<=Q;Z++){let te=G[Z],ne=K+te.length;ne>=X&&(ne>Q&&(te=te.slice(0,Q-K)),K<X&&(te=te.slice(X-K)),ee?(H[H.length-1]+=te,ee=!1):H.push(te)),K=ne+1}return H}function sliceText(G,H,X){return appendText(G,[""],H,X)}class RawTextCursor{constructor(H,X=1){this.dir=X,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[H],this.offsets=[X>0?1:(H instanceof TextLeaf?H.text.length:H.children.length)<<1]}nextInner(H,X){for(this.done=this.lineBreak=!1;;){let Q=this.nodes.length-1,K=this.nodes[Q],Z=this.offsets[Q],ee=Z>>1,te=K instanceof TextLeaf?K.text.length:K.children.length;if(ee==(X>0?te:0)){if(Q==0)return this.done=!0,this.value="",this;X>0&&this.offsets[Q-1]++,this.nodes.pop(),this.offsets.pop()}else if((Z&1)==(X>0?0:1)){if(this.offsets[Q]+=X,H==0)return this.lineBreak=!0,this.value=`
84
84
  `,this;H--}else if(K instanceof TextLeaf){let ne=K.text[ee+(X<0?-1:0)];if(this.offsets[Q]+=X,ne.length>Math.max(0,H))return this.value=H==0?ne:X>0?ne.slice(H):ne.slice(0,ne.length-H),this;H-=ne.length}else{let ne=K.children[ee+(X<0?-1:0)];H>ne.length?(H-=ne.length,this.offsets[Q]+=X):(X<0&&this.offsets[Q]--,this.nodes.push(ne),this.offsets.push(X>0?1:(ne instanceof TextLeaf?ne.text.length:ne.children.length)<<1))}}}next(H=0){return H<0&&(this.nextInner(-H,-this.dir),H=this.value.length),this.nextInner(H,this.dir)}}class PartialTextCursor{constructor(H,X,Q){this.value="",this.done=!1,this.cursor=new RawTextCursor(H,X>Q?-1:1),this.pos=X>Q?H.length:0,this.from=Math.min(X,Q),this.to=Math.max(X,Q)}nextInner(H,X){if(X<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;H+=Math.max(0,X<0?this.pos-this.to:this.from-this.pos);let Q=X<0?this.pos-this.from:this.to-this.pos;H>Q&&(H=Q),Q-=H;let{value:K}=this.cursor.next(H);return this.pos+=(K.length+H)*X,this.value=K.length<=Q?K:X<0?K.slice(K.length-Q):K.slice(0,Q),this.done=!this.value,this}next(H=0){return H<0?H=Math.max(H,this.from-this.pos):H>0&&(H=Math.min(H,this.to-this.pos)),this.nextInner(H,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class LineCursor{constructor(H){this.inner=H,this.afterBreak=!0,this.value="",this.done=!1}next(H=0){let{done:X,lineBreak:Q,value:K}=this.inner.next(H);return X&&this.afterBreak?(this.value="",this.afterBreak=!1):X?(this.done=!0,this.value=""):Q?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=K,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(Text$2.prototype[Symbol.iterator]=function(){return this.iter()},RawTextCursor.prototype[Symbol.iterator]=PartialTextCursor.prototype[Symbol.iterator]=LineCursor.prototype[Symbol.iterator]=function(){return this});let Line$2=class{constructor(H,X,Q,K){this.from=H,this.to=X,this.number=Q,this.text=K}get length(){return this.to-this.from}};function clip(G,H,X){return H=Math.max(0,Math.min(G.length,H)),[H,Math.max(H,Math.min(G.length,X))]}function findClusterBreak(G,H,X=!0,Q=!0){return findClusterBreak$1(G,H,X,Q)}function surrogateLow(G){return G>=56320&&G<57344}function surrogateHigh(G){return G>=55296&&G<56320}function codePointAt(G,H){let X=G.charCodeAt(H);if(!surrogateHigh(X)||H+1==G.length)return X;let Q=G.charCodeAt(H+1);return surrogateLow(Q)?(X-55296<<10)+(Q-56320)+65536:X}function fromCodePoint(G){return G<=65535?String.fromCharCode(G):(G-=65536,String.fromCharCode((G>>10)+55296,(G&1023)+56320))}function codePointSize(G){return G<65536?1:2}const DefaultSplit=/\r\n?|\n/;var MapMode=function(G){return G[G.Simple=0]="Simple",G[G.TrackDel=1]="TrackDel",G[G.TrackBefore=2]="TrackBefore",G[G.TrackAfter=3]="TrackAfter",G}(MapMode||(MapMode={}));class ChangeDesc{constructor(H){this.sections=H}get length(){let H=0;for(let X=0;X<this.sections.length;X+=2)H+=this.sections[X];return H}get newLength(){let H=0;for(let X=0;X<this.sections.length;X+=2){let Q=this.sections[X+1];H+=Q<0?this.sections[X]:Q}return H}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(H){for(let X=0,Q=0,K=0;X<this.sections.length;){let Z=this.sections[X++],ee=this.sections[X++];ee<0?(H(Q,K,Z),K+=Z):K+=ee,Q+=Z}}iterChangedRanges(H,X=!1){iterChanges(this,H,X)}get invertedDesc(){let H=[];for(let X=0;X<this.sections.length;){let Q=this.sections[X++],K=this.sections[X++];K<0?H.push(Q,K):H.push(K,Q)}return new ChangeDesc(H)}composeDesc(H){return this.empty?H:H.empty?this:composeSets(this,H)}mapDesc(H,X=!1){return H.empty?this:mapSet(this,H,X)}mapPos(H,X=-1,Q=MapMode.Simple){let K=0,Z=0;for(let ee=0;ee<this.sections.length;){let te=this.sections[ee++],ne=this.sections[ee++],re=K+te;if(ne<0){if(re>H)return Z+(H-K);Z+=te}else{if(Q!=MapMode.Simple&&re>=H&&(Q==MapMode.TrackDel&&K<H&&re>H||Q==MapMode.TrackBefore&&K<H||Q==MapMode.TrackAfter&&re>H))return null;if(re>H||re==H&&X<0&&!te)return H==K||X<0?Z:Z+ne;Z+=ne}K=re}if(H>K)throw new RangeError(`Position ${H} is out of range for changeset of length ${K}`);return Z}touchesRange(H,X=H){for(let Q=0,K=0;Q<this.sections.length&&K<=X;){let Z=this.sections[Q++],ee=this.sections[Q++],te=K+Z;if(ee>=0&&K<=X&&te>=H)return K<H&&te>X?"cover":!0;K=te}return!1}toString(){let H="";for(let X=0;X<this.sections.length;){let Q=this.sections[X++],K=this.sections[X++];H+=(H?" ":"")+Q+(K>=0?":"+K:"")}return H}toJSON(){return this.sections}static fromJSON(H){if(!Array.isArray(H)||H.length%2||H.some(X=>typeof X!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new ChangeDesc(H)}static create(H){return new ChangeDesc(H)}}class ChangeSet extends ChangeDesc{constructor(H,X){super(H),this.inserted=X}apply(H){if(this.length!=H.length)throw new RangeError("Applying change set to a document with the wrong length");return iterChanges(this,(X,Q,K,Z,ee)=>H=H.replace(K,K+(Q-X),ee),!1),H}mapDesc(H,X=!1){return mapSet(this,H,X,!0)}invert(H){let X=this.sections.slice(),Q=[];for(let K=0,Z=0;K<X.length;K+=2){let ee=X[K],te=X[K+1];if(te>=0){X[K]=te,X[K+1]=ee;let ne=K>>1;for(;Q.length<ne;)Q.push(Text$2.empty);Q.push(ee?H.slice(Z,Z+ee):Text$2.empty)}Z+=ee}return new ChangeSet(X,Q)}compose(H){return this.empty?H:H.empty?this:composeSets(this,H,!0)}map(H,X=!1){return H.empty?this:mapSet(this,H,X,!0)}iterChanges(H,X=!1){iterChanges(this,H,X)}get desc(){return ChangeDesc.create(this.sections)}filter(H){let X=[],Q=[],K=[],Z=new SectionIter(this);e:for(let ee=0,te=0;;){let ne=ee==H.length?1e9:H[ee++];for(;te<ne||te==ne&&Z.len==0;){if(Z.done)break e;let oe=Math.min(Z.len,ne-te);addSection(K,oe,-1);let ae=Z.ins==-1?-1:Z.off==0?Z.ins:0;addSection(X,oe,ae),ae>0&&addInsert(Q,X,Z.text),Z.forward(oe),te+=oe}let re=H[ee++];for(;te<re;){if(Z.done)break e;let oe=Math.min(Z.len,re-te);addSection(X,oe,-1),addSection(K,oe,Z.ins==-1?-1:Z.off==0?Z.ins:0),Z.forward(oe),te+=oe}}return{changes:new ChangeSet(X,Q),filtered:ChangeDesc.create(K)}}toJSON(){let H=[];for(let X=0;X<this.sections.length;X+=2){let Q=this.sections[X],K=this.sections[X+1];K<0?H.push(Q):K==0?H.push([Q]):H.push([Q].concat(this.inserted[X>>1].toJSON()))}return H}static of(H,X,Q){let K=[],Z=[],ee=0,te=null;function ne(oe=!1){if(!oe&&!K.length)return;ee<X&&addSection(K,X-ee,-1);let ae=new ChangeSet(K,Z);te=te?te.compose(ae.map(te)):ae,K=[],Z=[],ee=0}function re(oe){if(Array.isArray(oe))for(let ae of oe)re(ae);else if(oe instanceof ChangeSet){if(oe.length!=X)throw new RangeError(`Mismatched change set length (got ${oe.length}, expected ${X})`);ne(),te=te?te.compose(oe.map(te)):oe}else{let{from:ae,to:se=ae,insert:le}=oe;if(ae>se||ae<0||se>X)throw new RangeError(`Invalid change range ${ae} to ${se} (in doc of length ${X})`);let ce=le?typeof le=="string"?Text$2.of(le.split(Q||DefaultSplit)):le:Text$2.empty,de=ce.length;if(ae==se&&de==0)return;ae<ee&&ne(),ae>ee&&addSection(K,ae-ee,-1),addSection(K,se-ae,de),addInsert(Z,K,ce),ee=se}}return re(H),ne(!te),te}static empty(H){return new ChangeSet(H?[H,-1]:[],[])}static fromJSON(H){if(!Array.isArray(H))throw new RangeError("Invalid JSON representation of ChangeSet");let X=[],Q=[];for(let K=0;K<H.length;K++){let Z=H[K];if(typeof Z=="number")X.push(Z,-1);else{if(!Array.isArray(Z)||typeof Z[0]!="number"||Z.some((ee,te)=>te&&typeof ee!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(Z.length==1)X.push(Z[0],0);else{for(;Q.length<K;)Q.push(Text$2.empty);Q[K]=Text$2.of(Z.slice(1)),X.push(Z[0],Q[K].length)}}}return new ChangeSet(X,Q)}static createSet(H,X){return new ChangeSet(H,X)}}function addSection(G,H,X,Q=!1){if(H==0&&X<=0)return;let K=G.length-2;K>=0&&X<=0&&X==G[K+1]?G[K]+=H:K>=0&&H==0&&G[K]==0?G[K+1]+=X:Q?(G[K]+=H,G[K+1]+=X):G.push(H,X)}function addInsert(G,H,X){if(X.length==0)return;let Q=H.length-2>>1;if(Q<G.length)G[G.length-1]=G[G.length-1].append(X);else{for(;G.length<Q;)G.push(Text$2.empty);G.push(X)}}function iterChanges(G,H,X){let Q=G.inserted;for(let K=0,Z=0,ee=0;ee<G.sections.length;){let te=G.sections[ee++],ne=G.sections[ee++];if(ne<0)K+=te,Z+=te;else{let re=K,oe=Z,ae=Text$2.empty;for(;re+=te,oe+=ne,ne&&Q&&(ae=ae.append(Q[ee-2>>1])),!(X||ee==G.sections.length||G.sections[ee+1]<0);)te=G.sections[ee++],ne=G.sections[ee++];H(K,re,Z,oe,ae),K=re,Z=oe}}}function mapSet(G,H,X,Q=!1){let K=[],Z=Q?[]:null,ee=new SectionIter(G),te=new SectionIter(H);for(let ne=-1;;){if(ee.done&&te.len||te.done&&ee.len)throw new Error("Mismatched change set lengths");if(ee.ins==-1&&te.ins==-1){let re=Math.min(ee.len,te.len);addSection(K,re,-1),ee.forward(re),te.forward(re)}else if(te.ins>=0&&(ee.ins<0||ne==ee.i||ee.off==0&&(te.len<ee.len||te.len==ee.len&&!X))){let re=te.len;for(addSection(K,te.ins,-1);re;){let oe=Math.min(ee.len,re);ee.ins>=0&&ne<ee.i&&ee.len<=oe&&(addSection(K,0,ee.ins),Z&&addInsert(Z,K,ee.text),ne=ee.i),ee.forward(oe),re-=oe}te.next()}else if(ee.ins>=0){let re=0,oe=ee.len;for(;oe;)if(te.ins==-1){let ae=Math.min(oe,te.len);re+=ae,oe-=ae,te.forward(ae)}else if(te.ins==0&&te.len<oe)oe-=te.len,te.next();else break;addSection(K,re,ne<ee.i?ee.ins:0),Z&&ne<ee.i&&addInsert(Z,K,ee.text),ne=ee.i,ee.forward(ee.len-oe)}else{if(ee.done&&te.done)return Z?ChangeSet.createSet(K,Z):ChangeDesc.create(K);throw new Error("Mismatched change set lengths")}}}function composeSets(G,H,X=!1){let Q=[],K=X?[]:null,Z=new SectionIter(G),ee=new SectionIter(H);for(let te=!1;;){if(Z.done&&ee.done)return K?ChangeSet.createSet(Q,K):ChangeDesc.create(Q);if(Z.ins==0)addSection(Q,Z.len,0,te),Z.next();else if(ee.len==0&&!ee.done)addSection(Q,0,ee.ins,te),K&&addInsert(K,Q,ee.text),ee.next();else{if(Z.done||ee.done)throw new Error("Mismatched change set lengths");{let ne=Math.min(Z.len2,ee.len),re=Q.length;if(Z.ins==-1){let oe=ee.ins==-1?-1:ee.off?0:ee.ins;addSection(Q,ne,oe,te),K&&oe&&addInsert(K,Q,ee.text)}else ee.ins==-1?(addSection(Q,Z.off?0:Z.len,ne,te),K&&addInsert(K,Q,Z.textBit(ne))):(addSection(Q,Z.off?0:Z.len,ee.off?0:ee.ins,te),K&&!ee.off&&addInsert(K,Q,ee.text));te=(Z.ins>ne||ee.ins>=0&&ee.len>ne)&&(te||Q.length>re),Z.forward2(ne),ee.forward(ne)}}}}class SectionIter{constructor(H){this.set=H,this.i=0,this.next()}next(){let{sections:H}=this.set;this.i<H.length?(this.len=H[this.i++],this.ins=H[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:H}=this.set,X=this.i-2>>1;return X>=H.length?Text$2.empty:H[X]}textBit(H){let{inserted:X}=this.set,Q=this.i-2>>1;return Q>=X.length&&!H?Text$2.empty:X[Q].slice(this.off,H==null?void 0:this.off+H)}forward(H){H==this.len?this.next():(this.len-=H,this.off+=H)}forward2(H){this.ins==-1?this.forward(H):H==this.ins?this.next():(this.ins-=H,this.off+=H)}}class SelectionRange{constructor(H,X,Q){this.from=H,this.to=X,this.flags=Q}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let H=this.flags&7;return H==7?null:H}get goalColumn(){let H=this.flags>>6;return H==16777215?void 0:H}map(H,X=-1){let Q,K;return this.empty?Q=K=H.mapPos(this.from,X):(Q=H.mapPos(this.from,1),K=H.mapPos(this.to,-1)),Q==this.from&&K==this.to?this:new SelectionRange(Q,K,this.flags)}extend(H,X=H){if(H<=this.anchor&&X>=this.anchor)return EditorSelection.range(H,X);let Q=Math.abs(H-this.anchor)>Math.abs(X-this.anchor)?H:X;return EditorSelection.range(this.anchor,Q)}eq(H,X=!1){return this.anchor==H.anchor&&this.head==H.head&&(!X||!this.empty||this.assoc==H.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(H){if(!H||typeof H.anchor!="number"||typeof H.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return EditorSelection.range(H.anchor,H.head)}static create(H,X,Q){return new SelectionRange(H,X,Q)}}class EditorSelection{constructor(H,X){this.ranges=H,this.mainIndex=X}map(H,X=-1){return H.empty?this:EditorSelection.create(this.ranges.map(Q=>Q.map(H,X)),this.mainIndex)}eq(H,X=!1){if(this.ranges.length!=H.ranges.length||this.mainIndex!=H.mainIndex)return!1;for(let Q=0;Q<this.ranges.length;Q++)if(!this.ranges[Q].eq(H.ranges[Q],X))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new EditorSelection([this.main],0)}addRange(H,X=!0){return EditorSelection.create([H].concat(this.ranges),X?0:this.mainIndex+1)}replaceRange(H,X=this.mainIndex){let Q=this.ranges.slice();return Q[X]=H,EditorSelection.create(Q,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(H=>H.toJSON()),main:this.mainIndex}}static fromJSON(H){if(!H||!Array.isArray(H.ranges)||typeof H.main!="number"||H.main>=H.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new EditorSelection(H.ranges.map(X=>SelectionRange.fromJSON(X)),H.main)}static single(H,X=H){return new EditorSelection([EditorSelection.range(H,X)],0)}static create(H,X=0){if(H.length==0)throw new RangeError("A selection needs at least one range");for(let Q=0,K=0;K<H.length;K++){let Z=H[K];if(Z.empty?Z.from<=Q:Z.from<Q)return EditorSelection.normalized(H.slice(),X);Q=Z.to}return new EditorSelection(H,X)}static cursor(H,X=0,Q,K){return SelectionRange.create(H,H,(X==0?0:X<0?8:16)|(Q==null?7:Math.min(6,Q))|(K??16777215)<<6)}static range(H,X,Q,K){let Z=(Q??16777215)<<6|(K==null?7:Math.min(6,K));return X<H?SelectionRange.create(X,H,48|Z):SelectionRange.create(H,X,(X>H?8:0)|Z)}static normalized(H,X=0){let Q=H[X];H.sort((K,Z)=>K.from-Z.from),X=H.indexOf(Q);for(let K=1;K<H.length;K++){let Z=H[K],ee=H[K-1];if(Z.empty?Z.from<=ee.to:Z.from<ee.to){let te=ee.from,ne=Math.max(Z.to,ee.to);K<=X&&X--,H.splice(--K,2,Z.anchor>Z.head?EditorSelection.range(ne,te):EditorSelection.range(te,ne))}}return new EditorSelection(H,X)}}function checkSelection(G,H){for(let X of G.ranges)if(X.to>H)throw new RangeError("Selection points outside of document")}let nextID=0;class Facet{constructor(H,X,Q,K,Z){this.combine=H,this.compareInput=X,this.compare=Q,this.isStatic=K,this.id=nextID++,this.default=H([]),this.extensions=typeof Z=="function"?Z(this):Z}get reader(){return this}static define(H={}){return new Facet(H.combine||(X=>X),H.compareInput||((X,Q)=>X===Q),H.compare||(H.combine?(X,Q)=>X===Q:sameArray$1),!!H.static,H.enables)}of(H){return new FacetProvider([],this,0,H)}compute(H,X){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(H,this,1,X)}computeN(H,X){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(H,this,2,X)}from(H,X){return X||(X=Q=>Q),this.compute([H],Q=>X(Q.field(H)))}}function sameArray$1(G,H){return G==H||G.length==H.length&&G.every((X,Q)=>X===H[Q])}class FacetProvider{constructor(H,X,Q,K){this.dependencies=H,this.facet=X,this.type=Q,this.value=K,this.id=nextID++}dynamicSlot(H){var X;let Q=this.value,K=this.facet.compareInput,Z=this.id,ee=H[Z]>>1,te=this.type==2,ne=!1,re=!1,oe=[];for(let ae of this.dependencies)ae=="doc"?ne=!0:ae=="selection"?re=!0:((X=H[ae.id])!==null&&X!==void 0?X:1)&1||oe.push(H[ae.id]);return{create(ae){return ae.values[ee]=Q(ae),1},update(ae,se){if(ne&&se.docChanged||re&&(se.docChanged||se.selection)||ensureAll(ae,oe)){let le=Q(ae);if(te?!compareArray(le,ae.values[ee],K):!K(le,ae.values[ee]))return ae.values[ee]=le,1}return 0},reconfigure:(ae,se)=>{let le,ce=se.config.address[Z];if(ce!=null){let de=getAddr(se,ce);if(this.dependencies.every(ue=>ue instanceof Facet?se.facet(ue)===ae.facet(ue):ue instanceof StateField?se.field(ue,!1)==ae.field(ue,!1):!0)||(te?compareArray(le=Q(ae),de,K):K(le=Q(ae),de)))return ae.values[ee]=de,0}else le=Q(ae);return ae.values[ee]=le,1}}}}function compareArray(G,H,X){if(G.length!=H.length)return!1;for(let Q=0;Q<G.length;Q++)if(!X(G[Q],H[Q]))return!1;return!0}function ensureAll(G,H){let X=!1;for(let Q of H)ensureAddr(G,Q)&1&&(X=!0);return X}function dynamicFacetSlot(G,H,X){let Q=X.map(ne=>G[ne.id]),K=X.map(ne=>ne.type),Z=Q.filter(ne=>!(ne&1)),ee=G[H.id]>>1;function te(ne){let re=[];for(let oe=0;oe<Q.length;oe++){let ae=getAddr(ne,Q[oe]);if(K[oe]==2)for(let se of ae)re.push(se);else re.push(ae)}return H.combine(re)}return{create(ne){for(let re of Q)ensureAddr(ne,re);return ne.values[ee]=te(ne),1},update(ne,re){if(!ensureAll(ne,Z))return 0;let oe=te(ne);return H.compare(oe,ne.values[ee])?0:(ne.values[ee]=oe,1)},reconfigure(ne,re){let oe=ensureAll(ne,Q),ae=re.config.facets[H.id],se=re.facet(H);if(ae&&!oe&&sameArray$1(X,ae))return ne.values[ee]=se,0;let le=te(ne);return H.compare(le,se)?(ne.values[ee]=se,0):(ne.values[ee]=le,1)}}}const initField=Facet.define({static:!0});class StateField{constructor(H,X,Q,K,Z){this.id=H,this.createF=X,this.updateF=Q,this.compareF=K,this.spec=Z,this.provides=void 0}static define(H){let X=new StateField(nextID++,H.create,H.update,H.compare||((Q,K)=>Q===K),H);return H.provide&&(X.provides=H.provide(X)),X}create(H){let X=H.facet(initField).find(Q=>Q.field==this);return((X==null?void 0:X.create)||this.createF)(H)}slot(H){let X=H[this.id]>>1;return{create:Q=>(Q.values[X]=this.create(Q),1),update:(Q,K)=>{let Z=Q.values[X],ee=this.updateF(Z,K);return this.compareF(Z,ee)?0:(Q.values[X]=ee,1)},reconfigure:(Q,K)=>{let Z=Q.facet(initField),ee=K.facet(initField),te;return(te=Z.find(ne=>ne.field==this))&&te!=ee.find(ne=>ne.field==this)?(Q.values[X]=te.create(Q),1):K.config.address[this.id]!=null?(Q.values[X]=K.field(this),0):(Q.values[X]=this.create(Q),1)}}}init(H){return[this,initField.of({field:this,create:H})]}get extension(){return this}}const Prec_={lowest:4,low:3,default:2,high:1,highest:0};function prec(G){return H=>new PrecExtension(H,G)}const Prec={highest:prec(Prec_.highest),high:prec(Prec_.high),default:prec(Prec_.default),low:prec(Prec_.low),lowest:prec(Prec_.lowest)};class PrecExtension{constructor(H,X){this.inner=H,this.prec=X}}class Compartment{of(H){return new CompartmentInstance(this,H)}reconfigure(H){return Compartment.reconfigure.of({compartment:this,extension:H})}get(H){return H.config.compartments.get(this)}}class CompartmentInstance{constructor(H,X){this.compartment=H,this.inner=X}}class Configuration{constructor(H,X,Q,K,Z,ee){for(this.base=H,this.compartments=X,this.dynamicSlots=Q,this.address=K,this.staticValues=Z,this.facets=ee,this.statusTemplate=[];this.statusTemplate.length<Q.length;)this.statusTemplate.push(0)}staticFacet(H){let X=this.address[H.id];return X==null?H.default:this.staticValues[X>>1]}static resolve(H,X,Q){let K=[],Z=Object.create(null),ee=new Map;for(let se of flatten$1(H,X,ee))se instanceof StateField?K.push(se):(Z[se.facet.id]||(Z[se.facet.id]=[])).push(se);let te=Object.create(null),ne=[],re=[];for(let se of K)te[se.id]=re.length<<1,re.push(le=>se.slot(le));let oe=Q==null?void 0:Q.config.facets;for(let se in Z){let le=Z[se],ce=le[0].facet,de=oe&&oe[se]||[];if(le.every(ue=>ue.type==0))if(te[ce.id]=ne.length<<1|1,sameArray$1(de,le))ne.push(Q.facet(ce));else{let ue=ce.combine(le.map(he=>he.value));ne.push(Q&&ce.compare(ue,Q.facet(ce))?Q.facet(ce):ue)}else{for(let ue of le)ue.type==0?(te[ue.id]=ne.length<<1|1,ne.push(ue.value)):(te[ue.id]=re.length<<1,re.push(he=>ue.dynamicSlot(he)));te[ce.id]=re.length<<1,re.push(ue=>dynamicFacetSlot(ue,ce,le))}}let ae=re.map(se=>se(te));return new Configuration(H,ee,ae,te,ne,Z)}}function flatten$1(G,H,X){let Q=[[],[],[],[],[]],K=new Map;function Z(ee,te){let ne=K.get(ee);if(ne!=null){if(ne<=te)return;let re=Q[ne].indexOf(ee);re>-1&&Q[ne].splice(re,1),ee instanceof CompartmentInstance&&X.delete(ee.compartment)}if(K.set(ee,te),Array.isArray(ee))for(let re of ee)Z(re,te);else if(ee instanceof CompartmentInstance){if(X.has(ee.compartment))throw new RangeError("Duplicate use of compartment in extensions");let re=H.get(ee.compartment)||ee.inner;X.set(ee.compartment,re),Z(re,te)}else if(ee instanceof PrecExtension)Z(ee.inner,ee.prec);else if(ee instanceof StateField)Q[te].push(ee),ee.provides&&Z(ee.provides,te);else if(ee instanceof FacetProvider)Q[te].push(ee),ee.facet.extensions&&Z(ee.facet.extensions,Prec_.default);else{let re=ee.extension;if(!re)throw new Error(`Unrecognized extension value in extension set (${ee}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);Z(re,te)}}return Z(G,Prec_.default),Q.reduce((ee,te)=>ee.concat(te))}function ensureAddr(G,H){if(H&1)return 2;let X=H>>1,Q=G.status[X];if(Q==4)throw new Error("Cyclic dependency between fields and/or facets");if(Q&2)return Q;G.status[X]=4;let K=G.computeSlot(G,G.config.dynamicSlots[X]);return G.status[X]=2|K}function getAddr(G,H){return H&1?G.config.staticValues[H>>1]:G.values[H>>1]}const languageData=Facet.define(),allowMultipleSelections=Facet.define({combine:G=>G.some(H=>H),static:!0}),lineSeparator=Facet.define({combine:G=>G.length?G[0]:void 0,static:!0}),changeFilter=Facet.define(),transactionFilter=Facet.define(),transactionExtender=Facet.define(),readOnly=Facet.define({combine:G=>G.length?G[0]:!1});class Annotation{constructor(H,X){this.type=H,this.value=X}static define(){return new AnnotationType}}class AnnotationType{of(H){return new Annotation(this,H)}}class StateEffectType{constructor(H){this.map=H}of(H){return new StateEffect(this,H)}}class StateEffect{constructor(H,X){this.type=H,this.value=X}map(H){let X=this.type.map(this.value,H);return X===void 0?void 0:X==this.value?this:new StateEffect(this.type,X)}is(H){return this.type==H}static define(H={}){return new StateEffectType(H.map||(X=>X))}static mapEffects(H,X){if(!H.length)return H;let Q=[];for(let K of H){let Z=K.map(X);Z&&Q.push(Z)}return Q}}StateEffect.reconfigure=StateEffect.define(),StateEffect.appendConfig=StateEffect.define();class Transaction{constructor(H,X,Q,K,Z,ee){this.startState=H,this.changes=X,this.selection=Q,this.effects=K,this.annotations=Z,this.scrollIntoView=ee,this._doc=null,this._state=null,Q&&checkSelection(Q,X.newLength),Z.some(te=>te.type==Transaction.time)||(this.annotations=Z.concat(Transaction.time.of(Date.now())))}static create(H,X,Q,K,Z,ee){return new Transaction(H,X,Q,K,Z,ee)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(H){for(let X of this.annotations)if(X.type==H)return X.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(H){let X=this.annotation(Transaction.userEvent);return!!(X&&(X==H||X.length>H.length&&X.slice(0,H.length)==H&&X[H.length]=="."))}}Transaction.time=Annotation.define(),Transaction.userEvent=Annotation.define(),Transaction.addToHistory=Annotation.define(),Transaction.remote=Annotation.define();function joinRanges(G,H){let X=[];for(let Q=0,K=0;;){let Z,ee;if(Q<G.length&&(K==H.length||H[K]>=G[Q]))Z=G[Q++],ee=G[Q++];else if(K<H.length)Z=H[K++],ee=H[K++];else return X;!X.length||X[X.length-1]<Z?X.push(Z,ee):X[X.length-1]<ee&&(X[X.length-1]=ee)}}function mergeTransaction(G,H,X){var Q;let K,Z,ee;return X?(K=H.changes,Z=ChangeSet.empty(H.changes.length),ee=G.changes.compose(H.changes)):(K=H.changes.map(G.changes),Z=G.changes.mapDesc(H.changes,!0),ee=G.changes.compose(K)),{changes:ee,selection:H.selection?H.selection.map(Z):(Q=G.selection)===null||Q===void 0?void 0:Q.map(K),effects:StateEffect.mapEffects(G.effects,K).concat(StateEffect.mapEffects(H.effects,Z)),annotations:G.annotations.length?G.annotations.concat(H.annotations):H.annotations,scrollIntoView:G.scrollIntoView||H.scrollIntoView}}function resolveTransactionInner(G,H,X){let Q=H.selection,K=asArray$1(H.annotations);return H.userEvent&&(K=K.concat(Transaction.userEvent.of(H.userEvent))),{changes:H.changes instanceof ChangeSet?H.changes:ChangeSet.of(H.changes||[],X,G.facet(lineSeparator)),selection:Q&&(Q instanceof EditorSelection?Q:EditorSelection.single(Q.anchor,Q.head)),effects:asArray$1(H.effects),annotations:K,scrollIntoView:!!H.scrollIntoView}}function resolveTransaction(G,H,X){let Q=resolveTransactionInner(G,H.length?H[0]:{},G.doc.length);H.length&&H[0].filter===!1&&(X=!1);for(let Z=1;Z<H.length;Z++){H[Z].filter===!1&&(X=!1);let ee=!!H[Z].sequential;Q=mergeTransaction(Q,resolveTransactionInner(G,H[Z],ee?Q.changes.newLength:G.doc.length),ee)}let K=Transaction.create(G,Q.changes,Q.selection,Q.effects,Q.annotations,Q.scrollIntoView);return extendTransaction(X?filterTransaction(K):K)}function filterTransaction(G){let H=G.startState,X=!0;for(let K of H.facet(changeFilter)){let Z=K(G);if(Z===!1){X=!1;break}Array.isArray(Z)&&(X=X===!0?Z:joinRanges(X,Z))}if(X!==!0){let K,Z;if(X===!1)Z=G.changes.invertedDesc,K=ChangeSet.empty(H.doc.length);else{let ee=G.changes.filter(X);K=ee.changes,Z=ee.filtered.mapDesc(ee.changes).invertedDesc}G=Transaction.create(H,K,G.selection&&G.selection.map(Z),StateEffect.mapEffects(G.effects,Z),G.annotations,G.scrollIntoView)}let Q=H.facet(transactionFilter);for(let K=Q.length-1;K>=0;K--){let Z=Q[K](G);Z instanceof Transaction?G=Z:Array.isArray(Z)&&Z.length==1&&Z[0]instanceof Transaction?G=Z[0]:G=resolveTransaction(H,asArray$1(Z),!1)}return G}function extendTransaction(G){let H=G.startState,X=H.facet(transactionExtender),Q=G;for(let K=X.length-1;K>=0;K--){let Z=X[K](G);Z&&Object.keys(Z).length&&(Q=mergeTransaction(Q,resolveTransactionInner(H,Z,G.changes.newLength),!0))}return Q==G?G:Transaction.create(H,G.changes,G.selection,Q.effects,Q.annotations,Q.scrollIntoView)}const none$2=[];function asArray$1(G){return G==null?none$2:Array.isArray(G)?G:[G]}var CharCategory=function(G){return G[G.Word=0]="Word",G[G.Space=1]="Space",G[G.Other=2]="Other",G}(CharCategory||(CharCategory={}));const nonASCIISingleCaseWordChar=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let wordChar;try{wordChar=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(G){}function hasWordChar(G){if(wordChar)return wordChar.test(G);for(let H=0;H<G.length;H++){let X=G[H];if(/\w/.test(X)||X>"€"&&(X.toUpperCase()!=X.toLowerCase()||nonASCIISingleCaseWordChar.test(X)))return!0}return!1}function makeCategorizer(G){return H=>{if(!/\S/.test(H))return CharCategory.Space;if(hasWordChar(H))return CharCategory.Word;for(let X=0;X<G.length;X++)if(H.indexOf(G[X])>-1)return CharCategory.Word;return CharCategory.Other}}class EditorState{constructor(H,X,Q,K,Z,ee){this.config=H,this.doc=X,this.selection=Q,this.values=K,this.status=H.statusTemplate.slice(),this.computeSlot=Z,ee&&(ee._state=this);for(let te=0;te<this.config.dynamicSlots.length;te++)ensureAddr(this,te<<1);this.computeSlot=null}field(H,X=!0){let Q=this.config.address[H.id];if(Q==null){if(X)throw new RangeError("Field is not present in this state");return}return ensureAddr(this,Q),getAddr(this,Q)}update(...H){return resolveTransaction(this,H,!0)}applyTransaction(H){let X=this.config,{base:Q,compartments:K}=X;for(let te of H.effects)te.is(Compartment.reconfigure)?(X&&(K=new Map,X.compartments.forEach((ne,re)=>K.set(re,ne)),X=null),K.set(te.value.compartment,te.value.extension)):te.is(StateEffect.reconfigure)?(X=null,Q=te.value):te.is(StateEffect.appendConfig)&&(X=null,Q=asArray$1(Q).concat(te.value));let Z;X?Z=H.startState.values.slice():(X=Configuration.resolve(Q,K,this),Z=new EditorState(X,this.doc,this.selection,X.dynamicSlots.map(()=>null),(ne,re)=>re.reconfigure(ne,this),null).values);let ee=H.startState.facet(allowMultipleSelections)?H.newSelection:H.newSelection.asSingle();new EditorState(X,H.newDoc,ee,Z,(te,ne)=>ne.update(te,H),H)}replaceSelection(H){return typeof H=="string"&&(H=this.toText(H)),this.changeByRange(X=>({changes:{from:X.from,to:X.to,insert:H},range:EditorSelection.cursor(X.from+H.length)}))}changeByRange(H){let X=this.selection,Q=H(X.ranges[0]),K=this.changes(Q.changes),Z=[Q.range],ee=asArray$1(Q.effects);for(let te=1;te<X.ranges.length;te++){let ne=H(X.ranges[te]),re=this.changes(ne.changes),oe=re.map(K);for(let se=0;se<te;se++)Z[se]=Z[se].map(oe);let ae=K.mapDesc(re,!0);Z.push(ne.range.map(ae)),K=K.compose(oe),ee=StateEffect.mapEffects(ee,oe).concat(StateEffect.mapEffects(asArray$1(ne.effects),ae))}return{changes:K,selection:EditorSelection.create(Z,X.mainIndex),effects:ee}}changes(H=[]){return H instanceof ChangeSet?H:ChangeSet.of(H,this.doc.length,this.facet(EditorState.lineSeparator))}toText(H){return Text$2.of(H.split(this.facet(EditorState.lineSeparator)||DefaultSplit))}sliceDoc(H=0,X=this.doc.length){return this.doc.sliceString(H,X,this.lineBreak)}facet(H){let X=this.config.address[H.id];return X==null?H.default:(ensureAddr(this,X),getAddr(this,X))}toJSON(H){let X={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(H)for(let Q in H){let K=H[Q];K instanceof StateField&&this.config.address[K.id]!=null&&(X[Q]=K.spec.toJSON(this.field(H[Q]),this))}return X}static fromJSON(H,X={},Q){if(!H||typeof H.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let K=[];if(Q){for(let Z in Q)if(Object.prototype.hasOwnProperty.call(H,Z)){let ee=Q[Z],te=H[Z];K.push(ee.init(ne=>ee.spec.fromJSON(te,ne)))}}return EditorState.create({doc:H.doc,selection:EditorSelection.fromJSON(H.selection),extensions:X.extensions?K.concat([X.extensions]):K})}static create(H={}){let X=Configuration.resolve(H.extensions||[],new Map),Q=H.doc instanceof Text$2?H.doc:Text$2.of((H.doc||"").split(X.staticFacet(EditorState.lineSeparator)||DefaultSplit)),K=H.selection?H.selection instanceof EditorSelection?H.selection:EditorSelection.single(H.selection.anchor,H.selection.head):EditorSelection.single(0);return checkSelection(K,Q.length),X.staticFacet(allowMultipleSelections)||(K=K.asSingle()),new EditorState(X,Q,K,X.dynamicSlots.map(()=>null),(Z,ee)=>ee.create(Z),null)}get tabSize(){return this.facet(EditorState.tabSize)}get lineBreak(){return this.facet(EditorState.lineSeparator)||`
@@ -149,7 +149,7 @@ You passed in: '`+this.raw_options[Q]+"'");return ee},G.prototype._is_valid_sele
149
149
  `+$e:ve=we+$e),ue.print_newline(!1),ve&&(he.text=ve,he.whitespace_before="",he.newlines=0,ue.add_raw_token(he),ue.print_newline(!0))}},se.prototype._handle_tag_open=function(ue,he,fe,pe,ve){var me=this._get_tag_open_token(he);if((fe.is_unformatted||fe.is_content_unformatted)&&!fe.is_empty_element&&he.type===Q.TAG_OPEN&&!me.is_start_tag?(ue.add_raw_token(he),me.start_tag_token=this._tag_stack.try_pop(me.tag_name)):(ue.traverse_whitespace(he),this._set_tag_position(ue,he,me,fe,pe),me.is_inline_element||ue.set_wrap_point(),ue.print_token(he)),me.is_start_tag&&this._is_wrap_attributes_force){var ge=0,we;do we=ve.peek(ge),we.type===Q.ATTRIBUTE&&(me.attr_count+=1),ge+=1;while(we.type!==Q.EOF&&we.type!==Q.TAG_CLOSE)}return(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(me.alignment_size=he.text.length+1),!me.tag_complete&&!me.is_unformatted&&(ue.alignment_size=me.alignment_size),me};var le=function(ue,he,fe){if(this.parent=he||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",!fe)this.tag_complete=!0;else{var pe;this.tag_start_char=fe.text[0],this.text=fe.text,this.tag_start_char==="<"?(pe=fe.text.match(/^<([^\s>]*)/),this.tag_check=pe?pe[1]:""):(pe=fe.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=pe?pe[1]:"",(fe.text.startsWith("{{#>")||fe.text.startsWith("{{~#>"))&&this.tag_check[0]===">"&&(this.tag_check===">"&&fe.next!==null?this.tag_check=fe.next.text.split(" ")[0]:this.tag_check=fe.text.split(">")[1])),this.tag_check=this.tag_check.toLowerCase(),fe.type===Q.COMMENT&&(this.tag_complete=!0),this.is_start_tag=this.tag_check.charAt(0)!=="/",this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||fe.closed&&fe.closed.text==="/>";var ve=2;this.tag_start_char==="{"&&this.text.length>=3&&this.text.charAt(2)==="~"&&(ve=3),this.is_end_tag=this.is_end_tag||this.tag_start_char==="{"&&(!ue.indent_handlebars||this.text.length<3||/[^#\^]/.test(this.text.charAt(ve)))}};se.prototype._get_tag_open_token=function(ue){var he=new le(this._options,this._tag_stack.get_parser_token(),ue);return he.alignment_size=this._options.wrap_attributes_indent_size,he.is_end_tag=he.is_end_tag||re(he.tag_check,this._options.void_elements),he.is_empty_element=he.tag_complete||he.is_start_tag&&he.is_end_tag,he.is_unformatted=!he.tag_complete&&re(he.tag_check,this._options.unformatted),he.is_content_unformatted=!he.is_empty_element&&re(he.tag_check,this._options.content_unformatted),he.is_inline_element=re(he.tag_name,this._options.inline)||this._options.inline_custom_elements&&he.tag_name.includes("-")||he.tag_start_char==="{",he},se.prototype._set_tag_position=function(ue,he,fe,pe,ve){if(fe.is_empty_element||(fe.is_end_tag?fe.start_tag_token=this._tag_stack.try_pop(fe.tag_name):(this._do_optional_end_element(fe)&&(fe.is_inline_element||ue.print_newline(!1)),this._tag_stack.record_tag(fe),(fe.tag_name==="script"||fe.tag_name==="style")&&!(fe.is_unformatted||fe.is_content_unformatted)&&(fe.custom_beautifier_name=ne(fe.tag_check,he)))),re(fe.tag_check,this._options.extra_liners)&&(ue.print_newline(!1),ue._output.just_added_blankline()||ue.print_newline(!0)),fe.is_empty_element){if(fe.tag_start_char==="{"&&fe.tag_check==="else"){this._tag_stack.indent_to_tag(["if","unless","each"]),fe.indent_content=!0;var me=ue.current_line_has_match(/{{#if/);me||ue.print_newline(!1)}fe.tag_name==="!--"&&ve.type===Q.TAG_CLOSE&&pe.is_end_tag&&fe.text.indexOf(`
150
150
  `)===-1||(fe.is_inline_element||fe.is_unformatted||ue.print_newline(!1),this._calcluate_parent_multiline(ue,fe))}else if(fe.is_end_tag){var ge=!1;ge=fe.start_tag_token&&fe.start_tag_token.multiline_content,ge=ge||!fe.is_inline_element&&!(pe.is_inline_element||pe.is_unformatted)&&!(ve.type===Q.TAG_CLOSE&&fe.start_tag_token===pe)&&ve.type!=="TK_CONTENT",(fe.is_content_unformatted||fe.is_unformatted)&&(ge=!1),ge&&ue.print_newline(!1)}else fe.indent_content=!fe.custom_beautifier_name,fe.tag_start_char==="<"&&(fe.tag_name==="html"?fe.indent_content=this._options.indent_inner_html:fe.tag_name==="head"?fe.indent_content=this._options.indent_head_inner_html:fe.tag_name==="body"&&(fe.indent_content=this._options.indent_body_inner_html)),!(fe.is_inline_element||fe.is_unformatted)&&(ve.type!=="TK_CONTENT"||fe.is_content_unformatted)&&ue.print_newline(!1),this._calcluate_parent_multiline(ue,fe)},se.prototype._calcluate_parent_multiline=function(ue,he){he.parent&&ue._output.just_added_newline()&&!((he.is_inline_element||he.is_unformatted)&&he.parent.is_inline_element)&&(he.parent.multiline_content=!0)};var ce=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","menu","nav","ol","p","pre","section","table","ul"],de=["a","audio","del","ins","map","noscript","video"];return se.prototype._do_optional_end_element=function(ue){var he=null;if(!(ue.is_empty_element||!ue.is_start_tag||!ue.parent)){if(ue.tag_name==="body")he=he||this._tag_stack.try_pop("head");else if(ue.tag_name==="li")he=he||this._tag_stack.try_pop("li",["ol","ul","menu"]);else if(ue.tag_name==="dd"||ue.tag_name==="dt")he=he||this._tag_stack.try_pop("dt",["dl"]),he=he||this._tag_stack.try_pop("dd",["dl"]);else if(ue.parent.tag_name==="p"&&ce.indexOf(ue.tag_name)!==-1){var fe=ue.parent.parent;(!fe||de.indexOf(fe.tag_name)===-1)&&(he=he||this._tag_stack.try_pop("p"))}else ue.tag_name==="rp"||ue.tag_name==="rt"?(he=he||this._tag_stack.try_pop("rt",["ruby","rtc"]),he=he||this._tag_stack.try_pop("rp",["ruby","rtc"])):ue.tag_name==="optgroup"?he=he||this._tag_stack.try_pop("optgroup",["select"]):ue.tag_name==="option"?he=he||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):ue.tag_name==="colgroup"?he=he||this._tag_stack.try_pop("caption",["table"]):ue.tag_name==="thead"?(he=he||this._tag_stack.try_pop("caption",["table"]),he=he||this._tag_stack.try_pop("colgroup",["table"])):ue.tag_name==="tbody"||ue.tag_name==="tfoot"?(he=he||this._tag_stack.try_pop("caption",["table"]),he=he||this._tag_stack.try_pop("colgroup",["table"]),he=he||this._tag_stack.try_pop("thead",["table"]),he=he||this._tag_stack.try_pop("tbody",["table"])):ue.tag_name==="tr"?(he=he||this._tag_stack.try_pop("caption",["table"]),he=he||this._tag_stack.try_pop("colgroup",["table"]),he=he||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"])):(ue.tag_name==="th"||ue.tag_name==="td")&&(he=he||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]),he=he||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return ue.parent=this._tag_stack.get_parser_token(),he}},beautifier.Beautifier=se,beautifier}var html=html$1.exports,hasRequiredHtml;function requireHtml(){if(hasRequiredHtml)return html$1.exports;hasRequiredHtml=1;var G=requireBeautifier().Beautifier,H=requireOptions().Options;function X(Q,K,Z,ee){var te=new G(Q,K,Z,ee);return te.beautify()}return html$1.exports=X,html$1.exports.defaultOptions=function(){return new H},html$1.exports}var hasRequiredSrc;function requireSrc(){if(hasRequiredSrc)return src;hasRequiredSrc=1;var G=requireJavascript(),H=requireCss(),X=requireHtml();function Q(K,Z,ee,te){return ee=ee||G,te=te||H,X(K,Z,ee,te)}return Q.defaultOptions=X.defaultOptions,src.js=G,src.css=H,src.html=Q,src}var js=js$1.exports;(function(G){"use strict";function H(X,Q,K){var Z=function(ee,te){return X.js_beautify(ee,te)};return Z.js=X.js_beautify,Z.css=Q.css_beautify,Z.html=K.html_beautify,Z.js_beautify=X.js_beautify,Z.css_beautify=Q.css_beautify,Z.html_beautify=K.html_beautify,Z}(function(X){var Q=requireSrc();Q.js_beautify=Q.js,Q.css_beautify=Q.css,Q.html_beautify=Q.html,X.exports=H(Q,Q,Q)})(G)})(js$1);var jsExports=js$1.exports;const index$i=getDefaultExportFromCjs(jsExports),_hoisted_1$l7={class:"slw-window-form"},_hoisted_2$l1={key:0,class:"form-title"},_hoisted_3$hZ=["onClick"],_hoisted_4$ay=["onClick"],_hoisted_5$4W=["onClick"],_hoisted_6$1$=["onClick"],_hoisted_7$12=["onClick"],_hoisted_8$F=["onClick"],_hoisted_9$m=["onClick"],_hoisted_10$q=["onClick"],_hoisted_11$g=["onClick"],_sfc_main$k={__name:"window-form",props:{formConfig:{type:Object}},emits:["saveLoadingChange","gridReload","update:formConfig"],setup(__props,{expose:__expose,emit:__emit}){const props=__props,emits=__emit,axios=vue.inject("$axios"),hiprint=vue.inject("$hiprint"),silentHiprint=vue.inject("$silentHiprint",""),serverPrint=vue.inject("$serverPrint"),showPreView=vue.inject("$showPreView"),showPreViewClose=vue.inject("$showPreViewClose"),preViewCloseCallback=vue.inject("$preViewCloseCallback"),toggleModalLoading=vue.inject("$toggleModalLoading"),$Modal=vue.inject("$modal"),$qs=vue.inject("$qs"),$ElMessage=vue.inject("$ElMessage"),$vxeMessage=vue.inject("$vxeMessage"),base64Encode=vue.inject("$base64Encode"),base64Decode=vue.inject("$base64Decode"),$vxeConfirm=vue.inject("$vxeConfirm"),$T=vue.inject("$t"),openModal=vue.inject("$openModal"),closeModal=vue.inject("$closeModal"),openDrawer=vue.inject("$openDrawer"),closeDrawer=vue.inject("$closeDrawer"),focusInput=vue.inject("$focusInput"),evalDefaultValue=vue.inject("$evalDefaultValue");let regionMap=vue.inject("$regionMap");const ElMessageBox=vue.inject("$ElMessageBox"),addOnActivatedFun=vue.inject("$addOnActivatedFun"),debounce=vue.inject("$debounce"),router=vue.inject("$router"),$externalFun=vue.inject("$externalFun"),endEdit=vue.inject("$endEdit"),route=vueRouter.useRoute();let success=vue.inject("$success",null),error=vue.inject("$error",null);const $components=vue.inject("$components"),$componentsPath=vue.inject("$componentsPath"),executeFun=vue.inject("$executeFun"),addGridClickEvent=vue.inject("$addGridClickEvent"),$VXETableConfig=vue.inject("$VXETableConfig"),isActivatedFun=vue.inject("$isActivatedFun"),closePreModal=vue.inject("$closePreModal");let formConfig=useVModel$1(props,"formConfig",emits),gridData=vue.ref(formConfig.value),formData=vue.ref({}),fieldColumnMap=vue.ref({}),formDataClone=vue.ref({}),formLoading=vue.ref(!1),queryTimeout=vue.ref(null);const $modal=$Modal;let uploadConfig=vue.ref({show:!1,dataId:"",regionId:"",isHaveImgField:!1,isHaveFileField:!1,isHavePicUploadBtn:!1,openType:"",fileList:[]}),fieldPreviewMap=vue.ref({}),editorFocusField=vue.ref("");const localEditorViews=vue.shallowRef({}),handleReady=(G,H)=>{localEditorViews[G]=H.view};let codemirrorDrawer=vue.ref(!1),codemirrorTitle=vue.ref(""),codemirrorCol=vue.ref(null),fileUploadFinishedMap=vue.ref({});const $Message=vue.ref({success(G){success(G)},error(G){error(G)}}),$message=$Message.value,showModal=(G,H,X)=>{openModal(G,H,X)},getCodeLanguagePlugin=G=>({javascript:javascript$2(),sql:sql(),css:css$4()})[G],codeBeautifyConfig={indent_size:2},evalEvent=(curEvent,...eventParams)=>{if(curEvent){if(typeof curEvent=="function")return curEvent(...eventParams);try{eventParams.length&&(curEvent=codeTranslationV3(curEvent));let fun=curEvent.replaceAll("this.$data.","").replaceAll("this.","");if(typeof fun=="function"||fun.indexOf("function")>-1)return typeof fun!="function"&&eval("fun = "+fun),fun(...eventParams);eval(fun)}catch(G){console.error(G,formConfig.value.params.windowTitle,eventParams.at(-1))}}},codeTranslationV3=G=>{let X=G.substring(G.indexOf("(")+1,G.indexOf(")")).split(",")[0].replace(" ","");if(X=="form"||X=="grid"){let Q=G.split(`
151
151
  `);if(/function\s*\((.*?)\)/.test(Q[0])){let Z=new RegExp(`[\\s\\,]{0,}${X}[\\s\\,]{0,}`,"g");Q[0]=Q[0].replace(Z,"")}G=Q.join(`
152
- `);let K=new RegExp(`${X}\\.`,"g");G=G.replace(K,"")}return G},displayLogic=(displayStr,datax)=>{let data=Object.assign({},datax),result=!1;try{for(let G in data)displayStr=displayStr.replace(new RegExp("@"+G+"@","gi"),typeof data[G]=="string"?"'"+data[G]+"'":data[G]);result=eval(displayStr.replaceAll("this.$data.","").replaceAll("this.",""))}catch(G){result=!1}return result},preTag=vue.computed(()=>formConfig.value.params.preTag||""),editRules=vue.computed(()=>{let G={};if(Object.keys(formConfig.value.editRules).length>0){let H=Object.keys(formConfig.value.editRules);for(let X=0;X<H.length;X++){let Q=formConfig.value.editRules[H[X]],K=formConfig.value.columns.filter(Z=>Z.field==H[X])[0];if(K){let Z=K.editRender.props.notnullLogic;Z&&(displayLogic(Z,{...formData.value,...assembleParentData()})&&!Q[0].required?Q.unshift({required:!0,message:`${K.title}不能为空!`}):!displayLogic(Z,{...formData.value,...assembleParentData()})&&Q[0].required&&(Q.shift(),form.value.updateStatus({field:K.field}))),Q[0].required&&(K.dataType=="TABLE"||K.dataType=="LIST")&&(Q[0].validator=({itemValue:ee,rule:te,rules:ne,data:re,field:oe})=>{if(!re[oe]||re[oe].length==0)return new Error(te.message)}),G[H[X]]=Q}}}return G}),buttons=vue.computed(()=>formConfig.value.toolbarConfig.buttons.filter(G=>{let H=!0;return G.displayLogic&&(H=displayLogic(G.displayLogic,{...formData.value,...assembleParentData()})),typeof G.code<"u"&&G.type!="EDIT"&&G.type!="DELETE"&&G.type!="NEW"&&!(uploadConfig.value.isHaveImgField&&G.type=="PIC_UPLOAD")&&H})),formSelectMap=vue.computed(()=>{let G={};return formConfig.value.columns.forEach(H=>{H.itemRender&&H.itemRender.props._select_id&&(G[H.id]=H)}),G}),readOnlyColumnMap=vue.computed(()=>{let G={};return formConfig.value.columns.forEach(H=>{H.editRender&&H.editRender.props.readonlyLogic&&(G[H.field]=H)}),G}),subQueryFields=vue.computed(()=>formConfig.value.columns.filter(G=>G.dataType==="SQL"&&G.displayForm)),computeSpan=vue.computed(()=>G=>G.dataType==="EDITOR"||G.dataType==="TEXT"?24:G.fwidth?Number(G.fwidth)>24?24:Number(G.fwidth):12),computeItemClass=vue.computed(()=>G=>{var H;if(formConfig.value.openType==="view"&&((H=G.itemRender)==null?void 0:H.name)!=="ElInput")return"item-readonly"}),computeItemTitle=vue.computed(()=>G=>{if(G.itemRender.props.unitName){const H=G.title.match(/([^()]+)\(/);return $T(H?H[1]:G.title)}else return $T(G.title)}),computeEditorBtnStyle=vue.computed(()=>G=>editorFocusField.value==G?"background: rgba(64, 158, 255, 0.5)":""),computeOptBtnStyle=vue.computed(()=>G=>{let H="";if(G=="top")switch(formConfig.value.params.buttonPosition){case"TOP_LEFT":H="justify-content: flex-start;";break;case"TOP_CENTER":H="justify-content: center;",computeOnlyShowBtn.value&&(H="justify-content: center;height: 100%;align-items: center;");break;case"TOP_RIGHT":H="justify-content: flex-end;";break}else if(G=="bottom")switch(formConfig.value.params.buttonPosition){case"BOTTOM_LEFT":H="left";break;case"BOTTOM_CENTER":H="center";break;case"BOTTOM_RIGHT":H="right";break}return H}),computeOnlyShowBtn=vue.computed(()=>{let G=!1;return formConfig.value.columns.filter(X=>X.displayForm).length==0&&(G=!0),G}),computeTitleWidth=vue.computed(()=>formConfig.value.params.formTitleWidth?formConfig.value.params.formTitleWidth:"115"),computeItemGroup=vue.computed(()=>G=>formConfig.value.params.setColumnsGroup?G.children:formConfig.value.columns);vue.onMounted(async()=>{var H,X,Q,K,Z;if(formConfig.value.params.linkUrl)return;formLoading.value=!0,formConfig.value.params.columnsGroup=[{title:"",children:[]}],formConfig.value.columns.forEach((ee,te,ne)=>{ee.hasOwnProperty("field")&&!ee.hasOwnProperty("treeNode")&&(ee.events.change=onFieldChange,ee.events.keyup=onFieldEnter,ee.events.click=onFieldClick),(ee==null?void 0:ee.dataType)==="IMG"&&(uploadConfig.value.isHaveImgField=!0,fieldPreviewMap.value[ee.field]=[]),(ee==null?void 0:ee.dataType)==="FILE"&&(uploadConfig.value.isHaveFileField=!0,fieldPreviewMap.value[ee.field]=[],fileUploadFinishedMap.value[ee.field]=!0)}),await evalEvent(formConfig.value.params.formEvents.dataInit,"FORM","表单数据初始化前"),formConfig.value.params.parentRegionId&&addGridClickEvent(rowClickEmitFun);let G=!0;if(formConfig.value.formData){formData.value=formConfig.value.formData,G=formConfig.value.openType==="new",formConfig.value.openType==="view"&&(formConfig.value.columns=XEUtils.clone(formConfig.value.columns,!0));for(const ee of formConfig.value.columns)formConfig.value.openType==="view"&&((H=ee.itemRender)==null?void 0:H.name)=="ElInput"&&(ee.itemRender.props.readonly=!0),ee.dataType==="EDITOR"?formData.value[ee.field]==null?formData.value[ee.field]="":ee.language=="javascript"&&(formData.value[ee.field]=jsExports.js_beautify(formData.value[ee.field],codeBeautifyConfig)):(X=ee.itemRender)!=null&&X.name.includes("Select")&&ee.itemRender.props.multiple?formData.value[ee.field]==""?formData.value[ee.field]=[]:typeof formData.value[ee.field]=="string"&&(formData.value[ee.field]=(Q=formData.value[ee.field])==null?void 0:Q.split(",")):(ee.dataType==="FILE"||ee.dataType==="IMG")&&(formData.value[ee.field]=[])}else{for(const ee of formConfig.value.columns)ee.type!=="seq"&&ee.type!=="checkbox"&&(formData.value[ee.field]="",(K=ee.itemRender)!=null&&K.name.includes("Select")&&ee.itemRender.props.multiple?formData.value[ee.field]=formData.value[ee.field]==""?[]:(Z=formData.value[ee.field])==null?void 0:Z.split(","):(ee.dataType==="FILE"||ee.dataType==="IMG")&&(formData.value[ee.field]=[]));formConfig.value.formData=formData.value}uploadConfig.value.dataId=formData.value[formConfig.value.rowConfig.keyField],uploadConfig.value.regionId=formConfig.value.params._region_id,uploadConfig.value.isHavePicUploadBtn=formConfig.value.params.isHavePicUploadBtn,uploadConfig.value.openType=formConfig.value.openType,uploadConfig.value.config=formConfig.value.params.pictureUploadConfig,computeNewLine(),formData.value._region_id=formConfig.value.params._region_id,await formInitData(formData.value,formConfig.value.params._region_id,G),form.value.params=formConfig.value.params,formConfig.value.params.queryParams&&Object.keys(formConfig.value.params.queryParams).length>0&&formConfig.value.params.queryParams.unQuery!==!0&&searchData(formConfig.value.params.queryParams),formConfig.value.columns.map(ee=>{var te;ee.hasOwnProperty("field")&&!ee.hasOwnProperty("treeNode")&&(fieldColumnMap.value[ee.field]=ee),(te=ee==null?void 0:ee.itemRender)!=null&&te.props&&(ee.itemRender.props.title=vue.computed(()=>formData.value["_"+ee.field+"_NAME"]))}),!formConfig.value.params.linkUrl&&(formConfig.value.type==="FORM"?(regionMap.value[formConfig.value.params.code+"-"+preTag.value]=form.value,regionMap.value[formConfig.value.params.code]=form.value):regionMap.value["Edit-"+formConfig.value.params.code+"-"+preTag.value]=form.value,throwFunction(form.value),await evalEvent(formConfig.value.params.formEvents.regionInit,"FORM","表单页面初始化触发"),vue.nextTick(()=>{formDataClone.value=XEUtils.clone(vue.toRaw(formData.value),!0)}),formLoading.value=!1)}),vue.onUnmounted(()=>{});const search=G=>{searchData(G)},queryAfterList=[],addProxyQueryAfterFun=G=>{queryAfterList.push(G)},searchData=G=>{let H={};formConfig.value.formConfig.items&&formConfig.value.formConfig.items.forEach(X=>{X.field&&(H[X.field]=X.itemRender.defaultValue?X.itemRender.defaultValue:"")}),H._region_id=formConfig.value.params._region_id,formConfig.value.params.parentRowId&&(H[formConfig.value.params.parentRowId]=formConfig.value.params.parentRowIdValue),G?H={...H,...G}:formConfig.value.params.queryParams&&Object.keys(formConfig.value.params.queryParams).forEach(X=>{let Q=X.toLowerCase();H.hasOwnProperty(Q)&&(H[Q]=formConfig.value.params.queryParams[X])}),axios.post("/window/data/"+formConfig.value.params.datasourceCode,H).then(async X=>{if(X&&X.data&&X.data.result&&X.data.data){if(X.data.data[0]){if(formData.value={...formData.value,...X.data.data[0]},Object.keys(formSelectMap.value).length>0)for(const Z of Object.keys(formSelectMap.value)){let ee=formSelectMap.value[Z];ee.itemRender.props.multiple&&formData.value[ee.field]&&(formData.value[ee.field]=formData.value[ee.field].split(","))}queryAfterList&&queryAfterList.length>0&&queryAfterList.forEach(Z=>{if(Z&&typeof Z=="function")try{Z(formData.value,"FORM")}catch(ee){console.error(ee,gridData.value.params.windowTitle,"表单查询后方法")}})}let Q=formData.value,K={rowId:formConfig.value.rowConfig.keyField,rowIdValue:!Q||!Q.hasOwnProperty(formConfig.value.rowConfig.keyField)?"":Q[formConfig.value.rowConfig.keyField],preTag:preTag.value};rowClickEmitFun(K,formConfig.value.params._region_id)}})},rowClickEmitFun=(G,H)=>{formConfig.value.params.parentRegionId===H&&(G?preTag.value===G.preTag&&(formConfig.value.params.parentRowId=G.rowId,formConfig.value.params.parentRowIdValue=G.rowIdValue):(formConfig.value.params.parentRowId=null,formConfig.value.params.parentRowIdValue=null),searchData())},displayLogicEvent=G=>displayLogic(G.item.itemRender.props.displayLogic,{...G.data,...assembleParentData()}),form=vue.ref(),submitData=G=>{form.value.validate(async H=>{var X;if(typeof H>"u"){for(let te in fileUploadFinishedMap.value)if(!fileUploadFinishedMap.value[te]){$message.error("请等待文件上传完成后再提交表单!"),emits("saveLoadingChange");return}let Q=await evalEvent(formConfig.value.params.formEvents.beginSubmit,formData.value,"表单提交前触发");if(typeof Q<"u"&&Q===!1){emits("saveLoadingChange");return}let K="/window/submit";formConfig.value.openType==="new"&&formConfig.value.params.newRequestPath&&(K=formConfig.value.params.newRequestPath),formConfig.value.openType==="edit"&&formConfig.value.params.editRequestPath&&(K=formConfig.value.params.editRequestPath),formConfig.value.openType==="submit"&&formConfig.value.params.submitRequestPath&&(K=formConfig.value.params.submitRequestPath);let Z=XEUtils.clone(vue.toRaw(formData.value),!0);for(let te in Z)Z[te]instanceof Array&&(Z[te]=Z[te].toString());formConfig.value.params.addChildData&&gridData.value.params.childRegionCode.forEach(te=>{let ne=getRegion(te);Z[`_${te.toUpperCase()}`]=ne.getTableData().tableData.map(re=>{let oe=XEUtils.clone(re,!0);formConfig.value.openType==="new"&&delete oe[ne.rowConfig.keyField];for(let ae in oe)oe[ae]instanceof Array&&(oe[ae]=oe[ae].toString());return oe})});const ee=((X=$VXETableConfig==null?void 0:$VXETableConfig.form)==null?void 0:X.submitContentType)||"json";axios.post(K,Z,ee).then(te=>{emits("saveLoadingChange"),typeof G<"u"&&G instanceof Object&&(formConfig.value.showEdit=!te.data.result,showPreViewClose()),te.data.result?($message.success(te.data.msg),(uploadConfig.value.isHaveImgField||uploadConfig.value.isHaveFileField)&&!uploadConfig.value.dataId&&updateFileDataId(te.data.id),evalEvent(formConfig.value.params.formEvents.afterSubmit,formData.value,te.data,"表单提交后触发"),typeof G<"u"&&(G instanceof Object||G===!0)&&emits("gridReload",formData.value._region_id,formConfig.value.openType==="new"?0:null),endEdit&&endEdit(formData.value,gridData.value.rowConfig.keyField,curRegion)):$message.error(te.data.msg),vue.nextTick(()=>{formDataClone.value=XEUtils.clone(vue.toRaw(formData.value),!0)})}).catch(te=>{emits("saveLoadingChange"),console.error(te)}).finally(()=>{})}else{for(let Q in Object.values(H)){const K=Object.values(H)[Q];setTimeout(()=>{$message.error(K[0][0].rule.message)},Q*800)}emits("saveLoadingChange")}})},btnClickFun=async G=>{G.loading=!0;try{switch(G.type){case"EVENT":G.windowId?showPreView(G.windowId,G.name):G.clickFunction&&await evalEvent("async "+G.clickFunction,formData.value,G,"按钮点击事件"),G.loading=!1;break;case"SUBMIT":G.requestPath&&(formConfig.value.params.submitRequestPath=G.requestPath),formConfig.value.openType="submit",formData.value._button_id=G._button_id,G.loading=!1,submitData(G);break;case"PIC_UPLOAD":uploadConfig.value.show=!uploadConfig.value.show,uploadConfig.value.dataId=formData.value[formConfig.value.rowConfig.keyField],uploadConfig.value.regionId=formConfig.value.params._region_id;break}G.loading=!1}catch(H){console.error(H),G.loading=!1}},setData=G=>{if(G)for(let H in G)formData.value[H.toUpperCase()]=G[H]},setInitData=G=>{setData(G)},setValue=async(G,H,X)=>{let Q=formConfig.value.columns.filter(K=>K.field==G.toUpperCase())[0];if(formData.value[G.toUpperCase()]=H,X){let K={data:formData.value,item:Q,property:Q.field};onFieldChange(K)}},getData=()=>formData.value,getSelectRecord=()=>formData.value,getForm=()=>form.value,checkSubmitData=async()=>{let G=!1;return await form.value.validate().then(H=>{G=typeof H>"u"}),G},getValue=G=>formData.value[G.toUpperCase()],setFieldValue=(G,H)=>{formData.value[G.toUpperCase()]=H},getParentRegion=()=>{let G=regionMap.value[formConfig.value.params.parentCode+"-"+preTag.value];return G||regionMap.value[formConfig.value.params.parentCode]},getParentData=()=>{let G=getParentRegion();return G?G.getCurrentRecord():null},hide=G=>{fieldColumnMap.value[G].displayForm=!1},resetForm=G=>{var H;form.value.reset();for(let X in formData.value){let Q=formConfig.value.columns.filter(K=>K.field==X)[0];Q&&(G&&((H=Q.itemRender)!=null&&H.defaultValue)?formData.value[X]=Q.itemRender.defaultValue:["LONG","PLONG","DOUBLE"].includes(Q.dataType)&&(formData.value[X]=0))}},clearData=()=>{for(let G in formData.value)formData.value[G]=""},validateDataChg=()=>!XEUtils.isEqual(vue.toRaw(formData.value),vue.toRaw(formDataClone.value)),getRegion=G=>{let H=regionMap.value[G+"-"+preTag.value];return H||regionMap.value[G]},formInitData=async(G,H,X)=>{if(X){let Z={},ee={};formConfig.value.params.queryParams&&Object.keys(formConfig.value.params.queryParams).forEach(te=>{Z["PARAMS."+te.toUpperCase()]=formConfig.value.params.queryParams[te]}),formConfig.value.params.parentData&&Object.keys(formConfig.value.params.parentData).forEach(te=>{ee["PARENT."+te.toUpperCase()]=formConfig.value.params.parentData[te]}),await axios.post("window/defaultValue",$qs.stringify({_region_id:H})).then(te=>{if(te.data.result&&te.data.data)for(let ne in te.data.data){let re=te.data.data[ne]=="null"?null:te.data.data[ne],oe=formConfig.value.columns.filter(ae=>ae.field==ne)[0];oe&&["LONG","PLONG","DOUBLE"].includes(oe.dataType)&&(re=Number(re)),G[ne]=evalDefaultValue(re,{...G,...Z,...ee}),G[ne]&&(oe.itemRender.defaultValue=G[ne],onFieldChange({data:G,item:oe,property:ne}))}})}const Q=[],K=[];for(const Z of Object.keys(formSelectMap.value)){let ee=formSelectMap.value[Z];if(ee.displayForm){if(ee.dataType==="TREE")await axios.post("/window/selector",$qs.stringify({...G,_field_id:ee.id,_select_id:ee.selectorId})).then(te=>{te.data.result&&te.data.data&&(ee.itemRender.props.treeData=te.data.data,ee.itemRender.name=="ElCascader"&&(ee.itemRender.props.options=te.data.data),ee.itemRender.props.props||(ee.itemRender.props.props={}),ee.itemRender.props.props.label=(ne,re)=>ne.label||ne.title)});else if(ee.remoteSearch){ee.itemRender.options=[],ee.itemRender.props.remoteMethod=debounce(async ne=>{ne&&(ee.itemRender.props.loading=!0,ee.itemRender.options=await remoteMethod(ne,ee.id,ee.selectorId),ee.itemRender.props.loading=!1)},1e3);let te=G["_"+ee.field+"_NAME"];if(G[ee.field]&&te){ee.itemRender.options=await remoteMethod(te,ee.id,ee.selectorId);let ne=ee.itemRender.options;formConfig.value.openType==="new"&&ee.visible&&!G[ee.field]&&ne.length>0&&(G[ee.field]=ne[0].VALUE)}else G[ee.field]&&!te&&(ee.itemRender.options=await remoteMethod(G[ee.field],ee.id,ee.selectorId,"$_value"))}else if(typeof ee.selectorId<"u")ee.itemRender.props.loading=!0,Q.push(axios.post("window/selector",$qs.stringify({...G,_field_id:ee.id,_select_id:ee.selectorId}))),K.push(ee);else if(formConfig.value.openType==="new"&&ee.visible&&ee.editRender.options&&ee.editRender.options.length>0){if(G[ee.field]=="null"||G[ee.field]==null)G[ee.field]=null;else if(!G[ee.field]){G[ee.field]=ee.editRender.options[0].VALUE;let te={data:G,item:ee,property:ee.field};onFieldChange(te)}}}}await Promise.all(Q).then(Z=>{Z.forEach((ee,te)=>{let ne=K[te];if(ee.data.result&&ee.data.data){if(ne.itemRender.options=ee.data.data.map(re=>Object.assign({value:re.VALUE,label:re.NAME},re)),formConfig.value.openType==="new"&&ne.visible&&ee.data.data.length>0){if(G[ne.field]=="null"||G[ne.field]==null)G[ne.field]=null;else if(!G[ne.field]){G[ne.field]=ee.data.data[0].VALUE;let re={data:G,item:ne,property:ne.field};onFieldChange(re)}}ne.itemRender.props.loading=!1}})}),readonlyLogic()},remoteMethod=async(G,H,X,Q="$_f_value")=>{let K=[],Z={_region_id:formConfig.value.params._region_id,_field_id:H,_select_id:X};Z[Q]=G;let ee=await axios.post("/window/selector",$qs.stringify(Z));if(ee.data.result&&ee.data.data)return K=ee.data.data.map(te=>Object.assign({value:te.VALUE,label:te.NAME},te)),K},readonlyLogic=()=>{if(Object.keys(readOnlyColumnMap.value).length>0){let G=Object.keys(readOnlyColumnMap.value);for(let H=0;H<G.length;H++){let X=readOnlyColumnMap.value[G[H]],Q=Object.assign({},formData.value),K=displayLogic(X.itemRender.props.readonlyLogic,{...Q,...assembleParentData()});X.itemRender.props.readonly=K,(X.dataType==="LIST"||X.dataType==="TABLE"||X.dataType==="TREE"||X.dataType==="BOOL")&&(X.itemRender.props.disabled=K)}}},onFieldChange=G=>{var ee;let H=G.data[G.property],X=[];const Q=G.item.itemRender.props,K=Q._field_id,Z="_"+G.property+"_NAME";if(formSelectMap.value[K]){if(Q.dataType==="TREE"&&Q.treeData){let te=Q.treeData;if(G.item.itemRender.name=="ElCascader"&&H instanceof Array)Q.props.multiple?(formConfig.value.formData[G.property]=[],formConfig.value.formData[Z]="",H.forEach((ne,re)=>{ne.forEach((oe,ae)=>{let se=Object.assign({},getSelectedTreeDataOptionByValue(te,oe));ae==0?(X.findIndex(le=>le.value==oe)==-1&&X.push(se),formConfig.value.formData[Z]+=se.label):formConfig.value.formData[Z]+=`/${se.label}`}),re!=H.length-1&&(formConfig.value.formData[Z]+=","),formConfig.value.formData[G.property].push(ne[ne.length-1])})):(H=H[H.length-1],X=Object.assign({},getSelectedTreeDataOptionByValue(te,H)),Object.keys(X).length>0?(formConfig.value.formData[G.property]=X.value,formConfig.value.formData[Z]=X.label):H==null&&(formConfig.value.formData[G.property]="",formConfig.value.formData[Z]=""));else if(Q.multiple){if(H instanceof Array)formConfig.value.formData[G.property]=H,formConfig.value.formData[Z]="",H.forEach((ne,re)=>{let oe=Object.assign({},getSelectedTreeDataOptionByValue(te,ne));re==0?formConfig.value.formData[Z]=oe.label||oe.title:formConfig.value.formData[Z]+=`,${oe.label||oe.title}`});else if(X=Object.assign({},getSelectedTreeDataOptionByValue(te,H)),Object.keys(X).length>0)if(G.checked)formConfig.value.formData[Z]?formConfig.value.formData[Z].includes(X.label||X.title)||(formConfig.value.formData[Z]+=`,${X.label||X.title}`):formConfig.value.formData[Z]=X.label||X.title;else{let ne=formConfig.value.formData[Z].split(","),re=X.label||X.title;ne=ne.filter(oe=>oe!==re),formConfig.value.formData[Z]=ne.join(",")}}else X=Object.assign({},getSelectedTreeDataOptionByValue(te,H)),Object.keys(X).length>0?(formConfig.value.formData[G.property]=X.value,formConfig.value.formData[Z]=X.label||X.title):(formConfig.value.formData[G.property]="",formConfig.value.formData[Z]="")}else if(formSelectMap.value[K].itemRender.options){let te=formSelectMap.value[K].itemRender.options;if(formConfig.value.formData[Z]="",formSelectMap.value[K].itemRender.props.multiple)H&&H.forEach(ne=>{let re=te.filter(oe=>oe.value==ne)[0];re&&(formConfig.value.formData[Z]?formConfig.value.formData[Z]+=`,${re.label}`:formConfig.value.formData[Z]=re.label)});else if(H){const ne=te.filter(re=>re.value==H)[0];ne&&(X=ne,formConfig.value.formData[Z]=ne.label)}}}evalEvent(Q.changeFunction,H,X,"字段值更改方法"),readonlyLogic(),handleSelectTableField(G.property),(ee=formConfig.value.params.sqlLogicListenField)!=null&&ee.includes(G.property)&&subQueryFields.value.forEach(te=>{getSubQueryData(G.data._region_id,te.id,te.field)}),computeNewLine()},getSubQueryData=(G,H,X)=>{let Q={...formData.value,_region_id:G,_field_id:H};return Object.keys(Q).forEach(K=>{typeof Q[K]>"u"&&(Q[K]="")}),delete Q._button_id,delete Q._select_id,axios.post("window/getSubQueryValue",Q).then(K=>{K.data.result&&(formData.value[X]=K.data.value)})},onFieldEnter=(G,H)=>{if(H.key==="Enter"&&G.item.itemRender.props.enterFunction){let X=G.data[G.property];evalEvent(G.item.itemRender.props.enterFunction,X,"字段回车事件")}},onFieldClick=(G,H)=>{if(G.item.itemRender.props.clickFunction){let X=G.data[G.property];evalEvent(G.item.itemRender.props.clickFunction,X,G.field,"字段点击事件")}},onScanIconClick=G=>{if(G.itemRender.props.clickFunction){let H=formData.value[G.field];evalEvent(G.itemRender.props.clickFunction,H,G.field,"扫码图标点击事件")}},onIconInputEnter=(G,H)=>{H.key==="Enter"&&G.itemRender.props.enterFunction&&evalEvent(G.itemRender.props.enterFunction,formData.value[G.field],G.field,"图标输入框回车事件")},onIconClick=G=>{G.itemRender.props.iconClickFun&&evalEvent(G.itemRender.props.iconClickFun,formData.value[G.field],G.field,"图标输入框图标点击事件")},onIconInputChange=G=>{let H={data:formData.value,field:G.field,property:G.field,item:{itemRender:G.itemRender}};onFieldChange(H)},displayFormItem=(G,H)=>{let X=document.getElementById(G.toUpperCase());for(;X&&!X.className.split(" ").includes("vxe-form--item");)X=X.parentElement;X&&(X.style.display=H)};success||(success=(G,H)=>{$vxeMessage({content:G,status:H||"success",zIndex:3e3})}),error||(error=G=>{$ElMessage({message:G,type:"error",zIndex:3e3})});const assembleParentData=()=>{let G={},H=formConfig.value.type==="FORM"?getParentData():formConfig.value.params.parentData;return H&&Object.keys(H).forEach(X=>{G["parent."+X]=H[X]}),G},getSelectedTreeDataOptionByValue=(G,H)=>{let X;for(let Q=0;Q<G.length;Q++){if(G[Q].value===H){X=G[Q];break}if(G[Q].hasOwnProperty("children")&&(X=getSelectedTreeDataOptionByValue(G[Q].children,H),typeof X<"u"))break}return X},computeNewLine=()=>{let G=formConfig.value.columns.filter(H=>{if(H.displayForm){let X=!0;if(H.editRender.props.displayLogic){let Q={item:{itemRender:H.itemRender},data:formData.value};X=displayLogicEvent(Q)}if(X)return H.fwidth=H.fwidthOriginal,H.residue=void 0,H}});for(let[H,X]of G.entries())if(H>0){X.fwidth=X.fwidth?X.fwidth:12;let Q=G[H-1];Number(X.fwidth)>24?(X.aLine=!0,X.residue=0):(X.aLine=!1,X.residue=24-Number(X.fwidth),Q&&(Q.aLine||Q.residue-Number(X.fwidth)<0)||H==0?X.residue=24-Number(X.fwidth):Q.residue-Number(X.fwidth)>=0&&(X.residue=Q.residue-Number(X.fwidth))),(X.itemRender.props.newLine===!0||X.itemRender.props.newLine==="Y")&&(Q.fwidth=Number(Q.fwidth)+Number(Q.residue),Q.residue=0,X.residue=24-Number(X.fwidth))}else H==0&&(X.fwidth=X.fwidth?Number(X.fwidth):12,X.residue=X.fwidth>24?0:24-Number(X.fwidth))},getPictureList=async()=>{let G=await axios.post(`/dataFile/list/${uploadConfig.value.regionId}/${uploadConfig.value.dataId}`);return G.data.result&&G.data.list.length>0?(uploadConfig.value.fileList=G.data.list,!0):(formLoading.value=!1,!1)},updateFileDataId=G=>{let H=[];Object.values(fieldPreviewMap.value).forEach(X=>{X.forEach(Q=>{H.push(Q.id)})}),axios.post(`/dataFile/update/${G}`,{fileIds:H.toString()}).then(X=>{var Q;(Q=X==null?void 0:X.data)!=null&&Q.result||$message.error(X.msg)})},setFormSelectOption=(G,H=[])=>{let X=formConfig.value.columns.filter(Q=>Q.field==G.toUpperCase())[0];X&&(X.itemRender.options=H)},setFormItemProperty=(G,H,X)=>{let Q=formConfig.value.columns.filter(K=>K.field==G.toUpperCase())[0];Q&&(Q.itemRender.props[H]=X)},handleSelectTableField=G=>{const H=formConfig.value.params.selectTableField[G.toUpperCase()];H&&H.forEach(X=>{axios.post("/window/selector",$qs.stringify({...formData.value,_field_id:X._field_id,_select_id:X._select_id})).then(Q=>{Q.data.result&&Q.data.data&&(formSelectMap.value[X._field_id].dataType==="TREE"?(formSelectMap.value[X._field_id].itemRender.props.treeData=Q.data.data,formSelectMap.value[X._field_id].itemRender.name=="ElCascader"&&(formSelectMap.value[X._field_id].itemRender.props.options=Q.data.data)):(formSelectMap.value[X._field_id].itemRender.options=Q.data.data.map(K=>Object.assign({value:K.VALUE,label:K.NAME},K)),formData.value[formSelectMap.value[X._field_id].field]=null))})})},getTableFieldSelectData=G=>{let H=formConfig.value.columns.filter(Q=>Q.field==G.toUpperCase())[0],X=[];return H&&(X=H.itemRender.options),X},setFieldName=(G,H)=>{let X=formConfig.value.columns.filter(Q=>Q.field==G.toUpperCase())[0];if(X){const Q=X.itemRender.props.unitName?H+"("+X.itemRender.props.unitName+")":H;X.title=Q}},footerSum=()=>{},onEditorBtnClick=(G,H)=>{const X=localEditorViews[G.field],{state:Q}=X;if(H=="beautify")formData.value[G.field]=jsExports.js_beautify(formData.value[G.field],codeBeautifyConfig);else if(H=="checkAll"){let K=Q.doc.toString().length;const Z=Q.update({selection:EditorSelection.range(0,K),scrollIntoView:!0});X.dispatch(Z)}else if(H=="copy"){let K="";if(Q.selection.ranges.some(Z=>!Z.empty)){const Z=Q.selection.ranges[0];K=Q.sliceDoc(Z.from,Z.to)}else K=Q.doc.toString();navigator.clipboard.writeText(K),success("复制成功!")}else if(H=="clear")formData.value[G.field]="";else if(H=="swap"){let K=Q.doc.toString();K=codeTranslationV3(K),K=K.replaceAll("this.$data.","").replaceAll("this.$","").replaceAll("this.",""),formData.value[G.field]=K}else H=="full"&&(codemirrorDrawer.value=!0,codemirrorCol.value=G,codemirrorTitle.value=G.title);X.focus()},setFieldElement=(G,H)=>{let X=formConfig.value.columns.filter(Q=>Q.field==G.toUpperCase())[0];X&&(X.itemRender.name=H,H=="ElCheckbox"&&vue.nextTick(()=>{formData.value[G.toUpperCase()]=[]}))},setTitleWidth=G=>{formConfig.value.params.formTitleWidth=G},setFormGroup=G=>{if(G instanceof Array&&G.length>0){formConfig.value.params.setColumnsGroup=!0;let H=G.reduce((X,Q)=>X.concat(Q.children),[]);formConfig.value.columns.forEach(X=>{X.field&&!H.includes(X.field.toLowerCase())&&formConfig.value.params.columnsGroup[0].children.push(X)}),G.forEach(X=>{let Q={title:X.title,children:[]};formConfig.value.columns.forEach(K=>{K.field&&X.children.includes(K.field.toLowerCase())&&Q.children.push(K)}),formConfig.value.params.columnsGroup.push(Q)})}},formItemTitleRefs=vue.ref({}),handleSetFormItemTitleRef=(G,H)=>{G&&(formItemTitleRefs.value[H]=G)},formItemTitleComponent=vue.shallowRef({}),setFormSlotsVuePath=async(G,H)=>{formConfig.value.params.slotsVuePath||(formConfig.value.params.slotsVuePath={}),H=H.toUpperCase(),formItemTitleComponent.value[H]=(await $components[`${$componentsPath}/${G}`]()).default,formItemTitleComponent.value[H]&&(formConfig.value.params.slotsVuePath[`form_item_title-${H}`]=G,formConfig.value.columns.forEach(X=>{if(X.field==H){X.slotsTitle=!0;return}}),await vue.nextTick(),await form.value.updateStatus({field:H}),form.value.clearValidate(H),regionMap.value[`form_item_title-${H}-${formConfig.value.params.code}-${formConfig.value.params.preTag}`]=formItemTitleRefs.value[H],regionMap.value[`form_item_title-${H}-${formConfig.value.params.code}`]=formItemTitleRefs.value[H])},addExtraFormItem=(G,H,X={})=>{if(G=G.toUpperCase(),formConfig.value.columns.findIndex(ee=>ee.field==G)>=0)return;let K={field:G,className:G,dataType:"STRING",title:H,visible:!0,displayForm:!0,events:{},colType:"showInForm",fwidth:12,width:null,id:"",minWidth:100,extra:!0},Z={name:"ElInput",props:{type:"text",openLabel:"是",closeLabel:"否",activeValue:"Y",inactiveValue:"N",readonly:!0,readonlyLogic:null,disabled:!1,displayLogic:null,notnullLogic:null,changeFunction:null,enterFunction:null,clickFunction:null,dataType:"STRING",clearable:!0,multiple:!1,unitName:null,format:null,filterColumn:null,sqlLogicListenField:null,newLine:!1,_field_id:"",_select_id:null,name:G,notNull:!0,maxlength:50,size:"default"},attrs:{id:G},events:{}};Object.assign(Z.props,X),K.itemRender=Z,K.editRender=Z,formConfig.value.columns.push(K),formData.value[G]=""},setPictureUploadConfig=G=>{formConfig.value.params.pictureUploadConfig=G},onloadFile=()=>{formDataClone.value=XEUtils.clone(vue.toRaw(formData.value),!0)},throwFunction=G=>{G.getData=()=>getData(),G.submitData=()=>submitData(),G.getValue=H=>getValue(H),G.setValue=(H,X,Q)=>setValue(H,X,Q),G.checkSubmitData=()=>checkSubmitData(),G.searchData=H=>searchData(H),G.search=H=>searchData(H),G.displayFormItem=(H,X)=>displayFormItem(H,X),G.resetForm=()=>resetForm(),G.clearData=()=>clearData(),G.setFieldName=(H,X)=>setFieldName(H,X),G.setFormItemProperty=(H,X,Q)=>setFormItemProperty(H,X,Q),G.getTableFieldSelectData=H=>getTableFieldSelectData(H),G.setFormSelectOption=(H,X)=>setFormSelectOption(H,X),G.closeDrawer=()=>{closeDrawer()},G.closePreModal=()=>{closePreModal&&closePreModal()}};return __expose({submitData,validateDataChg,getValue,getRegion,getData}),(G,H)=>{const X=vue.resolveComponent("el-icon"),Q=vue.resolveComponent("el-button"),K=vue.resolveComponent("el-input"),Z=vue.resolveComponent("vxe-form-item"),ee=vue.resolveComponent("vxe-form-group"),te=vue.resolveComponent("vxe-form"),ne=vue.resolveComponent("el-dialog"),re=vue.resolveComponent("el-drawer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l7,[vue.unref(formConfig).type==="FORM"?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"form-header-box",style:vue.normalizeStyle(computeOnlyShowBtn.value&&vue.unref(formConfig).params.buttonPosition.includes("TOP")?"height: 100%":"")},[vue.unref(formConfig).params.showTitle?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$l1,vue.toDisplayString(vue.unref($T)(vue.unref(formConfig).params.windowTitle)),1)):vue.createCommentVNode("",!0),buttons.value.length>0&&vue.unref(formConfig).params.buttonPosition.includes("TOP")?(vue.openBlock(),vue.createElementBlock("div",{key:1,class:"form-buttons",style:vue.normalizeStyle(computeOptBtnStyle.value("top"))},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(buttons.value,oe=>(vue.openBlock(),vue.createBlock(Q,{key:oe.id,"auto-insert-space":"",style:vue.normalizeStyle("margin: 2px 2px 2px 2px;"+oe.css),type:"primary",loading:oe.loading,size:vue.unref(formConfig).params.elComponentSize,onClick:ae=>btnClickFun(oe)},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(" "+vue.toDisplayString(vue.unref($T)(oe.name)),1)]),_:2},[oe.iconComponent?{name:"icon",fn:vue.withCtx(()=>[vue.createVNode(X,{size:"15",style:{verticalAlign:"middle"}},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(oe.iconComponent)))]),_:2},1024)]),key:"0"}:void 0]),1032,["style","loading","size","onClick"]))),128))],4)):vue.createCommentVNode("",!0)],4)):vue.createCommentVNode("",!0),vue.createVNode(te,{ref_key:"form",ref:form,data:vue.unref(formData),rules:editRules.value,loading:vue.unref(formLoading),"title-align":"right","title-width":computeTitleWidth.value,class:vue.normalizeClass({"single-row":vue.unref(formConfig).params.singleRow})},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(formConfig).params.columnsGroup,oe=>(vue.openBlock(),vue.createBlock(ee,{span:"24",title:oe.title,"content-class-name":oe.title?"vxe-form--group-content-border":"","title-bold":"",vertical:""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(computeItemGroup.value(oe),ae=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:ae.title},[ae.colType!=="showInGrid"?(vue.openBlock(),vue.createBlock(Z,{key:0,field:ae.field,title:computeItemTitle.value(ae),"title-overflow":"tooltip",span:computeSpan.value(ae),"item-render":ae.itemRender,"title-prefix":ae.titlePrefix,visible:ae.displayForm,style:vue.normalizeStyle(ae.style),"class-name":computeItemClass.value(ae),"visible-method":ae.editRender.props.displayLogic?displayLogicEvent:null},vue.createSlots({_:2},[ae.dataType==="EDITOR"?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(vue.unref(T$2),{modelValue:vue.unref(formData)[ae.field],"onUpdate:modelValue":se=>vue.unref(formData)[ae.field]=se,extensions:[getCodeLanguagePlugin(ae.language),vue.unref(EditorView).lineWrapping],onReady:se=>handleReady(ae.field,se),onFocus:se=>vue.isRef(editorFocusField)?editorFocusField.value=ae.field:editorFocusField=ae.field,"auto-destroy":""},null,8,["modelValue","onUpdate:modelValue","extensions","onReady","onFocus"]),vue.createElementVNode("div",{class:"editor-operation-btn",style:vue.normalizeStyle(computeEditorBtnStyle.value(ae.field))},[ae.language=="javascript"?(vue.openBlock(),vue.createElementBlock("i",{key:0,title:"美化",class:"iconfont icon-magic-stick",onClick:se=>onEditorBtnClick(ae,"beautify")},null,8,_hoisted_3$hZ)):vue.createCommentVNode("",!0),vue.createElementVNode("i",{title:"全选",class:"iconfont icon-check-square",onClick:se=>onEditorBtnClick(ae,"checkAll")},null,8,_hoisted_4$ay),vue.createElementVNode("i",{title:"复制",class:"iconfont icon-document-copy",onClick:se=>onEditorBtnClick(ae,"copy")},null,8,_hoisted_5$4W),vue.createElementVNode("i",{title:"清空",class:"iconfont icon-clear",onClick:se=>onEditorBtnClick(ae,"clear")},null,8,_hoisted_6$1$),ae.language=="javascript"?(vue.openBlock(),vue.createElementBlock("i",{key:1,title:"组合式API转换",class:"iconfont icon-swap",onClick:se=>onEditorBtnClick(ae,"swap")},null,8,_hoisted_7$12)):vue.createCommentVNode("",!0),vue.createElementVNode("i",{title:"放大",class:"iconfont icon-full-screen",onClick:se=>onEditorBtnClick(ae,"full")},null,8,_hoisted_8$F)],4)]),key:"0"}:ae.dataType==="STRING"&&ae.canScan===!0?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(K,vue.mergeProps({modelValue:vue.unref(formData)[ae.field],"onUpdate:modelValue":se=>vue.unref(formData)[ae.field]=se},{ref_for:!0},ae.itemRender.props,{onKeyup:se=>onIconInputEnter(ae,se),onChange:se=>onIconInputChange(ae)}),{suffix:vue.withCtx(()=>[vue.createElementVNode("i",{class:"iconfont icon-scan1",onClick:se=>onScanIconClick(ae),style:{cursor:"pointer"}},null,8,_hoisted_9$m)]),_:2},1040,["modelValue","onUpdate:modelValue","onKeyup","onChange"])]),key:"1"}:ae.itemRender.props.suffixIconfont||ae.itemRender.props.prefixIconfont?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(K,vue.mergeProps({modelValue:vue.unref(formData)[ae.field],"onUpdate:modelValue":se=>vue.unref(formData)[ae.field]=se},{ref_for:!0},ae.itemRender.props,{clearable:!1,onKeyup:se=>onIconInputEnter(ae,se),onChange:se=>onIconInputChange(ae)}),vue.createSlots({_:2},[ae.itemRender.props.suffixIconfont?{name:"suffix",fn:vue.withCtx(()=>[vue.createElementVNode("i",{class:vue.normalizeClass("iconfont "+ae.itemRender.props.suffixIconfont),onClick:se=>onIconClick(ae),style:{cursor:"pointer"}},null,10,_hoisted_10$q)]),key:"0"}:ae.itemRender.props.prefixIconfont?{name:"prefix",fn:vue.withCtx(()=>[vue.createElementVNode("i",{class:vue.normalizeClass("iconfont "+ae.itemRender.props.prefixIconfont),onClick:se=>onIconClick(ae),style:{cursor:"pointer"}},null,10,_hoisted_11$g)]),key:"1"}:void 0]),1040,["modelValue","onUpdate:modelValue","onKeyup","onChange"])]),key:"2"}:ae.dataType==="IMG"?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(vue.unref(PictureUpload),{uploadConfig:vue.unref(uploadConfig),fieldId:ae.id,field:ae.field,colProps:ae.itemRender.props,fileFormData:vue.unref(formData)[ae.field],"onUpdate:fileFormData":se=>vue.unref(formData)[ae.field]=se,filePreviewList:vue.unref(fieldPreviewMap)[ae.field],"onUpdate:filePreviewList":se=>vue.unref(fieldPreviewMap)[ae.field]=se},null,8,["uploadConfig","fieldId","field","colProps","fileFormData","onUpdate:fileFormData","filePreviewList","onUpdate:filePreviewList"])]),key:"3"}:ae.dataType==="FILE"?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(vue.unref(FileUpload),{uploadConfig:vue.unref(uploadConfig),fieldId:ae.id,field:ae.field,colProps:ae.itemRender.props,fileFormData:vue.unref(formData)[ae.field],"onUpdate:fileFormData":se=>vue.unref(formData)[ae.field]=se,filePreviewList:vue.unref(fieldPreviewMap)[ae.field],"onUpdate:filePreviewList":se=>vue.unref(fieldPreviewMap)[ae.field]=se,uploadFinished:vue.unref(fileUploadFinishedMap)[ae.field],"onUpdate:uploadFinished":se=>vue.unref(fileUploadFinishedMap)[ae.field]=se,onOnload:onloadFile},null,8,["uploadConfig","fieldId","field","colProps","fileFormData","onUpdate:fileFormData","filePreviewList","onUpdate:filePreviewList","uploadFinished","onUpdate:uploadFinished"])]),key:"4"}:void 0,ae.slotsTitle?{name:"title",fn:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(formItemTitleComponent.value[ae.field]),{ref_for:!0,ref:se=>handleSetFormItemTitleRef(se,ae.field)},null,512))]),key:"5"}:void 0]),1032,["field","title","span","item-render","title-prefix","visible","style","class-name","visible-method"])):vue.createCommentVNode("",!0)],64))),128))]),_:2},1032,["title","content-class-name"]))),256)),vue.unref(formConfig).type==="FORM"&&buttons.value.length>0&&vue.unref(formConfig).params.buttonPosition.includes("BOTTOM")?(vue.openBlock(),vue.createBlock(Z,{key:0,align:computeOptBtnStyle.value("bottom"),span:"24"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(buttons.value,oe=>(vue.openBlock(),vue.createBlock(Q,{key:oe.id,"auto-insert-space":"",style:vue.normalizeStyle("margin: 2px 2px 2px 2px;"+oe.css),type:"primary",size:vue.unref(formConfig).params.elComponentSize,loading:oe.loading,onClick:ae=>btnClickFun(oe)},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(" "+vue.toDisplayString(vue.unref($T)(oe.name)),1)]),_:2},[oe.iconComponent?{name:"icon",fn:vue.withCtx(()=>[vue.createVNode(X,{size:"15",style:{verticalAlign:"middle"}},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(oe.iconComponent)))]),_:2},1024)]),key:"0"}:void 0]),1032,["style","size","loading","onClick"]))),128))]),_:1},8,["align"])):vue.createCommentVNode("",!0)]),_:1},8,["data","rules","loading","title-width","class"]),vue.createVNode(ne,{ref:"pictureUploadModal",width:"20%",modelValue:vue.unref(uploadConfig).show,"onUpdate:modelValue":H[0]||(H[0]=oe=>vue.unref(uploadConfig).show=oe),"z-index":1e3,draggable:"","append-to-body":"","close-on-press-escape":"","destroy-on-close":"",title:vue.unref($T)("图片上传")},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(PictureUpload),{uploadConfig:vue.unref(uploadConfig)},null,8,["uploadConfig"])]),_:1},8,["modelValue","title"]),vue.createVNode(re,{modelValue:vue.unref(codemirrorDrawer),"onUpdate:modelValue":H[3]||(H[3]=oe=>vue.isRef(codemirrorDrawer)?codemirrorDrawer.value=oe:codemirrorDrawer=oe),title:vue.unref(codemirrorTitle),direction:"rtl",class:"codemirror-drawer"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(T$2),{modelValue:vue.unref(formData)[vue.unref(codemirrorCol).field],"onUpdate:modelValue":H[1]||(H[1]=oe=>vue.unref(formData)[vue.unref(codemirrorCol).field]=oe),extensions:[getCodeLanguagePlugin(vue.unref(codemirrorCol).language),vue.unref(EditorView).lineWrapping],onFocus:H[2]||(H[2]=oe=>vue.isRef(editorFocusField)?editorFocusField.value=vue.unref(codemirrorCol).field:editorFocusField=vue.unref(codemirrorCol).field),"auto-destroy":""},null,8,["modelValue","extensions"])]),_:1},8,["modelValue","title"])])}}},WindowForm=_export_sfc(_sfc_main$k,[["__scopeId","data-v-f4b17faa"]]);WindowForm.name="slw-window-form",WindowForm.install=G=>{G.component(WindowForm.name,WindowForm)};const Se={__name:"splitpanes",props:{horizontal:{type:Boolean},pushOtherPanes:{type:Boolean,default:!0},dblClickSplitter:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean}},emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click"],setup(G,{emit:H}){const X=H,Q=G,K=vue.useSlots(),Z=vue.ref([]),ee=vue.computed(()=>Z.value.reduce((Le,Ue)=>(Le[~~Ue.id]=Ue)&&Le,{})),te=vue.computed(()=>Z.value.length),ne=vue.ref(null),re=vue.ref(!1),oe=vue.ref({mouseDown:!1,dragging:!1,activeSplitter:null,cursorOffset:0}),ae=vue.ref({splitter:null,timeoutId:null}),se=vue.computed(()=>({[`splitpanes splitpanes--${Q.horizontal?"horizontal":"vertical"}`]:!0,"splitpanes--dragging":oe.value.dragging})),le=()=>{document.addEventListener("mousemove",ue,{passive:!1}),document.addEventListener("mouseup",he),"ontouchstart"in window&&(document.addEventListener("touchmove",ue,{passive:!1}),document.addEventListener("touchend",he))},ce=()=>{document.removeEventListener("mousemove",ue,{passive:!1}),document.removeEventListener("mouseup",he),"ontouchstart"in window&&(document.removeEventListener("touchmove",ue,{passive:!1}),document.removeEventListener("touchend",he))},de=(Le,Ue)=>{const Ie=Le.target.closest(".splitpanes__splitter");if(Ie){const{left:Ve,top:ze}=Ie.getBoundingClientRect(),{clientX:We,clientY:Xe}="ontouchstart"in window&&Le.touches?Le.touches[0]:Le;oe.value.cursorOffset=Q.horizontal?Xe-ze:We-Ve}le(),oe.value.mouseDown=!0,oe.value.activeSplitter=Ue},ue=Le=>{oe.value.mouseDown&&(Le.preventDefault(),oe.value.dragging=!0,requestAnimationFrame(()=>{we(me(Le)),X("resize",Z.value.map(Ue=>({min:Ue.min,max:Ue.max,size:Ue.size})))}))},he=()=>{oe.value.dragging&&X("resized",Z.value.map(Le=>({min:Le.min,max:Le.max,size:Le.size}))),oe.value.mouseDown=!1,setTimeout(()=>{oe.value.dragging=!1,ce()},100)},fe=(Le,Ue)=>{"ontouchstart"in window&&(Le.preventDefault(),Q.dblClickSplitter&&(ae.value.splitter===Ue?(clearTimeout(ae.value.timeoutId),ae.value.timeoutId=null,pe(Le,Ue),ae.value.splitter=null):(ae.value.splitter=Ue,ae.value.timeoutId=setTimeout(()=>ae.value.splitter=null,500)))),oe.value.dragging||X("splitter-click",Z.value[Ue])},pe=(Le,Ue)=>{let Ie=0;Z.value=Z.value.map((Ve,ze)=>(Ve.size=ze===Ue?Ve.max:Ve.min,ze!==Ue&&(Ie+=Ve.min),Ve)),Z.value[Ue].size-=Ie,X("pane-maximize",Z.value[Ue]),X("resized",Z.value.map(Ve=>({min:Ve.min,max:Ve.max,size:Ve.size})))},ve=(Le,Ue)=>{X("pane-click",ee.value[Ue])},me=Le=>{const Ue=ne.value.getBoundingClientRect(),{clientX:Ie,clientY:Ve}="ontouchstart"in window&&Le.touches?Le.touches[0]:Le;return{x:Ie-(Q.horizontal?0:oe.value.cursorOffset)-Ue.left,y:Ve-(Q.horizontal?oe.value.cursorOffset:0)-Ue.top}},ge=Le=>{Le=Le[Q.horizontal?"y":"x"];const Ue=ne.value[Q.horizontal?"clientHeight":"clientWidth"];return Q.rtl&&!Q.horizontal&&(Le=Ue-Le),Le*100/Ue},we=Le=>{const Ue=oe.value.activeSplitter;let Ie={prevPanesSize:Ee(Ue),nextPanesSize:xe(Ue),prevReachedMinPanes:0,nextReachedMinPanes:0};const Ve=0+(Q.pushOtherPanes?0:Ie.prevPanesSize),ze=100-(Q.pushOtherPanes?0:Ie.nextPanesSize),We=Math.max(Math.min(ge(Le),ze),Ve);let Xe=[Ue,Ue+1],He=Z.value[Xe[0]]||null,qe=Z.value[Xe[1]]||null;const at=He.max<100&&We>=He.max+Ie.prevPanesSize,st=qe.max<100&&We<=100-(qe.max+xe(Ue+1));if(at||st){at?(He.size=He.max,qe.size=Math.max(100-He.max-Ie.prevPanesSize-Ie.nextPanesSize,0)):(He.size=Math.max(100-qe.max-Ie.prevPanesSize-xe(Ue+1),0),qe.size=qe.max);return}if(Q.pushOtherPanes){const Ke=$e(Ie,We);if(!Ke)return;({sums:Ie,panesToResize:Xe}=Ke),He=Z.value[Xe[0]]||null,qe=Z.value[Xe[1]]||null}He!==null&&(He.size=Math.min(Math.max(We-Ie.prevPanesSize-Ie.prevReachedMinPanes,He.min),He.max)),qe!==null&&(qe.size=Math.min(Math.max(100-We-Ie.nextPanesSize-Ie.nextReachedMinPanes,qe.min),qe.max))},$e=(Le,Ue)=>{const Ie=oe.value.activeSplitter,Ve=[Ie,Ie+1];return Ue<Le.prevPanesSize+Z.value[Ve[0]].min&&(Ve[0]=Me(Ie).index,Le.prevReachedMinPanes=0,Ve[0]<Ie&&Z.value.forEach((ze,We)=>{We>Ve[0]&&We<=Ie&&(ze.size=ze.min,Le.prevReachedMinPanes+=ze.min)}),Le.prevPanesSize=Ee(Ve[0]),Ve[0]===void 0)?(Le.prevReachedMinPanes=0,Z.value[0].size=Z.value[0].min,Z.value.forEach((ze,We)=>{We>0&&We<=Ie&&(ze.size=ze.min,Le.prevReachedMinPanes+=ze.min)}),Z.value[Ve[1]].size=100-Le.prevReachedMinPanes-Z.value[0].min-Le.prevPanesSize-Le.nextPanesSize,null):Ue>100-Le.nextPanesSize-Z.value[Ve[1]].min&&(Ve[1]=De(Ie).index,Le.nextReachedMinPanes=0,Ve[1]>Ie+1&&Z.value.forEach((ze,We)=>{We>Ie&&We<Ve[1]&&(ze.size=ze.min,Le.nextReachedMinPanes+=ze.min)}),Le.nextPanesSize=xe(Ve[1]-1),Ve[1]===void 0)?(Le.nextReachedMinPanes=0,Z.value.forEach((ze,We)=>{We<te.value-1&&We>=Ie+1&&(ze.size=ze.min,Le.nextReachedMinPanes+=ze.min)}),Z.value[Ve[0]].size=100-Le.prevPanesSize-xe(Ve[0]-1),null):{sums:Le,panesToResize:Ve}},Ee=Le=>Z.value.reduce((Ue,Ie,Ve)=>Ue+(Ve<Le?Ie.size:0),0),xe=Le=>Z.value.reduce((Ue,Ie,Ve)=>Ue+(Ve>Le+1?Ie.size:0),0),Me=Le=>[...Z.value].reverse().find(Ue=>Ue.index<Le&&Ue.size>Ue.min)||{},De=Le=>Z.value.find(Ue=>Ue.index>Le+1&&Ue.size>Ue.min)||{},ke=()=>{var Le;Array.from(((Le=ne.value)==null?void 0:Le.children)||[]).forEach(Ue=>{const Ie=Ue.classList.contains("splitpanes__pane"),Ve=Ue.classList.contains("splitpanes__splitter");!Ie&&!Ve&&(Ue.remove(),console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."))})},Oe=(Le,Ue,Ie=!1)=>{const Ve=Le-1,ze=document.createElement("div");ze.classList.add("splitpanes__splitter"),Ie||(ze.onmousedown=We=>de(We,Ve),typeof window<"u"&&"ontouchstart"in window&&(ze.ontouchstart=We=>de(We,Ve)),ze.onclick=We=>fe(We,Ve+1)),Q.dblClickSplitter&&(ze.ondblclick=We=>pe(We,Ve+1)),Ue.parentNode.insertBefore(ze,Ue)},Ne=Le=>{Le.onmousedown=void 0,Le.onclick=void 0,Le.ondblclick=void 0,Le.remove()},_e=()=>{var Le;const Ue=Array.from(((Le=ne.value)==null?void 0:Le.children)||[]);Ue.forEach(Ve=>{Ve.className.includes("splitpanes__splitter")&&Ne(Ve)});let Ie=0;Ue.forEach(Ve=>{Ve.className.includes("splitpanes__pane")&&(!Ie&&Q.firstSplitter?Oe(Ie,Ve,!0):Ie&&Oe(Ie,Ve),Ie++)})},ye=({uid:Le,...Ue})=>{const Ie=ee.value[Le];Object.entries(Ue).forEach(([Ve,ze])=>Ie[Ve]=ze)},Ce=Le=>{var Ue;let Ie=-1;Array.from(((Ue=ne.value)==null?void 0:Ue.children)||[]).some(Ve=>(Ve.className.includes("splitpanes__pane")&&Ie++,Ve.isSameNode(Le.el))),Z.value.splice(Ie,0,{...Le,index:Ie}),Z.value.forEach((Ve,ze)=>Ve.index=ze),re.value&&vue.nextTick(()=>{_e(),Te({addedPane:Z.value[Ie]}),X("pane-add",{index:Ie,panes:Z.value.map(Ve=>({min:Ve.min,max:Ve.max,size:Ve.size}))})})},be=Le=>{const Ue=Z.value.findIndex(Ve=>Ve.id===Le),Ie=Z.value.splice(Ue,1)[0];Z.value.forEach((Ve,ze)=>Ve.index=ze),vue.nextTick(()=>{_e(),Te({removedPane:{...Ie}}),X("pane-remove",{removed:Ie,panes:Z.value.map(Ve=>({min:Ve.min,max:Ve.max,size:Ve.size}))})})},Te=(Le={})=>{!Le.addedPane&&!Le.removedPane?Re():Z.value.some(Ue=>Ue.givenSize!==null||Ue.min||Ue.max<100)?Fe(Le):Ae(),re.value&&X("resized",Z.value.map(Ue=>({min:Ue.min,max:Ue.max,size:Ue.size})))},Ae=()=>{const Le=100/te.value;let Ue=0;const Ie=[],Ve=[];Z.value.forEach(ze=>{ze.size=Math.max(Math.min(Le,ze.max),ze.min),Ue-=ze.size,ze.size>=ze.max&&Ie.push(ze.id),ze.size<=ze.min&&Ve.push(ze.id)}),Ue>.1&&Be(Ue,Ie,Ve)},Re=()=>{let Le=100;const Ue=[],Ie=[];let Ve=0;Z.value.forEach(We=>{Le-=We.size,We.givenSize!==null&&Ve++,We.size>=We.max&&Ue.push(We.id),We.size<=We.min&&Ie.push(We.id)});let ze=100;Le>.1&&(Z.value.forEach(We=>{We.givenSize===null&&(We.size=Math.max(Math.min(Le/(te.value-Ve),We.max),We.min)),ze-=We.size}),ze>.1&&Be(ze,Ue,Ie))},Fe=({addedPane:Le,removedPane:Ue}={})=>{let Ie=100/te.value,Ve=0;const ze=[],We=[];((Le==null?void 0:Le.givenSize)??null)!==null&&(Ie=(100-Le.givenSize)/(te.value-1).value),Z.value.forEach(Xe=>{Ve-=Xe.size,Xe.size>=Xe.max&&ze.push(Xe.id),Xe.size<=Xe.min&&We.push(Xe.id)}),!(Math.abs(Ve)<.1)&&(Z.value.forEach(Xe=>{(Le==null?void 0:Le.givenSize)!==null&&(Le==null?void 0:Le.id)===Xe.id||(Xe.size=Math.max(Math.min(Ie,Xe.max),Xe.min)),Ve-=Xe.size,Xe.size>=Xe.max&&ze.push(Xe.id),Xe.size<=Xe.min&&We.push(Xe.id)}),Ve>.1&&Be(Ve,ze,We))},Be=(Le,Ue,Ie)=>{let Ve;Le>0?Ve=Le/(te.value-Ue.length):Ve=Le/(te.value-Ie.length),Z.value.forEach((ze,We)=>{if(Le>0&&!Ue.includes(ze.id)){const Xe=Math.max(Math.min(ze.size+Ve,ze.max),ze.min),He=Xe-ze.size;Le-=He,ze.size=Xe}else if(!Ie.includes(ze.id)){const Xe=Math.max(Math.min(ze.size+Ve,ze.max),ze.min),He=Xe-ze.size;Le-=He,ze.size=Xe}}),Math.abs(Le)>.1&&vue.nextTick(()=>{re.value&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})};vue.watch(()=>Q.firstSplitter,()=>_e()),vue.watch(()=>Q.dblClickSplitter,Le=>{[...ne.value.querySelectorAll(".splitpanes__splitter")].forEach((Ue,Ie)=>{Ue.ondblclick=Le?Ve=>pe(Ve,Ie):void 0})}),vue.onBeforeUnmount(()=>re.value=!1),vue.onMounted(()=>{ke(),_e(),Te(),X("ready"),re.value=!0});const je=()=>{var Le;return vue.h("div",{ref:ne,class:se.value},(Le=K.default)==null?void 0:Le.call(K))};return vue.provide("panes",Z),vue.provide("indexedPanes",ee),vue.provide("horizontal",vue.computed(()=>Q.horizontal)),vue.provide("requestUpdate",ye),vue.provide("onPaneAdd",Ce),vue.provide("onPaneRemove",be),vue.provide("onPaneClick",ve),(Le,Ue)=>(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(je)))}},Pe={__name:"pane",props:{size:{type:[Number,String]},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},setup(G){var H;const X=G,Q=vue.inject("requestUpdate"),K=vue.inject("onPaneAdd"),Z=vue.inject("horizontal"),ee=vue.inject("onPaneRemove"),te=vue.inject("onPaneClick"),ne=(H=vue.getCurrentInstance())==null?void 0:H.uid,re=vue.inject("indexedPanes"),oe=vue.computed(()=>re.value[ne]),ae=vue.ref(null),se=vue.computed(()=>{const ue=isNaN(X.size)||X.size===void 0?0:parseFloat(X.size);return Math.max(Math.min(ue,ce.value),le.value)}),le=vue.computed(()=>{const ue=parseFloat(X.minSize);return isNaN(ue)?0:ue}),ce=vue.computed(()=>{const ue=parseFloat(X.maxSize);return isNaN(ue)?100:ue}),de=vue.computed(()=>{var ue;return`${Z.value?"height":"width"}: ${(ue=oe.value)==null?void 0:ue.size}%`});return vue.onMounted(()=>{K({id:ne,el:ae.value,min:le.value,max:ce.value,givenSize:X.size===void 0?null:se.value,size:se.value})}),vue.watch(()=>se.value,ue=>Q({uid:ne,size:ue})),vue.watch(()=>le.value,ue=>Q({uid:ne,min:ue})),vue.watch(()=>ce.value,ue=>Q({uid:ne,max:ue})),vue.onBeforeUnmount(()=>ee(ne)),(ue,he)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"paneEl",ref:ae,class:"splitpanes__pane",onClick:he[0]||(he[0]=fe=>vue.unref(te)(fe,ue._.uid)),style:vue.normalizeStyle(de.value)},[vue.renderSlot(ue.$slots,"default")],4))}},_sfc_main$j={__name:"window-layout",props:{layoutData:{type:Object,require:!0}},emits:["update:layoutData"],setup(G,{expose:H,emit:X}){const Q=X,K=G,Z=vue.inject("$t"),ee=vue.inject("$regionMap");let te=useVModel$1(K,"layoutData",Q),ne=vue.ref(0);const re=vue.ref(),oe=vue.ref(),ae=vue.ref(),se=vue.ref(),le=useDebounceFn$1(he=>{ce(he)},100),ce=he=>{if(he){if(te.value.child[0].splitRate=he[0].size/100,te.value.mode==="vertical"&&te.value.child&&te.value.child.length===2&&te.value.child[0].gridData){let fe=te.value.child[0].gridData.params.curHeight-te.value.height*te.value.splitRate;te.value.child[0].gridData.params.curHeight=te.value.height*te.value.splitRate,te.value.child[0].height=te.value.child[0].gridData.params.curHeight,Number(te.value.child[0].gridData.params.curHeight)!==Number(ne.value)&&de(te.value.child[1],fe),ne.value=Number(te.value.child[0].gridData.params.curHeight)}te.value.mode==="horizontal"&&te.value.child.forEach((fe,pe)=>{fe.gridData&&(fe.gridData.params.singleRow=!1,fe.gridData.type=="FORM"&&he[pe].size<=he[pe].min+5&&(fe.gridData.params.singleRow=!0))})}},de=(he,fe)=>{if(he.gridData)he.gridData.params.curHeight+=fe,he.height+=fe;else{he.height+=fe;for(let pe=0;pe<he.child.length;pe++)de(he.child[pe],fe)}},ue=(he,fe)=>{var pe;(pe=oe.value)==null||pe.gridReload(he,fe)};return vue.onMounted(()=>{te.value.gridData&&(!te.value.child||te.value.child.length===0)&&(te.value.gridData.type=="LINK"||te.value.gridData.type=="COMPONENT"&&te.value.gridData.componentType=="VUE")&&(ee.value[te.value.gridData.params.code+"-"+te.value.gridData.params.preTag]=ae.value,ee.value[te.value.gridData.params.code]=ae.value)}),H({gridReload:ue}),(he,fe)=>{const pe=vue.resolveComponent("window-layout",!0),ve=vue.resolveComponent("el-tab-pane"),me=vue.resolveComponent("el-tabs");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["slw-window-layout-container",{"ban-drag":vue.unref(te).banLayoutDrag}])},[vue.unref(te).child&&vue.unref(te).child.length>0&&vue.unref(te).mode!=="tab"?(vue.openBlock(),vue.createBlock(vue.unref(Se),{key:0,class:"default-theme",horizontal:vue.unref(te).mode!=="horizontal","push-other-panes":!1,style:{backgroundColor:"#fff"},onResize:vue.unref(le)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(te).child,(ge,we)=>(vue.openBlock(),vue.createBlock(vue.unref(Pe),{key:ge.id,style:vue.normalizeStyle(ge.css),size:ge.splitRate*100,"min-size":ge.gridData&&ge.gridData.type==="FORM"?10:0},{default:vue.withCtx(()=>[ge.mode==="tab"?(vue.openBlock(),vue.createBlock(me,{type:"border-card",key:ge.id},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ge.child,($e,Ee)=>(vue.openBlock(),vue.createBlock(ve,{key:$e.id,tab:vue.unref(Z)($e.name),label:vue.unref(Z)($e.name),title:vue.unref(Z)($e.name),forceRender:!0},{default:vue.withCtx(()=>[vue.createVNode(pe,{"layout-data":ge.child[Ee],"onUpdate:layoutData":xe=>ge.child[Ee]=xe},null,8,["layout-data","onUpdate:layoutData"])]),_:2},1032,["tab","label","title"]))),128))]),_:2},1024)):vue.createCommentVNode("",!0),ge.mode!=="tab"?(vue.openBlock(),vue.createBlock(pe,vue.mergeProps({key:1,"layout-data":vue.unref(te).child[we],"onUpdate:layoutData":$e=>vue.unref(te).child[we]=$e},{ref_for:!0},he.$attrs),null,16,["layout-data","onUpdate:layoutData"])):vue.createCommentVNode("",!0)]),_:2},1032,["style","size","min-size"]))),128))]),_:1},8,["horizontal","onResize"])):vue.createCommentVNode("",!0),vue.unref(te).child&&vue.unref(te).child.length>0&&vue.unref(te).mode==="tab"?(vue.openBlock(),vue.createBlock(me,{key:vue.unref(te).id},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(te).child,(ge,we)=>(vue.openBlock(),vue.createBlock(ve,{forceRender:!0,key:ge.id,tab:vue.unref(Z)(ge.name),label:vue.unref(Z)(ge.name),title:vue.unref(Z)(ge.name)},{default:vue.withCtx(()=>[vue.createVNode(pe,{"layout-data":vue.unref(te).child[we],"onUpdate:layoutData":$e=>vue.unref(te).child[we]=$e},null,8,["layout-data","onUpdate:layoutData"])]),_:2},1032,["tab","label","title"]))),128))]),_:1})):vue.createCommentVNode("",!0),vue.unref(te).gridData&&(!vue.unref(te).child||vue.unref(te).child.length===0)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.unref(te).gridData.type==="GRID"||vue.unref(te).gridData.type==="EDIT_GRID"||vue.unref(te).gridData.type==="TREE"||vue.unref(te).gridData.type==="TREE_STRUCTURE"?(vue.openBlock(),vue.createBlock(vue.unref(WindowGrid),vue.mergeProps({key:0,ref_key:"xGrid",ref:oe,gridData:vue.unref(te).gridData,"onUpdate:gridData":fe[0]||(fe[0]=ge=>vue.unref(te).gridData=ge)},he.$attrs),null,16,["gridData"])):vue.createCommentVNode("",!0),vue.unref(te).gridData.type==="FORM"?(vue.openBlock(),vue.createBlock(vue.unref(WindowForm),{key:1,ref_key:"xForm",ref:re,"form-config":vue.unref(te).gridData,"onUpdate:formConfig":fe[1]||(fe[1]=ge=>vue.unref(te).gridData=ge),onGridReload:ue},null,8,["form-config"])):vue.createCommentVNode("",!0),vue.unref(te).gridData.type=="LINK"||vue.unref(te).gridData.type=="COMPONENT"&&vue.unref(te).gridData.componentType=="VUE"?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(te).gridData.params.linkComponentView),{key:2,ref_key:"xLink",ref:ae,componentData:vue.unref(te).gridData.params},null,8,["componentData"])):vue.createCommentVNode("",!0),vue.unref(te).gridData.type=="COMPONENT"&&vue.unref(te).gridData.componentType=="ECHARTS"?(vue.openBlock(),vue.createBlock(vue.unref(WindowCharts),{key:3,ref_key:"xCharts",ref:se,componentData:vue.unref(te).gridData,"onUpdate:componentData":fe[2]||(fe[2]=ge=>vue.unref(te).gridData=ge)},null,8,["componentData"])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0)],2)}}},WindowLayout=_export_sfc(_sfc_main$j,[["__scopeId","data-v-7875314a"]]);WindowLayout.name="slw-window-layout",WindowLayout.install=G=>{G.component(WindowLayout.name,WindowLayout)};const _hoisted_1$l6=["src"],_sfc_main$i={__name:"custom-modal",props:{actionData:{type:Object,require:!0},title:{type:String,require:!0}},emits:["close"],setup(G,{emit:H}){const X=vue.inject("$componentMapping"),Q=vue.inject("$base64Encode"),K=vue.inject("$base64Decode"),Z=vue.inject("$t"),ee=G,te=H;let ne=vue.ref(!1),re=vue.shallowRef(),oe=vue.ref(!1),ae=vue.ref(1e3),se=vue.ref({}),le=vue.ref("88%"),ce=vue.ref(75),de=vue.ref();const ue=vue.inject("$components"),he=vue.inject("$componentsPath"),fe=()=>{ne.value=!1};vue.watch(()=>ee.actionData,async me=>{me.type==="show"?(ne.value=!0,me.params&&typeof me.params.width<"u"&&(le.value=me.params.width),me.params&&typeof me.params.height<"u"&&(typeof me.params.height=="number"||me.params.height.indexOf("px")>0?(ce.value=parseInt(me.params.height)/document.documentElement.clientHeight*100,ce.value=Math.floor(ce.value)):me.params.height.indexOf("%")>0||me.params.height.indexOf("vh")>0?ce.value=parseInt(me.params.height):ce.value=75),me.params&&typeof me.params.fullscreen<"u"&&(oe.value=me.params.fullscreen),me.params&&typeof me.params.zIndex<"u"&&(ae.value=me.params.zIndex),se.value=XEUtils.clone(vue.toRaw(me.params),!0),me.showComponent&&(re.value=(await ue[`${he}/${me.showComponent}`]()).default)):(re.value="",ne.value=!1)},{deep:!0});const pe=vue.computed(()=>{let me=ce.value?ce.value+"vh":"75vh";return oe.value&&(me="calc(100vh - 75px)"),me});function ve(){ce.value=75,le.value="88%",te("close")}return(me,ge)=>{const we=vue.resolveComponent("vxe-modal");return vue.openBlock(),vue.createBlock(we,{ref_key:"selfModal",ref:de,width:vue.unref(le),height:pe.value,modelValue:vue.unref(ne),"onUpdate:modelValue":ge[0]||(ge[0]=$e=>vue.isRef(ne)?ne.value=$e:ne=$e),fullscreen:vue.unref(oe),zIndex:vue.unref(ae),resize:"",draggable:"",transfer:"",position:"center","esc-closable":"","destroy-on-close":"",title:vue.unref(Z)(G.title),onClose:ve},{default:vue.withCtx(()=>[G.actionData.showComponent&&G.actionData.showComponent.indexOf("http")!==-1?(vue.openBlock(),vue.createElementBlock("iframe",{key:0,src:G.actionData.showComponent,frameborder:"0",width:"100%",height:"100%",scrolling:"auto",style:{"background-color":"#fff"}},null,8,_hoisted_1$l6)):vue.unref(re)?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(re)),{key:1,componentData:vue.unref(se),onClose:fe},null,40,["componentData"])):vue.createCommentVNode("",!0)]),_:1},8,["width","height","modelValue","fullscreen","zIndex","title"])}}};_sfc_main$i.name="slw-custom-modal",_sfc_main$i.install=G=>{G.component(_sfc_main$i.name,_sfc_main$i)};const _hoisted_1$l5=["src"],_sfc_main$h={__name:"custom-drawer",props:{actionData:{type:Object,require:!0},title:{type:String,require:!0}},emits:["close"],setup(G,{emit:H}){const X=vue.inject("$t"),Q=G,K=H;let Z=vue.ref(!1),ee=vue.shallowRef(),te=vue.ref(1e3),ne=vue.ref({}),re=vue.ref("40%"),oe=vue.ref("100%"),ae=vue.ref("right"),se=vue.ref(),le=vue.ref(!1),ce=vue.ref(!1),de=vue.ref(!1),ue=vue.ref(!1);const he=vue.inject("$components"),fe=vue.inject("$componentsPath"),pe=()=>{Z.value=!1};vue.watch(()=>Q.actionData,async me=>{me.type==="show"?(Z.value=!0,me.params&&(re.value=me.params.width??re.value,te.value=me.params.zIndex??te.value,ae.value=me.params.position??ae.value,ce.value=me.params.showFooter??ce.value,de.value=me.params.showCancelButton??de.value,ue.value=me.params.showConfirmButton??ue.value,typeof me.params.height<"u"&&(typeof me.params.height=="number"||me.params.height.indexOf("px")>0?(oe.value=parseInt(me.params.height)/document.documentElement.clientHeight*100,oe.value=Math.floor(oe.value)):me.params.height.indexOf("%")>0||me.params.height.indexOf("vh")>0?oe.value=me.params.height:oe.value="100%")),ne.value=XEUtils.clone(vue.toRaw(me.params),!0),me.showComponent&&(ee.value=(await he[`${fe}/${me.showComponent}`]()).default)):(ee.value="",Z.value=!1)},{deep:!0});function ve(me){K("close",me)}return(me,ge)=>{const we=vue.resolveComponent("vxe-drawer");return vue.openBlock(),vue.createBlock(we,{ref_key:"selfDrawer",ref:se,title:vue.unref(X)(G.title),modelValue:vue.unref(Z),"onUpdate:modelValue":ge[0]||(ge[0]=$e=>vue.isRef(Z)?Z.value=$e:Z=$e),width:vue.unref(re),height:vue.unref(oe),zIndex:vue.unref(te),position:vue.unref(ae),transfer:"","esc-closable":"","destroy-on-close":"",resize:"",loading:vue.unref(le),"show-footer":vue.unref(ce),"show-cancel-button":vue.unref(de),"show-confirm-button":vue.unref(ue),onConfirm:ge[1]||(ge[1]=$e=>ve("confirm")),onCancel:ge[2]||(ge[2]=$e=>ve("cancel")),onClose:ge[3]||(ge[3]=$e=>ve("close"))},{default:vue.withCtx(()=>[G.actionData.showComponent&&G.actionData.showComponent.indexOf("http")!==-1?(vue.openBlock(),vue.createElementBlock("iframe",{key:0,src:G.actionData.showComponent,frameborder:"0",width:"100%",height:"100%",scrolling:"auto",style:{"background-color":"#fff"}},null,8,_hoisted_1$l5)):vue.unref(ee)?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(ee)),{key:1,componentData:vue.unref(ne),onClose:pe},null,40,["componentData"])):vue.createCommentVNode("",!0)]),_:1},8,["title","modelValue","width","height","zIndex","position","loading","show-footer","show-cancel-button","show-confirm-button"])}}};_sfc_main$h.name="slw-custom-drawer",_sfc_main$h.install=G=>{G.component(_sfc_main$h.name,_sfc_main$h)};const _hoisted_1$l4=["src"],_sfc_main$g={__name:"preview-modal",props:{actionData:{type:Object,require:!0},title:{type:String,require:!0}},setup(G){const H=vue.inject("$componentMapping"),X=vue.inject("$components"),Q=vue.inject("$componentsPath"),K=vue.inject("$t"),Z=G;let ee=vue.ref(!1),te=vue.ref(""),ne=vue.ref(!1),re=vue.ref({}),oe=vue.ref(500),ae=vue.ref(400);const se=vue.ref();return vue.watch(()=>Z.actionData,async le=>{le.type==="show"?(ee.value=!0,le.params&&typeof le.params.width<"u"&&(oe.value=le.params.width),le.params&&typeof le.params.height<"u"&&(ae.value=le.params.height),le.params&&typeof le.params.fullscreen<"u"&&(ne.value=le.params.fullscreen),re.value=XEUtils.clone(vue.toRaw(le.params),!0),le.showComponent&&(te.value=(await X[`${Q}/${le.showComponent}`]()).default)):ee.value=!1},{deep:!0}),(le,ce)=>{const de=vue.resolveComponent("el-dialog");return vue.openBlock(),vue.createBlock(de,{ref_key:"selfModal",ref:se,width:vue.unref(oe),height:vue.unref(ae),modelValue:vue.unref(ee),"onUpdate:modelValue":ce[0]||(ce[0]=ue=>vue.isRef(ee)?ee.value=ue:ee=ue),fullscreen:vue.unref(ne),zIndex:1e3,draggable:"","append-to-body":"",transfer:"","destroy-on-close":"",title:vue.unref(K)(G.title)},{default:vue.withCtx(()=>[G.actionData.showComponent&&G.actionData.showComponent.indexOf("http")!==-1?(vue.openBlock(),vue.createElementBlock("iframe",{key:0,src:G.actionData.showComponent,frameborder:"0",width:"100%",height:"100%",scrolling:"auto",style:{"background-color":"#fff"}},null,8,_hoisted_1$l4)):(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(te)),{key:1,componentData:vue.unref(re)},null,8,["componentData"]))]),_:1},8,["width","height","modelValue","fullscreen","title"])}}};_sfc_main$g.name="slw-preview-modal",_sfc_main$g.install=G=>{G.component(_sfc_main$g.name,_sfc_main$g)};var isVue2=!1,isVue3=!0,Vue2=void 0;function install$3(){}function set$2(G,H,X){return Array.isArray(G)?(G.length=Math.max(G.length,H),G.splice(H,1,X),X):(G[H]=X,X)}function del(G,H){if(Array.isArray(G)){G.splice(H,1);return}delete G[H]}function computedEager(G,H){var X;const Q=vue.shallowRef();return vue.watchEffect(()=>{Q.value=G()},{...H,flush:(X=H==null?void 0:H.flush)!=null?X:"sync"}),vue.readonly(Q)}function computedWithControl(G,H){let X,Q,K;const Z=vue.ref(!0),ee=()=>{Z.value=!0,K()};vue.watch(G,ee,{flush:"sync"});const te=typeof H=="function"?H:H.get,ne=typeof H=="function"?void 0:H.set,re=vue.customRef((oe,ae)=>(Q=oe,K=ae,{get(){return Z.value&&(X=te(),Z.value=!1),Q(),X},set(se){ne==null||ne(se)}}));return Object.isExtensible(re)&&(re.trigger=ee),re}function tryOnScopeDispose(G){return vue.getCurrentScope()?(vue.onScopeDispose(G),!0):!1}function createEventHook(){const G=new Set,H=K=>{G.delete(K)};return{on:K=>{G.add(K);const Z=()=>H(K);return tryOnScopeDispose(Z),{off:Z}},off:H,trigger:(...K)=>Promise.all(Array.from(G).map(Z=>Z(...K)))}}function createGlobalState(G){let H=!1,X;const Q=vue.effectScope(!0);return(...K)=>(H||(X=Q.run(()=>G(...K)),H=!0),X)}const localProvidedStateMap=new WeakMap,provideLocal=(G,H)=>{var X;const Q=(X=vue.getCurrentInstance())==null?void 0:X.proxy;if(Q==null)throw new Error("provideLocal must be called in setup");localProvidedStateMap.has(Q)||localProvidedStateMap.set(Q,Object.create(null));const K=localProvidedStateMap.get(Q);K[G]=H,vue.provide(G,H)},injectLocal=(...G)=>{var H;const X=G[0],Q=(H=vue.getCurrentInstance())==null?void 0:H.proxy;if(Q==null)throw new Error("injectLocal must be called in setup");return localProvidedStateMap.has(Q)&&X in localProvidedStateMap.get(Q)?localProvidedStateMap.get(Q)[X]:vue.inject(...G)};function createInjectionState(G,H){const X=(H==null?void 0:H.injectionKey)||Symbol(G.name||"InjectionState"),Q=H==null?void 0:H.defaultValue;return[(...ee)=>{const te=G(...ee);return provideLocal(X,te),te},()=>injectLocal(X,Q)]}function createSharedComposable(G){let H=0,X,Q;const K=()=>{H-=1,Q&&H<=0&&(Q.stop(),X=void 0,Q=void 0)};return(...Z)=>(H+=1,X||(Q=vue.effectScope(!0),X=Q.run(()=>G(...Z))),tryOnScopeDispose(K),X)}function extendRef(G,H,{enumerable:X=!1,unwrap:Q=!0}={}){if(!isVue3&&!vue.version.startsWith("2.7.")){if(process.env.NODE_ENV!=="production")throw new Error("[VueUse] extendRef only works in Vue 2.7 or above.");return}for(const[K,Z]of Object.entries(H))K!=="value"&&(vue.isRef(Z)&&Q?Object.defineProperty(G,K,{get(){return Z.value},set(ee){Z.value=ee},enumerable:X}):Object.defineProperty(G,K,{value:Z,enumerable:X}));return G}function get$3(G,H){return H==null?vue.unref(G):vue.unref(G)[H]}function isDefined(G){return vue.unref(G)!=null}function makeDestructurable(G,H){if(typeof Symbol<"u"){const X={...G};return Object.defineProperty(X,Symbol.iterator,{enumerable:!1,value(){let Q=0;return{next:()=>({value:H[Q++],done:Q>H.length})}}}),X}else return Object.assign([...H],G)}function toValue(G){return typeof G=="function"?G():vue.unref(G)}const resolveUnref=toValue;function reactify(G,H){const X=(H==null?void 0:H.computedGetter)===!1?vue.unref:toValue;return function(...Q){return vue.computed(()=>G.apply(this,Q.map(K=>X(K))))}}function reactifyObject(G,H={}){let X=[],Q;if(Array.isArray(H))X=H;else{Q=H;const{includeOwnProperties:K=!0}=H;X.push(...Object.keys(G)),K&&X.push(...Object.getOwnPropertyNames(G))}return Object.fromEntries(X.map(K=>{const Z=G[K];return[K,typeof Z=="function"?reactify(Z.bind(G),Q):Z]}))}function toReactive$1(G){if(!vue.isRef(G))return vue.reactive(G);const H=new Proxy({},{get(X,Q,K){return vue.unref(Reflect.get(G.value,Q,K))},set(X,Q,K){return vue.isRef(G.value[Q])&&!vue.isRef(K)?G.value[Q].value=K:G.value[Q]=K,!0},deleteProperty(X,Q){return Reflect.deleteProperty(G.value,Q)},has(X,Q){return Reflect.has(G.value,Q)},ownKeys(){return Object.keys(G.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return vue.reactive(H)}function reactiveComputed(G){return toReactive$1(vue.computed(G))}function reactiveOmit(G,...H){const X=H.flat(),Q=X[0];return reactiveComputed(()=>Object.fromEntries(typeof Q=="function"?Object.entries(vue.toRefs(G)).filter(([K,Z])=>!Q(toValue(Z),K)):Object.entries(vue.toRefs(G)).filter(K=>!X.includes(K[0]))))}const isClient$1=typeof window<"u"&&typeof document<"u",isWorker=typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,isDef=G=>typeof G<"u",notNullish=G=>G!=null,assert=(G,...H)=>{G||console.warn(...H)},toString$2=Object.prototype.toString,isObject$4=G=>toString$2.call(G)==="[object Object]",now$3=()=>Date.now(),timestamp=()=>+Date.now(),clamp=(G,H,X)=>Math.min(X,Math.max(H,G)),noop$5=()=>{},rand=(G,H)=>(G=Math.ceil(G),H=Math.floor(H),Math.floor(Math.random()*(H-G+1))+G),hasOwn$3=(G,H)=>Object.prototype.hasOwnProperty.call(G,H),isIOS=getIsIOS();function getIsIOS(){var G,H;return isClient$1&&((G=window==null?void 0:window.navigator)==null?void 0:G.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((H=window==null?void 0:window.navigator)==null?void 0:H.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function createFilterWrapper(G,H){function X(...Q){return new Promise((K,Z)=>{Promise.resolve(G(()=>H.apply(this,Q),{fn:H,thisArg:this,args:Q})).then(K).catch(Z)})}return X}const bypassFilter=G=>G();function debounceFilter(G,H={}){let X,Q,K=noop$5;const Z=te=>{clearTimeout(te),K(),K=noop$5};return te=>{const ne=toValue(G),re=toValue(H.maxWait);return X&&Z(X),ne<=0||re!==void 0&&re<=0?(Q&&(Z(Q),Q=null),Promise.resolve(te())):new Promise((oe,ae)=>{K=H.rejectOnCancel?ae:oe,re&&!Q&&(Q=setTimeout(()=>{X&&Z(X),Q=null,oe(te())},re)),X=setTimeout(()=>{Q&&Z(Q),Q=null,oe(te())},ne)})}}function throttleFilter(...G){let H=0,X,Q=!0,K=noop$5,Z,ee,te,ne,re;!vue.isRef(G[0])&&typeof G[0]=="object"?{delay:ee,trailing:te=!0,leading:ne=!0,rejectOnCancel:re=!1}=G[0]:[ee,te=!0,ne=!0,re=!1]=G;const oe=()=>{X&&(clearTimeout(X),X=void 0,K(),K=noop$5)};return se=>{const le=toValue(ee),ce=Date.now()-H,de=()=>Z=se();return oe(),le<=0?(H=Date.now(),de()):(ce>le&&(ne||!Q)?(H=Date.now(),de()):te&&(Z=new Promise((ue,he)=>{K=re?he:ue,X=setTimeout(()=>{H=Date.now(),Q=!0,ue(de()),oe()},Math.max(0,le-ce))})),!ne&&!X&&(X=setTimeout(()=>Q=!0,le)),Q=!1,Z)}}function pausableFilter(G=bypassFilter){const H=vue.ref(!0);function X(){H.value=!1}function Q(){H.value=!0}const K=(...Z)=>{H.value&&G(...Z)};return{isActive:vue.readonly(H),pause:X,resume:Q,eventFilter:K}}const directiveHooks={mounted:isVue3?"mounted":"inserted",updated:isVue3?"updated":"componentUpdated",unmounted:isVue3?"unmounted":"unbind"};function cacheStringFunction$1(G){const H=Object.create(null);return X=>H[X]||(H[X]=G(X))}const hyphenateRE$1=/\B([A-Z])/g,hyphenate$1=cacheStringFunction$1(G=>G.replace(hyphenateRE$1,"-$1").toLowerCase()),camelizeRE$1=/-(\w)/g,camelize$2=cacheStringFunction$1(G=>G.replace(camelizeRE$1,(H,X)=>X?X.toUpperCase():""));function promiseTimeout(G,H=!1,X="Timeout"){return new Promise((Q,K)=>{setTimeout(H?()=>K(X):Q,G)})}function identity$1(G){return G}function createSingletonPromise(G){let H;function X(){return H||(H=G()),H}return X.reset=async()=>{const Q=H;H=void 0,Q&&await Q},X}function invoke(G){return G()}function containsProp(G,...H){return H.some(X=>X in G)}function increaseWithUnit(G,H){var X;if(typeof G=="number")return G+H;const Q=((X=G.match(/^-?\d+\.?\d*/))==null?void 0:X[0])||"",K=G.slice(Q.length),Z=Number.parseFloat(Q)+H;return Number.isNaN(Z)?G:Z+K}function objectPick(G,H,X=!1){return H.reduce((Q,K)=>(K in G&&(!X||G[K]!==void 0)&&(Q[K]=G[K]),Q),{})}function objectOmit(G,H,X=!1){return Object.fromEntries(Object.entries(G).filter(([Q,K])=>(!X||K!==void 0)&&!H.includes(Q)))}function objectEntries(G){return Object.entries(G)}function getLifeCycleTarget(G){return G||vue.getCurrentInstance()}function toRef(...G){if(G.length!==1)return vue.toRef(...G);const H=G[0];return typeof H=="function"?vue.readonly(vue.customRef(()=>({get:H,set:noop$5}))):vue.ref(H)}const resolveRef=toRef;function reactivePick(G,...H){const X=H.flat(),Q=X[0];return reactiveComputed(()=>Object.fromEntries(typeof Q=="function"?Object.entries(vue.toRefs(G)).filter(([K,Z])=>Q(toValue(Z),K)):X.map(K=>[K,toRef(G,K)])))}function refAutoReset(G,H=1e4){return vue.customRef((X,Q)=>{let K=toValue(G),Z;const ee=()=>setTimeout(()=>{K=toValue(G),Q()},toValue(H));return tryOnScopeDispose(()=>{clearTimeout(Z)}),{get(){return X(),K},set(te){K=te,Q(),clearTimeout(Z),Z=ee()}}})}function useDebounceFn(G,H=200,X={}){return createFilterWrapper(debounceFilter(H,X),G)}function refDebounced(G,H=200,X={}){const Q=vue.ref(G.value),K=useDebounceFn(()=>{Q.value=G.value},H,X);return vue.watch(G,()=>K()),Q}function refDefault(G,H){return vue.computed({get(){var X;return(X=G.value)!=null?X:H},set(X){G.value=X}})}function useThrottleFn(G,H=200,X=!1,Q=!0,K=!1){return createFilterWrapper(throttleFilter(H,X,Q,K),G)}function refThrottled(G,H=200,X=!0,Q=!0){if(H<=0)return G;const K=vue.ref(G.value),Z=useThrottleFn(()=>{K.value=G.value},H,X,Q);return vue.watch(G,()=>Z()),K}function refWithControl(G,H={}){let X=G,Q,K;const Z=vue.customRef((se,le)=>(Q=se,K=le,{get(){return ee()},set(ce){te(ce)}}));function ee(se=!0){return se&&Q(),X}function te(se,le=!0){var ce,de;if(se===X)return;const ue=X;((ce=H.onBeforeChange)==null?void 0:ce.call(H,se,ue))!==!1&&(X=se,(de=H.onChanged)==null||de.call(H,se,ue),le&&K())}return extendRef(Z,{get:ee,set:te,untrackedGet:()=>ee(!1),silentSet:se=>te(se,!1),peek:()=>ee(!1),lay:se=>te(se,!1)},{enumerable:!0})}const controlledRef=refWithControl;function set$1(...G){if(G.length===2){const[H,X]=G;H.value=X}if(G.length===3)if(isVue2)set$2(...G);else{const[H,X,Q]=G;H[X]=Q}}function watchWithFilter(G,H,X={}){const{eventFilter:Q=bypassFilter,...K}=X;return vue.watch(G,createFilterWrapper(Q,H),K)}function watchPausable(G,H,X={}){const{eventFilter:Q,...K}=X,{eventFilter:Z,pause:ee,resume:te,isActive:ne}=pausableFilter(Q);return{stop:watchWithFilter(G,H,{...K,eventFilter:Z}),pause:ee,resume:te,isActive:ne}}function syncRef(G,H,...[X]){const{flush:Q="sync",deep:K=!1,immediate:Z=!0,direction:ee="both",transform:te={}}=X||{},ne=[],re="ltr"in te&&te.ltr||(se=>se),oe="rtl"in te&&te.rtl||(se=>se);return(ee==="both"||ee==="ltr")&&ne.push(watchPausable(G,se=>{ne.forEach(le=>le.pause()),H.value=re(se),ne.forEach(le=>le.resume())},{flush:Q,deep:K,immediate:Z})),(ee==="both"||ee==="rtl")&&ne.push(watchPausable(H,se=>{ne.forEach(le=>le.pause()),G.value=oe(se),ne.forEach(le=>le.resume())},{flush:Q,deep:K,immediate:Z})),()=>{ne.forEach(se=>se.stop())}}function syncRefs(G,H,X={}){const{flush:Q="sync",deep:K=!1,immediate:Z=!0}=X;return Array.isArray(H)||(H=[H]),vue.watch(G,ee=>H.forEach(te=>te.value=ee),{flush:Q,deep:K,immediate:Z})}function toRefs(G,H={}){if(!vue.isRef(G))return vue.toRefs(G);const X=Array.isArray(G.value)?Array.from({length:G.value.length}):{};for(const Q in G.value)X[Q]=vue.customRef(()=>({get(){return G.value[Q]},set(K){var Z;if((Z=toValue(H.replaceRef))!=null?Z:!0)if(Array.isArray(G.value)){const te=[...G.value];te[Q]=K,G.value=te}else{const te={...G.value,[Q]:K};Object.setPrototypeOf(te,Object.getPrototypeOf(G.value)),G.value=te}else G.value[Q]=K}}));return X}function tryOnBeforeMount(G,H=!0,X){getLifeCycleTarget(X)?vue.onBeforeMount(G,X):H?G():vue.nextTick(G)}function tryOnBeforeUnmount(G,H){getLifeCycleTarget(H)&&vue.onBeforeUnmount(G,H)}function tryOnMounted(G,H=!0,X){getLifeCycleTarget()?vue.onMounted(G,X):H?G():vue.nextTick(G)}function tryOnUnmounted(G,H){getLifeCycleTarget(H)&&vue.onUnmounted(G,H)}function createUntil(G,H=!1){function X(ae,{flush:se="sync",deep:le=!1,timeout:ce,throwOnTimeout:de}={}){let ue=null;const fe=[new Promise(pe=>{ue=vue.watch(G,ve=>{ae(ve)!==H&&(ue==null||ue(),pe(ve))},{flush:se,deep:le,immediate:!0})})];return ce!=null&&fe.push(promiseTimeout(ce,de).then(()=>toValue(G)).finally(()=>ue==null?void 0:ue())),Promise.race(fe)}function Q(ae,se){if(!vue.isRef(ae))return X(ve=>ve===ae,se);const{flush:le="sync",deep:ce=!1,timeout:de,throwOnTimeout:ue}=se??{};let he=null;const pe=[new Promise(ve=>{he=vue.watch([G,ae],([me,ge])=>{H!==(me===ge)&&(he==null||he(),ve(me))},{flush:le,deep:ce,immediate:!0})})];return de!=null&&pe.push(promiseTimeout(de,ue).then(()=>toValue(G)).finally(()=>(he==null||he(),toValue(G)))),Promise.race(pe)}function K(ae){return X(se=>!!se,ae)}function Z(ae){return Q(null,ae)}function ee(ae){return Q(void 0,ae)}function te(ae){return X(Number.isNaN,ae)}function ne(ae,se){return X(le=>{const ce=Array.from(le);return ce.includes(ae)||ce.includes(toValue(ae))},se)}function re(ae){return oe(1,ae)}function oe(ae=1,se){let le=-1;return X(()=>(le+=1,le>=ae),se)}return Array.isArray(toValue(G))?{toMatch:X,toContains:ne,changed:re,changedTimes:oe,get not(){return createUntil(G,!H)}}:{toMatch:X,toBe:Q,toBeTruthy:K,toBeNull:Z,toBeNaN:te,toBeUndefined:ee,changed:re,changedTimes:oe,get not(){return createUntil(G,!H)}}}function until(G){return createUntil(G)}function defaultComparator(G,H){return G===H}function useArrayDifference(...G){var H;const X=G[0],Q=G[1];let K=(H=G[2])!=null?H:defaultComparator;if(typeof K=="string"){const Z=K;K=(ee,te)=>ee[Z]===te[Z]}return vue.computed(()=>toValue(X).filter(Z=>toValue(Q).findIndex(ee=>K(Z,ee))===-1))}function useArrayEvery(G,H){return vue.computed(()=>toValue(G).every((X,Q,K)=>H(toValue(X),Q,K)))}function useArrayFilter(G,H){return vue.computed(()=>toValue(G).map(X=>toValue(X)).filter(H))}function useArrayFind(G,H){return vue.computed(()=>toValue(toValue(G).find((X,Q,K)=>H(toValue(X),Q,K))))}function useArrayFindIndex(G,H){return vue.computed(()=>toValue(G).findIndex((X,Q,K)=>H(toValue(X),Q,K)))}function findLast(G,H){let X=G.length;for(;X-- >0;)if(H(G[X],X,G))return G[X]}function useArrayFindLast(G,H){return vue.computed(()=>toValue(Array.prototype.findLast?toValue(G).findLast((X,Q,K)=>H(toValue(X),Q,K)):findLast(toValue(G),(X,Q,K)=>H(toValue(X),Q,K))))}function isArrayIncludesOptions(G){return isObject$4(G)&&containsProp(G,"formIndex","comparator")}function useArrayIncludes(...G){var H;const X=G[0],Q=G[1];let K=G[2],Z=0;if(isArrayIncludesOptions(K)&&(Z=(H=K.fromIndex)!=null?H:0,K=K.comparator),typeof K=="string"){const ee=K;K=(te,ne)=>te[ee]===toValue(ne)}return K=K??((ee,te)=>ee===toValue(te)),vue.computed(()=>toValue(X).slice(Z).some((ee,te,ne)=>K(toValue(ee),toValue(Q),te,toValue(ne))))}function useArrayJoin(G,H){return vue.computed(()=>toValue(G).map(X=>toValue(X)).join(toValue(H)))}function useArrayMap(G,H){return vue.computed(()=>toValue(G).map(X=>toValue(X)).map(H))}function useArrayReduce(G,H,...X){const Q=(K,Z,ee)=>H(toValue(K),toValue(Z),ee);return vue.computed(()=>{const K=toValue(G);return X.length?K.reduce(Q,toValue(X[0])):K.reduce(Q)})}function useArraySome(G,H){return vue.computed(()=>toValue(G).some((X,Q,K)=>H(toValue(X),Q,K)))}function uniq$1(G){return Array.from(new Set(G))}function uniqueElementsBy(G,H){return G.reduce((X,Q)=>(X.some(K=>H(Q,K,G))||X.push(Q),X),[])}function useArrayUnique(G,H){return vue.computed(()=>{const X=toValue(G).map(Q=>toValue(Q));return H?uniqueElementsBy(X,H):uniq$1(X)})}function useCounter(G=0,H={}){let X=vue.unref(G);const Q=vue.ref(G),{max:K=Number.POSITIVE_INFINITY,min:Z=Number.NEGATIVE_INFINITY}=H,ee=(ae=1)=>Q.value=Math.max(Math.min(K,Q.value+ae),Z),te=(ae=1)=>Q.value=Math.min(Math.max(Z,Q.value-ae),K),ne=()=>Q.value,re=ae=>Q.value=Math.max(Z,Math.min(K,ae));return{count:Q,inc:ee,dec:te,get:ne,set:re,reset:(ae=X)=>(X=ae,re(ae))}}const REGEX_PARSE=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i,REGEX_FORMAT=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function defaultMeridiem(G,H,X,Q){let K=G<12?"AM":"PM";return Q&&(K=K.split("").reduce((Z,ee)=>Z+=`${ee}.`,"")),X?K.toLowerCase():K}function formatOrdinal(G){const H=["th","st","nd","rd"],X=G%100;return G+(H[(X-20)%10]||H[X]||H[0])}function formatDate(G,H,X={}){var Q;const K=G.getFullYear(),Z=G.getMonth(),ee=G.getDate(),te=G.getHours(),ne=G.getMinutes(),re=G.getSeconds(),oe=G.getMilliseconds(),ae=G.getDay(),se=(Q=X.customMeridiem)!=null?Q:defaultMeridiem,le={Yo:()=>formatOrdinal(K),YY:()=>String(K).slice(-2),YYYY:()=>K,M:()=>Z+1,Mo:()=>formatOrdinal(Z+1),MM:()=>`${Z+1}`.padStart(2,"0"),MMM:()=>G.toLocaleDateString(X.locales,{month:"short"}),MMMM:()=>G.toLocaleDateString(X.locales,{month:"long"}),D:()=>String(ee),Do:()=>formatOrdinal(ee),DD:()=>`${ee}`.padStart(2,"0"),H:()=>String(te),Ho:()=>formatOrdinal(te),HH:()=>`${te}`.padStart(2,"0"),h:()=>`${te%12||12}`.padStart(1,"0"),ho:()=>formatOrdinal(te%12||12),hh:()=>`${te%12||12}`.padStart(2,"0"),m:()=>String(ne),mo:()=>formatOrdinal(ne),mm:()=>`${ne}`.padStart(2,"0"),s:()=>String(re),so:()=>formatOrdinal(re),ss:()=>`${re}`.padStart(2,"0"),SSS:()=>`${oe}`.padStart(3,"0"),d:()=>ae,dd:()=>G.toLocaleDateString(X.locales,{weekday:"narrow"}),ddd:()=>G.toLocaleDateString(X.locales,{weekday:"short"}),dddd:()=>G.toLocaleDateString(X.locales,{weekday:"long"}),A:()=>se(te,ne),AA:()=>se(te,ne,!1,!0),a:()=>se(te,ne,!0),aa:()=>se(te,ne,!0,!0)};return H.replace(REGEX_FORMAT,(ce,de)=>{var ue,he;return(he=de??((ue=le[ce])==null?void 0:ue.call(le)))!=null?he:ce})}function normalizeDate(G){if(G===null)return new Date(Number.NaN);if(G===void 0)return new Date;if(G instanceof Date)return new Date(G);if(typeof G=="string"&&!/Z$/i.test(G)){const H=G.match(REGEX_PARSE);if(H){const X=H[2]-1||0,Q=(H[7]||"0").substring(0,3);return new Date(H[1],X,H[3]||1,H[4]||0,H[5]||0,H[6]||0,Q)}}return new Date(G)}function useDateFormat(G,H="HH:mm:ss",X={}){return vue.computed(()=>formatDate(normalizeDate(toValue(G)),toValue(H),X))}function useIntervalFn(G,H=1e3,X={}){const{immediate:Q=!0,immediateCallback:K=!1}=X;let Z=null;const ee=vue.ref(!1);function te(){Z&&(clearInterval(Z),Z=null)}function ne(){ee.value=!1,te()}function re(){const oe=toValue(H);oe<=0||(ee.value=!0,K&&G(),te(),Z=setInterval(G,oe))}if(Q&&isClient$1&&re(),vue.isRef(H)||typeof H=="function"){const oe=vue.watch(H,()=>{ee.value&&isClient$1&&re()});tryOnScopeDispose(oe)}return tryOnScopeDispose(ne),{isActive:ee,pause:ne,resume:re}}function useInterval(G=1e3,H={}){const{controls:X=!1,immediate:Q=!0,callback:K}=H,Z=vue.ref(0),ee=()=>Z.value+=1,te=()=>{Z.value=0},ne=useIntervalFn(K?()=>{ee(),K(Z.value)}:ee,G,{immediate:Q});return X?{counter:Z,reset:te,...ne}:Z}function useLastChanged(G,H={}){var X;const Q=vue.ref((X=H.initialValue)!=null?X:null);return vue.watch(G,()=>Q.value=timestamp(),H),Q}function useTimeoutFn(G,H,X={}){const{immediate:Q=!0}=X,K=vue.ref(!1);let Z=null;function ee(){Z&&(clearTimeout(Z),Z=null)}function te(){K.value=!1,ee()}function ne(...re){ee(),K.value=!0,Z=setTimeout(()=>{K.value=!1,Z=null,G(...re)},toValue(H))}return Q&&(K.value=!0,isClient$1&&ne()),tryOnScopeDispose(te),{isPending:vue.readonly(K),start:ne,stop:te}}function useTimeout(G=1e3,H={}){const{controls:X=!1,callback:Q}=H,K=useTimeoutFn(Q??noop$5,G,H),Z=vue.computed(()=>!K.isPending.value);return X?{ready:Z,...K}:Z}function useToNumber(G,H={}){const{method:X="parseFloat",radix:Q,nanToZero:K}=H;return vue.computed(()=>{let Z=toValue(G);return typeof Z=="string"&&(Z=Number[X](Z,Q)),K&&Number.isNaN(Z)&&(Z=0),Z})}function useToString(G){return vue.computed(()=>`${toValue(G)}`)}function useToggle(G=!1,H={}){const{truthyValue:X=!0,falsyValue:Q=!1}=H,K=vue.isRef(G),Z=vue.ref(G);function ee(te){if(arguments.length)return Z.value=te,Z.value;{const ne=toValue(X);return Z.value=Z.value===ne?toValue(Q):ne,Z.value}}return K?ee:[Z,ee]}function watchArray(G,H,X){let Q=X!=null&&X.immediate?[]:[...G instanceof Function?G():Array.isArray(G)?G:toValue(G)];return vue.watch(G,(K,Z,ee)=>{const te=Array.from({length:Q.length}),ne=[];for(const oe of K){let ae=!1;for(let se=0;se<Q.length;se++)if(!te[se]&&oe===Q[se]){te[se]=!0,ae=!0;break}ae||ne.push(oe)}const re=Q.filter((oe,ae)=>!te[ae]);H(K,Q,ne,re,ee),Q=[...K]},X)}function watchAtMost(G,H,X){const{count:Q,...K}=X,Z=vue.ref(0),ee=watchWithFilter(G,(...te)=>{Z.value+=1,Z.value>=toValue(Q)&&vue.nextTick(()=>ee()),H(...te)},K);return{count:Z,stop:ee}}function watchDebounced(G,H,X={}){const{debounce:Q=0,maxWait:K=void 0,...Z}=X;return watchWithFilter(G,H,{...Z,eventFilter:debounceFilter(Q,{maxWait:K})})}function watchDeep(G,H,X){return vue.watch(G,H,{...X,deep:!0})}function watchIgnorable(G,H,X={}){const{eventFilter:Q=bypassFilter,...K}=X,Z=createFilterWrapper(Q,H);let ee,te,ne;if(K.flush==="sync"){const re=vue.ref(!1);te=()=>{},ee=oe=>{re.value=!0,oe(),re.value=!1},ne=vue.watch(G,(...oe)=>{re.value||Z(...oe)},K)}else{const re=[],oe=vue.ref(0),ae=vue.ref(0);te=()=>{oe.value=ae.value},re.push(vue.watch(G,()=>{ae.value++},{...K,flush:"sync"})),ee=se=>{const le=ae.value;se(),oe.value+=ae.value-le},re.push(vue.watch(G,(...se)=>{const le=oe.value>0&&oe.value===ae.value;oe.value=0,ae.value=0,!le&&Z(...se)},K)),ne=()=>{re.forEach(se=>se())}}return{stop:ne,ignoreUpdates:ee,ignorePrevAsyncUpdates:te}}function watchImmediate(G,H,X){return vue.watch(G,H,{...X,immediate:!0})}function watchOnce(G,H,X){const Q=vue.watch(G,(...K)=>(vue.nextTick(()=>Q()),H(...K)),X);return Q}function watchThrottled(G,H,X={}){const{throttle:Q=0,trailing:K=!0,leading:Z=!0,...ee}=X;return watchWithFilter(G,H,{...ee,eventFilter:throttleFilter(Q,K,Z)})}function watchTriggerable(G,H,X={}){let Q;function K(){if(!Q)return;const oe=Q;Q=void 0,oe()}function Z(oe){Q=oe}const ee=(oe,ae)=>(K(),H(oe,ae,Z)),te=watchIgnorable(G,ee,X),{ignoreUpdates:ne}=te;return{...te,trigger:()=>{let oe;return ne(()=>{oe=ee(getWatchSources(G),getOldValue(G))}),oe}}}function getWatchSources(G){return vue.isReactive(G)?G:Array.isArray(G)?G.map(H=>toValue(H)):toValue(G)}function getOldValue(G){return Array.isArray(G)?G.map(()=>{}):void 0}function whenever(G,H,X){const Q=vue.watch(G,(K,Z,ee)=>{K&&(X!=null&&X.once&&vue.nextTick(()=>Q()),H(K,Z,ee))},{...X,once:!1});return Q}function computedAsync(G,H,X){let Q;vue.isRef(X)?Q={evaluating:X}:Q=X||{};const{lazy:K=!1,evaluating:Z=void 0,shallow:ee=!0,onError:te=noop$5}=Q,ne=vue.ref(!K),re=ee?vue.shallowRef(H):vue.ref(H);let oe=0;return vue.watchEffect(async ae=>{if(!ne.value)return;oe++;const se=oe;let le=!1;Z&&Promise.resolve().then(()=>{Z.value=!0});try{const ce=await G(de=>{ae(()=>{Z&&(Z.value=!1),le||de()})});se===oe&&(re.value=ce)}catch(ce){te(ce)}finally{Z&&se===oe&&(Z.value=!1),le=!0}}),K?vue.computed(()=>(ne.value=!0,re.value)):re}function computedInject(G,H,X,Q){let K=vue.inject(G);return X&&(K=vue.inject(G,X)),Q&&(K=vue.inject(G,X,Q)),typeof H=="function"?vue.computed(Z=>H(K,Z)):vue.computed({get:Z=>H.get(K,Z),set:H.set})}function createReusableTemplate(G={}){if(!isVue3&&!vue.version.startsWith("2.7.")){if(process.env.NODE_ENV!=="production")throw new Error("[VueUse] createReusableTemplate only works in Vue 2.7 or above.");return}const{inheritAttrs:H=!0}=G,X=vue.shallowRef(),Q=vue.defineComponent({setup(Z,{slots:ee}){return()=>{X.value=ee.default}}}),K=vue.defineComponent({inheritAttrs:H,setup(Z,{attrs:ee,slots:te}){return()=>{var ne;if(!X.value&&process.env.NODE_ENV!=="production")throw new Error("[VueUse] Failed to find the definition of reusable template");const re=(ne=X.value)==null?void 0:ne.call(X,{...keysToCamelKebabCase(ee),$slots:te});return H&&(re==null?void 0:re.length)===1?re[0]:re}}});return makeDestructurable({define:Q,reuse:K},[Q,K])}function keysToCamelKebabCase(G){const H={};for(const X in G)H[camelize$2(X)]=G[X];return H}function createTemplatePromise(G={}){if(!isVue3){if(process.env.NODE_ENV!=="production")throw new Error("[VueUse] createTemplatePromise only works in Vue 3 or above.");return}let H=0;const X=vue.ref([]);function Q(...ee){const te=vue.shallowReactive({key:H++,args:ee,promise:void 0,resolve:()=>{},reject:()=>{},isResolving:!1,options:G});return X.value.push(te),te.promise=new Promise((ne,re)=>{te.resolve=oe=>(te.isResolving=!0,ne(oe)),te.reject=re}).finally(()=>{te.promise=void 0;const ne=X.value.indexOf(te);ne!==-1&&X.value.splice(ne,1)}),te.promise}function K(...ee){return G.singleton&&X.value.length>0?X.value[0].promise:Q(...ee)}const Z=vue.defineComponent((ee,{slots:te})=>{const ne=()=>X.value.map(re=>{var oe;return vue.h(vue.Fragment,{key:re.key},(oe=te.default)==null?void 0:oe.call(te,re))});return G.transition?()=>vue.h(vue.TransitionGroup,G.transition,ne):ne});return Z.start=K,Z}function createUnrefFn(G){return function(...H){return G.apply(this,H.map(X=>toValue(X)))}}function unrefElement(G){var H;const X=toValue(G);return(H=X==null?void 0:X.$el)!=null?H:X}const defaultWindow=isClient$1?window:void 0,defaultDocument=isClient$1?window.document:void 0,defaultNavigator=isClient$1?window.navigator:void 0,defaultLocation=isClient$1?window.location:void 0;function useEventListener(...G){let H,X,Q,K;if(typeof G[0]=="string"||Array.isArray(G[0])?([X,Q,K]=G,H=defaultWindow):[H,X,Q,K]=G,!H)return noop$5;Array.isArray(X)||(X=[X]),Array.isArray(Q)||(Q=[Q]);const Z=[],ee=()=>{Z.forEach(oe=>oe()),Z.length=0},te=(oe,ae,se,le)=>(oe.addEventListener(ae,se,le),()=>oe.removeEventListener(ae,se,le)),ne=vue.watch(()=>[unrefElement(H),toValue(K)],([oe,ae])=>{if(ee(),!oe)return;const se=isObject$4(ae)?{...ae}:ae;Z.push(...X.flatMap(le=>Q.map(ce=>te(oe,le,ce,se))))},{immediate:!0,flush:"post"}),re=()=>{ne(),ee()};return tryOnScopeDispose(re),re}let _iOSWorkaround=!1;function onClickOutside(G,H,X={}){const{window:Q=defaultWindow,ignore:K=[],capture:Z=!0,detectIframe:ee=!1}=X;if(!Q)return noop$5;isIOS&&!_iOSWorkaround&&(_iOSWorkaround=!0,Array.from(Q.document.body.children).forEach(se=>se.addEventListener("click",noop$5)),Q.document.documentElement.addEventListener("click",noop$5));let te=!0;const ne=se=>K.some(le=>{if(typeof le=="string")return Array.from(Q.document.querySelectorAll(le)).some(ce=>ce===se.target||se.composedPath().includes(ce));{const ce=unrefElement(le);return ce&&(se.target===ce||se.composedPath().includes(ce))}}),oe=[useEventListener(Q,"click",se=>{const le=unrefElement(G);if(!(!le||le===se.target||se.composedPath().includes(le))){if(se.detail===0&&(te=!ne(se)),!te){te=!0;return}H(se)}},{passive:!0,capture:Z}),useEventListener(Q,"pointerdown",se=>{const le=unrefElement(G);te=!ne(se)&&!!(le&&!se.composedPath().includes(le))},{passive:!0}),ee&&useEventListener(Q,"blur",se=>{setTimeout(()=>{var le;const ce=unrefElement(G);((le=Q.document.activeElement)==null?void 0:le.tagName)==="IFRAME"&&!(ce!=null&&ce.contains(Q.document.activeElement))&&H(se)},0)})].filter(Boolean);return()=>oe.forEach(se=>se())}function createKeyPredicate(G){return typeof G=="function"?G:typeof G=="string"?H=>H.key===G:Array.isArray(G)?H=>G.includes(H.key):()=>!0}function onKeyStroke(...G){let H,X,Q={};G.length===3?(H=G[0],X=G[1],Q=G[2]):G.length===2?typeof G[1]=="object"?(H=!0,X=G[0],Q=G[1]):(H=G[0],X=G[1]):(H=!0,X=G[0]);const{target:K=defaultWindow,eventName:Z="keydown",passive:ee=!1,dedupe:te=!1}=Q,ne=createKeyPredicate(H);return useEventListener(K,Z,oe=>{oe.repeat&&toValue(te)||ne(oe)&&X(oe)},ee)}function onKeyDown(G,H,X={}){return onKeyStroke(G,H,{...X,eventName:"keydown"})}function onKeyPressed(G,H,X={}){return onKeyStroke(G,H,{...X,eventName:"keypress"})}function onKeyUp(G,H,X={}){return onKeyStroke(G,H,{...X,eventName:"keyup"})}const DEFAULT_DELAY=500,DEFAULT_THRESHOLD=10;function onLongPress(G,H,X){var Q,K;const Z=vue.computed(()=>unrefElement(G));let ee,te,ne,re=!1;function oe(){ee&&(clearTimeout(ee),ee=void 0),te=void 0,ne=void 0,re=!1}function ae(he){var fe,pe,ve;const[me,ge,we]=[ne,te,re];if(oe(),!(X!=null&&X.onMouseUp)||!ge||!me||(fe=X==null?void 0:X.modifiers)!=null&&fe.self&&he.target!==Z.value)return;(pe=X==null?void 0:X.modifiers)!=null&&pe.prevent&&he.preventDefault(),(ve=X==null?void 0:X.modifiers)!=null&&ve.stop&&he.stopPropagation();const $e=he.x-ge.x,Ee=he.y-ge.y,xe=Math.sqrt($e*$e+Ee*Ee);X.onMouseUp(he.timeStamp-me,xe,we)}function se(he){var fe,pe,ve,me;(fe=X==null?void 0:X.modifiers)!=null&&fe.self&&he.target!==Z.value||(oe(),(pe=X==null?void 0:X.modifiers)!=null&&pe.prevent&&he.preventDefault(),(ve=X==null?void 0:X.modifiers)!=null&&ve.stop&&he.stopPropagation(),te={x:he.x,y:he.y},ne=he.timeStamp,ee=setTimeout(()=>{re=!0,H(he)},(me=X==null?void 0:X.delay)!=null?me:DEFAULT_DELAY))}function le(he){var fe,pe,ve,me;if((fe=X==null?void 0:X.modifiers)!=null&&fe.self&&he.target!==Z.value||!te||(X==null?void 0:X.distanceThreshold)===!1)return;(pe=X==null?void 0:X.modifiers)!=null&&pe.prevent&&he.preventDefault(),(ve=X==null?void 0:X.modifiers)!=null&&ve.stop&&he.stopPropagation();const ge=he.x-te.x,we=he.y-te.y;Math.sqrt(ge*ge+we*we)>=((me=X==null?void 0:X.distanceThreshold)!=null?me:DEFAULT_THRESHOLD)&&oe()}const ce={capture:(Q=X==null?void 0:X.modifiers)==null?void 0:Q.capture,once:(K=X==null?void 0:X.modifiers)==null?void 0:K.once},de=[useEventListener(Z,"pointerdown",se,ce),useEventListener(Z,"pointermove",le,ce),useEventListener(Z,["pointerup","pointerleave"],ae,ce)];return()=>de.forEach(he=>he())}function isFocusedElementEditable(){const{activeElement:G,body:H}=document;if(!G||G===H)return!1;switch(G.tagName){case"INPUT":case"TEXTAREA":return!0}return G.hasAttribute("contenteditable")}function isTypedCharValid({keyCode:G,metaKey:H,ctrlKey:X,altKey:Q}){return H||X||Q?!1:G>=48&&G<=57||G>=65&&G<=90||G>=97&&G<=122}function onStartTyping(G,H={}){const{document:X=defaultDocument}=H;X&&useEventListener(X,"keydown",K=>{!isFocusedElementEditable()&&isTypedCharValid(K)&&G(K)},{passive:!0})}function templateRef(G,H=null){const X=vue.getCurrentInstance();let Q=()=>{};const K=vue.customRef((Z,ee)=>(Q=ee,{get(){var te,ne;return Z(),(ne=(te=X==null?void 0:X.proxy)==null?void 0:te.$refs[G])!=null?ne:H},set(){}}));return tryOnMounted(Q),vue.onUpdated(Q),K}function useMounted(){const G=vue.ref(!1),H=vue.getCurrentInstance();return H&&vue.onMounted(()=>{G.value=!0},isVue2?void 0:H),G}function useSupported(G){const H=useMounted();return vue.computed(()=>(H.value,!!G()))}function useMutationObserver(G,H,X={}){const{window:Q=defaultWindow,...K}=X;let Z;const ee=useSupported(()=>Q&&"MutationObserver"in Q),te=()=>{Z&&(Z.disconnect(),Z=void 0)},ne=vue.computed(()=>{const se=toValue(G),le=(Array.isArray(se)?se:[se]).map(unrefElement).filter(notNullish);return new Set(le)}),re=vue.watch(()=>ne.value,se=>{te(),ee.value&&se.size&&(Z=new MutationObserver(H),se.forEach(le=>Z.observe(le,K)))},{immediate:!0,flush:"post"}),oe=()=>Z==null?void 0:Z.takeRecords(),ae=()=>{te(),re()};return tryOnScopeDispose(ae),{isSupported:ee,stop:ae,takeRecords:oe}}function useActiveElement(G={}){var H;const{window:X=defaultWindow,deep:Q=!0,triggerOnRemoval:K=!1}=G,Z=(H=G.document)!=null?H:X==null?void 0:X.document,ee=()=>{var re;let oe=Z==null?void 0:Z.activeElement;if(Q)for(;oe!=null&&oe.shadowRoot;)oe=(re=oe==null?void 0:oe.shadowRoot)==null?void 0:re.activeElement;return oe},te=vue.ref(),ne=()=>{te.value=ee()};return X&&(useEventListener(X,"blur",re=>{re.relatedTarget===null&&ne()},!0),useEventListener(X,"focus",ne,!0)),K&&useMutationObserver(Z,re=>{re.filter(oe=>oe.removedNodes.length).map(oe=>Array.from(oe.removedNodes)).flat().forEach(oe=>{oe===te.value&&ne()})},{childList:!0,subtree:!0}),ne(),te}function useRafFn(G,H={}){const{immediate:X=!0,fpsLimit:Q=void 0,window:K=defaultWindow}=H,Z=vue.ref(!1),ee=Q?1e3/Q:null;let te=0,ne=null;function re(se){if(!Z.value||!K)return;te||(te=se);const le=se-te;if(ee&&le<ee){ne=K.requestAnimationFrame(re);return}te=se,G({delta:le,timestamp:se}),ne=K.requestAnimationFrame(re)}function oe(){!Z.value&&K&&(Z.value=!0,te=0,ne=K.requestAnimationFrame(re))}function ae(){Z.value=!1,ne!=null&&K&&(K.cancelAnimationFrame(ne),ne=null)}return X&&oe(),tryOnScopeDispose(ae),{isActive:vue.readonly(Z),pause:ae,resume:oe}}function useAnimate(G,H,X){let Q,K;isObject$4(X)?(Q=X,K=objectOmit(X,["window","immediate","commitStyles","persist","onReady","onError"])):(Q={duration:X},K=X);const{window:Z=defaultWindow,immediate:ee=!0,commitStyles:te,persist:ne,playbackRate:re=1,onReady:oe,onError:ae=_e=>{console.error(_e)}}=Q,se=useSupported(()=>Z&&HTMLElement&&"animate"in HTMLElement.prototype),le=vue.shallowRef(void 0),ce=vue.shallowReactive({startTime:null,currentTime:null,timeline:null,playbackRate:re,pending:!1,playState:ee?"idle":"paused",replaceState:"active"}),de=vue.computed(()=>ce.pending),ue=vue.computed(()=>ce.playState),he=vue.computed(()=>ce.replaceState),fe=vue.computed({get(){return ce.startTime},set(_e){ce.startTime=_e,le.value&&(le.value.startTime=_e)}}),pe=vue.computed({get(){return ce.currentTime},set(_e){ce.currentTime=_e,le.value&&(le.value.currentTime=_e,Oe())}}),ve=vue.computed({get(){return ce.timeline},set(_e){ce.timeline=_e,le.value&&(le.value.timeline=_e)}}),me=vue.computed({get(){return ce.playbackRate},set(_e){ce.playbackRate=_e,le.value&&(le.value.playbackRate=_e)}}),ge=()=>{if(le.value)try{le.value.play(),Oe()}catch(_e){Ne(),ae(_e)}else Me()},we=()=>{var _e;try{(_e=le.value)==null||_e.pause(),Ne()}catch(ye){ae(ye)}},$e=()=>{var _e;!le.value&&Me();try{(_e=le.value)==null||_e.reverse(),Oe()}catch(ye){Ne(),ae(ye)}},Ee=()=>{var _e;try{(_e=le.value)==null||_e.finish(),Ne()}catch(ye){ae(ye)}},xe=()=>{var _e;try{(_e=le.value)==null||_e.cancel(),Ne()}catch(ye){ae(ye)}};vue.watch(()=>unrefElement(G),_e=>{_e&&Me()}),vue.watch(()=>H,_e=>{!le.value&&Me(),!unrefElement(G)&&le.value&&(le.value.effect=new KeyframeEffect(unrefElement(G),toValue(_e),K))},{deep:!0}),tryOnMounted(()=>{vue.nextTick(()=>Me(!0))}),tryOnScopeDispose(xe);function Me(_e){const ye=unrefElement(G);!se.value||!ye||(le.value||(le.value=ye.animate(toValue(H),K)),ne&&le.value.persist(),re!==1&&(le.value.playbackRate=re),_e&&!ee?le.value.pause():Oe(),oe==null||oe(le.value))}useEventListener(le,["cancel","finish","remove"],Ne),useEventListener(le,"finish",()=>{var _e;te&&((_e=le.value)==null||_e.commitStyles())});const{resume:De,pause:ke}=useRafFn(()=>{le.value&&(ce.pending=le.value.pending,ce.playState=le.value.playState,ce.replaceState=le.value.replaceState,ce.startTime=le.value.startTime,ce.currentTime=le.value.currentTime,ce.timeline=le.value.timeline,ce.playbackRate=le.value.playbackRate)},{immediate:!1});function Oe(){se.value&&De()}function Ne(){se.value&&Z&&Z.requestAnimationFrame(ke)}return{isSupported:se,animate:le,play:ge,pause:we,reverse:$e,finish:Ee,cancel:xe,pending:de,playState:ue,replaceState:he,startTime:fe,currentTime:pe,timeline:ve,playbackRate:me}}function useAsyncQueue(G,H){const{interrupt:X=!0,onError:Q=noop$5,onFinished:K=noop$5,signal:Z}=H||{},ee={aborted:"aborted",fulfilled:"fulfilled",pending:"pending",rejected:"rejected"},te=Array.from(Array.from({length:G.length}),()=>({state:ee.pending,data:null})),ne=vue.reactive(te),re=vue.ref(-1);if(!G||G.length===0)return K(),{activeIndex:re,result:ne};function oe(ae,se){re.value++,ne[re.value].data=se,ne[re.value].state=ae}return G.reduce((ae,se)=>ae.then(le=>{var ce;if(Z!=null&&Z.aborted){oe(ee.aborted,new Error("aborted"));return}if(((ce=ne[re.value])==null?void 0:ce.state)===ee.rejected&&X){K();return}const de=se(le).then(ue=>(oe(ee.fulfilled,ue),re.value===G.length-1&&K(),ue));return Z?Promise.race([de,whenAborted(Z)]):de}).catch(le=>Z!=null&&Z.aborted?(oe(ee.aborted,le),le):(oe(ee.rejected,le),Q(),le)),Promise.resolve()),{activeIndex:re,result:ne}}function whenAborted(G){return new Promise((H,X)=>{const Q=new Error("aborted");G.aborted?X(Q):G.addEventListener("abort",()=>X(Q),{once:!0})})}function useAsyncState(G,H,X){const{immediate:Q=!0,delay:K=0,onError:Z=noop$5,onSuccess:ee=noop$5,resetOnExecute:te=!0,shallow:ne=!0,throwError:re}=X??{},oe=ne?vue.shallowRef(H):vue.ref(H),ae=vue.ref(!1),se=vue.ref(!1),le=vue.shallowRef(void 0);async function ce(he=0,...fe){te&&(oe.value=H),le.value=void 0,ae.value=!1,se.value=!0,he>0&&await promiseTimeout(he);const pe=typeof G=="function"?G(...fe):G;try{const ve=await pe;oe.value=ve,ae.value=!0,ee(ve)}catch(ve){if(le.value=ve,Z(ve),re)throw ve}finally{se.value=!1}return oe.value}Q&&ce(K);const de={state:oe,isReady:ae,isLoading:se,error:le,execute:ce};function ue(){return new Promise((he,fe)=>{until(se).toBe(!1).then(()=>he(de)).catch(fe)})}return{...de,then(he,fe){return ue().then(he,fe)}}}const defaults$4={array:G=>JSON.stringify(G),object:G=>JSON.stringify(G),set:G=>JSON.stringify(Array.from(G)),map:G=>JSON.stringify(Object.fromEntries(G)),null:()=>""};function getDefaultSerialization(G){return G?G instanceof Map?defaults$4.map:G instanceof Set?defaults$4.set:Array.isArray(G)?defaults$4.array:defaults$4.object:defaults$4.null}function useBase64(G,H){const X=vue.ref(""),Q=vue.ref();function K(){if(isClient$1)return Q.value=new Promise((Z,ee)=>{try{const te=toValue(G);if(te==null)Z("");else if(typeof te=="string")Z(blobToBase64(new Blob([te],{type:"text/plain"})));else if(te instanceof Blob)Z(blobToBase64(te));else if(te instanceof ArrayBuffer)Z(window.btoa(String.fromCharCode(...new Uint8Array(te))));else if(te instanceof HTMLCanvasElement)Z(te.toDataURL(H==null?void 0:H.type,H==null?void 0:H.quality));else if(te instanceof HTMLImageElement){const ne=te.cloneNode(!1);ne.crossOrigin="Anonymous",imgLoaded(ne).then(()=>{const re=document.createElement("canvas"),oe=re.getContext("2d");re.width=ne.width,re.height=ne.height,oe.drawImage(ne,0,0,re.width,re.height),Z(re.toDataURL(H==null?void 0:H.type,H==null?void 0:H.quality))}).catch(ee)}else if(typeof te=="object"){const re=((H==null?void 0:H.serializer)||getDefaultSerialization(te))(te);return Z(blobToBase64(new Blob([re],{type:"application/json"})))}else ee(new Error("target is unsupported types"))}catch(te){ee(te)}}),Q.value.then(Z=>X.value=Z),Q.value}return vue.isRef(G)||typeof G=="function"?vue.watch(G,K,{immediate:!0}):K(),{base64:X,promise:Q,execute:K}}function imgLoaded(G){return new Promise((H,X)=>{G.complete?H():(G.onload=()=>{H()},G.onerror=X)})}function blobToBase64(G){return new Promise((H,X)=>{const Q=new FileReader;Q.onload=K=>{H(K.target.result)},Q.onerror=X,Q.readAsDataURL(G)})}function useBattery(G={}){const{navigator:H=defaultNavigator}=G,X=["chargingchange","chargingtimechange","dischargingtimechange","levelchange"],Q=useSupported(()=>H&&"getBattery"in H&&typeof H.getBattery=="function"),K=vue.ref(!1),Z=vue.ref(0),ee=vue.ref(0),te=vue.ref(1);let ne;function re(){K.value=this.charging,Z.value=this.chargingTime||0,ee.value=this.dischargingTime||0,te.value=this.level}return Q.value&&H.getBattery().then(oe=>{ne=oe,re.call(ne),useEventListener(ne,X,re,{passive:!0})}),{isSupported:Q,charging:K,chargingTime:Z,dischargingTime:ee,level:te}}function useBluetooth(G){let{acceptAllDevices:H=!1}=G||{};const{filters:X=void 0,optionalServices:Q=void 0,navigator:K=defaultNavigator}=G||{},Z=useSupported(()=>K&&"bluetooth"in K),ee=vue.shallowRef(void 0),te=vue.shallowRef(null);vue.watch(ee,()=>{ae()});async function ne(){if(Z.value){te.value=null,X&&X.length>0&&(H=!1);try{ee.value=await(K==null?void 0:K.bluetooth.requestDevice({acceptAllDevices:H,filters:X,optionalServices:Q}))}catch(se){te.value=se}}}const re=vue.ref(),oe=vue.computed(()=>{var se;return((se=re.value)==null?void 0:se.connected)||!1});async function ae(){if(te.value=null,ee.value&&ee.value.gatt){ee.value.addEventListener("gattserverdisconnected",()=>{});try{re.value=await ee.value.gatt.connect()}catch(se){te.value=se}}}return tryOnMounted(()=>{var se;ee.value&&((se=ee.value.gatt)==null||se.connect())}),tryOnScopeDispose(()=>{var se;ee.value&&((se=ee.value.gatt)==null||se.disconnect())}),{isSupported:Z,isConnected:oe,device:ee,requestDevice:ne,server:re,error:te}}function useMediaQuery(G,H={}){const{window:X=defaultWindow}=H,Q=useSupported(()=>X&&"matchMedia"in X&&typeof X.matchMedia=="function");let K;const Z=vue.ref(!1),ee=re=>{Z.value=re.matches},te=()=>{K&&("removeEventListener"in K?K.removeEventListener("change",ee):K.removeListener(ee))},ne=vue.watchEffect(()=>{Q.value&&(te(),K=X.matchMedia(toValue(G)),"addEventListener"in K?K.addEventListener("change",ee):K.addListener(ee),Z.value=K.matches)});return tryOnScopeDispose(()=>{ne(),te(),K=void 0}),Z}const breakpointsTailwind={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},breakpointsBootstrapV5={xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400},breakpointsVuetifyV2={xs:0,sm:600,md:960,lg:1264,xl:1904},breakpointsVuetifyV3={xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560},breakpointsVuetify=breakpointsVuetifyV2,breakpointsAntDesign={xs:480,sm:576,md:768,lg:992,xl:1200,xxl:1600},breakpointsQuasar={xs:0,sm:600,md:1024,lg:1440,xl:1920},breakpointsSematic={mobileS:320,mobileM:375,mobileL:425,tablet:768,laptop:1024,laptopL:1440,desktop4K:2560},breakpointsMasterCss={"3xs":360,"2xs":480,xs:600,sm:768,md:1024,lg:1280,xl:1440,"2xl":1600,"3xl":1920,"4xl":2560},breakpointsPrimeFlex={sm:576,md:768,lg:992,xl:1200};function useBreakpoints(G,H={}){function X(oe,ae){let se=toValue(G[toValue(oe)]);return ae!=null&&(se=increaseWithUnit(se,ae)),typeof se=="number"&&(se=`${se}px`),se}const{window:Q=defaultWindow,strategy:K="min-width"}=H;function Z(oe){return Q?Q.matchMedia(oe).matches:!1}const ee=oe=>useMediaQuery(()=>`(min-width: ${X(oe)})`,H),te=oe=>useMediaQuery(()=>`(max-width: ${X(oe)})`,H),ne=Object.keys(G).reduce((oe,ae)=>(Object.defineProperty(oe,ae,{get:()=>K==="min-width"?ee(ae):te(ae),enumerable:!0,configurable:!0}),oe),{});function re(){const oe=Object.keys(G).map(ae=>[ae,ee(ae)]);return vue.computed(()=>oe.filter(([,ae])=>ae.value).map(([ae])=>ae))}return Object.assign(ne,{greaterOrEqual:ee,smallerOrEqual:te,greater(oe){return useMediaQuery(()=>`(min-width: ${X(oe,.1)})`,H)},smaller(oe){return useMediaQuery(()=>`(max-width: ${X(oe,-.1)})`,H)},between(oe,ae){return useMediaQuery(()=>`(min-width: ${X(oe)}) and (max-width: ${X(ae,-.1)})`,H)},isGreater(oe){return Z(`(min-width: ${X(oe,.1)})`)},isGreaterOrEqual(oe){return Z(`(min-width: ${X(oe)})`)},isSmaller(oe){return Z(`(max-width: ${X(oe,-.1)})`)},isSmallerOrEqual(oe){return Z(`(max-width: ${X(oe)})`)},isInBetween(oe,ae){return Z(`(min-width: ${X(oe)}) and (max-width: ${X(ae,-.1)})`)},current:re,active(){const oe=re();return vue.computed(()=>oe.value.length===0?"":oe.value.at(-1))}})}function useBroadcastChannel(G){const{name:H,window:X=defaultWindow}=G,Q=useSupported(()=>X&&"BroadcastChannel"in X),K=vue.ref(!1),Z=vue.ref(),ee=vue.ref(),te=vue.shallowRef(null),ne=oe=>{Z.value&&Z.value.postMessage(oe)},re=()=>{Z.value&&Z.value.close(),K.value=!0};return Q.value&&tryOnMounted(()=>{te.value=null,Z.value=new BroadcastChannel(H),Z.value.addEventListener("message",oe=>{ee.value=oe.data},{passive:!0}),Z.value.addEventListener("messageerror",oe=>{te.value=oe},{passive:!0}),Z.value.addEventListener("close",()=>{K.value=!0})}),tryOnScopeDispose(()=>{re()}),{isSupported:Q,channel:Z,data:ee,post:ne,close:re,error:te,isClosed:K}}const WRITABLE_PROPERTIES=["hash","host","hostname","href","pathname","port","protocol","search"];function useBrowserLocation(G={}){const{window:H=defaultWindow}=G,X=Object.fromEntries(WRITABLE_PROPERTIES.map(Z=>[Z,vue.ref()]));for(const[Z,ee]of objectEntries(X))vue.watch(ee,te=>{!(H!=null&&H.location)||H.location[Z]===te||(H.location[Z]=te)});const Q=Z=>{var ee;const{state:te,length:ne}=(H==null?void 0:H.history)||{},{origin:re}=(H==null?void 0:H.location)||{};for(const oe of WRITABLE_PROPERTIES)X[oe].value=(ee=H==null?void 0:H.location)==null?void 0:ee[oe];return vue.reactive({trigger:Z,state:te,length:ne,origin:re,...X})},K=vue.ref(Q("load"));return H&&(useEventListener(H,"popstate",()=>K.value=Q("popstate"),{passive:!0}),useEventListener(H,"hashchange",()=>K.value=Q("hashchange"),{passive:!0})),K}function useCached(G,H=(Q,K)=>Q===K,X){const Q=vue.ref(G.value);return vue.watch(()=>G.value,K=>{H(K,Q.value)||(Q.value=K)},X),Q}function usePermission$1(G,H={}){const{controls:X=!1,navigator:Q=defaultNavigator}=H,K=useSupported(()=>Q&&"permissions"in Q);let Z;const ee=typeof G=="string"?{name:G}:G,te=vue.ref(),ne=()=>{Z&&(te.value=Z.state)},re=createSingletonPromise(async()=>{if(K.value){if(!Z)try{Z=await Q.permissions.query(ee),useEventListener(Z,"change",ne),ne()}catch{te.value="prompt"}return Z}});return re(),X?{state:te,isSupported:K,query:re}:te}function useClipboard(G={}){const{navigator:H=defaultNavigator,read:X=!1,source:Q,copiedDuring:K=1500,legacy:Z=!1}=G,ee=useSupported(()=>H&&"clipboard"in H),te=usePermission$1("clipboard-read"),ne=usePermission$1("clipboard-write"),re=vue.computed(()=>ee.value||Z),oe=vue.ref(""),ae=vue.ref(!1),se=useTimeoutFn(()=>ae.value=!1,K);function le(){ee.value&&he(te.value)?H.clipboard.readText().then(fe=>{oe.value=fe}):oe.value=ue()}re.value&&X&&useEventListener(["copy","cut"],le);async function ce(fe=toValue(Q)){re.value&&fe!=null&&(ee.value&&he(ne.value)?await H.clipboard.writeText(fe):de(fe),oe.value=fe,ae.value=!0,se.start())}function de(fe){const pe=document.createElement("textarea");pe.value=fe??"",pe.style.position="absolute",pe.style.opacity="0",document.body.appendChild(pe),pe.select(),document.execCommand("copy"),pe.remove()}function ue(){var fe,pe,ve;return(ve=(pe=(fe=document==null?void 0:document.getSelection)==null?void 0:fe.call(document))==null?void 0:pe.toString())!=null?ve:""}function he(fe){return fe==="granted"||fe==="prompt"}return{isSupported:re,text:oe,copied:ae,copy:ce}}function useClipboardItems(G={}){const{navigator:H=defaultNavigator,read:X=!1,source:Q,copiedDuring:K=1500}=G,Z=useSupported(()=>H&&"clipboard"in H),ee=vue.ref([]),te=vue.ref(!1),ne=useTimeoutFn(()=>te.value=!1,K);function re(){Z.value&&H.clipboard.read().then(ae=>{ee.value=ae})}Z.value&&X&&useEventListener(["copy","cut"],re);async function oe(ae=toValue(Q)){Z.value&&ae!=null&&(await H.clipboard.write(ae),ee.value=ae,te.value=!0,ne.start())}return{isSupported:Z,content:ee,copied:te,copy:oe}}function cloneFnJSON(G){return JSON.parse(JSON.stringify(G))}function useCloned(G,H={}){const X=vue.ref({}),{manual:Q,clone:K=cloneFnJSON,deep:Z=!0,immediate:ee=!0}=H;function te(){X.value=K(toValue(G))}return!Q&&(vue.isRef(G)||typeof G=="function")?vue.watch(G,te,{...H,deep:Z,immediate:ee}):te(),{cloned:X,sync:te}}const _global$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},globalKey="__vueuse_ssr_handlers__",handlers=getHandlers();function getHandlers(){return globalKey in _global$1||(_global$1[globalKey]=_global$1[globalKey]||{}),_global$1[globalKey]}function getSSRHandler(G,H){return handlers[G]||H}function setSSRHandler(G,H){handlers[G]=H}function guessSerializerType(G){return G==null?"any":G instanceof Set?"set":G instanceof Map?"map":G instanceof Date?"date":typeof G=="boolean"?"boolean":typeof G=="string"?"string":typeof G=="object"?"object":Number.isNaN(G)?"any":"number"}const StorageSerializers={boolean:{read:G=>G==="true",write:G=>String(G)},object:{read:G=>JSON.parse(G),write:G=>JSON.stringify(G)},number:{read:G=>Number.parseFloat(G),write:G=>String(G)},any:{read:G=>G,write:G=>String(G)},string:{read:G=>G,write:G=>String(G)},map:{read:G=>new Map(JSON.parse(G)),write:G=>JSON.stringify(Array.from(G.entries()))},set:{read:G=>new Set(JSON.parse(G)),write:G=>JSON.stringify(Array.from(G))},date:{read:G=>new Date(G),write:G=>G.toISOString()}},customStorageEventName="vueuse-storage";function useStorage(G,H,X,Q={}){var K;const{flush:Z="pre",deep:ee=!0,listenToStorageChanges:te=!0,writeDefaults:ne=!0,mergeDefaults:re=!1,shallow:oe,window:ae=defaultWindow,eventFilter:se,onError:le=xe=>{console.error(xe)},initOnMounted:ce}=Q,de=(oe?vue.shallowRef:vue.ref)(typeof H=="function"?H():H);if(!X)try{X=getSSRHandler("getDefaultStorage",()=>{var xe;return(xe=defaultWindow)==null?void 0:xe.localStorage})()}catch(xe){le(xe)}if(!X)return de;const ue=toValue(H),he=guessSerializerType(ue),fe=(K=Q.serializer)!=null?K:StorageSerializers[he],{pause:pe,resume:ve}=watchPausable(de,()=>ge(de.value),{flush:Z,deep:ee,eventFilter:se});ae&&te&&tryOnMounted(()=>{useEventListener(ae,"storage",$e),useEventListener(ae,customStorageEventName,Ee),ce&&$e()}),ce||$e();function me(xe,Me){ae&&ae.dispatchEvent(new CustomEvent(customStorageEventName,{detail:{key:G,oldValue:xe,newValue:Me,storageArea:X}}))}function ge(xe){try{const Me=X.getItem(G);if(xe==null)me(Me,null),X.removeItem(G);else{const De=fe.write(xe);Me!==De&&(X.setItem(G,De),me(Me,De))}}catch(Me){le(Me)}}function we(xe){const Me=xe?xe.newValue:X.getItem(G);if(Me==null)return ne&&ue!=null&&X.setItem(G,fe.write(ue)),ue;if(!xe&&re){const De=fe.read(Me);return typeof re=="function"?re(De,ue):he==="object"&&!Array.isArray(De)?{...ue,...De}:De}else return typeof Me!="string"?Me:fe.read(Me)}function $e(xe){if(!(xe&&xe.storageArea!==X)){if(xe&&xe.key==null){de.value=ue;return}if(!(xe&&xe.key!==G)){pe();try{(xe==null?void 0:xe.newValue)!==fe.write(de.value)&&(de.value=we(xe))}catch(Me){le(Me)}finally{xe?vue.nextTick(ve):ve()}}}}function Ee(xe){$e(xe.detail)}return de}function usePreferredDark(G){return useMediaQuery("(prefers-color-scheme: dark)",G)}function useColorMode(G={}){const{selector:H="html",attribute:X="class",initialValue:Q="auto",window:K=defaultWindow,storage:Z,storageKey:ee="vueuse-color-scheme",listenToStorageChanges:te=!0,storageRef:ne,emitAuto:re,disableTransition:oe=!0}=G,ae={auto:"",light:"light",dark:"dark",...G.modes||{}},se=usePreferredDark({window:K}),le=vue.computed(()=>se.value?"dark":"light"),ce=ne||(ee==null?toRef(Q):useStorage(ee,Q,Z,{window:K,listenToStorageChanges:te})),de=vue.computed(()=>ce.value==="auto"?le.value:ce.value),ue=getSSRHandler("updateHTMLAttrs",(ve,me,ge)=>{const we=typeof ve=="string"?K==null?void 0:K.document.querySelector(ve):unrefElement(ve);if(!we)return;let $e;if(oe&&($e=K.document.createElement("style"),$e.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),K.document.head.appendChild($e)),me==="class"){const Ee=ge.split(/\s/g);Object.values(ae).flatMap(xe=>(xe||"").split(/\s/g)).filter(Boolean).forEach(xe=>{Ee.includes(xe)?we.classList.add(xe):we.classList.remove(xe)})}else we.setAttribute(me,ge);oe&&(K.getComputedStyle($e).opacity,document.head.removeChild($e))});function he(ve){var me;ue(H,X,(me=ae[ve])!=null?me:ve)}function fe(ve){G.onChanged?G.onChanged(ve,he):he(ve)}vue.watch(de,fe,{flush:"post",immediate:!0}),tryOnMounted(()=>fe(de.value));const pe=vue.computed({get(){return re?ce.value:de.value},set(ve){ce.value=ve}});try{return Object.assign(pe,{store:ce,system:le,state:de})}catch{return pe}}function useConfirmDialog(G=vue.ref(!1)){const H=createEventHook(),X=createEventHook(),Q=createEventHook();let K=noop$5;const Z=ne=>(Q.trigger(ne),G.value=!0,new Promise(re=>{K=re})),ee=ne=>{G.value=!1,H.trigger(ne),K({data:ne,isCanceled:!1})},te=ne=>{G.value=!1,X.trigger(ne),K({data:ne,isCanceled:!0})};return{isRevealed:vue.computed(()=>G.value),reveal:Z,confirm:ee,cancel:te,onReveal:Q.on,onConfirm:H.on,onCancel:X.on}}function useCssVar(G,H,X={}){const{window:Q=defaultWindow,initialValue:K="",observe:Z=!1}=X,ee=vue.ref(K),te=vue.computed(()=>{var re;return unrefElement(H)||((re=Q==null?void 0:Q.document)==null?void 0:re.documentElement)});function ne(){var re;const oe=toValue(G),ae=toValue(te);if(ae&&Q){const se=(re=Q.getComputedStyle(ae).getPropertyValue(oe))==null?void 0:re.trim();ee.value=se||K}}return Z&&useMutationObserver(te,ne,{attributeFilter:["style","class"],window:Q}),vue.watch([te,()=>toValue(G)],ne,{immediate:!0}),vue.watch(ee,re=>{var oe;(oe=te.value)!=null&&oe.style&&te.value.style.setProperty(toValue(G),re)}),ee}function useCurrentElement(G){const H=vue.getCurrentInstance(),X=computedWithControl(()=>null,()=>G?unrefElement(G):H.proxy.$el);return vue.onUpdated(X.trigger),vue.onMounted(X.trigger),X}function useCycleList(G,H){const X=vue.shallowRef(re()),Q=toRef(G),K=vue.computed({get(){var oe;const ae=Q.value;let se=H!=null&&H.getIndexOf?H.getIndexOf(X.value,ae):ae.indexOf(X.value);return se<0&&(se=(oe=H==null?void 0:H.fallbackIndex)!=null?oe:0),se},set(oe){Z(oe)}});function Z(oe){const ae=Q.value,se=ae.length,le=(oe%se+se)%se,ce=ae[le];return X.value=ce,ce}function ee(oe=1){return Z(K.value+oe)}function te(oe=1){return ee(oe)}function ne(oe=1){return ee(-oe)}function re(){var oe,ae;return(ae=toValue((oe=H==null?void 0:H.initialValue)!=null?oe:toValue(G)[0]))!=null?ae:void 0}return vue.watch(Q,()=>Z(K.value)),{state:X,index:K,next:te,prev:ne,go:Z}}function useDark(G={}){const{valueDark:H="dark",valueLight:X="",window:Q=defaultWindow}=G,K=useColorMode({...G,onChanged:(te,ne)=>{var re;G.onChanged?(re=G.onChanged)==null||re.call(G,te==="dark",ne,te):ne(te)},modes:{dark:H,light:X}}),Z=vue.computed(()=>K.system?K.system.value:usePreferredDark({window:Q}).value?"dark":"light");return vue.computed({get(){return K.value==="dark"},set(te){const ne=te?"dark":"light";Z.value===ne?K.value="auto":K.value=ne}})}function fnBypass(G){return G}function fnSetSource(G,H){return G.value=H}function defaultDump(G){return G?typeof G=="function"?G:cloneFnJSON:fnBypass}function defaultParse(G){return G?typeof G=="function"?G:cloneFnJSON:fnBypass}function useManualRefHistory(G,H={}){const{clone:X=!1,dump:Q=defaultDump(X),parse:K=defaultParse(X),setSource:Z=fnSetSource}=H;function ee(){return vue.markRaw({snapshot:Q(G.value),timestamp:timestamp()})}const te=vue.ref(ee()),ne=vue.ref([]),re=vue.ref([]),oe=pe=>{Z(G,K(pe.snapshot)),te.value=pe},ae=()=>{ne.value.unshift(te.value),te.value=ee(),H.capacity&&ne.value.length>H.capacity&&ne.value.splice(H.capacity,Number.POSITIVE_INFINITY),re.value.length&&re.value.splice(0,re.value.length)},se=()=>{ne.value.splice(0,ne.value.length),re.value.splice(0,re.value.length)},le=()=>{const pe=ne.value.shift();pe&&(re.value.unshift(te.value),oe(pe))},ce=()=>{const pe=re.value.shift();pe&&(ne.value.unshift(te.value),oe(pe))},de=()=>{oe(te.value)},ue=vue.computed(()=>[te.value,...ne.value]),he=vue.computed(()=>ne.value.length>0),fe=vue.computed(()=>re.value.length>0);return{source:G,undoStack:ne,redoStack:re,last:te,history:ue,canUndo:he,canRedo:fe,clear:se,commit:ae,reset:de,undo:le,redo:ce}}function useRefHistory(G,H={}){const{deep:X=!1,flush:Q="pre",eventFilter:K}=H,{eventFilter:Z,pause:ee,resume:te,isActive:ne}=pausableFilter(K),{ignoreUpdates:re,ignorePrevAsyncUpdates:oe,stop:ae}=watchIgnorable(G,ue,{deep:X,flush:Q,eventFilter:Z});function se(ve,me){oe(),re(()=>{ve.value=me})}const le=useManualRefHistory(G,{...H,clone:H.clone||X,setSource:se}),{clear:ce,commit:de}=le;function ue(){oe(),de()}function he(ve){te(),ve&&ue()}function fe(ve){let me=!1;const ge=()=>me=!0;re(()=>{ve(ge)}),me||ue()}function pe(){ae(),ce()}return{...le,isTracking:ne,pause:ee,resume:he,commit:ue,batch:fe,dispose:pe}}function useDebouncedRefHistory(G,H={}){const X=H.debounce?debounceFilter(H.debounce):void 0;return{...useRefHistory(G,{...H,eventFilter:X})}}function useDeviceMotion(G={}){const{window:H=defaultWindow,eventFilter:X=bypassFilter}=G,Q=vue.ref({x:null,y:null,z:null}),K=vue.ref({alpha:null,beta:null,gamma:null}),Z=vue.ref(0),ee=vue.ref({x:null,y:null,z:null});if(H){const te=createFilterWrapper(X,ne=>{Q.value=ne.acceleration,ee.value=ne.accelerationIncludingGravity,K.value=ne.rotationRate,Z.value=ne.interval});useEventListener(H,"devicemotion",te)}return{acceleration:Q,accelerationIncludingGravity:ee,rotationRate:K,interval:Z}}function useDeviceOrientation(G={}){const{window:H=defaultWindow}=G,X=useSupported(()=>H&&"DeviceOrientationEvent"in H),Q=vue.ref(!1),K=vue.ref(null),Z=vue.ref(null),ee=vue.ref(null);return H&&X.value&&useEventListener(H,"deviceorientation",te=>{Q.value=te.absolute,K.value=te.alpha,Z.value=te.beta,ee.value=te.gamma}),{isSupported:X,isAbsolute:Q,alpha:K,beta:Z,gamma:ee}}function useDevicePixelRatio(G={}){const{window:H=defaultWindow}=G,X=vue.ref(1);if(H){let Q=function(){X.value=H.devicePixelRatio,K(),Z=H.matchMedia(`(resolution: ${X.value}dppx)`),Z.addEventListener("change",Q,{once:!0})},K=function(){Z==null||Z.removeEventListener("change",Q)},Z;Q(),tryOnScopeDispose(K)}return{pixelRatio:X}}function useDevicesList(G={}){const{navigator:H=defaultNavigator,requestPermissions:X=!1,constraints:Q={audio:!0,video:!0},onUpdated:K}=G,Z=vue.ref([]),ee=vue.computed(()=>Z.value.filter(ce=>ce.kind==="videoinput")),te=vue.computed(()=>Z.value.filter(ce=>ce.kind==="audioinput")),ne=vue.computed(()=>Z.value.filter(ce=>ce.kind==="audiooutput")),re=useSupported(()=>H&&H.mediaDevices&&H.mediaDevices.enumerateDevices),oe=vue.ref(!1);let ae;async function se(){re.value&&(Z.value=await H.mediaDevices.enumerateDevices(),K==null||K(Z.value),ae&&(ae.getTracks().forEach(ce=>ce.stop()),ae=null))}async function le(){if(!re.value)return!1;if(oe.value)return!0;const{state:ce,query:de}=usePermission$1("camera",{controls:!0});return await de(),ce.value!=="granted"&&(ae=await H.mediaDevices.getUserMedia(Q),se()),oe.value=!0,oe.value}return re.value&&(X&&le(),useEventListener(H.mediaDevices,"devicechange",se),se()),{devices:Z,ensurePermissions:le,permissionGranted:oe,videoInputs:ee,audioInputs:te,audioOutputs:ne,isSupported:re}}function useDisplayMedia(G={}){var H;const X=vue.ref((H=G.enabled)!=null?H:!1),Q=G.video,K=G.audio,{navigator:Z=defaultNavigator}=G,ee=useSupported(()=>{var le;return(le=Z==null?void 0:Z.mediaDevices)==null?void 0:le.getDisplayMedia}),te={audio:K,video:Q},ne=vue.shallowRef();async function re(){var le;if(!(!ee.value||ne.value))return ne.value=await Z.mediaDevices.getDisplayMedia(te),(le=ne.value)==null||le.getTracks().forEach(ce=>ce.addEventListener("ended",ae)),ne.value}async function oe(){var le;(le=ne.value)==null||le.getTracks().forEach(ce=>ce.stop()),ne.value=void 0}function ae(){oe(),X.value=!1}async function se(){return await re(),ne.value&&(X.value=!0),ne.value}return vue.watch(X,le=>{le?re():oe()},{immediate:!0}),{isSupported:ee,stream:ne,start:se,stop:ae,enabled:X}}function useDocumentVisibility(G={}){const{document:H=defaultDocument}=G;if(!H)return vue.ref("visible");const X=vue.ref(H.visibilityState);return useEventListener(H,"visibilitychange",()=>{X.value=H.visibilityState}),X}function useDraggable(G,H={}){var X,Q;const{pointerTypes:K,preventDefault:Z,stopPropagation:ee,exact:te,onMove:ne,onEnd:re,onStart:oe,initialValue:ae,axis:se="both",draggingElement:le=defaultWindow,containerElement:ce,handle:de=G}=H,ue=vue.ref((X=toValue(ae))!=null?X:{x:0,y:0}),he=vue.ref(),fe=we=>K?K.includes(we.pointerType):!0,pe=we=>{toValue(Z)&&we.preventDefault(),toValue(ee)&&we.stopPropagation()},ve=we=>{var $e;if(we.button!==0||toValue(H.disabled)||!fe(we)||toValue(te)&&we.target!==toValue(G))return;const Ee=toValue(ce),xe=($e=Ee==null?void 0:Ee.getBoundingClientRect)==null?void 0:$e.call(Ee),Me=toValue(G).getBoundingClientRect(),De={x:we.clientX-(Ee?Me.left-xe.left+Ee.scrollLeft:Me.left),y:we.clientY-(Ee?Me.top-xe.top+Ee.scrollTop:Me.top)};(oe==null?void 0:oe(De,we))!==!1&&(he.value=De,pe(we))},me=we=>{if(toValue(H.disabled)||!fe(we)||!he.value)return;const $e=toValue(ce),Ee=toValue(G).getBoundingClientRect();let{x:xe,y:Me}=ue.value;(se==="x"||se==="both")&&(xe=we.clientX-he.value.x,$e&&(xe=Math.min(Math.max(0,xe),$e.scrollWidth-Ee.width))),(se==="y"||se==="both")&&(Me=we.clientY-he.value.y,$e&&(Me=Math.min(Math.max(0,Me),$e.scrollHeight-Ee.height))),ue.value={x:xe,y:Me},ne==null||ne(ue.value,we),pe(we)},ge=we=>{toValue(H.disabled)||!fe(we)||he.value&&(he.value=void 0,re==null||re(ue.value,we),pe(we))};if(isClient$1){const we={capture:(Q=H.capture)!=null?Q:!0};useEventListener(de,"pointerdown",ve,we),useEventListener(le,"pointermove",me,we),useEventListener(le,"pointerup",ge,we)}return{...toRefs(ue),position:ue,isDragging:vue.computed(()=>!!he.value),style:vue.computed(()=>`left:${ue.value.x}px;top:${ue.value.y}px;`)}}function useDropZone(G,H={}){const X=vue.ref(!1),Q=vue.shallowRef(null);let K=0,Z=!0;if(isClient$1){const ee=typeof H=="function"?{onDrop:H}:H,te=ne=>{var re,oe;const ae=Array.from((oe=(re=ne.dataTransfer)==null?void 0:re.files)!=null?oe:[]);return Q.value=ae.length===0?null:ae};useEventListener(G,"dragenter",ne=>{var re,oe;const ae=Array.from(((re=ne==null?void 0:ne.dataTransfer)==null?void 0:re.items)||[]).map(se=>se.kind==="file"?se.type:null).filter(notNullish);if(ee.dataTypes&&ne.dataTransfer){const se=vue.unref(ee.dataTypes);if(Z=typeof se=="function"?se(ae):se?se.some(le=>ae.includes(le)):!0,!Z)return}ne.preventDefault(),K+=1,X.value=!0,(oe=ee.onEnter)==null||oe.call(ee,te(ne),ne)}),useEventListener(G,"dragover",ne=>{var re;Z&&(ne.preventDefault(),(re=ee.onOver)==null||re.call(ee,te(ne),ne))}),useEventListener(G,"dragleave",ne=>{var re;Z&&(ne.preventDefault(),K-=1,K===0&&(X.value=!1),(re=ee.onLeave)==null||re.call(ee,te(ne),ne))}),useEventListener(G,"drop",ne=>{var re;ne.preventDefault(),K=0,X.value=!1,(re=ee.onDrop)==null||re.call(ee,te(ne),ne)})}return{files:Q,isOverDropZone:X}}function useResizeObserver(G,H,X={}){const{window:Q=defaultWindow,...K}=X;let Z;const ee=useSupported(()=>Q&&"ResizeObserver"in Q),te=()=>{Z&&(Z.disconnect(),Z=void 0)},ne=vue.computed(()=>Array.isArray(G)?G.map(ae=>unrefElement(ae)):[unrefElement(G)]),re=vue.watch(ne,ae=>{if(te(),ee.value&&Q){Z=new ResizeObserver(H);for(const se of ae)se&&Z.observe(se,K)}},{immediate:!0,flush:"post"}),oe=()=>{te(),re()};return tryOnScopeDispose(oe),{isSupported:ee,stop:oe}}function useElementBounding(G,H={}){const{reset:X=!0,windowResize:Q=!0,windowScroll:K=!0,immediate:Z=!0}=H,ee=vue.ref(0),te=vue.ref(0),ne=vue.ref(0),re=vue.ref(0),oe=vue.ref(0),ae=vue.ref(0),se=vue.ref(0),le=vue.ref(0);function ce(){const de=unrefElement(G);if(!de){X&&(ee.value=0,te.value=0,ne.value=0,re.value=0,oe.value=0,ae.value=0,se.value=0,le.value=0);return}const ue=de.getBoundingClientRect();ee.value=ue.height,te.value=ue.bottom,ne.value=ue.left,re.value=ue.right,oe.value=ue.top,ae.value=ue.width,se.value=ue.x,le.value=ue.y}return useResizeObserver(G,ce),vue.watch(()=>unrefElement(G),de=>!de&&ce()),useMutationObserver(G,ce,{attributeFilter:["style","class"]}),K&&useEventListener("scroll",ce,{capture:!0,passive:!0}),Q&&useEventListener("resize",ce,{passive:!0}),tryOnMounted(()=>{Z&&ce()}),{height:ee,bottom:te,left:ne,right:re,top:oe,width:ae,x:se,y:le,update:ce}}function useElementByPoint(G){const{x:H,y:X,document:Q=defaultDocument,multiple:K,interval:Z="requestAnimationFrame",immediate:ee=!0}=G,te=useSupported(()=>toValue(K)?Q&&"elementsFromPoint"in Q:Q&&"elementFromPoint"in Q),ne=vue.ref(null),re=()=>{var ae,se;ne.value=toValue(K)?(ae=Q==null?void 0:Q.elementsFromPoint(toValue(H),toValue(X)))!=null?ae:[]:(se=Q==null?void 0:Q.elementFromPoint(toValue(H),toValue(X)))!=null?se:null},oe=Z==="requestAnimationFrame"?useRafFn(re,{immediate:ee}):useIntervalFn(re,Z,{immediate:ee});return{isSupported:te,element:ne,...oe}}function useElementHover(G,H={}){const{delayEnter:X=0,delayLeave:Q=0,window:K=defaultWindow}=H,Z=vue.ref(!1);let ee;const te=ne=>{const re=ne?X:Q;ee&&(clearTimeout(ee),ee=void 0),re?ee=setTimeout(()=>Z.value=ne,re):Z.value=ne};return K&&(useEventListener(G,"mouseenter",()=>te(!0),{passive:!0}),useEventListener(G,"mouseleave",()=>te(!1),{passive:!0})),Z}function useElementSize(G,H={width:0,height:0},X={}){const{window:Q=defaultWindow,box:K="content-box"}=X,Z=vue.computed(()=>{var ae,se;return(se=(ae=unrefElement(G))==null?void 0:ae.namespaceURI)==null?void 0:se.includes("svg")}),ee=vue.ref(H.width),te=vue.ref(H.height),{stop:ne}=useResizeObserver(G,([ae])=>{const se=K==="border-box"?ae.borderBoxSize:K==="content-box"?ae.contentBoxSize:ae.devicePixelContentBoxSize;if(Q&&Z.value){const le=unrefElement(G);if(le){const ce=le.getBoundingClientRect();ee.value=ce.width,te.value=ce.height}}else if(se){const le=Array.isArray(se)?se:[se];ee.value=le.reduce((ce,{inlineSize:de})=>ce+de,0),te.value=le.reduce((ce,{blockSize:de})=>ce+de,0)}else ee.value=ae.contentRect.width,te.value=ae.contentRect.height},X);tryOnMounted(()=>{const ae=unrefElement(G);ae&&(ee.value="offsetWidth"in ae?ae.offsetWidth:H.width,te.value="offsetHeight"in ae?ae.offsetHeight:H.height)});const re=vue.watch(()=>unrefElement(G),ae=>{ee.value=ae?H.width:0,te.value=ae?H.height:0});function oe(){ne(),re()}return{width:ee,height:te,stop:oe}}function useIntersectionObserver(G,H,X={}){const{root:Q,rootMargin:K="0px",threshold:Z=.1,window:ee=defaultWindow,immediate:te=!0}=X,ne=useSupported(()=>ee&&"IntersectionObserver"in ee),re=vue.computed(()=>{const ce=toValue(G);return(Array.isArray(ce)?ce:[ce]).map(unrefElement).filter(notNullish)});let oe=noop$5;const ae=vue.ref(te),se=ne.value?vue.watch(()=>[re.value,unrefElement(Q),ae.value],([ce,de])=>{if(oe(),!ae.value||!ce.length)return;const ue=new IntersectionObserver(H,{root:unrefElement(de),rootMargin:K,threshold:Z});ce.forEach(he=>he&&ue.observe(he)),oe=()=>{ue.disconnect(),oe=noop$5}},{immediate:te,flush:"post"}):noop$5,le=()=>{oe(),se(),ae.value=!1};return tryOnScopeDispose(le),{isSupported:ne,isActive:ae,pause(){oe(),ae.value=!1},resume(){ae.value=!0},stop:le}}function useElementVisibility(G,H={}){const{window:X=defaultWindow,scrollTarget:Q,threshold:K=0}=H,Z=vue.ref(!1);return useIntersectionObserver(G,ee=>{let te=Z.value,ne=0;for(const re of ee)re.time>=ne&&(ne=re.time,te=re.isIntersecting);Z.value=te},{root:Q,window:X,threshold:K}),Z}const events$1=new Map;function useEventBus(G){const H=vue.getCurrentScope();function X(te){var ne;const re=events$1.get(G)||new Set;re.add(te),events$1.set(G,re);const oe=()=>K(te);return(ne=H==null?void 0:H.cleanups)==null||ne.push(oe),oe}function Q(te){function ne(...re){K(ne),te(...re)}return X(ne)}function K(te){const ne=events$1.get(G);ne&&(ne.delete(te),ne.size||Z())}function Z(){events$1.delete(G)}function ee(te,ne){var re;(re=events$1.get(G))==null||re.forEach(oe=>oe(te,ne))}return{on:X,once:Q,off:K,emit:ee,reset:Z}}function resolveNestedOptions$1(G){return G===!0?{}:G}function useEventSource(G,H=[],X={}){const Q=vue.ref(null),K=vue.ref(null),Z=vue.ref("CONNECTING"),ee=vue.ref(null),te=vue.shallowRef(null),ne=toRef(G),re=vue.shallowRef(null);let oe=!1,ae=0;const{withCredentials:se=!1,immediate:le=!0}=X,ce=()=>{isClient$1&&ee.value&&(ee.value.close(),ee.value=null,Z.value="CLOSED",oe=!0)},de=()=>{if(oe||typeof ne.value>"u")return;const he=new EventSource(ne.value,{withCredentials:se});Z.value="CONNECTING",ee.value=he,he.onopen=()=>{Z.value="OPEN",te.value=null},he.onerror=fe=>{if(Z.value="CLOSED",te.value=fe,he.readyState===2&&!oe&&X.autoReconnect){he.close();const{retries:pe=-1,delay:ve=1e3,onFailed:me}=resolveNestedOptions$1(X.autoReconnect);ae+=1,typeof pe=="number"&&(pe<0||ae<pe)||typeof pe=="function"&&pe()?setTimeout(de,ve):me==null||me()}},he.onmessage=fe=>{Q.value=null,K.value=fe.data,re.value=fe.lastEventId};for(const fe of H)useEventListener(he,fe,pe=>{Q.value=fe,K.value=pe.data||null})},ue=()=>{isClient$1&&(ce(),oe=!1,ae=0,de())};return le&&vue.watch(ne,ue,{immediate:!0}),tryOnScopeDispose(ce),{eventSource:ee,event:Q,data:K,status:Z,error:te,open:ue,close:ce,lastEventId:re}}function useEyeDropper(G={}){const{initialValue:H=""}=G,X=useSupported(()=>typeof window<"u"&&"EyeDropper"in window),Q=vue.ref(H);async function K(Z){if(!X.value)return;const te=await new window.EyeDropper().open(Z);return Q.value=te.sRGBHex,te}return{isSupported:X,sRGBHex:Q,open:K}}function useFavicon(G=null,H={}){const{baseUrl:X="",rel:Q="icon",document:K=defaultDocument}=H,Z=toRef(G),ee=te=>{const ne=K==null?void 0:K.head.querySelectorAll(`link[rel*="${Q}"]`);if(!ne||ne.length===0){const re=K==null?void 0:K.createElement("link");re&&(re.rel=Q,re.href=`${X}${te}`,re.type=`image/${te.split(".").pop()}`,K==null||K.head.append(re));return}ne==null||ne.forEach(re=>re.href=`${X}${te}`)};return vue.watch(Z,(te,ne)=>{typeof te=="string"&&te!==ne&&ee(te)},{immediate:!0}),Z}const payloadMapping={json:"application/json",text:"text/plain"};function isFetchOptions(G){return G&&containsProp(G,"immediate","refetch","initialData","timeout","beforeFetch","afterFetch","onFetchError","fetch","updateDataOnError")}const reAbsolute=/^(?:[a-z][a-z\d+\-.]*:)?\/\//i;function isAbsoluteURL$1(G){return reAbsolute.test(G)}function headersToObject$1(G){return typeof Headers<"u"&&G instanceof Headers?Object.fromEntries(G.entries()):G}function combineCallbacks(G,...H){return G==="overwrite"?async X=>{const Q=H[H.length-1];return Q?{...X,...await Q(X)}:X}:async X=>{for(const Q of H)Q&&(X={...X,...await Q(X)});return X}}function createFetch(G={}){const H=G.combination||"chain",X=G.options||{},Q=G.fetchOptions||{};function K(Z,...ee){const te=vue.computed(()=>{const oe=toValue(G.baseUrl),ae=toValue(Z);return oe&&!isAbsoluteURL$1(ae)?joinPaths(oe,ae):ae});let ne=X,re=Q;return ee.length>0&&(isFetchOptions(ee[0])?ne={...ne,...ee[0],beforeFetch:combineCallbacks(H,X.beforeFetch,ee[0].beforeFetch),afterFetch:combineCallbacks(H,X.afterFetch,ee[0].afterFetch),onFetchError:combineCallbacks(H,X.onFetchError,ee[0].onFetchError)}:re={...re,...ee[0],headers:{...headersToObject$1(re.headers)||{},...headersToObject$1(ee[0].headers)||{}}}),ee.length>1&&isFetchOptions(ee[1])&&(ne={...ne,...ee[1],beforeFetch:combineCallbacks(H,X.beforeFetch,ee[1].beforeFetch),afterFetch:combineCallbacks(H,X.afterFetch,ee[1].afterFetch),onFetchError:combineCallbacks(H,X.onFetchError,ee[1].onFetchError)}),useFetch(te,re,ne)}return K}function useFetch(G,...H){var X;const Q=typeof AbortController=="function";let K={},Z={immediate:!0,refetch:!1,timeout:0,updateDataOnError:!1};const ee={method:"GET",type:"text",payload:void 0};H.length>0&&(isFetchOptions(H[0])?Z={...Z,...H[0]}:K=H[0]),H.length>1&&isFetchOptions(H[1])&&(Z={...Z,...H[1]});const{fetch:te=(X=defaultWindow)==null?void 0:X.fetch,initialData:ne,timeout:re}=Z,oe=createEventHook(),ae=createEventHook(),se=createEventHook(),le=vue.ref(!1),ce=vue.ref(!1),de=vue.ref(!1),ue=vue.ref(null),he=vue.shallowRef(null),fe=vue.shallowRef(null),pe=vue.shallowRef(ne||null),ve=vue.computed(()=>Q&&ce.value);let me,ge;const we=()=>{Q&&(me==null||me.abort(),me=new AbortController,me.signal.onabort=()=>de.value=!0,K={...K,signal:me.signal})},$e=_e=>{ce.value=_e,le.value=!_e};re&&(ge=useTimeoutFn(we,re,{immediate:!1}));let Ee=0;const xe=async(_e=!1)=>{var ye,Ce;we(),$e(!0),fe.value=null,ue.value=null,de.value=!1,Ee+=1;const be=Ee,Te={method:ee.method,headers:{}};if(ee.payload){const Be=headersToObject$1(Te.headers),je=toValue(ee.payload);!ee.payloadType&&je&&Object.getPrototypeOf(je)===Object.prototype&&!(je instanceof FormData)&&(ee.payloadType="json"),ee.payloadType&&(Be["Content-Type"]=(ye=payloadMapping[ee.payloadType])!=null?ye:ee.payloadType),Te.body=ee.payloadType==="json"?JSON.stringify(je):je}let Ae=!1;const Re={url:toValue(G),options:{...Te,...K},cancel:()=>{Ae=!0}};if(Z.beforeFetch&&Object.assign(Re,await Z.beforeFetch(Re)),Ae||!te)return $e(!1),Promise.resolve(null);let Fe=null;return ge&&ge.start(),te(Re.url,{...Te,...Re.options,headers:{...headersToObject$1(Te.headers),...headersToObject$1((Ce=Re.options)==null?void 0:Ce.headers)}}).then(async Be=>{if(he.value=Be,ue.value=Be.status,Fe=await Be.clone()[ee.type](),!Be.ok)throw pe.value=ne||null,new Error(Be.statusText);return Z.afterFetch&&({data:Fe}=await Z.afterFetch({data:Fe,response:Be})),pe.value=Fe,oe.trigger(Be),Be}).catch(async Be=>{let je=Be.message||Be.name;if(Z.onFetchError&&({error:je,data:Fe}=await Z.onFetchError({data:Fe,error:Be,response:he.value})),fe.value=je,Z.updateDataOnError&&(pe.value=Fe),ae.trigger(Be),_e)throw Be;return null}).finally(()=>{be===Ee&&$e(!1),ge&&ge.stop(),se.trigger(null)})},Me=toRef(Z.refetch);vue.watch([Me,toRef(G)],([_e])=>_e&&xe(),{deep:!0});const De={isFinished:vue.readonly(le),isFetching:vue.readonly(ce),statusCode:ue,response:he,error:fe,data:pe,canAbort:ve,aborted:de,abort:we,execute:xe,onFetchResponse:oe.on,onFetchError:ae.on,onFetchFinally:se.on,get:ke("GET"),put:ke("PUT"),post:ke("POST"),delete:ke("DELETE"),patch:ke("PATCH"),head:ke("HEAD"),options:ke("OPTIONS"),json:Ne("json"),text:Ne("text"),blob:Ne("blob"),arrayBuffer:Ne("arrayBuffer"),formData:Ne("formData")};function ke(_e){return(ye,Ce)=>{if(!ce.value)return ee.method=_e,ee.payload=ye,ee.payloadType=Ce,vue.isRef(ee.payload)&&vue.watch([Me,toRef(ee.payload)],([be])=>be&&xe(),{deep:!0}),{...De,then(be,Te){return Oe().then(be,Te)}}}}function Oe(){return new Promise((_e,ye)=>{until(le).toBe(!0).then(()=>_e(De)).catch(Ce=>ye(Ce))})}function Ne(_e){return()=>{if(!ce.value)return ee.type=_e,{...De,then(ye,Ce){return Oe().then(ye,Ce)}}}}return Z.immediate&&Promise.resolve().then(()=>xe()),{...De,then(_e,ye){return Oe().then(_e,ye)}}}function joinPaths(G,H){return!G.endsWith("/")&&!H.startsWith("/")?`${G}/${H}`:`${G}${H}`}const DEFAULT_OPTIONS={multiple:!0,accept:"*",reset:!1,directory:!1};function useFileDialog(G={}){const{document:H=defaultDocument}=G,X=vue.ref(null),{on:Q,trigger:K}=createEventHook();let Z;H&&(Z=H.createElement("input"),Z.type="file",Z.onchange=ne=>{const re=ne.target;X.value=re.files,K(X.value)});const ee=()=>{X.value=null,Z&&Z.value&&(Z.value="",K(null))},te=ne=>{if(!Z)return;const re={...DEFAULT_OPTIONS,...G,...ne};Z.multiple=re.multiple,Z.accept=re.accept,Z.webkitdirectory=re.directory,hasOwn$3(re,"capture")&&(Z.capture=re.capture),re.reset&&ee(),Z.click()};return{files:vue.readonly(X),open:te,reset:ee,onChange:Q}}function useFileSystemAccess(G={}){const{window:H=defaultWindow,dataType:X="Text"}=G,Q=H,K=useSupported(()=>Q&&"showSaveFilePicker"in Q&&"showOpenFilePicker"in Q),Z=vue.ref(),ee=vue.ref(),te=vue.ref(),ne=vue.computed(()=>{var fe,pe;return(pe=(fe=te.value)==null?void 0:fe.name)!=null?pe:""}),re=vue.computed(()=>{var fe,pe;return(pe=(fe=te.value)==null?void 0:fe.type)!=null?pe:""}),oe=vue.computed(()=>{var fe,pe;return(pe=(fe=te.value)==null?void 0:fe.size)!=null?pe:0}),ae=vue.computed(()=>{var fe,pe;return(pe=(fe=te.value)==null?void 0:fe.lastModified)!=null?pe:0});async function se(fe={}){if(!K.value)return;const[pe]=await Q.showOpenFilePicker({...toValue(G),...fe});Z.value=pe,await he()}async function le(fe={}){K.value&&(Z.value=await Q.showSaveFilePicker({...G,...fe}),ee.value=void 0,await he())}async function ce(fe={}){if(K.value){if(!Z.value)return de(fe);if(ee.value){const pe=await Z.value.createWritable();await pe.write(ee.value),await pe.close()}await ue()}}async function de(fe={}){if(K.value){if(Z.value=await Q.showSaveFilePicker({...G,...fe}),ee.value){const pe=await Z.value.createWritable();await pe.write(ee.value),await pe.close()}await ue()}}async function ue(){var fe;te.value=await((fe=Z.value)==null?void 0:fe.getFile())}async function he(){var fe,pe;await ue();const ve=toValue(X);ve==="Text"?ee.value=await((fe=te.value)==null?void 0:fe.text()):ve==="ArrayBuffer"?ee.value=await((pe=te.value)==null?void 0:pe.arrayBuffer()):ve==="Blob"&&(ee.value=te.value)}return vue.watch(()=>toValue(X),he),{isSupported:K,data:ee,file:te,fileName:ne,fileMIME:re,fileSize:oe,fileLastModified:ae,open:se,create:le,save:ce,saveAs:de,updateData:he}}function useFocus(G,H={}){const{initialValue:X=!1,focusVisible:Q=!1,preventScroll:K=!1}=H,Z=vue.ref(!1),ee=vue.computed(()=>unrefElement(G));useEventListener(ee,"focus",ne=>{var re,oe;(!Q||(oe=(re=ne.target).matches)!=null&&oe.call(re,":focus-visible"))&&(Z.value=!0)}),useEventListener(ee,"blur",()=>Z.value=!1);const te=vue.computed({get:()=>Z.value,set(ne){var re,oe;!ne&&Z.value?(re=ee.value)==null||re.blur():ne&&!Z.value&&((oe=ee.value)==null||oe.focus({preventScroll:K}))}});return vue.watch(ee,()=>{te.value=X},{immediate:!0,flush:"post"}),{focused:te}}function useFocusWithin(G,H={}){const X=useActiveElement(H),Q=vue.computed(()=>unrefElement(G));return{focused:vue.computed(()=>Q.value&&X.value?Q.value.contains(X.value):!1)}}function useFps(G){var H;const X=vue.ref(0);if(typeof performance>"u")return X;const Q=(H=G==null?void 0:G.every)!=null?H:10;let K=performance.now(),Z=0;return useRafFn(()=>{if(Z+=1,Z>=Q){const ee=performance.now(),te=ee-K;X.value=Math.round(1e3/(te/Z)),K=ee,Z=0}}),X}const eventHandlers=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function useFullscreen(G,H={}){const{document:X=defaultDocument,autoExit:Q=!1}=H,K=vue.computed(()=>{var he;return(he=unrefElement(G))!=null?he:X==null?void 0:X.querySelector("html")}),Z=vue.ref(!1),ee=vue.computed(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(he=>X&&he in X||K.value&&he in K.value)),te=vue.computed(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(he=>X&&he in X||K.value&&he in K.value)),ne=vue.computed(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(he=>X&&he in X||K.value&&he in K.value)),re=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(he=>X&&he in X),oe=useSupported(()=>K.value&&X&&ee.value!==void 0&&te.value!==void 0&&ne.value!==void 0),ae=()=>re?(X==null?void 0:X[re])===K.value:!1,se=()=>{if(ne.value){if(X&&X[ne.value]!=null)return X[ne.value];{const he=K.value;if((he==null?void 0:he[ne.value])!=null)return!!he[ne.value]}}return!1};async function le(){if(!(!oe.value||!Z.value)){if(te.value)if((X==null?void 0:X[te.value])!=null)await X[te.value]();else{const he=K.value;(he==null?void 0:he[te.value])!=null&&await he[te.value]()}Z.value=!1}}async function ce(){if(!oe.value||Z.value)return;se()&&await le();const he=K.value;ee.value&&(he==null?void 0:he[ee.value])!=null&&(await he[ee.value](),Z.value=!0)}async function de(){await(Z.value?le():ce())}const ue=()=>{const he=se();(!he||he&&ae())&&(Z.value=he)};return useEventListener(X,eventHandlers,ue,!1),useEventListener(()=>unrefElement(K),eventHandlers,ue,!1),Q&&tryOnScopeDispose(le),{isSupported:oe,isFullscreen:Z,enter:ce,exit:le,toggle:de}}function mapGamepadToXbox360Controller(G){return vue.computed(()=>G.value?{buttons:{a:G.value.buttons[0],b:G.value.buttons[1],x:G.value.buttons[2],y:G.value.buttons[3]},bumper:{left:G.value.buttons[4],right:G.value.buttons[5]},triggers:{left:G.value.buttons[6],right:G.value.buttons[7]},stick:{left:{horizontal:G.value.axes[0],vertical:G.value.axes[1],button:G.value.buttons[10]},right:{horizontal:G.value.axes[2],vertical:G.value.axes[3],button:G.value.buttons[11]}},dpad:{up:G.value.buttons[12],down:G.value.buttons[13],left:G.value.buttons[14],right:G.value.buttons[15]},back:G.value.buttons[8],start:G.value.buttons[9]}:null)}function useGamepad(G={}){const{navigator:H=defaultNavigator}=G,X=useSupported(()=>H&&"getGamepads"in H),Q=vue.ref([]),K=createEventHook(),Z=createEventHook(),ee=le=>{const ce=[],de="vibrationActuator"in le?le.vibrationActuator:null;return de&&ce.push(de),le.hapticActuators&&ce.push(...le.hapticActuators),{id:le.id,index:le.index,connected:le.connected,mapping:le.mapping,timestamp:le.timestamp,vibrationActuator:le.vibrationActuator,hapticActuators:ce,axes:le.axes.map(ue=>ue),buttons:le.buttons.map(ue=>({pressed:ue.pressed,touched:ue.touched,value:ue.value}))}},te=()=>{const le=(H==null?void 0:H.getGamepads())||[];for(const ce of le)ce&&Q.value[ce.index]&&(Q.value[ce.index]=ee(ce))},{isActive:ne,pause:re,resume:oe}=useRafFn(te),ae=le=>{Q.value.some(({index:ce})=>ce===le.index)||(Q.value.push(ee(le)),K.trigger(le.index)),oe()},se=le=>{Q.value=Q.value.filter(ce=>ce.index!==le.index),Z.trigger(le.index)};return useEventListener("gamepadconnected",le=>ae(le.gamepad)),useEventListener("gamepaddisconnected",le=>se(le.gamepad)),tryOnMounted(()=>{const le=(H==null?void 0:H.getGamepads())||[];for(const ce of le)ce&&Q.value[ce.index]&&ae(ce)}),re(),{isSupported:X,onConnected:K.on,onDisconnected:Z.on,gamepads:Q,pause:re,resume:oe,isActive:ne}}function useGeolocation(G={}){const{enableHighAccuracy:H=!0,maximumAge:X=3e4,timeout:Q=27e3,navigator:K=defaultNavigator,immediate:Z=!0}=G,ee=useSupported(()=>K&&"geolocation"in K),te=vue.ref(null),ne=vue.shallowRef(null),re=vue.ref({accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null});function oe(ce){te.value=ce.timestamp,re.value=ce.coords,ne.value=null}let ae;function se(){ee.value&&(ae=K.geolocation.watchPosition(oe,ce=>ne.value=ce,{enableHighAccuracy:H,maximumAge:X,timeout:Q}))}Z&&se();function le(){ae&&K&&K.geolocation.clearWatch(ae)}return tryOnScopeDispose(()=>{le()}),{isSupported:ee,coords:re,locatedAt:te,error:ne,resume:se,pause:le}}const defaultEvents$1=["mousemove","mousedown","resize","keydown","touchstart","wheel"],oneMinute=6e4;function useIdle(G=oneMinute,H={}){const{initialState:X=!1,listenForVisibilityChange:Q=!0,events:K=defaultEvents$1,window:Z=defaultWindow,eventFilter:ee=throttleFilter(50)}=H,te=vue.ref(X),ne=vue.ref(timestamp());let re;const oe=()=>{te.value=!1,clearTimeout(re),re=setTimeout(()=>te.value=!0,G)},ae=createFilterWrapper(ee,()=>{ne.value=timestamp(),oe()});if(Z){const se=Z.document;for(const le of K)useEventListener(Z,le,ae,{passive:!0});Q&&useEventListener(se,"visibilitychange",()=>{se.hidden||ae()}),oe()}return{idle:te,lastActive:ne,reset:oe}}async function loadImage(G){return new Promise((H,X)=>{const Q=new Image,{src:K,srcset:Z,sizes:ee,class:te,loading:ne,crossorigin:re,referrerPolicy:oe}=G;Q.src=K,Z&&(Q.srcset=Z),ee&&(Q.sizes=ee),te&&(Q.className=te),ne&&(Q.loading=ne),re&&(Q.crossOrigin=re),oe&&(Q.referrerPolicy=oe),Q.onload=()=>H(Q),Q.onerror=X})}function useImage(G,H={}){const X=useAsyncState(()=>loadImage(toValue(G)),void 0,{resetOnExecute:!0,...H});return vue.watch(()=>toValue(G),()=>X.execute(H.delay),{deep:!0}),X}const ARRIVED_STATE_THRESHOLD_PIXELS=1;function useScroll(G,H={}){const{throttle:X=0,idle:Q=200,onStop:K=noop$5,onScroll:Z=noop$5,offset:ee={left:0,right:0,top:0,bottom:0},eventListenerOptions:te={capture:!1,passive:!0},behavior:ne="auto",window:re=defaultWindow,onError:oe=we=>{console.error(we)}}=H,ae=vue.ref(0),se=vue.ref(0),le=vue.computed({get(){return ae.value},set(we){de(we,void 0)}}),ce=vue.computed({get(){return se.value},set(we){de(void 0,we)}});function de(we,$e){var Ee,xe,Me,De;if(!re)return;const ke=toValue(G);if(!ke)return;(Me=ke instanceof Document?re.document.body:ke)==null||Me.scrollTo({top:(Ee=toValue($e))!=null?Ee:ce.value,left:(xe=toValue(we))!=null?xe:le.value,behavior:toValue(ne)});const Oe=((De=ke==null?void 0:ke.document)==null?void 0:De.documentElement)||(ke==null?void 0:ke.documentElement)||ke;le!=null&&(ae.value=Oe.scrollLeft),ce!=null&&(se.value=Oe.scrollTop)}const ue=vue.ref(!1),he=vue.reactive({left:!0,right:!1,top:!0,bottom:!1}),fe=vue.reactive({left:!1,right:!1,top:!1,bottom:!1}),pe=we=>{ue.value&&(ue.value=!1,fe.left=!1,fe.right=!1,fe.top=!1,fe.bottom=!1,K(we))},ve=useDebounceFn(pe,X+Q),me=we=>{var $e;if(!re)return;const Ee=(($e=we==null?void 0:we.document)==null?void 0:$e.documentElement)||(we==null?void 0:we.documentElement)||unrefElement(we),{display:xe,flexDirection:Me}=getComputedStyle(Ee),De=Ee.scrollLeft;fe.left=De<ae.value,fe.right=De>ae.value;const ke=Math.abs(De)<=(ee.left||0),Oe=Math.abs(De)+Ee.clientWidth>=Ee.scrollWidth-(ee.right||0)-ARRIVED_STATE_THRESHOLD_PIXELS;xe==="flex"&&Me==="row-reverse"?(he.left=Oe,he.right=ke):(he.left=ke,he.right=Oe),ae.value=De;let Ne=Ee.scrollTop;we===re.document&&!Ne&&(Ne=re.document.body.scrollTop),fe.top=Ne<se.value,fe.bottom=Ne>se.value;const _e=Math.abs(Ne)<=(ee.top||0),ye=Math.abs(Ne)+Ee.clientHeight>=Ee.scrollHeight-(ee.bottom||0)-ARRIVED_STATE_THRESHOLD_PIXELS;xe==="flex"&&Me==="column-reverse"?(he.top=ye,he.bottom=_e):(he.top=_e,he.bottom=ye),se.value=Ne},ge=we=>{var $e;if(!re)return;const Ee=($e=we.target.documentElement)!=null?$e:we.target;me(Ee),ue.value=!0,ve(we),Z(we)};return useEventListener(G,"scroll",X?useThrottleFn(ge,X,!0,!1):ge,te),tryOnMounted(()=>{try{const we=toValue(G);if(!we)return;me(we)}catch(we){oe(we)}}),useEventListener(G,"scrollend",pe,te),{x:le,y:ce,isScrolling:ue,arrivedState:he,directions:fe,measure(){const we=toValue(G);re&&we&&me(we)}}}function resolveElement(G){return typeof Window<"u"&&G instanceof Window?G.document.documentElement:typeof Document<"u"&&G instanceof Document?G.documentElement:G}function useInfiniteScroll(G,H,X={}){var Q;const{direction:K="bottom",interval:Z=100,canLoadMore:ee=()=>!0}=X,te=vue.reactive(useScroll(G,{...X,offset:{[K]:(Q=X.distance)!=null?Q:0,...X.offset}})),ne=vue.ref(),re=vue.computed(()=>!!ne.value),oe=vue.computed(()=>resolveElement(toValue(G))),ae=useElementVisibility(oe);function se(){if(te.measure(),!oe.value||!ae.value||!ee(oe.value))return;const{scrollHeight:le,clientHeight:ce,scrollWidth:de,clientWidth:ue}=oe.value,he=K==="bottom"||K==="top"?le<=ce:de<=ue;(te.arrivedState[K]||he)&&(ne.value||(ne.value=Promise.all([H(te),new Promise(fe=>setTimeout(fe,Z))]).finally(()=>{ne.value=null,vue.nextTick(()=>se())})))}return vue.watch(()=>[te.arrivedState[K],ae.value],se,{immediate:!0}),{isLoading:re}}const defaultEvents=["mousedown","mouseup","keydown","keyup"];function useKeyModifier(G,H={}){const{events:X=defaultEvents,document:Q=defaultDocument,initial:K=null}=H,Z=vue.ref(K);return Q&&X.forEach(ee=>{useEventListener(Q,ee,te=>{typeof te.getModifierState=="function"&&(Z.value=te.getModifierState(G))})}),Z}function useLocalStorage(G,H,X={}){const{window:Q=defaultWindow}=X;return useStorage(G,H,Q==null?void 0:Q.localStorage,X)}const DefaultMagicKeysAliasMap={ctrl:"control",command:"meta",cmd:"meta",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright"};function useMagicKeys(G={}){const{reactive:H=!1,target:X=defaultWindow,aliasMap:Q=DefaultMagicKeysAliasMap,passive:K=!0,onEventFired:Z=noop$5}=G,ee=vue.reactive(new Set),te={toJSON(){return{}},current:ee},ne=H?vue.reactive(te):te,re=new Set,oe=new Set;function ae(de,ue){de in ne&&(H?ne[de]=ue:ne[de].value=ue)}function se(){ee.clear();for(const de of oe)ae(de,!1)}function le(de,ue){var he,fe;const pe=(he=de.key)==null?void 0:he.toLowerCase(),me=[(fe=de.code)==null?void 0:fe.toLowerCase(),pe].filter(Boolean);pe&&(ue?ee.add(pe):ee.delete(pe));for(const ge of me)oe.add(ge),ae(ge,ue);pe==="meta"&&!ue?(re.forEach(ge=>{ee.delete(ge),ae(ge,!1)}),re.clear()):typeof de.getModifierState=="function"&&de.getModifierState("Meta")&&ue&&[...ee,...me].forEach(ge=>re.add(ge))}useEventListener(X,"keydown",de=>(le(de,!0),Z(de)),{passive:K}),useEventListener(X,"keyup",de=>(le(de,!1),Z(de)),{passive:K}),useEventListener("blur",se,{passive:!0}),useEventListener("focus",se,{passive:!0});const ce=new Proxy(ne,{get(de,ue,he){if(typeof ue!="string")return Reflect.get(de,ue,he);if(ue=ue.toLowerCase(),ue in Q&&(ue=Q[ue]),!(ue in ne))if(/[+_-]/.test(ue)){const pe=ue.split(/[+_-]/g).map(ve=>ve.trim());ne[ue]=vue.computed(()=>pe.every(ve=>toValue(ce[ve])))}else ne[ue]=vue.ref(!1);const fe=Reflect.get(de,ue,he);return H?toValue(fe):fe}});return ce}function usingElRef(G,H){toValue(G)&&H(toValue(G))}function timeRangeToArray(G){let H=[];for(let X=0;X<G.length;++X)H=[...H,[G.start(X),G.end(X)]];return H}function tracksToArray(G){return Array.from(G).map(({label:H,kind:X,language:Q,mode:K,activeCues:Z,cues:ee,inBandMetadataTrackDispatchType:te},ne)=>({id:ne,label:H,kind:X,language:Q,mode:K,activeCues:Z,cues:ee,inBandMetadataTrackDispatchType:te}))}const defaultOptions={src:"",tracks:[]};function useMediaControls(G,H={}){G=toRef(G),H={...defaultOptions,...H};const{document:X=defaultDocument}=H,Q=vue.ref(0),K=vue.ref(0),Z=vue.ref(!1),ee=vue.ref(1),te=vue.ref(!1),ne=vue.ref(!1),re=vue.ref(!1),oe=vue.ref(1),ae=vue.ref(!1),se=vue.ref([]),le=vue.ref([]),ce=vue.ref(-1),de=vue.ref(!1),ue=vue.ref(!1),he=X&&"pictureInPictureEnabled"in X,fe=createEventHook(),pe=xe=>{usingElRef(G,Me=>{if(xe){const De=typeof xe=="number"?xe:xe.id;Me.textTracks[De].mode="disabled"}else for(let De=0;De<Me.textTracks.length;++De)Me.textTracks[De].mode="disabled";ce.value=-1})},ve=(xe,Me=!0)=>{usingElRef(G,De=>{const ke=typeof xe=="number"?xe:xe.id;Me&&pe(),De.textTracks[ke].mode="showing",ce.value=ke})},me=()=>new Promise((xe,Me)=>{usingElRef(G,async De=>{he&&(de.value?X.exitPictureInPicture().then(xe).catch(Me):De.requestPictureInPicture().then(xe).catch(Me))})});vue.watchEffect(()=>{if(!X)return;const xe=toValue(G);if(!xe)return;const Me=toValue(H.src);let De=[];Me&&(typeof Me=="string"?De=[{src:Me}]:Array.isArray(Me)?De=Me:isObject$4(Me)&&(De=[Me]),xe.querySelectorAll("source").forEach(ke=>{ke.removeEventListener("error",fe.trigger),ke.remove()}),De.forEach(({src:ke,type:Oe})=>{const Ne=X.createElement("source");Ne.setAttribute("src",ke),Ne.setAttribute("type",Oe||""),Ne.addEventListener("error",fe.trigger),xe.appendChild(Ne)}),xe.load())}),tryOnScopeDispose(()=>{const xe=toValue(G);xe&&xe.querySelectorAll("source").forEach(Me=>Me.removeEventListener("error",fe.trigger))}),vue.watch([G,ee],()=>{const xe=toValue(G);xe&&(xe.volume=ee.value)}),vue.watch([G,ue],()=>{const xe=toValue(G);xe&&(xe.muted=ue.value)}),vue.watch([G,oe],()=>{const xe=toValue(G);xe&&(xe.playbackRate=oe.value)}),vue.watchEffect(()=>{if(!X)return;const xe=toValue(H.tracks),Me=toValue(G);!xe||!xe.length||!Me||(Me.querySelectorAll("track").forEach(De=>De.remove()),xe.forEach(({default:De,kind:ke,label:Oe,src:Ne,srcLang:_e},ye)=>{const Ce=X.createElement("track");Ce.default=De||!1,Ce.kind=ke,Ce.label=Oe,Ce.src=Ne,Ce.srclang=_e,Ce.default&&(ce.value=ye),Me.appendChild(Ce)}))});const{ignoreUpdates:ge}=watchIgnorable(Q,xe=>{const Me=toValue(G);Me&&(Me.currentTime=xe)}),{ignoreUpdates:we}=watchIgnorable(re,xe=>{const Me=toValue(G);Me&&(xe?Me.play():Me.pause())});useEventListener(G,"timeupdate",()=>ge(()=>Q.value=toValue(G).currentTime)),useEventListener(G,"durationchange",()=>K.value=toValue(G).duration),useEventListener(G,"progress",()=>se.value=timeRangeToArray(toValue(G).buffered)),useEventListener(G,"seeking",()=>Z.value=!0),useEventListener(G,"seeked",()=>Z.value=!1),useEventListener(G,["waiting","loadstart"],()=>{te.value=!0,we(()=>re.value=!1)}),useEventListener(G,"loadeddata",()=>te.value=!1),useEventListener(G,"playing",()=>{te.value=!1,ne.value=!1,we(()=>re.value=!0)}),useEventListener(G,"ratechange",()=>oe.value=toValue(G).playbackRate),useEventListener(G,"stalled",()=>ae.value=!0),useEventListener(G,"ended",()=>ne.value=!0),useEventListener(G,"pause",()=>we(()=>re.value=!1)),useEventListener(G,"play",()=>we(()=>re.value=!0)),useEventListener(G,"enterpictureinpicture",()=>de.value=!0),useEventListener(G,"leavepictureinpicture",()=>de.value=!1),useEventListener(G,"volumechange",()=>{const xe=toValue(G);xe&&(ee.value=xe.volume,ue.value=xe.muted)});const $e=[],Ee=vue.watch([G],()=>{const xe=toValue(G);xe&&(Ee(),$e[0]=useEventListener(xe.textTracks,"addtrack",()=>le.value=tracksToArray(xe.textTracks)),$e[1]=useEventListener(xe.textTracks,"removetrack",()=>le.value=tracksToArray(xe.textTracks)),$e[2]=useEventListener(xe.textTracks,"change",()=>le.value=tracksToArray(xe.textTracks)))});return tryOnScopeDispose(()=>$e.forEach(xe=>xe())),{currentTime:Q,duration:K,waiting:te,seeking:Z,ended:ne,stalled:ae,buffered:se,playing:re,rate:oe,volume:ee,muted:ue,tracks:le,selectedTrack:ce,enableTrack:ve,disableTrack:pe,supportsPictureInPicture:he,togglePictureInPicture:me,isPictureInPicture:de,onSourceError:fe.on}}function getMapVue2Compat(){const G=vue.shallowReactive({});return{get:H=>G[H],set:(H,X)=>set$2(G,H,X),has:H=>hasOwn$3(G,H),delete:H=>del(G,H),clear:()=>{Object.keys(G).forEach(H=>{del(G,H)})}}}function useMemoize(G,H){const Q=H!=null&&H.cache?vue.shallowReactive(H.cache):isVue2?getMapVue2Compat():vue.shallowReactive(new Map),K=(...oe)=>H!=null&&H.getKey?H.getKey(...oe):JSON.stringify(oe),Z=(oe,...ae)=>(Q.set(oe,G(...ae)),Q.get(oe)),ee=(...oe)=>Z(K(...oe),...oe),te=(...oe)=>{Q.delete(K(...oe))},ne=()=>{Q.clear()},re=(...oe)=>{const ae=K(...oe);return Q.has(ae)?Q.get(ae):Z(ae,...oe)};return re.load=ee,re.delete=te,re.clear=ne,re.generateKey=K,re.cache=Q,re}function useMemory(G={}){const H=vue.ref(),X=useSupported(()=>typeof performance<"u"&&"memory"in performance);if(X.value){const{interval:Q=1e3}=G;useIntervalFn(()=>{H.value=performance.memory},Q,{immediate:G.immediate,immediateCallback:G.immediateCallback})}return{isSupported:X,memory:H}}const UseMouseBuiltinExtractors={page:G=>[G.pageX,G.pageY],client:G=>[G.clientX,G.clientY],screen:G=>[G.screenX,G.screenY],movement:G=>G instanceof Touch?null:[G.movementX,G.movementY]};function useMouse(G={}){const{type:H="page",touch:X=!0,resetOnTouchEnds:Q=!1,initialValue:K={x:0,y:0},window:Z=defaultWindow,target:ee=Z,scroll:te=!0,eventFilter:ne}=G;let re=null;const oe=vue.ref(K.x),ae=vue.ref(K.y),se=vue.ref(null),le=typeof H=="function"?H:UseMouseBuiltinExtractors[H],ce=me=>{const ge=le(me);re=me,ge&&([oe.value,ae.value]=ge,se.value="mouse")},de=me=>{if(me.touches.length>0){const ge=le(me.touches[0]);ge&&([oe.value,ae.value]=ge,se.value="touch")}},ue=()=>{if(!re||!Z)return;const me=le(re);re instanceof MouseEvent&&me&&(oe.value=me[0]+Z.scrollX,ae.value=me[1]+Z.scrollY)},he=()=>{oe.value=K.x,ae.value=K.y},fe=ne?me=>ne(()=>ce(me),{}):me=>ce(me),pe=ne?me=>ne(()=>de(me),{}):me=>de(me),ve=ne?()=>ne(()=>ue(),{}):()=>ue();if(ee){const me={passive:!0};useEventListener(ee,["mousemove","dragover"],fe,me),X&&H!=="movement"&&(useEventListener(ee,["touchstart","touchmove"],pe,me),Q&&useEventListener(ee,"touchend",he,me)),te&&H==="page"&&useEventListener(Z,"scroll",ve,{passive:!0})}return{x:oe,y:ae,sourceType:se}}function useMouseInElement(G,H={}){const{handleOutside:X=!0,window:Q=defaultWindow}=H,K=H.type||"page",{x:Z,y:ee,sourceType:te}=useMouse(H),ne=vue.ref(G??(Q==null?void 0:Q.document.body)),re=vue.ref(0),oe=vue.ref(0),ae=vue.ref(0),se=vue.ref(0),le=vue.ref(0),ce=vue.ref(0),de=vue.ref(!0);let ue=()=>{};return Q&&(ue=vue.watch([ne,Z,ee],()=>{const he=unrefElement(ne);if(!he)return;const{left:fe,top:pe,width:ve,height:me}=he.getBoundingClientRect();ae.value=fe+(K==="page"?Q.pageXOffset:0),se.value=pe+(K==="page"?Q.pageYOffset:0),le.value=me,ce.value=ve;const ge=Z.value-ae.value,we=ee.value-se.value;de.value=ve===0||me===0||ge<0||we<0||ge>ve||we>me,(X||!de.value)&&(re.value=ge,oe.value=we)},{immediate:!0}),useEventListener(document,"mouseleave",()=>{de.value=!0})),{x:Z,y:ee,sourceType:te,elementX:re,elementY:oe,elementPositionX:ae,elementPositionY:se,elementHeight:le,elementWidth:ce,isOutside:de,stop:ue}}function useMousePressed(G={}){const{touch:H=!0,drag:X=!0,capture:Q=!1,initialValue:K=!1,window:Z=defaultWindow}=G,ee=vue.ref(K),te=vue.ref(null);if(!Z)return{pressed:ee,sourceType:te};const ne=ae=>()=>{ee.value=!0,te.value=ae},re=()=>{ee.value=!1,te.value=null},oe=vue.computed(()=>unrefElement(G.target)||Z);return useEventListener(oe,"mousedown",ne("mouse"),{passive:!0,capture:Q}),useEventListener(Z,"mouseleave",re,{passive:!0,capture:Q}),useEventListener(Z,"mouseup",re,{passive:!0,capture:Q}),X&&(useEventListener(oe,"dragstart",ne("mouse"),{passive:!0,capture:Q}),useEventListener(Z,"drop",re,{passive:!0,capture:Q}),useEventListener(Z,"dragend",re,{passive:!0,capture:Q})),H&&(useEventListener(oe,"touchstart",ne("touch"),{passive:!0,capture:Q}),useEventListener(Z,"touchend",re,{passive:!0,capture:Q}),useEventListener(Z,"touchcancel",re,{passive:!0,capture:Q})),{pressed:ee,sourceType:te}}function useNavigatorLanguage(G={}){const{window:H=defaultWindow}=G,X=H==null?void 0:H.navigator,Q=useSupported(()=>X&&"language"in X),K=vue.ref(X==null?void 0:X.language);return useEventListener(H,"languagechange",()=>{X&&(K.value=X.language)}),{isSupported:Q,language:K}}function useNetwork(G={}){const{window:H=defaultWindow}=G,X=H==null?void 0:H.navigator,Q=useSupported(()=>X&&"connection"in X),K=vue.ref(!0),Z=vue.ref(!1),ee=vue.ref(void 0),te=vue.ref(void 0),ne=vue.ref(void 0),re=vue.ref(void 0),oe=vue.ref(void 0),ae=vue.ref(void 0),se=vue.ref("unknown"),le=Q.value&&X.connection;function ce(){X&&(K.value=X.onLine,ee.value=K.value?void 0:Date.now(),te.value=K.value?Date.now():void 0,le&&(ne.value=le.downlink,re.value=le.downlinkMax,ae.value=le.effectiveType,oe.value=le.rtt,Z.value=le.saveData,se.value=le.type))}return H&&(useEventListener(H,"offline",()=>{K.value=!1,ee.value=Date.now()}),useEventListener(H,"online",()=>{K.value=!0,te.value=Date.now()})),le&&useEventListener(le,"change",ce,!1),ce(),{isSupported:Q,isOnline:K,saveData:Z,offlineAt:ee,onlineAt:te,downlink:ne,downlinkMax:re,effectiveType:ae,rtt:oe,type:se}}function useNow(G={}){const{controls:H=!1,interval:X="requestAnimationFrame"}=G,Q=vue.ref(new Date),K=()=>Q.value=new Date,Z=X==="requestAnimationFrame"?useRafFn(K,{immediate:!0}):useIntervalFn(K,X,{immediate:!0});return H?{now:Q,...Z}:Q}function useObjectUrl(G){const H=vue.ref(),X=()=>{H.value&&URL.revokeObjectURL(H.value),H.value=void 0};return vue.watch(()=>toValue(G),Q=>{X(),Q&&(H.value=URL.createObjectURL(Q))},{immediate:!0}),tryOnScopeDispose(X),vue.readonly(H)}function useClamp(G,H,X){if(typeof G=="function"||vue.isReadonly(G))return vue.computed(()=>clamp(toValue(G),toValue(H),toValue(X)));const Q=vue.ref(G);return vue.computed({get(){return Q.value=clamp(Q.value,toValue(H),toValue(X))},set(K){Q.value=clamp(K,toValue(H),toValue(X))}})}function useOffsetPagination(G){const{total:H=Number.POSITIVE_INFINITY,pageSize:X=10,page:Q=1,onPageChange:K=noop$5,onPageSizeChange:Z=noop$5,onPageCountChange:ee=noop$5}=G,te=useClamp(X,1,Number.POSITIVE_INFINITY),ne=vue.computed(()=>Math.max(1,Math.ceil(toValue(H)/toValue(te)))),re=useClamp(Q,1,ne),oe=vue.computed(()=>re.value===1),ae=vue.computed(()=>re.value===ne.value);vue.isRef(Q)&&syncRef(Q,re,{direction:vue.isReadonly(Q)?"ltr":"both"}),vue.isRef(X)&&syncRef(X,te,{direction:vue.isReadonly(X)?"ltr":"both"});function se(){re.value--}function le(){re.value++}const ce={currentPage:re,currentPageSize:te,pageCount:ne,isFirstPage:oe,isLastPage:ae,prev:se,next:le};return vue.watch(re,()=>{K(vue.reactive(ce))}),vue.watch(te,()=>{Z(vue.reactive(ce))}),vue.watch(ne,()=>{ee(vue.reactive(ce))}),ce}function useOnline(G={}){const{isOnline:H}=useNetwork(G);return H}function usePageLeave(G={}){const{window:H=defaultWindow}=G,X=vue.ref(!1),Q=K=>{if(!H)return;K=K||H.event;const Z=K.relatedTarget||K.toElement;X.value=!Z};return H&&(useEventListener(H,"mouseout",Q,{passive:!0}),useEventListener(H.document,"mouseleave",Q,{passive:!0}),useEventListener(H.document,"mouseenter",Q,{passive:!0})),X}function useScreenOrientation(G={}){const{window:H=defaultWindow}=G,X=useSupported(()=>H&&"screen"in H&&"orientation"in H.screen),Q=X.value?H.screen.orientation:{},K=vue.ref(Q.type),Z=vue.ref(Q.angle||0);return X.value&&useEventListener(H,"orientationchange",()=>{K.value=Q.type,Z.value=Q.angle}),{isSupported:X,orientation:K,angle:Z,lockOrientation:ne=>X.value&&typeof Q.lock=="function"?Q.lock(ne):Promise.reject(new Error("Not supported")),unlockOrientation:()=>{X.value&&typeof Q.unlock=="function"&&Q.unlock()}}}function useParallax(G,H={}){const{deviceOrientationTiltAdjust:X=ue=>ue,deviceOrientationRollAdjust:Q=ue=>ue,mouseTiltAdjust:K=ue=>ue,mouseRollAdjust:Z=ue=>ue,window:ee=defaultWindow}=H,te=vue.reactive(useDeviceOrientation({window:ee})),ne=vue.reactive(useScreenOrientation({window:ee})),{elementX:re,elementY:oe,elementWidth:ae,elementHeight:se}=useMouseInElement(G,{handleOutside:!1,window:ee}),le=vue.computed(()=>te.isSupported&&(te.alpha!=null&&te.alpha!==0||te.gamma!=null&&te.gamma!==0)?"deviceOrientation":"mouse"),ce=vue.computed(()=>{if(le.value==="deviceOrientation"){let ue;switch(ne.orientation){case"landscape-primary":ue=te.gamma/90;break;case"landscape-secondary":ue=-te.gamma/90;break;case"portrait-primary":ue=-te.beta/90;break;case"portrait-secondary":ue=te.beta/90;break;default:ue=-te.beta/90}return Q(ue)}else{const ue=-(oe.value-se.value/2)/se.value;return Z(ue)}}),de=vue.computed(()=>{if(le.value==="deviceOrientation"){let ue;switch(ne.orientation){case"landscape-primary":ue=te.beta/90;break;case"landscape-secondary":ue=-te.beta/90;break;case"portrait-primary":ue=te.gamma/90;break;case"portrait-secondary":ue=-te.gamma/90;break;default:ue=te.gamma/90}return X(ue)}else{const ue=(re.value-ae.value/2)/ae.value;return K(ue)}});return{roll:ce,tilt:de,source:le}}function useParentElement(G=useCurrentElement()){const H=vue.shallowRef(),X=()=>{const Q=unrefElement(G);Q&&(H.value=Q.parentElement)};return tryOnMounted(X),vue.watch(()=>toValue(G),X),H}function usePerformanceObserver(G,H){const{window:X=defaultWindow,immediate:Q=!0,...K}=G,Z=useSupported(()=>X&&"PerformanceObserver"in X);let ee;const te=()=>{ee==null||ee.disconnect()},ne=()=>{Z.value&&(te(),ee=new PerformanceObserver(H),ee.observe(K))};return tryOnScopeDispose(te),Q&&ne(),{isSupported:Z,start:ne,stop:te}}const defaultState={x:0,y:0,pointerId:0,pressure:0,tiltX:0,tiltY:0,width:0,height:0,twist:0,pointerType:null},keys$2=Object.keys(defaultState);function usePointer(G={}){const{target:H=defaultWindow}=G,X=vue.ref(!1),Q=vue.ref(G.initialValue||{});Object.assign(Q.value,defaultState,Q.value);const K=Z=>{X.value=!0,!(G.pointerTypes&&!G.pointerTypes.includes(Z.pointerType))&&(Q.value=objectPick(Z,keys$2,!1))};if(H){const Z={passive:!0};useEventListener(H,["pointerdown","pointermove","pointerup"],K,Z),useEventListener(H,"pointerleave",()=>X.value=!1,Z)}return{...toRefs(Q),isInside:X}}function usePointerLock(G,H={}){const{document:X=defaultDocument}=H,Q=useSupported(()=>X&&"pointerLockElement"in X),K=vue.ref(),Z=vue.ref();let ee;Q.value&&(useEventListener(X,"pointerlockchange",()=>{var re;const oe=(re=X.pointerLockElement)!=null?re:K.value;ee&&oe===ee&&(K.value=X.pointerLockElement,K.value||(ee=Z.value=null))}),useEventListener(X,"pointerlockerror",()=>{var re;const oe=(re=X.pointerLockElement)!=null?re:K.value;if(ee&&oe===ee){const ae=X.pointerLockElement?"release":"acquire";throw new Error(`Failed to ${ae} pointer lock.`)}}));async function te(re){var oe;if(!Q.value)throw new Error("Pointer Lock API is not supported by your browser.");if(Z.value=re instanceof Event?re.currentTarget:null,ee=re instanceof Event?(oe=unrefElement(G))!=null?oe:Z.value:unrefElement(re),!ee)throw new Error("Target element undefined.");return ee.requestPointerLock(),await until(K).toBe(ee)}async function ne(){return K.value?(X.exitPointerLock(),await until(K).toBeNull(),!0):!1}return{isSupported:Q,element:K,triggerElement:Z,lock:te,unlock:ne}}function usePointerSwipe(G,H={}){const X=toRef(G),{threshold:Q=50,onSwipe:K,onSwipeEnd:Z,onSwipeStart:ee,disableTextSelect:te=!1}=H,ne=vue.reactive({x:0,y:0}),re=(we,$e)=>{ne.x=we,ne.y=$e},oe=vue.reactive({x:0,y:0}),ae=(we,$e)=>{oe.x=we,oe.y=$e},se=vue.computed(()=>ne.x-oe.x),le=vue.computed(()=>ne.y-oe.y),{max:ce,abs:de}=Math,ue=vue.computed(()=>ce(de(se.value),de(le.value))>=Q),he=vue.ref(!1),fe=vue.ref(!1),pe=vue.computed(()=>ue.value?de(se.value)>de(le.value)?se.value>0?"left":"right":le.value>0?"up":"down":"none"),ve=we=>{var $e,Ee,xe;const Me=we.buttons===0,De=we.buttons===1;return(xe=(Ee=($e=H.pointerTypes)==null?void 0:$e.includes(we.pointerType))!=null?Ee:Me||De)!=null?xe:!0},me=[useEventListener(G,"pointerdown",we=>{if(!ve(we))return;fe.value=!0;const $e=we.target;$e==null||$e.setPointerCapture(we.pointerId);const{clientX:Ee,clientY:xe}=we;re(Ee,xe),ae(Ee,xe),ee==null||ee(we)}),useEventListener(G,"pointermove",we=>{if(!ve(we)||!fe.value)return;const{clientX:$e,clientY:Ee}=we;ae($e,Ee),!he.value&&ue.value&&(he.value=!0),he.value&&(K==null||K(we))}),useEventListener(G,"pointerup",we=>{ve(we)&&(he.value&&(Z==null||Z(we,pe.value)),fe.value=!1,he.value=!1)})];tryOnMounted(()=>{var we,$e,Ee,xe,Me,De,ke,Oe;($e=(we=X.value)==null?void 0:we.style)==null||$e.setProperty("touch-action","none"),te&&((xe=(Ee=X.value)==null?void 0:Ee.style)==null||xe.setProperty("-webkit-user-select","none"),(De=(Me=X.value)==null?void 0:Me.style)==null||De.setProperty("-ms-user-select","none"),(Oe=(ke=X.value)==null?void 0:ke.style)==null||Oe.setProperty("user-select","none"))});const ge=()=>me.forEach(we=>we());return{isSwiping:vue.readonly(he),direction:vue.readonly(pe),posStart:vue.readonly(ne),posEnd:vue.readonly(oe),distanceX:se,distanceY:le,stop:ge}}function usePreferredColorScheme(G){const H=useMediaQuery("(prefers-color-scheme: light)",G),X=useMediaQuery("(prefers-color-scheme: dark)",G);return vue.computed(()=>X.value?"dark":H.value?"light":"no-preference")}function usePreferredContrast(G){const H=useMediaQuery("(prefers-contrast: more)",G),X=useMediaQuery("(prefers-contrast: less)",G),Q=useMediaQuery("(prefers-contrast: custom)",G);return vue.computed(()=>H.value?"more":X.value?"less":Q.value?"custom":"no-preference")}function usePreferredLanguages(G={}){const{window:H=defaultWindow}=G;if(!H)return vue.ref(["en"]);const X=H.navigator,Q=vue.ref(X.languages);return useEventListener(H,"languagechange",()=>{Q.value=X.languages}),Q}function usePreferredReducedMotion(G){const H=useMediaQuery("(prefers-reduced-motion: reduce)",G);return vue.computed(()=>H.value?"reduce":"no-preference")}function usePrevious(G,H){const X=vue.shallowRef(H);return vue.watch(toRef(G),(Q,K)=>{X.value=K},{flush:"sync"}),vue.readonly(X)}const topVarName="--vueuse-safe-area-top",rightVarName="--vueuse-safe-area-right",bottomVarName="--vueuse-safe-area-bottom",leftVarName="--vueuse-safe-area-left";function useScreenSafeArea(){const G=vue.ref(""),H=vue.ref(""),X=vue.ref(""),Q=vue.ref("");if(isClient$1){const Z=useCssVar(topVarName),ee=useCssVar(rightVarName),te=useCssVar(bottomVarName),ne=useCssVar(leftVarName);Z.value="env(safe-area-inset-top, 0px)",ee.value="env(safe-area-inset-right, 0px)",te.value="env(safe-area-inset-bottom, 0px)",ne.value="env(safe-area-inset-left, 0px)",K(),useEventListener("resize",useDebounceFn(K))}function K(){G.value=getValue$4(topVarName),H.value=getValue$4(rightVarName),X.value=getValue$4(bottomVarName),Q.value=getValue$4(leftVarName)}return{top:G,right:H,bottom:X,left:Q,update:K}}function getValue$4(G){return getComputedStyle(document.documentElement).getPropertyValue(G)}function useScriptTag(G,H=noop$5,X={}){const{immediate:Q=!0,manual:K=!1,type:Z="text/javascript",async:ee=!0,crossOrigin:te,referrerPolicy:ne,noModule:re,defer:oe,document:ae=defaultDocument,attrs:se={}}=X,le=vue.ref(null);let ce=null;const de=fe=>new Promise((pe,ve)=>{const me=$e=>(le.value=$e,pe($e),$e);if(!ae){pe(!1);return}let ge=!1,we=ae.querySelector(`script[src="${toValue(G)}"]`);we?we.hasAttribute("data-loaded")&&me(we):(we=ae.createElement("script"),we.type=Z,we.async=ee,we.src=toValue(G),oe&&(we.defer=oe),te&&(we.crossOrigin=te),re&&(we.noModule=re),ne&&(we.referrerPolicy=ne),Object.entries(se).forEach(([$e,Ee])=>we==null?void 0:we.setAttribute($e,Ee)),ge=!0),we.addEventListener("error",$e=>ve($e)),we.addEventListener("abort",$e=>ve($e)),we.addEventListener("load",()=>{we.setAttribute("data-loaded","true"),H(we),me(we)}),ge&&(we=ae.head.appendChild(we)),fe||me(we)}),ue=(fe=!0)=>(ce||(ce=de(fe)),ce),he=()=>{if(!ae)return;ce=null,le.value&&(le.value=null);const fe=ae.querySelector(`script[src="${toValue(G)}"]`);fe&&ae.head.removeChild(fe)};return Q&&!K&&tryOnMounted(ue),K||tryOnUnmounted(he),{scriptTag:le,load:ue,unload:he}}function checkOverflowScroll(G){const H=window.getComputedStyle(G);if(H.overflowX==="scroll"||H.overflowY==="scroll"||H.overflowX==="auto"&&G.clientWidth<G.scrollWidth||H.overflowY==="auto"&&G.clientHeight<G.scrollHeight)return!0;{const X=G.parentNode;return!X||X.tagName==="BODY"?!1:checkOverflowScroll(X)}}function preventDefault(G){const H=G||window.event,X=H.target;return checkOverflowScroll(X)?!1:H.touches.length>1?!0:(H.preventDefault&&H.preventDefault(),!1)}const elInitialOverflow=new WeakMap;function useScrollLock(G,H=!1){const X=vue.ref(H);let Q=null,K="";vue.watch(toRef(G),te=>{const ne=resolveElement(toValue(te));if(ne){const re=ne;if(elInitialOverflow.get(re)||elInitialOverflow.set(re,re.style.overflow),re.style.overflow!=="hidden"&&(K=re.style.overflow),re.style.overflow==="hidden")return X.value=!0;if(X.value)return re.style.overflow="hidden"}},{immediate:!0});const Z=()=>{const te=resolveElement(toValue(G));!te||X.value||(isIOS&&(Q=useEventListener(te,"touchmove",ne=>{preventDefault(ne)},{passive:!1})),te.style.overflow="hidden",X.value=!0)},ee=()=>{const te=resolveElement(toValue(G));!te||!X.value||(isIOS&&(Q==null||Q()),te.style.overflow=K,elInitialOverflow.delete(te),X.value=!1)};return tryOnScopeDispose(ee),vue.computed({get(){return X.value},set(te){te?Z():ee()}})}function useSessionStorage(G,H,X={}){const{window:Q=defaultWindow}=X;return useStorage(G,H,Q==null?void 0:Q.sessionStorage,X)}function useShare(G={},H={}){const{navigator:X=defaultNavigator}=H,Q=X,K=useSupported(()=>Q&&"canShare"in Q);return{isSupported:K,share:async(ee={})=>{if(K.value){const te={...toValue(G),...toValue(ee)};let ne=!0;if(te.files&&Q.canShare&&(ne=Q.canShare({files:te.files})),ne)return Q.share(te)}}}}const defaultSortFn=(G,H)=>G.sort(H),defaultCompare=(G,H)=>G-H;function useSorted(...G){var H,X,Q,K;const[Z]=G;let ee=defaultCompare,te={};G.length===2?typeof G[1]=="object"?(te=G[1],ee=(H=te.compareFn)!=null?H:defaultCompare):ee=(X=G[1])!=null?X:defaultCompare:G.length>2&&(ee=(Q=G[1])!=null?Q:defaultCompare,te=(K=G[2])!=null?K:{});const{dirty:ne=!1,sortFn:re=defaultSortFn}=te;return ne?(vue.watchEffect(()=>{const oe=re(toValue(Z),ee);vue.isRef(Z)?Z.value=oe:Z.splice(0,Z.length,...oe)}),Z):vue.computed(()=>re([...toValue(Z)],ee))}function useSpeechRecognition(G={}){const{interimResults:H=!0,continuous:X=!0,window:Q=defaultWindow}=G,K=toRef(G.lang||"en-US"),Z=vue.ref(!1),ee=vue.ref(!1),te=vue.ref(""),ne=vue.shallowRef(void 0),re=(de=!Z.value)=>{Z.value=de},oe=()=>{Z.value=!0},ae=()=>{Z.value=!1},se=Q&&(Q.SpeechRecognition||Q.webkitSpeechRecognition),le=useSupported(()=>se);let ce;return le.value&&(ce=new se,ce.continuous=X,ce.interimResults=H,ce.lang=toValue(K),ce.onstart=()=>{ee.value=!1},vue.watch(K,de=>{ce&&!Z.value&&(ce.lang=de)}),ce.onresult=de=>{const ue=de.results[de.resultIndex],{transcript:he}=ue[0];ee.value=ue.isFinal,te.value=he,ne.value=void 0},ce.onerror=de=>{ne.value=de},ce.onend=()=>{Z.value=!1,ce.lang=toValue(K)},vue.watch(Z,()=>{Z.value?ce.start():ce.stop()})),tryOnScopeDispose(()=>{Z.value=!1}),{isSupported:le,isListening:Z,isFinal:ee,recognition:ce,result:te,error:ne,toggle:re,start:oe,stop:ae}}function useSpeechSynthesis(G,H={}){const{pitch:X=1,rate:Q=1,volume:K=1,window:Z=defaultWindow}=H,ee=Z&&Z.speechSynthesis,te=useSupported(()=>ee),ne=vue.ref(!1),re=vue.ref("init"),oe=toRef(G||""),ae=toRef(H.lang||"en-US"),se=vue.shallowRef(void 0),le=(fe=!ne.value)=>{ne.value=fe},ce=fe=>{fe.lang=toValue(ae),fe.voice=toValue(H.voice)||null,fe.pitch=toValue(X),fe.rate=toValue(Q),fe.volume=K,fe.onstart=()=>{ne.value=!0,re.value="play"},fe.onpause=()=>{ne.value=!1,re.value="pause"},fe.onresume=()=>{ne.value=!0,re.value="play"},fe.onend=()=>{ne.value=!1,re.value="end"},fe.onerror=pe=>{se.value=pe}},de=vue.computed(()=>{ne.value=!1,re.value="init";const fe=new SpeechSynthesisUtterance(oe.value);return ce(fe),fe}),ue=()=>{ee.cancel(),de&&ee.speak(de.value)},he=()=>{ee.cancel(),ne.value=!1};return te.value&&(ce(de.value),vue.watch(ae,fe=>{de.value&&!ne.value&&(de.value.lang=fe)}),H.voice&&vue.watch(H.voice,()=>{ee.cancel()}),vue.watch(ne,()=>{ne.value?ee.resume():ee.pause()})),tryOnScopeDispose(()=>{ne.value=!1}),{isSupported:te,isPlaying:ne,status:re,utterance:de,error:se,stop:he,toggle:le,speak:ue}}function useStepper(G,H){const X=vue.ref(G),Q=vue.computed(()=>Array.isArray(X.value)?X.value:Object.keys(X.value)),K=vue.ref(Q.value.indexOf(H??Q.value[0])),Z=vue.computed(()=>oe(K.value)),ee=vue.computed(()=>K.value===0),te=vue.computed(()=>K.value===Q.value.length-1),ne=vue.computed(()=>Q.value[K.value+1]),re=vue.computed(()=>Q.value[K.value-1]);function oe(me){return Array.isArray(X.value)?X.value[me]:X.value[Q.value[me]]}function ae(me){if(Q.value.includes(me))return oe(Q.value.indexOf(me))}function se(me){Q.value.includes(me)&&(K.value=Q.value.indexOf(me))}function le(){te.value||K.value++}function ce(){ee.value||K.value--}function de(me){ve(me)&&se(me)}function ue(me){return Q.value.indexOf(me)===K.value+1}function he(me){return Q.value.indexOf(me)===K.value-1}function fe(me){return Q.value.indexOf(me)===K.value}function pe(me){return K.value<Q.value.indexOf(me)}function ve(me){return K.value>Q.value.indexOf(me)}return{steps:X,stepNames:Q,index:K,current:Z,next:ne,previous:re,isFirst:ee,isLast:te,at:oe,get:ae,goTo:se,goToNext:le,goToPrevious:ce,goBackTo:de,isNext:ue,isPrevious:he,isCurrent:fe,isBefore:pe,isAfter:ve}}function useStorageAsync(G,H,X,Q={}){var K;const{flush:Z="pre",deep:ee=!0,listenToStorageChanges:te=!0,writeDefaults:ne=!0,mergeDefaults:re=!1,shallow:oe,window:ae=defaultWindow,eventFilter:se,onError:le=pe=>{console.error(pe)}}=Q,ce=toValue(H),de=guessSerializerType(ce),ue=(oe?vue.shallowRef:vue.ref)(H),he=(K=Q.serializer)!=null?K:StorageSerializers[de];if(!X)try{X=getSSRHandler("getDefaultStorageAsync",()=>{var pe;return(pe=defaultWindow)==null?void 0:pe.localStorage})()}catch(pe){le(pe)}async function fe(pe){if(!(!X||pe&&pe.key!==G))try{const ve=pe?pe.newValue:await X.getItem(G);if(ve==null)ue.value=ce,ne&&ce!==null&&await X.setItem(G,await he.write(ce));else if(re){const me=await he.read(ve);typeof re=="function"?ue.value=re(me,ce):de==="object"&&!Array.isArray(me)?ue.value={...ce,...me}:ue.value=me}else ue.value=await he.read(ve)}catch(ve){le(ve)}}return fe(),ae&&te&&useEventListener(ae,"storage",pe=>Promise.resolve().then(()=>fe(pe))),X&&watchWithFilter(ue,async()=>{try{ue.value==null?await X.removeItem(G):await X.setItem(G,await he.write(ue.value))}catch(pe){le(pe)}},{flush:Z,deep:ee,eventFilter:se}),ue}let _id=0;function useStyleTag(G,H={}){const X=vue.ref(!1),{document:Q=defaultDocument,immediate:K=!0,manual:Z=!1,id:ee=`vueuse_styletag_${++_id}`}=H,te=vue.ref(G);let ne=()=>{};const re=()=>{if(!Q)return;const ae=Q.getElementById(ee)||Q.createElement("style");ae.isConnected||(ae.id=ee,H.media&&(ae.media=H.media),Q.head.appendChild(ae)),!X.value&&(ne=vue.watch(te,se=>{ae.textContent=se},{immediate:!0}),X.value=!0)},oe=()=>{!Q||!X.value||(ne(),Q.head.removeChild(Q.getElementById(ee)),X.value=!1)};return K&&!Z&&tryOnMounted(re),Z||tryOnScopeDispose(oe),{id:ee,css:te,unload:oe,load:re,isLoaded:vue.readonly(X)}}function useSwipe(G,H={}){const{threshold:X=50,onSwipe:Q,onSwipeEnd:K,onSwipeStart:Z,passive:ee=!0,window:te=defaultWindow}=H,ne=vue.reactive({x:0,y:0}),re=vue.reactive({x:0,y:0}),oe=vue.computed(()=>ne.x-re.x),ae=vue.computed(()=>ne.y-re.y),{max:se,abs:le}=Math,ce=vue.computed(()=>se(le(oe.value),le(ae.value))>=X),de=vue.ref(!1),ue=vue.computed(()=>ce.value?le(oe.value)>le(ae.value)?oe.value>0?"left":"right":ae.value>0?"up":"down":"none"),he=Ee=>[Ee.touches[0].clientX,Ee.touches[0].clientY],fe=(Ee,xe)=>{ne.x=Ee,ne.y=xe},pe=(Ee,xe)=>{re.x=Ee,re.y=xe};let ve;const me=checkPassiveEventSupport(te==null?void 0:te.document);ee?ve=me?{passive:!0}:{capture:!1}:ve=me?{passive:!1,capture:!0}:{capture:!0};const ge=Ee=>{de.value&&(K==null||K(Ee,ue.value)),de.value=!1},we=[useEventListener(G,"touchstart",Ee=>{if(Ee.touches.length!==1)return;ve.capture&&!ve.passive&&Ee.preventDefault();const[xe,Me]=he(Ee);fe(xe,Me),pe(xe,Me),Z==null||Z(Ee)},ve),useEventListener(G,"touchmove",Ee=>{if(Ee.touches.length!==1)return;const[xe,Me]=he(Ee);pe(xe,Me),!de.value&&ce.value&&(de.value=!0),de.value&&(Q==null||Q(Ee))},ve),useEventListener(G,["touchend","touchcancel"],ge,ve)];return{isPassiveEventSupported:me,isSwiping:de,direction:ue,coordsStart:ne,coordsEnd:re,lengthX:oe,lengthY:ae,stop:()=>we.forEach(Ee=>Ee())}}function checkPassiveEventSupport(G){if(!G)return!1;let H=!1;const X={get passive(){return H=!0,!1}};return G.addEventListener("x",noop$5,X),G.removeEventListener("x",noop$5),H}function useTemplateRefsList(){const G=vue.ref([]);return G.value.set=H=>{H&&G.value.push(H)},vue.onBeforeUpdate(()=>{G.value.length=0}),G}function useTextDirection(G={}){const{document:H=defaultDocument,selector:X="html",observe:Q=!1,initialValue:K="ltr"}=G;function Z(){var te,ne;return(ne=(te=H==null?void 0:H.querySelector(X))==null?void 0:te.getAttribute("dir"))!=null?ne:K}const ee=vue.ref(Z());return tryOnMounted(()=>ee.value=Z()),Q&&H&&useMutationObserver(H.querySelector(X),()=>ee.value=Z(),{attributes:!0}),vue.computed({get(){return ee.value},set(te){var ne,re;ee.value=te,H&&(ee.value?(ne=H.querySelector(X))==null||ne.setAttribute("dir",ee.value):(re=H.querySelector(X))==null||re.removeAttribute("dir"))}})}function getRangesFromSelection(G){var H;const X=(H=G.rangeCount)!=null?H:0;return Array.from({length:X},(Q,K)=>G.getRangeAt(K))}function useTextSelection(G={}){const{window:H=defaultWindow}=G,X=vue.ref(null),Q=vue.computed(()=>{var te,ne;return(ne=(te=X.value)==null?void 0:te.toString())!=null?ne:""}),K=vue.computed(()=>X.value?getRangesFromSelection(X.value):[]),Z=vue.computed(()=>K.value.map(te=>te.getBoundingClientRect()));function ee(){X.value=null,H&&(X.value=H.getSelection())}return H&&useEventListener(H.document,"selectionchange",ee),{text:Q,rects:Z,ranges:K,selection:X}}function useTextareaAutosize(G){var H;const X=vue.ref(G==null?void 0:G.element),Q=vue.ref(G==null?void 0:G.input),K=(H=G==null?void 0:G.styleProp)!=null?H:"height",Z=vue.ref(1);function ee(){var te;if(!X.value)return;let ne="";X.value.style[K]="1px",Z.value=(te=X.value)==null?void 0:te.scrollHeight,G!=null&&G.styleTarget?toValue(G.styleTarget).style[K]=`${Z.value}px`:ne=`${Z.value}px`,X.value.style[K]=ne}return vue.watch([Q,X],()=>vue.nextTick(ee),{immediate:!0}),vue.watch(Z,()=>{var te;return(te=G==null?void 0:G.onResize)==null?void 0:te.call(G)}),useResizeObserver(X,()=>ee()),G!=null&&G.watch&&vue.watch(G.watch,ee,{immediate:!0,deep:!0}),{textarea:X,input:Q,triggerResize:ee}}function useThrottledRefHistory(G,H={}){const{throttle:X=200,trailing:Q=!0}=H,K=throttleFilter(X,Q);return{...useRefHistory(G,{...H,eventFilter:K})}}const DEFAULT_UNITS=[{max:6e4,value:1e3,name:"second"},{max:276e4,value:6e4,name:"minute"},{max:72e6,value:36e5,name:"hour"},{max:5184e5,value:864e5,name:"day"},{max:24192e5,value:6048e5,name:"week"},{max:28512e6,value:2592e6,name:"month"},{max:Number.POSITIVE_INFINITY,value:31536e6,name:"year"}],DEFAULT_MESSAGES={justNow:"just now",past:G=>G.match(/\d/)?`${G} ago`:G,future:G=>G.match(/\d/)?`in ${G}`:G,month:(G,H)=>G===1?H?"last month":"next month":`${G} month${G>1?"s":""}`,year:(G,H)=>G===1?H?"last year":"next year":`${G} year${G>1?"s":""}`,day:(G,H)=>G===1?H?"yesterday":"tomorrow":`${G} day${G>1?"s":""}`,week:(G,H)=>G===1?H?"last week":"next week":`${G} week${G>1?"s":""}`,hour:G=>`${G} hour${G>1?"s":""}`,minute:G=>`${G} minute${G>1?"s":""}`,second:G=>`${G} second${G>1?"s":""}`,invalid:""};function DEFAULT_FORMATTER(G){return G.toISOString().slice(0,10)}function useTimeAgo(G,H={}){const{controls:X=!1,updateInterval:Q=3e4}=H,{now:K,...Z}=useNow({interval:Q,controls:!0}),ee=vue.computed(()=>formatTimeAgo(new Date(toValue(G)),H,toValue(K)));return X?{timeAgo:ee,...Z}:ee}function formatTimeAgo(G,H={},X=Date.now()){var Q;const{max:K,messages:Z=DEFAULT_MESSAGES,fullDateFormatter:ee=DEFAULT_FORMATTER,units:te=DEFAULT_UNITS,showSecond:ne=!1,rounding:re="round"}=H,oe=typeof re=="number"?ue=>+ue.toFixed(re):Math[re],ae=+X-+G,se=Math.abs(ae);function le(ue,he){return oe(Math.abs(ue)/he.value)}function ce(ue,he){const fe=le(ue,he),pe=ue>0,ve=de(he.name,fe,pe);return de(pe?"past":"future",ve,pe)}function de(ue,he,fe){const pe=Z[ue];return typeof pe=="function"?pe(he,fe):pe.replace("{0}",he.toString())}if(se<6e4&&!ne)return Z.justNow;if(typeof K=="number"&&se>K)return ee(new Date(G));if(typeof K=="string"){const ue=(Q=te.find(he=>he.name===K))==null?void 0:Q.max;if(ue&&se>ue)return ee(new Date(G))}for(const[ue,he]of te.entries()){if(le(ae,he)<=0&&te[ue-1])return ce(ae,te[ue-1]);if(se<he.max)return ce(ae,he)}return Z.invalid}function useTimeoutPoll(G,H,X){const{start:Q}=useTimeoutFn(Z,H,{immediate:!1}),K=vue.ref(!1);async function Z(){K.value&&(await G(),Q())}function ee(){K.value||(K.value=!0,Z())}function te(){K.value=!1}return X!=null&&X.immediate&&ee(),tryOnScopeDispose(te),{isActive:K,pause:te,resume:ee}}function useTimestamp(G={}){const{controls:H=!1,offset:X=0,immediate:Q=!0,interval:K="requestAnimationFrame",callback:Z}=G,ee=vue.ref(timestamp()+X),te=()=>ee.value=timestamp()+X,ne=Z?()=>{te(),Z(ee.value)}:te,re=K==="requestAnimationFrame"?useRafFn(ne,{immediate:Q}):useIntervalFn(ne,K,{immediate:Q});return H?{timestamp:ee,...re}:ee}function useTitle(G=null,H={}){var X,Q,K;const{document:Z=defaultDocument,restoreOnUnmount:ee=ae=>ae}=H,te=(X=Z==null?void 0:Z.title)!=null?X:"",ne=toRef((Q=G??(Z==null?void 0:Z.title))!=null?Q:null),re=G&&typeof G=="function";function oe(ae){if(!("titleTemplate"in H))return ae;const se=H.titleTemplate||"%s";return typeof se=="function"?se(ae):toValue(se).replace(/%s/g,ae)}return vue.watch(ne,(ae,se)=>{ae!==se&&Z&&(Z.title=oe(typeof ae=="string"?ae:""))},{immediate:!0}),H.observe&&!H.titleTemplate&&Z&&!re&&useMutationObserver((K=Z.head)==null?void 0:K.querySelector("title"),()=>{Z&&Z.title!==ne.value&&(ne.value=oe(Z.title))},{childList:!0}),tryOnBeforeUnmount(()=>{if(ee){const ae=ee(te,ne.value||"");ae!=null&&Z&&(Z.title=ae)}}),ne}const _TransitionPresets={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]},TransitionPresets=Object.assign({},{linear:identity$1},_TransitionPresets);function createEasingFunction([G,H,X,Q]){const K=(oe,ae)=>1-3*ae+3*oe,Z=(oe,ae)=>3*ae-6*oe,ee=oe=>3*oe,te=(oe,ae,se)=>((K(ae,se)*oe+Z(ae,se))*oe+ee(ae))*oe,ne=(oe,ae,se)=>3*K(ae,se)*oe*oe+2*Z(ae,se)*oe+ee(ae),re=oe=>{let ae=oe;for(let se=0;se<4;++se){const le=ne(ae,G,X);if(le===0)return ae;const ce=te(ae,G,X)-oe;ae-=ce/le}return ae};return oe=>G===H&&X===Q?oe:te(re(oe),H,Q)}function lerp(G,H,X){return G+X*(H-G)}function toVec(G){return(typeof G=="number"?[G]:G)||[]}function executeTransition(G,H,X,Q={}){var K,Z;const ee=toValue(H),te=toValue(X),ne=toVec(ee),re=toVec(te),oe=(K=toValue(Q.duration))!=null?K:1e3,ae=Date.now(),se=Date.now()+oe,le=typeof Q.transition=="function"?Q.transition:(Z=toValue(Q.transition))!=null?Z:identity$1,ce=typeof le=="function"?le:createEasingFunction(le);return new Promise(de=>{G.value=ee;const ue=()=>{var he;if((he=Q.abort)!=null&&he.call(Q)){de();return}const fe=Date.now(),pe=ce((fe-ae)/oe),ve=toVec(G.value).map((me,ge)=>lerp(ne[ge],re[ge],pe));Array.isArray(G.value)?G.value=ve.map((me,ge)=>{var we,$e;return lerp((we=ne[ge])!=null?we:0,($e=re[ge])!=null?$e:0,pe)}):typeof G.value=="number"&&(G.value=ve[0]),fe<se?requestAnimationFrame(ue):(G.value=te,de())};ue()})}function useTransition(G,H={}){let X=0;const Q=()=>{const Z=toValue(G);return typeof Z=="number"?Z:Z.map(toValue)},K=vue.ref(Q());return vue.watch(Q,async Z=>{var ee,te;if(toValue(H.disabled))return;const ne=++X;if(H.delay&&await promiseTimeout(toValue(H.delay)),ne!==X)return;const re=Array.isArray(Z)?Z.map(toValue):toValue(Z);(ee=H.onStarted)==null||ee.call(H),await executeTransition(K,K.value,re,{...H,abort:()=>{var oe;return ne!==X||((oe=H.abort)==null?void 0:oe.call(H))}}),(te=H.onFinished)==null||te.call(H)},{deep:!0}),vue.watch(()=>toValue(H.disabled),Z=>{Z&&(X++,K.value=Q())}),tryOnScopeDispose(()=>{X++}),vue.computed(()=>toValue(H.disabled)?Q():K.value)}function useUrlSearchParams(G="history",H={}){const{initialValue:X={},removeNullishValues:Q=!0,removeFalsyValues:K=!1,write:Z=!0,window:ee=defaultWindow}=H;if(!ee)return vue.reactive(X);const te=vue.reactive({});function ne(){if(G==="history")return ee.location.search||"";if(G==="hash"){const he=ee.location.hash||"",fe=he.indexOf("?");return fe>0?he.slice(fe):""}else return(ee.location.hash||"").replace(/^#/,"")}function re(he){const fe=he.toString();if(G==="history")return`${fe?`?${fe}`:""}${ee.location.hash||""}`;if(G==="hash-params")return`${ee.location.search||""}${fe?`#${fe}`:""}`;const pe=ee.location.hash||"#",ve=pe.indexOf("?");return ve>0?`${pe.slice(0,ve)}${fe?`?${fe}`:""}`:`${pe}${fe?`?${fe}`:""}`}function oe(){return new URLSearchParams(ne())}function ae(he){const fe=new Set(Object.keys(te));for(const pe of he.keys()){const ve=he.getAll(pe);te[pe]=ve.length>1?ve:he.get(pe)||"",fe.delete(pe)}Array.from(fe).forEach(pe=>delete te[pe])}const{pause:se,resume:le}=watchPausable(te,()=>{const he=new URLSearchParams("");Object.keys(te).forEach(fe=>{const pe=te[fe];Array.isArray(pe)?pe.forEach(ve=>he.append(fe,ve)):Q&&pe==null||K&&!pe?he.delete(fe):he.set(fe,pe)}),ce(he)},{deep:!0});function ce(he,fe){se(),fe&&ae(he),ee.history.replaceState(ee.history.state,ee.document.title,ee.location.pathname+re(he)),le()}function de(){Z&&ce(oe(),!0)}useEventListener(ee,"popstate",de,!1),G!=="history"&&useEventListener(ee,"hashchange",de,!1);const ue=oe();return ue.keys().next().value?ae(ue):Object.assign(te,X),te}function useUserMedia(G={}){var H,X;const Q=vue.ref((H=G.enabled)!=null?H:!1),K=vue.ref((X=G.autoSwitch)!=null?X:!0),Z=vue.ref(G.constraints),{navigator:ee=defaultNavigator}=G,te=useSupported(()=>{var de;return(de=ee==null?void 0:ee.mediaDevices)==null?void 0:de.getUserMedia}),ne=vue.shallowRef();function re(de){switch(de){case"video":{if(Z.value)return Z.value.video||!1;break}case"audio":{if(Z.value)return Z.value.audio||!1;break}}}async function oe(){if(!(!te.value||ne.value))return ne.value=await ee.mediaDevices.getUserMedia({video:re("video"),audio:re("audio")}),ne.value}function ae(){var de;(de=ne.value)==null||de.getTracks().forEach(ue=>ue.stop()),ne.value=void 0}function se(){ae(),Q.value=!1}async function le(){return await oe(),ne.value&&(Q.value=!0),ne.value}async function ce(){return ae(),await le()}return vue.watch(Q,de=>{de?oe():ae()},{immediate:!0}),vue.watch(Z,()=>{K.value&&ne.value&&ce()},{immediate:!0}),tryOnScopeDispose(()=>{se()}),{isSupported:te,stream:ne,start:le,stop:se,restart:ce,constraints:Z,enabled:Q,autoSwitch:K}}function useVModel(G,H,X,Q={}){var K,Z,ee,te,ne;const{clone:re=!1,passive:oe=!1,eventName:ae,deep:se=!1,defaultValue:le,shouldEmit:ce}=Q,de=vue.getCurrentInstance(),ue=X||(de==null?void 0:de.emit)||((K=de==null?void 0:de.$emit)==null?void 0:K.bind(de))||((ee=(Z=de==null?void 0:de.proxy)==null?void 0:Z.$emit)==null?void 0:ee.bind(de==null?void 0:de.proxy));let he=ae;if(!H)if(isVue2){const me=(ne=(te=de==null?void 0:de.proxy)==null?void 0:te.$options)==null?void 0:ne.model;H=(me==null?void 0:me.value)||"value",ae||(he=(me==null?void 0:me.event)||"input")}else H="modelValue";he=he||`update:${H.toString()}`;const fe=me=>re?typeof re=="function"?re(me):cloneFnJSON(me):me,pe=()=>isDef(G[H])?fe(G[H]):le,ve=me=>{ce?ce(me)&&ue(he,me):ue(he,me)};if(oe){const me=pe(),ge=vue.ref(me);let we=!1;return vue.watch(()=>G[H],$e=>{we||(we=!0,ge.value=fe($e),vue.nextTick(()=>we=!1))}),vue.watch(ge,$e=>{!we&&($e!==G[H]||se)&&ve($e)},{deep:se}),ge}else return vue.computed({get(){return pe()},set(me){ve(me)}})}function useVModels(G,H,X={}){const Q={};for(const K in G)Q[K]=useVModel(G,K,H,X);return Q}function useVibrate(G){const{pattern:H=[],interval:X=0,navigator:Q=defaultNavigator}=G||{},K=useSupported(()=>typeof Q<"u"&&"vibrate"in Q),Z=toRef(H);let ee;const te=(re=Z.value)=>{K.value&&Q.vibrate(re)},ne=()=>{K.value&&Q.vibrate(0),ee==null||ee.pause()};return X>0&&(ee=useIntervalFn(te,X,{immediate:!1,immediateCallback:!1})),{isSupported:K,pattern:H,intervalControls:ee,vibrate:te,stop:ne}}function useVirtualList(G,H){const{containerStyle:X,wrapperProps:Q,scrollTo:K,calculateRange:Z,currentList:ee,containerRef:te}="itemHeight"in H?useVerticalVirtualList(H,G):useHorizontalVirtualList(H,G);return{list:ee,scrollTo:K,containerProps:{ref:te,onScroll:()=>{Z()},style:X},wrapperProps:Q}}function useVirtualListResources(G){const H=vue.ref(null),X=useElementSize(H),Q=vue.ref([]),K=vue.shallowRef(G);return{state:vue.ref({start:0,end:10}),source:K,currentList:Q,size:X,containerRef:H}}function createGetViewCapacity(G,H,X){return Q=>{if(typeof X=="number")return Math.ceil(Q/X);const{start:K=0}=G.value;let Z=0,ee=0;for(let te=K;te<H.value.length;te++){const ne=X(te);if(Z+=ne,ee=te,Z>Q)break}return ee-K}}function createGetOffset(G,H){return X=>{if(typeof H=="number")return Math.floor(X/H)+1;let Q=0,K=0;for(let Z=0;Z<G.value.length;Z++){const ee=H(Z);if(Q+=ee,Q>=X){K=Z;break}}return K+1}}function createCalculateRange(G,H,X,Q,{containerRef:K,state:Z,currentList:ee,source:te}){return()=>{const ne=K.value;if(ne){const re=X(G==="vertical"?ne.scrollTop:ne.scrollLeft),oe=Q(G==="vertical"?ne.clientHeight:ne.clientWidth),ae=re-H,se=re+oe+H;Z.value={start:ae<0?0:ae,end:se>te.value.length?te.value.length:se},ee.value=te.value.slice(Z.value.start,Z.value.end).map((le,ce)=>({data:le,index:ce+Z.value.start}))}}}function createGetDistance(G,H){return X=>typeof G=="number"?X*G:H.value.slice(0,X).reduce((K,Z,ee)=>K+G(ee),0)}function useWatchForSizes(G,H,X,Q){vue.watch([G.width,G.height,H,X],()=>{Q()})}function createComputedTotalSize(G,H){return vue.computed(()=>typeof G=="number"?H.value.length*G:H.value.reduce((X,Q,K)=>X+G(K),0))}const scrollToDictionaryForElementScrollKey={horizontal:"scrollLeft",vertical:"scrollTop"};function createScrollTo(G,H,X,Q){return K=>{Q.value&&(Q.value[scrollToDictionaryForElementScrollKey[G]]=X(K),H())}}function useHorizontalVirtualList(G,H){const X=useVirtualListResources(H),{state:Q,source:K,currentList:Z,size:ee,containerRef:te}=X,ne={overflowX:"auto"},{itemWidth:re,overscan:oe=5}=G,ae=createGetViewCapacity(Q,K,re),se=createGetOffset(K,re),le=createCalculateRange("horizontal",oe,se,ae,X),ce=createGetDistance(re,K),de=vue.computed(()=>ce(Q.value.start)),ue=createComputedTotalSize(re,K);useWatchForSizes(ee,H,te,le);const he=createScrollTo("horizontal",le,ce,te),fe=vue.computed(()=>({style:{height:"100%",width:`${ue.value-de.value}px`,marginLeft:`${de.value}px`,display:"flex"}}));return{scrollTo:he,calculateRange:le,wrapperProps:fe,containerStyle:ne,currentList:Z,containerRef:te}}function useVerticalVirtualList(G,H){const X=useVirtualListResources(H),{state:Q,source:K,currentList:Z,size:ee,containerRef:te}=X,ne={overflowY:"auto"},{itemHeight:re,overscan:oe=5}=G,ae=createGetViewCapacity(Q,K,re),se=createGetOffset(K,re),le=createCalculateRange("vertical",oe,se,ae,X),ce=createGetDistance(re,K),de=vue.computed(()=>ce(Q.value.start)),ue=createComputedTotalSize(re,K);useWatchForSizes(ee,H,te,le);const he=createScrollTo("vertical",le,ce,te),fe=vue.computed(()=>({style:{width:"100%",height:`${ue.value-de.value}px`,marginTop:`${de.value}px`}}));return{calculateRange:le,scrollTo:he,containerStyle:ne,wrapperProps:fe,currentList:Z,containerRef:te}}function useWakeLock(G={}){const{navigator:H=defaultNavigator,document:X=defaultDocument}=G;let Q;const K=useSupported(()=>H&&"wakeLock"in H),Z=vue.ref(!1);async function ee(){!K.value||!Q||(X&&X.visibilityState==="visible"&&(Q=await H.wakeLock.request("screen")),Z.value=!Q.released)}X&&useEventListener(X,"visibilitychange",ee,{passive:!0});async function te(re){K.value&&(Q=await H.wakeLock.request(re),Z.value=!Q.released)}async function ne(){!K.value||!Q||(await Q.release(),Z.value=!Q.released,Q=null)}return{isSupported:K,isActive:Z,request:te,release:ne}}function useWebNotification(G={}){const{window:H=defaultWindow,requestPermissions:X=!0}=G,Q=G,K=useSupported(()=>{if(!H||!("Notification"in H))return!1;try{new Notification("")}catch{return!1}return!0}),Z=vue.ref(K.value&&"permission"in Notification&&Notification.permission==="granted"),ee=vue.ref(null),te=async()=>{if(K.value)return!Z.value&&Notification.permission!=="denied"&&await Notification.requestPermission()==="granted"&&(Z.value=!0),Z.value},{on:ne,trigger:re}=createEventHook(),{on:oe,trigger:ae}=createEventHook(),{on:se,trigger:le}=createEventHook(),{on:ce,trigger:de}=createEventHook(),ue=async fe=>{if(!K.value||!Z.value)return;const pe=Object.assign({},Q,fe);return ee.value=new Notification(pe.title||"",pe),ee.value.onclick=re,ee.value.onshow=ae,ee.value.onerror=le,ee.value.onclose=de,ee.value},he=()=>{ee.value&&ee.value.close(),ee.value=null};if(X&&tryOnMounted(te),tryOnScopeDispose(he),K.value&&H){const fe=H.document;useEventListener(fe,"visibilitychange",pe=>{pe.preventDefault(),fe.visibilityState==="visible"&&he()})}return{isSupported:K,notification:ee,ensurePermissions:te,permissionGranted:Z,show:ue,close:he,onClick:ne,onShow:oe,onError:se,onClose:ce}}const DEFAULT_PING_MESSAGE="ping";function resolveNestedOptions(G){return G===!0?{}:G}function useWebSocket(G,H={}){const{onConnected:X,onDisconnected:Q,onError:K,onMessage:Z,immediate:ee=!0,autoClose:te=!0,protocols:ne=[]}=H,re=vue.ref(null),oe=vue.ref("CLOSED"),ae=vue.ref(),se=toRef(G);let le,ce,de=!1,ue=0,he=[],fe;const pe=()=>{if(he.length&&ae.value&&oe.value==="OPEN"){for(const Ee of he)ae.value.send(Ee);he=[]}},ve=()=>{clearTimeout(fe),fe=void 0},me=(Ee=1e3,xe)=>{!isClient$1||!ae.value||(de=!0,ve(),le==null||le(),ae.value.close(Ee,xe),ae.value=void 0)},ge=(Ee,xe=!0)=>!ae.value||oe.value!=="OPEN"?(xe&&he.push(Ee),!1):(pe(),ae.value.send(Ee),!0),we=()=>{if(de||typeof se.value>"u")return;const Ee=new WebSocket(se.value,ne);ae.value=Ee,oe.value="CONNECTING",Ee.onopen=()=>{oe.value="OPEN",X==null||X(Ee),ce==null||ce(),pe()},Ee.onclose=xe=>{if(oe.value="CLOSED",Q==null||Q(Ee,xe),!de&&H.autoReconnect){const{retries:Me=-1,delay:De=1e3,onFailed:ke}=resolveNestedOptions(H.autoReconnect);ue+=1,typeof Me=="number"&&(Me<0||ue<Me)||typeof Me=="function"&&Me()?setTimeout(we,De):ke==null||ke()}},Ee.onerror=xe=>{K==null||K(Ee,xe)},Ee.onmessage=xe=>{if(H.heartbeat){ve();const{message:Me=DEFAULT_PING_MESSAGE}=resolveNestedOptions(H.heartbeat);if(xe.data===Me)return}re.value=xe.data,Z==null||Z(Ee,xe)}};if(H.heartbeat){const{message:Ee=DEFAULT_PING_MESSAGE,interval:xe=1e3,pongTimeout:Me=1e3}=resolveNestedOptions(H.heartbeat),{pause:De,resume:ke}=useIntervalFn(()=>{ge(Ee,!1),fe==null&&(fe=setTimeout(()=>{me(),de=!1},Me))},xe,{immediate:!1});le=De,ce=ke}te&&(isClient$1&&useEventListener("beforeunload",()=>me()),tryOnScopeDispose(me));const $e=()=>{!isClient$1&&!isWorker||(me(),de=!1,ue=0,we())};return ee&&$e(),vue.watch(se,$e),{data:re,status:oe,close:me,send:ge,open:$e,ws:ae}}function useWebWorker(G,H,X){const{window:Q=defaultWindow}=X??{},K=vue.ref(null),Z=vue.shallowRef(),ee=(...ne)=>{Z.value&&Z.value.postMessage(...ne)},te=function(){Z.value&&Z.value.terminate()};return Q&&(typeof G=="string"?Z.value=new Worker(G,H):typeof G=="function"?Z.value=G():Z.value=G,Z.value.onmessage=ne=>{K.value=ne.data},tryOnScopeDispose(()=>{Z.value&&Z.value.terminate()})),{data:K,post:ee,terminate:te,worker:Z}}function jobRunner(G){return H=>{const X=H.data[0];return Promise.resolve(G.apply(void 0,X)).then(Q=>{postMessage(["SUCCESS",Q])}).catch(Q=>{postMessage(["ERROR",Q])})}}function depsParser(G,H){if(G.length===0&&H.length===0)return"";const X=G.map(Z=>`'${Z}'`).toString(),Q=H.filter(Z=>typeof Z=="function").map(Z=>{const ee=Z.toString();return ee.trim().startsWith("function")?ee:`const ${Z.name} = ${ee}`}).join(";"),K=`importScripts(${X});`;return`${X.trim()===""?"":K} ${Q}`}function createWorkerBlobUrl(G,H,X){const Q=`${depsParser(H,X)}; onmessage=(${jobRunner})(${G})`,K=new Blob([Q],{type:"text/javascript"});return URL.createObjectURL(K)}function useWebWorkerFn(G,H={}){const{dependencies:X=[],localDependencies:Q=[],timeout:K,window:Z=defaultWindow}=H,ee=vue.ref(),te=vue.ref("PENDING"),ne=vue.ref({}),re=vue.ref(),oe=(ce="PENDING")=>{ee.value&&ee.value._url&&Z&&(ee.value.terminate(),URL.revokeObjectURL(ee.value._url),ne.value={},ee.value=void 0,Z.clearTimeout(re.value),te.value=ce)};oe(),tryOnScopeDispose(oe);const ae=()=>{const ce=createWorkerBlobUrl(G,X,Q),de=new Worker(ce);return de._url=ce,de.onmessage=ue=>{const{resolve:he=()=>{},reject:fe=()=>{}}=ne.value,[pe,ve]=ue.data;switch(pe){case"SUCCESS":he(ve),oe(pe);break;default:fe(ve),oe("ERROR");break}},de.onerror=ue=>{const{reject:he=()=>{}}=ne.value;ue.preventDefault(),he(ue),oe("ERROR")},K&&(re.value=setTimeout(()=>oe("TIMEOUT_EXPIRED"),K)),de},se=(...ce)=>new Promise((de,ue)=>{ne.value={resolve:de,reject:ue},ee.value&&ee.value.postMessage([[...ce]]),te.value="RUNNING"});return{workerFn:(...ce)=>te.value==="RUNNING"?(console.error("[useWebWorkerFn] You can only run one instance of the worker at a time."),Promise.reject()):(ee.value=ae(),se(...ce)),workerStatus:te,workerTerminate:oe}}function useWindowFocus(G={}){const{window:H=defaultWindow}=G;if(!H)return vue.ref(!1);const X=vue.ref(H.document.hasFocus());return useEventListener(H,"blur",()=>{X.value=!1}),useEventListener(H,"focus",()=>{X.value=!0}),X}function useWindowScroll(G={}){const{window:H=defaultWindow,behavior:X="auto"}=G;if(!H)return{x:vue.ref(0),y:vue.ref(0)};const Q=vue.ref(H.scrollX),K=vue.ref(H.scrollY),Z=vue.computed({get(){return Q.value},set(te){scrollTo({left:te,behavior:X})}}),ee=vue.computed({get(){return K.value},set(te){scrollTo({top:te,behavior:X})}});return useEventListener(H,"scroll",()=>{Q.value=H.scrollX,K.value=H.scrollY},{capture:!1,passive:!0}),{x:Z,y:ee}}function useWindowSize(G={}){const{window:H=defaultWindow,initialWidth:X=Number.POSITIVE_INFINITY,initialHeight:Q=Number.POSITIVE_INFINITY,listenOrientation:K=!0,includeScrollbar:Z=!0}=G,ee=vue.ref(X),te=vue.ref(Q),ne=()=>{H&&(Z?(ee.value=H.innerWidth,te.value=H.innerHeight):(ee.value=H.document.documentElement.clientWidth,te.value=H.document.documentElement.clientHeight))};if(ne(),tryOnMounted(ne),useEventListener("resize",ne,{passive:!0}),K){const re=useMediaQuery("(orientation: portrait)");vue.watch(re,()=>ne())}return{width:ee,height:te}}function isNull(G){return G==null}function isNotNull(G){return G!=null}function isEmptyStr(G){return G===void 0||!G&&G!==0&&G!=="0"||!/[^\s]/.test(G)}const toHump=function(G){return G.replace(/\_(\w)/g,function(H,X){return X.toUpperCase()})},generateId=function(){var G=new Date().getTime(),H="xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(X){var Q=(G+Math.random()*16)%16|0;return G=Math.floor(G/16),(X=="x"?Q:Q&3|8).toString(16)});return H.toUpperCase()},deepClone$1=function(G){if(G!==void 0)return JSON.parse(JSON.stringify(G))},overwriteObj=function(G,H){Object.keys(H).forEach(X=>{G[X]=H[X]})},addWindowResizeHandler=function(G){let H=window.onresize;typeof window.onresize!="function"?window.onresize=G:window.onresize=function(){H(),G()}};function isEqual$1(G,H){return helperEqualCompare(G,H,helperDefaultCompare)}function helperEqualCompare(G,H,X,Q,K,Z,ee){if(G===H)return!0;if(G&&H&&!isNumber$2(G)&&!isNumber$2(H)&&!isString$3(G)&&!isString$3(H)){if(isRegExp$3(G))return X(""+G,""+H,K,Z,ee);if(isDate$2(G)||isBoolean$2(G))return X(+G,+H,K,Z,ee);var te,ne,re,oe=isArray$7(G),ae=isArray$7(H);if(oe||ae?oe&&ae:G.constructor===H.constructor)return ne=keys$1(G),re=keys$1(H),Q&&(te=Q(G,H,K)),ne.length===re.length?isUndefined$1(te)?every(ne,function(se,le){return se===re[le]&&helperEqualCompare(G[se],H[re[le]],X,Q,oe||ae?le:se,G,H)}):!!te:!1}return X(G,H,K,Z,ee)}function helperDefaultCompare(G,H){return G===H}function helperCreateInTypeof(G){return function(H){return typeof H===G}}var isString$3=helperCreateInTypeof("string"),isNumber$2=helperCreateInTypeof("number"),isBoolean$2=helperCreateInTypeof("boolean"),isUndefined$1=helperCreateInTypeof("undefined"),isArray$7=Array.isArray||helperCreateInInObjectString("Array");function helperCreateInInObjectString(G){return function(H){return"[object "+G+"]"===objectToString$2.call(H)}}var objectToString$2=Object.prototype.toString,isRegExp$3=helperCreateInInObjectString("RegExp"),isDate$2=helperCreateInInObjectString("Date"),keys$1=helperCreateGetObjects("keys",1);function helperCreateGetObjects(G,H){var X=Object[G];return function(Q){var K=[];if(Q){if(X)return X(Q);each$1(Q,H>1?function(Z){K.push([""+Z,Q[Z]])}:function(){K.push(arguments[H])})}return K}}function each$1(G,H,X){return G&&(isArray$7(G)?arrayEach$1:objectEach)(G,H,X)}function arrayEach$1(G,H,X){if(G)if(G.forEach)G.forEach(H,X);else for(var Q=0,K=G.length;Q<K;Q++)H.call(X,G[Q],Q,G)}function objectEach(G,H,X){if(G)for(var Q in G)hasOwnProp(G,Q)&&H.call(X,G[Q],Q,G)}function hasOwnProp(G,H){return G&&G.hasOwnProperty?G.hasOwnProperty(H):!1}var every=helperCreateIterateHandle("every",1,1,!1,!0);function helperCreateIterateHandle(G,H,X,Q,K){return function(Z,ee,te){if(Z&&ee){if(G&&Z[G])return Z[G](ee,te);if(H&&isArray$7(Z)){for(var ne=0,re=Z.length;ne<re;ne++)if(!!ee.call(te,Z[ne],ne,Z)===Q)return[!0,!1,ne,Z[ne]][X]}else for(var oe in Z)if(hasOwnProp(Z,oe)&&!!ee.call(te,Z[oe],oe,Z)===Q)return[!0,!1,oe,Z[oe]][X]}return K}}const _hoisted_1$l3={class:"preview-modal"},_hoisted_2$l0={style:{height:"80vh"}},_sfc_main$f={__name:"PreviewModal",props:{preViewModal:{type:Boolean},designer:{type:Object}},emits:["update:preViewModal"],setup(G,{emit:H}){const X=vue.inject("$qs"),Q=G;let Z=useVModel(Q,"preViewModal",H),ee=vue.ref(null);return vue.watch(()=>Q.preViewModal,te=>{if(te){ee.value=deepClone$1(Q.designer.preViewData);const ne=re=>{if(re.child.length>0&&re.gridData==null)re.child.forEach(oe=>{ne(oe)});else{if(re.gridData==null)return;delete re.gridData.toolbarConfig.slots;for(let oe of re.gridData.toolbarConfig.buttons)oe.buttonRender&&oe.buttonRender.name!="toolBarTitle"&&delete oe.buttonRender}};ne(ee.value)}}),(te,ne)=>{const re=vue.resolveComponent("el-dialog");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l3,[vue.createVNode(re,{ref:"preViewxModal",modelValue:vue.unref(Z),"onUpdate:modelValue":ne[1]||(ne[1]=oe=>vue.isRef(Z)?Z.value=oe:Z=oe),"append-to-body":"",zIndex:999,title:G.designer.windowFormData.NAME,top:"5vh",width:"88%",draggable:"","close-on-press-escape":"","destroy-on-close":""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$l0,[vue.createVNode(vue.unref(WindowLayout),{layoutData:vue.unref(ee),"onUpdate:layoutData":ne[0]||(ne[0]=oe=>vue.isRef(ee)?ee.value=oe:ee=oe)},null,8,["layoutData"])])]),_:1},8,["modelValue","title"])])}}};function useCommon(){const $qs=vue.inject("$qs"),axios=vue.inject("$axios"),getSelectorData=async(G,H,X)=>{var Z;let Q=Object.assign({},G);Q._field_id=H,Q._select_id=X;let K=await axios.post("/window/selector",$qs.stringify(Q));return(Z=K==null?void 0:K.data)==null?void 0:Z.data},getDefaultValue=async G=>{var X;let H=await axios.post("window/defaultValue",$qs.stringify({_region_id:G}));return(X=H==null?void 0:H.data)==null?void 0:X.data},displayLogicEvent=G=>displayLogic(G.item.itemRender.props.displayLogic,{...G.data}),displayLogic=(displayStr,datax)=>{let data=Object.assign({},datax),result=!1;try{for(let G in data)displayStr=displayStr.replace(new RegExp("@"+G+"@","gi"),typeof data[G]=="string"?"'"+data[G]+"'":data[G]);result=eval(displayStr)}catch(G){result=!1}return result},evalDefaultValue=(G,H)=>{const X=/^@(.*)@$/;if(G&&X.test(G)){const Q=X.exec(G)[1].toUpperCase();G=H[Q]}return G},getData=async function(G){var Q;let H={page:G.pagerConfig.currentPage,limit:G.pagerConfig.pageSize,_region_id:G.params._region_id};G.params.parentRowId&&(H[G.params.parentRowId]=G.params.parentRowIdValue);let X=await axios.post("/window/data/"+G.params.datasourceCode,H);return(Q=X==null?void 0:X.data)==null?void 0:Q.data},getDatasourceList=async()=>{let G=[];return await axios.post("windowDesign/getDatasourceList").then(H=>{H&&H.data.result&&H.data.data&&(G=H.data.data.map(X=>Object.assign({VALUE:X.id,NAME:X.name},X)))}),G},formInitData=async(G,H,X,Q,K)=>{var ne;let Z=X.isNew;if(Z){let re={},oe={};re.PARAMS=Object.assign({},H.params.queryParams),oe.PARENT=Object.assign({},H.params.parentData);let ae=await getDefaultValue(G._region_id,K);for(let se in ae){let le=ae[se];G[se]=evalDefaultValue(le,{...G,...re,...oe})}}let ee={};H.columns.forEach(re=>{re.itemRender&&re.itemRender.props._select_id&&(ee[re.id]=re)});let te=[];for(let re of Object.keys(ee)){let oe=ee[re];if(oe.dataType==="TREE")oe.itemRender.props.treeData=await getSelectorData(G,oe.id,oe.selectorId,K);else if(oe.remoteSearch){let ae=Object.assign({},G);ae.$_value=G[oe.field];let se=[];oe.title=="数据源"?se=await getDatasourceList(K):se=await getSelectorData(G,oe.id,oe.selectorId,K),oe.itemRender.options=se.map(de=>Object.assign({value:de.VALUE,label:de.NAME},de));let le={};oe.itemRender.options.forEach(de=>{le[de.VALUE]=de});let ce=Object.assign([],oe.itemRender.options);se.map(de=>{le.hasOwnProperty(de.VALUE)||(ce.push(Object.assign({value:de.VALUE,label:de.NAME},de)),le[de.VALUE]=de)}),oe.itemRender.options=ce,Z&&oe.visible&&!G[oe.field]&&ce.length>0&&(G[oe.field]=ce[0].VALUE,oe.title=="数据源"&&te.push({callbackFunction:"updataViewData",params:[oe.field,ce[0].VALUE]}))}else if(typeof oe.selectorId<"u"){let ae=[];if(Q.selectedWidgetParent&&Q.selectedWidgetParent.isNew&&Q.selectedWidgetParent.gridData.isNew&&Q.getWidgetType(X)=="basicFields"){let se=Q.designerConfig[Q.selectedWidgetParent.id].gridConfig;if(se.SYS_DATASOURCE_ID==null){let ue=await getDatasourceList(K);se.SYS_DATASOURCE_ID=ue[0].id}let ce=(await getColumnsByDatasourceId(se.SYS_DATASOURCE_ID,K)).map(ue=>({NAME:ue.name,SYS_DATASOURCE_COLUMN_ID:null,_SYS_DATASOURCE_COLUMN_ID_NAME:ue.columnName}));const de=await getSelectorDataBySelectorId(oe.selectorId,K);ce.forEach(ue=>{let he=de.filter(fe=>fe.name==ue._SYS_DATASOURCE_COLUMN_ID_NAME)[0];he&&ae.push({value:he.value,label:he.name})}),oe.itemRender.options=ae}else ae=await getSelectorData(G,oe.id,oe.selectorId,K),oe.itemRender.options=ae.map(se=>Object.assign({value:se.VALUE,label:se.NAME},se));if(oe.field=="SYS_WINDOW_LAYOUT_ID"||oe.field=="PARENT_REGION_ID"){const se=le=>{if(!(le.child.length==0&&le.gridData==null))if(le.child.length>0&&le.gridData==null){let ce=oe.itemRender.options.findIndex(de=>de.label==le.name);oe.field=="SYS_WINDOW_LAYOUT_ID"&&ce<0&&oe.itemRender.options.push({value:le.id,label:le.name}),le.child.forEach(de=>{se(de)})}else{let ce=oe.itemRender.options.findIndex(ue=>ue.label==le.name),de=oe.itemRender.options.findIndex(ue=>ue.label==le.gridData.params.windowTitle);oe.field=="SYS_WINDOW_LAYOUT_ID"&&ce<0?oe.itemRender.options.push({value:le.id,label:le.name}):oe.field=="PARENT_REGION_ID"&&de<0&&oe.itemRender.options.push({value:le.gridData.params._region_id,label:le.gridData.params.windowTitle})}};Q.preViewData.child.forEach(le=>{se(le)})}Z&&oe.visible&&!G[oe.field]&&ae.length>0&&(oe.field=="SYS_WINDOW_LAYOUT_ID"?G[oe.field]=((ne=Q.selectedWidgetParent)==null?void 0:ne.id)||X.id:oe.field!="PARENT_REGION_ID"&&(G[oe.field]=ae[0].VALUE))}else Z&&oe.visible&&oe.editRender.options&&oe.editRender.options.length>0&&!G[oe.field]&&(oe.field=="TYPE"&&X?X.type=="TREE"?G[oe.field]="TREE":X.type=="EDIT_GRID"?G[oe.field]="EDIT_GRID":X.type=="TREE_STRUCTURE"?G[oe.field]="TREE_STRUCTURE":X.type=="GRID"?G[oe.field]="GRID":X.type=="FORM"?G[oe.field]="FORM":G[oe.field]=X.type:oe.field=="POSITION"?G[oe.field]=X.layout:G[oe.field]=oe.editRender.options[0].VALUE)}return te},getColumnsByDatasourceId=async G=>{let H=[];return await axios.post("windowDesign/getColumns?datasourceId="+G).then(X=>{X&&X.data.result&&(H=X.data.data)}),H},getSelectorDataBySelectorId=async G=>{let H=[];return await axios.post("windowDesign/getSelectorList?selectorId="+G).then(X=>{X&&X.data.result&&X.data.data&&(H=X.data.data)}),H},changeSwitchValue=G=>G=="Y"?!0:G=="N"?!1:G;return{getSelectorData,getDefaultValue,displayLogicEvent,displayLogic,evalDefaultValue,getData,getDatasourceList,formInitData,getColumnsByDatasourceId,getSelectorDataBySelectorId,changeSwitchValue}}const _sfc_main$e={name:"ToolbarPanel",mixins:[],inject:["$getInitData"],components:{PreviewModal:_sfc_main$f},props:{designer:Object},data(){return{showPreviewDialogFlag:!1}},computed:{undoDisabled(){return!this.designer.undoEnabled()},redoDisabled(){return!this.designer.redoEnabled()}},watch:{"designer.widgetList":{deep:!0,handler(G){}}},setup(){const{formInitData:G,getData:H,changeSwitchValue:X}=useCommon();return{formInitData:G,getData:H,changeSwitchValue:X}},mounted(){},methods:{undoHistory(){this.designer.undoHistoryStep()},redoHistory(){this.designer.redoHistoryStep()},clearFormWidget(){this.$confirm("确定清空所有组件?","警告",{type:"warning"}).then(()=>{this.designer.clearDesigner()}).catch(()=>{})},previewForm(){this.showPreviewDialogFlag=!0},goLink(){window.open("http://slwdoc.js.sforcecon.com:5900/","_blank")},savePreviewData(){this.$confirm("确认保存数据信息?","警告",{type:"warning"}).then(async()=>{let G=await this.joinLayout(),H=await this.joinRegion(),X={accessType:this.designer.windowFormData.ACCESS_TYPE,description:this.designer.windowFormData.DESCRIPTION,development:this.changeSwitchValue(this.designer.windowFormData.IS_DEVELOPMENT),id:this.designer.windowFormData.SYS_WINDOW_ID,layout:this.designer.windowFormData.LAYOUT,moduleId:this.designer.windowFormData.SYS_MODULE_ID,name:this.designer.windowFormData.NAME,layouts:G,regions:H},Q=await this.axios.postJson("/windowDesign/save",X);if(Q!=null&&Q.data.result&&Q.data.status==200){this.$message.success("保存数据成功!");let K=await this.$getInitData(X.id);this.designer.reloadInitDesigner(K)}else this.$message.error("保存数据失败!")}).catch(G=>{G!=="cancel"&&console.error(G)})},async joinRegion(){let G=[];const H=await this.getData(this.designer.areaData.gridData),X=async Q=>{if(Q.child.length>0&&Q.gridData==null)for(let K of Q.child)await X(K);else{let K=this.designer.designerConfig[Q.id],Z={};if(K.gridConfig.isDefault){let de=deepClone$1(this.designer.areaData);Q.gridData.isNew?(K.gridConfig._region_id=de.gridData.params._region_id,await this.formInitData(K.gridConfig,de.gridData,Q.gridData,this.designer),Q.gridData.toolbarConfig&&Q.gridData.toolbarConfig.buttons[0].buttonRender.name=="toolBarTitle"&&(K.gridConfig.NAME=Q.gridData.toolbarConfig.buttons[0].name)):H.forEach(ue=>{Q.gridData.params&&ue.SYS_WINDOW_REGION_ID==Q.gridData.params._region_id&&Object.assign(K.gridConfig,ue)})}for(let de in K.gridConfig)de=="SYS_DATASOURCE_ID"?Z.datasourceId=K.gridConfig[de]:de=="SYS_DATASOURCE_ID"?Z.windowId=K.gridConfig[de]:de=="SYS_WINDOW_LAYOUT_ID"?Z.layoutId=K.gridConfig[de]:de=="SYS_WINDOW_REGION_ID"||de=="_region_id"?Z.id=Q.isNew?Q.gridData.params._region_id:K.gridConfig[de]:de=="ISACTIVE"?Z.active=K.gridConfig[de]:de=="SYS_WINDOW_ID"?Z.windowId=K.gridConfig[de]:de!="SEQ"&&de!="_SYS_DATASOURCE_ID_NAME"&&de!="_SYS_WINDOW_LAYOUT_ID_NAME"&&de!="_button_id"&&de!="isDefault"&&de!="_PARENT_REGION_ID_NAME"&&(Z[toHump(de.toLowerCase())]=this.changeSwitchValue(K.gridConfig[de]));Z.querys=[],Z.buttons=[],Z.fields=[];let ee=this.designer.designerConfig[Q.id].queryConfig,te=deepClone$1(this.designer.queryData);te.gridData.params.parentRowIdValue=Q.gridData.params._region_id;let ne=[];Q.gridData.isNew||(ne=await this.getData(te.gridData));for(let de in ee){let ue={},he=ee[de],fe=Q.gridData.formConfig.items.filter(pe=>pe.id==de)[0];he.NAME=fe.title,he.isDefault&&(fe.isNew?(he._region_id=te.gridData.params._region_id,await this.formInitData(he,te.gridData,fe,this.designer)):ne.forEach(pe=>{pe.NAME==fe.title&&Object.assign(he,pe)}));for(let pe in he)pe=="IS_HIDE"?ue.hide=this.changeSwitchValue(he[pe]):pe=="NO_CASE_UP_LOW"?ue.noCaseUpperLower=this.changeSwitchValue(he[pe]):pe=="SYS_DATASOURCE_COLUMN_ID"?ue.datasourceColumnId=he[pe]:pe=="SYS_WINDOW_REGION_QUERY_ID"?ue.id=fe.isNew?fe.id:he[pe]:pe=="_SYS_DATASOURCE_COLUMN_ID_NAME"?ue.columnName=he[pe]:pe!="NEW_LINE"&&pe!="SEQ"&&pe!="SYS_WINDOW_REGION_ID"&&pe!="UNIT_NAME"&&pe!="isDefault"&&(ue[toHump(pe.toLowerCase())]=this.changeSwitchValue(he[pe]));Z.querys.push(ue)}let re=this.designer.designerConfig[Q.id].btnConfig,oe=deepClone$1(this.designer.btnData);oe.gridData.params.parentRowIdValue=Q.gridData.params._region_id;let ae=[];Q.gridData.isNew||(ae=await this.getData(oe.gridData));for(let de in re){let ue={},he=re[de],fe=Q.gridData.toolbarConfig.buttons.filter(pe=>pe.id==de)[0];if(!(fe.buttonRender&&fe.buttonRender.name=="toolBarTitle")){he.isDefault&&(fe.isNew?(he._region_id=te.gridData.params._region_id,await this.formInitData(he,oe.gridData,fe,this.designer),he.NAME=fe.name,he.CODE=fe.code,he.TYPE=fe.type):ae.forEach(pe=>{pe.SYS_WINDOW_BUTTON_ID==fe._button_id&&Object.assign(he,pe)}));for(let pe in he)pe=="SYS_WINDOW_BUTTON_ID"?ue.id=fe.isNew?fe.id:he[pe]:pe=="SYS_WINDOW_ID"?ue.windowId=he[pe]:pe=="SYS_WINDOW_REGION_ID"?ue.regionId=he[pe]:pe!="_region_id"&&pe!="CREATED"&&pe!="ISACTIVE"&&pe!="SEQ"&&pe!="isDefault"&&pe!="_SYS_WINDOW_ID_NAME"&&(ue[toHump(pe.toLowerCase())]=this.changeSwitchValue(he[pe]));Z.buttons.push(ue)}}let se=this.designer.designerConfig[Q.id].fieldConfig,le=deepClone$1(this.designer.fieldData);le.gridData.params.parentRowIdValue=Q.gridData.params._region_id;let ce=[];Q.gridData.isNew||(ce=await this.getData(le.gridData));for(let de in se){let ue={},he=se[de],fe=Q.gridData.columns.filter(pe=>pe.id==de)[0];he.isDefault&&(fe.isNew?(he._region_id=te.gridData.params._region_id,await this.formInitData(he,le.gridData,fe,this.designer),he.NAME=fe.name):ce.forEach(pe=>{pe.SYS_WINDOW_REGION_FIELD_ID==fe.id&&Object.assign(he,pe)}));for(let pe in he)pe=="SYS_WINDOW_REGION_FIELD_ID"?ue.id=fe.isNew?fe.id:he[pe]:pe=="FORMATER"?ue.format=he[pe]:pe=="IS_READONLY"?ue.readOnly=this.changeSwitchValue(he[pe]):pe=="SYS_DATASOURCE_COLUMN_ID"?ue.datasourceColumnId=he[pe]:pe=="_SYS_DATASOURCE_COLUMN_ID_NAME"?ue.code=he[pe]:pe=="SYS_WINDOW_REGION_ID"||pe=="_region_id"?ue.regionId=he[pe]:pe!="SEQ"&&pe!="_button_id"&&pe!="isDefault"&&(ue[toHump(pe.toLowerCase())]=this.changeSwitchValue(he[pe]));Z.fields.push(ue)}G.push(Z)}};try{for(let Q of this.designer.preViewData.child)await X(Q)}catch(Q){console.log(Q)}return G},async joinLayout(){let G=[];const H=await this.getData(this.designer.layoutData.gridData),X=async Q=>{if(Q.child.length>0&&Q.gridData==null)for(let K of Q.child)await X(K);else{let K=this.designer.designerConfig[Q.id+"LAYOUT"],Z={};if(K.gridConfig.isDefault){let ee=deepClone$1(this.designer.layoutData);Q.isNew?(K.gridConfig._region_id=ee.gridData.params._region_id,await this.formInitData(K.gridConfig,ee.gridData,Q,this.designer),K.gridConfig.NAME=Q.name):H.forEach(te=>{te.NAME==Q.name&&Object.assign(K.gridConfig,te)})}for(let ee in K.gridConfig)ee=="SYS_WINDOW_LAYOUT_ID"?Z.id=Q.isNew?Q.id:K.gridConfig[ee]:ee!="_button_id"&&ee!="_region_id"&&ee!="_PARENT_ID_NAME"&&ee!="ISACTIVE"&&ee!="isDefault"&&ee!="isNew"&&ee!="SYS_WINDOW_ID"&&(Z[toHump(ee.toLowerCase())]=this.changeSwitchValue(K.gridConfig[ee]));G.push(Z)}};for(let Q of this.designer.preViewData.child)await X(Q);return G}}},_hoisted_1$l2={class:"toolbar-container"},_hoisted_2$k$={class:"left-toolbar"},_hoisted_3$hY={class:"right-toolbar"},_hoisted_4$ax={class:"right-toolbar-con"};function _sfc_render$8(G,H,X,Q,K,Z){const ee=vue.resolveComponent("el-button"),te=vue.resolveComponent("el-tooltip"),ne=vue.resolveComponent("PreviewModal");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",_hoisted_1$l2,[vue.createElementVNode("div",_hoisted_2$k$,[vue.createVNode(ee,{link:"",type:"primary",disabled:Z.undoDisabled,title:"撤销",onClick:Z.undoHistory},{default:vue.withCtx(()=>[...H[2]||(H[2]=[vue.createElementVNode("i",{class:"iconfont icon-weibiaoti545"},null,-1)])]),_:1},8,["disabled","onClick"]),vue.createVNode(ee,{link:"",type:"primary",disabled:Z.redoDisabled,title:"恢复",onClick:Z.redoHistory},{default:vue.withCtx(()=>[...H[3]||(H[3]=[vue.createElementVNode("i",{class:"iconfont icon-huifu"},null,-1)])]),_:1},8,["disabled","onClick"]),vue.createVNode(te,{class:"box-item",effect:"dark",content:"api文档",placement:"right"},{default:vue.withCtx(()=>[vue.createElementVNode("i",{class:"iconfont icon-link1",onClick:H[0]||(H[0]=(...re)=>Z.goLink&&Z.goLink(...re))})]),_:1})]),vue.createElementVNode("div",_hoisted_3$hY,[vue.createElementVNode("div",_hoisted_4$ax,[vue.createVNode(ee,{link:"",type:"primary",onClick:Z.clearFormWidget},{default:vue.withCtx(()=>[...H[4]||(H[4]=[vue.createElementVNode("i",{class:"iconfont icon-delete"},null,-1),vue.createTextVNode(" 清空 ",-1)])]),_:1},8,["onClick"]),vue.createVNode(ee,{link:"",size:"large",type:"primary",onClick:Z.previewForm},{default:vue.withCtx(()=>[...H[5]||(H[5]=[vue.createElementVNode("i",{class:"iconfont icon-view"},null,-1),vue.createTextVNode(" 预览 ",-1)])]),_:1},8,["onClick"]),vue.createVNode(ee,{link:"",size:"large",type:"primary",onClick:Z.savePreviewData},{default:vue.withCtx(()=>[...H[6]||(H[6]=[vue.createElementVNode("i",{class:"iconfont icon-save"},null,-1),vue.createTextVNode(" 保存 ",-1)])]),_:1},8,["onClick"])])])]),vue.createVNode(ne,{preViewModal:K.showPreviewDialogFlag,"onUpdate:preViewModal":H[1]||(H[1]=re=>K.showPreviewDialogFlag=re),designer:X.designer},null,8,["preViewModal","designer"])],64)}const ToolbarPanel=_export_sfc(_sfc_main$e,[["render",_sfc_render$8],["__scopeId","data-v-fe9489ce"]]),containers$1=[{name:"垂直布局",layout:"V",type:"grid-v",icon:"icon-s-grid",mode:"vertical",gridData:null,child:[]},{name:"水平布局",layout:"H",type:"grid",icon:"icon-s-grid",mode:"horizontal",gridData:null,child:[]},{name:"页签",type:"tab",icon:"icon-tab",layout:"TAB",mode:"tab",child:[],gridData:null}],basicFields=[{name:"单行输入",type:"ElInput",icon:"icon-text",formItemFlag:!0,field:"text",options:{type:"text",name:"",label:"",labelAlign:"",defaultValue:"",placeholder:"",columnWidth:"200px",size:"",labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,clearable:!0,showPassword:!1,required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,minLength:null,maxLength:null,showWordLimit:!1,prefixIcon:"",suffixIcon:"",appendButton:!1,appendButtonDisabled:!1,buttonIcon:"custom-search",onCreated:"",onMounted:"",onInput:"",onChange:"",onFocus:"",onBlur:"",onValidate:"",onAppendButtonClick:""}},{name:"多行输入",type:"ElInput",icon:"icon-textarea",formItemFlag:!0,field:"textarea",options:{type:"textarea",name:"",label:"",labelAlign:"",rows:3,defaultValue:"",placeholder:"",columnWidth:"200px",size:"",labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,minLength:null,maxLength:null,showWordLimit:!1,onCreated:"",onMounted:"",onInput:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"计数器",type:"ElInputNumber",icon:"icon-number-field",formItemFlag:!0,field:"number",options:{name:"",label:"",labelAlign:"",defaultValue:0,placeholder:"",columnWidth:"200px",size:"",labelWidth:null,labelHidden:!1,disabled:!1,hidden:!1,required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,min:-1e11,max:1e11,precision:0,step:1,controlsPosition:"right",onCreated:"",onMounted:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"下拉选项",type:"ElSelect",icon:"icon-select-field",formItemFlag:!0,field:"select",options:{name:"",label:"",labelAlign:"",defaultValue:"",placeholder:"",columnWidth:"200px",size:"",labelWidth:null,labelHidden:!1,disabled:!1,hidden:!1,clearable:!0,filterable:!1,allowCreate:!1,remote:!1,automaticDropdown:!1,multiple:!1,multipleLimit:0,optionItems:[{label:"select 1",value:1},{label:"select 2",value:2},{label:"select 3",value:3}],required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onRemoteQuery:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"下拉多选",type:"ElSelect",icon:"icon-select-field",formItemFlag:!0,field:"selectmultiple",options:{name:"",label:"",labelAlign:"",defaultValue:"",placeholder:"",columnWidth:"200px",size:"",labelWidth:null,labelHidden:!1,disabled:!1,hidden:!1,clearable:!0,filterable:!1,allowCreate:!1,remote:!1,automaticDropdown:!1,multiple:!0,multipleLimit:0,optionItems:[{label:"select 1",value:1},{label:"select 2",value:2},{label:"select 3",value:3}],required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onRemoteQuery:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"时间",type:"ElTimePicker",icon:"icon-time",formItemFlag:!0,field:"time",options:{type:"time",name:"",label:"",labelAlign:"",defaultValue:null,placeholder:"",columnWidth:"200px",size:"",autoFullWidth:!0,labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,clearable:!0,editable:!1,format:"HH:mm:ss",required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"时间范围",type:"ElTimePicker",icon:"icon-reloadtime",formItemFlag:!0,field:"timerange",options:{type:"timerange",name:"",label:"",labelAlign:"",defaultValue:null,startPlaceholder:"",endPlaceholder:"",columnWidth:"200px",size:"",autoFullWidth:!0,labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,clearable:!0,editable:!1,format:"HH:mm:ss",required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"日期",type:"ElDatePicker",icon:"icon-date",formItemFlag:!0,field:"date",options:{name:"",label:"",labelAlign:"",type:"date",defaultValue:null,placeholder:"",columnWidth:"200px",size:"",autoFullWidth:!0,labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,clearable:!0,editable:!1,format:"YYYY-MM-DD",valueFormat:"YYYY-MM-DD",required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"日期范围",type:"ElDatePicker",icon:"icon-date-range",formItemFlag:!0,field:"datetimerange",options:{name:"",label:"",labelAlign:"",type:"datetimerange",defaultValue:null,startPlaceholder:"",endPlaceholder:"",columnWidth:"200px",size:"",autoFullWidth:!0,labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,clearable:!0,editable:!1,format:"YYYY-MM-DD",valueFormat:"YYYY-MM-DD",required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"开关",type:"ElSwitch",icon:"icon-switch",formItemFlag:!0,field:"switch",options:{name:"",label:"",labelAlign:"",defaultValue:null,columnWidth:"200px",labelWidth:null,labelHidden:!1,disabled:!1,hidden:!1,customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,switchWidth:40,activeText:"",inactiveText:"",activeColor:null,inactiveColor:null,onCreated:"",onMounted:"",onChange:"",onValidate:""}},{name:"按钮",type:"ElButton",icon:"icon-button",formItemFlag:!1,options:{name:"",slw:"",label:"",columnWidth:"200px",size:"",displayStyle:"block",disabled:!1,hidden:!1,type:"",plain:!1,round:!1,circle:!1,icon:null,customClass:"",onCreated:"",onMounted:"",onClick:""}}],advancedFields=[{name:"表格",type:"table",icon:"icon-table-1",child:[],gridData:{border:"inner",stripe:!0,perfect:!0,resizable:!0,showHeaderOverflow:!0,showOverflow:"tooltip",highlightHoverRow:!0,highlightCurrentRow:!0,size:"small",height:"auto",autoResize:!0,rowId:"id",customConfig:{checkMethod:({column:G})=>!(G.type==="seq"||G.type==="checkbox")},sortConfig:{trigger:"cell",remote:!0},filterConfig:{remote:!0},rowConfig:{useKey:!0,keyField:"id",isCurrent:!0,isHover:!0},columnConfig:{isCurrent:!0,isHover:!0,resizable:!0},pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"],autoHidden:!0,perfect:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{name:"表格",buttonRender:{name:"toolBarTitle"}}],slots:{buttons:"toolbar_buttons"},refresh:!0,import:!1,export:!1,print:!1,zoom:!1,custom:!0},columns:[{fixed:"left",type:"seq",width:45,colType:"showInGrid"},{fixed:"left",type:"checkbox",width:40,colType:"showInGrid"}],resizableConfig:{minWidth:"60px"},exportConfig:{types:["csv"],modes:["current","selected","all"],download:!0},editRules:{},editConfig:{showStatus:!0,showIcon:!1,showUpdateStatus:!0,showInsertStatus:!0},keyboardConfig:{isArrow:!0,isDel:!0,isEnter:!0,isTab:!0,isEdit:!0},checkboxConfig:{trigger:"column",range:!0},printConfig:{modes:["current","selected","all"]},emptyText:"暂无数据",type:"GRID"}},{name:"表单",type:"form",icon:"icon-biaodan",child:[],gridData:{border:"inner",stripe:!0,perfect:!0,resizable:!0,showHeaderOverflow:!0,showOverflow:"tooltip",highlightHoverRow:!0,highlightCurrentRow:!0,size:"small",height:"auto",autoResize:!0,rowId:"id",customConfig:{checkMethod:({column:G})=>!(G.type==="seq"||G.type==="checkbox")},sortConfig:{trigger:"cell",remote:!0},filterConfig:{remote:!0},rowConfig:{useKey:!0,keyField:"id",isCurrent:!0,isHover:!0},columnConfig:{isCurrent:!0,isHover:!0,resizable:!0},pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"],autoHidden:!0,perfect:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{name:"表单",buttonRender:{name:"toolBarTitle"}}],refresh:!0,import:!1,export:!1,print:!1,zoom:!1,custom:!0},columns:[],resizableConfig:{minWidth:"60px"},exportConfig:{types:["csv"],modes:["current","selected","all"],download:!0},editRules:{},editConfig:{showStatus:!0,showIcon:!1,showUpdateStatus:!0,showInsertStatus:!0},keyboardConfig:{isArrow:!0,isDel:!0,isEnter:!0,isTab:!0,isEdit:!0},checkboxConfig:{trigger:"column",range:!0},printConfig:{modes:["current","selected","all"]},emptyText:"暂无数据",type:"FORM"}},{name:"树形表格",type:"tree",icon:"icon-tree-table",child:[],gridData:{autoResize:!0,border:"inner",stripe:!1,perfect:!0,resizable:!0,showHeaderOverflow:!0,showOverflow:"tooltip",highlightHoverRow:!0,highlightCurrentRow:!0,size:"small",height:"auto",rowId:"id",customConfig:{checkMethod:({column:G})=>!(G.type==="seq"||G.type==="checkbox")},sortConfig:{trigger:"cell",remote:!0},filterConfig:{remote:!0},rowConfig:{useKey:!0,keyField:"id",isCurrent:!0,isHover:!0},columnConfig:{isCurrent:!0,isHover:!0,resizable:!0},pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"],autoHidden:!0,perfect:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{name:"树形表格",buttonRender:{name:"toolBarTitle"}}],slots:{buttons:"toolbar_buttons"},refresh:!0,import:!1,export:!1,print:!1,zoom:!1,custom:!0},columns:[{fixed:"left",width:180,colType:"showInGrid",treeNode:!0,type:"checkbox",title:"名称"}],treeConfig:{children:"_CHILDS",accordion:!0,line:!0,iconOpen:"vxe-icon--caret-right rotate45",iconClose:"vxe-icon--caret-right"},checkboxConfig:{labelField:"name",expandAll:!0},resizableConfig:{minWidth:"60px"},exportConfig:{types:["csv"],modes:["current","selected","all"],download:!0},editRules:{},editConfig:{showStatus:!0,showIcon:!1,showUpdateStatus:!0,showInsertStatus:!0},keyboardConfig:{isArrow:!0,isDel:!0,isEnter:!0,isTab:!0,isEdit:!0},printConfig:{modes:["current","selected","all"]},emptyText:"暂无数据",data:[{id:1e4,parentId:null,name:"vxe-table test abc1",type:"mp3",size:1024,date:"2020-08-01"},{id:10050,parentId:null,name:"Test2",type:"mp4",size:null,date:"2021-04-01",_CHILDS:[{id:24300,parentId:10050,name:"Test3",type:"avi",size:1024,date:"2020-03-01",_CHILDS:[{id:20045,parentId:24300,name:"vxe-table test abc4",type:"html",size:600,date:"2021-04-01"},{id:10053,parentId:24300,name:"vxe-table test abc96",type:"avi",size:null,date:"2021-04-01",_CHILDS:[{id:24330,parentId:10053,name:"vxe-table test abc5",type:"txt",size:25,date:"2021-10-01"},{id:21011,parentId:10053,name:"Test6",type:"pdf",size:512,date:"2020-01-01"},{id:22200,parentId:10053,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}]}]},{id:23666,parentId:null,name:"Test8",type:"xlsx",size:2048,date:"2020-11-01",_CHILDS:[{id:23677,parentId:23666,name:"Test7",type:"js",size:1024,date:"2021-06-01",_CHILDS:[{id:23671,parentId:23677,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:23672,parentId:23677,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]},{id:23688,parentId:23666,name:"Test7",type:"js",size:1024,date:"2021-06-01",_CHILDS:[{id:23681,parentId:23688,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:23682,parentId:23688,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}]},{id:24555,parentId:null,name:"vxe-table test abc9",type:"avi",size:224,date:"2020-10-01",_CHILDS:[{id:24566,parentId:24555,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:24577,parentId:24555,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}],type:"TREE"}},{name:"可编辑表格",type:"edit_table",icon:"icon-kebianjibiaoge",child:[],gridData:{border:"inner",stripe:!0,perfect:!0,resizable:!0,showHeaderOverflow:!0,showOverflow:"tooltip",highlightHoverRow:!0,highlightCurrentRow:!0,size:"small",height:"auto",autoResize:!0,rowId:"id",customConfig:{checkMethod:({column:G})=>!(G.type==="seq"||G.type==="checkbox")},sortConfig:{trigger:"cell",remote:!0},filterConfig:{remote:!0},rowConfig:{useKey:!0,keyField:"id",isCurrent:!0,isHover:!0},columnConfig:{isCurrent:!0,isHover:!0,resizable:!0},pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"],autoHidden:!0,perfect:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{name:"可编辑表格",buttonRender:{name:"toolBarTitle"}}],slots:{buttons:"toolbar_buttons"},refresh:!1,import:!1,export:!1,print:!1,zoom:!1,custom:!0},columns:[{fixed:"left",type:"seq",width:45,colType:"showInGrid"},{fixed:"left",type:"checkbox",width:40,colType:"showInGrid"}],resizableConfig:{minWidth:"60px"},exportConfig:{types:["csv"],modes:["current","selected","all"],download:!0},editRules:{},editConfig:{showStatus:!0,showIcon:!1,showUpdateStatus:!0,showInsertStatus:!0,trigger:"click",mode:"cell",enabled:!0},keyboardConfig:{isArrow:!0,isDel:!0,isEnter:!0,isTab:!0,isEdit:!0},checkboxConfig:{trigger:"column",range:!0},printConfig:{modes:["current","selected","all"]},emptyText:"暂无数据",type:"EDIT_GRID"}},{name:"树形结构",type:"tree_structure",icon:"icon-tree-structure",child:[],gridData:{autoResize:!0,border:"inner",stripe:!1,perfect:!0,resizable:!0,showHeaderOverflow:!0,showOverflow:"tooltip",showHeader:!1,highlightHoverRow:!0,highlightCurrentRow:!0,size:"small",height:"auto",rowId:"id",customConfig:{checkMethod:({column:G})=>!(G.type==="seq"||G.type==="checkbox")},sortConfig:{trigger:"cell",remote:!0},filterConfig:{remote:!0},rowConfig:{useKey:!0,keyField:"id",isCurrent:!0,isHover:!0},columnConfig:{isCurrent:!0,isHover:!0,resizable:!0},pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"],autoHidden:!0,perfect:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{name:"树形结构",buttonRender:{name:"toolBarTitle"}}],slots:{buttons:"toolbar_buttons"},refresh:!0,import:!1,export:!1,print:!1,zoom:!1,custom:!0},columns:[{fixed:"left",width:180,colType:"showInGrid",treeNode:!0,type:"checkbox",title:"名称"}],treeConfig:{children:"_CHILDS",accordion:!0,line:!0,iconOpen:"vxe-icon-square-minus",iconClose:"vxe-icon-square-plus"},checkboxConfig:{labelField:"name",expandAll:!0},resizableConfig:{minWidth:"60px"},exportConfig:{types:["csv"],modes:["current","selected","all"],download:!0},editRules:{},editConfig:{showStatus:!0,showIcon:!1,showUpdateStatus:!0,showInsertStatus:!0},keyboardConfig:{isArrow:!0,isDel:!0,isEnter:!0,isTab:!0,isEdit:!0},printConfig:{modes:["current","selected","all"]},emptyText:"暂无数据",data:[{id:1e4,parentId:null,name:"vxe-table test abc1",type:"mp3",size:1024,date:"2020-08-01"},{id:10050,parentId:null,name:"Test2",type:"mp4",size:null,date:"2021-04-01",_CHILDS:[{id:24300,parentId:10050,name:"Test3",type:"avi",size:1024,date:"2020-03-01",_CHILDS:[{id:20045,parentId:24300,name:"vxe-table test abc4",type:"html",size:600,date:"2021-04-01"},{id:10053,parentId:24300,name:"vxe-table test abc96",type:"avi",size:null,date:"2021-04-01",_CHILDS:[{id:24330,parentId:10053,name:"vxe-table test abc5",type:"txt",size:25,date:"2021-10-01"},{id:21011,parentId:10053,name:"Test6",type:"pdf",size:512,date:"2020-01-01"},{id:22200,parentId:10053,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}]}]},{id:23666,parentId:null,name:"Test8",type:"xlsx",size:2048,date:"2020-11-01",_CHILDS:[{id:23677,parentId:23666,name:"Test7",type:"js",size:1024,date:"2021-06-01",_CHILDS:[{id:23671,parentId:23677,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:23672,parentId:23677,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]},{id:23688,parentId:23666,name:"Test7",type:"js",size:1024,date:"2021-06-01",_CHILDS:[{id:23681,parentId:23688,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:23682,parentId:23688,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}]},{id:24555,parentId:null,name:"vxe-table test abc9",type:"avi",size:224,date:"2020-10-01",_CHILDS:[{id:24566,parentId:24555,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:24577,parentId:24555,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}],type:"TREE_STRUCTURE"}}],customFields=[];function addContainerWidgetSchema(G){containers$1.push(G)}function addBasicFieldSchema(G){basicFields.push(G)}function addAdvancedFieldSchema(G){advancedFields.push(G)}function addCustomWidgetSchema(G){customFields.push(G)}/**!
152
+ `);let K=new RegExp(`${X}\\.`,"g");G=G.replace(K,"")}return G},displayLogic=(displayStr,datax)=>{let data=Object.assign({},datax),result=!1;try{for(let G in data)displayStr=displayStr.replace(new RegExp("@"+G+"@","gi"),typeof data[G]=="string"?"'"+data[G]+"'":data[G]);result=eval(displayStr.replaceAll("this.$data.","").replaceAll("this.",""))}catch(G){result=!1}return result},preTag=vue.computed(()=>formConfig.value.params.preTag||""),editRules=vue.computed(()=>{let G={};if(Object.keys(formConfig.value.editRules).length>0){let H=Object.keys(formConfig.value.editRules);for(let X=0;X<H.length;X++){let Q=formConfig.value.editRules[H[X]],K=formConfig.value.columns.filter(Z=>Z.field==H[X])[0];if(K){let Z=K.editRender.props.notnullLogic;Z&&(displayLogic(Z,{...formData.value,...assembleParentData()})&&!Q[0].required?Q.unshift({required:!0,message:`${K.title}不能为空!`}):!displayLogic(Z,{...formData.value,...assembleParentData()})&&Q[0].required&&(Q.shift(),form.value.updateStatus({field:K.field}))),Q[0].required&&(K.dataType=="TABLE"||K.dataType=="LIST")&&(Q[0].validator=({itemValue:ee,rule:te,rules:ne,data:re,field:oe})=>{if(!re[oe]||re[oe].length==0)return new Error(te.message)}),G[H[X]]=Q}}}return G}),buttons=vue.computed(()=>formConfig.value.toolbarConfig.buttons.filter(G=>{let H=!0;return G.displayLogic&&(H=displayLogic(G.displayLogic,{...formData.value,...assembleParentData()})),typeof G.code<"u"&&G.type!="EDIT"&&G.type!="DELETE"&&G.type!="NEW"&&!(uploadConfig.value.isHaveImgField&&G.type=="PIC_UPLOAD")&&G.visible&&H})),formSelectMap=vue.computed(()=>{let G={};return formConfig.value.columns.forEach(H=>{H.itemRender&&H.itemRender.props._select_id&&(G[H.id]=H)}),G}),readOnlyColumnMap=vue.computed(()=>{let G={};return formConfig.value.columns.forEach(H=>{H.editRender&&H.editRender.props.readonlyLogic&&(G[H.field]=H)}),G}),subQueryFields=vue.computed(()=>formConfig.value.columns.filter(G=>G.dataType==="SQL"&&G.displayForm)),computeSpan=vue.computed(()=>G=>G.dataType==="EDITOR"||G.dataType==="TEXT"?24:G.fwidth?Number(G.fwidth)>24?24:Number(G.fwidth):12),computeItemClass=vue.computed(()=>G=>{var H;if(formConfig.value.openType==="view"&&((H=G.itemRender)==null?void 0:H.name)!=="ElInput")return"item-readonly"}),computeItemTitle=vue.computed(()=>G=>{if(G.itemRender.props.unitName){const H=G.title.match(/([^()]+)\(/);return $T(H?H[1]:G.title)}else return $T(G.title)}),computeEditorBtnStyle=vue.computed(()=>G=>editorFocusField.value==G?"background: rgba(64, 158, 255, 0.5)":""),computeOptBtnStyle=vue.computed(()=>G=>{let H="";if(G=="top")switch(formConfig.value.params.buttonPosition){case"TOP_LEFT":H="justify-content: flex-start;";break;case"TOP_CENTER":H="justify-content: center;",computeOnlyShowBtn.value&&(H="justify-content: center;height: 100%;align-items: center;");break;case"TOP_RIGHT":H="justify-content: flex-end;";break}else if(G=="bottom")switch(formConfig.value.params.buttonPosition){case"BOTTOM_LEFT":H="left";break;case"BOTTOM_CENTER":H="center";break;case"BOTTOM_RIGHT":H="right";break}return H}),computeOnlyShowBtn=vue.computed(()=>{let G=!1;return formConfig.value.columns.filter(X=>X.displayForm).length==0&&(G=!0),G}),computeTitleWidth=vue.computed(()=>formConfig.value.params.formTitleWidth?formConfig.value.params.formTitleWidth:"115"),computeItemGroup=vue.computed(()=>G=>formConfig.value.params.setColumnsGroup?G.children:formConfig.value.columns);vue.onMounted(async()=>{var H,X,Q,K,Z,ee,te;if(formConfig.value.params.linkUrl)return;formLoading.value=!0,formConfig.value.params.columnsGroup=[{title:"",children:[]}],formConfig.value.columns.forEach((ne,re,oe)=>{ne.hasOwnProperty("field")&&!ne.hasOwnProperty("treeNode")&&(ne.events.change=onFieldChange,ne.events.keyup=onFieldEnter,ne.events.click=onFieldClick),(ne==null?void 0:ne.dataType)==="IMG"&&(uploadConfig.value.isHaveImgField=!0,fieldPreviewMap.value[ne.field]=[]),(ne==null?void 0:ne.dataType)==="FILE"&&(uploadConfig.value.isHaveFileField=!0,fieldPreviewMap.value[ne.field]=[],fileUploadFinishedMap.value[ne.field]=!0)}),await evalEvent(formConfig.value.params.formEvents.dataInit,"FORM","表单数据初始化前"),formConfig.value.params.parentRegionId&&addGridClickEvent(rowClickEmitFun);let G=!0;if(formConfig.value.formData){formData.value=formConfig.value.formData,G=formConfig.value.openType==="new",formConfig.value.openType==="view"&&(formConfig.value.columns=XEUtils.clone(formConfig.value.columns,!0));for(const ne of formConfig.value.columns)formConfig.value.openType==="view"&&((H=ne.itemRender)==null?void 0:H.name)=="ElInput"&&(ne.itemRender.props.readonly=!0),ne.dataType==="EDITOR"?formData.value[ne.field]==null?formData.value[ne.field]="":ne.language=="javascript"&&(formData.value[ne.field]=jsExports.js_beautify(formData.value[ne.field],codeBeautifyConfig)):(X=ne.itemRender)!=null&&X.name.includes("Select")&&ne.itemRender.props.multiple?formData.value[ne.field]==""?formData.value[ne.field]=[]:typeof formData.value[ne.field]=="string"&&(formData.value[ne.field]=(Q=formData.value[ne.field])==null?void 0:Q.split(",")):ne.dataType==="FILE"||ne.dataType==="IMG"?formData.value[ne.field]=[]:((K=ne.itemRender)==null?void 0:K.name)==="ElInputNumber"&&(formData.value[ne.field]=0)}else{for(const ne of formConfig.value.columns)ne.type!=="seq"&&ne.type!=="checkbox"&&(formData.value[ne.field]="",(Z=ne.itemRender)!=null&&Z.name.includes("Select")&&ne.itemRender.props.multiple?formData.value[ne.field]=formData.value[ne.field]==""?[]:(ee=formData.value[ne.field])==null?void 0:ee.split(","):ne.dataType==="FILE"||ne.dataType==="IMG"?formData.value[ne.field]=[]:((te=ne.itemRender)==null?void 0:te.name)==="ElInputNumber"&&(formData.value[ne.field]=0));formConfig.value.formData=formData.value}uploadConfig.value.dataId=formData.value[formConfig.value.rowConfig.keyField],uploadConfig.value.regionId=formConfig.value.params._region_id,uploadConfig.value.isHavePicUploadBtn=formConfig.value.params.isHavePicUploadBtn,uploadConfig.value.openType=formConfig.value.openType,uploadConfig.value.config=formConfig.value.params.pictureUploadConfig,computeNewLine(),formData.value._region_id=formConfig.value.params._region_id,await formInitData(formData.value,formConfig.value.params._region_id,G),form.value.params=formConfig.value.params,formConfig.value.params.queryParams&&Object.keys(formConfig.value.params.queryParams).length>0&&formConfig.value.params.queryParams.unQuery!==!0&&searchData(formConfig.value.params.queryParams),formConfig.value.columns.map(ne=>{var re;ne.hasOwnProperty("field")&&!ne.hasOwnProperty("treeNode")&&(fieldColumnMap.value[ne.field]=ne),(re=ne==null?void 0:ne.itemRender)!=null&&re.props&&(ne.itemRender.props.title=vue.computed(()=>formData.value["_"+ne.field+"_NAME"]))}),!formConfig.value.params.linkUrl&&(formConfig.value.type==="FORM"?(regionMap.value[formConfig.value.params.code+"-"+preTag.value]=form.value,regionMap.value[formConfig.value.params.code]=form.value):regionMap.value["Edit-"+formConfig.value.params.code+"-"+preTag.value]=form.value,throwFunction(form.value),await evalEvent(formConfig.value.params.formEvents.regionInit,"FORM","表单页面初始化触发"),vue.nextTick(()=>{formDataClone.value=XEUtils.clone(vue.toRaw(formData.value),!0)}),formLoading.value=!1)}),vue.onUnmounted(()=>{});const search=G=>{searchData(G)},queryAfterList=[],addProxyQueryAfterFun=G=>{queryAfterList.push(G)},searchData=G=>{let H={};formConfig.value.formConfig.items&&formConfig.value.formConfig.items.forEach(X=>{X.field&&(H[X.field]=X.itemRender.defaultValue?X.itemRender.defaultValue:"")}),H._region_id=formConfig.value.params._region_id,formConfig.value.params.parentRowId&&(H[formConfig.value.params.parentRowId]=formConfig.value.params.parentRowIdValue),G?H={...H,...G}:formConfig.value.params.queryParams&&Object.keys(formConfig.value.params.queryParams).forEach(X=>{let Q=X.toLowerCase();H.hasOwnProperty(Q)&&(H[Q]=formConfig.value.params.queryParams[X])}),axios.post("/window/data/"+formConfig.value.params.datasourceCode,H).then(async X=>{if(X&&X.data&&X.data.result&&X.data.data){if(X.data.data[0]){if(formData.value={...formData.value,...X.data.data[0]},Object.keys(formSelectMap.value).length>0)for(const Z of Object.keys(formSelectMap.value)){let ee=formSelectMap.value[Z];ee.itemRender.props.multiple&&formData.value[ee.field]&&(formData.value[ee.field]=formData.value[ee.field].split(","))}queryAfterList&&queryAfterList.length>0&&queryAfterList.forEach(Z=>{if(Z&&typeof Z=="function")try{Z(formData.value,"FORM")}catch(ee){console.error(ee,gridData.value.params.windowTitle,"表单查询后方法")}})}let Q=formData.value,K={rowId:formConfig.value.rowConfig.keyField,rowIdValue:!Q||!Q.hasOwnProperty(formConfig.value.rowConfig.keyField)?"":Q[formConfig.value.rowConfig.keyField],preTag:preTag.value};rowClickEmitFun(K,formConfig.value.params._region_id)}})},rowClickEmitFun=(G,H)=>{formConfig.value.params.parentRegionId===H&&(G?preTag.value===G.preTag&&(formConfig.value.params.parentRowId=G.rowId,formConfig.value.params.parentRowIdValue=G.rowIdValue):(formConfig.value.params.parentRowId=null,formConfig.value.params.parentRowIdValue=null),searchData())},displayLogicEvent=G=>displayLogic(G.item.itemRender.props.displayLogic,{...G.data,...assembleParentData()}),form=vue.ref(),submitData=G=>{form.value.validate(async H=>{var X;if(typeof H>"u"){for(let te in fileUploadFinishedMap.value)if(!fileUploadFinishedMap.value[te]){$message.error("请等待文件上传完成后再提交表单!"),emits("saveLoadingChange");return}let Q=await evalEvent(formConfig.value.params.formEvents.beginSubmit,formData.value,"表单提交前触发");if(typeof Q<"u"&&Q===!1){emits("saveLoadingChange");return}let K="/window/submit";formConfig.value.openType==="new"&&formConfig.value.params.newRequestPath&&(K=formConfig.value.params.newRequestPath),formConfig.value.openType==="edit"&&formConfig.value.params.editRequestPath&&(K=formConfig.value.params.editRequestPath),formConfig.value.openType==="submit"&&formConfig.value.params.submitRequestPath&&(K=formConfig.value.params.submitRequestPath);let Z=XEUtils.clone(vue.toRaw(formData.value),!0);for(let te in Z)Z[te]instanceof Array&&(Z[te]=Z[te].toString());formConfig.value.params.addChildData&&gridData.value.params.childRegionCode.forEach(te=>{let ne=getRegion(te);Z[`_${te.toUpperCase()}`]=ne.getTableData().tableData.map(re=>{let oe=XEUtils.clone(re,!0);formConfig.value.openType==="new"&&delete oe[ne.rowConfig.keyField];for(let ae in oe)oe[ae]instanceof Array&&(oe[ae]=oe[ae].toString());return oe})});const ee=((X=$VXETableConfig==null?void 0:$VXETableConfig.form)==null?void 0:X.submitContentType)||"json";axios.post(K,Z,ee).then(te=>{emits("saveLoadingChange"),typeof G<"u"&&G instanceof Object&&(formConfig.value.showEdit=!te.data.result,showPreViewClose()),te.data.result?($message.success(te.data.msg),(uploadConfig.value.isHaveImgField||uploadConfig.value.isHaveFileField)&&!uploadConfig.value.dataId&&updateFileDataId(te.data.id),evalEvent(formConfig.value.params.formEvents.afterSubmit,formData.value,te.data,"表单提交后触发"),typeof G<"u"&&(G instanceof Object||G===!0)&&emits("gridReload",formData.value._region_id,formConfig.value.openType==="new"?0:null),endEdit&&endEdit(formData.value,gridData.value.rowConfig.keyField,curRegion)):$message.error(te.data.msg),vue.nextTick(()=>{formDataClone.value=XEUtils.clone(vue.toRaw(formData.value),!0)})}).catch(te=>{emits("saveLoadingChange"),console.error(te)}).finally(()=>{})}else{for(let Q in Object.values(H)){const K=Object.values(H)[Q];setTimeout(()=>{$message.error(K[0][0].rule.message)},Q*800)}emits("saveLoadingChange")}})},btnClickFun=async G=>{G.loading=!0;try{switch(G.type){case"EVENT":G.windowId?showPreView(G.windowId,G.name):G.clickFunction&&await evalEvent("async "+G.clickFunction,formData.value,G,"按钮点击事件"),G.loading=!1;break;case"SUBMIT":G.requestPath&&(formConfig.value.params.submitRequestPath=G.requestPath),formConfig.value.openType="submit",formData.value._button_id=G._button_id,G.loading=!1,submitData(G);break;case"PIC_UPLOAD":uploadConfig.value.show=!uploadConfig.value.show,uploadConfig.value.dataId=formData.value[formConfig.value.rowConfig.keyField],uploadConfig.value.regionId=formConfig.value.params._region_id;break}G.loading=!1}catch(H){console.error(H),G.loading=!1}},setData=G=>{if(G)for(let H in G)formData.value[H.toUpperCase()]=G[H]},setInitData=G=>{setData(G)},setValue=async(G,H,X)=>{let Q=formConfig.value.columns.filter(K=>K.field==G.toUpperCase())[0];if(formData.value[G.toUpperCase()]=H,X){let K={data:formData.value,item:Q,property:Q.field};onFieldChange(K)}},getData=()=>formData.value,getSelectRecord=()=>formData.value,getForm=()=>form.value,checkSubmitData=async()=>{let G=!1;return await form.value.validate().then(H=>{G=typeof H>"u"}),G},getValue=G=>formData.value[G.toUpperCase()],setFieldValue=(G,H)=>{formData.value[G.toUpperCase()]=H},getParentRegion=()=>{let G=regionMap.value[formConfig.value.params.parentCode+"-"+preTag.value];return G||regionMap.value[formConfig.value.params.parentCode]},getParentData=()=>{let G=getParentRegion();return G?G.getCurrentRecord():null},hide=G=>{fieldColumnMap.value[G].displayForm=!1},resetForm=G=>{var H;form.value.reset();for(let X in formData.value){let Q=formConfig.value.columns.filter(K=>K.field==X)[0];Q&&(G&&((H=Q.itemRender)!=null&&H.defaultValue)?formData.value[X]=Q.itemRender.defaultValue:["LONG","PLONG","DOUBLE"].includes(Q.dataType)&&(formData.value[X]=0))}},clearData=()=>{for(let G in formData.value)formData.value[G]=""},validateDataChg=()=>!XEUtils.isEqual(vue.toRaw(formData.value),vue.toRaw(formDataClone.value)),getRegion=G=>{let H=regionMap.value[G+"-"+preTag.value];return H||regionMap.value[G]},formInitData=async(G,H,X)=>{if(X){let Z={},ee={};formConfig.value.params.queryParams&&Object.keys(formConfig.value.params.queryParams).forEach(te=>{Z["PARAMS."+te.toUpperCase()]=formConfig.value.params.queryParams[te]}),formConfig.value.params.parentData&&Object.keys(formConfig.value.params.parentData).forEach(te=>{ee["PARENT."+te.toUpperCase()]=formConfig.value.params.parentData[te]}),await axios.post("window/defaultValue",$qs.stringify({_region_id:H})).then(te=>{if(te.data.result&&te.data.data)for(let ne in te.data.data){let re=te.data.data[ne]=="null"?null:te.data.data[ne],oe=formConfig.value.columns.filter(ae=>ae.field==ne)[0];oe&&["LONG","PLONG","DOUBLE"].includes(oe.dataType)&&(re=Number(re)),G[ne]=evalDefaultValue(re,{...G,...Z,...ee}),G[ne]&&(oe.itemRender.defaultValue=G[ne],onFieldChange({data:G,item:oe,property:ne}))}})}const Q=[],K=[];for(const Z of Object.keys(formSelectMap.value)){let ee=formSelectMap.value[Z];if(ee.displayForm){if(ee.dataType==="TREE")await axios.post("/window/selector",$qs.stringify({...G,_field_id:ee.id,_select_id:ee.selectorId})).then(te=>{te.data.result&&te.data.data&&(ee.itemRender.props.treeData=te.data.data,ee.itemRender.name=="ElCascader"&&(ee.itemRender.props.options=te.data.data),ee.itemRender.props.props||(ee.itemRender.props.props={}),ee.itemRender.props.props.label=(ne,re)=>ne.label||ne.title)});else if(ee.remoteSearch){ee.itemRender.options=[],ee.itemRender.props.remoteMethod=debounce(async ne=>{ne&&(ee.itemRender.props.loading=!0,ee.itemRender.options=await remoteMethod(ne,ee.id,ee.selectorId),ee.itemRender.props.loading=!1)},1e3);let te=G["_"+ee.field+"_NAME"];if(G[ee.field]&&te){ee.itemRender.options=await remoteMethod(te,ee.id,ee.selectorId);let ne=ee.itemRender.options;formConfig.value.openType==="new"&&ee.visible&&!G[ee.field]&&ne.length>0&&(G[ee.field]=ne[0].VALUE)}else G[ee.field]&&!te&&(ee.itemRender.options=await remoteMethod(G[ee.field],ee.id,ee.selectorId,"$_value"))}else if(typeof ee.selectorId<"u")ee.itemRender.props.loading=!0,Q.push(axios.post("window/selector",$qs.stringify({...G,_field_id:ee.id,_select_id:ee.selectorId}))),K.push(ee);else if(formConfig.value.openType==="new"&&ee.visible&&ee.editRender.options&&ee.editRender.options.length>0){if(G[ee.field]=="null"||G[ee.field]==null)G[ee.field]=null;else if(!G[ee.field]){G[ee.field]=ee.editRender.options[0].VALUE;let te={data:G,item:ee,property:ee.field};onFieldChange(te)}}}}await Promise.all(Q).then(Z=>{Z.forEach((ee,te)=>{let ne=K[te];if(ee.data.result&&ee.data.data){if(ne.itemRender.options=ee.data.data.map(re=>Object.assign({value:re.VALUE,label:re.NAME},re)),formConfig.value.openType==="new"&&ne.visible&&ee.data.data.length>0){if(G[ne.field]=="null"||G[ne.field]==null)G[ne.field]=null;else if(!G[ne.field]){G[ne.field]=ee.data.data[0].VALUE;let re={data:G,item:ne,property:ne.field};onFieldChange(re)}}ne.itemRender.props.loading=!1}})}),readonlyLogic()},remoteMethod=async(G,H,X,Q="$_f_value")=>{let K=[],Z={_region_id:formConfig.value.params._region_id,_field_id:H,_select_id:X};Z[Q]=G;let ee=await axios.post("/window/selector",$qs.stringify(Z));if(ee.data.result&&ee.data.data)return K=ee.data.data.map(te=>Object.assign({value:te.VALUE,label:te.NAME},te)),K},readonlyLogic=()=>{if(Object.keys(readOnlyColumnMap.value).length>0){let G=Object.keys(readOnlyColumnMap.value);for(let H=0;H<G.length;H++){let X=readOnlyColumnMap.value[G[H]],Q=Object.assign({},formData.value),K=displayLogic(X.itemRender.props.readonlyLogic,{...Q,...assembleParentData()});X.itemRender.props.readonly=K,(X.dataType==="LIST"||X.dataType==="TABLE"||X.dataType==="TREE"||X.dataType==="BOOL")&&(X.itemRender.props.disabled=K)}}},onFieldChange=G=>{var ee;let H=G.data[G.property],X=[];const Q=G.item.itemRender.props,K=Q._field_id,Z="_"+G.property+"_NAME";if(formSelectMap.value[K]){if(Q.dataType==="TREE"&&Q.treeData){let te=Q.treeData;if(G.item.itemRender.name=="ElCascader"&&H instanceof Array)Q.props.multiple?(formConfig.value.formData[G.property]=[],formConfig.value.formData[Z]="",H.forEach((ne,re)=>{ne.forEach((oe,ae)=>{let se=Object.assign({},getSelectedTreeDataOptionByValue(te,oe));ae==0?(X.findIndex(le=>le.value==oe)==-1&&X.push(se),formConfig.value.formData[Z]+=se.label):formConfig.value.formData[Z]+=`/${se.label}`}),re!=H.length-1&&(formConfig.value.formData[Z]+=","),formConfig.value.formData[G.property].push(ne[ne.length-1])})):(H=H[H.length-1],X=Object.assign({},getSelectedTreeDataOptionByValue(te,H)),Object.keys(X).length>0?(formConfig.value.formData[G.property]=X.value,formConfig.value.formData[Z]=X.label):H==null&&(formConfig.value.formData[G.property]="",formConfig.value.formData[Z]=""));else if(Q.multiple){if(H instanceof Array)formConfig.value.formData[G.property]=H,formConfig.value.formData[Z]="",H.forEach((ne,re)=>{let oe=Object.assign({},getSelectedTreeDataOptionByValue(te,ne));re==0?formConfig.value.formData[Z]=oe.label||oe.title:formConfig.value.formData[Z]+=`,${oe.label||oe.title}`});else if(X=Object.assign({},getSelectedTreeDataOptionByValue(te,H)),Object.keys(X).length>0)if(G.checked)formConfig.value.formData[Z]?formConfig.value.formData[Z].includes(X.label||X.title)||(formConfig.value.formData[Z]+=`,${X.label||X.title}`):formConfig.value.formData[Z]=X.label||X.title;else{let ne=formConfig.value.formData[Z].split(","),re=X.label||X.title;ne=ne.filter(oe=>oe!==re),formConfig.value.formData[Z]=ne.join(",")}}else X=Object.assign({},getSelectedTreeDataOptionByValue(te,H)),Object.keys(X).length>0?(formConfig.value.formData[G.property]=X.value,formConfig.value.formData[Z]=X.label||X.title):(formConfig.value.formData[G.property]="",formConfig.value.formData[Z]="")}else if(formSelectMap.value[K].itemRender.options){let te=formSelectMap.value[K].itemRender.options;if(formConfig.value.formData[Z]="",formSelectMap.value[K].itemRender.props.multiple)H&&H.forEach(ne=>{let re=te.filter(oe=>oe.value==ne)[0];re&&(formConfig.value.formData[Z]?formConfig.value.formData[Z]+=`,${re.label}`:formConfig.value.formData[Z]=re.label)});else if(H){const ne=te.filter(re=>re.value==H)[0];ne&&(X=ne,formConfig.value.formData[Z]=ne.label)}}}evalEvent(Q.changeFunction,H,X,"字段值更改方法"),readonlyLogic(),handleSelectTableField(G.property),(ee=formConfig.value.params.sqlLogicListenField)!=null&&ee.includes(G.property)&&subQueryFields.value.forEach(te=>{getSubQueryData(G.data._region_id,te.id,te.field)}),computeNewLine()},getSubQueryData=(G,H,X)=>{let Q={...formData.value,_region_id:G,_field_id:H};return Object.keys(Q).forEach(K=>{typeof Q[K]>"u"&&(Q[K]="")}),delete Q._button_id,delete Q._select_id,axios.post("window/getSubQueryValue",Q).then(K=>{K.data.result&&(formData.value[X]=K.data.value)})},onFieldEnter=(G,H)=>{if(H.key==="Enter"&&G.item.itemRender.props.enterFunction){let X=G.data[G.property];evalEvent(G.item.itemRender.props.enterFunction,X,"字段回车事件")}},onFieldClick=(G,H)=>{if(G.item.itemRender.props.clickFunction){let X=G.data[G.property];evalEvent(G.item.itemRender.props.clickFunction,X,G.field,"字段点击事件")}},onScanIconClick=G=>{if(G.itemRender.props.clickFunction){let H=formData.value[G.field];evalEvent(G.itemRender.props.clickFunction,H,G.field,"扫码图标点击事件")}},onIconInputEnter=(G,H)=>{H.key==="Enter"&&G.itemRender.props.enterFunction&&evalEvent(G.itemRender.props.enterFunction,formData.value[G.field],G.field,"图标输入框回车事件")},onIconClick=G=>{G.itemRender.props.iconClickFun&&evalEvent(G.itemRender.props.iconClickFun,formData.value[G.field],G.field,"图标输入框图标点击事件")},onIconInputChange=G=>{let H={data:formData.value,field:G.field,property:G.field,item:{itemRender:G.itemRender}};onFieldChange(H)},displayFormItem=(G,H)=>{let X=document.getElementById(G.toUpperCase());for(;X&&!X.className.split(" ").includes("vxe-form--item");)X=X.parentElement;X&&(X.style.display=H)};success||(success=(G,H)=>{$vxeMessage({content:G,status:H||"success",zIndex:3e3})}),error||(error=G=>{$ElMessage({message:G,type:"error",zIndex:3e3})});const assembleParentData=()=>{let G={},H=formConfig.value.type==="FORM"?getParentData():formConfig.value.params.parentData;return H&&Object.keys(H).forEach(X=>{G["parent."+X]=H[X]}),G},getSelectedTreeDataOptionByValue=(G,H)=>{let X;for(let Q=0;Q<G.length;Q++){if(G[Q].value===H){X=G[Q];break}if(G[Q].hasOwnProperty("children")&&(X=getSelectedTreeDataOptionByValue(G[Q].children,H),typeof X<"u"))break}return X},computeNewLine=()=>{let G=formConfig.value.columns.filter(H=>{if(H.displayForm){let X=!0;if(H.editRender.props.displayLogic){let Q={item:{itemRender:H.itemRender},data:formData.value};X=displayLogicEvent(Q)}if(X)return H.fwidth=H.fwidthOriginal,H.residue=void 0,H}});for(let[H,X]of G.entries())if(H>0){X.fwidth=X.fwidth?X.fwidth:12;let Q=G[H-1];Number(X.fwidth)>24?(X.aLine=!0,X.residue=0):(X.aLine=!1,X.residue=24-Number(X.fwidth),Q&&(Q.aLine||Q.residue-Number(X.fwidth)<0)||H==0?X.residue=24-Number(X.fwidth):Q.residue-Number(X.fwidth)>=0&&(X.residue=Q.residue-Number(X.fwidth))),(X.itemRender.props.newLine===!0||X.itemRender.props.newLine==="Y")&&(Q.fwidth=Number(Q.fwidth)+Number(Q.residue),Q.residue=0,X.residue=24-Number(X.fwidth))}else H==0&&(X.fwidth=X.fwidth?Number(X.fwidth):12,X.residue=X.fwidth>24?0:24-Number(X.fwidth))},getPictureList=async()=>{let G=await axios.post(`/dataFile/list/${uploadConfig.value.regionId}/${uploadConfig.value.dataId}`);return G.data.result&&G.data.list.length>0?(uploadConfig.value.fileList=G.data.list,!0):(formLoading.value=!1,!1)},updateFileDataId=G=>{let H=[];Object.values(fieldPreviewMap.value).forEach(X=>{X.forEach(Q=>{H.push(Q.id)})}),axios.post(`/dataFile/update/${G}`,{fileIds:H.toString()}).then(X=>{var Q;(Q=X==null?void 0:X.data)!=null&&Q.result||$message.error(X.msg)})},setFormSelectOption=(G,H=[])=>{let X=formConfig.value.columns.filter(Q=>Q.field==G.toUpperCase())[0];X&&(X.itemRender.options=H)},setFormItemProperty=(G,H,X)=>{let Q=formConfig.value.columns.filter(K=>K.field==G.toUpperCase())[0];Q&&(Q.itemRender.props[H]=X)},handleSelectTableField=G=>{const H=formConfig.value.params.selectTableField[G.toUpperCase()];H&&H.forEach(X=>{axios.post("/window/selector",$qs.stringify({...formData.value,_field_id:X._field_id,_select_id:X._select_id})).then(Q=>{Q.data.result&&Q.data.data&&(formSelectMap.value[X._field_id].dataType==="TREE"?(formSelectMap.value[X._field_id].itemRender.props.treeData=Q.data.data,formSelectMap.value[X._field_id].itemRender.name=="ElCascader"&&(formSelectMap.value[X._field_id].itemRender.props.options=Q.data.data)):(formSelectMap.value[X._field_id].itemRender.options=Q.data.data.map(K=>Object.assign({value:K.VALUE,label:K.NAME},K)),formData.value[formSelectMap.value[X._field_id].field]=null))})})},getTableFieldSelectData=G=>{let H=formConfig.value.columns.filter(Q=>Q.field==G.toUpperCase())[0],X=[];return H&&(X=H.itemRender.options),X},setFieldName=(G,H)=>{let X=formConfig.value.columns.filter(Q=>Q.field==G.toUpperCase())[0];if(X){const Q=X.itemRender.props.unitName?H+"("+X.itemRender.props.unitName+")":H;X.title=Q}},footerSum=()=>{},onEditorBtnClick=(G,H)=>{const X=localEditorViews[G.field],{state:Q}=X;if(H=="beautify")formData.value[G.field]=jsExports.js_beautify(formData.value[G.field],codeBeautifyConfig);else if(H=="checkAll"){let K=Q.doc.toString().length;const Z=Q.update({selection:EditorSelection.range(0,K),scrollIntoView:!0});X.dispatch(Z)}else if(H=="copy"){let K="";if(Q.selection.ranges.some(Z=>!Z.empty)){const Z=Q.selection.ranges[0];K=Q.sliceDoc(Z.from,Z.to)}else K=Q.doc.toString();navigator.clipboard.writeText(K),success("复制成功!")}else if(H=="clear")formData.value[G.field]="";else if(H=="swap"){let K=Q.doc.toString();K=codeTranslationV3(K),K=K.replaceAll("this.$data.","").replaceAll("this.$","").replaceAll("this.",""),formData.value[G.field]=K}else H=="full"&&(codemirrorDrawer.value=!0,codemirrorCol.value=G,codemirrorTitle.value=G.title);X.focus()},setFieldElement=(G,H)=>{let X=formConfig.value.columns.filter(Q=>Q.field==G.toUpperCase())[0];X&&(X.itemRender.name=H,H=="ElCheckbox"&&vue.nextTick(()=>{formData.value[G.toUpperCase()]=[]}))},setTitleWidth=G=>{formConfig.value.params.formTitleWidth=G},setFormGroup=G=>{if(G instanceof Array&&G.length>0){formConfig.value.params.setColumnsGroup=!0;let H=G.reduce((X,Q)=>X.concat(Q.children),[]);formConfig.value.columns.forEach(X=>{X.field&&!H.includes(X.field.toLowerCase())&&formConfig.value.params.columnsGroup[0].children.push(X)}),G.forEach(X=>{let Q={title:X.title,children:[]};formConfig.value.columns.forEach(K=>{K.field&&X.children.includes(K.field.toLowerCase())&&Q.children.push(K)}),formConfig.value.params.columnsGroup.push(Q)})}},formItemTitleRefs=vue.ref({}),handleSetFormItemTitleRef=(G,H)=>{G&&(formItemTitleRefs.value[H]=G)},formItemTitleComponent=vue.shallowRef({}),setFormSlotsVuePath=async(G,H)=>{formConfig.value.params.slotsVuePath||(formConfig.value.params.slotsVuePath={}),H=H.toUpperCase(),formItemTitleComponent.value[H]=(await $components[`${$componentsPath}/${G}`]()).default,formItemTitleComponent.value[H]&&(formConfig.value.params.slotsVuePath[`form_item_title-${H}`]=G,formConfig.value.columns.forEach(X=>{if(X.field==H){X.slotsTitle=!0;return}}),await vue.nextTick(),await form.value.updateStatus({field:H}),form.value.clearValidate(H),regionMap.value[`form_item_title-${H}-${formConfig.value.params.code}-${formConfig.value.params.preTag}`]=formItemTitleRefs.value[H],regionMap.value[`form_item_title-${H}-${formConfig.value.params.code}`]=formItemTitleRefs.value[H])},addExtraFormItem=(G,H,X={})=>{if(G=G.toUpperCase(),formConfig.value.columns.findIndex(ee=>ee.field==G)>=0)return;let K={field:G,className:G,dataType:"STRING",title:H,visible:!0,displayForm:!0,events:{},colType:"showInForm",fwidth:12,width:null,id:"",minWidth:100,extra:!0},Z={name:"ElInput",props:{type:"text",openLabel:"是",closeLabel:"否",activeValue:"Y",inactiveValue:"N",readonly:!0,readonlyLogic:null,disabled:!1,displayLogic:null,notnullLogic:null,changeFunction:null,enterFunction:null,clickFunction:null,dataType:"STRING",clearable:!0,multiple:!1,unitName:null,format:null,filterColumn:null,sqlLogicListenField:null,newLine:!1,_field_id:"",_select_id:null,name:G,notNull:!0,maxlength:50,size:"default"},attrs:{id:G},events:{}};Object.assign(Z.props,X),K.itemRender=Z,K.editRender=Z,formConfig.value.columns.push(K),formData.value[G]=""},setPictureUploadConfig=G=>{formConfig.value.params.pictureUploadConfig=G},onloadFile=()=>{formDataClone.value=XEUtils.clone(vue.toRaw(formData.value),!0)},setButtonDisplay=(G,H)=>{formConfig.value.toolbarConfig.buttons.forEach(X=>{if(X.name==G){X.visible=H;return}})},throwFunction=G=>{G.getData=()=>getData(),G.submitData=()=>submitData(),G.getValue=H=>getValue(H),G.setValue=(H,X,Q)=>setValue(H,X,Q),G.checkSubmitData=()=>checkSubmitData(),G.searchData=H=>searchData(H),G.search=H=>searchData(H),G.displayFormItem=(H,X)=>displayFormItem(H,X),G.resetForm=()=>resetForm(),G.clearData=()=>clearData(),G.setFieldName=(H,X)=>setFieldName(H,X),G.setFormItemProperty=(H,X,Q)=>setFormItemProperty(H,X,Q),G.getTableFieldSelectData=H=>getTableFieldSelectData(H),G.setFormSelectOption=(H,X)=>setFormSelectOption(H,X),G.closeDrawer=()=>{closeDrawer()},G.closePreModal=()=>{closePreModal&&closePreModal()}};return __expose({submitData,validateDataChg,getValue,getRegion,getData}),(G,H)=>{const X=vue.resolveComponent("el-icon"),Q=vue.resolveComponent("el-button"),K=vue.resolveComponent("el-input"),Z=vue.resolveComponent("vxe-form-item"),ee=vue.resolveComponent("vxe-form-group"),te=vue.resolveComponent("vxe-form"),ne=vue.resolveComponent("el-dialog"),re=vue.resolveComponent("el-drawer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l7,[vue.unref(formConfig).type==="FORM"?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"form-header-box",style:vue.normalizeStyle(computeOnlyShowBtn.value&&vue.unref(formConfig).params.buttonPosition.includes("TOP")?"height: 100%":"")},[vue.unref(formConfig).params.showTitle?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$l1,vue.toDisplayString(vue.unref($T)(vue.unref(formConfig).params.windowTitle)),1)):vue.createCommentVNode("",!0),buttons.value.length>0&&vue.unref(formConfig).params.buttonPosition.includes("TOP")?(vue.openBlock(),vue.createElementBlock("div",{key:1,class:"form-buttons",style:vue.normalizeStyle(computeOptBtnStyle.value("top"))},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(buttons.value,oe=>(vue.openBlock(),vue.createBlock(Q,{key:oe.id,"auto-insert-space":"",style:vue.normalizeStyle("margin: 2px 2px 2px 2px;"+oe.css),type:"primary",loading:oe.loading,size:vue.unref(formConfig).params.elComponentSize,onClick:ae=>btnClickFun(oe)},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(" "+vue.toDisplayString(vue.unref($T)(oe.name)),1)]),_:2},[oe.iconComponent?{name:"icon",fn:vue.withCtx(()=>[vue.createVNode(X,{size:"15",style:{verticalAlign:"middle"}},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(oe.iconComponent)))]),_:2},1024)]),key:"0"}:void 0]),1032,["style","loading","size","onClick"]))),128))],4)):vue.createCommentVNode("",!0)],4)):vue.createCommentVNode("",!0),vue.createVNode(te,{ref_key:"form",ref:form,data:vue.unref(formData),rules:editRules.value,loading:vue.unref(formLoading),"title-align":"right","title-width":computeTitleWidth.value,class:vue.normalizeClass({"single-row":vue.unref(formConfig).params.singleRow})},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(formConfig).params.columnsGroup,oe=>(vue.openBlock(),vue.createBlock(ee,{span:"24",title:oe.title,"content-class-name":oe.title?"vxe-form--group-content-border":"","title-bold":"",vertical:""},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(computeItemGroup.value(oe),ae=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:ae.title},[ae.colType!=="showInGrid"?(vue.openBlock(),vue.createBlock(Z,{key:0,field:ae.field,title:computeItemTitle.value(ae),"title-overflow":"tooltip",span:computeSpan.value(ae),"item-render":ae.itemRender,"title-prefix":ae.titlePrefix,visible:ae.displayForm,style:vue.normalizeStyle(ae.style),"class-name":computeItemClass.value(ae),"visible-method":ae.editRender.props.displayLogic?displayLogicEvent:null},vue.createSlots({_:2},[ae.dataType==="EDITOR"?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(vue.unref(T$2),{modelValue:vue.unref(formData)[ae.field],"onUpdate:modelValue":se=>vue.unref(formData)[ae.field]=se,extensions:[getCodeLanguagePlugin(ae.language),vue.unref(EditorView).lineWrapping],onReady:se=>handleReady(ae.field,se),onFocus:se=>vue.isRef(editorFocusField)?editorFocusField.value=ae.field:editorFocusField=ae.field,"auto-destroy":""},null,8,["modelValue","onUpdate:modelValue","extensions","onReady","onFocus"]),vue.createElementVNode("div",{class:"editor-operation-btn",style:vue.normalizeStyle(computeEditorBtnStyle.value(ae.field))},[ae.language=="javascript"?(vue.openBlock(),vue.createElementBlock("i",{key:0,title:"美化",class:"iconfont icon-magic-stick",onClick:se=>onEditorBtnClick(ae,"beautify")},null,8,_hoisted_3$hZ)):vue.createCommentVNode("",!0),vue.createElementVNode("i",{title:"全选",class:"iconfont icon-check-square",onClick:se=>onEditorBtnClick(ae,"checkAll")},null,8,_hoisted_4$ay),vue.createElementVNode("i",{title:"复制",class:"iconfont icon-document-copy",onClick:se=>onEditorBtnClick(ae,"copy")},null,8,_hoisted_5$4W),vue.createElementVNode("i",{title:"清空",class:"iconfont icon-clear",onClick:se=>onEditorBtnClick(ae,"clear")},null,8,_hoisted_6$1$),ae.language=="javascript"?(vue.openBlock(),vue.createElementBlock("i",{key:1,title:"组合式API转换",class:"iconfont icon-swap",onClick:se=>onEditorBtnClick(ae,"swap")},null,8,_hoisted_7$12)):vue.createCommentVNode("",!0),vue.createElementVNode("i",{title:"放大",class:"iconfont icon-full-screen",onClick:se=>onEditorBtnClick(ae,"full")},null,8,_hoisted_8$F)],4)]),key:"0"}:ae.dataType==="STRING"&&ae.canScan===!0?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(K,vue.mergeProps({modelValue:vue.unref(formData)[ae.field],"onUpdate:modelValue":se=>vue.unref(formData)[ae.field]=se},{ref_for:!0},ae.itemRender.props,{onKeyup:se=>onIconInputEnter(ae,se),onChange:se=>onIconInputChange(ae)}),{suffix:vue.withCtx(()=>[vue.createElementVNode("i",{class:"iconfont icon-scan1",onClick:se=>onScanIconClick(ae),style:{cursor:"pointer"}},null,8,_hoisted_9$m)]),_:2},1040,["modelValue","onUpdate:modelValue","onKeyup","onChange"])]),key:"1"}:ae.itemRender.props.suffixIconfont||ae.itemRender.props.prefixIconfont?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(K,vue.mergeProps({modelValue:vue.unref(formData)[ae.field],"onUpdate:modelValue":se=>vue.unref(formData)[ae.field]=se},{ref_for:!0},ae.itemRender.props,{clearable:!1,onKeyup:se=>onIconInputEnter(ae,se),onChange:se=>onIconInputChange(ae)}),vue.createSlots({_:2},[ae.itemRender.props.suffixIconfont?{name:"suffix",fn:vue.withCtx(()=>[vue.createElementVNode("i",{class:vue.normalizeClass("iconfont "+ae.itemRender.props.suffixIconfont),onClick:se=>onIconClick(ae),style:{cursor:"pointer"}},null,10,_hoisted_10$q)]),key:"0"}:ae.itemRender.props.prefixIconfont?{name:"prefix",fn:vue.withCtx(()=>[vue.createElementVNode("i",{class:vue.normalizeClass("iconfont "+ae.itemRender.props.prefixIconfont),onClick:se=>onIconClick(ae),style:{cursor:"pointer"}},null,10,_hoisted_11$g)]),key:"1"}:void 0]),1040,["modelValue","onUpdate:modelValue","onKeyup","onChange"])]),key:"2"}:ae.dataType==="IMG"?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(vue.unref(PictureUpload),{uploadConfig:vue.unref(uploadConfig),fieldId:ae.id,field:ae.field,colProps:ae.itemRender.props,fileFormData:vue.unref(formData)[ae.field],"onUpdate:fileFormData":se=>vue.unref(formData)[ae.field]=se,filePreviewList:vue.unref(fieldPreviewMap)[ae.field],"onUpdate:filePreviewList":se=>vue.unref(fieldPreviewMap)[ae.field]=se},null,8,["uploadConfig","fieldId","field","colProps","fileFormData","onUpdate:fileFormData","filePreviewList","onUpdate:filePreviewList"])]),key:"3"}:ae.dataType==="FILE"?{name:"default",fn:vue.withCtx(()=>[vue.createVNode(vue.unref(FileUpload),{uploadConfig:vue.unref(uploadConfig),fieldId:ae.id,field:ae.field,colProps:ae.itemRender.props,fileFormData:vue.unref(formData)[ae.field],"onUpdate:fileFormData":se=>vue.unref(formData)[ae.field]=se,filePreviewList:vue.unref(fieldPreviewMap)[ae.field],"onUpdate:filePreviewList":se=>vue.unref(fieldPreviewMap)[ae.field]=se,uploadFinished:vue.unref(fileUploadFinishedMap)[ae.field],"onUpdate:uploadFinished":se=>vue.unref(fileUploadFinishedMap)[ae.field]=se,onOnload:onloadFile},null,8,["uploadConfig","fieldId","field","colProps","fileFormData","onUpdate:fileFormData","filePreviewList","onUpdate:filePreviewList","uploadFinished","onUpdate:uploadFinished"])]),key:"4"}:void 0,ae.slotsTitle?{name:"title",fn:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(formItemTitleComponent.value[ae.field]),{ref_for:!0,ref:se=>handleSetFormItemTitleRef(se,ae.field)},null,512))]),key:"5"}:void 0]),1032,["field","title","span","item-render","title-prefix","visible","style","class-name","visible-method"])):vue.createCommentVNode("",!0)],64))),128))]),_:2},1032,["title","content-class-name"]))),256)),vue.unref(formConfig).type==="FORM"&&buttons.value.length>0&&vue.unref(formConfig).params.buttonPosition.includes("BOTTOM")?(vue.openBlock(),vue.createBlock(Z,{key:0,align:computeOptBtnStyle.value("bottom"),span:"24"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(buttons.value,oe=>(vue.openBlock(),vue.createBlock(Q,{key:oe.id,"auto-insert-space":"",style:vue.normalizeStyle("margin: 2px 2px 2px 2px;"+oe.css),type:"primary",size:vue.unref(formConfig).params.elComponentSize,loading:oe.loading,onClick:ae=>btnClickFun(oe)},vue.createSlots({default:vue.withCtx(()=>[vue.createTextVNode(" "+vue.toDisplayString(vue.unref($T)(oe.name)),1)]),_:2},[oe.iconComponent?{name:"icon",fn:vue.withCtx(()=>[vue.createVNode(X,{size:"15",style:{verticalAlign:"middle"}},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(oe.iconComponent)))]),_:2},1024)]),key:"0"}:void 0]),1032,["style","size","loading","onClick"]))),128))]),_:1},8,["align"])):vue.createCommentVNode("",!0)]),_:1},8,["data","rules","loading","title-width","class"]),vue.createVNode(ne,{ref:"pictureUploadModal",width:"20%",modelValue:vue.unref(uploadConfig).show,"onUpdate:modelValue":H[0]||(H[0]=oe=>vue.unref(uploadConfig).show=oe),"z-index":1e3,draggable:"","append-to-body":"","close-on-press-escape":"","destroy-on-close":"",title:vue.unref($T)("图片上传")},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(PictureUpload),{uploadConfig:vue.unref(uploadConfig)},null,8,["uploadConfig"])]),_:1},8,["modelValue","title"]),vue.createVNode(re,{modelValue:vue.unref(codemirrorDrawer),"onUpdate:modelValue":H[3]||(H[3]=oe=>vue.isRef(codemirrorDrawer)?codemirrorDrawer.value=oe:codemirrorDrawer=oe),title:vue.unref(codemirrorTitle),direction:"rtl",class:"codemirror-drawer"},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(T$2),{modelValue:vue.unref(formData)[vue.unref(codemirrorCol).field],"onUpdate:modelValue":H[1]||(H[1]=oe=>vue.unref(formData)[vue.unref(codemirrorCol).field]=oe),extensions:[getCodeLanguagePlugin(vue.unref(codemirrorCol).language),vue.unref(EditorView).lineWrapping],onFocus:H[2]||(H[2]=oe=>vue.isRef(editorFocusField)?editorFocusField.value=vue.unref(codemirrorCol).field:editorFocusField=vue.unref(codemirrorCol).field),"auto-destroy":""},null,8,["modelValue","extensions"])]),_:1},8,["modelValue","title"])])}}},WindowForm=_export_sfc(_sfc_main$k,[["__scopeId","data-v-27356e46"]]);WindowForm.name="slw-window-form",WindowForm.install=G=>{G.component(WindowForm.name,WindowForm)};const Se={__name:"splitpanes",props:{horizontal:{type:Boolean},pushOtherPanes:{type:Boolean,default:!0},dblClickSplitter:{type:Boolean,default:!0},rtl:{type:Boolean,default:!1},firstSplitter:{type:Boolean}},emits:["ready","resize","resized","pane-click","pane-maximize","pane-add","pane-remove","splitter-click"],setup(G,{emit:H}){const X=H,Q=G,K=vue.useSlots(),Z=vue.ref([]),ee=vue.computed(()=>Z.value.reduce((Le,Ue)=>(Le[~~Ue.id]=Ue)&&Le,{})),te=vue.computed(()=>Z.value.length),ne=vue.ref(null),re=vue.ref(!1),oe=vue.ref({mouseDown:!1,dragging:!1,activeSplitter:null,cursorOffset:0}),ae=vue.ref({splitter:null,timeoutId:null}),se=vue.computed(()=>({[`splitpanes splitpanes--${Q.horizontal?"horizontal":"vertical"}`]:!0,"splitpanes--dragging":oe.value.dragging})),le=()=>{document.addEventListener("mousemove",ue,{passive:!1}),document.addEventListener("mouseup",he),"ontouchstart"in window&&(document.addEventListener("touchmove",ue,{passive:!1}),document.addEventListener("touchend",he))},ce=()=>{document.removeEventListener("mousemove",ue,{passive:!1}),document.removeEventListener("mouseup",he),"ontouchstart"in window&&(document.removeEventListener("touchmove",ue,{passive:!1}),document.removeEventListener("touchend",he))},de=(Le,Ue)=>{const Ie=Le.target.closest(".splitpanes__splitter");if(Ie){const{left:Ve,top:ze}=Ie.getBoundingClientRect(),{clientX:We,clientY:Xe}="ontouchstart"in window&&Le.touches?Le.touches[0]:Le;oe.value.cursorOffset=Q.horizontal?Xe-ze:We-Ve}le(),oe.value.mouseDown=!0,oe.value.activeSplitter=Ue},ue=Le=>{oe.value.mouseDown&&(Le.preventDefault(),oe.value.dragging=!0,requestAnimationFrame(()=>{we(me(Le)),X("resize",Z.value.map(Ue=>({min:Ue.min,max:Ue.max,size:Ue.size})))}))},he=()=>{oe.value.dragging&&X("resized",Z.value.map(Le=>({min:Le.min,max:Le.max,size:Le.size}))),oe.value.mouseDown=!1,setTimeout(()=>{oe.value.dragging=!1,ce()},100)},fe=(Le,Ue)=>{"ontouchstart"in window&&(Le.preventDefault(),Q.dblClickSplitter&&(ae.value.splitter===Ue?(clearTimeout(ae.value.timeoutId),ae.value.timeoutId=null,pe(Le,Ue),ae.value.splitter=null):(ae.value.splitter=Ue,ae.value.timeoutId=setTimeout(()=>ae.value.splitter=null,500)))),oe.value.dragging||X("splitter-click",Z.value[Ue])},pe=(Le,Ue)=>{let Ie=0;Z.value=Z.value.map((Ve,ze)=>(Ve.size=ze===Ue?Ve.max:Ve.min,ze!==Ue&&(Ie+=Ve.min),Ve)),Z.value[Ue].size-=Ie,X("pane-maximize",Z.value[Ue]),X("resized",Z.value.map(Ve=>({min:Ve.min,max:Ve.max,size:Ve.size})))},ve=(Le,Ue)=>{X("pane-click",ee.value[Ue])},me=Le=>{const Ue=ne.value.getBoundingClientRect(),{clientX:Ie,clientY:Ve}="ontouchstart"in window&&Le.touches?Le.touches[0]:Le;return{x:Ie-(Q.horizontal?0:oe.value.cursorOffset)-Ue.left,y:Ve-(Q.horizontal?oe.value.cursorOffset:0)-Ue.top}},ge=Le=>{Le=Le[Q.horizontal?"y":"x"];const Ue=ne.value[Q.horizontal?"clientHeight":"clientWidth"];return Q.rtl&&!Q.horizontal&&(Le=Ue-Le),Le*100/Ue},we=Le=>{const Ue=oe.value.activeSplitter;let Ie={prevPanesSize:Ee(Ue),nextPanesSize:xe(Ue),prevReachedMinPanes:0,nextReachedMinPanes:0};const Ve=0+(Q.pushOtherPanes?0:Ie.prevPanesSize),ze=100-(Q.pushOtherPanes?0:Ie.nextPanesSize),We=Math.max(Math.min(ge(Le),ze),Ve);let Xe=[Ue,Ue+1],He=Z.value[Xe[0]]||null,qe=Z.value[Xe[1]]||null;const at=He.max<100&&We>=He.max+Ie.prevPanesSize,st=qe.max<100&&We<=100-(qe.max+xe(Ue+1));if(at||st){at?(He.size=He.max,qe.size=Math.max(100-He.max-Ie.prevPanesSize-Ie.nextPanesSize,0)):(He.size=Math.max(100-qe.max-Ie.prevPanesSize-xe(Ue+1),0),qe.size=qe.max);return}if(Q.pushOtherPanes){const Ke=$e(Ie,We);if(!Ke)return;({sums:Ie,panesToResize:Xe}=Ke),He=Z.value[Xe[0]]||null,qe=Z.value[Xe[1]]||null}He!==null&&(He.size=Math.min(Math.max(We-Ie.prevPanesSize-Ie.prevReachedMinPanes,He.min),He.max)),qe!==null&&(qe.size=Math.min(Math.max(100-We-Ie.nextPanesSize-Ie.nextReachedMinPanes,qe.min),qe.max))},$e=(Le,Ue)=>{const Ie=oe.value.activeSplitter,Ve=[Ie,Ie+1];return Ue<Le.prevPanesSize+Z.value[Ve[0]].min&&(Ve[0]=Me(Ie).index,Le.prevReachedMinPanes=0,Ve[0]<Ie&&Z.value.forEach((ze,We)=>{We>Ve[0]&&We<=Ie&&(ze.size=ze.min,Le.prevReachedMinPanes+=ze.min)}),Le.prevPanesSize=Ee(Ve[0]),Ve[0]===void 0)?(Le.prevReachedMinPanes=0,Z.value[0].size=Z.value[0].min,Z.value.forEach((ze,We)=>{We>0&&We<=Ie&&(ze.size=ze.min,Le.prevReachedMinPanes+=ze.min)}),Z.value[Ve[1]].size=100-Le.prevReachedMinPanes-Z.value[0].min-Le.prevPanesSize-Le.nextPanesSize,null):Ue>100-Le.nextPanesSize-Z.value[Ve[1]].min&&(Ve[1]=De(Ie).index,Le.nextReachedMinPanes=0,Ve[1]>Ie+1&&Z.value.forEach((ze,We)=>{We>Ie&&We<Ve[1]&&(ze.size=ze.min,Le.nextReachedMinPanes+=ze.min)}),Le.nextPanesSize=xe(Ve[1]-1),Ve[1]===void 0)?(Le.nextReachedMinPanes=0,Z.value.forEach((ze,We)=>{We<te.value-1&&We>=Ie+1&&(ze.size=ze.min,Le.nextReachedMinPanes+=ze.min)}),Z.value[Ve[0]].size=100-Le.prevPanesSize-xe(Ve[0]-1),null):{sums:Le,panesToResize:Ve}},Ee=Le=>Z.value.reduce((Ue,Ie,Ve)=>Ue+(Ve<Le?Ie.size:0),0),xe=Le=>Z.value.reduce((Ue,Ie,Ve)=>Ue+(Ve>Le+1?Ie.size:0),0),Me=Le=>[...Z.value].reverse().find(Ue=>Ue.index<Le&&Ue.size>Ue.min)||{},De=Le=>Z.value.find(Ue=>Ue.index>Le+1&&Ue.size>Ue.min)||{},ke=()=>{var Le;Array.from(((Le=ne.value)==null?void 0:Le.children)||[]).forEach(Ue=>{const Ie=Ue.classList.contains("splitpanes__pane"),Ve=Ue.classList.contains("splitpanes__splitter");!Ie&&!Ve&&(Ue.remove(),console.warn("Splitpanes: Only <pane> elements are allowed at the root of <splitpanes>. One of your DOM nodes was removed."))})},Oe=(Le,Ue,Ie=!1)=>{const Ve=Le-1,ze=document.createElement("div");ze.classList.add("splitpanes__splitter"),Ie||(ze.onmousedown=We=>de(We,Ve),typeof window<"u"&&"ontouchstart"in window&&(ze.ontouchstart=We=>de(We,Ve)),ze.onclick=We=>fe(We,Ve+1)),Q.dblClickSplitter&&(ze.ondblclick=We=>pe(We,Ve+1)),Ue.parentNode.insertBefore(ze,Ue)},Ne=Le=>{Le.onmousedown=void 0,Le.onclick=void 0,Le.ondblclick=void 0,Le.remove()},_e=()=>{var Le;const Ue=Array.from(((Le=ne.value)==null?void 0:Le.children)||[]);Ue.forEach(Ve=>{Ve.className.includes("splitpanes__splitter")&&Ne(Ve)});let Ie=0;Ue.forEach(Ve=>{Ve.className.includes("splitpanes__pane")&&(!Ie&&Q.firstSplitter?Oe(Ie,Ve,!0):Ie&&Oe(Ie,Ve),Ie++)})},ye=({uid:Le,...Ue})=>{const Ie=ee.value[Le];Object.entries(Ue).forEach(([Ve,ze])=>Ie[Ve]=ze)},Ce=Le=>{var Ue;let Ie=-1;Array.from(((Ue=ne.value)==null?void 0:Ue.children)||[]).some(Ve=>(Ve.className.includes("splitpanes__pane")&&Ie++,Ve.isSameNode(Le.el))),Z.value.splice(Ie,0,{...Le,index:Ie}),Z.value.forEach((Ve,ze)=>Ve.index=ze),re.value&&vue.nextTick(()=>{_e(),Te({addedPane:Z.value[Ie]}),X("pane-add",{index:Ie,panes:Z.value.map(Ve=>({min:Ve.min,max:Ve.max,size:Ve.size}))})})},be=Le=>{const Ue=Z.value.findIndex(Ve=>Ve.id===Le),Ie=Z.value.splice(Ue,1)[0];Z.value.forEach((Ve,ze)=>Ve.index=ze),vue.nextTick(()=>{_e(),Te({removedPane:{...Ie}}),X("pane-remove",{removed:Ie,panes:Z.value.map(Ve=>({min:Ve.min,max:Ve.max,size:Ve.size}))})})},Te=(Le={})=>{!Le.addedPane&&!Le.removedPane?Re():Z.value.some(Ue=>Ue.givenSize!==null||Ue.min||Ue.max<100)?Fe(Le):Ae(),re.value&&X("resized",Z.value.map(Ue=>({min:Ue.min,max:Ue.max,size:Ue.size})))},Ae=()=>{const Le=100/te.value;let Ue=0;const Ie=[],Ve=[];Z.value.forEach(ze=>{ze.size=Math.max(Math.min(Le,ze.max),ze.min),Ue-=ze.size,ze.size>=ze.max&&Ie.push(ze.id),ze.size<=ze.min&&Ve.push(ze.id)}),Ue>.1&&Be(Ue,Ie,Ve)},Re=()=>{let Le=100;const Ue=[],Ie=[];let Ve=0;Z.value.forEach(We=>{Le-=We.size,We.givenSize!==null&&Ve++,We.size>=We.max&&Ue.push(We.id),We.size<=We.min&&Ie.push(We.id)});let ze=100;Le>.1&&(Z.value.forEach(We=>{We.givenSize===null&&(We.size=Math.max(Math.min(Le/(te.value-Ve),We.max),We.min)),ze-=We.size}),ze>.1&&Be(ze,Ue,Ie))},Fe=({addedPane:Le,removedPane:Ue}={})=>{let Ie=100/te.value,Ve=0;const ze=[],We=[];((Le==null?void 0:Le.givenSize)??null)!==null&&(Ie=(100-Le.givenSize)/(te.value-1).value),Z.value.forEach(Xe=>{Ve-=Xe.size,Xe.size>=Xe.max&&ze.push(Xe.id),Xe.size<=Xe.min&&We.push(Xe.id)}),!(Math.abs(Ve)<.1)&&(Z.value.forEach(Xe=>{(Le==null?void 0:Le.givenSize)!==null&&(Le==null?void 0:Le.id)===Xe.id||(Xe.size=Math.max(Math.min(Ie,Xe.max),Xe.min)),Ve-=Xe.size,Xe.size>=Xe.max&&ze.push(Xe.id),Xe.size<=Xe.min&&We.push(Xe.id)}),Ve>.1&&Be(Ve,ze,We))},Be=(Le,Ue,Ie)=>{let Ve;Le>0?Ve=Le/(te.value-Ue.length):Ve=Le/(te.value-Ie.length),Z.value.forEach((ze,We)=>{if(Le>0&&!Ue.includes(ze.id)){const Xe=Math.max(Math.min(ze.size+Ve,ze.max),ze.min),He=Xe-ze.size;Le-=He,ze.size=Xe}else if(!Ie.includes(ze.id)){const Xe=Math.max(Math.min(ze.size+Ve,ze.max),ze.min),He=Xe-ze.size;Le-=He,ze.size=Xe}}),Math.abs(Le)>.1&&vue.nextTick(()=>{re.value&&console.warn("Splitpanes: Could not resize panes correctly due to their constraints.")})};vue.watch(()=>Q.firstSplitter,()=>_e()),vue.watch(()=>Q.dblClickSplitter,Le=>{[...ne.value.querySelectorAll(".splitpanes__splitter")].forEach((Ue,Ie)=>{Ue.ondblclick=Le?Ve=>pe(Ve,Ie):void 0})}),vue.onBeforeUnmount(()=>re.value=!1),vue.onMounted(()=>{ke(),_e(),Te(),X("ready"),re.value=!0});const je=()=>{var Le;return vue.h("div",{ref:ne,class:se.value},(Le=K.default)==null?void 0:Le.call(K))};return vue.provide("panes",Z),vue.provide("indexedPanes",ee),vue.provide("horizontal",vue.computed(()=>Q.horizontal)),vue.provide("requestUpdate",ye),vue.provide("onPaneAdd",Ce),vue.provide("onPaneRemove",be),vue.provide("onPaneClick",ve),(Le,Ue)=>(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(je)))}},Pe={__name:"pane",props:{size:{type:[Number,String]},minSize:{type:[Number,String],default:0},maxSize:{type:[Number,String],default:100}},setup(G){var H;const X=G,Q=vue.inject("requestUpdate"),K=vue.inject("onPaneAdd"),Z=vue.inject("horizontal"),ee=vue.inject("onPaneRemove"),te=vue.inject("onPaneClick"),ne=(H=vue.getCurrentInstance())==null?void 0:H.uid,re=vue.inject("indexedPanes"),oe=vue.computed(()=>re.value[ne]),ae=vue.ref(null),se=vue.computed(()=>{const ue=isNaN(X.size)||X.size===void 0?0:parseFloat(X.size);return Math.max(Math.min(ue,ce.value),le.value)}),le=vue.computed(()=>{const ue=parseFloat(X.minSize);return isNaN(ue)?0:ue}),ce=vue.computed(()=>{const ue=parseFloat(X.maxSize);return isNaN(ue)?100:ue}),de=vue.computed(()=>{var ue;return`${Z.value?"height":"width"}: ${(ue=oe.value)==null?void 0:ue.size}%`});return vue.onMounted(()=>{K({id:ne,el:ae.value,min:le.value,max:ce.value,givenSize:X.size===void 0?null:se.value,size:se.value})}),vue.watch(()=>se.value,ue=>Q({uid:ne,size:ue})),vue.watch(()=>le.value,ue=>Q({uid:ne,min:ue})),vue.watch(()=>ce.value,ue=>Q({uid:ne,max:ue})),vue.onBeforeUnmount(()=>ee(ne)),(ue,he)=>(vue.openBlock(),vue.createElementBlock("div",{ref_key:"paneEl",ref:ae,class:"splitpanes__pane",onClick:he[0]||(he[0]=fe=>vue.unref(te)(fe,ue._.uid)),style:vue.normalizeStyle(de.value)},[vue.renderSlot(ue.$slots,"default")],4))}},_sfc_main$j={__name:"window-layout",props:{layoutData:{type:Object,require:!0}},emits:["update:layoutData"],setup(G,{expose:H,emit:X}){const Q=X,K=G,Z=vue.inject("$t"),ee=vue.inject("$regionMap");let te=useVModel$1(K,"layoutData",Q),ne=vue.ref(0);const re=vue.ref(),oe=vue.ref(),ae=vue.ref(),se=vue.ref(),le=useDebounceFn$1(he=>{ce(he)},100),ce=he=>{if(he){if(te.value.child[0].splitRate=he[0].size/100,te.value.mode==="vertical"&&te.value.child&&te.value.child.length===2&&te.value.child[0].gridData){let fe=te.value.child[0].gridData.params.curHeight-te.value.height*te.value.splitRate;te.value.child[0].gridData.params.curHeight=te.value.height*te.value.splitRate,te.value.child[0].height=te.value.child[0].gridData.params.curHeight,Number(te.value.child[0].gridData.params.curHeight)!==Number(ne.value)&&de(te.value.child[1],fe),ne.value=Number(te.value.child[0].gridData.params.curHeight)}te.value.mode==="horizontal"&&te.value.child.forEach((fe,pe)=>{fe.gridData&&(fe.gridData.params.singleRow=!1,fe.gridData.type=="FORM"&&he[pe].size<=he[pe].min+5&&(fe.gridData.params.singleRow=!0))})}},de=(he,fe)=>{if(he.gridData)he.gridData.params.curHeight+=fe,he.height+=fe;else{he.height+=fe;for(let pe=0;pe<he.child.length;pe++)de(he.child[pe],fe)}},ue=(he,fe)=>{var pe;(pe=oe.value)==null||pe.gridReload(he,fe)};return vue.onMounted(()=>{te.value.gridData&&(!te.value.child||te.value.child.length===0)&&(te.value.gridData.type=="LINK"||te.value.gridData.type=="COMPONENT"&&te.value.gridData.componentType=="VUE")&&(ee.value[te.value.gridData.params.code+"-"+te.value.gridData.params.preTag]=ae.value,ee.value[te.value.gridData.params.code]=ae.value)}),H({gridReload:ue}),(he,fe)=>{const pe=vue.resolveComponent("window-layout",!0),ve=vue.resolveComponent("el-tab-pane"),me=vue.resolveComponent("el-tabs");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["slw-window-layout-container",{"ban-drag":vue.unref(te).banLayoutDrag}])},[vue.unref(te).child&&vue.unref(te).child.length>0&&vue.unref(te).mode!=="tab"?(vue.openBlock(),vue.createBlock(vue.unref(Se),{key:0,class:"default-theme",horizontal:vue.unref(te).mode!=="horizontal","push-other-panes":!1,style:{backgroundColor:"#fff"},onResize:vue.unref(le)},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(te).child,(ge,we)=>(vue.openBlock(),vue.createBlock(vue.unref(Pe),{key:ge.id,style:vue.normalizeStyle(ge.css),size:ge.splitRate*100,"min-size":ge.gridData&&ge.gridData.type==="FORM"?10:0},{default:vue.withCtx(()=>[ge.mode==="tab"?(vue.openBlock(),vue.createBlock(me,{type:"border-card",key:ge.id},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ge.child,($e,Ee)=>(vue.openBlock(),vue.createBlock(ve,{key:$e.id,tab:vue.unref(Z)($e.name),label:vue.unref(Z)($e.name),title:vue.unref(Z)($e.name),forceRender:!0},{default:vue.withCtx(()=>[vue.createVNode(pe,{"layout-data":ge.child[Ee],"onUpdate:layoutData":xe=>ge.child[Ee]=xe},null,8,["layout-data","onUpdate:layoutData"])]),_:2},1032,["tab","label","title"]))),128))]),_:2},1024)):vue.createCommentVNode("",!0),ge.mode!=="tab"?(vue.openBlock(),vue.createBlock(pe,vue.mergeProps({key:1,"layout-data":vue.unref(te).child[we],"onUpdate:layoutData":$e=>vue.unref(te).child[we]=$e},{ref_for:!0},he.$attrs),null,16,["layout-data","onUpdate:layoutData"])):vue.createCommentVNode("",!0)]),_:2},1032,["style","size","min-size"]))),128))]),_:1},8,["horizontal","onResize"])):vue.createCommentVNode("",!0),vue.unref(te).child&&vue.unref(te).child.length>0&&vue.unref(te).mode==="tab"?(vue.openBlock(),vue.createBlock(me,{key:vue.unref(te).id},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(vue.unref(te).child,(ge,we)=>(vue.openBlock(),vue.createBlock(ve,{forceRender:!0,key:ge.id,tab:vue.unref(Z)(ge.name),label:vue.unref(Z)(ge.name),title:vue.unref(Z)(ge.name)},{default:vue.withCtx(()=>[vue.createVNode(pe,{"layout-data":vue.unref(te).child[we],"onUpdate:layoutData":$e=>vue.unref(te).child[we]=$e},null,8,["layout-data","onUpdate:layoutData"])]),_:2},1032,["tab","label","title"]))),128))]),_:1})):vue.createCommentVNode("",!0),vue.unref(te).gridData&&(!vue.unref(te).child||vue.unref(te).child.length===0)?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:2},[vue.unref(te).gridData.type==="GRID"||vue.unref(te).gridData.type==="EDIT_GRID"||vue.unref(te).gridData.type==="TREE"||vue.unref(te).gridData.type==="TREE_STRUCTURE"?(vue.openBlock(),vue.createBlock(vue.unref(WindowGrid),vue.mergeProps({key:0,ref_key:"xGrid",ref:oe,gridData:vue.unref(te).gridData,"onUpdate:gridData":fe[0]||(fe[0]=ge=>vue.unref(te).gridData=ge)},he.$attrs),null,16,["gridData"])):vue.createCommentVNode("",!0),vue.unref(te).gridData.type==="FORM"?(vue.openBlock(),vue.createBlock(vue.unref(WindowForm),{key:1,ref_key:"xForm",ref:re,"form-config":vue.unref(te).gridData,"onUpdate:formConfig":fe[1]||(fe[1]=ge=>vue.unref(te).gridData=ge),onGridReload:ue},null,8,["form-config"])):vue.createCommentVNode("",!0),vue.unref(te).gridData.type=="LINK"||vue.unref(te).gridData.type=="COMPONENT"&&vue.unref(te).gridData.componentType=="VUE"?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(te).gridData.params.linkComponentView),{key:2,ref_key:"xLink",ref:ae,componentData:vue.unref(te).gridData.params},null,8,["componentData"])):vue.createCommentVNode("",!0),vue.unref(te).gridData.type=="COMPONENT"&&vue.unref(te).gridData.componentType=="ECHARTS"?(vue.openBlock(),vue.createBlock(vue.unref(WindowCharts),{key:3,ref_key:"xCharts",ref:se,componentData:vue.unref(te).gridData,"onUpdate:componentData":fe[2]||(fe[2]=ge=>vue.unref(te).gridData=ge)},null,8,["componentData"])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0)],2)}}},WindowLayout=_export_sfc(_sfc_main$j,[["__scopeId","data-v-7875314a"]]);WindowLayout.name="slw-window-layout",WindowLayout.install=G=>{G.component(WindowLayout.name,WindowLayout)};const _hoisted_1$l6=["src"],_sfc_main$i={__name:"custom-modal",props:{actionData:{type:Object,require:!0},title:{type:String,require:!0}},emits:["close"],setup(G,{emit:H}){const X=vue.inject("$componentMapping"),Q=vue.inject("$base64Encode"),K=vue.inject("$base64Decode"),Z=vue.inject("$t"),ee=G,te=H;let ne=vue.ref(!1),re=vue.shallowRef(),oe=vue.ref(!1),ae=vue.ref(1e3),se=vue.ref({}),le=vue.ref("88%"),ce=vue.ref(75),de=vue.ref();const ue=vue.inject("$components"),he=vue.inject("$componentsPath"),fe=()=>{ne.value=!1};vue.watch(()=>ee.actionData,async me=>{me.type==="show"?(ne.value=!0,me.params&&typeof me.params.width<"u"&&(le.value=me.params.width),me.params&&typeof me.params.height<"u"&&(typeof me.params.height=="number"||me.params.height.indexOf("px")>0?(ce.value=parseInt(me.params.height)/document.documentElement.clientHeight*100,ce.value=Math.floor(ce.value)):me.params.height.indexOf("%")>0||me.params.height.indexOf("vh")>0?ce.value=parseInt(me.params.height):ce.value=75),me.params&&typeof me.params.fullscreen<"u"&&(oe.value=me.params.fullscreen),me.params&&typeof me.params.zIndex<"u"&&(ae.value=me.params.zIndex),se.value=XEUtils.clone(vue.toRaw(me.params),!0),me.showComponent&&(re.value=(await ue[`${he}/${me.showComponent}`]()).default)):(re.value="",ne.value=!1)},{deep:!0});const pe=vue.computed(()=>{let me=ce.value?ce.value+"vh":"75vh";return oe.value&&(me="calc(100vh - 75px)"),me});function ve(){ce.value=75,le.value="88%",te("close")}return(me,ge)=>{const we=vue.resolveComponent("vxe-modal");return vue.openBlock(),vue.createBlock(we,{ref_key:"selfModal",ref:de,width:vue.unref(le),height:pe.value,modelValue:vue.unref(ne),"onUpdate:modelValue":ge[0]||(ge[0]=$e=>vue.isRef(ne)?ne.value=$e:ne=$e),fullscreen:vue.unref(oe),zIndex:vue.unref(ae),resize:"",draggable:"",transfer:"",position:"center","esc-closable":"","destroy-on-close":"",title:vue.unref(Z)(G.title),onClose:ve},{default:vue.withCtx(()=>[G.actionData.showComponent&&G.actionData.showComponent.indexOf("http")!==-1?(vue.openBlock(),vue.createElementBlock("iframe",{key:0,src:G.actionData.showComponent,frameborder:"0",width:"100%",height:"100%",scrolling:"auto",style:{"background-color":"#fff"}},null,8,_hoisted_1$l6)):vue.unref(re)?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(re)),{key:1,componentData:vue.unref(se),onClose:fe},null,40,["componentData"])):vue.createCommentVNode("",!0)]),_:1},8,["width","height","modelValue","fullscreen","zIndex","title"])}}};_sfc_main$i.name="slw-custom-modal",_sfc_main$i.install=G=>{G.component(_sfc_main$i.name,_sfc_main$i)};const _hoisted_1$l5=["src"],_sfc_main$h={__name:"custom-drawer",props:{actionData:{type:Object,require:!0},title:{type:String,require:!0}},emits:["close"],setup(G,{emit:H}){const X=vue.inject("$t"),Q=G,K=H;let Z=vue.ref(!1),ee=vue.shallowRef(),te=vue.ref(1e3),ne=vue.ref({}),re=vue.ref("40%"),oe=vue.ref("100%"),ae=vue.ref("right"),se=vue.ref(),le=vue.ref(!1),ce=vue.ref(!1),de=vue.ref(!1),ue=vue.ref(!1);const he=vue.inject("$components"),fe=vue.inject("$componentsPath"),pe=()=>{Z.value=!1};vue.watch(()=>Q.actionData,async me=>{me.type==="show"?(Z.value=!0,me.params&&(re.value=me.params.width??re.value,te.value=me.params.zIndex??te.value,ae.value=me.params.position??ae.value,ce.value=me.params.showFooter??ce.value,de.value=me.params.showCancelButton??de.value,ue.value=me.params.showConfirmButton??ue.value,typeof me.params.height<"u"&&(typeof me.params.height=="number"||me.params.height.indexOf("px")>0?(oe.value=parseInt(me.params.height)/document.documentElement.clientHeight*100,oe.value=Math.floor(oe.value)):me.params.height.indexOf("%")>0||me.params.height.indexOf("vh")>0?oe.value=me.params.height:oe.value="100%")),ne.value=XEUtils.clone(vue.toRaw(me.params),!0),me.showComponent&&(ee.value=(await he[`${fe}/${me.showComponent}`]()).default)):(ee.value="",Z.value=!1)},{deep:!0});function ve(me){K("close",me)}return(me,ge)=>{const we=vue.resolveComponent("vxe-drawer");return vue.openBlock(),vue.createBlock(we,{ref_key:"selfDrawer",ref:se,title:vue.unref(X)(G.title),modelValue:vue.unref(Z),"onUpdate:modelValue":ge[0]||(ge[0]=$e=>vue.isRef(Z)?Z.value=$e:Z=$e),width:vue.unref(re),height:vue.unref(oe),zIndex:vue.unref(te),position:vue.unref(ae),transfer:"","esc-closable":"","destroy-on-close":"",resize:"",loading:vue.unref(le),"show-footer":vue.unref(ce),"show-cancel-button":vue.unref(de),"show-confirm-button":vue.unref(ue),onConfirm:ge[1]||(ge[1]=$e=>ve("confirm")),onCancel:ge[2]||(ge[2]=$e=>ve("cancel")),onClose:ge[3]||(ge[3]=$e=>ve("close"))},{default:vue.withCtx(()=>[G.actionData.showComponent&&G.actionData.showComponent.indexOf("http")!==-1?(vue.openBlock(),vue.createElementBlock("iframe",{key:0,src:G.actionData.showComponent,frameborder:"0",width:"100%",height:"100%",scrolling:"auto",style:{"background-color":"#fff"}},null,8,_hoisted_1$l5)):vue.unref(ee)?(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(ee)),{key:1,componentData:vue.unref(ne),onClose:pe},null,40,["componentData"])):vue.createCommentVNode("",!0)]),_:1},8,["title","modelValue","width","height","zIndex","position","loading","show-footer","show-cancel-button","show-confirm-button"])}}};_sfc_main$h.name="slw-custom-drawer",_sfc_main$h.install=G=>{G.component(_sfc_main$h.name,_sfc_main$h)};const _hoisted_1$l4=["src"],_sfc_main$g={__name:"preview-modal",props:{actionData:{type:Object,require:!0},title:{type:String,require:!0}},setup(G){const H=vue.inject("$componentMapping"),X=vue.inject("$components"),Q=vue.inject("$componentsPath"),K=vue.inject("$t"),Z=G;let ee=vue.ref(!1),te=vue.ref(""),ne=vue.ref(!1),re=vue.ref({}),oe=vue.ref(500),ae=vue.ref(400);const se=vue.ref();return vue.watch(()=>Z.actionData,async le=>{le.type==="show"?(ee.value=!0,le.params&&typeof le.params.width<"u"&&(oe.value=le.params.width),le.params&&typeof le.params.height<"u"&&(ae.value=le.params.height),le.params&&typeof le.params.fullscreen<"u"&&(ne.value=le.params.fullscreen),re.value=XEUtils.clone(vue.toRaw(le.params),!0),le.showComponent&&(te.value=(await X[`${Q}/${le.showComponent}`]()).default)):ee.value=!1},{deep:!0}),(le,ce)=>{const de=vue.resolveComponent("el-dialog");return vue.openBlock(),vue.createBlock(de,{ref_key:"selfModal",ref:se,width:vue.unref(oe),height:vue.unref(ae),modelValue:vue.unref(ee),"onUpdate:modelValue":ce[0]||(ce[0]=ue=>vue.isRef(ee)?ee.value=ue:ee=ue),fullscreen:vue.unref(ne),zIndex:1e3,draggable:"","append-to-body":"",transfer:"","destroy-on-close":"",title:vue.unref(K)(G.title)},{default:vue.withCtx(()=>[G.actionData.showComponent&&G.actionData.showComponent.indexOf("http")!==-1?(vue.openBlock(),vue.createElementBlock("iframe",{key:0,src:G.actionData.showComponent,frameborder:"0",width:"100%",height:"100%",scrolling:"auto",style:{"background-color":"#fff"}},null,8,_hoisted_1$l4)):(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(vue.unref(te)),{key:1,componentData:vue.unref(re)},null,8,["componentData"]))]),_:1},8,["width","height","modelValue","fullscreen","title"])}}};_sfc_main$g.name="slw-preview-modal",_sfc_main$g.install=G=>{G.component(_sfc_main$g.name,_sfc_main$g)};var isVue2=!1,isVue3=!0,Vue2=void 0;function install$3(){}function set$2(G,H,X){return Array.isArray(G)?(G.length=Math.max(G.length,H),G.splice(H,1,X),X):(G[H]=X,X)}function del(G,H){if(Array.isArray(G)){G.splice(H,1);return}delete G[H]}function computedEager(G,H){var X;const Q=vue.shallowRef();return vue.watchEffect(()=>{Q.value=G()},{...H,flush:(X=H==null?void 0:H.flush)!=null?X:"sync"}),vue.readonly(Q)}function computedWithControl(G,H){let X,Q,K;const Z=vue.ref(!0),ee=()=>{Z.value=!0,K()};vue.watch(G,ee,{flush:"sync"});const te=typeof H=="function"?H:H.get,ne=typeof H=="function"?void 0:H.set,re=vue.customRef((oe,ae)=>(Q=oe,K=ae,{get(){return Z.value&&(X=te(),Z.value=!1),Q(),X},set(se){ne==null||ne(se)}}));return Object.isExtensible(re)&&(re.trigger=ee),re}function tryOnScopeDispose(G){return vue.getCurrentScope()?(vue.onScopeDispose(G),!0):!1}function createEventHook(){const G=new Set,H=K=>{G.delete(K)};return{on:K=>{G.add(K);const Z=()=>H(K);return tryOnScopeDispose(Z),{off:Z}},off:H,trigger:(...K)=>Promise.all(Array.from(G).map(Z=>Z(...K)))}}function createGlobalState(G){let H=!1,X;const Q=vue.effectScope(!0);return(...K)=>(H||(X=Q.run(()=>G(...K)),H=!0),X)}const localProvidedStateMap=new WeakMap,provideLocal=(G,H)=>{var X;const Q=(X=vue.getCurrentInstance())==null?void 0:X.proxy;if(Q==null)throw new Error("provideLocal must be called in setup");localProvidedStateMap.has(Q)||localProvidedStateMap.set(Q,Object.create(null));const K=localProvidedStateMap.get(Q);K[G]=H,vue.provide(G,H)},injectLocal=(...G)=>{var H;const X=G[0],Q=(H=vue.getCurrentInstance())==null?void 0:H.proxy;if(Q==null)throw new Error("injectLocal must be called in setup");return localProvidedStateMap.has(Q)&&X in localProvidedStateMap.get(Q)?localProvidedStateMap.get(Q)[X]:vue.inject(...G)};function createInjectionState(G,H){const X=(H==null?void 0:H.injectionKey)||Symbol(G.name||"InjectionState"),Q=H==null?void 0:H.defaultValue;return[(...ee)=>{const te=G(...ee);return provideLocal(X,te),te},()=>injectLocal(X,Q)]}function createSharedComposable(G){let H=0,X,Q;const K=()=>{H-=1,Q&&H<=0&&(Q.stop(),X=void 0,Q=void 0)};return(...Z)=>(H+=1,X||(Q=vue.effectScope(!0),X=Q.run(()=>G(...Z))),tryOnScopeDispose(K),X)}function extendRef(G,H,{enumerable:X=!1,unwrap:Q=!0}={}){if(!isVue3&&!vue.version.startsWith("2.7.")){if(process.env.NODE_ENV!=="production")throw new Error("[VueUse] extendRef only works in Vue 2.7 or above.");return}for(const[K,Z]of Object.entries(H))K!=="value"&&(vue.isRef(Z)&&Q?Object.defineProperty(G,K,{get(){return Z.value},set(ee){Z.value=ee},enumerable:X}):Object.defineProperty(G,K,{value:Z,enumerable:X}));return G}function get$3(G,H){return H==null?vue.unref(G):vue.unref(G)[H]}function isDefined(G){return vue.unref(G)!=null}function makeDestructurable(G,H){if(typeof Symbol<"u"){const X={...G};return Object.defineProperty(X,Symbol.iterator,{enumerable:!1,value(){let Q=0;return{next:()=>({value:H[Q++],done:Q>H.length})}}}),X}else return Object.assign([...H],G)}function toValue(G){return typeof G=="function"?G():vue.unref(G)}const resolveUnref=toValue;function reactify(G,H){const X=(H==null?void 0:H.computedGetter)===!1?vue.unref:toValue;return function(...Q){return vue.computed(()=>G.apply(this,Q.map(K=>X(K))))}}function reactifyObject(G,H={}){let X=[],Q;if(Array.isArray(H))X=H;else{Q=H;const{includeOwnProperties:K=!0}=H;X.push(...Object.keys(G)),K&&X.push(...Object.getOwnPropertyNames(G))}return Object.fromEntries(X.map(K=>{const Z=G[K];return[K,typeof Z=="function"?reactify(Z.bind(G),Q):Z]}))}function toReactive$1(G){if(!vue.isRef(G))return vue.reactive(G);const H=new Proxy({},{get(X,Q,K){return vue.unref(Reflect.get(G.value,Q,K))},set(X,Q,K){return vue.isRef(G.value[Q])&&!vue.isRef(K)?G.value[Q].value=K:G.value[Q]=K,!0},deleteProperty(X,Q){return Reflect.deleteProperty(G.value,Q)},has(X,Q){return Reflect.has(G.value,Q)},ownKeys(){return Object.keys(G.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return vue.reactive(H)}function reactiveComputed(G){return toReactive$1(vue.computed(G))}function reactiveOmit(G,...H){const X=H.flat(),Q=X[0];return reactiveComputed(()=>Object.fromEntries(typeof Q=="function"?Object.entries(vue.toRefs(G)).filter(([K,Z])=>!Q(toValue(Z),K)):Object.entries(vue.toRefs(G)).filter(K=>!X.includes(K[0]))))}const isClient$1=typeof window<"u"&&typeof document<"u",isWorker=typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope,isDef=G=>typeof G<"u",notNullish=G=>G!=null,assert=(G,...H)=>{G||console.warn(...H)},toString$2=Object.prototype.toString,isObject$4=G=>toString$2.call(G)==="[object Object]",now$3=()=>Date.now(),timestamp=()=>+Date.now(),clamp=(G,H,X)=>Math.min(X,Math.max(H,G)),noop$5=()=>{},rand=(G,H)=>(G=Math.ceil(G),H=Math.floor(H),Math.floor(Math.random()*(H-G+1))+G),hasOwn$3=(G,H)=>Object.prototype.hasOwnProperty.call(G,H),isIOS=getIsIOS();function getIsIOS(){var G,H;return isClient$1&&((G=window==null?void 0:window.navigator)==null?void 0:G.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((H=window==null?void 0:window.navigator)==null?void 0:H.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function createFilterWrapper(G,H){function X(...Q){return new Promise((K,Z)=>{Promise.resolve(G(()=>H.apply(this,Q),{fn:H,thisArg:this,args:Q})).then(K).catch(Z)})}return X}const bypassFilter=G=>G();function debounceFilter(G,H={}){let X,Q,K=noop$5;const Z=te=>{clearTimeout(te),K(),K=noop$5};return te=>{const ne=toValue(G),re=toValue(H.maxWait);return X&&Z(X),ne<=0||re!==void 0&&re<=0?(Q&&(Z(Q),Q=null),Promise.resolve(te())):new Promise((oe,ae)=>{K=H.rejectOnCancel?ae:oe,re&&!Q&&(Q=setTimeout(()=>{X&&Z(X),Q=null,oe(te())},re)),X=setTimeout(()=>{Q&&Z(Q),Q=null,oe(te())},ne)})}}function throttleFilter(...G){let H=0,X,Q=!0,K=noop$5,Z,ee,te,ne,re;!vue.isRef(G[0])&&typeof G[0]=="object"?{delay:ee,trailing:te=!0,leading:ne=!0,rejectOnCancel:re=!1}=G[0]:[ee,te=!0,ne=!0,re=!1]=G;const oe=()=>{X&&(clearTimeout(X),X=void 0,K(),K=noop$5)};return se=>{const le=toValue(ee),ce=Date.now()-H,de=()=>Z=se();return oe(),le<=0?(H=Date.now(),de()):(ce>le&&(ne||!Q)?(H=Date.now(),de()):te&&(Z=new Promise((ue,he)=>{K=re?he:ue,X=setTimeout(()=>{H=Date.now(),Q=!0,ue(de()),oe()},Math.max(0,le-ce))})),!ne&&!X&&(X=setTimeout(()=>Q=!0,le)),Q=!1,Z)}}function pausableFilter(G=bypassFilter){const H=vue.ref(!0);function X(){H.value=!1}function Q(){H.value=!0}const K=(...Z)=>{H.value&&G(...Z)};return{isActive:vue.readonly(H),pause:X,resume:Q,eventFilter:K}}const directiveHooks={mounted:isVue3?"mounted":"inserted",updated:isVue3?"updated":"componentUpdated",unmounted:isVue3?"unmounted":"unbind"};function cacheStringFunction$1(G){const H=Object.create(null);return X=>H[X]||(H[X]=G(X))}const hyphenateRE$1=/\B([A-Z])/g,hyphenate$1=cacheStringFunction$1(G=>G.replace(hyphenateRE$1,"-$1").toLowerCase()),camelizeRE$1=/-(\w)/g,camelize$2=cacheStringFunction$1(G=>G.replace(camelizeRE$1,(H,X)=>X?X.toUpperCase():""));function promiseTimeout(G,H=!1,X="Timeout"){return new Promise((Q,K)=>{setTimeout(H?()=>K(X):Q,G)})}function identity$1(G){return G}function createSingletonPromise(G){let H;function X(){return H||(H=G()),H}return X.reset=async()=>{const Q=H;H=void 0,Q&&await Q},X}function invoke(G){return G()}function containsProp(G,...H){return H.some(X=>X in G)}function increaseWithUnit(G,H){var X;if(typeof G=="number")return G+H;const Q=((X=G.match(/^-?\d+\.?\d*/))==null?void 0:X[0])||"",K=G.slice(Q.length),Z=Number.parseFloat(Q)+H;return Number.isNaN(Z)?G:Z+K}function objectPick(G,H,X=!1){return H.reduce((Q,K)=>(K in G&&(!X||G[K]!==void 0)&&(Q[K]=G[K]),Q),{})}function objectOmit(G,H,X=!1){return Object.fromEntries(Object.entries(G).filter(([Q,K])=>(!X||K!==void 0)&&!H.includes(Q)))}function objectEntries(G){return Object.entries(G)}function getLifeCycleTarget(G){return G||vue.getCurrentInstance()}function toRef(...G){if(G.length!==1)return vue.toRef(...G);const H=G[0];return typeof H=="function"?vue.readonly(vue.customRef(()=>({get:H,set:noop$5}))):vue.ref(H)}const resolveRef=toRef;function reactivePick(G,...H){const X=H.flat(),Q=X[0];return reactiveComputed(()=>Object.fromEntries(typeof Q=="function"?Object.entries(vue.toRefs(G)).filter(([K,Z])=>Q(toValue(Z),K)):X.map(K=>[K,toRef(G,K)])))}function refAutoReset(G,H=1e4){return vue.customRef((X,Q)=>{let K=toValue(G),Z;const ee=()=>setTimeout(()=>{K=toValue(G),Q()},toValue(H));return tryOnScopeDispose(()=>{clearTimeout(Z)}),{get(){return X(),K},set(te){K=te,Q(),clearTimeout(Z),Z=ee()}}})}function useDebounceFn(G,H=200,X={}){return createFilterWrapper(debounceFilter(H,X),G)}function refDebounced(G,H=200,X={}){const Q=vue.ref(G.value),K=useDebounceFn(()=>{Q.value=G.value},H,X);return vue.watch(G,()=>K()),Q}function refDefault(G,H){return vue.computed({get(){var X;return(X=G.value)!=null?X:H},set(X){G.value=X}})}function useThrottleFn(G,H=200,X=!1,Q=!0,K=!1){return createFilterWrapper(throttleFilter(H,X,Q,K),G)}function refThrottled(G,H=200,X=!0,Q=!0){if(H<=0)return G;const K=vue.ref(G.value),Z=useThrottleFn(()=>{K.value=G.value},H,X,Q);return vue.watch(G,()=>Z()),K}function refWithControl(G,H={}){let X=G,Q,K;const Z=vue.customRef((se,le)=>(Q=se,K=le,{get(){return ee()},set(ce){te(ce)}}));function ee(se=!0){return se&&Q(),X}function te(se,le=!0){var ce,de;if(se===X)return;const ue=X;((ce=H.onBeforeChange)==null?void 0:ce.call(H,se,ue))!==!1&&(X=se,(de=H.onChanged)==null||de.call(H,se,ue),le&&K())}return extendRef(Z,{get:ee,set:te,untrackedGet:()=>ee(!1),silentSet:se=>te(se,!1),peek:()=>ee(!1),lay:se=>te(se,!1)},{enumerable:!0})}const controlledRef=refWithControl;function set$1(...G){if(G.length===2){const[H,X]=G;H.value=X}if(G.length===3)if(isVue2)set$2(...G);else{const[H,X,Q]=G;H[X]=Q}}function watchWithFilter(G,H,X={}){const{eventFilter:Q=bypassFilter,...K}=X;return vue.watch(G,createFilterWrapper(Q,H),K)}function watchPausable(G,H,X={}){const{eventFilter:Q,...K}=X,{eventFilter:Z,pause:ee,resume:te,isActive:ne}=pausableFilter(Q);return{stop:watchWithFilter(G,H,{...K,eventFilter:Z}),pause:ee,resume:te,isActive:ne}}function syncRef(G,H,...[X]){const{flush:Q="sync",deep:K=!1,immediate:Z=!0,direction:ee="both",transform:te={}}=X||{},ne=[],re="ltr"in te&&te.ltr||(se=>se),oe="rtl"in te&&te.rtl||(se=>se);return(ee==="both"||ee==="ltr")&&ne.push(watchPausable(G,se=>{ne.forEach(le=>le.pause()),H.value=re(se),ne.forEach(le=>le.resume())},{flush:Q,deep:K,immediate:Z})),(ee==="both"||ee==="rtl")&&ne.push(watchPausable(H,se=>{ne.forEach(le=>le.pause()),G.value=oe(se),ne.forEach(le=>le.resume())},{flush:Q,deep:K,immediate:Z})),()=>{ne.forEach(se=>se.stop())}}function syncRefs(G,H,X={}){const{flush:Q="sync",deep:K=!1,immediate:Z=!0}=X;return Array.isArray(H)||(H=[H]),vue.watch(G,ee=>H.forEach(te=>te.value=ee),{flush:Q,deep:K,immediate:Z})}function toRefs(G,H={}){if(!vue.isRef(G))return vue.toRefs(G);const X=Array.isArray(G.value)?Array.from({length:G.value.length}):{};for(const Q in G.value)X[Q]=vue.customRef(()=>({get(){return G.value[Q]},set(K){var Z;if((Z=toValue(H.replaceRef))!=null?Z:!0)if(Array.isArray(G.value)){const te=[...G.value];te[Q]=K,G.value=te}else{const te={...G.value,[Q]:K};Object.setPrototypeOf(te,Object.getPrototypeOf(G.value)),G.value=te}else G.value[Q]=K}}));return X}function tryOnBeforeMount(G,H=!0,X){getLifeCycleTarget(X)?vue.onBeforeMount(G,X):H?G():vue.nextTick(G)}function tryOnBeforeUnmount(G,H){getLifeCycleTarget(H)&&vue.onBeforeUnmount(G,H)}function tryOnMounted(G,H=!0,X){getLifeCycleTarget()?vue.onMounted(G,X):H?G():vue.nextTick(G)}function tryOnUnmounted(G,H){getLifeCycleTarget(H)&&vue.onUnmounted(G,H)}function createUntil(G,H=!1){function X(ae,{flush:se="sync",deep:le=!1,timeout:ce,throwOnTimeout:de}={}){let ue=null;const fe=[new Promise(pe=>{ue=vue.watch(G,ve=>{ae(ve)!==H&&(ue==null||ue(),pe(ve))},{flush:se,deep:le,immediate:!0})})];return ce!=null&&fe.push(promiseTimeout(ce,de).then(()=>toValue(G)).finally(()=>ue==null?void 0:ue())),Promise.race(fe)}function Q(ae,se){if(!vue.isRef(ae))return X(ve=>ve===ae,se);const{flush:le="sync",deep:ce=!1,timeout:de,throwOnTimeout:ue}=se??{};let he=null;const pe=[new Promise(ve=>{he=vue.watch([G,ae],([me,ge])=>{H!==(me===ge)&&(he==null||he(),ve(me))},{flush:le,deep:ce,immediate:!0})})];return de!=null&&pe.push(promiseTimeout(de,ue).then(()=>toValue(G)).finally(()=>(he==null||he(),toValue(G)))),Promise.race(pe)}function K(ae){return X(se=>!!se,ae)}function Z(ae){return Q(null,ae)}function ee(ae){return Q(void 0,ae)}function te(ae){return X(Number.isNaN,ae)}function ne(ae,se){return X(le=>{const ce=Array.from(le);return ce.includes(ae)||ce.includes(toValue(ae))},se)}function re(ae){return oe(1,ae)}function oe(ae=1,se){let le=-1;return X(()=>(le+=1,le>=ae),se)}return Array.isArray(toValue(G))?{toMatch:X,toContains:ne,changed:re,changedTimes:oe,get not(){return createUntil(G,!H)}}:{toMatch:X,toBe:Q,toBeTruthy:K,toBeNull:Z,toBeNaN:te,toBeUndefined:ee,changed:re,changedTimes:oe,get not(){return createUntil(G,!H)}}}function until(G){return createUntil(G)}function defaultComparator(G,H){return G===H}function useArrayDifference(...G){var H;const X=G[0],Q=G[1];let K=(H=G[2])!=null?H:defaultComparator;if(typeof K=="string"){const Z=K;K=(ee,te)=>ee[Z]===te[Z]}return vue.computed(()=>toValue(X).filter(Z=>toValue(Q).findIndex(ee=>K(Z,ee))===-1))}function useArrayEvery(G,H){return vue.computed(()=>toValue(G).every((X,Q,K)=>H(toValue(X),Q,K)))}function useArrayFilter(G,H){return vue.computed(()=>toValue(G).map(X=>toValue(X)).filter(H))}function useArrayFind(G,H){return vue.computed(()=>toValue(toValue(G).find((X,Q,K)=>H(toValue(X),Q,K))))}function useArrayFindIndex(G,H){return vue.computed(()=>toValue(G).findIndex((X,Q,K)=>H(toValue(X),Q,K)))}function findLast(G,H){let X=G.length;for(;X-- >0;)if(H(G[X],X,G))return G[X]}function useArrayFindLast(G,H){return vue.computed(()=>toValue(Array.prototype.findLast?toValue(G).findLast((X,Q,K)=>H(toValue(X),Q,K)):findLast(toValue(G),(X,Q,K)=>H(toValue(X),Q,K))))}function isArrayIncludesOptions(G){return isObject$4(G)&&containsProp(G,"formIndex","comparator")}function useArrayIncludes(...G){var H;const X=G[0],Q=G[1];let K=G[2],Z=0;if(isArrayIncludesOptions(K)&&(Z=(H=K.fromIndex)!=null?H:0,K=K.comparator),typeof K=="string"){const ee=K;K=(te,ne)=>te[ee]===toValue(ne)}return K=K??((ee,te)=>ee===toValue(te)),vue.computed(()=>toValue(X).slice(Z).some((ee,te,ne)=>K(toValue(ee),toValue(Q),te,toValue(ne))))}function useArrayJoin(G,H){return vue.computed(()=>toValue(G).map(X=>toValue(X)).join(toValue(H)))}function useArrayMap(G,H){return vue.computed(()=>toValue(G).map(X=>toValue(X)).map(H))}function useArrayReduce(G,H,...X){const Q=(K,Z,ee)=>H(toValue(K),toValue(Z),ee);return vue.computed(()=>{const K=toValue(G);return X.length?K.reduce(Q,toValue(X[0])):K.reduce(Q)})}function useArraySome(G,H){return vue.computed(()=>toValue(G).some((X,Q,K)=>H(toValue(X),Q,K)))}function uniq$1(G){return Array.from(new Set(G))}function uniqueElementsBy(G,H){return G.reduce((X,Q)=>(X.some(K=>H(Q,K,G))||X.push(Q),X),[])}function useArrayUnique(G,H){return vue.computed(()=>{const X=toValue(G).map(Q=>toValue(Q));return H?uniqueElementsBy(X,H):uniq$1(X)})}function useCounter(G=0,H={}){let X=vue.unref(G);const Q=vue.ref(G),{max:K=Number.POSITIVE_INFINITY,min:Z=Number.NEGATIVE_INFINITY}=H,ee=(ae=1)=>Q.value=Math.max(Math.min(K,Q.value+ae),Z),te=(ae=1)=>Q.value=Math.min(Math.max(Z,Q.value-ae),K),ne=()=>Q.value,re=ae=>Q.value=Math.max(Z,Math.min(K,ae));return{count:Q,inc:ee,dec:te,get:ne,set:re,reset:(ae=X)=>(X=ae,re(ae))}}const REGEX_PARSE=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[T\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/i,REGEX_FORMAT=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function defaultMeridiem(G,H,X,Q){let K=G<12?"AM":"PM";return Q&&(K=K.split("").reduce((Z,ee)=>Z+=`${ee}.`,"")),X?K.toLowerCase():K}function formatOrdinal(G){const H=["th","st","nd","rd"],X=G%100;return G+(H[(X-20)%10]||H[X]||H[0])}function formatDate(G,H,X={}){var Q;const K=G.getFullYear(),Z=G.getMonth(),ee=G.getDate(),te=G.getHours(),ne=G.getMinutes(),re=G.getSeconds(),oe=G.getMilliseconds(),ae=G.getDay(),se=(Q=X.customMeridiem)!=null?Q:defaultMeridiem,le={Yo:()=>formatOrdinal(K),YY:()=>String(K).slice(-2),YYYY:()=>K,M:()=>Z+1,Mo:()=>formatOrdinal(Z+1),MM:()=>`${Z+1}`.padStart(2,"0"),MMM:()=>G.toLocaleDateString(X.locales,{month:"short"}),MMMM:()=>G.toLocaleDateString(X.locales,{month:"long"}),D:()=>String(ee),Do:()=>formatOrdinal(ee),DD:()=>`${ee}`.padStart(2,"0"),H:()=>String(te),Ho:()=>formatOrdinal(te),HH:()=>`${te}`.padStart(2,"0"),h:()=>`${te%12||12}`.padStart(1,"0"),ho:()=>formatOrdinal(te%12||12),hh:()=>`${te%12||12}`.padStart(2,"0"),m:()=>String(ne),mo:()=>formatOrdinal(ne),mm:()=>`${ne}`.padStart(2,"0"),s:()=>String(re),so:()=>formatOrdinal(re),ss:()=>`${re}`.padStart(2,"0"),SSS:()=>`${oe}`.padStart(3,"0"),d:()=>ae,dd:()=>G.toLocaleDateString(X.locales,{weekday:"narrow"}),ddd:()=>G.toLocaleDateString(X.locales,{weekday:"short"}),dddd:()=>G.toLocaleDateString(X.locales,{weekday:"long"}),A:()=>se(te,ne),AA:()=>se(te,ne,!1,!0),a:()=>se(te,ne,!0),aa:()=>se(te,ne,!0,!0)};return H.replace(REGEX_FORMAT,(ce,de)=>{var ue,he;return(he=de??((ue=le[ce])==null?void 0:ue.call(le)))!=null?he:ce})}function normalizeDate(G){if(G===null)return new Date(Number.NaN);if(G===void 0)return new Date;if(G instanceof Date)return new Date(G);if(typeof G=="string"&&!/Z$/i.test(G)){const H=G.match(REGEX_PARSE);if(H){const X=H[2]-1||0,Q=(H[7]||"0").substring(0,3);return new Date(H[1],X,H[3]||1,H[4]||0,H[5]||0,H[6]||0,Q)}}return new Date(G)}function useDateFormat(G,H="HH:mm:ss",X={}){return vue.computed(()=>formatDate(normalizeDate(toValue(G)),toValue(H),X))}function useIntervalFn(G,H=1e3,X={}){const{immediate:Q=!0,immediateCallback:K=!1}=X;let Z=null;const ee=vue.ref(!1);function te(){Z&&(clearInterval(Z),Z=null)}function ne(){ee.value=!1,te()}function re(){const oe=toValue(H);oe<=0||(ee.value=!0,K&&G(),te(),Z=setInterval(G,oe))}if(Q&&isClient$1&&re(),vue.isRef(H)||typeof H=="function"){const oe=vue.watch(H,()=>{ee.value&&isClient$1&&re()});tryOnScopeDispose(oe)}return tryOnScopeDispose(ne),{isActive:ee,pause:ne,resume:re}}function useInterval(G=1e3,H={}){const{controls:X=!1,immediate:Q=!0,callback:K}=H,Z=vue.ref(0),ee=()=>Z.value+=1,te=()=>{Z.value=0},ne=useIntervalFn(K?()=>{ee(),K(Z.value)}:ee,G,{immediate:Q});return X?{counter:Z,reset:te,...ne}:Z}function useLastChanged(G,H={}){var X;const Q=vue.ref((X=H.initialValue)!=null?X:null);return vue.watch(G,()=>Q.value=timestamp(),H),Q}function useTimeoutFn(G,H,X={}){const{immediate:Q=!0}=X,K=vue.ref(!1);let Z=null;function ee(){Z&&(clearTimeout(Z),Z=null)}function te(){K.value=!1,ee()}function ne(...re){ee(),K.value=!0,Z=setTimeout(()=>{K.value=!1,Z=null,G(...re)},toValue(H))}return Q&&(K.value=!0,isClient$1&&ne()),tryOnScopeDispose(te),{isPending:vue.readonly(K),start:ne,stop:te}}function useTimeout(G=1e3,H={}){const{controls:X=!1,callback:Q}=H,K=useTimeoutFn(Q??noop$5,G,H),Z=vue.computed(()=>!K.isPending.value);return X?{ready:Z,...K}:Z}function useToNumber(G,H={}){const{method:X="parseFloat",radix:Q,nanToZero:K}=H;return vue.computed(()=>{let Z=toValue(G);return typeof Z=="string"&&(Z=Number[X](Z,Q)),K&&Number.isNaN(Z)&&(Z=0),Z})}function useToString(G){return vue.computed(()=>`${toValue(G)}`)}function useToggle(G=!1,H={}){const{truthyValue:X=!0,falsyValue:Q=!1}=H,K=vue.isRef(G),Z=vue.ref(G);function ee(te){if(arguments.length)return Z.value=te,Z.value;{const ne=toValue(X);return Z.value=Z.value===ne?toValue(Q):ne,Z.value}}return K?ee:[Z,ee]}function watchArray(G,H,X){let Q=X!=null&&X.immediate?[]:[...G instanceof Function?G():Array.isArray(G)?G:toValue(G)];return vue.watch(G,(K,Z,ee)=>{const te=Array.from({length:Q.length}),ne=[];for(const oe of K){let ae=!1;for(let se=0;se<Q.length;se++)if(!te[se]&&oe===Q[se]){te[se]=!0,ae=!0;break}ae||ne.push(oe)}const re=Q.filter((oe,ae)=>!te[ae]);H(K,Q,ne,re,ee),Q=[...K]},X)}function watchAtMost(G,H,X){const{count:Q,...K}=X,Z=vue.ref(0),ee=watchWithFilter(G,(...te)=>{Z.value+=1,Z.value>=toValue(Q)&&vue.nextTick(()=>ee()),H(...te)},K);return{count:Z,stop:ee}}function watchDebounced(G,H,X={}){const{debounce:Q=0,maxWait:K=void 0,...Z}=X;return watchWithFilter(G,H,{...Z,eventFilter:debounceFilter(Q,{maxWait:K})})}function watchDeep(G,H,X){return vue.watch(G,H,{...X,deep:!0})}function watchIgnorable(G,H,X={}){const{eventFilter:Q=bypassFilter,...K}=X,Z=createFilterWrapper(Q,H);let ee,te,ne;if(K.flush==="sync"){const re=vue.ref(!1);te=()=>{},ee=oe=>{re.value=!0,oe(),re.value=!1},ne=vue.watch(G,(...oe)=>{re.value||Z(...oe)},K)}else{const re=[],oe=vue.ref(0),ae=vue.ref(0);te=()=>{oe.value=ae.value},re.push(vue.watch(G,()=>{ae.value++},{...K,flush:"sync"})),ee=se=>{const le=ae.value;se(),oe.value+=ae.value-le},re.push(vue.watch(G,(...se)=>{const le=oe.value>0&&oe.value===ae.value;oe.value=0,ae.value=0,!le&&Z(...se)},K)),ne=()=>{re.forEach(se=>se())}}return{stop:ne,ignoreUpdates:ee,ignorePrevAsyncUpdates:te}}function watchImmediate(G,H,X){return vue.watch(G,H,{...X,immediate:!0})}function watchOnce(G,H,X){const Q=vue.watch(G,(...K)=>(vue.nextTick(()=>Q()),H(...K)),X);return Q}function watchThrottled(G,H,X={}){const{throttle:Q=0,trailing:K=!0,leading:Z=!0,...ee}=X;return watchWithFilter(G,H,{...ee,eventFilter:throttleFilter(Q,K,Z)})}function watchTriggerable(G,H,X={}){let Q;function K(){if(!Q)return;const oe=Q;Q=void 0,oe()}function Z(oe){Q=oe}const ee=(oe,ae)=>(K(),H(oe,ae,Z)),te=watchIgnorable(G,ee,X),{ignoreUpdates:ne}=te;return{...te,trigger:()=>{let oe;return ne(()=>{oe=ee(getWatchSources(G),getOldValue(G))}),oe}}}function getWatchSources(G){return vue.isReactive(G)?G:Array.isArray(G)?G.map(H=>toValue(H)):toValue(G)}function getOldValue(G){return Array.isArray(G)?G.map(()=>{}):void 0}function whenever(G,H,X){const Q=vue.watch(G,(K,Z,ee)=>{K&&(X!=null&&X.once&&vue.nextTick(()=>Q()),H(K,Z,ee))},{...X,once:!1});return Q}function computedAsync(G,H,X){let Q;vue.isRef(X)?Q={evaluating:X}:Q=X||{};const{lazy:K=!1,evaluating:Z=void 0,shallow:ee=!0,onError:te=noop$5}=Q,ne=vue.ref(!K),re=ee?vue.shallowRef(H):vue.ref(H);let oe=0;return vue.watchEffect(async ae=>{if(!ne.value)return;oe++;const se=oe;let le=!1;Z&&Promise.resolve().then(()=>{Z.value=!0});try{const ce=await G(de=>{ae(()=>{Z&&(Z.value=!1),le||de()})});se===oe&&(re.value=ce)}catch(ce){te(ce)}finally{Z&&se===oe&&(Z.value=!1),le=!0}}),K?vue.computed(()=>(ne.value=!0,re.value)):re}function computedInject(G,H,X,Q){let K=vue.inject(G);return X&&(K=vue.inject(G,X)),Q&&(K=vue.inject(G,X,Q)),typeof H=="function"?vue.computed(Z=>H(K,Z)):vue.computed({get:Z=>H.get(K,Z),set:H.set})}function createReusableTemplate(G={}){if(!isVue3&&!vue.version.startsWith("2.7.")){if(process.env.NODE_ENV!=="production")throw new Error("[VueUse] createReusableTemplate only works in Vue 2.7 or above.");return}const{inheritAttrs:H=!0}=G,X=vue.shallowRef(),Q=vue.defineComponent({setup(Z,{slots:ee}){return()=>{X.value=ee.default}}}),K=vue.defineComponent({inheritAttrs:H,setup(Z,{attrs:ee,slots:te}){return()=>{var ne;if(!X.value&&process.env.NODE_ENV!=="production")throw new Error("[VueUse] Failed to find the definition of reusable template");const re=(ne=X.value)==null?void 0:ne.call(X,{...keysToCamelKebabCase(ee),$slots:te});return H&&(re==null?void 0:re.length)===1?re[0]:re}}});return makeDestructurable({define:Q,reuse:K},[Q,K])}function keysToCamelKebabCase(G){const H={};for(const X in G)H[camelize$2(X)]=G[X];return H}function createTemplatePromise(G={}){if(!isVue3){if(process.env.NODE_ENV!=="production")throw new Error("[VueUse] createTemplatePromise only works in Vue 3 or above.");return}let H=0;const X=vue.ref([]);function Q(...ee){const te=vue.shallowReactive({key:H++,args:ee,promise:void 0,resolve:()=>{},reject:()=>{},isResolving:!1,options:G});return X.value.push(te),te.promise=new Promise((ne,re)=>{te.resolve=oe=>(te.isResolving=!0,ne(oe)),te.reject=re}).finally(()=>{te.promise=void 0;const ne=X.value.indexOf(te);ne!==-1&&X.value.splice(ne,1)}),te.promise}function K(...ee){return G.singleton&&X.value.length>0?X.value[0].promise:Q(...ee)}const Z=vue.defineComponent((ee,{slots:te})=>{const ne=()=>X.value.map(re=>{var oe;return vue.h(vue.Fragment,{key:re.key},(oe=te.default)==null?void 0:oe.call(te,re))});return G.transition?()=>vue.h(vue.TransitionGroup,G.transition,ne):ne});return Z.start=K,Z}function createUnrefFn(G){return function(...H){return G.apply(this,H.map(X=>toValue(X)))}}function unrefElement(G){var H;const X=toValue(G);return(H=X==null?void 0:X.$el)!=null?H:X}const defaultWindow=isClient$1?window:void 0,defaultDocument=isClient$1?window.document:void 0,defaultNavigator=isClient$1?window.navigator:void 0,defaultLocation=isClient$1?window.location:void 0;function useEventListener(...G){let H,X,Q,K;if(typeof G[0]=="string"||Array.isArray(G[0])?([X,Q,K]=G,H=defaultWindow):[H,X,Q,K]=G,!H)return noop$5;Array.isArray(X)||(X=[X]),Array.isArray(Q)||(Q=[Q]);const Z=[],ee=()=>{Z.forEach(oe=>oe()),Z.length=0},te=(oe,ae,se,le)=>(oe.addEventListener(ae,se,le),()=>oe.removeEventListener(ae,se,le)),ne=vue.watch(()=>[unrefElement(H),toValue(K)],([oe,ae])=>{if(ee(),!oe)return;const se=isObject$4(ae)?{...ae}:ae;Z.push(...X.flatMap(le=>Q.map(ce=>te(oe,le,ce,se))))},{immediate:!0,flush:"post"}),re=()=>{ne(),ee()};return tryOnScopeDispose(re),re}let _iOSWorkaround=!1;function onClickOutside(G,H,X={}){const{window:Q=defaultWindow,ignore:K=[],capture:Z=!0,detectIframe:ee=!1}=X;if(!Q)return noop$5;isIOS&&!_iOSWorkaround&&(_iOSWorkaround=!0,Array.from(Q.document.body.children).forEach(se=>se.addEventListener("click",noop$5)),Q.document.documentElement.addEventListener("click",noop$5));let te=!0;const ne=se=>K.some(le=>{if(typeof le=="string")return Array.from(Q.document.querySelectorAll(le)).some(ce=>ce===se.target||se.composedPath().includes(ce));{const ce=unrefElement(le);return ce&&(se.target===ce||se.composedPath().includes(ce))}}),oe=[useEventListener(Q,"click",se=>{const le=unrefElement(G);if(!(!le||le===se.target||se.composedPath().includes(le))){if(se.detail===0&&(te=!ne(se)),!te){te=!0;return}H(se)}},{passive:!0,capture:Z}),useEventListener(Q,"pointerdown",se=>{const le=unrefElement(G);te=!ne(se)&&!!(le&&!se.composedPath().includes(le))},{passive:!0}),ee&&useEventListener(Q,"blur",se=>{setTimeout(()=>{var le;const ce=unrefElement(G);((le=Q.document.activeElement)==null?void 0:le.tagName)==="IFRAME"&&!(ce!=null&&ce.contains(Q.document.activeElement))&&H(se)},0)})].filter(Boolean);return()=>oe.forEach(se=>se())}function createKeyPredicate(G){return typeof G=="function"?G:typeof G=="string"?H=>H.key===G:Array.isArray(G)?H=>G.includes(H.key):()=>!0}function onKeyStroke(...G){let H,X,Q={};G.length===3?(H=G[0],X=G[1],Q=G[2]):G.length===2?typeof G[1]=="object"?(H=!0,X=G[0],Q=G[1]):(H=G[0],X=G[1]):(H=!0,X=G[0]);const{target:K=defaultWindow,eventName:Z="keydown",passive:ee=!1,dedupe:te=!1}=Q,ne=createKeyPredicate(H);return useEventListener(K,Z,oe=>{oe.repeat&&toValue(te)||ne(oe)&&X(oe)},ee)}function onKeyDown(G,H,X={}){return onKeyStroke(G,H,{...X,eventName:"keydown"})}function onKeyPressed(G,H,X={}){return onKeyStroke(G,H,{...X,eventName:"keypress"})}function onKeyUp(G,H,X={}){return onKeyStroke(G,H,{...X,eventName:"keyup"})}const DEFAULT_DELAY=500,DEFAULT_THRESHOLD=10;function onLongPress(G,H,X){var Q,K;const Z=vue.computed(()=>unrefElement(G));let ee,te,ne,re=!1;function oe(){ee&&(clearTimeout(ee),ee=void 0),te=void 0,ne=void 0,re=!1}function ae(he){var fe,pe,ve;const[me,ge,we]=[ne,te,re];if(oe(),!(X!=null&&X.onMouseUp)||!ge||!me||(fe=X==null?void 0:X.modifiers)!=null&&fe.self&&he.target!==Z.value)return;(pe=X==null?void 0:X.modifiers)!=null&&pe.prevent&&he.preventDefault(),(ve=X==null?void 0:X.modifiers)!=null&&ve.stop&&he.stopPropagation();const $e=he.x-ge.x,Ee=he.y-ge.y,xe=Math.sqrt($e*$e+Ee*Ee);X.onMouseUp(he.timeStamp-me,xe,we)}function se(he){var fe,pe,ve,me;(fe=X==null?void 0:X.modifiers)!=null&&fe.self&&he.target!==Z.value||(oe(),(pe=X==null?void 0:X.modifiers)!=null&&pe.prevent&&he.preventDefault(),(ve=X==null?void 0:X.modifiers)!=null&&ve.stop&&he.stopPropagation(),te={x:he.x,y:he.y},ne=he.timeStamp,ee=setTimeout(()=>{re=!0,H(he)},(me=X==null?void 0:X.delay)!=null?me:DEFAULT_DELAY))}function le(he){var fe,pe,ve,me;if((fe=X==null?void 0:X.modifiers)!=null&&fe.self&&he.target!==Z.value||!te||(X==null?void 0:X.distanceThreshold)===!1)return;(pe=X==null?void 0:X.modifiers)!=null&&pe.prevent&&he.preventDefault(),(ve=X==null?void 0:X.modifiers)!=null&&ve.stop&&he.stopPropagation();const ge=he.x-te.x,we=he.y-te.y;Math.sqrt(ge*ge+we*we)>=((me=X==null?void 0:X.distanceThreshold)!=null?me:DEFAULT_THRESHOLD)&&oe()}const ce={capture:(Q=X==null?void 0:X.modifiers)==null?void 0:Q.capture,once:(K=X==null?void 0:X.modifiers)==null?void 0:K.once},de=[useEventListener(Z,"pointerdown",se,ce),useEventListener(Z,"pointermove",le,ce),useEventListener(Z,["pointerup","pointerleave"],ae,ce)];return()=>de.forEach(he=>he())}function isFocusedElementEditable(){const{activeElement:G,body:H}=document;if(!G||G===H)return!1;switch(G.tagName){case"INPUT":case"TEXTAREA":return!0}return G.hasAttribute("contenteditable")}function isTypedCharValid({keyCode:G,metaKey:H,ctrlKey:X,altKey:Q}){return H||X||Q?!1:G>=48&&G<=57||G>=65&&G<=90||G>=97&&G<=122}function onStartTyping(G,H={}){const{document:X=defaultDocument}=H;X&&useEventListener(X,"keydown",K=>{!isFocusedElementEditable()&&isTypedCharValid(K)&&G(K)},{passive:!0})}function templateRef(G,H=null){const X=vue.getCurrentInstance();let Q=()=>{};const K=vue.customRef((Z,ee)=>(Q=ee,{get(){var te,ne;return Z(),(ne=(te=X==null?void 0:X.proxy)==null?void 0:te.$refs[G])!=null?ne:H},set(){}}));return tryOnMounted(Q),vue.onUpdated(Q),K}function useMounted(){const G=vue.ref(!1),H=vue.getCurrentInstance();return H&&vue.onMounted(()=>{G.value=!0},isVue2?void 0:H),G}function useSupported(G){const H=useMounted();return vue.computed(()=>(H.value,!!G()))}function useMutationObserver(G,H,X={}){const{window:Q=defaultWindow,...K}=X;let Z;const ee=useSupported(()=>Q&&"MutationObserver"in Q),te=()=>{Z&&(Z.disconnect(),Z=void 0)},ne=vue.computed(()=>{const se=toValue(G),le=(Array.isArray(se)?se:[se]).map(unrefElement).filter(notNullish);return new Set(le)}),re=vue.watch(()=>ne.value,se=>{te(),ee.value&&se.size&&(Z=new MutationObserver(H),se.forEach(le=>Z.observe(le,K)))},{immediate:!0,flush:"post"}),oe=()=>Z==null?void 0:Z.takeRecords(),ae=()=>{te(),re()};return tryOnScopeDispose(ae),{isSupported:ee,stop:ae,takeRecords:oe}}function useActiveElement(G={}){var H;const{window:X=defaultWindow,deep:Q=!0,triggerOnRemoval:K=!1}=G,Z=(H=G.document)!=null?H:X==null?void 0:X.document,ee=()=>{var re;let oe=Z==null?void 0:Z.activeElement;if(Q)for(;oe!=null&&oe.shadowRoot;)oe=(re=oe==null?void 0:oe.shadowRoot)==null?void 0:re.activeElement;return oe},te=vue.ref(),ne=()=>{te.value=ee()};return X&&(useEventListener(X,"blur",re=>{re.relatedTarget===null&&ne()},!0),useEventListener(X,"focus",ne,!0)),K&&useMutationObserver(Z,re=>{re.filter(oe=>oe.removedNodes.length).map(oe=>Array.from(oe.removedNodes)).flat().forEach(oe=>{oe===te.value&&ne()})},{childList:!0,subtree:!0}),ne(),te}function useRafFn(G,H={}){const{immediate:X=!0,fpsLimit:Q=void 0,window:K=defaultWindow}=H,Z=vue.ref(!1),ee=Q?1e3/Q:null;let te=0,ne=null;function re(se){if(!Z.value||!K)return;te||(te=se);const le=se-te;if(ee&&le<ee){ne=K.requestAnimationFrame(re);return}te=se,G({delta:le,timestamp:se}),ne=K.requestAnimationFrame(re)}function oe(){!Z.value&&K&&(Z.value=!0,te=0,ne=K.requestAnimationFrame(re))}function ae(){Z.value=!1,ne!=null&&K&&(K.cancelAnimationFrame(ne),ne=null)}return X&&oe(),tryOnScopeDispose(ae),{isActive:vue.readonly(Z),pause:ae,resume:oe}}function useAnimate(G,H,X){let Q,K;isObject$4(X)?(Q=X,K=objectOmit(X,["window","immediate","commitStyles","persist","onReady","onError"])):(Q={duration:X},K=X);const{window:Z=defaultWindow,immediate:ee=!0,commitStyles:te,persist:ne,playbackRate:re=1,onReady:oe,onError:ae=_e=>{console.error(_e)}}=Q,se=useSupported(()=>Z&&HTMLElement&&"animate"in HTMLElement.prototype),le=vue.shallowRef(void 0),ce=vue.shallowReactive({startTime:null,currentTime:null,timeline:null,playbackRate:re,pending:!1,playState:ee?"idle":"paused",replaceState:"active"}),de=vue.computed(()=>ce.pending),ue=vue.computed(()=>ce.playState),he=vue.computed(()=>ce.replaceState),fe=vue.computed({get(){return ce.startTime},set(_e){ce.startTime=_e,le.value&&(le.value.startTime=_e)}}),pe=vue.computed({get(){return ce.currentTime},set(_e){ce.currentTime=_e,le.value&&(le.value.currentTime=_e,Oe())}}),ve=vue.computed({get(){return ce.timeline},set(_e){ce.timeline=_e,le.value&&(le.value.timeline=_e)}}),me=vue.computed({get(){return ce.playbackRate},set(_e){ce.playbackRate=_e,le.value&&(le.value.playbackRate=_e)}}),ge=()=>{if(le.value)try{le.value.play(),Oe()}catch(_e){Ne(),ae(_e)}else Me()},we=()=>{var _e;try{(_e=le.value)==null||_e.pause(),Ne()}catch(ye){ae(ye)}},$e=()=>{var _e;!le.value&&Me();try{(_e=le.value)==null||_e.reverse(),Oe()}catch(ye){Ne(),ae(ye)}},Ee=()=>{var _e;try{(_e=le.value)==null||_e.finish(),Ne()}catch(ye){ae(ye)}},xe=()=>{var _e;try{(_e=le.value)==null||_e.cancel(),Ne()}catch(ye){ae(ye)}};vue.watch(()=>unrefElement(G),_e=>{_e&&Me()}),vue.watch(()=>H,_e=>{!le.value&&Me(),!unrefElement(G)&&le.value&&(le.value.effect=new KeyframeEffect(unrefElement(G),toValue(_e),K))},{deep:!0}),tryOnMounted(()=>{vue.nextTick(()=>Me(!0))}),tryOnScopeDispose(xe);function Me(_e){const ye=unrefElement(G);!se.value||!ye||(le.value||(le.value=ye.animate(toValue(H),K)),ne&&le.value.persist(),re!==1&&(le.value.playbackRate=re),_e&&!ee?le.value.pause():Oe(),oe==null||oe(le.value))}useEventListener(le,["cancel","finish","remove"],Ne),useEventListener(le,"finish",()=>{var _e;te&&((_e=le.value)==null||_e.commitStyles())});const{resume:De,pause:ke}=useRafFn(()=>{le.value&&(ce.pending=le.value.pending,ce.playState=le.value.playState,ce.replaceState=le.value.replaceState,ce.startTime=le.value.startTime,ce.currentTime=le.value.currentTime,ce.timeline=le.value.timeline,ce.playbackRate=le.value.playbackRate)},{immediate:!1});function Oe(){se.value&&De()}function Ne(){se.value&&Z&&Z.requestAnimationFrame(ke)}return{isSupported:se,animate:le,play:ge,pause:we,reverse:$e,finish:Ee,cancel:xe,pending:de,playState:ue,replaceState:he,startTime:fe,currentTime:pe,timeline:ve,playbackRate:me}}function useAsyncQueue(G,H){const{interrupt:X=!0,onError:Q=noop$5,onFinished:K=noop$5,signal:Z}=H||{},ee={aborted:"aborted",fulfilled:"fulfilled",pending:"pending",rejected:"rejected"},te=Array.from(Array.from({length:G.length}),()=>({state:ee.pending,data:null})),ne=vue.reactive(te),re=vue.ref(-1);if(!G||G.length===0)return K(),{activeIndex:re,result:ne};function oe(ae,se){re.value++,ne[re.value].data=se,ne[re.value].state=ae}return G.reduce((ae,se)=>ae.then(le=>{var ce;if(Z!=null&&Z.aborted){oe(ee.aborted,new Error("aborted"));return}if(((ce=ne[re.value])==null?void 0:ce.state)===ee.rejected&&X){K();return}const de=se(le).then(ue=>(oe(ee.fulfilled,ue),re.value===G.length-1&&K(),ue));return Z?Promise.race([de,whenAborted(Z)]):de}).catch(le=>Z!=null&&Z.aborted?(oe(ee.aborted,le),le):(oe(ee.rejected,le),Q(),le)),Promise.resolve()),{activeIndex:re,result:ne}}function whenAborted(G){return new Promise((H,X)=>{const Q=new Error("aborted");G.aborted?X(Q):G.addEventListener("abort",()=>X(Q),{once:!0})})}function useAsyncState(G,H,X){const{immediate:Q=!0,delay:K=0,onError:Z=noop$5,onSuccess:ee=noop$5,resetOnExecute:te=!0,shallow:ne=!0,throwError:re}=X??{},oe=ne?vue.shallowRef(H):vue.ref(H),ae=vue.ref(!1),se=vue.ref(!1),le=vue.shallowRef(void 0);async function ce(he=0,...fe){te&&(oe.value=H),le.value=void 0,ae.value=!1,se.value=!0,he>0&&await promiseTimeout(he);const pe=typeof G=="function"?G(...fe):G;try{const ve=await pe;oe.value=ve,ae.value=!0,ee(ve)}catch(ve){if(le.value=ve,Z(ve),re)throw ve}finally{se.value=!1}return oe.value}Q&&ce(K);const de={state:oe,isReady:ae,isLoading:se,error:le,execute:ce};function ue(){return new Promise((he,fe)=>{until(se).toBe(!1).then(()=>he(de)).catch(fe)})}return{...de,then(he,fe){return ue().then(he,fe)}}}const defaults$4={array:G=>JSON.stringify(G),object:G=>JSON.stringify(G),set:G=>JSON.stringify(Array.from(G)),map:G=>JSON.stringify(Object.fromEntries(G)),null:()=>""};function getDefaultSerialization(G){return G?G instanceof Map?defaults$4.map:G instanceof Set?defaults$4.set:Array.isArray(G)?defaults$4.array:defaults$4.object:defaults$4.null}function useBase64(G,H){const X=vue.ref(""),Q=vue.ref();function K(){if(isClient$1)return Q.value=new Promise((Z,ee)=>{try{const te=toValue(G);if(te==null)Z("");else if(typeof te=="string")Z(blobToBase64(new Blob([te],{type:"text/plain"})));else if(te instanceof Blob)Z(blobToBase64(te));else if(te instanceof ArrayBuffer)Z(window.btoa(String.fromCharCode(...new Uint8Array(te))));else if(te instanceof HTMLCanvasElement)Z(te.toDataURL(H==null?void 0:H.type,H==null?void 0:H.quality));else if(te instanceof HTMLImageElement){const ne=te.cloneNode(!1);ne.crossOrigin="Anonymous",imgLoaded(ne).then(()=>{const re=document.createElement("canvas"),oe=re.getContext("2d");re.width=ne.width,re.height=ne.height,oe.drawImage(ne,0,0,re.width,re.height),Z(re.toDataURL(H==null?void 0:H.type,H==null?void 0:H.quality))}).catch(ee)}else if(typeof te=="object"){const re=((H==null?void 0:H.serializer)||getDefaultSerialization(te))(te);return Z(blobToBase64(new Blob([re],{type:"application/json"})))}else ee(new Error("target is unsupported types"))}catch(te){ee(te)}}),Q.value.then(Z=>X.value=Z),Q.value}return vue.isRef(G)||typeof G=="function"?vue.watch(G,K,{immediate:!0}):K(),{base64:X,promise:Q,execute:K}}function imgLoaded(G){return new Promise((H,X)=>{G.complete?H():(G.onload=()=>{H()},G.onerror=X)})}function blobToBase64(G){return new Promise((H,X)=>{const Q=new FileReader;Q.onload=K=>{H(K.target.result)},Q.onerror=X,Q.readAsDataURL(G)})}function useBattery(G={}){const{navigator:H=defaultNavigator}=G,X=["chargingchange","chargingtimechange","dischargingtimechange","levelchange"],Q=useSupported(()=>H&&"getBattery"in H&&typeof H.getBattery=="function"),K=vue.ref(!1),Z=vue.ref(0),ee=vue.ref(0),te=vue.ref(1);let ne;function re(){K.value=this.charging,Z.value=this.chargingTime||0,ee.value=this.dischargingTime||0,te.value=this.level}return Q.value&&H.getBattery().then(oe=>{ne=oe,re.call(ne),useEventListener(ne,X,re,{passive:!0})}),{isSupported:Q,charging:K,chargingTime:Z,dischargingTime:ee,level:te}}function useBluetooth(G){let{acceptAllDevices:H=!1}=G||{};const{filters:X=void 0,optionalServices:Q=void 0,navigator:K=defaultNavigator}=G||{},Z=useSupported(()=>K&&"bluetooth"in K),ee=vue.shallowRef(void 0),te=vue.shallowRef(null);vue.watch(ee,()=>{ae()});async function ne(){if(Z.value){te.value=null,X&&X.length>0&&(H=!1);try{ee.value=await(K==null?void 0:K.bluetooth.requestDevice({acceptAllDevices:H,filters:X,optionalServices:Q}))}catch(se){te.value=se}}}const re=vue.ref(),oe=vue.computed(()=>{var se;return((se=re.value)==null?void 0:se.connected)||!1});async function ae(){if(te.value=null,ee.value&&ee.value.gatt){ee.value.addEventListener("gattserverdisconnected",()=>{});try{re.value=await ee.value.gatt.connect()}catch(se){te.value=se}}}return tryOnMounted(()=>{var se;ee.value&&((se=ee.value.gatt)==null||se.connect())}),tryOnScopeDispose(()=>{var se;ee.value&&((se=ee.value.gatt)==null||se.disconnect())}),{isSupported:Z,isConnected:oe,device:ee,requestDevice:ne,server:re,error:te}}function useMediaQuery(G,H={}){const{window:X=defaultWindow}=H,Q=useSupported(()=>X&&"matchMedia"in X&&typeof X.matchMedia=="function");let K;const Z=vue.ref(!1),ee=re=>{Z.value=re.matches},te=()=>{K&&("removeEventListener"in K?K.removeEventListener("change",ee):K.removeListener(ee))},ne=vue.watchEffect(()=>{Q.value&&(te(),K=X.matchMedia(toValue(G)),"addEventListener"in K?K.addEventListener("change",ee):K.addListener(ee),Z.value=K.matches)});return tryOnScopeDispose(()=>{ne(),te(),K=void 0}),Z}const breakpointsTailwind={sm:640,md:768,lg:1024,xl:1280,"2xl":1536},breakpointsBootstrapV5={xs:0,sm:576,md:768,lg:992,xl:1200,xxl:1400},breakpointsVuetifyV2={xs:0,sm:600,md:960,lg:1264,xl:1904},breakpointsVuetifyV3={xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560},breakpointsVuetify=breakpointsVuetifyV2,breakpointsAntDesign={xs:480,sm:576,md:768,lg:992,xl:1200,xxl:1600},breakpointsQuasar={xs:0,sm:600,md:1024,lg:1440,xl:1920},breakpointsSematic={mobileS:320,mobileM:375,mobileL:425,tablet:768,laptop:1024,laptopL:1440,desktop4K:2560},breakpointsMasterCss={"3xs":360,"2xs":480,xs:600,sm:768,md:1024,lg:1280,xl:1440,"2xl":1600,"3xl":1920,"4xl":2560},breakpointsPrimeFlex={sm:576,md:768,lg:992,xl:1200};function useBreakpoints(G,H={}){function X(oe,ae){let se=toValue(G[toValue(oe)]);return ae!=null&&(se=increaseWithUnit(se,ae)),typeof se=="number"&&(se=`${se}px`),se}const{window:Q=defaultWindow,strategy:K="min-width"}=H;function Z(oe){return Q?Q.matchMedia(oe).matches:!1}const ee=oe=>useMediaQuery(()=>`(min-width: ${X(oe)})`,H),te=oe=>useMediaQuery(()=>`(max-width: ${X(oe)})`,H),ne=Object.keys(G).reduce((oe,ae)=>(Object.defineProperty(oe,ae,{get:()=>K==="min-width"?ee(ae):te(ae),enumerable:!0,configurable:!0}),oe),{});function re(){const oe=Object.keys(G).map(ae=>[ae,ee(ae)]);return vue.computed(()=>oe.filter(([,ae])=>ae.value).map(([ae])=>ae))}return Object.assign(ne,{greaterOrEqual:ee,smallerOrEqual:te,greater(oe){return useMediaQuery(()=>`(min-width: ${X(oe,.1)})`,H)},smaller(oe){return useMediaQuery(()=>`(max-width: ${X(oe,-.1)})`,H)},between(oe,ae){return useMediaQuery(()=>`(min-width: ${X(oe)}) and (max-width: ${X(ae,-.1)})`,H)},isGreater(oe){return Z(`(min-width: ${X(oe,.1)})`)},isGreaterOrEqual(oe){return Z(`(min-width: ${X(oe)})`)},isSmaller(oe){return Z(`(max-width: ${X(oe,-.1)})`)},isSmallerOrEqual(oe){return Z(`(max-width: ${X(oe)})`)},isInBetween(oe,ae){return Z(`(min-width: ${X(oe)}) and (max-width: ${X(ae,-.1)})`)},current:re,active(){const oe=re();return vue.computed(()=>oe.value.length===0?"":oe.value.at(-1))}})}function useBroadcastChannel(G){const{name:H,window:X=defaultWindow}=G,Q=useSupported(()=>X&&"BroadcastChannel"in X),K=vue.ref(!1),Z=vue.ref(),ee=vue.ref(),te=vue.shallowRef(null),ne=oe=>{Z.value&&Z.value.postMessage(oe)},re=()=>{Z.value&&Z.value.close(),K.value=!0};return Q.value&&tryOnMounted(()=>{te.value=null,Z.value=new BroadcastChannel(H),Z.value.addEventListener("message",oe=>{ee.value=oe.data},{passive:!0}),Z.value.addEventListener("messageerror",oe=>{te.value=oe},{passive:!0}),Z.value.addEventListener("close",()=>{K.value=!0})}),tryOnScopeDispose(()=>{re()}),{isSupported:Q,channel:Z,data:ee,post:ne,close:re,error:te,isClosed:K}}const WRITABLE_PROPERTIES=["hash","host","hostname","href","pathname","port","protocol","search"];function useBrowserLocation(G={}){const{window:H=defaultWindow}=G,X=Object.fromEntries(WRITABLE_PROPERTIES.map(Z=>[Z,vue.ref()]));for(const[Z,ee]of objectEntries(X))vue.watch(ee,te=>{!(H!=null&&H.location)||H.location[Z]===te||(H.location[Z]=te)});const Q=Z=>{var ee;const{state:te,length:ne}=(H==null?void 0:H.history)||{},{origin:re}=(H==null?void 0:H.location)||{};for(const oe of WRITABLE_PROPERTIES)X[oe].value=(ee=H==null?void 0:H.location)==null?void 0:ee[oe];return vue.reactive({trigger:Z,state:te,length:ne,origin:re,...X})},K=vue.ref(Q("load"));return H&&(useEventListener(H,"popstate",()=>K.value=Q("popstate"),{passive:!0}),useEventListener(H,"hashchange",()=>K.value=Q("hashchange"),{passive:!0})),K}function useCached(G,H=(Q,K)=>Q===K,X){const Q=vue.ref(G.value);return vue.watch(()=>G.value,K=>{H(K,Q.value)||(Q.value=K)},X),Q}function usePermission$1(G,H={}){const{controls:X=!1,navigator:Q=defaultNavigator}=H,K=useSupported(()=>Q&&"permissions"in Q);let Z;const ee=typeof G=="string"?{name:G}:G,te=vue.ref(),ne=()=>{Z&&(te.value=Z.state)},re=createSingletonPromise(async()=>{if(K.value){if(!Z)try{Z=await Q.permissions.query(ee),useEventListener(Z,"change",ne),ne()}catch{te.value="prompt"}return Z}});return re(),X?{state:te,isSupported:K,query:re}:te}function useClipboard(G={}){const{navigator:H=defaultNavigator,read:X=!1,source:Q,copiedDuring:K=1500,legacy:Z=!1}=G,ee=useSupported(()=>H&&"clipboard"in H),te=usePermission$1("clipboard-read"),ne=usePermission$1("clipboard-write"),re=vue.computed(()=>ee.value||Z),oe=vue.ref(""),ae=vue.ref(!1),se=useTimeoutFn(()=>ae.value=!1,K);function le(){ee.value&&he(te.value)?H.clipboard.readText().then(fe=>{oe.value=fe}):oe.value=ue()}re.value&&X&&useEventListener(["copy","cut"],le);async function ce(fe=toValue(Q)){re.value&&fe!=null&&(ee.value&&he(ne.value)?await H.clipboard.writeText(fe):de(fe),oe.value=fe,ae.value=!0,se.start())}function de(fe){const pe=document.createElement("textarea");pe.value=fe??"",pe.style.position="absolute",pe.style.opacity="0",document.body.appendChild(pe),pe.select(),document.execCommand("copy"),pe.remove()}function ue(){var fe,pe,ve;return(ve=(pe=(fe=document==null?void 0:document.getSelection)==null?void 0:fe.call(document))==null?void 0:pe.toString())!=null?ve:""}function he(fe){return fe==="granted"||fe==="prompt"}return{isSupported:re,text:oe,copied:ae,copy:ce}}function useClipboardItems(G={}){const{navigator:H=defaultNavigator,read:X=!1,source:Q,copiedDuring:K=1500}=G,Z=useSupported(()=>H&&"clipboard"in H),ee=vue.ref([]),te=vue.ref(!1),ne=useTimeoutFn(()=>te.value=!1,K);function re(){Z.value&&H.clipboard.read().then(ae=>{ee.value=ae})}Z.value&&X&&useEventListener(["copy","cut"],re);async function oe(ae=toValue(Q)){Z.value&&ae!=null&&(await H.clipboard.write(ae),ee.value=ae,te.value=!0,ne.start())}return{isSupported:Z,content:ee,copied:te,copy:oe}}function cloneFnJSON(G){return JSON.parse(JSON.stringify(G))}function useCloned(G,H={}){const X=vue.ref({}),{manual:Q,clone:K=cloneFnJSON,deep:Z=!0,immediate:ee=!0}=H;function te(){X.value=K(toValue(G))}return!Q&&(vue.isRef(G)||typeof G=="function")?vue.watch(G,te,{...H,deep:Z,immediate:ee}):te(),{cloned:X,sync:te}}const _global$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},globalKey="__vueuse_ssr_handlers__",handlers=getHandlers();function getHandlers(){return globalKey in _global$1||(_global$1[globalKey]=_global$1[globalKey]||{}),_global$1[globalKey]}function getSSRHandler(G,H){return handlers[G]||H}function setSSRHandler(G,H){handlers[G]=H}function guessSerializerType(G){return G==null?"any":G instanceof Set?"set":G instanceof Map?"map":G instanceof Date?"date":typeof G=="boolean"?"boolean":typeof G=="string"?"string":typeof G=="object"?"object":Number.isNaN(G)?"any":"number"}const StorageSerializers={boolean:{read:G=>G==="true",write:G=>String(G)},object:{read:G=>JSON.parse(G),write:G=>JSON.stringify(G)},number:{read:G=>Number.parseFloat(G),write:G=>String(G)},any:{read:G=>G,write:G=>String(G)},string:{read:G=>G,write:G=>String(G)},map:{read:G=>new Map(JSON.parse(G)),write:G=>JSON.stringify(Array.from(G.entries()))},set:{read:G=>new Set(JSON.parse(G)),write:G=>JSON.stringify(Array.from(G))},date:{read:G=>new Date(G),write:G=>G.toISOString()}},customStorageEventName="vueuse-storage";function useStorage(G,H,X,Q={}){var K;const{flush:Z="pre",deep:ee=!0,listenToStorageChanges:te=!0,writeDefaults:ne=!0,mergeDefaults:re=!1,shallow:oe,window:ae=defaultWindow,eventFilter:se,onError:le=xe=>{console.error(xe)},initOnMounted:ce}=Q,de=(oe?vue.shallowRef:vue.ref)(typeof H=="function"?H():H);if(!X)try{X=getSSRHandler("getDefaultStorage",()=>{var xe;return(xe=defaultWindow)==null?void 0:xe.localStorage})()}catch(xe){le(xe)}if(!X)return de;const ue=toValue(H),he=guessSerializerType(ue),fe=(K=Q.serializer)!=null?K:StorageSerializers[he],{pause:pe,resume:ve}=watchPausable(de,()=>ge(de.value),{flush:Z,deep:ee,eventFilter:se});ae&&te&&tryOnMounted(()=>{useEventListener(ae,"storage",$e),useEventListener(ae,customStorageEventName,Ee),ce&&$e()}),ce||$e();function me(xe,Me){ae&&ae.dispatchEvent(new CustomEvent(customStorageEventName,{detail:{key:G,oldValue:xe,newValue:Me,storageArea:X}}))}function ge(xe){try{const Me=X.getItem(G);if(xe==null)me(Me,null),X.removeItem(G);else{const De=fe.write(xe);Me!==De&&(X.setItem(G,De),me(Me,De))}}catch(Me){le(Me)}}function we(xe){const Me=xe?xe.newValue:X.getItem(G);if(Me==null)return ne&&ue!=null&&X.setItem(G,fe.write(ue)),ue;if(!xe&&re){const De=fe.read(Me);return typeof re=="function"?re(De,ue):he==="object"&&!Array.isArray(De)?{...ue,...De}:De}else return typeof Me!="string"?Me:fe.read(Me)}function $e(xe){if(!(xe&&xe.storageArea!==X)){if(xe&&xe.key==null){de.value=ue;return}if(!(xe&&xe.key!==G)){pe();try{(xe==null?void 0:xe.newValue)!==fe.write(de.value)&&(de.value=we(xe))}catch(Me){le(Me)}finally{xe?vue.nextTick(ve):ve()}}}}function Ee(xe){$e(xe.detail)}return de}function usePreferredDark(G){return useMediaQuery("(prefers-color-scheme: dark)",G)}function useColorMode(G={}){const{selector:H="html",attribute:X="class",initialValue:Q="auto",window:K=defaultWindow,storage:Z,storageKey:ee="vueuse-color-scheme",listenToStorageChanges:te=!0,storageRef:ne,emitAuto:re,disableTransition:oe=!0}=G,ae={auto:"",light:"light",dark:"dark",...G.modes||{}},se=usePreferredDark({window:K}),le=vue.computed(()=>se.value?"dark":"light"),ce=ne||(ee==null?toRef(Q):useStorage(ee,Q,Z,{window:K,listenToStorageChanges:te})),de=vue.computed(()=>ce.value==="auto"?le.value:ce.value),ue=getSSRHandler("updateHTMLAttrs",(ve,me,ge)=>{const we=typeof ve=="string"?K==null?void 0:K.document.querySelector(ve):unrefElement(ve);if(!we)return;let $e;if(oe&&($e=K.document.createElement("style"),$e.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),K.document.head.appendChild($e)),me==="class"){const Ee=ge.split(/\s/g);Object.values(ae).flatMap(xe=>(xe||"").split(/\s/g)).filter(Boolean).forEach(xe=>{Ee.includes(xe)?we.classList.add(xe):we.classList.remove(xe)})}else we.setAttribute(me,ge);oe&&(K.getComputedStyle($e).opacity,document.head.removeChild($e))});function he(ve){var me;ue(H,X,(me=ae[ve])!=null?me:ve)}function fe(ve){G.onChanged?G.onChanged(ve,he):he(ve)}vue.watch(de,fe,{flush:"post",immediate:!0}),tryOnMounted(()=>fe(de.value));const pe=vue.computed({get(){return re?ce.value:de.value},set(ve){ce.value=ve}});try{return Object.assign(pe,{store:ce,system:le,state:de})}catch{return pe}}function useConfirmDialog(G=vue.ref(!1)){const H=createEventHook(),X=createEventHook(),Q=createEventHook();let K=noop$5;const Z=ne=>(Q.trigger(ne),G.value=!0,new Promise(re=>{K=re})),ee=ne=>{G.value=!1,H.trigger(ne),K({data:ne,isCanceled:!1})},te=ne=>{G.value=!1,X.trigger(ne),K({data:ne,isCanceled:!0})};return{isRevealed:vue.computed(()=>G.value),reveal:Z,confirm:ee,cancel:te,onReveal:Q.on,onConfirm:H.on,onCancel:X.on}}function useCssVar(G,H,X={}){const{window:Q=defaultWindow,initialValue:K="",observe:Z=!1}=X,ee=vue.ref(K),te=vue.computed(()=>{var re;return unrefElement(H)||((re=Q==null?void 0:Q.document)==null?void 0:re.documentElement)});function ne(){var re;const oe=toValue(G),ae=toValue(te);if(ae&&Q){const se=(re=Q.getComputedStyle(ae).getPropertyValue(oe))==null?void 0:re.trim();ee.value=se||K}}return Z&&useMutationObserver(te,ne,{attributeFilter:["style","class"],window:Q}),vue.watch([te,()=>toValue(G)],ne,{immediate:!0}),vue.watch(ee,re=>{var oe;(oe=te.value)!=null&&oe.style&&te.value.style.setProperty(toValue(G),re)}),ee}function useCurrentElement(G){const H=vue.getCurrentInstance(),X=computedWithControl(()=>null,()=>G?unrefElement(G):H.proxy.$el);return vue.onUpdated(X.trigger),vue.onMounted(X.trigger),X}function useCycleList(G,H){const X=vue.shallowRef(re()),Q=toRef(G),K=vue.computed({get(){var oe;const ae=Q.value;let se=H!=null&&H.getIndexOf?H.getIndexOf(X.value,ae):ae.indexOf(X.value);return se<0&&(se=(oe=H==null?void 0:H.fallbackIndex)!=null?oe:0),se},set(oe){Z(oe)}});function Z(oe){const ae=Q.value,se=ae.length,le=(oe%se+se)%se,ce=ae[le];return X.value=ce,ce}function ee(oe=1){return Z(K.value+oe)}function te(oe=1){return ee(oe)}function ne(oe=1){return ee(-oe)}function re(){var oe,ae;return(ae=toValue((oe=H==null?void 0:H.initialValue)!=null?oe:toValue(G)[0]))!=null?ae:void 0}return vue.watch(Q,()=>Z(K.value)),{state:X,index:K,next:te,prev:ne,go:Z}}function useDark(G={}){const{valueDark:H="dark",valueLight:X="",window:Q=defaultWindow}=G,K=useColorMode({...G,onChanged:(te,ne)=>{var re;G.onChanged?(re=G.onChanged)==null||re.call(G,te==="dark",ne,te):ne(te)},modes:{dark:H,light:X}}),Z=vue.computed(()=>K.system?K.system.value:usePreferredDark({window:Q}).value?"dark":"light");return vue.computed({get(){return K.value==="dark"},set(te){const ne=te?"dark":"light";Z.value===ne?K.value="auto":K.value=ne}})}function fnBypass(G){return G}function fnSetSource(G,H){return G.value=H}function defaultDump(G){return G?typeof G=="function"?G:cloneFnJSON:fnBypass}function defaultParse(G){return G?typeof G=="function"?G:cloneFnJSON:fnBypass}function useManualRefHistory(G,H={}){const{clone:X=!1,dump:Q=defaultDump(X),parse:K=defaultParse(X),setSource:Z=fnSetSource}=H;function ee(){return vue.markRaw({snapshot:Q(G.value),timestamp:timestamp()})}const te=vue.ref(ee()),ne=vue.ref([]),re=vue.ref([]),oe=pe=>{Z(G,K(pe.snapshot)),te.value=pe},ae=()=>{ne.value.unshift(te.value),te.value=ee(),H.capacity&&ne.value.length>H.capacity&&ne.value.splice(H.capacity,Number.POSITIVE_INFINITY),re.value.length&&re.value.splice(0,re.value.length)},se=()=>{ne.value.splice(0,ne.value.length),re.value.splice(0,re.value.length)},le=()=>{const pe=ne.value.shift();pe&&(re.value.unshift(te.value),oe(pe))},ce=()=>{const pe=re.value.shift();pe&&(ne.value.unshift(te.value),oe(pe))},de=()=>{oe(te.value)},ue=vue.computed(()=>[te.value,...ne.value]),he=vue.computed(()=>ne.value.length>0),fe=vue.computed(()=>re.value.length>0);return{source:G,undoStack:ne,redoStack:re,last:te,history:ue,canUndo:he,canRedo:fe,clear:se,commit:ae,reset:de,undo:le,redo:ce}}function useRefHistory(G,H={}){const{deep:X=!1,flush:Q="pre",eventFilter:K}=H,{eventFilter:Z,pause:ee,resume:te,isActive:ne}=pausableFilter(K),{ignoreUpdates:re,ignorePrevAsyncUpdates:oe,stop:ae}=watchIgnorable(G,ue,{deep:X,flush:Q,eventFilter:Z});function se(ve,me){oe(),re(()=>{ve.value=me})}const le=useManualRefHistory(G,{...H,clone:H.clone||X,setSource:se}),{clear:ce,commit:de}=le;function ue(){oe(),de()}function he(ve){te(),ve&&ue()}function fe(ve){let me=!1;const ge=()=>me=!0;re(()=>{ve(ge)}),me||ue()}function pe(){ae(),ce()}return{...le,isTracking:ne,pause:ee,resume:he,commit:ue,batch:fe,dispose:pe}}function useDebouncedRefHistory(G,H={}){const X=H.debounce?debounceFilter(H.debounce):void 0;return{...useRefHistory(G,{...H,eventFilter:X})}}function useDeviceMotion(G={}){const{window:H=defaultWindow,eventFilter:X=bypassFilter}=G,Q=vue.ref({x:null,y:null,z:null}),K=vue.ref({alpha:null,beta:null,gamma:null}),Z=vue.ref(0),ee=vue.ref({x:null,y:null,z:null});if(H){const te=createFilterWrapper(X,ne=>{Q.value=ne.acceleration,ee.value=ne.accelerationIncludingGravity,K.value=ne.rotationRate,Z.value=ne.interval});useEventListener(H,"devicemotion",te)}return{acceleration:Q,accelerationIncludingGravity:ee,rotationRate:K,interval:Z}}function useDeviceOrientation(G={}){const{window:H=defaultWindow}=G,X=useSupported(()=>H&&"DeviceOrientationEvent"in H),Q=vue.ref(!1),K=vue.ref(null),Z=vue.ref(null),ee=vue.ref(null);return H&&X.value&&useEventListener(H,"deviceorientation",te=>{Q.value=te.absolute,K.value=te.alpha,Z.value=te.beta,ee.value=te.gamma}),{isSupported:X,isAbsolute:Q,alpha:K,beta:Z,gamma:ee}}function useDevicePixelRatio(G={}){const{window:H=defaultWindow}=G,X=vue.ref(1);if(H){let Q=function(){X.value=H.devicePixelRatio,K(),Z=H.matchMedia(`(resolution: ${X.value}dppx)`),Z.addEventListener("change",Q,{once:!0})},K=function(){Z==null||Z.removeEventListener("change",Q)},Z;Q(),tryOnScopeDispose(K)}return{pixelRatio:X}}function useDevicesList(G={}){const{navigator:H=defaultNavigator,requestPermissions:X=!1,constraints:Q={audio:!0,video:!0},onUpdated:K}=G,Z=vue.ref([]),ee=vue.computed(()=>Z.value.filter(ce=>ce.kind==="videoinput")),te=vue.computed(()=>Z.value.filter(ce=>ce.kind==="audioinput")),ne=vue.computed(()=>Z.value.filter(ce=>ce.kind==="audiooutput")),re=useSupported(()=>H&&H.mediaDevices&&H.mediaDevices.enumerateDevices),oe=vue.ref(!1);let ae;async function se(){re.value&&(Z.value=await H.mediaDevices.enumerateDevices(),K==null||K(Z.value),ae&&(ae.getTracks().forEach(ce=>ce.stop()),ae=null))}async function le(){if(!re.value)return!1;if(oe.value)return!0;const{state:ce,query:de}=usePermission$1("camera",{controls:!0});return await de(),ce.value!=="granted"&&(ae=await H.mediaDevices.getUserMedia(Q),se()),oe.value=!0,oe.value}return re.value&&(X&&le(),useEventListener(H.mediaDevices,"devicechange",se),se()),{devices:Z,ensurePermissions:le,permissionGranted:oe,videoInputs:ee,audioInputs:te,audioOutputs:ne,isSupported:re}}function useDisplayMedia(G={}){var H;const X=vue.ref((H=G.enabled)!=null?H:!1),Q=G.video,K=G.audio,{navigator:Z=defaultNavigator}=G,ee=useSupported(()=>{var le;return(le=Z==null?void 0:Z.mediaDevices)==null?void 0:le.getDisplayMedia}),te={audio:K,video:Q},ne=vue.shallowRef();async function re(){var le;if(!(!ee.value||ne.value))return ne.value=await Z.mediaDevices.getDisplayMedia(te),(le=ne.value)==null||le.getTracks().forEach(ce=>ce.addEventListener("ended",ae)),ne.value}async function oe(){var le;(le=ne.value)==null||le.getTracks().forEach(ce=>ce.stop()),ne.value=void 0}function ae(){oe(),X.value=!1}async function se(){return await re(),ne.value&&(X.value=!0),ne.value}return vue.watch(X,le=>{le?re():oe()},{immediate:!0}),{isSupported:ee,stream:ne,start:se,stop:ae,enabled:X}}function useDocumentVisibility(G={}){const{document:H=defaultDocument}=G;if(!H)return vue.ref("visible");const X=vue.ref(H.visibilityState);return useEventListener(H,"visibilitychange",()=>{X.value=H.visibilityState}),X}function useDraggable(G,H={}){var X,Q;const{pointerTypes:K,preventDefault:Z,stopPropagation:ee,exact:te,onMove:ne,onEnd:re,onStart:oe,initialValue:ae,axis:se="both",draggingElement:le=defaultWindow,containerElement:ce,handle:de=G}=H,ue=vue.ref((X=toValue(ae))!=null?X:{x:0,y:0}),he=vue.ref(),fe=we=>K?K.includes(we.pointerType):!0,pe=we=>{toValue(Z)&&we.preventDefault(),toValue(ee)&&we.stopPropagation()},ve=we=>{var $e;if(we.button!==0||toValue(H.disabled)||!fe(we)||toValue(te)&&we.target!==toValue(G))return;const Ee=toValue(ce),xe=($e=Ee==null?void 0:Ee.getBoundingClientRect)==null?void 0:$e.call(Ee),Me=toValue(G).getBoundingClientRect(),De={x:we.clientX-(Ee?Me.left-xe.left+Ee.scrollLeft:Me.left),y:we.clientY-(Ee?Me.top-xe.top+Ee.scrollTop:Me.top)};(oe==null?void 0:oe(De,we))!==!1&&(he.value=De,pe(we))},me=we=>{if(toValue(H.disabled)||!fe(we)||!he.value)return;const $e=toValue(ce),Ee=toValue(G).getBoundingClientRect();let{x:xe,y:Me}=ue.value;(se==="x"||se==="both")&&(xe=we.clientX-he.value.x,$e&&(xe=Math.min(Math.max(0,xe),$e.scrollWidth-Ee.width))),(se==="y"||se==="both")&&(Me=we.clientY-he.value.y,$e&&(Me=Math.min(Math.max(0,Me),$e.scrollHeight-Ee.height))),ue.value={x:xe,y:Me},ne==null||ne(ue.value,we),pe(we)},ge=we=>{toValue(H.disabled)||!fe(we)||he.value&&(he.value=void 0,re==null||re(ue.value,we),pe(we))};if(isClient$1){const we={capture:(Q=H.capture)!=null?Q:!0};useEventListener(de,"pointerdown",ve,we),useEventListener(le,"pointermove",me,we),useEventListener(le,"pointerup",ge,we)}return{...toRefs(ue),position:ue,isDragging:vue.computed(()=>!!he.value),style:vue.computed(()=>`left:${ue.value.x}px;top:${ue.value.y}px;`)}}function useDropZone(G,H={}){const X=vue.ref(!1),Q=vue.shallowRef(null);let K=0,Z=!0;if(isClient$1){const ee=typeof H=="function"?{onDrop:H}:H,te=ne=>{var re,oe;const ae=Array.from((oe=(re=ne.dataTransfer)==null?void 0:re.files)!=null?oe:[]);return Q.value=ae.length===0?null:ae};useEventListener(G,"dragenter",ne=>{var re,oe;const ae=Array.from(((re=ne==null?void 0:ne.dataTransfer)==null?void 0:re.items)||[]).map(se=>se.kind==="file"?se.type:null).filter(notNullish);if(ee.dataTypes&&ne.dataTransfer){const se=vue.unref(ee.dataTypes);if(Z=typeof se=="function"?se(ae):se?se.some(le=>ae.includes(le)):!0,!Z)return}ne.preventDefault(),K+=1,X.value=!0,(oe=ee.onEnter)==null||oe.call(ee,te(ne),ne)}),useEventListener(G,"dragover",ne=>{var re;Z&&(ne.preventDefault(),(re=ee.onOver)==null||re.call(ee,te(ne),ne))}),useEventListener(G,"dragleave",ne=>{var re;Z&&(ne.preventDefault(),K-=1,K===0&&(X.value=!1),(re=ee.onLeave)==null||re.call(ee,te(ne),ne))}),useEventListener(G,"drop",ne=>{var re;ne.preventDefault(),K=0,X.value=!1,(re=ee.onDrop)==null||re.call(ee,te(ne),ne)})}return{files:Q,isOverDropZone:X}}function useResizeObserver(G,H,X={}){const{window:Q=defaultWindow,...K}=X;let Z;const ee=useSupported(()=>Q&&"ResizeObserver"in Q),te=()=>{Z&&(Z.disconnect(),Z=void 0)},ne=vue.computed(()=>Array.isArray(G)?G.map(ae=>unrefElement(ae)):[unrefElement(G)]),re=vue.watch(ne,ae=>{if(te(),ee.value&&Q){Z=new ResizeObserver(H);for(const se of ae)se&&Z.observe(se,K)}},{immediate:!0,flush:"post"}),oe=()=>{te(),re()};return tryOnScopeDispose(oe),{isSupported:ee,stop:oe}}function useElementBounding(G,H={}){const{reset:X=!0,windowResize:Q=!0,windowScroll:K=!0,immediate:Z=!0}=H,ee=vue.ref(0),te=vue.ref(0),ne=vue.ref(0),re=vue.ref(0),oe=vue.ref(0),ae=vue.ref(0),se=vue.ref(0),le=vue.ref(0);function ce(){const de=unrefElement(G);if(!de){X&&(ee.value=0,te.value=0,ne.value=0,re.value=0,oe.value=0,ae.value=0,se.value=0,le.value=0);return}const ue=de.getBoundingClientRect();ee.value=ue.height,te.value=ue.bottom,ne.value=ue.left,re.value=ue.right,oe.value=ue.top,ae.value=ue.width,se.value=ue.x,le.value=ue.y}return useResizeObserver(G,ce),vue.watch(()=>unrefElement(G),de=>!de&&ce()),useMutationObserver(G,ce,{attributeFilter:["style","class"]}),K&&useEventListener("scroll",ce,{capture:!0,passive:!0}),Q&&useEventListener("resize",ce,{passive:!0}),tryOnMounted(()=>{Z&&ce()}),{height:ee,bottom:te,left:ne,right:re,top:oe,width:ae,x:se,y:le,update:ce}}function useElementByPoint(G){const{x:H,y:X,document:Q=defaultDocument,multiple:K,interval:Z="requestAnimationFrame",immediate:ee=!0}=G,te=useSupported(()=>toValue(K)?Q&&"elementsFromPoint"in Q:Q&&"elementFromPoint"in Q),ne=vue.ref(null),re=()=>{var ae,se;ne.value=toValue(K)?(ae=Q==null?void 0:Q.elementsFromPoint(toValue(H),toValue(X)))!=null?ae:[]:(se=Q==null?void 0:Q.elementFromPoint(toValue(H),toValue(X)))!=null?se:null},oe=Z==="requestAnimationFrame"?useRafFn(re,{immediate:ee}):useIntervalFn(re,Z,{immediate:ee});return{isSupported:te,element:ne,...oe}}function useElementHover(G,H={}){const{delayEnter:X=0,delayLeave:Q=0,window:K=defaultWindow}=H,Z=vue.ref(!1);let ee;const te=ne=>{const re=ne?X:Q;ee&&(clearTimeout(ee),ee=void 0),re?ee=setTimeout(()=>Z.value=ne,re):Z.value=ne};return K&&(useEventListener(G,"mouseenter",()=>te(!0),{passive:!0}),useEventListener(G,"mouseleave",()=>te(!1),{passive:!0})),Z}function useElementSize(G,H={width:0,height:0},X={}){const{window:Q=defaultWindow,box:K="content-box"}=X,Z=vue.computed(()=>{var ae,se;return(se=(ae=unrefElement(G))==null?void 0:ae.namespaceURI)==null?void 0:se.includes("svg")}),ee=vue.ref(H.width),te=vue.ref(H.height),{stop:ne}=useResizeObserver(G,([ae])=>{const se=K==="border-box"?ae.borderBoxSize:K==="content-box"?ae.contentBoxSize:ae.devicePixelContentBoxSize;if(Q&&Z.value){const le=unrefElement(G);if(le){const ce=le.getBoundingClientRect();ee.value=ce.width,te.value=ce.height}}else if(se){const le=Array.isArray(se)?se:[se];ee.value=le.reduce((ce,{inlineSize:de})=>ce+de,0),te.value=le.reduce((ce,{blockSize:de})=>ce+de,0)}else ee.value=ae.contentRect.width,te.value=ae.contentRect.height},X);tryOnMounted(()=>{const ae=unrefElement(G);ae&&(ee.value="offsetWidth"in ae?ae.offsetWidth:H.width,te.value="offsetHeight"in ae?ae.offsetHeight:H.height)});const re=vue.watch(()=>unrefElement(G),ae=>{ee.value=ae?H.width:0,te.value=ae?H.height:0});function oe(){ne(),re()}return{width:ee,height:te,stop:oe}}function useIntersectionObserver(G,H,X={}){const{root:Q,rootMargin:K="0px",threshold:Z=.1,window:ee=defaultWindow,immediate:te=!0}=X,ne=useSupported(()=>ee&&"IntersectionObserver"in ee),re=vue.computed(()=>{const ce=toValue(G);return(Array.isArray(ce)?ce:[ce]).map(unrefElement).filter(notNullish)});let oe=noop$5;const ae=vue.ref(te),se=ne.value?vue.watch(()=>[re.value,unrefElement(Q),ae.value],([ce,de])=>{if(oe(),!ae.value||!ce.length)return;const ue=new IntersectionObserver(H,{root:unrefElement(de),rootMargin:K,threshold:Z});ce.forEach(he=>he&&ue.observe(he)),oe=()=>{ue.disconnect(),oe=noop$5}},{immediate:te,flush:"post"}):noop$5,le=()=>{oe(),se(),ae.value=!1};return tryOnScopeDispose(le),{isSupported:ne,isActive:ae,pause(){oe(),ae.value=!1},resume(){ae.value=!0},stop:le}}function useElementVisibility(G,H={}){const{window:X=defaultWindow,scrollTarget:Q,threshold:K=0}=H,Z=vue.ref(!1);return useIntersectionObserver(G,ee=>{let te=Z.value,ne=0;for(const re of ee)re.time>=ne&&(ne=re.time,te=re.isIntersecting);Z.value=te},{root:Q,window:X,threshold:K}),Z}const events$1=new Map;function useEventBus(G){const H=vue.getCurrentScope();function X(te){var ne;const re=events$1.get(G)||new Set;re.add(te),events$1.set(G,re);const oe=()=>K(te);return(ne=H==null?void 0:H.cleanups)==null||ne.push(oe),oe}function Q(te){function ne(...re){K(ne),te(...re)}return X(ne)}function K(te){const ne=events$1.get(G);ne&&(ne.delete(te),ne.size||Z())}function Z(){events$1.delete(G)}function ee(te,ne){var re;(re=events$1.get(G))==null||re.forEach(oe=>oe(te,ne))}return{on:X,once:Q,off:K,emit:ee,reset:Z}}function resolveNestedOptions$1(G){return G===!0?{}:G}function useEventSource(G,H=[],X={}){const Q=vue.ref(null),K=vue.ref(null),Z=vue.ref("CONNECTING"),ee=vue.ref(null),te=vue.shallowRef(null),ne=toRef(G),re=vue.shallowRef(null);let oe=!1,ae=0;const{withCredentials:se=!1,immediate:le=!0}=X,ce=()=>{isClient$1&&ee.value&&(ee.value.close(),ee.value=null,Z.value="CLOSED",oe=!0)},de=()=>{if(oe||typeof ne.value>"u")return;const he=new EventSource(ne.value,{withCredentials:se});Z.value="CONNECTING",ee.value=he,he.onopen=()=>{Z.value="OPEN",te.value=null},he.onerror=fe=>{if(Z.value="CLOSED",te.value=fe,he.readyState===2&&!oe&&X.autoReconnect){he.close();const{retries:pe=-1,delay:ve=1e3,onFailed:me}=resolveNestedOptions$1(X.autoReconnect);ae+=1,typeof pe=="number"&&(pe<0||ae<pe)||typeof pe=="function"&&pe()?setTimeout(de,ve):me==null||me()}},he.onmessage=fe=>{Q.value=null,K.value=fe.data,re.value=fe.lastEventId};for(const fe of H)useEventListener(he,fe,pe=>{Q.value=fe,K.value=pe.data||null})},ue=()=>{isClient$1&&(ce(),oe=!1,ae=0,de())};return le&&vue.watch(ne,ue,{immediate:!0}),tryOnScopeDispose(ce),{eventSource:ee,event:Q,data:K,status:Z,error:te,open:ue,close:ce,lastEventId:re}}function useEyeDropper(G={}){const{initialValue:H=""}=G,X=useSupported(()=>typeof window<"u"&&"EyeDropper"in window),Q=vue.ref(H);async function K(Z){if(!X.value)return;const te=await new window.EyeDropper().open(Z);return Q.value=te.sRGBHex,te}return{isSupported:X,sRGBHex:Q,open:K}}function useFavicon(G=null,H={}){const{baseUrl:X="",rel:Q="icon",document:K=defaultDocument}=H,Z=toRef(G),ee=te=>{const ne=K==null?void 0:K.head.querySelectorAll(`link[rel*="${Q}"]`);if(!ne||ne.length===0){const re=K==null?void 0:K.createElement("link");re&&(re.rel=Q,re.href=`${X}${te}`,re.type=`image/${te.split(".").pop()}`,K==null||K.head.append(re));return}ne==null||ne.forEach(re=>re.href=`${X}${te}`)};return vue.watch(Z,(te,ne)=>{typeof te=="string"&&te!==ne&&ee(te)},{immediate:!0}),Z}const payloadMapping={json:"application/json",text:"text/plain"};function isFetchOptions(G){return G&&containsProp(G,"immediate","refetch","initialData","timeout","beforeFetch","afterFetch","onFetchError","fetch","updateDataOnError")}const reAbsolute=/^(?:[a-z][a-z\d+\-.]*:)?\/\//i;function isAbsoluteURL$1(G){return reAbsolute.test(G)}function headersToObject$1(G){return typeof Headers<"u"&&G instanceof Headers?Object.fromEntries(G.entries()):G}function combineCallbacks(G,...H){return G==="overwrite"?async X=>{const Q=H[H.length-1];return Q?{...X,...await Q(X)}:X}:async X=>{for(const Q of H)Q&&(X={...X,...await Q(X)});return X}}function createFetch(G={}){const H=G.combination||"chain",X=G.options||{},Q=G.fetchOptions||{};function K(Z,...ee){const te=vue.computed(()=>{const oe=toValue(G.baseUrl),ae=toValue(Z);return oe&&!isAbsoluteURL$1(ae)?joinPaths(oe,ae):ae});let ne=X,re=Q;return ee.length>0&&(isFetchOptions(ee[0])?ne={...ne,...ee[0],beforeFetch:combineCallbacks(H,X.beforeFetch,ee[0].beforeFetch),afterFetch:combineCallbacks(H,X.afterFetch,ee[0].afterFetch),onFetchError:combineCallbacks(H,X.onFetchError,ee[0].onFetchError)}:re={...re,...ee[0],headers:{...headersToObject$1(re.headers)||{},...headersToObject$1(ee[0].headers)||{}}}),ee.length>1&&isFetchOptions(ee[1])&&(ne={...ne,...ee[1],beforeFetch:combineCallbacks(H,X.beforeFetch,ee[1].beforeFetch),afterFetch:combineCallbacks(H,X.afterFetch,ee[1].afterFetch),onFetchError:combineCallbacks(H,X.onFetchError,ee[1].onFetchError)}),useFetch(te,re,ne)}return K}function useFetch(G,...H){var X;const Q=typeof AbortController=="function";let K={},Z={immediate:!0,refetch:!1,timeout:0,updateDataOnError:!1};const ee={method:"GET",type:"text",payload:void 0};H.length>0&&(isFetchOptions(H[0])?Z={...Z,...H[0]}:K=H[0]),H.length>1&&isFetchOptions(H[1])&&(Z={...Z,...H[1]});const{fetch:te=(X=defaultWindow)==null?void 0:X.fetch,initialData:ne,timeout:re}=Z,oe=createEventHook(),ae=createEventHook(),se=createEventHook(),le=vue.ref(!1),ce=vue.ref(!1),de=vue.ref(!1),ue=vue.ref(null),he=vue.shallowRef(null),fe=vue.shallowRef(null),pe=vue.shallowRef(ne||null),ve=vue.computed(()=>Q&&ce.value);let me,ge;const we=()=>{Q&&(me==null||me.abort(),me=new AbortController,me.signal.onabort=()=>de.value=!0,K={...K,signal:me.signal})},$e=_e=>{ce.value=_e,le.value=!_e};re&&(ge=useTimeoutFn(we,re,{immediate:!1}));let Ee=0;const xe=async(_e=!1)=>{var ye,Ce;we(),$e(!0),fe.value=null,ue.value=null,de.value=!1,Ee+=1;const be=Ee,Te={method:ee.method,headers:{}};if(ee.payload){const Be=headersToObject$1(Te.headers),je=toValue(ee.payload);!ee.payloadType&&je&&Object.getPrototypeOf(je)===Object.prototype&&!(je instanceof FormData)&&(ee.payloadType="json"),ee.payloadType&&(Be["Content-Type"]=(ye=payloadMapping[ee.payloadType])!=null?ye:ee.payloadType),Te.body=ee.payloadType==="json"?JSON.stringify(je):je}let Ae=!1;const Re={url:toValue(G),options:{...Te,...K},cancel:()=>{Ae=!0}};if(Z.beforeFetch&&Object.assign(Re,await Z.beforeFetch(Re)),Ae||!te)return $e(!1),Promise.resolve(null);let Fe=null;return ge&&ge.start(),te(Re.url,{...Te,...Re.options,headers:{...headersToObject$1(Te.headers),...headersToObject$1((Ce=Re.options)==null?void 0:Ce.headers)}}).then(async Be=>{if(he.value=Be,ue.value=Be.status,Fe=await Be.clone()[ee.type](),!Be.ok)throw pe.value=ne||null,new Error(Be.statusText);return Z.afterFetch&&({data:Fe}=await Z.afterFetch({data:Fe,response:Be})),pe.value=Fe,oe.trigger(Be),Be}).catch(async Be=>{let je=Be.message||Be.name;if(Z.onFetchError&&({error:je,data:Fe}=await Z.onFetchError({data:Fe,error:Be,response:he.value})),fe.value=je,Z.updateDataOnError&&(pe.value=Fe),ae.trigger(Be),_e)throw Be;return null}).finally(()=>{be===Ee&&$e(!1),ge&&ge.stop(),se.trigger(null)})},Me=toRef(Z.refetch);vue.watch([Me,toRef(G)],([_e])=>_e&&xe(),{deep:!0});const De={isFinished:vue.readonly(le),isFetching:vue.readonly(ce),statusCode:ue,response:he,error:fe,data:pe,canAbort:ve,aborted:de,abort:we,execute:xe,onFetchResponse:oe.on,onFetchError:ae.on,onFetchFinally:se.on,get:ke("GET"),put:ke("PUT"),post:ke("POST"),delete:ke("DELETE"),patch:ke("PATCH"),head:ke("HEAD"),options:ke("OPTIONS"),json:Ne("json"),text:Ne("text"),blob:Ne("blob"),arrayBuffer:Ne("arrayBuffer"),formData:Ne("formData")};function ke(_e){return(ye,Ce)=>{if(!ce.value)return ee.method=_e,ee.payload=ye,ee.payloadType=Ce,vue.isRef(ee.payload)&&vue.watch([Me,toRef(ee.payload)],([be])=>be&&xe(),{deep:!0}),{...De,then(be,Te){return Oe().then(be,Te)}}}}function Oe(){return new Promise((_e,ye)=>{until(le).toBe(!0).then(()=>_e(De)).catch(Ce=>ye(Ce))})}function Ne(_e){return()=>{if(!ce.value)return ee.type=_e,{...De,then(ye,Ce){return Oe().then(ye,Ce)}}}}return Z.immediate&&Promise.resolve().then(()=>xe()),{...De,then(_e,ye){return Oe().then(_e,ye)}}}function joinPaths(G,H){return!G.endsWith("/")&&!H.startsWith("/")?`${G}/${H}`:`${G}${H}`}const DEFAULT_OPTIONS={multiple:!0,accept:"*",reset:!1,directory:!1};function useFileDialog(G={}){const{document:H=defaultDocument}=G,X=vue.ref(null),{on:Q,trigger:K}=createEventHook();let Z;H&&(Z=H.createElement("input"),Z.type="file",Z.onchange=ne=>{const re=ne.target;X.value=re.files,K(X.value)});const ee=()=>{X.value=null,Z&&Z.value&&(Z.value="",K(null))},te=ne=>{if(!Z)return;const re={...DEFAULT_OPTIONS,...G,...ne};Z.multiple=re.multiple,Z.accept=re.accept,Z.webkitdirectory=re.directory,hasOwn$3(re,"capture")&&(Z.capture=re.capture),re.reset&&ee(),Z.click()};return{files:vue.readonly(X),open:te,reset:ee,onChange:Q}}function useFileSystemAccess(G={}){const{window:H=defaultWindow,dataType:X="Text"}=G,Q=H,K=useSupported(()=>Q&&"showSaveFilePicker"in Q&&"showOpenFilePicker"in Q),Z=vue.ref(),ee=vue.ref(),te=vue.ref(),ne=vue.computed(()=>{var fe,pe;return(pe=(fe=te.value)==null?void 0:fe.name)!=null?pe:""}),re=vue.computed(()=>{var fe,pe;return(pe=(fe=te.value)==null?void 0:fe.type)!=null?pe:""}),oe=vue.computed(()=>{var fe,pe;return(pe=(fe=te.value)==null?void 0:fe.size)!=null?pe:0}),ae=vue.computed(()=>{var fe,pe;return(pe=(fe=te.value)==null?void 0:fe.lastModified)!=null?pe:0});async function se(fe={}){if(!K.value)return;const[pe]=await Q.showOpenFilePicker({...toValue(G),...fe});Z.value=pe,await he()}async function le(fe={}){K.value&&(Z.value=await Q.showSaveFilePicker({...G,...fe}),ee.value=void 0,await he())}async function ce(fe={}){if(K.value){if(!Z.value)return de(fe);if(ee.value){const pe=await Z.value.createWritable();await pe.write(ee.value),await pe.close()}await ue()}}async function de(fe={}){if(K.value){if(Z.value=await Q.showSaveFilePicker({...G,...fe}),ee.value){const pe=await Z.value.createWritable();await pe.write(ee.value),await pe.close()}await ue()}}async function ue(){var fe;te.value=await((fe=Z.value)==null?void 0:fe.getFile())}async function he(){var fe,pe;await ue();const ve=toValue(X);ve==="Text"?ee.value=await((fe=te.value)==null?void 0:fe.text()):ve==="ArrayBuffer"?ee.value=await((pe=te.value)==null?void 0:pe.arrayBuffer()):ve==="Blob"&&(ee.value=te.value)}return vue.watch(()=>toValue(X),he),{isSupported:K,data:ee,file:te,fileName:ne,fileMIME:re,fileSize:oe,fileLastModified:ae,open:se,create:le,save:ce,saveAs:de,updateData:he}}function useFocus(G,H={}){const{initialValue:X=!1,focusVisible:Q=!1,preventScroll:K=!1}=H,Z=vue.ref(!1),ee=vue.computed(()=>unrefElement(G));useEventListener(ee,"focus",ne=>{var re,oe;(!Q||(oe=(re=ne.target).matches)!=null&&oe.call(re,":focus-visible"))&&(Z.value=!0)}),useEventListener(ee,"blur",()=>Z.value=!1);const te=vue.computed({get:()=>Z.value,set(ne){var re,oe;!ne&&Z.value?(re=ee.value)==null||re.blur():ne&&!Z.value&&((oe=ee.value)==null||oe.focus({preventScroll:K}))}});return vue.watch(ee,()=>{te.value=X},{immediate:!0,flush:"post"}),{focused:te}}function useFocusWithin(G,H={}){const X=useActiveElement(H),Q=vue.computed(()=>unrefElement(G));return{focused:vue.computed(()=>Q.value&&X.value?Q.value.contains(X.value):!1)}}function useFps(G){var H;const X=vue.ref(0);if(typeof performance>"u")return X;const Q=(H=G==null?void 0:G.every)!=null?H:10;let K=performance.now(),Z=0;return useRafFn(()=>{if(Z+=1,Z>=Q){const ee=performance.now(),te=ee-K;X.value=Math.round(1e3/(te/Z)),K=ee,Z=0}}),X}const eventHandlers=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function useFullscreen(G,H={}){const{document:X=defaultDocument,autoExit:Q=!1}=H,K=vue.computed(()=>{var he;return(he=unrefElement(G))!=null?he:X==null?void 0:X.querySelector("html")}),Z=vue.ref(!1),ee=vue.computed(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(he=>X&&he in X||K.value&&he in K.value)),te=vue.computed(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(he=>X&&he in X||K.value&&he in K.value)),ne=vue.computed(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(he=>X&&he in X||K.value&&he in K.value)),re=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(he=>X&&he in X),oe=useSupported(()=>K.value&&X&&ee.value!==void 0&&te.value!==void 0&&ne.value!==void 0),ae=()=>re?(X==null?void 0:X[re])===K.value:!1,se=()=>{if(ne.value){if(X&&X[ne.value]!=null)return X[ne.value];{const he=K.value;if((he==null?void 0:he[ne.value])!=null)return!!he[ne.value]}}return!1};async function le(){if(!(!oe.value||!Z.value)){if(te.value)if((X==null?void 0:X[te.value])!=null)await X[te.value]();else{const he=K.value;(he==null?void 0:he[te.value])!=null&&await he[te.value]()}Z.value=!1}}async function ce(){if(!oe.value||Z.value)return;se()&&await le();const he=K.value;ee.value&&(he==null?void 0:he[ee.value])!=null&&(await he[ee.value](),Z.value=!0)}async function de(){await(Z.value?le():ce())}const ue=()=>{const he=se();(!he||he&&ae())&&(Z.value=he)};return useEventListener(X,eventHandlers,ue,!1),useEventListener(()=>unrefElement(K),eventHandlers,ue,!1),Q&&tryOnScopeDispose(le),{isSupported:oe,isFullscreen:Z,enter:ce,exit:le,toggle:de}}function mapGamepadToXbox360Controller(G){return vue.computed(()=>G.value?{buttons:{a:G.value.buttons[0],b:G.value.buttons[1],x:G.value.buttons[2],y:G.value.buttons[3]},bumper:{left:G.value.buttons[4],right:G.value.buttons[5]},triggers:{left:G.value.buttons[6],right:G.value.buttons[7]},stick:{left:{horizontal:G.value.axes[0],vertical:G.value.axes[1],button:G.value.buttons[10]},right:{horizontal:G.value.axes[2],vertical:G.value.axes[3],button:G.value.buttons[11]}},dpad:{up:G.value.buttons[12],down:G.value.buttons[13],left:G.value.buttons[14],right:G.value.buttons[15]},back:G.value.buttons[8],start:G.value.buttons[9]}:null)}function useGamepad(G={}){const{navigator:H=defaultNavigator}=G,X=useSupported(()=>H&&"getGamepads"in H),Q=vue.ref([]),K=createEventHook(),Z=createEventHook(),ee=le=>{const ce=[],de="vibrationActuator"in le?le.vibrationActuator:null;return de&&ce.push(de),le.hapticActuators&&ce.push(...le.hapticActuators),{id:le.id,index:le.index,connected:le.connected,mapping:le.mapping,timestamp:le.timestamp,vibrationActuator:le.vibrationActuator,hapticActuators:ce,axes:le.axes.map(ue=>ue),buttons:le.buttons.map(ue=>({pressed:ue.pressed,touched:ue.touched,value:ue.value}))}},te=()=>{const le=(H==null?void 0:H.getGamepads())||[];for(const ce of le)ce&&Q.value[ce.index]&&(Q.value[ce.index]=ee(ce))},{isActive:ne,pause:re,resume:oe}=useRafFn(te),ae=le=>{Q.value.some(({index:ce})=>ce===le.index)||(Q.value.push(ee(le)),K.trigger(le.index)),oe()},se=le=>{Q.value=Q.value.filter(ce=>ce.index!==le.index),Z.trigger(le.index)};return useEventListener("gamepadconnected",le=>ae(le.gamepad)),useEventListener("gamepaddisconnected",le=>se(le.gamepad)),tryOnMounted(()=>{const le=(H==null?void 0:H.getGamepads())||[];for(const ce of le)ce&&Q.value[ce.index]&&ae(ce)}),re(),{isSupported:X,onConnected:K.on,onDisconnected:Z.on,gamepads:Q,pause:re,resume:oe,isActive:ne}}function useGeolocation(G={}){const{enableHighAccuracy:H=!0,maximumAge:X=3e4,timeout:Q=27e3,navigator:K=defaultNavigator,immediate:Z=!0}=G,ee=useSupported(()=>K&&"geolocation"in K),te=vue.ref(null),ne=vue.shallowRef(null),re=vue.ref({accuracy:0,latitude:Number.POSITIVE_INFINITY,longitude:Number.POSITIVE_INFINITY,altitude:null,altitudeAccuracy:null,heading:null,speed:null});function oe(ce){te.value=ce.timestamp,re.value=ce.coords,ne.value=null}let ae;function se(){ee.value&&(ae=K.geolocation.watchPosition(oe,ce=>ne.value=ce,{enableHighAccuracy:H,maximumAge:X,timeout:Q}))}Z&&se();function le(){ae&&K&&K.geolocation.clearWatch(ae)}return tryOnScopeDispose(()=>{le()}),{isSupported:ee,coords:re,locatedAt:te,error:ne,resume:se,pause:le}}const defaultEvents$1=["mousemove","mousedown","resize","keydown","touchstart","wheel"],oneMinute=6e4;function useIdle(G=oneMinute,H={}){const{initialState:X=!1,listenForVisibilityChange:Q=!0,events:K=defaultEvents$1,window:Z=defaultWindow,eventFilter:ee=throttleFilter(50)}=H,te=vue.ref(X),ne=vue.ref(timestamp());let re;const oe=()=>{te.value=!1,clearTimeout(re),re=setTimeout(()=>te.value=!0,G)},ae=createFilterWrapper(ee,()=>{ne.value=timestamp(),oe()});if(Z){const se=Z.document;for(const le of K)useEventListener(Z,le,ae,{passive:!0});Q&&useEventListener(se,"visibilitychange",()=>{se.hidden||ae()}),oe()}return{idle:te,lastActive:ne,reset:oe}}async function loadImage(G){return new Promise((H,X)=>{const Q=new Image,{src:K,srcset:Z,sizes:ee,class:te,loading:ne,crossorigin:re,referrerPolicy:oe}=G;Q.src=K,Z&&(Q.srcset=Z),ee&&(Q.sizes=ee),te&&(Q.className=te),ne&&(Q.loading=ne),re&&(Q.crossOrigin=re),oe&&(Q.referrerPolicy=oe),Q.onload=()=>H(Q),Q.onerror=X})}function useImage(G,H={}){const X=useAsyncState(()=>loadImage(toValue(G)),void 0,{resetOnExecute:!0,...H});return vue.watch(()=>toValue(G),()=>X.execute(H.delay),{deep:!0}),X}const ARRIVED_STATE_THRESHOLD_PIXELS=1;function useScroll(G,H={}){const{throttle:X=0,idle:Q=200,onStop:K=noop$5,onScroll:Z=noop$5,offset:ee={left:0,right:0,top:0,bottom:0},eventListenerOptions:te={capture:!1,passive:!0},behavior:ne="auto",window:re=defaultWindow,onError:oe=we=>{console.error(we)}}=H,ae=vue.ref(0),se=vue.ref(0),le=vue.computed({get(){return ae.value},set(we){de(we,void 0)}}),ce=vue.computed({get(){return se.value},set(we){de(void 0,we)}});function de(we,$e){var Ee,xe,Me,De;if(!re)return;const ke=toValue(G);if(!ke)return;(Me=ke instanceof Document?re.document.body:ke)==null||Me.scrollTo({top:(Ee=toValue($e))!=null?Ee:ce.value,left:(xe=toValue(we))!=null?xe:le.value,behavior:toValue(ne)});const Oe=((De=ke==null?void 0:ke.document)==null?void 0:De.documentElement)||(ke==null?void 0:ke.documentElement)||ke;le!=null&&(ae.value=Oe.scrollLeft),ce!=null&&(se.value=Oe.scrollTop)}const ue=vue.ref(!1),he=vue.reactive({left:!0,right:!1,top:!0,bottom:!1}),fe=vue.reactive({left:!1,right:!1,top:!1,bottom:!1}),pe=we=>{ue.value&&(ue.value=!1,fe.left=!1,fe.right=!1,fe.top=!1,fe.bottom=!1,K(we))},ve=useDebounceFn(pe,X+Q),me=we=>{var $e;if(!re)return;const Ee=(($e=we==null?void 0:we.document)==null?void 0:$e.documentElement)||(we==null?void 0:we.documentElement)||unrefElement(we),{display:xe,flexDirection:Me}=getComputedStyle(Ee),De=Ee.scrollLeft;fe.left=De<ae.value,fe.right=De>ae.value;const ke=Math.abs(De)<=(ee.left||0),Oe=Math.abs(De)+Ee.clientWidth>=Ee.scrollWidth-(ee.right||0)-ARRIVED_STATE_THRESHOLD_PIXELS;xe==="flex"&&Me==="row-reverse"?(he.left=Oe,he.right=ke):(he.left=ke,he.right=Oe),ae.value=De;let Ne=Ee.scrollTop;we===re.document&&!Ne&&(Ne=re.document.body.scrollTop),fe.top=Ne<se.value,fe.bottom=Ne>se.value;const _e=Math.abs(Ne)<=(ee.top||0),ye=Math.abs(Ne)+Ee.clientHeight>=Ee.scrollHeight-(ee.bottom||0)-ARRIVED_STATE_THRESHOLD_PIXELS;xe==="flex"&&Me==="column-reverse"?(he.top=ye,he.bottom=_e):(he.top=_e,he.bottom=ye),se.value=Ne},ge=we=>{var $e;if(!re)return;const Ee=($e=we.target.documentElement)!=null?$e:we.target;me(Ee),ue.value=!0,ve(we),Z(we)};return useEventListener(G,"scroll",X?useThrottleFn(ge,X,!0,!1):ge,te),tryOnMounted(()=>{try{const we=toValue(G);if(!we)return;me(we)}catch(we){oe(we)}}),useEventListener(G,"scrollend",pe,te),{x:le,y:ce,isScrolling:ue,arrivedState:he,directions:fe,measure(){const we=toValue(G);re&&we&&me(we)}}}function resolveElement(G){return typeof Window<"u"&&G instanceof Window?G.document.documentElement:typeof Document<"u"&&G instanceof Document?G.documentElement:G}function useInfiniteScroll(G,H,X={}){var Q;const{direction:K="bottom",interval:Z=100,canLoadMore:ee=()=>!0}=X,te=vue.reactive(useScroll(G,{...X,offset:{[K]:(Q=X.distance)!=null?Q:0,...X.offset}})),ne=vue.ref(),re=vue.computed(()=>!!ne.value),oe=vue.computed(()=>resolveElement(toValue(G))),ae=useElementVisibility(oe);function se(){if(te.measure(),!oe.value||!ae.value||!ee(oe.value))return;const{scrollHeight:le,clientHeight:ce,scrollWidth:de,clientWidth:ue}=oe.value,he=K==="bottom"||K==="top"?le<=ce:de<=ue;(te.arrivedState[K]||he)&&(ne.value||(ne.value=Promise.all([H(te),new Promise(fe=>setTimeout(fe,Z))]).finally(()=>{ne.value=null,vue.nextTick(()=>se())})))}return vue.watch(()=>[te.arrivedState[K],ae.value],se,{immediate:!0}),{isLoading:re}}const defaultEvents=["mousedown","mouseup","keydown","keyup"];function useKeyModifier(G,H={}){const{events:X=defaultEvents,document:Q=defaultDocument,initial:K=null}=H,Z=vue.ref(K);return Q&&X.forEach(ee=>{useEventListener(Q,ee,te=>{typeof te.getModifierState=="function"&&(Z.value=te.getModifierState(G))})}),Z}function useLocalStorage(G,H,X={}){const{window:Q=defaultWindow}=X;return useStorage(G,H,Q==null?void 0:Q.localStorage,X)}const DefaultMagicKeysAliasMap={ctrl:"control",command:"meta",cmd:"meta",option:"alt",up:"arrowup",down:"arrowdown",left:"arrowleft",right:"arrowright"};function useMagicKeys(G={}){const{reactive:H=!1,target:X=defaultWindow,aliasMap:Q=DefaultMagicKeysAliasMap,passive:K=!0,onEventFired:Z=noop$5}=G,ee=vue.reactive(new Set),te={toJSON(){return{}},current:ee},ne=H?vue.reactive(te):te,re=new Set,oe=new Set;function ae(de,ue){de in ne&&(H?ne[de]=ue:ne[de].value=ue)}function se(){ee.clear();for(const de of oe)ae(de,!1)}function le(de,ue){var he,fe;const pe=(he=de.key)==null?void 0:he.toLowerCase(),me=[(fe=de.code)==null?void 0:fe.toLowerCase(),pe].filter(Boolean);pe&&(ue?ee.add(pe):ee.delete(pe));for(const ge of me)oe.add(ge),ae(ge,ue);pe==="meta"&&!ue?(re.forEach(ge=>{ee.delete(ge),ae(ge,!1)}),re.clear()):typeof de.getModifierState=="function"&&de.getModifierState("Meta")&&ue&&[...ee,...me].forEach(ge=>re.add(ge))}useEventListener(X,"keydown",de=>(le(de,!0),Z(de)),{passive:K}),useEventListener(X,"keyup",de=>(le(de,!1),Z(de)),{passive:K}),useEventListener("blur",se,{passive:!0}),useEventListener("focus",se,{passive:!0});const ce=new Proxy(ne,{get(de,ue,he){if(typeof ue!="string")return Reflect.get(de,ue,he);if(ue=ue.toLowerCase(),ue in Q&&(ue=Q[ue]),!(ue in ne))if(/[+_-]/.test(ue)){const pe=ue.split(/[+_-]/g).map(ve=>ve.trim());ne[ue]=vue.computed(()=>pe.every(ve=>toValue(ce[ve])))}else ne[ue]=vue.ref(!1);const fe=Reflect.get(de,ue,he);return H?toValue(fe):fe}});return ce}function usingElRef(G,H){toValue(G)&&H(toValue(G))}function timeRangeToArray(G){let H=[];for(let X=0;X<G.length;++X)H=[...H,[G.start(X),G.end(X)]];return H}function tracksToArray(G){return Array.from(G).map(({label:H,kind:X,language:Q,mode:K,activeCues:Z,cues:ee,inBandMetadataTrackDispatchType:te},ne)=>({id:ne,label:H,kind:X,language:Q,mode:K,activeCues:Z,cues:ee,inBandMetadataTrackDispatchType:te}))}const defaultOptions={src:"",tracks:[]};function useMediaControls(G,H={}){G=toRef(G),H={...defaultOptions,...H};const{document:X=defaultDocument}=H,Q=vue.ref(0),K=vue.ref(0),Z=vue.ref(!1),ee=vue.ref(1),te=vue.ref(!1),ne=vue.ref(!1),re=vue.ref(!1),oe=vue.ref(1),ae=vue.ref(!1),se=vue.ref([]),le=vue.ref([]),ce=vue.ref(-1),de=vue.ref(!1),ue=vue.ref(!1),he=X&&"pictureInPictureEnabled"in X,fe=createEventHook(),pe=xe=>{usingElRef(G,Me=>{if(xe){const De=typeof xe=="number"?xe:xe.id;Me.textTracks[De].mode="disabled"}else for(let De=0;De<Me.textTracks.length;++De)Me.textTracks[De].mode="disabled";ce.value=-1})},ve=(xe,Me=!0)=>{usingElRef(G,De=>{const ke=typeof xe=="number"?xe:xe.id;Me&&pe(),De.textTracks[ke].mode="showing",ce.value=ke})},me=()=>new Promise((xe,Me)=>{usingElRef(G,async De=>{he&&(de.value?X.exitPictureInPicture().then(xe).catch(Me):De.requestPictureInPicture().then(xe).catch(Me))})});vue.watchEffect(()=>{if(!X)return;const xe=toValue(G);if(!xe)return;const Me=toValue(H.src);let De=[];Me&&(typeof Me=="string"?De=[{src:Me}]:Array.isArray(Me)?De=Me:isObject$4(Me)&&(De=[Me]),xe.querySelectorAll("source").forEach(ke=>{ke.removeEventListener("error",fe.trigger),ke.remove()}),De.forEach(({src:ke,type:Oe})=>{const Ne=X.createElement("source");Ne.setAttribute("src",ke),Ne.setAttribute("type",Oe||""),Ne.addEventListener("error",fe.trigger),xe.appendChild(Ne)}),xe.load())}),tryOnScopeDispose(()=>{const xe=toValue(G);xe&&xe.querySelectorAll("source").forEach(Me=>Me.removeEventListener("error",fe.trigger))}),vue.watch([G,ee],()=>{const xe=toValue(G);xe&&(xe.volume=ee.value)}),vue.watch([G,ue],()=>{const xe=toValue(G);xe&&(xe.muted=ue.value)}),vue.watch([G,oe],()=>{const xe=toValue(G);xe&&(xe.playbackRate=oe.value)}),vue.watchEffect(()=>{if(!X)return;const xe=toValue(H.tracks),Me=toValue(G);!xe||!xe.length||!Me||(Me.querySelectorAll("track").forEach(De=>De.remove()),xe.forEach(({default:De,kind:ke,label:Oe,src:Ne,srcLang:_e},ye)=>{const Ce=X.createElement("track");Ce.default=De||!1,Ce.kind=ke,Ce.label=Oe,Ce.src=Ne,Ce.srclang=_e,Ce.default&&(ce.value=ye),Me.appendChild(Ce)}))});const{ignoreUpdates:ge}=watchIgnorable(Q,xe=>{const Me=toValue(G);Me&&(Me.currentTime=xe)}),{ignoreUpdates:we}=watchIgnorable(re,xe=>{const Me=toValue(G);Me&&(xe?Me.play():Me.pause())});useEventListener(G,"timeupdate",()=>ge(()=>Q.value=toValue(G).currentTime)),useEventListener(G,"durationchange",()=>K.value=toValue(G).duration),useEventListener(G,"progress",()=>se.value=timeRangeToArray(toValue(G).buffered)),useEventListener(G,"seeking",()=>Z.value=!0),useEventListener(G,"seeked",()=>Z.value=!1),useEventListener(G,["waiting","loadstart"],()=>{te.value=!0,we(()=>re.value=!1)}),useEventListener(G,"loadeddata",()=>te.value=!1),useEventListener(G,"playing",()=>{te.value=!1,ne.value=!1,we(()=>re.value=!0)}),useEventListener(G,"ratechange",()=>oe.value=toValue(G).playbackRate),useEventListener(G,"stalled",()=>ae.value=!0),useEventListener(G,"ended",()=>ne.value=!0),useEventListener(G,"pause",()=>we(()=>re.value=!1)),useEventListener(G,"play",()=>we(()=>re.value=!0)),useEventListener(G,"enterpictureinpicture",()=>de.value=!0),useEventListener(G,"leavepictureinpicture",()=>de.value=!1),useEventListener(G,"volumechange",()=>{const xe=toValue(G);xe&&(ee.value=xe.volume,ue.value=xe.muted)});const $e=[],Ee=vue.watch([G],()=>{const xe=toValue(G);xe&&(Ee(),$e[0]=useEventListener(xe.textTracks,"addtrack",()=>le.value=tracksToArray(xe.textTracks)),$e[1]=useEventListener(xe.textTracks,"removetrack",()=>le.value=tracksToArray(xe.textTracks)),$e[2]=useEventListener(xe.textTracks,"change",()=>le.value=tracksToArray(xe.textTracks)))});return tryOnScopeDispose(()=>$e.forEach(xe=>xe())),{currentTime:Q,duration:K,waiting:te,seeking:Z,ended:ne,stalled:ae,buffered:se,playing:re,rate:oe,volume:ee,muted:ue,tracks:le,selectedTrack:ce,enableTrack:ve,disableTrack:pe,supportsPictureInPicture:he,togglePictureInPicture:me,isPictureInPicture:de,onSourceError:fe.on}}function getMapVue2Compat(){const G=vue.shallowReactive({});return{get:H=>G[H],set:(H,X)=>set$2(G,H,X),has:H=>hasOwn$3(G,H),delete:H=>del(G,H),clear:()=>{Object.keys(G).forEach(H=>{del(G,H)})}}}function useMemoize(G,H){const Q=H!=null&&H.cache?vue.shallowReactive(H.cache):isVue2?getMapVue2Compat():vue.shallowReactive(new Map),K=(...oe)=>H!=null&&H.getKey?H.getKey(...oe):JSON.stringify(oe),Z=(oe,...ae)=>(Q.set(oe,G(...ae)),Q.get(oe)),ee=(...oe)=>Z(K(...oe),...oe),te=(...oe)=>{Q.delete(K(...oe))},ne=()=>{Q.clear()},re=(...oe)=>{const ae=K(...oe);return Q.has(ae)?Q.get(ae):Z(ae,...oe)};return re.load=ee,re.delete=te,re.clear=ne,re.generateKey=K,re.cache=Q,re}function useMemory(G={}){const H=vue.ref(),X=useSupported(()=>typeof performance<"u"&&"memory"in performance);if(X.value){const{interval:Q=1e3}=G;useIntervalFn(()=>{H.value=performance.memory},Q,{immediate:G.immediate,immediateCallback:G.immediateCallback})}return{isSupported:X,memory:H}}const UseMouseBuiltinExtractors={page:G=>[G.pageX,G.pageY],client:G=>[G.clientX,G.clientY],screen:G=>[G.screenX,G.screenY],movement:G=>G instanceof Touch?null:[G.movementX,G.movementY]};function useMouse(G={}){const{type:H="page",touch:X=!0,resetOnTouchEnds:Q=!1,initialValue:K={x:0,y:0},window:Z=defaultWindow,target:ee=Z,scroll:te=!0,eventFilter:ne}=G;let re=null;const oe=vue.ref(K.x),ae=vue.ref(K.y),se=vue.ref(null),le=typeof H=="function"?H:UseMouseBuiltinExtractors[H],ce=me=>{const ge=le(me);re=me,ge&&([oe.value,ae.value]=ge,se.value="mouse")},de=me=>{if(me.touches.length>0){const ge=le(me.touches[0]);ge&&([oe.value,ae.value]=ge,se.value="touch")}},ue=()=>{if(!re||!Z)return;const me=le(re);re instanceof MouseEvent&&me&&(oe.value=me[0]+Z.scrollX,ae.value=me[1]+Z.scrollY)},he=()=>{oe.value=K.x,ae.value=K.y},fe=ne?me=>ne(()=>ce(me),{}):me=>ce(me),pe=ne?me=>ne(()=>de(me),{}):me=>de(me),ve=ne?()=>ne(()=>ue(),{}):()=>ue();if(ee){const me={passive:!0};useEventListener(ee,["mousemove","dragover"],fe,me),X&&H!=="movement"&&(useEventListener(ee,["touchstart","touchmove"],pe,me),Q&&useEventListener(ee,"touchend",he,me)),te&&H==="page"&&useEventListener(Z,"scroll",ve,{passive:!0})}return{x:oe,y:ae,sourceType:se}}function useMouseInElement(G,H={}){const{handleOutside:X=!0,window:Q=defaultWindow}=H,K=H.type||"page",{x:Z,y:ee,sourceType:te}=useMouse(H),ne=vue.ref(G??(Q==null?void 0:Q.document.body)),re=vue.ref(0),oe=vue.ref(0),ae=vue.ref(0),se=vue.ref(0),le=vue.ref(0),ce=vue.ref(0),de=vue.ref(!0);let ue=()=>{};return Q&&(ue=vue.watch([ne,Z,ee],()=>{const he=unrefElement(ne);if(!he)return;const{left:fe,top:pe,width:ve,height:me}=he.getBoundingClientRect();ae.value=fe+(K==="page"?Q.pageXOffset:0),se.value=pe+(K==="page"?Q.pageYOffset:0),le.value=me,ce.value=ve;const ge=Z.value-ae.value,we=ee.value-se.value;de.value=ve===0||me===0||ge<0||we<0||ge>ve||we>me,(X||!de.value)&&(re.value=ge,oe.value=we)},{immediate:!0}),useEventListener(document,"mouseleave",()=>{de.value=!0})),{x:Z,y:ee,sourceType:te,elementX:re,elementY:oe,elementPositionX:ae,elementPositionY:se,elementHeight:le,elementWidth:ce,isOutside:de,stop:ue}}function useMousePressed(G={}){const{touch:H=!0,drag:X=!0,capture:Q=!1,initialValue:K=!1,window:Z=defaultWindow}=G,ee=vue.ref(K),te=vue.ref(null);if(!Z)return{pressed:ee,sourceType:te};const ne=ae=>()=>{ee.value=!0,te.value=ae},re=()=>{ee.value=!1,te.value=null},oe=vue.computed(()=>unrefElement(G.target)||Z);return useEventListener(oe,"mousedown",ne("mouse"),{passive:!0,capture:Q}),useEventListener(Z,"mouseleave",re,{passive:!0,capture:Q}),useEventListener(Z,"mouseup",re,{passive:!0,capture:Q}),X&&(useEventListener(oe,"dragstart",ne("mouse"),{passive:!0,capture:Q}),useEventListener(Z,"drop",re,{passive:!0,capture:Q}),useEventListener(Z,"dragend",re,{passive:!0,capture:Q})),H&&(useEventListener(oe,"touchstart",ne("touch"),{passive:!0,capture:Q}),useEventListener(Z,"touchend",re,{passive:!0,capture:Q}),useEventListener(Z,"touchcancel",re,{passive:!0,capture:Q})),{pressed:ee,sourceType:te}}function useNavigatorLanguage(G={}){const{window:H=defaultWindow}=G,X=H==null?void 0:H.navigator,Q=useSupported(()=>X&&"language"in X),K=vue.ref(X==null?void 0:X.language);return useEventListener(H,"languagechange",()=>{X&&(K.value=X.language)}),{isSupported:Q,language:K}}function useNetwork(G={}){const{window:H=defaultWindow}=G,X=H==null?void 0:H.navigator,Q=useSupported(()=>X&&"connection"in X),K=vue.ref(!0),Z=vue.ref(!1),ee=vue.ref(void 0),te=vue.ref(void 0),ne=vue.ref(void 0),re=vue.ref(void 0),oe=vue.ref(void 0),ae=vue.ref(void 0),se=vue.ref("unknown"),le=Q.value&&X.connection;function ce(){X&&(K.value=X.onLine,ee.value=K.value?void 0:Date.now(),te.value=K.value?Date.now():void 0,le&&(ne.value=le.downlink,re.value=le.downlinkMax,ae.value=le.effectiveType,oe.value=le.rtt,Z.value=le.saveData,se.value=le.type))}return H&&(useEventListener(H,"offline",()=>{K.value=!1,ee.value=Date.now()}),useEventListener(H,"online",()=>{K.value=!0,te.value=Date.now()})),le&&useEventListener(le,"change",ce,!1),ce(),{isSupported:Q,isOnline:K,saveData:Z,offlineAt:ee,onlineAt:te,downlink:ne,downlinkMax:re,effectiveType:ae,rtt:oe,type:se}}function useNow(G={}){const{controls:H=!1,interval:X="requestAnimationFrame"}=G,Q=vue.ref(new Date),K=()=>Q.value=new Date,Z=X==="requestAnimationFrame"?useRafFn(K,{immediate:!0}):useIntervalFn(K,X,{immediate:!0});return H?{now:Q,...Z}:Q}function useObjectUrl(G){const H=vue.ref(),X=()=>{H.value&&URL.revokeObjectURL(H.value),H.value=void 0};return vue.watch(()=>toValue(G),Q=>{X(),Q&&(H.value=URL.createObjectURL(Q))},{immediate:!0}),tryOnScopeDispose(X),vue.readonly(H)}function useClamp(G,H,X){if(typeof G=="function"||vue.isReadonly(G))return vue.computed(()=>clamp(toValue(G),toValue(H),toValue(X)));const Q=vue.ref(G);return vue.computed({get(){return Q.value=clamp(Q.value,toValue(H),toValue(X))},set(K){Q.value=clamp(K,toValue(H),toValue(X))}})}function useOffsetPagination(G){const{total:H=Number.POSITIVE_INFINITY,pageSize:X=10,page:Q=1,onPageChange:K=noop$5,onPageSizeChange:Z=noop$5,onPageCountChange:ee=noop$5}=G,te=useClamp(X,1,Number.POSITIVE_INFINITY),ne=vue.computed(()=>Math.max(1,Math.ceil(toValue(H)/toValue(te)))),re=useClamp(Q,1,ne),oe=vue.computed(()=>re.value===1),ae=vue.computed(()=>re.value===ne.value);vue.isRef(Q)&&syncRef(Q,re,{direction:vue.isReadonly(Q)?"ltr":"both"}),vue.isRef(X)&&syncRef(X,te,{direction:vue.isReadonly(X)?"ltr":"both"});function se(){re.value--}function le(){re.value++}const ce={currentPage:re,currentPageSize:te,pageCount:ne,isFirstPage:oe,isLastPage:ae,prev:se,next:le};return vue.watch(re,()=>{K(vue.reactive(ce))}),vue.watch(te,()=>{Z(vue.reactive(ce))}),vue.watch(ne,()=>{ee(vue.reactive(ce))}),ce}function useOnline(G={}){const{isOnline:H}=useNetwork(G);return H}function usePageLeave(G={}){const{window:H=defaultWindow}=G,X=vue.ref(!1),Q=K=>{if(!H)return;K=K||H.event;const Z=K.relatedTarget||K.toElement;X.value=!Z};return H&&(useEventListener(H,"mouseout",Q,{passive:!0}),useEventListener(H.document,"mouseleave",Q,{passive:!0}),useEventListener(H.document,"mouseenter",Q,{passive:!0})),X}function useScreenOrientation(G={}){const{window:H=defaultWindow}=G,X=useSupported(()=>H&&"screen"in H&&"orientation"in H.screen),Q=X.value?H.screen.orientation:{},K=vue.ref(Q.type),Z=vue.ref(Q.angle||0);return X.value&&useEventListener(H,"orientationchange",()=>{K.value=Q.type,Z.value=Q.angle}),{isSupported:X,orientation:K,angle:Z,lockOrientation:ne=>X.value&&typeof Q.lock=="function"?Q.lock(ne):Promise.reject(new Error("Not supported")),unlockOrientation:()=>{X.value&&typeof Q.unlock=="function"&&Q.unlock()}}}function useParallax(G,H={}){const{deviceOrientationTiltAdjust:X=ue=>ue,deviceOrientationRollAdjust:Q=ue=>ue,mouseTiltAdjust:K=ue=>ue,mouseRollAdjust:Z=ue=>ue,window:ee=defaultWindow}=H,te=vue.reactive(useDeviceOrientation({window:ee})),ne=vue.reactive(useScreenOrientation({window:ee})),{elementX:re,elementY:oe,elementWidth:ae,elementHeight:se}=useMouseInElement(G,{handleOutside:!1,window:ee}),le=vue.computed(()=>te.isSupported&&(te.alpha!=null&&te.alpha!==0||te.gamma!=null&&te.gamma!==0)?"deviceOrientation":"mouse"),ce=vue.computed(()=>{if(le.value==="deviceOrientation"){let ue;switch(ne.orientation){case"landscape-primary":ue=te.gamma/90;break;case"landscape-secondary":ue=-te.gamma/90;break;case"portrait-primary":ue=-te.beta/90;break;case"portrait-secondary":ue=te.beta/90;break;default:ue=-te.beta/90}return Q(ue)}else{const ue=-(oe.value-se.value/2)/se.value;return Z(ue)}}),de=vue.computed(()=>{if(le.value==="deviceOrientation"){let ue;switch(ne.orientation){case"landscape-primary":ue=te.beta/90;break;case"landscape-secondary":ue=-te.beta/90;break;case"portrait-primary":ue=te.gamma/90;break;case"portrait-secondary":ue=-te.gamma/90;break;default:ue=te.gamma/90}return X(ue)}else{const ue=(re.value-ae.value/2)/ae.value;return K(ue)}});return{roll:ce,tilt:de,source:le}}function useParentElement(G=useCurrentElement()){const H=vue.shallowRef(),X=()=>{const Q=unrefElement(G);Q&&(H.value=Q.parentElement)};return tryOnMounted(X),vue.watch(()=>toValue(G),X),H}function usePerformanceObserver(G,H){const{window:X=defaultWindow,immediate:Q=!0,...K}=G,Z=useSupported(()=>X&&"PerformanceObserver"in X);let ee;const te=()=>{ee==null||ee.disconnect()},ne=()=>{Z.value&&(te(),ee=new PerformanceObserver(H),ee.observe(K))};return tryOnScopeDispose(te),Q&&ne(),{isSupported:Z,start:ne,stop:te}}const defaultState={x:0,y:0,pointerId:0,pressure:0,tiltX:0,tiltY:0,width:0,height:0,twist:0,pointerType:null},keys$2=Object.keys(defaultState);function usePointer(G={}){const{target:H=defaultWindow}=G,X=vue.ref(!1),Q=vue.ref(G.initialValue||{});Object.assign(Q.value,defaultState,Q.value);const K=Z=>{X.value=!0,!(G.pointerTypes&&!G.pointerTypes.includes(Z.pointerType))&&(Q.value=objectPick(Z,keys$2,!1))};if(H){const Z={passive:!0};useEventListener(H,["pointerdown","pointermove","pointerup"],K,Z),useEventListener(H,"pointerleave",()=>X.value=!1,Z)}return{...toRefs(Q),isInside:X}}function usePointerLock(G,H={}){const{document:X=defaultDocument}=H,Q=useSupported(()=>X&&"pointerLockElement"in X),K=vue.ref(),Z=vue.ref();let ee;Q.value&&(useEventListener(X,"pointerlockchange",()=>{var re;const oe=(re=X.pointerLockElement)!=null?re:K.value;ee&&oe===ee&&(K.value=X.pointerLockElement,K.value||(ee=Z.value=null))}),useEventListener(X,"pointerlockerror",()=>{var re;const oe=(re=X.pointerLockElement)!=null?re:K.value;if(ee&&oe===ee){const ae=X.pointerLockElement?"release":"acquire";throw new Error(`Failed to ${ae} pointer lock.`)}}));async function te(re){var oe;if(!Q.value)throw new Error("Pointer Lock API is not supported by your browser.");if(Z.value=re instanceof Event?re.currentTarget:null,ee=re instanceof Event?(oe=unrefElement(G))!=null?oe:Z.value:unrefElement(re),!ee)throw new Error("Target element undefined.");return ee.requestPointerLock(),await until(K).toBe(ee)}async function ne(){return K.value?(X.exitPointerLock(),await until(K).toBeNull(),!0):!1}return{isSupported:Q,element:K,triggerElement:Z,lock:te,unlock:ne}}function usePointerSwipe(G,H={}){const X=toRef(G),{threshold:Q=50,onSwipe:K,onSwipeEnd:Z,onSwipeStart:ee,disableTextSelect:te=!1}=H,ne=vue.reactive({x:0,y:0}),re=(we,$e)=>{ne.x=we,ne.y=$e},oe=vue.reactive({x:0,y:0}),ae=(we,$e)=>{oe.x=we,oe.y=$e},se=vue.computed(()=>ne.x-oe.x),le=vue.computed(()=>ne.y-oe.y),{max:ce,abs:de}=Math,ue=vue.computed(()=>ce(de(se.value),de(le.value))>=Q),he=vue.ref(!1),fe=vue.ref(!1),pe=vue.computed(()=>ue.value?de(se.value)>de(le.value)?se.value>0?"left":"right":le.value>0?"up":"down":"none"),ve=we=>{var $e,Ee,xe;const Me=we.buttons===0,De=we.buttons===1;return(xe=(Ee=($e=H.pointerTypes)==null?void 0:$e.includes(we.pointerType))!=null?Ee:Me||De)!=null?xe:!0},me=[useEventListener(G,"pointerdown",we=>{if(!ve(we))return;fe.value=!0;const $e=we.target;$e==null||$e.setPointerCapture(we.pointerId);const{clientX:Ee,clientY:xe}=we;re(Ee,xe),ae(Ee,xe),ee==null||ee(we)}),useEventListener(G,"pointermove",we=>{if(!ve(we)||!fe.value)return;const{clientX:$e,clientY:Ee}=we;ae($e,Ee),!he.value&&ue.value&&(he.value=!0),he.value&&(K==null||K(we))}),useEventListener(G,"pointerup",we=>{ve(we)&&(he.value&&(Z==null||Z(we,pe.value)),fe.value=!1,he.value=!1)})];tryOnMounted(()=>{var we,$e,Ee,xe,Me,De,ke,Oe;($e=(we=X.value)==null?void 0:we.style)==null||$e.setProperty("touch-action","none"),te&&((xe=(Ee=X.value)==null?void 0:Ee.style)==null||xe.setProperty("-webkit-user-select","none"),(De=(Me=X.value)==null?void 0:Me.style)==null||De.setProperty("-ms-user-select","none"),(Oe=(ke=X.value)==null?void 0:ke.style)==null||Oe.setProperty("user-select","none"))});const ge=()=>me.forEach(we=>we());return{isSwiping:vue.readonly(he),direction:vue.readonly(pe),posStart:vue.readonly(ne),posEnd:vue.readonly(oe),distanceX:se,distanceY:le,stop:ge}}function usePreferredColorScheme(G){const H=useMediaQuery("(prefers-color-scheme: light)",G),X=useMediaQuery("(prefers-color-scheme: dark)",G);return vue.computed(()=>X.value?"dark":H.value?"light":"no-preference")}function usePreferredContrast(G){const H=useMediaQuery("(prefers-contrast: more)",G),X=useMediaQuery("(prefers-contrast: less)",G),Q=useMediaQuery("(prefers-contrast: custom)",G);return vue.computed(()=>H.value?"more":X.value?"less":Q.value?"custom":"no-preference")}function usePreferredLanguages(G={}){const{window:H=defaultWindow}=G;if(!H)return vue.ref(["en"]);const X=H.navigator,Q=vue.ref(X.languages);return useEventListener(H,"languagechange",()=>{Q.value=X.languages}),Q}function usePreferredReducedMotion(G){const H=useMediaQuery("(prefers-reduced-motion: reduce)",G);return vue.computed(()=>H.value?"reduce":"no-preference")}function usePrevious(G,H){const X=vue.shallowRef(H);return vue.watch(toRef(G),(Q,K)=>{X.value=K},{flush:"sync"}),vue.readonly(X)}const topVarName="--vueuse-safe-area-top",rightVarName="--vueuse-safe-area-right",bottomVarName="--vueuse-safe-area-bottom",leftVarName="--vueuse-safe-area-left";function useScreenSafeArea(){const G=vue.ref(""),H=vue.ref(""),X=vue.ref(""),Q=vue.ref("");if(isClient$1){const Z=useCssVar(topVarName),ee=useCssVar(rightVarName),te=useCssVar(bottomVarName),ne=useCssVar(leftVarName);Z.value="env(safe-area-inset-top, 0px)",ee.value="env(safe-area-inset-right, 0px)",te.value="env(safe-area-inset-bottom, 0px)",ne.value="env(safe-area-inset-left, 0px)",K(),useEventListener("resize",useDebounceFn(K))}function K(){G.value=getValue$4(topVarName),H.value=getValue$4(rightVarName),X.value=getValue$4(bottomVarName),Q.value=getValue$4(leftVarName)}return{top:G,right:H,bottom:X,left:Q,update:K}}function getValue$4(G){return getComputedStyle(document.documentElement).getPropertyValue(G)}function useScriptTag(G,H=noop$5,X={}){const{immediate:Q=!0,manual:K=!1,type:Z="text/javascript",async:ee=!0,crossOrigin:te,referrerPolicy:ne,noModule:re,defer:oe,document:ae=defaultDocument,attrs:se={}}=X,le=vue.ref(null);let ce=null;const de=fe=>new Promise((pe,ve)=>{const me=$e=>(le.value=$e,pe($e),$e);if(!ae){pe(!1);return}let ge=!1,we=ae.querySelector(`script[src="${toValue(G)}"]`);we?we.hasAttribute("data-loaded")&&me(we):(we=ae.createElement("script"),we.type=Z,we.async=ee,we.src=toValue(G),oe&&(we.defer=oe),te&&(we.crossOrigin=te),re&&(we.noModule=re),ne&&(we.referrerPolicy=ne),Object.entries(se).forEach(([$e,Ee])=>we==null?void 0:we.setAttribute($e,Ee)),ge=!0),we.addEventListener("error",$e=>ve($e)),we.addEventListener("abort",$e=>ve($e)),we.addEventListener("load",()=>{we.setAttribute("data-loaded","true"),H(we),me(we)}),ge&&(we=ae.head.appendChild(we)),fe||me(we)}),ue=(fe=!0)=>(ce||(ce=de(fe)),ce),he=()=>{if(!ae)return;ce=null,le.value&&(le.value=null);const fe=ae.querySelector(`script[src="${toValue(G)}"]`);fe&&ae.head.removeChild(fe)};return Q&&!K&&tryOnMounted(ue),K||tryOnUnmounted(he),{scriptTag:le,load:ue,unload:he}}function checkOverflowScroll(G){const H=window.getComputedStyle(G);if(H.overflowX==="scroll"||H.overflowY==="scroll"||H.overflowX==="auto"&&G.clientWidth<G.scrollWidth||H.overflowY==="auto"&&G.clientHeight<G.scrollHeight)return!0;{const X=G.parentNode;return!X||X.tagName==="BODY"?!1:checkOverflowScroll(X)}}function preventDefault(G){const H=G||window.event,X=H.target;return checkOverflowScroll(X)?!1:H.touches.length>1?!0:(H.preventDefault&&H.preventDefault(),!1)}const elInitialOverflow=new WeakMap;function useScrollLock(G,H=!1){const X=vue.ref(H);let Q=null,K="";vue.watch(toRef(G),te=>{const ne=resolveElement(toValue(te));if(ne){const re=ne;if(elInitialOverflow.get(re)||elInitialOverflow.set(re,re.style.overflow),re.style.overflow!=="hidden"&&(K=re.style.overflow),re.style.overflow==="hidden")return X.value=!0;if(X.value)return re.style.overflow="hidden"}},{immediate:!0});const Z=()=>{const te=resolveElement(toValue(G));!te||X.value||(isIOS&&(Q=useEventListener(te,"touchmove",ne=>{preventDefault(ne)},{passive:!1})),te.style.overflow="hidden",X.value=!0)},ee=()=>{const te=resolveElement(toValue(G));!te||!X.value||(isIOS&&(Q==null||Q()),te.style.overflow=K,elInitialOverflow.delete(te),X.value=!1)};return tryOnScopeDispose(ee),vue.computed({get(){return X.value},set(te){te?Z():ee()}})}function useSessionStorage(G,H,X={}){const{window:Q=defaultWindow}=X;return useStorage(G,H,Q==null?void 0:Q.sessionStorage,X)}function useShare(G={},H={}){const{navigator:X=defaultNavigator}=H,Q=X,K=useSupported(()=>Q&&"canShare"in Q);return{isSupported:K,share:async(ee={})=>{if(K.value){const te={...toValue(G),...toValue(ee)};let ne=!0;if(te.files&&Q.canShare&&(ne=Q.canShare({files:te.files})),ne)return Q.share(te)}}}}const defaultSortFn=(G,H)=>G.sort(H),defaultCompare=(G,H)=>G-H;function useSorted(...G){var H,X,Q,K;const[Z]=G;let ee=defaultCompare,te={};G.length===2?typeof G[1]=="object"?(te=G[1],ee=(H=te.compareFn)!=null?H:defaultCompare):ee=(X=G[1])!=null?X:defaultCompare:G.length>2&&(ee=(Q=G[1])!=null?Q:defaultCompare,te=(K=G[2])!=null?K:{});const{dirty:ne=!1,sortFn:re=defaultSortFn}=te;return ne?(vue.watchEffect(()=>{const oe=re(toValue(Z),ee);vue.isRef(Z)?Z.value=oe:Z.splice(0,Z.length,...oe)}),Z):vue.computed(()=>re([...toValue(Z)],ee))}function useSpeechRecognition(G={}){const{interimResults:H=!0,continuous:X=!0,window:Q=defaultWindow}=G,K=toRef(G.lang||"en-US"),Z=vue.ref(!1),ee=vue.ref(!1),te=vue.ref(""),ne=vue.shallowRef(void 0),re=(de=!Z.value)=>{Z.value=de},oe=()=>{Z.value=!0},ae=()=>{Z.value=!1},se=Q&&(Q.SpeechRecognition||Q.webkitSpeechRecognition),le=useSupported(()=>se);let ce;return le.value&&(ce=new se,ce.continuous=X,ce.interimResults=H,ce.lang=toValue(K),ce.onstart=()=>{ee.value=!1},vue.watch(K,de=>{ce&&!Z.value&&(ce.lang=de)}),ce.onresult=de=>{const ue=de.results[de.resultIndex],{transcript:he}=ue[0];ee.value=ue.isFinal,te.value=he,ne.value=void 0},ce.onerror=de=>{ne.value=de},ce.onend=()=>{Z.value=!1,ce.lang=toValue(K)},vue.watch(Z,()=>{Z.value?ce.start():ce.stop()})),tryOnScopeDispose(()=>{Z.value=!1}),{isSupported:le,isListening:Z,isFinal:ee,recognition:ce,result:te,error:ne,toggle:re,start:oe,stop:ae}}function useSpeechSynthesis(G,H={}){const{pitch:X=1,rate:Q=1,volume:K=1,window:Z=defaultWindow}=H,ee=Z&&Z.speechSynthesis,te=useSupported(()=>ee),ne=vue.ref(!1),re=vue.ref("init"),oe=toRef(G||""),ae=toRef(H.lang||"en-US"),se=vue.shallowRef(void 0),le=(fe=!ne.value)=>{ne.value=fe},ce=fe=>{fe.lang=toValue(ae),fe.voice=toValue(H.voice)||null,fe.pitch=toValue(X),fe.rate=toValue(Q),fe.volume=K,fe.onstart=()=>{ne.value=!0,re.value="play"},fe.onpause=()=>{ne.value=!1,re.value="pause"},fe.onresume=()=>{ne.value=!0,re.value="play"},fe.onend=()=>{ne.value=!1,re.value="end"},fe.onerror=pe=>{se.value=pe}},de=vue.computed(()=>{ne.value=!1,re.value="init";const fe=new SpeechSynthesisUtterance(oe.value);return ce(fe),fe}),ue=()=>{ee.cancel(),de&&ee.speak(de.value)},he=()=>{ee.cancel(),ne.value=!1};return te.value&&(ce(de.value),vue.watch(ae,fe=>{de.value&&!ne.value&&(de.value.lang=fe)}),H.voice&&vue.watch(H.voice,()=>{ee.cancel()}),vue.watch(ne,()=>{ne.value?ee.resume():ee.pause()})),tryOnScopeDispose(()=>{ne.value=!1}),{isSupported:te,isPlaying:ne,status:re,utterance:de,error:se,stop:he,toggle:le,speak:ue}}function useStepper(G,H){const X=vue.ref(G),Q=vue.computed(()=>Array.isArray(X.value)?X.value:Object.keys(X.value)),K=vue.ref(Q.value.indexOf(H??Q.value[0])),Z=vue.computed(()=>oe(K.value)),ee=vue.computed(()=>K.value===0),te=vue.computed(()=>K.value===Q.value.length-1),ne=vue.computed(()=>Q.value[K.value+1]),re=vue.computed(()=>Q.value[K.value-1]);function oe(me){return Array.isArray(X.value)?X.value[me]:X.value[Q.value[me]]}function ae(me){if(Q.value.includes(me))return oe(Q.value.indexOf(me))}function se(me){Q.value.includes(me)&&(K.value=Q.value.indexOf(me))}function le(){te.value||K.value++}function ce(){ee.value||K.value--}function de(me){ve(me)&&se(me)}function ue(me){return Q.value.indexOf(me)===K.value+1}function he(me){return Q.value.indexOf(me)===K.value-1}function fe(me){return Q.value.indexOf(me)===K.value}function pe(me){return K.value<Q.value.indexOf(me)}function ve(me){return K.value>Q.value.indexOf(me)}return{steps:X,stepNames:Q,index:K,current:Z,next:ne,previous:re,isFirst:ee,isLast:te,at:oe,get:ae,goTo:se,goToNext:le,goToPrevious:ce,goBackTo:de,isNext:ue,isPrevious:he,isCurrent:fe,isBefore:pe,isAfter:ve}}function useStorageAsync(G,H,X,Q={}){var K;const{flush:Z="pre",deep:ee=!0,listenToStorageChanges:te=!0,writeDefaults:ne=!0,mergeDefaults:re=!1,shallow:oe,window:ae=defaultWindow,eventFilter:se,onError:le=pe=>{console.error(pe)}}=Q,ce=toValue(H),de=guessSerializerType(ce),ue=(oe?vue.shallowRef:vue.ref)(H),he=(K=Q.serializer)!=null?K:StorageSerializers[de];if(!X)try{X=getSSRHandler("getDefaultStorageAsync",()=>{var pe;return(pe=defaultWindow)==null?void 0:pe.localStorage})()}catch(pe){le(pe)}async function fe(pe){if(!(!X||pe&&pe.key!==G))try{const ve=pe?pe.newValue:await X.getItem(G);if(ve==null)ue.value=ce,ne&&ce!==null&&await X.setItem(G,await he.write(ce));else if(re){const me=await he.read(ve);typeof re=="function"?ue.value=re(me,ce):de==="object"&&!Array.isArray(me)?ue.value={...ce,...me}:ue.value=me}else ue.value=await he.read(ve)}catch(ve){le(ve)}}return fe(),ae&&te&&useEventListener(ae,"storage",pe=>Promise.resolve().then(()=>fe(pe))),X&&watchWithFilter(ue,async()=>{try{ue.value==null?await X.removeItem(G):await X.setItem(G,await he.write(ue.value))}catch(pe){le(pe)}},{flush:Z,deep:ee,eventFilter:se}),ue}let _id=0;function useStyleTag(G,H={}){const X=vue.ref(!1),{document:Q=defaultDocument,immediate:K=!0,manual:Z=!1,id:ee=`vueuse_styletag_${++_id}`}=H,te=vue.ref(G);let ne=()=>{};const re=()=>{if(!Q)return;const ae=Q.getElementById(ee)||Q.createElement("style");ae.isConnected||(ae.id=ee,H.media&&(ae.media=H.media),Q.head.appendChild(ae)),!X.value&&(ne=vue.watch(te,se=>{ae.textContent=se},{immediate:!0}),X.value=!0)},oe=()=>{!Q||!X.value||(ne(),Q.head.removeChild(Q.getElementById(ee)),X.value=!1)};return K&&!Z&&tryOnMounted(re),Z||tryOnScopeDispose(oe),{id:ee,css:te,unload:oe,load:re,isLoaded:vue.readonly(X)}}function useSwipe(G,H={}){const{threshold:X=50,onSwipe:Q,onSwipeEnd:K,onSwipeStart:Z,passive:ee=!0,window:te=defaultWindow}=H,ne=vue.reactive({x:0,y:0}),re=vue.reactive({x:0,y:0}),oe=vue.computed(()=>ne.x-re.x),ae=vue.computed(()=>ne.y-re.y),{max:se,abs:le}=Math,ce=vue.computed(()=>se(le(oe.value),le(ae.value))>=X),de=vue.ref(!1),ue=vue.computed(()=>ce.value?le(oe.value)>le(ae.value)?oe.value>0?"left":"right":ae.value>0?"up":"down":"none"),he=Ee=>[Ee.touches[0].clientX,Ee.touches[0].clientY],fe=(Ee,xe)=>{ne.x=Ee,ne.y=xe},pe=(Ee,xe)=>{re.x=Ee,re.y=xe};let ve;const me=checkPassiveEventSupport(te==null?void 0:te.document);ee?ve=me?{passive:!0}:{capture:!1}:ve=me?{passive:!1,capture:!0}:{capture:!0};const ge=Ee=>{de.value&&(K==null||K(Ee,ue.value)),de.value=!1},we=[useEventListener(G,"touchstart",Ee=>{if(Ee.touches.length!==1)return;ve.capture&&!ve.passive&&Ee.preventDefault();const[xe,Me]=he(Ee);fe(xe,Me),pe(xe,Me),Z==null||Z(Ee)},ve),useEventListener(G,"touchmove",Ee=>{if(Ee.touches.length!==1)return;const[xe,Me]=he(Ee);pe(xe,Me),!de.value&&ce.value&&(de.value=!0),de.value&&(Q==null||Q(Ee))},ve),useEventListener(G,["touchend","touchcancel"],ge,ve)];return{isPassiveEventSupported:me,isSwiping:de,direction:ue,coordsStart:ne,coordsEnd:re,lengthX:oe,lengthY:ae,stop:()=>we.forEach(Ee=>Ee())}}function checkPassiveEventSupport(G){if(!G)return!1;let H=!1;const X={get passive(){return H=!0,!1}};return G.addEventListener("x",noop$5,X),G.removeEventListener("x",noop$5),H}function useTemplateRefsList(){const G=vue.ref([]);return G.value.set=H=>{H&&G.value.push(H)},vue.onBeforeUpdate(()=>{G.value.length=0}),G}function useTextDirection(G={}){const{document:H=defaultDocument,selector:X="html",observe:Q=!1,initialValue:K="ltr"}=G;function Z(){var te,ne;return(ne=(te=H==null?void 0:H.querySelector(X))==null?void 0:te.getAttribute("dir"))!=null?ne:K}const ee=vue.ref(Z());return tryOnMounted(()=>ee.value=Z()),Q&&H&&useMutationObserver(H.querySelector(X),()=>ee.value=Z(),{attributes:!0}),vue.computed({get(){return ee.value},set(te){var ne,re;ee.value=te,H&&(ee.value?(ne=H.querySelector(X))==null||ne.setAttribute("dir",ee.value):(re=H.querySelector(X))==null||re.removeAttribute("dir"))}})}function getRangesFromSelection(G){var H;const X=(H=G.rangeCount)!=null?H:0;return Array.from({length:X},(Q,K)=>G.getRangeAt(K))}function useTextSelection(G={}){const{window:H=defaultWindow}=G,X=vue.ref(null),Q=vue.computed(()=>{var te,ne;return(ne=(te=X.value)==null?void 0:te.toString())!=null?ne:""}),K=vue.computed(()=>X.value?getRangesFromSelection(X.value):[]),Z=vue.computed(()=>K.value.map(te=>te.getBoundingClientRect()));function ee(){X.value=null,H&&(X.value=H.getSelection())}return H&&useEventListener(H.document,"selectionchange",ee),{text:Q,rects:Z,ranges:K,selection:X}}function useTextareaAutosize(G){var H;const X=vue.ref(G==null?void 0:G.element),Q=vue.ref(G==null?void 0:G.input),K=(H=G==null?void 0:G.styleProp)!=null?H:"height",Z=vue.ref(1);function ee(){var te;if(!X.value)return;let ne="";X.value.style[K]="1px",Z.value=(te=X.value)==null?void 0:te.scrollHeight,G!=null&&G.styleTarget?toValue(G.styleTarget).style[K]=`${Z.value}px`:ne=`${Z.value}px`,X.value.style[K]=ne}return vue.watch([Q,X],()=>vue.nextTick(ee),{immediate:!0}),vue.watch(Z,()=>{var te;return(te=G==null?void 0:G.onResize)==null?void 0:te.call(G)}),useResizeObserver(X,()=>ee()),G!=null&&G.watch&&vue.watch(G.watch,ee,{immediate:!0,deep:!0}),{textarea:X,input:Q,triggerResize:ee}}function useThrottledRefHistory(G,H={}){const{throttle:X=200,trailing:Q=!0}=H,K=throttleFilter(X,Q);return{...useRefHistory(G,{...H,eventFilter:K})}}const DEFAULT_UNITS=[{max:6e4,value:1e3,name:"second"},{max:276e4,value:6e4,name:"minute"},{max:72e6,value:36e5,name:"hour"},{max:5184e5,value:864e5,name:"day"},{max:24192e5,value:6048e5,name:"week"},{max:28512e6,value:2592e6,name:"month"},{max:Number.POSITIVE_INFINITY,value:31536e6,name:"year"}],DEFAULT_MESSAGES={justNow:"just now",past:G=>G.match(/\d/)?`${G} ago`:G,future:G=>G.match(/\d/)?`in ${G}`:G,month:(G,H)=>G===1?H?"last month":"next month":`${G} month${G>1?"s":""}`,year:(G,H)=>G===1?H?"last year":"next year":`${G} year${G>1?"s":""}`,day:(G,H)=>G===1?H?"yesterday":"tomorrow":`${G} day${G>1?"s":""}`,week:(G,H)=>G===1?H?"last week":"next week":`${G} week${G>1?"s":""}`,hour:G=>`${G} hour${G>1?"s":""}`,minute:G=>`${G} minute${G>1?"s":""}`,second:G=>`${G} second${G>1?"s":""}`,invalid:""};function DEFAULT_FORMATTER(G){return G.toISOString().slice(0,10)}function useTimeAgo(G,H={}){const{controls:X=!1,updateInterval:Q=3e4}=H,{now:K,...Z}=useNow({interval:Q,controls:!0}),ee=vue.computed(()=>formatTimeAgo(new Date(toValue(G)),H,toValue(K)));return X?{timeAgo:ee,...Z}:ee}function formatTimeAgo(G,H={},X=Date.now()){var Q;const{max:K,messages:Z=DEFAULT_MESSAGES,fullDateFormatter:ee=DEFAULT_FORMATTER,units:te=DEFAULT_UNITS,showSecond:ne=!1,rounding:re="round"}=H,oe=typeof re=="number"?ue=>+ue.toFixed(re):Math[re],ae=+X-+G,se=Math.abs(ae);function le(ue,he){return oe(Math.abs(ue)/he.value)}function ce(ue,he){const fe=le(ue,he),pe=ue>0,ve=de(he.name,fe,pe);return de(pe?"past":"future",ve,pe)}function de(ue,he,fe){const pe=Z[ue];return typeof pe=="function"?pe(he,fe):pe.replace("{0}",he.toString())}if(se<6e4&&!ne)return Z.justNow;if(typeof K=="number"&&se>K)return ee(new Date(G));if(typeof K=="string"){const ue=(Q=te.find(he=>he.name===K))==null?void 0:Q.max;if(ue&&se>ue)return ee(new Date(G))}for(const[ue,he]of te.entries()){if(le(ae,he)<=0&&te[ue-1])return ce(ae,te[ue-1]);if(se<he.max)return ce(ae,he)}return Z.invalid}function useTimeoutPoll(G,H,X){const{start:Q}=useTimeoutFn(Z,H,{immediate:!1}),K=vue.ref(!1);async function Z(){K.value&&(await G(),Q())}function ee(){K.value||(K.value=!0,Z())}function te(){K.value=!1}return X!=null&&X.immediate&&ee(),tryOnScopeDispose(te),{isActive:K,pause:te,resume:ee}}function useTimestamp(G={}){const{controls:H=!1,offset:X=0,immediate:Q=!0,interval:K="requestAnimationFrame",callback:Z}=G,ee=vue.ref(timestamp()+X),te=()=>ee.value=timestamp()+X,ne=Z?()=>{te(),Z(ee.value)}:te,re=K==="requestAnimationFrame"?useRafFn(ne,{immediate:Q}):useIntervalFn(ne,K,{immediate:Q});return H?{timestamp:ee,...re}:ee}function useTitle(G=null,H={}){var X,Q,K;const{document:Z=defaultDocument,restoreOnUnmount:ee=ae=>ae}=H,te=(X=Z==null?void 0:Z.title)!=null?X:"",ne=toRef((Q=G??(Z==null?void 0:Z.title))!=null?Q:null),re=G&&typeof G=="function";function oe(ae){if(!("titleTemplate"in H))return ae;const se=H.titleTemplate||"%s";return typeof se=="function"?se(ae):toValue(se).replace(/%s/g,ae)}return vue.watch(ne,(ae,se)=>{ae!==se&&Z&&(Z.title=oe(typeof ae=="string"?ae:""))},{immediate:!0}),H.observe&&!H.titleTemplate&&Z&&!re&&useMutationObserver((K=Z.head)==null?void 0:K.querySelector("title"),()=>{Z&&Z.title!==ne.value&&(ne.value=oe(Z.title))},{childList:!0}),tryOnBeforeUnmount(()=>{if(ee){const ae=ee(te,ne.value||"");ae!=null&&Z&&(Z.title=ae)}}),ne}const _TransitionPresets={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]},TransitionPresets=Object.assign({},{linear:identity$1},_TransitionPresets);function createEasingFunction([G,H,X,Q]){const K=(oe,ae)=>1-3*ae+3*oe,Z=(oe,ae)=>3*ae-6*oe,ee=oe=>3*oe,te=(oe,ae,se)=>((K(ae,se)*oe+Z(ae,se))*oe+ee(ae))*oe,ne=(oe,ae,se)=>3*K(ae,se)*oe*oe+2*Z(ae,se)*oe+ee(ae),re=oe=>{let ae=oe;for(let se=0;se<4;++se){const le=ne(ae,G,X);if(le===0)return ae;const ce=te(ae,G,X)-oe;ae-=ce/le}return ae};return oe=>G===H&&X===Q?oe:te(re(oe),H,Q)}function lerp(G,H,X){return G+X*(H-G)}function toVec(G){return(typeof G=="number"?[G]:G)||[]}function executeTransition(G,H,X,Q={}){var K,Z;const ee=toValue(H),te=toValue(X),ne=toVec(ee),re=toVec(te),oe=(K=toValue(Q.duration))!=null?K:1e3,ae=Date.now(),se=Date.now()+oe,le=typeof Q.transition=="function"?Q.transition:(Z=toValue(Q.transition))!=null?Z:identity$1,ce=typeof le=="function"?le:createEasingFunction(le);return new Promise(de=>{G.value=ee;const ue=()=>{var he;if((he=Q.abort)!=null&&he.call(Q)){de();return}const fe=Date.now(),pe=ce((fe-ae)/oe),ve=toVec(G.value).map((me,ge)=>lerp(ne[ge],re[ge],pe));Array.isArray(G.value)?G.value=ve.map((me,ge)=>{var we,$e;return lerp((we=ne[ge])!=null?we:0,($e=re[ge])!=null?$e:0,pe)}):typeof G.value=="number"&&(G.value=ve[0]),fe<se?requestAnimationFrame(ue):(G.value=te,de())};ue()})}function useTransition(G,H={}){let X=0;const Q=()=>{const Z=toValue(G);return typeof Z=="number"?Z:Z.map(toValue)},K=vue.ref(Q());return vue.watch(Q,async Z=>{var ee,te;if(toValue(H.disabled))return;const ne=++X;if(H.delay&&await promiseTimeout(toValue(H.delay)),ne!==X)return;const re=Array.isArray(Z)?Z.map(toValue):toValue(Z);(ee=H.onStarted)==null||ee.call(H),await executeTransition(K,K.value,re,{...H,abort:()=>{var oe;return ne!==X||((oe=H.abort)==null?void 0:oe.call(H))}}),(te=H.onFinished)==null||te.call(H)},{deep:!0}),vue.watch(()=>toValue(H.disabled),Z=>{Z&&(X++,K.value=Q())}),tryOnScopeDispose(()=>{X++}),vue.computed(()=>toValue(H.disabled)?Q():K.value)}function useUrlSearchParams(G="history",H={}){const{initialValue:X={},removeNullishValues:Q=!0,removeFalsyValues:K=!1,write:Z=!0,window:ee=defaultWindow}=H;if(!ee)return vue.reactive(X);const te=vue.reactive({});function ne(){if(G==="history")return ee.location.search||"";if(G==="hash"){const he=ee.location.hash||"",fe=he.indexOf("?");return fe>0?he.slice(fe):""}else return(ee.location.hash||"").replace(/^#/,"")}function re(he){const fe=he.toString();if(G==="history")return`${fe?`?${fe}`:""}${ee.location.hash||""}`;if(G==="hash-params")return`${ee.location.search||""}${fe?`#${fe}`:""}`;const pe=ee.location.hash||"#",ve=pe.indexOf("?");return ve>0?`${pe.slice(0,ve)}${fe?`?${fe}`:""}`:`${pe}${fe?`?${fe}`:""}`}function oe(){return new URLSearchParams(ne())}function ae(he){const fe=new Set(Object.keys(te));for(const pe of he.keys()){const ve=he.getAll(pe);te[pe]=ve.length>1?ve:he.get(pe)||"",fe.delete(pe)}Array.from(fe).forEach(pe=>delete te[pe])}const{pause:se,resume:le}=watchPausable(te,()=>{const he=new URLSearchParams("");Object.keys(te).forEach(fe=>{const pe=te[fe];Array.isArray(pe)?pe.forEach(ve=>he.append(fe,ve)):Q&&pe==null||K&&!pe?he.delete(fe):he.set(fe,pe)}),ce(he)},{deep:!0});function ce(he,fe){se(),fe&&ae(he),ee.history.replaceState(ee.history.state,ee.document.title,ee.location.pathname+re(he)),le()}function de(){Z&&ce(oe(),!0)}useEventListener(ee,"popstate",de,!1),G!=="history"&&useEventListener(ee,"hashchange",de,!1);const ue=oe();return ue.keys().next().value?ae(ue):Object.assign(te,X),te}function useUserMedia(G={}){var H,X;const Q=vue.ref((H=G.enabled)!=null?H:!1),K=vue.ref((X=G.autoSwitch)!=null?X:!0),Z=vue.ref(G.constraints),{navigator:ee=defaultNavigator}=G,te=useSupported(()=>{var de;return(de=ee==null?void 0:ee.mediaDevices)==null?void 0:de.getUserMedia}),ne=vue.shallowRef();function re(de){switch(de){case"video":{if(Z.value)return Z.value.video||!1;break}case"audio":{if(Z.value)return Z.value.audio||!1;break}}}async function oe(){if(!(!te.value||ne.value))return ne.value=await ee.mediaDevices.getUserMedia({video:re("video"),audio:re("audio")}),ne.value}function ae(){var de;(de=ne.value)==null||de.getTracks().forEach(ue=>ue.stop()),ne.value=void 0}function se(){ae(),Q.value=!1}async function le(){return await oe(),ne.value&&(Q.value=!0),ne.value}async function ce(){return ae(),await le()}return vue.watch(Q,de=>{de?oe():ae()},{immediate:!0}),vue.watch(Z,()=>{K.value&&ne.value&&ce()},{immediate:!0}),tryOnScopeDispose(()=>{se()}),{isSupported:te,stream:ne,start:le,stop:se,restart:ce,constraints:Z,enabled:Q,autoSwitch:K}}function useVModel(G,H,X,Q={}){var K,Z,ee,te,ne;const{clone:re=!1,passive:oe=!1,eventName:ae,deep:se=!1,defaultValue:le,shouldEmit:ce}=Q,de=vue.getCurrentInstance(),ue=X||(de==null?void 0:de.emit)||((K=de==null?void 0:de.$emit)==null?void 0:K.bind(de))||((ee=(Z=de==null?void 0:de.proxy)==null?void 0:Z.$emit)==null?void 0:ee.bind(de==null?void 0:de.proxy));let he=ae;if(!H)if(isVue2){const me=(ne=(te=de==null?void 0:de.proxy)==null?void 0:te.$options)==null?void 0:ne.model;H=(me==null?void 0:me.value)||"value",ae||(he=(me==null?void 0:me.event)||"input")}else H="modelValue";he=he||`update:${H.toString()}`;const fe=me=>re?typeof re=="function"?re(me):cloneFnJSON(me):me,pe=()=>isDef(G[H])?fe(G[H]):le,ve=me=>{ce?ce(me)&&ue(he,me):ue(he,me)};if(oe){const me=pe(),ge=vue.ref(me);let we=!1;return vue.watch(()=>G[H],$e=>{we||(we=!0,ge.value=fe($e),vue.nextTick(()=>we=!1))}),vue.watch(ge,$e=>{!we&&($e!==G[H]||se)&&ve($e)},{deep:se}),ge}else return vue.computed({get(){return pe()},set(me){ve(me)}})}function useVModels(G,H,X={}){const Q={};for(const K in G)Q[K]=useVModel(G,K,H,X);return Q}function useVibrate(G){const{pattern:H=[],interval:X=0,navigator:Q=defaultNavigator}=G||{},K=useSupported(()=>typeof Q<"u"&&"vibrate"in Q),Z=toRef(H);let ee;const te=(re=Z.value)=>{K.value&&Q.vibrate(re)},ne=()=>{K.value&&Q.vibrate(0),ee==null||ee.pause()};return X>0&&(ee=useIntervalFn(te,X,{immediate:!1,immediateCallback:!1})),{isSupported:K,pattern:H,intervalControls:ee,vibrate:te,stop:ne}}function useVirtualList(G,H){const{containerStyle:X,wrapperProps:Q,scrollTo:K,calculateRange:Z,currentList:ee,containerRef:te}="itemHeight"in H?useVerticalVirtualList(H,G):useHorizontalVirtualList(H,G);return{list:ee,scrollTo:K,containerProps:{ref:te,onScroll:()=>{Z()},style:X},wrapperProps:Q}}function useVirtualListResources(G){const H=vue.ref(null),X=useElementSize(H),Q=vue.ref([]),K=vue.shallowRef(G);return{state:vue.ref({start:0,end:10}),source:K,currentList:Q,size:X,containerRef:H}}function createGetViewCapacity(G,H,X){return Q=>{if(typeof X=="number")return Math.ceil(Q/X);const{start:K=0}=G.value;let Z=0,ee=0;for(let te=K;te<H.value.length;te++){const ne=X(te);if(Z+=ne,ee=te,Z>Q)break}return ee-K}}function createGetOffset(G,H){return X=>{if(typeof H=="number")return Math.floor(X/H)+1;let Q=0,K=0;for(let Z=0;Z<G.value.length;Z++){const ee=H(Z);if(Q+=ee,Q>=X){K=Z;break}}return K+1}}function createCalculateRange(G,H,X,Q,{containerRef:K,state:Z,currentList:ee,source:te}){return()=>{const ne=K.value;if(ne){const re=X(G==="vertical"?ne.scrollTop:ne.scrollLeft),oe=Q(G==="vertical"?ne.clientHeight:ne.clientWidth),ae=re-H,se=re+oe+H;Z.value={start:ae<0?0:ae,end:se>te.value.length?te.value.length:se},ee.value=te.value.slice(Z.value.start,Z.value.end).map((le,ce)=>({data:le,index:ce+Z.value.start}))}}}function createGetDistance(G,H){return X=>typeof G=="number"?X*G:H.value.slice(0,X).reduce((K,Z,ee)=>K+G(ee),0)}function useWatchForSizes(G,H,X,Q){vue.watch([G.width,G.height,H,X],()=>{Q()})}function createComputedTotalSize(G,H){return vue.computed(()=>typeof G=="number"?H.value.length*G:H.value.reduce((X,Q,K)=>X+G(K),0))}const scrollToDictionaryForElementScrollKey={horizontal:"scrollLeft",vertical:"scrollTop"};function createScrollTo(G,H,X,Q){return K=>{Q.value&&(Q.value[scrollToDictionaryForElementScrollKey[G]]=X(K),H())}}function useHorizontalVirtualList(G,H){const X=useVirtualListResources(H),{state:Q,source:K,currentList:Z,size:ee,containerRef:te}=X,ne={overflowX:"auto"},{itemWidth:re,overscan:oe=5}=G,ae=createGetViewCapacity(Q,K,re),se=createGetOffset(K,re),le=createCalculateRange("horizontal",oe,se,ae,X),ce=createGetDistance(re,K),de=vue.computed(()=>ce(Q.value.start)),ue=createComputedTotalSize(re,K);useWatchForSizes(ee,H,te,le);const he=createScrollTo("horizontal",le,ce,te),fe=vue.computed(()=>({style:{height:"100%",width:`${ue.value-de.value}px`,marginLeft:`${de.value}px`,display:"flex"}}));return{scrollTo:he,calculateRange:le,wrapperProps:fe,containerStyle:ne,currentList:Z,containerRef:te}}function useVerticalVirtualList(G,H){const X=useVirtualListResources(H),{state:Q,source:K,currentList:Z,size:ee,containerRef:te}=X,ne={overflowY:"auto"},{itemHeight:re,overscan:oe=5}=G,ae=createGetViewCapacity(Q,K,re),se=createGetOffset(K,re),le=createCalculateRange("vertical",oe,se,ae,X),ce=createGetDistance(re,K),de=vue.computed(()=>ce(Q.value.start)),ue=createComputedTotalSize(re,K);useWatchForSizes(ee,H,te,le);const he=createScrollTo("vertical",le,ce,te),fe=vue.computed(()=>({style:{width:"100%",height:`${ue.value-de.value}px`,marginTop:`${de.value}px`}}));return{calculateRange:le,scrollTo:he,containerStyle:ne,wrapperProps:fe,currentList:Z,containerRef:te}}function useWakeLock(G={}){const{navigator:H=defaultNavigator,document:X=defaultDocument}=G;let Q;const K=useSupported(()=>H&&"wakeLock"in H),Z=vue.ref(!1);async function ee(){!K.value||!Q||(X&&X.visibilityState==="visible"&&(Q=await H.wakeLock.request("screen")),Z.value=!Q.released)}X&&useEventListener(X,"visibilitychange",ee,{passive:!0});async function te(re){K.value&&(Q=await H.wakeLock.request(re),Z.value=!Q.released)}async function ne(){!K.value||!Q||(await Q.release(),Z.value=!Q.released,Q=null)}return{isSupported:K,isActive:Z,request:te,release:ne}}function useWebNotification(G={}){const{window:H=defaultWindow,requestPermissions:X=!0}=G,Q=G,K=useSupported(()=>{if(!H||!("Notification"in H))return!1;try{new Notification("")}catch{return!1}return!0}),Z=vue.ref(K.value&&"permission"in Notification&&Notification.permission==="granted"),ee=vue.ref(null),te=async()=>{if(K.value)return!Z.value&&Notification.permission!=="denied"&&await Notification.requestPermission()==="granted"&&(Z.value=!0),Z.value},{on:ne,trigger:re}=createEventHook(),{on:oe,trigger:ae}=createEventHook(),{on:se,trigger:le}=createEventHook(),{on:ce,trigger:de}=createEventHook(),ue=async fe=>{if(!K.value||!Z.value)return;const pe=Object.assign({},Q,fe);return ee.value=new Notification(pe.title||"",pe),ee.value.onclick=re,ee.value.onshow=ae,ee.value.onerror=le,ee.value.onclose=de,ee.value},he=()=>{ee.value&&ee.value.close(),ee.value=null};if(X&&tryOnMounted(te),tryOnScopeDispose(he),K.value&&H){const fe=H.document;useEventListener(fe,"visibilitychange",pe=>{pe.preventDefault(),fe.visibilityState==="visible"&&he()})}return{isSupported:K,notification:ee,ensurePermissions:te,permissionGranted:Z,show:ue,close:he,onClick:ne,onShow:oe,onError:se,onClose:ce}}const DEFAULT_PING_MESSAGE="ping";function resolveNestedOptions(G){return G===!0?{}:G}function useWebSocket(G,H={}){const{onConnected:X,onDisconnected:Q,onError:K,onMessage:Z,immediate:ee=!0,autoClose:te=!0,protocols:ne=[]}=H,re=vue.ref(null),oe=vue.ref("CLOSED"),ae=vue.ref(),se=toRef(G);let le,ce,de=!1,ue=0,he=[],fe;const pe=()=>{if(he.length&&ae.value&&oe.value==="OPEN"){for(const Ee of he)ae.value.send(Ee);he=[]}},ve=()=>{clearTimeout(fe),fe=void 0},me=(Ee=1e3,xe)=>{!isClient$1||!ae.value||(de=!0,ve(),le==null||le(),ae.value.close(Ee,xe),ae.value=void 0)},ge=(Ee,xe=!0)=>!ae.value||oe.value!=="OPEN"?(xe&&he.push(Ee),!1):(pe(),ae.value.send(Ee),!0),we=()=>{if(de||typeof se.value>"u")return;const Ee=new WebSocket(se.value,ne);ae.value=Ee,oe.value="CONNECTING",Ee.onopen=()=>{oe.value="OPEN",X==null||X(Ee),ce==null||ce(),pe()},Ee.onclose=xe=>{if(oe.value="CLOSED",Q==null||Q(Ee,xe),!de&&H.autoReconnect){const{retries:Me=-1,delay:De=1e3,onFailed:ke}=resolveNestedOptions(H.autoReconnect);ue+=1,typeof Me=="number"&&(Me<0||ue<Me)||typeof Me=="function"&&Me()?setTimeout(we,De):ke==null||ke()}},Ee.onerror=xe=>{K==null||K(Ee,xe)},Ee.onmessage=xe=>{if(H.heartbeat){ve();const{message:Me=DEFAULT_PING_MESSAGE}=resolveNestedOptions(H.heartbeat);if(xe.data===Me)return}re.value=xe.data,Z==null||Z(Ee,xe)}};if(H.heartbeat){const{message:Ee=DEFAULT_PING_MESSAGE,interval:xe=1e3,pongTimeout:Me=1e3}=resolveNestedOptions(H.heartbeat),{pause:De,resume:ke}=useIntervalFn(()=>{ge(Ee,!1),fe==null&&(fe=setTimeout(()=>{me(),de=!1},Me))},xe,{immediate:!1});le=De,ce=ke}te&&(isClient$1&&useEventListener("beforeunload",()=>me()),tryOnScopeDispose(me));const $e=()=>{!isClient$1&&!isWorker||(me(),de=!1,ue=0,we())};return ee&&$e(),vue.watch(se,$e),{data:re,status:oe,close:me,send:ge,open:$e,ws:ae}}function useWebWorker(G,H,X){const{window:Q=defaultWindow}=X??{},K=vue.ref(null),Z=vue.shallowRef(),ee=(...ne)=>{Z.value&&Z.value.postMessage(...ne)},te=function(){Z.value&&Z.value.terminate()};return Q&&(typeof G=="string"?Z.value=new Worker(G,H):typeof G=="function"?Z.value=G():Z.value=G,Z.value.onmessage=ne=>{K.value=ne.data},tryOnScopeDispose(()=>{Z.value&&Z.value.terminate()})),{data:K,post:ee,terminate:te,worker:Z}}function jobRunner(G){return H=>{const X=H.data[0];return Promise.resolve(G.apply(void 0,X)).then(Q=>{postMessage(["SUCCESS",Q])}).catch(Q=>{postMessage(["ERROR",Q])})}}function depsParser(G,H){if(G.length===0&&H.length===0)return"";const X=G.map(Z=>`'${Z}'`).toString(),Q=H.filter(Z=>typeof Z=="function").map(Z=>{const ee=Z.toString();return ee.trim().startsWith("function")?ee:`const ${Z.name} = ${ee}`}).join(";"),K=`importScripts(${X});`;return`${X.trim()===""?"":K} ${Q}`}function createWorkerBlobUrl(G,H,X){const Q=`${depsParser(H,X)}; onmessage=(${jobRunner})(${G})`,K=new Blob([Q],{type:"text/javascript"});return URL.createObjectURL(K)}function useWebWorkerFn(G,H={}){const{dependencies:X=[],localDependencies:Q=[],timeout:K,window:Z=defaultWindow}=H,ee=vue.ref(),te=vue.ref("PENDING"),ne=vue.ref({}),re=vue.ref(),oe=(ce="PENDING")=>{ee.value&&ee.value._url&&Z&&(ee.value.terminate(),URL.revokeObjectURL(ee.value._url),ne.value={},ee.value=void 0,Z.clearTimeout(re.value),te.value=ce)};oe(),tryOnScopeDispose(oe);const ae=()=>{const ce=createWorkerBlobUrl(G,X,Q),de=new Worker(ce);return de._url=ce,de.onmessage=ue=>{const{resolve:he=()=>{},reject:fe=()=>{}}=ne.value,[pe,ve]=ue.data;switch(pe){case"SUCCESS":he(ve),oe(pe);break;default:fe(ve),oe("ERROR");break}},de.onerror=ue=>{const{reject:he=()=>{}}=ne.value;ue.preventDefault(),he(ue),oe("ERROR")},K&&(re.value=setTimeout(()=>oe("TIMEOUT_EXPIRED"),K)),de},se=(...ce)=>new Promise((de,ue)=>{ne.value={resolve:de,reject:ue},ee.value&&ee.value.postMessage([[...ce]]),te.value="RUNNING"});return{workerFn:(...ce)=>te.value==="RUNNING"?(console.error("[useWebWorkerFn] You can only run one instance of the worker at a time."),Promise.reject()):(ee.value=ae(),se(...ce)),workerStatus:te,workerTerminate:oe}}function useWindowFocus(G={}){const{window:H=defaultWindow}=G;if(!H)return vue.ref(!1);const X=vue.ref(H.document.hasFocus());return useEventListener(H,"blur",()=>{X.value=!1}),useEventListener(H,"focus",()=>{X.value=!0}),X}function useWindowScroll(G={}){const{window:H=defaultWindow,behavior:X="auto"}=G;if(!H)return{x:vue.ref(0),y:vue.ref(0)};const Q=vue.ref(H.scrollX),K=vue.ref(H.scrollY),Z=vue.computed({get(){return Q.value},set(te){scrollTo({left:te,behavior:X})}}),ee=vue.computed({get(){return K.value},set(te){scrollTo({top:te,behavior:X})}});return useEventListener(H,"scroll",()=>{Q.value=H.scrollX,K.value=H.scrollY},{capture:!1,passive:!0}),{x:Z,y:ee}}function useWindowSize(G={}){const{window:H=defaultWindow,initialWidth:X=Number.POSITIVE_INFINITY,initialHeight:Q=Number.POSITIVE_INFINITY,listenOrientation:K=!0,includeScrollbar:Z=!0}=G,ee=vue.ref(X),te=vue.ref(Q),ne=()=>{H&&(Z?(ee.value=H.innerWidth,te.value=H.innerHeight):(ee.value=H.document.documentElement.clientWidth,te.value=H.document.documentElement.clientHeight))};if(ne(),tryOnMounted(ne),useEventListener("resize",ne,{passive:!0}),K){const re=useMediaQuery("(orientation: portrait)");vue.watch(re,()=>ne())}return{width:ee,height:te}}function isNull(G){return G==null}function isNotNull(G){return G!=null}function isEmptyStr(G){return G===void 0||!G&&G!==0&&G!=="0"||!/[^\s]/.test(G)}const toHump=function(G){return G.replace(/\_(\w)/g,function(H,X){return X.toUpperCase()})},generateId=function(){var G=new Date().getTime(),H="xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(X){var Q=(G+Math.random()*16)%16|0;return G=Math.floor(G/16),(X=="x"?Q:Q&3|8).toString(16)});return H.toUpperCase()},deepClone$1=function(G){if(G!==void 0)return JSON.parse(JSON.stringify(G))},overwriteObj=function(G,H){Object.keys(H).forEach(X=>{G[X]=H[X]})},addWindowResizeHandler=function(G){let H=window.onresize;typeof window.onresize!="function"?window.onresize=G:window.onresize=function(){H(),G()}};function isEqual$1(G,H){return helperEqualCompare(G,H,helperDefaultCompare)}function helperEqualCompare(G,H,X,Q,K,Z,ee){if(G===H)return!0;if(G&&H&&!isNumber$2(G)&&!isNumber$2(H)&&!isString$3(G)&&!isString$3(H)){if(isRegExp$3(G))return X(""+G,""+H,K,Z,ee);if(isDate$2(G)||isBoolean$2(G))return X(+G,+H,K,Z,ee);var te,ne,re,oe=isArray$7(G),ae=isArray$7(H);if(oe||ae?oe&&ae:G.constructor===H.constructor)return ne=keys$1(G),re=keys$1(H),Q&&(te=Q(G,H,K)),ne.length===re.length?isUndefined$1(te)?every(ne,function(se,le){return se===re[le]&&helperEqualCompare(G[se],H[re[le]],X,Q,oe||ae?le:se,G,H)}):!!te:!1}return X(G,H,K,Z,ee)}function helperDefaultCompare(G,H){return G===H}function helperCreateInTypeof(G){return function(H){return typeof H===G}}var isString$3=helperCreateInTypeof("string"),isNumber$2=helperCreateInTypeof("number"),isBoolean$2=helperCreateInTypeof("boolean"),isUndefined$1=helperCreateInTypeof("undefined"),isArray$7=Array.isArray||helperCreateInInObjectString("Array");function helperCreateInInObjectString(G){return function(H){return"[object "+G+"]"===objectToString$2.call(H)}}var objectToString$2=Object.prototype.toString,isRegExp$3=helperCreateInInObjectString("RegExp"),isDate$2=helperCreateInInObjectString("Date"),keys$1=helperCreateGetObjects("keys",1);function helperCreateGetObjects(G,H){var X=Object[G];return function(Q){var K=[];if(Q){if(X)return X(Q);each$1(Q,H>1?function(Z){K.push([""+Z,Q[Z]])}:function(){K.push(arguments[H])})}return K}}function each$1(G,H,X){return G&&(isArray$7(G)?arrayEach$1:objectEach)(G,H,X)}function arrayEach$1(G,H,X){if(G)if(G.forEach)G.forEach(H,X);else for(var Q=0,K=G.length;Q<K;Q++)H.call(X,G[Q],Q,G)}function objectEach(G,H,X){if(G)for(var Q in G)hasOwnProp(G,Q)&&H.call(X,G[Q],Q,G)}function hasOwnProp(G,H){return G&&G.hasOwnProperty?G.hasOwnProperty(H):!1}var every=helperCreateIterateHandle("every",1,1,!1,!0);function helperCreateIterateHandle(G,H,X,Q,K){return function(Z,ee,te){if(Z&&ee){if(G&&Z[G])return Z[G](ee,te);if(H&&isArray$7(Z)){for(var ne=0,re=Z.length;ne<re;ne++)if(!!ee.call(te,Z[ne],ne,Z)===Q)return[!0,!1,ne,Z[ne]][X]}else for(var oe in Z)if(hasOwnProp(Z,oe)&&!!ee.call(te,Z[oe],oe,Z)===Q)return[!0,!1,oe,Z[oe]][X]}return K}}const _hoisted_1$l3={class:"preview-modal"},_hoisted_2$l0={style:{height:"80vh"}},_sfc_main$f={__name:"PreviewModal",props:{preViewModal:{type:Boolean},designer:{type:Object}},emits:["update:preViewModal"],setup(G,{emit:H}){const X=vue.inject("$qs"),Q=G;let Z=useVModel(Q,"preViewModal",H),ee=vue.ref(null);return vue.watch(()=>Q.preViewModal,te=>{if(te){ee.value=deepClone$1(Q.designer.preViewData);const ne=re=>{if(re.child.length>0&&re.gridData==null)re.child.forEach(oe=>{ne(oe)});else{if(re.gridData==null)return;delete re.gridData.toolbarConfig.slots;for(let oe of re.gridData.toolbarConfig.buttons)oe.buttonRender&&oe.buttonRender.name!="toolBarTitle"&&delete oe.buttonRender}};ne(ee.value)}}),(te,ne)=>{const re=vue.resolveComponent("el-dialog");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l3,[vue.createVNode(re,{ref:"preViewxModal",modelValue:vue.unref(Z),"onUpdate:modelValue":ne[1]||(ne[1]=oe=>vue.isRef(Z)?Z.value=oe:Z=oe),"append-to-body":"",zIndex:999,title:G.designer.windowFormData.NAME,top:"5vh",width:"88%",draggable:"","close-on-press-escape":"","destroy-on-close":""},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$l0,[vue.createVNode(vue.unref(WindowLayout),{layoutData:vue.unref(ee),"onUpdate:layoutData":ne[0]||(ne[0]=oe=>vue.isRef(ee)?ee.value=oe:ee=oe)},null,8,["layoutData"])])]),_:1},8,["modelValue","title"])])}}};function useCommon(){const $qs=vue.inject("$qs"),axios=vue.inject("$axios"),getSelectorData=async(G,H,X)=>{var Z;let Q=Object.assign({},G);Q._field_id=H,Q._select_id=X;let K=await axios.post("/window/selector",$qs.stringify(Q));return(Z=K==null?void 0:K.data)==null?void 0:Z.data},getDefaultValue=async G=>{var X;let H=await axios.post("window/defaultValue",$qs.stringify({_region_id:G}));return(X=H==null?void 0:H.data)==null?void 0:X.data},displayLogicEvent=G=>displayLogic(G.item.itemRender.props.displayLogic,{...G.data}),displayLogic=(displayStr,datax)=>{let data=Object.assign({},datax),result=!1;try{for(let G in data)displayStr=displayStr.replace(new RegExp("@"+G+"@","gi"),typeof data[G]=="string"?"'"+data[G]+"'":data[G]);result=eval(displayStr)}catch(G){result=!1}return result},evalDefaultValue=(G,H)=>{const X=/^@(.*)@$/;if(G&&X.test(G)){const Q=X.exec(G)[1].toUpperCase();G=H[Q]}return G},getData=async function(G){var Q;let H={page:G.pagerConfig.currentPage,limit:G.pagerConfig.pageSize,_region_id:G.params._region_id};G.params.parentRowId&&(H[G.params.parentRowId]=G.params.parentRowIdValue);let X=await axios.post("/window/data/"+G.params.datasourceCode,H);return(Q=X==null?void 0:X.data)==null?void 0:Q.data},getDatasourceList=async()=>{let G=[];return await axios.post("windowDesign/getDatasourceList").then(H=>{H&&H.data.result&&H.data.data&&(G=H.data.data.map(X=>Object.assign({VALUE:X.id,NAME:X.name},X)))}),G},formInitData=async(G,H,X,Q,K)=>{var ne;let Z=X.isNew;if(Z){let re={},oe={};re.PARAMS=Object.assign({},H.params.queryParams),oe.PARENT=Object.assign({},H.params.parentData);let ae=await getDefaultValue(G._region_id,K);for(let se in ae){let le=ae[se];G[se]=evalDefaultValue(le,{...G,...re,...oe})}}let ee={};H.columns.forEach(re=>{re.itemRender&&re.itemRender.props._select_id&&(ee[re.id]=re)});let te=[];for(let re of Object.keys(ee)){let oe=ee[re];if(oe.dataType==="TREE")oe.itemRender.props.treeData=await getSelectorData(G,oe.id,oe.selectorId,K);else if(oe.remoteSearch){let ae=Object.assign({},G);ae.$_value=G[oe.field];let se=[];oe.title=="数据源"?se=await getDatasourceList(K):se=await getSelectorData(G,oe.id,oe.selectorId,K),oe.itemRender.options=se.map(de=>Object.assign({value:de.VALUE,label:de.NAME},de));let le={};oe.itemRender.options.forEach(de=>{le[de.VALUE]=de});let ce=Object.assign([],oe.itemRender.options);se.map(de=>{le.hasOwnProperty(de.VALUE)||(ce.push(Object.assign({value:de.VALUE,label:de.NAME},de)),le[de.VALUE]=de)}),oe.itemRender.options=ce,Z&&oe.visible&&!G[oe.field]&&ce.length>0&&(G[oe.field]=ce[0].VALUE,oe.title=="数据源"&&te.push({callbackFunction:"updataViewData",params:[oe.field,ce[0].VALUE]}))}else if(typeof oe.selectorId<"u"){let ae=[];if(Q.selectedWidgetParent&&Q.selectedWidgetParent.isNew&&Q.selectedWidgetParent.gridData.isNew&&Q.getWidgetType(X)=="basicFields"){let se=Q.designerConfig[Q.selectedWidgetParent.id].gridConfig;if(se.SYS_DATASOURCE_ID==null){let ue=await getDatasourceList(K);se.SYS_DATASOURCE_ID=ue[0].id}let ce=(await getColumnsByDatasourceId(se.SYS_DATASOURCE_ID,K)).map(ue=>({NAME:ue.name,SYS_DATASOURCE_COLUMN_ID:null,_SYS_DATASOURCE_COLUMN_ID_NAME:ue.columnName}));const de=await getSelectorDataBySelectorId(oe.selectorId,K);ce.forEach(ue=>{let he=de.filter(fe=>fe.name==ue._SYS_DATASOURCE_COLUMN_ID_NAME)[0];he&&ae.push({value:he.value,label:he.name})}),oe.itemRender.options=ae}else ae=await getSelectorData(G,oe.id,oe.selectorId,K),oe.itemRender.options=ae.map(se=>Object.assign({value:se.VALUE,label:se.NAME},se));if(oe.field=="SYS_WINDOW_LAYOUT_ID"||oe.field=="PARENT_REGION_ID"){const se=le=>{if(!(le.child.length==0&&le.gridData==null))if(le.child.length>0&&le.gridData==null){let ce=oe.itemRender.options.findIndex(de=>de.label==le.name);oe.field=="SYS_WINDOW_LAYOUT_ID"&&ce<0&&oe.itemRender.options.push({value:le.id,label:le.name}),le.child.forEach(de=>{se(de)})}else{let ce=oe.itemRender.options.findIndex(ue=>ue.label==le.name),de=oe.itemRender.options.findIndex(ue=>ue.label==le.gridData.params.windowTitle);oe.field=="SYS_WINDOW_LAYOUT_ID"&&ce<0?oe.itemRender.options.push({value:le.id,label:le.name}):oe.field=="PARENT_REGION_ID"&&de<0&&oe.itemRender.options.push({value:le.gridData.params._region_id,label:le.gridData.params.windowTitle})}};Q.preViewData.child.forEach(le=>{se(le)})}Z&&oe.visible&&!G[oe.field]&&ae.length>0&&(oe.field=="SYS_WINDOW_LAYOUT_ID"?G[oe.field]=((ne=Q.selectedWidgetParent)==null?void 0:ne.id)||X.id:oe.field!="PARENT_REGION_ID"&&(G[oe.field]=ae[0].VALUE))}else Z&&oe.visible&&oe.editRender.options&&oe.editRender.options.length>0&&!G[oe.field]&&(oe.field=="TYPE"&&X?X.type=="TREE"?G[oe.field]="TREE":X.type=="EDIT_GRID"?G[oe.field]="EDIT_GRID":X.type=="TREE_STRUCTURE"?G[oe.field]="TREE_STRUCTURE":X.type=="GRID"?G[oe.field]="GRID":X.type=="FORM"?G[oe.field]="FORM":G[oe.field]=X.type:oe.field=="POSITION"?G[oe.field]=X.layout:G[oe.field]=oe.editRender.options[0].VALUE)}return te},getColumnsByDatasourceId=async G=>{let H=[];return await axios.post("windowDesign/getColumns?datasourceId="+G).then(X=>{X&&X.data.result&&(H=X.data.data)}),H},getSelectorDataBySelectorId=async G=>{let H=[];return await axios.post("windowDesign/getSelectorList?selectorId="+G).then(X=>{X&&X.data.result&&X.data.data&&(H=X.data.data)}),H},changeSwitchValue=G=>G=="Y"?!0:G=="N"?!1:G;return{getSelectorData,getDefaultValue,displayLogicEvent,displayLogic,evalDefaultValue,getData,getDatasourceList,formInitData,getColumnsByDatasourceId,getSelectorDataBySelectorId,changeSwitchValue}}const _sfc_main$e={name:"ToolbarPanel",mixins:[],inject:["$getInitData"],components:{PreviewModal:_sfc_main$f},props:{designer:Object},data(){return{showPreviewDialogFlag:!1}},computed:{undoDisabled(){return!this.designer.undoEnabled()},redoDisabled(){return!this.designer.redoEnabled()}},watch:{"designer.widgetList":{deep:!0,handler(G){}}},setup(){const{formInitData:G,getData:H,changeSwitchValue:X}=useCommon();return{formInitData:G,getData:H,changeSwitchValue:X}},mounted(){},methods:{undoHistory(){this.designer.undoHistoryStep()},redoHistory(){this.designer.redoHistoryStep()},clearFormWidget(){this.$confirm("确定清空所有组件?","警告",{type:"warning"}).then(()=>{this.designer.clearDesigner()}).catch(()=>{})},previewForm(){this.showPreviewDialogFlag=!0},goLink(){window.open("http://slwdoc.js.sforcecon.com:5900/","_blank")},savePreviewData(){this.$confirm("确认保存数据信息?","警告",{type:"warning"}).then(async()=>{let G=await this.joinLayout(),H=await this.joinRegion(),X={accessType:this.designer.windowFormData.ACCESS_TYPE,description:this.designer.windowFormData.DESCRIPTION,development:this.changeSwitchValue(this.designer.windowFormData.IS_DEVELOPMENT),id:this.designer.windowFormData.SYS_WINDOW_ID,layout:this.designer.windowFormData.LAYOUT,moduleId:this.designer.windowFormData.SYS_MODULE_ID,name:this.designer.windowFormData.NAME,layouts:G,regions:H},Q=await this.axios.postJson("/windowDesign/save",X);if(Q!=null&&Q.data.result&&Q.data.status==200){this.$message.success("保存数据成功!");let K=await this.$getInitData(X.id);this.designer.reloadInitDesigner(K)}else this.$message.error("保存数据失败!")}).catch(G=>{G!=="cancel"&&console.error(G)})},async joinRegion(){let G=[];const H=await this.getData(this.designer.areaData.gridData),X=async Q=>{if(Q.child.length>0&&Q.gridData==null)for(let K of Q.child)await X(K);else{let K=this.designer.designerConfig[Q.id],Z={};if(K.gridConfig.isDefault){let de=deepClone$1(this.designer.areaData);Q.gridData.isNew?(K.gridConfig._region_id=de.gridData.params._region_id,await this.formInitData(K.gridConfig,de.gridData,Q.gridData,this.designer),Q.gridData.toolbarConfig&&Q.gridData.toolbarConfig.buttons[0].buttonRender.name=="toolBarTitle"&&(K.gridConfig.NAME=Q.gridData.toolbarConfig.buttons[0].name)):H.forEach(ue=>{Q.gridData.params&&ue.SYS_WINDOW_REGION_ID==Q.gridData.params._region_id&&Object.assign(K.gridConfig,ue)})}for(let de in K.gridConfig)de=="SYS_DATASOURCE_ID"?Z.datasourceId=K.gridConfig[de]:de=="SYS_DATASOURCE_ID"?Z.windowId=K.gridConfig[de]:de=="SYS_WINDOW_LAYOUT_ID"?Z.layoutId=K.gridConfig[de]:de=="SYS_WINDOW_REGION_ID"||de=="_region_id"?Z.id=Q.isNew?Q.gridData.params._region_id:K.gridConfig[de]:de=="ISACTIVE"?Z.active=K.gridConfig[de]:de=="SYS_WINDOW_ID"?Z.windowId=K.gridConfig[de]:de!="SEQ"&&de!="_SYS_DATASOURCE_ID_NAME"&&de!="_SYS_WINDOW_LAYOUT_ID_NAME"&&de!="_button_id"&&de!="isDefault"&&de!="_PARENT_REGION_ID_NAME"&&(Z[toHump(de.toLowerCase())]=this.changeSwitchValue(K.gridConfig[de]));Z.querys=[],Z.buttons=[],Z.fields=[];let ee=this.designer.designerConfig[Q.id].queryConfig,te=deepClone$1(this.designer.queryData);te.gridData.params.parentRowIdValue=Q.gridData.params._region_id;let ne=[];Q.gridData.isNew||(ne=await this.getData(te.gridData));for(let de in ee){let ue={},he=ee[de],fe=Q.gridData.formConfig.items.filter(pe=>pe.id==de)[0];he.NAME=fe.title,he.isDefault&&(fe.isNew?(he._region_id=te.gridData.params._region_id,await this.formInitData(he,te.gridData,fe,this.designer)):ne.forEach(pe=>{pe.NAME==fe.title&&Object.assign(he,pe)}));for(let pe in he)pe=="IS_HIDE"?ue.hide=this.changeSwitchValue(he[pe]):pe=="NO_CASE_UP_LOW"?ue.noCaseUpperLower=this.changeSwitchValue(he[pe]):pe=="SYS_DATASOURCE_COLUMN_ID"?ue.datasourceColumnId=he[pe]:pe=="SYS_WINDOW_REGION_QUERY_ID"?ue.id=fe.isNew?fe.id:he[pe]:pe=="_SYS_DATASOURCE_COLUMN_ID_NAME"?ue.columnName=he[pe]:pe!="NEW_LINE"&&pe!="SEQ"&&pe!="SYS_WINDOW_REGION_ID"&&pe!="UNIT_NAME"&&pe!="isDefault"&&(ue[toHump(pe.toLowerCase())]=this.changeSwitchValue(he[pe]));Z.querys.push(ue)}let re=this.designer.designerConfig[Q.id].btnConfig,oe=deepClone$1(this.designer.btnData);oe.gridData.params.parentRowIdValue=Q.gridData.params._region_id;let ae=[];Q.gridData.isNew||(ae=await this.getData(oe.gridData));for(let de in re){let ue={},he=re[de],fe=Q.gridData.toolbarConfig.buttons.filter(pe=>pe.id==de)[0];if(!(fe.buttonRender&&fe.buttonRender.name=="toolBarTitle")){he.isDefault&&(fe.isNew?(he._region_id=te.gridData.params._region_id,await this.formInitData(he,oe.gridData,fe,this.designer),he.NAME=fe.name,he.CODE=fe.code,he.TYPE=fe.type):ae.forEach(pe=>{pe.SYS_WINDOW_BUTTON_ID==fe._button_id&&Object.assign(he,pe)}));for(let pe in he)pe=="SYS_WINDOW_BUTTON_ID"?ue.id=fe.isNew?fe.id:he[pe]:pe=="SYS_WINDOW_ID"?ue.windowId=he[pe]:pe=="SYS_WINDOW_REGION_ID"?ue.regionId=he[pe]:pe!="_region_id"&&pe!="CREATED"&&pe!="ISACTIVE"&&pe!="SEQ"&&pe!="isDefault"&&pe!="_SYS_WINDOW_ID_NAME"&&(ue[toHump(pe.toLowerCase())]=this.changeSwitchValue(he[pe]));Z.buttons.push(ue)}}let se=this.designer.designerConfig[Q.id].fieldConfig,le=deepClone$1(this.designer.fieldData);le.gridData.params.parentRowIdValue=Q.gridData.params._region_id;let ce=[];Q.gridData.isNew||(ce=await this.getData(le.gridData));for(let de in se){let ue={},he=se[de],fe=Q.gridData.columns.filter(pe=>pe.id==de)[0];he.isDefault&&(fe.isNew?(he._region_id=te.gridData.params._region_id,await this.formInitData(he,le.gridData,fe,this.designer),he.NAME=fe.name):ce.forEach(pe=>{pe.SYS_WINDOW_REGION_FIELD_ID==fe.id&&Object.assign(he,pe)}));for(let pe in he)pe=="SYS_WINDOW_REGION_FIELD_ID"?ue.id=fe.isNew?fe.id:he[pe]:pe=="FORMATER"?ue.format=he[pe]:pe=="IS_READONLY"?ue.readOnly=this.changeSwitchValue(he[pe]):pe=="SYS_DATASOURCE_COLUMN_ID"?ue.datasourceColumnId=he[pe]:pe=="_SYS_DATASOURCE_COLUMN_ID_NAME"?ue.code=he[pe]:pe=="SYS_WINDOW_REGION_ID"||pe=="_region_id"?ue.regionId=he[pe]:pe!="SEQ"&&pe!="_button_id"&&pe!="isDefault"&&(ue[toHump(pe.toLowerCase())]=this.changeSwitchValue(he[pe]));Z.fields.push(ue)}G.push(Z)}};try{for(let Q of this.designer.preViewData.child)await X(Q)}catch(Q){console.log(Q)}return G},async joinLayout(){let G=[];const H=await this.getData(this.designer.layoutData.gridData),X=async Q=>{if(Q.child.length>0&&Q.gridData==null)for(let K of Q.child)await X(K);else{let K=this.designer.designerConfig[Q.id+"LAYOUT"],Z={};if(K.gridConfig.isDefault){let ee=deepClone$1(this.designer.layoutData);Q.isNew?(K.gridConfig._region_id=ee.gridData.params._region_id,await this.formInitData(K.gridConfig,ee.gridData,Q,this.designer),K.gridConfig.NAME=Q.name):H.forEach(te=>{te.NAME==Q.name&&Object.assign(K.gridConfig,te)})}for(let ee in K.gridConfig)ee=="SYS_WINDOW_LAYOUT_ID"?Z.id=Q.isNew?Q.id:K.gridConfig[ee]:ee!="_button_id"&&ee!="_region_id"&&ee!="_PARENT_ID_NAME"&&ee!="ISACTIVE"&&ee!="isDefault"&&ee!="isNew"&&ee!="SYS_WINDOW_ID"&&(Z[toHump(ee.toLowerCase())]=this.changeSwitchValue(K.gridConfig[ee]));G.push(Z)}};for(let Q of this.designer.preViewData.child)await X(Q);return G}}},_hoisted_1$l2={class:"toolbar-container"},_hoisted_2$k$={class:"left-toolbar"},_hoisted_3$hY={class:"right-toolbar"},_hoisted_4$ax={class:"right-toolbar-con"};function _sfc_render$8(G,H,X,Q,K,Z){const ee=vue.resolveComponent("el-button"),te=vue.resolveComponent("el-tooltip"),ne=vue.resolveComponent("PreviewModal");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",_hoisted_1$l2,[vue.createElementVNode("div",_hoisted_2$k$,[vue.createVNode(ee,{link:"",type:"primary",disabled:Z.undoDisabled,title:"撤销",onClick:Z.undoHistory},{default:vue.withCtx(()=>[...H[2]||(H[2]=[vue.createElementVNode("i",{class:"iconfont icon-weibiaoti545"},null,-1)])]),_:1},8,["disabled","onClick"]),vue.createVNode(ee,{link:"",type:"primary",disabled:Z.redoDisabled,title:"恢复",onClick:Z.redoHistory},{default:vue.withCtx(()=>[...H[3]||(H[3]=[vue.createElementVNode("i",{class:"iconfont icon-huifu"},null,-1)])]),_:1},8,["disabled","onClick"]),vue.createVNode(te,{class:"box-item",effect:"dark",content:"api文档",placement:"right"},{default:vue.withCtx(()=>[vue.createElementVNode("i",{class:"iconfont icon-link1",onClick:H[0]||(H[0]=(...re)=>Z.goLink&&Z.goLink(...re))})]),_:1})]),vue.createElementVNode("div",_hoisted_3$hY,[vue.createElementVNode("div",_hoisted_4$ax,[vue.createVNode(ee,{link:"",type:"primary",onClick:Z.clearFormWidget},{default:vue.withCtx(()=>[...H[4]||(H[4]=[vue.createElementVNode("i",{class:"iconfont icon-delete"},null,-1),vue.createTextVNode(" 清空 ",-1)])]),_:1},8,["onClick"]),vue.createVNode(ee,{link:"",size:"large",type:"primary",onClick:Z.previewForm},{default:vue.withCtx(()=>[...H[5]||(H[5]=[vue.createElementVNode("i",{class:"iconfont icon-view"},null,-1),vue.createTextVNode(" 预览 ",-1)])]),_:1},8,["onClick"]),vue.createVNode(ee,{link:"",size:"large",type:"primary",onClick:Z.savePreviewData},{default:vue.withCtx(()=>[...H[6]||(H[6]=[vue.createElementVNode("i",{class:"iconfont icon-save"},null,-1),vue.createTextVNode(" 保存 ",-1)])]),_:1},8,["onClick"])])])]),vue.createVNode(ne,{preViewModal:K.showPreviewDialogFlag,"onUpdate:preViewModal":H[1]||(H[1]=re=>K.showPreviewDialogFlag=re),designer:X.designer},null,8,["preViewModal","designer"])],64)}const ToolbarPanel=_export_sfc(_sfc_main$e,[["render",_sfc_render$8],["__scopeId","data-v-fe9489ce"]]),containers$1=[{name:"垂直布局",layout:"V",type:"grid-v",icon:"icon-s-grid",mode:"vertical",gridData:null,child:[]},{name:"水平布局",layout:"H",type:"grid",icon:"icon-s-grid",mode:"horizontal",gridData:null,child:[]},{name:"页签",type:"tab",icon:"icon-tab",layout:"TAB",mode:"tab",child:[],gridData:null}],basicFields=[{name:"单行输入",type:"ElInput",icon:"icon-text",formItemFlag:!0,field:"text",options:{type:"text",name:"",label:"",labelAlign:"",defaultValue:"",placeholder:"",columnWidth:"200px",size:"",labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,clearable:!0,showPassword:!1,required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,minLength:null,maxLength:null,showWordLimit:!1,prefixIcon:"",suffixIcon:"",appendButton:!1,appendButtonDisabled:!1,buttonIcon:"custom-search",onCreated:"",onMounted:"",onInput:"",onChange:"",onFocus:"",onBlur:"",onValidate:"",onAppendButtonClick:""}},{name:"多行输入",type:"ElInput",icon:"icon-textarea",formItemFlag:!0,field:"textarea",options:{type:"textarea",name:"",label:"",labelAlign:"",rows:3,defaultValue:"",placeholder:"",columnWidth:"200px",size:"",labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,minLength:null,maxLength:null,showWordLimit:!1,onCreated:"",onMounted:"",onInput:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"计数器",type:"ElInputNumber",icon:"icon-number-field",formItemFlag:!0,field:"number",options:{name:"",label:"",labelAlign:"",defaultValue:0,placeholder:"",columnWidth:"200px",size:"",labelWidth:null,labelHidden:!1,disabled:!1,hidden:!1,required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,min:-1e11,max:1e11,precision:0,step:1,controlsPosition:"right",onCreated:"",onMounted:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"下拉选项",type:"ElSelect",icon:"icon-select-field",formItemFlag:!0,field:"select",options:{name:"",label:"",labelAlign:"",defaultValue:"",placeholder:"",columnWidth:"200px",size:"",labelWidth:null,labelHidden:!1,disabled:!1,hidden:!1,clearable:!0,filterable:!1,allowCreate:!1,remote:!1,automaticDropdown:!1,multiple:!1,multipleLimit:0,optionItems:[{label:"select 1",value:1},{label:"select 2",value:2},{label:"select 3",value:3}],required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onRemoteQuery:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"下拉多选",type:"ElSelect",icon:"icon-select-field",formItemFlag:!0,field:"selectmultiple",options:{name:"",label:"",labelAlign:"",defaultValue:"",placeholder:"",columnWidth:"200px",size:"",labelWidth:null,labelHidden:!1,disabled:!1,hidden:!1,clearable:!0,filterable:!1,allowCreate:!1,remote:!1,automaticDropdown:!1,multiple:!0,multipleLimit:0,optionItems:[{label:"select 1",value:1},{label:"select 2",value:2},{label:"select 3",value:3}],required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onRemoteQuery:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"时间",type:"ElTimePicker",icon:"icon-time",formItemFlag:!0,field:"time",options:{type:"time",name:"",label:"",labelAlign:"",defaultValue:null,placeholder:"",columnWidth:"200px",size:"",autoFullWidth:!0,labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,clearable:!0,editable:!1,format:"HH:mm:ss",required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"时间范围",type:"ElTimePicker",icon:"icon-reloadtime",formItemFlag:!0,field:"timerange",options:{type:"timerange",name:"",label:"",labelAlign:"",defaultValue:null,startPlaceholder:"",endPlaceholder:"",columnWidth:"200px",size:"",autoFullWidth:!0,labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,clearable:!0,editable:!1,format:"HH:mm:ss",required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"日期",type:"ElDatePicker",icon:"icon-date",formItemFlag:!0,field:"date",options:{name:"",label:"",labelAlign:"",type:"date",defaultValue:null,placeholder:"",columnWidth:"200px",size:"",autoFullWidth:!0,labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,clearable:!0,editable:!1,format:"YYYY-MM-DD",valueFormat:"YYYY-MM-DD",required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"日期范围",type:"ElDatePicker",icon:"icon-date-range",formItemFlag:!0,field:"datetimerange",options:{name:"",label:"",labelAlign:"",type:"datetimerange",defaultValue:null,startPlaceholder:"",endPlaceholder:"",columnWidth:"200px",size:"",autoFullWidth:!0,labelWidth:null,labelHidden:!1,readonly:!1,disabled:!1,hidden:!1,clearable:!0,editable:!1,format:"YYYY-MM-DD",valueFormat:"YYYY-MM-DD",required:!1,requiredHint:"",validation:"",validationHint:"",customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,onCreated:"",onMounted:"",onChange:"",onFocus:"",onBlur:"",onValidate:""}},{name:"开关",type:"ElSwitch",icon:"icon-switch",formItemFlag:!0,field:"switch",options:{name:"",label:"",labelAlign:"",defaultValue:null,columnWidth:"200px",labelWidth:null,labelHidden:!1,disabled:!1,hidden:!1,customClass:"",labelIconClass:null,labelIconPosition:"rear",labelTooltip:null,switchWidth:40,activeText:"",inactiveText:"",activeColor:null,inactiveColor:null,onCreated:"",onMounted:"",onChange:"",onValidate:""}},{name:"按钮",type:"ElButton",icon:"icon-button",formItemFlag:!1,options:{name:"",slw:"",label:"",columnWidth:"200px",size:"",displayStyle:"block",disabled:!1,hidden:!1,type:"",plain:!1,round:!1,circle:!1,icon:null,customClass:"",onCreated:"",onMounted:"",onClick:""}}],advancedFields=[{name:"表格",type:"table",icon:"icon-table-1",child:[],gridData:{border:"inner",stripe:!0,perfect:!0,resizable:!0,showHeaderOverflow:!0,showOverflow:"tooltip",highlightHoverRow:!0,highlightCurrentRow:!0,size:"small",height:"auto",autoResize:!0,rowId:"id",customConfig:{checkMethod:({column:G})=>!(G.type==="seq"||G.type==="checkbox")},sortConfig:{trigger:"cell",remote:!0},filterConfig:{remote:!0},rowConfig:{useKey:!0,keyField:"id",isCurrent:!0,isHover:!0},columnConfig:{isCurrent:!0,isHover:!0,resizable:!0},pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"],autoHidden:!0,perfect:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{name:"表格",buttonRender:{name:"toolBarTitle"}}],slots:{buttons:"toolbar_buttons"},refresh:!0,import:!1,export:!1,print:!1,zoom:!1,custom:!0},columns:[{fixed:"left",type:"seq",width:45,colType:"showInGrid"},{fixed:"left",type:"checkbox",width:40,colType:"showInGrid"}],resizableConfig:{minWidth:"60px"},exportConfig:{types:["csv"],modes:["current","selected","all"],download:!0},editRules:{},editConfig:{showStatus:!0,showIcon:!1,showUpdateStatus:!0,showInsertStatus:!0},keyboardConfig:{isArrow:!0,isDel:!0,isEnter:!0,isTab:!0,isEdit:!0},checkboxConfig:{trigger:"column",range:!0},printConfig:{modes:["current","selected","all"]},emptyText:"暂无数据",type:"GRID"}},{name:"表单",type:"form",icon:"icon-biaodan",child:[],gridData:{border:"inner",stripe:!0,perfect:!0,resizable:!0,showHeaderOverflow:!0,showOverflow:"tooltip",highlightHoverRow:!0,highlightCurrentRow:!0,size:"small",height:"auto",autoResize:!0,rowId:"id",customConfig:{checkMethod:({column:G})=>!(G.type==="seq"||G.type==="checkbox")},sortConfig:{trigger:"cell",remote:!0},filterConfig:{remote:!0},rowConfig:{useKey:!0,keyField:"id",isCurrent:!0,isHover:!0},columnConfig:{isCurrent:!0,isHover:!0,resizable:!0},pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"],autoHidden:!0,perfect:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{name:"表单",buttonRender:{name:"toolBarTitle"}}],refresh:!0,import:!1,export:!1,print:!1,zoom:!1,custom:!0},columns:[],resizableConfig:{minWidth:"60px"},exportConfig:{types:["csv"],modes:["current","selected","all"],download:!0},editRules:{},editConfig:{showStatus:!0,showIcon:!1,showUpdateStatus:!0,showInsertStatus:!0},keyboardConfig:{isArrow:!0,isDel:!0,isEnter:!0,isTab:!0,isEdit:!0},checkboxConfig:{trigger:"column",range:!0},printConfig:{modes:["current","selected","all"]},emptyText:"暂无数据",type:"FORM"}},{name:"树形表格",type:"tree",icon:"icon-tree-table",child:[],gridData:{autoResize:!0,border:"inner",stripe:!1,perfect:!0,resizable:!0,showHeaderOverflow:!0,showOverflow:"tooltip",highlightHoverRow:!0,highlightCurrentRow:!0,size:"small",height:"auto",rowId:"id",customConfig:{checkMethod:({column:G})=>!(G.type==="seq"||G.type==="checkbox")},sortConfig:{trigger:"cell",remote:!0},filterConfig:{remote:!0},rowConfig:{useKey:!0,keyField:"id",isCurrent:!0,isHover:!0},columnConfig:{isCurrent:!0,isHover:!0,resizable:!0},pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"],autoHidden:!0,perfect:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{name:"树形表格",buttonRender:{name:"toolBarTitle"}}],slots:{buttons:"toolbar_buttons"},refresh:!0,import:!1,export:!1,print:!1,zoom:!1,custom:!0},columns:[{fixed:"left",width:180,colType:"showInGrid",treeNode:!0,type:"checkbox",title:"名称"}],treeConfig:{children:"_CHILDS",accordion:!0,line:!0,iconOpen:"vxe-icon--caret-right rotate45",iconClose:"vxe-icon--caret-right"},checkboxConfig:{labelField:"name",expandAll:!0},resizableConfig:{minWidth:"60px"},exportConfig:{types:["csv"],modes:["current","selected","all"],download:!0},editRules:{},editConfig:{showStatus:!0,showIcon:!1,showUpdateStatus:!0,showInsertStatus:!0},keyboardConfig:{isArrow:!0,isDel:!0,isEnter:!0,isTab:!0,isEdit:!0},printConfig:{modes:["current","selected","all"]},emptyText:"暂无数据",data:[{id:1e4,parentId:null,name:"vxe-table test abc1",type:"mp3",size:1024,date:"2020-08-01"},{id:10050,parentId:null,name:"Test2",type:"mp4",size:null,date:"2021-04-01",_CHILDS:[{id:24300,parentId:10050,name:"Test3",type:"avi",size:1024,date:"2020-03-01",_CHILDS:[{id:20045,parentId:24300,name:"vxe-table test abc4",type:"html",size:600,date:"2021-04-01"},{id:10053,parentId:24300,name:"vxe-table test abc96",type:"avi",size:null,date:"2021-04-01",_CHILDS:[{id:24330,parentId:10053,name:"vxe-table test abc5",type:"txt",size:25,date:"2021-10-01"},{id:21011,parentId:10053,name:"Test6",type:"pdf",size:512,date:"2020-01-01"},{id:22200,parentId:10053,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}]}]},{id:23666,parentId:null,name:"Test8",type:"xlsx",size:2048,date:"2020-11-01",_CHILDS:[{id:23677,parentId:23666,name:"Test7",type:"js",size:1024,date:"2021-06-01",_CHILDS:[{id:23671,parentId:23677,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:23672,parentId:23677,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]},{id:23688,parentId:23666,name:"Test7",type:"js",size:1024,date:"2021-06-01",_CHILDS:[{id:23681,parentId:23688,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:23682,parentId:23688,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}]},{id:24555,parentId:null,name:"vxe-table test abc9",type:"avi",size:224,date:"2020-10-01",_CHILDS:[{id:24566,parentId:24555,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:24577,parentId:24555,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}],type:"TREE"}},{name:"可编辑表格",type:"edit_table",icon:"icon-kebianjibiaoge",child:[],gridData:{border:"inner",stripe:!0,perfect:!0,resizable:!0,showHeaderOverflow:!0,showOverflow:"tooltip",highlightHoverRow:!0,highlightCurrentRow:!0,size:"small",height:"auto",autoResize:!0,rowId:"id",customConfig:{checkMethod:({column:G})=>!(G.type==="seq"||G.type==="checkbox")},sortConfig:{trigger:"cell",remote:!0},filterConfig:{remote:!0},rowConfig:{useKey:!0,keyField:"id",isCurrent:!0,isHover:!0},columnConfig:{isCurrent:!0,isHover:!0,resizable:!0},pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"],autoHidden:!0,perfect:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{name:"可编辑表格",buttonRender:{name:"toolBarTitle"}}],slots:{buttons:"toolbar_buttons"},refresh:!1,import:!1,export:!1,print:!1,zoom:!1,custom:!0},columns:[{fixed:"left",type:"seq",width:45,colType:"showInGrid"},{fixed:"left",type:"checkbox",width:40,colType:"showInGrid"}],resizableConfig:{minWidth:"60px"},exportConfig:{types:["csv"],modes:["current","selected","all"],download:!0},editRules:{},editConfig:{showStatus:!0,showIcon:!1,showUpdateStatus:!0,showInsertStatus:!0,trigger:"click",mode:"cell",enabled:!0},keyboardConfig:{isArrow:!0,isDel:!0,isEnter:!0,isTab:!0,isEdit:!0},checkboxConfig:{trigger:"column",range:!0},printConfig:{modes:["current","selected","all"]},emptyText:"暂无数据",type:"EDIT_GRID"}},{name:"树形结构",type:"tree_structure",icon:"icon-tree-structure",child:[],gridData:{autoResize:!0,border:"inner",stripe:!1,perfect:!0,resizable:!0,showHeaderOverflow:!0,showOverflow:"tooltip",showHeader:!1,highlightHoverRow:!0,highlightCurrentRow:!0,size:"small",height:"auto",rowId:"id",customConfig:{checkMethod:({column:G})=>!(G.type==="seq"||G.type==="checkbox")},sortConfig:{trigger:"cell",remote:!0},filterConfig:{remote:!0},rowConfig:{useKey:!0,keyField:"id",isCurrent:!0,isHover:!0},columnConfig:{isCurrent:!0,isHover:!0,resizable:!0},pagerConfig:{currentPage:1,pageSize:10,pageSizes:[5,10,15,20,50,100,200,500,1e3],background:!0,layouts:["PrevJump","PrevPage","Number","NextPage","NextJump","Sizes","FullJump","Total"],autoHidden:!0,perfect:!0},formConfig:{titleOverflow:"tooltip",items:[]},toolbarConfig:{buttons:[{name:"树形结构",buttonRender:{name:"toolBarTitle"}}],slots:{buttons:"toolbar_buttons"},refresh:!0,import:!1,export:!1,print:!1,zoom:!1,custom:!0},columns:[{fixed:"left",width:180,colType:"showInGrid",treeNode:!0,type:"checkbox",title:"名称"}],treeConfig:{children:"_CHILDS",accordion:!0,line:!0,iconOpen:"vxe-icon-square-minus",iconClose:"vxe-icon-square-plus"},checkboxConfig:{labelField:"name",expandAll:!0},resizableConfig:{minWidth:"60px"},exportConfig:{types:["csv"],modes:["current","selected","all"],download:!0},editRules:{},editConfig:{showStatus:!0,showIcon:!1,showUpdateStatus:!0,showInsertStatus:!0},keyboardConfig:{isArrow:!0,isDel:!0,isEnter:!0,isTab:!0,isEdit:!0},printConfig:{modes:["current","selected","all"]},emptyText:"暂无数据",data:[{id:1e4,parentId:null,name:"vxe-table test abc1",type:"mp3",size:1024,date:"2020-08-01"},{id:10050,parentId:null,name:"Test2",type:"mp4",size:null,date:"2021-04-01",_CHILDS:[{id:24300,parentId:10050,name:"Test3",type:"avi",size:1024,date:"2020-03-01",_CHILDS:[{id:20045,parentId:24300,name:"vxe-table test abc4",type:"html",size:600,date:"2021-04-01"},{id:10053,parentId:24300,name:"vxe-table test abc96",type:"avi",size:null,date:"2021-04-01",_CHILDS:[{id:24330,parentId:10053,name:"vxe-table test abc5",type:"txt",size:25,date:"2021-10-01"},{id:21011,parentId:10053,name:"Test6",type:"pdf",size:512,date:"2020-01-01"},{id:22200,parentId:10053,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}]}]},{id:23666,parentId:null,name:"Test8",type:"xlsx",size:2048,date:"2020-11-01",_CHILDS:[{id:23677,parentId:23666,name:"Test7",type:"js",size:1024,date:"2021-06-01",_CHILDS:[{id:23671,parentId:23677,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:23672,parentId:23677,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]},{id:23688,parentId:23666,name:"Test7",type:"js",size:1024,date:"2021-06-01",_CHILDS:[{id:23681,parentId:23688,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:23682,parentId:23688,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}]},{id:24555,parentId:null,name:"vxe-table test abc9",type:"avi",size:224,date:"2020-10-01",_CHILDS:[{id:24566,parentId:24555,name:"Test7",type:"js",size:1024,date:"2021-06-01"},{id:24577,parentId:24555,name:"Test7",type:"js",size:1024,date:"2021-06-01"}]}],type:"TREE_STRUCTURE"}}],customFields=[];function addContainerWidgetSchema(G){containers$1.push(G)}function addBasicFieldSchema(G){basicFields.push(G)}function addAdvancedFieldSchema(G){advancedFields.push(G)}function addCustomWidgetSchema(G){customFields.push(G)}/**!
153
153
  * Sortable 1.14.0
154
154
  * @author RubaXa <trash@rubaxa.org>
155
155
  * @author owenm <owen23355@gmail.com>
@@ -368,6 +368,6 @@ use chrome, FireFox or Internet Explorer 11`)}var ne=X("safe-buffer"),re=X("rand
368
368
  */function Z(ee){return ee>=65&&ee<=90||ee===95||ee>=97&&ee<=122||ee>=192&&ee<=214||ee>=216&&ee<=246||ee>=248&&ee<=767||ee>=880&&ee<=893||ee>=895&&ee<=8191||ee>=8204&&ee<=8205||ee>=8304&&ee<=8591||ee>=11264&&ee<=12271||ee>=12289&&ee<=55295||ee>=63744&&ee<=64975||ee>=65008&&ee<=65533||ee>=65536&&ee<=983039}Object.defineProperty(K,"__esModule",{value:!0}),K.NC_NAME_START_CHAR="A-Z_a-zÀ-ÖØ-öø-˿Ͱ-ͽͿ-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",K.NC_NAME_CHAR="-"+K.NC_NAME_START_CHAR+".0-9·̀-ͯ‿-⁀",K.NC_NAME_START_CHAR_RE=new RegExp("^["+K.NC_NAME_START_CHAR+"]$","u"),K.NC_NAME_CHAR_RE=new RegExp("^["+K.NC_NAME_CHAR+"]$","u"),K.NC_NAME_RE=new RegExp("^["+K.NC_NAME_START_CHAR+"]["+K.NC_NAME_CHAR+"]*$","u"),K.isNCNameStartChar=Z,K.isNCNameChar=function(ee){return Z(ee)||ee===45||ee===46||ee>=48&&ee<=57||ee===183||ee>=768&&ee<=879||ee>=8255&&ee<=8256}},{}]},{},[15])(15)})})(exceljs_min$1,exceljs_min$1.exports);var exceljs_minExports=exceljs_min$1.exports;const ExcelJS=getDefaultExportFromCjs(exceljs_minExports),zhCN={vxe:{base:{pleaseInput:"请输入",pleaseSelect:"请选择",comma:",",fullStop:"。"},loading:{text:"加载中..."},error:{downErr:"下载失败",groupFixed:"如果使用分组表头,冻结列必须按组设置",groupMouseRange:'分组表头与 "{0}" 不能同时使用,这可能会出现错误',groupTag:'分组列头应该使用 "{0}" 而不是 "{1}",这可能会出现错误',scrollErrProp:'启用虚拟滚动后不支持该参数 "{0}"',errConflicts:'参数 "{0}" 与 "{1}" 有冲突',unableInsert:"无法插入到指定位置,请检查参数是否正确",useErr:'安装 "{0}" 模块时发生错误,可能顺序不正确,依赖的模块需要在 Table 之前安装',barUnableLink:"工具栏无法关联表格",expandContent:'展开行的插槽应该是 "content",请检查是否正确',reqComp:'缺少 "{0}" 组件,请检查是否正确安装。 https://vxeui.com/#/start/useGlobal',reqModule:'缺少 "{0}" 模块',reqProp:'缺少必要的 "{0}" 参数,这可能会导致出现错误',emptyProp:'参数 "{0}" 不允许为空',errProp:'不支持的参数 "{0}",可能为 "{1}"',colRepet:'column.{0}="{1}" 重复了,这可能会导致某些功能无法使用',notFunc:'方法 "{0}" 不存在',errFunc:'参数 "{0}" 不是一个方法',notValidators:'全局校验 "{0}" 不存在',notFormats:'全局格式化 "{0}" 不存在',notCommands:'全局指令 "{0}" 不存在',notSlot:'插槽 "{0}" 不存在',noTree:'树结构不支持 "{0}"',notProp:'不支持的参数 "{0}"',checkProp:'当数据量过大时可能会导致复选框卡顿,建议设置参数 "{0}" 提升渲染速度',coverProp:'"{0}" 的参数 "{1}" 重复定义,这可能会出现错误',uniField:'字段名 "{0}" 重复定义,这可能会出现错误',repeatKey:'主键重复 {0}="{1}",这可能会出现错误',delFunc:'方法 "{0}" 已废弃,请使用 "{1}"',delProp:'参数 "{0}" 已废弃,请使用 "{1}"',delEvent:'事件 "{0}" 已废弃,请使用 "{1}"',removeProp:'参数 "{0}" 已废弃,不建议使用,这可能会导致出现错误',errFormat:'全局的格式化内容应该使用 "VXETable.formats" 定义,挂载 "formatter={0}" 的方式已不建议使用',notType:'不支持的文件类型 "{0}"',notExp:"该浏览器不支持导入/导出功能",impFields:"导入失败,请检查字段名和数据格式是否正确",treeNotImp:"树表格不支持导入",reqPlugin:'可选扩展插件 "{1}" https://vxeui.com/other{0}/#/{1}/install'},table:{emptyText:"暂无数据",allTitle:"全选/取消",seqTitle:"序号",actionTitle:"操作",confirmFilter:"筛选",resetFilter:"重置",allFilter:"全部",sortAsc:"升序:最低到最高",sortDesc:"降序:最高到最低",filter:"对所选的列启用筛选",impSuccess:"成功导入 {0} 条记录",expLoading:"正在导出中",expSuccess:"导出成功",expError:"导出失败",expFilename:"导出_{0}",expOriginFilename:"导出_源_{0}",customTitle:"列设置",customAll:"全部",customConfirm:"确认",customClose:"关闭",customCancel:"取消",customRestore:"恢复默认",maxFixedCol:"最大冻结列的数量不能超过 {0} 个",dragTip:"移动:{0}"},grid:{selectOneRecord:"请至少选择一条记录!",deleteSelectRecord:"您确定要删除所选记录吗?",removeSelectRecord:"您确定要移除所选记录吗?",dataUnchanged:"数据未改动!",delSuccess:"成功删除所选记录!",saveSuccess:"保存成功!",operError:"发生错误,操作失败!"},select:{search:"搜索",loadingText:"加载中",emptyText:"暂无数据"},pager:{goto:"前往",gotoTitle:"页数",pagesize:"{0}条/页",total:"共 {0} 条记录",pageClassifier:"页",homePage:"首页",homePageTitle:"首页",prevPage:"上一页",prevPageTitle:"上一页",nextPage:"下一页",nextPageTitle:"下一页",prevJump:"向上跳页",prevJumpTitle:"向上跳页",nextJump:"向下跳页",nextJumpTitle:"向下跳页",endPage:"末页",endPageTitle:"末页"},alert:{title:"系统提示"},button:{confirm:"确认",cancel:"取消"},filter:{search:"搜索"},custom:{cstmTitle:"列设置",cstmRestore:"恢复默认",cstmCancel:"取消",cstmConfirm:"确定",cstmConfirmRestore:"请确认是否恢复成默认列配置?",cstmDragTarget:"移动:{0}",setting:{colSort:"排序",sortHelpTip:"点击并拖动图标可以调整列的排序",colTitle:"标题",colResizable:"列宽(像素)",colVisible:"是否显示",colFixed:"冻结列",colFixedMax:"冻结列(最多 {0} 列)",fixedLeft:"左侧",fixedUnset:"不设置",fixedRight:"右侧"}},import:{modes:{covering:"覆盖方式(直接覆盖表格数据)",insert:"底部追加(在表格的底部追加新数据)",insertTop:"顶部追加(在表格的顶部追加新数据)",insertBottom:"底部追加(在表格的底部追加新数据)"},impTitle:"导入数据",impFile:"文件名",impSelect:"选择文件",impType:"文件类型",impOpts:"参数设置",impMode:"导入模式",impConfirm:"导入",impCancel:"取消"},export:{types:{csv:"CSV (逗号分隔)(*.csv)",html:"网页(*.html)",xml:"XML 数据(*.xml)",txt:"文本文件(制表符分隔)(*.txt)",xls:"Excel 97-2003 工作簿(*.xls)",xlsx:"Excel 工作簿(*.xlsx)",pdf:"PDF (*.pdf)"},modes:{current:"当前数据(当前页的数据)",selected:"选中数据(当前页选中的数据)",all:"全量数据(包括所有分页的数据)"},printTitle:"打印数据",expTitle:"导出数据",expName:"文件名",expNamePlaceholder:"请输入文件名",expSheetName:"标题",expSheetNamePlaceholder:"请输入标题",expType:"保存类型",expMode:"选择数据",expCurrentColumn:"全部字段",expColumn:"选择字段",expOpts:"参数设置",expOptHeader:"表头",expHeaderTitle:"是否需要表头",expOptFooter:"表尾",expFooterTitle:"是否需要表尾",expOptColgroup:"分组表头",expColgroupTitle:"如果存在,则支持带有分组结构的表头",expOptMerge:"合并",expMergeTitle:"如果存在,则支持带有合并结构的单元格",expOptAllExpand:"展开层级",expAllExpandTitle:"如果存在,则支持将带有层级结构的数据全部展开",expOptUseStyle:"样式",expUseStyleTitle:"如果存在,则支持带样式的单元格",expOptOriginal:"源数据",expOriginalTitle:"如果为源数据,则支持导入到表格中",expPrint:"打印",expConfirm:"导出",expCancel:"取消"},modal:{errTitle:"错误提示",zoomMin:"最小化",zoomIn:"最大化",zoomOut:"还原",close:"关闭",miniMaxSize:"最小化窗口的数量不能超过 {0} 个",footPropErr:"show-footer 仅用于启用表尾,需配合 show-confirm-button | show-cancel-button | 插槽使用"},drawer:{close:"关闭"},form:{folding:"收起",unfolding:"展开"},toolbar:{import:"导入",export:"导出",print:"打印",refresh:"刷新",zoomIn:"全屏",zoomOut:"还原",custom:"列设置",customAll:"全部",customConfirm:"确认",customRestore:"重置",fixedLeft:"冻结在左侧",fixedRight:"冻结在右侧",cancelFixed:"取消冻结列"},input:{date:{m1:"01 月",m2:"02 月",m3:"03 月",m4:"04 月",m5:"05 月",m6:"06 月",m7:"07 月",m8:"08 月",m9:"09 月",m10:"10 月",m11:"11 月",m12:"12 月",quarterLabel:"{0} 年",monthLabel:"{0} 年",dayLabel:"{0} 年 {1}",labelFormat:{date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss",week:"yyyy 年第 WW 周",month:"yyyy-MM",quarter:"yyyy 年第 q 季度",year:"yyyy"},weeks:{w:"周",w0:"周日",w1:"周一",w2:"周二",w3:"周三",w4:"周四",w5:"周五",w6:"周六"},months:{m0:"一月",m1:"二月",m2:"三月",m3:"四月",m4:"五月",m5:"六月",m6:"七月",m7:"八月",m8:"九月",m9:"十月",m10:"十一月",m11:"十二月"},quarters:{q1:"第一季度",q2:"第二季度",q3:"第三季度",q4:"第四季度"}}},imagePreview:{popupTitle:"预览",operBtn:{zoomOut:"缩小",zoomIn:"放大",pctFull:"等比例缩放",pct11:"显示原始尺寸",rotateLeft:"向左旋转",rotateRight:"向右旋转",print:"点击打印图片",download:"点击下载图片"}},upload:{fileBtnText:"点击或拖拽上传",imgBtnText:"点击或拖拽上传",dragPlaceholder:"请把文件拖放到这个区域即可上传",imgSizeHint:"单张{0}",imgCountHint:"最多{0}张",fileTypeHint:"支持 {0} 文件类型",fileSizeHint:"单个文件大小不超过{0}",fileCountHint:"最多可上传{0}个文件",uploadTypeErr:"文件类型不匹配!",overCountErr:"最多只能选择{0}个文件!",overCountExtraErr:"已超出最大数量{0}个,超出的{1}个文件将被忽略!",overSizeErr:"文件大小最大不能超过{0}!",reUpload:"重新上传",uploadProgress:"上传中 {0}%",uploadErr:"上传失败",uploadSuccess:"上传成功",moreBtnText:"更多({0})",viewItemTitle:"点击查看",morePopup:{readTitle:"查看列表",imageTitle:"上传图片",fileTitle:"上传文件"}},empty:{defText:"暂无数据"},formDesign:{formName:"表单名称",defFormTitle:"未命名的表单",widgetPropTab:"控件属性",widgetFormTab:"表单属性",error:{wdFormUni:"该类型的控件在表单中只允许添加一个",wdSubUni:"该类型的控件在子表中只允许添加一个"},styleSetting:{btn:"样式设置",title:"表单的样式设置",layoutTitle:"控件布局",verticalLayout:"上下布局",horizontalLayout:"横向布局",styleTitle:"标题样式",boldTitle:"标题加粗",fontBold:"加粗",fontNormal:"常规",colonTitle:"显示冒号",colonVisible:"显示",colonHidden:"隐藏",alignTitle:"对齐方式",widthTitle:"标题宽度",alignLeft:"居左",alignRight:"居右",unitPx:"像素",unitPct:"百分比"},widget:{group:{base:"基础控件",layout:"布局控件",system:"系统控件",module:"模块控件",chart:"图表控件",advanced:"高级控件"},copyTitle:"副本_{0}",component:{input:"输入框",textarea:"文本域",select:"下拉选择",row:"一行多列",title:"标题",text:"文本",subtable:"子表",VxeSwitch:"是/否",VxeInput:"输入框",VxeNumberInput:"数字",VxeDatePicker:"日期",VxeTextarea:"文本域",VxeSelect:"下拉选择",VxeTreeSelect:"树形选择",VxeRadioGroup:"单选框",VxeCheckboxGroup:"复选框",VxeUploadFile:"文件",VxeUploadImage:"图片",VxeRate:"评分",VxeSlider:"滑块"}},widgetProp:{name:"控件名称",placeholder:"提示语",required:"必填校验",multiple:"允许多选",displaySetting:{name:"显示设置",pc:"电脑端",mobile:"手机端",visible:"显示",hidden:"隐藏"},dataSource:{name:"数据源",defValue:"选项{0}",addOption:"添加选项",batchEditOption:"批量编辑",batchEditTip:"每行对应一个选项,支持从表格、Excel、WPS 中直接复制粘贴。",batchEditSubTip:"每行对应一个选项,如果是分组,子项可以是空格或制表键开头,支持从表格、Excel、WPS 中直接复制粘贴。",buildOption:"生成选项"},rowProp:{colSize:"列数",col2:"两列",col3:"三列",col4:"四列",col6:"六列",layout:"布局"},textProp:{name:"内容",alignTitle:"对齐方式",alignLeft:"居左",alignCenter:"居中",alignRight:"居右",colorTitle:"字体颜色",sizeTitle:"字体大小",boldTitle:"字体加粗",fontNormal:"常规",fontBold:"加粗"},subtableProp:{seqTitle:"序号",showSeq:"显示序号",showCheckbox:"允许多选",errSubDrag:"子表不支持该控件,请使用其他控件",colPlace:"将控件拖拽进来"},uploadProp:{limitFileCount:"文件数量限制",limitFileSize:"文件大小限制",multiFile:"允许上传多个文件",limitImgCount:"图片数量限制",limitImgSize:"图片大小限制",multiImg:"允许上传多张图片"}}},listDesign:{fieldSettingTab:"字段设置",listSettingTab:"参数设置",searchTitle:"查询条件",listTitle:"列表字段",searchField:"查询字段",listField:"列表字段",activeBtn:{ActionButtonUpdate:"编辑",ActionButtonDelete:"删除"},search:{addBtn:"编辑",emptyText:"未配置查询条件",editPopupTitle:"编辑查询字段"},searchPopup:{colTitle:"标题",saveBtn:"保存"}},text:{copySuccess:"已复制到剪贴板",copyError:"当前环境不支持该操作"},countdown:{formats:{yyyy:"年",MM:"月",dd:"天",HH:"时",mm:"分",ss:"秒"}},plugins:{extendCellArea:{area:{mergeErr:"无法对合并单元格进行该操作",multiErr:"无法对多重选择区域进行该操作",selectErr:"无法操作指定区域的单元格",extendErr:"如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同",pasteMultiErr:"无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作",cpInvalidErr:"该操作无法进行,您选择的区域中存在被禁止的列({0})"},fnr:{title:"查找和替换",findLabel:"查找",replaceLabel:"替换",findTitle:"查找内容:",replaceTitle:"替换为:",tabs:{find:"查找",replace:"替换"},filter:{re:"正则表达式",whole:"全词匹配",sensitive:"区分大小写"},btns:{findNext:"查找下一个",findAll:"查找全部",replace:"替换",replaceAll:"替换全部",cancel:"取消"},header:{seq:"#",cell:"单元格",value:"值"},empty:"(空值)",reError:"无效的正则表达式",recordCount:"已找到 {0} 个单元格",notCell:"找不到匹配的单元格",replaceSuccess:"成功替换 {0} 个单元格"}},filterComplexInput:{menus:{fixedColumn:"冻结列",fixedGroup:"冻结分组",cancelFixed:"取消冻结",fixedLeft:"冻结左侧",fixedRight:"冻结右侧"},cases:{equal:"等于",gt:"大于",lt:"小于",begin:"开头是",endin:"结尾是",include:"包含",isSensitive:"区分大小写"}},filterCombination:{menus:{clearSort:"清除排序",sortAsc:"升序",sortDesc:"降序",fixedColumn:"冻结列",fixedGroup:"冻结分组",cancelFixed:"取消冻结",fixedLeft:"冻结左侧",fixedRight:"冻结右侧",clearFilter:"清除筛选",textOption:"文本筛选",numberOption:"数值筛选"},popup:{title:"自定义筛选的方式",currColumnTitle:"当前列:",and:"与",or:"或",describeHtml:"可用 ? 代表单个字符<br/>用 * 代表任意多个字符"},cases:{equal:"等于",unequal:"不等于",gt:"大于",ge:"大于或等于",lt:"小于",le:"小于或等于",begin:"开头是",notbegin:"开头不是",endin:"结尾是",notendin:"结尾不是",include:"包含",exclude:"不包含",between:"介于",custom:"自定义筛选",insensitive:"不区分大小写",isSensitive:"区分大小写"},empty:"(空白)",notData:"无匹配项"}},pro:{area:{mergeErr:"无法对合并单元格进行该操作",multiErr:"无法对多重选择区域进行该操作",extendErr:"如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同",pasteMultiErr:"无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作"},fnr:{title:"查找和替换",findLabel:"查找",replaceLabel:"替换",findTitle:"查找内容:",replaceTitle:"替换为:",tabs:{find:"查找",replace:"替换"},filter:{re:"正则表达式",whole:"全词匹配",sensitive:"区分大小写"},btns:{findNext:"查找下一个",findAll:"查找全部",replace:"替换",replaceAll:"替换全部",cancel:"取消"},header:{seq:"#",cell:"单元格",value:"值"},empty:"(空值)",reError:"无效的正则表达式",recordCount:"已找到 {0} 个单元格",notCell:"找不到匹配的单元格",replaceSuccess:"成功替换 {0} 个单元格"}},renderer:{search:"搜索",cases:{equal:"等于",unequal:"不等于",gt:"大于",ge:"大于或等于",lt:"小于",le:"小于或等于",begin:"开头是",notbegin:"开头不是",endin:"结尾是",notendin:"结尾不是",include:"包含",exclude:"不包含",between:"介于",custom:"自定义筛选",insensitive:"不区分大小写",isSensitive:"区分大小写"},combination:{menus:{clearSort:"清除排序",sortAsc:"升序",sortDesc:"降序",fixedColumn:"冻结列",fixedGroup:"冻结分组",cancelFixed:"取消冻结",fixedLeft:"冻结到左侧",fixedRight:"冻结到右侧",clearFilter:"清除筛选",textOption:"文本筛选",numberOption:"数值筛选"},popup:{title:"自定义筛选的方式",currColumnTitle:"当前列:",and:"与",or:"或",describeHtml:"可用 ? 代表单个字符<br/>用 * 代表任意多个字符"},empty:"(空白)",notData:"无匹配项"}}}};let dynamicContainerElem;const dynamicStore=vue.reactive({modals:[],drawers:[],globalLoading:null,globalWatermark:null}),VxeDynamics=vue.defineComponent({setup(){const G=VxeUI.getComponent("VxeModal"),H=VxeUI.getComponent("VxeDrawer"),X=VxeUI.getComponent("VxeLoading"),Q=VxeUI.getComponent("VxeWatermark");return()=>{const{modals:K,drawers:Z,globalWatermark:ee,globalLoading:te}=dynamicStore;return[K.length?vue.h("div",{key:1,class:"vxe-dynamics--modal"},K.map(ne=>vue.h(G,ne))):vue.createCommentVNode(),Z.length?vue.h("div",{key:2,class:"vxe-dynamics--drawer"},Z.map(ne=>vue.h(H,ne))):vue.createCommentVNode(),ee?vue.h(Q,ee):vue.createCommentVNode(),te?vue.h(X,te):vue.createCommentVNode()]}}}),dynamicApp=vue.createApp(VxeDynamics);function checkDynamic(){dynamicContainerElem||(dynamicContainerElem=document.createElement("div"),dynamicContainerElem.className="vxe-dynamics",document.body.appendChild(dynamicContainerElem),dynamicApp.mount(dynamicContainerElem))}function isEnableConf(G){return G&&G.enabled!==!1}function nextZIndex(){return DomZIndex.getNext()}function getLastZIndex(){return DomZIndex.getCurrent()}function getFuncText(G,H){if(G){const X=getConfig$8().translate;return XEUtils.toValueString(X?X(""+G,H):G)}return""}function eqEmptyValue(G){return G==null||G===""}function handleBooleanDefaultValue(G){return XEUtils.isBoolean(G)?G:null}const version$1="ui v4.3.19",warnLog=log$2.create("warn",version$1),errLog=log$2.create("error",version$1),version="4.3.19";VxeUI.version=version,VxeUI.uiVersion=version,VxeUI.tableVersion="",VxeUI.t=VxeUI.getI18n,VxeUI._t=getFuncText,VxeUI.dynamicApp=dynamicApp;function config(G){return process.env.NODE_ENV==="development"&&warnLog("vxe.error.delFunc",["config","setConfig"]),setConfig$1(G)}function setup(G){return process.env.NODE_ENV==="development"&&warnLog("vxe.error.delFunc",["setup","setConfig"]),setConfig$1(G)}VxeUI.config=config,VxeUI.setup=setup,setConfig$1({alert:{},anchor:{},anchorLink:{},avatar:{},badge:{},breadcrumb:{separator:"/"},breadcrumbItem:{},button:{trigger:"hover",prefixTooltip:{enterable:!0},suffixTooltip:{enterable:!0}},buttonGroup:{},calendar:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1},card:{border:!0,padding:!0},carousel:{height:200,loop:!0,interval:5e3},carouselItem:{},checkbox:{},checkboxGroup:{},col:{},collapse:{padding:!0,expandConfig:{showIcon:!0}},collapsePane:{},countdown:{},datePicker:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1},drawer:{position:"right",showHeader:!0,lockView:!0,mask:!0,showTitleOverflow:!0,showClose:!0,padding:!0,cancelClosable:!0,confirmClosable:!0},empty:{},form:{validConfig:{showMessage:!0,autoPos:!0,theme:"beautify"},tooltipConfig:{enterable:!0},titleAsterisk:!0,titleOverflow:!1,padding:!0},formDesign:{height:400,showHeader:!0,showPc:!0},formGather:{},formGroup:{},formItem:{},formView:{},icon:{},iconPicker:{icons:["home","company","comment","setting","send","envelope","envelope-open","bell","search","print","pc","goods","chart-line","edit","delete","save","folder","microphone","flag","link","location","sunny","rmb","usd","user","add-user","add-users","star","unlock","time","text","feedback","calendar","association-form","cloud-download","cloud-upload","file","subtable","chart-bar-x","chart-bar-y","chart-line","chart-pie","chart-radar"]},image:{showPreview:!0,showPrintButton:!0},imageGroup:{showPreview:!0,showPrintButton:!0},imagePreview:{showPrintButton:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},layoutAside:{},layoutBody:{},layoutContainer:{},layoutFooter:{},layoutHeader:{},link:{underline:!0},listDesign:{height:400,showPc:!0},listView:{},list:{scrollY:{enabled:!0,gt:100}},loading:{showIcon:!0,showText:!0},modal:{top:16,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,padding:!0,draggable:!0,showConfirmButton:null,cancelClosable:!0,confirmClosable:!0,zoomConfig:{minimizeMaxSize:10,minimizeVerticalOffset:{top:-24,left:0},minimizeHorizontalOffset:{top:0,left:32}},storageKey:"VXE_MODAL_POSITION"},noticeBar:{},numberInput:{digits:2,controls:!0},optgroup:{},option:{},pager:{pageSizePlacement:"top"},print:{},passwordInput:{controls:!0},printPageBreak:{},pulldown:{destroyOnClose:!0},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},rate:{},result:{},row:{},select:{multiCharOverflow:8,scrollY:{enabled:!0,gt:100,oSize:2}},slider:{max:100,min:0},steps:{},switch:{},tabPane:{},tableSelect:{gridConfig:{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0,rowConfig:{isHover:!0},scrollX:{enabled:!0,gt:0},scrollY:{mode:"wheel",enabled:!0,gt:0}}},tabs:{},tag:{},textEllipsis:{},text:{},textarea:{resize:"none"},tip:{},tooltip:{trigger:"hover",theme:"dark",enterDelay:500,leaveDelay:300,isArrow:!0},tree:{indent:20,minHeight:60,radioConfig:{strict:!0}},treeSelect:{treeConfig:{radioConfig:{},checkboxConfig:{}}},upload:{mode:"all",imageTypes:["jpg","jpeg","png","gif"],showList:!0,showUploadButton:!0,showButtonText:!0,showRemoveButton:!0,showButtonIcon:!0,showPreview:!0,dragToUpload:!0,imageStyle:{}},watermark:{rotate:-30,gap:[100,100]},table:{},colgroup:{},column:{},toolbar:{},grid:{}});const iconPrefix="vxe-icon-";setIcon$1({LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",BUTTON_TOOLTIP_ICON:iconPrefix+"question-circle-fill",MENU_ITEM_EXPAND_OPEN:iconPrefix+"arrow-down rotate180",MENU_ITEM_EXPAND_CLOSE:iconPrefix+"arrow-down",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",ICON_PICKER_OPEN:iconPrefix+"caret-down rotate180",ICON_PICKER_CLOSE:iconPrefix+"caret-down",PAGER_HOME:iconPrefix+"home-page",PAGER_END:iconPrefix+"end-page",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",RADIO_CHECKED:iconPrefix+"radio-checked-fill",RADIO_UNCHECKED:iconPrefix+"radio-unchecked",CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_SEARCH:iconPrefix+"search",NUMBER_INPUT_PREV_NUM:iconPrefix+"caret-up",NUMBER_INPUT_NEXT_NUM:iconPrefix+"caret-down",DATE_PICKER_DATE:iconPrefix+"calendar",PASSWORD_INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",PASSWORD_INPUT_HIDE_PWD:iconPrefix+"eye-fill",MODAL_ZOOM_MIN:iconPrefix+"minus",MODAL_ZOOM_REVERT:iconPrefix+"recover",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warning-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",DRAWER_CLOSE:iconPrefix+"close",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up",FORM_DESIGN_STYLE_SETTING:iconPrefix+"layout",FORM_DESIGN_PROPS_PC:iconPrefix+"pc",FORM_DESIGN_PROPS_MOBILE:iconPrefix+"mobile",FORM_DESIGN_PROPS_ADD:iconPrefix+"add",FORM_DESIGN_PROPS_EDIT:iconPrefix+"edit",FORM_DESIGN_WIDGET_ADD:iconPrefix+"square-plus-fill",FORM_DESIGN_WIDGET_COPY:iconPrefix+"copy",FORM_DESIGN_WIDGET_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_SWAP_LR:iconPrefix+"swap",FORM_DESIGN_WIDGET_OPTION_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN:iconPrefix+"square-plus",FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:iconPrefix+"square-minus",LIST_DESIGN_FIELD_SETTING:iconPrefix+"custom-column",LIST_DESIGN_LIST_SETTING:iconPrefix+"menu",LIST_DESIGN_LIST_SETTING_SEARCH_DELETE:iconPrefix+"delete",LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE:iconPrefix+"delete",UPLOAD_FILE_ERROR:iconPrefix+"warning-circle-fill",UPLOAD_FILE_ADD:iconPrefix+"upload",UPLOAD_FILE_REMOVE:iconPrefix+"delete",UPLOAD_FILE_DOWNLOAD:iconPrefix+"download",UPLOAD_IMAGE_RE_UPLOAD:iconPrefix+"repeat",UPLOAD_IMAGE_ADD:iconPrefix+"add",UPLOAD_IMAGE_REMOVE:iconPrefix+"close",UPLOAD_LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",UPLOAD_FILE_TYPE_DEFAULT:iconPrefix+"file",UPLOAD_FILE_TYPE_XLSX:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_XLS:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_PDF:iconPrefix+"file-pdf",UPLOAD_FILE_TYPE_PNG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_GIF:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPEG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_MD:iconPrefix+"file-markdown",UPLOAD_FILE_TYPE_PPD:iconPrefix+"file-ppt",UPLOAD_FILE_TYPE_DOCX:iconPrefix+"file-word",UPLOAD_FILE_TYPE_DOC:iconPrefix+"file-word",UPLOAD_FILE_TYPE_ZIP:iconPrefix+"file-zip",UPLOAD_FILE_TYPE_TXT:iconPrefix+"file-txt",IMAGE_PREVIEW_CLOSE:iconPrefix+"close",IMAGE_PREVIEW_PREVIOUS:iconPrefix+"arrow-left",IMAGE_PREVIEW_NEXT:iconPrefix+"arrow-right",IMAGE_PREVIEW_PCT_FULL:iconPrefix+"pct-full",IMAGE_PREVIEW_PCT_1_1:iconPrefix+"pct-1-1",IMAGE_PREVIEW_ZOOM_OUT:iconPrefix+"search-zoom-out",IMAGE_PREVIEW_ZOOM_IN:iconPrefix+"search-zoom-in",IMAGE_PREVIEW_ROTATE_LEFT:iconPrefix+"rotate-left",IMAGE_PREVIEW_ROTATE_RIGHT:iconPrefix+"rotate-right",IMAGE_PREVIEW_PRINT:iconPrefix+"print",IMAGE_PREVIEW_DOWNLOAD:iconPrefix+"download",ALERT_CLOSE:iconPrefix+"close",ALERT_INFO:iconPrefix+"info-circle-fill",ALERT_SUCCESS:iconPrefix+"success-circle-fill",ALERT_WARNING:iconPrefix+"warning-circle-fill",ALERT_ERROR:iconPrefix+"error-circle-fill",TREE_NODE_OPEN:iconPrefix+"caret-right rotate90",TREE_NODE_CLOSE:iconPrefix+"caret-right",TREE_NODE_LOADED:iconPrefix+"spinner roll",TREE_SELECT_LOADED:iconPrefix+"spinner roll",TREE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TREE_SELECT_CLOSE:iconPrefix+"caret-down",TABLE_SELECT_LOADED:iconPrefix+"spinner roll",TABLE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TABLE_SELECT_CLOSE:iconPrefix+"caret-down",TABS_TAB_BUTTON_LEFT:iconPrefix+"arrow-left",TABS_TAB_BUTTON_RIGHT:iconPrefix+"arrow-right",TABS_TAB_CLOSE:iconPrefix+"close",TABS_TAB_REFRESH:iconPrefix+"refresh",TABS_TAB_REFRESH_LOADING:iconPrefix+"refresh roll",TEXT_COPY:iconPrefix+"copy",TEXT_LOADING:iconPrefix+"spinner roll",CAROUSEL_HORIZONTAL_PREVIOUS:iconPrefix+"arrow-left",CAROUSEL_HORIZONTAL_NEXT:iconPrefix+"arrow-right",CAROUSEL_VERTICAL_PREVIOUS:iconPrefix+"arrow-up",CAROUSEL_VERTICAL_NEXT:iconPrefix+"arrow-down",COLLAPSE_OPEN:iconPrefix+"arrow-right rotate90",COLLAPSE_CLOSE:iconPrefix+"arrow-right",EMPTY_DEFAULT:iconPrefix+"empty",RESULT_INFO:iconPrefix+"info-circle-fill",RESULT_SUCCESS:iconPrefix+"success-circle-fill",RESULT_WARNING:iconPrefix+"warning-circle-fill",RESULT_ERROR:iconPrefix+"error-circle-fill",RESULT_QUESTION:iconPrefix+"question-circle-fill",RESULT_LOADING:iconPrefix+"spinner roll",RATE_CHECKED:iconPrefix+"star-fill",RATE_UNCHECKED:iconPrefix+"star"});function getOnName(G){return"on"+G.substring(0,1).toLocaleUpperCase()+G.substring(1)}function getModelEvent(G){switch(G){case"input":case"textarea":return"input";case"select":return"change"}return"update:modelValue"}function getChangeEvent(G){switch(G){case"input":case"textarea":case"VxeInput":case"VxeTextarea":case"$input":case"$textarea":return"input"}return"change"}function getSlotVNs(G){return XEUtils.isArray(G)?G:G?[G]:[]}const VxeAlertComponent=vue.defineComponent({name:"VxeAlert",props:{title:{type:[String,Number],default:()=>getConfig$8().alert.title},content:[String,Number],status:String,showIcon:Boolean,showClose:Boolean,icon:{type:String,default:()=>getConfig$8().alert.icon}},emits:["close"],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne={},re={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>ne},oe={dispatchEvent(ce,de,ue){X(ce,createEvent$3(ue,{$alert:re},de))}},ae=ce=>{oe.dispatchEvent("close",{},ce)};Object.assign(re,oe,{});const le=()=>{const{status:ce,content:de,icon:ue,title:he,showIcon:fe,showClose:pe}=G,ve=Q.default,me=Q.title,ge=Q.icon;return vue.h("div",{ref:Z,class:["vxe-alert",{[`theme--${ce}`]:ce}]},[ge||fe&&ce||ue?vue.h("div",{class:"vxe-alert--icon"},ge?getSlotVNs(ge({})):[vue.h("i",{class:ue||getIcon$8()[`ALERT_${ce==null?void 0:ce.toUpperCase()}`]})]):vue.createCommentVNode(),vue.h("div",{class:"vxe-alert--body"},[me||he?vue.h("div",{class:"vxe-alert--title"},me?getSlotVNs(me({})):XEUtils.toValueString(he)):vue.createCommentVNode(),vue.h("div",{class:"vxe-alert--content"},ve?getSlotVNs(ve({})):XEUtils.toValueString(de))]),pe?vue.h("div",{class:"vxe-alert--close-btn",onClick:ae},[vue.h("i",{class:getIcon$8().ALERT_CLOSE})]):vue.createCommentVNode()])};return re.renderVN=le,re},render(){return this.renderVN()}}),VxeAlert=Object.assign({},VxeAlertComponent,{install(G){G.component(VxeAlertComponent.name,VxeAlertComponent)}});dynamicApp.use(VxeAlert),VxeUI.component(VxeAlertComponent);const Alert=VxeAlert,browse=XEUtils.browse(),reClsMap={};function getClsRE(G){return reClsMap[G]||(reClsMap[G]=new RegExp(`(?:^|\\s)${G}(?!\\S)`,"g")),reClsMap[G]}function getNodeOffset(G,H,X){if(G){const Q=G.parentNode;if(X.top+=G.offsetTop,X.left+=G.offsetLeft,Q&&Q!==document.documentElement&&Q!==document.body&&(X.top-=Q.scrollTop,X.left-=Q.scrollLeft),!(H&&(G===H||G.offsetParent===H))&&G.offsetParent)return getNodeOffset(G.offsetParent,H,X)}return X}function isPx(G){return G&&/^\d+(px)?$/.test(G)}function isScale(G){return G&&/^\d+%$/.test(G)}function hasClass(G,H){return G&&G.className&&G.className.match&&G.className.match(getClsRE(H))}function removeClass(G,H){G&&hasClass(G,H)&&(G.className=G.className.replace(getClsRE(H),""))}function addClass(G,H){G&&!hasClass(G,H)&&(removeClass(G,H),G.className=`${G.className} ${H}`)}function toCssUnit(G,H="px"){return XEUtils.isNumber(G)||/^\d+$/.test(`${G}`)?`${G}${H}`:`${G||""}`}function getDomNode(){const G=document.documentElement,H=document.body;return{scrollTop:G.scrollTop||H.scrollTop,scrollLeft:G.scrollLeft||H.scrollLeft,visibleHeight:G.clientHeight||H.clientHeight,visibleWidth:G.clientWidth||H.clientWidth}}function getEventTargetNode(G,H,X,Q){let K,Z=G.target.shadowRoot&&G.composed&&G.composedPath()[0]||G.target;for(;Z&&Z.nodeType&&Z!==document;){if(X&&hasClass(Z,X)&&(!Q||Q(Z)))K=Z;else if(Z===H)return{flag:X?!!K:!0,container:H,targetElem:K};Z=Z.parentNode}return{flag:!1}}function getOffsetPos(G,H){return getNodeOffset(G,H,{left:0,top:0})}function getAbsolutePos(G){const H=G.getBoundingClientRect(),X=H.top,Q=H.left,{scrollTop:K,scrollLeft:Z,visibleHeight:ee,visibleWidth:te}=getDomNode();return{boundingTop:X,top:K+X,boundingLeft:Q,left:Z+Q,visibleHeight:ee,visibleWidth:te}}const scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(G){G&&(G[scrollIntoViewIfNeeded]?G[scrollIntoViewIfNeeded]():G[scrollIntoView]&&G[scrollIntoView]())}function triggerEvent(G,H){G&&G.dispatchEvent(new Event(H))}function isNodeElement(G){return G&&G.nodeType===1}function assembleAnchorLink(G,H,X,Q){const K=G.reactData.staticLinks,Z=H.parentNode,ee=Q?Q.linkConfig:null,te=ee?ee.children:K;Z&&te&&(te.splice(XEUtils.arrayIndexOf(Z.children,H),0,X),G.reactData.staticLinks=K.slice(0))}function destroyAnchorLink(G,H){const X=G.reactData.staticLinks,Q=XEUtils.findTree(X,K=>K.id===H.id,{children:"children"});Q&&Q.items.splice(Q.index,1),G.reactData.staticLinks=X.slice(0)}const VxeAnchorLinkComponent=vue.defineComponent({name:"VxeAnchorLink",props:{content:[String,Number],title:[String,Number],href:String},emits:[],setup(G,H){const{slots:X}=H,Q=vue.inject("$xeAnchor",null),K=vue.inject("$xeAnchorLink",null),Z=XEUtils.uniqueId(),ee=vue.ref(),te=vue.reactive({}),ne=vue.reactive({id:Z,href:G.href,children:[]}),re={refElem:ee},oe=vue.computed(()=>{const{href:de}=G;return Q?Q.reactData.activeHref===de:null}),ae={},se={xID:Z,props:G,context:H,reactData:te,linkConfig:ne,getRefMaps:()=>re,getComputeMaps:()=>ae},le=de=>{const{href:ue}=G;Q&&Q.handleClickLink(de,ue)};vue.watch(()=>G.href,de=>{ne.href=de}),vue.onMounted(()=>{const de=ee.value;Q&&de&&assembleAnchorLink(Q,de,ne,K)}),vue.onUnmounted(()=>{Q&&destroyAnchorLink(Q,ne)});const ce=()=>{const{href:de,content:ue,title:he}=G,fe=X.default,pe=X.sub,ve=oe.value;return vue.h("div",{ref:ee,class:["vxe-anchor-link",{"is--active":ve}]},[vue.h("a",{class:"vxe-anchor-link--item",href:de,title:he,onClick:le},fe?fe({}):XEUtils.toValueString(ue)),pe?vue.h("div",{class:"vxe-anchor-link--sub-items"},pe({})):vue.createCommentVNode()])};return vue.provide("$xeAnchorLink",se),se.renderVN=ce,se},render(){return this.renderVN()}}),VxeAnchorComponent=vue.defineComponent({name:"VxeAnchor",props:{modelValue:String,options:Array,container:[String,Object,Function],showMarker:{type:Boolean,default:!0}},emits:["update:modelValue","change","click"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.ref(),te=vue.reactive({activeHref:null,staticLinks:[],containerElem:null}),ne={refElem:Z},re=vue.computed(()=>{const ge=[];return XEUtils.eachTree(te.staticLinks,we=>{ge.push(we.href||"")},{children:"children"}),ge}),oe={},ae={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>oe},se={dispatchEvent(ge,we,$e){Q(ge,createEvent$3($e,{$anchor:ae},we))}},le=()=>{const{container:ge}=G;if(ge){if(XEUtils.isElement(ge))return ge;if(XEUtils.isString(ge))return document.querySelector(ge);if(XEUtils.isFunction(ge))return ge({$anchor:ae})}return null},ce=ge=>{te.activeHref=ge,Q("update:modelValue",ge)},de=()=>{const ge=re.value,{containerElem:we}=te;if(we){const $e=we.querySelectorAll(ge.map(Ee=>`${Ee}`).join(","));for(let Ee=0;Ee<$e.length;Ee++){const xe=$e[Ee];if(xe.getBoundingClientRect().top>0){const De=xe.id;te.activeHref=`#${De}`;break}}}},ue=()=>{const{containerElem:ge}=te;ge&&ge.removeEventListener("scroll",de)},he=()=>{const ge=le();te.containerElem=ge,ge&&ge.addEventListener("scroll",de,{passive:!1})},fe=()=>{vue.nextTick(()=>{const{activeHref:ge}=te,we=Z.value,$e=ee.value;if(we&&$e&&ge){const Ee=we.querySelector(`[href="${ge}"]`);if(Ee){const{top:xe}=getOffsetPos(Ee,we);$e.style.top=`${xe}px`}}})};Object.assign(ae,se,{handleClickLink(ge,we){ge.preventDefault();const $e=document.getElementById(`${we}`.replace("#",""));$e&&$e.scrollIntoView({behavior:"smooth"}),ce(we),se.dispatchEvent("click",{href:we},ge)}});const ve=ge=>{const we=[];return ge&&ge.forEach($e=>{const Ee=$e.children;Ee&&Ee.length?we.push(vue.h(VxeAnchorLinkComponent,{content:$e.content,title:$e.title,href:$e.href},{sub:()=>ve(Ee)})):we.push(vue.h(VxeAnchorLinkComponent,{content:$e.content,title:$e.title,href:$e.href}))}),we},me=()=>{const{options:ge,showMarker:we}=G,$e=X.default;return vue.h("div",{ref:Z,class:["vxe-anchor",{"is--marker":we}]},[vue.h("div",{class:"vxe-anchor--list"},$e?$e({}):ve(ge)),we?vue.h("div",{ref:ee,class:"vxe-anchor--marker"}):vue.createCommentVNode()])};return vue.watch(()=>G.modelValue,ge=>{te.activeHref=ge}),vue.watch(()=>te.activeHref,()=>{fe()}),vue.watch(()=>G.container,()=>{ue(),he()}),vue.onMounted(()=>{vue.nextTick(()=>{he()})}),vue.onBeforeUnmount(()=>{ue()}),vue.provide("$xeAnchor",ae),ae.renderVN=me,ae},render(){return this.renderVN()}}),VxeAnchor=Object.assign({},VxeAnchorComponent,{install(G){G.component(VxeAnchorComponent.name,VxeAnchorComponent)}});dynamicApp.use(VxeAnchor),VxeUI.component(VxeAnchorComponent);const Anchor=VxeAnchor,VxeAnchorLink=Object.assign({},VxeAnchorLinkComponent,{install(G){G.component(VxeAnchorLinkComponent.name,VxeAnchorLinkComponent)}});dynamicApp.use(VxeAnchorLink),VxeUI.component(VxeAnchorLinkComponent);const AnchorLink=VxeAnchorLink,VxeAvatarComponent=vue.defineComponent({name:"VxeAvatar",props:{count:[String,Number],dot:Boolean,content:[String,Number],icon:String,src:String,width:[String,Number],height:[String,Number],circle:{type:Boolean,default:()=>getConfig$8().avatar.circle},status:{type:String,default:()=>getConfig$8().avatar.status},size:{type:String,default:()=>getConfig$8().avatar.size||getConfig$8().size}},emits:[],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),{computeSize:K}=useSize(G),Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne=vue.computed(()=>{const{width:he,height:fe}=G,pe={};return he&&(pe.width=toCssUnit(he)),fe&&(pe.height=toCssUnit(fe)),pe}),re=vue.computed(()=>{const{count:he}=G;return he?XEUtils.toNumber(he):0}),oe={},ae={xID:Q,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>oe};Object.assign(ae,{dispatchEvent:(he,fe,pe)=>{X(he,createEvent$3(pe,{$avatar:ae},fe))}},{});const de=()=>{const{icon:he,content:fe,src:pe}=G;return he?vue.h("span",{class:"vxe-avatar--icon"},[vue.h("i",{class:he})]):fe?vue.h("span",{class:"vxe-avatar--content"},`${fe}`):pe?vue.h("img",{class:"vxe-avatar--img",src:pe}):renderEmptyElement$3(ae)},ue=()=>{const{circle:he,dot:fe,status:pe}=G,ve=K.value,me=re.value,ge=ne.value;return vue.h("div",{ref:Z,class:["vxe-avatar",{[`size--${ve}`]:ve,[`theme--${pe}`]:pe,"is--circle":he,"is--dot":fe}],style:ge},[de(),me?vue.h("span",{class:"vxe-avatar--count"},me>99?"99+":`${me}`):renderEmptyElement$3(ae)])};return ae.renderVN=ue,ae},render(){return this.renderVN()}}),VxeAvatar=Object.assign({},VxeAvatarComponent,{install(G){G.component(VxeAvatarComponent.name,VxeAvatarComponent)}});dynamicApp.use(VxeAvatar),VxeUI.component(VxeAvatarComponent);const Avatar=VxeAvatar,VxeBadgeComponent=vue.defineComponent({name:"VxeBadge",props:{count:[String,Number],dot:Boolean,content:[String,Number],size:{type:String,default:()=>getConfig$8().badge.size||getConfig$8().size}},emits:[],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({}),ne={refElem:Z},re=vue.computed(()=>{const{count:ue}=G;return ue?XEUtils.toNumber(ue):0}),oe={},ae={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>oe};Object.assign(ae,{dispatchEvent:(ue,he,fe)=>{X(ue,createEvent$3(fe,{$badge:ae},he))}},{});const de=()=>{const{dot:ue,content:he}=G,fe=ee.value,pe=re.value,ve=Q.default;return vue.h("div",{ref:Z,class:["vxe-badge",{[`size--${fe}`]:fe,"is--dot":ue}]},[ve||he?vue.h("div",{class:"vxe-badge--content"},ve?ve({}):`${he||""}`):[],pe?vue.h("span",{class:"vxe-badge--count"},pe>99?"99+":`${pe}`):renderEmptyElement$3(ae)])};return ae.renderVN=de,ae},render(){return this.renderVN()}}),VxeBadge=Object.assign({},VxeBadgeComponent,{install(G){G.component(VxeBadgeComponent.name,VxeBadgeComponent)}});dynamicApp.use(VxeBadge),VxeUI.component(VxeBadgeComponent);const Badge=VxeBadge,VxeBreadcrumbItemComponent=vue.defineComponent({name:"VxeBreadcrumbItem",props:{title:String,routerLink:Object},emits:[],setup(G,H){const{slots:X}=H,Q=XEUtils.uniqueId(),K=vue.ref(),Z=vue.inject("$xeBreadcrumb",null),ee=vue.reactive({}),te={refElem:K},ne=vue.computed(()=>Z?Z.props.separator:""),re=le=>{if(Z){const ce={title:G.title,routerLink:G.routerLink};Z.handleClickLink(le,ce)}},oe={},ae={xID:Q,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>oe},se=()=>{const{title:le,routerLink:ce}=G,de=ne.value,ue=X.default;return vue.h("span",{ref:K,class:"vxe-breadcrumb-item",onClick:re},[vue.h("span",{class:"vxe-breadcrumb-item--content"},[ce?vue.h(vue.resolveComponent("router-link"),{class:"vxe-breadcrumb-item--content-link",title:le,to:ce},{default(){return vue.h("span",{class:"vxe-breadcrumb-item--content-text"},ue?ue({}):`${le||""}`)}}):vue.h("span",{class:"vxe-breadcrumb-item--content-text"},ue?ue({}):`${le||""}`)]),de?vue.h("span",{class:"vxe-breadcrumb-item--separator"},`${de}`):vue.createCommentVNode()])};return ae.renderVN=se,ae},render(){return this.renderVN()}}),VxeBreadcrumbComponent=vue.defineComponent({name:"VxeBreadcrumb",props:{separator:{type:String,default:()=>getConfig$8().breadcrumb.separator},options:Array},emits:["click"],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne={},re={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>ne},oe={dispatchEvent(ce,de,ue){X(ce,createEvent$3(ue,{$breadcrumb:re},de))}};Object.assign(re,oe,{handleClickLink(ce,de){oe.dispatchEvent("click",{option:de},ce)}});const se=()=>{const{options:ce}=G;return ce&&ce.length?ce.map(de=>vue.h(VxeBreadcrumbItemComponent,{title:de.title,routerLink:de.routerLink})):[]},le=()=>{const ce=Q.default;return vue.h("div",{ref:Z,class:"vxe-breadcrumb"},ce?ce({}):se())};return vue.provide("$xeBreadcrumb",re),re.renderVN=le,re},render(){return this.renderVN()}}),VxeBreadcrumb=Object.assign({},VxeBreadcrumbComponent,{install(G){G.component(VxeBreadcrumbComponent.name,VxeBreadcrumbComponent)}});dynamicApp.use(VxeBreadcrumb),VxeUI.component(VxeBreadcrumbComponent);const Breadcrumb=VxeBreadcrumb,VxeBreadcrumbItem=Object.assign({},VxeBreadcrumbItemComponent,{install(G){G.component(VxeBreadcrumbItemComponent.name,VxeBreadcrumbItemComponent)}});dynamicApp.use(VxeBreadcrumbItem),VxeUI.component(VxeBreadcrumbItemComponent);const BreadcrumbItem=VxeBreadcrumbItem,VxeTooltipComponent=vue.defineComponent({name:"VxeTooltip",props:{modelValue:Boolean,size:{type:String,default:()=>getConfig$8().tooltip.size||getConfig$8().size},selector:String,trigger:{type:String,default:()=>getConfig$8().tooltip.trigger||"hover"},theme:{type:String,default:()=>getConfig$8().tooltip.theme||"dark"},content:{type:[String,Number],default:null},useHTML:Boolean,zIndex:[String,Number],popupClassName:[String,Function],isArrow:{type:Boolean,default:()=>getConfig$8().tooltip.isArrow},enterable:{type:Boolean,default:()=>getConfig$8().tooltip.enterable},enterDelay:{type:Number,default:()=>getConfig$8().tooltip.enterDelay},leaveDelay:{type:Number,default:()=>getConfig$8().tooltip.leaveDelay}},emits:["update:modelValue"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.reactive({target:null,isUpdate:!1,visible:!1,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}),te={},ne=vue.ref(),re={refElem:ne},oe={xID:K,props:G,context:H,reactData:ee,internalData:te,getRefMaps:()=>re};let ae={};const se=()=>{const{tipTarget:xe,tipStore:Me}=ee;if(xe){const{scrollTop:De,scrollLeft:ke,visibleWidth:Oe}=getDomNode(),{top:Ne,left:_e}=getAbsolutePos(xe),ye=ne.value,Ce=6,be=ye.offsetHeight,Te=ye.offsetWidth;let Ae=_e,Re=Ne-be-Ce;Ae=Math.max(Ce,_e+Math.floor((xe.offsetWidth-Te)/2)),Ae+Te+Ce>ke+Oe&&(Ae=ke+Oe-Te-Ce),Ne-be<De+Ce&&(Me.placement="bottom",Re=Ne+xe.offsetHeight+Ce),Me.style.top=`${Re}px`,Me.style.left=`${Ae}px`,Me.arrowStyle.left=`${_e-Ae+xe.offsetWidth/2}px`}},le=xe=>{xe!==ee.visible&&(ee.visible=xe,ee.isUpdate=!0,Q("update:modelValue",xe))},ce=()=>{ee.tipZindex<getLastZIndex()&&(ee.tipZindex=nextZIndex())},de=()=>{ee.visible?ae.close():ge(ee.target||we(),G.content)},ue=()=>{ge(ee.target||we(),G.content)},he=()=>{const{trigger:xe,enterable:Me,leaveDelay:De}=G;ee.tipActive=!1,Me&&xe==="hover"?setTimeout(()=>{ee.tipActive||ae.close()},De):ae.close()},fe=()=>{ee.tipActive=!0},pe=()=>{const{trigger:xe,enterable:Me,leaveDelay:De}=G;ee.tipActive=!1,Me&&xe==="hover"&&setTimeout(()=>{ee.tipActive||ae.close()},De)},ve=()=>{const{tipStore:xe}=ee,Me=ne.value;return Me&&(Me.parentNode||document.body.appendChild(Me)),le(!0),ce(),xe.placement="top",xe.style={width:"auto",left:0,top:0,zIndex:G.zIndex||ee.tipZindex},xe.arrowStyle={left:"50%"},ae.updatePlacement()},me=()=>{te.showDelayTip=XEUtils.debounce(()=>{ee.tipActive&&ve()},G.enterDelay,{leading:!1,trailing:!0})},ge=(xe,Me)=>{if(!X.content&&(Me===""||XEUtils.eqNull(Me)))return vue.nextTick();if(xe){const{showDelayTip:ke}=te,{trigger:Oe,enterDelay:Ne}=G;if(ee.tipActive=!0,ee.tipTarget=xe,ee.tipContent=Me,Ne&&Oe==="hover")ke&&ke();else return ve()}return vue.nextTick()},we=()=>{const{selector:xe}=G;if(xe){if(XEUtils.isElement(xe))return xe;if(XEUtils.isString(xe))return document.querySelector(xe)}return null};ae={dispatchEvent(xe,Me,De){Q(xe,createEvent$3(De,{$tooltip:oe},Me))},open(xe,Me){return ge(xe||ee.target||we(),Me)},close(){return ee.tipTarget=null,ee.tipActive=!1,Object.assign(ee.tipStore,{style:{},placement:"",arrowStyle:null}),le(!1),vue.nextTick()},toVisible(xe,Me){return ge(xe,Me)},updatePlacement(){return vue.nextTick().then(()=>{const{tipTarget:xe}=ee,Me=ne.value;if(xe&&Me)return se(),vue.nextTick().then(()=>{se()})})},isActived(){return ee.tipActive},setActived(xe){ee.tipActive=!!xe}},Object.assign(oe,ae);const $e=()=>{const{useHTML:xe}=G,{tipContent:Me}=ee,De=X.content;return De?vue.h("div",{key:1,class:"vxe-table--tooltip-content"},getSlotVNs(De({}))):xe?vue.h("div",{key:2,class:"vxe-table--tooltip-content",innerHTML:Me}):vue.h("div",{key:3,class:"vxe-table--tooltip-content"},`${Me}`)},Ee=()=>{const{popupClassName:xe,theme:Me,isArrow:De,enterable:ke}=G,{tipActive:Oe,visible:Ne,tipStore:_e}=ee,ye=X.default,Ce=Z.value;let be;return ke&&(be={onMouseenter:fe,onMouseleave:pe}),vue.h("div",Object.assign({ref:ne,class:["vxe-table--tooltip-wrapper",`theme--${Me}`,xe?XEUtils.isFunction(xe)?xe({$tooltip:oe}):xe:"",{[`size--${Ce}`]:Ce,[`placement--${_e.placement}`]:_e.placement,"is--enterable":ke,"is--visible":Ne,"is--arrow":De,"is--active":Oe}],style:_e.style},be),[$e(),vue.h("div",{class:"vxe-table--tooltip-arrow",style:_e.arrowStyle}),...ye?getSlotVNs(ye({})):[]])};return vue.watch(()=>G.enterDelay,()=>{me()}),vue.watch(()=>G.content,xe=>{ee.tipContent=xe}),vue.watch(()=>G.modelValue,xe=>{ee.isUpdate||(xe?ge(ee.target||we(),G.content):ae.close()),ee.isUpdate=!1}),vue.onMounted(()=>{vue.nextTick(()=>{const{trigger:xe,content:Me}=G,De=ne.value;if(De){const ke=De.parentNode;if(ke){ee.tipContent=Me,ee.tipZindex=nextZIndex(),XEUtils.arrayEach(De.children,(Ne,_e)=>{_e>1&&(ke.insertBefore(Ne,De),ee.target||(ee.target=Ne))}),ke.removeChild(De);const{target:Oe}=ee;Oe&&(xe==="hover"?(Oe.onmouseenter=ue,Oe.onmouseleave=he):xe==="click"&&(Oe.onclick=de)),G.modelValue&&ge(Oe||we(),Me)}}})}),vue.onBeforeUnmount(()=>{const{target:xe}=ee,Me=ne.value;if(xe&&(xe.onmouseenter=null,xe.onmouseleave=null,xe.onclick=null),Me){const De=Me.parentNode;De&&De.removeChild(Me)}}),me(),oe.renderVN=Ee,oe},render(){return this.renderVN()}}),VxeButtonComponent=vue.defineComponent({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>getConfig$8().button.size||getConfig$8().size},name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>getConfig$8().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,destroyOnClose:{type:Boolean,default:()=>getConfig$8().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeModal",null),Z=vue.inject("$xeDrawer",null),ee=vue.inject("$xeTable",null),te=vue.inject("$xeForm",null),ne=vue.inject("$xeButtonGroup",null),re=XEUtils.uniqueId(),{computeSize:oe}=useSize(G),{computePermissionInfo:ae}=usePermission(G),se=vue.reactive({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),le={showTime:void 0,tooltipTimeout:void 0},ce=vue.ref(),de=vue.ref(),ue=vue.ref(),he={refElem:ce},fe={xID:re,props:G,context:H,reactData:se,internalData:le,getRefMaps:()=>he};let pe={};const ve=vue.computed(()=>{const{transfer:He}=G;if(He===null){const qe=getConfig$8().button.transfer;if(XEUtils.isBoolean(qe))return qe;if(ee||K||Z||te)return!0}return He}),me=vue.computed(()=>{const{disabled:He}=G,qe=ae.value;return He||qe.disabled}),ge=vue.computed(()=>{const{type:He}=G;return He?["submit","reset","button"].indexOf(He)>-1:!1}),we=vue.computed(()=>{const{type:He,mode:qe}=G;return qe==="text"||He==="text"||ne&&ne.props.mode==="text"?"text":"button"}),$e=vue.computed(()=>{const{status:He}=G;return He||(ne?ne.props.status:"")}),Ee=vue.computed(()=>{const{round:He}=G;return He||(ne?ne.props.round:!1)}),xe=vue.computed(()=>{const{circle:He}=G;return He||(ne?ne.props.circle:!1)}),Me=vue.computed(()=>Object.assign({},G.prefixTooltip)),De=vue.computed(()=>Object.assign({},G.suffixTooltip)),ke=()=>{se.panelIndex<getLastZIndex()&&(se.panelIndex=nextZIndex())},Oe=()=>vue.nextTick().then(()=>{const{placement:He}=G,{panelIndex:qe}=se,at=de.value,st=ue.value,Ke=ve.value;if(st&&at){const dt=at.offsetHeight,wt=at.offsetWidth,$t=st.offsetHeight,mt=st.offsetWidth,bt=5,Ot={zIndex:qe},{top:It,left:yt,boundingTop:Et,visibleHeight:Vt,visibleWidth:ut}=getAbsolutePos(at);let vt="bottom";if(Ke){let Qe=yt+wt-mt,ht=It+dt;He==="top"?(vt="top",ht=It-$t):He||(Et+dt+$t+bt>Vt&&(vt="top",ht=It-$t),ht<bt&&(vt="bottom",ht=It+dt)),Qe+mt+bt>ut&&(Qe-=Qe+mt+bt-ut),Qe<bt&&(Qe=bt),Object.assign(Ot,{left:`${Qe}px`,right:"auto",top:`${ht}px`,minWidth:`${wt}px`})}else He==="top"?(vt="top",Ot.bottom=`${dt}px`):He||Et+dt+$t>Vt&&Et-dt-$t>bt&&(vt="top",Ot.bottom=`${dt}px`);return se.panelStyle=Ot,se.panelPlacement=vt,vue.nextTick()}}),Ne=He=>{ne?ne.handleClick({name:G.name},He):Ve("click",{$event:He},He)},_e=He=>{He.button===0&&He.stopPropagation()},ye=He=>{const qe=He.currentTarget,at=ue.value,{flag:st,targetElem:Ke}=getEventTargetNode(He,qe,"vxe-button");st&&(at&&(at.dataset.active="N"),se.visiblePanel=!1,setTimeout(()=>{(!at||at.dataset.active!=="Y")&&(se.isAniVisible=!1)},350),Ve("dropdown-click",{name:Ke.getAttribute("name"),$event:He},He))},Ce=()=>{const He=ue.value;He&&(He.dataset.active="Y",se.isAniVisible=!0,setTimeout(()=>{He.dataset.active==="Y"&&(se.visiblePanel=!0,ke(),Oe(),setTimeout(()=>{se.visiblePanel&&Oe()},50))},20))},be=He=>{const{loading:qe}=G;me.value||qe||(Be(),Ae(He))},Te=He=>{je(),Re(He)},Ae=He=>{Ve("mouseenter",{},He)},Re=He=>{Ve("mouseleave",{},He)},Fe=He=>{const{loading:qe,trigger:at}=G;me.value||qe||(at==="click"&&(se.visiblePanel?je():Be()),Ne(He))},Be=()=>{const{trigger:He}=G,qe=ue.value;return qe&&(qe.dataset.active="Y",se.initialized||(se.initialized=!0),le.showTime=setTimeout(()=>{qe.dataset.active==="Y"?Ce():se.isAniVisible=!1},He==="click"?50:250)),vue.nextTick()},je=()=>{const He=ue.value;return clearTimeout(le.showTime),He?(He.dataset.active="N",setTimeout(()=>{He.dataset.active!=="Y"&&(se.visiblePanel=!1,setTimeout(()=>{He.dataset.active!=="Y"&&(se.isAniVisible=!1)},350))},100)):(se.isAniVisible=!1,se.visiblePanel=!1),vue.nextTick()},Le=()=>{je()},Ue=(He,qe)=>vue.h(VxeTooltipComponent,{useHTML:He.useHTML,content:He.content,enterable:He.enterable,theme:He.theme},{default(){return vue.h("i",{class:[`vxe-button--tooltip-${qe}-icon`,He.icon||getIcon$8().BUTTON_TOOLTIP_ICON]})}}),Ie=()=>{const{content:He,icon:qe,loading:at,prefixTooltip:st,suffixTooltip:Ke}=G,dt=Me.value,wt=De.value,$t=X.icon,mt=X.default,bt=[];return st&&bt.push(Ue(dt,"prefix")),at?bt.push(vue.h("i",{class:["vxe-button--loading-icon",getIcon$8().BUTTON_LOADING]})):$t?bt.push(vue.h("span",{class:"vxe-button--custom-icon"},$t({}))):qe&&bt.push(vue.h("i",{class:["vxe-button--icon",qe]})),mt?bt.push(vue.h("span",{class:"vxe-button--content"},mt({}))):He&&bt.push(vue.h("span",{class:"vxe-button--content"},getFuncText(He))),Ke&&bt.push(Ue(wt,"suffix")),bt},Ve=(He,qe,at)=>{Q(He,createEvent$3(at,{$button:fe},qe))};pe={dispatchEvent:Ve,openPanel:Be,closePanel:je,focus(){const He=de.value;return He&&He.focus(),vue.nextTick()},blur(){const He=de.value;return He&&He.blur(),vue.nextTick()}};const ze=He=>{const qe=ue.value;se.visiblePanel&&!getEventTargetNode(He,qe).flag&&je()},We=He=>{const qe=me.value,{visiblePanel:at}=se;if(!qe){const st=ce.value,Ke=ue.value;se.isActivated=getEventTargetNode(He,st).flag||getEventTargetNode(He,Ke).flag,at&&!se.isActivated&&je()}};Object.assign(fe,pe);const Xe=()=>{const{className:He,popupClassName:qe,align:at,trigger:st,title:Ke,routerLink:dt,type:wt,destroyOnClose:$t,name:mt,loading:bt}=G,{initialized:Ot,isAniVisible:It,visiblePanel:yt}=se,Et=ge.value,Vt=we.value,ut=$e.value,vt=Ee.value,Qe=xe.value,ht=ve.value,et=me.value,nt=ae.value,Ye=oe.value,tt=X.dropdowns;if(!nt.visible)return vue.createCommentVNode();if(tt){const Je={},it={};return st==="hover"&&(Je.onMouseenter=be,Je.onMouseleave=Te,it.onMouseenter=Ce,it.onMouseleave=Le),vue.h("div",{ref:ce,class:["vxe-button--dropdown",He?XEUtils.isFunction(He)?He({$button:fe}):He:"",{[`size--${Ye}`]:Ye,"is--active":yt}]},[dt?vue.h(vue.resolveComponent("router-link"),Object.assign({ref:de,class:["vxe-button","vxe-button--link",`type--${Vt}`,at?`align--${at}`:"",He?XEUtils.isFunction(He)?He({$button:fe}):He:"",{[`size--${Ye}`]:Ye,[`theme--${ut}`]:ut,"is--round":vt,"is--circle":Qe,"is--disabled":et||bt,"is--loading":bt}],title:Ke,name:mt,type:Et?wt:"button",disabled:et||bt,to:dt,onClick:Fe},Je),{default(){return Ie().concat([vue.h("i",{class:`vxe-button--dropdown-arrow ${getIcon$8().BUTTON_DROPDOWN}`})])}}):vue.h("button",Object.assign({ref:de,class:["vxe-button",`type--${Vt}`,at?`align--${at}`:"",He?XEUtils.isFunction(He)?He({$button:fe}):He:"",{[`size--${Ye}`]:Ye,[`theme--${ut}`]:ut,"is--round":vt,"is--circle":Qe,"is--disabled":et||bt,"is--loading":bt}],title:Ke,name:mt,type:Et?wt:"button",disabled:et||bt,onClick:Fe},Je),Ie().concat([vue.h("i",{class:`vxe-button--dropdown-arrow ${getIcon$8().BUTTON_DROPDOWN}`})])),vue.h(vue.Teleport,{to:"body",disabled:ht?!Ot:!0},[vue.h("div",Object.assign({ref:ue,class:["vxe-button--dropdown-panel",qe?XEUtils.isFunction(qe)?qe({$button:fe}):qe:"",{[`size--${Ye}`]:Ye,"ani--leave":It,"ani--enter":yt}],placement:se.panelPlacement,style:se.panelStyle},it),Ot&&(yt||It)?[vue.h("div",{class:"vxe-button--dropdown-wrapper",onMousedown:_e,onClick:ye},$t&&!yt?[]:tt({}))]:[])])])}return dt?vue.h(vue.resolveComponent("router-link"),{ref:de,class:["vxe-button","vxe-button--link",`type--${Vt}`,at?`align--${at}`:"",He?XEUtils.isFunction(He)?He({$button:fe}):He:"",{[`size--${Ye}`]:Ye,[`theme--${ut}`]:ut,"is--round":vt,"is--circle":Qe,"is--disabled":et||bt,"is--loading":bt}],title:Ke,name:mt,type:Et?wt:"button",disabled:et||bt,to:dt,onClick:Ne,onMouseenter:Ae,onMouseleave:Re},{default(){return Ie()}}):vue.h("button",{ref:de,class:["vxe-button",`type--${Vt}`,at?`align--${at}`:"",He?XEUtils.isFunction(He)?He({$button:fe}):He:"",{[`size--${Ye}`]:Ye,[`theme--${ut}`]:ut,"is--round":vt,"is--circle":Qe,"is--disabled":et||bt,"is--loading":bt}],title:Ke,name:mt,type:Et?wt:"button",disabled:et||bt,onClick:Ne,onMouseenter:Ae,onMouseleave:Re},Ie())};return fe.renderVN=Xe,vue.onMounted(()=>{process.env.NODE_ENV==="development"&&G.type==="text"&&warnLog("vxe.error.delProp",["type=text","mode=text"]),globalEvents$4.on(fe,"mousewheel",ze),globalEvents$4.on(fe,"mousedown",We)}),vue.onUnmounted(()=>{globalEvents$4.off(fe,"mousewheel"),globalEvents$4.off(fe,"mousedown")}),fe},render(){return this.renderVN()}}),VxeButton=Object.assign({},VxeButtonComponent,{install(G){G.component(VxeButtonComponent.name,VxeButtonComponent)}});dynamicApp.use(VxeButton),VxeUI.component(VxeButtonComponent);const Button=VxeButton,VxeButtonGroupComponent=vue.defineComponent({name:"VxeButtonGroup",props:{options:Array,mode:String,status:String,round:Boolean,circle:Boolean,className:[String,Function],disabled:Boolean,permissionCode:[String,Number],size:{type:String,default:()=>getConfig$8().buttonGroup.size||getConfig$8().size}},emits:["click"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z={},ee={xID:K,props:G,context:H,getComputeMaps:()=>Z};useSize(G);const{computePermissionInfo:te}=usePermission(G),ne={dispatchEvent(ae,se,le){Q(ae,createEvent$3(le,{$buttonGroup:ee},se))}};Object.assign(ee,ne,{handleClick(ae,se){const{options:le}=G,{name:ce}=ae,de=le?le.find(ue=>ue.name===ce):null;ne.dispatchEvent("click",Object.assign(Object.assign({},ae),{option:de}),se)}});const oe=()=>{const{className:ae,options:se}=G,le=te.value,ce=X.default;return le.visible?vue.h("div",{class:["vxe-button-group",ae?XEUtils.isFunction(ae)?ae({$buttonGroup:ee}):ae:""]},ce?ce({}):se?se.map((de,ue)=>vue.h(VxeButtonComponent,Object.assign({key:ue},de))):[]):vue.createCommentVNode()};return ee.renderVN=oe,vue.provide("$xeButtonGroup",ee),ee},render(){return this.renderVN()}}),VxeButtonGroup=Object.assign({},VxeButtonGroupComponent,{install(G){G.component(VxeButtonGroupComponent.name,VxeButtonGroupComponent)}});dynamicApp.use(VxeButtonGroup),VxeUI.component(VxeButtonGroupComponent);const ButtonGroup=VxeButtonGroup;function toStringTimeDate(G){if(G){const H=new Date;let X=0,Q=0,K=0;if(XEUtils.isDate(G))X=G.getHours(),Q=G.getMinutes(),K=G.getSeconds();else{G=XEUtils.toValueString(G);const Z=G.match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/);Z&&(X=XEUtils.toNumber(Z[1]),Q=XEUtils.toNumber(Z[3]),K=XEUtils.toNumber(Z[5]))}return H.setHours(X),H.setMinutes(Q),H.setSeconds(K),H}return new Date("")}function getDateQuarter(G){const H=G.getMonth();return H<3?1:H<6?2:H<9?3:4}const VxeCalendarComponent=vue.defineComponent({name:"VxeCalendar",props:{modelValue:[String,Number,Date],type:{type:String,default:"date"},className:String,size:{type:String,default:()=>getConfig$8().calendar.size||getConfig$8().size},multiple:Boolean,width:[String,Number],height:[String,Number],minDate:{type:[String,Number,Date],default:()=>getConfig$8().calendar.minDate},maxDate:{type:[String,Number,Date],default:()=>getConfig$8().calendar.maxDate},startDay:{type:[String,Number],default:()=>getConfig$8().calendar.startDay},labelFormat:String,valueFormat:String,festivalMethod:{type:Function,default:()=>getConfig$8().calendar.festivalMethod},disabledMethod:{type:Function,default:()=>getConfig$8().calendar.disabledMethod},selectDay:{type:[String,Number],default:()=>getConfig$8().calendar.selectDay}},emits:["update:modelValue","change","click","date-prev","date-today","date-next"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),{computeSize:K}=useSize(G),Z=vue.reactive({selectValue:G.modelValue,inputValue:G.modelValue,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),ee={yearSize:12,monthSize:20,quarterSize:8},te=vue.ref(),ne={refElem:te},re={xID:Q,props:G,context:H,reactData:Z,internalData:ee,getRefMaps:()=>ne};let oe={};const ae=vue.computed(()=>{const{height:Je,width:it}=G,ft={};return it&&(ft.width=toCssUnit(it)),Je&&(ft.height=toCssUnit(Je)),ft}),se=vue.computed(()=>!1),le=vue.computed(()=>["date","week","month","quarter","year"].indexOf(G.type)>-1),ce=vue.computed(()=>G.minDate?XEUtils.toStringDate(G.minDate):null),de=vue.computed(()=>G.maxDate?XEUtils.toStringDate(G.maxDate):null),ue=vue.computed(()=>["date","week","month","quarter","year"].indexOf(G.type)>-1),he=vue.computed(()=>{const{multiple:Je}=G,{selectValue:it}=Z,ft=le.value,St=ve.value;return Je&&it&&ft?XEUtils.toValueString(it).split(",").map(kt=>{const Nt=Be(kt,St);return XEUtils.isValidDate(Nt)?Nt:null}):[]}),fe=vue.computed(()=>{const Je=he.value,it=ve.value;return Je.map(ft=>XEUtils.toDateString(ft,it))}),pe=vue.computed(()=>{const Je=he.value,it=Ee.value;return Je.map(ft=>XEUtils.toDateString(ft,it)).join(", ")}),ve=vue.computed(()=>{const{valueFormat:Je}=G;return Je||"yyyy-MM-dd"}),me=vue.computed(()=>{const{selectValue:Je}=Z,it=le.value,ft=ve.value;let St=null;if(Je&&it){const kt=Be(Je,ft);XEUtils.isValidDate(kt)&&(St=kt)}return St}),ge=vue.computed(()=>{const Je=ce.value,{selectMonth:it}=Z;return it&&Je?it<=Je:!1}),we=vue.computed(()=>{const Je=de.value,{selectMonth:it}=Z;return it&&Je?it>=Je:!1}),$e=vue.computed(()=>{const Je=me.value;return Je?(Je.getHours()*3600+Je.getMinutes()*60+Je.getSeconds())*1e3:0}),Ee=vue.computed(()=>{const{labelFormat:Je}=G,it=le.value,ft=ve.value;return it?Je||ft||getI18n$e(`vxe.input.date.labelFormat.${G.type}`):null}),xe=vue.computed(()=>{const{selectMonth:Je,currentDate:it}=Z,{yearSize:ft}=ee,St=[];if(Je&&it){const kt=it.getFullYear(),Nt=Je.getFullYear(),Ht=new Date(Nt-Nt%ft,0,1);for(let Lt=-4;Lt<ft+4;Lt++){const Bt=XEUtils.getWhatYear(Ht,Lt,"first"),Xt=Bt.getFullYear();St.push({date:Bt,isCurrent:!0,isPrev:Lt<0,isNow:kt===Xt,isNext:Lt>=ft,year:Xt})}}return St}),Me=vue.computed(()=>{if(le.value){const{datePanelType:it,selectMonth:ft}=Z,St=xe.value;let kt="",Nt;return ft&&(kt=ft.getFullYear(),Nt=ft.getMonth()+1),it==="quarter"?getI18n$e("vxe.input.date.quarterLabel",[kt]):it==="month"?getI18n$e("vxe.input.date.monthLabel",[kt]):it==="year"?St.length?`${St[0].year} - ${St[St.length-1].year}`:"":getI18n$e("vxe.input.date.dayLabel",[kt,Nt?getI18n$e(`vxe.input.date.m${Nt}`):"-"])}return""}),De=vue.computed(()=>{const{startDay:Je}=G;return XEUtils.toNumber(Je)}),ke=vue.computed(()=>{const Je=[];if(le.value){let ft=De.value;Je.push(ft);for(let St=0;St<6;St++)ft>=6?ft=0:ft++,Je.push(ft)}return Je}),Oe=vue.computed(()=>le.value?ke.value.map(ft=>({value:ft,label:getI18n$e(`vxe.input.date.weeks.w${ft}`)})):[]),Ne=vue.computed(()=>{if(le.value){const it=Oe.value;return[{label:getI18n$e("vxe.input.date.weeks.w")}].concat(it)}return[]}),_e=vue.computed(()=>{const Je=xe.value;return XEUtils.chunk(Je,4)}),ye=vue.computed(()=>{const{selectMonth:Je,currentDate:it}=Z,{quarterSize:ft}=ee,St=[];if(Je&&it){const kt=it.getFullYear(),Nt=getDateQuarter(it),Ht=XEUtils.getWhatYear(Je,0,"first"),Lt=Ht.getFullYear();for(let Bt=-2;Bt<ft-2;Bt++){const Xt=XEUtils.getWhatQuarter(Ht,Bt),Yt=Xt.getFullYear(),Jt=getDateQuarter(Xt),fn=Yt<Lt;St.push({date:Xt,isPrev:fn,isCurrent:Yt===Lt,isNow:Yt===kt&&Jt===Nt,isNext:!fn&&Yt>Lt,quarter:Jt})}}return St}),Ce=vue.computed(()=>{const Je=ye.value;return XEUtils.chunk(Je,2)}),be=vue.computed(()=>{const{selectMonth:Je,currentDate:it}=Z,{monthSize:ft}=ee,St=[];if(Je&&it){const kt=it.getFullYear(),Nt=it.getMonth(),Ht=XEUtils.getWhatYear(Je,0,"first").getFullYear();for(let Lt=-4;Lt<ft-4;Lt++){const Bt=XEUtils.getWhatYear(Je,0,Lt),Xt=Bt.getFullYear(),Yt=Bt.getMonth(),Jt=Xt<Ht;St.push({date:Bt,isPrev:Jt,isCurrent:Xt===Ht,isNow:Xt===kt&&Yt===Nt,isNext:!Jt&&Xt>Ht,month:Yt})}}return St}),Te=vue.computed(()=>{const Je=be.value;return XEUtils.chunk(Je,4)}),Ae=vue.computed(()=>{const{selectMonth:Je,currentDate:it}=Z,ft=[];if(Je&&it){const St=$e.value,kt=ke.value,Nt=it.getFullYear(),Ht=it.getMonth(),Lt=it.getDate(),Bt=Je.getFullYear(),Xt=Je.getMonth(),Yt=Je.getDay(),Jt=-kt.indexOf(Yt),fn=new Date(XEUtils.getWhatDay(Je,Jt).getTime()+St);for(let mn=0;mn<42;mn++){const cn=XEUtils.getWhatDay(fn,mn),kn=cn.getFullYear(),Tt=cn.getMonth(),gt=cn.getDate(),Rt=cn<Je;ft.push({date:cn,isPrev:Rt,isCurrent:kn===Bt&&Tt===Xt,isNow:kn===Nt&&Tt===Ht&&gt===Lt,isNext:!Rt&&Xt!==Tt,label:gt})}}return ft}),Re=vue.computed(()=>{const Je=Ae.value;return XEUtils.chunk(Je,7)}),Fe=vue.computed(()=>{const Je=Re.value,it=De.value;return Je.map(ft=>{const St=ft[0];return[{date:St.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:XEUtils.getYearWeek(St.date,it)}].concat(ft)})}),Be=(Je,it)=>XEUtils.toStringDate(Je,it),je=(Je,it)=>{Z.inputValue=Je,X("update:modelValue",Je),XEUtils.toValueString(G.modelValue)!==Je&&oe.dispatchEvent("change",{value:Je},it)},Le=Je=>{const{type:it}=G,ft=Ee.value,St=ve.value,kt=De.value;let Nt=null,Ht="";if(Je&&(Nt=Be(Je,St)),XEUtils.isValidDate(Nt)){if(Ht=XEUtils.toDateString(Nt,ft,{firstDay:kt}),ft&&it==="week"&&XEUtils.getWhatWeek(Nt,0,kt,kt).getFullYear()<Nt.getFullYear()){const Bt=ft.indexOf("yyyy");if(Bt>-1){const Xt=Number(Ht.substring(Bt,Bt+4));Xt&&!isNaN(Xt)&&(Ht=Ht.replace(`${Xt}`,`${Xt-1}`))}}}else Nt=null;Z.datePanelValue=Nt,Z.datePanelLabel=Ht},Ue=()=>{const Je=le.value,{inputValue:it}=Z;Je&&(Le(it),Z.inputValue=G.multiple?pe.value:Z.datePanelLabel)},Ie=()=>{le.value&&Ue()},Ve=Je=>{const it=XEUtils.getWhatMonth(Je,0,"first");XEUtils.isEqual(it,Z.selectMonth)||(Z.selectMonth=it)},ze=Je=>{const{modelValue:it,multiple:ft}=G,St=ve.value,kt=De.value;if(G.type==="week"){const Ht=XEUtils.toNumber(G.selectDay);Je=XEUtils.getWhatWeek(Je,0,Ht,kt)}const Nt=XEUtils.toDateString(Je,St,{firstDay:kt});if(Ve(Je),Z.selectValue=Je,ft){const Ht=fe.value;Ht.some(Lt=>XEUtils.isEqual(Lt,Nt))?je(Ht.filter(Lt=>!XEUtils.isEqual(Lt,Nt)).join(","),{type:"update"}):je(Ht.concat([Nt]).join(","),{type:"update"})}else XEUtils.isEqual(it,Nt)||je(Nt,{type:"update"})},We=(Je,it)=>{Z.selectMonth=XEUtils.getWhatMonth(Je,it,"first")},Xe=()=>{const Je=XEUtils.getWhatDay(Date.now(),0,"first");Z.currentDate=Je,We(Je,0)},He=()=>{let{datePanelType:Je}=Z;Je==="month"||Je==="quarter"?Je="year":Je="month",Z.datePanelType=Je},qe=Je=>{const{type:it}=G,{datePanelType:ft,selectMonth:St}=Z,{yearSize:kt}=ee;ge.value||(it==="year"?Z.selectMonth=XEUtils.getWhatYear(St,-kt,"first"):it==="month"||it==="quarter"?ft==="year"?Z.selectMonth=XEUtils.getWhatYear(St,-kt,"first"):Z.selectMonth=XEUtils.getWhatYear(St,-1,"first"):ft==="year"?Z.selectMonth=XEUtils.getWhatYear(St,-kt,"first"):ft==="month"?Z.selectMonth=XEUtils.getWhatYear(St,-1,"first"):Z.selectMonth=XEUtils.getWhatMonth(St,-1,"first"),oe.dispatchEvent("date-prev",{type:it},Je))},at=Je=>{Xe(),G.multiple||ze(Z.currentDate),oe.dispatchEvent("date-today",{type:G.type},Je)},st=Je=>{const{type:it}=G,{datePanelType:ft,selectMonth:St}=Z,{yearSize:kt}=ee;we.value||(it==="year"?Z.selectMonth=XEUtils.getWhatYear(St,kt,"first"):it==="month"||it==="quarter"?ft==="year"?Z.selectMonth=XEUtils.getWhatYear(St,kt,"first"):Z.selectMonth=XEUtils.getWhatYear(St,1,"first"):ft==="year"?Z.selectMonth=XEUtils.getWhatYear(St,kt,"first"):ft==="month"?Z.selectMonth=XEUtils.getWhatYear(St,1,"first"):Z.selectMonth=XEUtils.getWhatMonth(St,1,"first"),oe.dispatchEvent("date-next",{type:it},Je))},Ke=Je=>{const{disabledMethod:it}=G,{datePanelType:ft}=Z;return it&&it({type:ft,viewType:ft,date:Je.date,$calendar:re})},dt=Je=>{const{type:it}=G,{datePanelType:ft}=Z;it==="month"?ft==="year"?(Z.datePanelType="month",Ve(Je)):ze(Je):it==="year"?ze(Je):it==="quarter"?ft==="year"?(Z.datePanelType="quarter",Ve(Je)):ze(Je):ft==="month"?(Z.datePanelType=it==="week"?it:"day",Ve(Je)):ft==="year"?(Z.datePanelType="month",Ve(Je)):ze(Je)},wt=Je=>{Ke(Je)||dt(Je.date)},$t=Je=>{Ke({date:Je})||(Ae.value.some(ft=>XEUtils.isDateSame(ft.date,Je,"yyyyMMdd"))||Ve(Je),Le(Je))},mt=Je=>{Ke({date:Je})||(xe.value.some(ft=>XEUtils.isDateSame(ft.date,Je,"yyyy"))||Ve(Je),Le(Je))},bt=Je=>{Ke({date:Je})||(ye.value.some(ft=>XEUtils.isDateSame(ft.date,Je,"yyyyq"))||Ve(Je),Le(Je))},Ot=Je=>{Ke({date:Je})||(be.value.some(ft=>XEUtils.isDateSame(ft.date,Je,"yyyyMM"))||Ve(Je),Le(Je))},It=Je=>{if(!Ke(Je)){const{datePanelType:it}=Z;it==="month"?Ot(Je.date):it==="quarter"?bt(Je.date):it==="year"?mt(Je.date):$t(Je.date)}},yt=()=>{},Et=()=>{const{type:Je}=G,it=me.value;["year","quarter","month","week"].indexOf(Je)>-1?Z.datePanelType=Je:Z.datePanelType="day",Z.currentDate=XEUtils.getWhatDay(Date.now(),0,"first"),it?(We(it,0),Le(it)):Xe()},Vt=(Je,it)=>{const{festivalMethod:ft}=G;if(ft){const{datePanelType:St}=Z,kt=ft({type:St,viewType:St,date:Je.date,$calendar:re}),Nt=kt?XEUtils.isString(kt)?{label:kt}:kt:{},Ht=Nt.extra?XEUtils.isString(Nt.extra)?{label:Nt.extra}:Nt.extra:null,Lt=[vue.h("span",{class:["vxe-calendar--date-label",{"is-notice":Nt.notice}]},Ht&&Ht.label?[vue.h("span",`${it||""}`),vue.h("span",{class:["vxe-calendar--date-label--extra",Ht.important?"is-important":"",Ht.className],style:Ht.style},XEUtils.toValueString(Ht.label))]:[`${it||""}`])],Bt=Nt.label;if(Bt){const Xt=XEUtils.toValueString(Bt).split(",");Lt.push(vue.h("span",{class:["vxe-calendar--date-festival",Nt.important?"is-important":"",Nt.className],style:Nt.style},[Xt.length>1?vue.h("span",{class:["vxe-calendar--date-festival--overlap",`overlap--${Xt.length}`]},Xt.map(Yt=>vue.h("span",Yt.substring(0,3)))):vue.h("span",{class:"vxe-calendar--date-festival--label"},Xt[0].substring(0,3))]))}return Lt}return`${it||""}`},ut=()=>{const{multiple:Je}=G,{datePanelType:it,datePanelValue:ft}=Z,St=me.value,kt=Oe.value,Nt=Re.value,Ht=he.value,Lt="yyyyMMdd";return[vue.h("table",{class:`vxe-calendar--date-${it}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tr",kt.map(Bt=>vue.h("th",{class:"vxe-calendar--view-th"},Bt.label))),...Nt.map(Bt=>vue.h("tr",Bt.map(Xt=>vue.h("td",{class:["vxe-calendar--view-td",{"is--prev":Xt.isPrev,"is--current":Xt.isCurrent,"is--now":Xt.isNow,"is--next":Xt.isNext,"is--disabled":Ke(Xt),"is--selected":Je?Ht.some(Yt=>XEUtils.isDateSame(Yt,Xt.date,Lt)):XEUtils.isDateSame(St,Xt.date,Lt),"is--hover":XEUtils.isDateSame(ft,Xt.date,Lt)}],onClick:()=>wt(Xt),onMouseenter:()=>It(Xt)},Vt(Xt,Xt.label)))))])]},vt=()=>{const{multiple:Je}=G,{datePanelType:it,datePanelValue:ft}=Z,St=me.value,kt=Ne.value,Nt=Fe.value,Ht=he.value,Lt="yyyyMMdd";return[vue.h("table",{class:`vxe-calendar--date-${it}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tr",kt.map(Bt=>vue.h("td",{class:"vxe-calendar--view-th"},Bt.label))),...Nt.map(Bt=>{const Xt=Je?Bt.some(Jt=>Ht.some(fn=>XEUtils.isDateSame(fn,Jt.date,Lt))):Bt.some(Jt=>XEUtils.isDateSame(St,Jt.date,Lt)),Yt=Bt.some(Jt=>XEUtils.isDateSame(ft,Jt.date,Lt));return vue.h("tr",Bt.map(Jt=>vue.h("td",{class:["vxe-calendar--view-td",{"is--prev":Jt.isPrev,"is--current":Jt.isCurrent,"is--now":Jt.isNow,"is--next":Jt.isNext,"is--disabled":Ke(Jt),"is--selected":Xt,"is--hover":Yt}],onClick:()=>wt(Jt),onMouseenter:()=>It(Jt)},Vt(Jt,Jt.label))))})])]},Qe=()=>{const{multiple:Je}=G,{datePanelType:it,datePanelValue:ft}=Z,St=me.value,kt=Te.value,Nt=he.value,Ht="yyyyMM";return[vue.h("table",{class:`vxe-calendar--date-${it}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tbody",kt.map(Lt=>vue.h("tr",Lt.map(Bt=>vue.h("td",{class:["vxe-calendar--view-td",{"is--prev":Bt.isPrev,"is--current":Bt.isCurrent,"is--now":Bt.isNow,"is--next":Bt.isNext,"is--disabled":Ke(Bt),"is--selected":Je?Nt.some(Xt=>XEUtils.isDateSame(Xt,Bt.date,Ht)):XEUtils.isDateSame(St,Bt.date,Ht),"is--hover":XEUtils.isDateSame(ft,Bt.date,Ht)}],onClick:()=>wt(Bt),onMouseenter:()=>It(Bt)},Vt(Bt,getI18n$e(`vxe.input.date.months.m${Bt.month}`)))))))])]},ht=()=>{const{multiple:Je}=G,{datePanelType:it,datePanelValue:ft}=Z,St=me.value,kt=Ce.value,Nt=he.value,Ht="yyyyq";return[vue.h("table",{class:`vxe-calendar--date-${it}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tbody",kt.map(Lt=>vue.h("tr",Lt.map(Bt=>vue.h("td",{class:["vxe-calendar--view-td",{"is--prev":Bt.isPrev,"is--current":Bt.isCurrent,"is--now":Bt.isNow,"is--next":Bt.isNext,"is--disabled":Ke(Bt),"is--selected":Je?Nt.some(Xt=>XEUtils.isDateSame(Xt,Bt.date,Ht)):XEUtils.isDateSame(St,Bt.date,Ht),"is--hover":XEUtils.isDateSame(ft,Bt.date,Ht)}],onClick:()=>wt(Bt),onMouseenter:()=>It(Bt)},Vt(Bt,getI18n$e(`vxe.input.date.quarters.q${Bt.quarter}`)))))))])]},et=()=>{const{multiple:Je}=G,{datePanelType:it,datePanelValue:ft}=Z,St=me.value,kt=_e.value,Nt=he.value,Ht="yyyy";return[vue.h("table",{class:`vxe-calendar--date-${it}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tbody",kt.map(Lt=>vue.h("tr",Lt.map(Bt=>vue.h("td",{class:["vxe-calendar--view-td",{"is--prev":Bt.isPrev,"is--current":Bt.isCurrent,"is--now":Bt.isNow,"is--next":Bt.isNext,"is--disabled":Ke(Bt),"is--selected":Je?Nt.some(Xt=>XEUtils.isDateSame(Xt,Bt.date,Ht)):XEUtils.isDateSame(St,Bt.date,Ht),"is--hover":XEUtils.isDateSame(ft,Bt.date,Ht)}],onClick:()=>wt(Bt),onMouseenter:()=>It(Bt)},Vt(Bt,Bt.year))))))])]},nt=()=>{const{datePanelType:Je}=Z;switch(Je){case"week":return vt();case"month":return Qe();case"quarter":return ht();case"year":return et()}return ut()},Ye=()=>{const{multiple:Je}=G,{datePanelType:it}=Z,ft=ge.value,St=we.value,kt=Me.value;return[vue.h("div",{class:"vxe-calendar--header"},[vue.h("div",{class:"vxe-calendar--type-wrapper"},[vue.h(VxeButtonComponent,{disabled:it==="year",content:kt,onClick:He})]),vue.h("div",{class:"vxe-calendar--btn-wrapper"},[vue.h(VxeButtonComponent,{disabled:ft,icon:"vxe-icon-caret-left",onClick:qe}),vue.h(VxeButtonComponent,{icon:"vxe-icon-dot",onClick:at}),vue.h(VxeButtonComponent,{disabled:St,icon:"vxe-icon-caret-right",onClick:st}),Je&&ue.value?vue.h("span",{class:"vxe-calendar--btn vxe-calendar--confirm-btn"},[vue.h("button",{class:"vxe-calendar--confirm",type:"button",onClick:yt},getI18n$e("vxe.button.confirm"))]):null])]),vue.h("div",{class:"vxe-calendar--body"},nt())]};oe={dispatchEvent(Je,it,ft){X(Je,createEvent$3(ft,{$input:re},it))}},Object.assign(re,oe);const tt=()=>{const{className:Je,type:it}=G,ft=K.value,St=se.value,kt=ae.value;return vue.h("div",{ref:te,class:["vxe-calendar",`type--${it}`,Je,{[`size--${ft}`]:ft,"is--disabled":St}],style:kt},[Ye()])};return re.renderVN=tt,vue.watch(()=>G.modelValue,Je=>{Z.inputValue=Je,Ue()}),vue.watch(()=>G.type,()=>{Object.assign(Z,{selectValue:null,inputValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),Ie(),Et()}),vue.watch(Ee,()=>{le.value&&(Le(Z.datePanelValue),Z.inputValue=G.multiple?pe.value:Z.datePanelLabel)}),vue.onMounted(()=>{Et()}),Ie(),re},render(){return this.renderVN()}}),VxeCalendar=Object.assign({},VxeCalendarComponent,{install(G){G.component(VxeCalendarComponent.name,VxeCalendarComponent)}});dynamicApp.use(VxeCalendar),VxeUI.component(VxeCalendarComponent);const Calendar=VxeCalendar,VxeLoadingComponent=vue.defineComponent({name:"VxeLoading",props:{modelValue:Boolean,icon:{type:String,default:()=>getConfig$8().loading.icon},showIcon:{type:Boolean,default:()=>getConfig$8().loading.showIcon},text:{type:String,default:()=>getConfig$8().loading.text},showText:{type:Boolean,default:()=>getConfig$8().loading.showText},status:String,size:{type:String,default:()=>getConfig$8().loading.size||getConfig$8().size}},setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.reactive({initialized:!1}),te={computeSize:Z},ne={xID:K,props:G,context:H,reactData:ee,getComputeMaps:()=>te},re=vue.computed(()=>G.icon||getIcon$8().LOADING),oe=vue.computed(()=>{const{text:ue}=G;return XEUtils.isString(ue)?ue:getI18n$e("vxe.loading.text")}),ae=()=>{ee.initialized||(ee.initialized=!!ee.initialized)};Object.assign(ne,{dispatchEvent:(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$loading:ne},he))}},{});const de=()=>{const{modelValue:ue,showIcon:he,status:fe}=G,{initialized:pe}=ee,ve=Z.value,me=X.default,ge=X.text,we=X.icon,$e=re.value,Ee=oe.value;return!pe&&!ue?vue.createCommentVNode():vue.h("div",{class:["vxe-loading",{[`size--${ve}`]:ve,[`theme--${fe}`]:fe,"is--visible":ue}]},me?[vue.h("div",{class:"vxe-loading--wrapper"},getSlotVNs(me({})))]:[vue.h("div",{class:"vxe-loading--chunk"},[he&&(we||$e)?vue.h("div",{class:"vxe-loading--icon"},we?getSlotVNs(we({})):[vue.h("i",{class:$e})]):vue.h("div",{class:"vxe-loading--spinner"}),ge||Ee?vue.h("div",{class:"vxe-loading--text"},ge?getSlotVNs(ge({})):`${Ee}`):null])])};return vue.watch(()=>G.modelValue,()=>{ae()}),ae(),ne.renderVN=de,ne},render(){return this.renderVN()}}),VxeCardComponent=vue.defineComponent({name:"VxeCard",props:{title:String,showTitleOverflow:{type:Boolean,default:()=>getConfig$8().card.showTitleOverflow},width:[String,Number],height:[String,Number],border:{type:Boolean,default:()=>getConfig$8().card.border},loading:Boolean,shadow:{type:Boolean,default:()=>getConfig$8().card.shadow},padding:{type:Boolean,default:()=>getConfig$8().card.padding}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne=vue.computed(()=>{const{height:de,width:ue}=G,he={};return ue&&(he.width=toCssUnit(ue)),de&&(he.height=toCssUnit(de)),he}),re={},oe={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>re};Object.assign(oe,{dispatchEvent:(de,ue,he)=>{Q(de,createEvent$3(he,{$card:oe},ue))}},{});const ce=()=>{const{title:de,border:ue,shadow:he,padding:fe,loading:pe,showTitleOverflow:ve}=G,me=X.default,ge=X.header,we=X.title,$e=X.extra,Ee=X.footer,xe=X.left,Me=X.right,De=ne.value;return vue.h("div",{ref:Z,class:["vxe-card",{"is--border":ue,"is--shadow":he,"is--padding":fe}],style:De},[de||we||ge?vue.h("div",{class:"vxe-card--header"},ge?getSlotVNs(ge({})):[vue.h("div",{class:["vxe-card--header-title",{"is--ellipsis":ve}]},we?getSlotVNs(we({})):`${de||""}`),$e?vue.h("div",{class:"vxe-card--header-extra"},getSlotVNs($e({}))):vue.createCommentVNode()]):vue.createCommentVNode(),vue.h("div",{class:"vxe-card--body"},[xe?vue.h("div",{class:"vxe-card--body-left"},getSlotVNs(xe({}))):vue.createCommentVNode(),vue.h("div",{class:"vxe-card--body-content"},me?getSlotVNs(me({})):[]),Me?vue.h("div",{class:"vxe-card--body-right"},getSlotVNs(Me({}))):vue.createCommentVNode()]),Ee?vue.h("div",{class:"vxe-card--footer"},getSlotVNs(Ee({}))):vue.createCommentVNode(),vue.h(VxeLoadingComponent,{class:"vxe-card--loading",modelValue:pe})])};return oe.renderVN=ce,oe},render(){return this.renderVN()}}),VxeCard=Object.assign({},VxeCardComponent,{install(G){G.component(VxeCardComponent.name,VxeCardComponent)}});dynamicApp.use(VxeCard),VxeUI.component(VxeCardComponent);const Card=VxeCard,VxeCarouselComponent=vue.defineComponent({name:"VxeCarousel",props:{modelValue:[String,Number],options:Array,loading:Boolean,height:{type:[Number,String],default:()=>getConfig$8().carousel.height},width:{type:[Number,String],default:()=>getConfig$8().carousel.width},autoPlay:{type:Boolean,default:()=>getConfig$8().carousel.autoPlay},interval:{type:[Number,String],default:()=>getConfig$8().carousel.interval},loop:{type:Boolean,default:()=>getConfig$8().carousel.loop},vertical:{type:Boolean,default:()=>getConfig$8().carousel.vertical},showIndicators:{type:Boolean,default:()=>getConfig$8().carousel.showIndicators}},emits:["update:modelValue","change"],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.ref(),te=vue.reactive({activeName:"",staticItems:[],itemWidth:0,itemHeight:0}),ne={apTimeout:void 0,stopFlag:!1},re={refElem:Z},oe=vue.computed(()=>{const{vertical:_e,options:ye}=G,{activeName:Ce,itemWidth:be,itemHeight:Te,staticItems:Ae}=te,Re=(Ae&&Ae.length?Ae:ye)||[],Fe=Math.max(0,XEUtils.findIndexOf(Re,je=>je.name===Ce)),Be={};return _e?Be.transform=`translateY(-${Fe*Te}px)`:(Be.width=`${be*Re.length}px`,Be.transform=`translateX(-${Fe*be}px)`),Be}),ae={},se={xID:K,props:G,context:H,reactData:te,internalData:ne,getRefMaps:()=>re,getComputeMaps:()=>ae},le=()=>{vue.nextTick(()=>{const _e=ee.value;_e&&(te.itemWidth=_e.clientWidth,te.itemHeight=_e.clientHeight)})},ce=(_e,ye)=>{const Ce=ye.name;te.activeName=ye.name,X("update:modelValue",Ce),X("change",{value:Ce},_e),le()},de=_e=>{let ye=null;if(_e&&_e.length){let Ce=!1;ye=G.modelValue,_e.forEach(be=>{ye===be.name&&(Ce=!0)}),Ce||(ye=_e[0].name,X("update:modelValue",ye))}te.activeName=ye},ue=(_e,ye,Ce)=>{X(_e,createEvent$3(Ce,{$carousel:se},ye))},he=_e=>{const{options:ye,loop:Ce}=G,{activeName:be,staticItems:Te}=te,Ae=(Te&&Te.length?Te:ye)||[],Re=Math.max(0,XEUtils.findIndexOf(Ae,Fe=>Fe.name===be));if(Re>-1){let Fe=null;if(_e?Re<Ae.length-1?Fe=Ae[Re+1]:Ce&&(Fe=Ae[0]):Re>0?Fe=Ae[Re-1]:Ce&&(Fe=Ae[Ae.length-1]),Fe){const Be=Fe.name,je=Be;return te.activeName=Be,X("update:modelValue",je),!0}}return!1},fe={dispatchEvent:ue,prev(){return he(!1)&&ge(),vue.nextTick()},next(){return he(!0)&&ge(),vue.nextTick()}},pe=_e=>{if(he(!1)){const ye=te.activeName;X("change",{value:ye},_e)}},ve=_e=>{if(he(!0)){const ye=te.activeName;X("change",{value:ye},_e)}},me=()=>{const{apTimeout:_e}=ne;ne.stopFlag=!0,_e&&(clearTimeout(_e),ne.apTimeout=void 0)},ge=()=>{const{autoPlay:_e,interval:ye}=G,{stopFlag:Ce}=ne;me(),_e&&(ne.stopFlag=!1,ne.apTimeout=setTimeout(()=>{Ce||he(!0)},XEUtils.toNumber(ye)||300))},we=()=>{me()},$e=()=>{ge()},Ee={},xe=(_e,ye)=>_e&&(XEUtils.isString(_e)&&(_e=Q[_e]||null),XEUtils.isFunction(_e))?getSlotVNs(_e(ye)):[];Object.assign(se,fe,Ee);const Me=_e=>{const{height:ye}=G,{activeName:Ce}=te,be=oe.value;return vue.h("div",{class:"vxe-carousel--list",style:be},_e.map(Te=>{const{name:Ae,url:Re,slots:Fe}=Te,Be=Fe?Fe.default:null;return vue.h("div",{key:`${Ae}`,class:["vxe-carousel--item-inner",{"is--active":Ce===Ae}],style:ye?{height:toCssUnit(ye)}:null},Be?xe(Be,{}):[vue.h("img",{class:"vxe-carousel--item-img",src:Re})])}))},De=_e=>{const{activeName:ye}=te;return vue.h("div",{class:"vxe-carousel--indicators"},_e.map(Ce=>{const{name:be}=Ce;return vue.h("div",{key:`${be}`,class:["vxe-carousel--indicators-item",{"is--active":ye===be}],onClick(Te){ce(Te,Ce)}})}))},ke=()=>{const{loading:_e,height:ye,width:Ce,showIndicators:be,vertical:Te,options:Ae}=G,{staticItems:Re}=te,Fe=Q.default,Be=(Re&&Re.length?Re:Ae)||[];return vue.h("div",{ref:Z,class:["vxe-carousel",`is--${Te?"vertical":"horizontal"}`],style:Ce?{width:toCssUnit(Ce)}:null,onMouseenter:we,onMouseleave:$e},[vue.h("div",{class:"vxe-carousel--slots"},Fe?Fe({}):[]),vue.h("div",{ref:ee,class:"vxe-carousel--item-wrapper",style:ye?{height:toCssUnit(ye)}:null},[Me(Be)]),be?De(Be):vue.createCommentVNode(),vue.h("div",{class:"vxe-carousel--btn-wrapper"},[vue.h("div",{class:"vxe-carousel--previous-btn",onClick:pe},[vue.h("i",{class:Te?getIcon$8().CAROUSEL_VERTICAL_PREVIOUS:getIcon$8().CAROUSEL_HORIZONTAL_PREVIOUS})]),vue.h("div",{class:"vxe-carousel--next-btn",onClick:ve},[vue.h("i",{class:Te?getIcon$8().CAROUSEL_VERTICAL_NEXT:getIcon$8().CAROUSEL_HORIZONTAL_NEXT})])]),vue.h(VxeLoadingComponent,{class:"vxe-carousel--loading",modelValue:_e})])},Oe=vue.ref(0);vue.watch(()=>G.options?G.options.length:-1,()=>{Oe.value++}),vue.watch(()=>G.options,()=>{Oe.value++}),vue.watch(Oe,()=>{de(G.options)});const Ne=vue.ref(0);return vue.watch(()=>te.staticItems?te.staticItems.length:-1,()=>{Ne.value++}),vue.watch(()=>te.staticItems,()=>{Ne.value++}),vue.watch(Ne,()=>{de(te.staticItems)}),vue.watch(()=>G.autoPlay,()=>{ge()}),de(te.staticItems.length?te.staticItems:G.options),vue.onMounted(()=>{ge(),le()}),vue.onUnmounted(()=>{me()}),vue.provide("$xeCarousel",se),se.renderVN=ke,se},render(){return this.renderVN()}}),VxeCarousel=Object.assign({},VxeCarouselComponent,{install(G){G.component(VxeCarouselComponent.name,VxeCarouselComponent)}});dynamicApp.use(VxeCarousel),VxeUI.component(VxeCarouselComponent);const Carousel=VxeCarousel;function assembleCarouselItem(G,H,X){const Q=G.reactData.staticItems,K=H.parentNode;K&&Q.splice(XEUtils.arrayIndexOf(K.children,H),0,X),G.reactData.staticItems=Q.slice(0)}function destroyCarouselItem(G,H){const X=G.reactData.staticItems,Q=XEUtils.findIndexOf(X,K=>K.id===H.id);Q>-1&&X.splice(Q,1),G.reactData.staticItems=X.slice(0)}const VxeCarouselItemComponent=vue.defineComponent({name:"VxeCarouselItem",props:{name:[String,Number],className:String,url:String},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeCarousel",null),Z=XEUtils.uniqueId(),ee=vue.ref(),te=vue.reactive({}),ne=vue.reactive({id:Z,name:G.name,url:G.url,className:G.className,slots:X}),re={refElem:ee},oe={},ae={xID:Z,props:G,context:H,reactData:te,getRefMaps:()=>re,getComputeMaps:()=>oe};Object.assign(ae,{dispatchEvent:(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$carouselItem:ae},he))}},{});const de=()=>vue.h("div",{ref:ee});return vue.watch(()=>G.name,ue=>{ne.name=ue}),vue.watch(()=>G.url,ue=>{ne.url=ue}),vue.onMounted(()=>{const ue=ee.value;K&&ue&&assembleCarouselItem(K,ue,ne)}),vue.onUnmounted(()=>{K&&destroyCarouselItem(K,ne)}),ae.renderVN=de,ae},render(){return this.renderVN()}}),VxeCarouselItem=Object.assign({},VxeCarouselItemComponent,{install(G){G.component(VxeCarouselItemComponent.name,VxeCarouselItemComponent)}});dynamicApp.use(VxeCarouselItem),VxeUI.component(VxeCarouselItemComponent);const CarouselItem=VxeCarouselItem,VxeCheckboxComponent=vue.defineComponent({name:"VxeCheckbox",props:{modelValue:[String,Number,Boolean],label:{type:[String,Number],default:null},indeterminate:Boolean,title:[String,Number],checkedValue:{type:[String,Number,Boolean],default:!0},uncheckedValue:{type:[String,Number,Boolean],default:!1},content:[String,Number],disabled:{type:Boolean,default:null},size:{type:String,default:()=>getConfig$8().checkbox.size||getConfig$8().size}},emits:["update:modelValue","change"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=vue.inject("$xeCheckboxGroup",null),te=XEUtils.uniqueId(),ne=vue.reactive({}),re={xID:te,props:G,context:H,reactData:ne};let oe={};const{computeSize:ae}=useSize(G),se=vue.computed(()=>ee?XEUtils.includes(ee.props.modelValue,G.label):G.modelValue===G.checkedValue),le=vue.computed(()=>{const{disabled:he}=G,fe=se.value;if(he===null&&ee){const{computeIsDisabled:pe,computeIsMaximize:ve}=ee.getComputeMaps(),me=pe.value,ge=ve.value;return me||ge&&!fe}return he}),ce=he=>{const{checkedValue:fe,uncheckedValue:pe}=G;if(!le.value){const me=he.target.checked,ge=me?fe:pe,we={checked:me,value:ge,label:G.label};ee?ee.handleChecked(we,he):(Q("update:modelValue",ge),oe.dispatchEvent("change",we,he),K&&Z&&K.triggerItemEvent(he,Z.itemConfig.field,ge))}};oe={dispatchEvent:(he,fe,pe)=>{Q(he,createEvent$3(pe,{$checkbox:re},fe))}},Object.assign(re,oe);const ue=()=>{const he=ae.value,fe=le.value,pe=se.value,ve=!pe&&G.indeterminate;return vue.h("label",{class:["vxe-checkbox",{[`size--${he}`]:he,"is--indeterminate":ve,"is--disabled":fe,"is--checked":pe}],title:G.title},[vue.h("input",{class:"vxe-checkbox--input",type:"checkbox",disabled:fe,checked:pe,onChange:ce}),vue.h("span",{class:["vxe-checkbox--icon",ve?getIcon$8().CHECKBOX_INDETERMINATE:pe?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]}),vue.h("span",{class:"vxe-checkbox--label"},X.default?X.default({}):getFuncText(G.content))])};return re.renderVN=ue,re},render(){return this.renderVN()}}),VxeCheckbox=Object.assign(VxeCheckboxComponent,{install(G){G.component(VxeCheckboxComponent.name,VxeCheckboxComponent)}});dynamicApp.use(VxeCheckbox),VxeUI.component(VxeCheckboxComponent);const Checkbox=VxeCheckbox,VxeCheckboxGroupComponent=vue.defineComponent({name:"VxeCheckboxGroup",props:{modelValue:Array,options:Array,optionProps:Object,disabled:{type:Boolean,default:null},max:{type:[String,Number],default:null},size:{type:String,default:()=>getConfig$8().checkboxGroup.size||getConfig$8().size}},emits:["update:modelValue","change"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=XEUtils.uniqueId(),te=vue.reactive({}),ne=vue.computed(()=>{const{disabled:ve}=G;return ve===null?K?K.props.readonly||K.props.disabled:!1:ve}),re=vue.computed(()=>{const{modelValue:ve,max:me}=G;return me?(ve?ve.length:0)>=XEUtils.toNumber(me):!1}),oe=vue.computed(()=>Object.assign({},G.optionProps)),ae=vue.computed(()=>oe.value.label||"label"),se=vue.computed(()=>oe.value.value||"value"),le=vue.computed(()=>oe.value.disabled||"disabled"),ce={computeIsMaximize:re,computeIsDisabled:ne},de={xID:ee,props:G,context:H,reactData:te,getComputeMaps:()=>ce};useSize(G),Object.assign(de,{dispatchEvent:(ve,me,ge)=>{Q(ve,createEvent$3(ge,{$checkboxGroup:de},me))}},{handleChecked(ve,me){const{checked:ge,label:we}=ve,$e=G.modelValue||[],Ee=$e.indexOf(we);ge?Ee===-1&&$e.push(we):$e.splice(Ee,1),Q("update:modelValue",$e),de.dispatchEvent("change",Object.assign({checklist:$e},ve),me),K&&Z&&K.triggerItemEvent(me,Z.itemConfig.field,$e)}});const pe=()=>{const{options:ve}=G,me=X.default,ge=se.value,we=ae.value,$e=le.value;return vue.h("div",{class:"vxe-checkbox-group"},me?me({}):ve?ve.map(Ee=>vue.h(VxeCheckboxComponent,{label:Ee[ge],content:Ee[we],disabled:Ee[$e]})):[])};return vue.provide("$xeCheckboxGroup",de),de.renderVN=pe,pe}}),VxeCheckboxGroup=Object.assign(VxeCheckboxGroupComponent,{install(G){G.component(VxeCheckboxGroupComponent.name,VxeCheckboxGroupComponent)}});dynamicApp.use(VxeCheckboxGroup),VxeUI.component(VxeCheckboxGroupComponent);const CheckboxGroup=VxeCheckboxGroup,VxeColComponent=vue.defineComponent({name:"VxeCol",props:{span:[Number,String],align:String,width:[Number,String],fill:Boolean,ellipsis:Boolean,size:{type:String,default:()=>getConfig$8().col.size||getConfig$8().size}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId();useSize(G);const Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne=vue.inject("$xeRow",null),re=vue.computed(()=>ne?ne.props.gutter:null),oe=vue.computed(()=>ne?ne.props.vertical:null),ae=vue.computed(()=>{const{width:fe}=G,pe=re.value,ve=oe.value,me={};if(pe){let[ge,we]=XEUtils.isArray(pe)?pe:[pe];if(ve&&(we=ge,ge=""),ge){const $e=XEUtils.isNumber(ge)?toCssUnit(ge/2):`calc(${toCssUnit(ge)} / 2)`;me.paddingLeft=$e,me.paddingRight=$e}if(we){const $e=XEUtils.isNumber(we)?toCssUnit(we/2):`calc(${toCssUnit(we)} / 2)`;me.paddingTop=$e,me.paddingBottom=$e}}return fe&&(me.width=toCssUnit(fe)),me}),se={},le={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>se};Object.assign(le,{dispatchEvent:(fe,pe,ve)=>{Q(fe,createEvent$3(ve,{$col:le},pe))}},{});const he=()=>{const{span:fe,fill:pe,align:ve,ellipsis:me}=G,ge=ae.value,we=X.default;return vue.h("div",{ref:Z,class:["vxe-col",fe?`span${fe}`:"",ve?`align--${ve}`:"",{"is--span":fe,"is--fill":pe,"is--ellipsis":me}],style:ge},[vue.h("div",{class:"vxe-col--inner"},we?we({}):[])])};return le.renderVN=he,le},render(){return this.renderVN()}}),VxeCol=Object.assign({},VxeColComponent,{install(G){G.component(VxeColComponent.name,VxeColComponent)}});dynamicApp.use(VxeCol),VxeUI.component(VxeColComponent);const Col=VxeCol,VxeCollapseComponent=vue.defineComponent({name:"VxeCollapse",props:{modelValue:Array,options:Array,padding:{type:Boolean,default:()=>getConfig$8().collapse.padding},expandConfig:Object,size:{type:String,default:()=>getConfig$8().collapse.size||getConfig$8().size}},emits:["update:modelValue","collapse-load"],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.ref(),te=vue.reactive({staticPanes:[],activeNames:[],initNames:[],cachePaneMaps:{}}),ne={refElem:ee},re=vue.computed(()=>{const{options:xe}=G;return(xe||[]).filter(Me=>ce(Me))}),oe=vue.computed(()=>{const{staticPanes:xe}=te;return xe.filter(Me=>ce(Me))}),ae=vue.computed(()=>Object.assign({},getConfig$8().collapse.expandConfig,G.expandConfig)),se={},le={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>se},ce=xe=>{const{permissionCode:Me}=xe;return!(Me&&!permission.checkVisible(Me))},de=xe=>{const{initNames:Me}=te;return xe&&!Me.includes(xe)?(Me.push(xe),!0):!1},ue=xe=>{const{activeNames:Me}=te,De={};xe&&xe.length&&xe.forEach(ke=>{const{name:Oe,preload:Ne}=ke||{};if(Oe){const _e=Me.includes(Oe);De[`${Oe}`]={loading:!1},_e&&de(Oe),Ne&&(_e||Me.push(Oe))}}),te.activeNames=Me?Me.slice(0):[],te.cachePaneMaps=De},fe={dispatchEvent:(xe,Me,De)=>{X(xe,createEvent$3(De,{$collapse:le},Me))}},pe=(xe,Me)=>xe&&(XEUtils.isString(xe)&&(xe=Q[xe]||null),XEUtils.isFunction(xe))?getSlotVNs(xe(Me)):[],ve=(xe,Me)=>{const{activeNames:De}=te,{name:ke}=Me;if(ke){const Oe=De.indexOf(ke);Oe===-1?De.push(ke):De.splice(Oe,1),de(ke)}};Object.assign(le,fe,{});const ge=xe=>{const{activeNames:Me,initNames:De}=te,ke=ae.value;return xe.map(Oe=>{const{icon:Ne,name:_e,title:ye,slots:Ce}=Oe,be=Ce?Ce.title:null,Te=Ce?Ce.default:null,Ae=_e&&Me.includes(_e);return vue.h("div",{class:"vxe-collapse-item"},[vue.h("div",{class:"vxe-collapse--item-header",onClick(Re){ve(Re,Oe)}},[ke.showIcon?vue.h("span",{class:"vxe-collapse--item-switch"},[vue.h("i",{class:Ae?getIcon$8().COLLAPSE_OPEN:getIcon$8().COLLAPSE_CLOSE})]):renderEmptyElement$3(le),Ne?vue.h("span",{class:"vxe-collapse--item-icon"},[vue.h("i",{class:Ne})]):renderEmptyElement$3(le),vue.h("span",{class:"vxe-collapse--item-name"},be?pe(be,{name:_e,title:ye}):`${ye}`)]),vue.h("div",{class:["vxe-collapse--item-content",{"is--visible":Ae}]},[_e&&De.includes(_e)?vue.h("div",{class:"vxe-collapse--item-inner"},[Te?pe(Te,{name:_e,title:ye}):""]):renderEmptyElement$3(le)])])})},we=()=>{const{padding:xe}=G,Me=Z.value,De=re.value,ke=oe.value,Oe=Q.default,Ne=Oe?ke:De;return vue.h("div",{ref:ee,class:["vxe-collapse",{[`size--${Me}`]:Me,"is--padding":xe}]},[vue.h("div",{class:"vxe-collapse-slots"},Oe?Oe({}):[]),ge(Ne)])};vue.watch(()=>G.modelValue,xe=>{te.activeNames=xe||[]});const $e=vue.ref(0);vue.watch(()=>G.options?G.options.length:-1,()=>{$e.value++}),vue.watch(()=>G.options,()=>{$e.value++}),vue.watch($e,()=>{ue(G.options)});const Ee=vue.ref(0);return vue.watch(()=>te.staticPanes?te.staticPanes.length:-1,()=>{Ee.value++}),vue.watch(()=>te.staticPanes,()=>{Ee.value++}),vue.watch(Ee,()=>{ue(te.staticPanes)}),te.activeNames=G.modelValue||[],ue(te.staticPanes.length?te.staticPanes:G.options),vue.provide("$xeCollapse",le),le.renderVN=we,le},render(){return this.renderVN()}}),VxeCollapse=Object.assign({},VxeCollapseComponent,{install(G){G.component(VxeCollapseComponent.name,VxeCollapseComponent)}});dynamicApp.use(VxeCollapse),VxeUI.component(VxeCollapseComponent);const Collapse=VxeCollapse;function assembleCollapseItem(G,H,X){const Q=G.reactData.staticPanes,K=H.parentNode;K&&(Q.splice(XEUtils.arrayIndexOf(K.children,H),0,X),G.reactData.staticPanes=Q.slice(0))}function destroyCollapseItem(G,H){const X=G.reactData.staticPanes,Q=XEUtils.findTree(X,K=>K.id===H.id,{children:"children"});Q&&Q.items.splice(Q.index,1),G.reactData.staticPanes=X.slice(0)}const VxeCollapsePaneComponent=vue.defineComponent({name:"VxeCollapsePane",props:{title:[String,Number],name:[String,Number],icon:String,preload:Boolean,permissionCode:[String,Number]},emits:[],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.inject("$xeCollapse",null),ee=vue.ref(),te=vue.reactive({}),ne=vue.reactive({id:K,title:G.title,name:G.name,icon:G.icon,preload:G.preload,permissionCode:G.permissionCode,slots:Q}),re={refElem:ee},oe={},ae={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>re,getComputeMaps:()=>oe};Object.assign(ae,{dispatchEvent:(ue,he,fe)=>{X(ue,createEvent$3(fe,{$collapsePane:ae},he))}},{});const de=()=>vue.h("div",{ref:ee},[]);return vue.watch(()=>G.title,ue=>{ne.title=ue}),vue.watch(()=>G.name,ue=>{ne.name=ue}),vue.watch(()=>G.icon,ue=>{ne.icon=ue}),vue.watch(()=>G.permissionCode,ue=>{ne.permissionCode=ue}),vue.onMounted(()=>{const ue=ee.value;Z&&ue&&assembleCollapseItem(Z,ue,ne)}),vue.onUnmounted(()=>{Z&&destroyCollapseItem(Z,ne)}),ae.renderVN=de,ae},render(){return this.renderVN()}}),VxeCollapsePane=Object.assign({},VxeCollapsePaneComponent,{install(G){G.component(VxeCollapsePaneComponent.name,VxeCollapsePaneComponent)}});dynamicApp.use(VxeCollapsePane),VxeUI.component(VxeCollapsePaneComponent);const CollapsePane=VxeCollapsePane,VxeColorPickerComponent=vue.defineComponent({name:"VxeColorPicker",props:{},emits:[],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.ref(),Z=vue.reactive({}),ee={refElem:K},te={},ne={xID:Q,props:G,context:H,reactData:Z,getRefMaps:()=>ee,getComputeMaps:()=>te};Object.assign(ne,{dispatchEvent:(le,ce,de)=>{X(le,createEvent$3(de,{$colorPicker:ne},ce))}},{});const se=()=>vue.h("div",{ref:K,class:"vxe-color-picker"},[]);return ne.renderVN=se,ne},render(){return this.renderVN()}}),VxeColorPicker=Object.assign({},VxeColorPickerComponent,{install(G){G.component(VxeColorPickerComponent.name,VxeColorPickerComponent)}});dynamicApp.use(VxeColorPicker),VxeUI.component(VxeColorPickerComponent);const ColorPicker=VxeColorPicker,VxeTextComponent=vue.defineComponent({name:"VxeText",props:{status:String,title:[String,Number],icon:String,loading:Boolean,content:[String,Number],clickToCopy:Boolean,size:{type:String,default:()=>getConfig$8().text.size||getConfig$8().size}},emits:["click"],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.ref(),te=vue.ref(),ne=vue.reactive({}),re={refElem:ee},oe={},ae=()=>{const{content:pe,clickToCopy:ve}=G;if(ve){const me=te.value,ge=(me?me.textContent:"")||pe;ge&&(VxeUI.clipboard.copy(ge)?VxeUI.modal&&VxeUI.modal.message({content:getI18n$e("vxe.text.copySuccess"),status:"success"}):VxeUI.modal&&VxeUI.modal.message({content:getI18n$e("vxe.text.copyError"),status:"error"}))}},se={xID:K,props:G,context:H,reactData:ne,getRefMaps:()=>re,getComputeMaps:()=>oe},le=(pe,ve,me)=>{X(pe,createEvent$3(me,{$text:se},ve))},ce={dispatchEvent:le},de=pe=>{const{loading:ve}=G;ve||le("click",{},pe)};Object.assign(se,ce,{});const he=()=>{const{loading:pe,icon:ve,content:me,clickToCopy:ge}=G,we=Q.default,$e=Q.icon;return[pe?vue.h("span",{class:"vxe-text--loading"},[vue.h("i",{class:getIcon$8().TEXT_LOADING})]):$e||ve||ge?vue.h("span",{class:"vxe-text--icon",onClick:ae},$e?getSlotVNs($e({})):[vue.h("i",{class:ve||getIcon$8().TEXT_COPY})]):vue.createCommentVNode(),vue.h("span",{ref:te,class:"vxe-text--content"},we?we({}):XEUtils.toValueString(me))]},fe=()=>{const{loading:pe,status:ve,title:me,clickToCopy:ge}=G,we=Z.value;return vue.h("span",{ref:ee,title:me,class:["vxe-text",{[`size--${we}`]:we,[`theme--${ve}`]:ve,"is--copy":ge,"is--loading":pe}],onClick:de},he())};return se.renderVN=fe,se},render(){return this.renderVN()}}),VxeCountdownComponent=vue.defineComponent({name:"VxeCountdown",props:{modelValue:[Number,String],format:String,prefixConfig:Object,suffixConfig:Object,size:{type:String,default:()=>getConfig$8().countdown.size||getConfig$8().size}},emits:["update:modelValue","start","end"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({currNum:0,secondNum:0}),ne={dnTimeout:void 0},re={refElem:Z},oe=vue.computed(()=>{const{secondNum:xe}=te;return xe>=316224e5?["yyyy","MM","dd","HH","mm","ss"]:xe>=26784e5?["MM","dd","HH","mm","ss"]:xe>=864e5?["dd","HH","mm","ss"]:xe>=36e5?["HH","mm","ss"]:xe>=6e4?["mm","ss"]:["ss"]}),ae=vue.computed(()=>{const{currNum:xe}=te;return XEUtils.getDateDiff(Date.now(),Date.now()+xe)}),se=vue.computed(()=>{const{format:xe}=G,Me=ae.value;let De="";return xe&&(De=`${xe}`,XEUtils.each(Me,(ke,Oe)=>{De=De.replace(new RegExp(Oe,"g"),XEUtils.padStart(ke,Oe.length,"0"))})),De}),le=vue.computed(()=>Object.assign({},G.prefixConfig,getConfig$8().countdown.prefixConfig)),ce=vue.computed(()=>Object.assign({},G.suffixConfig,getConfig$8().countdown.suffixConfig)),de={computeSize:ee},ue={xID:K,props:G,context:H,reactData:te,internalData:ne,getRefMaps:()=>re,getComputeMaps:()=>de},he=(xe,Me,De)=>{Q(xe,createEvent$3(De,{$carousel:ue},Me))},fe=()=>{const xe=XEUtils.toNumber(G.modelValue||0);te.secondNum=xe,te.currNum=xe},pe=()=>{const{currNum:xe}=te;xe>1e3?(te.currNum-=1e3,ne.dnTimeout=setTimeout(()=>{pe()},1e3)):(te.currNum=0,ge())},ve={dispatchEvent:he},me=()=>{he("start",{},null),pe()},ge=()=>{const{dnTimeout:xe}=ne;xe&&(clearTimeout(xe),ne.dnTimeout=void 0,he("end",{},null))};Object.assign(ue,ve,{});const $e=()=>{const{format:xe}=G,Me=oe.value,De=ae.value,ke=se.value;return xe?[vue.h("div",{key:"format",class:"vxe-countdown--content-format"},ke)]:Me.map((Oe,Ne)=>vue.h("div",{key:Ne,class:"vxe-countdown--content-item"},[vue.h("div",{class:"vxe-countdown--content-num"},`${De[Oe]||0}`),vue.h("div",{class:"vxe-countdown--content-unit"},getI18n$e(`vxe.countdown.formats.${Oe}`))]))},Ee=()=>{const{prefixConfig:xe,suffixConfig:Me}=G,{currNum:De}=te,ke=ee.value,Oe=ae.value,Ne=le.value,_e=ce.value,ye=X.prefix,Ce=X.suffix,be=X.default;return vue.h("div",{ref:Z,class:["vxe-countdown",Oe.done?"is--progress":"is-end",{[`size--${ke}`]:ke}]},[ye||xe?vue.h("div",{class:"vxe-countdown--prefix"},ye?getSlotVNs(ye({currentValue:De,diffConf:Oe})):[vue.h(VxeTextComponent,{content:Ne.content,icon:Ne.icon,status:Ne.status})]):vue.createCommentVNode(),vue.h("div",{class:"vxe-countdown--content"},be?getSlotVNs(be({currentValue:De,diffConf:Oe})):$e()),Ce||Me?vue.h("div",{class:"vxe-countdown--suffix"},Ce?getSlotVNs(Ce({currentValue:De,diffConf:Oe})):[vue.h(VxeTextComponent,{content:_e.content,icon:_e.icon,status:_e.status})]):vue.createCommentVNode()])};return vue.watch(()=>G.modelValue,()=>{fe(),ge(),me()}),vue.onUnmounted(()=>{ge()}),vue.onMounted(()=>{me()}),fe(),ue.renderVN=Ee,ue},render(){return this.renderVN()}}),VxeCountdown=Object.assign({},VxeCountdownComponent,{install(G){G.component(VxeCountdownComponent.name,VxeCountdownComponent)}});dynamicApp.use(VxeCountdown),VxeUI.component(VxeCountdownComponent);const Countdown=VxeCountdown,VxeDatePickerComponent=vue.defineComponent({name:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>getConfig$8().datePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,maxLength:[String,Number],autoComplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:()=>getConfig$8().datePicker.size||getConfig$8().size},multiple:Boolean,startDate:{type:[String,Number,Date],default:()=>getConfig$8().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>getConfig$8().datePicker.endDate},minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>getConfig$8().datePicker.startDay},labelFormat:String,valueFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>getConfig$8().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>getConfig$8().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>getConfig$8().datePicker.selectDay},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},startWeek:Number,maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","prefix-click","suffix-click","date-prev","date-today","date-next"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeModal",null),Z=vue.inject("$xeDrawer",null),ee=vue.inject("$xeTable",null),te=vue.inject("$xeForm",null),ne=vue.inject("xeFormItemInfo",null),re=XEUtils.uniqueId(),{computeSize:oe}=useSize(G),ae=vue.reactive({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),se={yearSize:12,monthSize:20,quarterSize:8,hpTimeout:void 0},le=vue.ref(),ce=vue.ref(),de=vue.ref(),ue=vue.ref(),he=vue.ref(),fe={refElem:le,refInput:ce},pe={xID:re,props:G,context:H,reactData:ae,internalData:se,getRefMaps:()=>fe};let ve={};const me=vue.computed(()=>{const{transfer:Dt}=G;if(Dt===null){const Kt=getConfig$8().datePicker.transfer;if(XEUtils.isBoolean(Kt))return Kt;if(ee||K||Z||te)return!0}return Dt}),ge=vue.computed(()=>{const{readonly:Dt}=G;return Dt===null?te?te.props.readonly:!1:Dt}),we=vue.computed(()=>{const{disabled:Dt}=G;return Dt===null?te?te.props.disabled:!1:Dt}),$e=vue.computed(()=>{const{type:Dt}=G;return Dt==="time"||Dt==="datetime"}),Ee=vue.computed(()=>$e.value||["date","week","month","quarter","year"].indexOf(G.type)>-1),xe=vue.computed(()=>G.clearable),Me=vue.computed(()=>G.startDate?XEUtils.toStringDate(G.startDate):null),De=vue.computed(()=>G.endDate?XEUtils.toStringDate(G.endDate):null),ke=vue.computed(()=>["date","week","month","quarter","year"].indexOf(G.type)>-1),Oe=vue.computed(()=>{const{modelValue:Dt,multiple:Kt}=G,sn=Ee.value,xn=ye.value;return Kt&&Dt&&sn?XEUtils.toValueString(Dt).split(",").map(In=>{const Sn=ut(In,xn);return XEUtils.isValidDate(Sn),Sn}):[]}),Ne=vue.computed(()=>{const Dt=Oe.value,Kt=ye.value;return Dt.map(sn=>XEUtils.toDateString(sn,Kt))}),_e=vue.computed(()=>{const Dt=Oe.value,Kt=Fe.value;return Dt.map(sn=>XEUtils.toDateString(sn,Kt)).join(", ")}),ye=vue.computed(()=>{const{type:Dt,valueFormat:Kt}=G;return Kt||(Dt==="time"?"HH:mm:ss":Dt==="datetime"?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")}),Ce=vue.computed(()=>{const{modelValue:Dt}=G,Kt=Ee.value,sn=ye.value;let xn=null;if(Dt&&Kt){const In=ut(Dt,sn);XEUtils.isValidDate(In)&&(xn=In)}return xn}),be=vue.computed(()=>{const Dt=Me.value,{selectMonth:Kt}=ae;return Kt&&Dt?Kt<=Dt:!1}),Te=vue.computed(()=>{const Dt=De.value,{selectMonth:Kt}=ae;return Kt&&Dt?Kt>=Dt:!1}),Ae=vue.computed(()=>{const{datetimePanelValue:Dt}=ae,Kt=mt.value;return Dt?XEUtils.toDateString(Dt,Kt?"HH:mm:ss":"HH:mm"):""}),Re=vue.computed(()=>{const Dt=Ce.value,Kt=$e.value;return Dt&&Kt?(Dt.getHours()*3600+Dt.getMinutes()*60+Dt.getSeconds())*1e3:0}),Fe=vue.computed(()=>{const{labelFormat:Dt}=G;return Ee.value?Dt||getI18n$e(`vxe.input.date.labelFormat.${G.type}`):null}),Be=vue.computed(()=>{const{yearSize:Dt}=se,{selectMonth:Kt,currentDate:sn}=ae,xn=[];if(Kt&&sn){const In=sn.getFullYear(),Sn=Kt.getFullYear(),Bn=new Date(Sn-Sn%Dt,0,1);for(let Fn=-4;Fn<Dt+4;Fn++){const ln=XEUtils.getWhatYear(Bn,Fn,"first"),Nn=ln.getFullYear();xn.push({date:ln,isCurrent:!0,isPrev:Fn<0,isNow:In===Nn,isNext:Fn>=Dt,year:Nn})}}return xn}),je=vue.computed(()=>{if(Ee.value){const{datePanelType:Kt,selectMonth:sn}=ae,xn=Be.value;let In="",Sn;return sn&&(In=sn.getFullYear(),Sn=sn.getMonth()+1),Kt==="quarter"?getI18n$e("vxe.input.date.quarterLabel",[In]):Kt==="month"?getI18n$e("vxe.input.date.monthLabel",[In]):Kt==="year"?xn.length?`${xn[0].year} - ${xn[xn.length-1].year}`:"":getI18n$e("vxe.input.date.dayLabel",[In,Sn?getI18n$e(`vxe.input.date.m${Sn}`):"-"])}return""}),Le=vue.computed(()=>{const{startDay:Dt,startWeek:Kt}=G;return XEUtils.toNumber(XEUtils.isNumber(Dt)||XEUtils.isString(Dt)?Dt:Kt)}),Ue=vue.computed(()=>{const Dt=[];if(Ee.value){let sn=Le.value;Dt.push(sn);for(let xn=0;xn<6;xn++)sn>=6?sn=0:sn++,Dt.push(sn)}return Dt}),Ie=vue.computed(()=>Ee.value?Ue.value.map(sn=>({value:sn,label:getI18n$e(`vxe.input.date.weeks.w${sn}`)})):[]),Ve=vue.computed(()=>{if(Ee.value){const Kt=Ie.value;return[{label:getI18n$e("vxe.input.date.weeks.w")}].concat(Kt)}return[]}),ze=vue.computed(()=>{const Dt=Be.value;return XEUtils.chunk(Dt,4)}),We=vue.computed(()=>{const{quarterSize:Dt}=se,{selectMonth:Kt,currentDate:sn}=ae,xn=[];if(Kt&&sn){const In=sn.getFullYear(),Sn=getDateQuarter(sn),Bn=XEUtils.getWhatYear(Kt,0,"first"),Fn=Bn.getFullYear();for(let ln=-2;ln<Dt-2;ln++){const Nn=XEUtils.getWhatQuarter(Bn,ln),fr=Nn.getFullYear(),ar=getDateQuarter(Nn),vr=fr<Fn;xn.push({date:Nn,isPrev:vr,isCurrent:fr===Fn,isNow:fr===In&&ar===Sn,isNext:!vr&&fr>Fn,quarter:ar})}}return xn}),Xe=vue.computed(()=>{const Dt=We.value;return XEUtils.chunk(Dt,2)}),He=vue.computed(()=>{const{monthSize:Dt}=se,{selectMonth:Kt,currentDate:sn}=ae,xn=[];if(Kt&&sn){const In=sn.getFullYear(),Sn=sn.getMonth(),Bn=XEUtils.getWhatYear(Kt,0,"first").getFullYear();for(let Fn=-4;Fn<Dt-4;Fn++){const ln=XEUtils.getWhatYear(Kt,0,Fn),Nn=ln.getFullYear(),fr=ln.getMonth(),ar=Nn<Bn;xn.push({date:ln,isPrev:ar,isCurrent:Nn===Bn,isNow:Nn===In&&fr===Sn,isNext:!ar&&Nn>Bn,month:fr})}}return xn}),qe=vue.computed(()=>{const Dt=He.value;return XEUtils.chunk(Dt,4)}),at=vue.computed(()=>{const{selectMonth:Dt,currentDate:Kt}=ae,sn=[];if(Dt&&Kt){const xn=Re.value,In=Ue.value,Sn=Kt.getFullYear(),Bn=Kt.getMonth(),Fn=Kt.getDate(),ln=Dt.getFullYear(),Nn=Dt.getMonth(),fr=Dt.getDay(),ar=-In.indexOf(fr),vr=new Date(XEUtils.getWhatDay(Dt,ar).getTime()+xn);for(let Rr=0;Rr<42;Rr++){const Ar=XEUtils.getWhatDay(vr,Rr),Nr=Ar.getFullYear(),br=Ar.getMonth(),Dr=Ar.getDate(),ho=Ar<Dt;sn.push({date:Ar,isPrev:ho,isCurrent:Nr===ln&&br===Nn,isNow:Nr===Sn&&br===Bn&&Dr===Fn,isNext:!ho&&Nn!==br,label:Dr})}}return sn}),st=vue.computed(()=>{const Dt=at.value;return XEUtils.chunk(Dt,7)}),Ke=vue.computed(()=>{const Dt=st.value,Kt=Le.value;return Dt.map(sn=>{const xn=sn[0];return[{date:xn.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:XEUtils.getYearWeek(xn.date,Kt)}].concat(sn)})}),dt=vue.computed(()=>{const Dt=[];if($e.value)for(let sn=0;sn<24;sn++)Dt.push({value:sn,label:(""+sn).padStart(2,"0")});return Dt}),wt=vue.computed(()=>{const Dt=[];if($e.value)for(let sn=0;sn<60;sn++)Dt.push({value:sn,label:(""+sn).padStart(2,"0")});return Dt}),$t=vue.computed(()=>{const Dt=ye.value;return!/HH/.test(Dt)||/mm/.test(Dt)}),mt=vue.computed(()=>{const Dt=ye.value;return!/HH/.test(Dt)||/ss/.test(Dt)}),bt=vue.computed(()=>wt.value),Ot=vue.computed(()=>{const{type:Dt,editable:Kt,multiple:sn}=G;return ge.value||sn||!Kt||Dt==="week"||Dt==="quarter"}),It=vue.computed(()=>"text"),yt=vue.computed(()=>{const{placeholder:Dt}=G;if(Dt)return getFuncText(Dt);const Kt=getConfig$8().datePicker.placeholder;return Kt?getFuncText(Kt):getI18n$e("vxe.base.pleaseSelect")}),Et=vue.computed(()=>{const{immediate:Dt}=G;return Dt}),Vt=Dt=>{let Kt="";Dt&&(XEUtils.isNumber(Dt)&&/^[0-9]{11,15}$/.test(`${Dt}`)?Kt=new Date(Dt):Kt=Dt),ae.inputValue=Kt},ut=(Dt,Kt)=>{const{type:sn}=G;return sn==="time"?toStringTimeDate(Dt):XEUtils.toStringDate(Dt,Kt)},vt=Dt=>{const{inputValue:Kt}=ae;ve.dispatchEvent(Dt.type,{value:Kt},Dt)},Qe=(Dt,Kt)=>{ae.inputValue=Dt,Q("update:modelValue",Dt),XEUtils.toValueString(G.modelValue)!==Dt&&(ve.dispatchEvent("change",{value:Dt},Kt),te&&ne&&te.triggerItemEvent(Kt,ne.itemConfig.field,Dt))},ht=Dt=>{const Kt=Ee.value,sn=Et.value,In=Dt.target.value;ae.inputValue=In,Kt||(sn?Qe(In,Dt):ve.dispatchEvent("input",{value:In},Dt))},et=Dt=>{Et.value||vt(Dt)},nt=Dt=>{ae.isActivated=!0,Ee.value&&yn(Dt),vt(Dt)},Ye=Dt=>{if(!we.value){const{inputValue:sn}=ae;ve.dispatchEvent("prefix-click",{value:sn},Dt)}},tt=()=>new Promise(Dt=>{ae.visiblePanel=!1,se.hpTimeout=window.setTimeout(()=>{ae.isAniVisible=!1,Dt()},350)}),Je=(Dt,Kt)=>{Ee.value&&tt(),Qe("",Dt),ve.dispatchEvent("clear",{value:Kt},Dt)},it=Dt=>{if(!we.value){const{inputValue:sn}=ae;ve.dispatchEvent("suffix-click",{value:sn},Dt)}},ft=Dt=>{const{type:Kt}=G,sn=Fe.value,xn=ye.value,In=Le.value;let Sn=null,Bn="";if(Dt&&(Sn=ut(Dt,xn)),XEUtils.isValidDate(Sn)){if(Bn=XEUtils.toDateString(Sn,sn,{firstDay:In}),sn&&Kt==="week"&&XEUtils.getWhatWeek(Sn,0,In,In).getFullYear()<Sn.getFullYear()){const ln=sn.indexOf("yyyy");if(ln>-1){const Nn=Number(Bn.substring(ln,ln+4));Nn&&!isNaN(Nn)&&(Bn=Bn.replace(`${Nn}`,`${Nn-1}`))}}}else Sn=null;ae.datePanelValue=Sn,ae.datePanelLabel=Bn},St=()=>{const Dt=Ee.value,{inputValue:Kt}=ae;Dt&&(ft(Kt),ae.inputValue=G.multiple?_e.value:ae.datePanelLabel)},kt=()=>{const Dt=Ee.value;Vt(G.modelValue),Dt&&St()},Nt=()=>{ae.inputValue=G.multiple?_e.value:ae.datePanelLabel},Ht=Dt=>{const Kt=XEUtils.getWhatMonth(Dt,0,"first");XEUtils.isEqual(Kt,ae.selectMonth)||(ae.selectMonth=Kt)},Lt=Dt=>{const{modelValue:Kt,multiple:sn}=G,{datetimePanelValue:xn}=ae,In=$e.value,Sn=ye.value,Bn=Le.value;if(G.type==="week"){const ln=XEUtils.toNumber(G.selectDay);Dt=XEUtils.getWhatWeek(Dt,0,ln,Bn)}else In&&xn&&(Dt.setHours(xn.getHours()),Dt.setMinutes(xn.getMinutes()),Dt.setSeconds(xn.getSeconds()));const Fn=XEUtils.toDateString(Dt,Sn,{firstDay:Bn});if(Ht(Dt),sn){const ln=Ne.value;if(In){const Nn=[...Oe.value],fr=[],ar=XEUtils.findIndexOf(Nn,vr=>XEUtils.isDateSame(Dt,vr,"yyyyMMdd"));ar===-1?Nn.push(Dt):Nn.splice(ar,1),Nn.forEach(vr=>{vr&&(xn&&(vr.setHours(xn.getHours()),vr.setMinutes(xn.getMinutes()),vr.setSeconds(xn.getSeconds())),fr.push(vr))}),Qe(fr.map(vr=>XEUtils.toDateString(vr,Sn)).join(","),{type:"update"})}else ln.some(Nn=>XEUtils.isEqual(Nn,Fn))?Qe(ln.filter(Nn=>!XEUtils.isEqual(Nn,Fn)).join(","),{type:"update"}):Qe(ln.concat([Fn]).join(","),{type:"update"})}else XEUtils.isEqual(Kt,Fn)||Qe(Fn,{type:"update"})},Bt=()=>{const{type:Dt}=G,{inputValue:Kt,datetimePanelValue:sn}=ae,xn=Fe.value;if(!Ot.value)if(Kt){let Sn=ut(Kt,xn);if(XEUtils.isValidDate(Sn))if(Dt==="time")Sn=XEUtils.toDateString(Sn,xn),Kt!==Sn&&Qe(Sn,{type:"check"}),ae.inputValue=Sn;else{let Bn=!1;const Fn=Le.value;if(Dt==="datetime"){const ln=Ce.value;(Kt!==XEUtils.toDateString(ln,xn)||Kt!==XEUtils.toDateString(Sn,xn))&&(Bn=!0,sn&&(sn.setHours(Sn.getHours()),sn.setMinutes(Sn.getMinutes()),sn.setSeconds(Sn.getSeconds())))}else Bn=!0;ae.inputValue=XEUtils.toDateString(Sn,xn,{firstDay:Fn}),Bn&&Lt(Sn)}else Nt()}else Qe("",{type:"check"})},Xt=Dt=>{const{inputValue:Kt}=ae,sn=Et.value,xn=Kt;sn||Qe(xn,Dt),Bt(),ae.visiblePanel||(ae.isActivated=!1),ve.dispatchEvent("blur",{value:xn},Dt),te&&ne&&te.triggerItemEvent(Dt,ne.itemConfig.field,xn)},Yt=Dt=>{vt(Dt)},Jt=Dt=>{vt(Dt)},fn=Dt=>{vt(Dt)},mn=(Dt,Kt)=>{ae.selectMonth=XEUtils.getWhatMonth(Dt,Kt,"first")},cn=()=>{const Dt=XEUtils.getWhatDay(Date.now(),0,"first");ae.currentDate=Dt,mn(Dt,0)},kn=()=>{let{datePanelType:Dt}=ae;Dt==="month"||Dt==="quarter"?Dt="year":Dt="month",ae.datePanelType=Dt},Tt=Dt=>{const{type:Kt}=G,{datePanelType:sn,selectMonth:xn,inputValue:In}=ae,{yearSize:Sn}=se,Bn=In;if(!be.value){let ln;Kt==="year"?ln=XEUtils.getWhatYear(xn,-Sn,"first"):Kt==="month"||Kt==="quarter"?sn==="year"?ln=XEUtils.getWhatYear(xn,-Sn,"first"):ln=XEUtils.getWhatYear(xn,-1,"first"):sn==="year"?ln=XEUtils.getWhatYear(xn,-Sn,"first"):sn==="month"?ln=XEUtils.getWhatYear(xn,-1,"first"):ln=XEUtils.getWhatMonth(xn,-1,"first"),ae.selectMonth=ln,ve.dispatchEvent("date-prev",{viewType:sn,viewDate:ln,value:Bn,type:Kt},Dt)}},gt=Dt=>{cn(),G.multiple||(Lt(ae.currentDate),tt()),ve.dispatchEvent("date-today",{type:G.type},Dt)},Rt=Dt=>{const{type:Kt}=G,{datePanelType:sn,selectMonth:xn,inputValue:In}=ae,{yearSize:Sn}=se,Bn=In;if(!Te.value){let ln;Kt==="year"?ln=XEUtils.getWhatYear(xn,Sn,"first"):Kt==="month"||Kt==="quarter"?sn==="year"?ln=XEUtils.getWhatYear(xn,Sn,"first"):ln=XEUtils.getWhatYear(xn,1,"first"):sn==="year"?ln=XEUtils.getWhatYear(xn,Sn,"first"):sn==="month"?ln=XEUtils.getWhatYear(xn,1,"first"):ln=XEUtils.getWhatMonth(xn,1,"first"),ae.selectMonth=ln,ve.dispatchEvent("date-next",{viewType:sn,value:Bn,type:Kt},Dt)}},Ut=Dt=>{const{disabledMethod:Kt}=G,{datePanelType:sn}=ae,xn=Me.value,In=De.value,{date:Sn}=Dt;return xn&&xn.getTime()>Sn.getTime()||In&&In.getTime()<Sn.getTime()?!0:Kt?Kt({type:sn,viewType:sn,date:Sn,$datePicker:pe}):!1},ct=Dt=>{const{type:Kt,multiple:sn}=G,{datePanelType:xn}=ae;Kt==="month"?xn==="year"?(ae.datePanelType="month",Ht(Dt)):(Lt(Dt),sn||tt()):Kt==="year"?(Lt(Dt),sn||tt()):Kt==="quarter"?xn==="year"?(ae.datePanelType="quarter",Ht(Dt)):(Lt(Dt),sn||tt()):xn==="month"?(ae.datePanelType=Kt==="week"?Kt:"day",Ht(Dt)):xn==="year"?(ae.datePanelType="month",Ht(Dt)):(Lt(Dt),Kt==="datetime"||sn||tt())},bn=Dt=>{Ut(Dt)||ct(Dt.date)},rn=Dt=>{Ut({date:Dt})||(at.value.some(sn=>XEUtils.isDateSame(sn.date,Dt,"yyyyMMdd"))||Ht(Dt),ft(Dt))},dn=Dt=>{Ut({date:Dt})||(Be.value.some(sn=>XEUtils.isDateSame(sn.date,Dt,"yyyy"))||Ht(Dt),ft(Dt))},$n=Dt=>{Ut({date:Dt})||(We.value.some(sn=>XEUtils.isDateSame(sn.date,Dt,"yyyyq"))||Ht(Dt),ft(Dt))},hn=Dt=>{Ut({date:Dt})||(He.value.some(sn=>XEUtils.isDateSame(sn.date,Dt,"yyyyMM"))||Ht(Dt),ft(Dt))},gn=Dt=>{if(!Ut(Dt)){const{datePanelType:Kt}=ae;Kt==="month"?hn(Dt.date):Kt==="quarter"?$n(Dt.date):Kt==="year"?dn(Dt.date):rn(Dt.date)}},On=Dt=>{if(Dt){const Kt=Dt.offsetHeight,sn=Dt.parentNode;sn.scrollTop=Dt.offsetTop-Kt*4}},Vn=Dt=>{const{datetimePanelValue:Kt}=ae;ae.datetimePanelValue=Kt?new Date(Kt.getTime()):new Date,On(Dt.currentTarget)},Un=(Dt,Kt)=>{const{datetimePanelValue:sn}=ae;sn&&sn.setHours(Kt.value),Vn(Dt)},Ln=()=>{const{multiple:Dt}=G,{datetimePanelValue:Kt}=ae,sn=Ce.value,xn=$e.value;if(xn){const In=ye.value;if(Dt){const Sn=Ne.value;if(xn){const Bn=[...Oe.value],Fn=[];Bn.forEach(ln=>{ln&&(Kt&&(ln.setHours(Kt.getHours()),ln.setMinutes(Kt.getMinutes()),ln.setSeconds(Kt.getSeconds())),Fn.push(ln))}),Qe(Fn.map(ln=>XEUtils.toDateString(ln,In)).join(","),{type:"update"})}else Qe(Sn.join(","),{type:"update"})}else Lt(sn||ae.currentDate)}tt()},Wn=(Dt,Kt)=>{const{datetimePanelValue:sn}=ae;sn&&sn.setMinutes(Kt.value),Vn(Dt)},Yn=(Dt,Kt)=>{const{datetimePanelValue:sn}=ae;sn&&sn.setSeconds(Kt.value),Vn(Dt)},or=Dt=>{const{isActivated:Kt,datePanelValue:sn,datePanelType:xn}=ae;if(Kt){Dt.preventDefault();const In=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.ARROW_LEFT),Sn=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.ARROW_UP),Bn=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.ARROW_RIGHT),Fn=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.ARROW_DOWN);if(xn==="year"){let ln=XEUtils.getWhatYear(sn||Date.now(),0,"first");In?ln=XEUtils.getWhatYear(ln,-1):Sn?ln=XEUtils.getWhatYear(ln,-4):Bn?ln=XEUtils.getWhatYear(ln,1):Fn&&(ln=XEUtils.getWhatYear(ln,4)),dn(ln)}else if(xn==="quarter"){let ln=XEUtils.getWhatQuarter(sn||Date.now(),0,"first");In?ln=XEUtils.getWhatQuarter(ln,-1):Sn?ln=XEUtils.getWhatQuarter(ln,-2):Bn?ln=XEUtils.getWhatQuarter(ln,1):Fn&&(ln=XEUtils.getWhatQuarter(ln,2)),$n(ln)}else if(xn==="month"){let ln=XEUtils.getWhatMonth(sn||Date.now(),0,"first");In?ln=XEUtils.getWhatMonth(ln,-1):Sn?ln=XEUtils.getWhatMonth(ln,-4):Bn?ln=XEUtils.getWhatMonth(ln,1):Fn&&(ln=XEUtils.getWhatMonth(ln,4)),hn(ln)}else{let ln=sn||XEUtils.getWhatDay(Date.now(),0,"first");const Nn=Le.value;In?ln=XEUtils.getWhatDay(ln,-1):Sn?ln=XEUtils.getWhatWeek(ln,-1,Nn):Bn?ln=XEUtils.getWhatDay(ln,1):Fn&&(ln=XEUtils.getWhatWeek(ln,1,Nn)),rn(ln)}}},dr=Dt=>{const{isActivated:Kt}=ae;if(Kt){const sn=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.PAGE_UP);Dt.preventDefault(),sn?Tt(Dt):Rt(Dt)}},hr=()=>{const{type:Dt}=G,Kt=$e.value,sn=Ce.value;["year","quarter","month","week"].indexOf(Dt)>-1?ae.datePanelType=Dt:ae.datePanelType="day",ae.currentDate=XEUtils.getWhatDay(Date.now(),0,"first"),sn?(mn(sn,0),ft(sn)):cn(),Kt&&(ae.datetimePanelValue=ae.datePanelValue||XEUtils.getWhatDay(Date.now(),0,"first"),vue.nextTick(()=>{const xn=he.value;XEUtils.arrayEach(xn.querySelectorAll("li.is--selected"),In=>{On(In)})}))},zt=()=>{ae.panelIndex<getLastZIndex()&&(ae.panelIndex=nextZIndex())},tn=()=>vue.nextTick().then(()=>{const{placement:Dt}=G,{panelIndex:Kt}=ae,sn=ce.value,xn=de.value,In=me.value;if(sn&&xn){const Sn=sn.offsetHeight,Bn=sn.offsetWidth,Fn=xn.offsetHeight,ln=xn.offsetWidth,Nn=5,fr={zIndex:Kt},{boundingTop:ar,boundingLeft:vr,visibleHeight:Rr,visibleWidth:Ar}=getAbsolutePos(sn);let Nr="bottom";if(In){let br=vr,Dr=ar+Sn;Dt==="top"?(Nr="top",Dr=ar-Fn):Dt||(Dr+Fn+Nn>Rr&&(Nr="top",Dr=ar-Fn),Dr<Nn&&(Nr="bottom",Dr=ar+Sn)),br+ln+Nn>Ar&&(br-=br+ln+Nn-Ar),br<Nn&&(br=Nn),Object.assign(fr,{left:`${br}px`,top:`${Dr}px`,minWidth:`${Bn}px`})}else Dt==="top"?(Nr="top",fr.bottom=`${Sn}px`):Dt||(fr.top=`${Sn}px`,ar+Sn+Fn>Rr&&ar-Sn-Fn>Nn&&(Nr="top",fr.top="",fr.bottom=`${Sn}px`));return ae.panelStyle=fr,ae.panelPlacement=Nr,vue.nextTick()}}),Cn=()=>{const{visiblePanel:Dt}=ae,Kt=we.value,sn=Ee.value;return!Kt&&!Dt?(ae.initialized||(ae.initialized=!0),se.hpTimeout&&(clearTimeout(se.hpTimeout),se.hpTimeout=void 0),ae.isActivated=!0,ae.isAniVisible=!0,sn&&hr(),setTimeout(()=>{ae.visiblePanel=!0},10),zt(),tn()):vue.nextTick()},yn=Dt=>{ge.value||(Dt.preventDefault(),Cn())},Mn=Dt=>{vt(Dt)},Gn=Dt=>{const{visiblePanel:Kt,isActivated:sn}=ae,xn=Ee.value,In=le.value,Sn=ue.value;!we.value&&sn&&(ae.isActivated=getEventTargetNode(Dt,In).flag||getEventTargetNode(Dt,Sn).flag,ae.isActivated||(xn?Kt&&(tt(),Bt()):Bt()))},Xn=Dt=>{const{clearable:Kt}=G,{visiblePanel:sn}=ae,xn=Ee.value;if(!we.value){const Sn=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.TAB),Bn=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.DELETE),Fn=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.ESCAPE),ln=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.ENTER),Nn=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.ARROW_LEFT),fr=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.ARROW_UP),ar=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.ARROW_RIGHT),vr=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.ARROW_DOWN),Rr=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.PAGE_UP),Ar=globalEvents$4.hasKey(Dt,GLOBAL_EVENT_KEYS$3.PAGE_DOWN),Nr=Nn||fr||ar||vr;let br=ae.isActivated;Sn?(br&&Bt(),br=!1,ae.isActivated=br):Nr?xn&&br&&(sn?or(Dt):(fr||vr)&&yn(Dt)):ln?xn&&(sn?ae.datePanelValue?ct(ae.datePanelValue):tt():br&&yn(Dt)):(Rr||Ar)&&xn&&br&&dr(Dt),Sn||Fn?sn&&tt():Bn&&Kt&&br&&Je(Dt,null)}},rr=Dt=>{const{visiblePanel:Kt}=ae;if(!we.value&&Kt){const xn=ue.value;getEventTargetNode(Dt,xn).flag?tn():(tt(),Bt())}},Jn=()=>{const{isActivated:Dt,visiblePanel:Kt}=ae;Kt?(tt(),Bt()):Dt&&Bt()};ve={dispatchEvent:(Dt,Kt,sn)=>{Q(Dt,createEvent$3(sn,{$datePicker:pe},Kt))},focus(){const Dt=ce.value;return ae.isActivated=!0,Dt.focus(),vue.nextTick()},blur(){return ce.value.blur(),ae.isActivated=!1,vue.nextTick()},select(){return ce.value.select(),ae.isActivated=!1,vue.nextTick()},showPanel:Cn,hidePanel:tt,updatePlacement:tn},Object.assign(pe,ve);const zn=(Dt,Kt)=>{const{festivalMethod:sn}=G;if(sn){const{datePanelType:xn}=ae,In=sn({type:xn,viewType:xn,date:Dt.date,$datePicker:pe}),Sn=In?XEUtils.isString(In)?{label:In}:In:{},Bn=Sn.extra?XEUtils.isString(Sn.extra)?{label:Sn.extra}:Sn.extra:null,Fn=[vue.h("span",{class:["vxe-date-picker--date-label",{"is-notice":Sn.notice}]},Bn&&Bn.label?[vue.h("span",`${Kt}`),vue.h("span",{class:["vxe-date-picker--date-label--extra",Bn.important?"is-important":"",Bn.className],style:Bn.style},XEUtils.toValueString(Bn.label))]:`${Kt}`)],ln=Sn.label;if(ln){const Nn=XEUtils.toValueString(ln).split(",");Fn.push(vue.h("span",{class:["vxe-date-picker--date-festival",Sn.important?"is-important":"",Sn.className],style:Sn.style},[Nn.length>1?vue.h("span",{class:["vxe-date-picker--date-festival--overlap",`overlap--${Nn.length}`]},Nn.map(fr=>vue.h("span",fr.substring(0,3)))):vue.h("span",{class:"vxe-date-picker--date-festival--label"},Nn[0].substring(0,3))]))}return Fn}return Kt},pr=()=>{const{multiple:Dt}=G,{datePanelType:Kt,datePanelValue:sn}=ae,xn=Ce.value,In=Ie.value,Sn=st.value,Bn=Oe.value,Fn="yyyyMMdd";return[vue.h("table",{class:`vxe-date-picker--date-${Kt}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("thead",[vue.h("tr",In.map(ln=>vue.h("th",ln.label)))]),vue.h("tbody",Sn.map(ln=>vue.h("tr",ln.map(Nn=>vue.h("td",{class:{"is--prev":Nn.isPrev,"is--current":Nn.isCurrent,"is--now":Nn.isNow,"is--next":Nn.isNext,"is--disabled":Ut(Nn),"is--selected":Dt?Bn.some(fr=>XEUtils.isDateSame(fr,Nn.date,Fn)):XEUtils.isDateSame(xn,Nn.date,Fn),"is--hover":XEUtils.isDateSame(sn,Nn.date,Fn)},onClick:()=>bn(Nn),onMouseenter:()=>gn(Nn)},zn(Nn,Nn.label))))))])]},_r=()=>{const{multiple:Dt}=G,{datePanelType:Kt,datePanelValue:sn}=ae,xn=Ce.value,In=Ve.value,Sn=Ke.value,Bn=Oe.value,Fn="yyyyMMdd";return[vue.h("table",{class:`vxe-date-picker--date-${Kt}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("thead",[vue.h("tr",In.map(ln=>vue.h("th",ln.label)))]),vue.h("tbody",Sn.map(ln=>{const Nn=Dt?ln.some(ar=>Bn.some(vr=>XEUtils.isDateSame(vr,ar.date,Fn))):ln.some(ar=>XEUtils.isDateSame(xn,ar.date,Fn)),fr=ln.some(ar=>XEUtils.isDateSame(sn,ar.date,Fn));return vue.h("tr",ln.map(ar=>vue.h("td",{class:{"is--prev":ar.isPrev,"is--current":ar.isCurrent,"is--now":ar.isNow,"is--next":ar.isNext,"is--disabled":Ut(ar),"is--selected":Nn,"is--hover":fr},onClick:()=>bn(ar),onMouseenter:()=>gn(ar)},zn(ar,ar.label))))}))])]},cr=()=>{const{multiple:Dt}=G,{datePanelType:Kt,datePanelValue:sn}=ae,xn=Ce.value,In=qe.value,Sn=Oe.value,Bn="yyyyMM";return[vue.h("table",{class:`vxe-date-picker--date-${Kt}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tbody",In.map(Fn=>vue.h("tr",Fn.map(ln=>vue.h("td",{class:{"is--prev":ln.isPrev,"is--current":ln.isCurrent,"is--now":ln.isNow,"is--next":ln.isNext,"is--disabled":Ut(ln),"is--selected":Dt?Sn.some(Nn=>XEUtils.isDateSame(Nn,ln.date,Bn)):XEUtils.isDateSame(xn,ln.date,Bn),"is--hover":XEUtils.isDateSame(sn,ln.date,Bn)},onClick:()=>bn(ln),onMouseenter:()=>gn(ln)},zn(ln,getI18n$e(`vxe.input.date.months.m${ln.month}`)))))))])]},mr=()=>{const{multiple:Dt}=G,{datePanelType:Kt,datePanelValue:sn}=ae,xn=Ce.value,In=Xe.value,Sn=Oe.value,Bn="yyyyq";return[vue.h("table",{class:`vxe-date-picker--date-${Kt}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tbody",In.map(Fn=>vue.h("tr",Fn.map(ln=>vue.h("td",{class:{"is--prev":ln.isPrev,"is--current":ln.isCurrent,"is--now":ln.isNow,"is--next":ln.isNext,"is--disabled":Ut(ln),"is--selected":Dt?Sn.some(Nn=>XEUtils.isDateSame(Nn,ln.date,Bn)):XEUtils.isDateSame(xn,ln.date,Bn),"is--hover":XEUtils.isDateSame(sn,ln.date,Bn)},onClick:()=>bn(ln),onMouseenter:()=>gn(ln)},zn(ln,getI18n$e(`vxe.input.date.quarters.q${ln.quarter}`)))))))])]},Er=()=>{const{multiple:Dt}=G,{datePanelType:Kt,datePanelValue:sn}=ae,xn=Ce.value,In=ze.value,Sn=Oe.value,Bn="yyyy";return[vue.h("table",{class:`vxe-date-picker--date-${Kt}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tbody",In.map(Fn=>vue.h("tr",Fn.map(ln=>vue.h("td",{class:{"is--prev":ln.isPrev,"is--current":ln.isCurrent,"is--now":ln.isNow,"is--next":ln.isNext,"is--disabled":Ut(ln),"is--selected":Dt?Sn.some(Nn=>XEUtils.isDateSame(Nn,ln.date,Bn)):XEUtils.isDateSame(xn,ln.date,Bn),"is--hover":XEUtils.isDateSame(sn,ln.date,Bn)},onClick:()=>bn(ln),onMouseenter:()=>gn(ln)},zn(ln,ln.year))))))])]},Tr=()=>{const{datePanelType:Dt}=ae;switch(Dt){case"week":return _r();case"month":return cr();case"quarter":return mr();case"year":return Er()}return pr()},Mr=()=>{const{multiple:Dt}=G,{datePanelType:Kt}=ae,sn=be.value,xn=Te.value,In=je.value;return[vue.h("div",{class:"vxe-date-picker--date-picker-header"},[vue.h("div",{class:"vxe-date-picker--date-picker-type-wrapper"},[Kt==="year"?vue.h("span",{class:"vxe-date-picker--date-picker-label"},In):vue.h("span",{class:"vxe-date-picker--date-picker-btn",onClick:kn},In)]),vue.h("div",{class:"vxe-date-picker--date-picker-btn-wrapper"},[vue.h("span",{class:["vxe-date-picker--date-picker-btn vxe-date-picker--date-picker-prev-btn",{"is--disabled":sn}],onClick:Tt},[vue.h("i",{class:"vxe-icon-caret-left"})]),vue.h("span",{class:"vxe-date-picker--date-picker-btn vxe-date-picker--date-picker-current-btn",onClick:gt},[vue.h("i",{class:"vxe-icon-dot"})]),vue.h("span",{class:["vxe-date-picker--date-picker-btn vxe-date-picker--date-picker-next-btn",{"is--disabled":xn}],onClick:Rt},[vue.h("i",{class:"vxe-icon-caret-right"})]),Dt&&ke.value?vue.h("span",{class:"vxe-date-picker--date-picker-btn vxe-date-picker--date-picker-confirm-btn"},[vue.h("button",{class:"vxe-date-picker--date-picker-confirm",type:"button",onClick:Ln},getI18n$e("vxe.button.confirm"))]):null])]),vue.h("div",{class:"vxe-date-picker--date-picker-body"},Tr())]},wr=()=>{const{datetimePanelValue:Dt}=ae,Kt=Ae.value,sn=dt.value,xn=$t.value,In=wt.value,Sn=mt.value,Bn=bt.value;return[vue.h("div",{class:"vxe-date-picker--time-picker-header"},[xn?vue.h("div",{class:"vxe-date-picker--time-picker-title"},Kt):vue.createCommentVNode(),vue.h("div",{class:"vxe-date-picker--time-picker-btn"},[vue.h("button",{class:"vxe-date-picker--time-picker-confirm",type:"button",onClick:Ln},getI18n$e("vxe.button.confirm"))])]),vue.h("div",{ref:he,class:"vxe-date-picker--time-picker-body"},[vue.h("ul",{class:"vxe-date-picker--time-picker-hour-list"},sn.map((Fn,ln)=>vue.h("li",{key:ln,class:{"is--selected":Dt&&Dt.getHours()===Fn.value},onClick:Nn=>Un(Nn,Fn)},Fn.label))),xn?vue.h("ul",{class:"vxe-date-picker--time-picker-minute-list"},In.map((Fn,ln)=>vue.h("li",{key:ln,class:{"is--selected":Dt&&Dt.getMinutes()===Fn.value},onClick:Nn=>Wn(Nn,Fn)},Fn.label))):vue.createCommentVNode(),xn&&Sn?vue.h("ul",{class:"vxe-date-picker--time-picker-second-list"},Bn.map((Fn,ln)=>vue.h("li",{key:ln,class:{"is--selected":Dt&&Dt.getSeconds()===Fn.value},onClick:Nn=>Yn(Nn,Fn)},Fn.label))):vue.createCommentVNode()])]},yr=()=>{const{type:Dt}=G,{initialized:Kt,isAniVisible:sn,visiblePanel:xn,panelPlacement:In,panelStyle:Sn}=ae,Bn=oe.value,Fn=Ee.value,ln=me.value,Nn=[];return Fn?(Dt==="datetime"?Nn.push(vue.h("div",{key:Dt,ref:ue,class:"vxe-date-picker--panel-layout-wrapper"},[vue.h("div",{class:"vxe-date-picker--panel-left-wrapper"},Mr()),vue.h("div",{class:"vxe-date-picker--panel-right-wrapper"},wr())])):Dt==="time"?Nn.push(vue.h("div",{key:Dt,ref:ue,class:"vxe-date-picker--panel-wrapper"},wr())):Nn.push(vue.h("div",{key:Dt||"default",ref:ue,class:"vxe-date-picker--panel-wrapper"},Mr())),vue.h(vue.Teleport,{to:"body",disabled:ln?!Kt:!0},[vue.h("div",{ref:de,class:["vxe-table--ignore-clear vxe-date-picker--panel",`type--${Dt}`,{[`size--${Bn}`]:Bn,"is--transfer":ln,"ani--leave":sn,"ani--enter":xn}],placement:In,style:Sn},Kt&&(xn||sn)?Nn:[])])):vue.createCommentVNode()},Vr=()=>{const{prefixIcon:Dt}=G,Kt=X.prefix;return Kt||Dt?vue.h("div",{class:"vxe-date-picker--prefix",onClick:Ye},[vue.h("div",{class:"vxe-date-picker--prefix-icon"},Kt?getSlotVNs(Kt({})):[vue.h("i",{class:Dt})])]):null},Lr=()=>{const{suffixIcon:Dt}=G,{inputValue:Kt}=ae,sn=X.suffix,xn=we.value,In=xe.value;return vue.h("div",{class:["vxe-date-picker--suffix",{"is--clear":In&&!xn&&!(Kt===""||XEUtils.eqNull(Kt))}]},[In?vue.h("div",{class:"vxe-date-picker--clear-icon",onClick:Je},[vue.h("i",{class:getIcon$8().INPUT_CLEAR})]):vue.createCommentVNode(),Kn(),sn||Dt?vue.h("div",{class:"vxe-date-picker--suffix-icon",onClick:it},sn?getSlotVNs(sn({})):[vue.h("i",{class:Dt})]):vue.createCommentVNode()])},Kn=()=>vue.h("div",{class:"vxe-date-picker--control-icon",onClick:yn},[vue.h("i",{class:["vxe-date-picker--date-picker-icon",getIcon$8().DATE_PICKER_DATE]})]),ir=()=>{const{className:Dt,type:Kt,align:sn,name:xn,autocomplete:In,autoComplete:Sn}=G,{inputValue:Bn,visiblePanel:Fn,isActivated:ln}=ae,Nn=oe.value,fr=we.value;if(ge.value)return vue.h("div",{ref:le,class:["vxe-date-picker--readonly",`type--${Kt}`,Dt]},Bn);const vr=Ot.value,Rr=It.value,Ar=yt.value,Nr=xe.value,br=Vr(),Dr=Lr();return vue.h("div",{ref:le,class:["vxe-date-picker",`type--${Kt}`,Dt,{[`size--${Nn}`]:Nn,[`is--${sn}`]:sn,"is--prefix":!!br,"is--suffix":!!Dr,"is--visible":Fn,"is--disabled":fr,"is--active":ln,"show--clear":Nr&&!fr&&!(Bn===""||XEUtils.eqNull(Bn))}],spellcheck:!1},[br||vue.createCommentVNode(),vue.h("div",{class:"vxe-date-picker--wrapper"},[vue.h("input",{ref:ce,class:"vxe-date-picker--inner",value:Bn,name:xn,type:Rr,placeholder:Ar,readonly:vr,disabled:fr,autocomplete:Sn||In,onKeydown:Yt,onKeyup:Jt,onWheel:fn,onClick:Mn,onInput:ht,onChange:et,onFocus:nt,onBlur:Xt})]),Dr||vue.createCommentVNode(),yr()])};return vue.watch(()=>G.modelValue,Dt=>{Vt(Dt),St()}),vue.watch(()=>G.type,()=>{Object.assign(ae,{inputValue:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),kt()}),vue.watch(Fe,()=>{Ee.value&&(ft(ae.datePanelValue),ae.inputValue=G.multiple?_e.value:ae.datePanelLabel)}),vue.nextTick(()=>{globalEvents$4.on(pe,"mousewheel",rr),globalEvents$4.on(pe,"mousedown",Gn),globalEvents$4.on(pe,"keydown",Xn),globalEvents$4.on(pe,"blur",Jn)}),vue.onUnmounted(()=>{globalEvents$4.off(pe,"mousewheel"),globalEvents$4.off(pe,"mousedown"),globalEvents$4.off(pe,"keydown"),globalEvents$4.off(pe,"blur")}),kt(),pe.renderVN=ir,pe},render(){return this.renderVN()}}),VxeDatePicker=Object.assign({},VxeDatePickerComponent,{install(G){G.component(VxeDatePickerComponent.name,VxeDatePickerComponent),G.component("VxeDateInput",VxeDatePickerComponent)}});dynamicApp.use(VxeDatePicker),VxeUI.component(VxeDatePickerComponent);const DatePicker=VxeDatePicker,VxeLoading=Object.assign({},VxeLoadingComponent,{install(G){G.component(VxeLoadingComponent.name,VxeLoadingComponent)}}),LoadingController={open(G){const H=Object.assign({},G);dynamicStore.globalLoading={modelValue:!0,text:H.text,icon:H.icon},checkDynamic()},close(){dynamicStore.globalLoading=null}};dynamicApp.use(VxeLoading),VxeUI.component(VxeLoadingComponent),VxeUI.loading=LoadingController;const Loading=VxeLoading,allActiveDrawers=[],VxeDrawerComponent=vue.defineComponent({name:"VxeDrawer",props:{modelValue:Boolean,id:String,title:String,loading:{type:Boolean,default:null},className:String,position:{type:[String,Object],default:()=>getConfig$8().drawer.position},lockView:{type:Boolean,default:()=>getConfig$8().drawer.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>getConfig$8().drawer.mask},maskClosable:{type:Boolean,default:()=>getConfig$8().drawer.maskClosable},escClosable:{type:Boolean,default:()=>getConfig$8().drawer.escClosable},cancelClosable:{type:Boolean,default:()=>getConfig$8().drawer.cancelClosable},confirmClosable:{type:Boolean,default:()=>getConfig$8().drawer.confirmClosable},showHeader:{type:Boolean,default:()=>getConfig$8().drawer.showHeader},showFooter:{type:Boolean,default:()=>getConfig$8().drawer.showFooter},showClose:{type:Boolean,default:()=>getConfig$8().drawer.showClose},content:[Number,String],showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>getConfig$8().drawer.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>getConfig$8().drawer.showConfirmButton},confirmButtonText:{type:String,default:()=>getConfig$8().drawer.confirmButtonText},destroyOnClose:{type:Boolean,default:()=>getConfig$8().drawer.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>getConfig$8().drawer.showTitleOverflow},width:[Number,String],height:[Number,String],resize:{type:Boolean,default:()=>getConfig$8().drawer.resize},zIndex:Number,transfer:{type:Boolean,default:()=>getConfig$8().drawer.transfer},padding:{type:Boolean,default:()=>getConfig$8().drawer.padding},size:{type:String,default:()=>getConfig$8().drawer.size||getConfig$8().size},beforeHideMethod:{type:Function,default:()=>getConfig$8().drawer.beforeHideMethod},slots:Object},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","resize"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.ref(),te=vue.ref(),ne=vue.ref(),re=vue.ref(),oe=vue.reactive({initialized:!1,visible:!1,contentVisible:!1,drawerZIndex:0}),ae={refElem:ee},se=vue.computed(()=>{switch(G.position){case"top":return"sb";case"bottom":return"st";case"left":return"wr"}return"wl"}),le={},ce={xID:K,props:G,context:H,reactData:oe,getRefMaps:()=>ae,getComputeMaps:()=>le},de=()=>te.value,ue=()=>{const{width:Te,height:Ae}=G,Re=de();return Re&&(Re.style.width=toCssUnit(Te),Re.style.height=toCssUnit(Ae)),vue.nextTick()},he=()=>{const{zIndex:Te}=G,{drawerZIndex:Ae}=oe;Te?oe.drawerZIndex=Te:Ae<getLastZIndex()&&(oe.drawerZIndex=nextZIndex())},fe=Te=>{const{beforeHideMethod:Ae}=G,{visible:Re}=oe,Fe={type:Te};return Re&&Promise.resolve(Ae?Ae(Fe):null).then(Be=>{XEUtils.isError(Be)||(oe.contentVisible=!1,XEUtils.remove(allActiveDrawers,je=>je===ce),we("before-hide",Fe,null),setTimeout(()=>{oe.visible=!1,Q("update:modelValue",!1),we("hide",Fe,null)},200))}).catch(Be=>Be),vue.nextTick()},pe=Te=>{const Ae="close";we(Ae,{type:Ae},Te),fe(Ae)},ve=Te=>{const{confirmClosable:Ae}=G,Re="confirm";we(Re,{type:Re},Te),Ae&&fe(Re)},me=Te=>{const{cancelClosable:Ae}=G,Re="cancel";we(Re,{type:Re},Te),Ae&&fe(Re)},ge=()=>{const{showFooter:Te}=G,{initialized:Ae,visible:Re}=oe;return Ae||(oe.initialized=!0),Re||(oe.visible=!0,oe.contentVisible=!1,he(),allActiveDrawers.push(ce),setTimeout(()=>{ue(),oe.contentVisible=!0,vue.nextTick(()=>{if(Te){const je=ne.value,Le=re.value,Ue=je||Le;Ue&&Ue.focus()}const Be={type:""};Q("update:modelValue",!0),we("show",Be,null)})},10)),vue.nextTick()},we=(Te,Ae,Re)=>{Q(Te,createEvent$3(Re,{$drawer:ce},Ae))},$e={dispatchEvent:we,open:ge,close(){return fe("close")},getBox:de},Ee=Te=>{const Ae=ee.value;G.maskClosable&&Te.target===Ae&&fe("mask")},xe=Te=>{if(globalEvents$4.hasKey(Te,GLOBAL_EVENT_KEYS$3.ESCAPE)){const Re=XEUtils.max(allActiveDrawers,Fe=>Fe.reactData.drawerZIndex);Re&&setTimeout(()=>{if(Re===ce&&Re.props.escClosable){const Fe="exit";we("close",{type:Fe},Te),fe(Fe)}},10)}},Me=()=>{const{drawerZIndex:Te}=oe;allActiveDrawers.some(Ae=>Ae.reactData.visible&&Ae.reactData.drawerZIndex>Te)&&he()},De=Te=>{Te.preventDefault();const{visibleHeight:Ae,visibleWidth:Re}=getDomNode(),Fe=0,je=Te.target.getAttribute("type"),Le=0,Ue=0,Ie=Re,Ve=Ae,ze=de(),We=document.onmousemove,Xe=document.onmouseup,He=ze.clientWidth,qe=ze.clientHeight,at=Te.clientX,st=Te.clientY,Ke=ze.offsetTop,dt=ze.offsetLeft,wt={type:"resize"};document.onmousemove=$t=>{$t.preventDefault();let mt,bt,Ot,It;switch(je){case"wl":mt=at-$t.clientX,Ot=mt+He,dt-mt>Fe&&Ot>Le&&(ze.style.width=`${Ot<Ie?Ot:Ie}px`);break;case"st":bt=st-$t.clientY,It=qe+bt,Ke-bt>Fe&&It>Ue&&(ze.style.height=`${It<Ve?It:Ve}px`);break;case"wr":mt=$t.clientX-at,Ot=mt+He,dt+Ot+Fe<Re&&Ot>Le&&(ze.style.width=`${Ot<Ie?Ot:Ie}px`);break;case"sb":bt=$t.clientY-st,It=bt+qe,Ke+It+Fe<Ae&&It>Ue&&(ze.style.height=`${It<Ve?It:Ve}px`);break}ze.className=ze.className.replace(/\s?is--drag/,"")+" is--drag",we("resize",wt,$t)},document.onmouseup=()=>{document.onmousemove=We,document.onmouseup=Xe,setTimeout(()=>{ze.className=ze.className.replace(/\s?is--drag/,"")},50)}};Object.assign(ce,$e,{});const Oe=()=>{const{slots:Te={},showClose:Ae,title:Re}=G,Fe=X.title||Te.title,Be=X.corner||Te.corner;return[vue.h("div",{class:"vxe-drawer--header-title"},Fe?getSlotVNs(Fe({$drawer:ce})):Re?getFuncText(Re):getI18n$e("vxe.alert.title")),vue.h("div",{class:"vxe-drawer--header-right"},[Be?vue.h("div",{class:"vxe-drawer--corner-wrapper"},getSlotVNs(Be({$drawer:ce}))):renderEmptyElement$3(ce),Ae?vue.h("div",{class:["vxe-drawer--close-btn","trigger--btn"],title:getI18n$e("vxe.drawer.close"),onClick:pe},[vue.h("i",{class:getIcon$8().DRAWER_CLOSE})]):renderEmptyElement$3(ce)])]},Ne=()=>{const{slots:Te={},showTitleOverflow:Ae}=G,Re=X.header||Te.header;return G.showHeader?vue.h("div",{class:["vxe-drawer--header",{"is--ellipsis":Ae}]},Re?getSlotVNs(Re({$drawer:ce})):Oe()):renderEmptyElement$3(ce)},_e=()=>{const{slots:Te={},content:Ae}=G,Re=X.default||Te.default,Fe=X.left||Te.left,Be=X.right||Te.right;return vue.h("div",{class:"vxe-drawer--body"},[Fe?vue.h("div",{class:"vxe-drawer--body-left"},getSlotVNs(Fe({$drawer:ce}))):renderEmptyElement$3(ce),vue.h("div",{class:"vxe-drawer--body-default"},[vue.h("div",{class:"vxe-drawer--content"},Re?getSlotVNs(Re({$drawer:ce})):getFuncText(Ae))]),Be?vue.h("div",{class:"vxe-drawer--body-right"},getSlotVNs(Be({$drawer:ce}))):renderEmptyElement$3(ce),vue.h(VxeLoading,{class:"vxe-drawer--loading",modelValue:G.loading})])},ye=()=>{const{slots:Te={},showCancelButton:Ae,showConfirmButton:Re,loading:Fe}=G,Be=X.leftfoot||Te.leftfoot,je=X.rightfoot||Te.rightfoot,Le=[];return Ae&&Le.push(vue.h(VxeButtonComponent,{key:1,ref:re,content:G.cancelButtonText||getI18n$e("vxe.button.cancel"),onClick:me})),Re&&Le.push(vue.h(VxeButtonComponent,{key:2,ref:ne,loading:Fe,status:"primary",content:G.confirmButtonText||getI18n$e("vxe.button.confirm"),onClick:ve})),vue.h("div",{class:"vxe-drawer--footer-wrapper"},[vue.h("div",{class:"vxe-drawer--footer-left"},Be?getSlotVNs(Be({$drawer:ce})):[]),vue.h("div",{class:"vxe-drawer--footer-right"},je?getSlotVNs(je({$drawer:ce})):Le)])},Ce=()=>{const{slots:Te={}}=G,Ae=X.footer||Te.footer;return G.showFooter?vue.h("div",{class:"vxe-drawer--footer"},Ae?getSlotVNs(Ae({$drawer:ce})):[ye()]):renderEmptyElement$3(ce)},be=()=>{const{slots:Te={},className:Ae,position:Re,loading:Fe,lockScroll:Be,padding:je,lockView:Le,mask:Ue,resize:Ie,destroyOnClose:Ve}=G,{initialized:ze,contentVisible:We,visible:Xe}=oe,He=X.aside||Te.aside,qe=Z.value,at=se.value;return vue.h(vue.Teleport,{to:"body",disabled:G.transfer?!ze:!0},[vue.h("div",{ref:ee,class:["vxe-drawer--wrapper",`pos--${Re}`,Ae||"",{[`size--${qe}`]:qe,"is--padding":je,"lock--scroll":Be,"lock--view":Le,"is--resize":Ie,"is--mask":Ue,"is--visible":We,"is--active":Xe,"is--loading":Fe}],style:{zIndex:oe.drawerZIndex},onClick:Ee},[vue.h("div",{ref:te,class:"vxe-drawer--box",onMousedown:Me},[He?vue.h("div",{class:"vxe-drawer--aside"},getSlotVNs(He({$drawer:ce}))):renderEmptyElement$3(ce),vue.h("div",{class:"vxe-drawer--container"},!oe.initialized||Ve&&!oe.visible?[]:[Ne(),_e(),Ce(),Ie?vue.h("span",{class:"vxe-drawer--resize"},[vue.h("span",{class:`${at}-resize`,type:at,onMousedown:De})]):renderEmptyElement$3(ce)])])])])};return vue.watch(()=>G.width,ue),vue.watch(()=>G.height,ue),vue.watch(()=>G.modelValue,Te=>{Te?ge():fe("model")}),vue.onMounted(()=>{vue.nextTick(()=>{G.modelValue&&ge(),ue()}),G.escClosable&&globalEvents$4.on(ce,"keydown",xe)}),vue.onUnmounted(()=>{globalEvents$4.off(ce,"keydown")}),vue.provide("$xeDrawer","$xeDrawer"),ce.renderVN=be,ce},render(){return this.renderVN()}});function handleDrawer(G){return checkDynamic(),new Promise(H=>{if(G&&G.id&&allActiveDrawers.some(X=>X.props.id===G.id))H("exist");else{const X=G.onHide,Q=Object.assign(G,{key:XEUtils.uniqueId(),modelValue:!0,onHide(K){const Z=dynamicStore.drawers;X&&X(K),dynamicStore.drawers=Z.filter(ee=>ee.key!==Q.key),H(K.type)}});dynamicStore.drawers.push(Q)}})}function getDrawer(G){return XEUtils.find(allActiveDrawers,H=>H.props.id===G)}function closeDrawer(G){const H=G?[getDrawer(G)]:allActiveDrawers,X=[];return H.forEach(Q=>{Q&&X.push(Q.close())}),Promise.all(X)}function openDrawer(G){return handleDrawer(Object.assign({},G))}const DrawerController={get:getDrawer,close:closeDrawer,open:openDrawer},VxeDrawer=Object.assign(VxeDrawerComponent,{install:function(G){G.component(VxeDrawerComponent.name,VxeDrawerComponent)}});VxeUI.drawer=DrawerController,dynamicApp.use(VxeDrawer),VxeUI.component(VxeDrawerComponent);const Drawer=VxeDrawer,VxeEmptyComponent=vue.defineComponent({name:"VxeEmpty",props:{imageUrl:String,imageStyle:Object,icon:String,status:String,content:[String,Number]},emits:[],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.ref(),Z=vue.reactive({}),ee={refElem:K},te={},ne={xID:Q,props:G,context:H,reactData:Z,getRefMaps:()=>ee,getComputeMaps:()=>te};Object.assign(ne,{dispatchEvent:(le,ce,de)=>{X(le,createEvent$3(de,{$empty:ne},ce))}},{});const se=()=>{const{imageUrl:le,imageStyle:ce,icon:de,status:ue,content:he}=G;return vue.h("div",{ref:K,class:["vxe-empty",{[`theme--${ue}`]:ue}]},[vue.h("div",{class:"vxe-empty--inner"},[le?vue.h("div",{class:"vxe-empty--img-wrapper"},[vue.h("img",{src:le,style:ce})]):vue.h("div",{class:"vxe-empty--icon-wrapper"},[vue.h("i",{class:de||getIcon$8().EMPTY_DEFAULT})]),vue.h("div",{class:"vxe-empty--content-wrapper"},`${he||getI18n$e("vxe.empty.defText")}`)])])};return ne.renderVN=se,ne},render(){return this.renderVN()}}),VxeEmpty=Object.assign({},VxeEmptyComponent,{install(G){G.component(VxeEmptyComponent.name,VxeEmptyComponent)}});dynamicApp.use(VxeEmpty),VxeUI.component(VxeEmptyComponent);const Empty=VxeEmpty;class ItemInfo{constructor(H,X){Object.assign(this,{id:XEUtils.uniqueId("item_"),title:X.title,field:X.field,span:X.span,align:X.align,verticalAlign:X.verticalAlign,titleBackground:X.titleBackground,titleBold:X.titleBold,titleAlign:X.titleAlign,titleWidth:X.titleWidth,titleColon:X.titleColon,vertical:X.vertical,padding:X.padding,titleAsterisk:X.titleAsterisk,titlePrefix:X.titlePrefix,titleSuffix:X.titleSuffix,titleOverflow:X.titleOverflow,showTitle:X.showTitle,resetValue:X.resetValue,visibleMethod:X.visibleMethod,visible:X.visible,showContent:X.showContent,folding:X.folding,collapseNode:X.collapseNode,className:X.className,contentClassName:X.contentClassName,contentStyle:X.contentStyle,titleClassName:X.titleClassName,titleStyle:X.titleStyle,itemRender:X.itemRender,rules:X.rules,showError:!1,errRule:null,slots:X.slots,children:[]})}update(H,X){this[H]=X}}function isFormItem(G){return G instanceof ItemInfo}function createItem(G,H){return isFormItem(H)?H:new ItemInfo(G,H)}function handleFieldOrItem(G,H){return H?XEUtils.isString(H)?G.getItemByField(H):H:null}function isHiddenItem(G,H){const{reactData:X}=G,{collapseAll:Q}=X,{folding:K,visible:Z}=H;return Z===!1||K&&Q}function isActiveItem(G,H){let{visibleMethod:X,itemRender:Q,visible:K,field:Z}=H;if(K===!1)return K;const ee=isEnableConf(Q)?renderer$c.get(Q.name):null,te=ee?ee.formItemVisibleMethod||ee.itemVisibleMethod:null;if(!X&&te&&(X=te),!X)return!0;const ne=G.props,{data:re}=ne;return X({data:re,field:Z,property:Z,item:H,$form:G,$grid:G.xegrid})}function watchItem(G,H){Object.keys(G).forEach(X=>{vue.watch(()=>G[X],Q=>{H.update(X,Q)})})}function assembleItem(G,H,X,Q){const{reactData:K}=G,Z=G.props,{customLayout:ee}=Z,{staticItems:te}=K;if(ee)te.some(ne=>ne.id===X.id)||te.push(X);else if(H){const ne=H.parentNode,re=Q?Q.formItem:null,oe=re?re.children:te;ne&&(oe.splice(XEUtils.arrayIndexOf(ne.children,H),0,X),K.staticItems=te.slice(0))}}function destroyItem(G,H){const{reactData:X}=G,{staticItems:Q}=X,K=XEUtils.findIndexOf(Q,Z=>Z.id===H.id);K>-1&&Q.splice(K,1),X.staticItems=Q.slice(0)}const VxeIconComponent=vue.defineComponent({name:"VxeIcon",props:{name:String,className:String,roll:Boolean,status:String,size:{type:String,default:()=>getConfig$8().icon.size||getConfig$8().size}},emits:["click"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),{computeSize:K}=useSize(G),Z={xID:Q,props:G,context:H},ee=ae=>{X("click",createEvent$3(ae,{}))};Object.assign(Z,{dispatchEvent:(ae,se,le)=>{X(ae,createEvent$3(le,{$icon:Z},se))}},{});const oe=()=>{const{name:ae,roll:se,status:le,className:ce}=G,de=K.value;return vue.h("i",{class:["vxe-icon",`vxe-icon-${ae}`,`${ce||""}`,{[`size--${de}`]:de,[`theme--${le}`]:le,roll:se}],onClick:ee})};return Z.renderVN=oe,Z},render(){return this.renderVN()}});function renderPrefixIcon(G){return vue.h("span",{class:"vxe-form--item-title-prefix"},[vue.h(VxeIconComponent,{class:G.icon||getIcon$8().FORM_PREFIX,status:G.iconStatus})])}function renderSuffixIcon(G){return vue.h("span",{class:"vxe-form--item-title-suffix"},[vue.h(VxeIconComponent,{class:G.icon||getIcon$8().FORM_SUFFIX,status:G.iconStatus})])}const getItemClass=(G,H,X)=>{const Q=G.props,K=G.reactData,{data:Z,rules:ee,readonly:te,disabled:ne,span:re,titleBackground:oe,titleBold:ae,titleColon:se,titleAsterisk:le,vertical:ce,padding:de}=Q,{collapseAll:ue}=K,{folding:he,field:fe,itemRender:pe,showError:ve,className:me,vertical:ge,padding:we,children:$e,showContent:Ee}=H,xe=isEnableConf(pe)?renderer$c.get(pe.name):null,Me=xe?xe.formItemClassName||xe.itemClassName:"",De=H.span||re,ke=XEUtils.eqNull(we)?de:we,Oe=XEUtils.eqNull(ge)?ce:ge,Ne=XEUtils.eqNull(H.titleBackground)?oe:H.titleBackground,_e=XEUtils.eqNull(H.titleBold)?ae:H.titleBold,ye=XEUtils.eqNull(H.titleColon)?se:H.titleColon,Ce=XEUtils.eqNull(H.titleAsterisk)?le:H.titleAsterisk,be={data:Z,disabled:ne,readonly:te,field:fe,property:fe,item:H,$form:G,$grid:G.xegrid},Te=$e&&$e.length>0;let Ae=!1,Re=!1;if(!te&&ee){const Fe=ee[fe];Fe&&Fe.length&&(Re=!0,Ae=Fe.some(Be=>Be.required))}return[X||Te?"vxe-form--group":"","vxe-form--item",H.id,De?`vxe-form--item-col_${De} is--span`:"",me?XEUtils.isFunction(me)?me(be):me:"",Me?XEUtils.isFunction(Me)?Me(be):Me:"",{"is--colon":ye,"is--tbg":Ne,"is--bold":_e,"is--padding":ke,"is--vertical":Oe,"is--asterisk":Ce,"hide--content":Ee===!1,"is--valid":Re,"is--required":Ae,"is--hidden":he&&ue,"is--active":isActiveItem(G,H),"is--error":ve}]},getItemContentClass=(G,H,X)=>{const Q=G.props,{data:K,readonly:Z,disabled:ee,align:te,verticalAlign:ne}=Q,{field:re,itemRender:oe,contentClassName:ae,children:se}=H,le=isEnableConf(oe)?renderer$c.get(oe.name):null,ce=le?le.formItemContentClassName||le.itemContentClassName:"",de=XEUtils.eqNull(H.align)?te:H.align,ue=XEUtils.eqNull(H.verticalAlign)?ne:H.verticalAlign,he={data:K,disabled:ee,readonly:Z,field:re,property:re,item:H,$form:G,$grid:G.xegrid},fe=se&&se.length>0;return[X||fe?"vxe-form--group-content vxe-form--item-row":"","vxe-form--item-content",de?`align--${de}`:"",ue?`vertical-align--${ue}`:"",ce?XEUtils.isFunction(ce)?ce(he):ce:"",ae?XEUtils.isFunction(ae)?ae(he):ae:""]};function renderTitle(G,H,X){const Q=G.props,{data:K,readonly:Z,disabled:ee,titleAlign:te,titleWidth:ne,titleOverflow:re,vertical:oe}=Q,{slots:ae,title:se,field:le,itemRender:ce,titleOverflow:de,vertical:ue,showTitle:he,titleClassName:fe,titleStyle:pe,titlePrefix:ve,titleSuffix:me,children:ge,showContent:we}=H,{computeTooltipOpts:$e}=G.getComputeMaps(),Ee=$e.value,xe=isEnableConf(ce)?renderer$c.get(ce.name):null,Me=xe?xe.formItemTitleClassName||xe.itemTitleClassName:"",De=xe?xe.formItemTitleStyle||xe.itemTitleStyle:null,ke=XEUtils.eqNull(ue)?oe:ue,Oe=XEUtils.eqNull(H.titleAlign)?te:H.titleAlign,Ne=ke?null:XEUtils.eqNull(H.titleWidth)?ne:H.titleWidth,_e=XEUtils.eqNull(de)?re:de,ye=_e==="ellipsis",Ce=_e==="title",be=_e===!0||_e==="tooltip",Te=Ce||be||ye,Ae={data:K,disabled:ee,readonly:Z,field:le,property:le,item:H,$form:G,$grid:G.xegrid},Re=ae?ae.title:null,Fe=ae?ae.extra:null,Be=he!==!1&&(se||Re),je=ge&&ge.length>0,Le=[];ve&&Le.push(ve.content||ve.message?vue.h(VxeTooltipComponent,Object.assign(Object.assign(Object.assign({},Ee),ve),{content:getFuncText(ve.content||ve.message)}),{default:()=>renderPrefixIcon(ve)}):renderPrefixIcon(ve));const Ue=xe?xe.renderFormItemTitle||xe.renderItemTitle:null;Le.push(vue.h("span",{class:"vxe-form--item-title-label"},Re?G.callSlot(Re,Ae):Ue?getSlotVNs(Ue(ce,Ae)):getFuncText(H.title)));const Ie=[];me&&Ie.push(me.content||me.message?vue.h(VxeTooltipComponent,Object.assign(Object.assign(Object.assign({},Ee),me),{content:getFuncText(me.content||me.message)}),{default:()=>renderSuffixIcon(me)}):renderSuffixIcon(me));const Ve=be?{onMouseenter(ze){G.triggerTitleTipEvent(ze,Ae)},onMouseleave:G.handleTitleTipLeaveEvent}:{};return Be?vue.h("div",Object.assign({class:[X||je?"vxe-form--group-title":"","vxe-form--item-title",Oe?`align--${Oe}`:"",Te?"is--ellipsis":"",Me?XEUtils.isFunction(Me)?Me(Ae):Me:"",fe?XEUtils.isFunction(fe)?fe(Ae):fe:""],style:Object.assign({},XEUtils.isFunction(De)?De(Ae):De,XEUtils.isFunction(pe)?pe(Ae):pe,Ne&&we!==!1?{width:toCssUnit(Ne)}:null),title:Ce?getFuncText(se):null},Ve),[vue.h("div",{class:"vxe-form--item-title-content"},Le),vue.h("div",{class:"vxe-form--item-title-postfix"},Ie),Fe?vue.h("div",{class:"vxe-form--item-title-extra"},G.callSlot(Fe,Ae)):vue.createCommentVNode()]):vue.createCommentVNode()}const renderItemContent=(G,H)=>{const X=G.props,Q=G.reactData,{computeCollapseOpts:K,computeValidOpts:Z}=G.getComputeMaps(),{data:ee,readonly:te,disabled:ne}=X,{collapseAll:re}=Q,{slots:oe,field:ae,itemRender:se,collapseNode:le,errRule:ce}=H,de=oe?oe.default:null,ue=oe?oe.valid:null,he=K.value,fe=Z.value,pe=isEnableConf(se)?renderer$c.get(se.name):null,ve={data:ee,disabled:ne,readonly:te,field:ae,property:ae,item:H,$form:G,$grid:G.xegrid};let me=[];const ge=pe?pe.renderFormItemContent||pe.renderItemContent:null;if(de?me=G.callSlot(de,ve):ge?me=getSlotVNs(ge(se,ve)):ae&&(me=[`${XEUtils.get(ee,ae)}`]),le&&me.push(vue.h("div",{class:"vxe-form--item-trigger-node",onClick:G.toggleCollapseEvent},[vue.h("span",{class:"vxe-form--item-trigger-text"},re?he.unfoldButtonText||getI18n$e("vxe.form.unfolding"):he.foldButtonText||getI18n$e("vxe.form.folding")),vue.h("i",{class:["vxe-form--item-trigger-icon",re?he.foldIcon||getIcon$8().FORM_FOLDING:he.unfoldIcon||getIcon$8().FORM_UNFOLDING]})])),ce&&fe.showMessage){const we=Object.assign(Object.assign({},ve),{rule:ce});me.push(vue.h("div",{class:"vxe-form-item--valid-error-tip",style:ce.maxWidth?{width:toCssUnit(ce.maxWidth)}:null},[vue.h("div",{class:`vxe-form-item--valid-error-wrapper vxe-form-item--valid-error-theme-${fe.theme||"normal"}`},[ue?G.callSlot(ue,we):[vue.h("span",{class:"vxe-form--item--valid-error-msg"},ce.content||ce.message)]])]))}return vue.h("div",{class:"vxe-form--item-inner"},me)},VxeFormConfigItem=vue.defineComponent({name:"VxeFormConfigItem",props:{itemConfig:Object},setup(G){const H=vue.inject("$xeForm",{}),X={itemConfig:G.itemConfig};vue.provide("xeFormItemInfo",X);const Q=(ee,te)=>{const ne=ee.props,{data:re,readonly:oe,disabled:ae}=ne,{visible:se,field:le,itemRender:ce,contentStyle:de,children:ue,showContent:he}=te,fe=isEnableConf(ce)?renderer$c.get(ce.name):null,pe=fe?fe.formItemStyle||fe.itemStyle:null,ve=fe?fe.formItemContentStyle||fe.itemContentStyle:null,me={data:re,disabled:ae,readonly:oe,field:le,property:le,item:te,$form:ee,$grid:ee.xegrid},ge=ue&&ue.length>0;return se===!1?vue.createCommentVNode():vue.h("div",{key:te.id,class:getItemClass(ee,te),style:XEUtils.isFunction(pe)?pe(me):pe},[renderTitle(ee,te),he===!1?vue.createCommentVNode():vue.h("div",{class:getItemContentClass(ee,te),style:Object.assign({},XEUtils.isFunction(ve)?ve(me):ve,XEUtils.isFunction(de)?de(me):de)},ge?ue.map(we=>Q(ee,we)):[renderItemContent(ee,te)])])},Z={renderVN:()=>Q(H,G.itemConfig)};return vue.provide("$xeFormGroup",null),Z},render(){return this.renderVN()}});class Rule{constructor(H){Object.assign(this,{$options:H,required:H.required,min:H.min,max:H.min,type:H.type,pattern:H.pattern,validator:H.validator,trigger:H.trigger,maxWidth:H.maxWidth})}get content(){return getFuncText(this.$options.content||this.$options.message)}get message(){return this.content}}const validErrorRuleValue=(G,H)=>{const{type:X,min:Q,max:K,pattern:Z}=G,ee=X==="number",te=ee?XEUtils.toNumber(H):XEUtils.getSize(H);return!!(ee&&isNaN(H)||!XEUtils.eqNull(Q)&&te<XEUtils.toNumber(Q)||!XEUtils.eqNull(K)&&te>XEUtils.toNumber(K)||Z&&!(XEUtils.isRegExp(Z)?Z:new RegExp(Z)).test(H))},VxeFormComponent=vue.defineComponent({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>getConfig$8().form.size||getConfig$8().size},span:{type:[String,Number],default:()=>getConfig$8().form.span},align:{type:String,default:()=>getConfig$8().form.align},verticalAlign:{type:String,default:()=>getConfig$8().form.verticalAlign},border:{type:Boolean,default:()=>getConfig$8().form.border},titleBackground:{type:Boolean,default:()=>getConfig$8().form.titleBackground},titleBold:{type:Boolean,default:()=>getConfig$8().form.titleBold},titleAlign:{type:String,default:()=>getConfig$8().form.titleAlign},titleWidth:{type:[String,Number],default:()=>getConfig$8().form.titleWidth},titleColon:{type:Boolean,default:()=>getConfig$8().form.titleColon},titleAsterisk:{type:Boolean,default:()=>getConfig$8().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>getConfig$8().form.titleOverflow},vertical:{type:Boolean,default:()=>getConfig$8().form.vertical},padding:{type:Boolean,default:()=>getConfig$8().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>getConfig$8().form.preventSubmit},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:()=>getConfig$8().form.customLayout}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.reactive({collapseAll:G.collapseStatus,staticItems:[],formItems:[]}),te=vue.reactive({meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1}});vue.provide("xeFormItemInfo",null);const ne=vue.inject("$xeGrid",null),re=vue.ref(),oe=vue.ref();let ae={};const se=vue.computed(()=>Object.assign({},getConfig$8().form.validConfig,G.validConfig)),le=vue.computed(()=>Object.assign({},getConfig$8().tooltip,getConfig$8().form.tooltipConfig,G.tooltipConfig)),ce=vue.computed(()=>Object.assign({},getConfig$8().form.collapseConfig,G.collapseConfig)),de={refElem:re},ue={computeSize:Z,computeValidOpts:se,computeTooltipOpts:le,computeCollapseOpts:ce},he={xID:K,props:G,context:H,reactData:ee,xegrid:ne,getRefMaps:()=>de,getComputeMaps:()=>ue},fe=(Ie,Ve)=>Ie&&(XEUtils.isString(Ie)&&(Ie=X[Ie]||null),XEUtils.isFunction(Ie))?getSlotVNs(Ie(Ve)):[],pe=Ie=>(Ie.length&&process.env.NODE_ENV==="development"&&Ie.forEach(Ve=>{Ve.slots&&XEUtils.each(Ve.slots,ze=>{XEUtils.isFunction(ze)||X[ze]||errLog("vxe.error.notSlot",[ze])})}),ee.staticItems=XEUtils.mapTree(Ie,Ve=>createItem(he,Ve),{children:"children"}),vue.nextTick()),ve=()=>{const Ie=[];return XEUtils.eachTree(ee.formItems,Ve=>{Ie.push(Ve)},{children:"children"}),Ie},me=Ie=>{const Ve=XEUtils.findTree(ee.formItems,ze=>ze.field===Ie,{children:"children"});return Ve?Ve.item:null},ge=()=>ee.collapseAll,we=()=>{const Ie=!ge();return ee.collapseAll=Ie,Q("update:collapseStatus",Ie),vue.nextTick()},$e=Ie=>{we();const Ve=ge();ae.dispatchEvent("toggle-collapse",{status:Ve,collapse:Ve,data:G.data},Ie),ae.dispatchEvent("collapse",{status:Ve,collapse:Ve,data:G.data},Ie)},Ee=Ie=>{if(Ie){let Ve=Ie;XEUtils.isArray(Ie)||(Ve=[Ie]),Ve.forEach(ze=>{if(ze){const We=handleFieldOrItem(he,ze);We&&(We.showError=!1)}})}else ve().forEach(Ve=>{Ve.showError=!1});return vue.nextTick()},xe=(Ie,Ve)=>{const{field:ze,resetValue:We}=Ie,Xe=XEUtils.get(Ve,ze);if(XEUtils.isFunction(We))return We({field:ze,item:Ie,data:Ve,$form:he,$grid:he.xegrid});if(We===null&&XEUtils.isArray(Xe))return[]},Me=()=>{const{data:Ie}=G,Ve=ve();return Ie&&Ve.forEach(ze=>{const{field:We,itemRender:Xe}=ze;if(isEnableConf(Xe)){const He=renderer$c.get(Xe.name),qe=He?He.formItemResetMethod||He.itemResetMethod:null;He&&qe?qe({data:Ie,field:We,property:We,item:ze,$form:he,$grid:he.xegrid}):We&&XEUtils.set(Ie,We,xe(ze,Ie))}}),Ee()},De=Ie=>{Ie.preventDefault(),Me(),ae.dispatchEvent("reset",{data:G.data},Ie)},ke=Ie=>{const Ve=re.value;if(Ve)for(let ze=0;ze<Ie.length;ze++){const We=Ie[ze],Xe=me(We);if(Xe&&isEnableConf(Xe.itemRender)){const{itemRender:He}=Xe,qe=renderer$c.get(He.name);ze||scrollToView(Ve.querySelector(`.${Xe.id}`));let at=null;const st=He.autoFocus||He.autofocus||(qe?qe.formItemAutoFocus:null);if(XEUtils.isFunction(st)?at=st({$form:he,$grid:ne,item:Xe,data:G.data,field:We}):st===!0?at=Ve.querySelector(`.${Xe.id} input,textarea`):st&&(at=Ve.querySelector(`.${Xe.id} ${st}`)),at){at.focus();break}}}},Oe=(Ie,Ve,ze)=>{const{data:We,rules:Xe}=G,He={};return XEUtils.isArray(Ve)||(Ve=[Ve]),Promise.all(Ve.map(qe=>{const at=[],st=[];if(qe&&Xe){const Ke=XEUtils.get(Xe,qe);if(Ke){const dt=XEUtils.isUndefined(ze)?XEUtils.get(We,qe):ze;Ke.forEach(wt=>{const{type:$t,trigger:mt,required:bt,validator:Ot}=wt;if(Ie==="all"||!mt||Ie===mt)if(Ot){const It={itemValue:dt,rule:wt,rules:Ke,data:We,field:qe,property:qe,$form:he};let yt;if(XEUtils.isString(Ot)){const Et=validators$2.get(Ot);if(Et){const Vt=Et.formItemValidatorMethod||Et.itemValidatorMethod;Vt?yt=Vt(It):process.env.NODE_ENV==="development"&&warnLog("vxe.error.notValidators",[Ot])}else process.env.NODE_ENV==="development"&&errLog("vxe.error.notValidators",[Ot])}else yt=Ot(It);yt&&(XEUtils.isError(yt)?at.push(new Rule({type:"custom",trigger:mt,content:yt.message,rule:new Rule(wt)})):yt.catch&&st.push(yt.catch(Et=>{at.push(new Rule({type:"custom",trigger:mt,content:Et?Et.message:wt.content||wt.message,rule:new Rule(wt)}))})))}else{const It=$t==="array",yt=XEUtils.isArray(dt);let Et=!0;It||yt?Et=!yt||!dt.length:XEUtils.isString(dt)?Et=eqEmptyValue(dt.trim()):Et=eqEmptyValue(dt),(bt?Et||validErrorRuleValue(wt,dt):!Et&&validErrorRuleValue(wt,dt))&&at.push(new Rule(wt))}})}}return Promise.all(st).then(()=>{at.length&&(He[qe]=at.map(Ke=>({$form:he,rule:Ke,data:We,field:qe,property:qe})))})})).then(()=>{if(!XEUtils.isEmpty(He))return Promise.reject(He)})},Ne=(Ie,Ve,ze)=>{const{data:We,rules:Xe}=G,He=se.value,qe={},at=[],st=[];return clearTimeout(te.meTimeout),We&&Xe?(Ie.forEach(Ke=>{const{field:dt}=Ke;dt&&!isHiddenItem(he,Ke)&&isActiveItem(he,Ke)&&st.push(Oe(Ve||"all",dt).then(()=>{Ke.errRule=null}).catch(wt=>{const $t=wt[dt];return qe[dt]||(qe[dt]=[]),qe[dt].push($t),at.push(dt),Ke.errRule=$t[0].rule,Promise.reject($t)}))}),Promise.all(st).then(()=>{ze&&ze()}).catch(()=>new Promise(Ke=>{te.meTimeout=window.setTimeout(()=>{Ie.forEach(dt=>{dt.errRule&&(dt.showError=!0)})},20),He.autoPos!==!1&&vue.nextTick(()=>{ke(at)}),ze?(ze(qe),Ke()):Ke(qe)}))):(ze&&ze(),Promise.resolve())},_e=Ie=>{const{readonly:Ve}=G;return Ee(),Ve?vue.nextTick():Ne(ve(),"",Ie)},ye=(Ie,Ve)=>{const{readonly:ze}=G;if(ze)return vue.nextTick();let We=[];return Ie&&(XEUtils.isArray(Ie)?We=Ie:We=[Ie]),Ne(We.map(Xe=>handleFieldOrItem(he,Xe)),"",Ve)},Ce=Ie=>{const{readonly:Ve}=G;if(Ie.preventDefault(),!G.preventSubmit){if(Ee(),Ve){ae.dispatchEvent("submit",{data:G.data},Ie);return}Ne(ve()).then(ze=>{ze?ae.dispatchEvent("submit-invalid",{data:G.data,errMap:ze},Ie):ae.dispatchEvent("submit",{data:G.data},Ie)})}},be=()=>{const{tooltipStore:Ie}=te,Ve=oe.value;return Ie.visible&&(Object.assign(Ie,{item:null,visible:!1}),Ve&&Ve.close()),vue.nextTick()},Te=(Ie,Ve)=>{const{item:ze}=Ve,{tooltipStore:We}=te,Xe=oe.value,He=Ie.currentTarget.children[0],qe=(He.textContent||"").trim(),at=He.scrollWidth>He.clientWidth;clearTimeout(te.stTimeout),We.item!==ze&&be(),qe&&at&&(Object.assign(We,{item:ze,visible:!0}),Xe&&Xe.open(He,qe))},Ae=()=>{const Ie=le.value;let Ve=oe.value;Ve&&Ve.setActived(!1),Ie.enterable?te.stTimeout=setTimeout(()=>{Ve=oe.value,Ve&&!Ve.isActived()&&be()},Ie.leaveDelay):be()},Re=(Ie,Ve,ze)=>Ve?Oe(Ie?["blur"].includes(Ie.type)?"blur":"change":"all",Ve,ze).then(()=>{Ee(Ve)}).catch(We=>{const Xe=We[Ve],He=me(Ve);Xe&&He&&(He.showError=!0,He.errRule=Xe[0].rule)}):vue.nextTick();ae={dispatchEvent(Ie,Ve,ze){Q(Ie,createEvent$3(ze,{$form:he,$grid:ne},Ve))},reset:Me,validate:_e,validateField:ye,clearValidate:Ee,updateStatus:(Ie,Ve)=>{const{field:ze}=Ie;return Re(new Event("change"),ze,Ve)},toggleCollapse:we,getItems:ve,getItemByField:me,closeTooltip:be},Object.assign(he,ae,{callSlot:fe,triggerItemEvent:Re,toggleCollapseEvent:$e,triggerTitleTipEvent:Te,handleTitleTipLeaveEvent:Ae});const je=()=>{const{loading:Ie,border:Ve,className:ze,data:We,customLayout:Xe}=G,{formItems:He}=ee,qe=Z.value,at=le.value,st=X.default;return vue.h("form",{ref:re,class:["vxe-form",ze?XEUtils.isFunction(ze)?ze({items:He,data:We,$form:he}):ze:"",{[`size--${qe}`]:qe,"is--border":Ve,"custom--layout":Xe,"is--loading":Ie}],onSubmit:Ce,onReset:De},[vue.h("div",{class:"vxe-form--wrapper vxe-form--item-row"},Xe?st?st({}):[]:He.map((Ke,dt)=>vue.h(VxeFormConfigItem,{key:dt,itemConfig:Ke}))),vue.h("div",{class:"vxe-form-slots",ref:"hideItem"},Xe?[]:st?st({}):[]),vue.h(VxeLoadingComponent,{class:"vxe-form--loading",modelValue:Ie}),vue.h(VxeTooltipComponent,Object.assign({ref:oe},at))])},Le=vue.ref(0);vue.watch(()=>ee.staticItems.length,()=>{Le.value++}),vue.watch(()=>ee.staticItems,()=>{Le.value++}),vue.watch(Le,()=>{ee.formItems=ee.staticItems});const Ue=vue.ref(0);return vue.watch(()=>G.items?G.items.length:-1,()=>{Ue.value++}),vue.watch(()=>G.items,()=>{Ue.value++}),vue.watch(Ue,()=>{pe(G.items||[])}),vue.watch(()=>G.collapseStatus,Ie=>{ee.collapseAll=!!Ie}),vue.watch(()=>G.readonly,()=>{Ee()}),vue.watch(()=>G.disabled,()=>{Ee()}),vue.onMounted(()=>{vue.nextTick(()=>{process.env.NODE_ENV==="development"&&G.customLayout&&G.items&&errLog("vxe.error.errConflicts",["custom-layout","items"])})}),G.items&&pe(G.items),vue.provide("$xeForm",he),vue.provide("$xeFormGroup",null),vue.provide("$xeFormItem",null),he.renderVN=je,he},render(){return this.renderVN()}}),componentDefaultModelProp="modelValue";function getOldComponentName(G){return`vxe-${G.replace("$","")}`}function getDefaultComponent({name:G}){return vue.resolveComponent(G)}function getOldComponent({name:G}){return vue.resolveComponent(getOldComponentName(G))}function getNativeAttrs(G){let{name:H,attrs:X}=G;return H==="input"&&(X=Object.assign({type:"text"},X)),X}function getComponentFormItemProps(G,H,X,Q){return XEUtils.assign({},Q,G.props,{[componentDefaultModelProp]:X})}function getNativeElementOns(G,H,X,Q){const{events:K}=G,Z=getModelEvent(G.name),ee=getChangeEvent(G.name),te=ee===Z,ne={};return K&&XEUtils.objectEach(K,(re,oe)=>{ne[getOnName(oe)]=function(...ae){re(H,...ae)}}),X&&(ne[getOnName(Z)]=function(re){X(re),te&&Q&&Q(re),K&&K[Z]&&K[Z](H,re)}),!te&&Q&&(ne[getOnName(ee)]=function(...re){Q(...re),K&&K[ee]&&K[ee](H,...re)}),ne}function getComponentOns(G,H,X,Q){const{events:K}=G,Z=getModelEvent(G.name),ee=getChangeEvent(G.name),te={};return XEUtils.objectEach(K,(ne,re)=>{te[getOnName(re)]=function(...oe){process.env.NODE_ENV==="development"&&(XEUtils.isFunction(ne)||errLog("vxe.error.errFunc",[ne])),ne(H,...oe)}}),X&&(te[getOnName(Z)]=function(ne){X(ne),K&&K[Z]&&K[Z](H,ne)}),Q&&(te[getOnName(ee)]=function(...ne){Q(...ne),K&&K[ee]&&K[ee](H,...ne)}),te}function getItemOns(G,H){const{$form:X,data:Q,field:K}=H;return getComponentOns(G,H,Z=>{XEUtils.set(Q,K,Z)},()=>{X.updateStatus(H)})}function getNativeItemOns(G,H){const{$form:X,data:Q,field:K}=H;return getNativeElementOns(G,H,Z=>{const ee=Z.target.value;XEUtils.set(Q,K,ee)},()=>{X.updateStatus(H)})}function renderNativeOptgroup(G,H,X){const{optionGroups:Q,optionGroupProps:K={}}=G,Z=K.options||"options",ee=K.label||"label";return Q.map((te,ne)=>vue.h("optgroup",{key:ne,label:te[ee]},X(te[Z],G,H)))}function nativeItemRender(G,H){const{data:X,field:Q}=H,{name:K}=G,Z=getNativeAttrs(G),ee=XEUtils.get(X,Q);return[vue.h(K,Object.assign(Object.assign(Object.assign({class:`vxe-default-${K}`},Z),{value:Z&&K==="input"&&(Z.type==="submit"||Z.type==="reset")?null:ee}),getNativeItemOns(G,H)))]}function defaultItemRender(G,H){const{data:X,field:Q}=H,K=XEUtils.get(X,Q);return[vue.h(getDefaultComponent(G),Object.assign(Object.assign({},getComponentFormItemProps(G,H,K)),getItemOns(G,H)))]}function oldItemRender(G,H){const{data:X,field:Q}=H,K=XEUtils.get(X,Q);return[vue.h(getOldComponent(G),Object.assign(Object.assign({},getComponentFormItemProps(G,H,K)),getItemOns(G,H)))]}function oldButtonItemRender(G,H){return[vue.h(vue.resolveComponent("vxe-button"),Object.assign(Object.assign({},getComponentFormItemProps(G,H,null)),getComponentOns(G,H)))]}function oldButtonsItemRender(G,H){return G.children.map(X=>oldButtonItemRender(X,H)[0])}function renderNativeFormOptions(G,H,X){const{data:Q,field:K}=X,{optionProps:Z={}}=H,ee=Z.label||"label",te=Z.value||"value",ne=Z.disabled||"disabled",re=XEUtils.get(Q,K);return G.map((oe,ae)=>vue.h("option",{key:ae,value:oe[te],disabled:oe[ne],selected:oe[te]==re},oe[ee]))}function defaultFormItemRender(G,H){const{data:X,field:Q}=H,K=XEUtils.get(X,Q);return[vue.h(getDefaultComponent(G),Object.assign(Object.assign({},getComponentFormItemProps(G,H,K)),getItemOns(G,H)))]}function formItemRadioAndCheckboxRender(G,H){const{options:X,optionProps:Q}=G,{data:K,field:Z}=H,ee=XEUtils.get(K,Z);return[vue.h(getDefaultComponent(G),Object.assign(Object.assign({options:X,optionProps:Q},getComponentFormItemProps(G,H,ee)),getItemOns(G,H)))]}function oldFormItemRadioAndCheckboxRender(G,H){const{name:X,options:Q,optionProps:K={}}=G,{data:Z,field:ee}=H,te=K.label||"label",ne=K.value||"value",re=K.disabled||"disabled",oe=XEUtils.get(Z,ee),ae=getOldComponentName(X);return Q?[vue.h(vue.resolveComponent(`${ae}-group`),Object.assign(Object.assign({},getComponentFormItemProps(G,H,oe)),getItemOns(G,H)),{default:()=>Q.map((se,le)=>vue.h(vue.resolveComponent(ae),{key:le,label:se[ne],content:se[te],disabled:se[re]}))})]:[vue.h(vue.resolveComponent(ae),Object.assign(Object.assign({},getComponentFormItemProps(G,H,oe)),getItemOns(G,H)))]}renderer$c.mixin({input:{formItemAutoFocus:"input",renderFormItemContent:nativeItemRender},textarea:{formItemAutoFocus:"textarea",renderFormItemContent:nativeItemRender},select:{formItemAutoFocus:"input",renderFormItemContent(G,H){return[vue.h("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(G)),getNativeItemOns(G,H)),G.optionGroups?renderNativeOptgroup(G,H,renderNativeFormOptions):renderNativeFormOptions(G.options,G,H))]}},VxeInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeNumberInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxePasswordInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeTextarea:{formItemAutoFocus:"textarea",renderFormItemContent:defaultItemRender},VxeDatePicker:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeButton:{renderFormItemContent:defaultFormItemRender},VxeButtonGroup:{renderFormItemContent(G,H){const{options:X}=G,{data:Q,field:K}=H,Z=XEUtils.get(Q,K);return[vue.h(getDefaultComponent(G),Object.assign(Object.assign({options:X},getComponentFormItemProps(G,H,Z)),getItemOns(G,H)))]}},VxeSelect:{formItemAutoFocus:"input",renderFormItemContent(G,H){const{data:X,field:Q}=H,{options:K,optionProps:Z,optionGroups:ee,optionGroupProps:te}=G,ne=XEUtils.get(X,Q);return[vue.h(getDefaultComponent(G),Object.assign(Object.assign({},getComponentFormItemProps(G,H,ne,{options:K,optionProps:Z,optionGroups:ee,optionGroupProps:te})),getItemOns(G,H)))]}},VxeTreeSelect:{formItemAutoFocus:"input",renderFormItemContent(G,H){const{data:X,field:Q}=H,{options:K,optionProps:Z}=G,ee=XEUtils.get(X,Q);return[vue.h(getDefaultComponent(G),Object.assign(Object.assign({},getComponentFormItemProps(G,H,ee,{options:K,optionProps:Z})),getItemOns(G,H)))]}},VxeTableSelect:{formItemAutoFocus:"input",renderFormItemContent(G,H){const{data:X,field:Q}=H,{options:K,optionProps:Z}=G,ee=XEUtils.get(X,Q);return[vue.h(getDefaultComponent(G),Object.assign(Object.assign({},getComponentFormItemProps(G,H,ee,{options:K,optionProps:Z})),getItemOns(G,H)))]}},VxeIconPicker:{renderFormItemContent:defaultFormItemRender},VxeRadio:{renderFormItemContent:defaultFormItemRender},VxeRadioGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeCheckbox:{renderFormItemContent:defaultFormItemRender},VxeCheckboxGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeSwitch:{renderFormItemContent:defaultItemRender},VxeRate:{renderFormItemContent:defaultItemRender},VxeSlider:{renderFormItemContent:defaultItemRender},VxeImage:{renderFormItemContent(G,H){const{data:X,field:Q}=H,{props:K}=G,Z=XEUtils.get(X,Q);return[vue.h(getDefaultComponent(G),Object.assign(Object.assign(Object.assign({},K),{src:Z}),getItemOns(G,H)))]}},VxeImageGroup:{renderFormItemContent(G,H){const{data:X,field:Q}=H,{props:K}=G,Z=XEUtils.get(X,Q);return[vue.h(getDefaultComponent(G),Object.assign(Object.assign(Object.assign({},K),{urlList:Z}),getItemOns(G,H)))]}},VxeUpload:{renderFormItemContent:defaultItemRender},$input:{formItemAutoFocus:"input",renderFormItemContent:oldItemRender},$textarea:{formItemAutoFocus:"textarea",renderFormItemContent:oldItemRender},$button:{renderFormItemContent:oldButtonItemRender},$buttons:{renderFormItemContent:oldButtonsItemRender},$select:{formItemAutoFocus:"input",renderFormItemContent(G,H){const{data:X,field:Q}=H,{options:K,optionProps:Z,optionGroups:ee,optionGroupProps:te}=G,ne=XEUtils.get(X,Q);return[vue.h(getOldComponent(G),Object.assign(Object.assign({},getComponentFormItemProps(G,H,ne,{options:K,optionProps:Z,optionGroups:ee,optionGroupProps:te})),getItemOns(G,H)))]}},$radio:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderFormItemContent:oldItemRender}});const VxeForm=Object.assign(VxeFormComponent,{install(G){G.component(VxeFormComponent.name,VxeFormComponent)}});dynamicApp.use(VxeForm),VxeUI.component(VxeFormComponent);const Form=VxeForm;let maxWidgetId=1e5;function getNewWidgetId(G){return XEUtils.eachTree(G,H=>{H&&(maxWidgetId=Math.max(maxWidgetId,H.id))},{children:"children"}),++maxWidgetId}const hasFormDesignLayoutType=G=>G?getWidgetConfig(G.name).group==="layout":!1,refWidgetReactConfigMaps$1=vue.ref({}),getWidgetConfig=G=>refWidgetReactConfigMaps$1.value[G]||{};function getWidgetConfigTitle(G,H){const X=getWidgetConfig(G);if(X){const Q=X.title,K={name:G,$formDesign:H};return XEUtils.toValueString(XEUtils.isFunction(Q)?Q(K):Q)}return G}function getWidgetConfigCustomGroup(G,H){const X=getWidgetConfig(G);if(X){const Q=X.customGroup,K={name:G,$formDesign:H};return XEUtils.toValueString(XEUtils.isFunction(Q)?Q(K):Q)}return G}const validWidgetUniqueField=(G,H)=>!XEUtils.findTree(H,X=>X.field===G,{children:"children"});class FormDesignWidgetInfo{constructor(H,X,Q){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"field",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"title",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"required",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"hidden",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"children",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"model",{enumerable:!0,configurable:!0,writable:!0,value:{update:!1,value:""}});let K="";if(X){const ee=renderer$c.get(X)||{};if(ee){const te=refWidgetReactConfigMaps$1.value,ne=ee.createFormDesignWidgetConfig;if(ne){const re={name:X,$formDesign:H},oe=ne(re)||{},ae=oe.title,se=oe.field;this.title=XEUtils.toValueString(XEUtils.isFunction(ae)?ae(re):ae),this.options=oe.options||{},this.children=oe.children||[],se&&(XEUtils.isFunction(se)?K=se({name:X,$formDesign:H}):K=se),te[X]||(te[X]=Object.assign({},oe),refWidgetReactConfigMaps$1.value=Object.assign({},te))}}}const Z=getNewWidgetId(Q);K&&(validWidgetUniqueField(K,Q)||errLog("vxe.error.uniField",[K])),this.id=Z,this.field=K||`${X}${Z}`,this.name=X}}function configToWidget(G){const H=new FormDesignWidgetInfo(null,G.name,[]);return H.id=G.id,H.title=G.title||"",H.field=G.field||"",H.required=G.required||!1,H.hidden=G.hidden||!1,H.options=Object.assign({},H.options,G.options),H.children=G.children?G.children.map(X=>configToWidget(X)):[],H}const LayoutWidgetComponent=vue.defineComponent({props:{},emits:[],setup(){const G=vue.inject("$xeFormDesign",null);if(!G)return()=>[];const{reactData:H}=G,X=ne=>{const re=ne.currentTarget,oe=ne.dataTransfer,ae=re.getAttribute("data-widget-name")||"";if(G.validWidgetUnique(ae)){const se=G.createWidget(ae);oe&&oe.setData("text/plain",ae),H.sortWidget=null,H.dragWidget=se}else ne.preventDefault()},Q=ne=>{if(ne.preventDefault(),H.dragWidget){const re=H.dragWidget;H.activeWidget=re,G.dispatchEvent("add-widget",{newWidget:re},ne)}H.dragWidget=null,H.sortWidget=null},K=(ne,re)=>{const{widgetObjList:oe,dragWidget:ae}=H;if(ae&&re.children.some(se=>se.name===ae.name)){const se=XEUtils.findTree(oe,le=>le&&le.id===ae.id,{children:"children"});se&&se.items.splice(se.index,1)}},Z=(ne,re)=>{if(G.validWidgetUnique(re)){const{widgetObjList:oe}=H,ae=G.createWidget(re);oe.push(ae),H.activeWidget=ae,H.sortWidget=null,H.dragWidget=null,G.dispatchEvent("add-widget",{newWidget:ae},ne)}},ee=ne=>{const re=[];return ne.children&&ne.children.forEach((oe,ae)=>{const{name:se}=oe,le=getWidgetConfigTitle(se,G),ce=renderer$c.get(se)||{},de=getWidgetConfig(se),ue=ce.renderFormDesignWidgetItem;re.push(vue.h("div",{key:ae,class:"vxe-form-design--widget-item"},vue.h("div",{class:"vxe-form-design--widget-box","data-widget-name":se,title:le,draggable:!0,onDragstart:X,onDragend:Q},ue?getSlotVNs(ue({},{$formDesign:G})):[vue.h("i",{class:["vxe-form-design--widget-item-icon",de&&de.icon||""]}),vue.h("span",{class:"vxe-form-design--widget-item-name"},le),vue.h("span",{class:"vxe-form-design--widget-item-add",onClick(he){Z(he,se)}},[vue.h("i",{class:getIcon$8().FORM_DESIGN_WIDGET_ADD})])])))}),re},te=()=>{const{widgetConfigs:ne}=H;return ne.map((re,oe)=>{const{title:ae,group:se}=re;return vue.h("div",{key:oe,class:"vxe-form-design--widget-group"},[vue.h("div",{class:"vxe-form-design--widget-title"},se?getI18n$e(`vxe.formDesign.widget.group.${se}`):`${ae||""}`),vue.h("div",{class:"vxe-form-design--widget-list",onDragover(le){K(le,re)}},ee(re))])})};return()=>vue.h("div",{class:"vxe-form-design--widget"},te())}}),ViewItemComponent=vue.defineComponent({name:"FormDesignLayoutViewItem",props:{item:{type:Object,default:()=>({})},itemIndex:{type:Number,default:0},items:{type:Array,default:()=>[]}},emits:[],setup(G,{slots:H}){const X=vue.inject("$xeFormDesign",null);if(!X)return()=>[];const{reactData:Q}=X,K=ne=>{const{widgetObjList:re}=Q,oe=ne.currentTarget,ae=Number(oe.getAttribute("data-widget-id")),se=XEUtils.findTree(re,le=>le&&le.id===ae,{children:"children"});se&&(Q.dragWidget=null,Q.sortWidget=se.item)},Z=()=>{Q.activeWidget=Q.sortWidget,Q.sortWidget=null},ee=ne=>{const{widgetObjList:re,sortWidget:oe}=Q,ae=X.internalData,{lastDragTime:se}=ae;if(se&&se>Date.now()-300){ne.preventDefault();return}if(oe){const le=ne.currentTarget;ne.preventDefault();const ce=Number(le.getAttribute("data-widget-id"));if(ce!==oe.id){const de=XEUtils.findTree(re,ue=>ue&&ue.id===ce,{children:"children"});if(de){const ue=XEUtils.findTree(re,he=>he&&he.id===oe.id,{children:"children"});ue&&(ue.parent&&ue.parent.name==="row"?ue.items[ue.index]=X.createEmptyWidget():ue.items.splice(ue.index,1),de.items.splice(de.index,0,ue.item),ae.lastDragTime=Date.now(),X.dispatchEvent("drag-widget",{widget:ue.item},ne))}}}},te=(ne,re)=>{X.handleClickWidget(ne,re)};return()=>{const{dragWidget:ne,activeWidget:re,sortWidget:oe}=Q,{item:ae}=G,{name:se}=ae,le=re&&re.id===ae.id,ce=H.default;return vue.h("div",{key:ae.id,"data-widget-id":ae.id,draggable:!0,class:["vxe-form-design--preview-item",`widget-${XEUtils.kebabCase(se)}`,{"is--active":le,"is--sort":oe&&oe.id===ae.id,"is--drag":ne&&ne.id===ae.id}],onDragstart:K,onDragend:Z,onDragenter:ee,onClick(de){te(de,ae)}},[vue.h("div",{class:"vxe-form-design--preview-item-view vxe-form--item-row"},ce?ce({}):[]),le?vue.h("div",{class:"vxe-form-design--preview-item-operate"},[vue.h(VxeButtonComponent,{icon:getIcon$8().FORM_DESIGN_WIDGET_COPY,status:"primary",size:"mini",circle:!0,onClick(de){X.handleCopyWidget(de.$event,ae)}}),vue.h(VxeButtonComponent,{icon:getIcon$8().FORM_DESIGN_WIDGET_DELETE,status:"danger",size:"mini",circle:!0,onClick(de){X.handleRemoveWidget(de.$event,ae)}})]):vue.createCommentVNode()])}}}),LayoutPreviewComponent$1=vue.defineComponent({name:"FormDesignLayoutPreview",props:{},emits:[],setup(){const G=vue.inject("$xeFormDesign",null);if(!G)return()=>[];const{reactData:H}=G,X=te=>{const{widgetObjList:ne,dragWidget:re}=H;re&&(te.preventDefault(),XEUtils.findTree(ne,ae=>ae&&ae.id===re.id,{children:"children"})||(H.sortWidget=re,ne.push(re),G.dispatchEvent("drag-widget",{widget:re},te)))},Q=te=>{te.preventDefault()};let K=Date.now();const Z=te=>{const{widgetObjList:ne,sortWidget:re}=H;if(te.stopPropagation(),K>Date.now()-300){te.preventDefault();return}if(re){if(hasFormDesignLayoutType(re))return;const oe=XEUtils.findTree(ne,ae=>ae.id===re.id,{children:"children"});if(oe){const{item:ae,index:se,items:le,parent:ce}=oe;ce&&ce.name==="row"?oe.items[oe.index]=G.createEmptyWidget():le.splice(se,1),ne.unshift(ae),K=Date.now(),G.dispatchEvent("drag-widget",{widget:ae},te)}}},ee=te=>{const{widgetObjList:ne,sortWidget:re}=H;if(te.stopPropagation(),K>Date.now()-300){te.preventDefault();return}if(re){if(hasFormDesignLayoutType(re))return;const oe=XEUtils.findTree(ne,ae=>ae.id===re.id,{children:"children"});if(oe){const{item:ae,index:se,items:le,parent:ce}=oe;ce&&ce.name==="row"?oe.items[oe.index]=G.createEmptyWidget():le.splice(se,1),ne.push(ae),K=Date.now(),G.dispatchEvent("drag-widget",{widget:ae},te)}}};return()=>{const{widgetObjList:te}=H;return vue.h("div",{class:"vxe-form-design--preview",onDragenter:X,onDragover:Q},[vue.h("div",{class:"vxe-form-design--preview-wrapper"},[vue.h("div",{class:"vxe-form-design--preview-place-widget",onDragenter:Z}),vue.h(VxeFormComponent,{customLayout:!0,span:24,vertical:!0},{default(){return vue.h(vue.TransitionGroup,{class:"vxe-form-design--preview-list",tag:"div",name:"vxe-form-design--preview-list"},{default:()=>te.map((ne,re)=>vue.h(ViewItemComponent,{key:ne.id,item:ne,itemIndex:re,items:te},{default(){const{name:oe}=ne,ae=renderer$c.get(oe)||{},se=ae.renderFormDesignWidgetEdit||ae.renderFormDesignWidgetView,le=ne,ce=!0;return se?getSlotVNs(se(le,{widget:ne,readonly:!1,disabled:!1,isEditMode:ce,isViewMode:!ce,$formDesign:G,$formView:null})):[]}}))})}}),vue.h("div",{class:"vxe-form-design--preview-place-widget",onDragenter:ee})])])}}}),VxeTabsComponent=vue.defineComponent({name:"VxeTabs",props:{modelValue:[String,Number,Boolean],options:Array,height:[String,Number],destroyOnClose:Boolean,titleWidth:[String,Number],titleAlign:[String,Number],type:String,showClose:Boolean,padding:{type:Boolean,default:()=>getConfig$8().tabs.padding},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,beforeCloseMethod:Function},emits:["update:modelValue","change","tab-change","tab-change-fail","tab-close","tab-close-fail","tab-click","tab-load"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.inject("$xeTabs",null),ee=vue.ref(),te=vue.ref(),ne=vue.reactive({staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintWidth:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}}),re={slTimeout:void 0},oe={refElem:ee},ae=vue.computed(()=>Object.assign({},getConfig$8().tabs.closeConfig,G.closeConfig)),se=vue.computed(()=>Object.assign({},getConfig$8().tabs.refreshConfig,G.refreshConfig)),le=vue.computed(()=>{const{options:Be}=G;return(Be||[]).filter(je=>he(je))}),ce=vue.computed(()=>{const{staticTabs:Be}=ne;return Be.filter(je=>he(je))}),de={},ue={xID:K,props:G,context:H,reactData:ne,getRefMaps:()=>oe,getComputeMaps:()=>de},he=Be=>{const{permissionCode:je}=Be;return!(je&&!permission.checkVisible(je))},fe=(Be,je)=>Be&&(XEUtils.isString(Be)&&(Be=X[Be]||null),XEUtils.isFunction(Be))?getSlotVNs(Be(je)):[],pe=()=>{vue.nextTick(()=>{const{type:Be}=G,{activeName:je}=ne,Le=le.value,Ue=ce.value,Ie=te.value;let Ve=0,ze=0,We=!1;if(Ie){const Xe=XEUtils.findIndexOf(Ue.length?Ue:Le,st=>st.name===je),{children:He,scrollWidth:qe,clientWidth:at}=Ie;if(We=qe!==at,Xe>-1){const st=He[Xe],Ke=st.clientWidth;Be?Be==="card"?(Ve=Ke+2,ze=st.offsetLeft):Be==="border-card"&&(Ve=Ke+2,ze=st.offsetLeft-1):(Ve=Math.max(4,Math.floor(Ke*.6)),ze=st.offsetLeft+Math.floor((Ke-Ve)/2))}}ne.lintLeft=ze,ne.lintWidth=Ve,ne.isTabOver=We})},ve=(Be,je,Le)=>{Q(Be,createEvent$3(Le,{$tabs:ue},je))},me=(Be,je)=>{const{initNames:Le}=ne;return Be&&!Le.includes(Be)?(ve("tab-load",{name:Be},je),Le.push(Be),!0):!1},ge=Be=>{let je=null;const Le={};if(Be&&Be.length){let Ue=!1;je=G.modelValue,Be.forEach(Ie=>{const{name:Ve,preload:ze}=Ie||{};Ve&&(Le[`${Ve}`]={loading:!1},je===Ve&&(Ue=!0),ze&&me(Ve,null))}),Ue||(je=Be[0].name,me(je,null),Q("update:modelValue",je))}ne.activeName=je,ne.cacheTabMaps=Le},we=(Be,je)=>{const{trigger:Le}=G,Ue=G.beforeChangeMethod||getConfig$8().tabs.beforeChangeMethod,{activeName:Ie}=ne,{name:Ve}=je,ze=Ve;ve("tab-click",{name:Ve},Be),Le!=="manual"&&Ve!==Ie&&Promise.resolve(!Ue||Ue({$tabs:ue,name:Ve,oldName:Ie,newName:Ve,option:je})).then(We=>{We?(ne.activeName=Ve,Q("update:modelValue",ze),me(Ve,Be),ve("change",{value:ze,name:Ve,oldName:Ie,newName:Ve,option:je},Be),ve("tab-change",{value:ze,name:Ve,oldName:Ie,newName:Ve,option:je},Be)):ve("tab-change-fail",{value:ze,name:Ve,oldName:Ie,newName:Ve,option:je},Be)}).catch(()=>{ve("tab-change-fail",{value:ze,name:Ve,oldName:Ie,newName:Ve,option:je},Be)})},$e=(Be,je)=>{Be.stopPropagation();const{activeName:Le,cacheTabMaps:Ue}=ne,{name:Ie}=je,Ve=se.value,{queryMethod:ze}=Ve,We=Ie?Ue[`${Ie}`]:null;We&&(ze?(We.loading=!0,Promise.resolve(ze({$tabs:ue,value:Le,name:Ie,option:je})).finally(()=>{We.loading=!1})):errLog("vxe.error.notFunc",["refresh-config.queryMethod"]))},Ee=(Be,je,Le,Ue)=>{Be.stopPropagation();const{activeName:Ie}=ne,ze=ae.value.beforeMethod||G.beforeCloseMethod||getConfig$8().tabs.beforeCloseMethod,{name:We}=je,Xe=Ie;let He=Xe;if(Ie===We){const qe=Le<Ue.length-1?Ue[Le+1]:Ue[Le-1];He=qe?qe.name:null}Promise.resolve(!ze||ze({$tabs:ue,value:Xe,name:We,nextName:He,option:je})).then(qe=>{qe?ve("tab-close",{value:Xe,name:We,nextName:He},Be):ve("tab-close-fail",{value:Xe,name:We,nextName:He},Be)}).catch(()=>{ve("tab-close-fail",{value:Xe,name:We,nextName:He},Be)})},xe=(Be,je)=>{const{slTimeout:Le}=re;let Ue=je,Ie=6,Ve=35;Le&&(clearTimeout(Le),re.slTimeout=void 0);const ze=()=>{const We=te.value;if(Ie>0&&(Ie--,We)){const{clientWidth:Xe,scrollWidth:He,scrollLeft:qe}=We;Ue=Math.floor(Ue/2),Be>0?Xe+qe<He&&(We.scrollLeft+=Ue,Ve-=4,re.slTimeout=setTimeout(ze,Ve)):qe>0&&(We.scrollLeft-=Ue,Ve-=4,re.slTimeout=setTimeout(ze,Ve)),pe()}};ze()},Me=Be=>{const je=te.value;if(je){const Le=Math.floor(je.clientWidth*.75);xe(Be,Le)}},De=()=>{Me(-1)},ke=()=>{Me(1)},Oe=Be=>{const je=le.value,Le=ce.value;return vue.nextTick().then(()=>{const Ue=te.value;if(Ue){const Ie=XEUtils.findIndexOf(Le.length?Le:je,Ve=>Ve.name===Be);if(Ie>-1){const{scrollLeft:Ve,clientWidth:ze,children:We}=Ue,Xe=We[Ie];if(Xe){const He=Xe.offsetLeft,qe=Xe.clientWidth,at=He+qe-(Ve+ze);at>0&&(Ue.scrollLeft+=at),He<Ve&&(Ue.scrollLeft=He)}}pe()}})},Ne=Be=>{const{activeName:je}=ne,Le=le.value,Ue=ce.value,Ie=Ue.length?Ue:Le,Ve=XEUtils.findIndexOf(Ie,ze=>ze.name===je);if(Ve>-1){let ze=null;if(Be?Ve<Ie.length-1&&(ze=Ie[Ve+1]):Ve>0&&(ze=Ie[Ve-1]),ze){const We=ze.name,Xe=We;ne.activeName=We,Q("update:modelValue",Xe),me(We,null)}}return vue.nextTick()},_e={dispatchEvent:ve,scrollToTab:Oe,prev(){return Ne(!1)},next(){return Ne(!0)},prevTab(){return process.env.NODE_ENV==="development"&&warnLog("vxe.error.delFunc",["prevTab","prev"]),_e.prev()},nextTab(){return process.env.NODE_ENV==="development"&&warnLog("vxe.error.delFunc",["nextTab","next"]),_e.next()}};Object.assign(ue,_e,{});const Ce=Be=>{const{type:je,titleWidth:Le,titleAlign:Ue,showClose:Ie,closeConfig:Ve,refreshConfig:ze}=G,{activeName:We,lintLeft:Xe,lintWidth:He,isTabOver:qe,cacheTabMaps:at}=ne,st=X.extra,Ke=ae.value,dt=Ke.visibleMethod,wt=se.value,$t=wt.visibleMethod;return vue.h("div",{class:"vxe-tabs-header"},[qe?vue.h("div",{class:"vxe-tabs-header--bar vxe-tabs-header--left-bar",onClick:De},[vue.h("span",{class:getIcon$8().TABS_TAB_BUTTON_LEFT})]):vue.createCommentVNode(),vue.h("div",{class:"vxe-tabs-header--wrapper"},[vue.h("div",{ref:te,class:"vxe-tabs-header--item-wrapper"},Be.map((mt,bt)=>{const{title:Ot,titleWidth:It,titleAlign:yt,icon:Et,name:Vt,slots:ut}=mt,vt=ut?ut.title||ut.tab:null,Qe=It||Le,ht=yt||Ue,et={$tabs:ue,value:We,name:Vt,option:mt},nt=We===Vt,Ye=Vt?at[`${Vt}`]:null,tt=Ye?Ye.loading:!1;return vue.h("div",{key:`${Vt}`,class:["vxe-tabs-header--item",ht?`align--${ht}`:"",{"is--active":nt}],style:Qe?{width:toCssUnit(Qe)}:null,onClick(Je){we(Je,mt)}},[vue.h("div",{class:"vxe-tabs-header--item-inner"},[vue.h("div",{class:"vxe-tabs-header--item-content"},[Et?vue.h("span",{class:"vxe-tabs-header--item-icon"},[vue.h("i",{class:Et})]):vue.createCommentVNode(),vue.h("span",{class:"vxe-tabs-header--item-name"},vt?fe(vt,{name:Vt,title:Ot}):`${Ot}`)]),(isEnableConf(ze)||wt.enabled)&&($t?$t(et):nt)?vue.h("div",{class:"vxe-tabs-header--refresh-btn",onClick(Je){$e(Je,mt)}},[vue.h("i",{class:tt?getIcon$8().TABS_TAB_REFRESH_LOADING:getIcon$8().TABS_TAB_REFRESH})]):vue.createCommentVNode(),(Ie||isEnableConf(Ve)||Ke.enabled)&&(!dt||dt(et))?vue.h("div",{class:"vxe-tabs-header--close-btn",onClick(Je){Ee(Je,mt,bt,Be)}},[vue.h("i",{class:getIcon$8().TABS_TAB_CLOSE})]):vue.createCommentVNode()])])}).concat([vue.h("span",{key:"line",class:`vxe-tabs-header--active-line type--${je||"default"}`,style:{left:`${Xe}px`,width:`${He}px`}})]))]),qe?vue.h("div",{class:"vxe-tabs-header--bar vxe-tabs-header--right-bar",onClick:ke},[vue.h("span",{class:getIcon$8().TABS_TAB_BUTTON_RIGHT})]):vue.createCommentVNode(),st?vue.h("div",{class:"vxe-tabs-header--extra"},getSlotVNs(st({}))):vue.createCommentVNode()])},be=Be=>{const{initNames:je,activeName:Le}=ne,{name:Ue,slots:Ie}=Be,Ve=Ie?Ie.default:null;return Ue&&je.includes(Ue)?vue.h("div",{key:`${Ue}`,class:["vxe-tabs-pane--item",{"is--visible":Le===Ue,"has--content":!!Ve}]},Ve?fe(Ve,{name:Ue}):[]):vue.createCommentVNode()},Te=Be=>{const{destroyOnClose:je}=G,{activeName:Le}=ne,Ue=Be.find(Ie=>Ie.name===Le);return je?[Ue?be(Ue):vue.createCommentVNode()]:Be.map(Ie=>be(Ie))},Ae=()=>{const{type:Be,height:je,padding:Le,trigger:Ue}=G,Ie=le.value,Ve=ce.value,ze=X.default,We=X.footer,Xe=ze?Ve:Ie;return vue.h("div",{ref:ee,class:["vxe-tabs",`vxe-tabs--${Be||"default"}`,`trigger--${Ue==="manual"?"trigger":"default"}`,{"is--padding":Le,"is--height":je}],style:je?{height:toCssUnit(je)}:null},[vue.h("div",{class:"vxe-tabs-slots"},ze?ze({}):[]),Ce(Xe),vue.h("div",{class:"vxe-tabs-pane"},Te(Xe)),We?vue.h("div",{class:"vxe-tabs-footer"},fe(We,{})):renderEmptyElement$3(ue)])};vue.watch(()=>G.modelValue,Be=>{me(Be,null),ne.activeName=Be}),vue.watch(()=>ne.activeName,Be=>{Oe(Be),vue.nextTick(()=>{ne.resizeFlag++})});const Re=vue.ref(0);vue.watch(()=>G.options?G.options.length:-1,()=>{Re.value++}),vue.watch(()=>G.options,()=>{Re.value++}),vue.watch(Re,()=>{ge(G.options),pe()});const Fe=vue.ref(0);return vue.watch(()=>ne.staticTabs?ne.staticTabs.length:-1,()=>{Fe.value++}),vue.watch(()=>ne.staticTabs,()=>{Fe.value++}),vue.watch(Fe,()=>{ge(ne.staticTabs),pe()}),Z&&vue.watch(()=>Z?Z.reactData.resizeFlag:null,()=>{ne.resizeFlag++}),vue.watch(()=>ne.resizeFlag,()=>{vue.nextTick(()=>{pe()})}),vue.onMounted(()=>{globalEvents$4.on(ue,"resize",pe),pe()}),vue.onUnmounted(()=>{globalEvents$4.off(ue,"resize")}),vue.provide("$xeTabs",ue),me(G.modelValue,null),ge(ne.staticTabs.length?ne.staticTabs:G.options),ue.renderVN=Ae,ue},render(){return this.renderVN()}});function assembleTabItem(G,H,X){const Q=G.reactData.staticTabs,K=H.parentNode;K&&(Q.splice(XEUtils.arrayIndexOf(K.children,H),0,X),G.reactData.staticTabs=Q.slice(0))}function destroyTabItem(G,H){const X=G.reactData.staticTabs,Q=XEUtils.findTree(X,K=>K.id===H.id,{children:"children"});Q&&Q.items.splice(Q.index,1),G.reactData.staticTabs=X.slice(0)}const VxeTabPaneComponent=vue.defineComponent({name:"VxeTabPane",props:{title:[String,Number],name:[String,Number],icon:String,titleWidth:[String,Number],titleAlign:[String,Number],preload:Boolean,permissionCode:[String,Number]},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.inject("$xeTabs",null),te=vue.reactive({}),ne=vue.reactive({id:K,title:G.title,name:G.name,icon:G.icon,titleWidth:G.titleWidth,titleAlign:G.titleAlign,preload:G.preload,permissionCode:G.permissionCode,slots:X}),re={refElem:Z},oe={},ae={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>re,getComputeMaps:()=>oe};Object.assign(ae,{dispatchEvent:(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$tabPane:ae},he))}},{}),vue.watch(()=>G.title,ue=>{ne.title=ue}),vue.watch(()=>G.name,ue=>{ne.name=ue}),vue.watch(()=>G.icon,ue=>{ne.icon=ue}),vue.watch(()=>G.permissionCode,ue=>{ne.permissionCode=ue}),vue.onMounted(()=>{const ue=Z.value;ee&&ue&&assembleTabItem(ee,ue,ne)}),vue.onUnmounted(()=>{ee&&destroyTabItem(ee,ne)});const de=()=>vue.h("div",{ref:Z},[]);return ae.renderVN=de,ae},render(){return this.renderVN()}}),formItemProps={title:String,field:String,span:{type:[String,Number],default:null},align:{type:String,default:null},verticalAlign:{type:String,default:null},titleBackground:{type:Boolean,default:null},titleBold:{type:Boolean,default:null},titleAlign:{type:String,default:null},titleWidth:{type:[String,Number],default:null},titleColon:{type:Boolean,default:null},titleAsterisk:{type:Boolean,default:null},showTitle:{type:Boolean,default:!0},vertical:{type:Boolean,default:null},padding:{type:Boolean,default:null},className:[String,Function],contentClassName:[String,Function],contentStyle:[Object,Function],titleClassName:[String,Function],titleStyle:[Object,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visibleMethod:Function,visible:{type:Boolean,default:null},showContent:{type:Boolean,default:null},folding:Boolean,collapseNode:Boolean,itemRender:Object,rules:Array},VxeFormItemComponent=vue.defineComponent({name:"VxeFormItem",props:formItemProps,setup(G,{slots:H}){const X=vue.ref(),Q=vue.inject("$xeForm",{}),K=vue.inject("$xeFormGroup",null),Z=vue.reactive(createItem(Q,G));Z.slots=H;const ee={itemConfig:Z};vue.provide("xeFormItemInfo",ee);const te=(oe,ae)=>{const se=oe.props,{data:le,readonly:ce,disabled:de}=se,{visible:ue,field:he,itemRender:fe,contentStyle:pe,showContent:ve}=ae,me=isEnableConf(fe)?renderer$c.get(fe.name):null,ge=me?me.formItemStyle||me.itemStyle:null,we=me?me.formItemContentStyle||me.itemContentStyle:null,$e={data:le,disabled:de,readonly:ce,field:he,property:he,item:ae,$form:oe,$grid:oe.xegrid};return ue===!1?vue.createCommentVNode():vue.h("div",{ref:X,key:ae.id,class:getItemClass(oe,ae),style:XEUtils.isFunction(ge)?ge($e):ge},[renderTitle(oe,ae),ve===!1?vue.createCommentVNode():vue.h("div",{class:getItemContentClass(oe,ae),style:Object.assign({},XEUtils.isFunction(we)?we($e):we,XEUtils.isFunction(pe)?pe($e):pe)},[renderItemContent(oe,ae)])])},re={formItem:Z,renderVN:()=>(Q?Q.props.customLayout:!1)?te(Q,Z):vue.h("div",{ref:X})};return watchItem(G,Z),vue.onMounted(()=>{const oe=X.value;assembleItem(Q,oe,Z,K)}),vue.onUnmounted(()=>{destroyItem(Q,Z)}),vue.provide("$xeFormItem",re),vue.provide("$xeFormGroup",null),re},render(){return this.renderVN()}}),VxeSwitchComponent=vue.defineComponent({name:"VxeSwitch",props:{modelValue:[String,Number,Boolean],disabled:{type:Boolean,default:null},size:{type:String,default:()=>getConfig$8().switch.size||getConfig$8().size},openLabel:String,closeLabel:String,openValue:{type:[String,Number,Boolean],default:!0},closeValue:{type:[String,Number,Boolean],default:!1},openIcon:String,closeIcon:String,openActiveIcon:String,closeActiveIcon:String},emits:["update:modelValue","change","focus","blur"],setup(G,H){const{emit:X}=H,Q=vue.inject("$xeForm",null),K=vue.inject("xeFormItemInfo",null),Z=XEUtils.uniqueId(),{computeSize:ee}=useSize(G),te=vue.reactive({isActivated:!1,hasAnimat:!1,offsetLeft:0}),ne={},re={xID:Z,props:G,context:H,reactData:te,internalData:ne},oe=vue.ref();let ae={};const se=vue.computed(()=>{const{disabled:ge}=G;return ge===null?Q?Q.props.readonly||Q.props.disabled:!1:ge}),le=vue.computed(()=>getFuncText(G.openLabel)),ce=vue.computed(()=>getFuncText(G.closeLabel)),de=vue.computed(()=>G.modelValue===G.openValue),ue=ge=>{X("update:modelValue",ge)},he=ge=>{if(!se.value){const $e=de.value;clearTimeout(ne.atTimeout);const Ee=$e?G.closeValue:G.openValue;te.hasAnimat=!0,ue(Ee),ae.dispatchEvent("change",{value:Ee},ge),Q&&K&&Q.triggerItemEvent(ge,K.itemConfig.field,Ee),ne.atTimeout=setTimeout(()=>{te.hasAnimat=!1,ne.atTimeout=void 0},400)}},fe=(ge,we,$e)=>{X(ge,createEvent$3($e,{$switch:re},we))},pe=ge=>{te.isActivated=!0,ae.dispatchEvent("focus",{value:G.modelValue},ge)},ve=ge=>{te.isActivated=!1,ae.dispatchEvent("blur",{value:G.modelValue},ge)};ae={dispatchEvent:fe,focus(){const ge=oe.value;return te.isActivated=!0,ge&&ge.focus(),vue.nextTick()},blur(){const ge=oe.value;return ge&&ge.blur(),te.isActivated=!1,vue.nextTick()}},Object.assign(re,ae);const me=()=>{const{openIcon:ge,closeIcon:we,openActiveIcon:$e,closeActiveIcon:Ee}=G,xe=ee.value,Me=de.value,De=le.value,ke=ce.value,Oe=se.value;return vue.h("div",{class:["vxe-switch",Me?"is--on":"is--off",{[`size--${xe}`]:xe,"is--disabled":Oe,"is--animat":te.hasAnimat}]},[vue.h("button",{ref:oe,class:"vxe-switch--button",type:"button",disabled:Oe,onClick:he,onFocus:pe,onBlur:ve},[vue.h("span",{class:"vxe-switch--label vxe-switch--label-on"},[ge?vue.h("i",{class:["vxe-switch--label-icon",ge]}):vue.createCommentVNode(),De]),vue.h("span",{class:"vxe-switch--label vxe-switch--label-off"},[we?vue.h("i",{class:["vxe-switch--label-icon",we]}):vue.createCommentVNode(),ke]),vue.h("span",{class:["vxe-switch--icon"]},$e||Ee?[vue.h("i",{class:Me?$e:Ee})]:[])])])};return re.renderVN=me,re},render(){return this.renderVN()}}),DefaultSettingFormComponent=vue.defineComponent({name:"DefaultSettingForm",props:{formData:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null);if(!H)return()=>[];const{props:X}=H;return()=>{const{formData:Q}=G;return vue.h(VxeFormComponent,{data:Q,span:24,vertical:!0,titleBold:!0},{default(){const{showPc:K,showMobile:Z}=X;return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.formName"),field:"title",itemRender:{name:"VxeInput",props:{placeholder:getI18n$e("vxe.formDesign.defFormTitle")}}}),K&&Z?vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.displaySetting.name")},{default(){return[vue.h("div",{class:"vxe-form-design--widget-form-item-devices"},[vue.h("div",{class:"vxe-form-design--widget-form-item-pc"},[vue.h(VxeTextComponent,{icon:getIcon$8().FORM_DESIGN_PROPS_PC,content:getI18n$e("vxe.formDesign.widgetProp.displaySetting.pc")}),vue.h(VxeSwitchComponent,{modelValue:Q.pcVisible,openLabel:getI18n$e("vxe.formDesign.widgetProp.displaySetting.visible"),closeLabel:getI18n$e("vxe.formDesign.widgetProp.displaySetting.hidden"),"onUpdate:modelValue"(ee){Q.pcVisible=ee}})]),vue.h("div",{class:"vxe-form-design--widget-form-item-mobile"},[vue.h(VxeTextComponent,{icon:getIcon$8().FORM_DESIGN_PROPS_MOBILE,content:getI18n$e("vxe.formDesign.widgetProp.displaySetting.mobile")}),vue.h(VxeSwitchComponent,{modelValue:Q.mobileVisible,openLabel:getI18n$e("vxe.formDesign.widgetProp.displaySetting.visible"),closeLabel:getI18n$e("vxe.formDesign.widgetProp.displaySetting.hidden"),"onUpdate:modelValue"(ee){Q.mobileVisible=ee}})])])]}}):vue.createCommentVNode()]}})}}}),LayoutSettingComponent$1=vue.defineComponent({name:"FormDesignLayoutSetting",props:{},emits:[],setup(){const G=vue.inject("$xeFormDesign",null);if(!G)return()=>[];const{props:H,reactData:X}=G,Q=vue.ref(1),K=()=>{const{activeWidget:ee}=X;if(ee){const te=renderer$c.get(ee.name),ne=te?te.renderFormDesignWidgetFormView:null;if(ne)return vue.h("div",{class:"vxe-form-design--custom-widget-form-view"},getSlotVNs(ne(ee,{isEditMode:!0,isViewMode:!1,widget:ee,$formDesign:G,$formView:null})))}return vue.createCommentVNode()},Z=()=>{const{formRender:ee}=H,{formData:te}=X;if(ee){const ne=renderer$c.get(ee.name),re=ne?ne.renderFormDesignSettingFormView:null;if(re)return vue.h("div",{class:"vxe-form-design--custom-setting-form-view"},getSlotVNs(re({},{$formDesign:G})))}return vue.h(DefaultSettingFormComponent,{formData:te})};return vue.watch(()=>X.activeWidget,()=>{Q.value=1}),()=>vue.h("div",{class:"vxe-form-design--setting"},[vue.h("div",{class:"vxe-form-design--setting-form"},[vue.h(VxeTabsComponent,{modelValue:Q.value,titleWidth:"50%",titleAlign:"center",padding:!0,class:"vxe-form-design--setting-form-tabs","onUpdate:modelValue"(ee){Q.value=ee}},{default(){return[vue.h(VxeTabPaneComponent,{title:getI18n$e("vxe.formDesign.widgetPropTab"),name:1},{default(){return K()}}),vue.h(VxeTabPaneComponent,{title:getI18n$e("vxe.formDesign.widgetFormTab"),name:2},{default(){return Z()}})]}})])])}}),allActiveModals=[],msgQueue=[],notifyQueue=[],lockScrollAttrKey="data-vxe-lock-scroll",lockScrollCssWidthKey="--vxe-ui-modal-lock-scroll-view-width",VxeModalComponent=vue.defineComponent({name:"VxeModal",props:{modelValue:Boolean,id:String,type:{type:String,default:"modal"},loading:{type:Boolean,default:null},status:String,iconStatus:String,className:String,top:{type:[Number,String],default:()=>getConfig$8().modal.top},position:[String,Object],title:String,duration:{type:[Number,String],default:()=>getConfig$8().modal.duration},content:[Number,String],showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>getConfig$8().modal.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>getConfig$8().modal.showConfirmButton},confirmButtonText:{type:String,default:()=>getConfig$8().modal.confirmButtonText},lockView:{type:Boolean,default:()=>getConfig$8().modal.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>getConfig$8().modal.mask},maskClosable:{type:Boolean,default:()=>getConfig$8().modal.maskClosable},escClosable:{type:Boolean,default:()=>getConfig$8().modal.escClosable},cancelClosable:{type:Boolean,default:()=>getConfig$8().modal.cancelClosable},confirmClosable:{type:Boolean,default:()=>getConfig$8().modal.confirmClosable},resize:Boolean,showHeader:{type:Boolean,default:()=>getConfig$8().modal.showHeader},showFooter:{type:Boolean,default:()=>getConfig$8().modal.showFooter},showZoom:Boolean,zoomConfig:Object,showMaximize:{type:Boolean,default:()=>handleBooleanDefaultValue(getConfig$8().modal.showMaximize)},showMinimize:{type:Boolean,default:()=>handleBooleanDefaultValue(getConfig$8().modal.showMinimize)},showClose:{type:Boolean,default:()=>getConfig$8().modal.showClose},dblclickZoom:{type:Boolean,default:()=>getConfig$8().modal.dblclickZoom},width:[Number,String],height:[Number,String],minWidth:{type:[Number,String],default:()=>getConfig$8().modal.minWidth},minHeight:{type:[Number,String],default:()=>getConfig$8().modal.minHeight},zIndex:Number,marginSize:{type:[Number,String],default:()=>getConfig$8().modal.marginSize},fullscreen:Boolean,draggable:{type:Boolean,default:()=>getConfig$8().modal.draggable},remember:{type:Boolean,default:()=>getConfig$8().modal.remember},destroyOnClose:{type:Boolean,default:()=>getConfig$8().modal.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>getConfig$8().modal.showTitleOverflow},transfer:{type:Boolean,default:()=>getConfig$8().modal.transfer},storage:{type:Boolean,default:()=>getConfig$8().modal.storage},storageKey:{type:String,default:()=>getConfig$8().modal.storageKey},padding:{type:Boolean,default:()=>getConfig$8().modal.padding},size:{type:String,default:()=>getConfig$8().modal.size||getConfig$8().size},beforeHideMethod:Function,slots:Object,message:[Number,String],animat:{type:Boolean,default:()=>getConfig$8().modal.animat}},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","zoom","resize","move"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.reactive({initialized:!1,visible:!1,contentVisible:!1,modalTop:0,modalZindex:0,prevZoomStatus:"",zoomStatus:"",revertLocat:null,prevLocat:null,firstOpen:!0}),te={msgTimeout:void 0},ne=vue.ref(),re=vue.ref(),oe=vue.ref(),ae=vue.ref(),se=vue.ref(),le={refElem:ne},ce=vue.computed(()=>G.type==="message"||G.type==="notification"),de=vue.computed(()=>ee.zoomStatus==="minimize"),ue=vue.computed(()=>ee.zoomStatus==="maximize"),he=vue.computed(()=>Object.assign({},getConfig$8().modal.zoomConfig,G.zoomConfig)),fe={computeSize:Z,computeZoomOpts:he},pe={xID:K,props:G,context:H,reactData:ee,internalData:te,getRefMaps:()=>le,getComputeMaps:()=>fe};let ve={};const me=()=>re.value,ge=()=>{const{width:ut,height:vt}=G,Qe=me();return Qe&&(Qe.style.width=toCssUnit(ut),Qe.style.height=toCssUnit(vt)),vue.nextTick()},we=()=>{const{zIndex:ut}=G,{modalZindex:vt}=ee;ut?ee.modalZindex=ut:vt<getLastZIndex()&&(ee.modalZindex=nextZIndex())},$e=()=>vue.nextTick().then(()=>{const{position:ut}=G,vt=XEUtils.toNumber(G.marginSize),Qe=me();if(!Qe)return;const ht=document.documentElement.clientWidth||document.body.clientWidth,et=document.documentElement.clientHeight||document.body.clientHeight,nt=ut==="center",{top:Ye,left:tt}=XEUtils.isString(ut)?{top:ut,left:ut}:Object.assign({},ut),Je=nt||Ye==="center",it=nt||tt==="center";let ft="",St="";tt&&!it?St=isNaN(tt)?tt:`${tt}px`:St=`${Math.max(vt,ht/2-Qe.offsetWidth/2)}px`,Ye&&!Je?ft=isNaN(Ye)?Ye:`${Ye}px`:ft=`${Math.max(vt,et/2-Qe.offsetHeight/2)}px`,Qe.style.top=ft,Qe.style.left=St}),Ee=()=>{vue.nextTick(()=>{const{type:ut}=G,vt=ut==="notification"?notifyQueue:msgQueue;let Qe=0;vt.forEach(ht=>{const et=ht.getBox();et&&(Qe+=XEUtils.toNumber(ht.props.top),ht.reactData.modalTop=Qe,Qe+=et.clientHeight)})})},xe=()=>{const{type:ut}=G,vt=ut==="notification"?notifyQueue:msgQueue;vt.indexOf(pe)>-1&&XEUtils.remove(vt,Qe=>Qe===pe),Ee()},Me=ut=>{const{remember:vt}=G,{visible:Qe}=ee,ht=ce.value,et=G.beforeHideMethod||getConfig$8().modal.beforeHideMethod,nt={type:ut};return Qe&&Promise.resolve(et?et(nt):null).then(Ye=>{XEUtils.isError(Ye)||(ht&&xe(),ee.contentVisible=!1,vt||Xe(),XEUtils.remove(allActiveModals,tt=>tt===pe),mt("before-hide",nt,null),setTimeout(()=>{ee.visible=!1,Q("update:modelValue",!1),mt("hide",nt,null)},200),Fe())}).catch(Ye=>Ye),vue.nextTick()},De=ut=>{const vt="close";mt(vt,{type:vt},ut),Me(vt)},ke=ut=>{const{confirmClosable:vt}=G,Qe="confirm";mt(Qe,{type:Qe},ut),vt&&Me(Qe)},Oe=ut=>{const{cancelClosable:vt}=G,Qe="cancel";mt(Qe,{type:Qe},ut),vt&&Me(Qe)},Ne=ut=>{const vt=getConfig$8().version,Qe=XEUtils.toStringJSON(localStorage.getItem(ut)||"");return Qe&&Qe._v===vt?Qe:{_v:vt}},_e=()=>{const{id:ut,remember:vt,storage:Qe,storageKey:ht}=G;return!!(ut&&vt&&Qe&&Ne(ht)[ut])},ye=()=>{const{id:ut,remember:vt,storage:Qe,storageKey:ht}=G;if(ut&&vt&&Qe){const et=Ne(ht)[ut];if(et){const nt=me(),[Ye,tt,Je,it,ft,St,kt,Nt]=et.split(",");nt&&(Ye&&(nt.style.left=`${Ye}px`),tt&&(nt.style.top=`${tt}px`),Je&&(nt.style.width=`${Je}px`),it&&(nt.style.height=`${it}px`)),ft&&St&&(ee.revertLocat={left:ft,top:St,width:kt,height:Nt})}}},Ce=()=>{const{type:ut}=G,vt=ut==="notification"?notifyQueue:msgQueue;vt.indexOf(pe)===-1&&vt.push(pe),Ee()},be=()=>{const{id:ut,remember:vt,storage:Qe,storageKey:ht}=G,{revertLocat:et}=ee;if(ut&&vt&&Qe){const nt=me();if(!nt)return;const Ye=Ne(ht);Ye[ut]=[nt.style.left,nt.style.top,nt.style.width,nt.style.height].concat(et?[et.left,et.top,et.width,et.height]:[]).map(tt=>tt?XEUtils.toNumber(tt):"").join(","),localStorage.setItem(ht,XEUtils.toJSONString(Ye))}},Te=()=>{const ut=he.value,{minimizeLayout:vt,minimizeMaxSize:Qe,minimizeHorizontalOffset:ht,minimizeVerticalOffset:et,minimizeOffsetMethod:nt}=ut,Ye=vt==="horizontal",tt=ee.zoomStatus,Je=[],it=[];allActiveModals.forEach(St=>{St.xID!==pe.xID&&St.props.type==="modal"&&St.reactData.zoomStatus==="minimize"&&(St.getComputeMaps().computeZoomOpts.value.minimizeLayout==="horizontal"?Je.push(St):it.push(St))});const ft=Ye?Je:it;return Qe&&ft.length>=Qe?(VxeUI.modal&&VxeUI.modal.message({status:"error",content:getI18n$e("vxe.modal.miniMaxSize",[Qe])}),vue.nextTick()):(ee.prevZoomStatus=tt,ee.zoomStatus="minimize",vue.nextTick().then(()=>{const St=me();if(!St)return;const kt=oe.value;if(!kt)return;const{visibleHeight:Nt}=getDomNode();tt||(ee.revertLocat={top:St.offsetTop,left:St.offsetLeft,width:St.offsetWidth+(St.style.width?0:1),height:St.offsetHeight+(St.style.height?0:1)});const Ht=XEUtils[Ye?"max":"min"](ft,Xt=>{const Yt=Xt.getBox();return Yt?XEUtils.toNumber(Yt.style[Ye?"left":"top"]):0});let Lt=Nt-kt.offsetHeight-16,Bt=16;if(Ht){const Xt=Ht.getBox();if(Xt){const Yt=XEUtils.toNumber(Xt.style.left),Jt=XEUtils.toNumber(Xt.style.top);let fn={};Ye?fn=Object.assign({},ht):fn=Object.assign({},et),Bt=Yt+XEUtils.toNumber(fn.left),Lt=Jt+XEUtils.toNumber(fn.top),nt&&(fn=nt({$modal:pe,left:Bt,top:Lt}),Bt=XEUtils.toNumber(fn.left),Lt=XEUtils.toNumber(fn.top))}}Object.assign(St.style,{top:`${Lt}px`,left:`${Bt}px`,width:"200px",height:`${kt.offsetHeight}px`}),be()}))},Ae=()=>{const ut=ee.zoomStatus;return ee.prevZoomStatus=ut,ee.zoomStatus="maximize",vue.nextTick().then(()=>{const vt=me();vt&&(ut||(ee.revertLocat={top:vt.offsetTop,left:vt.offsetLeft,width:vt.offsetWidth+(vt.style.width?0:1),height:vt.offsetHeight+(vt.style.height?0:1)}),Object.assign(vt.style,{top:"0",left:"0",width:"100%",height:"100%"})),be()})},Re=()=>{const{duration:ut}=G;ut!==-1&&(te.msgTimeout=setTimeout(()=>Me("close"),XEUtils.toNumber(ut)))},Fe=()=>{const ut=document.documentElement,vt=ut.getAttribute(lockScrollAttrKey);if(vt){const Qe=vt.split(",").filter(ht=>ht!==K);Qe.length?ut.setAttribute(lockScrollAttrKey,Qe.join(",")):(ut.removeAttribute(lockScrollAttrKey),ut.style.removeProperty(lockScrollCssWidthKey))}},Be=()=>{const{lockScroll:ut}=G,vt=ce.value;if(ut&&!vt){const Qe=document.documentElement,ht=document.body.clientWidth,et=Qe.getAttribute(lockScrollAttrKey),nt=et?et.split(","):[];nt.includes(K)||(nt.push(K),Qe.setAttribute(lockScrollAttrKey,nt.join(","))),Qe.style.setProperty(lockScrollCssWidthKey,`${ht}px`)}},je=()=>{const{remember:ut,showFooter:vt}=G,{initialized:Qe,visible:ht}=ee,et=ce.value;return Qe||(ee.initialized=!0),ht||(Be(),ee.visible=!0,ee.contentVisible=!1,we(),allActiveModals.push(pe),ut||vue.nextTick(()=>{ge()}),setTimeout(()=>{ee.contentVisible=!0,vue.nextTick(()=>{if(vt){const tt=ae.value,Je=se.value,it=tt||Je;it&&it.focus()}const Ye={type:""};Q("update:modelValue",!0),mt("show",Ye,null)})},10),et?(Ce(),Re()):vue.nextTick(()=>{const{fullscreen:nt}=G,{firstOpen:Ye}=ee;(!ut||Ye)&&$e().then(()=>{setTimeout(()=>$e(),20)}),Ye?(ee.firstOpen=!1,_e()?ye():nt&&vue.nextTick(()=>Ae())):nt&&vue.nextTick(()=>Ae())})),vue.nextTick()},Le=ut=>{const vt=ne.value;G.maskClosable&&ut.target===vt&&Me("mask")},Ue=()=>{const{msgTimeout:ut}=te;if(!ut)return;ce.value&&(clearTimeout(ut),te.msgTimeout=void 0)},Ie=()=>{const{msgTimeout:ut}=te;ut||ce.value&&Re()},Ve=ut=>{if(globalEvents$4.hasKey(ut,GLOBAL_EVENT_KEYS$3.ESCAPE)){const Qe=XEUtils.max(allActiveModals,ht=>ht.reactData.modalZindex);Qe&&setTimeout(()=>{if(Qe===pe&&Qe.props.escClosable){const ht="exit";mt("close",{type:ht},ut),Me(ht)}},10)}},ze=()=>ee.zoomStatus==="minimize",We=()=>ee.zoomStatus==="maximize",Xe=()=>(ee.prevZoomStatus=ee.zoomStatus,ee.zoomStatus="",vue.nextTick().then(()=>{const{revertLocat:ut}=ee;if(ut){const vt=me();return ee.revertLocat=null,vt&&Object.assign(vt.style,{top:`${ut.top}px`,left:`${ut.left}px`,width:`${ut.width}px`,height:`${ut.height}px`}),be(),vue.nextTick()}})),He=ut=>{const{zoomStatus:vt}=ee;return new Promise(Qe=>{if(ut){if(ut==="maximize"){Qe(Ae());return}if(ut==="minimize"){Qe(Te());return}Qe(Xe());return}Qe(vt?Xe():Ae())}).then(()=>ee.zoomStatus||"revert")},qe=ut=>{const{zoomStatus:vt,prevZoomStatus:Qe}=ee;return He(vt==="minimize"?Qe||"revert":"minimize").then(ht=>{mt("zoom",{type:ht},ut)})},at=ut=>He().then(vt=>{mt("zoom",{type:vt},ut)}),st=()=>{if(!ce.value){const vt=me();if(vt)return{top:vt.offsetTop,left:vt.offsetLeft}}return null},Ke=(ut,vt)=>{if(!ce.value){const ht=me();ht&&(XEUtils.isNumber(ut)&&(ht.style.top=`${ut}px`),XEUtils.isNumber(vt)&&(ht.style.left=`${vt}px`))}return vue.nextTick()},dt=()=>{const{modalZindex:ut}=ee;allActiveModals.some(vt=>vt.reactData.visible&&vt.reactData.modalZindex>ut)&&we()},wt=ut=>{const{remember:vt,storage:Qe}=G,{zoomStatus:ht}=ee,et=XEUtils.toNumber(G.marginSize),nt=me();if(nt&&ht!=="maximize"&&ut.button===0&&!getEventTargetNode(ut,nt,"trigger--btn").flag){ut.preventDefault();const Ye=document.onmousemove,tt=document.onmouseup,Je=ut.clientX-nt.offsetLeft,it=ut.clientY-nt.offsetTop,{visibleHeight:ft,visibleWidth:St}=getDomNode();document.onmousemove=kt=>{kt.preventDefault();const Nt=nt.offsetWidth,Ht=nt.offsetHeight,Lt=et,Bt=St-Nt-et-1,Xt=et,Yt=ft-Ht-et-1;let Jt=kt.clientX-Je,fn=kt.clientY-it;Jt>Bt&&(Jt=Bt),Jt<Lt&&(Jt=Lt),fn>Yt&&(fn=Yt),fn<Xt&&(fn=Xt),nt.style.left=`${Jt}px`,nt.style.top=`${fn}px`,nt.className=nt.className.replace(/\s?is--drag/,"")+" is--drag",mt("move",{type:"move"},kt)},document.onmouseup=()=>{document.onmousemove=Ye,document.onmouseup=tt,vt&&Qe&&vue.nextTick(()=>{be()}),setTimeout(()=>{nt.className=nt.className.replace(/\s?is--drag/,"")},50)}}},$t=ut=>{ut.preventDefault();const{remember:vt,storage:Qe}=G,{visibleHeight:ht,visibleWidth:et}=getDomNode(),nt=XEUtils.toNumber(G.marginSize),tt=ut.target.getAttribute("type"),Je=XEUtils.toNumber(G.minWidth),it=XEUtils.toNumber(G.minHeight),ft=et,St=ht,kt=me(),Nt=document.onmousemove,Ht=document.onmouseup,Lt=kt.clientWidth,Bt=kt.clientHeight,Xt=ut.clientX,Yt=ut.clientY,Jt=kt.offsetTop,fn=kt.offsetLeft,mn={type:"resize"};document.onmousemove=cn=>{cn.preventDefault();let kn,Tt,gt,Rt;switch(tt){case"wl":kn=Xt-cn.clientX,gt=kn+Lt,fn-kn>nt&&gt>Je&&(kt.style.width=`${gt<ft?gt:ft}px`,kt.style.left=`${fn-kn}px`);break;case"swst":kn=Xt-cn.clientX,Tt=Yt-cn.clientY,gt=kn+Lt,Rt=Tt+Bt,fn-kn>nt&&gt>Je&&(kt.style.width=`${gt<ft?gt:ft}px`,kt.style.left=`${fn-kn}px`),Jt-Tt>nt&&Rt>it&&(kt.style.height=`${Rt<St?Rt:St}px`,kt.style.top=`${Jt-Tt}px`);break;case"swlb":kn=Xt-cn.clientX,Tt=cn.clientY-Yt,gt=kn+Lt,Rt=Tt+Bt,fn-kn>nt&&gt>Je&&(kt.style.width=`${gt<ft?gt:ft}px`,kt.style.left=`${fn-kn}px`),Jt+Rt+nt<ht&&Rt>it&&(kt.style.height=`${Rt<St?Rt:St}px`);break;case"st":Tt=Yt-cn.clientY,Rt=Bt+Tt,Jt-Tt>nt&&Rt>it&&(kt.style.height=`${Rt<St?Rt:St}px`,kt.style.top=`${Jt-Tt}px`);break;case"wr":kn=cn.clientX-Xt,gt=kn+Lt,fn+gt+nt<et&&gt>Je&&(kt.style.width=`${gt<ft?gt:ft}px`);break;case"sest":kn=cn.clientX-Xt,Tt=Yt-cn.clientY,gt=kn+Lt,Rt=Tt+Bt,fn+gt+nt<et&&gt>Je&&(kt.style.width=`${gt<ft?gt:ft}px`),Jt-Tt>nt&&Rt>it&&(kt.style.height=`${Rt<St?Rt:St}px`,kt.style.top=`${Jt-Tt}px`);break;case"selb":kn=cn.clientX-Xt,Tt=cn.clientY-Yt,gt=kn+Lt,Rt=Tt+Bt,fn+gt+nt<et&&gt>Je&&(kt.style.width=`${gt<ft?gt:ft}px`),Jt+Rt+nt<ht&&Rt>it&&(kt.style.height=`${Rt<St?Rt:St}px`);break;case"sb":Tt=cn.clientY-Yt,Rt=Tt+Bt,Jt+Rt+nt<ht&&Rt>it&&(kt.style.height=`${Rt<St?Rt:St}px`);break}kt.className=kt.className.replace(/\s?is--drag/,"")+" is--drag",vt&&Qe&&be(),mt("resize",mn,cn)},document.onmouseup=()=>{ee.revertLocat=null,document.onmousemove=Nt,document.onmouseup=Ht,setTimeout(()=>{kt.className=kt.className.replace(/\s?is--drag/,"")},50)}},mt=(ut,vt,Qe)=>{Q(ut,createEvent$3(Qe,{$modal:pe},vt))};ve={dispatchEvent:mt,open:je,close(){return Me("close")},getBox:me,getPosition:st,setPosition:Ke,isMinimized:ze,isMaximized:We,zoom:He,minimize:Te,maximize:Ae,revert:Xe},Object.assign(pe,ve);const bt=()=>{const{slots:ut={},showClose:vt,showZoom:Qe,showMaximize:ht,showMinimize:et,title:nt}=G,{zoomStatus:Ye}=ee,tt=X.title||ut.title,Je=X.corner||ut.corner,it=de.value,ft=ue.value;return[vue.h("div",{class:"vxe-modal--header-title"},tt?getSlotVNs(tt({$modal:pe,minimized:it,maximized:ft})):nt?getFuncText(nt):getI18n$e("vxe.alert.title")),vue.h("div",{class:"vxe-modal--header-right"},[Je&&!it?vue.h("div",{class:"vxe-modal--corner-wrapper"},getSlotVNs(Je({$modal:pe}))):vue.createCommentVNode(),(XEUtils.isBoolean(et)?et:Qe)?vue.h("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:getI18n$e(`vxe.modal.zoom${Ye==="minimize"?"Out":"Min"}`),onClick:qe},[vue.h("i",{class:Ye==="minimize"?getIcon$8().MODAL_ZOOM_REVERT:getIcon$8().MODAL_ZOOM_MIN})]):vue.createCommentVNode(),(XEUtils.isBoolean(ht)?ht:Qe)&&Ye!=="minimize"?vue.h("div",{class:["vxe-modal--zoom-btn","trigger--btn"],title:getI18n$e(`vxe.modal.zoom${Ye==="maximize"?"Out":"In"}`),onClick:at},[vue.h("i",{class:Ye==="maximize"?getIcon$8().MODAL_ZOOM_OUT:getIcon$8().MODAL_ZOOM_IN})]):vue.createCommentVNode(),vt?vue.h("div",{class:["vxe-modal--close-btn","trigger--btn"],title:getI18n$e("vxe.modal.close"),onClick:De},[vue.h("i",{class:getIcon$8().MODAL_CLOSE})]):vue.createCommentVNode()])]},Ot=()=>{const{slots:ut={},showZoom:vt,showMaximize:Qe,draggable:ht}=G,et=ce.value,nt=X.header||ut.header;if(G.showHeader){const Ye={};return ht&&(Ye.onMousedown=wt),(XEUtils.isBoolean(Qe)?Qe:vt)&&G.dblclickZoom&&G.type==="modal"&&(Ye.onDblclick=at),vue.h("div",Object.assign({ref:oe,class:["vxe-modal--header",{"is--ellipsis":!et&&G.showTitleOverflow}]},Ye),nt?getSlotVNs(nt({$modal:pe})):bt())}return vue.createCommentVNode()},It=()=>{const{slots:ut={},status:vt,message:Qe,iconStatus:ht}=G,et=G.content||Qe,nt=ce.value,Ye=X.default||ut.default,tt=X.left||ut.left,Je=X.right||ut.right,it=[];return!nt&&(vt||ht)&&it.push(vue.h("div",{class:"vxe-modal--status-wrapper"},[vue.h("i",{class:["vxe-modal--status-icon",ht||getIcon$8()[`MODAL_${vt}`.toLocaleUpperCase()]]})])),it.push(vue.h("div",{class:"vxe-modal--content"},Ye?getSlotVNs(Ye({$modal:pe})):getFuncText(et))),vue.h("div",{class:"vxe-modal--body"},[tt?vue.h("div",{class:"vxe-modal--body-left"},getSlotVNs(tt({$modal:pe}))):vue.createCommentVNode(),vue.h("div",{class:"vxe-modal--body-default"},it),Je?vue.h("div",{class:"vxe-modal--body-right"},getSlotVNs(Je({$modal:pe}))):vue.createCommentVNode(),nt?vue.createCommentVNode():vue.h(VxeLoading,{class:"vxe-modal--loading",modelValue:G.loading})])},yt=()=>{const{slots:ut={},showCancelButton:vt,showConfirmButton:Qe,type:ht,loading:et}=G,nt=X.leftfoot||ut.leftfoot,Ye=X.rightfoot||ut.rightfoot,tt=[];return(XEUtils.isBoolean(vt)?vt:ht==="confirm")&&tt.push(vue.h(VxeButtonComponent,{key:1,ref:se,content:G.cancelButtonText||getI18n$e("vxe.button.cancel"),onClick:Oe})),(XEUtils.isBoolean(Qe)?Qe:ht==="confirm"||ht==="alert")&&tt.push(vue.h(VxeButtonComponent,{key:2,ref:ae,loading:et,status:"primary",content:G.confirmButtonText||getI18n$e("vxe.button.confirm"),onClick:ke})),vue.h("div",{class:"vxe-modal--footer-wrapper"},[vue.h("div",{class:"vxe-modal--footer-left"},nt?getSlotVNs(nt({$modal:pe})):[]),vue.h("div",{class:"vxe-modal--footer-right"},Ye?getSlotVNs(Ye({$modal:pe})):tt)])},Et=()=>{const{slots:ut={}}=G,vt=X.footer||ut.footer;return G.showFooter?vue.h("div",{class:"vxe-modal--footer"},vt?getSlotVNs(vt({$modal:pe})):[yt()]):vue.createCommentVNode()},Vt=()=>{const{slots:ut={},className:vt,type:Qe,animat:ht,draggable:et,iconStatus:nt,position:Ye,loading:tt,destroyOnClose:Je,status:it,lockScroll:ft,padding:St,lockView:kt,mask:Nt,resize:Ht}=G,{initialized:Lt,modalTop:Bt,contentVisible:Xt,visible:Yt,zoomStatus:Jt}=ee,fn=X.aside||ut.aside,mn=Z.value,cn=ce.value,kn=de.value,Tt={};return cn&&(Tt.onMouseover=Ue,Tt.onMouseout=Ie),vue.h(vue.Teleport,{to:"body",disabled:G.transfer?!Lt:!0},[vue.h("div",Object.assign({ref:ne,class:["vxe-modal--wrapper",`type--${Qe}`,`zoom--${Jt||"revert"}`,vt||"",Ye?`pos--${Ye}`:"",{[`size--${mn}`]:mn,[`status--${it}`]:it,"is--padding":St,"is--animat":ht,"lock--scroll":ft,"lock--view":kt,"is--draggable":et,"is--resize":Ht,"is--mask":Nt,"is--visible":Xt,"is--active":Yt,"is--loading":tt}],style:{zIndex:ee.modalZindex,top:Bt?`${Bt}px`:null},onClick:Le},Tt),[vue.h("div",{ref:re,class:"vxe-modal--box",onMousedown:dt},[(cn||fn)&&!kn?vue.h("div",{class:"vxe-modal--aside"},fn?getSlotVNs(fn({$modal:pe})):[it||nt?vue.h("div",{class:"vxe-modal--status-wrapper"},[vue.h("i",{class:["vxe-modal--status-icon",nt||getIcon$8()[`MODAL_${it}`.toLocaleUpperCase()]]})]):vue.createCommentVNode()]):vue.createCommentVNode(),vue.h("div",{class:"vxe-modal--container"},!ee.initialized||Je&&!ee.visible?[]:[Ot(),It(),Et(),!cn&&Ht?vue.h("span",{class:"vxe-modal--resize"},["wl","wr","swst","sest","st","swlb","selb","sb"].map(gt=>vue.h("span",{class:`${gt}-resize`,type:gt,onMousedown:$t}))):vue.createCommentVNode()])])])])};return pe.renderVN=Vt,vue.watch(()=>G.width,ge),vue.watch(()=>G.height,ge),vue.watch(()=>G.modelValue,ut=>{ut?je():Me("model")}),vue.onMounted(()=>{process.env.NODE_ENV==="development"&&G.type==="modal"&&G.showFooter&&!(G.showConfirmButton||G.showCancelButton||X.footer)&&warnLog("vxe.modal.footPropErr"),vue.nextTick(()=>{G.storage&&!G.id&&errLog("vxe.error.reqProp",["modal.id"]),G.modelValue&&je(),ge()}),G.escClosable&&globalEvents$4.on(pe,"keydown",Ve)}),vue.onUnmounted(()=>{globalEvents$4.off(pe,"keydown"),xe(),Fe()}),vue.provide("$xeModal",pe),pe},render(){return this.renderVN()}}),getDefaultSettingFormData$1=G=>({title:"",pcVisible:G?!!G.pcVisible:!0,pcVertical:!0,pcTitleBold:!0,pcTitleColon:!1,pcTitleAlign:"",pcTitleWidth:"",pcTitleWidthUnit:"",mobileVisible:G?!!G.mobileVisible:!0,mobileVertical:!0,mobileTitleBold:!0,mobileTitleColon:!1,mobileTitleAlign:"",mobileTitleWidth:"",mobileTitleWidthUnit:""}),createDefaultFormViewPCFormConfig=G=>{const{formConfig:H}=G;return{vertical:H.pcVertical,titleBold:H.pcTitleBold,titleColon:H.pcTitleColon,titleAlign:H.pcTitleAlign,titleWidth:H.pcTitleWidth}},createDefaultFormViewMobileFormConfig=G=>{const{formConfig:H}=G;return{vertical:H.mobileVertical,titleBold:H.mobileTitleBold,titleColon:H.mobileTitleColon,titleAlign:H.mobileTitleAlign,titleWidth:H.mobileTitleWidth}},VxeFormGroupComponent=vue.defineComponent({name:"VxeFormGroup",props:formItemProps,setup(G,H){const{slots:X}=H,Q=vue.ref(),K=vue.inject("$xeForm",{}),Z=vue.inject("$xeFormGroup",null),ee=vue.reactive(createItem(K,G));ee.slots=X,ee.children=[];const te={itemConfig:ee};vue.provide("xeFormItemInfo",te);const re={formItem:ee,renderVN:()=>{const oe=K.props,ae=ee,{data:se,readonly:le,disabled:ce}=oe,{visible:de,field:ue,itemRender:he,contentStyle:fe}=ae,pe=isEnableConf(he)?renderer$c.get(he.name):null,ve=pe?pe.formItemStyle||pe.itemStyle:null,me=pe?pe.formItemContentStyle||pe.itemContentStyle:null,ge=X?X.default:null,we={data:se,disabled:ce,readonly:le,field:ue,property:ue,item:ae,$form:K,$grid:K.xegrid};return de===!1?vue.createCommentVNode():vue.h("div",{ref:Q,key:ae.id,class:getItemClass(K,ae,!0),style:XEUtils.isFunction(ve)?ve(we):ve},[renderTitle(K,ae,!0),vue.h("div",{class:getItemContentClass(K,ae,!0),style:Object.assign({},XEUtils.isFunction(me)?me(we):me,XEUtils.isFunction(fe)?fe(we):fe)},ge?ge({}):[])])}};return watchItem(G,ee),vue.onMounted(()=>{const oe=Q.value;assembleItem(K,oe,ee,Z)}),vue.onUnmounted(()=>{destroyItem(K,ee)}),vue.provide("$xeFormGroup",re),vue.provide("$xeFormItem",null),re},render(){return this.renderVN()}}),VxeFormViewComponent=vue.defineComponent({name:"VxeFormView",props:{modelValue:Object,config:Object,readonly:Boolean,disabled:Boolean,viewRender:Object,formOptions:Object,createFormConfig:Function,size:{type:String,default:()=>getConfig$8().formView.size||getConfig$8().size}},emits:["update:modelValue","submit","reset"],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.ref(),{computeSize:te}=useSize(G),ne=vue.inject("$xeFormDesignLayoutStyle",null),re=vue.reactive({formConfig:{},formRules:{},widgetObjList:[]}),oe={refElem:Z},ae={computeSize:te},se={xID:K,props:G,context:H,reactData:re,getRefMaps:()=>oe,getComputeMaps:()=>ae},le=()=>ce({formConfig:{},widgetData:[]}),ce=ye=>{if(ye){const{formConfig:Ce,widgetData:be}=ye;he(Ce||{}),ve(be||[])}return vue.nextTick()},de=ye=>{const{formConfig:Ce,widgetData:be}=ye||{},Te=pe(be||[]);return Object.assign(Object.assign({},fe(Te)),{formConfig:ue(Ce||{}),widgetData:Te})},ue=ye=>{const{viewRender:Ce,createFormConfig:be,formOptions:Te}=G,Ae={viewRender:Ce,formConfig:ye};if(be)return be(Ae);const{name:Re}=Ce||{},Fe=renderer$c.get(Re)||{},Be=Fe?Fe.createFormViewFormConfig:null;return Object.assign({},Be?Be(Ae):createDefaultFormViewPCFormConfig(Ae),Te)},he=ye=>(re.formConfig=ue(ye),vue.nextTick()),fe=ye=>{const Ce={},be={};return XEUtils.eachTree(ye,Te=>{const{name:Ae,field:Re,required:Fe}=Te,Be=renderer$c.get(Ae)||{},je=Be.createFormDesignWidgetFieldValue,Le=Be.createFormDesignWidgetFieldRules;if(Ce[Re]=je?je({widget:Te,$formView:se}):me(Te),Le){const Ue=Le({widget:Te,$formView:se});Ue&&Ue.length&&(be[Re]=Ue)}else Fe&&(be[Re]=ge())},{children:"children"}),{formData:Ce,formRules:be}},pe=ye=>(ye||[]).map(Ce=>configToWidget(Ce)),ve=ye=>{const Ce=pe(ye);re.widgetObjList=Ce;const{formData:be,formRules:Te}=fe(Ce);return re.formRules=Te,X("update:modelValue",Object.assign(be,G.modelValue)),vue.nextTick()},me=ye=>{switch(ye.name){case"subtable":return[]}return null},ge=()=>[{required:!0,content:"该填写该字段!"}],we=(ye,Ce)=>{const{field:be}=ye,Te=ee.value;return Te&&Te.updateStatus({field:be},Ce),vue.nextTick()},$e=(ye,Ce)=>{const{modelValue:be}=G,{field:Te}=ye,Ae=ee.value;return be&&(be[Te]=Ce),Ae&&Ae.updateStatus({field:Te},Ce),vue.nextTick()},Ee=ye=>{const{modelValue:Ce}=G;return Ce?Ce[ye.field]:null},xe=(ye,Ce,be)=>{X(ye,createEvent$3(be,{$formView:se},Ce))},Me=ye=>ye?XEUtils.isArray(ye)?ye.map(Ce=>Ce.name):[ye.name]:null,De={dispatchEvent:xe,clearConfig:le,loadConfig:ce,parseConfig:de,loadFormConfig:he,loadWidgetData:ve,updateWidgetStatus:we,setItemValue:$e,getItemValue:Ee,validate(){const ye=ee.value;return ye?ye.validate():vue.nextTick()},validateWidget(ye){const Ce=ee.value;return Ce?Ce.validateField(Me(ye)):vue.nextTick()},clearValidate(ye){const Ce=ee.value;return Ce?Ce.clearValidate(Me(ye)):vue.nextTick()},reset(){const{widgetObjList:ye}=re,{formData:Ce}=fe(ye);return X("update:modelValue",Object.assign({},Ce)),vue.nextTick()},updateItemStatus(ye,Ce){return process.env.NODE_ENV==="development"&&warnLog("vxe.error.delFunc",["updateItemStatus","updateWidgetStatus"]),we(ye,Ce)}},ke=ye=>{xe("submit",ye,ye.$event)},Oe=ye=>{xe("reset",ye,ye.$event)};Object.assign(se,De,{});const _e=()=>{const{readonly:ye,disabled:Ce,modelValue:be}=G,{formConfig:Te,formRules:Ae,widgetObjList:Re}=re,Fe=te.value,Be=Q.top,je=Q.bottom,Le=Q.header,Ue=Q.footer;return vue.h("div",{ref:Z,class:["vxe-form-view",{[`size--${Fe}`]:Fe}]},[Be?vue.h("div",{class:"vxe-form-view--top"},getSlotVNs(Be({$formView:se}))):vue.createCommentVNode(),vue.h(VxeFormComponent,Object.assign(Object.assign({ref:ee},Te),{data:be,customLayout:!0,readonly:ye,disabled:Ce,span:24,rules:Ae,onSubmit:ke,onReset:Oe}),{default(){const{readonly:Ie,disabled:Ve}=G;return[Le?vue.h(VxeFormItemComponent,{},{default(){return Le({})}}):vue.createCommentVNode(),...Re.map(ze=>{const{name:We}=ze,Xe=renderer$c.get(We)||{},He=Xe.renderFormDesignWidgetView,qe=Xe.renderFormDesignWidgetPreview,at=Xe.renderFormDesignWidgetMobilePreview,st=!!ne,Ke=ze,dt={widget:ze,readonly:!!Ie,disabled:!!Ve,isEditMode:st,isViewMode:!st,$formDesign:null,$formView:se};return vue.h(VxeFormGroupComponent,{key:ze.id},{default(){if(ne){if(ne.reactData.activeTab===2){if(at)return getSlotVNs(at(Ke,dt))}else if(qe)return getSlotVNs(qe(Ke,dt))}return He?getSlotVNs(He(Ke,dt)):[]}})}),Ue?vue.h(VxeFormGroupComponent,{span:24},{default(){return Ue({})}}):vue.createCommentVNode()]}}),je?vue.h("div",{class:"vxe-form-view--bottom"},getSlotVNs(je({$formView:se}))):vue.createCommentVNode()])};return se.renderVN=_e,vue.watch(()=>G.config,ye=>{ce(ye||{})}),G.config&&ce(G.config),vue.provide("$xeFormView",se),se},render(){return this.renderVN()}});function handleNumber(G){return XEUtils.isString(G)?G.replace(/,/g,""):G}function toFloatValueFixed(G,H){return/^-/.test(""+G)?XEUtils.toFixed(XEUtils.ceil(G,H),H):XEUtils.toFixed(XEUtils.floor(G,H),H)}const VxeInputComponent=vue.defineComponent({name:"VxeInput",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"text"},clearable:{type:Boolean,default:()=>getConfig$8().input.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,maxLength:[String,Number],autoComplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:()=>getConfig$8().input.size||getConfig$8().size},multiple:Boolean,showWordCount:Boolean,countMethod:Function,min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>getConfig$8().input.exponential},controls:{type:Boolean,default:()=>getConfig$8().input.controls},digits:{type:[String,Number],default:()=>getConfig$8().input.digits},startDate:{type:[String,Number,Date],default:()=>getConfig$8().input.startDate},endDate:{type:[String,Number,Date],default:()=>getConfig$8().input.endDate},minDate:[String,Number,Date],maxDate:[String,Number,Date],startWeek:Number,startDay:{type:[String,Number],default:()=>getConfig$8().input.startDay},labelFormat:String,valueFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>getConfig$8().input.festivalMethod},disabledMethod:{type:Function,default:()=>getConfig$8().input.disabledMethod},selectDay:{type:[String,Number],default:()=>getConfig$8().input.selectDay},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","search-click","toggle-visible","prev-number","next-number","prefix-click","suffix-click","date-prev","date-today","date-next"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeSelect",null),Z=vue.inject("$xeTreeSelect",null),ee=vue.inject("$xeModal",null),te=vue.inject("$xeDrawer",null),ne=vue.inject("$xeTable",null),re=vue.inject("$xeForm",null),oe=vue.inject("xeFormItemInfo",null),ae=XEUtils.uniqueId(),{computeSize:se}=useSize(G),le=vue.reactive({initialized:!1,panelIndex:0,showPwd:!1,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:G.modelValue,datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),ce={yearSize:12,monthSize:20,quarterSize:8,hpTimeout:void 0,dnTimeout:void 0},de=vue.ref(),ue=vue.ref(),he=vue.ref(),fe=vue.ref(),pe=vue.ref(),ve={refElem:de,refInput:ue},me={xID:ae,props:G,context:H,reactData:le,internalData:ce,getRefMaps:()=>ve};let ge={};const we=(xt,Gt)=>{const{type:Zt}=G;return Zt==="time"?toStringTimeDate(xt):XEUtils.toStringDate(xt,Gt)},$e=vue.computed(()=>{const{transfer:xt}=G;if(xt===null){const Gt=getConfig$8().input.transfer;if(XEUtils.isBoolean(Gt))return Gt;if(ne||ee||te||re)return!0}return xt}),Ee=vue.computed(()=>re?re.props.readonly:!1),xe=vue.computed(()=>{const{readonly:xt}=G;return xt}),Me=vue.computed(()=>{const{disabled:xt}=G;return xt===null?re?re.props.disabled:!1:xt}),De=vue.computed(()=>{const{maxLength:xt,maxlength:Gt}=G,Zt=xt||Gt;return Oe.value&&!XEUtils.toNumber(Zt)?16:Zt}),ke=vue.computed(()=>{const{type:xt}=G;return xt==="time"||xt==="datetime"}),Oe=vue.computed(()=>["number","integer","float"].indexOf(G.type)>-1),Ne=vue.computed(()=>XEUtils.getSize(le.inputValue)),_e=vue.computed(()=>{const xt=Ne.value,Gt=De.value;return Gt&&xt>XEUtils.toNumber(Gt)}),ye=vue.computed(()=>ke.value||["date","week","month","quarter","year"].indexOf(G.type)>-1),Ce=vue.computed(()=>G.type==="password"),be=vue.computed(()=>G.type==="search"),Te=vue.computed(()=>XEUtils.toInteger(G.digits)||1),Ae=vue.computed(()=>{const{type:xt}=G,Gt=Te.value,Zt=G.step;return xt==="integer"?XEUtils.toInteger(Zt)||1:xt==="float"?XEUtils.toNumber(Zt)||1/Math.pow(10,Gt):XEUtils.toNumber(Zt)||1}),Re=vue.computed(()=>{const{type:xt}=G,Gt=Oe.value,Zt=ye.value,wn=Ce.value;return G.clearable&&(wn||Gt||Zt||xt==="text"||xt==="search")}),Fe=vue.computed(()=>G.startDate?XEUtils.toStringDate(G.startDate):null),Be=vue.computed(()=>G.endDate?XEUtils.toStringDate(G.endDate):null),je=vue.computed(()=>["date","week","month","quarter","year"].indexOf(G.type)>-1),Le=vue.computed(()=>{const{modelValue:xt,multiple:Gt}=G,Zt=ye.value,wn=Ve.value;return Gt&&xt&&Zt?XEUtils.toValueString(xt).split(",").map(Dn=>{const Tn=we(Dn,wn);return XEUtils.isValidDate(Tn)?Tn:null}):[]}),Ue=vue.computed(()=>{const xt=Le.value,Gt=Ve.value;return xt.map(Zt=>XEUtils.toDateString(Zt,Gt))}),Ie=vue.computed(()=>{const xt=Le.value,Gt=at.value;return xt.map(Zt=>XEUtils.toDateString(Zt,Gt)).join(", ")}),Ve=vue.computed(()=>{const{type:xt,valueFormat:Gt}=G;return Gt||(xt==="time"?"HH:mm:ss":xt==="datetime"?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")}),ze=vue.computed(()=>{const{modelValue:xt}=G,Gt=ye.value,Zt=Ve.value;let wn=null;if(xt&&Gt){const Dn=we(xt,Zt);XEUtils.isValidDate(Dn)&&(wn=Dn)}return wn}),We=vue.computed(()=>{const xt=Fe.value,{selectMonth:Gt}=le;return Gt&&xt?Gt<=xt:!1}),Xe=vue.computed(()=>{const xt=Be.value,{selectMonth:Gt}=le;return Gt&&xt?Gt>=xt:!1}),He=vue.computed(()=>{const{datetimePanelValue:xt}=le,Gt=nt.value;return xt?XEUtils.toDateString(xt,Gt?"HH:mm:ss":"HH:mm"):""}),qe=vue.computed(()=>{const xt=ze.value,Gt=ke.value;return xt&&Gt?(xt.getHours()*3600+xt.getMinutes()*60+xt.getSeconds())*1e3:0}),at=vue.computed(()=>{const{labelFormat:xt}=G;return ye.value?xt||getI18n$e(`vxe.input.date.labelFormat.${G.type}`):""}),st=vue.computed(()=>{const{selectMonth:xt,currentDate:Gt}=le,{yearSize:Zt}=ce,wn=[];if(xt&&Gt){const Dn=Gt.getFullYear(),Tn=xt.getFullYear(),qn=new Date(Tn-Tn%Zt,0,1);for(let Rn=-4;Rn<Zt+4;Rn++){const an=XEUtils.getWhatYear(qn,Rn,"first"),An=an.getFullYear();wn.push({date:an,isCurrent:!0,isPrev:Rn<0,isNow:Dn===An,isNext:Rn>=Zt,year:An})}}return wn}),Ke=vue.computed(()=>{if(ye.value){const{datePanelType:Gt,selectMonth:Zt}=le,wn=st.value;let Dn="",Tn;return Zt&&(Dn=Zt.getFullYear(),Tn=Zt.getMonth()+1),Gt==="quarter"?getI18n$e("vxe.input.date.quarterLabel",[Dn]):Gt==="month"?getI18n$e("vxe.input.date.monthLabel",[Dn]):Gt==="year"?wn.length?`${wn[0].year} - ${wn[wn.length-1].year}`:"":getI18n$e("vxe.input.date.dayLabel",[Dn,Tn?getI18n$e(`vxe.input.date.m${Tn}`):"-"])}return""}),dt=vue.computed(()=>{const{startDay:xt,startWeek:Gt}=G;return XEUtils.toNumber(XEUtils.isNumber(xt)||XEUtils.isString(xt)?xt:Gt)}),wt=vue.computed(()=>{const xt=[];if(ye.value){let Zt=dt.value;xt.push(Zt);for(let wn=0;wn<6;wn++)Zt>=6?Zt=0:Zt++,xt.push(Zt)}return xt}),$t=vue.computed(()=>ye.value?wt.value.map(Zt=>({value:Zt,label:getI18n$e(`vxe.input.date.weeks.w${Zt}`)})):[]),mt=vue.computed(()=>{if(ye.value){const Gt=$t.value;return[{label:getI18n$e("vxe.input.date.weeks.w")}].concat(Gt)}return[]}),bt=vue.computed(()=>{const xt=st.value;return XEUtils.chunk(xt,4)}),Ot=vue.computed(()=>{const{selectMonth:xt,currentDate:Gt}=le,{quarterSize:Zt}=ce,wn=[];if(xt&&Gt){const Dn=Gt.getFullYear(),Tn=getDateQuarter(Gt),qn=XEUtils.getWhatYear(xt,0,"first"),Rn=qn.getFullYear();for(let an=-2;an<Zt-2;an++){const An=XEUtils.getWhatQuarter(qn,an),er=An.getFullYear(),sr=getDateQuarter(An),Sr=er<Rn;wn.push({date:An,isPrev:Sr,isCurrent:er===Rn,isNow:er===Dn&&sr===Tn,isNext:!Sr&&er>Rn,quarter:sr})}}return wn}),It=vue.computed(()=>{const xt=Ot.value;return XEUtils.chunk(xt,2)}),yt=vue.computed(()=>{const{selectMonth:xt,currentDate:Gt}=le,{monthSize:Zt}=ce,wn=[];if(xt&&Gt){const Dn=Gt.getFullYear(),Tn=Gt.getMonth(),qn=XEUtils.getWhatYear(xt,0,"first").getFullYear();for(let Rn=-4;Rn<Zt-4;Rn++){const an=XEUtils.getWhatYear(xt,0,Rn),An=an.getFullYear(),er=an.getMonth(),sr=An<qn;wn.push({date:an,isPrev:sr,isCurrent:An===qn,isNow:An===Dn&&er===Tn,isNext:!sr&&An>qn,month:er})}}return wn}),Et=vue.computed(()=>{const xt=yt.value;return XEUtils.chunk(xt,4)}),Vt=vue.computed(()=>{const{selectMonth:xt,currentDate:Gt}=le,Zt=[];if(xt&&Gt){const wn=qe.value,Dn=wt.value,Tn=Gt.getFullYear(),qn=Gt.getMonth(),Rn=Gt.getDate(),an=xt.getFullYear(),An=xt.getMonth(),er=xt.getDay(),sr=-Dn.indexOf(er),Sr=new Date(XEUtils.getWhatDay(xt,sr).getTime()+wn);for(let jr=0;jr<42;jr++){const Gr=XEUtils.getWhatDay(Sr,jr),Fr=Gr.getFullYear(),Pr=Gr.getMonth(),Ur=Gr.getDate(),ro=Gr<xt;Zt.push({date:Gr,isPrev:ro,isCurrent:Fr===an&&Pr===An,isNow:Fr===Tn&&Pr===qn&&Ur===Rn,isNext:!ro&&An!==Pr,label:Ur})}}return Zt}),ut=vue.computed(()=>{const xt=Vt.value;return XEUtils.chunk(xt,7)}),vt=vue.computed(()=>{const xt=ut.value,Gt=dt.value;return xt.map(Zt=>{const wn=Zt[0];return[{date:wn.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:XEUtils.getYearWeek(wn.date,Gt)}].concat(Zt)})}),Qe=vue.computed(()=>{const xt=[];if(ke.value)for(let Zt=0;Zt<24;Zt++)xt.push({value:Zt,label:(""+Zt).padStart(2,"0")});return xt}),ht=vue.computed(()=>{const xt=[];if(ke.value)for(let Zt=0;Zt<60;Zt++)xt.push({value:Zt,label:(""+Zt).padStart(2,"0")});return xt}),et=vue.computed(()=>{const xt=Ve.value;return!/HH/.test(xt)||/mm/.test(xt)}),nt=vue.computed(()=>{const xt=Ve.value;return!/HH/.test(xt)||/ss/.test(xt)}),Ye=vue.computed(()=>ht.value),tt=vue.computed(()=>{const{type:xt,editable:Gt,multiple:Zt}=G;return xe.value||Zt||!Gt||xt==="week"||xt==="quarter"}),Je=vue.computed(()=>{const{type:xt}=G,{showPwd:Gt}=le,Zt=Oe.value,wn=ye.value,Dn=Ce.value;return wn||Zt||Dn&&Gt||xt==="number"?"text":xt}),it=vue.computed(()=>{const{placeholder:xt}=G;if(xt)return getFuncText(xt);const Gt=getConfig$8().input.placeholder;return Gt?getFuncText(Gt):getI18n$e("vxe.base.pleaseInput")}),ft=vue.computed(()=>{const{type:xt,immediate:Gt}=G;return Gt||!(xt==="text"||xt==="number"||xt==="integer"||xt==="float")}),St=vue.computed(()=>{const{type:xt}=G,{inputValue:Gt}=le;return Oe.value?xt==="integer"?XEUtils.toInteger(handleNumber(Gt)):XEUtils.toNumber(handleNumber(Gt)):0}),kt=vue.computed(()=>{const{min:xt}=G,{inputValue:Gt}=le,Zt=Oe.value,wn=St.value;return(Gt||Gt===0)&&Zt&&xt!==null?wn<=XEUtils.toNumber(xt):!1}),Nt=vue.computed(()=>{const{max:xt}=G,{inputValue:Gt}=le,Zt=Oe.value,wn=St.value;return(Gt||Gt===0)&&Zt&&xt!==null?wn>=XEUtils.toNumber(xt):!1}),Ht=xt=>{const{type:Gt,exponential:Zt}=G,wn=De.value,Dn=Te.value,Tn=Gt==="float"?toFloatValueFixed(xt,Dn):XEUtils.toValueString(xt);return Zt&&(xt===Tn||XEUtils.toValueString(xt).toLowerCase()===XEUtils.toNumber(Tn).toExponential())?xt:Tn.slice(0,wn)},Lt=xt=>{const{inputValue:Gt}=le;ge.dispatchEvent(xt.type,{value:Gt},xt)},Bt=(xt,Gt)=>{le.inputValue=xt,Q("update:modelValue",xt),ge.dispatchEvent("input",{value:xt},Gt),XEUtils.toValueString(G.modelValue)!==xt&&(ge.dispatchEvent("change",{value:xt},Gt),!K&&!Z&&re&&oe&&re.triggerItemEvent(Gt,oe.itemConfig.field,xt))},Xt=(xt,Gt)=>{const Zt=ye.value,wn=ft.value;le.inputValue=xt,Zt||(wn?Bt(xt,Gt):ge.dispatchEvent("input",{value:xt},Gt))},Yt=xt=>{const Zt=xt.target.value;Xt(Zt,xt)},Jt=xt=>{ft.value||Lt(xt)},fn=xt=>{const{inputValue:Gt}=le,Zt=ft.value,wn=Gt;Zt||Bt(wn,xt),gn(),le.visiblePanel||(le.isActivated=!1),ge.dispatchEvent("blur",{value:wn},xt),!K&&!Z&&re&&oe&&re.triggerItemEvent(xt,oe.itemConfig.field,wn)},mn=xt=>{le.isActivated=!0,ye.value&&Bn(xt),Lt(xt)},cn=xt=>{if(!Me.value){const{inputValue:Zt}=le;ge.dispatchEvent("prefix-click",{value:Zt},xt)}},kn=()=>new Promise(xt=>{le.visiblePanel=!1,ce.hpTimeout=window.setTimeout(()=>{le.isAniVisible=!1,xt()},350)}),Tt=(xt,Gt)=>{const{type:Zt}=G,wn=Oe.value;ye.value&&kn(),(wn||["text","search","password"].indexOf(Zt)>-1)&&focus(),Bt("",xt),ge.dispatchEvent("clear",{value:Gt},xt)},gt=xt=>{if(!Me.value){const{inputValue:Zt}=le;ge.dispatchEvent("suffix-click",{value:Zt},xt)}},Rt=xt=>{const{type:Gt}=G,Zt=at.value,wn=Ve.value,Dn=dt.value;let Tn=null,qn="";if(xt&&(Tn=we(xt,wn)),XEUtils.isValidDate(Tn)){if(qn=XEUtils.toDateString(Tn,Zt,{firstDay:Dn}),Zt&&Gt==="week"&&XEUtils.getWhatWeek(Tn,0,Dn,Dn).getFullYear()<Tn.getFullYear()){const an=Zt.indexOf("yyyy");if(an>-1){const An=Number(qn.substring(an,an+4));An&&!isNaN(An)&&(qn=qn.replace(`${An}`,`${An-1}`))}}}else Tn=null;le.datePanelValue=Tn,le.datePanelLabel=qn},Ut=()=>{const xt=ye.value,{inputValue:Gt}=le;xt&&(Rt(Gt),le.inputValue=G.multiple?Ie.value:le.datePanelLabel)},ct=()=>{const{type:xt}=G,{inputValue:Gt}=le,Zt=ye.value,wn=Te.value;if(Zt)Ut();else if(xt==="float"&&Gt){const Dn=toFloatValueFixed(Gt,wn);Gt!==Dn&&Bt(Dn,{type:"init"})}},bn=xt=>G.max===null||XEUtils.toNumber(xt)<=XEUtils.toNumber(G.max),rn=xt=>G.min===null||XEUtils.toNumber(xt)>=XEUtils.toNumber(G.min),dn=()=>{le.inputValue=G.multiple?Ie.value:le.datePanelLabel},$n=xt=>{const Gt=XEUtils.getWhatMonth(xt,0,"first");XEUtils.isEqual(Gt,le.selectMonth)||(le.selectMonth=Gt)},hn=xt=>{const{modelValue:Gt,multiple:Zt}=G,{datetimePanelValue:wn}=le,Dn=ke.value,Tn=Ve.value,qn=dt.value;if(G.type==="week"){const an=XEUtils.toNumber(G.selectDay);xt=XEUtils.getWhatWeek(xt,0,an,qn)}else Dn&&(xt.setHours(wn.getHours()),xt.setMinutes(wn.getMinutes()),xt.setSeconds(wn.getSeconds()));const Rn=XEUtils.toDateString(xt,Tn,{firstDay:qn});if($n(xt),Zt){const an=Ue.value;if(Dn){const An=[...Le.value],er=[],sr=XEUtils.findIndexOf(An,Sr=>XEUtils.isDateSame(xt,Sr,"yyyyMMdd"));sr===-1?An.push(xt):An.splice(sr,1),An.forEach(Sr=>{Sr&&(Sr.setHours(wn.getHours()),Sr.setMinutes(wn.getMinutes()),Sr.setSeconds(wn.getSeconds()),er.push(Sr))}),Bt(er.map(Sr=>XEUtils.toDateString(Sr,Tn)).join(","),{type:"update"})}else an.some(An=>XEUtils.isEqual(An,Rn))?Bt(an.filter(An=>!XEUtils.isEqual(An,Rn)).join(","),{type:"update"}):Bt(an.concat([Rn]).join(","),{type:"update"})}else XEUtils.isEqual(Gt,Rn)||Bt(Rn,{type:"update"})},gn=()=>{const{type:xt,min:Gt,max:Zt,exponential:wn}=G,{inputValue:Dn,datetimePanelValue:Tn}=le,qn=Oe.value,Rn=ye.value,an=at.value;if(!tt.value){if(qn){if(Dn){let er=xt==="integer"?XEUtils.toInteger(handleNumber(Dn)):XEUtils.toNumber(handleNumber(Dn));if(rn(er)?bn(er)||(er=Zt):er=Gt,wn){const sr=XEUtils.toValueString(Dn).toLowerCase();sr===XEUtils.toNumber(er).toExponential()&&(er=sr)}Bt(Ht(er),{type:"check"})}}else if(Rn)if(Dn){let er=we(Dn,an);if(XEUtils.isValidDate(er))if(xt==="time")er=XEUtils.toDateString(er,an),Dn!==er&&Bt(er,{type:"check"}),le.inputValue=er;else{let sr=!1;const Sr=dt.value;if(xt==="datetime"){const jr=ze.value;(Dn!==XEUtils.toDateString(jr,an)||Dn!==XEUtils.toDateString(er,an))&&(sr=!0,Tn.setHours(er.getHours()),Tn.setMinutes(er.getMinutes()),Tn.setSeconds(er.getSeconds()))}else sr=!0;le.inputValue=XEUtils.toDateString(er,an,{firstDay:Sr}),sr&&hn(er)}else dn()}else Bt("",{type:"check"})}},On=xt=>{const{showPwd:Gt}=le,Zt=Me.value,wn=xe.value;!Zt&&!wn&&(le.showPwd=!Gt),ge.dispatchEvent("toggle-visible",{visible:le.showPwd},xt)},Vn=xt=>{ge.dispatchEvent("search-click",{},xt)},Un=(xt,Gt)=>{const{min:Zt,max:wn,type:Dn}=G,{inputValue:Tn}=le,qn=Ae.value,Rn=Dn==="integer"?XEUtils.toInteger(handleNumber(Tn)):XEUtils.toNumber(handleNumber(Tn)),an=xt?XEUtils.add(Rn,qn):XEUtils.subtract(Rn,qn);let An;rn(an)?bn(an)?An=an:An=wn:An=Zt,Xt(Ht(An),Gt)},Ln=xt=>{const Gt=Me.value,Zt=xe.value,wn=kt.value;zt(),!Gt&&!Zt&&!wn&&Un(!1,xt),ge.dispatchEvent("next-number",{value:le.inputValue},xt)},Wn=xt=>{ce.dnTimeout=window.setTimeout(()=>{Ln(xt),Wn(xt)},60)},Yn=xt=>{const Gt=Me.value,Zt=xe.value,wn=Nt.value;zt(),!Gt&&!Zt&&!wn&&Un(!0,xt),ge.dispatchEvent("prev-number",{value:le.inputValue},xt)},or=xt=>{const Gt=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_UP),Zt=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_DOWN);(Gt||Zt)&&(xt.preventDefault(),Gt?Yn(xt):Ln(xt))},dr=xt=>{const{exponential:Gt,controls:Zt}=G;if(Oe.value){const Dn=xt.ctrlKey,Tn=xt.shiftKey,qn=xt.altKey,Rn=xt.keyCode,an=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ESCAPE),An=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_UP),er=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_DOWN);!Dn&&!Tn&&!qn&&(globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.SPACEBAR)||(!Gt||Rn!==69)&&Rn>=65&&Rn<=90||Rn>=186&&Rn<=188||Rn>=191)&&xt.preventDefault(),an?gn():(An||er)&&Zt&&or(xt)}Lt(xt)},hr=xt=>{Lt(xt)},zt=()=>{const{dnTimeout:xt}=ce;xt&&(clearTimeout(xt),ce.dnTimeout=void 0)},tn=xt=>{ce.dnTimeout=window.setTimeout(()=>{Yn(xt),tn(xt)},60)},Cn=xt=>{if(zt(),xt.button===0){const Gt=hasClass(xt.currentTarget,"is--prev");Gt?Yn(xt):Ln(xt),ce.dnTimeout=window.setTimeout(()=>{Gt?tn(xt):Wn(xt)},500)}},yn=xt=>{if(Oe.value&&G.controls&&le.isActivated){const Zt=xt.deltaY;Zt>0?Ln(xt):Zt<0&&Yn(xt),xt.preventDefault()}Lt(xt)},Mn=(xt,Gt)=>{le.selectMonth=XEUtils.getWhatMonth(xt,Gt,"first")},Gn=()=>{const xt=XEUtils.getWhatDay(Date.now(),0,"first");le.currentDate=xt,Mn(xt,0)},Xn=()=>{let{datePanelType:xt}=le;xt==="month"||xt==="quarter"?xt="year":xt="month",le.datePanelType=xt},rr=xt=>{const{type:Gt}=G,{datePanelType:Zt,selectMonth:wn,inputValue:Dn}=le,{yearSize:Tn}=ce,qn=Dn;if(!We.value){let an;Gt==="year"?an=XEUtils.getWhatYear(wn,-Tn,"first"):Gt==="month"||Gt==="quarter"?Zt==="year"?an=XEUtils.getWhatYear(wn,-Tn,"first"):an=XEUtils.getWhatYear(wn,-1,"first"):Zt==="year"?an=XEUtils.getWhatYear(wn,-Tn,"first"):Zt==="month"?an=XEUtils.getWhatYear(wn,-1,"first"):an=XEUtils.getWhatMonth(wn,-1,"first"),le.selectMonth=an,ge.dispatchEvent("date-prev",{viewType:Zt,viewDate:an,value:qn,type:Gt},xt)}},Jn=xt=>{Gn(),G.multiple||(hn(le.currentDate),kn()),ge.dispatchEvent("date-today",{type:G.type},xt)},Zn=xt=>{const{type:Gt}=G,{datePanelType:Zt,selectMonth:wn,inputValue:Dn}=le,{yearSize:Tn}=ce,qn=Dn;if(!Xe.value){let an;Gt==="year"?an=XEUtils.getWhatYear(wn,Tn,"first"):Gt==="month"||Gt==="quarter"?Zt==="year"?an=XEUtils.getWhatYear(wn,Tn,"first"):an=XEUtils.getWhatYear(wn,1,"first"):Zt==="year"?an=XEUtils.getWhatYear(wn,Tn,"first"):Zt==="month"?an=XEUtils.getWhatYear(wn,1,"first"):an=XEUtils.getWhatMonth(wn,1,"first"),le.selectMonth=an,ge.dispatchEvent("date-next",{viewType:Zt,viewDate:an,value:qn,type:Gt},xt)}},zn=xt=>{const{disabledMethod:Gt}=G,{datePanelType:Zt}=le,wn=Fe.value,Dn=Be.value,{date:Tn}=xt;return wn&&wn.getTime()>Tn.getTime()||Dn&&Dn.getTime()<Tn.getTime()?!0:Gt?Gt({type:Zt,viewType:Zt,date:Tn,$input:me}):!1},pr=xt=>{const{type:Gt,multiple:Zt}=G,{datePanelType:wn}=le;Gt==="month"?wn==="year"?(le.datePanelType="month",$n(xt)):(hn(xt),Zt||kn()):Gt==="year"?(hn(xt),Zt||kn()):Gt==="quarter"?wn==="year"?(le.datePanelType="quarter",$n(xt)):(hn(xt),Zt||kn()):wn==="month"?(le.datePanelType=Gt==="week"?Gt:"day",$n(xt)):wn==="year"?(le.datePanelType="month",$n(xt)):(hn(xt),Gt==="datetime"||Zt||kn())},_r=xt=>{zn(xt)||pr(xt.date)},cr=xt=>{zn({date:xt})||(Vt.value.some(Zt=>XEUtils.isDateSame(Zt.date,xt,"yyyyMMdd"))||$n(xt),Rt(xt))},mr=xt=>{zn({date:xt})||(st.value.some(Zt=>XEUtils.isDateSame(Zt.date,xt,"yyyy"))||$n(xt),Rt(xt))},Er=xt=>{zn({date:xt})||(Ot.value.some(Zt=>XEUtils.isDateSame(Zt.date,xt,"yyyyq"))||$n(xt),Rt(xt))},Tr=xt=>{zn({date:xt})||(yt.value.some(Zt=>XEUtils.isDateSame(Zt.date,xt,"yyyyMM"))||$n(xt),Rt(xt))},Mr=xt=>{if(!zn(xt)){const{datePanelType:Gt}=le;Gt==="month"?Tr(xt.date):Gt==="quarter"?Er(xt.date):Gt==="year"?mr(xt.date):cr(xt.date)}},wr=xt=>{if(xt){const Gt=xt.offsetHeight,Zt=xt.parentNode;Zt.scrollTop=xt.offsetTop-Gt*4}},yr=xt=>{le.datetimePanelValue=new Date(le.datetimePanelValue.getTime()),wr(xt.currentTarget)},Vr=(xt,Gt)=>{le.datetimePanelValue.setHours(Gt.value),yr(xt)},Lr=()=>{const{multiple:xt}=G,{datetimePanelValue:Gt}=le,Zt=ze.value,wn=ke.value;if(wn){const Dn=Ve.value;if(xt){const Tn=Ue.value;if(wn){const qn=[...Le.value],Rn=[];qn.forEach(an=>{an&&(an.setHours(Gt.getHours()),an.setMinutes(Gt.getMinutes()),an.setSeconds(Gt.getSeconds()),Rn.push(an))}),Bt(Rn.map(an=>XEUtils.toDateString(an,Dn)).join(","),{type:"update"})}else Bt(Tn.join(","),{type:"update"})}else hn(Zt||le.currentDate)}kn()},Kn=(xt,Gt)=>{le.datetimePanelValue.setMinutes(Gt.value),yr(xt)},ir=(xt,Gt)=>{le.datetimePanelValue.setSeconds(Gt.value),yr(xt)},Dt=xt=>{const{isActivated:Gt,datePanelValue:Zt,datePanelType:wn}=le;if(Gt){xt.preventDefault();const Dn=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_LEFT),Tn=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_UP),qn=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_RIGHT),Rn=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_DOWN);if(wn==="year"){let an=XEUtils.getWhatYear(Zt||Date.now(),0,"first");Dn?an=XEUtils.getWhatYear(an,-1):Tn?an=XEUtils.getWhatYear(an,-4):qn?an=XEUtils.getWhatYear(an,1):Rn&&(an=XEUtils.getWhatYear(an,4)),mr(an)}else if(wn==="quarter"){let an=XEUtils.getWhatQuarter(Zt||Date.now(),0,"first");Dn?an=XEUtils.getWhatQuarter(an,-1):Tn?an=XEUtils.getWhatQuarter(an,-2):qn?an=XEUtils.getWhatQuarter(an,1):Rn&&(an=XEUtils.getWhatQuarter(an,2)),Er(an)}else if(wn==="month"){let an=XEUtils.getWhatMonth(Zt||Date.now(),0,"first");Dn?an=XEUtils.getWhatMonth(an,-1):Tn?an=XEUtils.getWhatMonth(an,-4):qn?an=XEUtils.getWhatMonth(an,1):Rn&&(an=XEUtils.getWhatMonth(an,4)),Tr(an)}else{let an=Zt||XEUtils.getWhatDay(Date.now(),0,"first");const An=dt.value;Dn?an=XEUtils.getWhatDay(an,-1):Tn?an=XEUtils.getWhatWeek(an,-1,An):qn?an=XEUtils.getWhatDay(an,1):Rn&&(an=XEUtils.getWhatWeek(an,1,An)),cr(an)}}},Kt=xt=>{const{isActivated:Gt}=le;if(Gt){const Zt=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.PAGE_UP);xt.preventDefault(),Zt?rr(xt):Zn(xt)}},sn=()=>{const{type:xt}=G,Gt=ke.value,Zt=ze.value;["year","quarter","month","week"].indexOf(xt)>-1?le.datePanelType=xt:le.datePanelType="day",le.currentDate=XEUtils.getWhatDay(Date.now(),0,"first"),Zt?(Mn(Zt,0),Rt(Zt)):Gn(),Gt&&(le.datetimePanelValue=le.datePanelValue||XEUtils.getWhatDay(Date.now(),0,"first"),vue.nextTick(()=>{const wn=pe.value;XEUtils.arrayEach(wn.querySelectorAll("li.is--selected"),Dn=>{wr(Dn)})}))},xn=()=>{le.panelIndex<getLastZIndex()&&(le.panelIndex=nextZIndex())},In=()=>vue.nextTick().then(()=>{const{placement:xt}=G,{panelIndex:Gt}=le,Zt=ue.value,wn=he.value,Dn=$e.value;if(Zt&&wn){const Tn=Zt.offsetHeight,qn=Zt.offsetWidth,Rn=wn.offsetHeight,an=wn.offsetWidth,An=5,er={zIndex:Gt},{boundingTop:sr,boundingLeft:Sr,visibleHeight:jr,visibleWidth:Gr}=getAbsolutePos(Zt);let Fr="bottom";if(Dn){let Pr=Sr,Ur=sr+Tn;xt==="top"?(Fr="top",Ur=sr-Rn):xt||(Ur+Rn+An>jr&&(Fr="top",Ur=sr-Rn),Ur<An&&(Fr="bottom",Ur=sr+Tn)),Pr+an+An>Gr&&(Pr-=Pr+an+An-Gr),Pr<An&&(Pr=An),Object.assign(er,{left:`${Pr}px`,top:`${Ur}px`,minWidth:`${qn}px`})}else xt==="top"?(Fr="top",er.bottom=`${Tn}px`):xt||(er.top=`${Tn}px`,sr+Tn+Rn>jr&&sr-Tn-Rn>An&&(Fr="top",er.top="",er.bottom=`${Tn}px`));return le.panelStyle=er,le.panelPlacement=Fr,vue.nextTick()}}),Sn=()=>{const{visiblePanel:xt}=le,{hpTimeout:Gt}=ce,Zt=Me.value,wn=ye.value;return!Zt&&!xt?(le.initialized||(le.initialized=!0),Gt&&(clearTimeout(Gt),ce.hpTimeout=void 0),le.isActivated=!0,le.isAniVisible=!0,wn&&sn(),setTimeout(()=>{le.visiblePanel=!0},10),xn(),In()):vue.nextTick()},Bn=xt=>{xe.value||(xt.preventDefault(),Sn())},Fn=xt=>{Lt(xt)},ln=xt=>{const{visiblePanel:Gt,isActivated:Zt}=le,wn=ye.value,Dn=de.value,Tn=fe.value;!Me.value&&Zt&&(le.isActivated=getEventTargetNode(xt,Dn).flag||getEventTargetNode(xt,Tn).flag,le.isActivated||(wn?Gt&&(kn(),gn()):gn()))},Nn=xt=>{const{clearable:Gt}=G,{visiblePanel:Zt}=le,wn=Me.value,Dn=ye.value;if(!wn){const Tn=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.TAB),qn=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.DELETE),Rn=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ESCAPE),an=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ENTER),An=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_LEFT),er=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_UP),sr=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_RIGHT),Sr=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.ARROW_DOWN),jr=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.PAGE_UP),Gr=globalEvents$4.hasKey(xt,GLOBAL_EVENT_KEYS$3.PAGE_DOWN),Fr=An||er||sr||Sr;let Pr=le.isActivated;Tn?(Pr&&gn(),Pr=!1,le.isActivated=Pr):Fr?Dn&&Pr&&(Zt?Dt(xt):(er||Sr)&&Bn(xt)):an?Dn&&(Zt?le.datePanelValue?pr(le.datePanelValue):kn():Pr&&Bn(xt)):(jr||Gr)&&Dn&&Pr&&Kt(xt),Tn||Rn?Zt&&kn():qn&&Gt&&Pr&&Tt(xt,null)}},fr=xt=>{const{visiblePanel:Gt}=le;if(!Me.value&&Gt){const wn=fe.value;getEventTargetNode(xt,wn).flag?In():(kn(),gn())}},ar=()=>{const{isActivated:xt,visiblePanel:Gt}=le;Gt?(kn(),gn()):xt&&gn()},vr=(xt,Gt)=>{const{festivalMethod:Zt}=G;if(Zt){const{datePanelType:wn}=le,Dn=Zt({type:wn,viewType:wn,date:xt.date,$input:me}),Tn=Dn?XEUtils.isString(Dn)?{label:Dn}:Dn:{},qn=Tn.extra?XEUtils.isString(Tn.extra)?{label:Tn.extra}:Tn.extra:null,Rn=[vue.h("span",{class:["vxe-input--date-label",{"is-notice":Tn.notice}]},qn&&qn.label?[vue.h("span",`${Gt||""}`),vue.h("span",{class:["vxe-input--date-label--extra",qn.important?"is-important":"",qn.className],style:qn.style},XEUtils.toValueString(qn.label))]:[`${Gt||""}`])],an=Tn.label;if(an){const An=XEUtils.toValueString(an).split(",");Rn.push(vue.h("span",{class:["vxe-input--date-festival",Tn.important?"is-important":"",Tn.className],style:Tn.style},[An.length>1?vue.h("span",{class:["vxe-input--date-festival--overlap",`overlap--${An.length}`]},An.map(er=>vue.h("span",er.substring(0,3)))):vue.h("span",{class:"vxe-input--date-festival--label"},An[0].substring(0,3))]))}return Rn}return[`${Gt||""}`]},Rr=()=>{const{multiple:xt}=G,{datePanelType:Gt,datePanelValue:Zt}=le,wn=ze.value,Dn=$t.value,Tn=ut.value,qn=Le.value,Rn="yyyyMMdd";return[vue.h("table",{class:`vxe-input--date-${Gt}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("thead",[vue.h("tr",Dn.map(an=>vue.h("th",an.label)))]),vue.h("tbody",Tn.map(an=>vue.h("tr",an.map(An=>vue.h("td",{class:{"is--prev":An.isPrev,"is--current":An.isCurrent,"is--now":An.isNow,"is--next":An.isNext,"is--disabled":zn(An),"is--selected":xt?qn.some(er=>XEUtils.isDateSame(er,An.date,Rn)):XEUtils.isDateSame(wn,An.date,Rn),"is--hover":XEUtils.isDateSame(Zt,An.date,Rn)},onClick:()=>_r(An),onMouseenter:()=>Mr(An)},vr(An,An.label))))))])]},Ar=()=>{const{multiple:xt}=G,{datePanelType:Gt,datePanelValue:Zt}=le,wn=ze.value,Dn=mt.value,Tn=vt.value,qn=Le.value,Rn="yyyyMMdd";return[vue.h("table",{class:`vxe-input--date-${Gt}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("thead",[vue.h("tr",Dn.map(an=>vue.h("th",an.label)))]),vue.h("tbody",Tn.map(an=>{const An=xt?an.some(sr=>qn.some(Sr=>XEUtils.isDateSame(Sr,sr.date,Rn))):an.some(sr=>XEUtils.isDateSame(wn,sr.date,Rn)),er=an.some(sr=>XEUtils.isDateSame(Zt,sr.date,Rn));return vue.h("tr",an.map(sr=>vue.h("td",{class:{"is--prev":sr.isPrev,"is--current":sr.isCurrent,"is--now":sr.isNow,"is--next":sr.isNext,"is--disabled":zn(sr),"is--selected":An,"is--hover":er},onClick:()=>_r(sr),onMouseenter:()=>Mr(sr)},vr(sr,sr.label))))}))])]},Nr=()=>{const{multiple:xt}=G,{datePanelType:Gt,datePanelValue:Zt}=le,wn=ze.value,Dn=Et.value,Tn=Le.value,qn="yyyyMM";return[vue.h("table",{class:`vxe-input--date-${Gt}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tbody",Dn.map(Rn=>vue.h("tr",Rn.map(an=>vue.h("td",{class:{"is--prev":an.isPrev,"is--current":an.isCurrent,"is--now":an.isNow,"is--next":an.isNext,"is--disabled":zn(an),"is--selected":xt?Tn.some(An=>XEUtils.isDateSame(An,an.date,qn)):XEUtils.isDateSame(wn,an.date,qn),"is--hover":XEUtils.isDateSame(Zt,an.date,qn)},onClick:()=>_r(an),onMouseenter:()=>Mr(an)},vr(an,getI18n$e(`vxe.input.date.months.m${an.month}`)))))))])]},br=()=>{const{multiple:xt}=G,{datePanelType:Gt,datePanelValue:Zt}=le,wn=ze.value,Dn=It.value,Tn=Le.value,qn="yyyyq";return[vue.h("table",{class:`vxe-input--date-${Gt}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tbody",Dn.map(Rn=>vue.h("tr",Rn.map(an=>vue.h("td",{class:{"is--prev":an.isPrev,"is--current":an.isCurrent,"is--now":an.isNow,"is--next":an.isNext,"is--disabled":zn(an),"is--selected":xt?Tn.some(An=>XEUtils.isDateSame(An,an.date,qn)):XEUtils.isDateSame(wn,an.date,qn),"is--hover":XEUtils.isDateSame(Zt,an.date,qn)},onClick:()=>_r(an),onMouseenter:()=>Mr(an)},vr(an,getI18n$e(`vxe.input.date.quarters.q${an.quarter}`)))))))])]},Dr=()=>{const{multiple:xt}=G,{datePanelType:Gt,datePanelValue:Zt}=le,wn=ze.value,Dn=bt.value,Tn=Le.value,qn="yyyy";return[vue.h("table",{class:`vxe-input--date-${Gt}-view`,cellspacing:0,cellpadding:0,border:0},[vue.h("tbody",Dn.map(Rn=>vue.h("tr",Rn.map(an=>vue.h("td",{class:{"is--prev":an.isPrev,"is--current":an.isCurrent,"is--now":an.isNow,"is--next":an.isNext,"is--disabled":zn(an),"is--selected":xt?Tn.some(An=>XEUtils.isDateSame(An,an.date,qn)):XEUtils.isDateSame(wn,an.date,qn),"is--hover":XEUtils.isDateSame(Zt,an.date,qn)},onClick:()=>_r(an),onMouseenter:()=>Mr(an)},vr(an,an.year))))))])]},ho=()=>{const{datePanelType:xt}=le;switch(xt){case"week":return Ar();case"month":return Nr();case"quarter":return br();case"year":return Dr()}return Rr()},wo=()=>{const{multiple:xt}=G,{datePanelType:Gt}=le,Zt=We.value,wn=Xe.value,Dn=Ke.value;return[vue.h("div",{class:"vxe-input--date-picker-header"},[vue.h("div",{class:"vxe-input--date-picker-type-wrapper"},[Gt==="year"?vue.h("span",{class:"vxe-input--date-picker-label"},Dn):vue.h("span",{class:"vxe-input--date-picker-btn",onClick:Xn},Dn)]),vue.h("div",{class:"vxe-input--date-picker-btn-wrapper"},[vue.h("span",{class:["vxe-input--date-picker-btn vxe-input--date-picker-prev-btn",{"is--disabled":Zt}],onClick:rr},[vue.h("i",{class:"vxe-icon-caret-left"})]),vue.h("span",{class:"vxe-input--date-picker-btn vxe-input--date-picker-current-btn",onClick:Jn},[vue.h("i",{class:"vxe-icon-dot"})]),vue.h("span",{class:["vxe-input--date-picker-btn vxe-input--date-picker-next-btn",{"is--disabled":wn}],onClick:Zn},[vue.h("i",{class:"vxe-icon-caret-right"})]),xt&&je.value?vue.h("span",{class:"vxe-input--date-picker-btn vxe-input--date-picker-confirm-btn"},[vue.h("button",{class:"vxe-input--date-picker-confirm",type:"button",onClick:Lr},getI18n$e("vxe.button.confirm"))]):null])]),vue.h("div",{class:"vxe-input--date-picker-body"},ho())]},xo=()=>{const{datetimePanelValue:xt}=le,Gt=He.value,Zt=Qe.value,wn=et.value,Dn=ht.value,Tn=nt.value,qn=Ye.value;return[vue.h("div",{class:"vxe-input--time-picker-header"},[wn?vue.h("span",{class:"vxe-input--time-picker-title"},Gt):vue.createCommentVNode(),vue.h("div",{class:"vxe-input--time-picker-btn"},[vue.h("button",{class:"vxe-input--time-picker-confirm",type:"button",onClick:Lr},getI18n$e("vxe.button.confirm"))])]),vue.h("div",{ref:pe,class:"vxe-input--time-picker-body"},[vue.h("ul",{class:"vxe-input--time-picker-hour-list"},Zt.map((Rn,an)=>vue.h("li",{key:an,class:{"is--selected":xt&&xt.getHours()===Rn.value},onClick:An=>Vr(An,Rn)},Rn.label))),wn?vue.h("ul",{class:"vxe-input--time-picker-minute-list"},Dn.map((Rn,an)=>vue.h("li",{key:an,class:{"is--selected":xt&&xt.getMinutes()===Rn.value},onClick:An=>Kn(An,Rn)},Rn.label))):vue.createCommentVNode(),wn&&Tn?vue.h("ul",{class:"vxe-input--time-picker-second-list"},qn.map((Rn,an)=>vue.h("li",{key:an,class:{"is--selected":xt&&xt.getSeconds()===Rn.value},onClick:An=>ir(An,Rn)},Rn.label))):vue.createCommentVNode()])]},fo=()=>{const{type:xt}=G,{initialized:Gt,isAniVisible:Zt,visiblePanel:wn,panelPlacement:Dn,panelStyle:Tn}=le,qn=se.value,Rn=$e.value,an=ye.value,An=[];return an?(xt==="datetime"?An.push(vue.h("div",{key:xt,ref:fe,class:"vxe-input--panel-layout-wrapper"},[vue.h("div",{class:"vxe-input--panel-left-wrapper"},wo()),vue.h("div",{class:"vxe-input--panel-right-wrapper"},xo())])):xt==="time"?An.push(vue.h("div",{key:xt,ref:fe,class:"vxe-input--panel-wrapper"},xo())):An.push(vue.h("div",{key:xt||"default",ref:fe,class:"vxe-input--panel-wrapper"},wo())),vue.h(vue.Teleport,{to:"body",disabled:Rn?!Gt:!0},[vue.h("div",{ref:he,class:["vxe-table--ignore-clear vxe-input--panel",`type--${xt}`,{[`size--${qn}`]:qn,"is--transfer":Rn,"ani--leave":Zt,"ani--enter":wn}],placement:Dn,style:Tn},wn||Zt?An:[])])):vue.createCommentVNode()},bo=()=>{const xt=Nt.value,Gt=kt.value;return vue.h("div",{class:"vxe-input--control-icon"},[vue.h("div",{class:"vxe-input--number-icon"},[vue.h("div",{class:["vxe-input--number-btn is--prev",{"is--disabled":xt}],onMousedown:Cn,onMouseup:zt,onMouseleave:zt},[vue.h("i",{class:getIcon$8().NUMBER_INPUT_PREV_NUM})]),vue.h("div",{class:["vxe-input--number-btn is--next",{"is--disabled":Gt}],onMousedown:Cn,onMouseup:zt,onMouseleave:zt},[vue.h("i",{class:getIcon$8().NUMBER_INPUT_NEXT_NUM})])])])},Ro=()=>vue.h("div",{class:"vxe-input--control-icon",onClick:Bn},[vue.h("i",{class:["vxe-input--date-picker-icon",getIcon$8().DATE_PICKER_DATE]})]),Lo=()=>vue.h("div",{class:"vxe-input--control-icon",onClick:Vn},[vue.h("i",{class:["vxe-input--search-icon",getIcon$8().INPUT_SEARCH]})]),Bo=()=>{const{showPwd:xt}=le;return vue.h("div",{class:"vxe-input--control-icon",onClick:On},[vue.h("i",{class:["vxe-input--password-icon",xt?getIcon$8().PASSWORD_INPUT_SHOW_PWD:getIcon$8().PASSWORD_INPUT_HIDE_PWD]})])},Fo=()=>{const{prefixIcon:xt}=G,Gt=X.prefix;return Gt||xt?vue.h("div",{class:"vxe-input--prefix",onClick:cn},[vue.h("div",{class:"vxe-input--prefix-icon"},Gt?getSlotVNs(Gt({})):[vue.h("i",{class:xt})])]):null},zo=()=>{const{suffixIcon:xt}=G,{inputValue:Gt}=le,Zt=X.suffix,wn=Me.value,Dn=Oe.value,Tn=ye.value,qn=Ce.value,Rn=be.value,an=Re.value,An=qn||Dn||Tn||Rn;return an||Zt||xt||An?vue.h("div",{class:["vxe-input--suffix",{"is--clear":an&&!wn&&!(Gt===""||XEUtils.eqNull(Gt))}]},[an?vue.h("div",{class:"vxe-input--clear-icon",onClick:Tt},[vue.h("i",{class:getIcon$8().INPUT_CLEAR})]):vue.createCommentVNode(),An?jo():vue.createCommentVNode(),Zt||xt?vue.h("div",{class:"vxe-input--suffix-icon",onClick:gt},Zt?getSlotVNs(Zt({})):[vue.h("i",{class:xt})]):vue.createCommentVNode()]):null},jo=()=>{const{controls:xt}=G,Gt=Oe.value,Zt=ye.value,wn=Ce.value,Dn=be.value;return wn?Bo():Gt&&xt?bo():Zt?Ro():Dn?Lo():vue.createCommentVNode()};ge={dispatchEvent:(xt,Gt,Zt)=>{Q(xt,createEvent$3(Zt,{$input:me},Gt))},focus(){const xt=ue.value;return le.isActivated=!0,xt.focus(),vue.nextTick()},blur(){return ue.value.blur(),le.isActivated=!1,vue.nextTick()},select(){return ue.value.select(),le.isActivated=!1,vue.nextTick()},showPanel:Sn,hidePanel:kn,updatePlacement:In},Object.assign(me,ge);const $r=()=>{const{className:xt,controls:Gt,type:Zt,align:wn,showWordCount:Dn,countMethod:Tn,name:qn,autoComplete:Rn,autocomplete:an}=G,{inputValue:An,visiblePanel:er,isActivated:sr}=le,Sr=se.value,jr=Me.value;if(Ee.value)return vue.h("div",{ref:de,class:["vxe-input--readonly",`type--${Zt}`,xt]},An);const Fr=_e.value,Pr=Ne.value,Ur=tt.value,ro=De.value,Do=Je.value,Ho=it.value,Co=Re.value,Po=Dn&&["text","search"].includes(Zt),po=Fo(),vo=zo();return vue.h("div",{ref:de,class:["vxe-input",`type--${Zt}`,xt,{[`size--${Sr}`]:Sr,[`is--${wn}`]:wn,"is--controls":Gt,"is--prefix":!!po,"is--suffix":!!vo,"is--visible":er,"is--count":Po,"is--disabled":jr,"is--active":sr,"show--clear":Co&&!jr&&!(An===""||XEUtils.eqNull(An))}],spellcheck:!1},[po||vue.createCommentVNode(),vue.h("div",{class:"vxe-input--wrapper"},[vue.h("input",{ref:ue,class:"vxe-input--inner",value:An,name:qn,type:Do,placeholder:Ho,maxlength:ro,readonly:Ur,disabled:jr,autocomplete:Rn||an,onKeydown:dr,onKeyup:hr,onWheel:yn,onClick:Fn,onInput:Yt,onChange:Jt,onFocus:mn,onBlur:fn})]),vo||vue.createCommentVNode(),fo(),Po?vue.h("span",{class:["vxe-input--count",{"is--error":Fr}]},Tn?`${Tn({value:An})}`:`${Pr}${ro?`/${ro}`:""}`):vue.createCommentVNode()])};return vue.watch(()=>G.modelValue,xt=>{le.inputValue=xt,Ut()}),vue.watch(()=>G.type,()=>{Object.assign(le,{inputValue:G.modelValue,datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),ct()}),vue.watch(at,()=>{ye.value&&(Rt(le.datePanelValue),le.inputValue=G.multiple?Ie.value:le.datePanelLabel)}),vue.onMounted(()=>{globalEvents$4.on(me,"mousewheel",fr),globalEvents$4.on(me,"mousedown",ln),globalEvents$4.on(me,"keydown",Nn),globalEvents$4.on(me,"blur",ar)}),vue.onBeforeUnmount(()=>{zt(),gn(),globalEvents$4.off(me,"mousewheel"),globalEvents$4.off(me,"mousedown"),globalEvents$4.off(me,"keydown"),globalEvents$4.off(me,"blur")}),ct(),me.renderVN=$r,me},render(){return this.renderVN()}}),VxeRadioComponent=vue.defineComponent({name:"VxeRadio",props:{modelValue:[String,Number,Boolean],label:{type:[String,Number,Boolean],default:null},title:[String,Number],content:[String,Number],disabled:{type:Boolean,default:null},name:String,strict:{type:Boolean,default:()=>getConfig$8().radio.strict},size:{type:String,default:()=>getConfig$8().radio.size||getConfig$8().size}},emits:["update:modelValue","change"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=vue.inject("$xeRadioGroup",null),te=XEUtils.uniqueId(),ne=vue.reactive({}),re={xID:te,props:G,context:H,reactData:ne},{computeSize:oe}=useSize(G),ae=vue.computed(()=>{const{disabled:ge}=G;if(ge===null&&ee){const{computeIsDisabled:we}=ee.getComputeMaps();return we.value}return ge}),se=vue.computed(()=>ee?ee.name:G.name),le=vue.computed(()=>ee?ee.props.strict:G.strict),ce=vue.computed(()=>{const{label:ge}=G;return ee?ee.props.modelValue===ge:G.modelValue===ge}),de=(ge,we)=>{ee?ee.handleChecked({label:ge},we):(Q("update:modelValue",ge),fe("change",{label:ge},we),K&&Z&&K.triggerItemEvent(we,Z.itemConfig.field,ge))},ue=ge=>{ae.value||de(G.label,ge)},he=ge=>{const we=ae.value,$e=le.value;!we&&!$e&&G.label===(ee?ee.props.modelValue:G.modelValue)&&de(null,ge)},fe=(ge,we,$e)=>{Q(ge,createEvent$3($e,{$radio:re},we))};Object.assign(re,{dispatchEvent:fe},{});const me=()=>{const ge=oe.value,we=ae.value,$e=se.value,Ee=ce.value;return vue.h("label",{class:["vxe-radio",{[`size--${ge}`]:ge,"is--checked":Ee,"is--disabled":we}],title:G.title},[vue.h("input",{class:"vxe-radio--input",type:"radio",name:$e,checked:Ee,disabled:we,onChange:ue,onClick:he}),vue.h("span",{class:["vxe-radio--icon",Ee?getIcon$8().RADIO_CHECKED:getIcon$8().RADIO_UNCHECKED]}),vue.h("span",{class:"vxe-radio--label"},X.default?X.default({}):getFuncText(G.content))])};return re.renderVN=me,re},render(){return this.renderVN()}}),VxeRadioButtonComponent=vue.defineComponent({name:"VxeRadioButton",props:{modelValue:[String,Number,Boolean],label:{type:[String,Number,Boolean],default:null},title:[String,Number],content:[String,Number],disabled:{type:Boolean,default:null},strict:{type:Boolean,default:()=>getConfig$8().radioButton.strict},size:{type:String,default:()=>getConfig$8().radioButton.size||getConfig$8().size}},emits:["update:modelValue","change"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=vue.inject("$xeRadioGroup",null),te=XEUtils.uniqueId(),ne=vue.reactive({}),{computeSize:re}=useSize(G),oe={xID:te,props:G,context:H,reactData:ne},ae=vue.computed(()=>{const{disabled:me}=G;if(me===null&&ee){const{computeIsDisabled:ge}=ee.getComputeMaps();return ge.value}return me}),se=vue.computed(()=>ee?ee.name:null),le=vue.computed(()=>ee?ee.props.strict:G.strict),ce=vue.computed(()=>{const{label:me}=G;return ee?ee.props.modelValue===me:G.modelValue===me}),de={dispatchEvent(me,ge,we){Q(me,createEvent$3(we,{$radioButton:oe},ge))}};Object.assign(oe,de,{});const he=(me,ge)=>{ee?ee.handleChecked({label:me},ge):(Q("update:modelValue",me),de.dispatchEvent("change",{label:me},ge),K&&Z&&K.triggerItemEvent(ge,Z.itemConfig.field,me))},fe=me=>{ae.value||he(G.label,me)},pe=me=>{const ge=ae.value,we=le.value;!ge&&!we&&G.label===(ee?ee.props.modelValue:G.modelValue)&&he(null,me)},ve=()=>{const me=re.value,ge=ae.value,we=se.value,$e=ce.value;return vue.h("label",{class:["vxe-radio","vxe-radio-button",{[`size--${me}`]:me,"is--disabled":ge}],title:G.title},[vue.h("input",{class:"vxe-radio--input",type:"radio",name:we,checked:$e,disabled:ge,onChange:fe,onClick:pe}),vue.h("span",{class:"vxe-radio--label"},X.default?X.default({}):getFuncText(G.content))])};return oe.renderVN=ve,ve}}),VxeRadioGroupComponent=vue.defineComponent({name:"VxeRadioGroup",props:{modelValue:[String,Number,Boolean],disabled:{type:Boolean,default:null},type:String,options:Array,optionProps:Object,strict:{type:Boolean,default:()=>getConfig$8().radioGroup.strict},size:{type:String,default:()=>getConfig$8().radioGroup.size||getConfig$8().size}},emits:["update:modelValue","change"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=XEUtils.uniqueId();useSize(G);const te=vue.reactive({}),re={computeIsDisabled:vue.computed(()=>{const{disabled:pe}=G;return pe===null?K?K.props.readonly||K.props.disabled:!1:pe})},oe={xID:ee,props:G,context:H,reactData:te,name:XEUtils.uniqueId("xe_group_"),getComputeMaps:()=>re},ae=vue.computed(()=>Object.assign({},G.optionProps)),se=vue.computed(()=>ae.value.label||"label"),le=vue.computed(()=>ae.value.value||"value"),ce=vue.computed(()=>ae.value.disabled||"disabled"),de=(pe,ve,me)=>{Q(pe,createEvent$3(me,{$radioGroup:oe},ve))};Object.assign(oe,{dispatchEvent:de},{handleChecked(pe,ve){const me=pe.label;Q("update:modelValue",me),de("change",pe,ve),K&&Z&&K.triggerItemEvent(ve,Z.itemConfig.field,me)}});const fe=()=>{const{options:pe,type:ve}=G,me=X.default,ge=le.value,we=se.value,$e=ce.value,Ee=ve==="button"?VxeRadioButtonComponent:VxeRadioComponent;return vue.h("div",{class:"vxe-radio-group"},me?me({}):pe?pe.map(xe=>vue.h(Ee,{label:xe[ge],content:xe[we],disabled:xe[$e]})):[])};return vue.provide("$xeRadioGroup",oe),oe.renderVN=fe,oe},render(){return this.renderVN()}});function isOptionVisible(G){return G.visible!==!1}function getOptUniqueId$1(){return XEUtils.uniqueId("opt_")}const VxeSelectComponent=vue.defineComponent({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],clearable:Boolean,placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>getConfig$8().select.multiCharOverflow},prefixIcon:String,placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},size:{type:String,default:()=>getConfig$8().select.size||getConfig$8().size},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,transfer:{type:Boolean,default:null},scrollY:Object,optionId:{type:String,default:()=>getConfig$8().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","clear","blur","focus","click","scroll"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeModal",null),Z=vue.inject("$xeDrawer",null),ee=vue.inject("$xeTable",null),te=vue.inject("$xeForm",null),ne=vue.inject("xeFormItemInfo",null),re=XEUtils.uniqueId(),oe=vue.ref(),ae=vue.ref(),se=vue.ref(),le=vue.ref(),ce=vue.ref(),de=vue.ref(),{computeSize:ue}=useSize(G),he=vue.reactive({initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],afterVisibleList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),fe={synchData:[],fullData:[],optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0},pe={refElem:oe},ve={xID:re,props:G,context:H,reactData:he,internalData:fe,getRefMaps:()=>pe},me=vue.computed(()=>{const{readonly:Tt}=G;return Tt===null?te?te.props.readonly:!1:Tt}),ge=vue.computed(()=>{const{disabled:Tt}=G;return Tt===null?te?te.props.disabled:!1:Tt}),we=vue.computed(()=>{const{transfer:Tt}=G;if(Tt===null){const gt=getConfig$8().select.transfer;if(XEUtils.isBoolean(gt))return gt;if(ee||K||Z||te)return!0}return Tt}),$e=vue.computed(()=>{const{placeholder:Tt}=G;if(Tt)return getFuncText(Tt);const gt=getConfig$8().select.placeholder;return gt?getFuncText(gt):getI18n$e("vxe.base.pleaseSelect")}),Ee=vue.computed(()=>Object.assign({},G.optionProps)),xe=vue.computed(()=>Object.assign({},G.optionGroupProps)),Me=vue.computed(()=>Ee.value.label||"label"),De=vue.computed(()=>Ee.value.value||"value"),ke=vue.computed(()=>xe.value.label||"label"),Oe=vue.computed(()=>xe.value.options||"options"),Ne=vue.computed(()=>{const{modelValue:Tt,multiple:gt,max:Rt}=G;return gt&&Rt?(XEUtils.isArray(Tt)?Tt.length:XEUtils.eqNull(Tt)?0:1)>=XEUtils.toNumber(Rt):!1}),_e=vue.computed(()=>Object.assign({},getConfig$8().select.scrollY,G.scrollY)),ye=vue.computed(()=>Object.assign({},getConfig$8().select.optionConfig,G.optionConfig)),Ce=vue.computed(()=>XEUtils.toNumber(G.multiCharOverflow)),be=vue.computed(()=>{const{modelValue:Tt,remote:gt,multiple:Rt}=G,Ut=Ce.value;if(XEUtils.eqNull(Tt))return"";const ct=XEUtils.isArray(Tt)?Tt:[Tt];return gt?ct.map(bn=>je(bn)).join(", "):ct.map(bn=>{const rn=Le(bn);return Rt&&Ut>0&&rn.length>Ut?`${rn.substring(0,Ut)}...`:rn}).join(", ")}),Te=(Tt,gt)=>Tt&&(XEUtils.isString(Tt)&&(Tt=X[Tt]||null),XEUtils.isFunction(Tt))?getSlotVNs(Tt(gt)):[],Ae=(Tt,gt,Rt)=>{Q(Tt,createEvent$3(Rt,{$select:ve},gt))},Re=Tt=>{Q("update:modelValue",Tt)},Fe=()=>ye.value.keyField||G.optionId||"_X_OPTION_KEY",Be=Tt=>{const gt=Tt[Fe()];return gt?encodeURIComponent(gt):""},je=Tt=>{const{remoteValMaps:gt}=fe,Rt=Me.value,Ut=gt[Tt],ct=Ut?Ut.item:null;return XEUtils.toValueString(ct?ct[Rt]:Tt)},Le=Tt=>{const{optFullValMaps:gt}=fe,Rt=Me.value,Ut=he.reactFlag?gt[Tt]:null;return Ut?Ut.item[Rt]:XEUtils.toValueString(Tt)},Ue=Tt=>{const gt=Oe.value,Rt=De.value,Ut=Fe(),ct={},bn={},rn=[],dn=$n=>{rn.push($n);let hn=Be($n);hn||(hn=getOptUniqueId$1(),$n[Ut]=hn),bn[$n[Rt]]={key:hn,item:$n,_index:-1}};Tt.forEach($n=>{dn($n),$n[gt]&&(ct[$n[Ut]]=$n,$n[gt].forEach(dn))}),fe.fullData=rn,fe.optGroupKeyMaps=ct,fe.optFullValMaps=bn,he.reactFlag++,Ie()},Ie=()=>{const{filterable:Tt,filterMethod:gt}=G,{searchValue:Rt}=he,{fullData:Ut,optFullValMaps:ct}=fe,bn=Me.value,rn=De.value,dn=`${Rt||""}`.toLowerCase();let $n=[];return Tt&&gt?$n=Ut.filter(hn=>isOptionVisible(hn)&&gt({group:null,option:hn,searchValue:dn})):Tt?$n=Ut.filter(hn=>isOptionVisible(hn)&&(!dn||`${hn[bn]}`.toLowerCase().indexOf(dn)>-1)):$n=Ut.filter(isOptionVisible),$n.forEach((hn,gn)=>{const On=ct[hn[rn]];On&&(On._index=gn)}),he.afterVisibleList=$n,vue.nextTick()},Ve=Tt=>{Tt&&(he.currentOption=Tt)},ze=()=>{he.panelIndex<getLastZIndex()&&(he.panelIndex=nextZIndex())},We=()=>vue.nextTick().then(()=>{const{placement:Tt}=G,{panelIndex:gt}=he,Rt=oe.value,Ut=ce.value,ct=we.value;if(Ut&&Rt){const bn=Rt.offsetHeight,rn=Rt.offsetWidth,dn=Ut.offsetHeight,$n=Ut.offsetWidth,hn=5,gn={zIndex:gt},{boundingTop:On,boundingLeft:Vn,visibleHeight:Un,visibleWidth:Ln}=getAbsolutePos(Rt);let Wn="bottom";if(ct){let Yn=Vn,or=On+bn;Tt==="top"?(Wn="top",or=On-dn):Tt||(or+dn+hn>Un&&(Wn="top",or=On-dn),or<hn&&(Wn="bottom",or=On+bn)),Yn+$n+hn>Ln&&(Yn-=Yn+$n+hn-Ln),Yn<hn&&(Yn=hn),Object.assign(gn,{left:`${Yn}px`,top:`${or}px`,minWidth:`${rn}px`})}else Tt==="top"?(Wn="top",gn.bottom=`${bn}px`):Tt||On+bn+dn>Un&&On-bn-dn>hn&&(Wn="top",gn.bottom=`${bn}px`);return he.panelStyle=gn,he.panelPlacement=Wn,vue.nextTick()}}),Xe=()=>{const{loading:Tt,filterable:gt}=G,{hpTimeout:Rt}=fe,Ut=ge.value;!Tt&&!Ut&&(Rt&&(clearTimeout(Rt),fe.hpTimeout=void 0),he.initialized||(he.initialized=!0),he.isActivated=!0,he.isAniVisible=!0,gt&&(Ie(),Je()),setTimeout(()=>{he.visiblePanel=!0,It(),Nt().then(()=>kt())},10),setTimeout(()=>{Nt().then(()=>kt())},100),ze(),We())},He=()=>{he.searchValue="",he.searchLoading=!1,he.visiblePanel=!1,fe.hpTimeout=window.setTimeout(()=>{he.isAniVisible=!1},350)},qe=(Tt,gt)=>{Re(gt),gt!==G.modelValue&&(Ae("change",{value:gt},Tt),te&&ne&&te.triggerItemEvent(Tt,ne.itemConfig.field,gt))},at=(Tt,gt)=>{fe.remoteValMaps={},qe(Tt,gt),Ae("clear",{value:gt},Tt)},st=(Tt,gt)=>{at(gt,null),He()},Ke=(Tt,gt)=>{const{modelValue:Rt,multiple:Ut}=G,{remoteValMaps:ct}=fe,bn=De.value,rn=gt[bn],dn=ct[rn];if(dn?dn.item=gt:ct[rn]={key:Be(gt),item:gt,_index:-1},Ut){let $n=[];const hn=XEUtils.eqNull(Rt)?[]:XEUtils.isArray(Rt)?Rt:[Rt];XEUtils.findIndexOf(hn,On=>On===rn)===-1?$n=hn.concat([rn]):$n=hn.filter(On=>On!==rn),qe(Tt,$n)}else qe(Tt,rn),He();he.reactFlag++},dt=Tt=>{const{visiblePanel:gt}=he;if(!ge.value&&gt){const Ut=ce.value;getEventTargetNode(Tt,Ut).flag?We():He()}},wt=Tt=>{const{visiblePanel:gt}=he;if(!ge.value){const Ut=oe.value,ct=ce.value;he.isActivated=getEventTargetNode(Tt,Ut).flag||getEventTargetNode(Tt,ct).flag,gt&&!he.isActivated&&He()}},$t=Tt=>{const gt=Tt.disabled,Rt=Be(Tt);return!gt&&!Jt(Rt)},mt=(Tt,gt)=>{const{afterVisibleList:Rt}=he,{optFullValMaps:Ut}=fe,ct=De.value;if(!Tt)for(let rn=0;rn<Rt.length-1;rn++){const dn=Rt[rn];if($t(dn))return dn}const bn=Ut[Tt[ct]];if(bn){const rn=bn._index;if(rn>-1){if(gt)for(let dn=rn+1;dn<=Rt.length-1;dn++){const $n=Rt[dn];if($t($n))return $n}else if(rn>0)for(let dn=rn-1;dn>=0;dn--){const $n=Rt[dn];if($t($n))return $n}}}return null},bt=Tt=>{const{clearable:gt}=G,{visiblePanel:Rt,currentOption:Ut}=he;if(!ge.value){const bn=globalEvents$4.hasKey(Tt,GLOBAL_EVENT_KEYS$3.TAB),rn=globalEvents$4.hasKey(Tt,GLOBAL_EVENT_KEYS$3.ENTER),dn=globalEvents$4.hasKey(Tt,GLOBAL_EVENT_KEYS$3.ESCAPE),$n=globalEvents$4.hasKey(Tt,GLOBAL_EVENT_KEYS$3.ARROW_UP),hn=globalEvents$4.hasKey(Tt,GLOBAL_EVENT_KEYS$3.ARROW_DOWN),gn=globalEvents$4.hasKey(Tt,GLOBAL_EVENT_KEYS$3.DELETE),On=globalEvents$4.hasKey(Tt,GLOBAL_EVENT_KEYS$3.SPACEBAR);if(bn&&(he.isActivated=!1),Rt)if(dn||bn)He();else if(rn)Tt.preventDefault(),Tt.stopPropagation(),Ke(Tt,Ut);else if($n||hn){Tt.preventDefault();const Vn=mt(Ut,hn);Vn&&(Ve(Vn),ft(Vn,hn))}else On&&Tt.preventDefault();else($n||hn||rn||On)&&he.isActivated&&(Tt.preventDefault(),Xe());he.isActivated&&gn&&gt&&at(Tt,null)}},Ot=()=>{He()},It=()=>{G.filterable&&vue.nextTick(()=>{const Tt=se.value;Tt&&Tt.focus()})},yt=Tt=>{ge.value||he.visiblePanel||(he.triggerFocusPanel=!0,Xe(),setTimeout(()=>{he.triggerFocusPanel=!1},150)),Ae("focus",{},Tt)},Et=Tt=>{et(Tt),Ae("click",{},Tt)},Vt=Tt=>{he.isActivated=!1,Ae("blur",{},Tt)},ut=Tt=>{he.searchValue=Tt},vt=()=>{he.isActivated=!0},Qe=()=>{const{remote:Tt,remoteMethod:gt}=G,{searchValue:Rt}=he;Tt&&gt?(he.searchLoading=!0,Promise.resolve(gt({searchValue:Rt})).then(()=>vue.nextTick()).catch(()=>vue.nextTick()).finally(()=>{he.searchLoading=!1,Ie(),Je()})):(Ie(),Je())},ht=XEUtils.debounce(Qe,350,{trailing:!0}),et=Tt=>{const{$event:gt}=Tt;gt.preventDefault(),he.triggerFocusPanel?he.triggerFocusPanel=!1:he.visiblePanel?He():Xe()},nt=(Tt,gt,Rt)=>!!(gt.disabled||Rt&&Rt.disabled||Ne.value&&!Tt),Ye=()=>{const{scrollYLoad:Tt,afterVisibleList:gt}=he,{scrollYStore:Rt}=fe;he.bodyHeight=Tt?gt.length*Rt.rowHeight:0,he.topSpaceHeight=Tt?Math.max(Rt.startIndex*Rt.rowHeight,0):0},tt=()=>{const{scrollYLoad:Tt,afterVisibleList:gt}=he,{scrollYStore:Rt}=fe;return he.optList=Tt?gt.slice(Rt.startIndex,Rt.endIndex):gt.slice(0),vue.nextTick()},Je=()=>{tt(),Ye()},it=()=>vue.nextTick().then(()=>{const{scrollYLoad:Tt}=he,{scrollYStore:gt}=fe,Rt=de.value,Ut=_e.value;let ct=0,bn;if(Rt&&(Ut.sItem&&(bn=Rt.querySelector(Ut.sItem)),bn||(bn=Rt.children[0])),bn&&(ct=bn.offsetHeight),ct=Math.max(20,ct),gt.rowHeight=ct,Tt){const rn=le.value,dn=Math.max(8,rn?Math.ceil(rn.clientHeight/ct):0),$n=Math.max(0,Math.min(2,XEUtils.toNumber(Ut.oSize)));gt.offsetSize=$n,gt.visibleSize=dn,gt.endIndex=Math.max(gt.startIndex,dn+$n,gt.endIndex),Je()}else Ye()}),ft=(Tt,gt)=>{const{scrollYLoad:Rt}=he,{optFullValMaps:Ut,scrollYStore:ct}=fe,bn=De.value,rn=Ut[Tt[bn]];if(rn){const dn=rn.key,$n=rn._index;if($n>-1){const hn=le.value,On=ce.value.querySelector(`[optid='${dn}']`);if(hn)if(On){const Vn=hn.offsetHeight,Un=1;gt?On.offsetTop+On.offsetHeight-hn.scrollTop>Vn&&(hn.scrollTop=On.offsetTop+On.offsetHeight-Vn):(On.offsetTop+Un<hn.scrollTop||On.offsetTop+Un>hn.scrollTop+hn.clientHeight)&&(hn.scrollTop=On.offsetTop-Un)}else Rt&&(gt?hn.scrollTop=$n*ct.rowHeight-hn.clientHeight+ct.rowHeight:hn.scrollTop=$n*ct.rowHeight)}}},St=(Tt,gt)=>{const Rt=le.value;return Rt&&(XEUtils.isNumber(Tt)&&(Rt.scrollLeft=Tt),XEUtils.isNumber(gt)&&(Rt.scrollTop=gt)),he.scrollYLoad?new Promise(Ut=>{setTimeout(()=>{vue.nextTick(()=>{Ut()})},50)}):vue.nextTick()},kt=()=>{const{lastScrollLeft:Tt,lastScrollTop:gt}=fe;return Yt().then(()=>{if(Tt||gt)return fe.lastScrollLeft=0,fe.lastScrollTop=0,St(Tt,gt)})},Nt=()=>{const Tt=oe.value;return Tt&&Tt.clientWidth&&Tt.clientHeight?it():Promise.resolve()},Ht=Tt=>{const{scrollYStore:gt}=fe,{startIndex:Rt,endIndex:Ut,visibleSize:ct,offsetSize:bn,rowHeight:rn}=gt,$n=Tt.target.scrollTop,hn=Math.floor($n/rn),gn=Math.max(0,hn-1-bn),On=hn+ct+bn;(hn<=Rt||hn>=Ut-ct-1)&&(Rt!==gn||Ut!==On)&&(gt.startIndex=gn,gt.endIndex=On,Je())},Lt=()=>{const{lastScrollTime:gt}=fe;return!!(gt&&Date.now()<gt+250)},Bt=Tt=>{const gt=Tt.target,Rt=gt.scrollTop,Ut=gt.scrollLeft,ct=Ut!==fe.lastScrollLeft,bn=Rt!==fe.lastScrollTop;fe.lastScrollTop=Rt,fe.lastScrollLeft=Ut,he.scrollYLoad&&Ht(Tt),fe.lastScrollTime=Date.now(),Ae("scroll",{scrollLeft:Ut,scrollTop:Rt,isX:ct,isY:bn},Tt)},Xt=Tt=>{Ue(Tt||[]);const{fullData:gt,scrollYStore:Rt}=fe,Ut=_e.value;return Object.assign(Rt,{startIndex:0,endIndex:1,visibleSize:0}),fe.synchData=Tt||[],he.scrollYLoad=!!Ut.enabled&&Ut.gt>-1&&(Ut.gt===0||Ut.gt<=gt.length),tt(),it().then(()=>{kt()})},Yt=()=>{const Tt=le.value;return Tt&&(Tt.scrollTop=0,Tt.scrollLeft=0),fe.lastScrollTop=0,fe.lastScrollLeft=0,vue.nextTick()},Jt=Tt=>{const{optGroupKeyMaps:gt}=fe;return!!gt[Tt]};Object.assign(ve,{dispatchEvent:Ae,loadData:Xt,reloadData(Tt){return Yt(),Xt(Tt)},isPanelVisible(){return he.visiblePanel},togglePanel(){return he.visiblePanel?He():Xe(),vue.nextTick()},hidePanel(){return he.visiblePanel&&He(),vue.nextTick()},showPanel(){return he.visiblePanel||Xe(),vue.nextTick()},refreshOption(){return Ie(),Je(),vue.nextTick()},focus(){const Tt=ae.value;return he.isActivated=!0,Tt.blur(),vue.nextTick()},blur(){return ae.value.blur(),he.isActivated=!1,vue.nextTick()},recalculate:Nt,clearScroll:Yt});const mn=(Tt,gt)=>{const{optionKey:Rt,modelValue:Ut}=G,{currentOption:ct}=he,bn=ye.value,rn=Me.value,dn=De.value,$n=ke.value,{useKey:hn}=bn,gn=X.option;return Tt.map((On,Vn)=>{const{slots:Un,className:Ln}=On,Wn=Be(On),Yn=On[dn],or=Jt(Wn),dr=XEUtils.isArray(Ut)?Ut.indexOf(Yn)>-1:Ut===Yn,hr=!or||isOptionVisible(On),zt=nt(dr,On,gt),tn=Un?Un.default:null,Cn={option:On,group:null,$select:ve};return hr?vue.h("div",{key:hn||Rt?Wn:Vn,class:["vxe-select-option",Ln?XEUtils.isFunction(Ln)?Ln(Cn):Ln:"",{"vxe-select-optgroup":or,"is--disabled":zt,"is--selected":dr,"is--hover":ct&&Be(ct)===Wn}],optid:Wn,onMousedown:yn=>{yn.button===0&&yn.stopPropagation()},onClick:yn=>{!zt&&!or&&Ke(yn,On)},onMouseenter:()=>{!zt&&!or&&!Lt()&&Ve(On)}},gn?Te(gn,Cn):tn?Te(tn,Cn):getFuncText(On[or?$n:rn])):vue.createCommentVNode()})},cn=()=>{const{optList:Tt,searchLoading:gt}=he;return gt?[vue.h("div",{class:"vxe-select--search-loading"},[vue.h("i",{class:["vxe-select--search-icon",getIcon$8().SELECT_LOADED]}),vue.h("span",{class:"vxe-select--search-text"},getI18n$e("vxe.select.loadingText"))])]:Tt.length?mn(Tt):[vue.h("div",{class:"vxe-select--empty-placeholder"},G.emptyText||getI18n$e("vxe.select.emptyText"))]},kn=()=>{const{className:Tt,popupClassName:gt,loading:Rt,filterable:Ut}=G,{initialized:ct,isActivated:bn,isAniVisible:rn,visiblePanel:dn,bodyHeight:$n,topSpaceHeight:hn}=he,gn=ue.value,On=ge.value,Vn=be.value,Un=we.value,Ln=me.value,Wn=$e.value,Yn=X.default,or=X.header,dr=X.footer,hr=X.prefix;return Ln?vue.h("div",{ref:oe,class:["vxe-select--readonly",Tt]},[vue.h("div",{class:"vxe-select-slots",ref:"hideOption"},Yn?Yn({}):[]),vue.h("span",{class:"vxe-select-label"},Vn)]):vue.h("div",{ref:oe,class:["vxe-select",Tt?XEUtils.isFunction(Tt)?Tt({$select:ve}):Tt:"",{[`size--${gn}`]:gn,"is--visible":dn,"is--disabled":On,"is--filter":Ut,"is--loading":Rt,"is--active":bn}]},[vue.h("div",{class:"vxe-select-slots",ref:"hideOption"},Yn?Yn({}):[]),vue.h(VxeInputComponent,{ref:ae,clearable:G.clearable,placeholder:Wn,readonly:!0,disabled:On,type:"text",prefixIcon:G.prefixIcon,suffixIcon:Rt?getIcon$8().SELECT_LOADED:dn?getIcon$8().SELECT_OPEN:getIcon$8().SELECT_CLOSE,modelValue:Vn,onClear:st,onClick:Et,onFocus:yt,onBlur:Vt,onSuffixClick:et},hr?{prefix:()=>hr({})}:{}),vue.h(vue.Teleport,{to:"body",disabled:Un?!ct:!0},[vue.h("div",{ref:ce,class:["vxe-table--ignore-clear vxe-select--panel",gt?XEUtils.isFunction(gt)?gt({$select:ve}):gt:"",{[`size--${gn}`]:gn,"is--transfer":Un,"ani--leave":!Rt&&rn,"ani--enter":!Rt&&dn}],placement:he.panelPlacement,style:he.panelStyle},ct&&(dn||rn)?[vue.h("div",{class:"vxe-select--panel-wrapper"},[Ut?vue.h("div",{class:"vxe-select--panel-search"},[vue.h(VxeInputComponent,{ref:se,class:"vxe-select-search--input",modelValue:he.searchValue,clearable:!0,disabled:!1,readonly:!1,placeholder:getI18n$e("vxe.select.search"),prefixIcon:getIcon$8().INPUT_SEARCH,"onUpdate:modelValue":ut,onFocus:vt,onChange:ht,onSearch:ht})]):vue.createCommentVNode(),or?vue.h("div",{class:"vxe-select--panel-header"},or({})):vue.createCommentVNode(),vue.h("div",{class:"vxe-select--panel-body"},[vue.h("div",{ref:le,class:"vxe-select-option--wrapper",onScroll:Bt},[vue.h("div",{class:"vxe-select--y-space",style:{height:$n?`${$n}px`:""}}),vue.h("div",{ref:de,class:"vxe-select--body",style:{marginTop:hn?`${hn}px`:""}},cn())])]),dr?vue.h("div",{class:"vxe-select--panel-footer"},dr({})):vue.createCommentVNode()])]:[])])])};return vue.watch(()=>he.staticOptions,Tt=>{Xt(Tt)}),vue.watch(()=>G.options,Tt=>{Xt(Tt||[])}),vue.watch(()=>G.optionGroups,Tt=>{Xt(Tt||[])}),vue.onMounted(()=>{vue.nextTick(()=>{const{options:Tt,optionGroups:gt}=G;gt?Xt(gt):Tt&&Xt(Tt)}),globalEvents$4.on(ve,"mousewheel",dt),globalEvents$4.on(ve,"mousedown",wt),globalEvents$4.on(ve,"keydown",bt),globalEvents$4.on(ve,"blur",Ot)}),vue.onUnmounted(()=>{globalEvents$4.off(ve,"mousewheel"),globalEvents$4.off(ve,"mousedown"),globalEvents$4.off(ve,"keydown"),globalEvents$4.off(ve,"blur")}),vue.provide("$xeSelect",ve),ve.renderVN=kn,ve},render(){return this.renderVN()}}),getBoldOptions$1=()=>[{label:getI18n$e("vxe.formDesign.styleSetting.fontNormal"),value:!1},{label:getI18n$e("vxe.formDesign.styleSetting.fontBold"),value:!0}],getColonOptions=()=>[{label:getI18n$e("vxe.formDesign.styleSetting.colonVisible"),value:!0},{label:getI18n$e("vxe.formDesign.styleSetting.colonHidden"),value:!1}],getAlignOptions$1=()=>[{label:getI18n$e("vxe.formDesign.styleSetting.alignLeft"),value:""},{label:getI18n$e("vxe.formDesign.styleSetting.alignRight"),value:"right"}],getWidthUnitOptions=()=>[{label:getI18n$e("vxe.formDesign.styleSetting.unitPx"),value:""},{label:getI18n$e("vxe.formDesign.styleSetting.unitPct"),value:"%"}],renderLayoutOption=(G,H,X,Q)=>{const K=X==="vertical";return vue.h("div",{class:["vxe-form-design--widget-form-item-option",`is--${X}`,{"is--active":K?G[H]:!G[H]}],onClick(){G[H]=K,Q()}},[vue.h("div",{class:"vxe-form-design--widget-form-item-option-row"}),vue.h("div",{class:"vxe-form-design--widget-form-item-option-row"}),vue.h("div",{},getI18n$e(K?"vxe.formDesign.styleSetting.verticalLayout":"vxe.formDesign.styleSetting.horizontalLayout"))])},DefaultPCStyleFormComponent=vue.defineComponent({name:"DefaultPCStyleForm",props:{formData:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null),X="pcVertical",Q=vue.ref(getBoldOptions$1()),K=vue.ref(getColonOptions()),Z=vue.ref(getAlignOptions$1()),ee=vue.ref(getWidthUnitOptions()),te=()=>{H&&H.refreshPreviewView()},ne=()=>{const{formData:re}=G;re.pcTitleWidth||(re.pcTitleWidth=100),te()};return()=>{const{formData:re}=G;return vue.h(VxeFormComponent,{data:re,span:24,vertical:!0,titleBold:!0},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.styleSetting.layoutTitle"),field:X},{default(){return[vue.h("div",{class:"vxe-form-design--widget-form-item-layout"},[renderLayoutOption(re,X,"vertical",ne),renderLayoutOption(re,X,"horizontal",ne)])]}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.styleSetting.styleTitle")},{default(){return[vue.h("div",{class:"vxe-form-design--widget-form-item-prop-list"},[vue.h("span",{},getI18n$e("vxe.formDesign.styleSetting.boldTitle")),vue.h(VxeRadioGroupComponent,{modelValue:re.pcTitleBold,options:Q.value,onChange:te,"onUpdate:modelValue"(oe){re.pcTitleBold=oe}})]),vue.h("div",{class:"vxe-form-design--widget-form-item-prop-list"},[vue.h("span",{},getI18n$e("vxe.formDesign.styleSetting.colonTitle")),vue.h(VxeRadioGroupComponent,{modelValue:re.pcTitleColon,options:K.value,onChange:te,"onUpdate:modelValue"(oe){re.pcTitleColon=oe}})]),re.pcVertical?vue.createCommentVNode():vue.h("div",{class:"vxe-form-design--widget-form-item-prop-list"},[vue.h("span",{},getI18n$e("vxe.formDesign.styleSetting.alignTitle")),vue.h(VxeRadioGroupComponent,{modelValue:re.pcTitleAlign,options:Z.value,onChange:te,"onUpdate:modelValue"(oe){re.pcTitleAlign=oe}})]),re.pcVertical?vue.createCommentVNode():vue.h("div",{class:"vxe-form-design--widget-form-item-prop-list"},[vue.h("span",{},getI18n$e("vxe.formDesign.styleSetting.widthTitle")),vue.h(VxeInputComponent,{class:"vxe-form-design--widget-form-item-prop-width",modelValue:re.pcTitleWidth,type:"integer",onChange:te,"onUpdate:modelValue"(oe){re.pcTitleWidth=oe}}),vue.h(VxeSelectComponent,{class:"vxe-form-design--widget-form-item-prop-unit",modelValue:re.pcTitleWidthUnit,options:ee.value,transfer:!0,onChange:te,"onUpdate:modelValue"(oe){re.pcTitleWidthUnit=oe}})])]}})]}})}}}),DefaultMobileStyleFormComponent=vue.defineComponent({name:"DefaultMobileStyleForm",props:{formData:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null),X="mobileVertical",Q=vue.ref(getBoldOptions$1()),K=vue.ref(getColonOptions()),Z=vue.ref(getAlignOptions$1()),ee=vue.ref(getWidthUnitOptions()),te=()=>{H&&H.refreshPreviewView()},ne=()=>{const{formData:re}=G;re.mobileTitleWidth||(re.mobileTitleWidth=100),te()};return()=>{const{formData:re}=G;return vue.h(VxeFormComponent,{data:re,span:24,vertical:!0,titleBold:!0},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.styleSetting.layoutTitle"),field:X},{default(){return[vue.h("div",{class:"vxe-form-design--widget-form-item-layout"},[renderLayoutOption(re,X,"vertical",ne),renderLayoutOption(re,X,"horizontal",ne)])]}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.styleSetting.styleTitle")},{default(){return[vue.h("div",{class:"vxe-form-design--widget-form-item-prop-list"},[vue.h("span",{},getI18n$e("vxe.formDesign.styleSetting.boldTitle")),vue.h(VxeRadioGroupComponent,{modelValue:re.mobileTitleBold,options:Q.value,onChange:te,"onUpdate:modelValue"(oe){re.mobileTitleBold=oe}})]),vue.h("div",{class:"vxe-form-design--widget-form-item-prop-list"},[vue.h("span",{},getI18n$e("vxe.formDesign.styleSetting.colonTitle")),vue.h(VxeRadioGroupComponent,{modelValue:re.mobileTitleColon,options:K.value,onChange:te,"onUpdate:modelValue"(oe){re.mobileTitleColon=oe}})]),re.mobileVertical?vue.createCommentVNode():vue.h("div",{class:"vxe-form-design--widget-form-item-prop-list"},[vue.h("span",{},getI18n$e("vxe.formDesign.styleSetting.alignTitle")),vue.h(VxeRadioGroupComponent,{modelValue:re.mobileTitleAlign,options:Z.value,onChange:te,"onUpdate:modelValue"(oe){re.mobileTitleAlign=oe}})]),re.mobileVertical?vue.createCommentVNode():vue.h("div",{class:"vxe-form-design--widget-form-item-prop-list"},[vue.h("span",{},getI18n$e("vxe.formDesign.styleSetting.widthTitle")),vue.h(VxeInputComponent,{class:"vxe-form-design--widget-form-item-prop-width",modelValue:re.mobileTitleWidth,type:"integer",onChange:te,"onUpdate:modelValue"(oe){re.mobileTitleWidth=oe}}),vue.h(VxeSelectComponent,{class:"vxe-form-design--widget-form-item-prop-unit",modelValue:re.mobileTitleWidthUnit,options:ee.value,transfer:!0,onChange:te,"onUpdate:modelValue"(oe){re.mobileTitleWidthUnit=oe}})])]}})]}})}}}),LayoutStyleComponent=vue.defineComponent({name:"FormDesignLayoutStyle",props:{},emits:[],setup(){const G=vue.inject("$xeFormDesign",null),H=vue.reactive({activeTab:1}),X={reactData:H,renderVN(){return[]}};if(!G)return X;const{props:Q,reactData:K}=G,Z=vue.ref(!1),ee=vue.ref(null),te=vue.ref({}),ne=()=>{ee.value=G.getConfig()},re=ue=>{const{viewRender:he}=ue,{activeTab:fe}=H,{name:pe}=he||{},ve=renderer$c.get(pe)||{},me=ve?ve.createFormViewFormConfig:null,ge=ve?ve.createFormViewMobileFormConfig:null;return fe===2?ge?ge(ue):createDefaultFormViewMobileFormConfig(ue):me?me(ue):createDefaultFormViewPCFormConfig(ue)};Object.assign(X,{updatePreviewView:ne,openStylePreview(){const{showPc:ue}=Q;ne(),H.activeTab=ue?1:2,Z.value=!0}});const ae=()=>{const{activeTab:ue}=H;return vue.h("div",{class:["vxe-form-design--layout-style-preview",`is--${ue===2?"mobile":"pc"}`]},[vue.h(VxeFormViewComponent,{modelValue:te.value,config:ee.value,createFormConfig:re,"onUpdate:modelValue"(he){te.value=he}})])},se=()=>{const{formRender:ue}=Q,{formData:he}=K;if(ue){const fe=renderer$c.get(ue.name),pe=fe?fe.renderFormDesignMobileStyleFormView:null;if(pe)return vue.h("div",{class:"vxe-form-design--custom-setting-mobile-form-view"},getSlotVNs(pe({},{$formDesign:G,formConfig:he})))}return vue.h(DefaultMobileStyleFormComponent,{formData:he})},le=()=>{const{formRender:ue}=Q,{formData:he}=K;if(ue){const fe=renderer$c.get(ue.name),pe=fe?fe.renderFormDesignStyleFormView:null;if(pe)return vue.h("div",{class:"vxe-form-design--custom-setting-pc-form-view"},getSlotVNs(pe({},{$formDesign:G,formConfig:he})))}return vue.h(DefaultPCStyleFormComponent,{formData:he})},ce=()=>{const{showPc:ue,showMobile:he}=Q,{activeTab:fe}=H;return vue.h("div",{class:"vxe-form-design--layout-style-setting"},[vue.h(VxeTabsComponent,{modelValue:fe,titleWidth:ue&&he?"50%":"100%",titleAlign:"center",padding:!0,onChange:ne,"onUpdate:modelValue"(pe){H.activeTab=pe}},{default(){const pe=[];return ue&&pe.push(vue.h(VxeTabPaneComponent,{title:getI18n$e("vxe.formDesign.widgetProp.displaySetting.pc"),icon:getIcon$8().FORM_DESIGN_PROPS_PC,k:1,name:1},{default(){return le()}})),he&&pe.push(vue.h(VxeTabPaneComponent,{title:getI18n$e("vxe.formDesign.widgetProp.displaySetting.mobile"),icon:getIcon$8().FORM_DESIGN_PROPS_MOBILE,key:2,name:2},{default(){return se()}})),pe}})])},de=()=>{const{showPc:ue,showMobile:he}=Q;return vue.h(VxeModalComponent,{modelValue:Z.value,title:getI18n$e("vxe.formDesign.styleSetting.title"),height:"90vh",width:"90vw",escClosable:!0,maskClosable:!0,destroyOnClose:!0,showMaximize:!0,transfer:!0,"onUpdate:modelValue"(fe){Z.value=fe}},{default(){return vue.h("div",{class:"vxe-form-design--layout-style"},[ae(),ue||he?ce():vue.createCommentVNode()])}})};return X.renderVN=de,vue.provide("$xeFormDesignLayoutStyle",X),X},render(){return this.renderVN()}}),VxeFormDesignComponent=vue.defineComponent({name:"VxeFormDesign",props:{size:{type:String,default:()=>getConfig$8().formDesign.size||getConfig$8().size},config:Object,height:{type:[String,Number],default:()=>getConfig$8().formDesign.height},widgets:{type:Array,default:()=>XEUtils.clone(getConfig$8().formDesign.widgets)||[]},showHeader:{type:Boolean,default:()=>getConfig$8().formDesign.showHeader},showPc:{type:Boolean,default:()=>getConfig$8().formDesign.showPc},showMobile:{type:Boolean,default:()=>getConfig$8().formDesign.showMobile},formRender:Object},emits:["click-widget","add-widget","copy-widget","remove-widget","drag-widget"],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.ref(),{computeSize:te}=useSize(G),ne=vue.reactive({formData:{},widgetConfigs:[],widgetObjList:[],dragWidget:null,sortWidget:null,activeWidget:null}),re=vue.reactive({}),oe={refElem:Z},ae={computeSize:te},se={xID:K,props:G,context:H,reactData:ne,internalData:re,getRefMaps:()=>oe,getComputeMaps:()=>ae},le=ye=>new FormDesignWidgetInfo(se,ye,ne.widgetObjList),ce=()=>new FormDesignWidgetInfo(se,"",ne.widgetObjList),de=ye=>{if(ye){const{formConfig:Te,widgetData:Ae}=ye;Te&&fe(Te),Ae&&me(Ae)}const{activeWidget:Ce,widgetObjList:be}=ne;if(Ce){const Te=XEUtils.findTree(be,Ae=>Ae.id===Ce.id,{children:"children"});Te?ne.activeWidget=Te.item:ne.activeWidget=be[0]||null}else ne.activeWidget=be[0]||null;return vue.nextTick()},ue=ye=>(we(),de(ye)),he=()=>XEUtils.clone(ne.formData,!0),fe=ye=>(ne.formData=Object.assign({},De(),ye),vue.nextTick()),pe=ye=>{const{widgetObjList:Ce}=ne;if(ye){const be=XEUtils.toNumber(ye),Te=XEUtils.findTree(Ce,Ae=>Ae&&Ae.id===be,{children:"children"});if(Te)return Te.item}return null},ve=()=>{const ye=XEUtils.clone(ne.widgetObjList,!0);return XEUtils.eachTree(ye,Ce=>{Ce.model.value=null},{children:"children"}),ye},me=ye=>(ne.widgetObjList=(ye||[]).map(Ce=>configToWidget(Ce)),vue.nextTick()),ge=()=>{const ye=ee.value;return ye&&ye.openStylePreview(),vue.nextTick()},we=()=>(ne.widgetObjList=[],ke(),vue.nextTick()),$e={dispatchEvent(ye,Ce,be){X(ye,createEvent$3(be,{$xeFormDesign:se},Ce))},createWidget:le,createEmptyWidget:ce,getConfig(){return{formConfig:he(),widgetData:ve()}},clearConfig:we,loadConfig:de,reloadConfig:ue,getFormConfig:he,loadFormConfig:fe,getWidgetById:pe,getFormData(){const{widgetObjList:ye}=ne,Ce={};return XEUtils.eachTree(ye,be=>{Ce[be.field]=null},{children:"children"}),Ce},getWidgetData:ve,loadWidgetData:me,refreshPreviewView(){const ye=ee.value;return ye&&ye.updatePreviewView(),vue.nextTick()},openStyleSetting:ge},Ee=()=>{const{widgets:ye}=G,Ce=[],be=[],Te=[],Ae=[],Re=[];renderer$c.forEach((Fe,Be)=>{const{createFormDesignWidgetConfig:je}=Fe;if(je){const Le=le(Be),Ue=getWidgetConfig(Be),Ie=getWidgetConfigCustomGroup(Be,se);if(Ie){const Ve=Re.find(ze=>ze.title===Ie);Ve?Ve.children.push(Le):Re.push({title:Ie,children:[Le]})}else switch(Ue.group){case"layout":Te.push(Le);break;case"advanced":Ae.push(Le);break;default:["title"].includes(Le.name)||be.push(Le);break}}}),be.length&&Ce.push({group:"base",children:be}),Te.length&&Ce.push({group:"layout",children:Te}),Ae.length&&Ce.push({group:"advanced",children:Ae}),Re.length&&Ce.push(...Re),ye&&ye.length?ne.widgetConfigs=G.widgets.map(Fe=>({title:Fe.customGroup,group:Fe.group,children:Fe.children?Fe.children.map(Be=>le(Be)):[]})):ne.widgetConfigs=Ce},xe=ye=>{const{widgetObjList:Ce}=ne;if(getWidgetConfig(ye).unique){const Te=[];XEUtils.eachTree(Ce,Re=>{Re.name===ye&&Te.push(Re)},{children:"children"});const Ae=Te.length<1;return Ae||VxeUI.modal&&VxeUI.modal.message({content:getI18n$e("vxe.formDesign.error.wdFormUni"),status:"error",id:"wdFormUni"}),Ae}return!0},Me={validWidgetUnique:xe,handleClickWidget(ye,Ce){Ce&&Ce.name&&(ye.stopPropagation(),ne.activeWidget=Ce,$e.dispatchEvent("click-widget",{widget:Ce},ye))},handleCopyWidget(ye,Ce){const{widgetObjList:be}=ne,Te=XEUtils.findTree(be,Ae=>Ae.id===Ce.id,{children:"children"});if(Te&&(ye.stopPropagation(),xe(Ce.name))){const{path:Ae}=Te,Re=Number(Ae[0]),Fe=le(Ce.name);Fe.title&&(Fe.title=getI18n$e("vxe.formDesign.widget.copyTitle",[`${Ce.title}`.replace(getI18n$e("vxe.formDesign.widget.copyTitle",[""]),"")])),Re>=be.length-1?be.push(Fe):be.splice(Re+1,0,Fe),ne.activeWidget=Fe,ne.widgetObjList=[...be],$e.dispatchEvent("copy-widget",{widget:Ce,newWidget:Fe},ye)}},handleRemoveWidget(ye,Ce){const{widgetObjList:be}=ne,Te=XEUtils.findTree(be,Ae=>Ae.id===Ce.id,{children:"children"});if(Te){const{index:Ae,parent:Re,items:Fe}=Te;ye.stopPropagation(),Ae>=Fe.length-1?ne.activeWidget=Fe[Ae-1]:ne.activeWidget=Fe[Ae+1]||null,Re&&Re.name==="row"?Fe[Ae]=ce():Fe.splice(Ae,1),ne.widgetObjList=[...be],$e.dispatchEvent("remove-widget",{widget:Ce},ye)}}},De=()=>{const{formRender:ye,showPc:Ce,showMobile:be}=G;let Te=getDefaultSettingFormData$1({pcVisible:Ce,mobileVisible:be});if(ye){const Ae=renderer$c.get(ye.name),Re=Ae?Ae.createFormDesignSettingFormConfig:null;Te=(Re?Re({}):{})||{}}return Te},ke=()=>{ne.formData=De()},Oe=()=>{ge()};Object.assign(se,$e,Me);const Ne=()=>{const ye=Q.extra;return vue.h("div",{class:"vxe-form-design--header-wrapper"},[vue.h("div",{class:"vxe-form-design--header-left"}),vue.h("div",{class:"vxe-form-design--header-middle"}),vue.h("div",{class:"vxe-form-design--header-right"},[ye?vue.h("div",{class:"vxe-form-design--header-extra"},ye({})):renderEmptyElement$3(se),vue.h("div",{class:"vxe-form-design--header-setting"},[vue.h(VxeButtonComponent,{mode:"text",status:"primary",icon:getIcon$8().FORM_DESIGN_STYLE_SETTING,content:getI18n$e("vxe.formDesign.styleSetting.btn"),onClick:Oe})])])])},_e=()=>{const{height:ye,showHeader:Ce}=G,be=te.value,Te=Q.header,Ae=Q.footer;return vue.h("div",{ref:Z,class:["vxe-form-design",{[`size--${be}`]:be}],style:ye?{height:toCssUnit(ye)}:null},[Ce||Te?vue.h("div",{class:"vxe-form-design--header"},Te?Te({}):Ne()):vue.createCommentVNode(),vue.h("div",{class:"vxe-form-design--body"},[vue.h(LayoutWidgetComponent),vue.h(LayoutPreviewComponent$1),vue.h(LayoutSettingComponent$1),vue.h(LayoutStyleComponent,{ref:ee})]),Ae?vue.h("div",{class:"vxe-form-design--footer"},Ae?Ae({}):[]):vue.createCommentVNode()])};return se.renderVN=_e,vue.watch(()=>G.widgets,()=>{Ee()}),vue.watch(()=>G.widgets,()=>{Ee()}),vue.watch(()=>G.config,ye=>{de(ye||{})}),ke(),Ee(),G.config&&de(G.config),vue.provide("$xeFormDesign",se),se},render(){return this.renderVN()}});function useWidgetName(G){return{computeKebabCaseName:vue.computed(()=>{const{renderOpts:X}=G;return X?XEUtils.kebabCase(X.name):""})}}function useWidgetView(G){const H=vue.computed(()=>{const{renderParams:ee}=G;return ee.widget}),X=vue.computed(()=>{const{renderParams:ee}=G;return ee.isEditMode||!1}),Q=vue.computed(()=>{const{renderParams:ee}=G;return ee.isViewMode||!1}),K=vue.computed(()=>{const{renderParams:ee}=G,{widget:te}=ee;return te?te.options:{}}),Z=vue.computed({get(){const{renderParams:ee}=G,{$formView:te,widget:ne}=ee;return te?te.getItemValue(ne):null},set(ee){const{renderParams:te}=G,{$formView:ne,widget:re}=te;ne&&ne.setItemValue(re,ee)}});return{currWidget:H,widgetOptions:K,widgetModel:Z,isEditMode:X,isViewMode:Q}}function useSubtableView(G){const H=vue.computed(()=>{const{renderParams:ee}=G;return ee.widget}),X=vue.computed(()=>{const{renderParams:ee}=G;return ee.column}),Q=vue.computed(()=>{const{renderParams:ee}=G;return ee.row}),K=vue.computed(()=>{const{renderParams:ee}=G,{widget:te}=ee;return te?te.options:{}}),Z=vue.computed({get(){const{renderParams:ee}=G,{row:te,column:ne}=ee;return XEUtils.get(te,ne.field)},set(ee){const{renderParams:te}=G,{row:ne,column:re}=te;return XEUtils.set(ne,re.field,ee)}});return{currColumn:X,currRow:Q,currWidget:H,widgetOptions:K,cellModel:Z}}let autoTxtElem;const VxeTextareaComponent=vue.defineComponent({name:"VxeTextarea",props:{modelValue:[String,Number],className:String,immediate:{type:Boolean,default:!0},name:String,readonly:{type:Boolean,default:null},editable:{type:Boolean,default:!0},disabled:{type:Boolean,default:null},placeholder:String,maxLength:[String,Number],rows:{type:[String,Number],default:null},cols:{type:[String,Number],default:null},showWordCount:Boolean,countMethod:Function,autosize:[Boolean,Object],form:String,resize:{type:String,default:()=>getConfig$8().textarea.resize},size:{type:String,default:()=>getConfig$8().textarea.size||getConfig$8().size},maxlength:[String,Number]},emits:["update:modelValue","input","keydown","keyup","click","change","focus","blur"],setup(G,H){const{emit:X}=H,Q=vue.inject("$xeForm",null),K=vue.inject("xeFormItemInfo",null),Z=XEUtils.uniqueId(),{computeSize:ee}=useSize(G),te=vue.reactive({inputValue:G.modelValue}),ne=vue.ref(),re=vue.ref(),oe={refElem:ne,refTextarea:re},ae={xID:Z,props:G,context:H,reactData:te,getRefMaps:()=>oe};let se={};const le=vue.computed(()=>{const{readonly:ke}=G;return ke===null?Q?Q.props.readonly:!1:ke}),ce=vue.computed(()=>{const{disabled:ke}=G;return ke===null?Q?Q.props.disabled:!1:ke}),de=vue.computed(()=>{const{editable:ke}=G;return le.value||!ke}),ue=vue.computed(()=>{const{placeholder:ke}=G;if(ke)return getFuncText(ke);const Oe=getConfig$8().textarea.placeholder;return Oe?getFuncText(Oe):getI18n$e("vxe.base.pleaseInput")}),he=vue.computed(()=>{const{maxLength:ke,maxlength:Oe}=G;return ke||Oe}),fe=vue.computed(()=>XEUtils.getSize(te.inputValue)),pe=vue.computed(()=>{const ke=fe.value,Oe=he.value;return Oe&&ke>XEUtils.toNumber(Oe)}),ve=vue.computed(()=>Object.assign({minRows:1,maxRows:10},getConfig$8().textarea.autosize,G.autosize)),me=()=>{const{size:ke,autosize:Oe}=G,{inputValue:Ne}=te;if(Oe){autoTxtElem||(autoTxtElem=document.createElement("div")),autoTxtElem.parentNode||document.body.appendChild(autoTxtElem);const _e=re.value;if(!_e)return;const ye=getComputedStyle(_e);autoTxtElem.className=["vxe-textarea--autosize",ke?`size--${ke}`:""].join(" "),autoTxtElem.style.width=`${_e.clientWidth}px`,autoTxtElem.style.padding=ye.padding,autoTxtElem.innerText=(""+(Ne||" ")).replace(/\n$/,`
369
369
   `)}},ge=()=>{G.autosize&&vue.nextTick(()=>{const ke=ve.value,{minRows:Oe,maxRows:Ne}=ke,_e=re.value;if(!_e)return;const ye=autoTxtElem.clientHeight,Ce=getComputedStyle(_e),be=XEUtils.toNumber(Ce.lineHeight),Te=XEUtils.toNumber(Ce.paddingTop),Ae=XEUtils.toNumber(Ce.paddingBottom),Re=XEUtils.toNumber(Ce.borderTopWidth),Fe=XEUtils.toNumber(Ce.borderBottomWidth),Be=Te+Ae+Re+Fe,je=(ye-Be)/be,Le=je&&/[0-9]/.test(""+je)?je:Math.floor(je)+1;let Ue=Le;Le<Oe?Ue=Oe:Le>Ne&&(Ue=Ne),_e.style.height=`${Ue*be+Be}px`})},we=ke=>{const Oe=te.inputValue;ae.dispatchEvent(ke.type,{value:Oe},ke)},$e=(ke,Oe)=>{te.inputValue=ke,X("update:modelValue",ke),XEUtils.toValueString(G.modelValue)!==ke&&(se.dispatchEvent("change",{value:ke},Oe),Q&&K&&Q.triggerItemEvent(Oe,K.itemConfig.field,ke))},Ee=ke=>{const{immediate:Oe}=G,_e=ke.target.value;te.inputValue=_e,Oe&&$e(_e,ke),ae.dispatchEvent("input",{value:_e},ke),ge()},xe=ke=>{const{immediate:Oe}=G;Oe?we(ke):$e(te.inputValue,ke)},Me=ke=>{const{immediate:Oe}=G,{inputValue:Ne}=te;Oe||$e(Ne,ke),ae.dispatchEvent("blur",{value:Ne},ke)};se={dispatchEvent(ke,Oe,Ne){X(ke,createEvent$3(Ne,{$textarea:ae},Oe))},focus(){return re.value.focus(),vue.nextTick()},blur(){return re.value.blur(),vue.nextTick()}},Object.assign(ae,se),vue.watch(()=>G.modelValue,ke=>{te.inputValue=ke,me()}),vue.watch(ve,()=>{me(),ge()}),vue.nextTick(()=>{const{autosize:ke}=G;ke&&(me(),ge())});const De=()=>{const{className:ke,resize:Oe,autosize:Ne,showWordCount:_e,countMethod:ye,rows:Ce,cols:be}=G,{inputValue:Te}=te,Ae=ee.value,Re=ce.value,Fe=pe.value,Be=fe.value,je=de.value,Le=le.value,Ue=ue.value,Ie=he.value;return Le?vue.h("div",{ref:ne,class:["vxe-textarea--readonly",ke]},Te):vue.h("div",{ref:ne,class:["vxe-textarea",ke,{[`size--${Ae}`]:Ae,"is--autosize":Ne,"is--count":_e,"is--disabled":Re,"is--rows":!XEUtils.eqNull(Ce),"is--cols":!XEUtils.eqNull(be)}],spellcheck:!1},[vue.h("textarea",{ref:re,class:"vxe-textarea--inner",value:Te,name:G.name,placeholder:Ue,maxlength:Ie,readonly:je,disabled:Re,rows:Ce,cols:be,style:Oe?{resize:Oe}:null,onInput:Ee,onChange:xe,onKeydown:we,onKeyup:we,onClick:we,onFocus:we,onBlur:Me}),_e?vue.h("span",{class:["vxe-textarea--count",{"is--error":Fe}]},ye?`${ye({value:Te})}`:`${Be}${Ie?`/${Ie}`:""}`):null])};return ae.renderVN=De,ae},render(){return this.renderVN()}}),VxeTipComponent=vue.defineComponent({name:"VxeTip",props:{title:{type:[String,Number],default:()=>getConfig$8().tip.title},content:[String,Number],status:String,icon:{type:String,default:()=>getConfig$8().tip.icon},permissionCode:[String,Number],size:{type:String,default:()=>getConfig$8().tip.size||getConfig$8().size}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),{computePermissionInfo:ee}=usePermission(G),te=vue.ref(),ne=vue.reactive({}),re={refElem:te},oe={},ae={xID:K,props:G,context:H,reactData:ne,getRefMaps:()=>re,getComputeMaps:()=>oe};Object.assign(ae,{dispatchEvent:(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$tip:ae},he))}},{});const de=()=>{const{status:ue,content:he,icon:fe,title:pe}=G,ve=X.default,me=X.title,ge=X.icon,we=ee.value,$e=Z.value;return we.visible?vue.h("div",{ref:te,class:["vxe-tip",{[`size--${$e}`]:$e,[`theme--${ue}`]:ue,"has--title":!!(me||pe)}]},[ge||fe?vue.h("div",{class:"vxe-tip--icon"},ge?getSlotVNs(ge({})):[vue.h("i",{class:fe})]):vue.createCommentVNode(),vue.h("div",{class:"vxe-tip--body"},[me||pe?vue.h("div",{class:"vxe-tip--title"},me?getSlotVNs(me({})):XEUtils.toValueString(pe)):vue.createCommentVNode(),vue.h("div",{class:"vxe-tip--content"},ve?getSlotVNs(ve({})):XEUtils.toValueString(he))])]):vue.createCommentVNode()};return ae.renderVN=de,ae},render(){return this.renderVN()}});function useWidgetPropDataSource(G,H){const Q=Object.assign({},H).isSubOption,K=vue.ref(""),Z=vue.ref([]),ee=()=>{const{renderParams:he}=G,{widget:fe}=he,pe=fe.options.options||[];pe.push({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[pe.length+1])}),fe.options.options=[...pe]},te=/^(\s|\t)+/,ne=he=>te.test(he),re=()=>{const{renderParams:he}=G,{widget:fe}=he,pe=fe.options.options||[],ve=[];pe.forEach((me,ge)=>{const{options:we}=me;we&&we.length&&ve.push(ge)}),Z.value=ve},oe=(he,fe)=>{Z.value.includes(fe)?Z.value=Z.value.filter(pe=>pe!==fe):Z.value.push(fe)},ae=(he,fe)=>{const{renderParams:pe}=G,{widget:ve}=pe,{options:me}=ve;fe?fe.options&&(fe.options=fe.options.filter(ge=>ge!==he)):me.options=me.options.filter(ge=>ge!==he)},se=()=>{const{renderParams:he}=G,{widget:fe}=he,pe=[],ve=K.value.split(`
370
370
  `);let me=null;Q?ve.forEach((ge,we)=>{const $e=ve[we+1],Ee=ge.trim();if(!Ee)return;const xe={value:Ee};if(me){if(ne(ge)){me.options.push(xe);return}me=null,pe.push(xe)}else pe.push(xe);$e&&ne($e)&&(me=Object.assign(xe,{options:[]}))}):ve.forEach(ge=>{pe.push({value:ge.trim()})}),fe.options.options=pe,re()},le=()=>{var he;const{renderParams:fe}=G,{widget:pe}=fe,ve=[];(he=pe.options.options)===null||he===void 0||he.forEach(me=>{var ge;ve.push(me.value),(ge=me.options)===null||ge===void 0||ge.forEach(we=>{ve.push(` ${we.value}`)})}),K.value=ve.join(`
371
- `),VxeUI.modal.open({title:`${pe.title} - ${getI18n$e("vxe.formDesign.widgetProp.dataSource.batchEditOption")}`,width:500,height:"50vh ",resize:!0,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:getI18n$e("vxe.formDesign.widgetProp.dataSource.buildOption"),onConfirm:se,slots:{default(){return vue.h("div",{class:"vxe-form-design--widget-form-item-data-source-popup"},[vue.h(VxeTipComponent,{status:"primary",title:"",content:getI18n$e(`vxe.formDesign.widgetProp.dataSource.${Q?"batchEditSubTip":"batchEditTip"}`)}),vue.h(VxeTextareaComponent,{resize:"none",modelValue:K.value,"onUpdate:modelValue"(me){K.value=me}})])}}})},ce=(he,fe,pe,ve,me,ge,we)=>{const $e=!fe;return vue.h("div",{class:["vxe-form-design--widget-form-item-data-source-option",{"is--first":ge,"is--last":we}]},[vue.h("div",{class:"vxe-form-design--widget-expand-btn"},$e&&me?[vue.h("i",{class:pe?getIcon$8().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:getIcon$8().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,onClick(){oe(he,ve)}})]:[]),vue.h("input",{class:"vxe-default-input",value:he.value,onInput(Ee){he.value=Ee.target.value}}),vue.h(VxeButtonComponent,{status:"danger",mode:"text",icon:getIcon$8().FORM_DESIGN_WIDGET_DELETE,onClick(){ae(he,fe)}})])},de=()=>{const{renderParams:he}=G,{widget:fe}=he,{options:pe}=fe,ve=pe.options,me=[];return ve&&ve.forEach((ge,we)=>{const{options:$e}=ge,Ee=Z.value.includes(we);$e&&$e.length?(me.push(ce(ge,null,Ee,we,!0,we===0,we===ve.length-1)),Ee&&me.push(vue.h("div",{class:"vxe-form-design--widget-form-item-data-source-sub-option"},$e.map(xe=>ce(xe,ge,Ee,0,!1,!1,!1))))):me.push(ce(ge,null,Ee,we,!1,we===0,we===ve.length-1))}),me};vue.watch(()=>G.renderParams.widget,()=>{re()}),vue.onMounted(()=>{re()});const ue=()=>[vue.h("div",{},[vue.h(VxeButtonComponent,{status:"primary",mode:"text",content:getI18n$e("vxe.formDesign.widgetProp.dataSource.addOption"),onClick:ee}),vue.h(VxeButtonComponent,{status:"primary",mode:"text",content:getI18n$e("vxe.formDesign.widgetProp.dataSource.batchEditOption"),onClick:le})]),vue.h("div",{class:"vxe-form-design--widget-form-item-data-source-wrapper"},de())];return{renderDataSourceFormItem(){return vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.dataSource.name"),field:"options"},{default(){return ue()}})},renderDataSourceFormItemContent:ue}}function useWidgetPropDefaultValue(G){const H=vue.ref([{value:"custom",label:"自定义"}]);return{renderDefaultValueFormItem(){const{renderParams:X}=G,{widget:Q}=X,{defaultValue:K}=Q.options;return vue.h(VxeFormItemComponent,{title:"默认值"},{default(){return[vue.h(VxeSelectComponent,{modelValue:K.type,options:H.value,"onUpdate:modelValue"(Z){K.type=Z}}),vue.h(VxeInputComponent,{modelValue:K.value,"onUpdate:modelValue"(Z){K.value=Z}})]}})}}}const getFormDesignWidgetName=G=>getI18n$e(`vxe.formDesign.widget.component.${G}`),handleGetFormDesignWidgetName=G=>getFormDesignWidgetName(G.name),getWidgetTextConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-text",group:"layout",options:{color:"",align:"",bold:!1,fontSize:""}}),getFontSizeOptions=()=>XEUtils.range(12,27).map(G=>({label:`${G}px`,value:`${G}px`})),getAlignOptions=()=>[{label:getI18n$e("vxe.formDesign.widgetProp.textProp.alignLeft"),value:""},{label:getI18n$e("vxe.formDesign.widgetProp.textProp.alignCenter"),value:"center"},{label:getI18n$e("vxe.formDesign.widgetProp.textProp.alignRight"),value:"right"}],getBoldOptions=()=>[{label:getI18n$e("vxe.formDesign.widgetProp.textProp.fontNormal"),value:!1},{label:getI18n$e("vxe.formDesign.widgetProp.textProp.fontBold"),value:!0}],WidgetTextFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G),X=vue.ref(getAlignOptions()),Q=vue.ref(getBoldOptions()),K=vue.ref(getFontSizeOptions());return()=>{const{renderParams:Z}=G,{widget:ee}=Z,te=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${te}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:ee.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.textProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:ee.title,"onUpdate:modelValue"(ne){ee.title=ne}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.textProp.boldTitle"),field:"bold",itemRender:{name:"VxeRadioGroup",options:Q.value}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.textProp.alignTitle"),field:"align",itemRender:{name:"VxeRadioGroup",options:X.value}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.textProp.sizeTitle"),field:"fontSize",itemRender:{name:"VxeSelect",options:K.value}})]}})}}}),WidgetTextViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,{options:K}=Q,Z=H.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${Z}`],align:K.align},{default(){return vue.h("div",{style:{fontSize:K.fontSize,fontWeight:K.bold?"bold":""}},Q.title)}})}}}),getWidgetRowConfig=G=>{const{$formDesign:H}=G,X=2;return{title:handleGetFormDesignWidgetName,group:"layout",icon:"vxe-icon-row-col",options:{colSize:X,colSpan:"12,12"},children:H?XEUtils.range(0,X).map(()=>H.createEmptyWidget()):[]}},VxeRowComponent=vue.defineComponent({name:"VxeRow",props:{gutter:[Number,String,Array],wrap:{type:Boolean,default:()=>getConfig$8().row.wrap},vertical:Boolean,size:{type:String,default:()=>getConfig$8().row.size||getConfig$8().size}},emits:["click"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId();useSize(G);const Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne=vue.computed(()=>{const{gutter:ue,vertical:he}=G,fe={};if(ue){let[pe,ve]=XEUtils.isArray(ue)?ue:[ue];if(he&&(ve=pe,pe=""),pe){const me=XEUtils.isNumber(pe)?toCssUnit(-(pe/2)):`calc(${toCssUnit(pe)} / 2 * -1)`;fe.marginLeft=me,fe.marginRight=me}if(ve){const me=XEUtils.isNumber(ve)?toCssUnit(-(ve/2)):`calc(${toCssUnit(ve)} / 2 * -1)`;fe.marginTop=me,fe.marginBottom=me}}return fe}),re={},oe={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>re},ae=ue=>{se("click",{},ue)},se=(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$row:oe},he))};Object.assign(oe,{dispatchEvent:se},{});const de=()=>{const{vertical:ue,wrap:he}=G,fe=ne.value,pe=X.default;return vue.h("div",{ref:Z,class:["vxe-row",{"is--vertical":ue,"is--wrap":he}],style:fe,onClick:ae},pe?pe({}):[])};return vue.provide("$xeRow",oe),oe.renderVN=de,oe},render(){return this.renderVN()}}),WidgetRowFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null);if(!H)return()=>[];const{computeKebabCaseName:X}=useWidgetName(G),Q=vue.ref([{label:getI18n$e("vxe.formDesign.widgetProp.rowProp.col2"),value:2,list:[{value:"12,12",spans:[12,12]},{value:"8,16",spans:[8,16]},{value:"16,8",spans:[16,8]},{value:"6,18",spans:[6,18]},{value:"18,6",spans:[18,6]}]},{label:getI18n$e("vxe.formDesign.widgetProp.rowProp.col3"),value:3,list:[{value:"8,8,8",spans:[8,8,8]},{value:"6,6,12",spans:[6,6,12]},{value:"12,6,6",spans:[12,6,6]},{value:"6,12,6",spans:[6,12,6]}]},{label:getI18n$e("vxe.formDesign.widgetProp.rowProp.col4"),value:4,list:[{value:"6,6,6,6",spans:[6,6,6,6]}]},{label:getI18n$e("vxe.formDesign.widgetProp.rowProp.col6"),value:6,list:[{value:"4,4,4,4,4,4",spans:[4,4,4,4,4,4]}]}]),K={18:"3/4",16:"2/3",12:"1/2",8:"1/3",6:"1/4",4:"1/6"},Z=vue.computed(()=>{const{renderParams:te}=G,{widget:ne}=te,{options:re}=ne;return Q.value.find(oe=>oe.value===re.colSize)}),ee=te=>{const{renderParams:ne}=G,{widget:re}=ne,{options:oe}=re,{reactData:ae}=H,{widgetObjList:se}=ae,le=re.children.filter(de=>de.name),ce=le.slice(oe.colSize);if(ce.length){const de=XEUtils.findTree(se,ue=>ue.id===re.id,{children:"children"});if(de){const{items:ue,index:he}=de;he>=ue.length-1?ue.push(...ce):ue.splice(he+1,0,...ce)}}oe.colSpan=te.value,re.children=XEUtils.range(0,oe.colSize).map((de,ue)=>le[ue]||H.createEmptyWidget())};return()=>{const{renderParams:te}=G,{widget:ne}=te,re=X.value;return vue.h(VxeFormComponent,{class:`vxe-form-design--widget-${re}-form`,vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:ne.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.rowProp.colSize"),field:"colSize",itemRender:{name:"VxeRadioGroup",options:Q.value,props:{type:"button"}}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.rowProp.layout")},{default(){const oe=Z.value;return oe?oe.list.map((ae,se)=>vue.h(VxeRowComponent,{key:se,class:[`vxe-form-design--widget-${re}-form-row`,{"is--active":ae.value===ne.options.colSpan}],onClick(){ee(ae)}},{default(){return ae.spans.map((le,ce)=>vue.h(VxeColComponent,{key:`${se}${ce}`,class:`vxe-form-design--widget-${re}-form-col`,span:le},{default(){return vue.h("div",{},`${K[le]}`)}}))}})):[]}})]}})}}}),ViewColItemComponent=vue.defineComponent({name:"ViewColItem",props:{parentWidget:{type:Object,default:()=>({})},widget:{type:Object,default:()=>({})},span:Number,colItemIndex:{type:Number,default:0}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null);if(!H)return()=>[];const{reactData:X}=H,Q=Z=>{Z.stopPropagation();const ee=Z.currentTarget,te=Z.dataTransfer,ne=ee.getAttribute("data-widget-id")||"",re=H.getWidgetById(ne);te&&te.setData("text/plain",ne),X.sortWidget=re,X.dragWidget=null},K=Z=>{const{parentWidget:ee,colItemIndex:te}=G,{widgetObjList:ne,sortWidget:re}=X,oe=ee.children[te],ae=H.internalData;if(Z.stopPropagation(),re&&ee&&re.id!==ee.id){if(hasFormDesignLayoutType(re))return;if(!hasFormDesignLayoutType(oe)){const se=XEUtils.findTree(ne,le=>le&&le.id===re.id,{children:"children"});if(se){const{item:le,index:ce,items:de,parent:ue}=se;if(ee.children.length!==ee.options.colSize&&(ee.children=XEUtils.range(0,ee.options.colSize).map(he=>ee.children[he]||H.createEmptyWidget())),ue&&ue.id===ee.id)ee.children[te]=le,ee.children[ce]=oe;else{if(oe&&oe.name)return;ee.children[te]=le,de.splice(ce,1)}Z.preventDefault(),ae.lastDragTime=Date.now(),H.dispatchEvent("drag-widget",{widget:le},Z)}}}};return()=>{const{widget:Z,span:ee}=G,{dragWidget:te,activeWidget:ne,sortWidget:re}=X;return vue.h(VxeFormItemComponent,{span:ee,padding:!1},{default(){const oe=Z?Z.name:"",ae=renderer$c.get(oe)||{},se=ae.renderFormDesignWidgetEdit||ae.renderFormDesignWidgetView,le=Z||{name:oe},ce={widget:Z,readonly:!1,disabled:!1,isEditMode:!0,isViewMode:!1,$formDesign:H,$formView:null},de=ne&&Z&&ne.id===Z.id,ue=!se;return vue.h("div",{class:"vxe-form-design--widget-row-view","data-widget-id":Z.id,draggable:!ue,onDragstart:Q,onDragenter:K,onClick(he){Z&&H.handleClickWidget(he,Z)}},[vue.h("div",{class:["vxe-form-design--widget-row-view-item-inner",{"is--empty":ue,"is--active":de,"is--sort":re&&Z&&re.id===Z.id,"is--drag":te&&Z&&te.id===Z.id}]},[se?vue.h("div",{class:"vxe-form-design--widget-row-view-item-wrapper"},[vue.h("div",{class:"vxe-form-design--widget-row-view-item-box vxe-form--item-row"},getSlotVNs(se(le,ce))),de?vue.h("div",{class:"vxe-form-design--preview-item-operate"},[vue.h(VxeButtonComponent,{icon:getIcon$8().FORM_DESIGN_WIDGET_COPY,status:"primary",size:"mini",circle:!0,onClick(he){H.handleCopyWidget(he.$event,Z)}}),vue.h(VxeButtonComponent,{icon:getIcon$8().FORM_DESIGN_WIDGET_DELETE,status:"danger",size:"mini",circle:!0,onClick(he){H.handleRemoveWidget(he.$event,Z)}})]):vue.createCommentVNode()]):vue.h("div",{class:"vxe-form-design--widget-row-view-empty"},"控件位置")])])}})}}}),WidgetRowEditComponent=vue.defineComponent({name:"WidgetRowEdit",props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.computed(()=>{const{renderParams:X}=G,{widget:Q}=X,{options:K}=Q,{colSpan:Z}=K;return(Z?`${Z}`.split(","):[]).map(ne=>Number(ne))});return()=>{const{renderParams:X}=G,{widget:Q}=X;return vue.h(VxeFormGroupComponent,{field:Q.field},{default(){return H.value.map((Z,ee)=>vue.h(ViewColItemComponent,{key:ee,parentWidget:Q,widget:Q.children[ee],span:Z,colItemIndex:ee}))}})}}}),WidgetRowViewComponent=vue.defineComponent({name:"WidgetRowView",props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null),X=vue.inject("$xeFormView",null),Q=vue.computed(()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,{colSpan:te}=ee;return(te?`${te}`.split(","):[]).map(oe=>Number(oe))});return()=>{const{renderParams:K}=G,{widget:Z}=K,ee=Q.value;return vue.h(VxeRowComponent,{},{default(){return ee.map((te,ne)=>vue.h(VxeColComponent,{key:ne,class:"vxe-form--item-row",span:te},{default(){const re=Z.children[ne];if(re){const{name:oe}=re,se=(renderer$c.get(oe)||{}).renderFormDesignWidgetView,le=re,ce=!!H,de={widget:re,readonly:!1,disabled:!1,isEditMode:ce,isViewMode:!ce,$formDesign:H,$formView:X};if(se)return getSlotVNs(se(le,de))}return vue.createCommentVNode()}}))}})}}}),getWidgetSubtableConfig=()=>({title:handleGetFormDesignWidgetName,group:"layout",icon:"vxe-icon-subtable",options:{showCheckbox:!1}}),WidgetSubtableFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){if(!vue.inject("$xeFormDesign",null))return()=>[];const{computeKebabCaseName:X}=useWidgetName(G);return()=>{const{renderParams:Q}=G,{widget:K}=Q,{options:Z}=K,ee=X.value;return vue.h(VxeFormComponent,{class:`vxe-form-design--widget-${ee}-form`,vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Z},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(te){K.title=te}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.subtableProp.showCheckbox"),field:"showCheckbox"},{default(){return vue.h(VxeSwitchComponent,{modelValue:Z.showCheckbox,"onUpdate:modelValue"(te){Z.showCheckbox=te}})}})]}})}}}),ViewSubItemComponent=vue.defineComponent({props:{parentWidget:{type:Object,default:()=>({})},widget:{type:Object,default:()=>({})},childIndex:{type:Number,default:0}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null),X=vue.inject("$xeFormView",null);if(!H)return()=>[];const{reactData:Q}=H,K=ee=>{ee.stopPropagation();const te=ee.currentTarget,ne=ee.dataTransfer,re=te.getAttribute("data-widget-id")||"",oe=H.getWidgetById(re);ne&&ne.setData("text/plain",re),Q.sortWidget=oe,Q.dragWidget=null},Z=ee=>{const{parentWidget:te,childIndex:ne}=G,{widgetObjList:re,sortWidget:oe}=Q,ae=te.children[ne],se=H.internalData,{lastDragTime:le}=se;if(ee.stopPropagation(),le&&le>Date.now()-300){ee.preventDefault();return}if(oe&&ae&&te){if(oe.id===te.id||oe.id===ae.id||hasFormDesignLayoutType(oe))return;if(ae&&!hasFormDesignLayoutType(ae)){const ce=XEUtils.findTree(re,de=>de.id===oe.id,{children:"children"});if(ce){const{item:de,index:ue,items:he,parent:fe}=ce;fe&&fe.id===te.id?(te.children[ne]=de,te.children[ue]=ae):(te.children.splice(ne,0,de),he.splice(ue,1)),se.lastDragTime=Date.now(),H.dispatchEvent("drag-widget",{widget:de},ee)}}}};return()=>{const{widget:ee}=G,{dragWidget:te,activeWidget:ne,sortWidget:re}=Q,oe=ee?ee.name:"",ae=renderer$c.get(oe)||{},se=ae.renderFormDesignWidgetSubtableEditView||ae.renderFormDesignWidgetSubtableCellView||ae.renderFormDesignWidgetSubtableDefaultView,le=ae.renderFormDesignWidgetEdit||ae.renderFormDesignWidgetView,ce=ee||{name:oe},de=!!H,ue={widget:ee,readonly:!1,disabled:!1,isEditMode:de,isViewMode:!de,$formDesign:H,$formView:X},he=ne&&ee&&ne.id===ee.id,fe={name:oe},pe={$table:null,$grid:null,seq:"",column:{field:ee.field,title:ee.title},columnIndex:0,$columnIndex:0,_columnIndex:0,rowid:"",row:{},rowIndex:0,$rowIndex:0,_rowIndex:0,isEdit:!1,isHidden:!1,fixed:null,type:"",level:1,visibleData:[],items:[],data:[],widget:ee};return vue.h("div",{class:["vxe-form-design--widget-subtable-view-item",{"is--active":he,"is--sort":re&&ee&&re.id===ee.id,"is--drag":te&&ee&&te.id===ee.id}],draggable:!0,"data-widget-id":ee.id,onDragstart:K,onDragenter:Z,onClick(ve){ee&&H.handleClickWidget(ve,ee)}},[vue.h("div",{class:"vxe-form-design--widget-subtable-view-item-wrapper"},[vue.h("div",{class:"vxe-form-design--widget-subtable-view-item-box vxe-form--item-row"},se?vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item"],title:ee.title,field:ee.field,itemRender:{}},{default(){return getSlotVNs(se(fe,pe))}}):le?getSlotVNs(le(ce,ue)):[]),he?vue.h("div",{class:"vxe-form-design--preview-item-operate"},[vue.h(VxeButtonComponent,{icon:getIcon$8().FORM_DESIGN_WIDGET_COPY,status:"primary",size:"mini",circle:!0,onClick(ve){H.handleCopyWidget(ve.$event,ee)}}),vue.h(VxeButtonComponent,{icon:getIcon$8().FORM_DESIGN_WIDGET_DELETE,status:"danger",size:"mini",circle:!0,onClick(ve){H.handleRemoveWidget(ve.$event,ee)}})]):vue.createCommentVNode()])])}}}),WidgetSubtableEditComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null);if(!H)return()=>[];const{reactData:X}=H,Q=Z=>{const{sortWidget:ee,widgetObjList:te}=X,{renderParams:ne}=G,{widget:re}=ne;if(Z.stopPropagation(),!(!ee||!re||re.id===ee.id)){if(hasFormDesignLayoutType(ee)){VxeUI.modal&&VxeUI.modal.message({content:getI18n$e("vxe.formDesign.widgetProp.subtableProp.errSubDrag"),status:"error",id:"errSubDrag"});return}if(re.name&&!re.children.some(oe=>oe.id===ee.id)){const oe=XEUtils.findTree(te,ae=>ae.id===ee.id,{children:"children"});if(oe){const{item:ae,index:se,items:le}=oe;X.sortWidget=null,X.activeWidget=ae,re.children.push(ae),le.splice(se,1),X.sortWidget=ae}}}},K=Z=>{Z.stopPropagation()};return()=>{const{renderParams:Z}=G,{widget:ee}=Z,{title:te,children:ne,options:re}=ee,{showCheckbox:oe}=re;return vue.h(VxeFormItemComponent,{title:te,className:"vxe-form-design--widget-subtable-form-item"},{default(){return vue.h("div",{class:"vxe-form-design--widget-subtable-view",onDragenter:K,onDragover:Q},[vue.h("div",{class:"vxe-form-design--widget-subtable-view-left"},[oe?vue.h("div",{class:"vxe-form-design--widget-subtable-col"},[vue.h("div",{class:"vxe-form-design--widget-subtable-head"},[vue.h(VxeCheckboxComponent)]),vue.h("div",{class:"vxe-form-design--widget-subtable-body"},[vue.h(VxeCheckboxComponent)])]):vue.createCommentVNode(),vue.h("div",{class:"vxe-form-design--widget-subtable-col"},[vue.h("div",{class:"vxe-form-design--widget-subtable-head"},getI18n$e("vxe.formDesign.widgetProp.subtableProp.seqTitle")),vue.h("div",{class:"vxe-form-design--widget-subtable-body"},"1")])]),vue.h("div",{class:"vxe-form-design--widget-subtable-view-right"},[vue.h("div",{class:"vxe-form-design--widget-subtable-view-wrapper"},[vue.h(vue.TransitionGroup,{class:"vxe-form-design--widget-subtable-view-list",tag:"div",name:"vxe-form-design--widget-subtable-view-list"},{default:()=>ne?ne.map((ae,se)=>vue.h(ViewSubItemComponent,{key:ae.id,parentWidget:ee,widget:ae,childIndex:se})):[]}),vue.h("div",{key:"empty",class:"vxe-form-design--widget-subtable-view-empty"},getI18n$e("vxe.formDesign.widgetProp.subtableProp.colPlace"))])])])}})}}}),WidgetSubtableViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=VxeUI.getComponent("VxeGrid"),X=vue.inject("$xeFormView",null),{computeKebabCaseName:Q}=useWidgetName(G),K=vue.ref(),Z=vue.ref([{}]),ee=vue.computed(()=>X?X.props.readonly:!1),te=vue.computed(()=>{const{renderParams:se}=G,{widget:le}=se,{children:ce,options:de}=le,ue=ee.value,he=[];return de.showCheckbox&&he.push({type:"checkbox",width:60,fixed:"left"}),he.push({type:"seq",width:60,fixed:"left"}),ce&&ce.forEach(fe=>{const{name:pe}=fe,ve=renderer$c.get(pe)||{},me=ve.parseFormDesignWidgetSubtableColumn;let ge={field:fe.field,title:fe.title};me?ge=Object.assign(ge,me({$formView:X,name:fe.name,widget:fe,readonly:!!ue})):ue?ge.cellRender={name:fe.name,props:fe.options}:ge.editRender={name:fe.name,props:fe.options};const we=ve.renderFormDesignWidgetSubtableDefaultView,$e=ve.renderFormDesignWidgetSubtableCellView||we,Ee=ve.renderFormDesignWidgetSubtableEditView,xe={};(we||$e)&&(xe.default=Me=>{const{isEdit:De,column:ke}=Me,{editRender:Oe,cellRender:Ne}=ke,_e=Object.assign({widget:fe},Me);return De&&Oe&&$e?getSlotVNs($e(Oe,_e)):we?getSlotVNs(we(Ne||{},_e)):[]}),Ee&&(xe.edit=Me=>{const{column:De}=Me,{editRender:ke}=De,Oe=Object.assign({widget:fe},Me);return getSlotVNs(Ee(ke,Oe))}),ge.slots=xe,he.push(ge)}),ue||he.push({field:"action",title:"操作",fixed:"right",width:80,slots:{default({row:fe}){return vue.h(VxeButtonComponent,{mode:"text",icon:"vxe-icon-delete",status:"error",onClick(){ae(fe)}})}}}),he}),ne=vue.computed(()=>{const{renderParams:se}=G,{widget:le,isEditMode:ce}=se,de=te.value,ue=ee.value,he={border:!0,showOverflow:!0,height:300,columnConfig:{resizable:!0,minWidth:140},rowConfig:{keyField:"_id"},data:ce?Z.value:X?X.getItemValue(le):null,columns:de,toolbarConfig:{zoom:!0,custom:!1,slots:{buttons:"toolbarButtons"}}};return ue||(he.keepSource=!0,he.editConfig={mode:"row",trigger:"click",showStatus:!0}),he}),re=()=>{const{renderParams:se}=G,{widget:le}=se,ce={_id:Date.now()};return XEUtils.each(le.children,de=>{ce[de.field]=null}),ce},oe=()=>{const{renderParams:se}=G,{widget:le}=se;if(X){let ce=X.getItemValue(le);XEUtils.isArray(ce)||(ce=[]);const de=re();ce.unshift(de),X.setItemValue(le,ce.slice(0)).then(()=>vue.nextTick().then(()=>{const ue=K.value;ue&&ue.setEditRow(de)}))}},ae=se=>{const{renderParams:le}=G,{widget:ce}=le;if(X){const de=X.getItemValue(ce);de&&X.setItemValue(ce,de.filter(ue=>ue._id!==se._id))}};return()=>{const{renderParams:se}=G,{widget:le}=se,ce=Q.value,de=ne.value,ue=ee.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ce}`],title:le.title,field:le.field,span:24},{default(){return H?vue.h(H,Object.assign(Object.assign({},de),{ref:K}),{toolbarButtons(){return ue?[]:[vue.h(VxeButtonComponent,{content:"新增",icon:"vxe-icon-add",status:"primary",onClick:oe})]}}):vue.createCommentVNode()}})}}}),getWidgetInputConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-input",query:!0,options:{placeholder:""}}),WidgetInputFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),WidgetInputViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],field:Z.field,title:Z.title,itemRender:{}},{default(){return vue.h("input",{class:"vxe-default-input",type:"text",placeholder:ee.placeholder||getI18n$e("vxe.base.pleaseInput"),value:H?H.getItemValue(Z):null,onChange:Q,onInput(ne){H&&H.setItemValue(Z,ne.target.value)}})}})}}}),getWidgetTextareaConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-textarea",query:!0,options:{placeholder:""}}),WidgetTextareaFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),WidgetTextareaViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h("textarea",{class:"vxe-default-textarea",placeholder:ee.placeholder||getI18n$e("vxe.base.pleaseInput"),value:H?H.getItemValue(Z):null,onChange:Q,onInput(ne){H&&H.setItemValue(Z,ne.target.value)}})}})}}}),getWidgetSelectConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-select",query:!0,options:{options:XEUtils.range(0,3).map((G,H)=>({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[H+1])}))}}),WidgetSelectFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{renderDataSourceFormItem:H}=useWidgetPropDataSource(G,{isSubOption:!0}),{computeKebabCaseName:X}=useWidgetName(G);return()=>{const{renderParams:Q}=G,{widget:K}=Q,Z=X.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${Z}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:K.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(ee){K.title=ee}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(ee){K.required=ee}})}}),H()]}})}}}),WidgetSelectViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:Z}=G,{widget:ee}=Z;if(H){const te=H?H.getItemValue(ee):null;H.updateWidgetStatus(ee,te)}},K=()=>{const{renderParams:Z}=G,{widget:ee}=Z,{options:te}=ee.options;return te?te.map(ne=>ne.options?vue.h("optgroup",{label:ne.value},ne.options.map(re=>vue.h("option",{value:re.value},re.value))):vue.h("option",{},ne.value)):[]};return()=>{const{renderParams:Z}=G,{widget:ee,isViewMode:te}=Z,ne=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ne}`],field:ee.field,title:ee.title,itemRender:{}},{default(){return vue.h("select",{class:"vxe-default-select",value:H?H.getItemValue(ee):null,onChange:Q},te?K():[])}})}}}),getWidgetVxeInputConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-input",query:!0,options:{placeholder:""}}),WidgetVxeInputFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),WidgetVxeInputViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],field:Z.field,title:Z.title,itemRender:{}},{default(){return vue.h(VxeInputComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:ee.placeholder,onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeNumberInputConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-number",query:!0,options:{placeholder:""}}),WidgetVxeNumberInputFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),VxeNumberInputComponent=vue.defineComponent({name:"VxeNumberInput",props:{modelValue:[String,Number],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"number"},clearable:{type:Boolean,default:()=>getConfig$8().numberInput.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,maxLength:[String,Number],autoComplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:()=>getConfig$8().numberInput.size||getConfig$8().size},multiple:Boolean,min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>getConfig$8().numberInput.exponential},controls:{type:Boolean,default:()=>getConfig$8().numberInput.controls},digits:{type:[String,Number],default:()=>getConfig$8().numberInput.digits},prefixIcon:String,suffixIcon:String,maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","prev-number","next-number","prefix-click","suffix-click"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=XEUtils.uniqueId(),{computeSize:te}=useSize(G),ne=vue.reactive({isActivated:!1,inputValue:G.modelValue}),re={dnTimeout:void 0},oe=vue.ref(),ae=vue.ref(),se=vue.ref(),le={refElem:oe,refInput:ae},ce={xID:ee,props:G,context:H,reactData:ne,internalData:re,getRefMaps:()=>le};let de={};const ue=vue.computed(()=>{const{readonly:Qe}=G;return Qe===null?K?K.props.readonly:!1:Qe}),he=vue.computed(()=>{const{disabled:Qe}=G;return Qe===null?K?K.props.disabled:!1:Qe}),fe=vue.computed(()=>XEUtils.toInteger(G.digits)||1),pe=vue.computed(()=>{const{type:Qe}=G,ht=fe.value,et=G.step;return Qe==="integer"?XEUtils.toInteger(et)||1:Qe==="float"?XEUtils.toNumber(et)||1/Math.pow(10,ht):XEUtils.toNumber(et)||1}),ve=vue.computed(()=>G.clearable),me=vue.computed(()=>{const{multiple:Qe}=G;return ue.value||Qe}),ge=vue.computed(()=>{const{placeholder:Qe}=G;if(Qe)return getFuncText(Qe);const ht=getConfig$8().numberInput.placeholder;return ht?getFuncText(ht):getI18n$e("vxe.base.pleaseInput")}),we=vue.computed(()=>{const{maxLength:Qe,maxlength:ht}=G;return XEUtils.toNumber(Qe||ht)||16}),$e=vue.computed(()=>{const{type:Qe,immediate:ht}=G;return ht||!(Qe==="number"||Qe==="integer"||Qe==="float")}),Ee=vue.computed(()=>{const{type:Qe}=G,{inputValue:ht}=ne;return Qe==="integer"?XEUtils.toInteger(handleNumber(ht)):XEUtils.toNumber(handleNumber(ht))}),xe=vue.computed(()=>{const{inputValue:Qe}=ne;return XEUtils.toString(Qe)}),Me=vue.computed(()=>{const{min:Qe}=G,{inputValue:ht}=ne,et=Ee.value;return(ht||ht===0)&&Qe!==null?et<=XEUtils.toNumber(Qe):!1}),De=vue.computed(()=>{const{max:Qe}=G,{inputValue:ht}=ne,et=Ee.value;return(ht||ht===0)&&Qe!==null?et>=XEUtils.toNumber(Qe):!1}),ke=Qe=>XEUtils.eqNull(Qe)?"":`${Qe}`,Oe=Qe=>{const{type:ht,exponential:et}=G,nt=we.value,Ye=fe.value,tt=ht==="float"?toFloatValueFixed(Qe,Ye):ke(Qe);return et&&(Qe===tt||ke(Qe).toLowerCase()===XEUtils.toNumber(tt).toExponential())?Qe:tt.slice(0,nt)},Ne=Qe=>{const{inputValue:ht}=ne;de.dispatchEvent(Qe.type,{value:ht},Qe)},_e=(Qe,ht,et)=>{const nt=Qe===""||XEUtils.eqNull(Qe)?null:Number(Qe),Ye=Number(nt)!==G.modelValue;Ye&&Q("update:modelValue",nt),ne.inputValue!==ht&&vue.nextTick(()=>{ne.inputValue=ht||""}),de.dispatchEvent("input",{value:nt},et),Ye&&(de.dispatchEvent("change",{value:nt},et),K&&Z&&K.triggerItemEvent(et,Z.itemConfig.field,nt))},ye=(Qe,ht)=>{const et=$e.value,nt=Qe===""||XEUtils.eqNull(Qe)?null:XEUtils.toNumber(Qe);ne.inputValue=Qe,et?_e(nt,Qe,ht):de.dispatchEvent("input",{value:nt},ht)},Ce=Qe=>{const et=Qe.target.value;ye(et,Qe)},be=Qe=>{$e.value||Ne(Qe)},Te=Qe=>{ne.isActivated=!0,Ne(Qe)},Ae=Qe=>{if(!he.value){const{inputValue:et}=ne;de.dispatchEvent("prefix-click",{value:et},Qe)}},Re=(Qe,ht)=>{focus(),_e(null,"",Qe),de.dispatchEvent("clear",{value:ht},Qe)},Fe=Qe=>{if(!he.value){const{inputValue:et}=ne;de.dispatchEvent("suffix-click",{value:et},Qe)}},Be=()=>{const{type:Qe}=G,{inputValue:ht}=ne,et=fe.value;if(Qe==="float"&&ht){let nt="",Ye=null;ht&&(nt=toFloatValueFixed(ht,et),Ye=Number(nt)),ht!==Ye&&_e(Ye,nt,{type:"init"})}},je=Qe=>G.max===null||XEUtils.toNumber(Qe)<=XEUtils.toNumber(G.max),Le=Qe=>G.min===null||XEUtils.toNumber(Qe)>=XEUtils.toNumber(G.min),Ue=()=>{const{type:Qe,min:ht,max:et,exponential:nt}=G,{inputValue:Ye}=ne;if(!me.value){if(Ye===""){let Je=null,it=Ye;(ht||ht===0)&&(Je=XEUtils.toNumber(ht),it=`${Je}`),_e(Je,it,{type:"check"});return}if(Ye||ht||et){let Je=Qe==="integer"?XEUtils.toInteger(handleNumber(Ye)):XEUtils.toNumber(handleNumber(Ye));if(Le(Je)?je(Je)||(Je=et):Je=ht,nt){const ft=ke(Ye).toLowerCase();ft===XEUtils.toNumber(Je).toExponential()&&(Je=ft)}const it=Oe(Je);_e(it===null?null:Number(it),it,{type:"check"})}}},Ie=Qe=>{const{inputValue:ht}=ne,et=$e.value,nt=ht?Number(ht):null;et||_e(nt,ke(ht),Qe),Ue(),ne.isActivated=!1,de.dispatchEvent("blur",{value:nt},Qe),K&&Z&&K.triggerItemEvent(Qe,Z.itemConfig.field,nt)},Ve=(Qe,ht)=>{const{min:et,max:nt,type:Ye}=G,{inputValue:tt}=ne,Je=pe.value,it=Ye==="integer"?XEUtils.toInteger(handleNumber(tt)):XEUtils.toNumber(handleNumber(tt)),ft=Qe?XEUtils.add(it,Je):XEUtils.subtract(it,Je);let St;Le(ft)?je(ft)?St=ft:St=nt:St=et,ye(Oe(St),ht)},ze=Qe=>{const ht=he.value,et=ue.value,nt=Me.value;st(),!ht&&!et&&!nt&&Ve(!1,Qe),de.dispatchEvent("next-number",{value:ne.inputValue},Qe)},We=Qe=>{re.dnTimeout=window.setTimeout(()=>{ze(Qe),We(Qe)},60)},Xe=Qe=>{const ht=he.value,et=ue.value,nt=De.value;st(),!ht&&!et&&!nt&&Ve(!0,Qe),de.dispatchEvent("prev-number",{value:ne.inputValue},Qe)},He=Qe=>{const ht=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.ARROW_UP),et=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.ARROW_DOWN);(ht||et)&&(Qe.preventDefault(),ht?Xe(Qe):ze(Qe))},qe=Qe=>{const{exponential:ht,controls:et}=G,nt=Qe.ctrlKey,Ye=Qe.shiftKey,tt=Qe.altKey,Je=Qe.keyCode,it=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.ESCAPE),ft=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.ARROW_UP),St=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.ARROW_DOWN);!nt&&!Ye&&!tt&&(globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.SPACEBAR)||(!ht||Je!==69)&&Je>=65&&Je<=90||Je>=186&&Je<=188||Je>=191)&&Qe.preventDefault(),it?Ue():(ft||St)&&et&&He(Qe),Ne(Qe)},at=Qe=>{Ne(Qe)},st=()=>{const{dnTimeout:Qe}=re;Qe&&(clearTimeout(Qe),re.dnTimeout=void 0)},Ke=Qe=>{re.dnTimeout=window.setTimeout(()=>{Xe(Qe),Ke(Qe)},60)},dt=Qe=>{if(st(),Qe.button===0){const ht=hasClass(Qe.currentTarget,"is--prev");ht?Xe(Qe):ze(Qe),re.dnTimeout=window.setTimeout(()=>{ht?Ke(Qe):We(Qe)},500)}},wt=Qe=>{if(G.controls&&ne.isActivated){const ht=Qe.deltaY;ht>0?ze(Qe):ht<0&&Xe(Qe),Qe.preventDefault()}Ne(Qe)},$t=Qe=>{Ne(Qe)},mt=Qe=>{const{isActivated:ht}=ne,et=oe.value,nt=se.value;!he.value&&ht&&(ne.isActivated=getEventTargetNode(Qe,et).flag||getEventTargetNode(Qe,nt).flag,ne.isActivated||Ue())},bt=Qe=>{const{clearable:ht}=G;if(!he.value){const nt=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.TAB),Ye=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.DELETE);let tt=ne.isActivated;nt&&(tt&&Ue(),tt=!1,ne.isActivated=tt),Ye&&ht&&tt&&Re(Qe,null)}},Ot=()=>{const{isActivated:Qe}=ne;Qe&&Ue()},It=()=>{const Qe=De.value,ht=Me.value;return vue.h("div",{class:"vxe-input--control-icon"},[vue.h("div",{class:"vxe-input--number-icon"},[vue.h("div",{class:["vxe-input--number-btn is--prev",{"is--disabled":Qe}],onMousedown:dt,onMouseup:st,onMouseleave:st},[vue.h("i",{class:getIcon$8().NUMBER_INPUT_PREV_NUM})]),vue.h("div",{class:["vxe-input--number-btn is--next",{"is--disabled":ht}],onMousedown:dt,onMouseup:st,onMouseleave:st},[vue.h("i",{class:getIcon$8().NUMBER_INPUT_NEXT_NUM})])])])},yt=()=>{const{prefixIcon:Qe}=G,ht=X.prefix;return ht||Qe?vue.h("div",{class:"vxe-number-input--prefix",onClick:Ae},[vue.h("div",{class:"vxe-number-input--prefix-icon"},ht?getSlotVNs(ht({})):[vue.h("i",{class:Qe})])]):null},Et=()=>{const{suffixIcon:Qe}=G,{inputValue:ht}=ne,et=X.suffix,nt=he.value,Ye=ve.value;return vue.h("div",{class:["vxe-number-input--suffix",{"is--clear":Ye&&!nt&&!(ht===""||XEUtils.eqNull(ht))}]},[Ye?vue.h("div",{class:"vxe-number-input--clear-icon",onClick:Re},[vue.h("i",{class:getIcon$8().INPUT_CLEAR})]):vue.createCommentVNode(),Vt(),et||Qe?vue.h("div",{class:"vxe-number-input--suffix-icon",onClick:Fe},et?getSlotVNs(et({})):[vue.h("i",{class:Qe})]):vue.createCommentVNode()])},Vt=()=>{const{controls:Qe}=G;return Qe?It():vue.createCommentVNode()};de={dispatchEvent:(Qe,ht,et)=>{Q(Qe,createEvent$3(et,{$numberInput:ce},ht))},focus(){const Qe=ae.value;return ne.isActivated=!0,Qe.focus(),vue.nextTick()},blur(){return ae.value.blur(),ne.isActivated=!1,vue.nextTick()},select(){return ae.value.select(),ne.isActivated=!1,vue.nextTick()}},Object.assign(ce,de);const vt=()=>{const{className:Qe,controls:ht,type:et,align:nt,name:Ye,autocomplete:tt,autoComplete:Je}=G,{inputValue:it,isActivated:ft}=ne,St=te.value,kt=he.value,Nt=ue.value,Ht=xe.value;if(Nt)return vue.h("div",{ref:oe,class:["vxe-number-input--readonly",`type--${et}`,Qe]},Ht);const Lt=me.value,Bt=we.value,Xt=ge.value,Yt=ve.value,Jt=yt(),fn=Et();return vue.h("div",{ref:oe,class:["vxe-number-input",`type--${et}`,Qe,{[`size--${St}`]:St,[`is--${nt}`]:nt,"is--controls":ht,"is--prefix":!!Jt,"is--suffix":!!fn,"is--disabled":kt,"is--active":ft,"show--clear":Yt&&!kt&&!(it===""||XEUtils.eqNull(it))}],spellcheck:!1},[Jt||vue.createCommentVNode(),vue.h("div",{class:"vxe-number-input--wrapper"},[vue.h("input",{ref:ae,class:"vxe-number-input--inner",value:it,name:Ye,type:"text",placeholder:Xt,maxlength:Bt,readonly:Lt,disabled:kt,autocomplete:Je||tt,onKeydown:qe,onKeyup:at,onWheel:wt,onClick:$t,onInput:Ce,onChange:be,onFocus:Te,onBlur:Ie})]),fn||vue.createCommentVNode()])};return ce.renderVN=vt,vue.watch(()=>G.modelValue,Qe=>{ne.inputValue=Qe}),vue.watch(()=>G.type,()=>{Object.assign(ne,{inputValue:G.modelValue}),Be()}),vue.onMounted(()=>{globalEvents$4.on(ce,"mousedown",mt),globalEvents$4.on(ce,"keydown",bt),globalEvents$4.on(ce,"blur",Ot)}),vue.onBeforeUnmount(()=>{st(),Ue(),globalEvents$4.off(ce,"mousedown"),globalEvents$4.off(ce,"keydown"),globalEvents$4.off(ce,"blur")}),Be(),ce},render(){return this.renderVN()}}),WidgetVxeNumberInputViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeNumberInputComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:ee.placeholder,onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeDatePickerConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-calendar",options:{placeholder:"",defaultValue:{type:"",value:""}}}),WidgetVxeDatePickerFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),WidgetVxeDatePickerViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeDatePickerComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:ee.placeholder,onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeTextareaConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-textarea",options:{placeholder:""}}),WidgetVxeTextareaFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),WidgetVxeTextareaViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeTextareaComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:ee.placeholder,resize:"node",onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeSwitchConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-switch",query:!0,options:{}}),WidgetVxeSwitchFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}})]}})}}}),WidgetVxeSwitchViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,ee=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ee}`],field:Z.field,title:Z.title,itemRender:{}},{default(){return vue.h(VxeSwitchComponent,{modelValue:H?H.getItemValue(Z):null,onChange:Q,"onUpdate:modelValue"(te){H&&H.setItemValue(Z,te)}})}})}}}),getWidgetVxeSelectConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-select",query:!0,options:{placeholder:"",options:XEUtils.range(0,3).map((G,H)=>({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[H+1])})),multiple:!1}}),WidgetVxeSelectFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{renderDataSourceFormItem:H}=useWidgetPropDataSource(G,{isSubOption:!1}),{computeKebabCaseName:X}=useWidgetName(G);return()=>{const{renderParams:Q}=G,{widget:K}=Q,Z=X.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${Z}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:K.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(ee){K.title=ee}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.multiple"),field:"multiple",itemRender:{name:"VxeSwitch"}}),H(),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(ee){K.required=ee}})}})]}})}}}),WidgetVxeSelectViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z,isViewMode:ee}=K,{options:te}=Z,ne=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ne}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeSelectComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:te.placeholder||getI18n$e("vxe.base.pleaseSelect"),options:ee?te.options:[],optionProps:{label:"value",value:"value"},onChange:Q,"onUpdate:modelValue"(re){H&&H.setItemValue(Z,re)}})}})}}}),getWidgetVxeTreeSelectConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-tree-select",query:!0,options:{placeholder:"",options:XEUtils.range(0,3).map((G,H)=>({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[H+1])})),multiple:!1}}),WidgetVxeTreeSelectFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.multiple"),field:"multiple",itemRender:{name:"VxeSwitch"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}});function getNodeUniqueId(){return XEUtils.uniqueId("node_")}const VxeTreeComponent=vue.defineComponent({name:"VxeTree",props:{data:Array,height:[String,Number],minHeight:{type:[String,Number],default:()=>getConfig$8().tree.minHeight},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:()=>getConfig$8().tree.accordion},childrenField:{type:String,default:()=>getConfig$8().tree.childrenField},valueField:{type:String,default:()=>getConfig$8().tree.valueField},keyField:{type:String,default:()=>getConfig$8().tree.keyField},parentField:{type:String,default:()=>getConfig$8().tree.parentField},titleField:{type:String,default:()=>getConfig$8().tree.titleField},hasChildField:{type:String,default:()=>getConfig$8().tree.hasChildField},transform:Boolean,isCurrent:Boolean,isHover:Boolean,showLine:{type:Boolean,default:()=>getConfig$8().tree.showLine},trigger:String,indent:{type:Number,default:()=>getConfig$8().tree.indent},showRadio:{type:Boolean,default:()=>getConfig$8().tree.showRadio},checkNodeKey:{type:[String,Number],default:()=>getConfig$8().tree.checkNodeKey},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig$8().tree.showCheckbox},checkNodeKeys:{type:Array,default:()=>getConfig$8().tree.checkNodeKeys},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:()=>getConfig$8().tree.iconOpen},iconClose:{type:String,default:()=>getConfig$8().tree.iconClose},iconLoaded:{type:String,default:()=>getConfig$8().tree.iconLoaded},size:{type:String,default:()=>getConfig$8().tree.size||getConfig$8().size}},emits:["update:modelValue","update:checkNodeKey","update:checkNodeKeys","node-click","node-dblclick","current-change","radio-change","checkbox-change","load-success","load-error"],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.ref(),te=vue.reactive({currentNode:null,nodeMaps:{},selectRadioKey:G.checkNodeKey,treeList:[],treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},selectCheckboxMaps:{},indeterminateCheckboxMaps:{}}),ne={},re={refElem:ee},oe=vue.computed(()=>G.titleField||"title"),ae=vue.computed(()=>G.keyField||"id"),se=vue.computed(()=>{const Qe=ae.value;return G.valueField||Qe}),le=vue.computed(()=>G.parentField||"parentId"),ce=vue.computed(()=>G.childrenField||"children"),de=vue.computed(()=>G.hasChildField||"hasChild"),ue=vue.computed(()=>{const Qe=ve.value,{isCurrent:ht}=Qe;return XEUtils.isBoolean(ht)?ht:G.isCurrent}),he=vue.computed(()=>{const Qe=ve.value,{isHover:ht}=Qe;return XEUtils.isBoolean(ht)?ht:G.isHover}),fe=vue.computed(()=>Object.assign({showIcon:!0},getConfig$8().tree.radioConfig,G.radioConfig)),pe=vue.computed(()=>Object.assign({showIcon:!0},getConfig$8().tree.checkboxConfig,G.checkboxConfig)),ve=vue.computed(()=>Object.assign({},getConfig$8().tree.nodeConfig,G.nodeConfig)),me=vue.computed(()=>Object.assign({},getConfig$8().tree.loadingConfig,G.loadingConfig)),ge=vue.computed(()=>{const{height:Qe,minHeight:ht}=G,et={};return Qe&&(et.height=toCssUnit(Qe)),ht&&(et.minHeight=toCssUnit(ht)),et}),we={computeRadioOpts:fe,computeCheckboxOpts:pe,computeNodeOpts:ve},$e={xID:K,props:G,context:H,internalData:ne,reactData:te,getRefMaps:()=>re,getComputeMaps:()=>we},Ee=Qe=>{const ht=se.value,et=XEUtils.get(Qe,ht);return XEUtils.eqNull(et)?"":encodeURIComponent(et)},xe=Qe=>{const{treeExpandedMaps:ht}=te,et=Ee(Qe);return!!ht[et]},Me=Qe=>{const{selectRadioKey:ht}=te;return ht===Qe},De=Qe=>Me(Ee(Qe)),ke=Qe=>{const{selectCheckboxMaps:ht}=te;return!!ht[Qe]},Oe=Qe=>ke(Ee(Qe)),Ne=Qe=>{const{indeterminateCheckboxMaps:ht}=te;return!!ht[Qe]},_e=Qe=>Ne(Ee(Qe)),ye=Qe=>{X("update:checkNodeKeys",Qe)},Ce=Qe=>{X("update:checkNodeKey",Qe)},be=Qe=>(Qe&&(te.selectRadioKey=Ee(Qe)),vue.nextTick()),Te=(Qe,ht)=>(Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Re(Qe.map(et=>Ee(et)),ht)),vue.nextTick()),Ae=(Qe,ht)=>(Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Re(Qe,ht)),vue.nextTick()),Re=(Qe,ht)=>{const et=Object.assign({},te.selectCheckboxMaps);Qe.forEach(nt=>{ht?et[nt]=!0:et[nt]&&delete et[nt]}),te.selectCheckboxMaps=et},Fe=Qe=>{const ht={};Qe&&Qe.forEach(et=>{ht[et]=!0}),te.selectCheckboxMaps=ht},Be=(Qe,ht,et)=>{ht?et[Qe]||(et[Qe]=!0):et[Qe]&&delete et[Qe]},je=(Qe,ht,et)=>{X(Qe,createEvent$3(et,{$tree:$e},ht))},Le=Qe=>{const ht=se.value;return Promise.resolve(Qe.map(et=>{const nt=Object.assign({},et);let Ye=Ee(nt);return Ye||(Ye=getNodeUniqueId(),XEUtils.set(nt,ht,Ye)),nt}))},Ue={dispatchEvent:je,clearCurrentNode(){return te.currentNode=null,vue.nextTick()},getCurrentNodeId(){const{currentNode:Qe}=te;return Qe?Ee(Qe):null},getCurrentNode(){const{currentNode:Qe,nodeMaps:ht}=te;if(Qe){const et=ht[Qe];if(et)return et.item}return null},setCurrentNodeId(Qe){const{nodeMaps:ht}=te,et=ht[Qe];return te.currentNode=et?et.item:null,vue.nextTick()},setCurrentNode(Qe){return te.currentNode=Qe,vue.nextTick()},clearRadioNode(){return te.selectRadioKey=null,vue.nextTick()},getRadioNodeId(){return te.selectRadioKey||null},getRadioNode(){const{selectRadioKey:Qe,nodeMaps:ht}=te;if(Qe){const et=ht[Qe];if(et)return et.item}return null},setRadioNodeId(Qe){return te.selectRadioKey=Qe,vue.nextTick()},setRadioNode:be,setCheckboxNode:Te,setCheckboxByNodeId:Ae,getCheckboxNodeIds(){const{selectCheckboxMaps:Qe}=te;return Object.keys(Qe)},getCheckboxNodes(){const{nodeMaps:Qe,selectCheckboxMaps:ht}=te,et=[];return XEUtils.each(ht,(nt,Ye)=>{const tt=Qe[Ye];tt&&et.push(tt.item)}),et},clearCheckboxNode(){return te.selectCheckboxMaps={},vue.nextTick()},setAllCheckboxNode(Qe){const ht={},et=ce.value;return Qe&&XEUtils.eachTree(te.treeList,nt=>{const Ye=Ee(nt);ht[Ye]=!0},{children:et}),te.selectCheckboxMaps=ht,vue.nextTick()},clearExpandNode(){return Ue.clearAllExpandNode()},clearAllExpandNode(){return XEUtils.each(te.nodeMaps,Qe=>{Qe.treeLoaded=!1}),te.treeExpandedMaps={},vue.nextTick()},setExpandByNodeId(Qe,ht){const et=Object.assign({},te.treeExpandedMaps);return Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Qe.forEach(nt=>{Be(nt,ht,et)}),te.treeExpandedMaps=et),vue.nextTick()},getExpandNodeIds(){const{treeExpandedMaps:Qe}=te;return Object.keys(Qe)},getExpandNodes(){const{nodeMaps:Qe,treeExpandedMaps:ht}=te,et=[];return XEUtils.each(ht,(nt,Ye)=>{const tt=Qe[Ye];tt&&et.push(tt.item)}),et},setExpandNode(Qe,ht){const et=Object.assign({},te.treeExpandedMaps);return Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Qe.forEach(nt=>{const Ye=Ee(nt);Be(Ye,ht,et)}),te.treeExpandedMaps=et),vue.nextTick()},toggleExpandByNodeId(Qe){const ht=Object.assign({},te.treeExpandedMaps);return Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Qe.forEach(et=>{Be(et,!ht[et],ht)}),te.treeExpandedMaps=ht),vue.nextTick()},toggleExpandNode(Qe){const ht=Object.assign({},te.treeExpandedMaps);return Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Qe.forEach(et=>{const nt=Ee(et);Be(nt,!ht[nt],ht)}),te.treeExpandedMaps=ht),vue.nextTick()},setAllExpandNode(Qe){const ht={},et=ce.value;return Qe&&XEUtils.eachTree(te.treeList,nt=>{const Ye=XEUtils.get(nt,et);if(Ye&&Ye.length){const Je=Ee(nt);ht[Je]=!0}},{children:et}),te.treeExpandedMaps=ht,vue.nextTick()},reloadExpandNode(Qe){const{lazy:ht}=G;return ht?(Ue.clearExpandLoaded(Qe),qe(Qe)):vue.nextTick()},clearExpandLoaded(Qe){const{lazy:ht}=G,{nodeMaps:et}=te;if(ht){const nt=et[Ee(Qe)];nt&&(nt.treeLoaded=!1)}return vue.nextTick()},loadChildrenNode(Qe,ht){const{lazy:et,transform:nt}=G,{nodeMaps:Ye}=te;if(!et)return Promise.resolve([]);const tt=ce.value,Je=Ye[Ee(Qe)],it=Je?Je.level:0,ft=Je?Je.nodes:[];return Le(ht).then(St=>(XEUtils.eachTree(St,(kt,Nt,Ht,Lt,Bt,Xt)=>{const Yt=Ee(kt);Ye[Yt]={item:Qe,itemIndex:-1,items:Ht,parent:Bt||Je.item,nodes:ft.concat(Xt),level:it+Xt.length,lineCount:0,treeLoaded:!1}},{children:tt}),Qe[tt]=St,nt&&(Qe[tt]=St),We(Qe),St))},isExpandByNode:xe,isCheckedByRadioNodeId:Me,isCheckedByRadioNode:De,isCheckedByCheckboxNodeId:ke,isIndeterminateByCheckboxNode:_e,isCheckedByCheckboxNode:Oe},Ie=()=>{const{treeList:Qe}=te,ht=se.value,et=ce.value,nt={};XEUtils.eachTree(Qe,(Ye,tt,Je,it,ft,St)=>{let kt=Ee(Ye);kt||(kt=getNodeUniqueId(),XEUtils.set(Ye,ht,kt)),nt[kt]={item:Ye,itemIndex:tt,items:Je,parent:ft,nodes:St,level:St.length,lineCount:0,treeLoaded:!1}},{children:et}),te.nodeMaps=nt},Ve=Qe=>{const{transform:ht}=G,et=ae.value,nt=le.value,Ye=ce.value;ht?te.treeList=XEUtils.toArrayTree(Qe,{key:et,parentKey:nt,mapChildren:Ye}):te.treeList=Qe?Qe.slice(0):[],Ie()},ze=(Qe,ht,et)=>{const{treeExpandedMaps:nt}=te,Ye=ce.value,tt=Ee(Qe);et.lineCount++,nt[tt]&&XEUtils.arrayEach(Qe[Ye],(Je,it,ft)=>{(!ht||it<ft.length-1)&&ze(Je,!1,et)})},We=Qe=>{const{nodeMaps:ht}=te;if(Qe){const et=Ee(Qe),nt=ht[et];nt&&XEUtils.lastArrayEach(nt.nodes,Ye=>{const tt=Ee(Ye),Je=ht[tt];Je&&(Je.lineCount=0,ze(Ye,!0,Je))})}},Xe=(Qe,ht)=>{const{showRadio:et,showCheckbox:nt,trigger:Ye}=G,tt=fe.value,Je=pe.value,it=ue.value;let ft=!1,St=!1,kt=!1,Nt=!1;it?(ft=!0,$t(Qe,ht)):te.currentNode&&(te.currentNode=null),Ye==="node"&&(Nt=!0,st(Qe,ht)),et&&tt.trigger==="node"&&(St=!0,mt(Qe,ht)),nt&&Je.trigger==="node"&&(kt=!0,wt(Qe,ht)),je("node-click",{node:ht,triggerCurrent:ft,triggerRadio:St,triggerCheckbox:kt,triggerExpand:Nt},Qe)},He=(Qe,ht)=>{je("node-dblclick",{node:ht},Qe)},qe=Qe=>{const ht=pe.value,{loadMethod:et}=G,{checkStrictly:nt}=ht;return new Promise(Ye=>{if(et){const tt=Object.assign({},te.treeExpandLazyLoadedMaps),{nodeMaps:Je}=te,it=Ee(Qe),ft=Je[it];tt[it]=!0,te.treeExpandLazyLoadedMaps=tt,Promise.resolve(et({$tree:$e,node:Qe})).then(St=>{const{treeExpandLazyLoadedMaps:kt}=te;if(ft.treeLoaded=!0,kt[it]&&(kt[it]=!1),XEUtils.isArray(St)||(St=[]),St)return Ue.loadChildrenNode(Qe,St).then(Nt=>{const Ht=Object.assign({},te.treeExpandedMaps);return Nt.length&&!Ht[it]&&(Ht[it]=!0),te.treeExpandedMaps=Ht,!nt&&Ue.isCheckedByCheckboxNodeId(it)&&Re(Nt.map(Lt=>Ee(Lt)),!0),We(Qe),je("load-success",{node:Qe,data:St},new Event("load-success")),vue.nextTick()});We(Qe),je("load-success",{node:Qe,data:St},new Event("load-success"))}).catch(St=>{const{treeExpandLazyLoadedMaps:kt}=te;ft.treeLoaded=!1,kt[it]&&(kt[it]=!1),We(Qe),je("load-error",{node:Qe,data:St},new Event("load-error"))}).finally(()=>vue.nextTick())}else Ye()})},at=(Qe,ht)=>{const{lazy:et,accordion:nt,toggleMethod:Ye}=G,{nodeMaps:tt,treeExpandLazyLoadedMaps:Je}=te,it=Object.assign({},te.treeExpandedMaps),ft=ce.value,St=de.value,kt=[];let Nt=Ye?Qe.filter(Lt=>Ye({$tree:$e,expanded:ht,node:Lt})):Qe;if(nt){Nt=Nt.length?[Nt[Nt.length-1]]:[];const Lt=Ee(Nt[0]),Bt=tt[Lt];Bt&&Bt.items.forEach(Xt=>{const Yt=Ee(Xt);it[Yt]&&delete it[Yt]})}const Ht=[];return ht?Nt.forEach(Lt=>{const Bt=Ee(Lt);if(!it[Bt]){const Xt=tt[Bt];et&&Lt[St]&&!Xt.treeLoaded&&!Je[Bt]?kt.push(qe(Lt)):Lt[ft]&&Lt[ft].length&&(it[Bt]=!0,Ht.push(Lt))}}):Nt.forEach(Lt=>{const Bt=Ee(Lt);it[Bt]&&(delete it[Bt],Ht.push(Lt))}),te.treeExpandedMaps=it,Ht.forEach(We),Promise.all(kt)},st=(Qe,ht)=>{const{lazy:et}=G,{treeExpandedMaps:nt,treeExpandLazyLoadedMaps:Ye}=te,tt=Ee(ht),Je=!nt[tt];Qe.stopPropagation(),(!et||!Ye[tt])&&at([ht],Je)},Ke=(Qe,ht,et)=>{const nt=ce.value,Ye=XEUtils.get(Qe,nt),tt=Ee(Qe);if(Ye&&Ye.length){let Je=!1,it=0;Ye.forEach(St=>{const kt=Ee(St),Nt=ht[kt];(Nt||et[kt])&&(Nt&&it++,Je=!0)}),it===Ye.length?(ht[tt]||(ht[tt]=!0),et[tt]&&delete et[tt]):(ht[tt]&&delete ht[tt],et[tt]=Je)}else et[tt]&&delete et[tt]},dt=()=>{const{treeList:Qe}=te,ht=ce.value,et=pe.value,{checkStrictly:nt}=et;if(!nt){const Ye=Object.assign({},te.selectCheckboxMaps),tt={};XEUtils.eachTree(Qe,(Je,it,ft,St,kt,Nt)=>{const Ht=XEUtils.get(Je,ht);if((!Ht||!Ht.length)&&Ke(Je,Ye,tt),it===ft.length-1)for(let Lt=Nt.length-2;Lt>=0;Lt--){const Bt=Nt[Lt];Ke(Bt,Ye,tt)}}),te.selectCheckboxMaps=Ye,te.indeterminateCheckboxMaps=tt}},wt=(Qe,ht)=>{Qe.preventDefault(),Qe.stopPropagation();const et=pe.value,{checkStrictly:nt,checkMethod:Ye}=et;let tt=!!Ye;if(Ye&&(tt=!Ye({node:ht})),tt)return;const Je=Object.assign({},te.selectCheckboxMaps),it=ce.value,ft=Ee(ht);let St=!1;Je[ft]?delete Je[ft]:(St=!0,Je[ft]=St),nt||XEUtils.eachTree(XEUtils.get(ht,it),Nt=>{const Ht=Ee(Nt);St?Je[Ht]||(Je[Ht]=!0):Je[Ht]&&delete Je[Ht]},{children:it}),te.selectCheckboxMaps=Je,dt();const kt=Object.keys(te.selectCheckboxMaps);ye(kt),je("checkbox-change",{node:ht,value:kt,checked:St},Qe)},$t=(Qe,ht)=>{Qe.preventDefault();const et=ve.value,{currentMethod:nt,trigger:Ye}=et,tt=ce.value,Je=XEUtils.get(ht,tt),it=Je&&Je.length;let ft=!!nt;if(Ye==="child"){if(it)return}else if(Ye==="parent"&&!it)return;if(nt&&(ft=!nt({node:ht})),ft)return;const St=!0;te.currentNode=ht,je("current-change",{node:ht,checked:St},Qe)},mt=(Qe,ht)=>{Qe.preventDefault(),Qe.stopPropagation();const et=fe.value,{checkMethod:nt}=et;let Ye=!!nt;if(nt&&(Ye=!nt({node:ht})),Ye)return;const tt=!0,Je=Ee(ht);te.selectRadioKey=Je,Ce(Je),je("radio-change",{node:ht,value:Je,checked:tt},Qe)};Object.assign($e,Ue,{});const Ot=(Qe,ht,et)=>{const{showRadio:nt}=G,Ye=fe.value,{showIcon:tt,checkMethod:Je,visibleMethod:it}=Ye,ft=!it||it({node:Qe});let St=!!Je;return nt&&tt&&ft?(Je&&(St=!Je({node:Qe})),vue.h("div",{class:["vxe-tree--radio-option",{"is--checked":et,"is--disabled":St}],onClick:kt=>{St||mt(kt,Qe)}},[vue.h("span",{class:["vxe-radio--icon",et?getIcon$8().RADIO_CHECKED:getIcon$8().RADIO_UNCHECKED]})])):vue.createCommentVNode()},It=(Qe,ht,et)=>{const{showCheckbox:nt}=G,Ye=pe.value,{showIcon:tt,checkMethod:Je,visibleMethod:it}=Ye,ft=Ne(ht),St=!it||it({node:Qe});let kt=!!Je;return nt&&tt&&St?(Je&&(kt=!Je({node:Qe})),vue.h("div",{class:["vxe-tree--checkbox-option",{"is--checked":et,"is--indeterminate":ft,"is--disabled":kt}],onClick:Nt=>{kt||wt(Nt,Qe)}},[vue.h("span",{class:["vxe-checkbox--icon",ft?getIcon$8().CHECKBOX_INDETERMINATE:et?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]})])):vue.createCommentVNode()},yt=Qe=>{const{lazy:ht,showRadio:et,showCheckbox:nt,showLine:Ye,indent:tt,iconOpen:Je,iconClose:it,iconLoaded:ft,showIcon:St}=G,{nodeMaps:kt,treeExpandedMaps:Nt,currentNode:Ht,selectRadioKey:Lt,treeExpandLazyLoadedMaps:Bt}=te,Xt=ce.value,Yt=oe.value,Jt=de.value,fn=XEUtils.get(Qe,Xt),mn=fn&&fn.length,cn=Q.title,kn=Q.extra,Tt=Ee(Qe),gt=Nt[Tt],Rt=kt[Tt],Ut=XEUtils.get(Qe,Yt),ct=[];mn&&Nt[Tt]&&(Ye&&ct.push(vue.h("div",{key:"line",class:"vxe-tree--node-child-line",style:{height:`calc(${Rt.lineCount} * var(--vxe-ui-tree-node-height) - var(--vxe-ui-tree-node-height) / 2)`,left:`${(Rt.level+1)*(tt||1)}px`}})),fn.forEach(gn=>{ct.push(yt(gn))}));let bn=!1;et&&(bn=Tt==Lt);let rn=!1;nt&&(rn=ke(Tt));let dn=!1,$n=!1,hn=!1;return ht&&($n=!!Bt[Tt],dn=Qe[Jt],hn=!!Rt.treeLoaded),vue.h("div",{class:["vxe-tree--node-wrapper",`node--level-${Rt.level}`],nodeid:Tt},[vue.h("div",{class:["vxe-tree--node-item",{"is--current":Ht&&Tt===Ee(Ht),"is-radio--checked":bn,"is-checkbox--checked":rn}],style:{paddingLeft:`${(Rt.level-1)*(tt||1)}px`},onClick(gn){Xe(gn,Qe)},onDblclick(gn){He(gn,Qe)}},[St||Ye?vue.h("div",{class:"vxe-tree--node-item-switcher"},St&&(ht?hn?mn:dn:mn)?[vue.h("div",{class:"vxe-tree--node-item-icon",onClick(gn){st(gn,Qe)}},[vue.h("i",{class:$n?ft||getIcon$8().TREE_NODE_LOADED:gt?Je||getIcon$8().TREE_NODE_OPEN:it||getIcon$8().TREE_NODE_CLOSE})])]:[]):vue.createCommentVNode(),Ot(Qe,Tt,bn),It(Qe,Tt,rn),vue.h("div",{class:"vxe-tree--node-item-inner"},[vue.h("div",{class:"vxe-tree--node-item-title"},cn?getSlotVNs(cn({node:Qe})):`${Ut}`),kn?vue.h("div",{class:"vxe-tree--node-item-extra"},getSlotVNs(kn({node:Qe}))):vue.createCommentVNode()])]),mn&&Nt[Tt]?vue.h("div",{class:"vxe-tree--node-child-wrapper"},ct):vue.createCommentVNode()])},Et=()=>{const{treeList:Qe}=te;return vue.h("div",{class:"vxe-tree--node-list-wrapper"},Qe.map(ht=>yt(ht)))},Vt=()=>{const{loading:Qe,trigger:ht,showLine:et}=G,nt=Z.value,Ye=fe.value,tt=pe.value,Je=ge.value,it=me.value,ft=he.value,St=Q.loading;return vue.h("div",{ref:ee,class:["vxe-tree",{[`size--${nt}`]:nt,"show--line":et,"checkbox--highlight":tt.highlight,"radio--highlight":Ye.highlight,"node--hover":ft,"node--trigger":ht==="node","is--loading":Qe}],style:Je},[Et(),vue.h(VxeLoadingComponent,{class:"vxe-tree--loading",modelValue:Qe,icon:it.icon,text:it.text},St?{default:()=>St({$tree:$e})}:{})])},ut=vue.ref(0);vue.watch(()=>G.data?G.data.length:0,()=>{ut.value++}),vue.watch(()=>G.data,()=>{ut.value++}),vue.watch(ut,()=>{Ve(G.data||[])}),vue.watch(()=>G.checkNodeKey,Qe=>{te.selectRadioKey=Qe});const vt=vue.ref(0);return vue.watch(()=>G.checkNodeKeys?G.checkNodeKeys.length:0,()=>{vt.value++}),vue.watch(()=>G.checkNodeKeys,()=>{vt.value++}),vue.watch(vt,()=>{Fe(G.checkNodeKeys||[])}),vue.onUnmounted(()=>{te.treeList=[],te.treeExpandedMaps={},te.nodeMaps={}}),Ve(G.data||[]),Fe(G.checkNodeKeys||[]),$e.renderVN=Vt,$e},render(){return this.renderVN()}});function getOptUniqueId(){return XEUtils.uniqueId("node_")}const VxeTreeSelectComponent=vue.defineComponent({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>XEUtils.eqNull(getConfig$8().treeSelect.placeholder)?getI18n$e("vxe.base.pleaseSelect"):getConfig$8().treeSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,options:Array,optionProps:Object,size:{type:String,default:()=>getConfig$8().select.size||getConfig$8().size},remote:Boolean,remoteMethod:Function,popupConfig:Object,treeConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click","node-click"],setup(G,H){const{emit:X,slots:Q}=H,K=vue.inject("$xeModal",null),Z=vue.inject("$xeDrawer",null),ee=vue.inject("$xeTable",null),te=vue.inject("$xeForm",null),ne=vue.inject("xeFormItemInfo",null),re=XEUtils.uniqueId(),{computeSize:oe}=useSize(G),ae=vue.ref(),se=vue.ref(),le=vue.ref(),ce=vue.ref(),de=vue.reactive({initialized:!1,fullOptionList:[],fullNodeMaps:{},panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),ue={hpTimeout:void 0},he={refElem:ae},fe=vue.computed(()=>{const{readonly:Et}=G;return Et===null?te?te.props.readonly:!1:Et}),pe=vue.computed(()=>{const{disabled:Et}=G;return Et===null?te?te.props.disabled:!1:Et}),ve=vue.computed(()=>{const{transfer:Et}=G;if(Et===null){const Vt=getConfig$8().select.transfer;if(XEUtils.isBoolean(Vt))return Vt;if(ee||K||Z||te)return!0}return Et}),me=vue.computed(()=>Object.assign({},getConfig$8().treeSelect.popupConfig,G.popupConfig)),ge=vue.computed(()=>Object.assign({},getConfig$8().treeSelect.treeConfig,G.treeConfig,{data:void 0})),we=vue.computed(()=>{const Et=ge.value;return Object.assign({isHover:!0},Et.nodeConfig)}),$e=vue.computed(()=>{const Et=ge.value;return Object.assign({showIcon:!!Et.showCheckbox},Et.checkboxConfig,{trigger:"node"})}),Ee=vue.computed(()=>{const Et=ge.value;return Object.assign({showIcon:!!Et.showRadio},Et.radioConfig,{trigger:"node"})}),xe=vue.computed(()=>G.optionProps||{}),Me=vue.computed(()=>ge.value.keyField||"id"),De=vue.computed(()=>xe.value.label||"label"),ke=vue.computed(()=>xe.value.value||"value"),Oe=vue.computed(()=>xe.value.children||"children"),Ne=vue.computed(()=>xe.value.parent||"parentField"),_e=vue.computed(()=>xe.value.hasChild||"hasChild"),ye=vue.computed(()=>{const{modelValue:Et}=G,{fullNodeMaps:Vt}=de,ut=De.value;return(XEUtils.isArray(Et)?Et:[Et]).map(vt=>{const Qe=Vt[vt];return Qe?Qe.item[ut]:vt}).join(", ")}),Ce=vue.computed(()=>{const Et=me.value,{height:Vt,width:ut}=Et,vt={};return ut&&(vt.width=toCssUnit(ut)),Vt&&(vt.height=toCssUnit(Vt),vt.maxHeight=toCssUnit(Vt)),vt}),be={},Te={xID:re,props:G,context:H,reactData:de,internalData:ue,getRefMaps:()=>he,getComputeMaps:()=>be},Ae=(Et,Vt,ut)=>{X(Et,createEvent$3(ut,{$treeSelect:Te},Vt))},Re=Et=>{X("update:modelValue",Et)},Fe={dispatchEvent:Ae},Be=Et=>{const Vt=Me.value,ut=Et[Vt];return ut?encodeURIComponent(ut):""},je=()=>{const{options:Et}=G,Vt=Me.value,ut=Oe.value,vt=ke.value,Qe={},ht={};XEUtils.eachTree(Et,(et,nt,Ye,tt,Je,it)=>{let ft=Be(et);ft||(ft=getOptUniqueId()),ht[ft]&&errLog("vxe.error.repeatKey",[Vt,ft]),ht[ft]=!0;const St=et[vt];Qe[St]&&errLog("vxe.error.repeatKey",[vt,St]),Qe[St]={item:et,index:nt,items:Ye,parent:Je,nodes:it}},{children:ut}),de.fullOptionList=Et||[],de.fullNodeMaps=Qe},Le=()=>{de.panelIndex<getLastZIndex()&&(de.panelIndex=nextZIndex())},Ue=()=>vue.nextTick().then(()=>{const{placement:Et}=G,{panelIndex:Vt}=de,ut=ae.value,vt=ce.value,Qe=ve.value;if(vt&&ut){const ht=ut.offsetHeight,et=ut.offsetWidth,nt=vt.offsetHeight,Ye=vt.offsetWidth,tt=5,Je={zIndex:Vt},{boundingTop:it,boundingLeft:ft,visibleHeight:St,visibleWidth:kt}=getAbsolutePos(ut);let Nt="bottom";if(Qe){let Ht=ft,Lt=it+ht;Et==="top"?(Nt="top",Lt=it-nt):Et||(Lt+nt+tt>St&&(Nt="top",Lt=it-nt),Lt<tt&&(Nt="bottom",Lt=it+ht)),Ht+Ye+tt>kt&&(Ht-=Ht+Ye+tt-kt),Ht<tt&&(Ht=tt),Object.assign(Je,{left:`${Ht}px`,top:`${Lt}px`,minWidth:`${et}px`})}else Et==="top"?(Nt="top",Je.bottom=`${ht}px`):Et||it+ht+nt>St&&it-ht-nt>tt&&(Nt="top",Je.bottom=`${ht}px`);return de.panelStyle=Je,de.panelPlacement=Nt,vue.nextTick()}}),Ie=()=>{const{loading:Et}=G,Vt=pe.value;!Et&&!Vt&&(clearTimeout(ue.hpTimeout),de.initialized||(de.initialized=!0),de.isActivated=!0,de.isAniVisible=!0,setTimeout(()=>{de.visiblePanel=!0},10),Le(),Ue())},Ve=()=>{de.visiblePanel=!1,ue.hpTimeout=window.setTimeout(()=>{de.isAniVisible=!1},350)},ze=(Et,Vt)=>{const{fullNodeMaps:ut}=de;if(Re(Vt),Vt!==G.modelValue){const vt=ut[Vt];Ae("change",{value:Vt,option:vt?vt.item:null},Et),te&&ne&&te.triggerItemEvent(Et,ne.itemConfig.field,Vt)}},We=(Et,Vt)=>{ze(Et,Vt),Ae("clear",{value:Vt},Et)},Xe=(Et,Vt)=>{We(Vt,null),Ve()},He=Et=>{const{visiblePanel:Vt}=de;if(!pe.value&&Vt){const vt=ce.value;getEventTargetNode(Et,vt).flag?Ue():Ve()}},qe=Et=>{const{visiblePanel:Vt}=de;if(!pe.value){const vt=ae.value,Qe=ce.value;de.isActivated=getEventTargetNode(Et,vt).flag||getEventTargetNode(Et,Qe).flag,Vt&&!de.isActivated&&Ve()}},at=()=>{Ve()},st=Et=>{pe.value||de.visiblePanel||(de.triggerFocusPanel=!0,Ie(),setTimeout(()=>{de.triggerFocusPanel=!1},150)),Ae("focus",{},Et)},Ke=Et=>{wt(Et),Ae("click",{},Et)},dt=Et=>{de.isActivated=!1,Ae("blur",{},Et)},wt=Et=>{const{$event:Vt}=Et;Vt.preventDefault(),de.triggerFocusPanel?de.triggerFocusPanel=!1:de.visiblePanel?Ve():Ie()},$t=Et=>{const{$event:Vt}=Et;Ae("node-click",Et,Vt)},mt=Et=>{const{value:Vt,$event:ut}=Et;ze(ut,Vt),Ve()},bt=Et=>{const{value:Vt,$event:ut}=Et;ze(ut,Vt)},Ot=()=>{je()};Object.assign(Te,Fe,{});const yt=()=>{const{className:Et,modelValue:Vt,multiple:ut,options:vt,loading:Qe}=G,{initialized:ht,isActivated:et,isAniVisible:nt,visiblePanel:Ye}=de,tt=oe.value,Je=pe.value,it=ye.value,ft=ve.value,St=fe.value,kt=Ce.value,Nt=Q.header,Ht=Q.footer,Lt=Q.prefix,Xt=me.value.className||G.popupClassName,Yt=ge.value,Jt=we.value,fn=$e.value,mn=Ee.value,cn=Me.value,kn=De.value,Tt=ke.value,gt=Oe.value,Rt=Ne.value,Ut=_e.value;return St?vue.h("div",{ref:ae,class:["vxe-tree-select--readonly",Et]},[vue.h("span",{class:"vxe-tree-select-label"},it)]):vue.h("div",{ref:ae,class:["vxe-tree-select",Et?XEUtils.isFunction(Et)?Et({$treeSelect:Te}):Et:"",{[`size--${tt}`]:tt,"is--visible":Ye,"is--disabled":Je,"is--loading":Qe,"is--active":et}]},[vue.h(VxeInputComponent,{ref:se,clearable:G.clearable,placeholder:Qe?getI18n$e("vxe.select.loadingText"):G.placeholder,readonly:!0,disabled:Je,type:"text",prefixIcon:G.prefixIcon,suffixIcon:Qe?getIcon$8().TREE_SELECT_LOADED:Ye?getIcon$8().TREE_SELECT_OPEN:getIcon$8().TREE_SELECT_CLOSE,modelValue:Qe?"":it,onClear:Xe,onClick:Ke,onFocus:st,onBlur:dt,onSuffixClick:wt},Lt?{prefix:()=>Lt({})}:{}),vue.h(vue.Teleport,{to:"body",disabled:ft?!ht:!0},[vue.h("div",{ref:ce,class:["vxe-table--ignore-clear vxe-tree-select--panel",Xt?XEUtils.isFunction(Xt)?Xt({$treeSelect:Te}):Xt:"",{[`size--${tt}`]:tt,"is--transfer":ft,"ani--leave":!Qe&&nt,"ani--enter":!Qe&&Ye}],placement:de.panelPlacement,style:de.panelStyle},ht?[vue.h("div",{class:"vxe-tree-select--panel-wrapper"},[Nt?vue.h("div",{class:"vxe-tree-select--panel-header"},Nt({})):renderEmptyElement$3(Te),vue.h("div",{class:"vxe-tree-select--panel-body"},[vue.h("div",{ref:le,class:"vxe-tree-select-tree--wrapper",style:kt},[vue.h(VxeTreeComponent,{class:"vxe-tree-select--tree",data:vt,indent:Yt.indent,showRadio:!ut,radioConfig:mn,checkNodeKey:ut?null:Vt,showCheckbox:!!ut,checkNodeKeys:ut?Vt:null,checkboxConfig:fn,titleField:kn,valueField:Tt,keyField:cn,childrenField:Yt.childrenField||gt,parentField:Yt.parentField||Rt,hasChildField:Yt.hasChildField||Ut,accordion:Yt.accordion,nodeConfig:Jt,lazy:Yt.lazy,loadMethod:Yt.loadMethod,toggleMethod:Yt.toggleMethod,transform:Yt.transform,trigger:Yt.trigger,showIcon:Yt.showIcon,showLine:Yt.showLine,iconOpen:Yt.iconOpen,iconLoaded:Yt.iconLoaded,iconClose:Yt.iconClose,onNodeClick:$t,onRadioChange:mt,onCheckboxChange:bt,onLoadSuccess:Ot})])]),Ht?vue.h("div",{class:"vxe-tree-select--panel-footer"},Ht({})):renderEmptyElement$3(Te)])]:[])])])};return vue.watch(()=>G.options,()=>{je()}),je(),vue.onMounted(()=>{globalEvents$4.on(Te,"mousewheel",He),globalEvents$4.on(Te,"mousedown",qe),globalEvents$4.on(Te,"blur",at)}),vue.onUnmounted(()=>{globalEvents$4.off(Te,"mousewheel"),globalEvents$4.off(Te,"mousedown"),globalEvents$4.off(Te,"blur")}),vue.provide("$xeTreeSelect",Te),Te.renderVN=yt,Te},render(){return this.renderVN()}}),WidgetVxeTreeSelectViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeTreeSelectComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:ee.placeholder||getI18n$e("vxe.base.pleaseSelect"),options:ee.options,optionProps:{label:"value",value:"value"},onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeRadioGroupConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-radio-checked",options:{options:XEUtils.range(0,3).map((G,H)=>({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[H+1])}))}}),WidgetVxeRadioGroupFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{renderDataSourceFormItem:H}=useWidgetPropDataSource(G,{isSubOption:!1}),{computeKebabCaseName:X}=useWidgetName(G);return()=>{const{renderParams:Q}=G,{widget:K}=Q,Z=X.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${Z}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:K.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(ee){K.title=ee}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(ee){K.required=ee}})}}),H()]}})}}}),WidgetVxeRadioGroupViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeRadioGroupComponent,{modelValue:H?H.getItemValue(Z):null,options:ee.options,optionProps:{label:"value",value:"value"},onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeCheckboxGroupConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-checkbox-checked",options:{options:XEUtils.range(0,3).map((G,H)=>({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[H+1])}))}}),WidgetVxeCheckboxGroupFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{renderDataSourceFormItem:H}=useWidgetPropDataSource(G,{isSubOption:!1}),{computeKebabCaseName:X}=useWidgetName(G);return()=>{const{renderParams:Q}=G,{widget:K}=Q,Z=X.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${Z}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:K.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(ee){K.title=ee}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(ee){K.required=ee}})}}),H()]}})}}}),WidgetVxeCheckboxGroupViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeCheckboxGroupComponent,{modelValue:H?H.getItemValue(Z):null,options:ee.options,optionProps:{label:"value",value:"value"},onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}});function getLimitSizeOptions(){const G=[{label:"无限制",value:""}];return[1,2,5,10,20,50,100,200,500].forEach(X=>{G.push({label:`${X}M`,value:X})}),G}const getWidgetVxeUploadFileConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-file",options:{limitCount:"",limitSize:100,multiple:!1}}),WidgetVxeUploadFileFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G),X=vue.ref(getLimitSizeOptions());return()=>{const{renderParams:Q}=G,{widget:K}=Q,{options:Z}=K,ee=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${ee}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Z},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(te){K.title=te}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.multiFile"),field:"multiple",itemRender:{name:"VxeSwitch"}}),Z.multiple?vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.limitFileCount"),field:"limitCount",itemRender:{name:"VxeInput",props:{type:"integer",min:1,clearable:!0}}}):vue.createCommentVNode(),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.limitFileSize"),field:"limitSize",itemRender:{name:"VxeSelect",options:X.value}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(te){K.required=te}})}})]}})}}});let fileForm=null,fileInput=null;function parseFile(G){const H=G.name,X=XEUtils.lastIndexOf(H,"."),Q=H.substring(X+1,H.length).toLowerCase();return{filename:H.substring(0,X),type:Q}}const readLocalFile=G=>{const H=Object.assign({},G);return new Promise((X,Q)=>{fileInput||(fileInput=document.createElement("input"),fileInput.name="file",fileInput.type="file"),fileForm||(fileForm=document.createElement("form"),fileForm.style.display="none",fileForm.appendChild(fileInput),document.body.appendChild(fileForm));const K=H.types||[],Z=!K.length||K.some(ee=>ee==="*");fileInput.multiple=!!H.multiple,fileInput.accept=Z?"":`.${K.join(", .")}`,fileInput.onchange=ee=>{const te=ee.target,ne=Array.from(te.files||[]),re=ne[0];let oe="";if(!Z)for(let ae=0;ae<ne.length;ae++){const{type:se}=parseFile(ne[ae]);if(!XEUtils.includes(K,se)){oe=se;break}}oe?(H.message!==!1&&VxeUI.modal&&VxeUI.modal.message({content:getI18n$e("vxe.error.notType",[oe]),status:"error"}),Q({status:!1,files:ne,file:re})):X({status:!0,files:ne,file:re})},fileForm.reset(),fileInput.click()})};function getExportBlobByContent(G,H){return new Blob([G],{type:`text/${H.type};charset=utf-8;`})}const saveLocalFile=G=>{const H=Object.assign({type:""},G),{filename:X,type:Q,content:K}=H,Z=Q?`${X}.${Q}`:`${X}`;if(window.Blob){const ee=K instanceof Blob?K:getExportBlobByContent(XEUtils.toValueString(K),H),te=window.navigator;if(te.msSaveBlob)te.msSaveBlob(ee,Z);else{const ne=URL.createObjectURL(ee),re=document.createElement("a");re.target="_blank",re.download=Z,re.href=ne,document.body.appendChild(re),re.click(),requestAnimationFrame(()=>{re.parentNode&&re.parentNode.removeChild(re),URL.revokeObjectURL(ne)})}return Promise.resolve()}return Promise.reject(new Error(getI18n$e("vxe.error.notExp")))},VxeUploadComponent=vue.defineComponent({name:"VxeUpload",props:{modelValue:[Array,String,Object],showList:{type:Boolean,default:()=>getConfig$8().upload.showList},moreConfig:Object,readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},mode:{type:String,default:()=>getConfig$8().upload.mode},imageTypes:{type:Array,default:()=>XEUtils.clone(getConfig$8().upload.imageTypes,!0)},imageStyle:{type:Object,default:()=>XEUtils.clone(getConfig$8().upload.imageStyle,!0)},fileTypes:{type:Array,default:()=>XEUtils.clone(getConfig$8().upload.fileTypes,!0)},dragToUpload:{type:Boolean,default:()=>XEUtils.clone(getConfig$8().upload.dragToUpload,!0)},pasteToUpload:{type:Boolean,default:()=>XEUtils.clone(getConfig$8().upload.pasteToUpload,!0)},keyField:String,singleMode:Boolean,urlMode:Boolean,multiple:Boolean,limitSize:{type:[String,Number],default:()=>getConfig$8().upload.limitSize},limitCount:{type:[String,Number],default:()=>getConfig$8().upload.limitCount},nameField:{type:String,default:()=>getConfig$8().upload.nameField},typeField:{type:String,default:()=>getConfig$8().upload.typeField},urlField:{type:String,default:()=>getConfig$8().upload.urlField},sizeField:{type:String,default:()=>getConfig$8().upload.sizeField},showErrorStatus:{type:Boolean,default:()=>getConfig$8().upload.showErrorStatus},showProgress:{type:Boolean,default:()=>getConfig$8().upload.showProgress},progressText:{type:String,default:()=>getConfig$8().upload.progressText},autoHiddenButton:{type:Boolean,default:()=>getConfig$8().upload.autoHiddenButton},showUploadButton:{type:Boolean,default:()=>getConfig$8().upload.showUploadButton},buttonText:{type:String,default:()=>getConfig$8().upload.buttonText},buttonIcon:{type:String,default:()=>getConfig$8().upload.buttonIcon},showButtonText:{type:Boolean,default:()=>getConfig$8().upload.showButtonText},showButtonIcon:{type:Boolean,default:()=>getConfig$8().upload.showButtonIcon},showRemoveButton:{type:Boolean,default:()=>getConfig$8().upload.showRemoveButton},showDownloadButton:{type:Boolean,default:()=>getConfig$8().upload.showDownloadButton},showPreview:{type:Boolean,default:()=>getConfig$8().upload.showPreview},tipText:String,hintText:String,previewMethod:Function,uploadMethod:Function,beforeRemoveMethod:Function,removeMethod:Function,beforeDownloadMethod:Function,downloadMethod:Function,getUrlMethod:Function,getThumbnailUrlMethod:Function,size:{type:String,default:()=>getConfig$8().upload.size||getConfig$8().size}},emits:["update:modelValue","add","remove","remove-fail","download","download-fail","upload-success","upload-error"],setup(G,H){const{emit:X,slots:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=XEUtils.uniqueId(),{computeSize:te}=useSize(G),ne=vue.ref(),re=vue.reactive({isDrag:!1,showMorePopup:!1,isActivated:!1,fileList:[],fileCacheMaps:{}}),oe={imagePreviewTypes:["jpg","jpeg","png","gif"]},ae={refElem:ne},se=vue.computed(()=>{const{readonly:Ye}=G;return Ye===null?K?K.props.readonly:!1:Ye}),le=vue.computed(()=>{const{disabled:Ye}=G;return Ye===null?K?K.props.disabled:!1:Ye}),ce=vue.computed(()=>G.keyField||"_X_KEY"),de=vue.computed(()=>G.mode==="image"),ue=vue.computed(()=>G.nameField||"name"),he=vue.computed(()=>G.typeField||"type"),fe=vue.computed(()=>G.urlField||"url"),pe=vue.computed(()=>G.sizeField||"size"),ve=vue.computed(()=>XEUtils.toNumber(G.limitSize)*1024*1024),me=vue.computed(()=>G.multiple?XEUtils.toNumber(G.limitCount):1),ge=vue.computed(()=>{const{multiple:Ye}=G,{fileList:tt}=re,Je=me.value;return Ye?Je?tt.length>=Je:!0:tt.length>=1}),we=vue.computed(()=>{const Ye=XEUtils.toNumber(G.limitSize);return Ye?Ye>1048576?`${Ye/1048576}T`:Ye>1024?`${Ye/1024}G`:`${Ye}M`:""}),$e=vue.computed(()=>{const{limitSize:Ye,fileTypes:tt,multiple:Je,limitCount:it}=G,ft=G.tipText||G.hintText,St=de.value,kt=we.value;if(XEUtils.isString(ft))return ft;const Nt=[];return St?(Je&&it&&Nt.push(getI18n$e("vxe.upload.imgCountHint",[it])),Ye&&kt&&Nt.push(getI18n$e("vxe.upload.imgSizeHint",[kt]))):(tt&&tt.length&&Nt.push(getI18n$e("vxe.upload.fileTypeHint",[tt.join("/")])),Ye&&kt&&Nt.push(getI18n$e("vxe.upload.fileSizeHint",[kt])),Je&&it&&Nt.push(getI18n$e("vxe.upload.fileCountHint",[it]))),Nt.join(getI18n$e("vxe.base.comma"))}),Ee=vue.computed(()=>Object.assign({},G.imageStyle)),xe=vue.computed(()=>{const{width:Ye,height:tt}=Ee.value,Je={};return Ye&&(Je.width=toCssUnit(Ye)),tt&&(Je.height=toCssUnit(tt)),Je}),Me=vue.computed(()=>Object.assign({showMoreButton:!0},G.moreConfig)),De={},ke={xID:ee,props:G,context:H,reactData:re,internalData:oe,getRefMaps:()=>ae,getComputeMaps:()=>De},Oe=()=>XEUtils.uniqueId(),Ne=Ye=>{const tt=ce.value;return Ye[tt]},_e=()=>{const{modelValue:Ye,multiple:tt}=G,Je=se.value,it=ce.value,ft=ue.value,St=he.value,kt=fe.value,Nt=pe.value,Ht=Ye?(Ye?XEUtils.isArray(Ye)?Ye:[Ye]:[]).map(Lt=>{if(!Lt||XEUtils.isString(Lt)){const Xt=`${Lt||""}`,Yt=ye(Xt);return{[ft]:Yt,[St]:Ce(Yt),[kt]:Xt,[Nt]:0,[it]:Oe()}}const Bt=Lt[ft]||"";return Lt[ft]=Bt,Lt[St]=Lt[St]||Ce(Bt),Lt[kt]=Lt[kt]||"",Lt[Nt]=Lt[Nt]||0,Lt[it]=Lt[it]||Oe(),Lt}):[];re.fileList=Je||tt?Ht:Ht.slice(0,1)},ye=Ye=>decodeURIComponent(`${Ye||""}`).split("/").pop()||"",Ce=Ye=>{const tt=Ye?Ye.indexOf("."):-1;return tt>-1?Ye.substring(tt+1,Ye.length).toLowerCase():""},be=(Ye,tt,Je)=>{X(Ye,createEvent$3(Je,{$upload:ke},tt))},Te=Ye=>{const{singleMode:tt,urlMode:Je}=G,it=fe.value;let ft=Ye?Ye.slice(0):[];Je&&(ft=ft.map(St=>St[it])),X("update:modelValue",tt?ft[0]||null:ft)},Ae=Ye=>{const tt=G.getThumbnailUrlMethod||getConfig$8().upload.getThumbnailUrlMethod;return tt?tt({$upload:ke,option:Ye}):Re(Ye)},Re=Ye=>{const tt=G.getUrlMethod||getConfig$8().upload.getUrlMethod,Je=fe.value;return tt?tt({$upload:ke,option:Ye}):Ye[Je]},Fe=Ye=>{const{imageTypes:tt,showDownloadButton:Je}=G,it=he.value,ft=G.beforeDownloadMethod||getConfig$8().upload.beforeDownloadMethod,{imagePreviewTypes:St}=oe;St.concat(tt||[]).some(kt=>`${kt}`.toLowerCase()===`${Ye[it]}`.toLowerCase())&&VxeUI.previewImage&&VxeUI.previewImage({urlList:[Re(Ye)],showDownloadButton:Je,beforeDownloadMethod:ft?()=>ft({$upload:ke,option:Ye}):void 0})},Be=(Ye,tt)=>{const Je=G.previewMethod||getConfig$8().upload.previewMethod;G.showPreview&&(Je?Je({$upload:ke,option:tt}):Fe(tt))},je=(Ye,tt,Je)=>{const{showDownloadButton:it}=G,{fileList:ft}=re,St=G.beforeDownloadMethod||getConfig$8().upload.beforeDownloadMethod;G.showPreview&&VxeUI.previewImage&&VxeUI.previewImage({urlList:ft.map(kt=>Re(kt)),activeIndex:Je,showDownloadButton:it,beforeDownloadMethod:St?({index:kt})=>St({$upload:ke,option:ft[kt]}):void 0})},Le=(Ye,tt)=>{const{showErrorStatus:Je}=G,it=Ne(Ye),ft=G.uploadMethod||getConfig$8().upload.uploadMethod;if(ft)return Promise.resolve(ft({$upload:ke,file:tt,option:Ye,updateProgress(St){const{fileCacheMaps:kt}=re,Nt=kt[Ne(Ye)];Nt&&(Nt.percent=Math.max(0,Math.min(99,XEUtils.toNumber(St))))}})).then(St=>{const{fileCacheMaps:kt}=re,Nt=kt[it];Nt&&(Nt.percent=100),Object.assign(Ye,St),be("upload-success",{option:Ye,data:St},null)}).catch(St=>{const{fileCacheMaps:kt}=re,Nt=kt[it];Nt&&(Nt.status="error"),Je?Object.assign(Ye,St):re.fileList=re.fileList.filter(Ht=>Ne(Ht)!==it),be("upload-error",{option:Ye,data:St},null)}).finally(()=>{const{fileCacheMaps:St}=re,kt=St[it];kt&&(kt.loading=!1)});{const{fileCacheMaps:St}=re,kt=St[it];kt&&(kt.loading=!1)}return Promise.resolve()},Ue=Ye=>{const{uploadMethod:tt,urlMode:Je}=G,{fileCacheMaps:it}=re,ft=Ne(Ye),St=it[ft];if((tt||getConfig$8().upload.uploadMethod)&&St){const Nt=St.file;St.loading=!0,St.status="",St.percent=0,Le(Ye,Nt).then(()=>{Je&&Te(re.fileList)})}},Ie=(Ye,tt)=>{const{multiple:Je,urlMode:it}=G,{fileList:ft}=re,St=G.uploadMethod||getConfig$8().upload.uploadMethod,kt=ce.value,Nt=ue.value,Ht=he.value,Lt=fe.value,Bt=pe.value,Xt=ve.value,Yt=me.value,Jt=we.value;let fn=Ye;if(Je&&Yt){if(ft.length>=Yt){VxeUI.modal&&VxeUI.modal.notification({title:getI18n$e("vxe.modal.errTitle"),status:"error",content:getI18n$e("vxe.upload.overCountErr",[Yt])});return}const Tt=fn.length-(Yt-ft.length);if(Tt>0){const gt=fn.slice(Yt-ft.length);VxeUI.modal&&VxeUI.modal.notification({title:getI18n$e("vxe.modal.errTitle"),status:"error",slots:{default(){return vue.h("div",{class:"vxe-upload--file-message-over-error"},[vue.h("div",{},getI18n$e("vxe.upload.overCountExtraErr",[Yt,Tt])),vue.h("div",{class:"vxe-upload--file-message-over-extra"},gt.map((Rt,Ut)=>vue.h("div",{key:Ut,class:"vxe-upload--file-message-over-extra-item"},Rt.name)))])}}})}fn=fn.slice(0,Yt-ft.length)}if(Xt){for(let Tt=0;Tt<Ye.length;Tt++)if(Ye[0].size>Xt){VxeUI.modal&&VxeUI.modal.notification({title:getI18n$e("vxe.modal.errTitle"),status:"error",content:getI18n$e("vxe.upload.overSizeErr",[Jt])});return}}const mn=Object.assign({},re.fileCacheMaps),cn=Je?ft:[],kn=[];fn.forEach(Tt=>{const{name:gt}=Tt,Rt=Oe(),Ut={[Nt]:gt,[Ht]:Ce(gt),[Bt]:Tt.size,[Lt]:"",[kt]:Rt};St&&(mn[Rt]={file:Tt,loading:!0,status:"",percent:0});const ct=vue.reactive(Ut);St&&kn.push(Le(ct,Tt)),cn.push(ct),be("add",{option:ct},tt)}),re.fileList=cn,re.fileCacheMaps=mn,Promise.all(it?kn:[]).then(()=>{Te(cn),K&&Z&&K.triggerItemEvent(tt,Z.itemConfig.field,cn)})},Ve=Ye=>{const{multiple:tt,imageTypes:Je,fileTypes:it}=G,ft=le.value,St=de.value;return ft?Promise.resolve({status:!1,files:[],file:null}):readLocalFile({multiple:tt,types:St?Je:it}).then(kt=>(Ie(kt.files,Ye),kt))},ze=Ye=>{Ve(Ye).catch(()=>{})},We=(Ye,tt,Je)=>{const{fileList:it}=re;it.splice(Je,1),Te(it),K&&Z&&K.triggerItemEvent(Ye,Z.itemConfig.field,it),be("remove",{option:tt},Ye)},Xe=(Ye,tt,Je)=>{const it=G.beforeRemoveMethod||getConfig$8().upload.beforeRemoveMethod,ft=G.removeMethod||getConfig$8().upload.removeMethod;Promise.resolve(it?it({$upload:ke,option:tt}):!0).then(St=>{St?ft?Promise.resolve(ft({$upload:ke,option:tt})).then(()=>{We(Ye,tt,Je)}).catch(kt=>kt):We(Ye,tt,Je):be("remove-fail",{option:tt},Ye)})},He=(Ye,tt)=>{be("download",{option:tt},Ye)},qe=(Ye,tt)=>{const Je=G.beforeDownloadMethod||getConfig$8().upload.beforeDownloadMethod,it=G.downloadMethod||getConfig$8().upload.downloadMethod;Promise.resolve(Je?Je({$upload:ke,option:tt}):!0).then(ft=>{ft?it?Promise.resolve(it({$upload:ke,option:tt})).then(()=>{He(Ye,tt)}).catch(St=>St):He(Ye,tt):be("download-fail",{option:tt},Ye)})},at=Ye=>{const tt=Ye.currentTarget,{clientX:Je,clientY:it}=Ye;if(tt){const{x:ft,y:St,height:kt,width:Nt}=tt.getBoundingClientRect();(Je<ft||Je>ft+Nt||it<St||it>St+kt)&&(re.isDrag=!1)}},st=Ye=>{const tt=Ye.dataTransfer;if(tt){const{items:Je}=tt;Je&&Je.length&&(Ye.preventDefault(),re.isDrag=!0)}},Ke=(Ye,tt)=>{const{imageTypes:Je}=G,{imagePreviewTypes:it}=oe;if(de.value){const St=it.concat(Je&&Je.length?Je:[]);tt=tt.filter(kt=>{const Nt=`${kt.type.split("/")[1]||""}`.toLowerCase();return!!St.some(Ht=>`${Ht}`.toLowerCase()===Nt)})}if(!tt.length){VxeUI.modal&&VxeUI.modal.notification({title:getI18n$e("vxe.modal.errTitle"),status:"error",content:getI18n$e("vxe.upload.uploadTypeErr")});return}Ie(tt,Ye)},dt=Ye=>{const tt=Ye.dataTransfer;if(tt){const{items:Je}=tt;if(Je&&Je.length){Ye.preventDefault();const it=wt(Je);it.length&&Ke(Ye,it)}}re.isDrag=!1},wt=Ye=>{const tt=[];return XEUtils.arrayEach(Ye,Je=>{const it=Je.getAsFile();it&&tt.push(it)}),tt},$t=()=>{const Ye=se.value,tt=de.value;VxeUI.modal&&VxeUI.modal.open({title:getI18n$e(Ye?"vxe.upload.morePopup.readTitle":`vxe.upload.morePopup.${tt?"imageTitle":"fileTitle"}`),width:660,height:500,escClosable:!0,showMaximize:!0,resize:!0,maskClosable:!0,slots:{default(){const{showErrorStatus:Je,dragToUpload:it}=G,{isDrag:ft}=re,St=le.value,{fileList:kt}=re,Nt={};return it&&(Nt.onDragover=st,Nt.onDragleave=at,Nt.onDrop=dt),vue.h("div",Object.assign({class:["vxe-upload--more-popup",{"is--readonly":Ye,"is--disabled":St,"show--error":Je,"is--drag":ft}]},Nt),[tt?vue.h("div",{class:"vxe-upload--image-more-list"},vt(kt,!0).concat(Qe(!0))):vue.h("div",{class:"vxe-upload--file-more-list"},[Vt(!0),vue.h("div",{class:"vxe-upload--file-list"},Et(kt,!0))]),ft?vue.h("div",{class:"vxe-upload--drag-placeholder"},getI18n$e("vxe.upload.dragPlaceholder")):vue.createCommentVNode()])}},onShow(){re.showMorePopup=!0},onHide(){re.showMorePopup=!1}})},mt=Ye=>{const{pasteToUpload:tt}=G,{isActivated:Je}=re;if(!Je||!tt)return;const it=Ye.clipboardData||Ye.originalEvent.clipboardData;if(!it)return;const{items:ft}=it;if(!ft)return;const St=wt(ft);St.length&&(Ye.preventDefault(),Ke(Ye,St))},bt=Ye=>{const tt=ne.value,Je=getEventTargetNode(Ye,tt).flag;re.isActivated=Je},Ot=()=>{re.isActivated=!1};Object.assign(ke,{dispatchEvent:be,choose(){return Ve(null)}},{});const Et=(Ye,tt)=>{const{showRemoveButton:Je,showDownloadButton:it,showProgress:ft,progressText:St,showPreview:kt,showErrorStatus:Nt}=G,{fileCacheMaps:Ht}=re,Lt=le.value,Bt=se.value,Xt=ue.value,Yt=he.value,Jt=Q.corner;return Ye.map((fn,mn)=>{const cn=Ne(fn),kn=Ht[cn],Tt=kn&&kn.loading,gt=kn&&kn.status==="error";return vue.h("div",{key:mn,class:["vxe-upload--file-item",{"is--preview":kt,"is--loading":Tt,"is--error":gt}]},[vue.h("div",{class:"vxe-upload--file-item-icon"},[vue.h("i",{class:getIcon$8()[`UPLOAD_FILE_TYPE_${`${fn[Yt]}`.toLocaleUpperCase()}`]||getIcon$8().UPLOAD_FILE_TYPE_DEFAULT})]),vue.h("div",{class:"vxe-upload--file-item-name",onClick(Rt){!Tt&&!gt&&Be(Rt,fn)}},`${fn[Xt]||""}`),Tt?vue.h("div",{class:"vxe-upload--file-item-loading-icon"},[vue.h("i",{class:getIcon$8().UPLOAD_LOADING})]):vue.createCommentVNode(),ft&&Tt&&kn?vue.h("div",{class:"vxe-upload--file-item-loading-text"},St?XEUtils.toFormatString(St,{percent:kn.percent}):getI18n$e("vxe.upload.uploadProgress",[kn.percent])):vue.createCommentVNode(),Nt&&gt?vue.h("div",{class:"vxe-upload--image-item-error"},[vue.h(VxeButtonComponent,{icon:getIcon$8().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:getI18n$e("vxe.upload.reUpload"),onClick(){Ue(fn)}})]):vue.createCommentVNode(),vue.h("div",{class:"vxe-upload--file-item-btn-wrapper"},[Jt?vue.h("div",{class:"vxe-upload--file-item-corner"},getSlotVNs(Jt({option:fn,isMoreView:tt,readonly:Bt}))):vue.createCommentVNode(),it&&!Tt?vue.h("div",{class:"vxe-upload--file-item-download-btn",onClick(Rt){qe(Rt,fn)}},[vue.h("i",{class:getIcon$8().UPLOAD_FILE_DOWNLOAD})]):vue.createCommentVNode(),Je&&!Bt&&!Lt&&!Tt?vue.h("div",{class:"vxe-upload--file-item-remove-btn",onClick(Rt){Xe(Rt,fn,mn)}},[vue.h("i",{class:getIcon$8().UPLOAD_FILE_REMOVE})]):vue.createCommentVNode()])])})},Vt=Ye=>{const{showUploadButton:tt,buttonText:Je,buttonIcon:it,showButtonText:ft,showButtonIcon:St,autoHiddenButton:kt}=G,Nt=le.value,Ht=se.value,Lt=$e.value,Bt=ge.value,Xt=Q.default,Yt=Q.tip||Q.hint;return Ht||!tt?vue.createCommentVNode():vue.h("div",{class:"vxe-upload--file-action"},[kt&&Bt?vue.createCommentVNode():vue.h("div",{class:"vxe-upload--file-action-btn",onClick:ze},Xt?getSlotVNs(Xt({$upload:ke})):[vue.h(VxeButtonComponent,{class:"vxe-upload--file-action-button",content:Ye||ft?Je?`${Je}`:getI18n$e("vxe.upload.fileBtnText"):"",icon:St?it||getIcon$8().UPLOAD_FILE_ADD:"",disabled:Nt})]),Ye&&(Lt||Yt)?vue.h("div",{class:"vxe-upload--file-action-tip"},Yt?getSlotVNs(Yt({$upload:ke})):Lt):vue.createCommentVNode()])},ut=()=>{const{moreConfig:Ye}=G,{fileList:tt}=re,Je=Me.value,{maxCount:it,showMoreButton:ft,layout:St}=Je,kt=St==="horizontal";let Nt=tt,Ht=0;return it&&tt.length>it&&(Ht=tt.length-it,Nt=tt.slice(0,it)),vue.h("div",{key:"all",class:"vxe-upload--file-wrapper"},[ft&&Ye&&kt?vue.createCommentVNode():Vt(!0),Nt.length||ft&&kt?vue.h("div",{class:["vxe-upload--file-list-wrapper",{"is--horizontal":kt}]},[Nt.length?vue.h("div",{class:"vxe-upload--file-list"},Et(Nt,!1)):vue.createCommentVNode(),ft&&Ht?vue.h("div",{class:"vxe-upload--file-over-more"},[vue.h(VxeButtonComponent,{mode:"text",content:getI18n$e("vxe.upload.moreBtnText",[tt.length]),status:"primary",onClick:$t})]):vue.createCommentVNode(),ft&&Ye&&kt?Vt(!1):vue.createCommentVNode()]):vue.createCommentVNode()])},vt=(Ye,tt)=>{const{showRemoveButton:Je,showProgress:it,progressText:ft,showPreview:St,showErrorStatus:kt}=G,{fileCacheMaps:Nt}=re,Ht=le.value,Lt=se.value,Bt=xe.value,Xt=Q.corner;return Ye.map((Yt,Jt)=>{const fn=Ne(Yt),mn=Nt[fn],cn=mn&&mn.loading,kn=mn&&mn.status==="error";return vue.h("div",{key:Jt,class:["vxe-upload--image-item",{"is--preview":St,"is--loading":cn,"is--error":kn}]},[vue.h("div",{class:"vxe-upload--image-item-box",style:tt?null:Bt,title:getI18n$e("vxe.upload.viewItemTitle"),onClick(Tt){!cn&&!kn&&je(Tt,Yt,Jt)}},[cn&&mn?vue.h("div",{class:"vxe-upload--image-item-loading"},[vue.h("div",{class:"vxe-upload--image-item-loading-icon"},[vue.h("i",{class:getIcon$8().UPLOAD_LOADING})]),it?vue.h("div",{class:"vxe-upload--image-item-loading-text"},ft?XEUtils.toFormatString(ft,{percent:mn.percent}):getI18n$e("vxe.upload.uploadProgress",[mn.percent])):vue.createCommentVNode()]):vue.createCommentVNode(),cn?vue.createCommentVNode():kn&&kt?vue.h("div",{class:"vxe-upload--image-item-error"},[vue.h(VxeButtonComponent,{icon:getIcon$8().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:getI18n$e("vxe.upload.reUpload"),onClick(){Ue(Yt)}})]):vue.h("img",{class:"vxe-upload--image-item-img",src:Ae(Yt)}),vue.h("div",{class:"vxe-upload--image-item-btn-wrapper",onClick(Tt){Tt.stopPropagation()}},[Xt?vue.h("div",{class:"vxe-upload--file-item-corner"},getSlotVNs(Xt({option:Yt,isMoreView:tt,readonly:Lt}))):vue.createCommentVNode(),Je&&!Lt&&!Ht&&!cn?vue.h("div",{class:"vxe-upload--image-item-remove-btn",onClick(Tt){Tt.stopPropagation(),Xe(Tt,Yt,Jt)}},[vue.h("i",{class:getIcon$8().UPLOAD_IMAGE_REMOVE})]):vue.createCommentVNode()])])])})},Qe=Ye=>{const{showUploadButton:tt,buttonText:Je,buttonIcon:it,showButtonText:ft,showButtonIcon:St,autoHiddenButton:kt}=G,Nt=se.value,Ht=$e.value,Lt=ge.value,Bt=xe.value,Xt=Q.default,Yt=Q.hint;return Nt||!tt||kt&&Lt?vue.createCommentVNode():vue.h("div",{key:"action",class:"vxe-upload--image-action"},[vue.h("div",{class:"vxe-upload--image-action-btn",onClick:ze},Xt?Xt({$upload:ke}):[vue.h("div",{class:"vxe-upload--image-action-box",style:Ye?null:Bt},[St?vue.h("div",{class:"vxe-upload--image-action-icon"},[vue.h("i",{class:it||getIcon$8().UPLOAD_IMAGE_ADD})]):vue.createCommentVNode(),Ye||ft?vue.h("div",{class:"vxe-upload--image-action-content"},Je?`${Je}`:getI18n$e("vxe.upload.imgBtnText")):vue.createCommentVNode(),Ye&&(Ht||Yt)?vue.h("div",{class:"vxe-upload--image-action-hint"},Yt?getSlotVNs(Yt({$upload:ke})):Ht):vue.createCommentVNode()])])])},ht=()=>{const{fileList:Ye}=re,tt=Me.value,{maxCount:Je,showMoreButton:it}=tt;let ft=Ye,St=0;return Je&&Ye.length>Je&&(St=Ye.length-Je,ft=Ye.slice(0,Je)),vue.h("div",{key:"image",class:"vxe-upload--image-wrapper"},[vue.h("div",{class:"vxe-upload--image-list"},vt(ft,!1).concat([it&&St?vue.h("div",{class:"vxe-upload--image-over-more"},[vue.h(VxeButtonComponent,{mode:"text",content:getI18n$e("vxe.upload.moreBtnText",[Ye.length]),status:"primary",onClick:$t})]):vue.createCommentVNode(),Qe(!1)]))])},et=()=>{const{showErrorStatus:Ye,dragToUpload:tt,pasteToUpload:Je}=G,{isDrag:it,showMorePopup:ft,isActivated:St}=re,kt=te.value,Nt=le.value,Ht=se.value,Lt=de.value,Bt={};return tt&&(Bt.onDragover=st,Bt.onDragleave=at,Bt.onDrop=dt),vue.h("div",Object.assign({ref:ne,class:["vxe-upload",{[`size--${kt}`]:kt,"is--active":St,"is--readonly":Ht,"is--disabled":Nt,"is--paste":Je,"show--error":Ye,"is--drag":it}]},Bt),[Lt?ht():ut(),it&&!ft?vue.h("div",{class:"vxe-upload--drag-placeholder"},getI18n$e("vxe.upload.dragPlaceholder")):vue.createCommentVNode()])},nt=vue.ref(0);return vue.watch(()=>G.modelValue?G.modelValue.length:0,()=>{nt.value++}),vue.watch(()=>G.modelValue,()=>{nt.value++}),vue.watch(nt,()=>{_e()}),vue.onMounted(()=>{process.env.NODE_ENV==="development"&&G.multiple&&G.singleMode&&errLog("vxe.error.errConflicts",["multiple","single-mode"]),globalEvents$4.on(ke,"paste",mt),globalEvents$4.on(ke,"mousedown",bt),globalEvents$4.on(ke,"blur",Ot)}),vue.onUnmounted(()=>{re.isDrag=!1,globalEvents$4.off(ke,"paste"),globalEvents$4.off(ke,"mousedown"),globalEvents$4.off(ke,"blur")}),_e(),ke.renderVN=et,ke},render(){return this.renderVN()}}),WidgetVxeUploadFileViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeUploadComponent,{modelValue:H?H.getItemValue(Z):null,mode:"all",multiple:ee.multiple,limitCount:ee.limitCount,limitSize:ee.limitSize,onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeUploadImageConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-file-image",options:{limitCount:9,limitSize:10,multiple:!1}}),WidgetVxeUploadImageFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G),X=vue.ref(getLimitSizeOptions());return()=>{const{renderParams:Q}=G,{widget:K}=Q,{options:Z}=K,ee=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${ee}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Z},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(te){K.title=te}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.multiImg"),field:"multiple",itemRender:{name:"VxeSwitch"}}),Z.multiple?vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.limitImgCount"),field:"limitCount",itemRender:{name:"VxeInput",props:{type:"integer",min:1,clearable:!0}}}):vue.createCommentVNode(),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.limitImgSize"),field:"limitSize",itemRender:{name:"VxeSelect",options:X.value}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(te){K.required=te}})}})]}})}}}),WidgetVxeUploadImageViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeUploadComponent,{modelValue:H?H.getItemValue(Z):null,mode:"image",multiple:ee.multiple,limitCount:ee.limitCount,limitSize:ee.limitSize,onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeRateConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-star",query:!0,options:{}}),WidgetVxeRateFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}})]}})}}}),VxeRateComponent=vue.defineComponent({name:"VxeRate",props:{modelValue:[Number,String],disabled:{type:Boolean,default:null},readonly:{type:Boolean,default:null},size:{type:String,default:()=>getConfig$8().rate.size||getConfig$8().size},status:String},emits:["update:modelValue","change"],setup(G,H){const{emit:X}=H,Q=vue.inject("$xeForm",null),K=vue.inject("xeFormItemInfo",null),Z=XEUtils.uniqueId(),{computeSize:ee}=useSize(G),te=vue.ref(),ne=vue.reactive({activeValue:null}),re={refElem:te},oe=vue.computed(()=>{const{disabled:we}=G;return we===null?Q?Q.props.readonly||Q.props.disabled:!1:we}),ae=vue.computed(()=>{const{modelValue:we}=G,{activeValue:$e}=ne;return XEUtils.toNumber($e===null?we:$e)}),se=vue.computed(()=>[1,2,3,4,5].map(we=>({value:we,label:we}))),le={},ce={xID:Z,props:G,context:H,reactData:ne,getRefMaps:()=>re,getComputeMaps:()=>le},de=(we,$e,Ee)=>{X(we,createEvent$3(Ee,{$rate:ce},$e))},ue={dispatchEvent:de},he={},fe=we=>{X("update:modelValue",we)},pe=(we,$e)=>{if(!oe.value){const xe=$e.value;ne.activeValue=xe}},ve=()=>{ne.activeValue=null},me=(we,$e)=>{if(!oe.value){const xe=$e.value;fe(xe),de("change",{value:xe},we),Q&&K&&Q.triggerItemEvent(we,K.itemConfig.field,xe)}};Object.assign(ce,ue,he);const ge=()=>{const{status:we}=G,$e=oe.value,Ee=se.value,xe=ee.value,Me=ae.value;return vue.h("div",{ref:te,class:["vxe-rate",{[`size--${xe}`]:xe,[`theme--${we}`]:we,"is--disabled":$e}]},Ee.map(De=>{const ke=Me>=De.value;return vue.h("div",{class:["vxe-rte--item",{"is--checked":ke}],onMouseenter(Oe){$e||pe(Oe,De)},onMouseleave:ve,onClick(Oe){$e||me(Oe,De)}},[vue.h("i",{class:ke?getIcon$8().RATE_CHECKED:getIcon$8().RATE_UNCHECKED})])}))};return ce.renderVN=ge,ce},render(){return this.renderVN()}}),WidgetVxeRateViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,ee=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ee}`],field:Z.field,title:Z.title,itemRender:{}},{default(){return vue.h(VxeRateComponent,{modelValue:H?H.getItemValue(Z):null,onChange:Q,"onUpdate:modelValue"(te){H&&H.setItemValue(Z,te)}})}})}}}),getWidgetVxeSliderConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-slider",query:!0,options:{}}),WidgetVxeSliderFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}})]}})}}}),VxeSliderComponent=vue.defineComponent({name:"VxeSlider",props:{modelValue:[String,Number,Array],vertical:Boolean,max:{type:[String,Number],default:()=>getConfig$8().slider.max},min:{type:[String,Number],default:()=>getConfig$8().slider.min},step:{type:[String,Number],default:()=>getConfig$8().slider.step},size:{type:String,default:()=>getConfig$8().slider.size||getConfig$8().size},range:{type:Boolean,default:()=>getConfig$8().slider.range},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null}},emits:["update:modelValue","change"],setup(G,H){const{emit:X}=H,Q=vue.inject("$xeForm",null),K=vue.inject("xeFormItemInfo",null),Z=XEUtils.uniqueId(),{computeSize:ee}=useSize(G),te=vue.ref(),ne=vue.ref(),re=vue.ref(),oe=vue.ref(),ae=vue.ref(),se=vue.reactive({startValue:0,endValue:0}),le={refElem:te},ce=vue.computed(()=>{const{readonly:ye}=G;return ye===null?Q?Q.props.readonly:!1:ye}),de=vue.computed(()=>{const{disabled:ye}=G;return ye===null?Q?Q.props.disabled:!1:ye}),ue=vue.computed(()=>XEUtils.toNumber(G.max||0)),he=vue.computed(()=>XEUtils.toNumber(G.min||0)),fe={},pe={xID:Z,props:G,context:H,reactData:se,getRefMaps:()=>le,getComputeMaps:()=>fe},ve=ye=>{X("update:modelValue",ye)},me=(ye,Ce,be)=>{X(ye,createEvent$3(be,{$slider:pe},Ce))},ge={dispatchEvent:me},we=ye=>{const{range:Ce}=G,be=ue.value,Te=he.value;return Ce?XEUtils.floor((ye-Te)/XEUtils.toNumber(be-Te)*100):0},$e=(ye,Ce)=>{const{range:be}=G,Te=ue.value,Ae=he.value;return XEUtils.floor((Ce-(be?ye:0)-Ae)/XEUtils.toNumber(Te-Ae)*100)},Ee=()=>{const{modelValue:ye}=G;if(XEUtils.isArray(ye)){const[Ce,be]=XEUtils.clone(ye,!0).sort();se.startValue=XEUtils.floor(XEUtils.toNumber(Ce||0)),se.endValue=XEUtils.floor(XEUtils.toNumber(be||0))}else se.startValue=0,se.endValue=XEUtils.floor(XEUtils.toNumber(ye||0))},xe=()=>{const{startValue:ye,endValue:Ce}=se,be=re.value,Te=oe.value,Ae=ae.value;let Re=0,Fe=0;ye>Ce?(Re=we(Ce),Fe=$e(Ce,ye)):(Re=we(ye),Fe=$e(ye,Ce)),be&&(be.style.left=`${Re}%`,be.style.width=`${Fe}%`),Te&&(Te.style.left=`${Re}%`),Ae&&(Ae.style.left=`${XEUtils.floor(Re+Fe)}%`)},Me=ye=>{const{range:Ce}=G,{startValue:be,endValue:Te}=se,Ae=Ce?[be,Te].sort():Te;ve(Ae),me("change",{value:Ae},ye),Q&&K&&Q.triggerItemEvent(ye,K.itemConfig.field,Ae)},De=(ye,Ce)=>{const be=ce.value,Te=de.value,Ae=ue.value,Re=he.value;if(!(be||Te)){ye.preventDefault();const Fe=document.onmousemove,Be=document.onmouseup;document.onmousemove=je=>{je.preventDefault();const Le=te.value,Ue=ne.value;if(Le&&Ue){const Ie=Ue.getBoundingClientRect(),Ve=(je.clientX-Ie.left)/Ie.width;Ce?se.endValue=XEUtils.floor(Math.max(Re,Math.min(Ae,Ve*(Ae-Re)+Re))):se.startValue=XEUtils.floor(Math.max(Re,Math.min(Ae,Ve*(Ae-Re))))}xe()},document.onmouseup=je=>{document.onmousemove=Fe,document.onmouseup=Be,Me(je),xe()}}},ke=ye=>{const Ce=ae.value,be=ye.currentTarget;De(ye,Ce?Ce.offsetLeft<be.offsetLeft:!1)},Oe=ye=>{const Ce=oe.value,be=ye.currentTarget;De(ye,Ce?be.offsetLeft>Ce.offsetLeft:!0)};Object.assign(pe,ge,{});const _e=()=>{const{vertical:ye,range:Ce}=G,be=ee.value,Te=ce.value,Ae=de.value;return vue.h("div",{ref:te,class:["vxe-slider",{[`size--${be}`]:be,"is--vertical":ye,"is--readonly":Te,"is--disabled":Ae}]},[vue.h("div",{class:"vxe-slider--inner"},[vue.h("div",{ref:ne,class:"vxe-slider--bar-wrapper"}),vue.h("div",{ref:re,class:"vxe-slider--bar-track"}),Te||!Ce?renderEmptyElement$3(pe):vue.h("div",{ref:oe,class:"vxe-slider--bar-btn vxe-slider--start-btn",onMousedown:ke}),Te?renderEmptyElement$3(pe):vue.h("div",{ref:ae,class:"vxe-slider--bar-btn vxe-slider--end-btn",onMousedown:Oe})])])};return vue.watch(()=>G.modelValue,()=>{Ee()}),vue.onMounted(()=>{xe()}),Ee(),pe.renderVN=_e,pe},render(){return this.renderVN()}}),WidgetVxeSliderViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,ee=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ee}`],field:Z.field,title:Z.title,itemRender:{}},{default(){return vue.h(VxeSliderComponent,{modelValue:H?H.getItemValue(Z):null,onChange:Q,"onUpdate:modelValue"(te){H&&H.setItemValue(Z,te)}})}})}}});renderer$c.mixin({text:{createFormDesignWidgetConfig:getWidgetTextConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetTextViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetTextFormComponent,{renderOpts:G,renderParams:H})}},title:{createFormDesignWidgetConfig:getWidgetTextConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetTextViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetTextFormComponent,{renderOpts:G,renderParams:H})}},row:{createFormDesignWidgetConfig:getWidgetRowConfig,renderFormDesignWidgetEdit(G,H){return vue.h(WidgetRowEditComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetView(G,H){return vue.h(WidgetRowViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetRowFormComponent,{renderOpts:G,renderParams:H})}},subtable:{createFormDesignWidgetConfig:getWidgetSubtableConfig,renderFormDesignWidgetEdit(G,H){return vue.h(WidgetSubtableEditComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetView(G,H){return vue.h(WidgetSubtableViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetSubtableFormComponent,{renderOpts:G,renderParams:H})}},input:{createFormDesignWidgetConfig:getWidgetInputConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetInputViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetInputFormComponent,{renderOpts:G,renderParams:H})}},textarea:{createFormDesignWidgetConfig:getWidgetTextareaConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetTextareaViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetTextareaFormComponent,{renderOpts:G,renderParams:H})}},select:{createFormDesignWidgetConfig:getWidgetSelectConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetSelectViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetSelectFormComponent,{renderOpts:G,renderParams:H})}},VxeInput:{createFormDesignWidgetConfig:getWidgetVxeInputConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeInputViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeInputFormComponent,{renderOpts:G,renderParams:H})}},VxeNumberInput:{createFormDesignWidgetConfig:getWidgetVxeNumberInputConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeNumberInputViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeNumberInputFormComponent,{renderOpts:G,renderParams:H})}},VxeDatePicker:{createFormDesignWidgetConfig:getWidgetVxeDatePickerConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeDatePickerViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeDatePickerFormComponent,{renderOpts:G,renderParams:H})}},VxeTextarea:{createFormDesignWidgetConfig:getWidgetVxeTextareaConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeTextareaViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeTextareaFormComponent,{renderOpts:G,renderParams:H})}},VxeSwitch:{createFormDesignWidgetConfig:getWidgetVxeSwitchConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeSwitchViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeSwitchFormComponent,{renderOpts:G,renderParams:H})}},VxeSelect:{createFormDesignWidgetConfig:getWidgetVxeSelectConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeSelectViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeSelectFormComponent,{renderOpts:G,renderParams:H})}},VxeTreeSelect:{createFormDesignWidgetConfig:getWidgetVxeTreeSelectConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeTreeSelectViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeTreeSelectFormComponent,{renderOpts:G,renderParams:H})}},VxeRadioGroup:{createFormDesignWidgetConfig:getWidgetVxeRadioGroupConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeRadioGroupViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeRadioGroupFormComponent,{renderOpts:G,renderParams:H})}},VxeCheckboxGroup:{createFormDesignWidgetConfig:getWidgetVxeCheckboxGroupConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeCheckboxGroupViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeCheckboxGroupFormComponent,{renderOpts:G,renderParams:H})}},VxeUploadFile:{createFormDesignWidgetConfig:getWidgetVxeUploadFileConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeUploadFileViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeUploadFileFormComponent,{renderOpts:G,renderParams:H})}},VxeUploadImage:{createFormDesignWidgetConfig:getWidgetVxeUploadImageConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeUploadImageViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeUploadImageFormComponent,{renderOpts:G,renderParams:H})}},VxeRate:{createFormDesignWidgetConfig:getWidgetVxeRateConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeRateViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeRateFormComponent,{renderOpts:G,renderParams:H})}},VxeSlider:{createFormDesignWidgetConfig:getWidgetVxeSliderConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeSliderViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeSliderFormComponent,{renderOpts:G,renderParams:H})}}});const VxeFormDesign=Object.assign({},VxeFormDesignComponent,{install(G){G.component(VxeFormDesignComponent.name,VxeFormDesignComponent)}}),formDesignHandle={useWidgetName,useWidgetView,useSubtableView,useWidgetPropDataSource};dynamicApp.use(VxeFormDesign),VxeUI.component(VxeFormDesignComponent),VxeUI.formDesignHandle=formDesignHandle,VxeUI.formDesign=formDesignHandle;const FormDesign=VxeFormDesign,VxeFormGatherComponent=Object.assign({},VxeFormGroupComponent,{name:"VxeFormGather"}),VxeFormGather=Object.assign(VxeFormGatherComponent,{install(G){G.component(VxeFormGatherComponent.name,VxeFormGatherComponent)}});dynamicApp.use(VxeFormGather),VxeUI.component(VxeFormGatherComponent);const FormGather=VxeFormGather,VxeFormGroup=Object.assign(VxeFormGroupComponent,{install(G){G.component(VxeFormGroupComponent.name,VxeFormGroupComponent)}});dynamicApp.use(VxeFormGroup),VxeUI.component(VxeFormGroupComponent);const FormGroup=VxeFormGroup,VxeFormItem=Object.assign(VxeFormItemComponent,{install(G){G.component(VxeFormItemComponent.name,VxeFormItemComponent)}});dynamicApp.use(VxeFormItem),VxeUI.component(VxeFormItemComponent);const FormItem=VxeFormItem,VxeFormView=Object.assign(VxeFormViewComponent,{install:function(G){G.component(VxeFormViewComponent.name,VxeFormViewComponent)}});dynamicApp.use(VxeFormView),VxeUI.component(VxeFormViewComponent);const FormView=VxeFormView,VxeIcon=Object.assign({},VxeIconComponent,{install(G){G.component(VxeIconComponent.name,VxeIconComponent)}});dynamicApp.use(VxeIcon),VxeUI.component(VxeIconComponent);const Icon=VxeIcon,VxeIconPickerComponent=vue.defineComponent({name:"VxeIconPicker",props:{modelValue:String,placeholder:String,clearable:Boolean,size:{type:String,default:()=>getConfig$8().iconPicker.size||getConfig$8().size},className:[String,Function],popupClassName:[String,Function],showIconTitle:{type:Boolean,default:()=>getConfig$8().iconPicker.showIconTitle},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},icons:Array,placement:String,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","click"],setup(G,H){const{emit:X}=H,Q=vue.inject("$xeModal",null),K=vue.inject("$xeDrawer",null),Z=vue.inject("$xeTable",null),ee=vue.inject("$xeForm",null),te=vue.inject("xeFormItemInfo",null),ne=XEUtils.uniqueId(),{computeSize:re}=useSize(G),oe=vue.reactive({initialized:!1,selectIcon:`${G.modelValue||""}`,panelIndex:0,panelStyle:{},panelPlacement:null,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),ae={hpTimeout:void 0},se=vue.ref(),le=vue.ref(),ce=vue.ref(),de={refElem:se},ue={xID:ne,props:G,context:H,reactData:oe,getRefMaps:()=>de};let he={};const fe=vue.computed(()=>{const{readonly:Ue}=G;return Ue===null?ee?ee.props.readonly:!1:Ue}),pe=vue.computed(()=>{const{disabled:Ue}=G;return Ue===null?ee?ee.props.disabled:!1:Ue}),ve=vue.computed(()=>{const{transfer:Ue}=G;if(Ue===null){const Ie=getConfig$8().iconPicker.transfer;if(XEUtils.isBoolean(Ie))return Ie;if(Z||Q||K||ee)return!0}return Ue}),me=vue.computed(()=>{const{placeholder:Ue}=G;if(Ue)return getFuncText(Ue);const Ie=getConfig$8().select.placeholder;return Ie?getFuncText(Ie):getI18n$e("vxe.base.pleaseSelect")}),ge=vue.computed(()=>{let{icons:Ue}=G;return(!Ue||!Ue.length)&&(Ue=getConfig$8().iconPicker.icons||[]),Ue.map(Ie=>({title:Ie,icon:`vxe-icon-${Ie}`}))}),we=vue.computed(()=>{const Ue=ge.value;return XEUtils.chunk(Ue,4)}),$e=()=>{oe.panelIndex<getLastZIndex()&&(oe.panelIndex=nextZIndex())},Ee=()=>vue.nextTick().then(()=>{const{placement:Ue}=G,{panelIndex:Ie}=oe,Ve=se.value,ze=ce.value,We=ve.value;if(ze&&Ve){const Xe=Ve.offsetHeight,He=Ve.offsetWidth,qe=ze.offsetHeight,at=ze.offsetWidth,st=5,Ke={zIndex:Ie},{boundingTop:dt,boundingLeft:wt,visibleHeight:$t,visibleWidth:mt}=getAbsolutePos(Ve);let bt="bottom";if(We){let Ot=wt,It=dt+Xe;Ue==="top"?(bt="top",It=dt-qe):Ue||(It+qe+st>$t&&(bt="top",It=dt-qe),It<st&&(bt="bottom",It=dt+Xe)),Ot+at+st>mt&&(Ot-=Ot+at+st-mt),Ot<st&&(Ot=st),Object.assign(Ke,{left:`${Ot}px`,top:`${It}px`,minWidth:`${He}px`})}else Ue==="top"?(bt="top",Ke.bottom=`${Xe}px`):Ue||dt+Xe+qe>$t&&dt-Xe-qe>st&&(bt="top",Ke.bottom=`${Xe}px`);return oe.panelStyle=Ke,oe.panelPlacement=bt,vue.nextTick()}}),xe=()=>{const{hpTimeout:Ue}=ae;pe.value||(Ue&&(clearTimeout(Ue),ae.hpTimeout=void 0),oe.initialized||(oe.initialized=!0),oe.isActivated=!0,oe.isAniVisible=!0,setTimeout(()=>{oe.visiblePanel=!0},10),$e(),Ee())},Me=()=>{oe.visiblePanel=!1,ae.hpTimeout=window.setTimeout(()=>{oe.isAniVisible=!1},350)},De=(Ue,Ie)=>{oe.selectIcon=Ie,Ie!==G.modelValue&&(X("update:modelValue",Ie),he.dispatchEvent("change",{value:Ie},Ue),ee&&te&&ee.triggerItemEvent(Ue,te.itemConfig.field,Ie))},ke=()=>{pe.value||oe.visiblePanel||xe()},Oe=()=>{oe.isActivated=!1},Ne=(Ue,Ie)=>{De(Ue,Ie),he.dispatchEvent("clear",{value:Ie},Ue)},_e=(Ue,Ie)=>{Ne(Ie,null),Me()},ye=Ue=>{Ue.preventDefault(),oe.visiblePanel?Me():xe()},Ce=Ue=>{ye(Ue),he.dispatchEvent("click",{},Ue)},be=Ue=>{const{visiblePanel:Ie}=oe;if(!pe.value&&Ie){const ze=ce.value;getEventTargetNode(Ue,ze).flag?Ee():Me()}},Te=Ue=>{const{visiblePanel:Ie}=oe;if(!pe.value){const ze=se.value,We=ce.value;oe.isActivated=getEventTargetNode(Ue,ze).flag||getEventTargetNode(Ue,We).flag,Ie&&!oe.isActivated&&Me()}},Ae=Ue=>{const{clearable:Ie}=G,{visiblePanel:Ve}=oe;if(!pe.value){const We=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.TAB),Xe=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.ENTER),He=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.ESCAPE),qe=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.ARROW_UP),at=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.ARROW_DOWN),st=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.DELETE),Ke=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.SPACEBAR);We&&(oe.isActivated=!1),Ve?He||We?Me():Xe?(Ue.preventDefault(),Ue.stopPropagation()):(qe||at||Ke)&&Ue.preventDefault():(qe||at||Xe||Ke)&&oe.isActivated&&(Ue.preventDefault(),xe()),oe.isActivated&&st&&Ie&&Ne(Ue,null)}},Re=()=>{Me()};he={dispatchEvent:(Ue,Ie,Ve)=>{X(Ue,createEvent$3(Ve,{$iconPicker:ue},Ie))},isPanelVisible(){return oe.visiblePanel},togglePanel(){return oe.visiblePanel?Me():xe(),vue.nextTick()},hidePanel(){return oe.visiblePanel&&Me(),vue.nextTick()},showPanel(){return oe.visiblePanel||xe(),vue.nextTick()},focus(){const Ue=le.value;return oe.isActivated=!0,Ue.blur(),vue.nextTick()},blur(){return le.value.blur(),oe.isActivated=!1,vue.nextTick()}};const Be=(Ue,Ie)=>{const Ve=Ie.icon;De(Ue,Ve),Me()};Object.assign(ue,he);const je=()=>{const{showIconTitle:Ue}=G,Ie=we.value,Ve=pe.value;return vue.h("div",{class:"vxe-ico-picker--list-wrapper"},Ie.map(ze=>vue.h("div",{class:"vxe-ico-picker--list"},ze.map(We=>vue.h("div",{class:"vxe-ico-picker--item",onClick(Xe){Ve||Be(Xe,We)}},[vue.h("div",{class:"vxe-ico-picker--item-icon"},[vue.h("i",{class:We.icon||""})]),Ue?vue.h("div",{class:"vxe-ico-picker--item-title"},`${We.title||""}`):vue.createCommentVNode()])))))},Le=()=>{const{className:Ue,popupClassName:Ie,clearable:Ve}=G,{initialized:ze,isActivated:We,isAniVisible:Xe,visiblePanel:He,selectIcon:qe}=oe,at=re.value,st=pe.value,Ke=ve.value,dt=fe.value,wt=me.value;return dt?vue.h("div",{ref:se,class:["vxe-ico-picker--readonly",Ue]},[vue.h("i",{class:qe})]):vue.h("div",{ref:se,class:["vxe-ico-picker",Ue?XEUtils.isFunction(Ue)?Ue({$iconPicker:ue}):Ue:"",{[`size--${at}`]:at,"show--clear":Ve&&!st&&!!qe,"is--visible":He,"is--disabled":st,"is--active":We}]},[vue.h("div",{class:"vxe-ico-picker--inner",onClick:Ce},[vue.h("input",{ref:le,class:"vxe-ico-picker--input",onFocus:ke,onBlur:Oe}),qe?vue.h("div",{class:"vxe-ico-picker--icon"},[vue.h("i",{class:qe})]):vue.h("div",{class:"vxe-ico-picker--placeholder"},wt),vue.h("div",{class:"vxe-ico-picker--suffix"},[vue.h("div",{class:"vxe-ico-picker--clear-icon",onClick:_e},[vue.h("i",{class:getIcon$8().INPUT_CLEAR})]),vue.h("div",{class:"vxe-ico-picker--suffix-icon"},[vue.h("i",{class:He?getIcon$8().ICON_PICKER_OPEN:getIcon$8().ICON_PICKER_CLOSE})])])]),vue.h(vue.Teleport,{to:"body",disabled:Ke?!ze:!0},[vue.h("div",{ref:ce,class:["vxe-table--ignore-clear vxe-ico-picker--panel",Ie?XEUtils.isFunction(Ie)?Ie({$iconPicker:ue}):Ie:"",{[`size--${at}`]:at,"is--transfer":Ke,"ani--leave":Xe,"ani--enter":He}],placement:oe.panelPlacement,style:oe.panelStyle},[ze&&(He||Xe)?vue.h("div",{class:"vxe-ico-picker--panel-wrapper"},[je()]):vue.createCommentVNode()])])])};return vue.watch(()=>G.modelValue,Ue=>{oe.selectIcon=`${Ue||""}`}),vue.onMounted(()=>{globalEvents$4.on(ue,"mousewheel",be),globalEvents$4.on(ue,"mousedown",Te),globalEvents$4.on(ue,"keydown",Ae),globalEvents$4.on(ue,"blur",Re)}),vue.onUnmounted(()=>{globalEvents$4.off(ue,"mousewheel"),globalEvents$4.off(ue,"mousedown"),globalEvents$4.off(ue,"keydown"),globalEvents$4.off(ue,"blur")}),vue.provide("$xeIconPicker",ue),ue.renderVN=Le,ue},render(){return this.renderVN()}}),VxeIconPicker=Object.assign(VxeIconPickerComponent,{install:function(G){G.component(VxeIconPickerComponent.name,VxeIconPickerComponent)}});dynamicApp.use(VxeIconPicker),VxeUI.component(VxeIconPickerComponent);const IconPicker=VxeIconPicker,VxeImagePreviewComponent=vue.defineComponent({name:"VxeImagePreview",props:{modelValue:Number,urlList:Array,urlField:{type:String,default:()=>getConfig$8().imagePreview.urlField},maskClosable:{type:Boolean,default:()=>getConfig$8().imagePreview.maskClosable},marginSize:{type:String,default:()=>getConfig$8().imagePreview.marginSize},showPrintButton:{type:Boolean,default:()=>getConfig$8().imagePreview.showPrintButton},showDownloadButton:{type:Boolean,default:()=>getConfig$8().imagePreview.showDownloadButton},beforeDownloadMethod:Function,downloadMethod:Function},emits:["update:modelValue","change","download","download-fail","close"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.ref(),Z={refElem:K},ee=vue.reactive({activeIndex:G.modelValue||0,offsetPct11:!1,offsetScale:0,offsetRotate:0,offsetLeft:0,offsetTop:0}),te=vue.computed(()=>G.urlField||"url"),ne=vue.computed(()=>XEUtils.toNumber(G.marginSize||0)||16),re=vue.computed(()=>{const{offsetRotate:Fe}=ee;return Fe?`${Fe}°`:"0°"}),oe=vue.computed(()=>{const{offsetScale:Fe}=ee;return Fe?`${XEUtils.ceil((1+Fe)*100)}%`:"100%"}),ae=vue.computed(()=>{const{urlList:Fe}=G,Be=te.value;return Fe&&Fe.length?Fe.map(je=>XEUtils.isString(je)?je:je[Be]?je[Be]:""):[]}),se=vue.computed(()=>{let{offsetScale:Fe,offsetRotate:Be,offsetLeft:je,offsetTop:Le}=ee;const Ue=[];let Ie=1;if(Fe&&(Ie=1+Fe,Ue.push(`scale(${Ie})`)),Be&&Ue.push(`rotate(${Be}deg)`),je||Le){je/=Ie,Le/=Ie;let Ve=je,ze=Le;if(Be)switch(Be%360){case 90:case-270:Ve=Le,ze=-je;break;case 180:case-180:Ve=-je,ze=-Le;break;case 270:case-90:Ve=-Le,ze=je;break}Ue.push(`translate(${Ve}px, ${ze}px)`)}return Ue.length?Ue.join(" "):""}),le={computeImgList:ae},ce={xID:Q,props:G,context:H,reactData:ee,getRefMaps:()=>Z,getComputeMaps:()=>le},de=(Fe,Be,je)=>{X(Fe,createEvent$3(je,{$imagePreview:ce},Be))},ue={dispatchEvent:de},he=Fe=>{ee.activeIndex=Fe,X("update:modelValue",Fe)},fe=Fe=>{de("close",{},Fe)},pe={},ve=()=>{const Fe=K.value;removeClass(Fe,"is--move"),Object.assign(ee,{offsetPct11:!1,offsetScale:0,offsetRotate:0,offsetLeft:0,offsetTop:0})},me=()=>{const{offsetScale:Fe}=ee;let Be=.02;return Fe>=-.6&&(Be=.04,Fe>=-.4&&(Be=.07,Fe>=0&&(Be=.1,Fe>=3&&(Be=.25,Fe>=8&&(Be=.4,Fe>=16&&(Be=.6,Fe>=24&&(Be=.9,Fe>=32&&(Be=1.3,Fe>=39&&(Be=1.9,Fe>=45&&(Be=2.5)))))))))),Be},ge=Fe=>{const{offsetScale:Be}=ee,je=me();Fe?ee.offsetScale=Number(Math.min(49,Be+je).toFixed(2)):ee.offsetScale=Number(Math.max(-.9,Be-je).toFixed(2))},we=Fe=>{let Be=ee.activeIndex||0;const je=ae.value;Fe?Be>=je.length-1?Be=0:Be++:Be<=0?Be=je.length-1:Be--,ve(),ee.activeIndex=Be,he(Be)},$e=Fe=>{let Be=ee.offsetRotate;Fe?Be+=90:Be-=90,ee.offsetRotate=Be},Ee=()=>{ve(),ee.offsetPct11=!0},xe=()=>{const{activeIndex:Fe}=ee,je=ae.value[Fe||0];VxeUI.print&&VxeUI.print({align:"center",pageBreaks:[{bodyHtml:`<img src="${je}" style="max-width:100%;max-height:100%;">`}]})},Me=(Fe,Be)=>{de("download",{url:Be},Fe)},De=(Fe,Be)=>{VxeUI.saveFile&&fetch(Be).then(je=>je.blob().then(Le=>{VxeUI.saveFile({filename:Be,content:Le}),Me(Fe,Be)})).catch(()=>{VxeUI.modal&&VxeUI.modal.message({content:getI18n$e("vxe.error.downErr"),status:"error"})})},ke=Fe=>{const{activeIndex:Be}=ee,Le=ae.value[Be||0],Ue=G.beforeDownloadMethod||getConfig$8().imagePreview.beforeDownloadMethod,Ie=G.downloadMethod||getConfig$8().imagePreview.downloadMethod;Promise.resolve(Ue?Ue({$imagePreview:ce,url:Le,index:Be||0}):!0).then(Ve=>{Ve&&(Ie?Promise.resolve(Ie({$imagePreview:ce,url:Le,index:Be||0})).then(()=>{Me(Fe,Le)}).catch(ze=>ze):De(Fe,Le))})},Oe=(Fe,Be)=>{const{activeIndex:je}=ee;if(ae.value[je||0])switch(Be){case"zoomOut":ge(!1);break;case"zoomIn":ge(!0);break;case"pctFull":ve();break;case"pct11":Ee();break;case"rotateLeft":$e(!1);break;case"rotateRight":$e(!0);break;case"print":xe();break;case"download":ke(Fe);break}},Ne=Fe=>{const Be=Fe.deltaY;Be>0?ge(!1):Be<0&&ge(!0)},_e=Fe=>{const{offsetTop:Be,offsetLeft:je}=ee,Le=K.value;Fe.preventDefault();const Ue=document.onmousemove,Ie=document.onmouseup,Ve=Fe.pageX,ze=Fe.pageY,We=ne.value;document.onmousemove=Xe=>{const{pageX:He,pageY:qe}=Xe,{visibleHeight:at,visibleWidth:st}=getDomNode();Xe.preventDefault(),addClass(Le,"is--move"),He>We&&qe>We&&He<st-We&&qe<at-We&&(ee.offsetLeft=je+He-Ve,ee.offsetTop=Be+qe-ze)},document.onmouseup=()=>{document.onmousemove=Ue,document.onmouseup=Ie,removeClass(Le,"is--move")}},ye=Fe=>{const Be=Fe.ctrlKey,je=Fe.shiftKey,Le=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.ARROW_UP),Ue=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.ARROW_DOWN),Ie=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.ARROW_LEFT),Ve=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.ARROW_RIGHT),ze=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.R),We=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.P);Le?(Fe.preventDefault(),je?ee.offsetTop-=1:ge(!0)):Ue?(Fe.preventDefault(),je?ee.offsetTop+=1:ge(!1)):Ie?(Fe.preventDefault(),je?ee.offsetLeft-=1:we(!1)):Ve?(Fe.preventDefault(),je?ee.offsetLeft+=1:we(!0)):ze&&Be?(Fe.preventDefault(),$e(!je)):We&&Be&&(Fe.preventDefault(),xe())},Ce=Fe=>{G.maskClosable&&Fe.target===Fe.currentTarget&&de("close",{},Fe)};Object.assign(ce,ue,pe);const be=()=>{const{activeIndex:Fe}=ee,Be=ae.value,je=se.value;return vue.h("div",{class:"vxe-image-preview--img-list",onClick:Ce},Be.map((Le,Ue)=>{const Ie=Fe===Ue;return vue.h("img",{class:["vxe-image-preview--img-item",{"is--active":Ie}],src:Le,style:Ie?{transform:je}:null,onMousedown(Ve){_e(Ve)}})}))},Te=(Fe,Be)=>vue.h("div",{class:"vxe-image-preview--operation-btn",title:getI18n$e(`vxe.imagePreview.operBtn.${Fe}`),onClick(je){Oe(je,Fe)}},[vue.h("i",{class:getIcon$8()[Be]})]),Ae=()=>{const{showPrintButton:Fe,showDownloadButton:Be}=G,{activeIndex:je}=ee,Le=ae.value,Ue=re.value,Ie=oe.value;return vue.h("div",{class:"vxe-image-preview--btn-wrapper"},[vue.h("div",{class:"vxe-image-preview--close-wrapper"},[vue.h("div",{class:"vxe-image-preview--close-btn",onClick:fe},[vue.h("i",{class:getIcon$8().IMAGE_PREVIEW_CLOSE})]),vue.h("div",{class:"vxe-image-preview--close-bg"})]),Le.length>1?vue.h("div",{class:"vxe-image-preview--previous-btn",onClick(){we(!1)}},[vue.h("i",{class:getIcon$8().IMAGE_PREVIEW_PREVIOUS})]):vue.createCommentVNode(),Le.length>1?vue.h("div",{class:"vxe-image-preview--next-btn",onClick(){we(!0)}},[vue.h("i",{class:getIcon$8().IMAGE_PREVIEW_NEXT})]):vue.createCommentVNode(),vue.h("div",{class:"vxe-image-preview--operation-info"},[vue.h("div",{class:"vxe-image-preview--operation-deg"},Ue),vue.h("div",{class:"vxe-image-preview--operation-pct"},Ie)]),vue.h("div",{class:"vxe-image-preview--operation-wrapper"},[vue.h("div",{class:"vxe-image-preview--operation-active-count"},[vue.h("span",{class:"vxe-image-preview--operation-active-current"},`${(je||0)+1}`),vue.h("span",{class:"vxe-image-preview--operation-active-total"},`/${Le.length}`)]),Te("zoomOut","IMAGE_PREVIEW_ZOOM_OUT"),Te("zoomIn","IMAGE_PREVIEW_ZOOM_IN"),Te("pctFull","IMAGE_PREVIEW_PCT_FULL"),Te("pct11","IMAGE_PREVIEW_PCT_1_1"),Te("rotateLeft","IMAGE_PREVIEW_ROTATE_LEFT"),Te("rotateRight","IMAGE_PREVIEW_ROTATE_RIGHT"),Fe?Te("print","IMAGE_PREVIEW_PRINT"):vue.createCommentVNode(),Be?Te("download","IMAGE_PREVIEW_DOWNLOAD"):vue.createCommentVNode()])])},Re=()=>{const{offsetPct11:Fe}=ee;return vue.h("div",{ref:K,class:["vxe-image-preview",{"is--pct11":Fe}],onWheel:Ne},[be(),Ae()])};return vue.watch(()=>G.modelValue,Fe=>{ee.activeIndex=Fe,ve()}),vue.onMounted(()=>{globalEvents$4.on(ce,"keydown",ye)}),vue.onBeforeUnmount(()=>{const Fe=K.value;Fe&&removeClass(Fe,"is--move")}),vue.onUnmounted(()=>{globalEvents$4.off(ce,"keydown")}),vue.provide("$xeImagePreview",ce),ce.renderVN=Re,Re}}),openPreviewImage=G=>{if(VxeUI.modal){const H=Object.assign({escClosable:!0},G),{urlList:X,activeIndex:Q}=H,K=XEUtils.uniqueId("image-preview");VxeUI.modal.open({id:K,title:"预览",width:"100%",height:"100%",showHeader:!1,showFooter:!1,padding:!1,escClosable:H.escClosable,className:"vxe-image-preview-popup-wrapper",slots:{default(){return vue.h(VxeImagePreviewComponent,{modelValue:Q,urlList:X,urlField:H.urlField,marginSize:H.marginSize,maskClosable:H.maskClosable,showPrintButton:H.showPrintButton,showDownloadButton:H.showDownloadButton,beforeDownloadMethod:H.beforeDownloadMethod,downloadMethod:H.downloadMethod,onClose(){VxeUI.modal.close(K)}})}}})}return Promise.resolve()},VxeImageComponent=vue.defineComponent({name:"VxeImage",props:{src:[String,Array],alt:[String,Number],loading:String,title:[String,Number],width:[String,Number],height:[String,Number],maskClosable:{type:Boolean,default:()=>getConfig$8().image.maskClosable},showPreview:{type:Boolean,default:()=>getConfig$8().image.showPreview},showPrintButton:{type:Boolean,default:()=>getConfig$8().image.showPrintButton},showDownloadButton:{type:Boolean,default:()=>getConfig$8().image.showDownloadButton},size:{type:String,default:()=>getConfig$8().image.size||getConfig$8().size}},emits:["click"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.inject("$xeImageGroup",null),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({}),ne={refElem:Z},re=vue.computed(()=>{const{width:pe,height:ve}=G,me={};return pe&&ve?(me.maxWidth=toCssUnit(pe),me.maxHeight=toCssUnit(ve)):(pe&&(me.width=toCssUnit(pe)),ve&&(me.height=toCssUnit(ve))),me}),oe=vue.computed(()=>{const{src:pe}=G;return pe?(XEUtils.isArray(pe)?pe:[pe]).map(ve=>XEUtils.isString(ve)?{url:ve,alt:""}:{url:ve.url,alt:ve.alt}):[]}),ae=vue.computed(()=>oe.value[0]),se=vue.computed(()=>{const pe=ae.value;return pe?`${pe.url||""}`:""}),le={computeSize:ee},ce={xID:Q,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>le},de={dispatchEvent(pe,ve,me){X(pe,createEvent$3(me,{$image:ce},ve))}},ue=pe=>{const{showPreview:ve,showPrintButton:me,showDownloadButton:ge,maskClosable:we}=G,$e=oe.value,Ee=se.value;K?K.handleClickImgEvent(pe,{url:Ee}):(ve&&Ee&&openPreviewImage({urlList:$e,showPrintButton:me,showDownloadButton:ge,maskClosable:we}),de.dispatchEvent("click",{url:Ee},pe))};Object.assign(ce,de,{});const fe=()=>{const{alt:pe,loading:ve}=G,me=re.value,ge=se.value,we=ee.value;return vue.h("img",{ref:Z,class:["vxe-image",{[`size--${we}`]:we}],src:ge,alt:pe,loading:ve,style:me,onClick:ue})};return ce.renderVN=fe,ce},render(){return this.renderVN()}}),VxeImage=Object.assign({},VxeImageComponent,{install(G){G.component(VxeImageComponent.name,VxeImageComponent)}});dynamicApp.use(VxeImage),VxeUI.component(VxeImageComponent);const Image$1=VxeImage,VxeImageGroupComponent=vue.defineComponent({name:"VxeImageGroup",props:{urlList:[Array,String],showPreview:{type:Boolean,default:()=>getConfig$8().imageGroup.showPreview},imageStyle:Object,size:{type:String,default:()=>getConfig$8().imageGroup.size||getConfig$8().size},showPrintButton:{type:Boolean,default:()=>getConfig$8().imageGroup.showPrintButton},showDownloadButton:{type:Boolean,default:()=>getConfig$8().imageGroup.showDownloadButton}},emits:["click"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),{computeSize:K}=useSize(G),Z=vue.computed(()=>{const{urlList:se}=G;return se?(XEUtils.isArray(se)?se:[se]).map(le=>XEUtils.isString(le)?{url:le,alt:""}:{url:le.url,alt:le.alt}):[]}),ee=vue.computed(()=>Object.assign({},getConfig$8().imageGroup.imageStyle,G.imageStyle)),te={computeSize:K},ne={xID:Q,props:G,context:H,getComputeMaps:()=>te},re={dispatchEvent(se,le,ce){X(se,createEvent$3(ce,{$imageGroup:ne},le))}};Object.assign(ne,re,{handleClickImgEvent(se,le){const{showPreview:ce,showPrintButton:de,showDownloadButton:ue}=G,{url:he}=le,fe=Z.value;ce&&he&&openPreviewImage({activeIndex:Math.max(0,XEUtils.findIndexOf(fe,pe=>pe.url===he)),urlList:fe,showPrintButton:de,showDownloadButton:ue}),re.dispatchEvent("click",{url:he,urlList:fe},se)}});const ae=()=>{const se=Z.value,le=K.value,ce=ee.value;return vue.h("div",{class:["vxe-image-group",{[`size--${le}`]:le}]},se?se.map((de,ue)=>vue.h(VxeImageComponent,{key:ue,src:de.url,alt:de.alt,width:ce.width,height:ce.height})):[])};return ne.renderVN=ae,vue.provide("$xeImageGroup",ne),ne},render(){return this.renderVN()}}),VxeImageGroup=Object.assign({},VxeImageGroupComponent,{install(G){G.component(VxeImageGroupComponent.name,VxeImageGroupComponent)}});dynamicApp.use(VxeImageGroup),VxeUI.component(VxeImageGroupComponent);const ImageGroup=VxeImageGroup,VxeImagePreview=Object.assign(VxeImagePreviewComponent,{install(G){G.component(VxeImagePreviewComponent.name,VxeImagePreviewComponent),VxeUI.previewImage=openPreviewImage}});dynamicApp.use(VxeImagePreview),VxeUI.component(VxeImagePreviewComponent);const ImagePreview=VxeImagePreview,VxeInput=Object.assign(VxeInputComponent,{install(G){G.component(VxeInputComponent.name,VxeInputComponent)}});dynamicApp.use(VxeInput),VxeUI.component(VxeInputComponent);const Input=VxeInput,VxeLayoutAsideComponent=vue.defineComponent({name:"VxeLayoutAside",props:{width:[String,Number],collapsed:Boolean,collapseWidth:[String,Number],loading:Boolean,padding:Boolean,size:{type:String,default:()=>getConfig$8().layoutAside.size||getConfig$8().size}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({}),ne={refElem:Z},re=vue.computed(()=>{const{width:ue,collapsed:he,collapseWidth:fe}=G;if(he){if(fe)return toCssUnit(fe)}else if(ue)return toCssUnit(ue);return""}),oe={computeSize:ee},ae={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>oe};Object.assign(ae,{dispatchEvent:(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$layoutAside:ae},he))}},{});const de=()=>{const{width:ue,collapsed:he,loading:fe,padding:pe}=G,ve=re.value,me=ee.value,ge=X.default;return vue.h("aside",{ref:Z,class:["vxe-layout-aside",{[`size--${me}`]:me,"is--padding":pe,"is--default-width":!ue,"is--collapse":he,"is--loading":fe}],style:ve?{width:ve}:null},[vue.h("div",{class:"vxe-layout-aside--inner"},ge?ge({}):[]),vue.h(VxeLoadingComponent,{class:"vxe-list-view--loading",modelValue:fe})])};return vue.provide("$xeLayoutAside",ae),ae.renderVN=de,ae},render(){return this.renderVN()}}),VxeLayoutAside=Object.assign({},VxeLayoutAsideComponent,{install(G){G.component(VxeLayoutAsideComponent.name,VxeLayoutAsideComponent)}});dynamicApp.use(VxeLayoutAside),VxeUI.component(VxeLayoutAsideComponent);const LayoutAside=VxeLayoutAside,VxeLayoutBodyComponent=vue.defineComponent({name:"VxeLayoutBody",props:{loading:Boolean,padding:Boolean,size:{type:String,default:()=>getConfig$8().layoutBody.size||getConfig$8().size}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({}),ne={refElem:Z},re={computeSize:ee},oe={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>re};Object.assign(oe,{dispatchEvent:(de,ue,he)=>{Q(de,createEvent$3(he,{$layoutBody:oe},ue))}},{});const ce=()=>{const{loading:de,padding:ue}=G,he=ee.value,fe=X.default;return vue.h("div",{ref:Z,class:["vxe-layout-body",{[`size--${he}`]:he,"is--loading":de,"is--padding":ue}]},[vue.h("div",{class:"vxe-layout-body--inner"},fe?fe({}):[]),vue.h(VxeLoadingComponent,{class:"vxe-list-view--loading",modelValue:de})])};return oe.renderVN=ce,oe},render(){return this.renderVN()}}),VxeLayoutBody=Object.assign({},VxeLayoutBodyComponent,{install(G){G.component(VxeLayoutBodyComponent.name,VxeLayoutBodyComponent)}});dynamicApp.use(VxeLayoutBody),VxeUI.component(VxeLayoutBodyComponent);const LayoutBody=VxeLayoutBody,VxeLayoutContainerComponent=vue.defineComponent({name:"VxeLayoutContainer",props:{vertical:Boolean,size:{type:String,default:()=>getConfig$8().layoutContainer.size||getConfig$8().size}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({}),ne={refElem:Z},re={computeSize:ee},oe={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>re};Object.assign(oe,{dispatchEvent:(de,ue,he)=>{Q(de,createEvent$3(he,{$layoutContainer:oe},ue))}},{});const ce=()=>{const{vertical:de}=G,ue=ee.value,he=X.default;return vue.h("div",{ref:Z,class:["vxe-layout-container",{[`size--${ue}`]:ue,"is--vertical":de}]},he?he({}):[])};return oe.renderVN=ce,oe},render(){return this.renderVN()}}),VxeLayoutContainer=Object.assign({},VxeLayoutContainerComponent,{install(G){G.component(VxeLayoutContainerComponent.name,VxeLayoutContainerComponent)}});dynamicApp.use(VxeLayoutContainer),VxeUI.component(VxeLayoutContainerComponent);const LayoutContainer=VxeLayoutContainer,VxeLayoutFooterComponent=vue.defineComponent({name:"VxeLayoutFooter",props:{fixed:Boolean,align:String},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne={},re={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>ne};Object.assign(re,{dispatchEvent:(ce,de,ue)=>{Q(ce,createEvent$3(ue,{$layoutFooter:re},de))}},{});const le=()=>{const{fixed:ce,align:de}=G,ue=X.default;return vue.h("footer",{ref:Z,class:["vxe-layout-footer",de?`align--${de}`:"",{"is--fixed":ce}]},ue?ue({}):[])};return re.renderVN=le,re},render(){return this.renderVN()}}),VxeLayoutFooter=Object.assign({},VxeLayoutFooterComponent,{install(G){G.component(VxeLayoutFooterComponent.name,VxeLayoutFooterComponent)}});dynamicApp.use(VxeLayoutFooter),VxeUI.component(VxeLayoutFooterComponent);const LayoutFooter=VxeLayoutFooter,VxeLayoutHeaderComponent=vue.defineComponent({name:"VxeLayoutHeader",props:{fixed:Boolean},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne={},re={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>ne};Object.assign(re,{dispatchEvent:(ce,de,ue)=>{Q(ce,createEvent$3(ue,{$layoutHeader:re},de))}},{});const le=()=>{const{fixed:ce}=G,de=X.default;return vue.h("header",{ref:Z,class:["vxe-layout-header",{"is--fixed":ce}]},de?de({}):[])};return re.renderVN=le,re},render(){return this.renderVN()}}),VxeLayoutHeader=Object.assign({},VxeLayoutHeaderComponent,{install(G){G.component(VxeLayoutHeaderComponent.name,VxeLayoutHeaderComponent)}});dynamicApp.use(VxeLayoutHeader),VxeUI.component(VxeLayoutHeaderComponent);const LayoutHeader=VxeLayoutHeader,VxeLinkComponent=vue.defineComponent({name:"VxeLink",props:{href:String,target:String,status:String,title:[String,Number],icon:String,routerLink:Object,underline:{type:Boolean,default:()=>getConfig$8().link.underline},permissionCode:[String,Number],content:[String,Number],size:{type:String,default:()=>getConfig$8().link.size||getConfig$8().size}},emits:["click"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),{computePermissionInfo:ee}=usePermission(G),te=vue.ref(),ne=vue.reactive({}),re={refElem:te},oe={},ae={xID:K,props:G,context:H,reactData:ne,getRefMaps:()=>re,getComputeMaps:()=>oe},se=(fe,pe,ve)=>{Q(fe,createEvent$3(ve,{$link:ae},pe))},le={dispatchEvent:se},ce={},de=fe=>{se("click",{},fe)};Object.assign(ae,le,ce);const ue=()=>{const{icon:fe,content:pe}=G,ve=X.default,me=X.icon,ge=XEUtils.toValueString(pe);return[me||fe?vue.h("span",{class:"vxe-link--icon"},me?getSlotVNs(me({})):[vue.h("i",{class:fe})]):vue.createCommentVNode(),ve||ge?vue.h("span",{class:"vxe-link--content"},ve?ve({}):ge):vue.createCommentVNode()]},he=()=>{const{status:fe,target:pe,href:ve,title:me,underline:ge,routerLink:we}=G,$e=ee.value,Ee=Z.value;return $e.visible?we?vue.h(vue.resolveComponent("router-link"),{class:["vxe-link",{[`size--${Ee}`]:Ee,[`theme--${fe}`]:fe,"is--underline":ge}],title:me,target:pe,to:we,onClick:de},{default(){return ue()}}):vue.h("a",{ref:te,class:["vxe-link",{[`size--${Ee}`]:Ee,[`theme--${fe}`]:fe,"is--underline":ge}],href:ve,target:pe,title:me,onClick:de},ue()):vue.createCommentVNode()};return ae.renderVN=he,ae},render(){return this.renderVN()}}),VxeLink=Object.assign({},VxeLinkComponent,{install(G){G.component(VxeLinkComponent.name,VxeLinkComponent)}});dynamicApp.use(VxeLink),VxeUI.component(VxeLinkComponent);const Link=VxeLink,getListDesignActionButtonName=G=>getI18n$e(`vxe.listDesign.activeBtn.${G}`),handleGetListDesignActionButtonName=G=>getListDesignActionButtonName(G.name),createListDesignActionButton=G=>Object.assign({name:"",icon:"",type:"",classify:"",code:"",status:"",permissionCode:""},G),getDefaultSettingFormData=()=>({listView:{enabled:!0},ganttView:{enabled:!1},chartView:{enabled:!1},autoFoldFilter:!0,showCheckbox:"auto",showSeq:!0,showStatistics:!0,mobileDefaultView:"list",pcDefaultView:"list",actionButtonList:[]}),LayoutPreviewComponent=vue.defineComponent({name:"ListDesignLayoutView",props:{},emits:[],setup(){const G=VxeUI.getComponent("VxeGrid"),H=vue.inject("$xeListDesign",null);if(!H)return()=>[];const{reactData:X}=H,Q=vue.ref(),K=vue.ref([]),Z=vue.computed(()=>{const{searchFormItems:oe}=X;return oe.length?oe.concat([{field:"active",title:"",folding:!1,collapseNode:oe.some(ae=>ae.folding),itemRender:{name:"VxeButtonGroup",options:[{content:"查询",icon:"vxe-icon-search",status:"primary",type:"submit"},{content:"重置",icon:"vxe-icon-repeat",type:"reset"}]}}]):oe}),ee=vue.computed(()=>{const{formData:oe,listTableColumns:ae}=X,{showSeq:se,actionButtonList:le}=oe,ce=[];return se&&ce.push({type:"seq",field:"_seq",width:70}),ae.forEach(de=>{ce.push({field:de.field,title:de.title,visible:de.visible,width:de.width})}),le&&le.length&&ce.push({field:"_active",title:getI18n$e("vxe.table.actionTitle"),fixed:"right",width:"auto",cellRender:{name:"VxeButtonGroup",options:[]}}),ce}),te=({column:oe,resizeWidth:ae})=>{const{listTableColumns:se}=X,le=XEUtils.findTree(se,ce=>ce.field===oe.field,{children:"children"});if(le){const{item:ce}=le;ce.width=ae}},ne=()=>{const{listTableColumns:oe}=X,ae=[{},{}];ae.forEach(se=>{oe.forEach(le=>{se[le.field]="-"})}),K.value=ae},re=vue.ref(0);return vue.watch(()=>X.listTableColumns?X.listTableColumns.length:-1,()=>{re.value++}),vue.watch(()=>X.listTableColumns,()=>{re.value++}),vue.watch(re,()=>{ne()}),vue.onMounted(()=>{ne()}),process.env.NODE_ENV==="development"&&vue.nextTick(()=>{G||errLog("vxe.error.reqComp",["vxe-grid"])}),()=>{const{searchFormData:oe,searchFormItems:ae}=X,se=Z.value,le=ee.value;return vue.h("div",{class:"vxe-list-design--preview"},[vue.h("div",{class:"vxe-list-design--preview-wrapper"},[vue.h("div",{class:"vxe-list-design--preview-search"},[vue.h("div",{class:"vxe-list-design--preview-title"},getI18n$e("vxe.listDesign.searchTitle")),ae.length?vue.h(VxeFormComponent,{data:oe,items:se}):vue.h("div",{class:"vxe-list-design--field-configs-empty-data"},[vue.h("span",{},getI18n$e("vxe.listDesign.search.emptyText"))])]),vue.h("div",{class:"vxe-list-design--preview-table"},[vue.h("div",{class:"vxe-list-design--preview-title"},getI18n$e("vxe.listDesign.listTitle")),G?vue.h(G,{ref:Q,columns:le,data:K.value,showOverflow:!0,border:!0,columnConfig:{minWidth:"auto",resizable:!0},rowConfig:{isHover:!0},scrollX:{enabled:!1},scrollY:{enabled:!1},onResizableChange:te}):vue.createCommentVNode()])])])}}}),refWidgetReactConfigMaps=vue.ref({}),DefaultFieldSettingFormComponent=vue.defineComponent({name:"DefaultFieldSettingForm",props:{},emits:[],setup(){const G=vue.inject("$xeListDesign",null);if(!G)return()=>[];const{reactData:H}=G,X=vue.ref(!1),Q=vue.ref(!1),K=re=>{re.visible=!re.visible,H.listTableColumns=H.listTableColumns.slice(0)},Z=re=>{const{searchFormItems:oe}=H;H.searchFormItems=oe.filter(ae=>ae.field!==re.field)},ee=()=>{const{listTableColumns:re,searchFormItems:oe}=H,ae=refWidgetReactConfigMaps.value,se=[];re.forEach(pe=>{const{cellRender:ve}=pe;if(ve){const me=oe.find($e=>$e.field===pe.field),ge=ve.name||"";let we=ae[ge];if(!we){const $e=renderer$c.get(ge);if($e){const Ee=$e.createFormDesignWidgetConfig;Ee&&(we=Ee({name:ge,$formDesign:null})||{},ae[ge]=we)}}we.query&&se.push(Object.assign(Object.assign({},pe),{checked:!!me,isHalf:!1,folding:me?!!me.folding:!1}))}}),refWidgetReactConfigMaps.value=Object.assign({},ae);const le=vue.ref(se),ce=()=>{const pe=le.value;X.value=pe.every(ve=>ve.checked),Q.value=!X.value&&pe.some(ve=>ve.checked||ve.isHalf)},de=pe=>{const ve=le.value,me=XEUtils.findTree(ve,ge=>ge===pe);if(me&&me.parent){const{parent:ge}=me;ge.children&&ge.children.length&&(ge.checked=ge.children.every(we=>we.checked),ge.isHalf=!ge.checked&&ge.children.some(we=>we.checked||we.isHalf),de(ge))}},ue=pe=>{const ve=!pe.checked;XEUtils.eachTree([pe],me=>{me.checked=ve,me.isHalf=!1}),de(pe),ce()},he=()=>{const pe=le.value,ve=!X.value;XEUtils.eachTree(pe,me=>{me.checked=ve,me.isHalf=!1}),X.value=ve,ce()},fe=()=>{const pe=le.value,ve=[];pe.forEach(me=>{me.checked&&ve.push({field:me.field,title:me.title,folding:me.folding,itemRender:Object.assign({},me.cellRender)})}),G.setSearchItems(ve)};VxeUI.modal.open({title:getI18n$e("vxe.listDesign.search.editPopupTitle"),width:680,height:500,showFooter:!0,escClosable:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:getI18n$e("vxe.listDesign.searchPopup.saveBtn"),showZoom:!0,resize:!0,onConfirm:fe,slots:{default(){const pe=X.value,ve=Q.value,me=le.value;return vue.h("div",{class:"vxe-list-design--field-search-popup"},[vue.h("table",{},[vue.h("colgroup",{},[vue.h("col",{style:{width:"80px"}}),vue.h("col")]),vue.h("thead",{},[vue.h("th",{},[vue.h("div",{class:["vxe-list-design--field-search-checkbox-option",{"is--checked":pe,"is--indeterminate":ve}],title:getI18n$e("vxe.table.allTitle"),onClick:he},[vue.h("span",{class:["vxe-checkbox--icon",ve?getIcon$8().CHECKBOX_INDETERMINATE:pe?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]}),vue.h("span",{class:"vxe-checkbox--label"},getI18n$e("vxe.toolbar.customAll"))])]),vue.h("th",{},getI18n$e("vxe.listDesign.searchPopup.colTitle"))]),vue.h("tbody",{},me.map(ge=>{const we=ge.checked,$e=ge.isHalf;return vue.h("tr",{},[vue.h("td",{class:"vxe-list-design--field-search-option-item col--visible"},[vue.h("div",{class:["vxe-list-design--field-search-checkbox-option",{"is--checked":we,"is--indeterminate":$e}],title:getI18n$e("vxe.custom.setting.colVisible"),onClick:()=>{ue(ge)}},[vue.h("span",{class:["vxe-checkbox--icon",$e?getIcon$8().CHECKBOX_INDETERMINATE:we?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]})])]),vue.h("td",{class:"vxe-list-design--field-search-option-item"},`${ge.title||""}`)])}))])])}}})},te=re=>{const{children:oe}=re;return oe&&oe.length?vue.h("div",{class:"vxe-list-design--field-option-inner"},[vue.h("div",{class:"vxe-list-design--field-sub-option",onClick(){K(re)}},oe.map(ae=>{const{title:se,visible:le}=ae;return vue.h("div",{class:["vxe-list-design--field-checkbox-option",{"is--checked":le}],onClick(){K(ae)}},[vue.h("span",{class:["vxe-checkbox--icon",le?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]}),vue.h("span",{class:"vxe-checkbox--label"},`${se}`)])}))]):vue.createCommentVNode()},ne=()=>{const{listTableColumns:re}=H;return re.map(oe=>{const{title:ae,visible:se}=oe;return vue.h("div",{class:"vxe-list-design--field-option"},[vue.h("div",{class:"vxe-list-design--field-option-inner"},[vue.h("div",{class:["vxe-list-design--field-checkbox-option",{"is--checked":se}],onClick(){K(oe)}},[vue.h("span",{class:["vxe-checkbox--icon",se?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]}),vue.h("span",{class:"vxe-checkbox--label"},`${ae}`)])]),te(oe)])})};return()=>vue.h(VxeFormComponent,{span:24,vertical:!0,titleBold:!0},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.listDesign.searchField")},{extra(){return vue.h(VxeButtonComponent,{mode:"text",status:"primary",icon:getIcon$8().FORM_DESIGN_PROPS_EDIT,content:getI18n$e("vxe.listDesign.search.addBtn"),onClick:ee})},default(){const{searchFormItems:re}=H;return[re.length?vue.h("div",{class:"vxe-list-design--search-item-wrapper"},[vue.h("div",{class:"vxe-list-design--search-item-list"},re.map(oe=>vue.h("div",{key:oe.field,class:"vxe-list-design--search-item"},[vue.h("div",{class:"vxe-list-design--search-item-title"},`${oe.title||""}`),vue.h("div",{class:"vxe-list-design--search-item-btn"},[vue.h(VxeButtonComponent,{icon:getIcon$8().LIST_DESIGN_LIST_SETTING_SEARCH_DELETE,mode:"text",status:"error",onClick(){Z(oe)}})])])))]):vue.h("div",{class:"vxe-list-design--field-configs-empty-data"},[vue.h("span",{},getI18n$e("vxe.listDesign.search.emptyText"))])]}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.listDesign.listField")},{default(){return ne()}})]}})}}),DefaultParameterSettingFormComponent=vue.defineComponent({name:"DefaultListSettingTabComponent",props:{},emits:[],setup(){const G=vue.inject("$xeListDesign",null);if(!G)return()=>[];const{props:H,reactData:X}=G,Q=[],K=[];renderer$c.forEach((ae,se)=>{const{createListDesignSettingActionButtonConfig:le}=ae;if(le){const ce={name:se},de=Object.assign(createListDesignActionButton({code:se}),le(ce));de.type==="custom"?K.push(de):Q.push(de)}});const Z=vue.ref([{label:"列表视图",value:"list",isExpand:!1}]),ee=vue.ref([{label:"显示",value:!0},{label:"隐藏",value:!1}]),te=vue.ref([{label:"默认",value:"auto"},{label:"允许",value:!0},{label:"不允许",value:!1}]),ne=vue.computed(()=>{const{formData:ae}=X;return[ae.listView.enabled,ae.ganttView.enabled,ae.chartView.enabled].filter(se=>se).length<=1}),re=ae=>{const{formData:se}=X,{actionCodes:le}=H;let ce=se.actionButtonList;ce||(ce=[]);const de=vue.reactive(createListDesignActionButton(ae)),ue=Q.filter(me=>le&&le.length&&!le.some(ge=>XEUtils.isString(ge)?me.code===ge:ge.code===me.code)?!1:!ce.some(ge=>ge.code===me.code)),he=K.filter(me=>!ce.some(ge=>ge.code===me.code)),fe=[];ue.length&&(de.type||(de.type=""),fe.push({value:"",label:"系统按钮"})),he.length&&(de.type||(de.type="custom"),fe.push({value:"custom",label:"自定义按钮"}));const pe=vue.computed(()=>ue.map(me=>{const ge=me.name;return{label:XEUtils.toValueString(XEUtils.isFunction(ge)?ge({name:me.code||""}):ge),value:me.code}})),ve=vue.ref(fe);VxeUI.modal.open({title:"添加按钮",width:600,height:400,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:"保存",onConfirm(){de.type,ce.push(de),se.actionButtonList=[...ce]},slots:{default(){return vue.h(VxeFormComponent,{vertical:!0,titleBold:!0},{default(){return[vue.h(VxeFormItemComponent,{title:"按钮类型",span:24},{default(){return vue.h(VxeSelectComponent,{modelValue:de.type,options:ve.value,"onUpdate:modelValue"(me){de.type=me}})}}),vue.h(VxeFormItemComponent,{title:"选择系统按钮",span:24},{default(){return vue.h(VxeSelectComponent,{modelValue:de.code,options:pe.value,"onUpdate:modelValue"(me){de.code=me}})}})]}})}}})},oe=()=>vue.h(VxeFormItemComponent,{title:"功能按钮"},{extra(){return vue.h(VxeButtonComponent,{mode:"text",status:"primary",icon:getIcon$8().FORM_DESIGN_PROPS_ADD,content:"新增",onClick(){re()}})},default(){const{formData:ae}=X,se=ae.actionButtonList;return se&&se.length?vue.h("div",{class:"vxe-list-design--field-configs-wrapper"},se.map(le=>{let ce="",de="";if(le.type==="custom")ce=le.icon,de=le.name;else{const ue=Q.find(he=>he.code===le.code);if(ue){const he=ue.name;ce=ue.icon||"",de=XEUtils.toValueString(XEUtils.isFunction(he)?he({name:ue.code||""}):he)}}return vue.h("div",{class:"vxe-list-design--field-configs-item"},[ce?vue.h("div",{class:"vxe-list-design--field-configs-item-icon"},[vue.h("i",{class:ce})]):vue.createCommentVNode(),vue.h("div",{class:"vxe-list-design--field-configs-item-title"},`${de||""}`),vue.h("div",{class:"vxe-list-design--field-configs-item-btn"},[vue.h(VxeButtonComponent,{icon:getIcon$8().LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE,mode:"text",status:"error",onClick(){ae.actionButtonList=se.filter(ue=>ue!==le)}})])])})):vue.h("div",{class:"vxe-list-design--field-configs-empty-data"},[vue.h("span",{},"无操作按钮")])}});return()=>{const{showPc:ae,showMobile:se}=H,{formData:le}=X;return vue.h(VxeFormComponent,{span:24,vertical:!0,titleBold:!0},{default(){return[vue.h(VxeFormItemComponent,{title:"视图配置"},{default(){return vue.h("div",{class:"vxe-form-design--widget-form-item-render-view"},Z.value.map(ce=>vue.h("div",{key:ce.value,class:"vxe-form-design--widget-form-item-render-view-item"},[vue.h(VxeSwitchComponent,{modelValue:le.listView.enabled,disabled:ne.value,"onUpdate:modelValue"(de){le.listView.enabled=de}}),vue.h(VxeTextComponent,{content:ce.label,icon:"vxe-icon-table"})])))}}),vue.h(VxeFormItemComponent,{title:"默认视图"},{default(){return[vue.h("div",{class:"vxe-form-design--widget-form-item-devices"},[ae?vue.h("div",{class:"vxe-form-design--widget-form-item-devices-item"},[vue.h("div",{class:"vxe-form-design--widget-form-item-devices-left"},[vue.h(VxeTextComponent,{icon:getIcon$8().FORM_DESIGN_PROPS_PC,content:getI18n$e("vxe.formDesign.widgetProp.displaySetting.pc")})]),vue.h(VxeSelectComponent,{modelValue:le.pcDefaultView,className:"vxe-form-design--widget-form-item-devices-select",options:Z.value,"onUpdate:modelValue"(ce){le.pcDefaultView=ce}})]):vue.createCommentVNode(),se?vue.h("div",{class:"vxe-form-design--widget-form-item-devices-item"},[vue.h("div",{class:"vxe-form-design--widget-form-item-devices-left"},[vue.h(VxeTextComponent,{icon:getIcon$8().FORM_DESIGN_PROPS_MOBILE,content:getI18n$e("vxe.formDesign.widgetProp.displaySetting.mobile")})]),vue.h(VxeSelectComponent,{modelValue:le.mobileDefaultView,className:"vxe-form-design--widget-form-item-devices-select",options:Z.value,"onUpdate:modelValue"(ce){le.mobileDefaultView=ce}})]):vue.createCommentVNode()])]}}),vue.h(VxeFormItemComponent,{title:"列配置"},{default(){const{formData:ce}=X;return[vue.h("div",{class:"vxe-list-design--widget-form-item-prop-list"},[vue.h("span",{},"显示序号"),vue.h(VxeRadioGroupComponent,{modelValue:ce.showSeq,options:ee.value,"onUpdate:modelValue"(de){ce.showSeq=de}})]),vue.h("div",{class:"vxe-list-design--widget-form-item-prop-list"},[vue.h("span",{},"表尾统计"),vue.h(VxeRadioGroupComponent,{modelValue:ce.showStatistics,options:ee.value,"onUpdate:modelValue"(de){ce.showStatistics=de}})])]}}),vue.h(VxeFormItemComponent,{title:"批量操作"},{default(){const{formData:ce}=X;return vue.h(VxeRadioGroupComponent,{modelValue:ce.showCheckbox,options:te.value,"onUpdate:modelValue"(de){ce.showCheckbox=de}})}}),Q.length||K.length?oe():vue.createCommentVNode()]}})}}}),LayoutSettingComponent=vue.defineComponent({name:"ListDesignLayoutSetting",props:{},emits:[],setup(){const G=vue.ref(1);return()=>vue.h("div",{class:"vxe-list-design--setting"},[vue.h("div",{class:"vxe-list-design--setting-form"},[vue.h(VxeTabsComponent,{modelValue:G.value,titleWidth:"50%",titleAlign:"center",padding:!0,class:"vxe-list-design--setting-form-tabs","onUpdate:modelValue"(H){G.value=H}},{default(){return[vue.h(VxeTabPaneComponent,{title:getI18n$e("vxe.listDesign.fieldSettingTab"),icon:getIcon$8().LIST_DESIGN_FIELD_SETTING,name:1},{default(){return vue.h(DefaultFieldSettingFormComponent)}}),vue.h(VxeTabPaneComponent,{title:getI18n$e("vxe.listDesign.listSettingTab"),icon:getIcon$8().LIST_DESIGN_LIST_SETTING,name:2},{default(){return vue.h(DefaultParameterSettingFormComponent)}})]}})])])}}),VxeListDesignComponent=vue.defineComponent({name:"VxeListDesign",props:{size:{type:String,default:()=>getConfig$8().listDesign.size||getConfig$8().size},height:{type:[String,Number],default:()=>getConfig$8().listDesign.height},config:Object,showPc:{type:Boolean,default:()=>getConfig$8().listDesign.showPc},showMobile:{type:Boolean,default:()=>getConfig$8().listDesign.showMobile},actionCodes:Array,formRender:Object},emits:[],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({formData:{},searchFormData:{},searchFormItems:[],listTableColumns:[]}),ne={refElem:Z},re={computeSize:ee},oe={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>re},ae=[],se=[];renderer$c.forEach((Oe,Ne)=>{const{createListDesignSettingActionButtonConfig:_e}=Oe;if(_e){const ye={name:Ne},Ce=Object.assign(createListDesignActionButton({code:Ne}),_e(ye));Ce.type==="custom"?se.push(Ce):ae.push(Ce)}});const le=Oe=>({title:Oe.title,field:Oe.field,visible:!Oe.hidden,width:"",cellRender:{name:Oe.name,props:Oe.options}}),ce=Oe=>{const Ne=[];if(Oe){const{widgetData:_e}=Oe;_e&&_e.forEach(ye=>{const{name:Ce}=ye;Ce&&(Ce==="row"?ye.children.forEach(be=>{be.name&&Ne.push(le(be))}):Ce==="subtable"||Ne.push(le(ye)))})}return Ne},de=Oe=>{if(Oe){const Ne={};return{items:Oe.map(ye=>(Ne[ye.field]=null,{field:ye.field,title:ye.title,folding:ye.folding,itemRender:ye.itemRender})),data:Ne}}return{items:[],data:{}}},ue=Oe=>Oe?Oe.map(Ne=>({field:Ne.field,title:Ne.title,visible:!!Ne.visible,width:Ne.width,cellRender:XEUtils.clone(Ne.cellRender)})):[],he=Oe=>{const{formConfig:Ne,searchItems:_e,listColumns:ye}=Oe;return Ne&&pe(Ne),_e&&me(_e),ye&&(te.listTableColumns=fe(ye)),vue.nextTick()},fe=Oe=>ue(Oe),pe=Oe=>(te.formData=Object.assign({},$e(),Oe),vue.nextTick()),ve=()=>te.searchFormItems,me=Oe=>{const{data:Ne,items:_e}=de(Oe);return te.searchFormData=Ne,te.searchFormItems=_e,vue.nextTick()},ge=()=>te.listTableColumns,we=Oe=>(te.listTableColumns=fe(Oe),vue.nextTick()),$e=()=>{const{actionCodes:Oe,formRender:Ne}=G;let _e=getDefaultSettingFormData();if(Oe&&Oe.length&&(!_e.actionButtonList||!_e.actionButtonList.length)){const ye=[];Oe.forEach(Ce=>{if(XEUtils.isObject(Ce)&&Ce.default){const be=ae.find(Te=>Te.code===Ce.code);be&&ye.push(createListDesignActionButton({type:be.type,code:be.code}))}}),_e.actionButtonList=ye}if(Ne&&Ne.name){const ye=renderer$c.get(Ne.name),Ce=ye?ye.createListDesignSettingFormConfig:null,be={name:Ne.name};_e=(Ce?Ce(be):{})||{}}return _e},Ee=()=>{te.formData=$e()},xe=()=>(he({searchItems:[],listColumns:[]}),Ee(),vue.nextTick());Object.assign(oe,{dispatchEvent(Oe,Ne,_e){X(Oe,createEvent$3(_e,{$listDesign:oe},Ne))},loadFormDesignConfig(Oe){const{listTableColumns:Ne}=te,_e={};XEUtils.eachTree(Ne,Ce=>{_e[Ce.field]=Ce},{children:"children"});const ye=ce(Oe);return XEUtils.eachTree(ye,Ce=>{const be=_e[Ce.field];be&&(be.width&&(Ce.width=be.width),Ce.visible=be.visible)},{children:"children"}),te.listTableColumns=ye,vue.nextTick()},reloadFormDesignConfig(Oe){return te.listTableColumns=ce(Oe),vue.nextTick()},getSearchItems:ve,setSearchItems:me,getListColumns:ge,setListColumns:we,getConfig(){return{formConfig:te.formData,searchItems:ve(),listColumns:ge()}},loadConfig:he,reloadConfig(Oe){return xe(),he(Oe)},clearConfig:xe},{});const ke=()=>{const{height:Oe}=G,Ne=ee.value,_e=Q.header;return vue.h("div",{ref:Z,class:["vxe-list-design",{[`size--${Ne}`]:Ne}],style:Oe?{height:toCssUnit(Oe)}:null},[vue.h("div",{class:"vxe-list-design--header"},_e?_e({}):[]),vue.h("div",{class:"vxe-list-design--body"},[vue.h(LayoutPreviewComponent),vue.h(LayoutSettingComponent)])])};return vue.provide("$xeListDesign",oe),vue.watch(()=>G.config,Oe=>{he(Oe||{})}),Ee(),G.config&&he(G.config),oe.renderVN=ke,oe},render(){return this.renderVN()}});renderer$c.mixin({});const VxeListDesign=Object.assign({},VxeListDesignComponent,{install(G){G.component(VxeListDesignComponent.name,VxeListDesignComponent)}}),listDesignHandle={};dynamicApp.use(VxeListDesign),VxeUI.component(VxeListDesignComponent),VxeUI.listDesignHandle=listDesignHandle;const ListDesign=VxeListDesign,VxeListViewComponent=vue.defineComponent({name:"VxeListView",props:{size:{type:String,default:()=>getConfig$8().listView.size||getConfig$8().size},config:Object,height:{type:[String,Number],default:()=>getConfig$8().listView.height},loading:Boolean,formData:Object,actionButtons:Array,gridOptions:Object,gridEvents:Object,viewRender:Object},emits:["cell-action","update:formData","update:actionButtons"],setup(G,H){const X=VxeUI.getComponent("VxeGrid"),{emit:Q,slots:K}=H,Z=XEUtils.uniqueId(),ee=vue.ref(),te=vue.ref(),{computeSize:ne}=useSize(G),re=vue.reactive({formConfig:{},searchFormData:{},searchFormItems:[],listTableColumns:[],tableColumns:[],footerData:[{}]}),oe=vue.computed(()=>{const{gridOptions:ye}=G,{formConfig:Ce,tableColumns:be,searchFormData:Te,searchFormItems:Ae,footerData:Re}=re,{showStatistics:Fe}=Ce,Be=ye||{},je=Object.assign({minWidth:120},Be.columnConfig);let Le;return Be.proxyConfig&&(Le=Object.assign({autoLoad:!1},Be.proxyConfig)),Object.assign({},Be,{columns:be,columnConfig:je,showFooter:Fe,footerData:Fe?Re:null,formConfig:{data:Te,items:Ae},proxyConfig:Le})}),ae=vue.computed(()=>{const{gridEvents:ye}=G,Ce={};return XEUtils.each(ye,(be,Te)=>{Ce[XEUtils.camelCase(`on-${Te}`)]=be}),Ce}),se={refElem:ee,refGrid:te},le={computeSize:ne},ce={xID:Z,props:G,context:H,reactData:re,getRefMaps:()=>se,getComputeMaps:()=>le},de=[],ue=[];renderer$c.forEach((ye,Ce)=>{const{createListDesignSettingActionButtonConfig:be}=ye;if(be){const Te={name:Ce},Ae=Object.assign(createListDesignActionButton({code:Ce}),be(Te));Ae.type==="custom"?ue.push(Ae):de.push(Ae)}});const he=ye=>{if(ye&&ye.length){const Ce={},be=ye.map(Te=>(Ce[Te.field]=null,{field:Te.field,title:Te.title,folding:Te.folding,itemRender:Te.itemRender}));return be.push({field:"active",title:"",folding:!1,collapseNode:ye.some(Te=>Te.folding),itemRender:{name:"VxeButtonGroup",options:[{content:"查询",icon:"vxe-icon-search",status:"primary",type:"submit"},{content:"重置",icon:"vxe-icon-repeat",type:"reset"}]}}),{items:be,data:Ce}}return{items:[],data:{}}},fe=ye=>ye?ye.map(Ce=>({field:Ce.field,title:Ce.title,visible:!!Ce.visible,width:Ce.width,cellRender:XEUtils.clone(Ce.cellRender)})):[],pe=()=>(Q("update:formData",{}),Object.assign(re,{formConfig:{},searchFormData:{},searchFormItems:[],listTableColumns:[],tableColumns:[],footerData:[{}]}),vue.nextTick()),ve=ye=>{if(ye){const{formConfig:Ce,searchItems:be,listColumns:Te}=ye;re.formConfig=Ce||{},De(be||[]),Me(Te||[])}return vue.nextTick()},me=ye=>he(ye||[]),ge=(ye,Ce)=>{const be=Object.assign({},Ce),{showSeq:Te,actionButtonList:Ae}=be,Re=[],Fe={},Be=K.cellAction,je=K.footerCell;if(Te&&Re.push({type:"seq",field:"_seq",fixed:"left",width:70}),fe(ye||[]).forEach(Le=>{const Ue=Object.assign({},Le);be.showStatistics&&je&&(Ue.slots={footer:Ie=>je(Object.assign({},Ie))}),Ue.field&&(Fe[Ue.field]=null),Re.push(Ue)}),Ae&&Ae.length){const Le={field:"_active",title:getI18n$e("vxe.table.actionTitle"),fixed:"right",width:"auto"},Ue=[];Ae.forEach(Ie=>{if(Ie.type==="custom")return{content:Ie.name,name:Ie.code,icon:Ie.icon};const Ve=de.find(at=>at.code===Ie.code);let ze=Ie.name,We=Ie.icon,Xe=Ie.status,He=Ie.permissionCode,qe=Ie.classify;if(Ve){const at=Ve.name;We=Ve.icon||"",Xe=Ve.status||"",He=Ve.permissionCode||"",qe=Ve.classify||"",ze=XEUtils.toValueString(XEUtils.isFunction(at)?at({name:Ve.code||""}):at)}(!qe||qe==="cellButton")&&Ue.push({content:ze,name:Ie.code,icon:We,status:Xe,permissionCode:He})}),Be?Le.slots={default(Ie){return Be(Object.assign(Object.assign({},Ie),{buttons:Ue}))}}:Le.cellRender={name:"VxeButtonGroup",props:{mode:"text"},options:Ue,events:{click(Ie,Ve){const{option:ze}=Ve;ke("cell-action",Object.assign(Object.assign({},Ie),{button:ze}),Ve.$event)}}},Re.push(Le)}return{rowRecord:Fe,columns:Re,actionButtons:Ae}},we=ye=>{const{formConfig:Ce,searchItems:be,listColumns:Te}=ye||{},{columns:Ae,rowRecord:Re,actionButtons:Fe}=ge(Te||[],Ce||re.formConfig),{data:Be,items:je}=me(be||[]);return{formData:Be,formItems:je,tableColumns:Ae,tableRecord:Re,actionButtons:Fe}},$e=ye=>{if(XEUtils.isArray(ye)){const{rowRecord:Ce}=ge(ye,re.formConfig);return Ce}if(ye){const{formConfig:Ce,listColumns:be}=ye,{rowRecord:Te}=ge(be||[],Ce||re.formConfig);return Te}return{}},Ee=()=>{const{searchFormData:ye,searchFormItems:Ce}=re,be=[],Te={items:be,type:"and"};return te.value&&Ce.forEach(Re=>{const{field:Fe}=Re,Be=ye[Fe];if(Be){const je=[];je.push({field:Fe,value:Be,match:"exact",type:XEUtils.isArray(Be)?"array":""}),be.push({condition:je,type:"and"})}}),Te},xe=(ye,...Ce)=>{const be=te.value;return be?be.commitProxy(ye,...Ce):Promise.resolve()},Me=ye=>{const{formConfig:Ce}=re,be=ye||[],{columns:Te,actionButtons:Ae}=ge(be,Ce);re.listTableColumns=be,re.tableColumns=Te,Q("update:actionButtons",Ae),vue.nextTick(()=>{oe.value.proxyConfig&&xe("reload")})},De=ye=>{const{data:Ce,items:be}=he(ye);return re.searchFormData=Ce,re.searchFormItems=be,Q("update:formData",Ce),vue.nextTick()},ke=(ye,Ce,be)=>{Q(ye,createEvent$3(be,{$listView:ce},Ce))};Object.assign(ce,{dispatchEvent:ke,clearConfig:pe,loadConfig:ve,parseConfig:we,getTableRecord:$e,getQueryFilter:Ee,commitProxy:xe},{});const _e=()=>{const{height:ye,loading:Ce}=G,be=ne.value,Te=K.grid,Ae=oe.value,Re=ae.value;return vue.h("div",{ref:ee,class:["vxe-list-view",{[`size--${be}`]:be,"is--loading":Ce}],style:ye?{height:toCssUnit(ye)}:null},[vue.h("div",{class:"vxe-list-view--body"},[Te?vue.h("div",{class:"vxe-list-view--grid-wrapper"},getSlotVNs(Te({$listView:ce}))):X?vue.h(X,Object.assign({},Ae,Re,{ref:te}),Object.assign({},K,{default:void 0})):vue.createCommentVNode()]),vue.h(VxeLoadingComponent,{class:"vxe-list-view--loading",modelValue:Ce})])};return vue.watch(()=>G.config,ye=>{ve(ye||{})}),G.config&&ve(G.config),vue.provide("$xeListView",ce),process.env.NODE_ENV==="development"&&vue.nextTick(()=>{X||errLog("vxe.error.reqComp",["vxe-grid"])}),ce.renderVN=_e,ce},render(){return this.renderVN()}}),VxeListView=Object.assign(VxeListViewComponent,{install:function(G){G.component(VxeListViewComponent.name,VxeListViewComponent)}});dynamicApp.use(VxeListView),VxeUI.component(VxeListViewComponent);const ListView=VxeListView,VxeListComponent=vue.defineComponent({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>getConfig$8().list.size||getConfig$8().size},autoResize:{type:Boolean,default:()=>getConfig$8().list.autoResize},syncResize:[Boolean,String,Number],scrollY:Object},emits:["scroll"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.reactive({scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,items:[]}),te={resizeObserver:void 0,fullData:[],lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0}},ne=vue.ref(),re=vue.ref(),oe=vue.ref(),ae={refElem:ne},se={xID:K,props:G,context:H,reactData:ee,internalData:te,getRefMaps:()=>ae},le=vue.computed(()=>Object.assign({},getConfig$8().list.scrollY,G.scrollY)),ce=vue.computed(()=>{const{height:Oe,maxHeight:Ne}=G,_e={};return Oe?_e.height=`${isNaN(Oe)?Oe:`${Oe}px`}`:Ne&&(_e.height="auto",_e.maxHeight=`${isNaN(Ne)?Ne:`${Ne}px`}`),_e}),de=(Oe,Ne,_e)=>{Q(Oe,createEvent$3(_e,{$list:se},Ne))},ue=()=>{const{scrollYLoad:Oe}=ee,{scrollYStore:Ne,fullData:_e}=te;ee.bodyHeight=Oe?_e.length*Ne.rowHeight:0,ee.topSpaceHeight=Oe?Math.max(Ne.startIndex*Ne.rowHeight,0):0},he=()=>{const{scrollYLoad:Oe}=ee,{fullData:Ne,scrollYStore:_e}=te;return ee.items=Oe?Ne.slice(_e.startIndex,_e.endIndex):Ne.slice(0),vue.nextTick()},fe=()=>{he(),ue()},pe=()=>vue.nextTick().then(()=>{const{scrollYLoad:Oe}=ee,{scrollYStore:Ne}=te,_e=oe.value,ye=le.value;let Ce=0,be;if(_e&&(ye.sItem&&(be=_e.querySelector(ye.sItem)),be||(be=_e.children[0])),be&&(Ce=be.offsetHeight),Ce=Math.max(20,Ce),Ne.rowHeight=Ce,Oe){const Te=re.value,Ae=Math.max(8,Math.ceil(Te.clientHeight/Ce)),Re=ye.oSize?XEUtils.toNumber(ye.oSize):browse.edge?10:0;Ne.offsetSize=Re,Ne.visibleSize=Ae,Ne.endIndex=Math.max(Ne.startIndex,Ae+Re,Ne.endIndex),fe()}else ue()}),ve=()=>{const Oe=re.value;return Oe&&(Oe.scrollTop=0),vue.nextTick()},me=(Oe,Ne)=>{const _e=re.value;return XEUtils.isNumber(Oe)&&(_e.scrollLeft=Oe),XEUtils.isNumber(Ne)&&(_e.scrollTop=Ne),ee.scrollYLoad?new Promise(ye=>{setTimeout(()=>{vue.nextTick(()=>{ye()})},50)}):vue.nextTick()},ge=()=>{const{lastScrollLeft:Oe,lastScrollTop:Ne}=te;return ve().then(()=>{if(Oe||Ne)return te.lastScrollLeft=0,te.lastScrollTop=0,me(Oe,Ne)})},we=()=>{const Oe=ne.value;return Oe.clientWidth&&Oe.clientHeight?pe():Promise.resolve()},$e=Oe=>{const{scrollYStore:Ne}=te,{startIndex:_e,endIndex:ye,visibleSize:Ce,offsetSize:be,rowHeight:Te}=Ne,Re=Oe.target.scrollTop,Fe=Math.floor(Re/Te),Be=Math.max(0,Fe-1-be),je=Fe+Ce+be;(Fe<=_e||Fe>=ye-Ce-1)&&(_e!==Be||ye!==je)&&(Ne.startIndex=Be,Ne.endIndex=je,fe())},Ee=Oe=>{const Ne=Oe.target,_e=Ne.scrollTop,ye=Ne.scrollLeft,Ce=ye!==te.lastScrollLeft,be=_e!==te.lastScrollTop;te.lastScrollTop=_e,te.lastScrollLeft=ye,ee.scrollYLoad&&$e(Oe),de("scroll",{scrollLeft:ye,scrollTop:_e,isX:Ce,isY:be},Oe)},xe=Oe=>{const{scrollYStore:Ne}=te,_e=le.value,ye=Oe||[];return Object.assign(Ne,{startIndex:0,endIndex:1,visibleSize:0}),te.fullData=ye,ee.scrollYLoad=!!_e.enabled&&_e.gt>-1&&(_e.gt===0||_e.gt<=ye.length),he(),pe().then(()=>{ge()})};Object.assign(se,{dispatchEvent:de,loadData:xe,reloadData(Oe){return ve(),xe(Oe)},recalculate:we,scrollTo:me,refreshScroll:ge,clearScroll:ve});const De=vue.ref(0);vue.watch(()=>G.data?G.data.length:-1,()=>{De.value++}),vue.watch(()=>G.data,()=>{De.value++}),vue.watch(De,()=>{xe(G.data||[])}),vue.watch(()=>G.syncResize,Oe=>{Oe&&(we(),vue.nextTick(()=>setTimeout(()=>we())))}),vue.onActivated(()=>{we().then(()=>ge())}),vue.nextTick(()=>{if(globalEvents$4.on(se,"resize",()=>{we()}),G.autoResize){const Oe=ne.value,Ne=globalResize$2.create(()=>we());Ne.observe(Oe),te.resizeObserver=Ne}xe(G.data||[])}),vue.onUnmounted(()=>{const{resizeObserver:Oe}=te;Oe&&Oe.disconnect(),globalEvents$4.off(se,"resize")});const ke=()=>{const{className:Oe,loading:Ne}=G,{bodyHeight:_e,topSpaceHeight:ye,items:Ce}=ee,be=X.default,Te=Z.value,Ae=ce.value;return vue.h("div",{ref:ne,class:["vxe-list",Oe?XEUtils.isFunction(Oe)?Oe({$list:se}):Oe:"",{[`size--${Te}`]:Te,"is--loading":Ne}]},[vue.h("div",{ref:re,class:"vxe-list--virtual-wrapper",style:Ae,onScroll:Ee},[vue.h("div",{class:"vxe-list--y-space",style:{height:_e?`${_e}px`:""}}),vue.h("div",{ref:oe,class:"vxe-list--body",style:{marginTop:ye?`${ye}px`:""}},be?be({items:Ce,$list:se}):[])]),vue.h(VxeLoadingComponent,{class:"vxe-list--loading",modelValue:Ne})])};return se.renderVN=ke,se},render(){return this.renderVN()}}),VxeList=Object.assign(VxeListComponent,{install(G){G.component(VxeListComponent.name,VxeListComponent)}});dynamicApp.use(VxeList),VxeUI.component(VxeListComponent);const List=VxeList,VxeMenuComponent=vue.defineComponent({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig$8().image.size||getConfig$8().size}},emits:["update:modelValue","click"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.inject("$xeLayoutAside",null),Z=vue.ref(),ee=vue.ref(),{computeSize:te}=useSize(G),ne=vue.reactive({initialized:!!G.collapsed,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:G.modelValue,menuList:[],itemHeight:1}),re={refElem:Z},oe=vue.computed(()=>{const{collapsed:Ce}=G;return XEUtils.isBoolean(Ce)?Ce:K?K.props.collapsed:!1}),ae=vue.computed(()=>{let Ce="";return K&&(Ce=K.props.collapseWidth||""),Ce}),se=vue.computed(()=>{let Ce="";return K&&(Ce=K.props.width||""),Ce}),le={computeSize:te},ce={xID:Q,props:G,context:H,reactData:ne,getRefMaps:()=>re,getComputeMaps:()=>le},de=Ce=>`${Ce.title||Ce.name}`,ue=()=>{ne.collapseZindex<getLastZIndex()&&(ne.collapseZindex=nextZIndex())},he=Ce=>{const{activeName:be}=ne;XEUtils.eachTree(ne.menuList,(Te,Ae,Re,Fe,Be,je)=>{Te.itemKey===be?(je.forEach(Le=>{Le.isActive=!0,Ce&&(Le.isExpand=!0)}),Te.isExactActive=!0):(Te.isExactActive=!1,Te.isActive=!1)},{children:"childList"})},fe=()=>{const{options:Ce,expandAll:be}=G;ne.menuList=XEUtils.mapTree(Ce,(Te,Ae,Re,Fe,Be)=>Object.assign(Object.assign({},Te),{parentKey:Be?Be.name||Fe.slice(0,Fe.length-1).join(","):"",level:Fe.length,itemKey:Te.name||Fe.join(","),isExactActive:!1,isActive:!1,isExpand:XEUtils.isBoolean(Te.expanded)?Te.expanded:!!be,hasChild:Te.children&&Te.children.length>0}),{children:"children",mapChildren:"childList"})},pe=()=>{const{collapseFixed:Ce}=G;Ce&&vue.nextTick(()=>{const{isEnterCollapse:be}=ne,Te=oe.value,Ae=se.value,Re=ae.value,Fe=Z.value;if(Fe){const Be=Fe.getBoundingClientRect(),je=Fe.parentNode;ne.collapseStyle=Te?{top:toCssUnit(Be.top),left:toCssUnit(Be.left),height:toCssUnit(je.clientHeight),width:be?Ae?toCssUnit(Ae):"":Re?toCssUnit(Re):"",zIndex:ne.collapseZindex}:{}}})},ve=()=>{const{collapseFixed:Ce}=G;if(Ce){const{initialized:be}=ne;oe.value&&(be||(ne.initialized=!0,vue.nextTick(()=>{const Ae=ee.value;Ae&&document.body.appendChild(Ae)}))),ne.isEnterCollapse=!1,ue(),pe()}},me=(Ce,be)=>{const{hasChild:Te,isExpand:Ae}=be;Te&&(Ce.stopPropagation(),Ce.preventDefault(),be.isExpand=!Ae)},ge=Ce=>{ne.activeName=Ce,X("update:modelValue",Ce)},we=(Ce,be)=>{const{itemKey:Te,routerLink:Ae,hasChild:Re}=be;Ae?(ge(Te),Ee()):Re?me(Ce,be):(ge(Te),Ee()),xe("click",{menu:be},Ce)},$e=()=>{const{collapseStyle:Ce}=ne,be=se.value;ne.collapseStyle=Object.assign({},Ce,{width:be?toCssUnit(be):""}),ne.isEnterCollapse=!0},Ee=()=>{const{collapseStyle:Ce}=ne,be=Z.value;ne.collapseStyle=Object.assign({},Ce,{width:be?toCssUnit(be.offsetWidth):""}),ne.isEnterCollapse=!1},xe=(Ce,be,Te)=>{X(Ce,createEvent$3(Te,{$menu:ce},be))};Object.assign(ce,{dispatchEvent:xe},{});const ke=Ce=>{const{icon:be,isExpand:Te,hasChild:Ae}=Ce,Re=de(Ce);return[vue.h("span",{class:"vxe-menu--item-link-icon"},be?[vue.h("i",{class:be})]:[]),vue.h("span",{class:"vxe-menu--item-link-title",title:Re},Re),Ae?vue.h("span",{class:"vxe-menu--item-link-collapse",onClick(Fe){me(Fe,Ce)}},[vue.h("i",{class:Te?getIcon$8().MENU_ITEM_EXPAND_OPEN:getIcon$8().MENU_ITEM_EXPAND_CLOSE})]):vue.createCommentVNode()]},Oe=Ce=>{const{itemKey:be,level:Te,hasChild:Ae,isActive:Re,isExactActive:Fe,isExpand:Be,routerLink:je,childList:Le}=Ce,{isEnterCollapse:Ue}=ne,Ie=oe.value;return Ce.permissionCode&&!permission.checkVisible(Ce.permissionCode)?vue.createCommentVNode():vue.h("div",{key:be,class:["vxe-menu--item-wrapper",`vxe-menu--item-level${Te}`,{"is--exact-active":Fe,"is--active":Re,"is--expand":(!Ie||Ue)&&Be}]},[je?vue.h(vue.resolveComponent("router-link"),{class:"vxe-menu--item-link",to:je,onClick(Ve){we(Ve,Ce)}},{default:()=>ke(Ce)}):vue.h("div",{class:"vxe-menu--item-link",onClick(Ve){we(Ve,Ce)}},ke(Ce)),Ae?vue.h("div",{class:"vxe-menu--item-group"},Le.map(Ve=>Oe(Ve))):vue.createCommentVNode()])},Ne=Ce=>{const{itemKey:be,level:Te,hasChild:Ae,isActive:Re,isExactActive:Fe,routerLink:Be,childList:je}=Ce;return Ce.permissionCode&&!permission.checkVisible(Ce.permissionCode)?vue.createCommentVNode():vue.h("div",{key:be,class:["vxe-menu--item-wrapper",`vxe-menu--item-level${Te}`,{"is--exact-active":Fe,"is--active":Re}]},[Be?vue.h(vue.resolveComponent("router-link"),{class:"vxe-menu--item-link",to:Be,onClick(Le){we(Le,Ce)}},{default:()=>ke(Ce)}):vue.h("div",{class:"vxe-menu--item-link",onClick(Le){we(Le,Ce)}},ke(Ce)),Ae?vue.h("div",{class:"vxe-menu--item-group"},je.map(Le=>Oe(Le))):vue.createCommentVNode()])},_e=()=>{const{loading:Ce}=G,{initialized:be,menuList:Te,collapseStyle:Ae,isEnterCollapse:Re}=ne,Fe=te.value,Be=oe.value;return vue.h("div",{ref:Z,class:["vxe-menu",{[`size--${Fe}`]:Fe,"is--collapsed":Be,"is--loading":Ce}]},[vue.h("div",{class:"vxe-menu--item-list"},Te.map(je=>Be?Ne(je):Oe(je))),be?vue.h("div",{ref:ee,class:["vxe-menu--collapse-wrapper",{[`size--${Fe}`]:Fe,"is--collapsed":Be,"is--enter":Re,"is--loading":Ce}],style:Ae,onMouseenter:$e,onMouseleave:Ee},[Be?vue.h("div",{class:"vxe-menu--item-list"},Te.map(je=>Oe(je))):vue.createCommentVNode()]):vue.createCommentVNode(),vue.h(VxeLoadingComponent,{class:"vxe-list-view--loading",modelValue:Ce})])},ye=vue.ref(0);return vue.watch(()=>G.options?G.options.length:-1,()=>{ye.value++}),vue.watch(()=>G.options,()=>{ye.value++}),vue.watch(ye,()=>{fe(),he(!0)}),vue.watch(()=>G.modelValue,Ce=>{ne.activeName=Ce}),vue.watch(()=>ne.activeName,()=>{he(!0)}),vue.watch(oe,()=>{ve()}),vue.onMounted(()=>{globalEvents$4.on(ce,"resize",pe),pe()}),vue.onBeforeUnmount(()=>{globalEvents$4.off(ce,"resize");const Ce=ee.value;if(Ce){const be=Ce.parentNode;be&&be.removeChild(Ce)}}),fe(),he(!0),ce.renderVN=_e,ce},render(){return this.renderVN()}}),VxeMenu=Object.assign({},VxeMenuComponent,{install(G){G.component(VxeMenuComponent.name,VxeMenuComponent)}});dynamicApp.use(VxeMenu),VxeUI.component(VxeMenuComponent);const Menu=VxeMenu;function handleModal(G){return checkDynamic(),new Promise(H=>{const X=Object.assign({},G);if(X.id&&allActiveModals.some(Q=>Q.props.id===X.id))H("exist");else{const Q=X.onHide,K=Object.assign(X,{key:XEUtils.uniqueId(),modelValue:!0,onHide(Z){const ee=dynamicStore.modals;Q&&Q(Z),dynamicStore.modals=ee.filter(te=>te.key!==K.key),H(Z.type)}});dynamicStore.modals.push(K)}})}function getModal(G){return XEUtils.find(allActiveModals,H=>H.props.id===G)}function closeModal(G){const H=G?[getModal(G)]:allActiveModals,X=[];return H.forEach(Q=>{Q&&X.push(Q.close())}),Promise.all(X)}function handleOpen(G,H,X,Q){let K;return XEUtils.isObject(H)?K=H:K={content:XEUtils.toValueString(H),title:X},handleModal(Object.assign(Object.assign(Object.assign({},G),Q),K))}function openModal(G){return handleOpen({type:"modal"},G)}function openAlert(G,H,X){return handleOpen({type:"alert",lockScroll:!0,showHeader:!0,showFooter:!0},G,H,X)}function openConfirm(G,H,X){return handleOpen({type:"confirm",status:"question",lockScroll:!0,showHeader:!0,showFooter:!0},G,H,X)}function openMessage(G,H){return handleOpen({type:"message",mask:!1,lockView:!1,lockScroll:!1,showHeader:!1},G,"",H)}function openNotification(G,H,X){return handleOpen({type:"notification",mask:!1,lockView:!1,lockScroll:!1,showHeader:!0,draggable:!1,position:"top-right",width:320},G,H,X)}const ModalController={get:getModal,close:closeModal,open:openModal,alert:openAlert,confirm:openConfirm,message:openMessage,notification:openNotification},VxeModal=Object.assign(VxeModalComponent,{install:function(G){G.component(VxeModalComponent.name,VxeModalComponent)}});VxeUI.modal=ModalController,dynamicApp.use(VxeModal),VxeUI.component(VxeModalComponent);const Modal=VxeModal,VxeNoticeBarComponent=vue.defineComponent({name:"VxeNoticeBar",props:{duration:[String,Number],direction:{type:String,default:()=>getConfig$8().noticeBar.direction},speed:{type:String,default:()=>getConfig$8().noticeBar.speed},content:String,vertical:Boolean,loop:{type:Boolean},size:{type:String,default:()=>getConfig$8().noticeBar.size||getConfig$8().size}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.ref(),te=vue.ref(),ne=vue.reactive({animationDuration:0}),re={refElem:ee},oe=vue.computed(()=>{const{content:fe}=G;return`${fe||""}`}),ae={},se={xID:K,props:G,context:H,reactData:ne,getRefMaps:()=>re,getComputeMaps:()=>ae},ce={dispatchEvent:(fe,pe,ve)=>{Q(fe,createEvent$3(ve,{$noticeBar:se},pe))}},de={},ue=()=>{const{speed:fe}=G,pe=te.value;if(pe){let ve=46;fe==="fast"?ve=118:fe==="slow"&&(ve=18),ne.animationDuration=Math.ceil(pe.scrollWidth/ve)}};Object.assign(se,ce,de);const he=()=>{const{vertical:fe,duration:pe,direction:ve}=G,{animationDuration:me}=ne,ge=Z.value,we=oe.value,$e=X.default,Ee=X.prefix,xe=X.suffix;return vue.h("div",{ref:ee,class:["vxe-notice-bar",`is--${fe?"vertical":"horizontal"}`,`dir--${ve||"left"}`,{[`size--${ge}`]:ge}]},[Ee?vue.h("div",{class:"vxe-notice-bar--prefix"},Ee({})):renderEmptyElement$3(se),vue.h("div",{class:"vxe-notice-bar--content"},[vue.h("div",{ref:te,class:"vxe-notice-bar--inner"},[vue.h("div",{class:"vxe-notice-bar--wrapper",style:{animationDuration:`${pe?toCssUnit(pe,"s"):me}s`}},$e?$e({}):we)])]),xe?vue.h("div",{class:"vxe-notice-bar--suffix"},xe({})):renderEmptyElement$3(se)])};return se.renderVN=he,vue.onMounted(()=>{globalEvents$4.on(se,"resize",ue),ue()}),vue.onBeforeUnmount(()=>{globalEvents$4.off(se,"resize")}),se},render(){return this.renderVN()}}),VxeNoticeBar=Object.assign({},VxeNoticeBarComponent,{install(G){G.component(VxeNoticeBarComponent.name,VxeNoticeBarComponent)}});dynamicApp.use(VxeNoticeBar),VxeUI.component(VxeNoticeBarComponent);const NoticeBar=VxeNoticeBar,VxeNumberInput=Object.assign({},VxeNumberInputComponent,{install(G){G.component(VxeNumberInputComponent.name,VxeNumberInputComponent)}});dynamicApp.use(VxeNumberInput),VxeUI.component(VxeNumberInputComponent);const NumberInput=VxeNumberInput;class OptionInfo{constructor(H,X){Object.assign(this,{id:XEUtils.uniqueId("option_"),value:X.value,label:X.label,visible:X.visible,className:X.className,disabled:X.disabled})}update(H,X){this[H]=X}}function isOption(G){return G instanceof OptionInfo}function createOption(G,H){return isOption(H)?H:new OptionInfo(G,H)}function watchOption(G,H){Object.keys(G).forEach(X=>{vue.watch(()=>G[X],Q=>{H.update(X,Q)})})}function assembleOption(G,H,X,Q){const{reactData:K}=G,{staticOptions:Z}=K,ee=H.parentNode,te=Q?Q.optionConfig:null,ne=te?te.options:Z;ee&&ne&&(ne.splice(XEUtils.arrayIndexOf(ee.children,H),0,X),K.staticOptions=Z.slice(0))}function destroyOption(G,H){const{reactData:X}=G,{staticOptions:Q}=X,K=XEUtils.findTree(Q,Z=>Z.id===H.id,{children:"options"});K&&K.items.splice(K.index,1),X.staticOptions=Q.slice(0)}const VxeOptgroupComponent=vue.defineComponent({name:"VxeOptgroup",props:{label:{type:[String,Number,Boolean],default:""},visible:{type:Boolean,default:null},className:[String,Function],disabled:Boolean},emits:[],setup(G,{slots:H}){const X=vue.ref(),Q=vue.inject("$xeSelect",{}),K=createOption(Q,G),Z={optionConfig:K};return K.options=[],vue.provide("$xeOptgroup",Z),watchOption(G,K),vue.onMounted(()=>{const ee=X.value;assembleOption(Q,ee,K)}),vue.onUnmounted(()=>{destroyOption(Q,K)}),()=>{const ee=H.default;return vue.h("div",{ref:X},ee?ee({}):[])}}}),VxeOptgroup=Object.assign(VxeOptgroupComponent,{install:function(G){G.component(VxeOptgroupComponent.name,VxeOptgroupComponent)}});dynamicApp.use(VxeOptgroup),VxeUI.component(VxeOptgroupComponent);const Optgroup=VxeOptgroup,VxeOptionComponent=vue.defineComponent({name:"VxeOption",props:{value:[String,Number,Boolean],label:{type:[String,Number,Boolean],default:""},visible:{type:Boolean,default:null},className:[String,Function],disabled:Boolean},emits:[],setup(G,{slots:H}){const X=vue.ref(),Q=vue.inject("$xeSelect",{}),K=vue.inject("$xeOptgroup",null),Z=createOption(Q,G);return Z.slots=H,watchOption(G,Z),vue.onMounted(()=>{const ee=X.value;assembleOption(Q,ee,Z,K)}),vue.onUnmounted(()=>{destroyOption(Q,Z)}),()=>vue.h("div",{ref:X})}}),VxeOption=Object.assign(VxeOptionComponent,{install:function(G){G.component(VxeOptionComponent.name,VxeOptionComponent)}});dynamicApp.use(VxeOption),VxeUI.component(VxeOptionComponent);const Option=VxeOption,VxePagerComponent=vue.defineComponent({name:"VxePager",props:{size:{type:String,default:()=>getConfig$8().pager.size||getConfig$8().size},layouts:{type:Array,default:()=>getConfig$8().pager.layouts||["PrevJump","PrevPage","Jump","PageCount","NextPage","NextJump","Sizes","Total"]},currentPage:{type:Number,default:1},loading:Boolean,pageSize:{type:Number,default:()=>getConfig$8().pager.pageSize||10},total:{type:Number,default:0},pagerCount:{type:Number,default:()=>getConfig$8().pager.pagerCount||7},pageSizes:{type:Array,default:()=>getConfig$8().pager.pageSizes||[10,15,20,50,100]},align:{type:String,default:()=>getConfig$8().pager.align},border:{type:Boolean,default:()=>getConfig$8().pager.border},background:{type:Boolean,default:()=>getConfig$8().pager.background},perfect:{type:Boolean,default:()=>getConfig$8().pager.perfect},autoHidden:{type:Boolean,default:()=>getConfig$8().pager.autoHidden},transfer:{type:Boolean,default:()=>getConfig$8().pager.transfer},className:[String,Function],pageSizePlacement:{type:String,default:()=>getConfig$8().pager.pageSizePlacement},iconPrevPage:String,iconJumpPrev:String,iconJumpNext:String,iconNextPage:String,iconJumpMore:String,iconHomePage:String,iconEndPage:String},emits:["update:pageSize","update:currentPage","page-change"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.inject("$xeGrid",null),te=vue.reactive({inpCurrPage:G.currentPage}),ne=vue.ref(),re={refElem:ne},oe=vue.computed(()=>he(G.total,G.pageSize)),ae=vue.computed(()=>{const{pagerCount:Ie}=G,ze=oe.value>Ie?Ie-2:Ie,We=[];for(let Xe=0;Xe<ze;Xe++)We.push(Xe);return We}),se=vue.computed(()=>Math.floor((G.pagerCount-2)/2)),le=vue.computed(()=>G.pageSizes.map(Ie=>XEUtils.isNumber(Ie)?{value:Ie,label:`${getI18n$e("vxe.pager.pagesize",[Ie])}`}:Object.assign({value:"",label:""},Ie))),ce={xID:K,props:G,context:H,getRefMaps:()=>re};let de={},ue={};const he=(Ie,Ve)=>Math.max(Math.ceil(Ie/Ve),1),fe=(Ie,Ve)=>{Q("update:currentPage",Ve),Ie&&Ve!==G.currentPage&&de.dispatchEvent("page-change",{type:"current",pageSize:G.pageSize,currentPage:Ve},Ie)},pe=(Ie,Ve)=>{Q("update:currentPage",Ie),Ve&&Ie!==G.currentPage&&de.dispatchEvent("page-change",{type:"current",pageSize:G.pageSize,currentPage:Ie},Ve)},ve=Ie=>{const{$event:Ve}=Ie,ze=Ve.target,We=XEUtils.toInteger(ze.value),Xe=oe.value,He=We<=0?1:We>=Xe?Xe:We,qe=XEUtils.toValueString(He);ze.value=qe,te.inpCurrPage=qe,pe(He,Ve)},me=Ie=>{const{currentPage:Ve}=G;Ve>1&&pe(1,Ie)},ge=Ie=>{const{currentPage:Ve}=G,ze=oe.value;Ve<ze&&pe(ze,Ie)},we=Ie=>{const{currentPage:Ve}=G,ze=oe.value;Ve>1&&pe(Math.min(ze,Math.max(Ve-1,1)),Ie)},$e=Ie=>{const{currentPage:Ve}=G,ze=oe.value;Ve<ze&&pe(Math.min(ze,Ve+1),Ie)},Ee=Ie=>{const Ve=ae.value;pe(Math.max(G.currentPage-Ve.length,1),Ie)},xe=Ie=>{const Ve=oe.value,ze=ae.value;pe(Math.min(G.currentPage+ze.length,Ve),Ie)},Me=Ie=>{const{value:Ve}=Ie,ze=XEUtils.toNumber(Ve),We=he(G.total,ze);let Xe=G.currentPage;Xe>We&&(Xe=We,Q("update:currentPage",We)),Q("update:pageSize",ze),de.dispatchEvent("page-change",{type:"size",pageSize:ze,currentPage:Xe},Ie.$event)},De=Ie=>{const{$event:Ve}=Ie;globalEvents$4.hasKey(Ve,GLOBAL_EVENT_KEYS$3.ENTER)?ve(Ie):globalEvents$4.hasKey(Ve,GLOBAL_EVENT_KEYS$3.ARROW_UP)?(Ve.preventDefault(),$e(Ve)):globalEvents$4.hasKey(Ve,GLOBAL_EVENT_KEYS$3.ARROW_DOWN)&&(Ve.preventDefault(),we(Ve))},ke=()=>vue.h("button",{class:["vxe-pager--prev-btn",{"is--disabled":G.currentPage<=1}],type:"button",title:getI18n$e("vxe.pager.homePageTitle"),onClick:me},[vue.h("i",{class:["vxe-pager--btn-icon",G.iconHomePage||getIcon$8().PAGER_HOME]})]),Oe=()=>vue.h("button",{class:["vxe-pager--prev-btn",{"is--disabled":G.currentPage<=1}],type:"button",title:getI18n$e("vxe.pager.prevPageTitle"),onClick:we},[vue.h("i",{class:["vxe-pager--btn-icon",G.iconPrevPage||getIcon$8().PAGER_PREV_PAGE]})]),Ne=Ie=>vue.h(Ie||"button",{class:["vxe-pager--jump-prev",{"is--fixed":!Ie,"is--disabled":G.currentPage<=1}],type:"button",title:getI18n$e("vxe.pager.prevJumpTitle"),onClick:Ee},[Ie?vue.h("i",{class:["vxe-pager--jump-more-icon",G.iconJumpMore||getIcon$8().PAGER_JUMP_MORE]}):null,vue.h("i",{class:["vxe-pager--jump-icon",G.iconJumpPrev||getIcon$8().PAGER_JUMP_PREV]})]),_e=Ie=>{const Ve=oe.value;return vue.h(Ie||"button",{class:["vxe-pager--jump-next",{"is--fixed":!Ie,"is--disabled":G.currentPage>=Ve}],type:"button",title:getI18n$e("vxe.pager.nextJumpTitle"),onClick:xe},[Ie?vue.h("i",{class:["vxe-pager--jump-more-icon",G.iconJumpMore||getIcon$8().PAGER_JUMP_MORE]}):null,vue.h("i",{class:["vxe-pager--jump-icon",G.iconJumpNext||getIcon$8().PAGER_JUMP_NEXT]})])},ye=()=>{const Ie=oe.value;return vue.h("button",{class:["vxe-pager--next-btn",{"is--disabled":G.currentPage>=Ie}],type:"button",title:getI18n$e("vxe.pager.nextPageTitle"),onClick:$e},[vue.h("i",{class:["vxe-pager--btn-icon",G.iconNextPage||getIcon$8().PAGER_NEXT_PAGE]})])},Ce=()=>{const Ie=oe.value;return vue.h("button",{class:["vxe-pager--prev-btn",{"is--disabled":G.currentPage>=Ie}],type:"button",title:getI18n$e("vxe.pager.endPageTitle"),onClick:ge},[vue.h("i",{class:["vxe-pager--btn-icon",G.iconEndPage||getIcon$8().PAGER_END]})])},be=Ie=>{const{currentPage:Ve,pagerCount:ze}=G,We=[],Xe=oe.value,He=ae.value,qe=se.value,at=Xe>ze,st=at&&Ve>qe+1,Ke=at&&Ve<Xe-qe;let dt=1;return at&&(Ve>=Xe-qe?dt=Math.max(Xe-He.length+1,1):dt=Math.max(Ve-qe,1)),Ie&&st&&We.push(vue.h("button",{class:"vxe-pager--num-btn",type:"button",onClick:wt=>fe(wt,1)},"1"),Ne("span")),He.forEach((wt,$t)=>{const mt=dt+$t;mt<=Xe&&We.push(vue.h("button",{key:mt,class:["vxe-pager--num-btn",{"is--active":Ve===mt}],type:"button",onClick:bt=>fe(bt,mt)},`${mt}`))}),Ie&&Ke&&We.push(_e("button"),vue.h("button",{class:"vxe-pager--num-btn",type:"button",onClick:wt=>fe(wt,Xe)},Xe)),vue.h("span",{class:"vxe-pager--btn-wrapper"},We)},Te=()=>be(!0),Ae=()=>{const Ie=le.value;return vue.h(VxeSelectComponent,{class:"vxe-pager--sizes",modelValue:G.pageSize,placement:G.pageSizePlacement,transfer:G.transfer,options:Ie,onChange:Me})},Re=Ie=>{const Ve=oe.value;return vue.h("span",{class:"vxe-pager--jump"},[Ie?vue.h("span",{class:"vxe-pager--goto-text"},getI18n$e("vxe.pager.goto")):null,vue.h(VxeInputComponent,{class:"vxe-pager--goto",modelValue:te.inpCurrPage,placeholder:getI18n$e("vxe.pager.gotoTitle"),align:"center",type:"integer",max:Ve,min:1,controls:!1,onKeydown:De,onBlur:ve,"onUpdate:modelValue"(ze){te.inpCurrPage=ze}}),Ie?vue.h("span",{class:"vxe-pager--classifier-text"},getI18n$e("vxe.pager.pageClassifier")):null])},Fe=()=>Re(!0),Be=()=>{const Ie=oe.value;return vue.h("span",{class:"vxe-pager--count"},[vue.h("span",{class:"vxe-pager--separator"}),vue.h("span",Ie)])},je=()=>vue.h("span",{class:"vxe-pager--total"},getI18n$e("vxe.pager.total",[G.total]));de={dispatchEvent:(Ie,Ve,ze)=>{Q(Ie,createEvent$3(ze,{$pager:ce},Ve))},homePage(){return me(),vue.nextTick()},endPage(){return ge(),vue.nextTick()},prevPage(){return we(),vue.nextTick()},nextPage(){return $e(),vue.nextTick()},prevJump(){return Ee(),vue.nextTick()},nextJump(){return xe(),vue.nextTick()}},ue={handlePrevPage:we,handleNextPage:$e,handlePrevJump:Ee,handleNextJump:xe},Object.assign(ce,de,ue),vue.watch(()=>G.currentPage,Ie=>{te.inpCurrPage=Ie});const Ue=()=>{const{align:Ie,layouts:Ve,className:ze}=G,We=[],Xe=Z.value,He=oe.value;return X.left&&We.push(vue.h("span",{class:"vxe-pager--left-wrapper"},X.left({$grid:ee}))),Ve.forEach(qe=>{let at;switch(qe){case"Home":at=ke;break;case"PrevJump":at=Ne;break;case"PrevPage":at=Oe;break;case"Number":at=be;break;case"JumpNumber":at=Te;break;case"NextPage":at=ye;break;case"NextJump":at=_e;break;case"End":at=Ce;break;case"Sizes":at=Ae;break;case"FullJump":at=Fe;break;case"Jump":at=Re;break;case"PageCount":at=Be;break;case"Total":at=je;break}at?We.push(at()):process.env.NODE_ENV==="development"&&errLog("vxe.error.notProp",[`layouts -> ${qe}`])}),X.right&&We.push(vue.h("span",{class:"vxe-pager--right-wrapper"},X.right({$grid:ee}))),vue.h("div",{ref:ne,class:["vxe-pager",ze?XEUtils.isFunction(ze)?ze({$pager:ce}):ze:"",{[`size--${Xe}`]:Xe,[`align--${Ie}`]:Ie,"is--border":G.border,"is--background":G.background,"is--perfect":G.perfect,"is--hidden":G.autoHidden&&He===1,"is--loading":G.loading}]},[vue.h("div",{class:"vxe-pager--wrapper"},We)])};return ce.renderVN=Ue,ce},render(){return this.renderVN()}}),VxePager=Object.assign(VxePagerComponent,{install:function(G){G.component(VxePagerComponent.name,VxePagerComponent)}});dynamicApp.use(VxePager),VxeUI.component(VxePagerComponent);const Pager=VxePager,VxePasswordInputComponent=vue.defineComponent({name:"VxePasswordInput",props:{modelValue:String,immediate:{type:Boolean,default:!0},name:String,clearable:{type:Boolean,default:()=>getConfig$8().passwordInput.clearable},readonly:Boolean,disabled:Boolean,maxLength:[String,Number],placeholder:String,autoComplete:{type:String,default:"off"},className:String,size:{type:String,default:()=>getConfig$8().passwordInput.size||getConfig$8().size},prefixIcon:String,suffixIcon:String,controls:{type:Boolean,default:()=>getConfig$8().passwordInput.controls},autocomplete:String},emits:["update:modelValue","input","change","click","focus","blur","clear","toggle-visible","prefix-click","suffix-click"],setup(G,H){const{emit:X,slots:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=XEUtils.uniqueId(),{computeSize:te}=useSize(G),ne=vue.reactive({showPwd:!1,isActivated:!1,inputValue:G.modelValue}),re=vue.ref(),oe=vue.ref(),ae={refElem:re,refInput:oe},se={xID:ee,props:G,context:H,reactData:ne,getRefMaps:()=>ae};let le={};const ce=vue.computed(()=>G.clearable),de=vue.computed(()=>{const{readonly:be}=G;return be}),ue=vue.computed(()=>{const{placeholder:be}=G;if(be)return getFuncText(be);const Te=getConfig$8().passwordInput.placeholder;return Te?getFuncText(Te):getI18n$e("vxe.base.pleaseInput")}),he=vue.computed(()=>{const{showPwd:be}=ne;return be?"text":"password"}),fe=vue.computed(()=>{const{immediate:be}=G;return be}),pe=be=>{const{inputValue:Te}=ne;le.dispatchEvent(be.type,{value:Te},be)},ve=(be,Te)=>{const Ae=fe.value;ne.inputValue=be,Ae?ge(be,Te):le.dispatchEvent("input",{value:be},Te)},me=be=>{const Ae=be.target.value;ve(Ae,be)},ge=(be,Te)=>{ne.inputValue=be,X("update:modelValue",be),le.dispatchEvent("input",{value:be},Te),XEUtils.toValueString(G.modelValue)!==be&&(le.dispatchEvent("change",{value:be},Te),K&&Z&&K.triggerItemEvent(Te,Z.itemConfig.field,be))},we=be=>{pe(be);const{inputValue:Te}=ne;K&&Z&&K.triggerItemEvent(be,Z.itemConfig.field,Te)},$e=be=>{ne.isActivated=!0,pe(be)},Ee=be=>{const{inputValue:Te}=ne,Ae=Te;le.dispatchEvent("blur",{value:Ae},be),K&&Z&&K.triggerItemEvent(be,Z.itemConfig.field,Ae)},xe=be=>{const{readonly:Te,disabled:Ae}=G,{showPwd:Re}=ne;!Ae&&!Te&&(ne.showPwd=!Re),le.dispatchEvent("toggle-visible",{visible:ne.showPwd},be)},Me=be=>{pe(be)},De=(be,Te)=>{focus(),ge("",be),le.dispatchEvent("clear",{value:Te},be)},ke=be=>{const{disabled:Te}=G;if(!Te){const{inputValue:Ae}=ne;le.dispatchEvent("suffix-click",{value:Ae},be)}},Oe=be=>{const{disabled:Te}=G;if(!Te){const{inputValue:Ae}=ne;le.dispatchEvent("prefix-click",{value:Ae},be)}},Ne=()=>{const{showPwd:be}=ne;return vue.h("div",{class:"vxe-password-input--control-icon",onClick:xe},[vue.h("i",{class:["vxe-password-input--password-icon",be?getIcon$8().PASSWORD_INPUT_SHOW_PWD:getIcon$8().PASSWORD_INPUT_HIDE_PWD]})])},_e=()=>{const{prefixIcon:be}=G,Te=Q.prefix;return Te||be?vue.h("div",{class:"vxe-password-input--prefix",onClick:Oe},[vue.h("div",{class:"vxe-password-input--prefix-icon"},Te?getSlotVNs(Te({})):[vue.h("i",{class:be})])]):null},ye=()=>{const{disabled:be,suffixIcon:Te,controls:Ae}=G,{inputValue:Re}=ne,Fe=Q.suffix,Be=ce.value;return Be||Ae||Fe||Te?vue.h("div",{class:["vxe-password-input--suffix",{"is--clear":Be&&!be&&!(Re===""||XEUtils.eqNull(Re))}]},[Be?vue.h("div",{class:"vxe-password-input--clear-icon",onClick:De},[vue.h("i",{class:getIcon$8().INPUT_CLEAR})]):vue.createCommentVNode(),Ae?Ne():vue.createCommentVNode(),Fe||Te?vue.h("div",{class:"vxe-password-input--suffix-icon",onClick:ke},Fe?getSlotVNs(Fe({})):[vue.h("i",{class:Te})]):vue.createCommentVNode()]):null};le={dispatchEvent(be,Te,Ae){X(be,createEvent$3(Ae,{$passwordInput:se},Te))},focus(){const be=oe.value;return ne.isActivated=!0,be.focus(),vue.nextTick()},blur(){return oe.value.blur(),ne.isActivated=!1,vue.nextTick()},select(){return oe.value.select(),ne.isActivated=!1,vue.nextTick()}},Object.assign(se,le),vue.watch(()=>G.modelValue,be=>{ne.inputValue=be});const Ce=()=>{const{className:be,name:Te,disabled:Ae,readonly:Re,autocomplete:Fe,autoComplete:Be,maxLength:je}=G,{inputValue:Le,isActivated:Ue}=ne,Ie=te.value,Ve=de.value,ze=he.value,We=ue.value,Xe=ce.value,He=_e(),qe=ye();return vue.h("div",{ref:re,class:["vxe-password-input",be,{[`size--${Ie}`]:Ie,"is--prefix":!!He,"is--suffix":!!qe,"is--readonly":Re,"is--disabled":Ae,"is--active":Ue,"show--clear":Xe&&!Ae&&!(Le===""||XEUtils.eqNull(Le))}],spellcheck:!1},[He||vue.createCommentVNode(),vue.h("div",{class:"vxe-password-input--wrapper"},[vue.h("input",{ref:oe,class:"vxe-password-input--inner",value:Le,name:Te,type:ze,placeholder:We,readonly:Ve,disabled:Ae,autocomplete:Fe||Be,maxlength:je,onClick:Me,onInput:me,onChange:we,onFocus:$e,onBlur:Ee})]),qe||vue.createCommentVNode()])};return se.renderVN=Ce,se},render(){return this.renderVN()}}),VxePasswordInput=Object.assign({},VxePasswordInputComponent,{install(G){G.component(VxePasswordInputComponent.name,VxePasswordInputComponent)}});dynamicApp.use(VxePasswordInput),VxeUI.component(VxePasswordInputComponent);const PasswordInput=VxePasswordInput;let printFrame;const defaultHtmlStyle='body{margin:0;padding:0;color:#000000;font-size:14px;font-family:"Microsoft YaHei",微软雅黑,"MicrosoftJhengHei",华文细黑,STHeiti,MingLiu}body *{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-table{border-collapse:collapse;text-align:left;border-spacing:0}.vxe-table:not(.is--print){table-layout:fixed}.vxe-table,.vxe-table th,.vxe-table td,.vxe-table td{border-color:#D0D0D0;border-style:solid;border-width:0}.vxe-table.is--print{width:100%}.border--default,.border--full,.border--outer{border-top-width:1px}.border--default,.border--full,.border--outer{border-left-width:1px}.border--outer,.border--default th,.border--default td,.border--full th,.border--full td,.border--outer th,.border--inner th,.border--inner td{border-bottom-width:1px}.border--default,.border--outer,.border--full th,.border--full td{border-right-width:1px}.border--default th,.border--full th,.border--outer th{background-color:#f8f8f9}.vxe-table td>div,.vxe-table th>div{padding:.5em .4em}.col--center{text-align:center}.col--right{text-align:right}.vxe-table:not(.is--print) .col--ellipsis>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.vxe-table--tree-node{text-align:left}.vxe-table--tree-node-wrapper{position:relative}.vxe-table--tree-icon-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-table--tree-unfold-icon,.vxe-table--tree-fold-icon{position:absolute;width:0;height:0;border-style:solid;border-width:.5em;border-right-color:transparent;border-bottom-color:transparent}.vxe-table--tree-unfold-icon{left:.3em;top:0;border-left-color:#939599;border-top-color:transparent}.vxe-table--tree-fold-icon{left:0;top:.3em;border-left-color:transparent;border-top-color:#939599}.vxe-table--tree-cell{display:block;padding-left:1.5em}.vxe-table input[type="checkbox"]{margin:0}.vxe-table input[type="checkbox"],.vxe-table input[type="radio"],.vxe-table input[type="checkbox"]+span,.vxe-table input[type="radio"]+span{vertical-align:middle;padding-left:0.4em}';function createPrintFrame(){const G=document.createElement("iframe");return G.className="vxe-table--print-frame",G}function appendPrintFrame(){printFrame.parentNode||document.body.appendChild(printFrame)}function afterPrintEvent(){requestAnimationFrame(removeFrame)}function removeFrame(){if(printFrame){if(printFrame.parentNode){try{printFrame.contentDocument.write("")}catch{}printFrame.parentNode.removeChild(printFrame)}printFrame=null}}function getExportBlobByString(G,H){return new Blob([G],{type:`text/${H};charset=utf-8;`})}const printMargin=80;function createHtmlPage(G,H){const{customStyle:X}=G;return["<!DOCTYPE html><html>","<head>",'<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui">',`<title>${G.title}</title>`,G._pageBreaks||G.pageBreaks&&G.pageBreaks.length?'<style media="print">@page {size: auto;margin: 0mm;}</style>':"",`<style>.vxe-print-slots{display: none;}.vxe-print-page-break.align--center{text-align:center;}.vxe-print-page-break.align--left{text-align:left;}.vxe-print-page-break.align--right{text-align:right;}.vxe-print-page-break--header-title{font-size:1.8em;text-align:center;line-height:${printMargin}px;}.vxe-print-page-break{page-break-before:always;display:flex;flex-direction:column;height:100vh;overflow:hidden;}.vxe-print-page-break--body{display:flex;flex-direction:row;flex-grow:1;overflow: hidden;}.vxe-print-page-break--left,.vxe-print-page-break--right{flex-shrink:0;width:${printMargin}px;height:100%;}.vxe-print-page-break--header,.vxe-print-page-break--footer{flex-shrink:0;height:${printMargin}px;width:100%;}.vxe-print-page-break--content{flex-grow: 1;overflow: hidden;}.vxe-print-page-break--footer-page-number{line-height:${printMargin}px;text-align:center;}</style>`,"<style>.vxe-table{white-space:pre;}</style>",`<style>${defaultHtmlStyle}</style>`,X?`<style>${X}</style>`:"","</head>","<body>",`${H}`,"</body>","</html>"].join("")}function handlePrint(G,H=""){const{beforeMethod:X}=G;X&&(H=X({content:H,html:H,options:G})||""),H=createHtmlPage(G,H);const Q=getExportBlobByString(H,"html");return new Promise(K=>{XEUtils.browse().msie?(removeFrame(),printFrame=createPrintFrame(),appendPrintFrame(),printFrame.contentDocument.write(H),printFrame.contentDocument.execCommand("print"),setTimeout(()=>{K({status:!0})},300)):(printFrame||(printFrame=createPrintFrame(),printFrame.onload=Z=>{Z.target.src&&(Z.target.contentWindow.onafterprint=afterPrintEvent,Z.target.contentWindow.print()),K({status:!0})},printFrame.onerror=()=>{K({status:!1})}),appendPrintFrame(),printFrame.src=URL.createObjectURL(Q))})}function createPageBreak(G){const{title:H,showPageNumber:X,align:Q,headerAlign:K,footerAlign:Z,showAllPageTitle:ee}=G,te=G.pageBreaks||[],ne=te.length;return te.map((re,oe)=>{const ae=re.bodyHtml,se=re.headerHtml||G.headerHtml,le=re.footerHtml||G.footerHtml,ce=re.leftHtml||G.leftHtml,de=re.rightHtml||G.rightHtml,ue=oe+1,he={currentPage:ue,pageCount:ne};return[`<div class="${["vxe-print-page-break",Q?`align--${Q}`:""].join(" ")}">`,`<div class="${["vxe-print-page-break--header",K?`align--${K}`:""].join(" ")}">`,se?`${XEUtils.isFunction(se)?se(he):se||""}`:H&&(ee||!oe)?`<div class="vxe-print-page-break--header-title">${H||""}</div>`:"","</div>",'<div class="vxe-print-page-break--body">',`<div class="vxe-print-page-break--left">${XEUtils.isFunction(ce)?ce(he):ce||""}</div>`,`<div class="vxe-print-page-break--content">${XEUtils.isFunction(ae)?ae(he):ae||""}</div>`,`<div class="vxe-print-page-break--right">${XEUtils.isFunction(de)?de(he):de||""}</div>`,"</div>",`<div class="${["vxe-print-page-break--footer",Z?`align--${Z}`:""].join(" ")}">`,le?`${XEUtils.isFunction(le)?le(he):le||""}`:X?`<div class="vxe-print-page-break--footer-page-number">${ue}/${ne}</div>`:"","</div>","</div>"].join("")}).join("")}const printHtml=G=>{const H=Object.assign({_pageBreaks:!1,customLayout:!0},G);if(H.sheetName&&(H.title=H.title||H.sheetName),H.style&&(H.customStyle=H.customStyle||H.style),H.beforePrintMethod&&(H.beforeMethod=H.beforeMethod||H.beforePrintMethod),H.pageBreaks&&H.pageBreaks.length)return handlePrint(H,createPageBreak(H));const X=H.html||H.content;return handlePrint(H,X)};function assemblePageBreak(G,H,X){const Q=G.reactData.staticPageBreaks,K=H.parentNode;K&&Q&&(Q.splice(XEUtils.arrayIndexOf(K.children,H),0,X),G.reactData.staticPageBreaks=Q.slice(0))}function destroyPageBreak(G,H){G.reactData.staticPageBreaks=G.reactData.staticPageBreaks.filter(X=>X.id!==H.id)}const VxePrintPageBreakComponent=vue.defineComponent({name:"VxePrintPageBreak",props:{},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.inject("$xePrint",null),ee=vue.ref(),te=vue.reactive({}),ne={refElem:ee},re={},oe=vue.reactive({id:K,slots:X}),ae={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>re};if(Object.assign(ae,{dispatchEvent:(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$print:Z},he))}},{}),!Z)return ae.renderVN=()=>vue.createCommentVNode(),ae;const de=()=>vue.h("div",{ref:ee});return vue.onMounted(()=>{const ue=ee.value;Z&&ue&&assemblePageBreak(Z,ue,oe)}),vue.onUnmounted(()=>{Z&&destroyPageBreak(Z,oe)}),ae.renderVN=de,ae},render(){return this.renderVN()}}),VxePrintPageBreak=Object.assign({},VxePrintPageBreakComponent,{install(G){G.component(VxePrintPageBreakComponent.name,VxePrintPageBreakComponent)}});dynamicApp.use(VxePrintPageBreak),VxeUI.component(VxePrintPageBreakComponent);const PrintPageBreak=VxePrintPageBreak,VxePrintComponent=vue.defineComponent({name:"VxePrint",props:{align:{type:String,default:()=>getConfig$8().print.align},title:String,headerAlign:{type:String,default:()=>getConfig$8().print.headerAlign},footerAlign:{type:String,default:()=>getConfig$8().print.footerAlign},showPageNumber:{type:Boolean,default:()=>getConfig$8().print.showPageNumber},customLayout:Boolean,pageBreaks:Array,content:String,html:String,headerHtml:String,footerHtml:String,leftHtml:String,rightHtml:String,showAllPageTitle:{type:Boolean,default:()=>getConfig$8().print.showAllPageTitle},customStyle:{type:String,default:()=>getConfig$8().print.customStyle},beforeMethod:Function},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({staticPageBreaks:[]}),te={refElem:Z},ne={},re={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>ne};Object.assign(re,{dispatchEvent:(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$print:re},he))},print(){const ue=Z.value;return printHtml(Object.assign({},G,{_pageBreaks:!!ee.staticPageBreaks.length,html:(ue?ue.outerHTML:"")||G.html||G.content||""}))}},{});const le=()=>{const{title:ue,showPageNumber:he,showAllPageTitle:fe,align:pe,headerAlign:ve,footerAlign:me}=G,ge=G.pageBreaks||[],we=ge.length;return ge.map(($e,Ee)=>{const xe=$e.bodyHtml,Me=$e.headerHtml||G.headerHtml,De=$e.footerHtml||G.footerHtml,ke=$e.leftHtml||G.leftHtml,Oe=$e.rightHtml||G.rightHtml,Ne=Ee+1,_e={currentPage:Ne,pageCount:we};return vue.h("div",{class:["vxe-print-page-break",pe?`align--${pe}`:""]},[vue.h("div",{class:["vxe-print-page-break--header",ve?`align--${ve}`:""]},Me?`${XEUtils.isFunction(Me)?Me(_e):Me||""}`:[ue&&(fe||!Ee)?vue.h("div",{class:"vxe-print-page-break--header-title"},`${ue||""}`):vue.createCommentVNode()]),vue.h("div",{class:"vxe-print-page-break--body"},[vue.h("div",{class:"vxe-print-page-break--left"},`${XEUtils.isFunction(ke)?ke(_e):ke||""}`),vue.h("div",{class:"vxe-print-page-break--content"},`${XEUtils.isFunction(xe)?xe(_e):xe||""}`),vue.h("div",{class:"vxe-print-page-break--right"},`${XEUtils.isFunction(Oe)?Oe(_e):Oe||""}`)]),vue.h("div",{class:["vxe-print-page-break--footer",me?`align--${me}`:""]},De?`${XEUtils.isFunction(De)?De(_e):De||""}`:[he?vue.h("div",{class:"vxe-print-page-break--footer-page-number"},`${Ne}/${we}`):vue.createCommentVNode()])])})},ce=()=>{const{title:ue,showPageNumber:he,showAllPageTitle:fe,align:pe,headerAlign:ve,footerAlign:me}=G,{staticPageBreaks:ge}=ee,we=ge.length;return ge.map(($e,Ee)=>{const xe=$e.slots||{},Me=Ee+1,De=xe.default,ke=xe.header||X.header,Oe=xe.footer||X.footer,Ne=xe.left||X.left,_e=xe.right||X.right,ye={currentPage:Me,pageCount:we};return vue.h("div",{class:["vxe-print-page-break",pe?`align--${pe}`:""]},[vue.h("div",{class:["vxe-print-page-break--header",ve?`align--${ve}`:""]},ke?getSlotVNs(ke(ye)):[ue&&(fe||!Ee)?vue.h("div",{class:"vxe-print-page-break--header-title"},`${ue||""}`):vue.createCommentVNode()]),vue.h("div",{class:"vxe-print-page-break--body"},[vue.h("div",{class:"vxe-print-page-break--left"},Ne?getSlotVNs(Ne(ye)):[]),vue.h("div",{class:"vxe-print-page-break--content"},De?getSlotVNs(De(ye)):[]),vue.h("div",{class:"vxe-print-page-break--right"},_e?getSlotVNs(_e(ye)):[])]),vue.h("div",{class:["vxe-print-page-break--footer",me?`align--${me}`:""]},Oe?getSlotVNs(Oe(ye)):[he?vue.h("div",{class:"vxe-print-page-break--footer-page-number"},`${Me}/${we}`):vue.createCommentVNode()])])})},de=()=>{const{customLayout:ue}=G,{staticPageBreaks:he}=ee,fe=X.default;return vue.h("div",{ref:Z,class:["vxe-print"]},ue?fe?getSlotVNs(fe({})):[]:[vue.h("div",{key:"slot",class:"vxe-print-slots"},fe?getSlotVNs(fe({})):[])].concat(he.length?ce():le()))};return re.renderVN=de,vue.provide("$xePrint",re),re},render(){return this.renderVN()}}),VxePrint=Object.assign({},VxePrintComponent,{install(G){G.component(VxePrintComponent.name,VxePrintComponent)}});dynamicApp.use(VxePrint),VxeUI.component(VxePrintComponent),VxeUI.print=printHtml;const Print=VxePrint,VxePulldownComponent=vue.defineComponent({name:"VxePulldown",props:{modelValue:Boolean,disabled:Boolean,placement:String,trigger:{type:String,default:getConfig$8().pulldown.trigger},size:{type:String,default:()=>getConfig$8().size},options:Array,className:{type:[String,Function],default:getConfig$8().pulldown.className},popupClassName:[String,Function],showPopupShadow:Boolean,destroyOnClose:{type:Boolean,default:getConfig$8().pulldown.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["update:modelValue","click","option-click","show-panel","hide-panel"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeModal",null),Z=vue.inject("$xeDrawer",null),ee=vue.inject("$xeTable",null),te=vue.inject("$xeForm",null),ne=XEUtils.uniqueId(),{computeSize:re}=useSize(G),oe=vue.reactive({initialized:!1,panelIndex:0,panelStyle:{},panelPlacement:null,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),ae={hpTimeout:void 0},se=vue.ref(),le=vue.ref(),ce=vue.ref(),de=vue.computed(()=>{const{transfer:ye}=G;if(ye===null){const Ce=getConfig$8().pulldown.transfer;if(XEUtils.isBoolean(Ce))return Ce;if(ee||K||Z||te)return!0}return ye}),ue={refElem:se},he={xID:ne,props:G,context:H,reactData:oe,internalData:ae,getRefMaps:()=>ue};let fe={};const pe=()=>{oe.panelIndex<getLastZIndex()&&(oe.panelIndex=nextZIndex())},ve=()=>oe.visiblePanel,me=()=>vue.nextTick().then(()=>{const{placement:ye}=G,{panelIndex:Ce,visiblePanel:be}=oe,Te=de.value;if(be){const Ae=le.value,Re=ce.value;if(Re&&Ae){const Fe=Ae.offsetHeight,Be=Ae.offsetWidth,je=Re.offsetHeight,Le=Re.offsetWidth,Ue=5,Ie={zIndex:Ce},{boundingTop:Ve,boundingLeft:ze,visibleHeight:We,visibleWidth:Xe}=getAbsolutePos(Ae);let He="bottom";if(Te){let qe=ze,at=Ve+Fe;ye==="top"?(He="top",at=Ve-je):ye||(at+je+Ue>We&&(He="top",at=Ve-je),at<Ue&&(He="bottom",at=Ve+Fe)),qe+Le+Ue>Xe&&(qe-=qe+Le+Ue-Xe),qe<Ue&&(qe=Ue),Object.assign(Ie,{left:`${qe}px`,top:`${at}px`,minWidth:`${Be}px`})}else ye==="top"?(He="top",Ie.bottom=`${Fe}px`):ye||Ve+Fe+je>We&&Ve-Fe-je>Ue&&(He="top",Ie.bottom=`${Fe}px`);oe.panelStyle=Ie,oe.panelPlacement=He}}return vue.nextTick()}),ge=()=>(oe.initialized||(oe.initialized=!0),new Promise(ye=>{G.disabled?vue.nextTick(()=>{ye()}):(ae.hpTimeout&&clearTimeout(ae.hpTimeout),oe.isActivated=!0,oe.isAniVisible=!0,setTimeout(()=>{oe.visiblePanel=!0,Q("update:modelValue",!0),me(),setTimeout(()=>{ye(me())},40)},10),pe())})),we=()=>(oe.visiblePanel=!1,Q("update:modelValue",!1),new Promise(ye=>{oe.isAniVisible?ae.hpTimeout=window.setTimeout(()=>{oe.isAniVisible=!1,vue.nextTick(()=>{ye()})},350):vue.nextTick(()=>{ye()})})),$e=()=>oe.visiblePanel?we():ge(),Ee=(ye,Ce)=>{Ce.disabled||(oe.visiblePanel&&(we(),Oe("hide-panel",{},ye)),Oe("option-click",{option:Ce},ye))},xe=ye=>{const{trigger:Ce}=G;Ce==="click"&&(oe.visiblePanel?(we(),Oe("hide-panel",{},ye)):(ge(),Oe("show-panel",{},ye))),Oe("click",{$pulldown:he},ye)},Me=ye=>{const{disabled:Ce}=G,{visiblePanel:be}=oe,Te=ce.value;Ce||be&&(getEventTargetNode(ye,Te).flag?me():(we(),Oe("hide-panel",{},ye)))},De=ye=>{const{disabled:Ce}=G,{visiblePanel:be}=oe,Te=se.value,Ae=ce.value;Ce||(oe.isActivated=getEventTargetNode(ye,Te).flag||getEventTargetNode(ye,Ae).flag,be&&!oe.isActivated&&(we(),Oe("hide-panel",{},ye)))},ke=ye=>{oe.visiblePanel&&(oe.isActivated=!1,we(),Oe("hide-panel",{},ye))},Oe=(ye,Ce,be)=>{Q(ye,createEvent$3(be,{$pulldown:he},Ce))};fe={dispatchEvent:Oe,isPanelVisible:ve,togglePanel:$e,showPanel:ge,hidePanel:we},Object.assign(he,fe),vue.watch(()=>G.modelValue,ye=>{oe.isActivated=!!ye,ye?ge():we()}),vue.nextTick(()=>{G.modelValue&&ge(),globalEvents$4.on(he,"mousewheel",Me),globalEvents$4.on(he,"mousedown",De),globalEvents$4.on(he,"blur",ke)}),vue.onUnmounted(()=>{globalEvents$4.off(he,"mousewheel"),globalEvents$4.off(he,"mousedown"),globalEvents$4.off(he,"blur")});const Ne=ye=>{const Ce=X.option;return vue.h("div",{class:"vxe-pulldown--panel-list"},ye?ye.map(be=>vue.h("div",{class:"vxe-pulldown--panel-item",onClick(Te){Ee(Te,be)}},Ce?Ce({$pulldown:he,option:be}):`${be.label||""}`)):[])},_e=()=>{const{className:ye,options:Ce,popupClassName:be,showPopupShadow:Te,destroyOnClose:Ae,disabled:Re}=G,{initialized:Fe,isActivated:Be,isAniVisible:je,visiblePanel:Le,panelStyle:Ue,panelPlacement:Ie}=oe,Ve=de.value,ze=re.value,We=X.default,Xe=X.header,He=X.footer,qe=X.dropdown;return vue.h("div",{ref:se,class:["vxe-pulldown",ye?XEUtils.isFunction(ye)?ye({$pulldown:he}):ye:"",{[`size--${ze}`]:ze,"is--visible":Le,"is--disabled":Re,"is--active":Be}]},[vue.h("div",{ref:le,class:"vxe-pulldown--content",onClick:xe},We?We({$pulldown:he}):[]),vue.h(vue.Teleport,{to:"body",disabled:Ve?!Fe:!0},[vue.h("div",{ref:ce,class:["vxe-table--ignore-clear vxe-pulldown--panel",be?XEUtils.isFunction(be)?be({$pulldown:he}):be:"",{[`size--${ze}`]:ze,"is--shadow":Te,"is--transfer":Ve,"ani--leave":je,"ani--enter":Le}],placement:Ie,style:Ue},[vue.h("div",{class:"vxe-pulldown--panel-wrapper"},Fe&&(!Ae||Le||je)?[Xe?vue.h("div",{class:"vxe-pulldown--panel-header"},Xe({$pulldown:he})):vue.createCommentVNode(),vue.h("div",{class:"vxe-pulldown--panel-body"},qe?qe({$pulldown:he}):[Ne(Ce)]),He?vue.h("div",{class:"vxe-pulldown--panel-footer"},He({$pulldown:he})):vue.createCommentVNode()]:[])])])])};return he.renderVN=_e,he},render(){return this.renderVN()}}),VxePulldown=Object.assign(VxePulldownComponent,{install:function(G){G.component(VxePulldownComponent.name,VxePulldownComponent)}});dynamicApp.use(VxePulldown),VxeUI.component(VxePulldownComponent);const Pulldown=VxePulldown,VxeRadio=Object.assign(VxeRadioComponent,{install:function(G){G.component(VxeRadioComponent.name,VxeRadioComponent)}});dynamicApp.use(VxeRadio),VxeUI.component(VxeRadioComponent);const Radio=VxeRadio,VxeRadioButton=Object.assign(VxeRadioButtonComponent,{install:function(G){G.component(VxeRadioButtonComponent.name,VxeRadioButtonComponent)}});dynamicApp.use(VxeRadioButton),VxeUI.component(VxeRadioButtonComponent);const RadioButton=VxeRadioButton,VxeRadioGroup=Object.assign(VxeRadioGroupComponent,{install:function(G){G.component(VxeRadioGroupComponent.name,VxeRadioGroupComponent)}});dynamicApp.use(VxeRadioGroup),VxeUI.component(VxeRadioGroupComponent);const RadioGroup=VxeRadioGroup,VxeRate=Object.assign({},VxeRateComponent,{install(G){G.component(VxeRateComponent.name,VxeRateComponent)}});dynamicApp.use(VxeRate),VxeUI.component(VxeRateComponent);const Rate=VxeRate,VxeResultComponent=vue.defineComponent({name:"VxeResult",props:{imageUrl:String,imageStyle:Object,icon:String,type:[String,Number],status:[String,Number],title:[String,Number],content:[String,Number]},emits:[],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne={},re={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>ne};Object.assign(re,{dispatchEvent:(ce,de,ue)=>{X(ce,createEvent$3(ue,{$result:re},de))}},{});const le=()=>{const{imageUrl:ce,imageStyle:de,icon:ue,title:he,type:fe,content:pe}=G,ve=G.status||fe,me=Q.extra;return vue.h("div",{ref:"refElem",class:["vxe-result",{[`theme--${ve}`]:ve}]},[vue.h("div",{class:"vxe-result--inner"},[ce?vue.h("div",{class:"vxe-result--img-wrapper"},[vue.h("img",{src:ce,style:de})]):vue.h("div",{class:"vxe-result--icon-wrapper"},[vue.h("i",{class:[ue,fe?getIcon$8()[`RESULT_${fe}`.toLocaleUpperCase()]:""]})]),vue.h("div",{class:"vxe-result--title-wrapper"},`${he||""}`),vue.h("div",{class:"vxe-result--content-wrapper"},`${pe||""}`),me?vue.h("div",{class:"vxe-result--extra-wrapper"},me({})):renderEmptyElement$3(re)])])};return re.renderVN=le,re},render(){return this.renderVN()}}),VxeResult=Object.assign({},VxeResultComponent,{install(G){G.component(VxeResultComponent.name,VxeResultComponent)}});dynamicApp.use(VxeResult),VxeUI.component(VxeResultComponent);const Result=VxeResult,VxeRow=Object.assign({},VxeRowComponent,{install(G){G.component(VxeRowComponent.name,VxeRowComponent)}});dynamicApp.use(VxeRow),VxeUI.component(VxeRowComponent);const Row=VxeRow,VxeSelect=Object.assign(VxeSelectComponent,{install:function(G){G.component(VxeSelectComponent.name,VxeSelectComponent)}});dynamicApp.use(VxeSelect),VxeUI.component(VxeSelectComponent);const Select=VxeSelect,VxeSlider=Object.assign({},VxeSliderComponent,{install(G){G.component(VxeSliderComponent.name,VxeSliderComponent)}});dynamicApp.use(VxeSlider),VxeUI.component(VxeSliderComponent);const Slider=VxeSlider,VxeStepsComponent=vue.defineComponent({name:"VxeSteps",props:{},emits:[],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.ref(),Z=vue.reactive({}),ee={refElem:K},te={},ne={xID:Q,props:G,context:H,reactData:Z,getRefMaps:()=>ee,getComputeMaps:()=>te};Object.assign(ne,{dispatchEvent:(le,ce,de)=>{X(le,createEvent$3(de,{$steps:ne},ce))}},{});const se=()=>vue.h("div",{ref:K,class:"vxe-steps"},[]);return ne.renderVN=se,ne},render(){return this.renderVN()}}),VxeSteps=Object.assign({},VxeStepsComponent,{install(G){G.component(VxeStepsComponent.name,VxeStepsComponent)}});dynamicApp.use(VxeSteps),VxeUI.component(VxeStepsComponent);const Steps=VxeSteps,VxeSwitch=Object.assign(VxeSwitchComponent,{install:function(G){G.component(VxeSwitchComponent.name,VxeSwitchComponent)}});dynamicApp.use(VxeSwitch),VxeUI.component(VxeSwitchComponent);const Switch=VxeSwitch,VxeTabPane=Object.assign({},VxeTabPaneComponent,{install(G){G.component(VxeTabPaneComponent.name,VxeTabPaneComponent)}});dynamicApp.use(VxeTabPane),VxeUI.component(VxeTabPaneComponent);const TabPane=VxeTabPane;function getRowUniqueId(){return XEUtils.uniqueId("row_")}const VxeTableSelectComponent=vue.defineComponent({name:"VxeTableSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>XEUtils.eqNull(getConfig$8().tableSelect.placeholder)?getI18n$e("vxe.base.pleaseSelect"):getConfig$8().tableSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],prefixIcon:String,placement:String,columns:Array,options:Array,optionProps:Object,size:{type:String,default:()=>getConfig$8().select.size||getConfig$8().size},popupConfig:Object,gridConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click"],setup(G,H){const{emit:X,slots:Q}=H,K=VxeUI.getComponent("VxeGrid"),Z=vue.inject("$xeModal",null),ee=vue.inject("$xeDrawer",null),te=vue.inject("$xeTable",null),ne=vue.inject("$xeForm",null),re=vue.inject("xeFormItemInfo",null),oe=XEUtils.uniqueId(),{computeSize:ae}=useSize(G),se=vue.ref(),le=vue.ref(),ce=vue.ref(),de=vue.ref(),ue=vue.ref(),he=vue.reactive({initialized:!1,tableColumns:[],fullOptionList:[],fullRowMaps:{},panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),fe={},pe={refElem:se},ve=vue.computed(()=>{const{readonly:yt}=G;return yt===null?ne?ne.props.readonly:!1:yt}),me=vue.computed(()=>{const{disabled:yt}=G;return yt===null?ne?ne.props.disabled:!1:yt}),ge=vue.computed(()=>{const{transfer:yt}=G;if(yt===null){const Et=getConfig$8().select.transfer;if(XEUtils.isBoolean(Et))return Et;if(te||Z||ee||ne)return!0}return yt}),we=vue.computed(()=>G.optionProps||{}),$e=vue.computed(()=>{const yt=ke.value;return Object.assign({},yt.rowConfig,{isCurrent:!0})}),Ee=vue.computed(()=>$e.value.keyField||"_X_ROW_KEY"),xe=vue.computed(()=>we.value.label||"label"),Me=vue.computed(()=>we.value.value||"value"),De=vue.computed(()=>Object.assign({},getConfig$8().tableSelect.popupConfig,G.popupConfig)),ke=vue.computed(()=>Object.assign({},getConfig$8().tableSelect.gridConfig,G.gridConfig,{data:void 0,columns:void 0})),Oe=vue.computed(()=>{const{modelValue:yt}=G,{fullRowMaps:Et}=he,Vt=xe.value;return(XEUtils.isArray(yt)?yt:[yt]).map(ut=>{const vt=Et[ut];return vt?vt.item[Vt]:ut}).join(", ")}),Ne=vue.computed(()=>{const yt=De.value,{height:Et,width:Vt}=yt,ut={};return Vt&&(ut.width=toCssUnit(Vt)),Et&&(ut.height=toCssUnit(Et)),ut}),_e={},ye={xID:oe,props:G,context:H,reactData:he,getRefMaps:()=>pe,getComputeMaps:()=>_e},Ce=(yt,Et,Vt)=>{X(yt,createEvent$3(Vt,{$tableSelect:ye},Et))},be=yt=>{X("update:modelValue",yt)},Te={dispatchEvent:Ce},Ae={},Re=yt=>{const Et=Ee.value,Vt=yt[Et];return Vt?encodeURIComponent(Vt):""},Fe=yt=>{const{fullRowMaps:Et}=he,Vt=[];return(XEUtils.eqNull(yt)?[]:XEUtils.isArray(yt)?yt:[yt]).forEach(vt=>{const Qe=Et[vt];Qe&&Vt.push(Qe.item)}),Vt},Be=yt=>{const{multiple:Et}=G;vue.nextTick(()=>{const Vt=ue.value;if(Vt){const ut=Fe(yt);ut.length&&(Et?Vt.setCheckboxRow(ut,!0):Vt.setRadioRow(ut[0]))}})},je=yt=>{const{multiple:Et}=G,Vt=[];Et?Vt.push({type:"checkbox",width:70}):Vt.push({type:"radio",width:70}),he.tableColumns=Vt.concat(yt||[])},Le=()=>{const{options:yt}=G,Et=Ee.value,Vt=Me.value,ut=ke.value,{treeConfig:vt}=ut,Qe={},ht={};vt||XEUtils.arrayEach(yt||[],(et,nt,Ye)=>{let tt=Re(et);tt||(tt=getRowUniqueId()),ht[tt]&&errLog("vxe.error.repeatKey",[Et,tt]),ht[tt]=!0;const Je=et[Vt];Qe[Je]&&errLog("vxe.error.repeatKey",[Vt,Je]),Qe[Je]={item:et,index:nt,items:Ye,parent:null,nodes:[]}}),he.fullOptionList=yt||[],he.fullRowMaps=Qe,Be(G.modelValue)},Ue=()=>{he.panelIndex<getLastZIndex()&&(he.panelIndex=nextZIndex())},Ie=()=>vue.nextTick().then(()=>{const{placement:yt}=G,{panelIndex:Et}=he,Vt=se.value,ut=de.value,vt=ge.value;if(ut&&Vt){const Qe=Vt.offsetHeight,ht=Vt.offsetWidth,et=ut.offsetHeight,nt=ut.offsetWidth,Ye=5,tt={zIndex:Et},{boundingTop:Je,boundingLeft:it,visibleHeight:ft,visibleWidth:St}=getAbsolutePos(Vt);let kt="bottom";if(vt){let Nt=it,Ht=Je+Qe;yt==="top"?(kt="top",Ht=Je-et):yt||(Ht+et+Ye>ft&&(kt="top",Ht=Je-et),Ht<Ye&&(kt="bottom",Ht=Je+Qe)),Nt+nt+Ye>St&&(Nt-=Nt+nt+Ye-St),Nt<Ye&&(Nt=Ye),Object.assign(tt,{left:`${Nt}px`,top:`${Ht}px`,minWidth:`${ht}px`})}else yt==="top"?(kt="top",tt.bottom=`${Qe}px`):yt||Je+Qe+et>ft&&Je-Qe-et>Ye&&(kt="top",tt.bottom=`${Qe}px`);return he.panelStyle=tt,he.panelPlacement=kt,vue.nextTick()}}),Ve=()=>{const{loading:yt}=G,Et=me.value;!yt&&!Et&&(fe.vpTimeout&&clearTimeout(fe.vpTimeout),fe.hpTimeout&&clearTimeout(fe.hpTimeout),he.initialized||(he.initialized=!0),he.isActivated=!0,he.isAniVisible=!0,fe.vpTimeout=setTimeout(()=>{he.visiblePanel=!0,Be(G.modelValue),fe.vpTimeout=void 0},10),Ue(),Ie())},ze=()=>{he.visiblePanel=!1,fe.vpTimeout&&clearTimeout(fe.vpTimeout),fe.hpTimeout&&clearTimeout(fe.hpTimeout),fe.hpTimeout=window.setTimeout(()=>{he.isAniVisible=!1,fe.hpTimeout=void 0},350)},We=(yt,Et)=>{const{fullRowMaps:Vt}=he;if(be(Et),Et!==G.modelValue){const ut=Vt[Et];Ce("change",{value:Et,row:ut?ut.item:null},yt),ne&&re&&ne.triggerItemEvent(yt,re.itemConfig.field,Et)}},Xe=(yt,Et)=>{We(yt,Et),Ce("clear",{value:Et},yt)},He=(yt,Et)=>{Xe(Et,null),ze()},qe=yt=>{const{visiblePanel:Et}=he;if(!me.value&&Et){const ut=de.value;getEventTargetNode(yt,ut).flag?Ie():ze()}},at=yt=>{const{visiblePanel:Et}=he;if(!me.value){const ut=se.value,vt=de.value;he.isActivated=getEventTargetNode(yt,ut).flag||getEventTargetNode(yt,vt).flag,Et&&!he.isActivated&&ze()}},st=()=>{ze()},Ke=yt=>{me.value||he.visiblePanel||(he.triggerFocusPanel=!0,Ve(),setTimeout(()=>{he.triggerFocusPanel=!1},150)),Ce("focus",{},yt)},dt=yt=>{$t(yt),Ce("click",{},yt)},wt=yt=>{he.isActivated=!1,Ce("blur",{},yt)},$t=yt=>{const{$event:Et}=yt;Et.preventDefault(),he.triggerFocusPanel?he.triggerFocusPanel=!1:he.visiblePanel?ze():Ve()},mt=yt=>{const{$event:Et,row:Vt}=yt,ut=Me.value,vt=Vt[ut];We(Et,vt),ze()},bt=yt=>{const{$grid:Et,$event:Vt}=yt,ut=Me.value,Qe=Et.getCheckboxRecords().map(ht=>ht[ut]);We(Vt,Qe)},Ot=yt=>{bt(yt)};Object.assign(ye,Te,Ae);const It=()=>{const{className:yt,options:Et,loading:Vt}=G,{initialized:ut,isActivated:vt,isAniVisible:Qe,visiblePanel:ht,tableColumns:et}=he,nt=ae.value,Ye=me.value,tt=Oe.value,Je=ge.value,it=ve.value,ft=De.value,{className:St}=ft,kt=ke.value,Nt=$e.value,Ht=Ne.value,Lt=Q.header,Bt=Q.footer,Xt=Q.prefix;return it?vue.h("div",{ref:se,class:["vxe-table-select--readonly",yt]},[vue.h("span",{class:"vxe-table-select-label"},tt)]):vue.h("div",{ref:se,class:["vxe-table-select",yt?XEUtils.isFunction(yt)?yt({$tableSelect:ye}):yt:"",{[`size--${nt}`]:nt,"is--visible":ht,"is--disabled":Ye,"is--loading":Vt,"is--active":vt}]},[vue.h(VxeInputComponent,{ref:le,clearable:G.clearable,placeholder:Vt?getI18n$e("vxe.select.loadingText"):G.placeholder,readonly:!0,disabled:Ye,type:"text",prefixIcon:G.prefixIcon,suffixIcon:Vt?getIcon$8().TABLE_SELECT_LOADED:ht?getIcon$8().TABLE_SELECT_OPEN:getIcon$8().TABLE_SELECT_CLOSE,modelValue:Vt?"":tt,onClear:He,onClick:dt,onFocus:Ke,onBlur:wt,onSuffixClick:$t},Xt?{prefix:()=>Xt({})}:{}),vue.h(vue.Teleport,{to:"body",disabled:Je?!ut:!0},[vue.h("div",{ref:de,class:["vxe-table--ignore-clear vxe-table-select--panel",St?XEUtils.isFunction(St)?St({$tableSelect:ye}):St:"",{[`size--${nt}`]:nt,"is--transfer":Je,"ani--leave":!Vt&&Qe,"ani--enter":!Vt&&ht}],placement:he.panelPlacement,style:he.panelStyle},ut?[vue.h("div",{class:"vxe-table-select--panel-wrapper"},[Lt?vue.h("div",{class:"vxe-table-select--panel-header"},Lt({})):renderEmptyElement$3(ye),vue.h("div",{class:"vxe-table-select--panel-body"},[vue.h("div",{ref:ce,class:"vxe-table-select-grid--wrapper",style:Ht},[K?vue.h(K,Object.assign(Object.assign({},kt),{class:"vxe-table-select--grid",ref:ue,rowConfig:Nt,data:Et,columns:et,height:"100%",autoResize:!0,onRadioChange:mt,onCheckboxChange:bt,onCheckboxAll:Ot}),Object.assign({},Q,{header:void 0,footer:void 0,prefixSlot:void 0})):renderEmptyElement$3(ye)])]),Bt?vue.h("div",{class:"vxe-table-select--panel-footer"},Bt({})):renderEmptyElement$3(ye)])]:[])])])};return vue.watch(()=>G.options,()=>{Le()}),vue.watch(()=>G.columns,yt=>{je(yt||[])}),vue.watch(()=>G.modelValue,yt=>{Be(yt)}),je(G.columns||[]),Le(),vue.onMounted(()=>{globalEvents$4.on(ye,"mousewheel",qe),globalEvents$4.on(ye,"mousedown",at),globalEvents$4.on(ye,"blur",st)}),vue.onUnmounted(()=>{globalEvents$4.off(ye,"mousewheel"),globalEvents$4.off(ye,"mousedown"),globalEvents$4.off(ye,"blur")}),process.env.NODE_ENV==="development"&&vue.nextTick(()=>{K||errLog("vxe.error.reqComp",["vxe-grid"])}),vue.provide("$xeTableSelect",ye),ye.renderVN=It,ye},render(){return this.renderVN()}}),VxeTableSelect=Object.assign({},VxeTableSelectComponent,{install(G){G.component(VxeTableSelectComponent.name,VxeTableSelectComponent)}});dynamicApp.use(VxeTableSelect),VxeUI.component(VxeTableSelectComponent);const TableSelect=VxeTableSelect,VxeTabs=Object.assign({},VxeTabsComponent,{install(G){G.component(VxeTabsComponent.name,VxeTabsComponent)}});dynamicApp.use(VxeTabs),VxeUI.component(VxeTabsComponent);const Tabs=VxeTabs,VxeTagComponent=vue.defineComponent({name:"VxeTag",props:{status:String,title:[String,Number],icon:String,content:[String,Number],size:{type:String,default:()=>getConfig$8().tag.size||getConfig$8().size}},emits:["click"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.ref(),te=vue.reactive({}),ne={refElem:ee},re={},oe={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>re},ae=(he,fe,pe)=>{Q(he,createEvent$3(pe,{$tag:oe},fe))},se={dispatchEvent:ae},le={},ce=he=>{ae("click",{},he)};Object.assign(oe,se,le);const de=()=>{const{icon:he,content:fe}=G,pe=X.default,ve=X.icon;return[ve||he?vue.h("span",{class:"vxe-tag--icon"},ve?getSlotVNs(ve({})):[vue.h("i",{class:he})]):vue.createCommentVNode(),vue.h("span",{class:"vxe-tag--content"},pe?pe({}):XEUtils.toValueString(fe))]},ue=()=>{const{status:he,title:fe}=G,pe=Z.value;return vue.h("span",{ref:ee,class:["vxe-tag",{[`size--${pe}`]:pe,[`theme--${he}`]:he}],title:fe,onClick:ce},de())};return oe.renderVN=ue,oe},render(){return this.renderVN()}}),VxeTag=Object.assign({},VxeTagComponent,{install(G){G.component(VxeTagComponent.name,VxeTagComponent)}});dynamicApp.use(VxeTag),VxeUI.component(VxeTagComponent);const Tag=VxeTag,VxeTextEllipsisComponent=vue.defineComponent({name:"VxeTextEllipsis",props:{content:[String,Number],lineClamp:[String,Number],status:String,title:[String,Number],loading:Boolean,offsetLength:[String,Number],size:{type:String,default:()=>getConfig$8().textEllipsis.size||getConfig$8().size}},emits:["click"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),{computeSize:K}=useSize(G),Z=vue.ref(),ee=vue.ref(),te=vue.reactive({resizeObserver:null,visibleLen:0}),ne={refElem:Z},re=vue.computed(()=>XEUtils.toNumber(G.lineClamp)),oe=vue.computed(()=>XEUtils.toValueString(G.content)),ae=vue.computed(()=>G.offsetLength?XEUtils.toNumber(G.offsetLength):0),se=vue.computed(()=>{const{visibleLen:we}=te,$e=re.value,Ee=oe.value,xe=ae.value;return $e>1&&Ee.length>we?`${Ee.slice(0,Math.max(1,we-3+xe))}...`:Ee}),le={},ce={xID:Q,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>le},de=(we,$e,Ee)=>{X(we,createEvent$3(Ee,{$textEllipsis:ce},$e))},ue=we=>{const $e=Z.value,Ee=ee.value;if($e&&Ee){let xe=12;try{xe=Math.max(10,XEUtils.toNumber(getComputedStyle(Ee).fontSize))}catch{}const Me=oe.value;let De=Math.floor(we/xe),ke=Me.slice(0,De);Ee.textContent=ke,te.visibleLen=ke.length;let Oe=0;for(;we>Ee.clientWidth&&Oe<30;){Oe++;const Ne=Math.floor((we-Ee.clientWidth)/xe);if(Ne)De+=Ne,ke=Me.slice(0,De),Ee.textContent=ke,te.visibleLen=ke.length;else break}Ee.textContent="",Ee.style.display="",Ee.style.position="",Ee.style.top="",Ee.style.left=""}},he=()=>{const we=Z.value,$e=ee.value,Ee=oe.value,xe=re.value;if(we&&$e){const Me=we.clientWidth;$e.style.display="block",$e.style.position="absolute",$e.style.top="-3000px",$e.style.left="-3000px",$e.textContent=Ee;const De=$e.offsetWidth,ke=Math.floor(Me*xe);ke>De?te.visibleLen=Ee.length:ue(ke)}else te.visibleLen=Ee.length},fe={dispatchEvent:de},pe=()=>{X("click",{})},ve=()=>{const{resizeObserver:we}=te,$e=re.value;if(!we){const Ee=Z.value;if(Ee&&$e>1&&window.ResizeObserver){const xe=new window.ResizeObserver(XEUtils.throttle(()=>{he()},300,{leading:!0,trailing:!0}));xe.observe(Ee),te.resizeObserver=xe}}};Object.assign(ce,fe,{});const ge=()=>{const{loading:we,status:$e,title:Ee}=G,xe=K.value,Me=se.value,De=re.value;return vue.h("div",{ref:Z,class:["vxe-text-ellipsis",De>1?"is--multi":"is--single",{[`size--${xe}`]:xe,[`theme--${$e}`]:$e,"is--loading":we}],title:Ee,onClick:pe},[vue.h("span",{ref:ee,class:"vxe-text-ellipsis-reality"}),vue.h("span",{class:"vxe-text-ellipsis-content"},Me)])};return vue.watch(()=>G.content,()=>{he()}),vue.watch(()=>G.lineClamp,()=>{ve(),he()}),vue.onMounted(()=>{ve(),he()}),vue.onBeforeUnmount(()=>{const{resizeObserver:we}=te,$e=Z.value,Ee=ee.value;Ee&&(Ee.textContent=""),we&&($e&&we.unobserve($e),we.disconnect(),te.resizeObserver=null)}),ce.renderVN=ge,ce},render(){return this.renderVN()}}),VxeTextEllipsis=Object.assign({},VxeTextEllipsisComponent,{install(G){G.component(VxeTextEllipsisComponent.name,VxeTextEllipsisComponent)}});dynamicApp.use(VxeTextEllipsis),VxeUI.component(VxeTextEllipsisComponent);const TextEllipsis=VxeTextEllipsis,VxeText=Object.assign({},VxeTextComponent,{install(G){G.component(VxeTextComponent.name,VxeTextComponent)}});dynamicApp.use(VxeText),VxeUI.component(VxeTextComponent);const Text=VxeText,VxeTextarea=Object.assign(VxeTextareaComponent,{install:function(G){G.component(VxeTextareaComponent.name,VxeTextareaComponent)}});dynamicApp.use(VxeTextarea),VxeUI.component(VxeTextareaComponent);const Textarea=VxeTextarea,VxeTip=Object.assign({},VxeTipComponent,{install(G){G.component(VxeTipComponent.name,VxeTipComponent),G.component("VxeTipsComponent",VxeTipComponent)}});dynamicApp.use(VxeTip),VxeUI.component(VxeTipComponent);const Tips=VxeTip,Tip=VxeTip,VxeTooltip=Object.assign({},VxeTooltipComponent,{install(G){G.component(VxeTooltipComponent.name,VxeTooltipComponent)}});dynamicApp.use(VxeTooltip),VxeUI.component(VxeTooltipComponent);const Tooltip=VxeTooltip,VxeTree=Object.assign({},VxeTreeComponent,{install(G){G.component(VxeTreeComponent.name,VxeTreeComponent)}});dynamicApp.use(VxeTree),VxeUI.component(VxeTreeComponent);const Tree=VxeTree,VxeTreeSelect=Object.assign({},VxeTreeSelectComponent,{install(G){G.component(VxeTreeSelectComponent.name,VxeTreeSelectComponent)}});dynamicApp.use(VxeTreeSelect),VxeUI.component(VxeTreeSelectComponent);const TreeSelect=VxeTreeSelect,VxeUpload=Object.assign({},VxeUploadComponent,{install(G){G.component(VxeUploadComponent.name,VxeUploadComponent)}});dynamicApp.use(VxeUpload),VxeUI.component(VxeUploadComponent),VxeUI.saveFile=saveLocalFile,VxeUI.readFile=readLocalFile;const Upload=VxeUpload;let canvasEl=null,fontEl=null;const fontCacheMaps={};function getMarkCanvas(){return canvasEl||(canvasEl=document.createElement("canvas"),canvasEl.style.position="absolute",canvasEl.style.top="0",canvasEl.style.left="0"),canvasEl}function removeMarkElement(G){if(G){const H=G.parentNode;H&&H.removeChild(G)}}function calcFontWH(G,H){const X=`${H}_${G}`;if(!fontCacheMaps[X]){fontEl||(fontEl=document.createElement("span")),fontEl.parentNode||document.body.append(fontEl),fontEl.textContent=G,fontEl.style.fontSize=toCssUnit(H);const Q=fontEl.offsetWidth,K=fontEl.offsetHeight;fontCacheMaps[X]={width:Q,height:K}}return fontCacheMaps[X]}function calcContentWH(G){let H=0,X=0;return G.forEach(Q=>{H=Math.max(Q.width,H),X=Math.max(Q.height,X)}),{contentWidth:H,contentHeight:X}}function calcCanvasWH(G,H){const{gap:X}=H,[Q=0,K=0]=X?XEUtils.isArray(X)?X:[X,X]:[],Z=G+XEUtils.toNumber(Q),ee=G+XEUtils.toNumber(K);return{canvasWidth:Z,canvasHeight:ee}}function getFontConf(G,H,X){return(G.font?G.font[H]:"")||(X.font?X.font[H]:"")}function createMarkFont(G,H,X){const{offset:Q}=X,K=XEUtils.toValueString(G.textContent),Z=XEUtils.toNumber(getFontConf(G,"fontSize",X)||H)||14,[ee=0,te=0]=Q?XEUtils.isArray(Q)?Q:[Q,Q]:[],{width:ne,height:re}=calcFontWH(K,Z);return{text:K,fontSize:Z,font:G.font,width:ne+XEUtils.toNumber(ee),height:re+XEUtils.toNumber(te)}}function drayFont(G,H,X){const Q=getFontConf(H,"fontWeight",X);G.fillStyle=`${getFontConf(H,"color",X)||"rgba(0, 0, 0, 0.15)"}`,G.font=[getFontConf(H,"fontStyle",X)||"normal",Q==="bold"||Q==="bolder"?"bold":"",toCssUnit(H.fontSize),getFontConf(H,"fontFamily",X)||"sans-serif"].join(" ")}function getContentUrl(G,H,X){const Q=Object.assign({},X),{rotate:K}=Q,Z=XEUtils.toNumber(K),ee=(XEUtils.isArray(G)?G:[G]).map(te=>te?te.textContent?createMarkFont(te,H,Q):createMarkFont({textContent:`${te}`},H,Q):createMarkFont({textContent:""},H,Q));return removeMarkElement(fontEl),new Promise(te=>{const ne=getMarkCanvas();ne.parentNode||document.body.append(ne);const re=ne.getContext("2d");if(re&&ee.length){const{contentWidth:oe,contentHeight:ae}=calcContentWH(ee),{canvasWidth:se,canvasHeight:le}=calcCanvasWH(oe,Q);ne.width=se,ne.height=le;const ce=(se-oe)/2,de=(le-ae)/2,ue=ce+oe/2,he=de+ae/2;re.save(),re.translate(ue,he),re.rotate(Z*Math.PI/180),re.translate(-ue,-he);let fe=0;ee.forEach(pe=>{const ve=getFontConf(pe,"align",Q);drayFont(re,pe,Q),re.fillText(pe.text,ce+(ve==="center"?(oe-pe.width)/2:0),de+(ae+ae)/2+fe,oe),fe+=pe.height}),re.restore(),te(ne.toDataURL()),removeMarkElement(ne)}else te(""),removeMarkElement(ne)})}const VxeWatermarkComponent=vue.defineComponent({name:"VxeWatermark",props:{width:String,height:String,imageUrl:String,rotate:{type:[Number,String],default:()=>getConfig$8().watermark.rotate},gap:{type:[Array,Number,String],default:()=>XEUtils.clone(getConfig$8().watermark.gap,!0)},content:[String,Array],font:Object,offset:Object,zIndex:[String,Number]},emits:[],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.ref(),Z=vue.reactive({markUrl:""}),ee={refElem:K},te=vue.computed(()=>XEUtils.assign({},XEUtils.clone(getConfig$8().watermark.font,!0),G.font)),ne=vue.computed(()=>{const{width:ue,height:he,zIndex:fe}=G,{markUrl:pe}=Z,ve={};return ue&&(ve.width=toCssUnit(ue)),he&&(ve.height=toCssUnit(he)),pe&&(ve.backgroundImage=`url(${pe})`),fe&&(ve.zIndex=fe),ve}),re={},oe={xID:Q,props:G,context:H,reactData:Z,getRefMaps:()=>ee,getComputeMaps:()=>re},se={dispatchEvent:(ue,he,fe)=>{X(ue,createEvent$3(fe,{$watermark:oe},he))}},le=()=>{const{content:ue,gap:he,rotate:fe,offset:pe}=G,ve=K.value,me=te.value;ve&&ue&&getContentUrl(ue,getComputedStyle(ve).fontSize,{font:me,rotate:fe,gap:he,offset:pe}).then(ge=>{Z.markUrl=ge})};Object.assign(oe,se,{});const de=()=>{const ue=ne.value;return vue.h("div",{ref:K,class:"vxe-watermark",style:ue})};return vue.watch(()=>G.imageUrl,()=>{le()}),vue.watch(()=>G.content,()=>{le()}),vue.watch(()=>G.gap,()=>{le()}),vue.watch(()=>G.rotate,()=>{le()}),vue.watch(()=>G.width,()=>{le()}),vue.watch(()=>G.height,()=>{le()}),vue.watch(()=>G.font,()=>{le()}),vue.onMounted(()=>{le(),globalEvents$4.on(oe,"resize",XEUtils.throttle(()=>{le()},300,{trailing:!0,leading:!0}))}),vue.onUnmounted(()=>{globalEvents$4.off(oe,"resize")}),oe.renderVN=de,oe},render(){return this.renderVN()}}),VxeWatermark=Object.assign({},VxeWatermarkComponent,{install(G){G.component(VxeWatermarkComponent.name,VxeWatermarkComponent)}});dynamicApp.use(VxeWatermark),VxeUI.component(VxeWatermarkComponent);const WatermarkController={load(G){return checkDynamic(),dynamicStore.globalWatermark=Object.assign({},G),Promise.resolve()},clear(){return dynamicStore.globalWatermark=null,Promise.resolve()}};VxeUI.watermark=WatermarkController;const Watermark=VxeWatermark,components$1=[VxeAlert,VxeAnchor,VxeAnchorLink,VxeAvatar,VxeBadge,VxeBreadcrumb,VxeBreadcrumbItem,VxeButton,VxeButtonGroup,VxeCalendar,VxeCard,VxeCarousel,VxeCarouselItem,VxeCheckbox,VxeCheckboxGroup,VxeCol,VxeCollapse,VxeCollapsePane,VxeColorPicker,VxeCountdown,VxeDatePicker,VxeDrawer,VxeEmpty,VxeForm,VxeFormDesign,VxeFormGather,VxeFormGroup,VxeFormItem,VxeFormView,VxeIcon,VxeIconPicker,VxeImage,VxeImageGroup,VxeImagePreview,VxeInput,VxeLayoutAside,VxeLayoutBody,VxeLayoutContainer,VxeLayoutFooter,VxeLayoutHeader,VxeLink,VxeListDesign,VxeListView,VxeList,VxeLoading,VxeMenu,VxeModal,VxeNoticeBar,VxeNumberInput,VxeOptgroup,VxeOption,VxePager,VxePasswordInput,VxePrintPageBreak,VxePrint,VxePulldown,VxeRadio,VxeRadioButton,VxeRadioGroup,VxeRate,VxeResult,VxeRow,VxeSelect,VxeSlider,VxeSteps,VxeSwitch,VxeTabPane,VxeTableSelect,VxeTabs,VxeTag,VxeTextEllipsis,VxeText,VxeTextarea,VxeTip,VxeTooltip,VxeTree,VxeTreeSelect,VxeUpload,VxeWatermark];function install$1(G,H){setConfig$1(H),components$1.forEach(X=>G.use(X))}const defaultLanguage="zh-CN";setI18n$1(defaultLanguage,zhCN),setLanguage$1(defaultLanguage),setTheme$1("light");const loading=LoadingController,modal=ModalController,drawer=DrawerController,watermark=WatermarkController,print=printHtml,saveFile=saveLocalFile,readFile=readLocalFile,VxeUIExport=Object.freeze(Object.defineProperty({__proto__:null,Alert,Anchor,AnchorLink,Avatar,Badge,Breadcrumb,BreadcrumbItem,Button,ButtonGroup,Calendar,Card,Carousel,CarouselItem,Checkbox,CheckboxGroup,Col,Collapse,CollapsePane,ColorPicker,Countdown,DatePicker,Drawer,DrawerController,Empty,Form,FormDesign,FormGather,FormGroup,FormItem,FormView,GLOBAL_EVENT_KEYS:GLOBAL_EVENT_KEYS$3,Icon,IconPicker,Image:Image$1,ImageGroup,ImagePreview,Input,LayoutAside,LayoutBody,LayoutContainer,LayoutFooter,LayoutHeader,Link,List,ListDesign,ListView,Loading,LoadingController,Menu,Modal,ModalController,NoticeBar,NumberInput,Optgroup,Option,Pager,PasswordInput,Print,PrintPageBreak,Pulldown,Radio,RadioButton,RadioGroup,Rate,Result,Row,Select,Slider,Steps,Switch,TabPane,TableSelect,Tabs,Tag,Text,TextEllipsis,Textarea,Tip,Tips,Tooltip,Tree,TreeSelect,Upload,VxeAlert,VxeAnchor,VxeAnchorLink,VxeAvatar,VxeBadge,VxeBreadcrumb,VxeBreadcrumbItem,VxeButton,VxeButtonGroup,VxeCalendar,VxeCard,VxeCarousel,VxeCarouselItem,VxeCheckbox,VxeCheckboxGroup,VxeCol,VxeCollapse,VxeCollapsePane,VxeColorPicker,VxeCore,VxeCountdown,VxeDatePicker,VxeDrawer,VxeEmpty,VxeForm,VxeFormDesign,VxeFormGather,VxeFormGroup,VxeFormItem,VxeFormView,VxeIcon,VxeIconPicker,VxeImage,VxeImageGroup,VxeImagePreview,VxeInput,VxeLayoutAside,VxeLayoutBody,VxeLayoutContainer,VxeLayoutFooter,VxeLayoutHeader,VxeLink,VxeList,VxeListDesign,VxeListView,VxeLoading,VxeMenu,VxeModal,VxeNoticeBar,VxeNumberInput,VxeOptgroup,VxeOption,VxePager,VxePasswordInput,VxePrint,VxePrintPageBreak,VxePulldown,VxeRadio,VxeRadioButton,VxeRadioGroup,VxeRate,VxeResult,VxeRow,VxeSelect,VxeSlider,VxeSteps,VxeSwitch,VxeTabPane,VxeTableSelect,VxeTabs,VxeTag,VxeText,VxeTextEllipsis,VxeTextarea,VxeTip,VxeTooltip,VxeTree,VxeTreeSelect,VxeUI,VxeUpload,VxeWatermark,Watermark,WatermarkController,checkVersion,clipboard:clipboard$1,commands:commands$3,component,config,coreVersion,createEvent:createEvent$3,drawer,formats:formats$4,getComponent,getConfig:getConfig$8,getI18n:getI18n$e,getIcon:getIcon$8,getLanguage,getSlotVNs:getSlotVNs$2,getTheme:getTheme$1,globalEvents:globalEvents$4,globalResize:globalResize$2,globalStore,handleCheckInfo,hasComponent,hasLanguage,hooks:hooks$9,install:install$1,interceptor:interceptor$2,loading,log:log$2,menus:menus$2,modal,permission,print,readFile,renderCustomIcon,renderEmptyElement:renderEmptyElement$3,renderGlobalIcon,renderer:renderer$c,saveFile,setConfig:setConfig$1,setI18n:setI18n$1,setIcon:setIcon$1,setLanguage:setLanguage$1,setTheme:setTheme$1,setup,use:use$1,useFns:useFns$3,usePermission,useSize,validators:validators$2,version,watermark},Symbol.toStringTag,{value:"Module"})),components=[WindowIndex,_sfc_main$7,WindowLayout,WindowGrid,WindowForm,_sfc_main$g,_sfc_main$i],install=(G,H={uis:[],axios:void 0,plugins:[],ui:"Default",httpHeaders:{TOKEN:()=>localStorage.getItem("TOKEN"),saToken:()=>localStorage.getItem("saToken")},crypto:{encrypt,decrypt},components:{},componentsPath:"/src/view",otherComponents:{},customI18n:!1,VXETableConfig:null,externalFun:null,beginEdit:null,endEdit:null})=>{var K,Z;components.forEach(ee=>{G.use(ee)}),(K=H==null?void 0:H.uis)!=null&&K.length&&H.uis.forEach(ee=>{G.use(ee)}),(Z=H==null?void 0:H.plugins)!=null&&Z.length&&H.plugins.forEach(ee=>{VxeTableExport.use(ee)}),VxeUIExport.use(VxeUIPluginExportXLSX,{ExcelJS}),G.use(VxeUIExport);const X=new ComponentMapping((H==null?void 0:H.ui)||"Default");G.component(Icon$2.name,Icon$2),G.component("AIcon",Icon$1),X.isDefault()&&(G.component(Tabs$1.name,Tabs$1),G.component(TabPane$1.name,TabPane$1),G.component(Upload$1.name,Upload$1),G.component(TreeSelect$1.name,TreeSelect$1)),Object.keys(icons).forEach(ee=>{G.component(ee,icons[ee])}),G.config.globalProperties.axios=(H==null?void 0:H.axios)||axios;let Q=null;H.customI18n?(Q=H.customI18n,G.provide("$t",Q),VxeTableExport.setConfig({i18n:(ee,te)=>H.customI18n(ee,te),translate(ee,te){return H.customI18n(ee,te)}})):(Q=ee=>ee,G.provide("$t",Q)),H.success&&G.provide("$success",H.success),H.error&&G.provide("$error",H.error),H.VXETableConfig&&VxeTableExport.setConfig(H.VXETableConfig),G.provide("$VXETableConfig",H.VXETableConfig),G.provide("$externalFun",H.externalFun),G.provide("$beginEdit",H.beginEdit),G.provide("$endEdit",H.endEdit),G.use(VxeTableExport),G.provide("$componentMapping",X),G.provide("$axios",G.config.globalProperties.axios),G.provide("$qs",qs),G.provide("$crypto",(H==null?void 0:H.crypto)||{encrypt,decrypt}),G.provide("$base64Encode",ee=>window.btoa(unescape(encodeURIComponent(ee)))),G.provide("$base64Decode",ee=>window.atob(escape(decodeURIComponent(ee)))),G.provide("$httpHeaders",(H==null?void 0:H.httpHeaders)||(()=>({TOKEN:localStorage.getItem("login-token"),saToken:localStorage.getItem("SATOKEN")}))),G.provide("$components",H==null?void 0:H.components),G.provide("$otherComponents",H==null?void 0:H.otherComponents),G.provide("$componentsPath",(H==null?void 0:H.componentsPath)||"/src/view"),G.provide("$ElMessage",G.config.globalProperties.$message),G.provide("$modal",VxeTableExport.modal),G.provide("$vxeMessage",VxeTableExport.modal.message),G.provide("$vxeConfirm",VxeTableExport.modal.confirm),G.provide("$vxeOpen",VxeTableExport.modal.open),G.provide("$vxeReadFile",VxeTableExport.readFile),G.provide("$ElMessageBox",G.config.globalProperties.$msgbox),G.provide("$router",G.config.globalProperties.$router),initVxeRenderer(VxeTableExport,X,Q),initVxeFormater(VxeTableExport),initVxeConfig(VxeTableExport)};function reConsole(){if(console!==null){const G=console.error;console.error=(...H)=>{var X;if(H!=null&&H.length){for(let Q of H)if(((X=Q==null?void 0:Q.indexOf)==null?void 0:X.call(Q,"[@ant-design/icons-vue] Make sure that you provide correct `viewBox` prop (default `0 0 1024 1024`) to the icon."))!==-1)return}G(...H)}}}console.info(`%cSLW %cVer 1.0.0-rc.2.7%c
371
+ `),VxeUI.modal.open({title:`${pe.title} - ${getI18n$e("vxe.formDesign.widgetProp.dataSource.batchEditOption")}`,width:500,height:"50vh ",resize:!0,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:getI18n$e("vxe.formDesign.widgetProp.dataSource.buildOption"),onConfirm:se,slots:{default(){return vue.h("div",{class:"vxe-form-design--widget-form-item-data-source-popup"},[vue.h(VxeTipComponent,{status:"primary",title:"",content:getI18n$e(`vxe.formDesign.widgetProp.dataSource.${Q?"batchEditSubTip":"batchEditTip"}`)}),vue.h(VxeTextareaComponent,{resize:"none",modelValue:K.value,"onUpdate:modelValue"(me){K.value=me}})])}}})},ce=(he,fe,pe,ve,me,ge,we)=>{const $e=!fe;return vue.h("div",{class:["vxe-form-design--widget-form-item-data-source-option",{"is--first":ge,"is--last":we}]},[vue.h("div",{class:"vxe-form-design--widget-expand-btn"},$e&&me?[vue.h("i",{class:pe?getIcon$8().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:getIcon$8().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,onClick(){oe(he,ve)}})]:[]),vue.h("input",{class:"vxe-default-input",value:he.value,onInput(Ee){he.value=Ee.target.value}}),vue.h(VxeButtonComponent,{status:"danger",mode:"text",icon:getIcon$8().FORM_DESIGN_WIDGET_DELETE,onClick(){ae(he,fe)}})])},de=()=>{const{renderParams:he}=G,{widget:fe}=he,{options:pe}=fe,ve=pe.options,me=[];return ve&&ve.forEach((ge,we)=>{const{options:$e}=ge,Ee=Z.value.includes(we);$e&&$e.length?(me.push(ce(ge,null,Ee,we,!0,we===0,we===ve.length-1)),Ee&&me.push(vue.h("div",{class:"vxe-form-design--widget-form-item-data-source-sub-option"},$e.map(xe=>ce(xe,ge,Ee,0,!1,!1,!1))))):me.push(ce(ge,null,Ee,we,!1,we===0,we===ve.length-1))}),me};vue.watch(()=>G.renderParams.widget,()=>{re()}),vue.onMounted(()=>{re()});const ue=()=>[vue.h("div",{},[vue.h(VxeButtonComponent,{status:"primary",mode:"text",content:getI18n$e("vxe.formDesign.widgetProp.dataSource.addOption"),onClick:ee}),vue.h(VxeButtonComponent,{status:"primary",mode:"text",content:getI18n$e("vxe.formDesign.widgetProp.dataSource.batchEditOption"),onClick:le})]),vue.h("div",{class:"vxe-form-design--widget-form-item-data-source-wrapper"},de())];return{renderDataSourceFormItem(){return vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.dataSource.name"),field:"options"},{default(){return ue()}})},renderDataSourceFormItemContent:ue}}function useWidgetPropDefaultValue(G){const H=vue.ref([{value:"custom",label:"自定义"}]);return{renderDefaultValueFormItem(){const{renderParams:X}=G,{widget:Q}=X,{defaultValue:K}=Q.options;return vue.h(VxeFormItemComponent,{title:"默认值"},{default(){return[vue.h(VxeSelectComponent,{modelValue:K.type,options:H.value,"onUpdate:modelValue"(Z){K.type=Z}}),vue.h(VxeInputComponent,{modelValue:K.value,"onUpdate:modelValue"(Z){K.value=Z}})]}})}}}const getFormDesignWidgetName=G=>getI18n$e(`vxe.formDesign.widget.component.${G}`),handleGetFormDesignWidgetName=G=>getFormDesignWidgetName(G.name),getWidgetTextConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-text",group:"layout",options:{color:"",align:"",bold:!1,fontSize:""}}),getFontSizeOptions=()=>XEUtils.range(12,27).map(G=>({label:`${G}px`,value:`${G}px`})),getAlignOptions=()=>[{label:getI18n$e("vxe.formDesign.widgetProp.textProp.alignLeft"),value:""},{label:getI18n$e("vxe.formDesign.widgetProp.textProp.alignCenter"),value:"center"},{label:getI18n$e("vxe.formDesign.widgetProp.textProp.alignRight"),value:"right"}],getBoldOptions=()=>[{label:getI18n$e("vxe.formDesign.widgetProp.textProp.fontNormal"),value:!1},{label:getI18n$e("vxe.formDesign.widgetProp.textProp.fontBold"),value:!0}],WidgetTextFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G),X=vue.ref(getAlignOptions()),Q=vue.ref(getBoldOptions()),K=vue.ref(getFontSizeOptions());return()=>{const{renderParams:Z}=G,{widget:ee}=Z,te=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${te}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:ee.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.textProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:ee.title,"onUpdate:modelValue"(ne){ee.title=ne}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.textProp.boldTitle"),field:"bold",itemRender:{name:"VxeRadioGroup",options:Q.value}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.textProp.alignTitle"),field:"align",itemRender:{name:"VxeRadioGroup",options:X.value}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.textProp.sizeTitle"),field:"fontSize",itemRender:{name:"VxeSelect",options:K.value}})]}})}}}),WidgetTextViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,{options:K}=Q,Z=H.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${Z}`],align:K.align},{default(){return vue.h("div",{style:{fontSize:K.fontSize,fontWeight:K.bold?"bold":""}},Q.title)}})}}}),getWidgetRowConfig=G=>{const{$formDesign:H}=G,X=2;return{title:handleGetFormDesignWidgetName,group:"layout",icon:"vxe-icon-row-col",options:{colSize:X,colSpan:"12,12"},children:H?XEUtils.range(0,X).map(()=>H.createEmptyWidget()):[]}},VxeRowComponent=vue.defineComponent({name:"VxeRow",props:{gutter:[Number,String,Array],wrap:{type:Boolean,default:()=>getConfig$8().row.wrap},vertical:Boolean,size:{type:String,default:()=>getConfig$8().row.size||getConfig$8().size}},emits:["click"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId();useSize(G);const Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne=vue.computed(()=>{const{gutter:ue,vertical:he}=G,fe={};if(ue){let[pe,ve]=XEUtils.isArray(ue)?ue:[ue];if(he&&(ve=pe,pe=""),pe){const me=XEUtils.isNumber(pe)?toCssUnit(-(pe/2)):`calc(${toCssUnit(pe)} / 2 * -1)`;fe.marginLeft=me,fe.marginRight=me}if(ve){const me=XEUtils.isNumber(ve)?toCssUnit(-(ve/2)):`calc(${toCssUnit(ve)} / 2 * -1)`;fe.marginTop=me,fe.marginBottom=me}}return fe}),re={},oe={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>re},ae=ue=>{se("click",{},ue)},se=(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$row:oe},he))};Object.assign(oe,{dispatchEvent:se},{});const de=()=>{const{vertical:ue,wrap:he}=G,fe=ne.value,pe=X.default;return vue.h("div",{ref:Z,class:["vxe-row",{"is--vertical":ue,"is--wrap":he}],style:fe,onClick:ae},pe?pe({}):[])};return vue.provide("$xeRow",oe),oe.renderVN=de,oe},render(){return this.renderVN()}}),WidgetRowFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null);if(!H)return()=>[];const{computeKebabCaseName:X}=useWidgetName(G),Q=vue.ref([{label:getI18n$e("vxe.formDesign.widgetProp.rowProp.col2"),value:2,list:[{value:"12,12",spans:[12,12]},{value:"8,16",spans:[8,16]},{value:"16,8",spans:[16,8]},{value:"6,18",spans:[6,18]},{value:"18,6",spans:[18,6]}]},{label:getI18n$e("vxe.formDesign.widgetProp.rowProp.col3"),value:3,list:[{value:"8,8,8",spans:[8,8,8]},{value:"6,6,12",spans:[6,6,12]},{value:"12,6,6",spans:[12,6,6]},{value:"6,12,6",spans:[6,12,6]}]},{label:getI18n$e("vxe.formDesign.widgetProp.rowProp.col4"),value:4,list:[{value:"6,6,6,6",spans:[6,6,6,6]}]},{label:getI18n$e("vxe.formDesign.widgetProp.rowProp.col6"),value:6,list:[{value:"4,4,4,4,4,4",spans:[4,4,4,4,4,4]}]}]),K={18:"3/4",16:"2/3",12:"1/2",8:"1/3",6:"1/4",4:"1/6"},Z=vue.computed(()=>{const{renderParams:te}=G,{widget:ne}=te,{options:re}=ne;return Q.value.find(oe=>oe.value===re.colSize)}),ee=te=>{const{renderParams:ne}=G,{widget:re}=ne,{options:oe}=re,{reactData:ae}=H,{widgetObjList:se}=ae,le=re.children.filter(de=>de.name),ce=le.slice(oe.colSize);if(ce.length){const de=XEUtils.findTree(se,ue=>ue.id===re.id,{children:"children"});if(de){const{items:ue,index:he}=de;he>=ue.length-1?ue.push(...ce):ue.splice(he+1,0,...ce)}}oe.colSpan=te.value,re.children=XEUtils.range(0,oe.colSize).map((de,ue)=>le[ue]||H.createEmptyWidget())};return()=>{const{renderParams:te}=G,{widget:ne}=te,re=X.value;return vue.h(VxeFormComponent,{class:`vxe-form-design--widget-${re}-form`,vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:ne.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.rowProp.colSize"),field:"colSize",itemRender:{name:"VxeRadioGroup",options:Q.value,props:{type:"button"}}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.rowProp.layout")},{default(){const oe=Z.value;return oe?oe.list.map((ae,se)=>vue.h(VxeRowComponent,{key:se,class:[`vxe-form-design--widget-${re}-form-row`,{"is--active":ae.value===ne.options.colSpan}],onClick(){ee(ae)}},{default(){return ae.spans.map((le,ce)=>vue.h(VxeColComponent,{key:`${se}${ce}`,class:`vxe-form-design--widget-${re}-form-col`,span:le},{default(){return vue.h("div",{},`${K[le]}`)}}))}})):[]}})]}})}}}),ViewColItemComponent=vue.defineComponent({name:"ViewColItem",props:{parentWidget:{type:Object,default:()=>({})},widget:{type:Object,default:()=>({})},span:Number,colItemIndex:{type:Number,default:0}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null);if(!H)return()=>[];const{reactData:X}=H,Q=Z=>{Z.stopPropagation();const ee=Z.currentTarget,te=Z.dataTransfer,ne=ee.getAttribute("data-widget-id")||"",re=H.getWidgetById(ne);te&&te.setData("text/plain",ne),X.sortWidget=re,X.dragWidget=null},K=Z=>{const{parentWidget:ee,colItemIndex:te}=G,{widgetObjList:ne,sortWidget:re}=X,oe=ee.children[te],ae=H.internalData;if(Z.stopPropagation(),re&&ee&&re.id!==ee.id){if(hasFormDesignLayoutType(re))return;if(!hasFormDesignLayoutType(oe)){const se=XEUtils.findTree(ne,le=>le&&le.id===re.id,{children:"children"});if(se){const{item:le,index:ce,items:de,parent:ue}=se;if(ee.children.length!==ee.options.colSize&&(ee.children=XEUtils.range(0,ee.options.colSize).map(he=>ee.children[he]||H.createEmptyWidget())),ue&&ue.id===ee.id)ee.children[te]=le,ee.children[ce]=oe;else{if(oe&&oe.name)return;ee.children[te]=le,de.splice(ce,1)}Z.preventDefault(),ae.lastDragTime=Date.now(),H.dispatchEvent("drag-widget",{widget:le},Z)}}}};return()=>{const{widget:Z,span:ee}=G,{dragWidget:te,activeWidget:ne,sortWidget:re}=X;return vue.h(VxeFormItemComponent,{span:ee,padding:!1},{default(){const oe=Z?Z.name:"",ae=renderer$c.get(oe)||{},se=ae.renderFormDesignWidgetEdit||ae.renderFormDesignWidgetView,le=Z||{name:oe},ce={widget:Z,readonly:!1,disabled:!1,isEditMode:!0,isViewMode:!1,$formDesign:H,$formView:null},de=ne&&Z&&ne.id===Z.id,ue=!se;return vue.h("div",{class:"vxe-form-design--widget-row-view","data-widget-id":Z.id,draggable:!ue,onDragstart:Q,onDragenter:K,onClick(he){Z&&H.handleClickWidget(he,Z)}},[vue.h("div",{class:["vxe-form-design--widget-row-view-item-inner",{"is--empty":ue,"is--active":de,"is--sort":re&&Z&&re.id===Z.id,"is--drag":te&&Z&&te.id===Z.id}]},[se?vue.h("div",{class:"vxe-form-design--widget-row-view-item-wrapper"},[vue.h("div",{class:"vxe-form-design--widget-row-view-item-box vxe-form--item-row"},getSlotVNs(se(le,ce))),de?vue.h("div",{class:"vxe-form-design--preview-item-operate"},[vue.h(VxeButtonComponent,{icon:getIcon$8().FORM_DESIGN_WIDGET_COPY,status:"primary",size:"mini",circle:!0,onClick(he){H.handleCopyWidget(he.$event,Z)}}),vue.h(VxeButtonComponent,{icon:getIcon$8().FORM_DESIGN_WIDGET_DELETE,status:"danger",size:"mini",circle:!0,onClick(he){H.handleRemoveWidget(he.$event,Z)}})]):vue.createCommentVNode()]):vue.h("div",{class:"vxe-form-design--widget-row-view-empty"},"控件位置")])])}})}}}),WidgetRowEditComponent=vue.defineComponent({name:"WidgetRowEdit",props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.computed(()=>{const{renderParams:X}=G,{widget:Q}=X,{options:K}=Q,{colSpan:Z}=K;return(Z?`${Z}`.split(","):[]).map(ne=>Number(ne))});return()=>{const{renderParams:X}=G,{widget:Q}=X;return vue.h(VxeFormGroupComponent,{field:Q.field},{default(){return H.value.map((Z,ee)=>vue.h(ViewColItemComponent,{key:ee,parentWidget:Q,widget:Q.children[ee],span:Z,colItemIndex:ee}))}})}}}),WidgetRowViewComponent=vue.defineComponent({name:"WidgetRowView",props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null),X=vue.inject("$xeFormView",null),Q=vue.computed(()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,{colSpan:te}=ee;return(te?`${te}`.split(","):[]).map(oe=>Number(oe))});return()=>{const{renderParams:K}=G,{widget:Z}=K,ee=Q.value;return vue.h(VxeRowComponent,{},{default(){return ee.map((te,ne)=>vue.h(VxeColComponent,{key:ne,class:"vxe-form--item-row",span:te},{default(){const re=Z.children[ne];if(re){const{name:oe}=re,se=(renderer$c.get(oe)||{}).renderFormDesignWidgetView,le=re,ce=!!H,de={widget:re,readonly:!1,disabled:!1,isEditMode:ce,isViewMode:!ce,$formDesign:H,$formView:X};if(se)return getSlotVNs(se(le,de))}return vue.createCommentVNode()}}))}})}}}),getWidgetSubtableConfig=()=>({title:handleGetFormDesignWidgetName,group:"layout",icon:"vxe-icon-subtable",options:{showCheckbox:!1}}),WidgetSubtableFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){if(!vue.inject("$xeFormDesign",null))return()=>[];const{computeKebabCaseName:X}=useWidgetName(G);return()=>{const{renderParams:Q}=G,{widget:K}=Q,{options:Z}=K,ee=X.value;return vue.h(VxeFormComponent,{class:`vxe-form-design--widget-${ee}-form`,vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Z},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(te){K.title=te}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.subtableProp.showCheckbox"),field:"showCheckbox"},{default(){return vue.h(VxeSwitchComponent,{modelValue:Z.showCheckbox,"onUpdate:modelValue"(te){Z.showCheckbox=te}})}})]}})}}}),ViewSubItemComponent=vue.defineComponent({props:{parentWidget:{type:Object,default:()=>({})},widget:{type:Object,default:()=>({})},childIndex:{type:Number,default:0}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null),X=vue.inject("$xeFormView",null);if(!H)return()=>[];const{reactData:Q}=H,K=ee=>{ee.stopPropagation();const te=ee.currentTarget,ne=ee.dataTransfer,re=te.getAttribute("data-widget-id")||"",oe=H.getWidgetById(re);ne&&ne.setData("text/plain",re),Q.sortWidget=oe,Q.dragWidget=null},Z=ee=>{const{parentWidget:te,childIndex:ne}=G,{widgetObjList:re,sortWidget:oe}=Q,ae=te.children[ne],se=H.internalData,{lastDragTime:le}=se;if(ee.stopPropagation(),le&&le>Date.now()-300){ee.preventDefault();return}if(oe&&ae&&te){if(oe.id===te.id||oe.id===ae.id||hasFormDesignLayoutType(oe))return;if(ae&&!hasFormDesignLayoutType(ae)){const ce=XEUtils.findTree(re,de=>de.id===oe.id,{children:"children"});if(ce){const{item:de,index:ue,items:he,parent:fe}=ce;fe&&fe.id===te.id?(te.children[ne]=de,te.children[ue]=ae):(te.children.splice(ne,0,de),he.splice(ue,1)),se.lastDragTime=Date.now(),H.dispatchEvent("drag-widget",{widget:de},ee)}}}};return()=>{const{widget:ee}=G,{dragWidget:te,activeWidget:ne,sortWidget:re}=Q,oe=ee?ee.name:"",ae=renderer$c.get(oe)||{},se=ae.renderFormDesignWidgetSubtableEditView||ae.renderFormDesignWidgetSubtableCellView||ae.renderFormDesignWidgetSubtableDefaultView,le=ae.renderFormDesignWidgetEdit||ae.renderFormDesignWidgetView,ce=ee||{name:oe},de=!!H,ue={widget:ee,readonly:!1,disabled:!1,isEditMode:de,isViewMode:!de,$formDesign:H,$formView:X},he=ne&&ee&&ne.id===ee.id,fe={name:oe},pe={$table:null,$grid:null,seq:"",column:{field:ee.field,title:ee.title},columnIndex:0,$columnIndex:0,_columnIndex:0,rowid:"",row:{},rowIndex:0,$rowIndex:0,_rowIndex:0,isEdit:!1,isHidden:!1,fixed:null,type:"",level:1,visibleData:[],items:[],data:[],widget:ee};return vue.h("div",{class:["vxe-form-design--widget-subtable-view-item",{"is--active":he,"is--sort":re&&ee&&re.id===ee.id,"is--drag":te&&ee&&te.id===ee.id}],draggable:!0,"data-widget-id":ee.id,onDragstart:K,onDragenter:Z,onClick(ve){ee&&H.handleClickWidget(ve,ee)}},[vue.h("div",{class:"vxe-form-design--widget-subtable-view-item-wrapper"},[vue.h("div",{class:"vxe-form-design--widget-subtable-view-item-box vxe-form--item-row"},se?vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item"],title:ee.title,field:ee.field,itemRender:{}},{default(){return getSlotVNs(se(fe,pe))}}):le?getSlotVNs(le(ce,ue)):[]),he?vue.h("div",{class:"vxe-form-design--preview-item-operate"},[vue.h(VxeButtonComponent,{icon:getIcon$8().FORM_DESIGN_WIDGET_COPY,status:"primary",size:"mini",circle:!0,onClick(ve){H.handleCopyWidget(ve.$event,ee)}}),vue.h(VxeButtonComponent,{icon:getIcon$8().FORM_DESIGN_WIDGET_DELETE,status:"danger",size:"mini",circle:!0,onClick(ve){H.handleRemoveWidget(ve.$event,ee)}})]):vue.createCommentVNode()])])}}}),WidgetSubtableEditComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormDesign",null);if(!H)return()=>[];const{reactData:X}=H,Q=Z=>{const{sortWidget:ee,widgetObjList:te}=X,{renderParams:ne}=G,{widget:re}=ne;if(Z.stopPropagation(),!(!ee||!re||re.id===ee.id)){if(hasFormDesignLayoutType(ee)){VxeUI.modal&&VxeUI.modal.message({content:getI18n$e("vxe.formDesign.widgetProp.subtableProp.errSubDrag"),status:"error",id:"errSubDrag"});return}if(re.name&&!re.children.some(oe=>oe.id===ee.id)){const oe=XEUtils.findTree(te,ae=>ae.id===ee.id,{children:"children"});if(oe){const{item:ae,index:se,items:le}=oe;X.sortWidget=null,X.activeWidget=ae,re.children.push(ae),le.splice(se,1),X.sortWidget=ae}}}},K=Z=>{Z.stopPropagation()};return()=>{const{renderParams:Z}=G,{widget:ee}=Z,{title:te,children:ne,options:re}=ee,{showCheckbox:oe}=re;return vue.h(VxeFormItemComponent,{title:te,className:"vxe-form-design--widget-subtable-form-item"},{default(){return vue.h("div",{class:"vxe-form-design--widget-subtable-view",onDragenter:K,onDragover:Q},[vue.h("div",{class:"vxe-form-design--widget-subtable-view-left"},[oe?vue.h("div",{class:"vxe-form-design--widget-subtable-col"},[vue.h("div",{class:"vxe-form-design--widget-subtable-head"},[vue.h(VxeCheckboxComponent)]),vue.h("div",{class:"vxe-form-design--widget-subtable-body"},[vue.h(VxeCheckboxComponent)])]):vue.createCommentVNode(),vue.h("div",{class:"vxe-form-design--widget-subtable-col"},[vue.h("div",{class:"vxe-form-design--widget-subtable-head"},getI18n$e("vxe.formDesign.widgetProp.subtableProp.seqTitle")),vue.h("div",{class:"vxe-form-design--widget-subtable-body"},"1")])]),vue.h("div",{class:"vxe-form-design--widget-subtable-view-right"},[vue.h("div",{class:"vxe-form-design--widget-subtable-view-wrapper"},[vue.h(vue.TransitionGroup,{class:"vxe-form-design--widget-subtable-view-list",tag:"div",name:"vxe-form-design--widget-subtable-view-list"},{default:()=>ne?ne.map((ae,se)=>vue.h(ViewSubItemComponent,{key:ae.id,parentWidget:ee,widget:ae,childIndex:se})):[]}),vue.h("div",{key:"empty",class:"vxe-form-design--widget-subtable-view-empty"},getI18n$e("vxe.formDesign.widgetProp.subtableProp.colPlace"))])])])}})}}}),WidgetSubtableViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=VxeUI.getComponent("VxeGrid"),X=vue.inject("$xeFormView",null),{computeKebabCaseName:Q}=useWidgetName(G),K=vue.ref(),Z=vue.ref([{}]),ee=vue.computed(()=>X?X.props.readonly:!1),te=vue.computed(()=>{const{renderParams:se}=G,{widget:le}=se,{children:ce,options:de}=le,ue=ee.value,he=[];return de.showCheckbox&&he.push({type:"checkbox",width:60,fixed:"left"}),he.push({type:"seq",width:60,fixed:"left"}),ce&&ce.forEach(fe=>{const{name:pe}=fe,ve=renderer$c.get(pe)||{},me=ve.parseFormDesignWidgetSubtableColumn;let ge={field:fe.field,title:fe.title};me?ge=Object.assign(ge,me({$formView:X,name:fe.name,widget:fe,readonly:!!ue})):ue?ge.cellRender={name:fe.name,props:fe.options}:ge.editRender={name:fe.name,props:fe.options};const we=ve.renderFormDesignWidgetSubtableDefaultView,$e=ve.renderFormDesignWidgetSubtableCellView||we,Ee=ve.renderFormDesignWidgetSubtableEditView,xe={};(we||$e)&&(xe.default=Me=>{const{isEdit:De,column:ke}=Me,{editRender:Oe,cellRender:Ne}=ke,_e=Object.assign({widget:fe},Me);return De&&Oe&&$e?getSlotVNs($e(Oe,_e)):we?getSlotVNs(we(Ne||{},_e)):[]}),Ee&&(xe.edit=Me=>{const{column:De}=Me,{editRender:ke}=De,Oe=Object.assign({widget:fe},Me);return getSlotVNs(Ee(ke,Oe))}),ge.slots=xe,he.push(ge)}),ue||he.push({field:"action",title:"操作",fixed:"right",width:80,slots:{default({row:fe}){return vue.h(VxeButtonComponent,{mode:"text",icon:"vxe-icon-delete",status:"error",onClick(){ae(fe)}})}}}),he}),ne=vue.computed(()=>{const{renderParams:se}=G,{widget:le,isEditMode:ce}=se,de=te.value,ue=ee.value,he={border:!0,showOverflow:!0,height:300,columnConfig:{resizable:!0,minWidth:140},rowConfig:{keyField:"_id"},data:ce?Z.value:X?X.getItemValue(le):null,columns:de,toolbarConfig:{zoom:!0,custom:!1,slots:{buttons:"toolbarButtons"}}};return ue||(he.keepSource=!0,he.editConfig={mode:"row",trigger:"click",showStatus:!0}),he}),re=()=>{const{renderParams:se}=G,{widget:le}=se,ce={_id:Date.now()};return XEUtils.each(le.children,de=>{ce[de.field]=null}),ce},oe=()=>{const{renderParams:se}=G,{widget:le}=se;if(X){let ce=X.getItemValue(le);XEUtils.isArray(ce)||(ce=[]);const de=re();ce.unshift(de),X.setItemValue(le,ce.slice(0)).then(()=>vue.nextTick().then(()=>{const ue=K.value;ue&&ue.setEditRow(de)}))}},ae=se=>{const{renderParams:le}=G,{widget:ce}=le;if(X){const de=X.getItemValue(ce);de&&X.setItemValue(ce,de.filter(ue=>ue._id!==se._id))}};return()=>{const{renderParams:se}=G,{widget:le}=se,ce=Q.value,de=ne.value,ue=ee.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ce}`],title:le.title,field:le.field,span:24},{default(){return H?vue.h(H,Object.assign(Object.assign({},de),{ref:K}),{toolbarButtons(){return ue?[]:[vue.h(VxeButtonComponent,{content:"新增",icon:"vxe-icon-add",status:"primary",onClick:oe})]}}):vue.createCommentVNode()}})}}}),getWidgetInputConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-input",query:!0,options:{placeholder:""}}),WidgetInputFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),WidgetInputViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],field:Z.field,title:Z.title,itemRender:{}},{default(){return vue.h("input",{class:"vxe-default-input",type:"text",placeholder:ee.placeholder||getI18n$e("vxe.base.pleaseInput"),value:H?H.getItemValue(Z):null,onChange:Q,onInput(ne){H&&H.setItemValue(Z,ne.target.value)}})}})}}}),getWidgetTextareaConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-textarea",query:!0,options:{placeholder:""}}),WidgetTextareaFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),WidgetTextareaViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h("textarea",{class:"vxe-default-textarea",placeholder:ee.placeholder||getI18n$e("vxe.base.pleaseInput"),value:H?H.getItemValue(Z):null,onChange:Q,onInput(ne){H&&H.setItemValue(Z,ne.target.value)}})}})}}}),getWidgetSelectConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-select",query:!0,options:{options:XEUtils.range(0,3).map((G,H)=>({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[H+1])}))}}),WidgetSelectFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{renderDataSourceFormItem:H}=useWidgetPropDataSource(G,{isSubOption:!0}),{computeKebabCaseName:X}=useWidgetName(G);return()=>{const{renderParams:Q}=G,{widget:K}=Q,Z=X.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${Z}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:K.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(ee){K.title=ee}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(ee){K.required=ee}})}}),H()]}})}}}),WidgetSelectViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:Z}=G,{widget:ee}=Z;if(H){const te=H?H.getItemValue(ee):null;H.updateWidgetStatus(ee,te)}},K=()=>{const{renderParams:Z}=G,{widget:ee}=Z,{options:te}=ee.options;return te?te.map(ne=>ne.options?vue.h("optgroup",{label:ne.value},ne.options.map(re=>vue.h("option",{value:re.value},re.value))):vue.h("option",{},ne.value)):[]};return()=>{const{renderParams:Z}=G,{widget:ee,isViewMode:te}=Z,ne=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ne}`],field:ee.field,title:ee.title,itemRender:{}},{default(){return vue.h("select",{class:"vxe-default-select",value:H?H.getItemValue(ee):null,onChange:Q},te?K():[])}})}}}),getWidgetVxeInputConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-input",query:!0,options:{placeholder:""}}),WidgetVxeInputFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),WidgetVxeInputViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],field:Z.field,title:Z.title,itemRender:{}},{default(){return vue.h(VxeInputComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:ee.placeholder,onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeNumberInputConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-number",query:!0,options:{placeholder:""}}),WidgetVxeNumberInputFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),VxeNumberInputComponent=vue.defineComponent({name:"VxeNumberInput",props:{modelValue:[String,Number],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"number"},clearable:{type:Boolean,default:()=>getConfig$8().numberInput.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,maxLength:[String,Number],autoComplete:{type:String,default:"off"},align:String,form:String,className:String,size:{type:String,default:()=>getConfig$8().numberInput.size||getConfig$8().size},multiple:Boolean,min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],exponential:{type:Boolean,default:()=>getConfig$8().numberInput.exponential},controls:{type:Boolean,default:()=>getConfig$8().numberInput.controls},digits:{type:[String,Number],default:()=>getConfig$8().numberInput.digits},prefixIcon:String,suffixIcon:String,maxlength:[String,Number],autocomplete:String},emits:["update:modelValue","input","change","keydown","keyup","wheel","click","focus","blur","clear","prev-number","next-number","prefix-click","suffix-click"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=XEUtils.uniqueId(),{computeSize:te}=useSize(G),ne=vue.reactive({isActivated:!1,inputValue:G.modelValue}),re={dnTimeout:void 0},oe=vue.ref(),ae=vue.ref(),se=vue.ref(),le={refElem:oe,refInput:ae},ce={xID:ee,props:G,context:H,reactData:ne,internalData:re,getRefMaps:()=>le};let de={};const ue=vue.computed(()=>{const{readonly:Qe}=G;return Qe===null?K?K.props.readonly:!1:Qe}),he=vue.computed(()=>{const{disabled:Qe}=G;return Qe===null?K?K.props.disabled:!1:Qe}),fe=vue.computed(()=>XEUtils.toInteger(G.digits)||1),pe=vue.computed(()=>{const{type:Qe}=G,ht=fe.value,et=G.step;return Qe==="integer"?XEUtils.toInteger(et)||1:Qe==="float"?XEUtils.toNumber(et)||1/Math.pow(10,ht):XEUtils.toNumber(et)||1}),ve=vue.computed(()=>G.clearable),me=vue.computed(()=>{const{multiple:Qe}=G;return ue.value||Qe}),ge=vue.computed(()=>{const{placeholder:Qe}=G;if(Qe)return getFuncText(Qe);const ht=getConfig$8().numberInput.placeholder;return ht?getFuncText(ht):getI18n$e("vxe.base.pleaseInput")}),we=vue.computed(()=>{const{maxLength:Qe,maxlength:ht}=G;return XEUtils.toNumber(Qe||ht)||16}),$e=vue.computed(()=>{const{type:Qe,immediate:ht}=G;return ht||!(Qe==="number"||Qe==="integer"||Qe==="float")}),Ee=vue.computed(()=>{const{type:Qe}=G,{inputValue:ht}=ne;return Qe==="integer"?XEUtils.toInteger(handleNumber(ht)):XEUtils.toNumber(handleNumber(ht))}),xe=vue.computed(()=>{const{inputValue:Qe}=ne;return XEUtils.toString(Qe)}),Me=vue.computed(()=>{const{min:Qe}=G,{inputValue:ht}=ne,et=Ee.value;return(ht||ht===0)&&Qe!==null?et<=XEUtils.toNumber(Qe):!1}),De=vue.computed(()=>{const{max:Qe}=G,{inputValue:ht}=ne,et=Ee.value;return(ht||ht===0)&&Qe!==null?et>=XEUtils.toNumber(Qe):!1}),ke=Qe=>XEUtils.eqNull(Qe)?"":`${Qe}`,Oe=Qe=>{const{type:ht,exponential:et}=G,nt=we.value,Ye=fe.value,tt=ht==="float"?toFloatValueFixed(Qe,Ye):ke(Qe);return et&&(Qe===tt||ke(Qe).toLowerCase()===XEUtils.toNumber(tt).toExponential())?Qe:tt.slice(0,nt)},Ne=Qe=>{const{inputValue:ht}=ne;de.dispatchEvent(Qe.type,{value:ht},Qe)},_e=(Qe,ht,et)=>{const nt=Qe===""||XEUtils.eqNull(Qe)?null:Number(Qe),Ye=Number(nt)!==G.modelValue;Ye&&Q("update:modelValue",nt),ne.inputValue!==ht&&vue.nextTick(()=>{ne.inputValue=ht||""}),de.dispatchEvent("input",{value:nt},et),Ye&&(de.dispatchEvent("change",{value:nt},et),K&&Z&&K.triggerItemEvent(et,Z.itemConfig.field,nt))},ye=(Qe,ht)=>{const et=$e.value,nt=Qe===""||XEUtils.eqNull(Qe)?null:XEUtils.toNumber(Qe);ne.inputValue=Qe,et?_e(nt,Qe,ht):de.dispatchEvent("input",{value:nt},ht)},Ce=Qe=>{const et=Qe.target.value;ye(et,Qe)},be=Qe=>{$e.value||Ne(Qe)},Te=Qe=>{ne.isActivated=!0,Ne(Qe)},Ae=Qe=>{if(!he.value){const{inputValue:et}=ne;de.dispatchEvent("prefix-click",{value:et},Qe)}},Re=(Qe,ht)=>{focus(),_e(null,"",Qe),de.dispatchEvent("clear",{value:ht},Qe)},Fe=Qe=>{if(!he.value){const{inputValue:et}=ne;de.dispatchEvent("suffix-click",{value:et},Qe)}},Be=()=>{const{type:Qe}=G,{inputValue:ht}=ne,et=fe.value;if(Qe==="float"&&ht){let nt="",Ye=null;ht&&(nt=toFloatValueFixed(ht,et),Ye=Number(nt)),ht!==Ye&&_e(Ye,nt,{type:"init"})}},je=Qe=>G.max===null||XEUtils.toNumber(Qe)<=XEUtils.toNumber(G.max),Le=Qe=>G.min===null||XEUtils.toNumber(Qe)>=XEUtils.toNumber(G.min),Ue=()=>{const{type:Qe,min:ht,max:et,exponential:nt}=G,{inputValue:Ye}=ne;if(!me.value){if(Ye===""){let Je=null,it=Ye;(ht||ht===0)&&(Je=XEUtils.toNumber(ht),it=`${Je}`),_e(Je,it,{type:"check"});return}if(Ye||ht||et){let Je=Qe==="integer"?XEUtils.toInteger(handleNumber(Ye)):XEUtils.toNumber(handleNumber(Ye));if(Le(Je)?je(Je)||(Je=et):Je=ht,nt){const ft=ke(Ye).toLowerCase();ft===XEUtils.toNumber(Je).toExponential()&&(Je=ft)}const it=Oe(Je);_e(it===null?null:Number(it),it,{type:"check"})}}},Ie=Qe=>{const{inputValue:ht}=ne,et=$e.value,nt=ht?Number(ht):null;et||_e(nt,ke(ht),Qe),Ue(),ne.isActivated=!1,de.dispatchEvent("blur",{value:nt},Qe),K&&Z&&K.triggerItemEvent(Qe,Z.itemConfig.field,nt)},Ve=(Qe,ht)=>{const{min:et,max:nt,type:Ye}=G,{inputValue:tt}=ne,Je=pe.value,it=Ye==="integer"?XEUtils.toInteger(handleNumber(tt)):XEUtils.toNumber(handleNumber(tt)),ft=Qe?XEUtils.add(it,Je):XEUtils.subtract(it,Je);let St;Le(ft)?je(ft)?St=ft:St=nt:St=et,ye(Oe(St),ht)},ze=Qe=>{const ht=he.value,et=ue.value,nt=Me.value;st(),!ht&&!et&&!nt&&Ve(!1,Qe),de.dispatchEvent("next-number",{value:ne.inputValue},Qe)},We=Qe=>{re.dnTimeout=window.setTimeout(()=>{ze(Qe),We(Qe)},60)},Xe=Qe=>{const ht=he.value,et=ue.value,nt=De.value;st(),!ht&&!et&&!nt&&Ve(!0,Qe),de.dispatchEvent("prev-number",{value:ne.inputValue},Qe)},He=Qe=>{const ht=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.ARROW_UP),et=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.ARROW_DOWN);(ht||et)&&(Qe.preventDefault(),ht?Xe(Qe):ze(Qe))},qe=Qe=>{const{exponential:ht,controls:et}=G,nt=Qe.ctrlKey,Ye=Qe.shiftKey,tt=Qe.altKey,Je=Qe.keyCode,it=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.ESCAPE),ft=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.ARROW_UP),St=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.ARROW_DOWN);!nt&&!Ye&&!tt&&(globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.SPACEBAR)||(!ht||Je!==69)&&Je>=65&&Je<=90||Je>=186&&Je<=188||Je>=191)&&Qe.preventDefault(),it?Ue():(ft||St)&&et&&He(Qe),Ne(Qe)},at=Qe=>{Ne(Qe)},st=()=>{const{dnTimeout:Qe}=re;Qe&&(clearTimeout(Qe),re.dnTimeout=void 0)},Ke=Qe=>{re.dnTimeout=window.setTimeout(()=>{Xe(Qe),Ke(Qe)},60)},dt=Qe=>{if(st(),Qe.button===0){const ht=hasClass(Qe.currentTarget,"is--prev");ht?Xe(Qe):ze(Qe),re.dnTimeout=window.setTimeout(()=>{ht?Ke(Qe):We(Qe)},500)}},wt=Qe=>{if(G.controls&&ne.isActivated){const ht=Qe.deltaY;ht>0?ze(Qe):ht<0&&Xe(Qe),Qe.preventDefault()}Ne(Qe)},$t=Qe=>{Ne(Qe)},mt=Qe=>{const{isActivated:ht}=ne,et=oe.value,nt=se.value;!he.value&&ht&&(ne.isActivated=getEventTargetNode(Qe,et).flag||getEventTargetNode(Qe,nt).flag,ne.isActivated||Ue())},bt=Qe=>{const{clearable:ht}=G;if(!he.value){const nt=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.TAB),Ye=globalEvents$4.hasKey(Qe,GLOBAL_EVENT_KEYS$3.DELETE);let tt=ne.isActivated;nt&&(tt&&Ue(),tt=!1,ne.isActivated=tt),Ye&&ht&&tt&&Re(Qe,null)}},Ot=()=>{const{isActivated:Qe}=ne;Qe&&Ue()},It=()=>{const Qe=De.value,ht=Me.value;return vue.h("div",{class:"vxe-input--control-icon"},[vue.h("div",{class:"vxe-input--number-icon"},[vue.h("div",{class:["vxe-input--number-btn is--prev",{"is--disabled":Qe}],onMousedown:dt,onMouseup:st,onMouseleave:st},[vue.h("i",{class:getIcon$8().NUMBER_INPUT_PREV_NUM})]),vue.h("div",{class:["vxe-input--number-btn is--next",{"is--disabled":ht}],onMousedown:dt,onMouseup:st,onMouseleave:st},[vue.h("i",{class:getIcon$8().NUMBER_INPUT_NEXT_NUM})])])])},yt=()=>{const{prefixIcon:Qe}=G,ht=X.prefix;return ht||Qe?vue.h("div",{class:"vxe-number-input--prefix",onClick:Ae},[vue.h("div",{class:"vxe-number-input--prefix-icon"},ht?getSlotVNs(ht({})):[vue.h("i",{class:Qe})])]):null},Et=()=>{const{suffixIcon:Qe}=G,{inputValue:ht}=ne,et=X.suffix,nt=he.value,Ye=ve.value;return vue.h("div",{class:["vxe-number-input--suffix",{"is--clear":Ye&&!nt&&!(ht===""||XEUtils.eqNull(ht))}]},[Ye?vue.h("div",{class:"vxe-number-input--clear-icon",onClick:Re},[vue.h("i",{class:getIcon$8().INPUT_CLEAR})]):vue.createCommentVNode(),Vt(),et||Qe?vue.h("div",{class:"vxe-number-input--suffix-icon",onClick:Fe},et?getSlotVNs(et({})):[vue.h("i",{class:Qe})]):vue.createCommentVNode()])},Vt=()=>{const{controls:Qe}=G;return Qe?It():vue.createCommentVNode()};de={dispatchEvent:(Qe,ht,et)=>{Q(Qe,createEvent$3(et,{$numberInput:ce},ht))},focus(){const Qe=ae.value;return ne.isActivated=!0,Qe.focus(),vue.nextTick()},blur(){return ae.value.blur(),ne.isActivated=!1,vue.nextTick()},select(){return ae.value.select(),ne.isActivated=!1,vue.nextTick()}},Object.assign(ce,de);const vt=()=>{const{className:Qe,controls:ht,type:et,align:nt,name:Ye,autocomplete:tt,autoComplete:Je}=G,{inputValue:it,isActivated:ft}=ne,St=te.value,kt=he.value,Nt=ue.value,Ht=xe.value;if(Nt)return vue.h("div",{ref:oe,class:["vxe-number-input--readonly",`type--${et}`,Qe]},Ht);const Lt=me.value,Bt=we.value,Xt=ge.value,Yt=ve.value,Jt=yt(),fn=Et();return vue.h("div",{ref:oe,class:["vxe-number-input",`type--${et}`,Qe,{[`size--${St}`]:St,[`is--${nt}`]:nt,"is--controls":ht,"is--prefix":!!Jt,"is--suffix":!!fn,"is--disabled":kt,"is--active":ft,"show--clear":Yt&&!kt&&!(it===""||XEUtils.eqNull(it))}],spellcheck:!1},[Jt||vue.createCommentVNode(),vue.h("div",{class:"vxe-number-input--wrapper"},[vue.h("input",{ref:ae,class:"vxe-number-input--inner",value:it,name:Ye,type:"text",placeholder:Xt,maxlength:Bt,readonly:Lt,disabled:kt,autocomplete:Je||tt,onKeydown:qe,onKeyup:at,onWheel:wt,onClick:$t,onInput:Ce,onChange:be,onFocus:Te,onBlur:Ie})]),fn||vue.createCommentVNode()])};return ce.renderVN=vt,vue.watch(()=>G.modelValue,Qe=>{ne.inputValue=Qe}),vue.watch(()=>G.type,()=>{Object.assign(ne,{inputValue:G.modelValue}),Be()}),vue.onMounted(()=>{globalEvents$4.on(ce,"mousedown",mt),globalEvents$4.on(ce,"keydown",bt),globalEvents$4.on(ce,"blur",Ot)}),vue.onBeforeUnmount(()=>{st(),Ue(),globalEvents$4.off(ce,"mousedown"),globalEvents$4.off(ce,"keydown"),globalEvents$4.off(ce,"blur")}),Be(),ce},render(){return this.renderVN()}}),WidgetVxeNumberInputViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeNumberInputComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:ee.placeholder,onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeDatePickerConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-calendar",options:{placeholder:"",defaultValue:{type:"",value:""}}}),WidgetVxeDatePickerFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),WidgetVxeDatePickerViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeDatePickerComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:ee.placeholder,onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeTextareaConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-textarea",options:{placeholder:""}}),WidgetVxeTextareaFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}}),WidgetVxeTextareaViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeTextareaComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:ee.placeholder,resize:"node",onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeSwitchConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-switch",query:!0,options:{}}),WidgetVxeSwitchFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}})]}})}}}),WidgetVxeSwitchViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,ee=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ee}`],field:Z.field,title:Z.title,itemRender:{}},{default(){return vue.h(VxeSwitchComponent,{modelValue:H?H.getItemValue(Z):null,onChange:Q,"onUpdate:modelValue"(te){H&&H.setItemValue(Z,te)}})}})}}}),getWidgetVxeSelectConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-select",query:!0,options:{placeholder:"",options:XEUtils.range(0,3).map((G,H)=>({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[H+1])})),multiple:!1}}),WidgetVxeSelectFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{renderDataSourceFormItem:H}=useWidgetPropDataSource(G,{isSubOption:!1}),{computeKebabCaseName:X}=useWidgetName(G);return()=>{const{renderParams:Q}=G,{widget:K}=Q,Z=X.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${Z}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:K.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(ee){K.title=ee}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.multiple"),field:"multiple",itemRender:{name:"VxeSwitch"}}),H(),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(ee){K.required=ee}})}})]}})}}}),WidgetVxeSelectViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z,isViewMode:ee}=K,{options:te}=Z,ne=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ne}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeSelectComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:te.placeholder||getI18n$e("vxe.base.pleaseSelect"),options:ee?te.options:[],optionProps:{label:"value",value:"value"},onChange:Q,"onUpdate:modelValue"(re){H&&H.setItemValue(Z,re)}})}})}}}),getWidgetVxeTreeSelectConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-tree-select",query:!0,options:{placeholder:"",options:XEUtils.range(0,3).map((G,H)=>({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[H+1])})),multiple:!1}}),WidgetVxeTreeSelectFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.multiple"),field:"multiple",itemRender:{name:"VxeSwitch"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:Q.required,"onUpdate:modelValue"(Z){Q.required=Z}})}})]}})}}});function getNodeUniqueId(){return XEUtils.uniqueId("node_")}const VxeTreeComponent=vue.defineComponent({name:"VxeTree",props:{data:Array,height:[String,Number],minHeight:{type:[String,Number],default:()=>getConfig$8().tree.minHeight},loading:Boolean,loadingConfig:Object,accordion:{type:Boolean,default:()=>getConfig$8().tree.accordion},childrenField:{type:String,default:()=>getConfig$8().tree.childrenField},valueField:{type:String,default:()=>getConfig$8().tree.valueField},keyField:{type:String,default:()=>getConfig$8().tree.keyField},parentField:{type:String,default:()=>getConfig$8().tree.parentField},titleField:{type:String,default:()=>getConfig$8().tree.titleField},hasChildField:{type:String,default:()=>getConfig$8().tree.hasChildField},transform:Boolean,isCurrent:Boolean,isHover:Boolean,showLine:{type:Boolean,default:()=>getConfig$8().tree.showLine},trigger:String,indent:{type:Number,default:()=>getConfig$8().tree.indent},showRadio:{type:Boolean,default:()=>getConfig$8().tree.showRadio},checkNodeKey:{type:[String,Number],default:()=>getConfig$8().tree.checkNodeKey},radioConfig:Object,showCheckbox:{type:Boolean,default:()=>getConfig$8().tree.showCheckbox},checkNodeKeys:{type:Array,default:()=>getConfig$8().tree.checkNodeKeys},checkboxConfig:Object,nodeConfig:Object,lazy:Boolean,toggleMethod:Function,loadMethod:Function,showIcon:{type:Boolean,default:!0},iconOpen:{type:String,default:()=>getConfig$8().tree.iconOpen},iconClose:{type:String,default:()=>getConfig$8().tree.iconClose},iconLoaded:{type:String,default:()=>getConfig$8().tree.iconLoaded},size:{type:String,default:()=>getConfig$8().tree.size||getConfig$8().size}},emits:["update:modelValue","update:checkNodeKey","update:checkNodeKeys","node-click","node-dblclick","current-change","radio-change","checkbox-change","load-success","load-error"],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.ref(),te=vue.reactive({currentNode:null,nodeMaps:{},selectRadioKey:G.checkNodeKey,treeList:[],treeExpandedMaps:{},treeExpandLazyLoadedMaps:{},selectCheckboxMaps:{},indeterminateCheckboxMaps:{}}),ne={},re={refElem:ee},oe=vue.computed(()=>G.titleField||"title"),ae=vue.computed(()=>G.keyField||"id"),se=vue.computed(()=>{const Qe=ae.value;return G.valueField||Qe}),le=vue.computed(()=>G.parentField||"parentId"),ce=vue.computed(()=>G.childrenField||"children"),de=vue.computed(()=>G.hasChildField||"hasChild"),ue=vue.computed(()=>{const Qe=ve.value,{isCurrent:ht}=Qe;return XEUtils.isBoolean(ht)?ht:G.isCurrent}),he=vue.computed(()=>{const Qe=ve.value,{isHover:ht}=Qe;return XEUtils.isBoolean(ht)?ht:G.isHover}),fe=vue.computed(()=>Object.assign({showIcon:!0},getConfig$8().tree.radioConfig,G.radioConfig)),pe=vue.computed(()=>Object.assign({showIcon:!0},getConfig$8().tree.checkboxConfig,G.checkboxConfig)),ve=vue.computed(()=>Object.assign({},getConfig$8().tree.nodeConfig,G.nodeConfig)),me=vue.computed(()=>Object.assign({},getConfig$8().tree.loadingConfig,G.loadingConfig)),ge=vue.computed(()=>{const{height:Qe,minHeight:ht}=G,et={};return Qe&&(et.height=toCssUnit(Qe)),ht&&(et.minHeight=toCssUnit(ht)),et}),we={computeRadioOpts:fe,computeCheckboxOpts:pe,computeNodeOpts:ve},$e={xID:K,props:G,context:H,internalData:ne,reactData:te,getRefMaps:()=>re,getComputeMaps:()=>we},Ee=Qe=>{const ht=se.value,et=XEUtils.get(Qe,ht);return XEUtils.eqNull(et)?"":encodeURIComponent(et)},xe=Qe=>{const{treeExpandedMaps:ht}=te,et=Ee(Qe);return!!ht[et]},Me=Qe=>{const{selectRadioKey:ht}=te;return ht===Qe},De=Qe=>Me(Ee(Qe)),ke=Qe=>{const{selectCheckboxMaps:ht}=te;return!!ht[Qe]},Oe=Qe=>ke(Ee(Qe)),Ne=Qe=>{const{indeterminateCheckboxMaps:ht}=te;return!!ht[Qe]},_e=Qe=>Ne(Ee(Qe)),ye=Qe=>{X("update:checkNodeKeys",Qe)},Ce=Qe=>{X("update:checkNodeKey",Qe)},be=Qe=>(Qe&&(te.selectRadioKey=Ee(Qe)),vue.nextTick()),Te=(Qe,ht)=>(Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Re(Qe.map(et=>Ee(et)),ht)),vue.nextTick()),Ae=(Qe,ht)=>(Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Re(Qe,ht)),vue.nextTick()),Re=(Qe,ht)=>{const et=Object.assign({},te.selectCheckboxMaps);Qe.forEach(nt=>{ht?et[nt]=!0:et[nt]&&delete et[nt]}),te.selectCheckboxMaps=et},Fe=Qe=>{const ht={};Qe&&Qe.forEach(et=>{ht[et]=!0}),te.selectCheckboxMaps=ht},Be=(Qe,ht,et)=>{ht?et[Qe]||(et[Qe]=!0):et[Qe]&&delete et[Qe]},je=(Qe,ht,et)=>{X(Qe,createEvent$3(et,{$tree:$e},ht))},Le=Qe=>{const ht=se.value;return Promise.resolve(Qe.map(et=>{const nt=Object.assign({},et);let Ye=Ee(nt);return Ye||(Ye=getNodeUniqueId(),XEUtils.set(nt,ht,Ye)),nt}))},Ue={dispatchEvent:je,clearCurrentNode(){return te.currentNode=null,vue.nextTick()},getCurrentNodeId(){const{currentNode:Qe}=te;return Qe?Ee(Qe):null},getCurrentNode(){const{currentNode:Qe,nodeMaps:ht}=te;if(Qe){const et=ht[Qe];if(et)return et.item}return null},setCurrentNodeId(Qe){const{nodeMaps:ht}=te,et=ht[Qe];return te.currentNode=et?et.item:null,vue.nextTick()},setCurrentNode(Qe){return te.currentNode=Qe,vue.nextTick()},clearRadioNode(){return te.selectRadioKey=null,vue.nextTick()},getRadioNodeId(){return te.selectRadioKey||null},getRadioNode(){const{selectRadioKey:Qe,nodeMaps:ht}=te;if(Qe){const et=ht[Qe];if(et)return et.item}return null},setRadioNodeId(Qe){return te.selectRadioKey=Qe,vue.nextTick()},setRadioNode:be,setCheckboxNode:Te,setCheckboxByNodeId:Ae,getCheckboxNodeIds(){const{selectCheckboxMaps:Qe}=te;return Object.keys(Qe)},getCheckboxNodes(){const{nodeMaps:Qe,selectCheckboxMaps:ht}=te,et=[];return XEUtils.each(ht,(nt,Ye)=>{const tt=Qe[Ye];tt&&et.push(tt.item)}),et},clearCheckboxNode(){return te.selectCheckboxMaps={},vue.nextTick()},setAllCheckboxNode(Qe){const ht={},et=ce.value;return Qe&&XEUtils.eachTree(te.treeList,nt=>{const Ye=Ee(nt);ht[Ye]=!0},{children:et}),te.selectCheckboxMaps=ht,vue.nextTick()},clearExpandNode(){return Ue.clearAllExpandNode()},clearAllExpandNode(){return XEUtils.each(te.nodeMaps,Qe=>{Qe.treeLoaded=!1}),te.treeExpandedMaps={},vue.nextTick()},setExpandByNodeId(Qe,ht){const et=Object.assign({},te.treeExpandedMaps);return Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Qe.forEach(nt=>{Be(nt,ht,et)}),te.treeExpandedMaps=et),vue.nextTick()},getExpandNodeIds(){const{treeExpandedMaps:Qe}=te;return Object.keys(Qe)},getExpandNodes(){const{nodeMaps:Qe,treeExpandedMaps:ht}=te,et=[];return XEUtils.each(ht,(nt,Ye)=>{const tt=Qe[Ye];tt&&et.push(tt.item)}),et},setExpandNode(Qe,ht){const et=Object.assign({},te.treeExpandedMaps);return Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Qe.forEach(nt=>{const Ye=Ee(nt);Be(Ye,ht,et)}),te.treeExpandedMaps=et),vue.nextTick()},toggleExpandByNodeId(Qe){const ht=Object.assign({},te.treeExpandedMaps);return Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Qe.forEach(et=>{Be(et,!ht[et],ht)}),te.treeExpandedMaps=ht),vue.nextTick()},toggleExpandNode(Qe){const ht=Object.assign({},te.treeExpandedMaps);return Qe&&(XEUtils.isArray(Qe)||(Qe=[Qe]),Qe.forEach(et=>{const nt=Ee(et);Be(nt,!ht[nt],ht)}),te.treeExpandedMaps=ht),vue.nextTick()},setAllExpandNode(Qe){const ht={},et=ce.value;return Qe&&XEUtils.eachTree(te.treeList,nt=>{const Ye=XEUtils.get(nt,et);if(Ye&&Ye.length){const Je=Ee(nt);ht[Je]=!0}},{children:et}),te.treeExpandedMaps=ht,vue.nextTick()},reloadExpandNode(Qe){const{lazy:ht}=G;return ht?(Ue.clearExpandLoaded(Qe),qe(Qe)):vue.nextTick()},clearExpandLoaded(Qe){const{lazy:ht}=G,{nodeMaps:et}=te;if(ht){const nt=et[Ee(Qe)];nt&&(nt.treeLoaded=!1)}return vue.nextTick()},loadChildrenNode(Qe,ht){const{lazy:et,transform:nt}=G,{nodeMaps:Ye}=te;if(!et)return Promise.resolve([]);const tt=ce.value,Je=Ye[Ee(Qe)],it=Je?Je.level:0,ft=Je?Je.nodes:[];return Le(ht).then(St=>(XEUtils.eachTree(St,(kt,Nt,Ht,Lt,Bt,Xt)=>{const Yt=Ee(kt);Ye[Yt]={item:Qe,itemIndex:-1,items:Ht,parent:Bt||Je.item,nodes:ft.concat(Xt),level:it+Xt.length,lineCount:0,treeLoaded:!1}},{children:tt}),Qe[tt]=St,nt&&(Qe[tt]=St),We(Qe),St))},isExpandByNode:xe,isCheckedByRadioNodeId:Me,isCheckedByRadioNode:De,isCheckedByCheckboxNodeId:ke,isIndeterminateByCheckboxNode:_e,isCheckedByCheckboxNode:Oe},Ie=()=>{const{treeList:Qe}=te,ht=se.value,et=ce.value,nt={};XEUtils.eachTree(Qe,(Ye,tt,Je,it,ft,St)=>{let kt=Ee(Ye);kt||(kt=getNodeUniqueId(),XEUtils.set(Ye,ht,kt)),nt[kt]={item:Ye,itemIndex:tt,items:Je,parent:ft,nodes:St,level:St.length,lineCount:0,treeLoaded:!1}},{children:et}),te.nodeMaps=nt},Ve=Qe=>{const{transform:ht}=G,et=ae.value,nt=le.value,Ye=ce.value;ht?te.treeList=XEUtils.toArrayTree(Qe,{key:et,parentKey:nt,mapChildren:Ye}):te.treeList=Qe?Qe.slice(0):[],Ie()},ze=(Qe,ht,et)=>{const{treeExpandedMaps:nt}=te,Ye=ce.value,tt=Ee(Qe);et.lineCount++,nt[tt]&&XEUtils.arrayEach(Qe[Ye],(Je,it,ft)=>{(!ht||it<ft.length-1)&&ze(Je,!1,et)})},We=Qe=>{const{nodeMaps:ht}=te;if(Qe){const et=Ee(Qe),nt=ht[et];nt&&XEUtils.lastArrayEach(nt.nodes,Ye=>{const tt=Ee(Ye),Je=ht[tt];Je&&(Je.lineCount=0,ze(Ye,!0,Je))})}},Xe=(Qe,ht)=>{const{showRadio:et,showCheckbox:nt,trigger:Ye}=G,tt=fe.value,Je=pe.value,it=ue.value;let ft=!1,St=!1,kt=!1,Nt=!1;it?(ft=!0,$t(Qe,ht)):te.currentNode&&(te.currentNode=null),Ye==="node"&&(Nt=!0,st(Qe,ht)),et&&tt.trigger==="node"&&(St=!0,mt(Qe,ht)),nt&&Je.trigger==="node"&&(kt=!0,wt(Qe,ht)),je("node-click",{node:ht,triggerCurrent:ft,triggerRadio:St,triggerCheckbox:kt,triggerExpand:Nt},Qe)},He=(Qe,ht)=>{je("node-dblclick",{node:ht},Qe)},qe=Qe=>{const ht=pe.value,{loadMethod:et}=G,{checkStrictly:nt}=ht;return new Promise(Ye=>{if(et){const tt=Object.assign({},te.treeExpandLazyLoadedMaps),{nodeMaps:Je}=te,it=Ee(Qe),ft=Je[it];tt[it]=!0,te.treeExpandLazyLoadedMaps=tt,Promise.resolve(et({$tree:$e,node:Qe})).then(St=>{const{treeExpandLazyLoadedMaps:kt}=te;if(ft.treeLoaded=!0,kt[it]&&(kt[it]=!1),XEUtils.isArray(St)||(St=[]),St)return Ue.loadChildrenNode(Qe,St).then(Nt=>{const Ht=Object.assign({},te.treeExpandedMaps);return Nt.length&&!Ht[it]&&(Ht[it]=!0),te.treeExpandedMaps=Ht,!nt&&Ue.isCheckedByCheckboxNodeId(it)&&Re(Nt.map(Lt=>Ee(Lt)),!0),We(Qe),je("load-success",{node:Qe,data:St},new Event("load-success")),vue.nextTick()});We(Qe),je("load-success",{node:Qe,data:St},new Event("load-success"))}).catch(St=>{const{treeExpandLazyLoadedMaps:kt}=te;ft.treeLoaded=!1,kt[it]&&(kt[it]=!1),We(Qe),je("load-error",{node:Qe,data:St},new Event("load-error"))}).finally(()=>vue.nextTick())}else Ye()})},at=(Qe,ht)=>{const{lazy:et,accordion:nt,toggleMethod:Ye}=G,{nodeMaps:tt,treeExpandLazyLoadedMaps:Je}=te,it=Object.assign({},te.treeExpandedMaps),ft=ce.value,St=de.value,kt=[];let Nt=Ye?Qe.filter(Lt=>Ye({$tree:$e,expanded:ht,node:Lt})):Qe;if(nt){Nt=Nt.length?[Nt[Nt.length-1]]:[];const Lt=Ee(Nt[0]),Bt=tt[Lt];Bt&&Bt.items.forEach(Xt=>{const Yt=Ee(Xt);it[Yt]&&delete it[Yt]})}const Ht=[];return ht?Nt.forEach(Lt=>{const Bt=Ee(Lt);if(!it[Bt]){const Xt=tt[Bt];et&&Lt[St]&&!Xt.treeLoaded&&!Je[Bt]?kt.push(qe(Lt)):Lt[ft]&&Lt[ft].length&&(it[Bt]=!0,Ht.push(Lt))}}):Nt.forEach(Lt=>{const Bt=Ee(Lt);it[Bt]&&(delete it[Bt],Ht.push(Lt))}),te.treeExpandedMaps=it,Ht.forEach(We),Promise.all(kt)},st=(Qe,ht)=>{const{lazy:et}=G,{treeExpandedMaps:nt,treeExpandLazyLoadedMaps:Ye}=te,tt=Ee(ht),Je=!nt[tt];Qe.stopPropagation(),(!et||!Ye[tt])&&at([ht],Je)},Ke=(Qe,ht,et)=>{const nt=ce.value,Ye=XEUtils.get(Qe,nt),tt=Ee(Qe);if(Ye&&Ye.length){let Je=!1,it=0;Ye.forEach(St=>{const kt=Ee(St),Nt=ht[kt];(Nt||et[kt])&&(Nt&&it++,Je=!0)}),it===Ye.length?(ht[tt]||(ht[tt]=!0),et[tt]&&delete et[tt]):(ht[tt]&&delete ht[tt],et[tt]=Je)}else et[tt]&&delete et[tt]},dt=()=>{const{treeList:Qe}=te,ht=ce.value,et=pe.value,{checkStrictly:nt}=et;if(!nt){const Ye=Object.assign({},te.selectCheckboxMaps),tt={};XEUtils.eachTree(Qe,(Je,it,ft,St,kt,Nt)=>{const Ht=XEUtils.get(Je,ht);if((!Ht||!Ht.length)&&Ke(Je,Ye,tt),it===ft.length-1)for(let Lt=Nt.length-2;Lt>=0;Lt--){const Bt=Nt[Lt];Ke(Bt,Ye,tt)}}),te.selectCheckboxMaps=Ye,te.indeterminateCheckboxMaps=tt}},wt=(Qe,ht)=>{Qe.preventDefault(),Qe.stopPropagation();const et=pe.value,{checkStrictly:nt,checkMethod:Ye}=et;let tt=!!Ye;if(Ye&&(tt=!Ye({node:ht})),tt)return;const Je=Object.assign({},te.selectCheckboxMaps),it=ce.value,ft=Ee(ht);let St=!1;Je[ft]?delete Je[ft]:(St=!0,Je[ft]=St),nt||XEUtils.eachTree(XEUtils.get(ht,it),Nt=>{const Ht=Ee(Nt);St?Je[Ht]||(Je[Ht]=!0):Je[Ht]&&delete Je[Ht]},{children:it}),te.selectCheckboxMaps=Je,dt();const kt=Object.keys(te.selectCheckboxMaps);ye(kt),je("checkbox-change",{node:ht,value:kt,checked:St},Qe)},$t=(Qe,ht)=>{Qe.preventDefault();const et=ve.value,{currentMethod:nt,trigger:Ye}=et,tt=ce.value,Je=XEUtils.get(ht,tt),it=Je&&Je.length;let ft=!!nt;if(Ye==="child"){if(it)return}else if(Ye==="parent"&&!it)return;if(nt&&(ft=!nt({node:ht})),ft)return;const St=!0;te.currentNode=ht,je("current-change",{node:ht,checked:St},Qe)},mt=(Qe,ht)=>{Qe.preventDefault(),Qe.stopPropagation();const et=fe.value,{checkMethod:nt}=et;let Ye=!!nt;if(nt&&(Ye=!nt({node:ht})),Ye)return;const tt=!0,Je=Ee(ht);te.selectRadioKey=Je,Ce(Je),je("radio-change",{node:ht,value:Je,checked:tt},Qe)};Object.assign($e,Ue,{});const Ot=(Qe,ht,et)=>{const{showRadio:nt}=G,Ye=fe.value,{showIcon:tt,checkMethod:Je,visibleMethod:it}=Ye,ft=!it||it({node:Qe});let St=!!Je;return nt&&tt&&ft?(Je&&(St=!Je({node:Qe})),vue.h("div",{class:["vxe-tree--radio-option",{"is--checked":et,"is--disabled":St}],onClick:kt=>{St||mt(kt,Qe)}},[vue.h("span",{class:["vxe-radio--icon",et?getIcon$8().RADIO_CHECKED:getIcon$8().RADIO_UNCHECKED]})])):vue.createCommentVNode()},It=(Qe,ht,et)=>{const{showCheckbox:nt}=G,Ye=pe.value,{showIcon:tt,checkMethod:Je,visibleMethod:it}=Ye,ft=Ne(ht),St=!it||it({node:Qe});let kt=!!Je;return nt&&tt&&St?(Je&&(kt=!Je({node:Qe})),vue.h("div",{class:["vxe-tree--checkbox-option",{"is--checked":et,"is--indeterminate":ft,"is--disabled":kt}],onClick:Nt=>{kt||wt(Nt,Qe)}},[vue.h("span",{class:["vxe-checkbox--icon",ft?getIcon$8().CHECKBOX_INDETERMINATE:et?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]})])):vue.createCommentVNode()},yt=Qe=>{const{lazy:ht,showRadio:et,showCheckbox:nt,showLine:Ye,indent:tt,iconOpen:Je,iconClose:it,iconLoaded:ft,showIcon:St}=G,{nodeMaps:kt,treeExpandedMaps:Nt,currentNode:Ht,selectRadioKey:Lt,treeExpandLazyLoadedMaps:Bt}=te,Xt=ce.value,Yt=oe.value,Jt=de.value,fn=XEUtils.get(Qe,Xt),mn=fn&&fn.length,cn=Q.title,kn=Q.extra,Tt=Ee(Qe),gt=Nt[Tt],Rt=kt[Tt],Ut=XEUtils.get(Qe,Yt),ct=[];mn&&Nt[Tt]&&(Ye&&ct.push(vue.h("div",{key:"line",class:"vxe-tree--node-child-line",style:{height:`calc(${Rt.lineCount} * var(--vxe-ui-tree-node-height) - var(--vxe-ui-tree-node-height) / 2)`,left:`${(Rt.level+1)*(tt||1)}px`}})),fn.forEach(gn=>{ct.push(yt(gn))}));let bn=!1;et&&(bn=Tt==Lt);let rn=!1;nt&&(rn=ke(Tt));let dn=!1,$n=!1,hn=!1;return ht&&($n=!!Bt[Tt],dn=Qe[Jt],hn=!!Rt.treeLoaded),vue.h("div",{class:["vxe-tree--node-wrapper",`node--level-${Rt.level}`],nodeid:Tt},[vue.h("div",{class:["vxe-tree--node-item",{"is--current":Ht&&Tt===Ee(Ht),"is-radio--checked":bn,"is-checkbox--checked":rn}],style:{paddingLeft:`${(Rt.level-1)*(tt||1)}px`},onClick(gn){Xe(gn,Qe)},onDblclick(gn){He(gn,Qe)}},[St||Ye?vue.h("div",{class:"vxe-tree--node-item-switcher"},St&&(ht?hn?mn:dn:mn)?[vue.h("div",{class:"vxe-tree--node-item-icon",onClick(gn){st(gn,Qe)}},[vue.h("i",{class:$n?ft||getIcon$8().TREE_NODE_LOADED:gt?Je||getIcon$8().TREE_NODE_OPEN:it||getIcon$8().TREE_NODE_CLOSE})])]:[]):vue.createCommentVNode(),Ot(Qe,Tt,bn),It(Qe,Tt,rn),vue.h("div",{class:"vxe-tree--node-item-inner"},[vue.h("div",{class:"vxe-tree--node-item-title"},cn?getSlotVNs(cn({node:Qe})):`${Ut}`),kn?vue.h("div",{class:"vxe-tree--node-item-extra"},getSlotVNs(kn({node:Qe}))):vue.createCommentVNode()])]),mn&&Nt[Tt]?vue.h("div",{class:"vxe-tree--node-child-wrapper"},ct):vue.createCommentVNode()])},Et=()=>{const{treeList:Qe}=te;return vue.h("div",{class:"vxe-tree--node-list-wrapper"},Qe.map(ht=>yt(ht)))},Vt=()=>{const{loading:Qe,trigger:ht,showLine:et}=G,nt=Z.value,Ye=fe.value,tt=pe.value,Je=ge.value,it=me.value,ft=he.value,St=Q.loading;return vue.h("div",{ref:ee,class:["vxe-tree",{[`size--${nt}`]:nt,"show--line":et,"checkbox--highlight":tt.highlight,"radio--highlight":Ye.highlight,"node--hover":ft,"node--trigger":ht==="node","is--loading":Qe}],style:Je},[Et(),vue.h(VxeLoadingComponent,{class:"vxe-tree--loading",modelValue:Qe,icon:it.icon,text:it.text},St?{default:()=>St({$tree:$e})}:{})])},ut=vue.ref(0);vue.watch(()=>G.data?G.data.length:0,()=>{ut.value++}),vue.watch(()=>G.data,()=>{ut.value++}),vue.watch(ut,()=>{Ve(G.data||[])}),vue.watch(()=>G.checkNodeKey,Qe=>{te.selectRadioKey=Qe});const vt=vue.ref(0);return vue.watch(()=>G.checkNodeKeys?G.checkNodeKeys.length:0,()=>{vt.value++}),vue.watch(()=>G.checkNodeKeys,()=>{vt.value++}),vue.watch(vt,()=>{Fe(G.checkNodeKeys||[])}),vue.onUnmounted(()=>{te.treeList=[],te.treeExpandedMaps={},te.nodeMaps={}}),Ve(G.data||[]),Fe(G.checkNodeKeys||[]),$e.renderVN=Vt,$e},render(){return this.renderVN()}});function getOptUniqueId(){return XEUtils.uniqueId("node_")}const VxeTreeSelectComponent=vue.defineComponent({name:"VxeTreeSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>XEUtils.eqNull(getConfig$8().treeSelect.placeholder)?getI18n$e("vxe.base.pleaseSelect"):getConfig$8().treeSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],popupClassName:[String,Function],prefixIcon:String,placement:String,options:Array,optionProps:Object,size:{type:String,default:()=>getConfig$8().select.size||getConfig$8().size},remote:Boolean,remoteMethod:Function,popupConfig:Object,treeConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click","node-click"],setup(G,H){const{emit:X,slots:Q}=H,K=vue.inject("$xeModal",null),Z=vue.inject("$xeDrawer",null),ee=vue.inject("$xeTable",null),te=vue.inject("$xeForm",null),ne=vue.inject("xeFormItemInfo",null),re=XEUtils.uniqueId(),{computeSize:oe}=useSize(G),ae=vue.ref(),se=vue.ref(),le=vue.ref(),ce=vue.ref(),de=vue.reactive({initialized:!1,fullOptionList:[],fullNodeMaps:{},panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),ue={hpTimeout:void 0},he={refElem:ae},fe=vue.computed(()=>{const{readonly:Et}=G;return Et===null?te?te.props.readonly:!1:Et}),pe=vue.computed(()=>{const{disabled:Et}=G;return Et===null?te?te.props.disabled:!1:Et}),ve=vue.computed(()=>{const{transfer:Et}=G;if(Et===null){const Vt=getConfig$8().select.transfer;if(XEUtils.isBoolean(Vt))return Vt;if(ee||K||Z||te)return!0}return Et}),me=vue.computed(()=>Object.assign({},getConfig$8().treeSelect.popupConfig,G.popupConfig)),ge=vue.computed(()=>Object.assign({},getConfig$8().treeSelect.treeConfig,G.treeConfig,{data:void 0})),we=vue.computed(()=>{const Et=ge.value;return Object.assign({isHover:!0},Et.nodeConfig)}),$e=vue.computed(()=>{const Et=ge.value;return Object.assign({showIcon:!!Et.showCheckbox},Et.checkboxConfig,{trigger:"node"})}),Ee=vue.computed(()=>{const Et=ge.value;return Object.assign({showIcon:!!Et.showRadio},Et.radioConfig,{trigger:"node"})}),xe=vue.computed(()=>G.optionProps||{}),Me=vue.computed(()=>ge.value.keyField||"id"),De=vue.computed(()=>xe.value.label||"label"),ke=vue.computed(()=>xe.value.value||"value"),Oe=vue.computed(()=>xe.value.children||"children"),Ne=vue.computed(()=>xe.value.parent||"parentField"),_e=vue.computed(()=>xe.value.hasChild||"hasChild"),ye=vue.computed(()=>{const{modelValue:Et}=G,{fullNodeMaps:Vt}=de,ut=De.value;return(XEUtils.isArray(Et)?Et:[Et]).map(vt=>{const Qe=Vt[vt];return Qe?Qe.item[ut]:vt}).join(", ")}),Ce=vue.computed(()=>{const Et=me.value,{height:Vt,width:ut}=Et,vt={};return ut&&(vt.width=toCssUnit(ut)),Vt&&(vt.height=toCssUnit(Vt),vt.maxHeight=toCssUnit(Vt)),vt}),be={},Te={xID:re,props:G,context:H,reactData:de,internalData:ue,getRefMaps:()=>he,getComputeMaps:()=>be},Ae=(Et,Vt,ut)=>{X(Et,createEvent$3(ut,{$treeSelect:Te},Vt))},Re=Et=>{X("update:modelValue",Et)},Fe={dispatchEvent:Ae},Be=Et=>{const Vt=Me.value,ut=Et[Vt];return ut?encodeURIComponent(ut):""},je=()=>{const{options:Et}=G,Vt=Me.value,ut=Oe.value,vt=ke.value,Qe={},ht={};XEUtils.eachTree(Et,(et,nt,Ye,tt,Je,it)=>{let ft=Be(et);ft||(ft=getOptUniqueId()),ht[ft]&&errLog("vxe.error.repeatKey",[Vt,ft]),ht[ft]=!0;const St=et[vt];Qe[St]&&errLog("vxe.error.repeatKey",[vt,St]),Qe[St]={item:et,index:nt,items:Ye,parent:Je,nodes:it}},{children:ut}),de.fullOptionList=Et||[],de.fullNodeMaps=Qe},Le=()=>{de.panelIndex<getLastZIndex()&&(de.panelIndex=nextZIndex())},Ue=()=>vue.nextTick().then(()=>{const{placement:Et}=G,{panelIndex:Vt}=de,ut=ae.value,vt=ce.value,Qe=ve.value;if(vt&&ut){const ht=ut.offsetHeight,et=ut.offsetWidth,nt=vt.offsetHeight,Ye=vt.offsetWidth,tt=5,Je={zIndex:Vt},{boundingTop:it,boundingLeft:ft,visibleHeight:St,visibleWidth:kt}=getAbsolutePos(ut);let Nt="bottom";if(Qe){let Ht=ft,Lt=it+ht;Et==="top"?(Nt="top",Lt=it-nt):Et||(Lt+nt+tt>St&&(Nt="top",Lt=it-nt),Lt<tt&&(Nt="bottom",Lt=it+ht)),Ht+Ye+tt>kt&&(Ht-=Ht+Ye+tt-kt),Ht<tt&&(Ht=tt),Object.assign(Je,{left:`${Ht}px`,top:`${Lt}px`,minWidth:`${et}px`})}else Et==="top"?(Nt="top",Je.bottom=`${ht}px`):Et||it+ht+nt>St&&it-ht-nt>tt&&(Nt="top",Je.bottom=`${ht}px`);return de.panelStyle=Je,de.panelPlacement=Nt,vue.nextTick()}}),Ie=()=>{const{loading:Et}=G,Vt=pe.value;!Et&&!Vt&&(clearTimeout(ue.hpTimeout),de.initialized||(de.initialized=!0),de.isActivated=!0,de.isAniVisible=!0,setTimeout(()=>{de.visiblePanel=!0},10),Le(),Ue())},Ve=()=>{de.visiblePanel=!1,ue.hpTimeout=window.setTimeout(()=>{de.isAniVisible=!1},350)},ze=(Et,Vt)=>{const{fullNodeMaps:ut}=de;if(Re(Vt),Vt!==G.modelValue){const vt=ut[Vt];Ae("change",{value:Vt,option:vt?vt.item:null},Et),te&&ne&&te.triggerItemEvent(Et,ne.itemConfig.field,Vt)}},We=(Et,Vt)=>{ze(Et,Vt),Ae("clear",{value:Vt},Et)},Xe=(Et,Vt)=>{We(Vt,null),Ve()},He=Et=>{const{visiblePanel:Vt}=de;if(!pe.value&&Vt){const vt=ce.value;getEventTargetNode(Et,vt).flag?Ue():Ve()}},qe=Et=>{const{visiblePanel:Vt}=de;if(!pe.value){const vt=ae.value,Qe=ce.value;de.isActivated=getEventTargetNode(Et,vt).flag||getEventTargetNode(Et,Qe).flag,Vt&&!de.isActivated&&Ve()}},at=()=>{Ve()},st=Et=>{pe.value||de.visiblePanel||(de.triggerFocusPanel=!0,Ie(),setTimeout(()=>{de.triggerFocusPanel=!1},150)),Ae("focus",{},Et)},Ke=Et=>{wt(Et),Ae("click",{},Et)},dt=Et=>{de.isActivated=!1,Ae("blur",{},Et)},wt=Et=>{const{$event:Vt}=Et;Vt.preventDefault(),de.triggerFocusPanel?de.triggerFocusPanel=!1:de.visiblePanel?Ve():Ie()},$t=Et=>{const{$event:Vt}=Et;Ae("node-click",Et,Vt)},mt=Et=>{const{value:Vt,$event:ut}=Et;ze(ut,Vt),Ve()},bt=Et=>{const{value:Vt,$event:ut}=Et;ze(ut,Vt)},Ot=()=>{je()};Object.assign(Te,Fe,{});const yt=()=>{const{className:Et,modelValue:Vt,multiple:ut,options:vt,loading:Qe}=G,{initialized:ht,isActivated:et,isAniVisible:nt,visiblePanel:Ye}=de,tt=oe.value,Je=pe.value,it=ye.value,ft=ve.value,St=fe.value,kt=Ce.value,Nt=Q.header,Ht=Q.footer,Lt=Q.prefix,Xt=me.value.className||G.popupClassName,Yt=ge.value,Jt=we.value,fn=$e.value,mn=Ee.value,cn=Me.value,kn=De.value,Tt=ke.value,gt=Oe.value,Rt=Ne.value,Ut=_e.value;return St?vue.h("div",{ref:ae,class:["vxe-tree-select--readonly",Et]},[vue.h("span",{class:"vxe-tree-select-label"},it)]):vue.h("div",{ref:ae,class:["vxe-tree-select",Et?XEUtils.isFunction(Et)?Et({$treeSelect:Te}):Et:"",{[`size--${tt}`]:tt,"is--visible":Ye,"is--disabled":Je,"is--loading":Qe,"is--active":et}]},[vue.h(VxeInputComponent,{ref:se,clearable:G.clearable,placeholder:Qe?getI18n$e("vxe.select.loadingText"):G.placeholder,readonly:!0,disabled:Je,type:"text",prefixIcon:G.prefixIcon,suffixIcon:Qe?getIcon$8().TREE_SELECT_LOADED:Ye?getIcon$8().TREE_SELECT_OPEN:getIcon$8().TREE_SELECT_CLOSE,modelValue:Qe?"":it,onClear:Xe,onClick:Ke,onFocus:st,onBlur:dt,onSuffixClick:wt},Lt?{prefix:()=>Lt({})}:{}),vue.h(vue.Teleport,{to:"body",disabled:ft?!ht:!0},[vue.h("div",{ref:ce,class:["vxe-table--ignore-clear vxe-tree-select--panel",Xt?XEUtils.isFunction(Xt)?Xt({$treeSelect:Te}):Xt:"",{[`size--${tt}`]:tt,"is--transfer":ft,"ani--leave":!Qe&&nt,"ani--enter":!Qe&&Ye}],placement:de.panelPlacement,style:de.panelStyle},ht?[vue.h("div",{class:"vxe-tree-select--panel-wrapper"},[Nt?vue.h("div",{class:"vxe-tree-select--panel-header"},Nt({})):renderEmptyElement$3(Te),vue.h("div",{class:"vxe-tree-select--panel-body"},[vue.h("div",{ref:le,class:"vxe-tree-select-tree--wrapper",style:kt},[vue.h(VxeTreeComponent,{class:"vxe-tree-select--tree",data:vt,indent:Yt.indent,showRadio:!ut,radioConfig:mn,checkNodeKey:ut?null:Vt,showCheckbox:!!ut,checkNodeKeys:ut?Vt:null,checkboxConfig:fn,titleField:kn,valueField:Tt,keyField:cn,childrenField:Yt.childrenField||gt,parentField:Yt.parentField||Rt,hasChildField:Yt.hasChildField||Ut,accordion:Yt.accordion,nodeConfig:Jt,lazy:Yt.lazy,loadMethod:Yt.loadMethod,toggleMethod:Yt.toggleMethod,transform:Yt.transform,trigger:Yt.trigger,showIcon:Yt.showIcon,showLine:Yt.showLine,iconOpen:Yt.iconOpen,iconLoaded:Yt.iconLoaded,iconClose:Yt.iconClose,onNodeClick:$t,onRadioChange:mt,onCheckboxChange:bt,onLoadSuccess:Ot})])]),Ht?vue.h("div",{class:"vxe-tree-select--panel-footer"},Ht({})):renderEmptyElement$3(Te)])]:[])])])};return vue.watch(()=>G.options,()=>{je()}),je(),vue.onMounted(()=>{globalEvents$4.on(Te,"mousewheel",He),globalEvents$4.on(Te,"mousedown",qe),globalEvents$4.on(Te,"blur",at)}),vue.onUnmounted(()=>{globalEvents$4.off(Te,"mousewheel"),globalEvents$4.off(Te,"mousedown"),globalEvents$4.off(Te,"blur")}),vue.provide("$xeTreeSelect",Te),Te.renderVN=yt,Te},render(){return this.renderVN()}}),WidgetVxeTreeSelectViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeTreeSelectComponent,{modelValue:H?H.getItemValue(Z):null,placeholder:ee.placeholder||getI18n$e("vxe.base.pleaseSelect"),options:ee.options,optionProps:{label:"value",value:"value"},onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeRadioGroupConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-radio-checked",options:{options:XEUtils.range(0,3).map((G,H)=>({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[H+1])}))}}),WidgetVxeRadioGroupFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{renderDataSourceFormItem:H}=useWidgetPropDataSource(G,{isSubOption:!1}),{computeKebabCaseName:X}=useWidgetName(G);return()=>{const{renderParams:Q}=G,{widget:K}=Q,Z=X.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${Z}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:K.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(ee){K.title=ee}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(ee){K.required=ee}})}}),H()]}})}}}),WidgetVxeRadioGroupViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeRadioGroupComponent,{modelValue:H?H.getItemValue(Z):null,options:ee.options,optionProps:{label:"value",value:"value"},onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeCheckboxGroupConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-checkbox-checked",options:{options:XEUtils.range(0,3).map((G,H)=>({value:getI18n$e("vxe.formDesign.widgetProp.dataSource.defValue",[H+1])}))}}),WidgetVxeCheckboxGroupFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{renderDataSourceFormItem:H}=useWidgetPropDataSource(G,{isSubOption:!1}),{computeKebabCaseName:X}=useWidgetName(G);return()=>{const{renderParams:Q}=G,{widget:K}=Q,Z=X.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${Z}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:K.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(ee){K.title=ee}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(ee){K.required=ee}})}}),H()]}})}}}),WidgetVxeCheckboxGroupViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeCheckboxGroupComponent,{modelValue:H?H.getItemValue(Z):null,options:ee.options,optionProps:{label:"value",value:"value"},onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}});function getLimitSizeOptions(){const G=[{label:"无限制",value:""}];return[1,2,5,10,20,50,100,200,500].forEach(X=>{G.push({label:`${X}M`,value:X})}),G}const getWidgetVxeUploadFileConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-file",options:{limitCount:"",limitSize:100,multiple:!1}}),WidgetVxeUploadFileFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G),X=vue.ref(getLimitSizeOptions());return()=>{const{renderParams:Q}=G,{widget:K}=Q,{options:Z}=K,ee=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${ee}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Z},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(te){K.title=te}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.multiFile"),field:"multiple",itemRender:{name:"VxeSwitch"}}),Z.multiple?vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.limitFileCount"),field:"limitCount",itemRender:{name:"VxeInput",props:{type:"integer",min:1,clearable:!0}}}):vue.createCommentVNode(),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.limitFileSize"),field:"limitSize",itemRender:{name:"VxeSelect",options:X.value}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(te){K.required=te}})}})]}})}}});let fileForm=null,fileInput=null;function parseFile(G){const H=G.name,X=XEUtils.lastIndexOf(H,"."),Q=H.substring(X+1,H.length).toLowerCase();return{filename:H.substring(0,X),type:Q}}const readLocalFile=G=>{const H=Object.assign({},G);return new Promise((X,Q)=>{fileInput||(fileInput=document.createElement("input"),fileInput.name="file",fileInput.type="file"),fileForm||(fileForm=document.createElement("form"),fileForm.style.display="none",fileForm.appendChild(fileInput),document.body.appendChild(fileForm));const K=H.types||[],Z=!K.length||K.some(ee=>ee==="*");fileInput.multiple=!!H.multiple,fileInput.accept=Z?"":`.${K.join(", .")}`,fileInput.onchange=ee=>{const te=ee.target,ne=Array.from(te.files||[]),re=ne[0];let oe="";if(!Z)for(let ae=0;ae<ne.length;ae++){const{type:se}=parseFile(ne[ae]);if(!XEUtils.includes(K,se)){oe=se;break}}oe?(H.message!==!1&&VxeUI.modal&&VxeUI.modal.message({content:getI18n$e("vxe.error.notType",[oe]),status:"error"}),Q({status:!1,files:ne,file:re})):X({status:!0,files:ne,file:re})},fileForm.reset(),fileInput.click()})};function getExportBlobByContent(G,H){return new Blob([G],{type:`text/${H.type};charset=utf-8;`})}const saveLocalFile=G=>{const H=Object.assign({type:""},G),{filename:X,type:Q,content:K}=H,Z=Q?`${X}.${Q}`:`${X}`;if(window.Blob){const ee=K instanceof Blob?K:getExportBlobByContent(XEUtils.toValueString(K),H),te=window.navigator;if(te.msSaveBlob)te.msSaveBlob(ee,Z);else{const ne=URL.createObjectURL(ee),re=document.createElement("a");re.target="_blank",re.download=Z,re.href=ne,document.body.appendChild(re),re.click(),requestAnimationFrame(()=>{re.parentNode&&re.parentNode.removeChild(re),URL.revokeObjectURL(ne)})}return Promise.resolve()}return Promise.reject(new Error(getI18n$e("vxe.error.notExp")))},VxeUploadComponent=vue.defineComponent({name:"VxeUpload",props:{modelValue:[Array,String,Object],showList:{type:Boolean,default:()=>getConfig$8().upload.showList},moreConfig:Object,readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},mode:{type:String,default:()=>getConfig$8().upload.mode},imageTypes:{type:Array,default:()=>XEUtils.clone(getConfig$8().upload.imageTypes,!0)},imageStyle:{type:Object,default:()=>XEUtils.clone(getConfig$8().upload.imageStyle,!0)},fileTypes:{type:Array,default:()=>XEUtils.clone(getConfig$8().upload.fileTypes,!0)},dragToUpload:{type:Boolean,default:()=>XEUtils.clone(getConfig$8().upload.dragToUpload,!0)},pasteToUpload:{type:Boolean,default:()=>XEUtils.clone(getConfig$8().upload.pasteToUpload,!0)},keyField:String,singleMode:Boolean,urlMode:Boolean,multiple:Boolean,limitSize:{type:[String,Number],default:()=>getConfig$8().upload.limitSize},limitCount:{type:[String,Number],default:()=>getConfig$8().upload.limitCount},nameField:{type:String,default:()=>getConfig$8().upload.nameField},typeField:{type:String,default:()=>getConfig$8().upload.typeField},urlField:{type:String,default:()=>getConfig$8().upload.urlField},sizeField:{type:String,default:()=>getConfig$8().upload.sizeField},showErrorStatus:{type:Boolean,default:()=>getConfig$8().upload.showErrorStatus},showProgress:{type:Boolean,default:()=>getConfig$8().upload.showProgress},progressText:{type:String,default:()=>getConfig$8().upload.progressText},autoHiddenButton:{type:Boolean,default:()=>getConfig$8().upload.autoHiddenButton},showUploadButton:{type:Boolean,default:()=>getConfig$8().upload.showUploadButton},buttonText:{type:String,default:()=>getConfig$8().upload.buttonText},buttonIcon:{type:String,default:()=>getConfig$8().upload.buttonIcon},showButtonText:{type:Boolean,default:()=>getConfig$8().upload.showButtonText},showButtonIcon:{type:Boolean,default:()=>getConfig$8().upload.showButtonIcon},showRemoveButton:{type:Boolean,default:()=>getConfig$8().upload.showRemoveButton},showDownloadButton:{type:Boolean,default:()=>getConfig$8().upload.showDownloadButton},showPreview:{type:Boolean,default:()=>getConfig$8().upload.showPreview},tipText:String,hintText:String,previewMethod:Function,uploadMethod:Function,beforeRemoveMethod:Function,removeMethod:Function,beforeDownloadMethod:Function,downloadMethod:Function,getUrlMethod:Function,getThumbnailUrlMethod:Function,size:{type:String,default:()=>getConfig$8().upload.size||getConfig$8().size}},emits:["update:modelValue","add","remove","remove-fail","download","download-fail","upload-success","upload-error"],setup(G,H){const{emit:X,slots:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=XEUtils.uniqueId(),{computeSize:te}=useSize(G),ne=vue.ref(),re=vue.reactive({isDrag:!1,showMorePopup:!1,isActivated:!1,fileList:[],fileCacheMaps:{}}),oe={imagePreviewTypes:["jpg","jpeg","png","gif"]},ae={refElem:ne},se=vue.computed(()=>{const{readonly:Ye}=G;return Ye===null?K?K.props.readonly:!1:Ye}),le=vue.computed(()=>{const{disabled:Ye}=G;return Ye===null?K?K.props.disabled:!1:Ye}),ce=vue.computed(()=>G.keyField||"_X_KEY"),de=vue.computed(()=>G.mode==="image"),ue=vue.computed(()=>G.nameField||"name"),he=vue.computed(()=>G.typeField||"type"),fe=vue.computed(()=>G.urlField||"url"),pe=vue.computed(()=>G.sizeField||"size"),ve=vue.computed(()=>XEUtils.toNumber(G.limitSize)*1024*1024),me=vue.computed(()=>G.multiple?XEUtils.toNumber(G.limitCount):1),ge=vue.computed(()=>{const{multiple:Ye}=G,{fileList:tt}=re,Je=me.value;return Ye?Je?tt.length>=Je:!0:tt.length>=1}),we=vue.computed(()=>{const Ye=XEUtils.toNumber(G.limitSize);return Ye?Ye>1048576?`${Ye/1048576}T`:Ye>1024?`${Ye/1024}G`:`${Ye}M`:""}),$e=vue.computed(()=>{const{limitSize:Ye,fileTypes:tt,multiple:Je,limitCount:it}=G,ft=G.tipText||G.hintText,St=de.value,kt=we.value;if(XEUtils.isString(ft))return ft;const Nt=[];return St?(Je&&it&&Nt.push(getI18n$e("vxe.upload.imgCountHint",[it])),Ye&&kt&&Nt.push(getI18n$e("vxe.upload.imgSizeHint",[kt]))):(tt&&tt.length&&Nt.push(getI18n$e("vxe.upload.fileTypeHint",[tt.join("/")])),Ye&&kt&&Nt.push(getI18n$e("vxe.upload.fileSizeHint",[kt])),Je&&it&&Nt.push(getI18n$e("vxe.upload.fileCountHint",[it]))),Nt.join(getI18n$e("vxe.base.comma"))}),Ee=vue.computed(()=>Object.assign({},G.imageStyle)),xe=vue.computed(()=>{const{width:Ye,height:tt}=Ee.value,Je={};return Ye&&(Je.width=toCssUnit(Ye)),tt&&(Je.height=toCssUnit(tt)),Je}),Me=vue.computed(()=>Object.assign({showMoreButton:!0},G.moreConfig)),De={},ke={xID:ee,props:G,context:H,reactData:re,internalData:oe,getRefMaps:()=>ae,getComputeMaps:()=>De},Oe=()=>XEUtils.uniqueId(),Ne=Ye=>{const tt=ce.value;return Ye[tt]},_e=()=>{const{modelValue:Ye,multiple:tt}=G,Je=se.value,it=ce.value,ft=ue.value,St=he.value,kt=fe.value,Nt=pe.value,Ht=Ye?(Ye?XEUtils.isArray(Ye)?Ye:[Ye]:[]).map(Lt=>{if(!Lt||XEUtils.isString(Lt)){const Xt=`${Lt||""}`,Yt=ye(Xt);return{[ft]:Yt,[St]:Ce(Yt),[kt]:Xt,[Nt]:0,[it]:Oe()}}const Bt=Lt[ft]||"";return Lt[ft]=Bt,Lt[St]=Lt[St]||Ce(Bt),Lt[kt]=Lt[kt]||"",Lt[Nt]=Lt[Nt]||0,Lt[it]=Lt[it]||Oe(),Lt}):[];re.fileList=Je||tt?Ht:Ht.slice(0,1)},ye=Ye=>decodeURIComponent(`${Ye||""}`).split("/").pop()||"",Ce=Ye=>{const tt=Ye?Ye.indexOf("."):-1;return tt>-1?Ye.substring(tt+1,Ye.length).toLowerCase():""},be=(Ye,tt,Je)=>{X(Ye,createEvent$3(Je,{$upload:ke},tt))},Te=Ye=>{const{singleMode:tt,urlMode:Je}=G,it=fe.value;let ft=Ye?Ye.slice(0):[];Je&&(ft=ft.map(St=>St[it])),X("update:modelValue",tt?ft[0]||null:ft)},Ae=Ye=>{const tt=G.getThumbnailUrlMethod||getConfig$8().upload.getThumbnailUrlMethod;return tt?tt({$upload:ke,option:Ye}):Re(Ye)},Re=Ye=>{const tt=G.getUrlMethod||getConfig$8().upload.getUrlMethod,Je=fe.value;return tt?tt({$upload:ke,option:Ye}):Ye[Je]},Fe=Ye=>{const{imageTypes:tt,showDownloadButton:Je}=G,it=he.value,ft=G.beforeDownloadMethod||getConfig$8().upload.beforeDownloadMethod,{imagePreviewTypes:St}=oe;St.concat(tt||[]).some(kt=>`${kt}`.toLowerCase()===`${Ye[it]}`.toLowerCase())&&VxeUI.previewImage&&VxeUI.previewImage({urlList:[Re(Ye)],showDownloadButton:Je,beforeDownloadMethod:ft?()=>ft({$upload:ke,option:Ye}):void 0})},Be=(Ye,tt)=>{const Je=G.previewMethod||getConfig$8().upload.previewMethod;G.showPreview&&(Je?Je({$upload:ke,option:tt}):Fe(tt))},je=(Ye,tt,Je)=>{const{showDownloadButton:it}=G,{fileList:ft}=re,St=G.beforeDownloadMethod||getConfig$8().upload.beforeDownloadMethod;G.showPreview&&VxeUI.previewImage&&VxeUI.previewImage({urlList:ft.map(kt=>Re(kt)),activeIndex:Je,showDownloadButton:it,beforeDownloadMethod:St?({index:kt})=>St({$upload:ke,option:ft[kt]}):void 0})},Le=(Ye,tt)=>{const{showErrorStatus:Je}=G,it=Ne(Ye),ft=G.uploadMethod||getConfig$8().upload.uploadMethod;if(ft)return Promise.resolve(ft({$upload:ke,file:tt,option:Ye,updateProgress(St){const{fileCacheMaps:kt}=re,Nt=kt[Ne(Ye)];Nt&&(Nt.percent=Math.max(0,Math.min(99,XEUtils.toNumber(St))))}})).then(St=>{const{fileCacheMaps:kt}=re,Nt=kt[it];Nt&&(Nt.percent=100),Object.assign(Ye,St),be("upload-success",{option:Ye,data:St},null)}).catch(St=>{const{fileCacheMaps:kt}=re,Nt=kt[it];Nt&&(Nt.status="error"),Je?Object.assign(Ye,St):re.fileList=re.fileList.filter(Ht=>Ne(Ht)!==it),be("upload-error",{option:Ye,data:St},null)}).finally(()=>{const{fileCacheMaps:St}=re,kt=St[it];kt&&(kt.loading=!1)});{const{fileCacheMaps:St}=re,kt=St[it];kt&&(kt.loading=!1)}return Promise.resolve()},Ue=Ye=>{const{uploadMethod:tt,urlMode:Je}=G,{fileCacheMaps:it}=re,ft=Ne(Ye),St=it[ft];if((tt||getConfig$8().upload.uploadMethod)&&St){const Nt=St.file;St.loading=!0,St.status="",St.percent=0,Le(Ye,Nt).then(()=>{Je&&Te(re.fileList)})}},Ie=(Ye,tt)=>{const{multiple:Je,urlMode:it}=G,{fileList:ft}=re,St=G.uploadMethod||getConfig$8().upload.uploadMethod,kt=ce.value,Nt=ue.value,Ht=he.value,Lt=fe.value,Bt=pe.value,Xt=ve.value,Yt=me.value,Jt=we.value;let fn=Ye;if(Je&&Yt){if(ft.length>=Yt){VxeUI.modal&&VxeUI.modal.notification({title:getI18n$e("vxe.modal.errTitle"),status:"error",content:getI18n$e("vxe.upload.overCountErr",[Yt])});return}const Tt=fn.length-(Yt-ft.length);if(Tt>0){const gt=fn.slice(Yt-ft.length);VxeUI.modal&&VxeUI.modal.notification({title:getI18n$e("vxe.modal.errTitle"),status:"error",slots:{default(){return vue.h("div",{class:"vxe-upload--file-message-over-error"},[vue.h("div",{},getI18n$e("vxe.upload.overCountExtraErr",[Yt,Tt])),vue.h("div",{class:"vxe-upload--file-message-over-extra"},gt.map((Rt,Ut)=>vue.h("div",{key:Ut,class:"vxe-upload--file-message-over-extra-item"},Rt.name)))])}}})}fn=fn.slice(0,Yt-ft.length)}if(Xt){for(let Tt=0;Tt<Ye.length;Tt++)if(Ye[0].size>Xt){VxeUI.modal&&VxeUI.modal.notification({title:getI18n$e("vxe.modal.errTitle"),status:"error",content:getI18n$e("vxe.upload.overSizeErr",[Jt])});return}}const mn=Object.assign({},re.fileCacheMaps),cn=Je?ft:[],kn=[];fn.forEach(Tt=>{const{name:gt}=Tt,Rt=Oe(),Ut={[Nt]:gt,[Ht]:Ce(gt),[Bt]:Tt.size,[Lt]:"",[kt]:Rt};St&&(mn[Rt]={file:Tt,loading:!0,status:"",percent:0});const ct=vue.reactive(Ut);St&&kn.push(Le(ct,Tt)),cn.push(ct),be("add",{option:ct},tt)}),re.fileList=cn,re.fileCacheMaps=mn,Promise.all(it?kn:[]).then(()=>{Te(cn),K&&Z&&K.triggerItemEvent(tt,Z.itemConfig.field,cn)})},Ve=Ye=>{const{multiple:tt,imageTypes:Je,fileTypes:it}=G,ft=le.value,St=de.value;return ft?Promise.resolve({status:!1,files:[],file:null}):readLocalFile({multiple:tt,types:St?Je:it}).then(kt=>(Ie(kt.files,Ye),kt))},ze=Ye=>{Ve(Ye).catch(()=>{})},We=(Ye,tt,Je)=>{const{fileList:it}=re;it.splice(Je,1),Te(it),K&&Z&&K.triggerItemEvent(Ye,Z.itemConfig.field,it),be("remove",{option:tt},Ye)},Xe=(Ye,tt,Je)=>{const it=G.beforeRemoveMethod||getConfig$8().upload.beforeRemoveMethod,ft=G.removeMethod||getConfig$8().upload.removeMethod;Promise.resolve(it?it({$upload:ke,option:tt}):!0).then(St=>{St?ft?Promise.resolve(ft({$upload:ke,option:tt})).then(()=>{We(Ye,tt,Je)}).catch(kt=>kt):We(Ye,tt,Je):be("remove-fail",{option:tt},Ye)})},He=(Ye,tt)=>{be("download",{option:tt},Ye)},qe=(Ye,tt)=>{const Je=G.beforeDownloadMethod||getConfig$8().upload.beforeDownloadMethod,it=G.downloadMethod||getConfig$8().upload.downloadMethod;Promise.resolve(Je?Je({$upload:ke,option:tt}):!0).then(ft=>{ft?it?Promise.resolve(it({$upload:ke,option:tt})).then(()=>{He(Ye,tt)}).catch(St=>St):He(Ye,tt):be("download-fail",{option:tt},Ye)})},at=Ye=>{const tt=Ye.currentTarget,{clientX:Je,clientY:it}=Ye;if(tt){const{x:ft,y:St,height:kt,width:Nt}=tt.getBoundingClientRect();(Je<ft||Je>ft+Nt||it<St||it>St+kt)&&(re.isDrag=!1)}},st=Ye=>{const tt=Ye.dataTransfer;if(tt){const{items:Je}=tt;Je&&Je.length&&(Ye.preventDefault(),re.isDrag=!0)}},Ke=(Ye,tt)=>{const{imageTypes:Je}=G,{imagePreviewTypes:it}=oe;if(de.value){const St=it.concat(Je&&Je.length?Je:[]);tt=tt.filter(kt=>{const Nt=`${kt.type.split("/")[1]||""}`.toLowerCase();return!!St.some(Ht=>`${Ht}`.toLowerCase()===Nt)})}if(!tt.length){VxeUI.modal&&VxeUI.modal.notification({title:getI18n$e("vxe.modal.errTitle"),status:"error",content:getI18n$e("vxe.upload.uploadTypeErr")});return}Ie(tt,Ye)},dt=Ye=>{const tt=Ye.dataTransfer;if(tt){const{items:Je}=tt;if(Je&&Je.length){Ye.preventDefault();const it=wt(Je);it.length&&Ke(Ye,it)}}re.isDrag=!1},wt=Ye=>{const tt=[];return XEUtils.arrayEach(Ye,Je=>{const it=Je.getAsFile();it&&tt.push(it)}),tt},$t=()=>{const Ye=se.value,tt=de.value;VxeUI.modal&&VxeUI.modal.open({title:getI18n$e(Ye?"vxe.upload.morePopup.readTitle":`vxe.upload.morePopup.${tt?"imageTitle":"fileTitle"}`),width:660,height:500,escClosable:!0,showMaximize:!0,resize:!0,maskClosable:!0,slots:{default(){const{showErrorStatus:Je,dragToUpload:it}=G,{isDrag:ft}=re,St=le.value,{fileList:kt}=re,Nt={};return it&&(Nt.onDragover=st,Nt.onDragleave=at,Nt.onDrop=dt),vue.h("div",Object.assign({class:["vxe-upload--more-popup",{"is--readonly":Ye,"is--disabled":St,"show--error":Je,"is--drag":ft}]},Nt),[tt?vue.h("div",{class:"vxe-upload--image-more-list"},vt(kt,!0).concat(Qe(!0))):vue.h("div",{class:"vxe-upload--file-more-list"},[Vt(!0),vue.h("div",{class:"vxe-upload--file-list"},Et(kt,!0))]),ft?vue.h("div",{class:"vxe-upload--drag-placeholder"},getI18n$e("vxe.upload.dragPlaceholder")):vue.createCommentVNode()])}},onShow(){re.showMorePopup=!0},onHide(){re.showMorePopup=!1}})},mt=Ye=>{const{pasteToUpload:tt}=G,{isActivated:Je}=re;if(!Je||!tt)return;const it=Ye.clipboardData||Ye.originalEvent.clipboardData;if(!it)return;const{items:ft}=it;if(!ft)return;const St=wt(ft);St.length&&(Ye.preventDefault(),Ke(Ye,St))},bt=Ye=>{const tt=ne.value,Je=getEventTargetNode(Ye,tt).flag;re.isActivated=Je},Ot=()=>{re.isActivated=!1};Object.assign(ke,{dispatchEvent:be,choose(){return Ve(null)}},{});const Et=(Ye,tt)=>{const{showRemoveButton:Je,showDownloadButton:it,showProgress:ft,progressText:St,showPreview:kt,showErrorStatus:Nt}=G,{fileCacheMaps:Ht}=re,Lt=le.value,Bt=se.value,Xt=ue.value,Yt=he.value,Jt=Q.corner;return Ye.map((fn,mn)=>{const cn=Ne(fn),kn=Ht[cn],Tt=kn&&kn.loading,gt=kn&&kn.status==="error";return vue.h("div",{key:mn,class:["vxe-upload--file-item",{"is--preview":kt,"is--loading":Tt,"is--error":gt}]},[vue.h("div",{class:"vxe-upload--file-item-icon"},[vue.h("i",{class:getIcon$8()[`UPLOAD_FILE_TYPE_${`${fn[Yt]}`.toLocaleUpperCase()}`]||getIcon$8().UPLOAD_FILE_TYPE_DEFAULT})]),vue.h("div",{class:"vxe-upload--file-item-name",onClick(Rt){!Tt&&!gt&&Be(Rt,fn)}},`${fn[Xt]||""}`),Tt?vue.h("div",{class:"vxe-upload--file-item-loading-icon"},[vue.h("i",{class:getIcon$8().UPLOAD_LOADING})]):vue.createCommentVNode(),ft&&Tt&&kn?vue.h("div",{class:"vxe-upload--file-item-loading-text"},St?XEUtils.toFormatString(St,{percent:kn.percent}):getI18n$e("vxe.upload.uploadProgress",[kn.percent])):vue.createCommentVNode(),Nt&&gt?vue.h("div",{class:"vxe-upload--image-item-error"},[vue.h(VxeButtonComponent,{icon:getIcon$8().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:getI18n$e("vxe.upload.reUpload"),onClick(){Ue(fn)}})]):vue.createCommentVNode(),vue.h("div",{class:"vxe-upload--file-item-btn-wrapper"},[Jt?vue.h("div",{class:"vxe-upload--file-item-corner"},getSlotVNs(Jt({option:fn,isMoreView:tt,readonly:Bt}))):vue.createCommentVNode(),it&&!Tt?vue.h("div",{class:"vxe-upload--file-item-download-btn",onClick(Rt){qe(Rt,fn)}},[vue.h("i",{class:getIcon$8().UPLOAD_FILE_DOWNLOAD})]):vue.createCommentVNode(),Je&&!Bt&&!Lt&&!Tt?vue.h("div",{class:"vxe-upload--file-item-remove-btn",onClick(Rt){Xe(Rt,fn,mn)}},[vue.h("i",{class:getIcon$8().UPLOAD_FILE_REMOVE})]):vue.createCommentVNode()])])})},Vt=Ye=>{const{showUploadButton:tt,buttonText:Je,buttonIcon:it,showButtonText:ft,showButtonIcon:St,autoHiddenButton:kt}=G,Nt=le.value,Ht=se.value,Lt=$e.value,Bt=ge.value,Xt=Q.default,Yt=Q.tip||Q.hint;return Ht||!tt?vue.createCommentVNode():vue.h("div",{class:"vxe-upload--file-action"},[kt&&Bt?vue.createCommentVNode():vue.h("div",{class:"vxe-upload--file-action-btn",onClick:ze},Xt?getSlotVNs(Xt({$upload:ke})):[vue.h(VxeButtonComponent,{class:"vxe-upload--file-action-button",content:Ye||ft?Je?`${Je}`:getI18n$e("vxe.upload.fileBtnText"):"",icon:St?it||getIcon$8().UPLOAD_FILE_ADD:"",disabled:Nt})]),Ye&&(Lt||Yt)?vue.h("div",{class:"vxe-upload--file-action-tip"},Yt?getSlotVNs(Yt({$upload:ke})):Lt):vue.createCommentVNode()])},ut=()=>{const{moreConfig:Ye}=G,{fileList:tt}=re,Je=Me.value,{maxCount:it,showMoreButton:ft,layout:St}=Je,kt=St==="horizontal";let Nt=tt,Ht=0;return it&&tt.length>it&&(Ht=tt.length-it,Nt=tt.slice(0,it)),vue.h("div",{key:"all",class:"vxe-upload--file-wrapper"},[ft&&Ye&&kt?vue.createCommentVNode():Vt(!0),Nt.length||ft&&kt?vue.h("div",{class:["vxe-upload--file-list-wrapper",{"is--horizontal":kt}]},[Nt.length?vue.h("div",{class:"vxe-upload--file-list"},Et(Nt,!1)):vue.createCommentVNode(),ft&&Ht?vue.h("div",{class:"vxe-upload--file-over-more"},[vue.h(VxeButtonComponent,{mode:"text",content:getI18n$e("vxe.upload.moreBtnText",[tt.length]),status:"primary",onClick:$t})]):vue.createCommentVNode(),ft&&Ye&&kt?Vt(!1):vue.createCommentVNode()]):vue.createCommentVNode()])},vt=(Ye,tt)=>{const{showRemoveButton:Je,showProgress:it,progressText:ft,showPreview:St,showErrorStatus:kt}=G,{fileCacheMaps:Nt}=re,Ht=le.value,Lt=se.value,Bt=xe.value,Xt=Q.corner;return Ye.map((Yt,Jt)=>{const fn=Ne(Yt),mn=Nt[fn],cn=mn&&mn.loading,kn=mn&&mn.status==="error";return vue.h("div",{key:Jt,class:["vxe-upload--image-item",{"is--preview":St,"is--loading":cn,"is--error":kn}]},[vue.h("div",{class:"vxe-upload--image-item-box",style:tt?null:Bt,title:getI18n$e("vxe.upload.viewItemTitle"),onClick(Tt){!cn&&!kn&&je(Tt,Yt,Jt)}},[cn&&mn?vue.h("div",{class:"vxe-upload--image-item-loading"},[vue.h("div",{class:"vxe-upload--image-item-loading-icon"},[vue.h("i",{class:getIcon$8().UPLOAD_LOADING})]),it?vue.h("div",{class:"vxe-upload--image-item-loading-text"},ft?XEUtils.toFormatString(ft,{percent:mn.percent}):getI18n$e("vxe.upload.uploadProgress",[mn.percent])):vue.createCommentVNode()]):vue.createCommentVNode(),cn?vue.createCommentVNode():kn&&kt?vue.h("div",{class:"vxe-upload--image-item-error"},[vue.h(VxeButtonComponent,{icon:getIcon$8().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:getI18n$e("vxe.upload.reUpload"),onClick(){Ue(Yt)}})]):vue.h("img",{class:"vxe-upload--image-item-img",src:Ae(Yt)}),vue.h("div",{class:"vxe-upload--image-item-btn-wrapper",onClick(Tt){Tt.stopPropagation()}},[Xt?vue.h("div",{class:"vxe-upload--file-item-corner"},getSlotVNs(Xt({option:Yt,isMoreView:tt,readonly:Lt}))):vue.createCommentVNode(),Je&&!Lt&&!Ht&&!cn?vue.h("div",{class:"vxe-upload--image-item-remove-btn",onClick(Tt){Tt.stopPropagation(),Xe(Tt,Yt,Jt)}},[vue.h("i",{class:getIcon$8().UPLOAD_IMAGE_REMOVE})]):vue.createCommentVNode()])])])})},Qe=Ye=>{const{showUploadButton:tt,buttonText:Je,buttonIcon:it,showButtonText:ft,showButtonIcon:St,autoHiddenButton:kt}=G,Nt=se.value,Ht=$e.value,Lt=ge.value,Bt=xe.value,Xt=Q.default,Yt=Q.hint;return Nt||!tt||kt&&Lt?vue.createCommentVNode():vue.h("div",{key:"action",class:"vxe-upload--image-action"},[vue.h("div",{class:"vxe-upload--image-action-btn",onClick:ze},Xt?Xt({$upload:ke}):[vue.h("div",{class:"vxe-upload--image-action-box",style:Ye?null:Bt},[St?vue.h("div",{class:"vxe-upload--image-action-icon"},[vue.h("i",{class:it||getIcon$8().UPLOAD_IMAGE_ADD})]):vue.createCommentVNode(),Ye||ft?vue.h("div",{class:"vxe-upload--image-action-content"},Je?`${Je}`:getI18n$e("vxe.upload.imgBtnText")):vue.createCommentVNode(),Ye&&(Ht||Yt)?vue.h("div",{class:"vxe-upload--image-action-hint"},Yt?getSlotVNs(Yt({$upload:ke})):Ht):vue.createCommentVNode()])])])},ht=()=>{const{fileList:Ye}=re,tt=Me.value,{maxCount:Je,showMoreButton:it}=tt;let ft=Ye,St=0;return Je&&Ye.length>Je&&(St=Ye.length-Je,ft=Ye.slice(0,Je)),vue.h("div",{key:"image",class:"vxe-upload--image-wrapper"},[vue.h("div",{class:"vxe-upload--image-list"},vt(ft,!1).concat([it&&St?vue.h("div",{class:"vxe-upload--image-over-more"},[vue.h(VxeButtonComponent,{mode:"text",content:getI18n$e("vxe.upload.moreBtnText",[Ye.length]),status:"primary",onClick:$t})]):vue.createCommentVNode(),Qe(!1)]))])},et=()=>{const{showErrorStatus:Ye,dragToUpload:tt,pasteToUpload:Je}=G,{isDrag:it,showMorePopup:ft,isActivated:St}=re,kt=te.value,Nt=le.value,Ht=se.value,Lt=de.value,Bt={};return tt&&(Bt.onDragover=st,Bt.onDragleave=at,Bt.onDrop=dt),vue.h("div",Object.assign({ref:ne,class:["vxe-upload",{[`size--${kt}`]:kt,"is--active":St,"is--readonly":Ht,"is--disabled":Nt,"is--paste":Je,"show--error":Ye,"is--drag":it}]},Bt),[Lt?ht():ut(),it&&!ft?vue.h("div",{class:"vxe-upload--drag-placeholder"},getI18n$e("vxe.upload.dragPlaceholder")):vue.createCommentVNode()])},nt=vue.ref(0);return vue.watch(()=>G.modelValue?G.modelValue.length:0,()=>{nt.value++}),vue.watch(()=>G.modelValue,()=>{nt.value++}),vue.watch(nt,()=>{_e()}),vue.onMounted(()=>{process.env.NODE_ENV==="development"&&G.multiple&&G.singleMode&&errLog("vxe.error.errConflicts",["multiple","single-mode"]),globalEvents$4.on(ke,"paste",mt),globalEvents$4.on(ke,"mousedown",bt),globalEvents$4.on(ke,"blur",Ot)}),vue.onUnmounted(()=>{re.isDrag=!1,globalEvents$4.off(ke,"paste"),globalEvents$4.off(ke,"mousedown"),globalEvents$4.off(ke,"blur")}),_e(),ke.renderVN=et,ke},render(){return this.renderVN()}}),WidgetVxeUploadFileViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeUploadComponent,{modelValue:H?H.getItemValue(Z):null,mode:"all",multiple:ee.multiple,limitCount:ee.limitCount,limitSize:ee.limitSize,onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeUploadImageConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-file-image",options:{limitCount:9,limitSize:10,multiple:!1}}),WidgetVxeUploadImageFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G),X=vue.ref(getLimitSizeOptions());return()=>{const{renderParams:Q}=G,{widget:K}=Q,{options:Z}=K,ee=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${ee}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Z},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:K.title,"onUpdate:modelValue"(te){K.title=te}})}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.multiImg"),field:"multiple",itemRender:{name:"VxeSwitch"}}),Z.multiple?vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.limitImgCount"),field:"limitCount",itemRender:{name:"VxeInput",props:{type:"integer",min:1,clearable:!0}}}):vue.createCommentVNode(),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.uploadProp.limitImgSize"),field:"limitSize",itemRender:{name:"VxeSelect",options:X.value}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.required")},{default(){return vue.h(VxeSwitchComponent,{modelValue:K.required,"onUpdate:modelValue"(te){K.required=te}})}})]}})}}}),WidgetVxeUploadImageViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,{options:ee}=Z,te=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${te}`],title:Z.title,field:Z.field,itemRender:{}},{default(){return vue.h(VxeUploadComponent,{modelValue:H?H.getItemValue(Z):null,mode:"image",multiple:ee.multiple,limitCount:ee.limitCount,limitSize:ee.limitSize,onChange:Q,"onUpdate:modelValue"(ne){H&&H.setItemValue(Z,ne)}})}})}}}),getWidgetVxeRateConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-star",query:!0,options:{}}),WidgetVxeRateFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}})]}})}}}),VxeRateComponent=vue.defineComponent({name:"VxeRate",props:{modelValue:[Number,String],disabled:{type:Boolean,default:null},readonly:{type:Boolean,default:null},size:{type:String,default:()=>getConfig$8().rate.size||getConfig$8().size},status:String},emits:["update:modelValue","change"],setup(G,H){const{emit:X}=H,Q=vue.inject("$xeForm",null),K=vue.inject("xeFormItemInfo",null),Z=XEUtils.uniqueId(),{computeSize:ee}=useSize(G),te=vue.ref(),ne=vue.reactive({activeValue:null}),re={refElem:te},oe=vue.computed(()=>{const{disabled:we}=G;return we===null?Q?Q.props.readonly||Q.props.disabled:!1:we}),ae=vue.computed(()=>{const{modelValue:we}=G,{activeValue:$e}=ne;return XEUtils.toNumber($e===null?we:$e)}),se=vue.computed(()=>[1,2,3,4,5].map(we=>({value:we,label:we}))),le={},ce={xID:Z,props:G,context:H,reactData:ne,getRefMaps:()=>re,getComputeMaps:()=>le},de=(we,$e,Ee)=>{X(we,createEvent$3(Ee,{$rate:ce},$e))},ue={dispatchEvent:de},he={},fe=we=>{X("update:modelValue",we)},pe=(we,$e)=>{if(!oe.value){const xe=$e.value;ne.activeValue=xe}},ve=()=>{ne.activeValue=null},me=(we,$e)=>{if(!oe.value){const xe=$e.value;fe(xe),de("change",{value:xe},we),Q&&K&&Q.triggerItemEvent(we,K.itemConfig.field,xe)}};Object.assign(ce,ue,he);const ge=()=>{const{status:we}=G,$e=oe.value,Ee=se.value,xe=ee.value,Me=ae.value;return vue.h("div",{ref:te,class:["vxe-rate",{[`size--${xe}`]:xe,[`theme--${we}`]:we,"is--disabled":$e}]},Ee.map(De=>{const ke=Me>=De.value;return vue.h("div",{class:["vxe-rte--item",{"is--checked":ke}],onMouseenter(Oe){$e||pe(Oe,De)},onMouseleave:ve,onClick(Oe){$e||me(Oe,De)}},[vue.h("i",{class:ke?getIcon$8().RATE_CHECKED:getIcon$8().RATE_UNCHECKED})])}))};return ce.renderVN=ge,ce},render(){return this.renderVN()}}),WidgetVxeRateViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,ee=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ee}`],field:Z.field,title:Z.title,itemRender:{}},{default(){return vue.h(VxeRateComponent,{modelValue:H?H.getItemValue(Z):null,onChange:Q,"onUpdate:modelValue"(te){H&&H.setItemValue(Z,te)}})}})}}}),getWidgetVxeSliderConfig=()=>({title:handleGetFormDesignWidgetName,icon:"vxe-icon-slider",query:!0,options:{}}),WidgetVxeSliderFormComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const{computeKebabCaseName:H}=useWidgetName(G);return()=>{const{renderParams:X}=G,{widget:Q}=X,K=H.value;return vue.h(VxeFormComponent,{class:["vxe-form-design--widget-render-form-wrapper",`widget-${K}`],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:Q.options},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.formDesign.widgetProp.name")},{default(){return vue.h(VxeInputComponent,{modelValue:Q.title,"onUpdate:modelValue"(Z){Q.title=Z}})}})]}})}}}),VxeSliderComponent=vue.defineComponent({name:"VxeSlider",props:{modelValue:[String,Number,Array],vertical:Boolean,max:{type:[String,Number],default:()=>getConfig$8().slider.max},min:{type:[String,Number],default:()=>getConfig$8().slider.min},step:{type:[String,Number],default:()=>getConfig$8().slider.step},size:{type:String,default:()=>getConfig$8().slider.size||getConfig$8().size},range:{type:Boolean,default:()=>getConfig$8().slider.range},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null}},emits:["update:modelValue","change"],setup(G,H){const{emit:X}=H,Q=vue.inject("$xeForm",null),K=vue.inject("xeFormItemInfo",null),Z=XEUtils.uniqueId(),{computeSize:ee}=useSize(G),te=vue.ref(),ne=vue.ref(),re=vue.ref(),oe=vue.ref(),ae=vue.ref(),se=vue.reactive({startValue:0,endValue:0}),le={refElem:te},ce=vue.computed(()=>{const{readonly:ye}=G;return ye===null?Q?Q.props.readonly:!1:ye}),de=vue.computed(()=>{const{disabled:ye}=G;return ye===null?Q?Q.props.disabled:!1:ye}),ue=vue.computed(()=>XEUtils.toNumber(G.max||0)),he=vue.computed(()=>XEUtils.toNumber(G.min||0)),fe={},pe={xID:Z,props:G,context:H,reactData:se,getRefMaps:()=>le,getComputeMaps:()=>fe},ve=ye=>{X("update:modelValue",ye)},me=(ye,Ce,be)=>{X(ye,createEvent$3(be,{$slider:pe},Ce))},ge={dispatchEvent:me},we=ye=>{const{range:Ce}=G,be=ue.value,Te=he.value;return Ce?XEUtils.floor((ye-Te)/XEUtils.toNumber(be-Te)*100):0},$e=(ye,Ce)=>{const{range:be}=G,Te=ue.value,Ae=he.value;return XEUtils.floor((Ce-(be?ye:0)-Ae)/XEUtils.toNumber(Te-Ae)*100)},Ee=()=>{const{modelValue:ye}=G;if(XEUtils.isArray(ye)){const[Ce,be]=XEUtils.clone(ye,!0).sort();se.startValue=XEUtils.floor(XEUtils.toNumber(Ce||0)),se.endValue=XEUtils.floor(XEUtils.toNumber(be||0))}else se.startValue=0,se.endValue=XEUtils.floor(XEUtils.toNumber(ye||0))},xe=()=>{const{startValue:ye,endValue:Ce}=se,be=re.value,Te=oe.value,Ae=ae.value;let Re=0,Fe=0;ye>Ce?(Re=we(Ce),Fe=$e(Ce,ye)):(Re=we(ye),Fe=$e(ye,Ce)),be&&(be.style.left=`${Re}%`,be.style.width=`${Fe}%`),Te&&(Te.style.left=`${Re}%`),Ae&&(Ae.style.left=`${XEUtils.floor(Re+Fe)}%`)},Me=ye=>{const{range:Ce}=G,{startValue:be,endValue:Te}=se,Ae=Ce?[be,Te].sort():Te;ve(Ae),me("change",{value:Ae},ye),Q&&K&&Q.triggerItemEvent(ye,K.itemConfig.field,Ae)},De=(ye,Ce)=>{const be=ce.value,Te=de.value,Ae=ue.value,Re=he.value;if(!(be||Te)){ye.preventDefault();const Fe=document.onmousemove,Be=document.onmouseup;document.onmousemove=je=>{je.preventDefault();const Le=te.value,Ue=ne.value;if(Le&&Ue){const Ie=Ue.getBoundingClientRect(),Ve=(je.clientX-Ie.left)/Ie.width;Ce?se.endValue=XEUtils.floor(Math.max(Re,Math.min(Ae,Ve*(Ae-Re)+Re))):se.startValue=XEUtils.floor(Math.max(Re,Math.min(Ae,Ve*(Ae-Re))))}xe()},document.onmouseup=je=>{document.onmousemove=Fe,document.onmouseup=Be,Me(je),xe()}}},ke=ye=>{const Ce=ae.value,be=ye.currentTarget;De(ye,Ce?Ce.offsetLeft<be.offsetLeft:!1)},Oe=ye=>{const Ce=oe.value,be=ye.currentTarget;De(ye,Ce?be.offsetLeft>Ce.offsetLeft:!0)};Object.assign(pe,ge,{});const _e=()=>{const{vertical:ye,range:Ce}=G,be=ee.value,Te=ce.value,Ae=de.value;return vue.h("div",{ref:te,class:["vxe-slider",{[`size--${be}`]:be,"is--vertical":ye,"is--readonly":Te,"is--disabled":Ae}]},[vue.h("div",{class:"vxe-slider--inner"},[vue.h("div",{ref:ne,class:"vxe-slider--bar-wrapper"}),vue.h("div",{ref:re,class:"vxe-slider--bar-track"}),Te||!Ce?renderEmptyElement$3(pe):vue.h("div",{ref:oe,class:"vxe-slider--bar-btn vxe-slider--start-btn",onMousedown:ke}),Te?renderEmptyElement$3(pe):vue.h("div",{ref:ae,class:"vxe-slider--bar-btn vxe-slider--end-btn",onMousedown:Oe})])])};return vue.watch(()=>G.modelValue,()=>{Ee()}),vue.onMounted(()=>{xe()}),Ee(),pe.renderVN=_e,pe},render(){return this.renderVN()}}),WidgetVxeSliderViewComponent=vue.defineComponent({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(G){const H=vue.inject("$xeFormView",null),{computeKebabCaseName:X}=useWidgetName(G),Q=()=>{const{renderParams:K}=G,{widget:Z}=K;if(H){const ee=H?H.getItemValue(Z):null;H.updateWidgetStatus(Z,ee)}};return()=>{const{renderParams:K}=G,{widget:Z}=K,ee=X.value;return vue.h(VxeFormItemComponent,{class:["vxe-form-design--widget-render-form-item",`widget-${ee}`],field:Z.field,title:Z.title,itemRender:{}},{default(){return vue.h(VxeSliderComponent,{modelValue:H?H.getItemValue(Z):null,onChange:Q,"onUpdate:modelValue"(te){H&&H.setItemValue(Z,te)}})}})}}});renderer$c.mixin({text:{createFormDesignWidgetConfig:getWidgetTextConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetTextViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetTextFormComponent,{renderOpts:G,renderParams:H})}},title:{createFormDesignWidgetConfig:getWidgetTextConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetTextViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetTextFormComponent,{renderOpts:G,renderParams:H})}},row:{createFormDesignWidgetConfig:getWidgetRowConfig,renderFormDesignWidgetEdit(G,H){return vue.h(WidgetRowEditComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetView(G,H){return vue.h(WidgetRowViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetRowFormComponent,{renderOpts:G,renderParams:H})}},subtable:{createFormDesignWidgetConfig:getWidgetSubtableConfig,renderFormDesignWidgetEdit(G,H){return vue.h(WidgetSubtableEditComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetView(G,H){return vue.h(WidgetSubtableViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetSubtableFormComponent,{renderOpts:G,renderParams:H})}},input:{createFormDesignWidgetConfig:getWidgetInputConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetInputViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetInputFormComponent,{renderOpts:G,renderParams:H})}},textarea:{createFormDesignWidgetConfig:getWidgetTextareaConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetTextareaViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetTextareaFormComponent,{renderOpts:G,renderParams:H})}},select:{createFormDesignWidgetConfig:getWidgetSelectConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetSelectViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetSelectFormComponent,{renderOpts:G,renderParams:H})}},VxeInput:{createFormDesignWidgetConfig:getWidgetVxeInputConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeInputViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeInputFormComponent,{renderOpts:G,renderParams:H})}},VxeNumberInput:{createFormDesignWidgetConfig:getWidgetVxeNumberInputConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeNumberInputViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeNumberInputFormComponent,{renderOpts:G,renderParams:H})}},VxeDatePicker:{createFormDesignWidgetConfig:getWidgetVxeDatePickerConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeDatePickerViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeDatePickerFormComponent,{renderOpts:G,renderParams:H})}},VxeTextarea:{createFormDesignWidgetConfig:getWidgetVxeTextareaConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeTextareaViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeTextareaFormComponent,{renderOpts:G,renderParams:H})}},VxeSwitch:{createFormDesignWidgetConfig:getWidgetVxeSwitchConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeSwitchViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeSwitchFormComponent,{renderOpts:G,renderParams:H})}},VxeSelect:{createFormDesignWidgetConfig:getWidgetVxeSelectConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeSelectViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeSelectFormComponent,{renderOpts:G,renderParams:H})}},VxeTreeSelect:{createFormDesignWidgetConfig:getWidgetVxeTreeSelectConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeTreeSelectViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeTreeSelectFormComponent,{renderOpts:G,renderParams:H})}},VxeRadioGroup:{createFormDesignWidgetConfig:getWidgetVxeRadioGroupConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeRadioGroupViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeRadioGroupFormComponent,{renderOpts:G,renderParams:H})}},VxeCheckboxGroup:{createFormDesignWidgetConfig:getWidgetVxeCheckboxGroupConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeCheckboxGroupViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeCheckboxGroupFormComponent,{renderOpts:G,renderParams:H})}},VxeUploadFile:{createFormDesignWidgetConfig:getWidgetVxeUploadFileConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeUploadFileViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeUploadFileFormComponent,{renderOpts:G,renderParams:H})}},VxeUploadImage:{createFormDesignWidgetConfig:getWidgetVxeUploadImageConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeUploadImageViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeUploadImageFormComponent,{renderOpts:G,renderParams:H})}},VxeRate:{createFormDesignWidgetConfig:getWidgetVxeRateConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeRateViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeRateFormComponent,{renderOpts:G,renderParams:H})}},VxeSlider:{createFormDesignWidgetConfig:getWidgetVxeSliderConfig,renderFormDesignWidgetView(G,H){return vue.h(WidgetVxeSliderViewComponent,{renderOpts:G,renderParams:H})},renderFormDesignWidgetFormView(G,H){return vue.h(WidgetVxeSliderFormComponent,{renderOpts:G,renderParams:H})}}});const VxeFormDesign=Object.assign({},VxeFormDesignComponent,{install(G){G.component(VxeFormDesignComponent.name,VxeFormDesignComponent)}}),formDesignHandle={useWidgetName,useWidgetView,useSubtableView,useWidgetPropDataSource};dynamicApp.use(VxeFormDesign),VxeUI.component(VxeFormDesignComponent),VxeUI.formDesignHandle=formDesignHandle,VxeUI.formDesign=formDesignHandle;const FormDesign=VxeFormDesign,VxeFormGatherComponent=Object.assign({},VxeFormGroupComponent,{name:"VxeFormGather"}),VxeFormGather=Object.assign(VxeFormGatherComponent,{install(G){G.component(VxeFormGatherComponent.name,VxeFormGatherComponent)}});dynamicApp.use(VxeFormGather),VxeUI.component(VxeFormGatherComponent);const FormGather=VxeFormGather,VxeFormGroup=Object.assign(VxeFormGroupComponent,{install(G){G.component(VxeFormGroupComponent.name,VxeFormGroupComponent)}});dynamicApp.use(VxeFormGroup),VxeUI.component(VxeFormGroupComponent);const FormGroup=VxeFormGroup,VxeFormItem=Object.assign(VxeFormItemComponent,{install(G){G.component(VxeFormItemComponent.name,VxeFormItemComponent)}});dynamicApp.use(VxeFormItem),VxeUI.component(VxeFormItemComponent);const FormItem=VxeFormItem,VxeFormView=Object.assign(VxeFormViewComponent,{install:function(G){G.component(VxeFormViewComponent.name,VxeFormViewComponent)}});dynamicApp.use(VxeFormView),VxeUI.component(VxeFormViewComponent);const FormView=VxeFormView,VxeIcon=Object.assign({},VxeIconComponent,{install(G){G.component(VxeIconComponent.name,VxeIconComponent)}});dynamicApp.use(VxeIcon),VxeUI.component(VxeIconComponent);const Icon=VxeIcon,VxeIconPickerComponent=vue.defineComponent({name:"VxeIconPicker",props:{modelValue:String,placeholder:String,clearable:Boolean,size:{type:String,default:()=>getConfig$8().iconPicker.size||getConfig$8().size},className:[String,Function],popupClassName:[String,Function],showIconTitle:{type:Boolean,default:()=>getConfig$8().iconPicker.showIconTitle},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},icons:Array,placement:String,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","click"],setup(G,H){const{emit:X}=H,Q=vue.inject("$xeModal",null),K=vue.inject("$xeDrawer",null),Z=vue.inject("$xeTable",null),ee=vue.inject("$xeForm",null),te=vue.inject("xeFormItemInfo",null),ne=XEUtils.uniqueId(),{computeSize:re}=useSize(G),oe=vue.reactive({initialized:!1,selectIcon:`${G.modelValue||""}`,panelIndex:0,panelStyle:{},panelPlacement:null,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),ae={hpTimeout:void 0},se=vue.ref(),le=vue.ref(),ce=vue.ref(),de={refElem:se},ue={xID:ne,props:G,context:H,reactData:oe,getRefMaps:()=>de};let he={};const fe=vue.computed(()=>{const{readonly:Ue}=G;return Ue===null?ee?ee.props.readonly:!1:Ue}),pe=vue.computed(()=>{const{disabled:Ue}=G;return Ue===null?ee?ee.props.disabled:!1:Ue}),ve=vue.computed(()=>{const{transfer:Ue}=G;if(Ue===null){const Ie=getConfig$8().iconPicker.transfer;if(XEUtils.isBoolean(Ie))return Ie;if(Z||Q||K||ee)return!0}return Ue}),me=vue.computed(()=>{const{placeholder:Ue}=G;if(Ue)return getFuncText(Ue);const Ie=getConfig$8().select.placeholder;return Ie?getFuncText(Ie):getI18n$e("vxe.base.pleaseSelect")}),ge=vue.computed(()=>{let{icons:Ue}=G;return(!Ue||!Ue.length)&&(Ue=getConfig$8().iconPicker.icons||[]),Ue.map(Ie=>({title:Ie,icon:`vxe-icon-${Ie}`}))}),we=vue.computed(()=>{const Ue=ge.value;return XEUtils.chunk(Ue,4)}),$e=()=>{oe.panelIndex<getLastZIndex()&&(oe.panelIndex=nextZIndex())},Ee=()=>vue.nextTick().then(()=>{const{placement:Ue}=G,{panelIndex:Ie}=oe,Ve=se.value,ze=ce.value,We=ve.value;if(ze&&Ve){const Xe=Ve.offsetHeight,He=Ve.offsetWidth,qe=ze.offsetHeight,at=ze.offsetWidth,st=5,Ke={zIndex:Ie},{boundingTop:dt,boundingLeft:wt,visibleHeight:$t,visibleWidth:mt}=getAbsolutePos(Ve);let bt="bottom";if(We){let Ot=wt,It=dt+Xe;Ue==="top"?(bt="top",It=dt-qe):Ue||(It+qe+st>$t&&(bt="top",It=dt-qe),It<st&&(bt="bottom",It=dt+Xe)),Ot+at+st>mt&&(Ot-=Ot+at+st-mt),Ot<st&&(Ot=st),Object.assign(Ke,{left:`${Ot}px`,top:`${It}px`,minWidth:`${He}px`})}else Ue==="top"?(bt="top",Ke.bottom=`${Xe}px`):Ue||dt+Xe+qe>$t&&dt-Xe-qe>st&&(bt="top",Ke.bottom=`${Xe}px`);return oe.panelStyle=Ke,oe.panelPlacement=bt,vue.nextTick()}}),xe=()=>{const{hpTimeout:Ue}=ae;pe.value||(Ue&&(clearTimeout(Ue),ae.hpTimeout=void 0),oe.initialized||(oe.initialized=!0),oe.isActivated=!0,oe.isAniVisible=!0,setTimeout(()=>{oe.visiblePanel=!0},10),$e(),Ee())},Me=()=>{oe.visiblePanel=!1,ae.hpTimeout=window.setTimeout(()=>{oe.isAniVisible=!1},350)},De=(Ue,Ie)=>{oe.selectIcon=Ie,Ie!==G.modelValue&&(X("update:modelValue",Ie),he.dispatchEvent("change",{value:Ie},Ue),ee&&te&&ee.triggerItemEvent(Ue,te.itemConfig.field,Ie))},ke=()=>{pe.value||oe.visiblePanel||xe()},Oe=()=>{oe.isActivated=!1},Ne=(Ue,Ie)=>{De(Ue,Ie),he.dispatchEvent("clear",{value:Ie},Ue)},_e=(Ue,Ie)=>{Ne(Ie,null),Me()},ye=Ue=>{Ue.preventDefault(),oe.visiblePanel?Me():xe()},Ce=Ue=>{ye(Ue),he.dispatchEvent("click",{},Ue)},be=Ue=>{const{visiblePanel:Ie}=oe;if(!pe.value&&Ie){const ze=ce.value;getEventTargetNode(Ue,ze).flag?Ee():Me()}},Te=Ue=>{const{visiblePanel:Ie}=oe;if(!pe.value){const ze=se.value,We=ce.value;oe.isActivated=getEventTargetNode(Ue,ze).flag||getEventTargetNode(Ue,We).flag,Ie&&!oe.isActivated&&Me()}},Ae=Ue=>{const{clearable:Ie}=G,{visiblePanel:Ve}=oe;if(!pe.value){const We=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.TAB),Xe=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.ENTER),He=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.ESCAPE),qe=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.ARROW_UP),at=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.ARROW_DOWN),st=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.DELETE),Ke=globalEvents$4.hasKey(Ue,GLOBAL_EVENT_KEYS$3.SPACEBAR);We&&(oe.isActivated=!1),Ve?He||We?Me():Xe?(Ue.preventDefault(),Ue.stopPropagation()):(qe||at||Ke)&&Ue.preventDefault():(qe||at||Xe||Ke)&&oe.isActivated&&(Ue.preventDefault(),xe()),oe.isActivated&&st&&Ie&&Ne(Ue,null)}},Re=()=>{Me()};he={dispatchEvent:(Ue,Ie,Ve)=>{X(Ue,createEvent$3(Ve,{$iconPicker:ue},Ie))},isPanelVisible(){return oe.visiblePanel},togglePanel(){return oe.visiblePanel?Me():xe(),vue.nextTick()},hidePanel(){return oe.visiblePanel&&Me(),vue.nextTick()},showPanel(){return oe.visiblePanel||xe(),vue.nextTick()},focus(){const Ue=le.value;return oe.isActivated=!0,Ue.blur(),vue.nextTick()},blur(){return le.value.blur(),oe.isActivated=!1,vue.nextTick()}};const Be=(Ue,Ie)=>{const Ve=Ie.icon;De(Ue,Ve),Me()};Object.assign(ue,he);const je=()=>{const{showIconTitle:Ue}=G,Ie=we.value,Ve=pe.value;return vue.h("div",{class:"vxe-ico-picker--list-wrapper"},Ie.map(ze=>vue.h("div",{class:"vxe-ico-picker--list"},ze.map(We=>vue.h("div",{class:"vxe-ico-picker--item",onClick(Xe){Ve||Be(Xe,We)}},[vue.h("div",{class:"vxe-ico-picker--item-icon"},[vue.h("i",{class:We.icon||""})]),Ue?vue.h("div",{class:"vxe-ico-picker--item-title"},`${We.title||""}`):vue.createCommentVNode()])))))},Le=()=>{const{className:Ue,popupClassName:Ie,clearable:Ve}=G,{initialized:ze,isActivated:We,isAniVisible:Xe,visiblePanel:He,selectIcon:qe}=oe,at=re.value,st=pe.value,Ke=ve.value,dt=fe.value,wt=me.value;return dt?vue.h("div",{ref:se,class:["vxe-ico-picker--readonly",Ue]},[vue.h("i",{class:qe})]):vue.h("div",{ref:se,class:["vxe-ico-picker",Ue?XEUtils.isFunction(Ue)?Ue({$iconPicker:ue}):Ue:"",{[`size--${at}`]:at,"show--clear":Ve&&!st&&!!qe,"is--visible":He,"is--disabled":st,"is--active":We}]},[vue.h("div",{class:"vxe-ico-picker--inner",onClick:Ce},[vue.h("input",{ref:le,class:"vxe-ico-picker--input",onFocus:ke,onBlur:Oe}),qe?vue.h("div",{class:"vxe-ico-picker--icon"},[vue.h("i",{class:qe})]):vue.h("div",{class:"vxe-ico-picker--placeholder"},wt),vue.h("div",{class:"vxe-ico-picker--suffix"},[vue.h("div",{class:"vxe-ico-picker--clear-icon",onClick:_e},[vue.h("i",{class:getIcon$8().INPUT_CLEAR})]),vue.h("div",{class:"vxe-ico-picker--suffix-icon"},[vue.h("i",{class:He?getIcon$8().ICON_PICKER_OPEN:getIcon$8().ICON_PICKER_CLOSE})])])]),vue.h(vue.Teleport,{to:"body",disabled:Ke?!ze:!0},[vue.h("div",{ref:ce,class:["vxe-table--ignore-clear vxe-ico-picker--panel",Ie?XEUtils.isFunction(Ie)?Ie({$iconPicker:ue}):Ie:"",{[`size--${at}`]:at,"is--transfer":Ke,"ani--leave":Xe,"ani--enter":He}],placement:oe.panelPlacement,style:oe.panelStyle},[ze&&(He||Xe)?vue.h("div",{class:"vxe-ico-picker--panel-wrapper"},[je()]):vue.createCommentVNode()])])])};return vue.watch(()=>G.modelValue,Ue=>{oe.selectIcon=`${Ue||""}`}),vue.onMounted(()=>{globalEvents$4.on(ue,"mousewheel",be),globalEvents$4.on(ue,"mousedown",Te),globalEvents$4.on(ue,"keydown",Ae),globalEvents$4.on(ue,"blur",Re)}),vue.onUnmounted(()=>{globalEvents$4.off(ue,"mousewheel"),globalEvents$4.off(ue,"mousedown"),globalEvents$4.off(ue,"keydown"),globalEvents$4.off(ue,"blur")}),vue.provide("$xeIconPicker",ue),ue.renderVN=Le,ue},render(){return this.renderVN()}}),VxeIconPicker=Object.assign(VxeIconPickerComponent,{install:function(G){G.component(VxeIconPickerComponent.name,VxeIconPickerComponent)}});dynamicApp.use(VxeIconPicker),VxeUI.component(VxeIconPickerComponent);const IconPicker=VxeIconPicker,VxeImagePreviewComponent=vue.defineComponent({name:"VxeImagePreview",props:{modelValue:Number,urlList:Array,urlField:{type:String,default:()=>getConfig$8().imagePreview.urlField},maskClosable:{type:Boolean,default:()=>getConfig$8().imagePreview.maskClosable},marginSize:{type:String,default:()=>getConfig$8().imagePreview.marginSize},showPrintButton:{type:Boolean,default:()=>getConfig$8().imagePreview.showPrintButton},showDownloadButton:{type:Boolean,default:()=>getConfig$8().imagePreview.showDownloadButton},beforeDownloadMethod:Function,downloadMethod:Function},emits:["update:modelValue","change","download","download-fail","close"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.ref(),Z={refElem:K},ee=vue.reactive({activeIndex:G.modelValue||0,offsetPct11:!1,offsetScale:0,offsetRotate:0,offsetLeft:0,offsetTop:0}),te=vue.computed(()=>G.urlField||"url"),ne=vue.computed(()=>XEUtils.toNumber(G.marginSize||0)||16),re=vue.computed(()=>{const{offsetRotate:Fe}=ee;return Fe?`${Fe}°`:"0°"}),oe=vue.computed(()=>{const{offsetScale:Fe}=ee;return Fe?`${XEUtils.ceil((1+Fe)*100)}%`:"100%"}),ae=vue.computed(()=>{const{urlList:Fe}=G,Be=te.value;return Fe&&Fe.length?Fe.map(je=>XEUtils.isString(je)?je:je[Be]?je[Be]:""):[]}),se=vue.computed(()=>{let{offsetScale:Fe,offsetRotate:Be,offsetLeft:je,offsetTop:Le}=ee;const Ue=[];let Ie=1;if(Fe&&(Ie=1+Fe,Ue.push(`scale(${Ie})`)),Be&&Ue.push(`rotate(${Be}deg)`),je||Le){je/=Ie,Le/=Ie;let Ve=je,ze=Le;if(Be)switch(Be%360){case 90:case-270:Ve=Le,ze=-je;break;case 180:case-180:Ve=-je,ze=-Le;break;case 270:case-90:Ve=-Le,ze=je;break}Ue.push(`translate(${Ve}px, ${ze}px)`)}return Ue.length?Ue.join(" "):""}),le={computeImgList:ae},ce={xID:Q,props:G,context:H,reactData:ee,getRefMaps:()=>Z,getComputeMaps:()=>le},de=(Fe,Be,je)=>{X(Fe,createEvent$3(je,{$imagePreview:ce},Be))},ue={dispatchEvent:de},he=Fe=>{ee.activeIndex=Fe,X("update:modelValue",Fe)},fe=Fe=>{de("close",{},Fe)},pe={},ve=()=>{const Fe=K.value;removeClass(Fe,"is--move"),Object.assign(ee,{offsetPct11:!1,offsetScale:0,offsetRotate:0,offsetLeft:0,offsetTop:0})},me=()=>{const{offsetScale:Fe}=ee;let Be=.02;return Fe>=-.6&&(Be=.04,Fe>=-.4&&(Be=.07,Fe>=0&&(Be=.1,Fe>=3&&(Be=.25,Fe>=8&&(Be=.4,Fe>=16&&(Be=.6,Fe>=24&&(Be=.9,Fe>=32&&(Be=1.3,Fe>=39&&(Be=1.9,Fe>=45&&(Be=2.5)))))))))),Be},ge=Fe=>{const{offsetScale:Be}=ee,je=me();Fe?ee.offsetScale=Number(Math.min(49,Be+je).toFixed(2)):ee.offsetScale=Number(Math.max(-.9,Be-je).toFixed(2))},we=Fe=>{let Be=ee.activeIndex||0;const je=ae.value;Fe?Be>=je.length-1?Be=0:Be++:Be<=0?Be=je.length-1:Be--,ve(),ee.activeIndex=Be,he(Be)},$e=Fe=>{let Be=ee.offsetRotate;Fe?Be+=90:Be-=90,ee.offsetRotate=Be},Ee=()=>{ve(),ee.offsetPct11=!0},xe=()=>{const{activeIndex:Fe}=ee,je=ae.value[Fe||0];VxeUI.print&&VxeUI.print({align:"center",pageBreaks:[{bodyHtml:`<img src="${je}" style="max-width:100%;max-height:100%;">`}]})},Me=(Fe,Be)=>{de("download",{url:Be},Fe)},De=(Fe,Be)=>{VxeUI.saveFile&&fetch(Be).then(je=>je.blob().then(Le=>{VxeUI.saveFile({filename:Be,content:Le}),Me(Fe,Be)})).catch(()=>{VxeUI.modal&&VxeUI.modal.message({content:getI18n$e("vxe.error.downErr"),status:"error"})})},ke=Fe=>{const{activeIndex:Be}=ee,Le=ae.value[Be||0],Ue=G.beforeDownloadMethod||getConfig$8().imagePreview.beforeDownloadMethod,Ie=G.downloadMethod||getConfig$8().imagePreview.downloadMethod;Promise.resolve(Ue?Ue({$imagePreview:ce,url:Le,index:Be||0}):!0).then(Ve=>{Ve&&(Ie?Promise.resolve(Ie({$imagePreview:ce,url:Le,index:Be||0})).then(()=>{Me(Fe,Le)}).catch(ze=>ze):De(Fe,Le))})},Oe=(Fe,Be)=>{const{activeIndex:je}=ee;if(ae.value[je||0])switch(Be){case"zoomOut":ge(!1);break;case"zoomIn":ge(!0);break;case"pctFull":ve();break;case"pct11":Ee();break;case"rotateLeft":$e(!1);break;case"rotateRight":$e(!0);break;case"print":xe();break;case"download":ke(Fe);break}},Ne=Fe=>{const Be=Fe.deltaY;Be>0?ge(!1):Be<0&&ge(!0)},_e=Fe=>{const{offsetTop:Be,offsetLeft:je}=ee,Le=K.value;Fe.preventDefault();const Ue=document.onmousemove,Ie=document.onmouseup,Ve=Fe.pageX,ze=Fe.pageY,We=ne.value;document.onmousemove=Xe=>{const{pageX:He,pageY:qe}=Xe,{visibleHeight:at,visibleWidth:st}=getDomNode();Xe.preventDefault(),addClass(Le,"is--move"),He>We&&qe>We&&He<st-We&&qe<at-We&&(ee.offsetLeft=je+He-Ve,ee.offsetTop=Be+qe-ze)},document.onmouseup=()=>{document.onmousemove=Ue,document.onmouseup=Ie,removeClass(Le,"is--move")}},ye=Fe=>{const Be=Fe.ctrlKey,je=Fe.shiftKey,Le=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.ARROW_UP),Ue=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.ARROW_DOWN),Ie=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.ARROW_LEFT),Ve=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.ARROW_RIGHT),ze=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.R),We=globalEvents$4.hasKey(Fe,GLOBAL_EVENT_KEYS$3.P);Le?(Fe.preventDefault(),je?ee.offsetTop-=1:ge(!0)):Ue?(Fe.preventDefault(),je?ee.offsetTop+=1:ge(!1)):Ie?(Fe.preventDefault(),je?ee.offsetLeft-=1:we(!1)):Ve?(Fe.preventDefault(),je?ee.offsetLeft+=1:we(!0)):ze&&Be?(Fe.preventDefault(),$e(!je)):We&&Be&&(Fe.preventDefault(),xe())},Ce=Fe=>{G.maskClosable&&Fe.target===Fe.currentTarget&&de("close",{},Fe)};Object.assign(ce,ue,pe);const be=()=>{const{activeIndex:Fe}=ee,Be=ae.value,je=se.value;return vue.h("div",{class:"vxe-image-preview--img-list",onClick:Ce},Be.map((Le,Ue)=>{const Ie=Fe===Ue;return vue.h("img",{class:["vxe-image-preview--img-item",{"is--active":Ie}],src:Le,style:Ie?{transform:je}:null,onMousedown(Ve){_e(Ve)}})}))},Te=(Fe,Be)=>vue.h("div",{class:"vxe-image-preview--operation-btn",title:getI18n$e(`vxe.imagePreview.operBtn.${Fe}`),onClick(je){Oe(je,Fe)}},[vue.h("i",{class:getIcon$8()[Be]})]),Ae=()=>{const{showPrintButton:Fe,showDownloadButton:Be}=G,{activeIndex:je}=ee,Le=ae.value,Ue=re.value,Ie=oe.value;return vue.h("div",{class:"vxe-image-preview--btn-wrapper"},[vue.h("div",{class:"vxe-image-preview--close-wrapper"},[vue.h("div",{class:"vxe-image-preview--close-btn",onClick:fe},[vue.h("i",{class:getIcon$8().IMAGE_PREVIEW_CLOSE})]),vue.h("div",{class:"vxe-image-preview--close-bg"})]),Le.length>1?vue.h("div",{class:"vxe-image-preview--previous-btn",onClick(){we(!1)}},[vue.h("i",{class:getIcon$8().IMAGE_PREVIEW_PREVIOUS})]):vue.createCommentVNode(),Le.length>1?vue.h("div",{class:"vxe-image-preview--next-btn",onClick(){we(!0)}},[vue.h("i",{class:getIcon$8().IMAGE_PREVIEW_NEXT})]):vue.createCommentVNode(),vue.h("div",{class:"vxe-image-preview--operation-info"},[vue.h("div",{class:"vxe-image-preview--operation-deg"},Ue),vue.h("div",{class:"vxe-image-preview--operation-pct"},Ie)]),vue.h("div",{class:"vxe-image-preview--operation-wrapper"},[vue.h("div",{class:"vxe-image-preview--operation-active-count"},[vue.h("span",{class:"vxe-image-preview--operation-active-current"},`${(je||0)+1}`),vue.h("span",{class:"vxe-image-preview--operation-active-total"},`/${Le.length}`)]),Te("zoomOut","IMAGE_PREVIEW_ZOOM_OUT"),Te("zoomIn","IMAGE_PREVIEW_ZOOM_IN"),Te("pctFull","IMAGE_PREVIEW_PCT_FULL"),Te("pct11","IMAGE_PREVIEW_PCT_1_1"),Te("rotateLeft","IMAGE_PREVIEW_ROTATE_LEFT"),Te("rotateRight","IMAGE_PREVIEW_ROTATE_RIGHT"),Fe?Te("print","IMAGE_PREVIEW_PRINT"):vue.createCommentVNode(),Be?Te("download","IMAGE_PREVIEW_DOWNLOAD"):vue.createCommentVNode()])])},Re=()=>{const{offsetPct11:Fe}=ee;return vue.h("div",{ref:K,class:["vxe-image-preview",{"is--pct11":Fe}],onWheel:Ne},[be(),Ae()])};return vue.watch(()=>G.modelValue,Fe=>{ee.activeIndex=Fe,ve()}),vue.onMounted(()=>{globalEvents$4.on(ce,"keydown",ye)}),vue.onBeforeUnmount(()=>{const Fe=K.value;Fe&&removeClass(Fe,"is--move")}),vue.onUnmounted(()=>{globalEvents$4.off(ce,"keydown")}),vue.provide("$xeImagePreview",ce),ce.renderVN=Re,Re}}),openPreviewImage=G=>{if(VxeUI.modal){const H=Object.assign({escClosable:!0},G),{urlList:X,activeIndex:Q}=H,K=XEUtils.uniqueId("image-preview");VxeUI.modal.open({id:K,title:"预览",width:"100%",height:"100%",showHeader:!1,showFooter:!1,padding:!1,escClosable:H.escClosable,className:"vxe-image-preview-popup-wrapper",slots:{default(){return vue.h(VxeImagePreviewComponent,{modelValue:Q,urlList:X,urlField:H.urlField,marginSize:H.marginSize,maskClosable:H.maskClosable,showPrintButton:H.showPrintButton,showDownloadButton:H.showDownloadButton,beforeDownloadMethod:H.beforeDownloadMethod,downloadMethod:H.downloadMethod,onClose(){VxeUI.modal.close(K)}})}}})}return Promise.resolve()},VxeImageComponent=vue.defineComponent({name:"VxeImage",props:{src:[String,Array],alt:[String,Number],loading:String,title:[String,Number],width:[String,Number],height:[String,Number],maskClosable:{type:Boolean,default:()=>getConfig$8().image.maskClosable},showPreview:{type:Boolean,default:()=>getConfig$8().image.showPreview},showPrintButton:{type:Boolean,default:()=>getConfig$8().image.showPrintButton},showDownloadButton:{type:Boolean,default:()=>getConfig$8().image.showDownloadButton},size:{type:String,default:()=>getConfig$8().image.size||getConfig$8().size}},emits:["click"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.inject("$xeImageGroup",null),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({}),ne={refElem:Z},re=vue.computed(()=>{const{width:pe,height:ve}=G,me={};return pe&&ve?(me.maxWidth=toCssUnit(pe),me.maxHeight=toCssUnit(ve)):(pe&&(me.width=toCssUnit(pe)),ve&&(me.height=toCssUnit(ve))),me}),oe=vue.computed(()=>{const{src:pe}=G;return pe?(XEUtils.isArray(pe)?pe:[pe]).map(ve=>XEUtils.isString(ve)?{url:ve,alt:""}:{url:ve.url,alt:ve.alt}):[]}),ae=vue.computed(()=>oe.value[0]),se=vue.computed(()=>{const pe=ae.value;return pe?`${pe.url||""}`:""}),le={computeSize:ee},ce={xID:Q,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>le},de={dispatchEvent(pe,ve,me){X(pe,createEvent$3(me,{$image:ce},ve))}},ue=pe=>{const{showPreview:ve,showPrintButton:me,showDownloadButton:ge,maskClosable:we}=G,$e=oe.value,Ee=se.value;K?K.handleClickImgEvent(pe,{url:Ee}):(ve&&Ee&&openPreviewImage({urlList:$e,showPrintButton:me,showDownloadButton:ge,maskClosable:we}),de.dispatchEvent("click",{url:Ee},pe))};Object.assign(ce,de,{});const fe=()=>{const{alt:pe,loading:ve}=G,me=re.value,ge=se.value,we=ee.value;return vue.h("img",{ref:Z,class:["vxe-image",{[`size--${we}`]:we}],src:ge,alt:pe,loading:ve,style:me,onClick:ue})};return ce.renderVN=fe,ce},render(){return this.renderVN()}}),VxeImage=Object.assign({},VxeImageComponent,{install(G){G.component(VxeImageComponent.name,VxeImageComponent)}});dynamicApp.use(VxeImage),VxeUI.component(VxeImageComponent);const Image$1=VxeImage,VxeImageGroupComponent=vue.defineComponent({name:"VxeImageGroup",props:{urlList:[Array,String],showPreview:{type:Boolean,default:()=>getConfig$8().imageGroup.showPreview},imageStyle:Object,size:{type:String,default:()=>getConfig$8().imageGroup.size||getConfig$8().size},showPrintButton:{type:Boolean,default:()=>getConfig$8().imageGroup.showPrintButton},showDownloadButton:{type:Boolean,default:()=>getConfig$8().imageGroup.showDownloadButton}},emits:["click"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),{computeSize:K}=useSize(G),Z=vue.computed(()=>{const{urlList:se}=G;return se?(XEUtils.isArray(se)?se:[se]).map(le=>XEUtils.isString(le)?{url:le,alt:""}:{url:le.url,alt:le.alt}):[]}),ee=vue.computed(()=>Object.assign({},getConfig$8().imageGroup.imageStyle,G.imageStyle)),te={computeSize:K},ne={xID:Q,props:G,context:H,getComputeMaps:()=>te},re={dispatchEvent(se,le,ce){X(se,createEvent$3(ce,{$imageGroup:ne},le))}};Object.assign(ne,re,{handleClickImgEvent(se,le){const{showPreview:ce,showPrintButton:de,showDownloadButton:ue}=G,{url:he}=le,fe=Z.value;ce&&he&&openPreviewImage({activeIndex:Math.max(0,XEUtils.findIndexOf(fe,pe=>pe.url===he)),urlList:fe,showPrintButton:de,showDownloadButton:ue}),re.dispatchEvent("click",{url:he,urlList:fe},se)}});const ae=()=>{const se=Z.value,le=K.value,ce=ee.value;return vue.h("div",{class:["vxe-image-group",{[`size--${le}`]:le}]},se?se.map((de,ue)=>vue.h(VxeImageComponent,{key:ue,src:de.url,alt:de.alt,width:ce.width,height:ce.height})):[])};return ne.renderVN=ae,vue.provide("$xeImageGroup",ne),ne},render(){return this.renderVN()}}),VxeImageGroup=Object.assign({},VxeImageGroupComponent,{install(G){G.component(VxeImageGroupComponent.name,VxeImageGroupComponent)}});dynamicApp.use(VxeImageGroup),VxeUI.component(VxeImageGroupComponent);const ImageGroup=VxeImageGroup,VxeImagePreview=Object.assign(VxeImagePreviewComponent,{install(G){G.component(VxeImagePreviewComponent.name,VxeImagePreviewComponent),VxeUI.previewImage=openPreviewImage}});dynamicApp.use(VxeImagePreview),VxeUI.component(VxeImagePreviewComponent);const ImagePreview=VxeImagePreview,VxeInput=Object.assign(VxeInputComponent,{install(G){G.component(VxeInputComponent.name,VxeInputComponent)}});dynamicApp.use(VxeInput),VxeUI.component(VxeInputComponent);const Input=VxeInput,VxeLayoutAsideComponent=vue.defineComponent({name:"VxeLayoutAside",props:{width:[String,Number],collapsed:Boolean,collapseWidth:[String,Number],loading:Boolean,padding:Boolean,size:{type:String,default:()=>getConfig$8().layoutAside.size||getConfig$8().size}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({}),ne={refElem:Z},re=vue.computed(()=>{const{width:ue,collapsed:he,collapseWidth:fe}=G;if(he){if(fe)return toCssUnit(fe)}else if(ue)return toCssUnit(ue);return""}),oe={computeSize:ee},ae={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>oe};Object.assign(ae,{dispatchEvent:(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$layoutAside:ae},he))}},{});const de=()=>{const{width:ue,collapsed:he,loading:fe,padding:pe}=G,ve=re.value,me=ee.value,ge=X.default;return vue.h("aside",{ref:Z,class:["vxe-layout-aside",{[`size--${me}`]:me,"is--padding":pe,"is--default-width":!ue,"is--collapse":he,"is--loading":fe}],style:ve?{width:ve}:null},[vue.h("div",{class:"vxe-layout-aside--inner"},ge?ge({}):[]),vue.h(VxeLoadingComponent,{class:"vxe-list-view--loading",modelValue:fe})])};return vue.provide("$xeLayoutAside",ae),ae.renderVN=de,ae},render(){return this.renderVN()}}),VxeLayoutAside=Object.assign({},VxeLayoutAsideComponent,{install(G){G.component(VxeLayoutAsideComponent.name,VxeLayoutAsideComponent)}});dynamicApp.use(VxeLayoutAside),VxeUI.component(VxeLayoutAsideComponent);const LayoutAside=VxeLayoutAside,VxeLayoutBodyComponent=vue.defineComponent({name:"VxeLayoutBody",props:{loading:Boolean,padding:Boolean,size:{type:String,default:()=>getConfig$8().layoutBody.size||getConfig$8().size}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({}),ne={refElem:Z},re={computeSize:ee},oe={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>re};Object.assign(oe,{dispatchEvent:(de,ue,he)=>{Q(de,createEvent$3(he,{$layoutBody:oe},ue))}},{});const ce=()=>{const{loading:de,padding:ue}=G,he=ee.value,fe=X.default;return vue.h("div",{ref:Z,class:["vxe-layout-body",{[`size--${he}`]:he,"is--loading":de,"is--padding":ue}]},[vue.h("div",{class:"vxe-layout-body--inner"},fe?fe({}):[]),vue.h(VxeLoadingComponent,{class:"vxe-list-view--loading",modelValue:de})])};return oe.renderVN=ce,oe},render(){return this.renderVN()}}),VxeLayoutBody=Object.assign({},VxeLayoutBodyComponent,{install(G){G.component(VxeLayoutBodyComponent.name,VxeLayoutBodyComponent)}});dynamicApp.use(VxeLayoutBody),VxeUI.component(VxeLayoutBodyComponent);const LayoutBody=VxeLayoutBody,VxeLayoutContainerComponent=vue.defineComponent({name:"VxeLayoutContainer",props:{vertical:Boolean,size:{type:String,default:()=>getConfig$8().layoutContainer.size||getConfig$8().size}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({}),ne={refElem:Z},re={computeSize:ee},oe={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>re};Object.assign(oe,{dispatchEvent:(de,ue,he)=>{Q(de,createEvent$3(he,{$layoutContainer:oe},ue))}},{});const ce=()=>{const{vertical:de}=G,ue=ee.value,he=X.default;return vue.h("div",{ref:Z,class:["vxe-layout-container",{[`size--${ue}`]:ue,"is--vertical":de}]},he?he({}):[])};return oe.renderVN=ce,oe},render(){return this.renderVN()}}),VxeLayoutContainer=Object.assign({},VxeLayoutContainerComponent,{install(G){G.component(VxeLayoutContainerComponent.name,VxeLayoutContainerComponent)}});dynamicApp.use(VxeLayoutContainer),VxeUI.component(VxeLayoutContainerComponent);const LayoutContainer=VxeLayoutContainer,VxeLayoutFooterComponent=vue.defineComponent({name:"VxeLayoutFooter",props:{fixed:Boolean,align:String},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne={},re={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>ne};Object.assign(re,{dispatchEvent:(ce,de,ue)=>{Q(ce,createEvent$3(ue,{$layoutFooter:re},de))}},{});const le=()=>{const{fixed:ce,align:de}=G,ue=X.default;return vue.h("footer",{ref:Z,class:["vxe-layout-footer",de?`align--${de}`:"",{"is--fixed":ce}]},ue?ue({}):[])};return re.renderVN=le,re},render(){return this.renderVN()}}),VxeLayoutFooter=Object.assign({},VxeLayoutFooterComponent,{install(G){G.component(VxeLayoutFooterComponent.name,VxeLayoutFooterComponent)}});dynamicApp.use(VxeLayoutFooter),VxeUI.component(VxeLayoutFooterComponent);const LayoutFooter=VxeLayoutFooter,VxeLayoutHeaderComponent=vue.defineComponent({name:"VxeLayoutHeader",props:{fixed:Boolean},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne={},re={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>ne};Object.assign(re,{dispatchEvent:(ce,de,ue)=>{Q(ce,createEvent$3(ue,{$layoutHeader:re},de))}},{});const le=()=>{const{fixed:ce}=G,de=X.default;return vue.h("header",{ref:Z,class:["vxe-layout-header",{"is--fixed":ce}]},de?de({}):[])};return re.renderVN=le,re},render(){return this.renderVN()}}),VxeLayoutHeader=Object.assign({},VxeLayoutHeaderComponent,{install(G){G.component(VxeLayoutHeaderComponent.name,VxeLayoutHeaderComponent)}});dynamicApp.use(VxeLayoutHeader),VxeUI.component(VxeLayoutHeaderComponent);const LayoutHeader=VxeLayoutHeader,VxeLinkComponent=vue.defineComponent({name:"VxeLink",props:{href:String,target:String,status:String,title:[String,Number],icon:String,routerLink:Object,underline:{type:Boolean,default:()=>getConfig$8().link.underline},permissionCode:[String,Number],content:[String,Number],size:{type:String,default:()=>getConfig$8().link.size||getConfig$8().size}},emits:["click"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),{computePermissionInfo:ee}=usePermission(G),te=vue.ref(),ne=vue.reactive({}),re={refElem:te},oe={},ae={xID:K,props:G,context:H,reactData:ne,getRefMaps:()=>re,getComputeMaps:()=>oe},se=(fe,pe,ve)=>{Q(fe,createEvent$3(ve,{$link:ae},pe))},le={dispatchEvent:se},ce={},de=fe=>{se("click",{},fe)};Object.assign(ae,le,ce);const ue=()=>{const{icon:fe,content:pe}=G,ve=X.default,me=X.icon,ge=XEUtils.toValueString(pe);return[me||fe?vue.h("span",{class:"vxe-link--icon"},me?getSlotVNs(me({})):[vue.h("i",{class:fe})]):vue.createCommentVNode(),ve||ge?vue.h("span",{class:"vxe-link--content"},ve?ve({}):ge):vue.createCommentVNode()]},he=()=>{const{status:fe,target:pe,href:ve,title:me,underline:ge,routerLink:we}=G,$e=ee.value,Ee=Z.value;return $e.visible?we?vue.h(vue.resolveComponent("router-link"),{class:["vxe-link",{[`size--${Ee}`]:Ee,[`theme--${fe}`]:fe,"is--underline":ge}],title:me,target:pe,to:we,onClick:de},{default(){return ue()}}):vue.h("a",{ref:te,class:["vxe-link",{[`size--${Ee}`]:Ee,[`theme--${fe}`]:fe,"is--underline":ge}],href:ve,target:pe,title:me,onClick:de},ue()):vue.createCommentVNode()};return ae.renderVN=he,ae},render(){return this.renderVN()}}),VxeLink=Object.assign({},VxeLinkComponent,{install(G){G.component(VxeLinkComponent.name,VxeLinkComponent)}});dynamicApp.use(VxeLink),VxeUI.component(VxeLinkComponent);const Link=VxeLink,getListDesignActionButtonName=G=>getI18n$e(`vxe.listDesign.activeBtn.${G}`),handleGetListDesignActionButtonName=G=>getListDesignActionButtonName(G.name),createListDesignActionButton=G=>Object.assign({name:"",icon:"",type:"",classify:"",code:"",status:"",permissionCode:""},G),getDefaultSettingFormData=()=>({listView:{enabled:!0},ganttView:{enabled:!1},chartView:{enabled:!1},autoFoldFilter:!0,showCheckbox:"auto",showSeq:!0,showStatistics:!0,mobileDefaultView:"list",pcDefaultView:"list",actionButtonList:[]}),LayoutPreviewComponent=vue.defineComponent({name:"ListDesignLayoutView",props:{},emits:[],setup(){const G=VxeUI.getComponent("VxeGrid"),H=vue.inject("$xeListDesign",null);if(!H)return()=>[];const{reactData:X}=H,Q=vue.ref(),K=vue.ref([]),Z=vue.computed(()=>{const{searchFormItems:oe}=X;return oe.length?oe.concat([{field:"active",title:"",folding:!1,collapseNode:oe.some(ae=>ae.folding),itemRender:{name:"VxeButtonGroup",options:[{content:"查询",icon:"vxe-icon-search",status:"primary",type:"submit"},{content:"重置",icon:"vxe-icon-repeat",type:"reset"}]}}]):oe}),ee=vue.computed(()=>{const{formData:oe,listTableColumns:ae}=X,{showSeq:se,actionButtonList:le}=oe,ce=[];return se&&ce.push({type:"seq",field:"_seq",width:70}),ae.forEach(de=>{ce.push({field:de.field,title:de.title,visible:de.visible,width:de.width})}),le&&le.length&&ce.push({field:"_active",title:getI18n$e("vxe.table.actionTitle"),fixed:"right",width:"auto",cellRender:{name:"VxeButtonGroup",options:[]}}),ce}),te=({column:oe,resizeWidth:ae})=>{const{listTableColumns:se}=X,le=XEUtils.findTree(se,ce=>ce.field===oe.field,{children:"children"});if(le){const{item:ce}=le;ce.width=ae}},ne=()=>{const{listTableColumns:oe}=X,ae=[{},{}];ae.forEach(se=>{oe.forEach(le=>{se[le.field]="-"})}),K.value=ae},re=vue.ref(0);return vue.watch(()=>X.listTableColumns?X.listTableColumns.length:-1,()=>{re.value++}),vue.watch(()=>X.listTableColumns,()=>{re.value++}),vue.watch(re,()=>{ne()}),vue.onMounted(()=>{ne()}),process.env.NODE_ENV==="development"&&vue.nextTick(()=>{G||errLog("vxe.error.reqComp",["vxe-grid"])}),()=>{const{searchFormData:oe,searchFormItems:ae}=X,se=Z.value,le=ee.value;return vue.h("div",{class:"vxe-list-design--preview"},[vue.h("div",{class:"vxe-list-design--preview-wrapper"},[vue.h("div",{class:"vxe-list-design--preview-search"},[vue.h("div",{class:"vxe-list-design--preview-title"},getI18n$e("vxe.listDesign.searchTitle")),ae.length?vue.h(VxeFormComponent,{data:oe,items:se}):vue.h("div",{class:"vxe-list-design--field-configs-empty-data"},[vue.h("span",{},getI18n$e("vxe.listDesign.search.emptyText"))])]),vue.h("div",{class:"vxe-list-design--preview-table"},[vue.h("div",{class:"vxe-list-design--preview-title"},getI18n$e("vxe.listDesign.listTitle")),G?vue.h(G,{ref:Q,columns:le,data:K.value,showOverflow:!0,border:!0,columnConfig:{minWidth:"auto",resizable:!0},rowConfig:{isHover:!0},scrollX:{enabled:!1},scrollY:{enabled:!1},onResizableChange:te}):vue.createCommentVNode()])])])}}}),refWidgetReactConfigMaps=vue.ref({}),DefaultFieldSettingFormComponent=vue.defineComponent({name:"DefaultFieldSettingForm",props:{},emits:[],setup(){const G=vue.inject("$xeListDesign",null);if(!G)return()=>[];const{reactData:H}=G,X=vue.ref(!1),Q=vue.ref(!1),K=re=>{re.visible=!re.visible,H.listTableColumns=H.listTableColumns.slice(0)},Z=re=>{const{searchFormItems:oe}=H;H.searchFormItems=oe.filter(ae=>ae.field!==re.field)},ee=()=>{const{listTableColumns:re,searchFormItems:oe}=H,ae=refWidgetReactConfigMaps.value,se=[];re.forEach(pe=>{const{cellRender:ve}=pe;if(ve){const me=oe.find($e=>$e.field===pe.field),ge=ve.name||"";let we=ae[ge];if(!we){const $e=renderer$c.get(ge);if($e){const Ee=$e.createFormDesignWidgetConfig;Ee&&(we=Ee({name:ge,$formDesign:null})||{},ae[ge]=we)}}we.query&&se.push(Object.assign(Object.assign({},pe),{checked:!!me,isHalf:!1,folding:me?!!me.folding:!1}))}}),refWidgetReactConfigMaps.value=Object.assign({},ae);const le=vue.ref(se),ce=()=>{const pe=le.value;X.value=pe.every(ve=>ve.checked),Q.value=!X.value&&pe.some(ve=>ve.checked||ve.isHalf)},de=pe=>{const ve=le.value,me=XEUtils.findTree(ve,ge=>ge===pe);if(me&&me.parent){const{parent:ge}=me;ge.children&&ge.children.length&&(ge.checked=ge.children.every(we=>we.checked),ge.isHalf=!ge.checked&&ge.children.some(we=>we.checked||we.isHalf),de(ge))}},ue=pe=>{const ve=!pe.checked;XEUtils.eachTree([pe],me=>{me.checked=ve,me.isHalf=!1}),de(pe),ce()},he=()=>{const pe=le.value,ve=!X.value;XEUtils.eachTree(pe,me=>{me.checked=ve,me.isHalf=!1}),X.value=ve,ce()},fe=()=>{const pe=le.value,ve=[];pe.forEach(me=>{me.checked&&ve.push({field:me.field,title:me.title,folding:me.folding,itemRender:Object.assign({},me.cellRender)})}),G.setSearchItems(ve)};VxeUI.modal.open({title:getI18n$e("vxe.listDesign.search.editPopupTitle"),width:680,height:500,showFooter:!0,escClosable:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:getI18n$e("vxe.listDesign.searchPopup.saveBtn"),showZoom:!0,resize:!0,onConfirm:fe,slots:{default(){const pe=X.value,ve=Q.value,me=le.value;return vue.h("div",{class:"vxe-list-design--field-search-popup"},[vue.h("table",{},[vue.h("colgroup",{},[vue.h("col",{style:{width:"80px"}}),vue.h("col")]),vue.h("thead",{},[vue.h("th",{},[vue.h("div",{class:["vxe-list-design--field-search-checkbox-option",{"is--checked":pe,"is--indeterminate":ve}],title:getI18n$e("vxe.table.allTitle"),onClick:he},[vue.h("span",{class:["vxe-checkbox--icon",ve?getIcon$8().CHECKBOX_INDETERMINATE:pe?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]}),vue.h("span",{class:"vxe-checkbox--label"},getI18n$e("vxe.toolbar.customAll"))])]),vue.h("th",{},getI18n$e("vxe.listDesign.searchPopup.colTitle"))]),vue.h("tbody",{},me.map(ge=>{const we=ge.checked,$e=ge.isHalf;return vue.h("tr",{},[vue.h("td",{class:"vxe-list-design--field-search-option-item col--visible"},[vue.h("div",{class:["vxe-list-design--field-search-checkbox-option",{"is--checked":we,"is--indeterminate":$e}],title:getI18n$e("vxe.custom.setting.colVisible"),onClick:()=>{ue(ge)}},[vue.h("span",{class:["vxe-checkbox--icon",$e?getIcon$8().CHECKBOX_INDETERMINATE:we?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]})])]),vue.h("td",{class:"vxe-list-design--field-search-option-item"},`${ge.title||""}`)])}))])])}}})},te=re=>{const{children:oe}=re;return oe&&oe.length?vue.h("div",{class:"vxe-list-design--field-option-inner"},[vue.h("div",{class:"vxe-list-design--field-sub-option",onClick(){K(re)}},oe.map(ae=>{const{title:se,visible:le}=ae;return vue.h("div",{class:["vxe-list-design--field-checkbox-option",{"is--checked":le}],onClick(){K(ae)}},[vue.h("span",{class:["vxe-checkbox--icon",le?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]}),vue.h("span",{class:"vxe-checkbox--label"},`${se}`)])}))]):vue.createCommentVNode()},ne=()=>{const{listTableColumns:re}=H;return re.map(oe=>{const{title:ae,visible:se}=oe;return vue.h("div",{class:"vxe-list-design--field-option"},[vue.h("div",{class:"vxe-list-design--field-option-inner"},[vue.h("div",{class:["vxe-list-design--field-checkbox-option",{"is--checked":se}],onClick(){K(oe)}},[vue.h("span",{class:["vxe-checkbox--icon",se?getIcon$8().CHECKBOX_CHECKED:getIcon$8().CHECKBOX_UNCHECKED]}),vue.h("span",{class:"vxe-checkbox--label"},`${ae}`)])]),te(oe)])})};return()=>vue.h(VxeFormComponent,{span:24,vertical:!0,titleBold:!0},{default(){return[vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.listDesign.searchField")},{extra(){return vue.h(VxeButtonComponent,{mode:"text",status:"primary",icon:getIcon$8().FORM_DESIGN_PROPS_EDIT,content:getI18n$e("vxe.listDesign.search.addBtn"),onClick:ee})},default(){const{searchFormItems:re}=H;return[re.length?vue.h("div",{class:"vxe-list-design--search-item-wrapper"},[vue.h("div",{class:"vxe-list-design--search-item-list"},re.map(oe=>vue.h("div",{key:oe.field,class:"vxe-list-design--search-item"},[vue.h("div",{class:"vxe-list-design--search-item-title"},`${oe.title||""}`),vue.h("div",{class:"vxe-list-design--search-item-btn"},[vue.h(VxeButtonComponent,{icon:getIcon$8().LIST_DESIGN_LIST_SETTING_SEARCH_DELETE,mode:"text",status:"error",onClick(){Z(oe)}})])])))]):vue.h("div",{class:"vxe-list-design--field-configs-empty-data"},[vue.h("span",{},getI18n$e("vxe.listDesign.search.emptyText"))])]}}),vue.h(VxeFormItemComponent,{title:getI18n$e("vxe.listDesign.listField")},{default(){return ne()}})]}})}}),DefaultParameterSettingFormComponent=vue.defineComponent({name:"DefaultListSettingTabComponent",props:{},emits:[],setup(){const G=vue.inject("$xeListDesign",null);if(!G)return()=>[];const{props:H,reactData:X}=G,Q=[],K=[];renderer$c.forEach((ae,se)=>{const{createListDesignSettingActionButtonConfig:le}=ae;if(le){const ce={name:se},de=Object.assign(createListDesignActionButton({code:se}),le(ce));de.type==="custom"?K.push(de):Q.push(de)}});const Z=vue.ref([{label:"列表视图",value:"list",isExpand:!1}]),ee=vue.ref([{label:"显示",value:!0},{label:"隐藏",value:!1}]),te=vue.ref([{label:"默认",value:"auto"},{label:"允许",value:!0},{label:"不允许",value:!1}]),ne=vue.computed(()=>{const{formData:ae}=X;return[ae.listView.enabled,ae.ganttView.enabled,ae.chartView.enabled].filter(se=>se).length<=1}),re=ae=>{const{formData:se}=X,{actionCodes:le}=H;let ce=se.actionButtonList;ce||(ce=[]);const de=vue.reactive(createListDesignActionButton(ae)),ue=Q.filter(me=>le&&le.length&&!le.some(ge=>XEUtils.isString(ge)?me.code===ge:ge.code===me.code)?!1:!ce.some(ge=>ge.code===me.code)),he=K.filter(me=>!ce.some(ge=>ge.code===me.code)),fe=[];ue.length&&(de.type||(de.type=""),fe.push({value:"",label:"系统按钮"})),he.length&&(de.type||(de.type="custom"),fe.push({value:"custom",label:"自定义按钮"}));const pe=vue.computed(()=>ue.map(me=>{const ge=me.name;return{label:XEUtils.toValueString(XEUtils.isFunction(ge)?ge({name:me.code||""}):ge),value:me.code}})),ve=vue.ref(fe);VxeUI.modal.open({title:"添加按钮",width:600,height:400,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:"保存",onConfirm(){de.type,ce.push(de),se.actionButtonList=[...ce]},slots:{default(){return vue.h(VxeFormComponent,{vertical:!0,titleBold:!0},{default(){return[vue.h(VxeFormItemComponent,{title:"按钮类型",span:24},{default(){return vue.h(VxeSelectComponent,{modelValue:de.type,options:ve.value,"onUpdate:modelValue"(me){de.type=me}})}}),vue.h(VxeFormItemComponent,{title:"选择系统按钮",span:24},{default(){return vue.h(VxeSelectComponent,{modelValue:de.code,options:pe.value,"onUpdate:modelValue"(me){de.code=me}})}})]}})}}})},oe=()=>vue.h(VxeFormItemComponent,{title:"功能按钮"},{extra(){return vue.h(VxeButtonComponent,{mode:"text",status:"primary",icon:getIcon$8().FORM_DESIGN_PROPS_ADD,content:"新增",onClick(){re()}})},default(){const{formData:ae}=X,se=ae.actionButtonList;return se&&se.length?vue.h("div",{class:"vxe-list-design--field-configs-wrapper"},se.map(le=>{let ce="",de="";if(le.type==="custom")ce=le.icon,de=le.name;else{const ue=Q.find(he=>he.code===le.code);if(ue){const he=ue.name;ce=ue.icon||"",de=XEUtils.toValueString(XEUtils.isFunction(he)?he({name:ue.code||""}):he)}}return vue.h("div",{class:"vxe-list-design--field-configs-item"},[ce?vue.h("div",{class:"vxe-list-design--field-configs-item-icon"},[vue.h("i",{class:ce})]):vue.createCommentVNode(),vue.h("div",{class:"vxe-list-design--field-configs-item-title"},`${de||""}`),vue.h("div",{class:"vxe-list-design--field-configs-item-btn"},[vue.h(VxeButtonComponent,{icon:getIcon$8().LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE,mode:"text",status:"error",onClick(){ae.actionButtonList=se.filter(ue=>ue!==le)}})])])})):vue.h("div",{class:"vxe-list-design--field-configs-empty-data"},[vue.h("span",{},"无操作按钮")])}});return()=>{const{showPc:ae,showMobile:se}=H,{formData:le}=X;return vue.h(VxeFormComponent,{span:24,vertical:!0,titleBold:!0},{default(){return[vue.h(VxeFormItemComponent,{title:"视图配置"},{default(){return vue.h("div",{class:"vxe-form-design--widget-form-item-render-view"},Z.value.map(ce=>vue.h("div",{key:ce.value,class:"vxe-form-design--widget-form-item-render-view-item"},[vue.h(VxeSwitchComponent,{modelValue:le.listView.enabled,disabled:ne.value,"onUpdate:modelValue"(de){le.listView.enabled=de}}),vue.h(VxeTextComponent,{content:ce.label,icon:"vxe-icon-table"})])))}}),vue.h(VxeFormItemComponent,{title:"默认视图"},{default(){return[vue.h("div",{class:"vxe-form-design--widget-form-item-devices"},[ae?vue.h("div",{class:"vxe-form-design--widget-form-item-devices-item"},[vue.h("div",{class:"vxe-form-design--widget-form-item-devices-left"},[vue.h(VxeTextComponent,{icon:getIcon$8().FORM_DESIGN_PROPS_PC,content:getI18n$e("vxe.formDesign.widgetProp.displaySetting.pc")})]),vue.h(VxeSelectComponent,{modelValue:le.pcDefaultView,className:"vxe-form-design--widget-form-item-devices-select",options:Z.value,"onUpdate:modelValue"(ce){le.pcDefaultView=ce}})]):vue.createCommentVNode(),se?vue.h("div",{class:"vxe-form-design--widget-form-item-devices-item"},[vue.h("div",{class:"vxe-form-design--widget-form-item-devices-left"},[vue.h(VxeTextComponent,{icon:getIcon$8().FORM_DESIGN_PROPS_MOBILE,content:getI18n$e("vxe.formDesign.widgetProp.displaySetting.mobile")})]),vue.h(VxeSelectComponent,{modelValue:le.mobileDefaultView,className:"vxe-form-design--widget-form-item-devices-select",options:Z.value,"onUpdate:modelValue"(ce){le.mobileDefaultView=ce}})]):vue.createCommentVNode()])]}}),vue.h(VxeFormItemComponent,{title:"列配置"},{default(){const{formData:ce}=X;return[vue.h("div",{class:"vxe-list-design--widget-form-item-prop-list"},[vue.h("span",{},"显示序号"),vue.h(VxeRadioGroupComponent,{modelValue:ce.showSeq,options:ee.value,"onUpdate:modelValue"(de){ce.showSeq=de}})]),vue.h("div",{class:"vxe-list-design--widget-form-item-prop-list"},[vue.h("span",{},"表尾统计"),vue.h(VxeRadioGroupComponent,{modelValue:ce.showStatistics,options:ee.value,"onUpdate:modelValue"(de){ce.showStatistics=de}})])]}}),vue.h(VxeFormItemComponent,{title:"批量操作"},{default(){const{formData:ce}=X;return vue.h(VxeRadioGroupComponent,{modelValue:ce.showCheckbox,options:te.value,"onUpdate:modelValue"(de){ce.showCheckbox=de}})}}),Q.length||K.length?oe():vue.createCommentVNode()]}})}}}),LayoutSettingComponent=vue.defineComponent({name:"ListDesignLayoutSetting",props:{},emits:[],setup(){const G=vue.ref(1);return()=>vue.h("div",{class:"vxe-list-design--setting"},[vue.h("div",{class:"vxe-list-design--setting-form"},[vue.h(VxeTabsComponent,{modelValue:G.value,titleWidth:"50%",titleAlign:"center",padding:!0,class:"vxe-list-design--setting-form-tabs","onUpdate:modelValue"(H){G.value=H}},{default(){return[vue.h(VxeTabPaneComponent,{title:getI18n$e("vxe.listDesign.fieldSettingTab"),icon:getIcon$8().LIST_DESIGN_FIELD_SETTING,name:1},{default(){return vue.h(DefaultFieldSettingFormComponent)}}),vue.h(VxeTabPaneComponent,{title:getI18n$e("vxe.listDesign.listSettingTab"),icon:getIcon$8().LIST_DESIGN_LIST_SETTING,name:2},{default(){return vue.h(DefaultParameterSettingFormComponent)}})]}})])])}}),VxeListDesignComponent=vue.defineComponent({name:"VxeListDesign",props:{size:{type:String,default:()=>getConfig$8().listDesign.size||getConfig$8().size},height:{type:[String,Number],default:()=>getConfig$8().listDesign.height},config:Object,showPc:{type:Boolean,default:()=>getConfig$8().listDesign.showPc},showMobile:{type:Boolean,default:()=>getConfig$8().listDesign.showMobile},actionCodes:Array,formRender:Object},emits:[],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),{computeSize:ee}=useSize(G),te=vue.reactive({formData:{},searchFormData:{},searchFormItems:[],listTableColumns:[]}),ne={refElem:Z},re={computeSize:ee},oe={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>re},ae=[],se=[];renderer$c.forEach((Oe,Ne)=>{const{createListDesignSettingActionButtonConfig:_e}=Oe;if(_e){const ye={name:Ne},Ce=Object.assign(createListDesignActionButton({code:Ne}),_e(ye));Ce.type==="custom"?se.push(Ce):ae.push(Ce)}});const le=Oe=>({title:Oe.title,field:Oe.field,visible:!Oe.hidden,width:"",cellRender:{name:Oe.name,props:Oe.options}}),ce=Oe=>{const Ne=[];if(Oe){const{widgetData:_e}=Oe;_e&&_e.forEach(ye=>{const{name:Ce}=ye;Ce&&(Ce==="row"?ye.children.forEach(be=>{be.name&&Ne.push(le(be))}):Ce==="subtable"||Ne.push(le(ye)))})}return Ne},de=Oe=>{if(Oe){const Ne={};return{items:Oe.map(ye=>(Ne[ye.field]=null,{field:ye.field,title:ye.title,folding:ye.folding,itemRender:ye.itemRender})),data:Ne}}return{items:[],data:{}}},ue=Oe=>Oe?Oe.map(Ne=>({field:Ne.field,title:Ne.title,visible:!!Ne.visible,width:Ne.width,cellRender:XEUtils.clone(Ne.cellRender)})):[],he=Oe=>{const{formConfig:Ne,searchItems:_e,listColumns:ye}=Oe;return Ne&&pe(Ne),_e&&me(_e),ye&&(te.listTableColumns=fe(ye)),vue.nextTick()},fe=Oe=>ue(Oe),pe=Oe=>(te.formData=Object.assign({},$e(),Oe),vue.nextTick()),ve=()=>te.searchFormItems,me=Oe=>{const{data:Ne,items:_e}=de(Oe);return te.searchFormData=Ne,te.searchFormItems=_e,vue.nextTick()},ge=()=>te.listTableColumns,we=Oe=>(te.listTableColumns=fe(Oe),vue.nextTick()),$e=()=>{const{actionCodes:Oe,formRender:Ne}=G;let _e=getDefaultSettingFormData();if(Oe&&Oe.length&&(!_e.actionButtonList||!_e.actionButtonList.length)){const ye=[];Oe.forEach(Ce=>{if(XEUtils.isObject(Ce)&&Ce.default){const be=ae.find(Te=>Te.code===Ce.code);be&&ye.push(createListDesignActionButton({type:be.type,code:be.code}))}}),_e.actionButtonList=ye}if(Ne&&Ne.name){const ye=renderer$c.get(Ne.name),Ce=ye?ye.createListDesignSettingFormConfig:null,be={name:Ne.name};_e=(Ce?Ce(be):{})||{}}return _e},Ee=()=>{te.formData=$e()},xe=()=>(he({searchItems:[],listColumns:[]}),Ee(),vue.nextTick());Object.assign(oe,{dispatchEvent(Oe,Ne,_e){X(Oe,createEvent$3(_e,{$listDesign:oe},Ne))},loadFormDesignConfig(Oe){const{listTableColumns:Ne}=te,_e={};XEUtils.eachTree(Ne,Ce=>{_e[Ce.field]=Ce},{children:"children"});const ye=ce(Oe);return XEUtils.eachTree(ye,Ce=>{const be=_e[Ce.field];be&&(be.width&&(Ce.width=be.width),Ce.visible=be.visible)},{children:"children"}),te.listTableColumns=ye,vue.nextTick()},reloadFormDesignConfig(Oe){return te.listTableColumns=ce(Oe),vue.nextTick()},getSearchItems:ve,setSearchItems:me,getListColumns:ge,setListColumns:we,getConfig(){return{formConfig:te.formData,searchItems:ve(),listColumns:ge()}},loadConfig:he,reloadConfig(Oe){return xe(),he(Oe)},clearConfig:xe},{});const ke=()=>{const{height:Oe}=G,Ne=ee.value,_e=Q.header;return vue.h("div",{ref:Z,class:["vxe-list-design",{[`size--${Ne}`]:Ne}],style:Oe?{height:toCssUnit(Oe)}:null},[vue.h("div",{class:"vxe-list-design--header"},_e?_e({}):[]),vue.h("div",{class:"vxe-list-design--body"},[vue.h(LayoutPreviewComponent),vue.h(LayoutSettingComponent)])])};return vue.provide("$xeListDesign",oe),vue.watch(()=>G.config,Oe=>{he(Oe||{})}),Ee(),G.config&&he(G.config),oe.renderVN=ke,oe},render(){return this.renderVN()}});renderer$c.mixin({});const VxeListDesign=Object.assign({},VxeListDesignComponent,{install(G){G.component(VxeListDesignComponent.name,VxeListDesignComponent)}}),listDesignHandle={};dynamicApp.use(VxeListDesign),VxeUI.component(VxeListDesignComponent),VxeUI.listDesignHandle=listDesignHandle;const ListDesign=VxeListDesign,VxeListViewComponent=vue.defineComponent({name:"VxeListView",props:{size:{type:String,default:()=>getConfig$8().listView.size||getConfig$8().size},config:Object,height:{type:[String,Number],default:()=>getConfig$8().listView.height},loading:Boolean,formData:Object,actionButtons:Array,gridOptions:Object,gridEvents:Object,viewRender:Object},emits:["cell-action","update:formData","update:actionButtons"],setup(G,H){const X=VxeUI.getComponent("VxeGrid"),{emit:Q,slots:K}=H,Z=XEUtils.uniqueId(),ee=vue.ref(),te=vue.ref(),{computeSize:ne}=useSize(G),re=vue.reactive({formConfig:{},searchFormData:{},searchFormItems:[],listTableColumns:[],tableColumns:[],footerData:[{}]}),oe=vue.computed(()=>{const{gridOptions:ye}=G,{formConfig:Ce,tableColumns:be,searchFormData:Te,searchFormItems:Ae,footerData:Re}=re,{showStatistics:Fe}=Ce,Be=ye||{},je=Object.assign({minWidth:120},Be.columnConfig);let Le;return Be.proxyConfig&&(Le=Object.assign({autoLoad:!1},Be.proxyConfig)),Object.assign({},Be,{columns:be,columnConfig:je,showFooter:Fe,footerData:Fe?Re:null,formConfig:{data:Te,items:Ae},proxyConfig:Le})}),ae=vue.computed(()=>{const{gridEvents:ye}=G,Ce={};return XEUtils.each(ye,(be,Te)=>{Ce[XEUtils.camelCase(`on-${Te}`)]=be}),Ce}),se={refElem:ee,refGrid:te},le={computeSize:ne},ce={xID:Z,props:G,context:H,reactData:re,getRefMaps:()=>se,getComputeMaps:()=>le},de=[],ue=[];renderer$c.forEach((ye,Ce)=>{const{createListDesignSettingActionButtonConfig:be}=ye;if(be){const Te={name:Ce},Ae=Object.assign(createListDesignActionButton({code:Ce}),be(Te));Ae.type==="custom"?ue.push(Ae):de.push(Ae)}});const he=ye=>{if(ye&&ye.length){const Ce={},be=ye.map(Te=>(Ce[Te.field]=null,{field:Te.field,title:Te.title,folding:Te.folding,itemRender:Te.itemRender}));return be.push({field:"active",title:"",folding:!1,collapseNode:ye.some(Te=>Te.folding),itemRender:{name:"VxeButtonGroup",options:[{content:"查询",icon:"vxe-icon-search",status:"primary",type:"submit"},{content:"重置",icon:"vxe-icon-repeat",type:"reset"}]}}),{items:be,data:Ce}}return{items:[],data:{}}},fe=ye=>ye?ye.map(Ce=>({field:Ce.field,title:Ce.title,visible:!!Ce.visible,width:Ce.width,cellRender:XEUtils.clone(Ce.cellRender)})):[],pe=()=>(Q("update:formData",{}),Object.assign(re,{formConfig:{},searchFormData:{},searchFormItems:[],listTableColumns:[],tableColumns:[],footerData:[{}]}),vue.nextTick()),ve=ye=>{if(ye){const{formConfig:Ce,searchItems:be,listColumns:Te}=ye;re.formConfig=Ce||{},De(be||[]),Me(Te||[])}return vue.nextTick()},me=ye=>he(ye||[]),ge=(ye,Ce)=>{const be=Object.assign({},Ce),{showSeq:Te,actionButtonList:Ae}=be,Re=[],Fe={},Be=K.cellAction,je=K.footerCell;if(Te&&Re.push({type:"seq",field:"_seq",fixed:"left",width:70}),fe(ye||[]).forEach(Le=>{const Ue=Object.assign({},Le);be.showStatistics&&je&&(Ue.slots={footer:Ie=>je(Object.assign({},Ie))}),Ue.field&&(Fe[Ue.field]=null),Re.push(Ue)}),Ae&&Ae.length){const Le={field:"_active",title:getI18n$e("vxe.table.actionTitle"),fixed:"right",width:"auto"},Ue=[];Ae.forEach(Ie=>{if(Ie.type==="custom")return{content:Ie.name,name:Ie.code,icon:Ie.icon};const Ve=de.find(at=>at.code===Ie.code);let ze=Ie.name,We=Ie.icon,Xe=Ie.status,He=Ie.permissionCode,qe=Ie.classify;if(Ve){const at=Ve.name;We=Ve.icon||"",Xe=Ve.status||"",He=Ve.permissionCode||"",qe=Ve.classify||"",ze=XEUtils.toValueString(XEUtils.isFunction(at)?at({name:Ve.code||""}):at)}(!qe||qe==="cellButton")&&Ue.push({content:ze,name:Ie.code,icon:We,status:Xe,permissionCode:He})}),Be?Le.slots={default(Ie){return Be(Object.assign(Object.assign({},Ie),{buttons:Ue}))}}:Le.cellRender={name:"VxeButtonGroup",props:{mode:"text"},options:Ue,events:{click(Ie,Ve){const{option:ze}=Ve;ke("cell-action",Object.assign(Object.assign({},Ie),{button:ze}),Ve.$event)}}},Re.push(Le)}return{rowRecord:Fe,columns:Re,actionButtons:Ae}},we=ye=>{const{formConfig:Ce,searchItems:be,listColumns:Te}=ye||{},{columns:Ae,rowRecord:Re,actionButtons:Fe}=ge(Te||[],Ce||re.formConfig),{data:Be,items:je}=me(be||[]);return{formData:Be,formItems:je,tableColumns:Ae,tableRecord:Re,actionButtons:Fe}},$e=ye=>{if(XEUtils.isArray(ye)){const{rowRecord:Ce}=ge(ye,re.formConfig);return Ce}if(ye){const{formConfig:Ce,listColumns:be}=ye,{rowRecord:Te}=ge(be||[],Ce||re.formConfig);return Te}return{}},Ee=()=>{const{searchFormData:ye,searchFormItems:Ce}=re,be=[],Te={items:be,type:"and"};return te.value&&Ce.forEach(Re=>{const{field:Fe}=Re,Be=ye[Fe];if(Be){const je=[];je.push({field:Fe,value:Be,match:"exact",type:XEUtils.isArray(Be)?"array":""}),be.push({condition:je,type:"and"})}}),Te},xe=(ye,...Ce)=>{const be=te.value;return be?be.commitProxy(ye,...Ce):Promise.resolve()},Me=ye=>{const{formConfig:Ce}=re,be=ye||[],{columns:Te,actionButtons:Ae}=ge(be,Ce);re.listTableColumns=be,re.tableColumns=Te,Q("update:actionButtons",Ae),vue.nextTick(()=>{oe.value.proxyConfig&&xe("reload")})},De=ye=>{const{data:Ce,items:be}=he(ye);return re.searchFormData=Ce,re.searchFormItems=be,Q("update:formData",Ce),vue.nextTick()},ke=(ye,Ce,be)=>{Q(ye,createEvent$3(be,{$listView:ce},Ce))};Object.assign(ce,{dispatchEvent:ke,clearConfig:pe,loadConfig:ve,parseConfig:we,getTableRecord:$e,getQueryFilter:Ee,commitProxy:xe},{});const _e=()=>{const{height:ye,loading:Ce}=G,be=ne.value,Te=K.grid,Ae=oe.value,Re=ae.value;return vue.h("div",{ref:ee,class:["vxe-list-view",{[`size--${be}`]:be,"is--loading":Ce}],style:ye?{height:toCssUnit(ye)}:null},[vue.h("div",{class:"vxe-list-view--body"},[Te?vue.h("div",{class:"vxe-list-view--grid-wrapper"},getSlotVNs(Te({$listView:ce}))):X?vue.h(X,Object.assign({},Ae,Re,{ref:te}),Object.assign({},K,{default:void 0})):vue.createCommentVNode()]),vue.h(VxeLoadingComponent,{class:"vxe-list-view--loading",modelValue:Ce})])};return vue.watch(()=>G.config,ye=>{ve(ye||{})}),G.config&&ve(G.config),vue.provide("$xeListView",ce),process.env.NODE_ENV==="development"&&vue.nextTick(()=>{X||errLog("vxe.error.reqComp",["vxe-grid"])}),ce.renderVN=_e,ce},render(){return this.renderVN()}}),VxeListView=Object.assign(VxeListViewComponent,{install:function(G){G.component(VxeListViewComponent.name,VxeListViewComponent)}});dynamicApp.use(VxeListView),VxeUI.component(VxeListViewComponent);const ListView=VxeListView,VxeListComponent=vue.defineComponent({name:"VxeList",props:{data:Array,height:[Number,String],maxHeight:[Number,String],loading:Boolean,className:[String,Function],size:{type:String,default:()=>getConfig$8().list.size||getConfig$8().size},autoResize:{type:Boolean,default:()=>getConfig$8().list.autoResize},syncResize:[Boolean,String,Number],scrollY:Object},emits:["scroll"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.reactive({scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,items:[]}),te={resizeObserver:void 0,fullData:[],lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0}},ne=vue.ref(),re=vue.ref(),oe=vue.ref(),ae={refElem:ne},se={xID:K,props:G,context:H,reactData:ee,internalData:te,getRefMaps:()=>ae},le=vue.computed(()=>Object.assign({},getConfig$8().list.scrollY,G.scrollY)),ce=vue.computed(()=>{const{height:Oe,maxHeight:Ne}=G,_e={};return Oe?_e.height=`${isNaN(Oe)?Oe:`${Oe}px`}`:Ne&&(_e.height="auto",_e.maxHeight=`${isNaN(Ne)?Ne:`${Ne}px`}`),_e}),de=(Oe,Ne,_e)=>{Q(Oe,createEvent$3(_e,{$list:se},Ne))},ue=()=>{const{scrollYLoad:Oe}=ee,{scrollYStore:Ne,fullData:_e}=te;ee.bodyHeight=Oe?_e.length*Ne.rowHeight:0,ee.topSpaceHeight=Oe?Math.max(Ne.startIndex*Ne.rowHeight,0):0},he=()=>{const{scrollYLoad:Oe}=ee,{fullData:Ne,scrollYStore:_e}=te;return ee.items=Oe?Ne.slice(_e.startIndex,_e.endIndex):Ne.slice(0),vue.nextTick()},fe=()=>{he(),ue()},pe=()=>vue.nextTick().then(()=>{const{scrollYLoad:Oe}=ee,{scrollYStore:Ne}=te,_e=oe.value,ye=le.value;let Ce=0,be;if(_e&&(ye.sItem&&(be=_e.querySelector(ye.sItem)),be||(be=_e.children[0])),be&&(Ce=be.offsetHeight),Ce=Math.max(20,Ce),Ne.rowHeight=Ce,Oe){const Te=re.value,Ae=Math.max(8,Math.ceil(Te.clientHeight/Ce)),Re=ye.oSize?XEUtils.toNumber(ye.oSize):browse.edge?10:0;Ne.offsetSize=Re,Ne.visibleSize=Ae,Ne.endIndex=Math.max(Ne.startIndex,Ae+Re,Ne.endIndex),fe()}else ue()}),ve=()=>{const Oe=re.value;return Oe&&(Oe.scrollTop=0),vue.nextTick()},me=(Oe,Ne)=>{const _e=re.value;return XEUtils.isNumber(Oe)&&(_e.scrollLeft=Oe),XEUtils.isNumber(Ne)&&(_e.scrollTop=Ne),ee.scrollYLoad?new Promise(ye=>{setTimeout(()=>{vue.nextTick(()=>{ye()})},50)}):vue.nextTick()},ge=()=>{const{lastScrollLeft:Oe,lastScrollTop:Ne}=te;return ve().then(()=>{if(Oe||Ne)return te.lastScrollLeft=0,te.lastScrollTop=0,me(Oe,Ne)})},we=()=>{const Oe=ne.value;return Oe.clientWidth&&Oe.clientHeight?pe():Promise.resolve()},$e=Oe=>{const{scrollYStore:Ne}=te,{startIndex:_e,endIndex:ye,visibleSize:Ce,offsetSize:be,rowHeight:Te}=Ne,Re=Oe.target.scrollTop,Fe=Math.floor(Re/Te),Be=Math.max(0,Fe-1-be),je=Fe+Ce+be;(Fe<=_e||Fe>=ye-Ce-1)&&(_e!==Be||ye!==je)&&(Ne.startIndex=Be,Ne.endIndex=je,fe())},Ee=Oe=>{const Ne=Oe.target,_e=Ne.scrollTop,ye=Ne.scrollLeft,Ce=ye!==te.lastScrollLeft,be=_e!==te.lastScrollTop;te.lastScrollTop=_e,te.lastScrollLeft=ye,ee.scrollYLoad&&$e(Oe),de("scroll",{scrollLeft:ye,scrollTop:_e,isX:Ce,isY:be},Oe)},xe=Oe=>{const{scrollYStore:Ne}=te,_e=le.value,ye=Oe||[];return Object.assign(Ne,{startIndex:0,endIndex:1,visibleSize:0}),te.fullData=ye,ee.scrollYLoad=!!_e.enabled&&_e.gt>-1&&(_e.gt===0||_e.gt<=ye.length),he(),pe().then(()=>{ge()})};Object.assign(se,{dispatchEvent:de,loadData:xe,reloadData(Oe){return ve(),xe(Oe)},recalculate:we,scrollTo:me,refreshScroll:ge,clearScroll:ve});const De=vue.ref(0);vue.watch(()=>G.data?G.data.length:-1,()=>{De.value++}),vue.watch(()=>G.data,()=>{De.value++}),vue.watch(De,()=>{xe(G.data||[])}),vue.watch(()=>G.syncResize,Oe=>{Oe&&(we(),vue.nextTick(()=>setTimeout(()=>we())))}),vue.onActivated(()=>{we().then(()=>ge())}),vue.nextTick(()=>{if(globalEvents$4.on(se,"resize",()=>{we()}),G.autoResize){const Oe=ne.value,Ne=globalResize$2.create(()=>we());Ne.observe(Oe),te.resizeObserver=Ne}xe(G.data||[])}),vue.onUnmounted(()=>{const{resizeObserver:Oe}=te;Oe&&Oe.disconnect(),globalEvents$4.off(se,"resize")});const ke=()=>{const{className:Oe,loading:Ne}=G,{bodyHeight:_e,topSpaceHeight:ye,items:Ce}=ee,be=X.default,Te=Z.value,Ae=ce.value;return vue.h("div",{ref:ne,class:["vxe-list",Oe?XEUtils.isFunction(Oe)?Oe({$list:se}):Oe:"",{[`size--${Te}`]:Te,"is--loading":Ne}]},[vue.h("div",{ref:re,class:"vxe-list--virtual-wrapper",style:Ae,onScroll:Ee},[vue.h("div",{class:"vxe-list--y-space",style:{height:_e?`${_e}px`:""}}),vue.h("div",{ref:oe,class:"vxe-list--body",style:{marginTop:ye?`${ye}px`:""}},be?be({items:Ce,$list:se}):[])]),vue.h(VxeLoadingComponent,{class:"vxe-list--loading",modelValue:Ne})])};return se.renderVN=ke,se},render(){return this.renderVN()}}),VxeList=Object.assign(VxeListComponent,{install(G){G.component(VxeListComponent.name,VxeListComponent)}});dynamicApp.use(VxeList),VxeUI.component(VxeListComponent);const List=VxeList,VxeMenuComponent=vue.defineComponent({name:"VxeMenu",props:{modelValue:[String,Number],expandAll:Boolean,collapsed:{type:Boolean,default:null},collapseFixed:Boolean,loading:Boolean,options:{type:Array,default:()=>[]},size:{type:String,default:()=>getConfig$8().image.size||getConfig$8().size}},emits:["update:modelValue","click"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.inject("$xeLayoutAside",null),Z=vue.ref(),ee=vue.ref(),{computeSize:te}=useSize(G),ne=vue.reactive({initialized:!!G.collapsed,isEnterCollapse:!1,collapseStyle:{},collapseZindex:0,activeName:G.modelValue,menuList:[],itemHeight:1}),re={refElem:Z},oe=vue.computed(()=>{const{collapsed:Ce}=G;return XEUtils.isBoolean(Ce)?Ce:K?K.props.collapsed:!1}),ae=vue.computed(()=>{let Ce="";return K&&(Ce=K.props.collapseWidth||""),Ce}),se=vue.computed(()=>{let Ce="";return K&&(Ce=K.props.width||""),Ce}),le={computeSize:te},ce={xID:Q,props:G,context:H,reactData:ne,getRefMaps:()=>re,getComputeMaps:()=>le},de=Ce=>`${Ce.title||Ce.name}`,ue=()=>{ne.collapseZindex<getLastZIndex()&&(ne.collapseZindex=nextZIndex())},he=Ce=>{const{activeName:be}=ne;XEUtils.eachTree(ne.menuList,(Te,Ae,Re,Fe,Be,je)=>{Te.itemKey===be?(je.forEach(Le=>{Le.isActive=!0,Ce&&(Le.isExpand=!0)}),Te.isExactActive=!0):(Te.isExactActive=!1,Te.isActive=!1)},{children:"childList"})},fe=()=>{const{options:Ce,expandAll:be}=G;ne.menuList=XEUtils.mapTree(Ce,(Te,Ae,Re,Fe,Be)=>Object.assign(Object.assign({},Te),{parentKey:Be?Be.name||Fe.slice(0,Fe.length-1).join(","):"",level:Fe.length,itemKey:Te.name||Fe.join(","),isExactActive:!1,isActive:!1,isExpand:XEUtils.isBoolean(Te.expanded)?Te.expanded:!!be,hasChild:Te.children&&Te.children.length>0}),{children:"children",mapChildren:"childList"})},pe=()=>{const{collapseFixed:Ce}=G;Ce&&vue.nextTick(()=>{const{isEnterCollapse:be}=ne,Te=oe.value,Ae=se.value,Re=ae.value,Fe=Z.value;if(Fe){const Be=Fe.getBoundingClientRect(),je=Fe.parentNode;ne.collapseStyle=Te?{top:toCssUnit(Be.top),left:toCssUnit(Be.left),height:toCssUnit(je.clientHeight),width:be?Ae?toCssUnit(Ae):"":Re?toCssUnit(Re):"",zIndex:ne.collapseZindex}:{}}})},ve=()=>{const{collapseFixed:Ce}=G;if(Ce){const{initialized:be}=ne;oe.value&&(be||(ne.initialized=!0,vue.nextTick(()=>{const Ae=ee.value;Ae&&document.body.appendChild(Ae)}))),ne.isEnterCollapse=!1,ue(),pe()}},me=(Ce,be)=>{const{hasChild:Te,isExpand:Ae}=be;Te&&(Ce.stopPropagation(),Ce.preventDefault(),be.isExpand=!Ae)},ge=Ce=>{ne.activeName=Ce,X("update:modelValue",Ce)},we=(Ce,be)=>{const{itemKey:Te,routerLink:Ae,hasChild:Re}=be;Ae?(ge(Te),Ee()):Re?me(Ce,be):(ge(Te),Ee()),xe("click",{menu:be},Ce)},$e=()=>{const{collapseStyle:Ce}=ne,be=se.value;ne.collapseStyle=Object.assign({},Ce,{width:be?toCssUnit(be):""}),ne.isEnterCollapse=!0},Ee=()=>{const{collapseStyle:Ce}=ne,be=Z.value;ne.collapseStyle=Object.assign({},Ce,{width:be?toCssUnit(be.offsetWidth):""}),ne.isEnterCollapse=!1},xe=(Ce,be,Te)=>{X(Ce,createEvent$3(Te,{$menu:ce},be))};Object.assign(ce,{dispatchEvent:xe},{});const ke=Ce=>{const{icon:be,isExpand:Te,hasChild:Ae}=Ce,Re=de(Ce);return[vue.h("span",{class:"vxe-menu--item-link-icon"},be?[vue.h("i",{class:be})]:[]),vue.h("span",{class:"vxe-menu--item-link-title",title:Re},Re),Ae?vue.h("span",{class:"vxe-menu--item-link-collapse",onClick(Fe){me(Fe,Ce)}},[vue.h("i",{class:Te?getIcon$8().MENU_ITEM_EXPAND_OPEN:getIcon$8().MENU_ITEM_EXPAND_CLOSE})]):vue.createCommentVNode()]},Oe=Ce=>{const{itemKey:be,level:Te,hasChild:Ae,isActive:Re,isExactActive:Fe,isExpand:Be,routerLink:je,childList:Le}=Ce,{isEnterCollapse:Ue}=ne,Ie=oe.value;return Ce.permissionCode&&!permission.checkVisible(Ce.permissionCode)?vue.createCommentVNode():vue.h("div",{key:be,class:["vxe-menu--item-wrapper",`vxe-menu--item-level${Te}`,{"is--exact-active":Fe,"is--active":Re,"is--expand":(!Ie||Ue)&&Be}]},[je?vue.h(vue.resolveComponent("router-link"),{class:"vxe-menu--item-link",to:je,onClick(Ve){we(Ve,Ce)}},{default:()=>ke(Ce)}):vue.h("div",{class:"vxe-menu--item-link",onClick(Ve){we(Ve,Ce)}},ke(Ce)),Ae?vue.h("div",{class:"vxe-menu--item-group"},Le.map(Ve=>Oe(Ve))):vue.createCommentVNode()])},Ne=Ce=>{const{itemKey:be,level:Te,hasChild:Ae,isActive:Re,isExactActive:Fe,routerLink:Be,childList:je}=Ce;return Ce.permissionCode&&!permission.checkVisible(Ce.permissionCode)?vue.createCommentVNode():vue.h("div",{key:be,class:["vxe-menu--item-wrapper",`vxe-menu--item-level${Te}`,{"is--exact-active":Fe,"is--active":Re}]},[Be?vue.h(vue.resolveComponent("router-link"),{class:"vxe-menu--item-link",to:Be,onClick(Le){we(Le,Ce)}},{default:()=>ke(Ce)}):vue.h("div",{class:"vxe-menu--item-link",onClick(Le){we(Le,Ce)}},ke(Ce)),Ae?vue.h("div",{class:"vxe-menu--item-group"},je.map(Le=>Oe(Le))):vue.createCommentVNode()])},_e=()=>{const{loading:Ce}=G,{initialized:be,menuList:Te,collapseStyle:Ae,isEnterCollapse:Re}=ne,Fe=te.value,Be=oe.value;return vue.h("div",{ref:Z,class:["vxe-menu",{[`size--${Fe}`]:Fe,"is--collapsed":Be,"is--loading":Ce}]},[vue.h("div",{class:"vxe-menu--item-list"},Te.map(je=>Be?Ne(je):Oe(je))),be?vue.h("div",{ref:ee,class:["vxe-menu--collapse-wrapper",{[`size--${Fe}`]:Fe,"is--collapsed":Be,"is--enter":Re,"is--loading":Ce}],style:Ae,onMouseenter:$e,onMouseleave:Ee},[Be?vue.h("div",{class:"vxe-menu--item-list"},Te.map(je=>Oe(je))):vue.createCommentVNode()]):vue.createCommentVNode(),vue.h(VxeLoadingComponent,{class:"vxe-list-view--loading",modelValue:Ce})])},ye=vue.ref(0);return vue.watch(()=>G.options?G.options.length:-1,()=>{ye.value++}),vue.watch(()=>G.options,()=>{ye.value++}),vue.watch(ye,()=>{fe(),he(!0)}),vue.watch(()=>G.modelValue,Ce=>{ne.activeName=Ce}),vue.watch(()=>ne.activeName,()=>{he(!0)}),vue.watch(oe,()=>{ve()}),vue.onMounted(()=>{globalEvents$4.on(ce,"resize",pe),pe()}),vue.onBeforeUnmount(()=>{globalEvents$4.off(ce,"resize");const Ce=ee.value;if(Ce){const be=Ce.parentNode;be&&be.removeChild(Ce)}}),fe(),he(!0),ce.renderVN=_e,ce},render(){return this.renderVN()}}),VxeMenu=Object.assign({},VxeMenuComponent,{install(G){G.component(VxeMenuComponent.name,VxeMenuComponent)}});dynamicApp.use(VxeMenu),VxeUI.component(VxeMenuComponent);const Menu=VxeMenu;function handleModal(G){return checkDynamic(),new Promise(H=>{const X=Object.assign({},G);if(X.id&&allActiveModals.some(Q=>Q.props.id===X.id))H("exist");else{const Q=X.onHide,K=Object.assign(X,{key:XEUtils.uniqueId(),modelValue:!0,onHide(Z){const ee=dynamicStore.modals;Q&&Q(Z),dynamicStore.modals=ee.filter(te=>te.key!==K.key),H(Z.type)}});dynamicStore.modals.push(K)}})}function getModal(G){return XEUtils.find(allActiveModals,H=>H.props.id===G)}function closeModal(G){const H=G?[getModal(G)]:allActiveModals,X=[];return H.forEach(Q=>{Q&&X.push(Q.close())}),Promise.all(X)}function handleOpen(G,H,X,Q){let K;return XEUtils.isObject(H)?K=H:K={content:XEUtils.toValueString(H),title:X},handleModal(Object.assign(Object.assign(Object.assign({},G),Q),K))}function openModal(G){return handleOpen({type:"modal"},G)}function openAlert(G,H,X){return handleOpen({type:"alert",lockScroll:!0,showHeader:!0,showFooter:!0},G,H,X)}function openConfirm(G,H,X){return handleOpen({type:"confirm",status:"question",lockScroll:!0,showHeader:!0,showFooter:!0},G,H,X)}function openMessage(G,H){return handleOpen({type:"message",mask:!1,lockView:!1,lockScroll:!1,showHeader:!1},G,"",H)}function openNotification(G,H,X){return handleOpen({type:"notification",mask:!1,lockView:!1,lockScroll:!1,showHeader:!0,draggable:!1,position:"top-right",width:320},G,H,X)}const ModalController={get:getModal,close:closeModal,open:openModal,alert:openAlert,confirm:openConfirm,message:openMessage,notification:openNotification},VxeModal=Object.assign(VxeModalComponent,{install:function(G){G.component(VxeModalComponent.name,VxeModalComponent)}});VxeUI.modal=ModalController,dynamicApp.use(VxeModal),VxeUI.component(VxeModalComponent);const Modal=VxeModal,VxeNoticeBarComponent=vue.defineComponent({name:"VxeNoticeBar",props:{duration:[String,Number],direction:{type:String,default:()=>getConfig$8().noticeBar.direction},speed:{type:String,default:()=>getConfig$8().noticeBar.speed},content:String,vertical:Boolean,loop:{type:Boolean},size:{type:String,default:()=>getConfig$8().noticeBar.size||getConfig$8().size}},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.ref(),te=vue.ref(),ne=vue.reactive({animationDuration:0}),re={refElem:ee},oe=vue.computed(()=>{const{content:fe}=G;return`${fe||""}`}),ae={},se={xID:K,props:G,context:H,reactData:ne,getRefMaps:()=>re,getComputeMaps:()=>ae},ce={dispatchEvent:(fe,pe,ve)=>{Q(fe,createEvent$3(ve,{$noticeBar:se},pe))}},de={},ue=()=>{const{speed:fe}=G,pe=te.value;if(pe){let ve=46;fe==="fast"?ve=118:fe==="slow"&&(ve=18),ne.animationDuration=Math.ceil(pe.scrollWidth/ve)}};Object.assign(se,ce,de);const he=()=>{const{vertical:fe,duration:pe,direction:ve}=G,{animationDuration:me}=ne,ge=Z.value,we=oe.value,$e=X.default,Ee=X.prefix,xe=X.suffix;return vue.h("div",{ref:ee,class:["vxe-notice-bar",`is--${fe?"vertical":"horizontal"}`,`dir--${ve||"left"}`,{[`size--${ge}`]:ge}]},[Ee?vue.h("div",{class:"vxe-notice-bar--prefix"},Ee({})):renderEmptyElement$3(se),vue.h("div",{class:"vxe-notice-bar--content"},[vue.h("div",{ref:te,class:"vxe-notice-bar--inner"},[vue.h("div",{class:"vxe-notice-bar--wrapper",style:{animationDuration:`${pe?toCssUnit(pe,"s"):me}s`}},$e?$e({}):we)])]),xe?vue.h("div",{class:"vxe-notice-bar--suffix"},xe({})):renderEmptyElement$3(se)])};return se.renderVN=he,vue.onMounted(()=>{globalEvents$4.on(se,"resize",ue),ue()}),vue.onBeforeUnmount(()=>{globalEvents$4.off(se,"resize")}),se},render(){return this.renderVN()}}),VxeNoticeBar=Object.assign({},VxeNoticeBarComponent,{install(G){G.component(VxeNoticeBarComponent.name,VxeNoticeBarComponent)}});dynamicApp.use(VxeNoticeBar),VxeUI.component(VxeNoticeBarComponent);const NoticeBar=VxeNoticeBar,VxeNumberInput=Object.assign({},VxeNumberInputComponent,{install(G){G.component(VxeNumberInputComponent.name,VxeNumberInputComponent)}});dynamicApp.use(VxeNumberInput),VxeUI.component(VxeNumberInputComponent);const NumberInput=VxeNumberInput;class OptionInfo{constructor(H,X){Object.assign(this,{id:XEUtils.uniqueId("option_"),value:X.value,label:X.label,visible:X.visible,className:X.className,disabled:X.disabled})}update(H,X){this[H]=X}}function isOption(G){return G instanceof OptionInfo}function createOption(G,H){return isOption(H)?H:new OptionInfo(G,H)}function watchOption(G,H){Object.keys(G).forEach(X=>{vue.watch(()=>G[X],Q=>{H.update(X,Q)})})}function assembleOption(G,H,X,Q){const{reactData:K}=G,{staticOptions:Z}=K,ee=H.parentNode,te=Q?Q.optionConfig:null,ne=te?te.options:Z;ee&&ne&&(ne.splice(XEUtils.arrayIndexOf(ee.children,H),0,X),K.staticOptions=Z.slice(0))}function destroyOption(G,H){const{reactData:X}=G,{staticOptions:Q}=X,K=XEUtils.findTree(Q,Z=>Z.id===H.id,{children:"options"});K&&K.items.splice(K.index,1),X.staticOptions=Q.slice(0)}const VxeOptgroupComponent=vue.defineComponent({name:"VxeOptgroup",props:{label:{type:[String,Number,Boolean],default:""},visible:{type:Boolean,default:null},className:[String,Function],disabled:Boolean},emits:[],setup(G,{slots:H}){const X=vue.ref(),Q=vue.inject("$xeSelect",{}),K=createOption(Q,G),Z={optionConfig:K};return K.options=[],vue.provide("$xeOptgroup",Z),watchOption(G,K),vue.onMounted(()=>{const ee=X.value;assembleOption(Q,ee,K)}),vue.onUnmounted(()=>{destroyOption(Q,K)}),()=>{const ee=H.default;return vue.h("div",{ref:X},ee?ee({}):[])}}}),VxeOptgroup=Object.assign(VxeOptgroupComponent,{install:function(G){G.component(VxeOptgroupComponent.name,VxeOptgroupComponent)}});dynamicApp.use(VxeOptgroup),VxeUI.component(VxeOptgroupComponent);const Optgroup=VxeOptgroup,VxeOptionComponent=vue.defineComponent({name:"VxeOption",props:{value:[String,Number,Boolean],label:{type:[String,Number,Boolean],default:""},visible:{type:Boolean,default:null},className:[String,Function],disabled:Boolean},emits:[],setup(G,{slots:H}){const X=vue.ref(),Q=vue.inject("$xeSelect",{}),K=vue.inject("$xeOptgroup",null),Z=createOption(Q,G);return Z.slots=H,watchOption(G,Z),vue.onMounted(()=>{const ee=X.value;assembleOption(Q,ee,Z,K)}),vue.onUnmounted(()=>{destroyOption(Q,Z)}),()=>vue.h("div",{ref:X})}}),VxeOption=Object.assign(VxeOptionComponent,{install:function(G){G.component(VxeOptionComponent.name,VxeOptionComponent)}});dynamicApp.use(VxeOption),VxeUI.component(VxeOptionComponent);const Option=VxeOption,VxePagerComponent=vue.defineComponent({name:"VxePager",props:{size:{type:String,default:()=>getConfig$8().pager.size||getConfig$8().size},layouts:{type:Array,default:()=>getConfig$8().pager.layouts||["PrevJump","PrevPage","Jump","PageCount","NextPage","NextJump","Sizes","Total"]},currentPage:{type:Number,default:1},loading:Boolean,pageSize:{type:Number,default:()=>getConfig$8().pager.pageSize||10},total:{type:Number,default:0},pagerCount:{type:Number,default:()=>getConfig$8().pager.pagerCount||7},pageSizes:{type:Array,default:()=>getConfig$8().pager.pageSizes||[10,15,20,50,100]},align:{type:String,default:()=>getConfig$8().pager.align},border:{type:Boolean,default:()=>getConfig$8().pager.border},background:{type:Boolean,default:()=>getConfig$8().pager.background},perfect:{type:Boolean,default:()=>getConfig$8().pager.perfect},autoHidden:{type:Boolean,default:()=>getConfig$8().pager.autoHidden},transfer:{type:Boolean,default:()=>getConfig$8().pager.transfer},className:[String,Function],pageSizePlacement:{type:String,default:()=>getConfig$8().pager.pageSizePlacement},iconPrevPage:String,iconJumpPrev:String,iconJumpNext:String,iconNextPage:String,iconJumpMore:String,iconHomePage:String,iconEndPage:String},emits:["update:pageSize","update:currentPage","page-change"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.inject("$xeGrid",null),te=vue.reactive({inpCurrPage:G.currentPage}),ne=vue.ref(),re={refElem:ne},oe=vue.computed(()=>he(G.total,G.pageSize)),ae=vue.computed(()=>{const{pagerCount:Ie}=G,ze=oe.value>Ie?Ie-2:Ie,We=[];for(let Xe=0;Xe<ze;Xe++)We.push(Xe);return We}),se=vue.computed(()=>Math.floor((G.pagerCount-2)/2)),le=vue.computed(()=>G.pageSizes.map(Ie=>XEUtils.isNumber(Ie)?{value:Ie,label:`${getI18n$e("vxe.pager.pagesize",[Ie])}`}:Object.assign({value:"",label:""},Ie))),ce={xID:K,props:G,context:H,getRefMaps:()=>re};let de={},ue={};const he=(Ie,Ve)=>Math.max(Math.ceil(Ie/Ve),1),fe=(Ie,Ve)=>{Q("update:currentPage",Ve),Ie&&Ve!==G.currentPage&&de.dispatchEvent("page-change",{type:"current",pageSize:G.pageSize,currentPage:Ve},Ie)},pe=(Ie,Ve)=>{Q("update:currentPage",Ie),Ve&&Ie!==G.currentPage&&de.dispatchEvent("page-change",{type:"current",pageSize:G.pageSize,currentPage:Ie},Ve)},ve=Ie=>{const{$event:Ve}=Ie,ze=Ve.target,We=XEUtils.toInteger(ze.value),Xe=oe.value,He=We<=0?1:We>=Xe?Xe:We,qe=XEUtils.toValueString(He);ze.value=qe,te.inpCurrPage=qe,pe(He,Ve)},me=Ie=>{const{currentPage:Ve}=G;Ve>1&&pe(1,Ie)},ge=Ie=>{const{currentPage:Ve}=G,ze=oe.value;Ve<ze&&pe(ze,Ie)},we=Ie=>{const{currentPage:Ve}=G,ze=oe.value;Ve>1&&pe(Math.min(ze,Math.max(Ve-1,1)),Ie)},$e=Ie=>{const{currentPage:Ve}=G,ze=oe.value;Ve<ze&&pe(Math.min(ze,Ve+1),Ie)},Ee=Ie=>{const Ve=ae.value;pe(Math.max(G.currentPage-Ve.length,1),Ie)},xe=Ie=>{const Ve=oe.value,ze=ae.value;pe(Math.min(G.currentPage+ze.length,Ve),Ie)},Me=Ie=>{const{value:Ve}=Ie,ze=XEUtils.toNumber(Ve),We=he(G.total,ze);let Xe=G.currentPage;Xe>We&&(Xe=We,Q("update:currentPage",We)),Q("update:pageSize",ze),de.dispatchEvent("page-change",{type:"size",pageSize:ze,currentPage:Xe},Ie.$event)},De=Ie=>{const{$event:Ve}=Ie;globalEvents$4.hasKey(Ve,GLOBAL_EVENT_KEYS$3.ENTER)?ve(Ie):globalEvents$4.hasKey(Ve,GLOBAL_EVENT_KEYS$3.ARROW_UP)?(Ve.preventDefault(),$e(Ve)):globalEvents$4.hasKey(Ve,GLOBAL_EVENT_KEYS$3.ARROW_DOWN)&&(Ve.preventDefault(),we(Ve))},ke=()=>vue.h("button",{class:["vxe-pager--prev-btn",{"is--disabled":G.currentPage<=1}],type:"button",title:getI18n$e("vxe.pager.homePageTitle"),onClick:me},[vue.h("i",{class:["vxe-pager--btn-icon",G.iconHomePage||getIcon$8().PAGER_HOME]})]),Oe=()=>vue.h("button",{class:["vxe-pager--prev-btn",{"is--disabled":G.currentPage<=1}],type:"button",title:getI18n$e("vxe.pager.prevPageTitle"),onClick:we},[vue.h("i",{class:["vxe-pager--btn-icon",G.iconPrevPage||getIcon$8().PAGER_PREV_PAGE]})]),Ne=Ie=>vue.h(Ie||"button",{class:["vxe-pager--jump-prev",{"is--fixed":!Ie,"is--disabled":G.currentPage<=1}],type:"button",title:getI18n$e("vxe.pager.prevJumpTitle"),onClick:Ee},[Ie?vue.h("i",{class:["vxe-pager--jump-more-icon",G.iconJumpMore||getIcon$8().PAGER_JUMP_MORE]}):null,vue.h("i",{class:["vxe-pager--jump-icon",G.iconJumpPrev||getIcon$8().PAGER_JUMP_PREV]})]),_e=Ie=>{const Ve=oe.value;return vue.h(Ie||"button",{class:["vxe-pager--jump-next",{"is--fixed":!Ie,"is--disabled":G.currentPage>=Ve}],type:"button",title:getI18n$e("vxe.pager.nextJumpTitle"),onClick:xe},[Ie?vue.h("i",{class:["vxe-pager--jump-more-icon",G.iconJumpMore||getIcon$8().PAGER_JUMP_MORE]}):null,vue.h("i",{class:["vxe-pager--jump-icon",G.iconJumpNext||getIcon$8().PAGER_JUMP_NEXT]})])},ye=()=>{const Ie=oe.value;return vue.h("button",{class:["vxe-pager--next-btn",{"is--disabled":G.currentPage>=Ie}],type:"button",title:getI18n$e("vxe.pager.nextPageTitle"),onClick:$e},[vue.h("i",{class:["vxe-pager--btn-icon",G.iconNextPage||getIcon$8().PAGER_NEXT_PAGE]})])},Ce=()=>{const Ie=oe.value;return vue.h("button",{class:["vxe-pager--prev-btn",{"is--disabled":G.currentPage>=Ie}],type:"button",title:getI18n$e("vxe.pager.endPageTitle"),onClick:ge},[vue.h("i",{class:["vxe-pager--btn-icon",G.iconEndPage||getIcon$8().PAGER_END]})])},be=Ie=>{const{currentPage:Ve,pagerCount:ze}=G,We=[],Xe=oe.value,He=ae.value,qe=se.value,at=Xe>ze,st=at&&Ve>qe+1,Ke=at&&Ve<Xe-qe;let dt=1;return at&&(Ve>=Xe-qe?dt=Math.max(Xe-He.length+1,1):dt=Math.max(Ve-qe,1)),Ie&&st&&We.push(vue.h("button",{class:"vxe-pager--num-btn",type:"button",onClick:wt=>fe(wt,1)},"1"),Ne("span")),He.forEach((wt,$t)=>{const mt=dt+$t;mt<=Xe&&We.push(vue.h("button",{key:mt,class:["vxe-pager--num-btn",{"is--active":Ve===mt}],type:"button",onClick:bt=>fe(bt,mt)},`${mt}`))}),Ie&&Ke&&We.push(_e("button"),vue.h("button",{class:"vxe-pager--num-btn",type:"button",onClick:wt=>fe(wt,Xe)},Xe)),vue.h("span",{class:"vxe-pager--btn-wrapper"},We)},Te=()=>be(!0),Ae=()=>{const Ie=le.value;return vue.h(VxeSelectComponent,{class:"vxe-pager--sizes",modelValue:G.pageSize,placement:G.pageSizePlacement,transfer:G.transfer,options:Ie,onChange:Me})},Re=Ie=>{const Ve=oe.value;return vue.h("span",{class:"vxe-pager--jump"},[Ie?vue.h("span",{class:"vxe-pager--goto-text"},getI18n$e("vxe.pager.goto")):null,vue.h(VxeInputComponent,{class:"vxe-pager--goto",modelValue:te.inpCurrPage,placeholder:getI18n$e("vxe.pager.gotoTitle"),align:"center",type:"integer",max:Ve,min:1,controls:!1,onKeydown:De,onBlur:ve,"onUpdate:modelValue"(ze){te.inpCurrPage=ze}}),Ie?vue.h("span",{class:"vxe-pager--classifier-text"},getI18n$e("vxe.pager.pageClassifier")):null])},Fe=()=>Re(!0),Be=()=>{const Ie=oe.value;return vue.h("span",{class:"vxe-pager--count"},[vue.h("span",{class:"vxe-pager--separator"}),vue.h("span",Ie)])},je=()=>vue.h("span",{class:"vxe-pager--total"},getI18n$e("vxe.pager.total",[G.total]));de={dispatchEvent:(Ie,Ve,ze)=>{Q(Ie,createEvent$3(ze,{$pager:ce},Ve))},homePage(){return me(),vue.nextTick()},endPage(){return ge(),vue.nextTick()},prevPage(){return we(),vue.nextTick()},nextPage(){return $e(),vue.nextTick()},prevJump(){return Ee(),vue.nextTick()},nextJump(){return xe(),vue.nextTick()}},ue={handlePrevPage:we,handleNextPage:$e,handlePrevJump:Ee,handleNextJump:xe},Object.assign(ce,de,ue),vue.watch(()=>G.currentPage,Ie=>{te.inpCurrPage=Ie});const Ue=()=>{const{align:Ie,layouts:Ve,className:ze}=G,We=[],Xe=Z.value,He=oe.value;return X.left&&We.push(vue.h("span",{class:"vxe-pager--left-wrapper"},X.left({$grid:ee}))),Ve.forEach(qe=>{let at;switch(qe){case"Home":at=ke;break;case"PrevJump":at=Ne;break;case"PrevPage":at=Oe;break;case"Number":at=be;break;case"JumpNumber":at=Te;break;case"NextPage":at=ye;break;case"NextJump":at=_e;break;case"End":at=Ce;break;case"Sizes":at=Ae;break;case"FullJump":at=Fe;break;case"Jump":at=Re;break;case"PageCount":at=Be;break;case"Total":at=je;break}at?We.push(at()):process.env.NODE_ENV==="development"&&errLog("vxe.error.notProp",[`layouts -> ${qe}`])}),X.right&&We.push(vue.h("span",{class:"vxe-pager--right-wrapper"},X.right({$grid:ee}))),vue.h("div",{ref:ne,class:["vxe-pager",ze?XEUtils.isFunction(ze)?ze({$pager:ce}):ze:"",{[`size--${Xe}`]:Xe,[`align--${Ie}`]:Ie,"is--border":G.border,"is--background":G.background,"is--perfect":G.perfect,"is--hidden":G.autoHidden&&He===1,"is--loading":G.loading}]},[vue.h("div",{class:"vxe-pager--wrapper"},We)])};return ce.renderVN=Ue,ce},render(){return this.renderVN()}}),VxePager=Object.assign(VxePagerComponent,{install:function(G){G.component(VxePagerComponent.name,VxePagerComponent)}});dynamicApp.use(VxePager),VxeUI.component(VxePagerComponent);const Pager=VxePager,VxePasswordInputComponent=vue.defineComponent({name:"VxePasswordInput",props:{modelValue:String,immediate:{type:Boolean,default:!0},name:String,clearable:{type:Boolean,default:()=>getConfig$8().passwordInput.clearable},readonly:Boolean,disabled:Boolean,maxLength:[String,Number],placeholder:String,autoComplete:{type:String,default:"off"},className:String,size:{type:String,default:()=>getConfig$8().passwordInput.size||getConfig$8().size},prefixIcon:String,suffixIcon:String,controls:{type:Boolean,default:()=>getConfig$8().passwordInput.controls},autocomplete:String},emits:["update:modelValue","input","change","click","focus","blur","clear","toggle-visible","prefix-click","suffix-click"],setup(G,H){const{emit:X,slots:Q}=H,K=vue.inject("$xeForm",null),Z=vue.inject("xeFormItemInfo",null),ee=XEUtils.uniqueId(),{computeSize:te}=useSize(G),ne=vue.reactive({showPwd:!1,isActivated:!1,inputValue:G.modelValue}),re=vue.ref(),oe=vue.ref(),ae={refElem:re,refInput:oe},se={xID:ee,props:G,context:H,reactData:ne,getRefMaps:()=>ae};let le={};const ce=vue.computed(()=>G.clearable),de=vue.computed(()=>{const{readonly:be}=G;return be}),ue=vue.computed(()=>{const{placeholder:be}=G;if(be)return getFuncText(be);const Te=getConfig$8().passwordInput.placeholder;return Te?getFuncText(Te):getI18n$e("vxe.base.pleaseInput")}),he=vue.computed(()=>{const{showPwd:be}=ne;return be?"text":"password"}),fe=vue.computed(()=>{const{immediate:be}=G;return be}),pe=be=>{const{inputValue:Te}=ne;le.dispatchEvent(be.type,{value:Te},be)},ve=(be,Te)=>{const Ae=fe.value;ne.inputValue=be,Ae?ge(be,Te):le.dispatchEvent("input",{value:be},Te)},me=be=>{const Ae=be.target.value;ve(Ae,be)},ge=(be,Te)=>{ne.inputValue=be,X("update:modelValue",be),le.dispatchEvent("input",{value:be},Te),XEUtils.toValueString(G.modelValue)!==be&&(le.dispatchEvent("change",{value:be},Te),K&&Z&&K.triggerItemEvent(Te,Z.itemConfig.field,be))},we=be=>{pe(be);const{inputValue:Te}=ne;K&&Z&&K.triggerItemEvent(be,Z.itemConfig.field,Te)},$e=be=>{ne.isActivated=!0,pe(be)},Ee=be=>{const{inputValue:Te}=ne,Ae=Te;le.dispatchEvent("blur",{value:Ae},be),K&&Z&&K.triggerItemEvent(be,Z.itemConfig.field,Ae)},xe=be=>{const{readonly:Te,disabled:Ae}=G,{showPwd:Re}=ne;!Ae&&!Te&&(ne.showPwd=!Re),le.dispatchEvent("toggle-visible",{visible:ne.showPwd},be)},Me=be=>{pe(be)},De=(be,Te)=>{focus(),ge("",be),le.dispatchEvent("clear",{value:Te},be)},ke=be=>{const{disabled:Te}=G;if(!Te){const{inputValue:Ae}=ne;le.dispatchEvent("suffix-click",{value:Ae},be)}},Oe=be=>{const{disabled:Te}=G;if(!Te){const{inputValue:Ae}=ne;le.dispatchEvent("prefix-click",{value:Ae},be)}},Ne=()=>{const{showPwd:be}=ne;return vue.h("div",{class:"vxe-password-input--control-icon",onClick:xe},[vue.h("i",{class:["vxe-password-input--password-icon",be?getIcon$8().PASSWORD_INPUT_SHOW_PWD:getIcon$8().PASSWORD_INPUT_HIDE_PWD]})])},_e=()=>{const{prefixIcon:be}=G,Te=Q.prefix;return Te||be?vue.h("div",{class:"vxe-password-input--prefix",onClick:Oe},[vue.h("div",{class:"vxe-password-input--prefix-icon"},Te?getSlotVNs(Te({})):[vue.h("i",{class:be})])]):null},ye=()=>{const{disabled:be,suffixIcon:Te,controls:Ae}=G,{inputValue:Re}=ne,Fe=Q.suffix,Be=ce.value;return Be||Ae||Fe||Te?vue.h("div",{class:["vxe-password-input--suffix",{"is--clear":Be&&!be&&!(Re===""||XEUtils.eqNull(Re))}]},[Be?vue.h("div",{class:"vxe-password-input--clear-icon",onClick:De},[vue.h("i",{class:getIcon$8().INPUT_CLEAR})]):vue.createCommentVNode(),Ae?Ne():vue.createCommentVNode(),Fe||Te?vue.h("div",{class:"vxe-password-input--suffix-icon",onClick:ke},Fe?getSlotVNs(Fe({})):[vue.h("i",{class:Te})]):vue.createCommentVNode()]):null};le={dispatchEvent(be,Te,Ae){X(be,createEvent$3(Ae,{$passwordInput:se},Te))},focus(){const be=oe.value;return ne.isActivated=!0,be.focus(),vue.nextTick()},blur(){return oe.value.blur(),ne.isActivated=!1,vue.nextTick()},select(){return oe.value.select(),ne.isActivated=!1,vue.nextTick()}},Object.assign(se,le),vue.watch(()=>G.modelValue,be=>{ne.inputValue=be});const Ce=()=>{const{className:be,name:Te,disabled:Ae,readonly:Re,autocomplete:Fe,autoComplete:Be,maxLength:je}=G,{inputValue:Le,isActivated:Ue}=ne,Ie=te.value,Ve=de.value,ze=he.value,We=ue.value,Xe=ce.value,He=_e(),qe=ye();return vue.h("div",{ref:re,class:["vxe-password-input",be,{[`size--${Ie}`]:Ie,"is--prefix":!!He,"is--suffix":!!qe,"is--readonly":Re,"is--disabled":Ae,"is--active":Ue,"show--clear":Xe&&!Ae&&!(Le===""||XEUtils.eqNull(Le))}],spellcheck:!1},[He||vue.createCommentVNode(),vue.h("div",{class:"vxe-password-input--wrapper"},[vue.h("input",{ref:oe,class:"vxe-password-input--inner",value:Le,name:Te,type:ze,placeholder:We,readonly:Ve,disabled:Ae,autocomplete:Fe||Be,maxlength:je,onClick:Me,onInput:me,onChange:we,onFocus:$e,onBlur:Ee})]),qe||vue.createCommentVNode()])};return se.renderVN=Ce,se},render(){return this.renderVN()}}),VxePasswordInput=Object.assign({},VxePasswordInputComponent,{install(G){G.component(VxePasswordInputComponent.name,VxePasswordInputComponent)}});dynamicApp.use(VxePasswordInput),VxeUI.component(VxePasswordInputComponent);const PasswordInput=VxePasswordInput;let printFrame;const defaultHtmlStyle='body{margin:0;padding:0;color:#000000;font-size:14px;font-family:"Microsoft YaHei",微软雅黑,"MicrosoftJhengHei",华文细黑,STHeiti,MingLiu}body *{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-table{border-collapse:collapse;text-align:left;border-spacing:0}.vxe-table:not(.is--print){table-layout:fixed}.vxe-table,.vxe-table th,.vxe-table td,.vxe-table td{border-color:#D0D0D0;border-style:solid;border-width:0}.vxe-table.is--print{width:100%}.border--default,.border--full,.border--outer{border-top-width:1px}.border--default,.border--full,.border--outer{border-left-width:1px}.border--outer,.border--default th,.border--default td,.border--full th,.border--full td,.border--outer th,.border--inner th,.border--inner td{border-bottom-width:1px}.border--default,.border--outer,.border--full th,.border--full td{border-right-width:1px}.border--default th,.border--full th,.border--outer th{background-color:#f8f8f9}.vxe-table td>div,.vxe-table th>div{padding:.5em .4em}.col--center{text-align:center}.col--right{text-align:right}.vxe-table:not(.is--print) .col--ellipsis>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.vxe-table--tree-node{text-align:left}.vxe-table--tree-node-wrapper{position:relative}.vxe-table--tree-icon-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-table--tree-unfold-icon,.vxe-table--tree-fold-icon{position:absolute;width:0;height:0;border-style:solid;border-width:.5em;border-right-color:transparent;border-bottom-color:transparent}.vxe-table--tree-unfold-icon{left:.3em;top:0;border-left-color:#939599;border-top-color:transparent}.vxe-table--tree-fold-icon{left:0;top:.3em;border-left-color:transparent;border-top-color:#939599}.vxe-table--tree-cell{display:block;padding-left:1.5em}.vxe-table input[type="checkbox"]{margin:0}.vxe-table input[type="checkbox"],.vxe-table input[type="radio"],.vxe-table input[type="checkbox"]+span,.vxe-table input[type="radio"]+span{vertical-align:middle;padding-left:0.4em}';function createPrintFrame(){const G=document.createElement("iframe");return G.className="vxe-table--print-frame",G}function appendPrintFrame(){printFrame.parentNode||document.body.appendChild(printFrame)}function afterPrintEvent(){requestAnimationFrame(removeFrame)}function removeFrame(){if(printFrame){if(printFrame.parentNode){try{printFrame.contentDocument.write("")}catch{}printFrame.parentNode.removeChild(printFrame)}printFrame=null}}function getExportBlobByString(G,H){return new Blob([G],{type:`text/${H};charset=utf-8;`})}const printMargin=80;function createHtmlPage(G,H){const{customStyle:X}=G;return["<!DOCTYPE html><html>","<head>",'<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui">',`<title>${G.title}</title>`,G._pageBreaks||G.pageBreaks&&G.pageBreaks.length?'<style media="print">@page {size: auto;margin: 0mm;}</style>':"",`<style>.vxe-print-slots{display: none;}.vxe-print-page-break.align--center{text-align:center;}.vxe-print-page-break.align--left{text-align:left;}.vxe-print-page-break.align--right{text-align:right;}.vxe-print-page-break--header-title{font-size:1.8em;text-align:center;line-height:${printMargin}px;}.vxe-print-page-break{page-break-before:always;display:flex;flex-direction:column;height:100vh;overflow:hidden;}.vxe-print-page-break--body{display:flex;flex-direction:row;flex-grow:1;overflow: hidden;}.vxe-print-page-break--left,.vxe-print-page-break--right{flex-shrink:0;width:${printMargin}px;height:100%;}.vxe-print-page-break--header,.vxe-print-page-break--footer{flex-shrink:0;height:${printMargin}px;width:100%;}.vxe-print-page-break--content{flex-grow: 1;overflow: hidden;}.vxe-print-page-break--footer-page-number{line-height:${printMargin}px;text-align:center;}</style>`,"<style>.vxe-table{white-space:pre;}</style>",`<style>${defaultHtmlStyle}</style>`,X?`<style>${X}</style>`:"","</head>","<body>",`${H}`,"</body>","</html>"].join("")}function handlePrint(G,H=""){const{beforeMethod:X}=G;X&&(H=X({content:H,html:H,options:G})||""),H=createHtmlPage(G,H);const Q=getExportBlobByString(H,"html");return new Promise(K=>{XEUtils.browse().msie?(removeFrame(),printFrame=createPrintFrame(),appendPrintFrame(),printFrame.contentDocument.write(H),printFrame.contentDocument.execCommand("print"),setTimeout(()=>{K({status:!0})},300)):(printFrame||(printFrame=createPrintFrame(),printFrame.onload=Z=>{Z.target.src&&(Z.target.contentWindow.onafterprint=afterPrintEvent,Z.target.contentWindow.print()),K({status:!0})},printFrame.onerror=()=>{K({status:!1})}),appendPrintFrame(),printFrame.src=URL.createObjectURL(Q))})}function createPageBreak(G){const{title:H,showPageNumber:X,align:Q,headerAlign:K,footerAlign:Z,showAllPageTitle:ee}=G,te=G.pageBreaks||[],ne=te.length;return te.map((re,oe)=>{const ae=re.bodyHtml,se=re.headerHtml||G.headerHtml,le=re.footerHtml||G.footerHtml,ce=re.leftHtml||G.leftHtml,de=re.rightHtml||G.rightHtml,ue=oe+1,he={currentPage:ue,pageCount:ne};return[`<div class="${["vxe-print-page-break",Q?`align--${Q}`:""].join(" ")}">`,`<div class="${["vxe-print-page-break--header",K?`align--${K}`:""].join(" ")}">`,se?`${XEUtils.isFunction(se)?se(he):se||""}`:H&&(ee||!oe)?`<div class="vxe-print-page-break--header-title">${H||""}</div>`:"","</div>",'<div class="vxe-print-page-break--body">',`<div class="vxe-print-page-break--left">${XEUtils.isFunction(ce)?ce(he):ce||""}</div>`,`<div class="vxe-print-page-break--content">${XEUtils.isFunction(ae)?ae(he):ae||""}</div>`,`<div class="vxe-print-page-break--right">${XEUtils.isFunction(de)?de(he):de||""}</div>`,"</div>",`<div class="${["vxe-print-page-break--footer",Z?`align--${Z}`:""].join(" ")}">`,le?`${XEUtils.isFunction(le)?le(he):le||""}`:X?`<div class="vxe-print-page-break--footer-page-number">${ue}/${ne}</div>`:"","</div>","</div>"].join("")}).join("")}const printHtml=G=>{const H=Object.assign({_pageBreaks:!1,customLayout:!0},G);if(H.sheetName&&(H.title=H.title||H.sheetName),H.style&&(H.customStyle=H.customStyle||H.style),H.beforePrintMethod&&(H.beforeMethod=H.beforeMethod||H.beforePrintMethod),H.pageBreaks&&H.pageBreaks.length)return handlePrint(H,createPageBreak(H));const X=H.html||H.content;return handlePrint(H,X)};function assemblePageBreak(G,H,X){const Q=G.reactData.staticPageBreaks,K=H.parentNode;K&&Q&&(Q.splice(XEUtils.arrayIndexOf(K.children,H),0,X),G.reactData.staticPageBreaks=Q.slice(0))}function destroyPageBreak(G,H){G.reactData.staticPageBreaks=G.reactData.staticPageBreaks.filter(X=>X.id!==H.id)}const VxePrintPageBreakComponent=vue.defineComponent({name:"VxePrintPageBreak",props:{},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.inject("$xePrint",null),ee=vue.ref(),te=vue.reactive({}),ne={refElem:ee},re={},oe=vue.reactive({id:K,slots:X}),ae={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>re};if(Object.assign(ae,{dispatchEvent:(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$print:Z},he))}},{}),!Z)return ae.renderVN=()=>vue.createCommentVNode(),ae;const de=()=>vue.h("div",{ref:ee});return vue.onMounted(()=>{const ue=ee.value;Z&&ue&&assemblePageBreak(Z,ue,oe)}),vue.onUnmounted(()=>{Z&&destroyPageBreak(Z,oe)}),ae.renderVN=de,ae},render(){return this.renderVN()}}),VxePrintPageBreak=Object.assign({},VxePrintPageBreakComponent,{install(G){G.component(VxePrintPageBreakComponent.name,VxePrintPageBreakComponent)}});dynamicApp.use(VxePrintPageBreak),VxeUI.component(VxePrintPageBreakComponent);const PrintPageBreak=VxePrintPageBreak,VxePrintComponent=vue.defineComponent({name:"VxePrint",props:{align:{type:String,default:()=>getConfig$8().print.align},title:String,headerAlign:{type:String,default:()=>getConfig$8().print.headerAlign},footerAlign:{type:String,default:()=>getConfig$8().print.footerAlign},showPageNumber:{type:Boolean,default:()=>getConfig$8().print.showPageNumber},customLayout:Boolean,pageBreaks:Array,content:String,html:String,headerHtml:String,footerHtml:String,leftHtml:String,rightHtml:String,showAllPageTitle:{type:Boolean,default:()=>getConfig$8().print.showAllPageTitle},customStyle:{type:String,default:()=>getConfig$8().print.customStyle},beforeMethod:Function},emits:[],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({staticPageBreaks:[]}),te={refElem:Z},ne={},re={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>ne};Object.assign(re,{dispatchEvent:(ue,he,fe)=>{Q(ue,createEvent$3(fe,{$print:re},he))},print(){const ue=Z.value;return printHtml(Object.assign({},G,{_pageBreaks:!!ee.staticPageBreaks.length,html:(ue?ue.outerHTML:"")||G.html||G.content||""}))}},{});const le=()=>{const{title:ue,showPageNumber:he,showAllPageTitle:fe,align:pe,headerAlign:ve,footerAlign:me}=G,ge=G.pageBreaks||[],we=ge.length;return ge.map(($e,Ee)=>{const xe=$e.bodyHtml,Me=$e.headerHtml||G.headerHtml,De=$e.footerHtml||G.footerHtml,ke=$e.leftHtml||G.leftHtml,Oe=$e.rightHtml||G.rightHtml,Ne=Ee+1,_e={currentPage:Ne,pageCount:we};return vue.h("div",{class:["vxe-print-page-break",pe?`align--${pe}`:""]},[vue.h("div",{class:["vxe-print-page-break--header",ve?`align--${ve}`:""]},Me?`${XEUtils.isFunction(Me)?Me(_e):Me||""}`:[ue&&(fe||!Ee)?vue.h("div",{class:"vxe-print-page-break--header-title"},`${ue||""}`):vue.createCommentVNode()]),vue.h("div",{class:"vxe-print-page-break--body"},[vue.h("div",{class:"vxe-print-page-break--left"},`${XEUtils.isFunction(ke)?ke(_e):ke||""}`),vue.h("div",{class:"vxe-print-page-break--content"},`${XEUtils.isFunction(xe)?xe(_e):xe||""}`),vue.h("div",{class:"vxe-print-page-break--right"},`${XEUtils.isFunction(Oe)?Oe(_e):Oe||""}`)]),vue.h("div",{class:["vxe-print-page-break--footer",me?`align--${me}`:""]},De?`${XEUtils.isFunction(De)?De(_e):De||""}`:[he?vue.h("div",{class:"vxe-print-page-break--footer-page-number"},`${Ne}/${we}`):vue.createCommentVNode()])])})},ce=()=>{const{title:ue,showPageNumber:he,showAllPageTitle:fe,align:pe,headerAlign:ve,footerAlign:me}=G,{staticPageBreaks:ge}=ee,we=ge.length;return ge.map(($e,Ee)=>{const xe=$e.slots||{},Me=Ee+1,De=xe.default,ke=xe.header||X.header,Oe=xe.footer||X.footer,Ne=xe.left||X.left,_e=xe.right||X.right,ye={currentPage:Me,pageCount:we};return vue.h("div",{class:["vxe-print-page-break",pe?`align--${pe}`:""]},[vue.h("div",{class:["vxe-print-page-break--header",ve?`align--${ve}`:""]},ke?getSlotVNs(ke(ye)):[ue&&(fe||!Ee)?vue.h("div",{class:"vxe-print-page-break--header-title"},`${ue||""}`):vue.createCommentVNode()]),vue.h("div",{class:"vxe-print-page-break--body"},[vue.h("div",{class:"vxe-print-page-break--left"},Ne?getSlotVNs(Ne(ye)):[]),vue.h("div",{class:"vxe-print-page-break--content"},De?getSlotVNs(De(ye)):[]),vue.h("div",{class:"vxe-print-page-break--right"},_e?getSlotVNs(_e(ye)):[])]),vue.h("div",{class:["vxe-print-page-break--footer",me?`align--${me}`:""]},Oe?getSlotVNs(Oe(ye)):[he?vue.h("div",{class:"vxe-print-page-break--footer-page-number"},`${Me}/${we}`):vue.createCommentVNode()])])})},de=()=>{const{customLayout:ue}=G,{staticPageBreaks:he}=ee,fe=X.default;return vue.h("div",{ref:Z,class:["vxe-print"]},ue?fe?getSlotVNs(fe({})):[]:[vue.h("div",{key:"slot",class:"vxe-print-slots"},fe?getSlotVNs(fe({})):[])].concat(he.length?ce():le()))};return re.renderVN=de,vue.provide("$xePrint",re),re},render(){return this.renderVN()}}),VxePrint=Object.assign({},VxePrintComponent,{install(G){G.component(VxePrintComponent.name,VxePrintComponent)}});dynamicApp.use(VxePrint),VxeUI.component(VxePrintComponent),VxeUI.print=printHtml;const Print=VxePrint,VxePulldownComponent=vue.defineComponent({name:"VxePulldown",props:{modelValue:Boolean,disabled:Boolean,placement:String,trigger:{type:String,default:getConfig$8().pulldown.trigger},size:{type:String,default:()=>getConfig$8().size},options:Array,className:{type:[String,Function],default:getConfig$8().pulldown.className},popupClassName:[String,Function],showPopupShadow:Boolean,destroyOnClose:{type:Boolean,default:getConfig$8().pulldown.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["update:modelValue","click","option-click","show-panel","hide-panel"],setup(G,H){const{slots:X,emit:Q}=H,K=vue.inject("$xeModal",null),Z=vue.inject("$xeDrawer",null),ee=vue.inject("$xeTable",null),te=vue.inject("$xeForm",null),ne=XEUtils.uniqueId(),{computeSize:re}=useSize(G),oe=vue.reactive({initialized:!1,panelIndex:0,panelStyle:{},panelPlacement:null,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),ae={hpTimeout:void 0},se=vue.ref(),le=vue.ref(),ce=vue.ref(),de=vue.computed(()=>{const{transfer:ye}=G;if(ye===null){const Ce=getConfig$8().pulldown.transfer;if(XEUtils.isBoolean(Ce))return Ce;if(ee||K||Z||te)return!0}return ye}),ue={refElem:se},he={xID:ne,props:G,context:H,reactData:oe,internalData:ae,getRefMaps:()=>ue};let fe={};const pe=()=>{oe.panelIndex<getLastZIndex()&&(oe.panelIndex=nextZIndex())},ve=()=>oe.visiblePanel,me=()=>vue.nextTick().then(()=>{const{placement:ye}=G,{panelIndex:Ce,visiblePanel:be}=oe,Te=de.value;if(be){const Ae=le.value,Re=ce.value;if(Re&&Ae){const Fe=Ae.offsetHeight,Be=Ae.offsetWidth,je=Re.offsetHeight,Le=Re.offsetWidth,Ue=5,Ie={zIndex:Ce},{boundingTop:Ve,boundingLeft:ze,visibleHeight:We,visibleWidth:Xe}=getAbsolutePos(Ae);let He="bottom";if(Te){let qe=ze,at=Ve+Fe;ye==="top"?(He="top",at=Ve-je):ye||(at+je+Ue>We&&(He="top",at=Ve-je),at<Ue&&(He="bottom",at=Ve+Fe)),qe+Le+Ue>Xe&&(qe-=qe+Le+Ue-Xe),qe<Ue&&(qe=Ue),Object.assign(Ie,{left:`${qe}px`,top:`${at}px`,minWidth:`${Be}px`})}else ye==="top"?(He="top",Ie.bottom=`${Fe}px`):ye||Ve+Fe+je>We&&Ve-Fe-je>Ue&&(He="top",Ie.bottom=`${Fe}px`);oe.panelStyle=Ie,oe.panelPlacement=He}}return vue.nextTick()}),ge=()=>(oe.initialized||(oe.initialized=!0),new Promise(ye=>{G.disabled?vue.nextTick(()=>{ye()}):(ae.hpTimeout&&clearTimeout(ae.hpTimeout),oe.isActivated=!0,oe.isAniVisible=!0,setTimeout(()=>{oe.visiblePanel=!0,Q("update:modelValue",!0),me(),setTimeout(()=>{ye(me())},40)},10),pe())})),we=()=>(oe.visiblePanel=!1,Q("update:modelValue",!1),new Promise(ye=>{oe.isAniVisible?ae.hpTimeout=window.setTimeout(()=>{oe.isAniVisible=!1,vue.nextTick(()=>{ye()})},350):vue.nextTick(()=>{ye()})})),$e=()=>oe.visiblePanel?we():ge(),Ee=(ye,Ce)=>{Ce.disabled||(oe.visiblePanel&&(we(),Oe("hide-panel",{},ye)),Oe("option-click",{option:Ce},ye))},xe=ye=>{const{trigger:Ce}=G;Ce==="click"&&(oe.visiblePanel?(we(),Oe("hide-panel",{},ye)):(ge(),Oe("show-panel",{},ye))),Oe("click",{$pulldown:he},ye)},Me=ye=>{const{disabled:Ce}=G,{visiblePanel:be}=oe,Te=ce.value;Ce||be&&(getEventTargetNode(ye,Te).flag?me():(we(),Oe("hide-panel",{},ye)))},De=ye=>{const{disabled:Ce}=G,{visiblePanel:be}=oe,Te=se.value,Ae=ce.value;Ce||(oe.isActivated=getEventTargetNode(ye,Te).flag||getEventTargetNode(ye,Ae).flag,be&&!oe.isActivated&&(we(),Oe("hide-panel",{},ye)))},ke=ye=>{oe.visiblePanel&&(oe.isActivated=!1,we(),Oe("hide-panel",{},ye))},Oe=(ye,Ce,be)=>{Q(ye,createEvent$3(be,{$pulldown:he},Ce))};fe={dispatchEvent:Oe,isPanelVisible:ve,togglePanel:$e,showPanel:ge,hidePanel:we},Object.assign(he,fe),vue.watch(()=>G.modelValue,ye=>{oe.isActivated=!!ye,ye?ge():we()}),vue.nextTick(()=>{G.modelValue&&ge(),globalEvents$4.on(he,"mousewheel",Me),globalEvents$4.on(he,"mousedown",De),globalEvents$4.on(he,"blur",ke)}),vue.onUnmounted(()=>{globalEvents$4.off(he,"mousewheel"),globalEvents$4.off(he,"mousedown"),globalEvents$4.off(he,"blur")});const Ne=ye=>{const Ce=X.option;return vue.h("div",{class:"vxe-pulldown--panel-list"},ye?ye.map(be=>vue.h("div",{class:"vxe-pulldown--panel-item",onClick(Te){Ee(Te,be)}},Ce?Ce({$pulldown:he,option:be}):`${be.label||""}`)):[])},_e=()=>{const{className:ye,options:Ce,popupClassName:be,showPopupShadow:Te,destroyOnClose:Ae,disabled:Re}=G,{initialized:Fe,isActivated:Be,isAniVisible:je,visiblePanel:Le,panelStyle:Ue,panelPlacement:Ie}=oe,Ve=de.value,ze=re.value,We=X.default,Xe=X.header,He=X.footer,qe=X.dropdown;return vue.h("div",{ref:se,class:["vxe-pulldown",ye?XEUtils.isFunction(ye)?ye({$pulldown:he}):ye:"",{[`size--${ze}`]:ze,"is--visible":Le,"is--disabled":Re,"is--active":Be}]},[vue.h("div",{ref:le,class:"vxe-pulldown--content",onClick:xe},We?We({$pulldown:he}):[]),vue.h(vue.Teleport,{to:"body",disabled:Ve?!Fe:!0},[vue.h("div",{ref:ce,class:["vxe-table--ignore-clear vxe-pulldown--panel",be?XEUtils.isFunction(be)?be({$pulldown:he}):be:"",{[`size--${ze}`]:ze,"is--shadow":Te,"is--transfer":Ve,"ani--leave":je,"ani--enter":Le}],placement:Ie,style:Ue},[vue.h("div",{class:"vxe-pulldown--panel-wrapper"},Fe&&(!Ae||Le||je)?[Xe?vue.h("div",{class:"vxe-pulldown--panel-header"},Xe({$pulldown:he})):vue.createCommentVNode(),vue.h("div",{class:"vxe-pulldown--panel-body"},qe?qe({$pulldown:he}):[Ne(Ce)]),He?vue.h("div",{class:"vxe-pulldown--panel-footer"},He({$pulldown:he})):vue.createCommentVNode()]:[])])])])};return he.renderVN=_e,he},render(){return this.renderVN()}}),VxePulldown=Object.assign(VxePulldownComponent,{install:function(G){G.component(VxePulldownComponent.name,VxePulldownComponent)}});dynamicApp.use(VxePulldown),VxeUI.component(VxePulldownComponent);const Pulldown=VxePulldown,VxeRadio=Object.assign(VxeRadioComponent,{install:function(G){G.component(VxeRadioComponent.name,VxeRadioComponent)}});dynamicApp.use(VxeRadio),VxeUI.component(VxeRadioComponent);const Radio=VxeRadio,VxeRadioButton=Object.assign(VxeRadioButtonComponent,{install:function(G){G.component(VxeRadioButtonComponent.name,VxeRadioButtonComponent)}});dynamicApp.use(VxeRadioButton),VxeUI.component(VxeRadioButtonComponent);const RadioButton=VxeRadioButton,VxeRadioGroup=Object.assign(VxeRadioGroupComponent,{install:function(G){G.component(VxeRadioGroupComponent.name,VxeRadioGroupComponent)}});dynamicApp.use(VxeRadioGroup),VxeUI.component(VxeRadioGroupComponent);const RadioGroup=VxeRadioGroup,VxeRate=Object.assign({},VxeRateComponent,{install(G){G.component(VxeRateComponent.name,VxeRateComponent)}});dynamicApp.use(VxeRate),VxeUI.component(VxeRateComponent);const Rate=VxeRate,VxeResultComponent=vue.defineComponent({name:"VxeResult",props:{imageUrl:String,imageStyle:Object,icon:String,type:[String,Number],status:[String,Number],title:[String,Number],content:[String,Number]},emits:[],setup(G,H){const{emit:X,slots:Q}=H,K=XEUtils.uniqueId(),Z=vue.ref(),ee=vue.reactive({}),te={refElem:Z},ne={},re={xID:K,props:G,context:H,reactData:ee,getRefMaps:()=>te,getComputeMaps:()=>ne};Object.assign(re,{dispatchEvent:(ce,de,ue)=>{X(ce,createEvent$3(ue,{$result:re},de))}},{});const le=()=>{const{imageUrl:ce,imageStyle:de,icon:ue,title:he,type:fe,content:pe}=G,ve=G.status||fe,me=Q.extra;return vue.h("div",{ref:"refElem",class:["vxe-result",{[`theme--${ve}`]:ve}]},[vue.h("div",{class:"vxe-result--inner"},[ce?vue.h("div",{class:"vxe-result--img-wrapper"},[vue.h("img",{src:ce,style:de})]):vue.h("div",{class:"vxe-result--icon-wrapper"},[vue.h("i",{class:[ue,fe?getIcon$8()[`RESULT_${fe}`.toLocaleUpperCase()]:""]})]),vue.h("div",{class:"vxe-result--title-wrapper"},`${he||""}`),vue.h("div",{class:"vxe-result--content-wrapper"},`${pe||""}`),me?vue.h("div",{class:"vxe-result--extra-wrapper"},me({})):renderEmptyElement$3(re)])])};return re.renderVN=le,re},render(){return this.renderVN()}}),VxeResult=Object.assign({},VxeResultComponent,{install(G){G.component(VxeResultComponent.name,VxeResultComponent)}});dynamicApp.use(VxeResult),VxeUI.component(VxeResultComponent);const Result=VxeResult,VxeRow=Object.assign({},VxeRowComponent,{install(G){G.component(VxeRowComponent.name,VxeRowComponent)}});dynamicApp.use(VxeRow),VxeUI.component(VxeRowComponent);const Row=VxeRow,VxeSelect=Object.assign(VxeSelectComponent,{install:function(G){G.component(VxeSelectComponent.name,VxeSelectComponent)}});dynamicApp.use(VxeSelect),VxeUI.component(VxeSelectComponent);const Select=VxeSelect,VxeSlider=Object.assign({},VxeSliderComponent,{install(G){G.component(VxeSliderComponent.name,VxeSliderComponent)}});dynamicApp.use(VxeSlider),VxeUI.component(VxeSliderComponent);const Slider=VxeSlider,VxeStepsComponent=vue.defineComponent({name:"VxeSteps",props:{},emits:[],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.ref(),Z=vue.reactive({}),ee={refElem:K},te={},ne={xID:Q,props:G,context:H,reactData:Z,getRefMaps:()=>ee,getComputeMaps:()=>te};Object.assign(ne,{dispatchEvent:(le,ce,de)=>{X(le,createEvent$3(de,{$steps:ne},ce))}},{});const se=()=>vue.h("div",{ref:K,class:"vxe-steps"},[]);return ne.renderVN=se,ne},render(){return this.renderVN()}}),VxeSteps=Object.assign({},VxeStepsComponent,{install(G){G.component(VxeStepsComponent.name,VxeStepsComponent)}});dynamicApp.use(VxeSteps),VxeUI.component(VxeStepsComponent);const Steps=VxeSteps,VxeSwitch=Object.assign(VxeSwitchComponent,{install:function(G){G.component(VxeSwitchComponent.name,VxeSwitchComponent)}});dynamicApp.use(VxeSwitch),VxeUI.component(VxeSwitchComponent);const Switch=VxeSwitch,VxeTabPane=Object.assign({},VxeTabPaneComponent,{install(G){G.component(VxeTabPaneComponent.name,VxeTabPaneComponent)}});dynamicApp.use(VxeTabPane),VxeUI.component(VxeTabPaneComponent);const TabPane=VxeTabPane;function getRowUniqueId(){return XEUtils.uniqueId("row_")}const VxeTableSelectComponent=vue.defineComponent({name:"VxeTableSelect",props:{modelValue:[String,Number,Array],clearable:Boolean,placeholder:{type:String,default:()=>XEUtils.eqNull(getConfig$8().tableSelect.placeholder)?getI18n$e("vxe.base.pleaseSelect"):getConfig$8().tableSelect.placeholder},readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,className:[String,Function],prefixIcon:String,placement:String,columns:Array,options:Array,optionProps:Object,size:{type:String,default:()=>getConfig$8().select.size||getConfig$8().size},popupConfig:Object,gridConfig:Object,transfer:{type:Boolean,default:null}},emits:["update:modelValue","change","clear","blur","focus","click"],setup(G,H){const{emit:X,slots:Q}=H,K=VxeUI.getComponent("VxeGrid"),Z=vue.inject("$xeModal",null),ee=vue.inject("$xeDrawer",null),te=vue.inject("$xeTable",null),ne=vue.inject("$xeForm",null),re=vue.inject("xeFormItemInfo",null),oe=XEUtils.uniqueId(),{computeSize:ae}=useSize(G),se=vue.ref(),le=vue.ref(),ce=vue.ref(),de=vue.ref(),ue=vue.ref(),he=vue.reactive({initialized:!1,tableColumns:[],fullOptionList:[],fullRowMaps:{},panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),fe={},pe={refElem:se},ve=vue.computed(()=>{const{readonly:yt}=G;return yt===null?ne?ne.props.readonly:!1:yt}),me=vue.computed(()=>{const{disabled:yt}=G;return yt===null?ne?ne.props.disabled:!1:yt}),ge=vue.computed(()=>{const{transfer:yt}=G;if(yt===null){const Et=getConfig$8().select.transfer;if(XEUtils.isBoolean(Et))return Et;if(te||Z||ee||ne)return!0}return yt}),we=vue.computed(()=>G.optionProps||{}),$e=vue.computed(()=>{const yt=ke.value;return Object.assign({},yt.rowConfig,{isCurrent:!0})}),Ee=vue.computed(()=>$e.value.keyField||"_X_ROW_KEY"),xe=vue.computed(()=>we.value.label||"label"),Me=vue.computed(()=>we.value.value||"value"),De=vue.computed(()=>Object.assign({},getConfig$8().tableSelect.popupConfig,G.popupConfig)),ke=vue.computed(()=>Object.assign({},getConfig$8().tableSelect.gridConfig,G.gridConfig,{data:void 0,columns:void 0})),Oe=vue.computed(()=>{const{modelValue:yt}=G,{fullRowMaps:Et}=he,Vt=xe.value;return(XEUtils.isArray(yt)?yt:[yt]).map(ut=>{const vt=Et[ut];return vt?vt.item[Vt]:ut}).join(", ")}),Ne=vue.computed(()=>{const yt=De.value,{height:Et,width:Vt}=yt,ut={};return Vt&&(ut.width=toCssUnit(Vt)),Et&&(ut.height=toCssUnit(Et)),ut}),_e={},ye={xID:oe,props:G,context:H,reactData:he,getRefMaps:()=>pe,getComputeMaps:()=>_e},Ce=(yt,Et,Vt)=>{X(yt,createEvent$3(Vt,{$tableSelect:ye},Et))},be=yt=>{X("update:modelValue",yt)},Te={dispatchEvent:Ce},Ae={},Re=yt=>{const Et=Ee.value,Vt=yt[Et];return Vt?encodeURIComponent(Vt):""},Fe=yt=>{const{fullRowMaps:Et}=he,Vt=[];return(XEUtils.eqNull(yt)?[]:XEUtils.isArray(yt)?yt:[yt]).forEach(vt=>{const Qe=Et[vt];Qe&&Vt.push(Qe.item)}),Vt},Be=yt=>{const{multiple:Et}=G;vue.nextTick(()=>{const Vt=ue.value;if(Vt){const ut=Fe(yt);ut.length&&(Et?Vt.setCheckboxRow(ut,!0):Vt.setRadioRow(ut[0]))}})},je=yt=>{const{multiple:Et}=G,Vt=[];Et?Vt.push({type:"checkbox",width:70}):Vt.push({type:"radio",width:70}),he.tableColumns=Vt.concat(yt||[])},Le=()=>{const{options:yt}=G,Et=Ee.value,Vt=Me.value,ut=ke.value,{treeConfig:vt}=ut,Qe={},ht={};vt||XEUtils.arrayEach(yt||[],(et,nt,Ye)=>{let tt=Re(et);tt||(tt=getRowUniqueId()),ht[tt]&&errLog("vxe.error.repeatKey",[Et,tt]),ht[tt]=!0;const Je=et[Vt];Qe[Je]&&errLog("vxe.error.repeatKey",[Vt,Je]),Qe[Je]={item:et,index:nt,items:Ye,parent:null,nodes:[]}}),he.fullOptionList=yt||[],he.fullRowMaps=Qe,Be(G.modelValue)},Ue=()=>{he.panelIndex<getLastZIndex()&&(he.panelIndex=nextZIndex())},Ie=()=>vue.nextTick().then(()=>{const{placement:yt}=G,{panelIndex:Et}=he,Vt=se.value,ut=de.value,vt=ge.value;if(ut&&Vt){const Qe=Vt.offsetHeight,ht=Vt.offsetWidth,et=ut.offsetHeight,nt=ut.offsetWidth,Ye=5,tt={zIndex:Et},{boundingTop:Je,boundingLeft:it,visibleHeight:ft,visibleWidth:St}=getAbsolutePos(Vt);let kt="bottom";if(vt){let Nt=it,Ht=Je+Qe;yt==="top"?(kt="top",Ht=Je-et):yt||(Ht+et+Ye>ft&&(kt="top",Ht=Je-et),Ht<Ye&&(kt="bottom",Ht=Je+Qe)),Nt+nt+Ye>St&&(Nt-=Nt+nt+Ye-St),Nt<Ye&&(Nt=Ye),Object.assign(tt,{left:`${Nt}px`,top:`${Ht}px`,minWidth:`${ht}px`})}else yt==="top"?(kt="top",tt.bottom=`${Qe}px`):yt||Je+Qe+et>ft&&Je-Qe-et>Ye&&(kt="top",tt.bottom=`${Qe}px`);return he.panelStyle=tt,he.panelPlacement=kt,vue.nextTick()}}),Ve=()=>{const{loading:yt}=G,Et=me.value;!yt&&!Et&&(fe.vpTimeout&&clearTimeout(fe.vpTimeout),fe.hpTimeout&&clearTimeout(fe.hpTimeout),he.initialized||(he.initialized=!0),he.isActivated=!0,he.isAniVisible=!0,fe.vpTimeout=setTimeout(()=>{he.visiblePanel=!0,Be(G.modelValue),fe.vpTimeout=void 0},10),Ue(),Ie())},ze=()=>{he.visiblePanel=!1,fe.vpTimeout&&clearTimeout(fe.vpTimeout),fe.hpTimeout&&clearTimeout(fe.hpTimeout),fe.hpTimeout=window.setTimeout(()=>{he.isAniVisible=!1,fe.hpTimeout=void 0},350)},We=(yt,Et)=>{const{fullRowMaps:Vt}=he;if(be(Et),Et!==G.modelValue){const ut=Vt[Et];Ce("change",{value:Et,row:ut?ut.item:null},yt),ne&&re&&ne.triggerItemEvent(yt,re.itemConfig.field,Et)}},Xe=(yt,Et)=>{We(yt,Et),Ce("clear",{value:Et},yt)},He=(yt,Et)=>{Xe(Et,null),ze()},qe=yt=>{const{visiblePanel:Et}=he;if(!me.value&&Et){const ut=de.value;getEventTargetNode(yt,ut).flag?Ie():ze()}},at=yt=>{const{visiblePanel:Et}=he;if(!me.value){const ut=se.value,vt=de.value;he.isActivated=getEventTargetNode(yt,ut).flag||getEventTargetNode(yt,vt).flag,Et&&!he.isActivated&&ze()}},st=()=>{ze()},Ke=yt=>{me.value||he.visiblePanel||(he.triggerFocusPanel=!0,Ve(),setTimeout(()=>{he.triggerFocusPanel=!1},150)),Ce("focus",{},yt)},dt=yt=>{$t(yt),Ce("click",{},yt)},wt=yt=>{he.isActivated=!1,Ce("blur",{},yt)},$t=yt=>{const{$event:Et}=yt;Et.preventDefault(),he.triggerFocusPanel?he.triggerFocusPanel=!1:he.visiblePanel?ze():Ve()},mt=yt=>{const{$event:Et,row:Vt}=yt,ut=Me.value,vt=Vt[ut];We(Et,vt),ze()},bt=yt=>{const{$grid:Et,$event:Vt}=yt,ut=Me.value,Qe=Et.getCheckboxRecords().map(ht=>ht[ut]);We(Vt,Qe)},Ot=yt=>{bt(yt)};Object.assign(ye,Te,Ae);const It=()=>{const{className:yt,options:Et,loading:Vt}=G,{initialized:ut,isActivated:vt,isAniVisible:Qe,visiblePanel:ht,tableColumns:et}=he,nt=ae.value,Ye=me.value,tt=Oe.value,Je=ge.value,it=ve.value,ft=De.value,{className:St}=ft,kt=ke.value,Nt=$e.value,Ht=Ne.value,Lt=Q.header,Bt=Q.footer,Xt=Q.prefix;return it?vue.h("div",{ref:se,class:["vxe-table-select--readonly",yt]},[vue.h("span",{class:"vxe-table-select-label"},tt)]):vue.h("div",{ref:se,class:["vxe-table-select",yt?XEUtils.isFunction(yt)?yt({$tableSelect:ye}):yt:"",{[`size--${nt}`]:nt,"is--visible":ht,"is--disabled":Ye,"is--loading":Vt,"is--active":vt}]},[vue.h(VxeInputComponent,{ref:le,clearable:G.clearable,placeholder:Vt?getI18n$e("vxe.select.loadingText"):G.placeholder,readonly:!0,disabled:Ye,type:"text",prefixIcon:G.prefixIcon,suffixIcon:Vt?getIcon$8().TABLE_SELECT_LOADED:ht?getIcon$8().TABLE_SELECT_OPEN:getIcon$8().TABLE_SELECT_CLOSE,modelValue:Vt?"":tt,onClear:He,onClick:dt,onFocus:Ke,onBlur:wt,onSuffixClick:$t},Xt?{prefix:()=>Xt({})}:{}),vue.h(vue.Teleport,{to:"body",disabled:Je?!ut:!0},[vue.h("div",{ref:de,class:["vxe-table--ignore-clear vxe-table-select--panel",St?XEUtils.isFunction(St)?St({$tableSelect:ye}):St:"",{[`size--${nt}`]:nt,"is--transfer":Je,"ani--leave":!Vt&&Qe,"ani--enter":!Vt&&ht}],placement:he.panelPlacement,style:he.panelStyle},ut?[vue.h("div",{class:"vxe-table-select--panel-wrapper"},[Lt?vue.h("div",{class:"vxe-table-select--panel-header"},Lt({})):renderEmptyElement$3(ye),vue.h("div",{class:"vxe-table-select--panel-body"},[vue.h("div",{ref:ce,class:"vxe-table-select-grid--wrapper",style:Ht},[K?vue.h(K,Object.assign(Object.assign({},kt),{class:"vxe-table-select--grid",ref:ue,rowConfig:Nt,data:Et,columns:et,height:"100%",autoResize:!0,onRadioChange:mt,onCheckboxChange:bt,onCheckboxAll:Ot}),Object.assign({},Q,{header:void 0,footer:void 0,prefixSlot:void 0})):renderEmptyElement$3(ye)])]),Bt?vue.h("div",{class:"vxe-table-select--panel-footer"},Bt({})):renderEmptyElement$3(ye)])]:[])])])};return vue.watch(()=>G.options,()=>{Le()}),vue.watch(()=>G.columns,yt=>{je(yt||[])}),vue.watch(()=>G.modelValue,yt=>{Be(yt)}),je(G.columns||[]),Le(),vue.onMounted(()=>{globalEvents$4.on(ye,"mousewheel",qe),globalEvents$4.on(ye,"mousedown",at),globalEvents$4.on(ye,"blur",st)}),vue.onUnmounted(()=>{globalEvents$4.off(ye,"mousewheel"),globalEvents$4.off(ye,"mousedown"),globalEvents$4.off(ye,"blur")}),process.env.NODE_ENV==="development"&&vue.nextTick(()=>{K||errLog("vxe.error.reqComp",["vxe-grid"])}),vue.provide("$xeTableSelect",ye),ye.renderVN=It,ye},render(){return this.renderVN()}}),VxeTableSelect=Object.assign({},VxeTableSelectComponent,{install(G){G.component(VxeTableSelectComponent.name,VxeTableSelectComponent)}});dynamicApp.use(VxeTableSelect),VxeUI.component(VxeTableSelectComponent);const TableSelect=VxeTableSelect,VxeTabs=Object.assign({},VxeTabsComponent,{install(G){G.component(VxeTabsComponent.name,VxeTabsComponent)}});dynamicApp.use(VxeTabs),VxeUI.component(VxeTabsComponent);const Tabs=VxeTabs,VxeTagComponent=vue.defineComponent({name:"VxeTag",props:{status:String,title:[String,Number],icon:String,content:[String,Number],size:{type:String,default:()=>getConfig$8().tag.size||getConfig$8().size}},emits:["click"],setup(G,H){const{slots:X,emit:Q}=H,K=XEUtils.uniqueId(),{computeSize:Z}=useSize(G),ee=vue.ref(),te=vue.reactive({}),ne={refElem:ee},re={},oe={xID:K,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>re},ae=(he,fe,pe)=>{Q(he,createEvent$3(pe,{$tag:oe},fe))},se={dispatchEvent:ae},le={},ce=he=>{ae("click",{},he)};Object.assign(oe,se,le);const de=()=>{const{icon:he,content:fe}=G,pe=X.default,ve=X.icon;return[ve||he?vue.h("span",{class:"vxe-tag--icon"},ve?getSlotVNs(ve({})):[vue.h("i",{class:he})]):vue.createCommentVNode(),vue.h("span",{class:"vxe-tag--content"},pe?pe({}):XEUtils.toValueString(fe))]},ue=()=>{const{status:he,title:fe}=G,pe=Z.value;return vue.h("span",{ref:ee,class:["vxe-tag",{[`size--${pe}`]:pe,[`theme--${he}`]:he}],title:fe,onClick:ce},de())};return oe.renderVN=ue,oe},render(){return this.renderVN()}}),VxeTag=Object.assign({},VxeTagComponent,{install(G){G.component(VxeTagComponent.name,VxeTagComponent)}});dynamicApp.use(VxeTag),VxeUI.component(VxeTagComponent);const Tag=VxeTag,VxeTextEllipsisComponent=vue.defineComponent({name:"VxeTextEllipsis",props:{content:[String,Number],lineClamp:[String,Number],status:String,title:[String,Number],loading:Boolean,offsetLength:[String,Number],size:{type:String,default:()=>getConfig$8().textEllipsis.size||getConfig$8().size}},emits:["click"],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),{computeSize:K}=useSize(G),Z=vue.ref(),ee=vue.ref(),te=vue.reactive({resizeObserver:null,visibleLen:0}),ne={refElem:Z},re=vue.computed(()=>XEUtils.toNumber(G.lineClamp)),oe=vue.computed(()=>XEUtils.toValueString(G.content)),ae=vue.computed(()=>G.offsetLength?XEUtils.toNumber(G.offsetLength):0),se=vue.computed(()=>{const{visibleLen:we}=te,$e=re.value,Ee=oe.value,xe=ae.value;return $e>1&&Ee.length>we?`${Ee.slice(0,Math.max(1,we-3+xe))}...`:Ee}),le={},ce={xID:Q,props:G,context:H,reactData:te,getRefMaps:()=>ne,getComputeMaps:()=>le},de=(we,$e,Ee)=>{X(we,createEvent$3(Ee,{$textEllipsis:ce},$e))},ue=we=>{const $e=Z.value,Ee=ee.value;if($e&&Ee){let xe=12;try{xe=Math.max(10,XEUtils.toNumber(getComputedStyle(Ee).fontSize))}catch{}const Me=oe.value;let De=Math.floor(we/xe),ke=Me.slice(0,De);Ee.textContent=ke,te.visibleLen=ke.length;let Oe=0;for(;we>Ee.clientWidth&&Oe<30;){Oe++;const Ne=Math.floor((we-Ee.clientWidth)/xe);if(Ne)De+=Ne,ke=Me.slice(0,De),Ee.textContent=ke,te.visibleLen=ke.length;else break}Ee.textContent="",Ee.style.display="",Ee.style.position="",Ee.style.top="",Ee.style.left=""}},he=()=>{const we=Z.value,$e=ee.value,Ee=oe.value,xe=re.value;if(we&&$e){const Me=we.clientWidth;$e.style.display="block",$e.style.position="absolute",$e.style.top="-3000px",$e.style.left="-3000px",$e.textContent=Ee;const De=$e.offsetWidth,ke=Math.floor(Me*xe);ke>De?te.visibleLen=Ee.length:ue(ke)}else te.visibleLen=Ee.length},fe={dispatchEvent:de},pe=()=>{X("click",{})},ve=()=>{const{resizeObserver:we}=te,$e=re.value;if(!we){const Ee=Z.value;if(Ee&&$e>1&&window.ResizeObserver){const xe=new window.ResizeObserver(XEUtils.throttle(()=>{he()},300,{leading:!0,trailing:!0}));xe.observe(Ee),te.resizeObserver=xe}}};Object.assign(ce,fe,{});const ge=()=>{const{loading:we,status:$e,title:Ee}=G,xe=K.value,Me=se.value,De=re.value;return vue.h("div",{ref:Z,class:["vxe-text-ellipsis",De>1?"is--multi":"is--single",{[`size--${xe}`]:xe,[`theme--${$e}`]:$e,"is--loading":we}],title:Ee,onClick:pe},[vue.h("span",{ref:ee,class:"vxe-text-ellipsis-reality"}),vue.h("span",{class:"vxe-text-ellipsis-content"},Me)])};return vue.watch(()=>G.content,()=>{he()}),vue.watch(()=>G.lineClamp,()=>{ve(),he()}),vue.onMounted(()=>{ve(),he()}),vue.onBeforeUnmount(()=>{const{resizeObserver:we}=te,$e=Z.value,Ee=ee.value;Ee&&(Ee.textContent=""),we&&($e&&we.unobserve($e),we.disconnect(),te.resizeObserver=null)}),ce.renderVN=ge,ce},render(){return this.renderVN()}}),VxeTextEllipsis=Object.assign({},VxeTextEllipsisComponent,{install(G){G.component(VxeTextEllipsisComponent.name,VxeTextEllipsisComponent)}});dynamicApp.use(VxeTextEllipsis),VxeUI.component(VxeTextEllipsisComponent);const TextEllipsis=VxeTextEllipsis,VxeText=Object.assign({},VxeTextComponent,{install(G){G.component(VxeTextComponent.name,VxeTextComponent)}});dynamicApp.use(VxeText),VxeUI.component(VxeTextComponent);const Text=VxeText,VxeTextarea=Object.assign(VxeTextareaComponent,{install:function(G){G.component(VxeTextareaComponent.name,VxeTextareaComponent)}});dynamicApp.use(VxeTextarea),VxeUI.component(VxeTextareaComponent);const Textarea=VxeTextarea,VxeTip=Object.assign({},VxeTipComponent,{install(G){G.component(VxeTipComponent.name,VxeTipComponent),G.component("VxeTipsComponent",VxeTipComponent)}});dynamicApp.use(VxeTip),VxeUI.component(VxeTipComponent);const Tips=VxeTip,Tip=VxeTip,VxeTooltip=Object.assign({},VxeTooltipComponent,{install(G){G.component(VxeTooltipComponent.name,VxeTooltipComponent)}});dynamicApp.use(VxeTooltip),VxeUI.component(VxeTooltipComponent);const Tooltip=VxeTooltip,VxeTree=Object.assign({},VxeTreeComponent,{install(G){G.component(VxeTreeComponent.name,VxeTreeComponent)}});dynamicApp.use(VxeTree),VxeUI.component(VxeTreeComponent);const Tree=VxeTree,VxeTreeSelect=Object.assign({},VxeTreeSelectComponent,{install(G){G.component(VxeTreeSelectComponent.name,VxeTreeSelectComponent)}});dynamicApp.use(VxeTreeSelect),VxeUI.component(VxeTreeSelectComponent);const TreeSelect=VxeTreeSelect,VxeUpload=Object.assign({},VxeUploadComponent,{install(G){G.component(VxeUploadComponent.name,VxeUploadComponent)}});dynamicApp.use(VxeUpload),VxeUI.component(VxeUploadComponent),VxeUI.saveFile=saveLocalFile,VxeUI.readFile=readLocalFile;const Upload=VxeUpload;let canvasEl=null,fontEl=null;const fontCacheMaps={};function getMarkCanvas(){return canvasEl||(canvasEl=document.createElement("canvas"),canvasEl.style.position="absolute",canvasEl.style.top="0",canvasEl.style.left="0"),canvasEl}function removeMarkElement(G){if(G){const H=G.parentNode;H&&H.removeChild(G)}}function calcFontWH(G,H){const X=`${H}_${G}`;if(!fontCacheMaps[X]){fontEl||(fontEl=document.createElement("span")),fontEl.parentNode||document.body.append(fontEl),fontEl.textContent=G,fontEl.style.fontSize=toCssUnit(H);const Q=fontEl.offsetWidth,K=fontEl.offsetHeight;fontCacheMaps[X]={width:Q,height:K}}return fontCacheMaps[X]}function calcContentWH(G){let H=0,X=0;return G.forEach(Q=>{H=Math.max(Q.width,H),X=Math.max(Q.height,X)}),{contentWidth:H,contentHeight:X}}function calcCanvasWH(G,H){const{gap:X}=H,[Q=0,K=0]=X?XEUtils.isArray(X)?X:[X,X]:[],Z=G+XEUtils.toNumber(Q),ee=G+XEUtils.toNumber(K);return{canvasWidth:Z,canvasHeight:ee}}function getFontConf(G,H,X){return(G.font?G.font[H]:"")||(X.font?X.font[H]:"")}function createMarkFont(G,H,X){const{offset:Q}=X,K=XEUtils.toValueString(G.textContent),Z=XEUtils.toNumber(getFontConf(G,"fontSize",X)||H)||14,[ee=0,te=0]=Q?XEUtils.isArray(Q)?Q:[Q,Q]:[],{width:ne,height:re}=calcFontWH(K,Z);return{text:K,fontSize:Z,font:G.font,width:ne+XEUtils.toNumber(ee),height:re+XEUtils.toNumber(te)}}function drayFont(G,H,X){const Q=getFontConf(H,"fontWeight",X);G.fillStyle=`${getFontConf(H,"color",X)||"rgba(0, 0, 0, 0.15)"}`,G.font=[getFontConf(H,"fontStyle",X)||"normal",Q==="bold"||Q==="bolder"?"bold":"",toCssUnit(H.fontSize),getFontConf(H,"fontFamily",X)||"sans-serif"].join(" ")}function getContentUrl(G,H,X){const Q=Object.assign({},X),{rotate:K}=Q,Z=XEUtils.toNumber(K),ee=(XEUtils.isArray(G)?G:[G]).map(te=>te?te.textContent?createMarkFont(te,H,Q):createMarkFont({textContent:`${te}`},H,Q):createMarkFont({textContent:""},H,Q));return removeMarkElement(fontEl),new Promise(te=>{const ne=getMarkCanvas();ne.parentNode||document.body.append(ne);const re=ne.getContext("2d");if(re&&ee.length){const{contentWidth:oe,contentHeight:ae}=calcContentWH(ee),{canvasWidth:se,canvasHeight:le}=calcCanvasWH(oe,Q);ne.width=se,ne.height=le;const ce=(se-oe)/2,de=(le-ae)/2,ue=ce+oe/2,he=de+ae/2;re.save(),re.translate(ue,he),re.rotate(Z*Math.PI/180),re.translate(-ue,-he);let fe=0;ee.forEach(pe=>{const ve=getFontConf(pe,"align",Q);drayFont(re,pe,Q),re.fillText(pe.text,ce+(ve==="center"?(oe-pe.width)/2:0),de+(ae+ae)/2+fe,oe),fe+=pe.height}),re.restore(),te(ne.toDataURL()),removeMarkElement(ne)}else te(""),removeMarkElement(ne)})}const VxeWatermarkComponent=vue.defineComponent({name:"VxeWatermark",props:{width:String,height:String,imageUrl:String,rotate:{type:[Number,String],default:()=>getConfig$8().watermark.rotate},gap:{type:[Array,Number,String],default:()=>XEUtils.clone(getConfig$8().watermark.gap,!0)},content:[String,Array],font:Object,offset:Object,zIndex:[String,Number]},emits:[],setup(G,H){const{emit:X}=H,Q=XEUtils.uniqueId(),K=vue.ref(),Z=vue.reactive({markUrl:""}),ee={refElem:K},te=vue.computed(()=>XEUtils.assign({},XEUtils.clone(getConfig$8().watermark.font,!0),G.font)),ne=vue.computed(()=>{const{width:ue,height:he,zIndex:fe}=G,{markUrl:pe}=Z,ve={};return ue&&(ve.width=toCssUnit(ue)),he&&(ve.height=toCssUnit(he)),pe&&(ve.backgroundImage=`url(${pe})`),fe&&(ve.zIndex=fe),ve}),re={},oe={xID:Q,props:G,context:H,reactData:Z,getRefMaps:()=>ee,getComputeMaps:()=>re},se={dispatchEvent:(ue,he,fe)=>{X(ue,createEvent$3(fe,{$watermark:oe},he))}},le=()=>{const{content:ue,gap:he,rotate:fe,offset:pe}=G,ve=K.value,me=te.value;ve&&ue&&getContentUrl(ue,getComputedStyle(ve).fontSize,{font:me,rotate:fe,gap:he,offset:pe}).then(ge=>{Z.markUrl=ge})};Object.assign(oe,se,{});const de=()=>{const ue=ne.value;return vue.h("div",{ref:K,class:"vxe-watermark",style:ue})};return vue.watch(()=>G.imageUrl,()=>{le()}),vue.watch(()=>G.content,()=>{le()}),vue.watch(()=>G.gap,()=>{le()}),vue.watch(()=>G.rotate,()=>{le()}),vue.watch(()=>G.width,()=>{le()}),vue.watch(()=>G.height,()=>{le()}),vue.watch(()=>G.font,()=>{le()}),vue.onMounted(()=>{le(),globalEvents$4.on(oe,"resize",XEUtils.throttle(()=>{le()},300,{trailing:!0,leading:!0}))}),vue.onUnmounted(()=>{globalEvents$4.off(oe,"resize")}),oe.renderVN=de,oe},render(){return this.renderVN()}}),VxeWatermark=Object.assign({},VxeWatermarkComponent,{install(G){G.component(VxeWatermarkComponent.name,VxeWatermarkComponent)}});dynamicApp.use(VxeWatermark),VxeUI.component(VxeWatermarkComponent);const WatermarkController={load(G){return checkDynamic(),dynamicStore.globalWatermark=Object.assign({},G),Promise.resolve()},clear(){return dynamicStore.globalWatermark=null,Promise.resolve()}};VxeUI.watermark=WatermarkController;const Watermark=VxeWatermark,components$1=[VxeAlert,VxeAnchor,VxeAnchorLink,VxeAvatar,VxeBadge,VxeBreadcrumb,VxeBreadcrumbItem,VxeButton,VxeButtonGroup,VxeCalendar,VxeCard,VxeCarousel,VxeCarouselItem,VxeCheckbox,VxeCheckboxGroup,VxeCol,VxeCollapse,VxeCollapsePane,VxeColorPicker,VxeCountdown,VxeDatePicker,VxeDrawer,VxeEmpty,VxeForm,VxeFormDesign,VxeFormGather,VxeFormGroup,VxeFormItem,VxeFormView,VxeIcon,VxeIconPicker,VxeImage,VxeImageGroup,VxeImagePreview,VxeInput,VxeLayoutAside,VxeLayoutBody,VxeLayoutContainer,VxeLayoutFooter,VxeLayoutHeader,VxeLink,VxeListDesign,VxeListView,VxeList,VxeLoading,VxeMenu,VxeModal,VxeNoticeBar,VxeNumberInput,VxeOptgroup,VxeOption,VxePager,VxePasswordInput,VxePrintPageBreak,VxePrint,VxePulldown,VxeRadio,VxeRadioButton,VxeRadioGroup,VxeRate,VxeResult,VxeRow,VxeSelect,VxeSlider,VxeSteps,VxeSwitch,VxeTabPane,VxeTableSelect,VxeTabs,VxeTag,VxeTextEllipsis,VxeText,VxeTextarea,VxeTip,VxeTooltip,VxeTree,VxeTreeSelect,VxeUpload,VxeWatermark];function install$1(G,H){setConfig$1(H),components$1.forEach(X=>G.use(X))}const defaultLanguage="zh-CN";setI18n$1(defaultLanguage,zhCN),setLanguage$1(defaultLanguage),setTheme$1("light");const loading=LoadingController,modal=ModalController,drawer=DrawerController,watermark=WatermarkController,print=printHtml,saveFile=saveLocalFile,readFile=readLocalFile,VxeUIExport=Object.freeze(Object.defineProperty({__proto__:null,Alert,Anchor,AnchorLink,Avatar,Badge,Breadcrumb,BreadcrumbItem,Button,ButtonGroup,Calendar,Card,Carousel,CarouselItem,Checkbox,CheckboxGroup,Col,Collapse,CollapsePane,ColorPicker,Countdown,DatePicker,Drawer,DrawerController,Empty,Form,FormDesign,FormGather,FormGroup,FormItem,FormView,GLOBAL_EVENT_KEYS:GLOBAL_EVENT_KEYS$3,Icon,IconPicker,Image:Image$1,ImageGroup,ImagePreview,Input,LayoutAside,LayoutBody,LayoutContainer,LayoutFooter,LayoutHeader,Link,List,ListDesign,ListView,Loading,LoadingController,Menu,Modal,ModalController,NoticeBar,NumberInput,Optgroup,Option,Pager,PasswordInput,Print,PrintPageBreak,Pulldown,Radio,RadioButton,RadioGroup,Rate,Result,Row,Select,Slider,Steps,Switch,TabPane,TableSelect,Tabs,Tag,Text,TextEllipsis,Textarea,Tip,Tips,Tooltip,Tree,TreeSelect,Upload,VxeAlert,VxeAnchor,VxeAnchorLink,VxeAvatar,VxeBadge,VxeBreadcrumb,VxeBreadcrumbItem,VxeButton,VxeButtonGroup,VxeCalendar,VxeCard,VxeCarousel,VxeCarouselItem,VxeCheckbox,VxeCheckboxGroup,VxeCol,VxeCollapse,VxeCollapsePane,VxeColorPicker,VxeCore,VxeCountdown,VxeDatePicker,VxeDrawer,VxeEmpty,VxeForm,VxeFormDesign,VxeFormGather,VxeFormGroup,VxeFormItem,VxeFormView,VxeIcon,VxeIconPicker,VxeImage,VxeImageGroup,VxeImagePreview,VxeInput,VxeLayoutAside,VxeLayoutBody,VxeLayoutContainer,VxeLayoutFooter,VxeLayoutHeader,VxeLink,VxeList,VxeListDesign,VxeListView,VxeLoading,VxeMenu,VxeModal,VxeNoticeBar,VxeNumberInput,VxeOptgroup,VxeOption,VxePager,VxePasswordInput,VxePrint,VxePrintPageBreak,VxePulldown,VxeRadio,VxeRadioButton,VxeRadioGroup,VxeRate,VxeResult,VxeRow,VxeSelect,VxeSlider,VxeSteps,VxeSwitch,VxeTabPane,VxeTableSelect,VxeTabs,VxeTag,VxeText,VxeTextEllipsis,VxeTextarea,VxeTip,VxeTooltip,VxeTree,VxeTreeSelect,VxeUI,VxeUpload,VxeWatermark,Watermark,WatermarkController,checkVersion,clipboard:clipboard$1,commands:commands$3,component,config,coreVersion,createEvent:createEvent$3,drawer,formats:formats$4,getComponent,getConfig:getConfig$8,getI18n:getI18n$e,getIcon:getIcon$8,getLanguage,getSlotVNs:getSlotVNs$2,getTheme:getTheme$1,globalEvents:globalEvents$4,globalResize:globalResize$2,globalStore,handleCheckInfo,hasComponent,hasLanguage,hooks:hooks$9,install:install$1,interceptor:interceptor$2,loading,log:log$2,menus:menus$2,modal,permission,print,readFile,renderCustomIcon,renderEmptyElement:renderEmptyElement$3,renderGlobalIcon,renderer:renderer$c,saveFile,setConfig:setConfig$1,setI18n:setI18n$1,setIcon:setIcon$1,setLanguage:setLanguage$1,setTheme:setTheme$1,setup,use:use$1,useFns:useFns$3,usePermission,useSize,validators:validators$2,version,watermark},Symbol.toStringTag,{value:"Module"})),components=[WindowIndex,_sfc_main$7,WindowLayout,WindowGrid,WindowForm,_sfc_main$g,_sfc_main$i],install=(G,H={uis:[],axios:void 0,plugins:[],ui:"Default",httpHeaders:{TOKEN:()=>localStorage.getItem("TOKEN"),saToken:()=>localStorage.getItem("saToken")},crypto:{encrypt,decrypt},components:{},componentsPath:"/src/view",otherComponents:{},customI18n:!1,VXETableConfig:null,externalFun:null,beginEdit:null,endEdit:null})=>{var K,Z;components.forEach(ee=>{G.use(ee)}),(K=H==null?void 0:H.uis)!=null&&K.length&&H.uis.forEach(ee=>{G.use(ee)}),(Z=H==null?void 0:H.plugins)!=null&&Z.length&&H.plugins.forEach(ee=>{VxeTableExport.use(ee)}),VxeUIExport.use(VxeUIPluginExportXLSX,{ExcelJS}),G.use(VxeUIExport);const X=new ComponentMapping((H==null?void 0:H.ui)||"Default");G.component(Icon$2.name,Icon$2),G.component("AIcon",Icon$1),X.isDefault()&&(G.component(Tabs$1.name,Tabs$1),G.component(TabPane$1.name,TabPane$1),G.component(Upload$1.name,Upload$1),G.component(TreeSelect$1.name,TreeSelect$1)),Object.keys(icons).forEach(ee=>{G.component(ee,icons[ee])}),G.config.globalProperties.axios=(H==null?void 0:H.axios)||axios;let Q=null;H.customI18n?(Q=H.customI18n,G.provide("$t",Q),VxeTableExport.setConfig({i18n:(ee,te)=>H.customI18n(ee,te),translate(ee,te){return H.customI18n(ee,te)}})):(Q=ee=>ee,G.provide("$t",Q)),H.success&&G.provide("$success",H.success),H.error&&G.provide("$error",H.error),H.VXETableConfig&&VxeTableExport.setConfig(H.VXETableConfig),G.provide("$VXETableConfig",H.VXETableConfig),G.provide("$externalFun",H.externalFun),G.provide("$beginEdit",H.beginEdit),G.provide("$endEdit",H.endEdit),G.use(VxeTableExport),G.provide("$componentMapping",X),G.provide("$axios",G.config.globalProperties.axios),G.provide("$qs",qs),G.provide("$crypto",(H==null?void 0:H.crypto)||{encrypt,decrypt}),G.provide("$base64Encode",ee=>window.btoa(unescape(encodeURIComponent(ee)))),G.provide("$base64Decode",ee=>window.atob(escape(decodeURIComponent(ee)))),G.provide("$httpHeaders",(H==null?void 0:H.httpHeaders)||(()=>({TOKEN:localStorage.getItem("login-token"),saToken:localStorage.getItem("SATOKEN")}))),G.provide("$components",H==null?void 0:H.components),G.provide("$otherComponents",H==null?void 0:H.otherComponents),G.provide("$componentsPath",(H==null?void 0:H.componentsPath)||"/src/view"),G.provide("$ElMessage",G.config.globalProperties.$message),G.provide("$modal",VxeTableExport.modal),G.provide("$vxeMessage",VxeTableExport.modal.message),G.provide("$vxeConfirm",VxeTableExport.modal.confirm),G.provide("$vxeOpen",VxeTableExport.modal.open),G.provide("$vxeReadFile",VxeTableExport.readFile),G.provide("$ElMessageBox",G.config.globalProperties.$msgbox),G.provide("$router",G.config.globalProperties.$router),initVxeRenderer(VxeTableExport,X,Q),initVxeFormater(VxeTableExport),initVxeConfig(VxeTableExport)};function reConsole(){if(console!==null){const G=console.error;console.error=(...H)=>{var X;if(H!=null&&H.length){for(let Q of H)if(((X=Q==null?void 0:Q.indexOf)==null?void 0:X.call(Q,"[@ant-design/icons-vue] Make sure that you provide correct `viewBox` prop (default `0 0 1024 1024`) to the icon."))!==-1)return}G(...H)}}}console.info(`%cSLW %cVer 1.0.0-rc.2.8%c
372
372
  %c指引文档:%chttp://slwdoc.js.sforcecon.com:5900/%c
373
373
  %c启光文档:%chttp://docs.js.sforcecon.com:5900/view`,"color:#409EFF;font-size: 22px;font-weight:bolder;text-shadow: 2px 2px 4px #84c1ff;","color:#fff;font-size: 12px;background-color:#409EFF;padding:2px 4px;border-radius:3px;","color:#fff;font-size: 12px;","color:#409EFF;font-size: 12px;","color:#fff;font-size: 12px;","color:#fff;font-size: 12px;","color:#409EFF;font-size: 12px;","color:#fff;font-size: 12px;");const index$2={install},containerMixin={computed:{},methods:{selectField(G){G.itemRender&&G.itemRender.children||G.buttonRender&&G.buttonRender.name=="toolBarTitle"||this.designer.setSelected(G)},selectWidget(G){this.designer.setSelected(G)},selectParentWidget(){this.designer.setSelected(this.designer.selectedWidgetParent)},removeFieldWidget(){const G=this.designer.selectedWidget.id;this.$nextTick(()=>{let H=this.parentWidget.findIndex(X=>X.id===G);H>=0&&(this.parentWidget.splice(H,1),this.designer.selectedConfigType?delete this.designer.designerConfig[this.rootWidgetId][this.designer.selectedConfigType][G]:(delete this.designer.designerConfig[G],delete this.designer.designerConfig[G+"LAYOUT"]),this.designer.clearSelected())})},switchFieldType(G,H){switch(G.type){case"ElSelect":H.itemRender.attrs.style="min-width: 120px;max-width:100%",H.itemRender.props.filterable=!0,G.options.multiple&&(H.itemRender.props.multiple=!0,H.itemRender.props["collapse-tags"]=!0,H.itemRender.props["collapse-tags-tooltip"]=!0),G.options&&G.options.optionItems&&(H.itemRender.options=G.options.optionItems.map(X=>Object.assign({value:X.value,label:X.label},X)));break;case"ElSwitch":break;case"ElInputNumber":H.itemRender.props.type="number";break;case"ElDatePicker":H.itemRender.attrs.style="width: 100%;",G.options.type=="date"?H.itemRender.props={...H.itemRender.props,type:"date",valueFormat:"YYYY-MM-DD"}:H.itemRender.props={...H.itemRender.props,type:"daterange",valueFormat:"YYYY-MM-DD",isRange:!0};break;case"ElTimePicker":H.itemRender.attrs.style="width: 100%;",G.options.type=="time"?H.itemRender.props={...H.itemRender.props,type:"datetime",valueFormat:"YYYY-MM-DD HH:mm:ss"}:H.itemRender.props={...H.itemRender.props,type:"datetimerange",valueFormat:"YYYY-MM-DD HH:mm:ss",isRange:!0};break;case"ElInput":H.itemRender.props.type=G.options.type;break}return H},onDragToolbarAdd(G){let H=G.item._underlying_vm_;if(H.type!="ElButton"||H.code){for(let K in this.designer.designerConfig)this.designer.designerConfig[K].btnConfig&&this.designer.designerConfig[K].btnConfig[H.id]&&K!=this.widget.id&&(this.designer.designerConfig[this.widget.id].btnConfig[H.id]=deepClone(this.designer.designerConfig[K].btnConfig[H.id]),delete this.designer.designerConfig[K].btnConfig[H.id]);this.designer.emitHistoryChange();return}let X;this.toolbarConfig.forEach((K,Z)=>{K.id==H.id&&(X=Z)});let Q={type:"NEW",code:"NEW",name:"新增",iconComponent:"Add",viewType:"primary",visible:!0,icon:null,id:H.id,_button_id:null,_region_id:null,clickFunction:null,displayLogic:null,showInGrid:null,requestPath:null,windowId:null,css:"",openWidth:null,openHeight:null,loading:!1,btnLoad:{},btnShowInGrid:{},btnShow:{},isNew:!0};this.toolbarConfig.splice(X,1,Q),this.designer.newWidgetInitConfig(this.widget.gridData.id,"btnConfig",Q),this.designer.emitHistoryChange()},addFormItemConfig(G){return{field:G.field,folding:!1,id:G.id,itemRender:{name:G.type,props:{placeholder:"请输入",size:"default",clearable:!0,filterable:!0},defaultValue:"",events:{"on-change":function(){},change:function(){}},attrs:{}},name:G.name,title:G.name,visible:!0,displayForm:!0,isNew:!0}}}},_sfc_main$5={name:"container-wrapper",mixins:[containerMixin],components:{},props:{widget:Object,designer:Object,parentWidget:Array,height:[String,Number]},computed:{selected(){return G=>G.mode!=null&&G.gridData?G.id+"LAYOUT"===this.designer.selectedId:G.id===this.designer.selectedId},isHide(){return(G,H)=>{if(H=="back"&&G.mode==null)return!0;if(H=="delete"||H=="drag")return G.mode!=null}}}},_hoisted_1$5={class:"container-wrapper"},_hoisted_2$4={key:0,class:"container-action"},_hoisted_3$2={key:1,class:"drag-handler"};function _sfc_render$4(G,H,X,Q,K,Z){const ee=vue.resolveComponent("el-row");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$5,[(vue.openBlock(),vue.createBlock(ee,{key:X.widget.id,class:vue.normalizeClass(["vxe-grid-container",[Z.selected(X.widget)?"selected":""]]),style:vue.normalizeStyle({height:X.height+"px",overflow:"auto"}),onClick:H[0]||(H[0]=vue.withModifiers(te=>G.selectWidget(X.widget),["stop"]))},{default:vue.withCtx(()=>[vue.renderSlot(G.$slots,"default",{},void 0,!0)]),_:3},8,["class","style"])),Z.selected(X.widget)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$4,[Z.isHide(X.widget,"back")?(vue.openBlock(),vue.createElementBlock("i",{key:0,title:"选中布局",onClick:H[1]||(H[1]=vue.withModifiers(te=>G.selectParentWidget(X.widget),["stop"]))},[...H[3]||(H[3]=[vue.createElementVNode("i",{class:"iconfont icon-back"},null,-1)])])):vue.createCommentVNode("",!0),Z.isHide(X.widget,"delete")?(vue.openBlock(),vue.createElementBlock("i",{key:1,title:"移除组件",onClick:H[2]||(H[2]=vue.withModifiers((...te)=>G.removeFieldWidget&&G.removeFieldWidget(...te),["stop"]))},[...H[4]||(H[4]=[vue.createElementVNode("i",{class:"iconfont icon-delete"},null,-1)])])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),Z.selected(X.widget)&&Z.isHide(X.widget,"drag")?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$2,[...H[5]||(H[5]=[vue.createElementVNode("i",{title:"拖拽手柄"},[vue.createElementVNode("i",{class:"iconfont icon-drag"})],-1)])])):vue.createCommentVNode("",!0)])}const ContainerWrapper=_export_sfc(_sfc_main$5,[["render",_sfc_render$4],["__scopeId","data-v-a5ec9eee"]]),_sfc_main$4={name:"static-content-wrapper",mixins:[containerMixin],components:{},props:{field:Object,designer:Object,parentWidget:Array,rootWidgetId:String,width:{type:String}},computed:{selected(){return!!this.designer&&this.field.id===this.designer.selectedId},isHide(){return()=>this.field.displayForm==null?!this.field.visible:!this.field.displayForm}},watch:{field:{deep:!0,immediate:!0,handler(G){}}},methods:{}},_hoisted_1$4={key:0,class:"field-action"},_hoisted_2$3={key:1,class:"drag-handler background-opacity"},_hoisted_3$1={key:0,title:"隐藏"};function _sfc_render$3(G,H,X,Q,K,Z){return vue.openBlock(),vue.createElementBlock("div",{class:"field-wrapper",style:vue.normalizeStyle({"flex-basis":X.width})},[vue.createElementVNode("div",{class:vue.normalizeClass(["static-content-item",[Z.selected?"selected":""]]),onClick:H[0]||(H[0]=vue.withModifiers(ee=>G.selectField(X.field),["stop"]))},[vue.renderSlot(G.$slots,"default",{},void 0,!0)],2),this.designer?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[X.designer.selectedId===X.field.id?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("i",{title:"移除组件",onClick:H[1]||(H[1]=vue.withModifiers((...ee)=>G.removeFieldWidget&&G.removeFieldWidget(...ee),["stop"]))},[...H[2]||(H[2]=[vue.createElementVNode("i",{class:"iconfont icon-delete"},null,-1)])])])):vue.createCommentVNode("",!0),X.designer.selectedId===X.field.id?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$3,[H[4]||(H[4]=vue.createElementVNode("i",{title:"拖拽手柄"},[vue.createElementVNode("i",{class:"iconfont icon-drag"})],-1)),Z.isHide()?(vue.openBlock(),vue.createElementBlock("i",_hoisted_3$1,[...H[3]||(H[3]=[vue.createElementVNode("i",{class:"iconfont icon-hide"},null,-1)])])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0)],4)}const StaticContentWrapper=_export_sfc(_sfc_main$4,[["render",_sfc_render$3],["__scopeId","data-v-6617c757"]]),_sfc_main$3={name:"grid-widget",componentName:"ContainerWidget",mixins:[containerMixin],inject:[],components:{ContainerWrapper,StaticContentWrapper,draggable:draggableComponent},props:{widget:Object,designer:Object,parentWidget:Array},data(){return{formBtnConfig:[],toolbarConfig:[],showButtons:[]}},computed:{btnRender(){return G=>({name:"ElButton",props:{autoInsertSpace:!0,content:G.name,icon:G.iconComponent,nativeType:"submit",size:"default",type:G.viewType}})},operationButton(G){return H=>({size:"small",type:H.viewType,icon:null,text:!0,iconComponent:H.iconComponent,round:H.shape==="round",circle:H.shape==="circle",loading:H.loading,shape:H.shape})},computeGridHeight(){let G=window.innerHeight-40-50-42-20-64;return G<this.widget.height?G:this.widget.height}},watch:{"widget.gridData.toolbarConfig":{handler(G){if(G.buttons.forEach(H=>{H.hasOwnProperty("buttonRender")||(H.buttonRender={name:"ElButton",props:{size:"default",type:H.viewType,style:H.css,icon:H.icon,iconComponent:H.iconComponent,round:H.shape==="round",circle:H.shape==="circle",shape:H.shape},events:{}})}),this.showButtons=G.buttons.filter(H=>H.showInGrid=="Y"||H.showInGrid===!0),this.showButtons.length>0){this.widget.gridData.data=[];let H={};this.widget.gridData.columns.forEach(X=>{X.type!=="seq"&&X.type!=="checkbox"&&X.fixed!=="left"&&(H[X.field]=void 0)}),this.widget.gridData.data.push(H)}this.toolbarConfig=G.buttons},deep:!0,immediate:!0},"widget.gridData.formConfig.items":{handler(G){this.formBtnConfig=G},deep:!0},"widget.gridData.columns":{handler(G){this.$refs.curRegion&&this.$refs.curRegion.loadColumn(G)},deep:!0},formBtnConfig:{handler(G){let H=this.widget.gridData.formConfig.items.findIndex(X=>X.align=="right");H<0&&G.length>0?this.widget.gridData.formConfig.items.push({align:"right",collapseNode:!1,itemRender:{name:"ElButtons",children:[{props:{"native-type":"submit",type:"primary",content:"查询",iconComponent:"Search",size:"default",autoInsertSpace:!0}},{props:{"native-type":"reset",content:"重置",iconComponent:"Refresh",size:"default",autoInsertSpace:!0}}]},visible:!0}):H>=0&&G.length==1&&this.widget.gridData.formConfig.items.splice(H,1)},deep:!0}},created(){this.formBtnConfig=this.widget.gridData.formConfig.items,this.toolbarConfig=this.widget.gridData.toolbarConfig.buttons},mounted(){},methods:{checkFieldMove(G){return this.designer.checkFieldMove(G)},onDragFormAdd(G){let H=G.item._underlying_vm_;if(H.itemRender){for(let K in this.designer.designerConfig)this.designer.designerConfig[K].queryConfig&&this.designer.designerConfig[K].queryConfig[H.id]&&K!=this.widget.id&&(this.designer.designerConfig[this.widget.id].queryConfig[H.id]=deepClone$1(this.designer.designerConfig[K].queryConfig[H.id]),delete this.designer.designerConfig[K].queryConfig[H.id]);this.designer.emitHistoryChange();return}let X;this.formBtnConfig.forEach((K,Z)=>{K.id==H.id&&(X=Z)});let Q=this.addFormItemConfig(H);Q=this.switchFieldType(H,Q),this.formBtnConfig.splice(X,1,Q),this.designer.newWidgetInitConfig(this.widget.gridData.id,"queryConfig",Q),this.designer.emitHistoryChange()}}},_hoisted_1$3={key:0,class:"toolBar-title"},_hoisted_2$2={key:0,style:{verticalAlign:"middle"}};function _sfc_render$2(G,H,X,Q,K,Z){const ee=vue.resolveComponent("vxe-form-item"),te=vue.resolveComponent("vxe-form"),ne=vue.resolveComponent("StaticContentWrapper"),re=vue.resolveComponent("draggable"),oe=vue.resolveComponent("el-icon"),ae=vue.resolveComponent("el-tooltip"),se=vue.resolveComponent("el-button"),le=vue.resolveComponent("vxe-grid"),ce=vue.resolveComponent("el-col"),de=vue.resolveComponent("container-wrapper");return vue.openBlock(),vue.createBlock(de,{designer:X.designer,widget:X.widget,parentWidget:X.parentWidget},{default:vue.withCtx(()=>[vue.createVNode(ce,{class:"grid-cell"},{default:vue.withCtx(()=>[vue.createVNode(de,{designer:X.designer,widget:X.widget.gridData},{default:vue.withCtx(()=>[vue.createVNode(ce,{class:"grid-cell"},{default:vue.withCtx(()=>[vue.createVNode(le,vue.mergeProps({ref:"curRegion","keep-source":""},X.widget.gridData,{height:Z.computeGridHeight}),{form:vue.withCtx(()=>[vue.createVNode(re,vue.mergeProps({list:K.formBtnConfig,"item-key":"id"},{group:"dragGroup",ghostClass:"ghost",animation:300},{"component-data":{name:"fade",class:"transition-group field formBtnConfig"},handle:".drag-handler",tag:"div",onAdd:Z.onDragFormAdd,move:Z.checkFieldMove}),{item:vue.withCtx(({element:ue})=>[vue.createVNode(ne,{designer:X.designer,field:ue,parentWidget:K.formBtnConfig,rootWidgetId:X.widget.id},{default:vue.withCtx(()=>[vue.createVNode(te,null,{default:vue.withCtx(()=>[ue.itemRender&&ue.itemRender.name=="ElButtons"?(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:0},vue.renderList(ue.itemRender.children,he=>(vue.openBlock(),vue.createBlock(ee,{"item-render":{name:"ElButton",props:he.props},visible:ue.visible},null,8,["item-render","visible"]))),256)):(vue.openBlock(),vue.createBlock(ee,{key:1,field:ue.field,title:ue.title,"title-overflow":"tooltip","item-render":ue.itemRender},null,8,["field","title","item-render"]))]),_:2},1024)]),_:2},1032,["designer","field","parentWidget","rootWidgetId"])]),_:1},16,["list","onAdd","move"])]),toolbar_buttons:vue.withCtx(()=>[vue.createVNode(re,vue.mergeProps({list:K.toolbarConfig,"item-key":"id"},{group:"dragGroup",ghostClass:"ghost",animation:300},{"component-data":{name:"fade",class:"transition-group field toolbar"},handle:".drag-handler",tag:"div",onAdd:G.onDragToolbarAdd,move:Z.checkFieldMove}),{item:vue.withCtx(({element:ue})=>[vue.createVNode(ne,{designer:X.designer,field:ue,parentWidget:K.toolbarConfig,rootWidgetId:X.widget.id},{default:vue.withCtx(()=>[ue.buttonRender&&ue.buttonRender.name=="toolBarTitle"?(vue.openBlock(),vue.createElementBlock("span",_hoisted_1$3,vue.toDisplayString(ue.name),1)):(vue.openBlock(),vue.createBlock(te,{key:1},{default:vue.withCtx(()=>[vue.createVNode(ee,{"item-render":Z.btnRender(ue)},null,8,["item-render"])]),_:2},1024))]),_:2},1032,["designer","field","parentWidget","rootWidgetId"])]),_:1},16,["list","onAdd","move"])]),operation:vue.withCtx(({row:ue,rowIndex:he})=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(K.showButtons,fe=>(vue.openBlock(),vue.createBlock(se,vue.mergeProps({key:fe._button_id},{ref_for:!0},Z.operationButton(fe)),{icon:vue.withCtx(()=>[vue.createVNode(ae,{title:fe.name,content:fe.name,placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(oe,vue.mergeProps({ref_for:!0},{size:15,style:{verticalAlign:"middle"}}),{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(fe.iconComponent)))]),_:2},1040)]),_:2},1032,["title","content"])]),default:vue.withCtx(()=>[!fe.iconComponent||typeof fe.iconComponent>"u"?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$2,vue.toDisplayString(fe.name),1)):vue.createCommentVNode("",!0)]),_:2},1040))),128))]),_:1},16,["height"])]),_:1})]),_:1},8,["designer","widget"])]),_:1})]),_:1},8,["designer","widget","parentWidget"])}const VxeGridWidget=_export_sfc(_sfc_main$3,[["render",_sfc_render$2],["__scopeId","data-v-ee994d8d"]]),_sfc_main$2={name:"form-widget",componentName:"FromWidget",mixins:[containerMixin],inject:[],components:{ContainerWrapper,StaticContentWrapper,draggable:draggableComponent},props:{widget:Object,designer:Object,parentWidget:Array},data(){return{formColumns:[],editRules:[]}},computed:{btnRender(){return G=>({name:"ElButton",props:{autoInsertSpace:!0,content:G.name,icon:G.iconComponent,nativeType:"submit",size:"default",type:G.viewType}})},computeSpan(){return G=>G.dataType==="EDITOR"||G.dataType==="TEXT"?24:G.fwidth?Number(G.fwidth)>24?24:Number(G.fwidth):12},toolbarConfig(){return this.widget.gridData.type=="FORM"?this.widget.gridData.toolbarConfig.buttons.filter(G=>G.type!="DELETE"&&G.type!="EDIT"):this.widget.gridData.toolbarConfig.buttons}},watch:{"widget.gridData.columns":{handler(G){this.formColumns=G},deep:!0},"widget.gridData.toolbarConfig":{handler(G){G.buttons.forEach(H=>{H.hasOwnProperty("buttonRender")||(H.buttonRender={name:"ElButton",props:{size:"default",type:H.viewType,style:H.css,icon:H.icon,iconComponent:H.iconComponent,round:H.shape==="round",circle:H.shape==="circle",shape:H.shape},events:{}})})},deep:!0,immediate:!0}},created(){this.formColumns=this.widget.gridData.columns,this.editRules=this.widget.gridData.editRules,this.widget.gridData.toolbarConfig.buttons.forEach(G=>{G.hasOwnProperty("buttonRender")||(G.buttonRender={name:"ElButton",props:{size:"default",type:G.viewType,style:G.css,icon:G.icon,iconComponent:G.iconComponent,round:G.shape==="round",circle:G.shape==="circle",shape:G.shape},events:{}})})},mounted(){},methods:{checkFieldMove(G){return this.designer.checkFieldMove(G)},onDragFormAdd(G){let H=G.item._underlying_vm_;if(H.itemRender){for(let K in this.designer.designerConfig)this.designer.designerConfig[K].fieldConfig&&this.designer.designerConfig[K].fieldConfig[H.id]&&K!=this.widget.id&&(this.designer.designerConfig[this.widget.id].fieldConfig[H.id]=deepClone$1(this.designer.designerConfig[K].fieldConfig[H.id]),delete this.designer.designerConfig[K].fieldConfig[H.id]);this.designer.emitHistoryChange();return}let X;this.formColumns.forEach((K,Z)=>{K.id==H.id&&(X=Z)});let Q=this.addFormItemConfig(H);Q=this.switchFieldType(H,Q),this.formColumns.splice(X,1,Q),this.designer.newWidgetInitConfig(this.widget.gridData.id,"fieldConfig",Q),this.designer.emitHistoryChange()}}},_hoisted_1$2={class:"toolBar-title"},_hoisted_2$1={key:1,class:"no-widget-hint"};function _sfc_render$1(G,H,X,Q,K,Z){const ee=vue.resolveComponent("el-col"),te=vue.resolveComponent("vxe-form-item"),ne=vue.resolveComponent("vxe-form"),re=vue.resolveComponent("StaticContentWrapper"),oe=vue.resolveComponent("draggable"),ae=vue.resolveComponent("container-wrapper");return vue.openBlock(),vue.createBlock(ae,{designer:X.designer,widget:X.widget,parentWidget:X.parentWidget},{default:vue.withCtx(()=>[vue.createVNode(ee,{class:"grid-cell"},{default:vue.withCtx(()=>[vue.createVNode(ae,{designer:X.designer,widget:X.widget.gridData,height:X.widget.height},{default:vue.withCtx(()=>[Z.toolbarConfig.length>0&&Z.toolbarConfig[0].buttonRender&&Z.toolbarConfig[0].buttonRender.name=="toolBarTitle"?(vue.openBlock(),vue.createBlock(ee,{key:0,class:"grid-cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$2,vue.toDisplayString(Z.toolbarConfig[0].name),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(ee,{class:"grid-cell"},{default:vue.withCtx(()=>[vue.createVNode(oe,vue.mergeProps({list:K.formColumns,"item-key":"id"},{group:"dragGroup",ghostClass:"ghost",animation:300},{"component-data":{name:"fade",class:"transition-group field formBtnConfig el-row"},handle:".drag-handler",tag:"div",onAdd:Z.onDragFormAdd,move:Z.checkFieldMove}),{item:vue.withCtx(({element:se})=>[se.type!=="seq"&&se.type!=="checkbox"&&se.fixed!=="left"&&se.dataType!=="ID"&&se.displayForm?(vue.openBlock(),vue.createBlock(ee,{key:0,class:"grid-cell",span:Z.computeSpan(se)},{default:vue.withCtx(()=>[vue.createVNode(re,{designer:X.designer,field:se,parentWidget:K.formColumns,rootWidgetId:X.widget.id},{default:vue.withCtx(()=>[vue.createVNode(ne,{rules:K.editRules,"title-align":"right","title-width":"120"},{default:vue.withCtx(()=>[vue.createVNode(te,{field:se.field,title:se.title,"title-overflow":"tooltip","item-render":se.itemRender,"title-prefix":se.titlePrefix,style:vue.normalizeStyle(se.style)},null,8,["field","title","item-render","title-prefix","style"])]),_:2},1032,["rules"])]),_:2},1032,["designer","field","parentWidget","rootWidgetId"])]),_:2},1032,["span"])):vue.createCommentVNode("",!0)]),_:1},16,["list","onAdd","move"])]),_:1}),vue.createVNode(ee,{class:"grid-cell"},{default:vue.withCtx(()=>[vue.createVNode(oe,vue.mergeProps({list:Z.toolbarConfig,"item-key":"id"},{group:"dragGroup",ghostClass:"ghost",animation:300},{"component-data":{name:"fade",class:"transition-group field toolbar"},handle:".drag-handler",tag:"div",onAdd:G.onDragToolbarAdd,move:Z.checkFieldMove}),{item:vue.withCtx(({element:se})=>[!se.buttonRender||se.buttonRender&&se.buttonRender.name!="toolBarTitle"?(vue.openBlock(),vue.createBlock(re,{key:0,designer:X.designer,field:se,parentWidget:Z.toolbarConfig,rootWidgetId:X.widget.id},{default:vue.withCtx(()=>[vue.createVNode(ne,null,{default:vue.withCtx(()=>[vue.createVNode(te,{"item-render":Z.btnRender(se),visible:se.code!=null},null,8,["item-render","visible"])]),_:2},1024)]),_:2},1032,["designer","field","parentWidget","rootWidgetId"])):vue.createCommentVNode("",!0)]),_:1},16,["list","onAdd","move"])]),_:1}),K.formColumns.length===0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1," 请从左侧列表中选择基础字段, 然后用鼠标拖动组件放置于此处 ")):vue.createCommentVNode("",!0)]),_:1},8,["designer","widget","height"])]),_:1})]),_:1},8,["designer","widget","parentWidget"])}const VxeFormWidget=_export_sfc(_sfc_main$2,[["render",_sfc_render$1],["__scopeId","data-v-02ba7b3e"]]),_sfc_main$1={name:"grid-layout-wrapper",componentName:"GridLayouWrapper",mixins:[containerMixin],inject:{},components:{ContainerWrapper,VxeGridWidget,VxeFormWidget,draggable:draggableComponent,WindowGrid:vue.defineAsyncComponent(()=>Promise.resolve().then(()=>index$1))},props:{widget:Object,designer:Object},data(){return{}},computed:{},watch:{widget:{handler(G){G.child.length>0&&G.child.findIndex(X=>X.isActive)<0&&(G.child[0].isActive=!0)},immediate:!0,deep:!0}},created(){},mounted(){},methods:{selectTabpane(G){this.widget.child.forEach(H=>{delete H.isActive,H.id==G&&(H.isActive=!0)})},onDragAdd(G){let H=G.item._underlying_vm_;this.designer.newWidgetInitConfig(this.widget.id,"layout",H)},onDragUpdate(){},onMove(G){return this.designer.checkWidgetMove(G)}}},_hoisted_1$1={key:0,class:"no-widget-hint"},_hoisted_2={key:2,class:"el-tabs el-tabs--tops"},_hoisted_3={class:"el-tabs__header"},_hoisted_4={class:"transition-group-el"},_hoisted_5=["onClick"],_hoisted_6={key:0,class:"el-tabs__content"};function _sfc_render(G,H,X,Q,K,Z){const ee=vue.resolveComponent("WindowGrid"),te=vue.resolveComponent("draggable"),ne=vue.resolveComponent("el-col"),re=vue.resolveComponent("container-wrapper");return vue.openBlock(),vue.createBlock(re,{designer:X.designer,widget:X.widget},{default:vue.withCtx(()=>[vue.createVNode(ne,{class:"grid-cell"},{default:vue.withCtx(()=>[X.widget.child.length===0&&X.widget.gridData==null?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,"请从左侧列表中选择一个高级组件, 然后用鼠标拖动组件放置于此处")):vue.createCommentVNode("",!0),X.widget.mode=="horizontal"||X.widget.mode==="vertical"?(vue.openBlock(),vue.createBlock(ee,{key:1,preViewData:X.widget,designer:X.designer},null,8,["preViewData","designer"])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2,[vue.createElementVNode("div",_hoisted_3,[vue.createElementVNode("div",{class:vue.normalizeClass(["el-tabs__nav-wrap",{hideAfter:X.widget.child.length==0}])},[vue.createVNode(te,{list:X.widget.child,"item-key":"id","ghost-class":"ghost",group:"dragGroup",animation:"300",tag:"div","component-data":{name:"fade",class:"transition-group container tabpane-label"},handle:".drag-handler",onAdd:Z.onDragAdd,move:Z.onMove},{item:vue.withCtx(({element:oe})=>[vue.createElementVNode("div",_hoisted_4,[vue.createElementVNode("div",{class:vue.normalizeClass(["el-tabs__item",{"is-active":oe.isActive}]),onClick:vue.withModifiers(ae=>Z.selectTabpane(oe.id),["stop"])},vue.toDisplayString(oe.name),11,_hoisted_5)])]),_:1},8,["list","onAdd","move"])],2)]),X.widget.child.length>0?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6,[vue.createVNode(ee,{preViewData:X.widget,designer:X.designer},null,8,["preViewData","designer"])])):vue.createCommentVNode("",!0)]))]),_:1})]),_:1},8,["designer","widget"])}const GridLayouWrapper=_export_sfc(_sfc_main$1,[["render",_sfc_render],["__scopeId","data-v-02273c28"]]),_hoisted_1={class:"form-widget-list"},_sfc_main={__name:"index",props:{designer:Object,preViewData:Object},emits:["update:designer","update:preViewData"],setup(G,{emit:H}){const X=G,Q=H;let K=useVModel(X,"designer",Q),Z=useVModel(X,"preViewData",Q);const ee=vue.computed(()=>{let se="transition-group grid";return Z.value.mode==="horizontal"&&Z.value.child.length>0&&(se+=" horizontal"),{name:"fade",class:se}}),te=vue.computed(()=>{let se={};return Z.value.mode==="horizontal"&&Z.value.child.length>0&&(se={width:parseInt(100/Z.value.child.length)-.5+"%"}),se}),ne=se=>{let le=se.item._underlying_vm_;K.value.newWidgetInitConfig(Z.value.id,"layout",le)},re=se=>{K.value.emitHistoryChange()},oe=se=>K.value.checkWidgetMove(se),ae=se=>Z.value.mode=="tab"?!!se.isActive:!0;return(se,le)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createVNode(vue.unref(draggableComponent),{list:vue.unref(Z).child,"item-key":"id","ghost-class":"ghost",group:"dragGroup",animation:"300",tag:"div","component-data":ee.value,handle:".drag-handler",onAdd:ne,onUpdate:re,move:oe},{item:vue.withCtx(({element:ce})=>[vue.withDirectives(vue.createElementVNode("div",{class:"transition-group-el",style:vue.normalizeStyle(te.value)},[ce.gridData&&(ce.gridData.type==="GRID"||ce.gridData.type==="TREE"||ce.gridData.type==="TREE_STRUCTURE"||ce.gridData.type==="EDIT_GRID")?(vue.openBlock(),vue.createBlock(VxeGridWidget,{key:0,designer:vue.unref(K),widget:ce,parentWidget:vue.unref(Z).child},null,8,["designer","widget","parentWidget"])):ce.gridData&&ce.gridData.type==="FORM"?(vue.openBlock(),vue.createBlock(VxeFormWidget,{key:1,designer:vue.unref(K),widget:ce,parentWidget:vue.unref(Z).child},null,8,["designer","widget","parentWidget"])):ce.mode=="horizontal"||ce.mode==="vertical"||ce.mode=="tab"?(vue.openBlock(),vue.createBlock(GridLayouWrapper,{key:2,designer:vue.unref(K),widget:ce,parentWidget:vue.unref(Z).child},null,8,["designer","widget","parentWidget"])):vue.createCommentVNode("",!0)],4),[[vue.vShow,ae(ce)]])]),_:1},8,["list","component-data"])]))}},index=_export_sfc(_sfc_main,[["__scopeId","data-v-48225462"]]),index$1=Object.freeze(Object.defineProperty({__proto__:null,default:index},Symbol.toStringTag,{value:"Module"}));return index$2});