UNPKG

vxe-design

Version:

A PC-based visual designer based on Vxe UI, used for building zero-code and low-code platforms

1 lines 131 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue"),require("@vxe-ui/core"),require("xe-utils")):"function"==typeof define&&define.amd?define([,"@vxe-ui/core","xe-utils"],t):"object"==typeof exports?exports.VxeUIDesign=t(require("vue"),require("@vxe-ui/core"),require("xe-utils")):e.VxeUIDesign=t(e.Vue,e.VxeUI,e.XEUtils)}("undefined"!=typeof self?self:this,function(l,s,d){return function(){"use strict";var r={7860:function(e,t,r){var n;"undefined"!=typeof window&&(n=(n=window.document.currentScript)&&n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(r.p=n[1])},6963:function(e,t,r){r.r(t);var n,i=r(229),o={};for(n in i)"default"!==n&&(o[n]=function(e){return i[e]}.bind(0,n));r.d(t,o),t.default=i},229:function(e,t,r){r.r(t),r.d(t,{FlowDesign:function(){return o.TO},FlowView:function(){return a.YH},FormDesign:function(){return l.H9},FormView:function(){return s.co},ListDesign:function(){return d.RP},ListView:function(){return u.uO},VxeFlowDesign:function(){return o.KA},VxeFlowView:function(){return a.JF},VxeFormDesign:function(){return l.Cd},VxeFormView:function(){return s.Xz},VxeListDesign:function(){return d.uc},VxeListView:function(){return u.jM},install:function(){return p}});var n,i=r(4345),o=r(6539),a=r(7189),l=r(4370),s=r(7830),d=r(272),u=r(4293),m=r(2084),c={};for(n in m)["default","install"].indexOf(n)<0&&(c[n]=function(e){return m[e]}.bind(0,n));r.d(t,c);const g=[o.Ay,a.Ay,l.Ay,s.Ay,d.Ay,u.Ay];function p(t,e){(0,i.setConfig)(e),g.forEach(e=>t.use(e))}},6539:function(e,t,r){r.d(t,{TO:function(){return l},KA:function(){return a},Ay:function(){return u}});var t=r(4345),s=r(9274),n=r(6938),i=r(8871),d=r.n(i),o=(0,n.u)({name:"VxeFlowDesign",props:{},emits:[],setup(e,t){const r=t["slots"];var n=d().uniqueId();const i=(0,s.ref)();var o=(0,s.reactive)({});const a={refElem:i},l={};n={xID:n,props:e,context:t,reactData:o,getRefMaps:()=>a,getComputeMaps:()=>l};return n.renderVN=()=>{var e=r.default;return(0,s.h)("div",{ref:i,class:["vxe-flow-design"]},e?e({}):[])},n},render(){return this.renderVN()}});const a=Object.assign({},o,{install(e){e.component(o.name,o)}}),l=(t.VxeUI.dynamicApp&&t.VxeUI.dynamicApp.use(a),t.VxeUI.component(o),a);var u=a},7189:function(e,t,r){r.d(t,{YH:function(){return l},JF:function(){return a},Ay:function(){return u}});var t=r(4345),s=r(9274),n=r(6938),i=r(8871),d=r.n(i),o=(0,n.u)({name:"VxeFlowView",props:{},emits:[],setup(e,t){const r=t["slots"];var n=d().uniqueId();const i=(0,s.ref)();var o=(0,s.reactive)({});const a={refElem:i},l={};n={xID:n,props:e,context:t,reactData:o,getRefMaps:()=>a,getComputeMaps:()=>l};return n.renderVN=()=>{var e=r.default;return(0,s.h)("div",{ref:i,class:["vxe-flow-view"]},e?e({}):[])},n},render(){return this.renderVN()}});const a=Object.assign({},o,{install(e){e.component(o.name,o)}}),l=(t.VxeUI.dynamicApp&&t.VxeUI.dynamicApp.use(a),t.VxeUI.component(o),a);var u=a},4370:function(O,e,t){t.d(e,{H9:function(){return Ve},Cd:function(){return y},Ay:function(){return Ie}});var F=t(4345),U=(t(4114),t(9274)),e=t(6938),T=t(1465),W=t(1878),r=t(8871),E=t.n(r),w=t(65),j=(0,e.u)({props:{},emits:[],setup(){const a=(0,U.inject)("$xeFormDesign",null);if(!a)return()=>[];const o=a["reactData"],l=e=>{var t,r=e.currentTarget,n=e.dataTransfer,r=r.getAttribute("data-widget-name")||"";a.validWidgetUnique(r)?(t=a.createWidget(r),n&&n.setData("text/plain",r),o.sortWidget=null,o.dragWidget=t):e.preventDefault()},s=e=>{var t;e.preventDefault(),o.dragWidget&&(t=o.dragWidget,o.activeWidget=t,a.dispatchEvent("add-widget",{newWidget:t},e)),o.dragWidget=null,o.sortWidget=null},d=(e,t)=>{var r;a.validWidgetUnique(t)&&(r=o["widgetObjList"],t=a.createWidget(t),r.push(t),o.activeWidget=t,o.sortWidget=null,o.dragWidget=null,a.dispatchEvent("add-widget",{newWidget:t},e))},e=()=>{var e=o["widgetConfigs"];return e.map((i,e)=>{var{title:t,group:r}=i;return(0,U.h)("div",{key:e,class:"vxe-form-design--widget-group"},[(0,U.h)("div",{class:"vxe-form-design--widget-title"},r?(0,F.getI18n)("vxe.formDesign.widget.group."+r):""+(t||"")),(0,U.h)("div",{class:"vxe-form-design--widget-list",onDragover(e){{var t=i;const{widgetObjList:r,dragWidget:n}=o;n&&t.children.some(e=>e.name===n.name)&&(t=E().findTree(r,e=>e&&e.id===n.id,{children:"children"}))&&t.items.splice(t.index,1)}}},(e=>{const o=[];return e.children&&e.children.forEach((e,t)=>{const r=e["name"];var e=(0,W.bd)(r,a),n=F.renderer.get(r)||{},i=(0,W.Bc)(r),n=n.renderFormDesignWidgetItem;o.push((0,U.h)("div",{key:t,class:"vxe-form-design--widget-item"},(0,U.h)("div",{class:"vxe-form-design--widget-box","data-widget-name":r,title:e,draggable:!0,onDragstart:l,onDragend:s},n?(0,w.OW)(n({},{$formDesign:a})):[(0,U.h)("i",{class:["vxe-form-design--widget-item-icon",i&&i.icon||""]}),(0,U.h)("span",{class:"vxe-form-design--widget-item-name"},e),(0,U.h)("span",{class:"vxe-form-design--widget-item-add",onClick(e){d(e,r)}},[(0,U.h)("i",{class:(0,F.getIcon)().FORM_DESIGN_WIDGET_ADD})])])))}),o})(i))])})};return()=>(0,U.h)("div",{class:"vxe-form-design--widget"},e())}});const a=(0,e.u)({name:"FormDesignLayoutViewItem",props:{item:{type:Object,default:()=>({})},itemIndex:{type:Number,default:0},items:{type:Array,default:()=>[]}},emits:[],setup(a,{slots:l}){const s=F.VxeUI.getComponent("vxe-button"),d=(0,U.inject)("$xeFormDesign",null);if(!d)return()=>[];const u=d["reactData"],m=e=>{var t=u["widgetObjList"],e=e.currentTarget;const r=Number(e.getAttribute("data-widget-id"));e=E().findTree(t,e=>e&&e.id===r,{children:"children"});e&&(u.dragWidget=null,u.sortWidget=e.item)},c=()=>{u.activeWidget=u.sortWidget,u.sortWidget=null},g=e=>{const{widgetObjList:t,sortWidget:r}=u;var n=d.internalData,i=n["lastDragTime"];if(i&&i>Date.now()-300)e.preventDefault();else if(r){var o,i=e.currentTarget;e.preventDefault();const a=Number(i.getAttribute("data-widget-id"));a!==r.id&&(i=E().findTree(t,e=>e&&e.id===a,{children:"children"}))&&(o=E().findTree(t,e=>e&&e.id===r.id,{children:"children"}))&&(o.parent&&"row"===o.parent.name?o.items[o.index]=d.createEmptyWidget():o.items.splice(o.index,1),i.items.splice(i.index,0,o.item),n.lastDragTime=Date.now(),d.dispatchEvent("drag-widget",{widget:o.item},e))}};return()=>{var{dragWidget:e,activeWidget:t,sortWidget:r}=u;const n=a["item"];var i=n["name"],t=t&&t.id===n.id,o=l.default;return(0,U.h)("div",{key:n.id,"data-widget-id":n.id,draggable:!0,class:["vxe-form-design--preview-item","widget-"+E().kebabCase(i),{"is--active":t,"is--sort":r&&r.id===n.id,"is--drag":e&&e.id===n.id}],onDragstart:m,onDragend:c,onDragenter:g,onClick(e){var t;e=e,t=n,d.handleClickWidget(e,t)}},[(0,U.h)("div",{class:"vxe-form-design--preview-item-view vxe-form--item-row"},o?o({}):[]),t?(0,U.h)("div",{class:"vxe-form-design--preview-item-operate"},[(0,U.h)(s,{icon:(0,F.getIcon)().FORM_DESIGN_WIDGET_COPY,status:"primary",size:"mini",circle:!0,onClick(e){d.handleCopyWidget(e.$event,n)}}),(0,U.h)(s,{icon:(0,F.getIcon)().FORM_DESIGN_WIDGET_DELETE,status:"danger",size:"mini",circle:!0,onClick(e){d.handleRemoveWidget(e.$event,n)}})]):(0,U.createCommentVNode)()])}}});var b=t(9442),N=(0,e.u)({name:"FormDesignLayoutPreview",props:{},emits:[],setup(){const e=F.VxeUI.getComponent("vxe-form"),s=(0,U.inject)("$xeFormDesign",null);if(!s)return()=>[];const d=s["reactData"],r=e=>{const{widgetObjList:t,dragWidget:r}=d;r&&(e.preventDefault(),E().findTree(t,e=>e&&e.id===r.id,{children:"children"})||(d.sortWidget=r,t.push(r),s.dispatchEvent("drag-widget",{widget:r},e)))},n=e=>{e.preventDefault()};let u=Date.now();const i=e=>{const{widgetObjList:t,sortWidget:r}=d;var n,i,o,a,l;e.stopPropagation(),u>Date.now()-300?e.preventDefault():r&&!(0,b.H)(r)&&(n=E().findTree(t,e=>e.id===r.id,{children:"children"}))&&({item:i,index:o,items:a,parent:l}=n,l&&"row"===l.name?n.items[n.index]=s.createEmptyWidget():a.splice(o,1),t.unshift(i),u=Date.now(),s.dispatchEvent("drag-widget",{widget:i},e))},o=e=>{const{widgetObjList:t,sortWidget:r}=d;var n,i,o,a,l;e.stopPropagation(),u>Date.now()-300?e.preventDefault():r&&!(0,b.H)(r)&&(n=E().findTree(t,e=>e.id===r.id,{children:"children"}))&&({item:i,index:o,items:a,parent:l}=n,l&&"row"===l.name?n.items[n.index]=s.createEmptyWidget():a.splice(o,1),t.push(i),u=Date.now(),s.dispatchEvent("drag-widget",{widget:i},e))};return()=>{const t=d["widgetObjList"];return(0,U.h)("div",{class:"vxe-form-design--preview",onDragenter:r,onDragover:n},[(0,U.h)("div",{class:"vxe-form-design--preview-wrapper"},[(0,U.h)("div",{class:"vxe-form-design--preview-place-widget",onDragenter:i}),(0,U.h)(e,{customLayout:!0,span:24,vertical:!0},{default(){return(0,U.h)(U.TransitionGroup,{class:"vxe-form-design--preview-list",tag:"div",name:"vxe-form-design--preview-list"},{default:()=>t.map((n,e)=>(0,U.h)(a,{key:n.id,item:n,itemIndex:e,items:t},{default(){var e=n["name"],e=F.renderer.get(e)||{},e=e.renderFormDesignWidgetEdit||e.renderFormDesignWidgetView,t=n,r={widget:n,readonly:!1,disabled:!1,isEditMode:!0,isViewMode:!1,$formDesign:s,$formView:null};return e?(0,w.OW)(e(t,r)):[]}}))})}}),(0,U.h)("div",{class:"vxe-form-design--preview-place-widget",onDragenter:o})])])}}});const l=(0,e.u)({name:"DefaultSettingForm",props:{formData:{type:Object,default:()=>({})}},emits:[],setup(e){const t=F.VxeUI.getComponent("vxe-form"),n=F.VxeUI.getComponent("vxe-form-item"),i=F.VxeUI.getComponent("vxe-switch"),o=F.VxeUI.getComponent("vxe-text");var r=(0,U.inject)("$xeFormDesign",null);if(!r)return()=>[];const a=r["props"];return()=>{const r=e["formData"];return(0,U.h)(t,{data:r,span:24,vertical:!0,titleBold:!0},{default(){var{showPc:e,showMobile:t}=a;return[(0,U.h)(n,{title:(0,F.getI18n)("vxe.formDesign.formName"),field:"title",itemRender:{name:"VxeInput",props:{placeholder:(0,F.getI18n)("vxe.formDesign.defFormTitle")}}}),e&&t?(0,U.h)(n,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.displaySetting.name")},{default(){return[(0,U.h)("div",{class:"vxe-form-design--widget-form-item-devices"},[(0,U.h)("div",{class:"vxe-form-design--widget-form-item-pc"},[(0,U.h)(o,{icon:(0,F.getIcon)().FORM_DESIGN_PROPS_PC,content:(0,F.getI18n)("vxe.formDesign.widgetProp.displaySetting.pc")}),(0,U.h)(i,{modelValue:r.pcVisible,openLabel:(0,F.getI18n)("vxe.formDesign.widgetProp.displaySetting.visible"),closeLabel:(0,F.getI18n)("vxe.formDesign.widgetProp.displaySetting.hidden"),"onUpdate:modelValue"(e){r.pcVisible=e}})]),(0,U.h)("div",{class:"vxe-form-design--widget-form-item-mobile"},[(0,U.h)(o,{icon:(0,F.getIcon)().FORM_DESIGN_PROPS_MOBILE,content:(0,F.getI18n)("vxe.formDesign.widgetProp.displaySetting.mobile")}),(0,U.h)(i,{modelValue:r.mobileVisible,openLabel:(0,F.getI18n)("vxe.formDesign.widgetProp.displaySetting.visible"),closeLabel:(0,F.getI18n)("vxe.formDesign.widgetProp.displaySetting.hidden"),"onUpdate:modelValue"(e){r.mobileVisible=e}})])])]}}):(0,U.createCommentVNode)()]}})}}});var _=(0,e.u)({name:"FormDesignLayoutSetting",props:{},emits:[],setup(){const e=F.VxeUI.getComponent("vxe-tabs"),t=F.VxeUI.getComponent("vxe-tab-pane"),r=(0,U.inject)("$xeFormDesign",null);if(!r)return()=>[];const{props:n,reactData:i}=r,o=(0,U.ref)(1);return(0,U.watch)(()=>i.activeWidget,()=>{o.value=1}),()=>(0,U.h)("div",{class:"vxe-form-design--setting"},[(0,U.h)("div",{class:"vxe-form-design--setting-form"},[(0,U.h)(e,{modelValue:o.value,titleWidth:"50%",titleAlign:"center",padding:!0,class:"vxe-form-design--setting-form-tabs","onUpdate:modelValue"(e){o.value=e}},{default(){return[(0,U.h)(t,{title:(0,F.getI18n)("vxe.formDesign.widgetPropTab"),name:1},{default(){var e=i["activeWidget"];if(e){var t=F.renderer.get(e.name),t=t?t.renderFormDesignWidgetFormView:null;if(t)return(0,U.h)("div",{class:"vxe-form-design--custom-widget-form-view"},(0,w.OW)(t(e,{isEditMode:!0,isViewMode:!1,widget:e,$formDesign:r,$formView:null})))}return(0,U.createCommentVNode)()}}),(0,U.h)(t,{title:(0,F.getI18n)("vxe.formDesign.widgetFormTab"),name:2},{default(){var e=n["formRender"],t=i["formData"];if(e){e=F.renderer.get(e.name),e=e?e.renderFormDesignSettingFormView:null;if(e)return(0,U.h)("div",{class:"vxe-form-design--custom-setting-form-view"},(0,w.OW)(e({},{$formDesign:r})))}return(0,U.h)(l,{formData:t})}})]}})])])}}),v=t(4592);const p=()=>[{label:(0,F.getI18n)("vxe.formDesign.styleSetting.fontNormal"),value:!1},{label:(0,F.getI18n)("vxe.formDesign.styleSetting.fontBold"),value:!0}],f=()=>[{label:(0,F.getI18n)("vxe.formDesign.styleSetting.colonVisible"),value:!0},{label:(0,F.getI18n)("vxe.formDesign.styleSetting.colonHidden"),value:!1}],h=()=>[{label:(0,F.getI18n)("vxe.formDesign.styleSetting.alignLeft"),value:""},{label:(0,F.getI18n)("vxe.formDesign.styleSetting.alignRight"),value:"right"}],x=()=>[{label:(0,F.getI18n)("vxe.formDesign.styleSetting.unitPx"),value:""},{label:(0,F.getI18n)("vxe.formDesign.styleSetting.unitPct"),value:"%"}],V=(e,t,r,n)=>{const i="vertical"===r;return(0,U.h)("div",{class:["vxe-form-design--widget-form-item-option","is--"+r,{"is--active":i?e[t]:!e[t]}],onClick(){e[t]=i,n()}},[(0,U.h)("div",{class:"vxe-form-design--widget-form-item-option-row"}),(0,U.h)("div",{class:"vxe-form-design--widget-form-item-option-row"}),(0,U.h)("div",{},i?(0,F.getI18n)("vxe.formDesign.styleSetting.verticalLayout"):(0,F.getI18n)("vxe.formDesign.styleSetting.horizontalLayout"))])},I=(0,e.u)({name:"DefaultPCStyleForm",props:{formData:{type:Object,default:()=>({})}},emits:[],setup(r){const e=F.VxeUI.getComponent("vxe-form"),n=F.VxeUI.getComponent("vxe-form-item"),i=F.VxeUI.getComponent("VxeInput"),o=F.VxeUI.getComponent("vxe-radio-group"),a=F.VxeUI.getComponent("vxe-select"),t=(0,U.inject)("$xeFormDesign",null),l="pcVertical",s=(0,U.ref)(p()),d=(0,U.ref)(f()),u=(0,U.ref)(h()),m=(0,U.ref)(x()),c=()=>{t&&t.refreshPreviewView()},g=()=>{var e=r["formData"];e.pcTitleWidth||(e.pcTitleWidth=100),c()};return()=>{const t=r["formData"];return(0,U.h)(e,{data:t,span:24,vertical:!0,titleBold:!0},{default(){return[(0,U.h)(n,{title:(0,F.getI18n)("vxe.formDesign.styleSetting.layoutTitle"),field:l},{default(){return[(0,U.h)("div",{class:"vxe-form-design--widget-form-item-layout"},[V(t,l,"vertical",g),V(t,l,"horizontal",g)])]}}),(0,U.h)(n,{title:(0,F.getI18n)("vxe.formDesign.styleSetting.styleTitle")},{default(){return[(0,U.h)("div",{class:"vxe-form-design--widget-form-item-prop-list"},[(0,U.h)("span",{},(0,F.getI18n)("vxe.formDesign.styleSetting.boldTitle")),(0,U.h)(o,{modelValue:t.pcTitleBold,options:s.value,onChange:c,"onUpdate:modelValue"(e){t.pcTitleBold=e}})]),(0,U.h)("div",{class:"vxe-form-design--widget-form-item-prop-list"},[(0,U.h)("span",{},(0,F.getI18n)("vxe.formDesign.styleSetting.colonTitle")),(0,U.h)(o,{modelValue:t.pcTitleColon,options:d.value,onChange:c,"onUpdate:modelValue"(e){t.pcTitleColon=e}})]),t.pcVertical?(0,U.createCommentVNode)():(0,U.h)("div",{class:"vxe-form-design--widget-form-item-prop-list"},[(0,U.h)("span",{},(0,F.getI18n)("vxe.formDesign.styleSetting.alignTitle")),(0,U.h)(o,{modelValue:t.pcTitleAlign,options:u.value,onChange:c,"onUpdate:modelValue"(e){t.pcTitleAlign=e}})]),t.pcVertical?(0,U.createCommentVNode)():(0,U.h)("div",{class:"vxe-form-design--widget-form-item-prop-list"},[(0,U.h)("span",{},(0,F.getI18n)("vxe.formDesign.styleSetting.widthTitle")),(0,U.h)(i,{class:"vxe-form-design--widget-form-item-prop-width",modelValue:t.pcTitleWidth,type:"integer",onChange:c,"onUpdate:modelValue"(e){t.pcTitleWidth=e}}),(0,U.h)(a,{class:"vxe-form-design--widget-form-item-prop-unit",modelValue:t.pcTitleWidthUnit,options:m.value,transfer:!0,onChange:c,"onUpdate:modelValue"(e){t.pcTitleWidthUnit=e}})])]}})]}})}}}),C=(0,e.u)({name:"DefaultMobileStyleForm",props:{formData:{type:Object,default:()=>({})}},emits:[],setup(r){const e=F.VxeUI.getComponent("vxe-form"),n=F.VxeUI.getComponent("vxe-form-item"),i=F.VxeUI.getComponent("VxeInput"),o=F.VxeUI.getComponent("vxe-radio-group"),a=F.VxeUI.getComponent("vxe-select"),t=(0,U.inject)("$xeFormDesign",null),l="mobileVertical",s=(0,U.ref)(p()),d=(0,U.ref)(f()),u=(0,U.ref)(h()),m=(0,U.ref)(x()),c=()=>{t&&t.refreshPreviewView()},g=()=>{var e=r["formData"];e.mobileTitleWidth||(e.mobileTitleWidth=100),c()};return()=>{const t=r["formData"];return(0,U.h)(e,{data:t,span:24,vertical:!0,titleBold:!0},{default(){return[(0,U.h)(n,{title:(0,F.getI18n)("vxe.formDesign.styleSetting.layoutTitle"),field:l},{default(){return[(0,U.h)("div",{class:"vxe-form-design--widget-form-item-layout"},[V(t,l,"vertical",g),V(t,l,"horizontal",g)])]}}),(0,U.h)(n,{title:(0,F.getI18n)("vxe.formDesign.styleSetting.styleTitle")},{default(){return[(0,U.h)("div",{class:"vxe-form-design--widget-form-item-prop-list"},[(0,U.h)("span",{},(0,F.getI18n)("vxe.formDesign.styleSetting.boldTitle")),(0,U.h)(o,{modelValue:t.mobileTitleBold,options:s.value,onChange:c,"onUpdate:modelValue"(e){t.mobileTitleBold=e}})]),(0,U.h)("div",{class:"vxe-form-design--widget-form-item-prop-list"},[(0,U.h)("span",{},(0,F.getI18n)("vxe.formDesign.styleSetting.colonTitle")),(0,U.h)(o,{modelValue:t.mobileTitleColon,options:d.value,onChange:c,"onUpdate:modelValue"(e){t.mobileTitleColon=e}})]),t.mobileVertical?(0,U.createCommentVNode)():(0,U.h)("div",{class:"vxe-form-design--widget-form-item-prop-list"},[(0,U.h)("span",{},(0,F.getI18n)("vxe.formDesign.styleSetting.alignTitle")),(0,U.h)(o,{modelValue:t.mobileTitleAlign,options:u.value,onChange:c,"onUpdate:modelValue"(e){t.mobileTitleAlign=e}})]),t.mobileVertical?(0,U.createCommentVNode)():(0,U.h)("div",{class:"vxe-form-design--widget-form-item-prop-list"},[(0,U.h)("span",{},(0,F.getI18n)("vxe.formDesign.styleSetting.widthTitle")),(0,U.h)(i,{class:"vxe-form-design--widget-form-item-prop-width",modelValue:t.mobileTitleWidth,type:"integer",onChange:c,"onUpdate:modelValue"(e){t.mobileTitleWidth=e}}),(0,U.h)(a,{class:"vxe-form-design--widget-form-item-prop-unit",modelValue:t.mobileTitleWidthUnit,options:m.value,transfer:!0,onChange:c,"onUpdate:modelValue"(e){t.mobileTitleWidthUnit=e}})])]}})]}})}}});var R=t(3937),k=(0,e.u)({name:"FormDesignLayoutStyle",props:{},emits:[],setup(){const e=F.VxeUI.getComponent("vxe-modal"),n=F.VxeUI.getComponent("vxe-tabs"),i=F.VxeUI.getComponent("vxe-tab-pane"),r=(0,U.inject)("$xeFormDesign",null),o=(0,U.reactive)({activeTab:1});var t={reactData:o,renderVN(){return[]}};if(r){const{props:l,reactData:s}=r,d=(0,U.ref)(!1),u=(0,U.ref)(null),m=(0,U.ref)({}),c=()=>{u.value=r.getConfig()},g=e=>{var t=e["viewRender"],r=o["activeTab"],t=(t||{})["name"],t=F.renderer.get(t)||{},n=t?t.createFormViewFormConfig:null,t=t?t.createFormViewMobileFormConfig:null;return(2===r?t||R.rC:n||R.w$)(e)};var a={updatePreviewView:c,openStylePreview(){var e=l["showPc"];c(),o.activeTab=e?1:2,d.value=!0}};Object.assign(t,a);const p=()=>{var e=l["formRender"],t=s["formData"];if(e){e=F.renderer.get(e.name),e=e?e.renderFormDesignMobileStyleFormView:null;if(e)return(0,U.h)("div",{class:"vxe-form-design--custom-setting-mobile-form-view"},(0,w.OW)(e({},{$formDesign:r,formConfig:t})))}return(0,U.h)(C,{formData:t})},f=()=>{var e=l["formRender"],t=s["formData"];if(e){e=F.renderer.get(e.name),e=e?e.renderFormDesignStyleFormView:null;if(e)return(0,U.h)("div",{class:"vxe-form-design--custom-setting-pc-form-view"},(0,w.OW)(e({},{$formDesign:r,formConfig:t})))}return(0,U.h)(I,{formData:t})};t.renderVN=()=>{const{showPc:t,showMobile:r}=l;return(0,U.h)(e,{modelValue:d.value,title:(0,F.getI18n)("vxe.formDesign.styleSetting.title"),height:"90vh",width:"90vw",escClosable:!0,maskClosable:!0,destroyOnClose:!0,showMaximize:!0,transfer:!0,"onUpdate:modelValue"(e){d.value=e}},{default(){return(0,U.h)("div",{class:"vxe-form-design--layout-style"},[(e=o.activeTab,(0,U.h)("div",{class:["vxe-form-design--layout-style-preview","is--"+(2===e?"mobile":"pc")]},[(0,U.h)(v.A,{modelValue:m.value,config:u.value,createFormConfig:g,"onUpdate:modelValue"(e){m.value=e}})])),(t||r?()=>{const{showPc:t,showMobile:r}=l;var e=o["activeTab"];return(0,U.h)("div",{class:"vxe-form-design--layout-style-setting"},[(0,U.h)(n,{modelValue:e,titleWidth:t&&r?"50%":"100%",titleAlign:"center",padding:!0,onChange:c,"onUpdate:modelValue"(e){o.activeTab=e}},{default(){var e=[];return t&&e.push((0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.displaySetting.pc"),icon:(0,F.getIcon)().FORM_DESIGN_PROPS_PC,k:1,name:1},{default(){return f()}})),r&&e.push((0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.displaySetting.mobile"),icon:(0,F.getIcon)().FORM_DESIGN_PROPS_MOBILE,key:2,name:2},{default(){return p()}})),e}})])}:(0,U.createCommentVNode))()]);var e}})},(0,U.provide)("$xeFormDesignLayoutStyle",t)}return t},render(){return this.renderVN()}}),n=(0,e.u)({name:"VxeFormDesign",props:{size:{type:String,default:()=>(0,F.getConfig)().formDesign.size||(0,F.getConfig)().size},config:Object,height:{type:[String,Number],default:()=>(0,F.getConfig)().formDesign.height},widgets:{type:Array,default:()=>E().clone((0,F.getConfig)().formDesign.widgets)||[]},showHeader:{type:Boolean,default:()=>(0,F.getConfig)().formDesign.showHeader},showPc:{type:Boolean,default:()=>(0,F.getConfig)().formDesign.showPc},showMobile:{type:Boolean,default:()=>(0,F.getConfig)().formDesign.showMobile},formRender:Object},emits:["click-widget","add-widget","copy-widget","remove-widget","drag-widget"],setup(s,e){const o=F.VxeUI.getComponent("vxe-button"),{emit:n,slots:a}=e;var t=E().uniqueId();const l=(0,U.ref)(),d=(0,U.ref)(),u=(0,F.useSize)(s)["computeSize"],m=(0,U.reactive)({formData:{},widgetConfigs:[],widgetObjList:[],dragWidget:null,sortWidget:null,activeWidget:null});var r=(0,U.reactive)({});const i={refElem:l},c={computeSize:u},g={xID:t,props:s,context:e,reactData:m,internalData:r,getRefMaps:()=>i,getComputeMaps:()=>c},p=e=>new W.Ne(g,e,m.widgetObjList),f=()=>new W.Ne(g,"",m.widgetObjList),v=e=>{var t;e&&({formConfig:e,widgetData:t}=e,e&&x(e),t)&&b(t);const{activeWidget:r,widgetObjList:n}=m;return r?(e=E().findTree(n,e=>e.id===r.id,{children:"children"}),m.activeWidget=e?e.item:n[0]||null):m.activeWidget=n[0]||null,(0,U.nextTick)()};const h=()=>E().clone(m.formData,!0),x=e=>(m.formData=Object.assign({},O(),e),(0,U.nextTick)());const w=()=>{var e=E().clone(m.widgetObjList,!0);return E().eachTree(e,e=>{e.model.value=null},{children:"children"}),e},b=e=>(m.widgetObjList=(e||[]).map(e=>(0,W.Kz)(e)),(0,U.nextTick)()),V=()=>{var e=d.value;return e&&e.openStylePreview(),(0,U.nextTick)()},I=()=>(m.widgetObjList=[],P(),(0,U.nextTick)()),C={dispatchEvent(e,t,r){n(e,(0,F.createEvent)(r,{$xeFormDesign:g},t))},createWidget:p,createEmptyWidget:f,getConfig(){return{formConfig:h(),widgetData:w()}},clearConfig:I,loadConfig:v,reloadConfig:e=>(I(),v(e)),getFormConfig:h,loadFormConfig:x,getWidgetById:e=>{var t=m["widgetObjList"];if(e){const r=E().toNumber(e);e=E().findTree(t,e=>e&&e.id===r,{children:"children"});if(e)return e.item}return null},getFormData(){var e=m["widgetObjList"];const t={};return E().eachTree(e,e=>{t[e.field]=null},{children:"children"}),t},getWidgetData:w,loadWidgetData:b,refreshPreviewView(){var e=d.value;return e&&e.updatePreviewView(),(0,U.nextTick)()},openStyleSetting:V},D=()=>{var e=s["widgets"],t=[];const i=[],o=[],a=[],l=[];F.renderer.forEach((e,t)=>{e=e.createFormDesignWidgetConfig;if(e){var r=p(t),e=(0,W.Bc)(t);const n=(0,W.Zm)(t,g);if(n){t=l.find(e=>e.title===n);t?t.children.push(r):l.push({title:n,children:[r]})}else switch(e.group){case"layout":o.push(r);break;case"advanced":a.push(r);break;default:["title"].includes(r.name)||i.push(r)}}}),i.length&&t.push({group:"base",children:i}),o.length&&t.push({group:"layout",children:o}),a.length&&t.push({group:"advanced",children:a}),l.length&&t.push(...l),e&&e.length?m.widgetConfigs=s.widgets.map(e=>({title:e.customGroup,group:e.group,children:e.children?e.children.map(e=>{return p(e)}):[]})):m.widgetConfigs=t},y=t=>{var e=m["widgetObjList"];if((0,W.Bc)(t).unique){const r=[];E().eachTree(e,e=>{e.name===t&&r.push(e)},{children:"children"});e=r.length<1;return e||F.VxeUI.modal&&F.VxeUI.modal.message({content:(0,F.getI18n)("vxe.formDesign.error.wdFormUni"),status:"error",id:"wdFormUni"}),e}return!0};t={validWidgetUnique:y,handleClickWidget(e,t){t&&t.name&&(e.stopPropagation(),m.activeWidget=t,C.dispatchEvent("click-widget",{widget:t},e))},handleCopyWidget(e,t){var r,n=m["widgetObjList"],i=E().findTree(n,e=>e.id===t.id,{children:"children"});i&&(e.stopPropagation(),y(t.name))&&(i=i["path"],i=Number(i[0]),(r=p(t.name)).title&&(r.title=(0,F.getI18n)("vxe.formDesign.widget.copyTitle",[(""+t.title).replace((0,F.getI18n)("vxe.formDesign.widget.copyTitle",[""]),"")])),i>=n.length-1?n.push(r):n.splice(i+1,0,r),m.activeWidget=r,m.widgetObjList=[...n],C.dispatchEvent("copy-widget",{widget:t,newWidget:r},e))},handleRemoveWidget(e,t){var r,n,i=m["widgetObjList"],o=E().findTree(i,e=>e.id===t.id,{children:"children"});o&&({index:o,parent:r,items:n}=o,e.stopPropagation(),o>=n.length-1?m.activeWidget=n[o-1]:m.activeWidget=n[o+1]||null,r&&"row"===r.name?n[o]=f():n.splice(o,1),m.widgetObjList=[...i],C.dispatchEvent("remove-widget",{widget:t},e))}};const O=()=>{var{formRender:e,showPc:t,showMobile:r}=s;let n=(0,R.Ik)({pcVisible:t,mobileVisible:r});return e&&(r=(t=F.renderer.get(e.name))?t.createFormDesignSettingFormConfig:null,n=(r?r({}):{})||{}),n},P=()=>{m.formData=O()},S=()=>{V()};Object.assign(g,C,t);return g.renderVN=()=>{var{height:e,showHeader:t}=s,r=u.value,n=a.header,i=a.footer;return(0,U.h)("div",{ref:l,class:["vxe-form-design",{["size--"+r]:r}],style:e?{height:(0,T.rx)(e)}:null},[t||n?(0,U.h)("div",{class:"vxe-form-design--header"},n?n({}):(r=a.title,e=a.titlePrefix||a["title-prefix"],t=a.titleSuffix||a["title-suffix"]||a.extra,(0,U.h)("div",{class:"vxe-form-design--header-wrapper"},[(0,U.h)("div",{class:"vxe-form-design--header-left"},e?e({}):[]),(0,U.h)("div",{class:"vxe-form-design--header-middle"},r?r({}):[]),(0,U.h)("div",{class:"vxe-form-design--header-right"},[t?(0,U.h)("div",{class:"vxe-form-design--header-extra"},t({})):(0,F.renderEmptyElement)(g),(0,U.h)("div",{class:"vxe-form-design--header-setting"},[(0,U.h)(o,{mode:"text",status:"primary",icon:(0,F.getIcon)().FORM_DESIGN_STYLE_SETTING,content:(0,F.getI18n)("vxe.formDesign.styleSetting.btn"),onClick:S})])])]))):(0,U.createCommentVNode)(),(0,U.h)("div",{class:"vxe-form-design--body"},[(0,U.h)(j),(0,U.h)(N),(0,U.h)(_),(0,U.h)(k,{ref:d})]),i?(0,U.h)("div",{class:"vxe-form-design--footer"},i?i({}):[]):(0,U.createCommentVNode)()])},(0,U.watch)(()=>s.widgets,()=>{D()}),(0,U.watch)(()=>s.widgets,()=>{D()}),(0,U.watch)(()=>s.config,e=>{v(e||{})}),P(),D(),s.config&&v(s.config),(0,U.provide)("$xeFormDesign",g),g},render(){return this.renderVN()}});function D(t){return{computeKebabCaseName:(0,U.computed)(()=>{var e=t["renderOpts"];return e?E().kebabCase(e.name):""})}}function d(l,e){const t=F.VxeUI.getComponent("vxe-form-item"),s=F.VxeUI.getComponent("vxe-button"),r=F.VxeUI.getComponent("vxe-textarea"),n=F.VxeUI.getComponent("vxe-tip");const a=Object.assign({},e).isSubOption,d=(0,U.ref)(""),u=(0,U.ref)([]),i=()=>{var e=l["renderParams"],e=e["widget"],t=e.options.options||[];t.push({value:(0,F.getI18n)("vxe.formDesign.widgetProp.dataSource.defValue",[t.length+1])}),e.options.options=[...t]},o=/^(\s|\t)+/,m=e=>o.test(e),c=()=>{var e=l["renderParams"],e=e["widget"],e=e.options.options||[];const r=[];e.forEach((e,t)=>{e=e.options;e&&e.length&&r.push(t)}),u.value=r},g=()=>{var e=l["renderParams"],e=e["widget"];const n=[],i=d.value.split("\n");let o=null;a?i.forEach((e,t)=>{var t=i[t+1],r=e.trim();if(r){r={value:r};if(o){if(m(e))return void o.options.push(r);o=null}n.push(r),t&&m(t)&&(o=Object.assign(r,{options:[]}))}}):i.forEach(e=>{n.push({value:e.trim()})}),e.options.options=n,c()},p=()=>{var e=l["renderParams"],e=e["widget"];const t=[];e.options.options?.forEach(e=>{t.push(e.value),e.options?.forEach(e=>{t.push(` `+e.value)})}),d.value=t.join("\n"),F.VxeUI.modal.open({title:e.title+" - "+(0,F.getI18n)("vxe.formDesign.widgetProp.dataSource.batchEditOption"),width:500,height:"50vh ",resize:!0,showFooter:!0,showCancelButton:!0,showConfirmButton:!0,confirmButtonText:(0,F.getI18n)("vxe.formDesign.widgetProp.dataSource.buildOption"),onConfirm:g,slots:{default(){return(0,U.h)("div",{class:"vxe-form-design--widget-form-item-data-source-popup"},[(0,U.h)(n,{status:"primary",title:"",content:(0,F.getI18n)("vxe.formDesign.widgetProp.dataSource."+(a?"batchEditSubTip":"batchEditTip"))}),(0,U.h)(r,{resize:"none",modelValue:d.value,"onUpdate:modelValue"(e){d.value=e}})])}}})},f=(n,i,e,r,t,o,a)=>{return(0,U.h)("div",{class:["vxe-form-design--widget-form-item-data-source-option",{"is--first":o,"is--last":a}]},[(0,U.h)("div",{class:"vxe-form-design--widget-expand-btn"},!i&&t?[(0,U.h)("i",{class:e?(0,F.getIcon)().FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:(0,F.getIcon)().FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN,onClick(){var t;t=r,u.value.includes(t)?u.value=u.value.filter(e=>e!==t):u.value.push(t)}})]:[]),(0,U.h)("input",{class:"vxe-default-input",value:n.value,onInput(e){n.value=e.target.value}}),(0,U.h)(s,{status:"danger",mode:"text",icon:(0,F.getIcon)().FORM_DESIGN_WIDGET_DELETE,onClick(){var t,e,r;t=n,e=i,r=(r=(r=l.renderParams).widget).options,e?e.options&&(e.options=e.options.filter(e=>e!==t)):r.options=r.options.filter(e=>e!==t)}})])},v=((0,U.watch)(()=>l.renderParams.widget,()=>{c()}),(0,U.onMounted)(()=>{c()}),()=>[(0,U.h)("div",{},[(0,U.h)(s,{status:"primary",mode:"text",content:(0,F.getI18n)("vxe.formDesign.widgetProp.dataSource.addOption"),onClick:i}),(0,U.h)(s,{status:"primary",mode:"text",content:(0,F.getI18n)("vxe.formDesign.widgetProp.dataSource.batchEditOption"),onClick:p})]),(0,U.h)("div",{class:"vxe-form-design--widget-form-item-data-source-wrapper"},(()=>{var e=l["renderParams"],e=e["widget"],e=e["options"];const i=e.options,o=[];return i&&i.forEach((t,e)=>{var r=t["options"];const n=u.value.includes(e);r&&r.length?(o.push(f(t,null,n,e,!0,0===e,e===i.length-1)),n&&o.push((0,U.h)("div",{class:"vxe-form-design--widget-form-item-data-source-sub-option"},r.map(e=>f(e,t,n,0,!1,!1,!1))))):o.push(f(t,null,n,e,!1,0===e,e===i.length-1))}),o})())]);return{renderDataSourceFormItem(){return(0,U.h)(t,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.dataSource.name"),field:"options"},{default(){return v()}})},renderDataSourceFormItemContent:v}}const i=e=>(0,F.getI18n)("vxe.formDesign.widget.component."+e),o=e=>i(e.name);r=()=>({title:o,icon:"vxe-icon-text",group:"layout",options:{color:"",align:"",bold:!1,fontSize:""}});const s=(0,e.u)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(r){const n=F.VxeUI.getComponent("vxe-form"),i=F.VxeUI.getComponent("vxe-form-item"),o=F.VxeUI.getComponent("vxe-input"),a=D(r)["computeKebabCaseName"],l=(0,U.ref)([{label:(0,F.getI18n)("vxe.formDesign.widgetProp.textProp.alignLeft"),value:""},{label:(0,F.getI18n)("vxe.formDesign.widgetProp.textProp.alignCenter"),value:"center"},{label:(0,F.getI18n)("vxe.formDesign.widgetProp.textProp.alignRight"),value:"right"}]),s=(0,U.ref)([{label:(0,F.getI18n)("vxe.formDesign.widgetProp.textProp.fontNormal"),value:!1},{label:(0,F.getI18n)("vxe.formDesign.widgetProp.textProp.fontBold"),value:!0}]),d=(0,U.ref)(E().range(12,27).map(e=>({label:e+"px",value:e+"px"})));return()=>{var e=r["renderParams"];const t=e["widget"];e=a.value;return(0,U.h)(n,{class:["vxe-form-design--widget-render-form-wrapper","widget-"+e],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default(){return[(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.textProp.name")},{default(){return(0,U.h)(o,{modelValue:t.title,"onUpdate:modelValue"(e){t.title=e}})}}),(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.textProp.boldTitle"),field:"bold",itemRender:{name:"VxeRadioGroup",options:s.value}}),(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.textProp.alignTitle"),field:"align",itemRender:{name:"VxeRadioGroup",options:l.value}}),(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.textProp.sizeTitle"),field:"fontSize",itemRender:{name:"VxeSelect",options:d.value}})]}})}}}),u=(0,e.u)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(n){const i=F.VxeUI.getComponent("vxe-form-item"),o=D(n)["computeKebabCaseName"];return()=>{var e=n["renderParams"];const t=e["widget"],r=t["options"];e=o.value;return(0,U.h)(i,{class:["vxe-form-design--widget-render-form-item","widget-"+e],align:r.align},{default(){return(0,U.h)("div",{style:{fontSize:r.fontSize,fontWeight:r.bold?"bold":""}},t.title)}})}}});const m=(0,e.u)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(s){const r=F.VxeUI.getComponent("vxe-form"),i=F.VxeUI.getComponent("vxe-form-item"),o=F.VxeUI.getComponent("vxe-row"),a=F.VxeUI.getComponent("vxe-col"),d=(0,U.inject)("$xeFormDesign",null);if(!d)return()=>[];const l=D(s)["computeKebabCaseName"],u=(0,U.ref)([{label:(0,F.getI18n)("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:(0,F.getI18n)("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:(0,F.getI18n)("vxe.formDesign.widgetProp.rowProp.col4"),value:4,list:[{value:"6,6,6,6",spans:[6,6,6,6]}]},{label:(0,F.getI18n)("vxe.formDesign.widgetProp.rowProp.col6"),value:6,list:[{value:"4,4,4,4,4,4",spans:[4,4,4,4,4,4]}]}]),m={18:"3/4",16:"2/3",12:"1/2",8:"1/3",6:"1/4",4:"1/6"},c=(0,U.computed)(()=>{var e=s["renderParams"],e=e["widget"];const t=e["options"];return u.value.find(e=>e.value===t.colSize)});return()=>{var e=s["renderParams"];const t=e["widget"],n=l.value;return(0,U.h)(r,{class:`vxe-form-design--widget-${n}-form`,vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default(){return[(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.rowProp.colSize"),field:"colSize",itemRender:{name:"VxeRadioGroup",options:u.value,props:{type:"button"}}}),(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.rowProp.layout")},{default(){var e=c.value;return e?e.list.map((l,r)=>(0,U.h)(o,{key:r,class:[`vxe-form-design--widget-${n}-form-row`,{"is--active":l.value===t.options.colSpan}],onClick(){{var e=l,t;const o=(t=s["renderParams"])["widget"];var t=o["options"],r,r=(r=d["reactData"])["widgetObjList"];const a=o.children.filter(e=>e.name);var n,i=a.slice(t.colSize);i.length&&(r=E().findTree(r,e=>e.id===o.id,{children:"children"}))&&({items:r,index:n}=r,n>=r.length-1?r.push(...i):r.splice(n+1,0,...i)),t.colSpan=e.value,o.children=E().range(0,t.colSize).map((e,t)=>a[t]||d.createEmptyWidget())}}},{default(){return l.spans.map((e,t)=>(0,U.h)(a,{key:""+r+t,class:`vxe-form-design--widget-${n}-form-col`,span:e},{default(){return(0,U.h)("div",{},""+m[e])}}))}})):[]}})]}})}}}),c=(0,e.u)({name:"ViewColItem",props:{parentWidget:{type:Object,default:()=>({})},widget:{type:Object,default:()=>({})},span:Number,colItemIndex:{type:Number,default:0}},emits:[],setup(m){const t=F.VxeUI.getComponent("vxe-form-item"),d=F.VxeUI.getComponent("vxe-button"),c=(0,U.inject)("$xeFormDesign",null);if(!c)return()=>[];const g=c["reactData"],u=e=>{e.stopPropagation();var t=e.currentTarget,e=e.dataTransfer,t=t.getAttribute("data-widget-id")||"",r=c.getWidgetById(t);e&&e.setData("text/plain",t),g.sortWidget=r,g.dragWidget=null},p=e=>{const{parentWidget:t,colItemIndex:r}=m,{widgetObjList:n,sortWidget:i}=g;var o=t.children[r],a=c.internalData;if(e.stopPropagation(),i&&t&&i.id!==t.id&&!(0,b.H)(i)&&!(0,b.H)(o)){var l=E().findTree(n,e=>e&&e.id===i.id,{children:"children"});if(l){var{item:l,index:s,items:d,parent:u}=l;if(t.children.length!==t.options.colSize&&(t.children=E().range(0,t.options.colSize).map(e=>t.children[e]||c.createEmptyWidget())),u&&u.id===t.id)t.children[r]=l,t.children[s]=o;else{if(o&&o.name)return;t.children[r]=l,d.splice(s,1)}e.preventDefault(),a.lastDragTime=Date.now(),c.dispatchEvent("drag-widget",{widget:l},e)}}};return()=>{const{widget:o,span:e}=m,{dragWidget:a,activeWidget:l,sortWidget:s}=g;return(0,U.h)(t,{span:e,padding:!1},{default(){var e=o?o.name:"",t=F.renderer.get(e)||{},t=t.renderFormDesignWidgetEdit||t.renderFormDesignWidgetView,e=o||{name:e},r={widget:o,readonly:!1,disabled:!1,isEditMode:!0,isViewMode:!1,$formDesign:c,$formView:null},n=l&&o&&l.id===o.id,i=!t;return(0,U.h)("div",{class:"vxe-form-design--widget-row-view","data-widget-id":o.id,draggable:!i,onDragstart:u,onDragenter:p,onClick(e){o&&c.handleClickWidget(e,o)}},[(0,U.h)("div",{class:["vxe-form-design--widget-row-view-item-inner",{"is--empty":i,"is--active":n,"is--sort":s&&o&&s.id===o.id,"is--drag":a&&o&&a.id===o.id}]},[t?(0,U.h)("div",{class:"vxe-form-design--widget-row-view-item-wrapper"},[(0,U.h)("div",{class:"vxe-form-design--widget-row-view-item-box vxe-form--item-row"},(0,w.OW)(t(e,r))),n?(0,U.h)("div",{class:"vxe-form-design--preview-item-operate"},[(0,U.h)(d,{icon:(0,F.getIcon)().FORM_DESIGN_WIDGET_COPY,status:"primary",size:"mini",circle:!0,onClick(e){c.handleCopyWidget(e.$event,o)}}),(0,U.h)(d,{icon:(0,F.getIcon)().FORM_DESIGN_WIDGET_DELETE,status:"danger",size:"mini",circle:!0,onClick(e){c.handleRemoveWidget(e.$event,o)}})]):(0,U.createCommentVNode)()]):(0,U.h)("div",{class:"vxe-form-design--widget-row-view-empty"},"控件位置")])])}})}}}),P=(0,e.u)({name:"WidgetRowEdit",props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(t){const n=F.VxeUI.getComponent("vxe-form-group"),i=(0,U.computed)(()=>{var e=t["renderParams"],e=e["widget"],e=e["options"],e=e["colSpan"];return(e?(""+e).split(","):[]).map(e=>Number(e))});return()=>{var e=t["renderParams"];const r=e["widget"];return(0,U.h)(n,{field:r.field},{default(){return i.value.map((e,t)=>(0,U.h)(c,{key:t,parentWidget:r,widget:r.children[t],span:e,colItemIndex:t}))}})}}}),S=(0,e.u)({name:"WidgetRowView",props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(r){const n=F.VxeUI.getComponent("vxe-row"),a=F.VxeUI.getComponent("vxe-col"),l=(0,U.inject)("$xeFormDesign",null),s=(0,U.inject)("$xeFormView",null),i=(0,U.computed)(()=>{var e=r["renderParams"],e=e["widget"],e=e["options"],e=e["colSpan"];return(e?(""+e).split(","):[]).map(e=>Number(e))});return()=>{var e=r["renderParams"];const o=e["widget"],t=i.value;return(0,U.h)(n,{},{default(){return t.map((e,i)=>(0,U.h)(a,{key:i,class:"vxe-form--item-row",span:e},{default(){var e=o.children[i];if(e){var t=e["name"],t=(F.renderer.get(t)||{}).renderFormDesignWidgetView,r=e,n=!!l,e={widget:e,readonly:!1,disabled:!1,isEditMode:n,isViewMode:!n,$formDesign:l,$formView:s};if(t)return(0,w.OW)(t(r,e))}return(0,U.createCommentVNode)()}}))}})}}});const L=(0,e.u)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(n){const i=F.VxeUI.getComponent("vxe-form"),o=F.VxeUI.getComponent("vxe-form-item"),a=F.VxeUI.getComponent("vxe-input"),l=F.VxeUI.getComponent("vxe-switch");if(!(0,U.inject)("$xeFormDesign",null))return()=>[];const s=D(n)["computeKebabCaseName"];return()=>{var e=n["renderParams"];const t=e["widget"],r=t["options"];e=s.value;return(0,U.h)(i,{class:`vxe-form-design--widget-${e}-form`,vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:r},{default(){return[(0,U.h)(o,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.name")},{default(){return(0,U.h)(a,{modelValue:t.title,"onUpdate:modelValue"(e){t.title=e}})}}),(0,U.h)(o,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.subtableProp.showCheckbox"),field:"showCheckbox"},{default(){return(0,U.h)(l,{modelValue:r.showCheckbox,"onUpdate:modelValue"(e){r.showCheckbox=e}})}})]}})}}}),B=(0,e.u)({props:{parentWidget:{type:Object,default:()=>({})},widget:{type:Object,default:()=>({})},childIndex:{type:Number,default:0}},emits:[],setup(m){const c=F.VxeUI.getComponent("vxe-form-item"),g=F.VxeUI.getComponent("vxe-button"),p=(0,U.inject)("$xeFormDesign",null),f=(0,U.inject)("$xeFormView",null);if(!p)return()=>[];const v=p["reactData"],h=e=>{e.stopPropagation();var t=e.currentTarget,e=e.dataTransfer,t=t.getAttribute("data-widget-id")||"",r=p.getWidgetById(t);e&&e.setData("text/plain",t),v.sortWidget=r,v.dragWidget=null},x=e=>{var{parentWidget:t,childIndex:r}=m;const{widgetObjList:n,sortWidget:i}=v;var o,a,l,s=t.children[r],d=p.internalData,u=d["lastDragTime"];e.stopPropagation(),u&&u>Date.now()-300?e.preventDefault():i&&s&&t&&(i.id===t.id||i.id===s.id||(0,b.H)(i)||s&&!(0,b.H)(s)&&(u=E().findTree(n,e=>e.id===i.id,{children:"children"}))&&({item:u,index:o,items:a,parent:l}=u,l&&l.id===t.id?(t.children[r]=u,t.children[o]=s):(t.children.splice(r,0,u),a.splice(o,1)),d.lastDragTime=Date.now(),p.dispatchEvent("drag-widget",{widget:u},e)))};return()=>{const t=m["widget"];var{dragWidget:e,activeWidget:r,sortWidget:n}=v,i=t?t.name:"",o=F.renderer.get(i)||{};const a=o.renderFormDesignWidgetSubtableEditView||o.renderFormDesignWidgetSubtableCellView||o.renderFormDesignWidgetSubtableDefaultView;var o=o.renderFormDesignWidgetEdit||o.renderFormDesignWidgetView,l=t||{name:i},s=!!p,s={widget:t,readonly:!1,disabled:!1,isEditMode:s,isViewMode:!s,$formDesign:p,$formView:f},r=r&&t&&r.id===t.id;const d={name:i},u={$table:null,$grid:null,seq:"",column:{field:t.field,title:t.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:t};return(0,U.h)("div",{class:["vxe-form-design--widget-subtable-view-item",{"is--active":r,"is--sort":n&&t&&n.id===t.id,"is--drag":e&&t&&e.id===t.id}],draggable:!0,"data-widget-id":t.id,onDragstart:h,onDragenter:x,onClick(e){t&&p.handleClickWidget(e,t)}},[(0,U.h)("div",{class:"vxe-form-design--widget-subtable-view-item-wrapper"},[(0,U.h)("div",{class:"vxe-form-design--widget-subtable-view-item-box vxe-form--item-row"},a?(0,U.h)(c,{class:["vxe-form-design--widget-render-form-item"],title:t.title,field:t.field,itemRender:{}},{default(){return(0,w.OW)(a(d,u))}}):o?(0,w.OW)(o(l,s)):[]),r?(0,U.h)("div",{class:"vxe-form-design--preview-item-operate"},[(0,U.h)(g,{icon:(0,F.getIcon)().FORM_DESIGN_WIDGET_COPY,status:"primary",size:"mini",circle:!0,onClick(e){p.handleCopyWidget(e.$event,t)}}),(0,U.h)(g,{icon:(0,F.getIcon)().FORM_DESIGN_WIDGET_DELETE,status:"danger",size:"mini",circle:!0,onClick(e){p.handleRemoveWidget(e.$event,t)}})]):(0,U.createCommentVNode)()])])}}}),M=(0,e.u)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(a){const l=F.VxeUI.getComponent("vxe-form-item"),s=F.VxeUI.getComponent("vxe-checkbox");var e=(0,U.inject)("$xeFormDesign",null);if(!e)return()=>[];const d=e["reactData"],u=e=>{const{sortWidget:t,widgetObjList:r}=d;var n,i,o=a["renderParams"],o=o["widget"];e.stopPropagation(),t&&o&&o.id!==t.id&&((0,b.H)(t)?F.VxeUI.modal&&F.VxeUI.modal.message({content:(0,F.getI18n)("vxe.formDesign.widgetProp.subtableProp.errSubDrag"),status:"error",id:"errSubDrag"}):o.name&&!o.children.some(e=>e.id===t.id)&&(e=E().findTree(r,e=>e.id===t.id,{children:"children"}))&&({item:e,index:n,items:i}=e,d.sortWidget=null,d.activeWidget=e,o.children.push(e),i.splice(n,1),d.sortWidget=e))},m=e=>{e.stopPropagation()};return()=>{var e=a["renderParams"];const r=e["widget"],{title:t,children:n,options:i}=r,o=i["showCheckbox"];return(0,U.h)(l,{title:t,className:"vxe-form-design--widget-subtable-form-item"},{default(){return(0,U.h)("div",{class:"vxe-form-design--widget-subtable-view",onDragenter:m,onDragover:u},[(0,U.h)("div",{class:"vxe-form-design--widget-subtable-view-left"},[o?(0,U.h)("div",{class:"vxe-form-design--widget-subtable-col"},[(0,U.h)("div",{class:"vxe-form-design--widget-subtable-head"},[(0,U.h)(s)]),(0,U.h)("div",{class:"vxe-form-design--widget-subtable-body"},[(0,U.h)(s)])]):(0,U.createCommentVNode)(),(0,U.h)("div",{class:"vxe-form-design--widget-subtable-col"},[(0,U.h)("div",{class:"vxe-form-design--widget-subtable-head"},(0,F.getI18n)("vxe.formDesign.widgetProp.subtableProp.seqTitle")),(0,U.h)("div",{class:"vxe-form-design--widget-subtable-body"},"1")])]),(0,U.h)("div",{class:"vxe-form-design--widget-subtable-view-right"},[(0,U.h)("div",{class:"vxe-form-design--widget-subtable-view-wrapper"},[(0,U.h)(U.TransitionGroup,{class:"vxe-form-design--widget-subtable-view-list",tag:"div",name:"vxe-form-design--widget-subtable-view-list"},{default:()=>n?n.map((e,t)=>(0,U.h)(B,{key:e.id,parentWidget:r,widget:e,childIndex:t})):[]}),(0,U.h)("div",{key:"empty",class:"vxe-form-design--widget-subtable-view-empty"},(0,F.getI18n)("vxe.formDesign.widgetProp.subtableProp.colPlace"))])])])}})}}}),$=(0,e.u)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(i){const o=F.VxeUI.getComponent("vxe-form-item"),a=F.VxeUI.getComponent("vxe-grid"),d=F.VxeUI.getComponent("vxe-button"),u=(0,U.inject)("$xeFormView",null),l=D(i)["computeKebabCaseName"],s=(0,U.ref)(),m=(0,U.ref)([{}]),c=(0,U.computed)(()=>!!u&&u.props.readonly),g=(0,U.computed)(()=>{var e=i["renderParams"],e=e["widget"],{children:e,options:t}=e;const l=c.value,s=[];return t.showCheckbox&&s.push({type:"checkbox",width:60,fixed:"left"}),s.push({type:"seq",width:60,fixed:"left"}),e&&e.forEach(i=>{var e=i["name"],e=F.renderer.get(e)||{},t=e.parseFormDesignWidgetSubtableColumn;let r={field:i.field,title:i.title};t?r=Object.assign(r,t({$formView:u,name:i.name,widget:i,readonly:!!l})):l?r.cellRender={name:i.name,props:i.options}:r.editRender={name:i.name,props:i.options};const o=e.renderFormDesignWidgetSubtableDefaultView,a=e.renderFormDesignWidgetSubtableCellView||o,n=e.renderFormDesignWidgetSubtableEditView;t={};(o||a)&&(t.default=e=>{var{isEdit:t,column:r}=e,{editRender:r,cellRender:n}=r,e=Object.assign({widget:i},e);return t&&r&&a?(0,w.OW)(a(r,e)):o?(0,w.OW)(o(n||{},e)):[]}),n&&(t.edit=e=>{var t=e["column"],t=t["editRender"],e=Object.assign({widget:i},e);return(0,w.OW)(n(t,e))}),r.slots=t,s.push(r)}),l||s.push({field:"action",title:"操作",fixed:"right",width:80,slots:{default({row:e}){return(0,U.h)(d,{mode:"text",icon:"vxe-icon-delete",status:"error",onClick(){r(e)}})}}}),s}),p=(0,U.computed)(()=>{var e=i["renderParams"],{widget:e,isEditMode:t}=e,r=g.value,n=c.value,t={border:!0,showOverflow:!0,height:300,columnConfig:{resizable:!0,minWidth:140},rowConfig:{keyField:"_id"},data:t?m.value:u?u.getItemValue(e):null,columns:r,toolbarConfig:{zoom:!0,custom:!1,slots:{buttons:"toolbarButtons"}}};return n||(t.keepSource=!0,t.editConfig={mode:"row",trigger:"click",showStatus:!0}),t}),f=()=>{var t=i["renderParams"],t=t["widget"];if(u){let e=u.getItemValue(t);E().isArray(e)||(e=[]);const r=(()=>{var e=i["renderParams"],e=e["widget"];const t={_id:Date.now()};return E().each(e.children,e=>{t[e.field]=null}),t})();e.unshift(r),u.setItemValue(t,e.slice(0)).then(()=>(0,U.nextTick)().then(()=>{var e=s.value;e&&e.setEditRow(r)}))}},r=t=>{var e,r=i["renderParams"],r=r["widget"];u&&(e=u.getItemValue(r))&&u.setItemValue(r,e.filter(e=>e._id!==t._id))};return()=>{var e=i["renderParams"],e=e["widget"],t=l.value;const r=p.value,n=c.value;return(0,U.h)(o,{class:["vxe-form-design--widget-render-form-item","widget-"+t],title:e.title,field:e.field,span:24},{default(){return a?(0,U.h)(a,{...r,ref:s},{toolbarButtons(){return n?[]:[(0,U.h)(d,{content:"新增",icon:"vxe-icon-add",status:"primary",onClick:f})]}}):(0,U.createCommentVNode)()}})}}});const q=(0,e.u)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(r){const n=F.VxeUI.getComponent("vxe-form"),i=F.VxeUI.getComponent("vxe-form-item"),o=F.VxeUI.getComponent("vxe-input"),a=F.VxeUI.getComponent("vxe-switch"),l=D(r)["computeKebabCaseName"];return()=>{var e=r["renderParams"];const t=e["widget"];e=l.value;return(0,U.h)(n,{class:["vxe-form-design--widget-render-form-wrapper","widget-"+e],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default(){return[(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.name")},{default(){return(0,U.h)(o,{modelValue:t.title,"onUpdate:modelValue"(e){t.title=e}})}}),(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"VxeInput"}}),(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.required")},{default(){return(0,U.h)(a,{modelValue:t.required,"onUpdate:modelValue"(e){t.required=e}})}})]}})}}}),A=(0,e.u)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(n){const i=F.VxeUI.getComponent("vxe-form-item"),o=(0,U.inject)("$xeFormView",null),a=D(n)["computeKebabCaseName"],l=()=>{var e,t=n["renderParams"],t=t["widget"];o&&(e=o?o.getItemValue(t):null,o.updateWidgetStatus(t,e))};return()=>{var e=n["renderParams"];const t=e["widget"],r=t["options"];e=a.value;return(0,U.h)(i,{class:["vxe-form-design--widget-render-form-item","widget-"+e],field:t.field,title:t.title,itemRender:{}},{default(){return(0,U.h)("input",{class:"vxe-default-input",type:"text",placeholder:r.placeholder||(0,F.getI18n)("vxe.base.pleaseInput"),value:o?o.getItemValue(t):null,onChange:l,onInput(e){o&&o.setItemValue(t,e.target.value)}})}})}}});const G=(0,e.u)({props:{renderOpts:{type:Object,default:()=>({})},renderParams:{type:Object,default:()=>({})}},emits:[],setup(r){const n=F.VxeUI.getComponent("vxe-form"),i=F.VxeUI.getComponent("vxe-form-item"),o=F.VxeUI.getComponent("vxe-input"),a=F.VxeUI.getComponent("vxe-switch"),l=D(r)["computeKebabCaseName"];return()=>{var e=r["renderParams"];const t=e["widget"];e=l.value;return(0,U.h)(n,{class:["vxe-form-design--widget-render-form-wrapper","widget-"+e],vertical:!0,span:24,titleBold:!0,titleOverflow:!0,data:t.options},{default(){return[(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.name")},{default(){return(0,U.h)(o,{modelValue:t.title,"onUpdate:modelValue"(e){t.title=e}})}}),(0,U.h)(i,{title:(0,F.getI18n)("vxe.formDesign.widgetProp.placeholder"),field:"placeholder",itemRender:{name:"Vxe