@vtj/designer 0.7.28 → 0.7.29

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/dist/index.cjs CHANGED
@@ -2,9 +2,9 @@
2
2
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
3
3
  * @name @vtj/designer
4
4
  * @author CHC chenhuachun1549@dingtalk.com
5
- * @version 0.7.28
5
+ * @version 0.7.29
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
- */const Be="0.7.28",ge={width:390,height:844},he={width:1180,height:820},Q=/^[A-Za-z_$][\w_-]*$/,xe=["click","dblclick","mouseenter","mouseleave","mousedown","mouseup","mouseover","contextmenu"],Se=["keydown","keyup","keypress"],Ee=["GET","POST","PUT","PATCH","DELETE","JSONP"],Ne=["stop","prevent","capture","self","once","passive"];var K=(c=>(c.Block="block",c.Node="node",c))(K||{}),$e=(c=>(c.Brand="Brand",c.Toolbar="Toolbar",c.Actions="Actions",c.Apps="Apps",c.Workspace="Workspace",c.Settings="Settings",c.Status="Status",c.Preview="Preview",c))($e||{});const ye="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAQd0lEQVR4nO2dCXRVxRnHf/clIPsekBgIS1hFdqVoZbGLFNTWWgQ3bLVurRYJcTuntbW22qooKKWl2toWquygIFa01doqmBBWWcomIkhACLIKyXvcnu/eefiSNzd57y4vAfI/553wuPfNzJ3/nW9m/t83M4Yx6iTVGOlAC6AD0Bs4F2gGtFT/lmtNgLpABDgMFAN7gCJgH3AQ2ACsAz5V91RbpFfDguUAg4EewBCgLdAQqJXAb5sD7RyuHVGfpcBy4AOgADjkc/k9obq0kP7AN4CrgK7qrQ8aJrALeAt4Q/3dV7XVULWEtAauBq5ThNSpqoIo7AReBWYA/6mqQlQFId2AW4HRwHmpzjwBSMv5N/BHYAHwRSozTyUhQsS9iohGqcrUI1YDE4GXgROpyDAVhMiIKBe4I0V9QxCQgcCvgdeCzigUcPo/BN4HHjiNyRAMBBYBs4BOQWYUFCFdgIXA80DHgPKoCowE3gHuCirvIAj5AfAmcEUAaVcHZAJTgHlqjuQr/CREJm/PAH8G2pyWVZ0crlbzl8v8TNQvQrLVGP5en9I7XdBV9S0/9qu8fhDSC1isZI6zEaKjTQYe8aM+vSZwqeq8u5+lZMTiYeA5oLaXRLwQMhSYe5b0F4niR8BUL6S4VXsvAWYCGZ6Kf2bi+8oVcDuQ9KzbTQvpqQS4GjKcIVrdU25+mCwhbZWuk+WhsGcLxgEPJvusyRAi84xpNR14UhD9a1QyP0iGkEeBQcGV/YyE1O+zwPnJ/CARSEc1NrBin9kQtftFoHEiT5kIIeLj/s3ZXqsecSHwUCJJVEZIGjAJaFXVT3QG4D7ga5U9RmWEiHI7/GyvSZ8QUkPhhhUlVxEhLZUcUAP/ILFld7slJK9GFgkEuRXEjjkSIh6/O0+fZzyt0EK5tLVwIiSvMltXA0+4yWluoiOkqwrVqUFwqA/ckygholI2SCUZZhjM4/bflOYrn1IwT4AZSW3eSlLpUP4/yxPSKtWtwyyBnPPgioHQtpX93Zd0TVXZEbviddcJQ59OMHwAZDTxL+8EIWFRN5a/tTwh31UxtymBtIrhF8GiBwwWPmDw2oMGg3t5rxghIi0NLugAbcRJUKoIiEUYbhwCrz9k57sgz6BvZ7u1pBBjlPk6hdjIRSHnXeV8ChzmF3DlJfDyWIP653yZ28ZP4dKHTfYdBCPNHRndsuGpmwwGdYNjJ2DiYpMnFtheI8OwTWPnLCh43KBR3S9/u/0z+N4Ek8KNYKQu9PvbKkDEQmwL6QP0S0UJhIxhA2D6PWXJEHTNhN7t7Tc46XQj0KQRzBhrMLwPNKgDLRvDY9cZfFOeLtrywjC0B2XIELTLgNm5Br072603RRgZm00sIcNSsSRAyBjSF6b/xIirEMHRE7D7gEtfZhiG9YGe2fGXLuwY41A1oOhzfRLtW8LMcQbnd0wZKd9UC40shGL+Xhl0zkLGwJ4w816D5g7juKlvwbqPwEhkvVRs2thPcfWFhvb62h02ERZqw+vL4e//1afVuTXMGW/QpV1KSMmIDaGKEtI+GSeKGwgZ/brZZLR08AzMWgY/e8l03TqyW8PXesRf2roH3t3w5aI46UdKwnDnVJNXC/XJiemcPd4gp03gpMhr8tXol+ijDwly7iFk9Opiv3VtmuvvmZsPtzxnWp2wm85cCBnRB5pr9IXFK2F/sXImKBjpcOQY3DTJ5LWV+iQvaGOTkp0Z+Ojr8mjoUJSQnkHlJG9X9xyYO96wOk0dFq6AHzxncvS4XVFJ52FCWh24+qJ4cxU5Ca8WmpZNK39VzOKhIzDmWZO31+nT7t0OZuUaZGYESkrbaOB2SMVmBeIrlwfo0h7mjTfo6ODikrdzzCSTw8eS7zdOIQzd28JXNCs3pO94f6PzGl6jNhQfhOsnmrz3P/09F+XAy7kGGc0CmzzWV2tQLEJaqD7EVwgZHdvA/DyDLpn6lN9aCzc/a/L5YfdkWJ15BIb1soe55TEv3+SYpF9BvySkFO2D6yeZrNyuv2dQV3hpnEHTRvZcJwB0jRIieko9X8kogQ5ZMC/PoJvDss531sMNE032H7QrxDVOQq168F2NuZIh9PyCsn2HE4xzYMduuPZpk3U79Td9vQdMG2vQqF4gpAgPTUPKi+XWWMRByDivpW13ezosZ/lgC9w4yWRvsUcysGWRAZ3UPKMclm6CDTsSD5gVUrbssEnZskd/jwwc/ibqQl3fSZGl4e1DakWQLxAyWjW3Z7v9HIygmIRRT5vs2mtXgBdE9SmZe6RpTJKYq8gJe5ibKEQyWb8NrnnS5KPP9D/6dn948W6DunV8JUVc5i1Dfi3GFDKaNYaX7zUY2Fl/z4ZdMPoZk493eyfDwklo2Bgu7x1/af8ReH1VYuaqPISUNZvhe0+ZfLJff8/Ir8Cff2xwTm3f3AZS0mYhxYwnCBkNG9id3lCH6aWYgJETTDZ97BMZ2Obqki5o+6klq2H7LveDBaMurNhoi427HWSW0RfDCz8ySE/3hRSplcyQ2lXHNaQg9evB9LEGlzvMZiwV9SmTddv8U1Etc2XYc4+QxiTN+cB0sRigLISU/HU2KZ85bFFz46Uw9Q5FijcnV3qUkBZuUzBPQnoaTLnd4CoHnViavDzQ6s0+S9oRaJkBwzXm6qO98M46f/Y6ElLeXwM3PGty4Kj+nluGwiOjDatMcX6X5HCutz6kFAb1gDEO08pPDyj/woYA/Aul8PULIEsjxSxaAcX73c36dRBS3iyAMZNNDjvsfJI7Avp2scvlAVYfohHBE0QELu+lH8KImbr2GdNq8ob7HLSw3sJaemW3NAxzlml0Eq+oA4veh9ummhQfiU+rTi3VWr2ZrXohT0mY0NbB4P1qnsl7+f6TYSEM7VrDEM0AYvUOyN/i/9Zs1tC5Dsx8A/70tv6erOae34JwyNOWdwbscNjyK3eEQe+eAUnXYfttbKFRdhcWmhw/7FIxrgzH4VuD4Iav6u/bVeytA5Hd7UJqj0J3SIf5+SZhTRvrrqSTCzra8rtfkIGEKLvXDIh/G4+VJC6VJAt5hqF9Ydo9BplN4398vNTuuzzm/VlIbRjpDrVg2Qb45Vz9myHu0Hn3++wOVcruAI2y+98N8OF2/82VkHFJT5hRgafzyYWwcpMnEUoq8dOQ2r3TFSy7mgaPzoDHFuhTyGkF8+4z6OqXOzSCNcQuHxwhmP2BaanMFSm7yULI6NvV1uacPJ3P/xMemWladZGMTFMO4m3ZJUV3EAcSg/XwafDT6SYTF+t/Ij7q+fcbdMn2RoqYqzoN4Dua0dWeg7BkjZ8yqU1Gz072C6UzU4KX3oO7nzeJRDz3WzJg3ivV6SAMJA4piGlA3l9MJr+h/5n4qOfeZ9C5rQdSSuGiTtBHI1z+60PYUeRf/2F5OjvaZc52GEnOWQa3TTEt/7wPcx5pIQdCapNhzxBSIibkvmjygsOw8PwsmDXesHwlrtyhJlzV31nZlf7Fg8n4Mpvj0Dkb5uYZlsnVQYIjbplicsyl21mD9SJshNSOzw6iQHIQUkojcPcfTaY5bLTaKxvm5CUfOCA6UcMmcEXf+Gtbimzvox/mSsjIaav6PQfHxOJVth/+8FEPbud4iMHdGfJ7+20h5UQp3PUHk9nL9Pf0aWcHo2W1SoKUsK3sdtJEHr+yHD53G1wXAylL+yw70uR8h70qpJ+6aaLJwSO+kiEQV1pJdGK41M+UpQlLBMmtk00WOsQ9DciBmbkG52YkGDhgwKiB8cqutMgFBfaw24u5EjKyzrXNVG9N5KPg3xtst3PxId/JKFVbn596p1b4mrwKsREhTpq2NfrR4OLOtkOrRdOKSRGJP7OV6Gbx11Zth8Jt3syV5enMgFnjDKv16rB0M4yaYLLvcx/czvGQAwM+JIaQpZ5lMQ2EFIkokbfqPxv19wzpDjPGGTRpXIE7NGJHJLbWDD1fKTD54rB7cyVkNG1im1AnT6fldp5gsmd/IGQIlkUVk+hjFHiZIFYEeYB9B2w/+vJt+hulsl8aa9CgfjwplrKbbo+uyuPIcZi/3B7qurFWklcD8XT+xGBwN/0963fans5Pinz0dMbj1Lg0SsghdTpAIJAH2b3XJuXDT/Q5fKt3DCmxbTUCHVrDZRplV2z6+iSiSmIhZrBeXTsKf5jGyYUavUkEytZPAl0vIkrfv6JfYhv6PwLLUgUObFNv26bd+nuu7AeTbzVID8V43kTZ7QPNNBrSPHHTliTfmVuhp2nwu9sMK4JEB/HnjJQYra2BL96ReeDa6JdYQpaoIXBgkAfbuN1+67Y5SJo3D4b+nWKWoaVLKKeDVLLWpZBYCiP6w/cH6y+LS0HKuGpTQP6cspgZ23/HElKsdhgNFEKK+NdHTzLZ6aCi1a6ltE/DLuqWong1WUJ8dha5JOSkPUHVQRYLSUhpQRBu53gcjV3OhmZsMt2zVzgByIMWrFeklPPGyIx7xRZ7GGu1i3T4wxLKBELvPwwTF6m5h5sCpMGba+wJbCyk1V03yeS9tSlbYyh9R5nxZ5rR4+ex33eqLYQc3h//IJNHiaV9ax00bWBw0oRFhTDur2UXfIqafPQYvFIIoZBhEZg3zSR/o/shqKS9cw98XAz9OthL6wq22v7yd9ekdMHneGBzmbJpzg8ZpXYdTQmsCWEte3Hm3gO2qdKJddbIy1RtOux9PmD1T6XQvb3tSFu+FfbsC2yeoUOhWvFcRjzSEVJXTVQCW8RTHlblnLQru6IRU3Tk5YeieyrNUpV3ekB+eGfcDPyt/FXd/FbGxRNSWTKpYCMBb5t1n8/hPaImyDwpxWTIUUpzdBecBIeZUbGrBoHgcYnJSIYQsWu/CELfqoGliMx2qoaKJLl/qGPjauAfpMf6WUV7wlemkcrOZw7LVmrgAhPVgMkRlRGytWYjTN8gXqHHKkssES/C8zWmyzPCamfwSiN8EiEkorY23VT1z3Xa4qfquL1KkaifbZfapTR1mxadOZiTzLwuGcfn20p7qUHiWKlOcEt4BWKynugp6tiKGlSObUoX3JtMXbkJDXhYEVMDZxSpzUQ3J1tHbkPLZMTwlxpCtNinDu0vcPNjt4SE1XHcf3L5+zMV0jKuTXREpYOX4MsSNfJ6+myt/XKQSfR3YkN63MDr0pawGnkldHrMGYxCdc6KZ4Xcr7VGv1F2M9ColWoKOfR+hF8TZz+P756htprN9zHN6oxSdU7hdZ7WaZaD3wfcS6TUN1SLOZN9KavVxpW/dXO8akXwmxBUWOpDyqauCiD9qkSJImGo187bCUEQEsUSdbz3A3426SrEEhUiJWbqQFDFCJIQgewK8oTacfN36vvpBmnl10s8uCyFD7rsujCgINFDnTl+bex+59UUMtP+vQr40AYkBIFUExKFbFl5gzqLKacqCuCAQ6pveEGZqNQe8VKFhEQhiwwuA66RXVj93JAzCRxTSwJmqWBzX5aJu0VVExILWZ4vCwQuVvY6M9EDfZNERAmABao1vKP6iWpREdWJkFjUUgHfMhjopD79Vb9TW20YWdlChOPK5JSoRflr1NLjfDVfcr8LUoDwed8c3yCzYFmUIB9BM3U6prQi+UjrkY9s4CnXZGdu0dWkD5CwJZFwxO0sw20JLJCFdPIJfKmFJwD/B4g2wB0X86iqAAAAAElFTkSuQmCC",nt=["title","src"],ot={key:1},lt=e.defineComponent({name:"LogoWidget",inheritAttrs:!1,__name:"index",props:{icon:{default:ye},text:{default:"VTJ"},link:{}},setup(c){const t=c,n=()=>{t.link&&(location.href=t.link)};return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:"v-logo-widget",onClick:n},[t.icon?(e.openBlock(),e.createElementBlock("img",{key:0,title:t.text,class:"v-logo-widget__icon",src:t.icon},null,8,nt)):(e.openBlock(),e.createElementBlock("span",ot,e.toDisplayString(t.text),1))]))}}),rt={class:"v-empty-widget"},at=e.defineComponent({name:"EmptyWidget",__name:"index",setup(c){return(t,n)=>(e.openBlock(),e.createElementBlock("div",rt,"EmptyWidget"))}});function Ie(){const c=U(),t=e.computed(()=>c.project.value?.dependencies??[]),n=e.computed(()=>c.project.value?.apis??[]);return{engine:c,dependencies:t,apis:n}}function oe(c,t){const n=e.computed(()=>_e.getWidgets(e.unref(c),e.unref(t)).filter(l=>!l.invisible)),o=e.ref();return{widgets:n,widgetsRef:o}}function De(){const c=U();return{span:e.computed(()=>{const l=c.skeleton?.skeletonRef.leftWidth||400,a=Math.min(Math.floor((l-50)/120),24);return Math.floor(24/a)}),engine:c}}function st(){const c=U(),t=e.computed(()=>c.project.value?.blocks??[]);return{engine:c,blocks:t}}const it=(c=[])=>c.map(t=>t.name);function ct(){const c=U(),{components:t,groups:n,componentMap:o}=c.assets,l=e.reactive({}),a=e.computed(()=>{const p={};return n.value&&n.value.forEach(v=>{p[v.name]=v}),p}),s=e.computed(()=>n.value?n.value.map(p=>({label:`${p.label} (${p.count})`,name:p.name,disabled:!p.children?.length})):[]),r=e.ref(s.value[0]?.name),i=e.ref(""),d=e.computed(()=>a.value[r.value]);e.watchEffect(()=>{const p=s.value.reduce((v,f)=>(v[f.name]=it(a.value[f.name].children),v),{});Object.assign(l,p)});const m=e.computed(()=>{const p=i.value.toLowerCase();return!p||!t?[]:t.filter(v=>v.name.toLowerCase().includes(p)||v.label?.toLowerCase().includes(p))});return{components:t,groups:n,componentMap:o,groupMap:a,tabs:s,model:l,currentTab:r,currentGroup:d,searchKey:i,searchResult:m}}function W(){const c=U(),t=e.computed(()=>c.current.value),n=e.computed(()=>c.simulator.renderer?.context??null),o=e.computed(()=>c.isEmptyCurrent.value);return{engine:c,current:t,isEmpty:o,context:n}}function ut(c,t,n){const o=U();o.simulator.init(c,t,n);const l=e.computed(()=>o.simulator.designer.value),a=e.computed(()=>fe("hover",l.value?.hover.value)),s=e.computed(()=>fe("dropping",l.value?.dropping.value)),r=e.computed(()=>fe("selected",l.value?.selected.value));return e.watch(o.changed,()=>{l.value?.updateRect()}),{designer:l,dropping:s,hover:a,selected:r}}function dt(c,t=!0){const{top:n,height:o,width:l,left:a}=c||{};if(o>100&&l>200)return"inner";let s,r;return r=n>30?"top":"bottom",s=t||a<300&&l<300?"left":"right",[s,r].join("-")}function mt(c){const{rect:t,type:n}=c,{left:o,width:l,top:a,height:s}=t,r={left:o,width:l,top:a,height:s};switch(n){case"left":r.left=0,r.width=0;break;case"right":r.left=r.left+r.width-4,r.width=0;break;case"bottom":r.top=r.top+r.height-4,r.height=0;break;case"top":r.height=0;break}return r}function fe(c,t){if(!t)return null;const{left:n,top:o,width:l,height:a}=c==="dropping"?mt(t):t.rect,s={left:`${n}px`,top:`${o}px`,width:`${l}px`,height:`${a}px`,visibility:l||a?"visible":"hidden"};return{...t,style:s,position:dt(t.rect,c!=="selected")}}function Y(){const c=U(),t=e.computed(()=>c.simulator.designer.value),n=e.computed(()=>t.value?.selected.value),o=e.computed(()=>w.isBlock(n.value?.model));return{engine:c,designer:t,selected:n,isSelectBlock:o}}function pt(c,t){const n=e.ref(""),{selected:o,isSelectBlock:l}=Y(),a=e.computed(()=>o.value?.model.id),s=e.computed(()=>{const i=e.toValue(c),d=e.toValue(t),m=[];if(!i)return m;const p=d?.__contextRefs[a.value||""],f=d===p||l.value?[]:Object.keys(p?.context||{}).filter(B=>!["context","ref"].includes(B)).map(B=>`this.context.${B}`);f.length&&m.push({title:"上下文",items:f});const u=i.inject.map(B=>`this.${B.name}`);u.length&&m.push({title:"注入",items:u});const g=i.props.map(B=>typeof B=="string"?`this.$props.${B}`:`this.$props.${B.name}`);g.length&&m.push({title:"属性",items:g});const h=Object.keys(i.state).map(B=>`this.state.${B}`);h.length&&m.push({title:"状态",items:h});const C=Object.keys(i.computed).map(B=>`this.${B}.value`);C.length&&m.push({title:"计算属性",items:C});const _=Object.keys(i.methods).map(B=>`this.${B}`);_.length&&m.push({title:"方法",items:_});const V=Object.keys(i.dataSources).map(B=>`this.${B}`);V.length&&m.push({title:"数据源",items:V});const S=Object.keys(d?.$refs||{}).map(B=>`this.$refs.${B}`);return S.length&&m.push({title:"refs",items:S}),m}),r=e.computed(()=>{if(!n.value)return s.value;const i=n.value.toLowerCase(),d=[];return s.value.forEach(m=>{const p=m.items.filter(v=>v.toLowerCase().includes(i));p.length&&d.push({title:m.title,items:p})}),d});return{keyword:n,options:s,searchResult:r}}const ue=[{name:"StringSetter",label:"文本"},{name:"ExpressionSetter",label:"表达式"}];function ft(c){const t=U(),n=e.computed(()=>{const p=c.value?.model||null;return w.isBlock(p)?null:p}),o=e.ref();e.watch(n,async p=>{p?.from?o.value=await t.assets.getBlockMaterial(p.from)||void 0:o.value=void 0},{immediate:!0});const l=e.computed(()=>n.value?[{name:"key",setters:ue,value:n.value.getPropValue("key")},{name:"ref",setters:ue,value:n.value.getPropValue("ref")},{name:"class",label:"class",setters:ue,value:n.value.getPropValue("class")},{name:"children",label:"文本",title:"如设置组件文本,将清空子组件",setters:ue,value:Array.isArray(n.value.children)?"":n.value.children}]:[]),a=e.computed(()=>{if(!n.value)return[];const p=o.value||t.assets.componentMap.get(n.value.name);return p?(p.props||[]).map(f=>({...f,value:n.value?.getPropValue(f.name)??f.defaultValue})):[]}),s=p=>l.value.some(v=>v.name===p)||a.value.some(v=>v.name===p)||p==="style",r=e.computed(()=>n.value?Object.keys(n.value.props).filter(p=>!s(p)).map(p=>({name:p,setters:"InputSetter",value:n.value?.getPropValue(p)})):[]);return{commonProps:l,componentProps:a,customProps:r,node:n,change:(p,v)=>{n.value&&(p==="children"?n.value.setChildren(v):n.value.setProp(p,v))},addCustom:p=>{p&&n.value?.setProp(p,"")},removeCustom:p=>{n.value?.removeProp(p)},isExist:s}}function L(c,t="提示"){return y.ElNotification.warning({title:t,message:c})}async function re(c){return await y.ElMessageBox.confirm(c,"提示",{type:"warning"}).catch(()=>!1)}function H(c,t="success"){return y.ElMessage({message:c,type:t})}function X(c,t,n=!1){let o=!0;try{c.type==="JSExpression"?D.parseExpression(c,t,n,!0):D.parseFunction(c,t,n,!0)}catch(l){o=!1,y.ElNotification.error({title:"代码错误",message:l.message})}return o}function je(){const c=U(),t=e.computed(()=>c.simulator.designer.value),n=e.computed(()=>c.current.value?c.history.value:null),o=e.computed(()=>n.value?.items.length||0),l=()=>{t.value?.cleanHelper(),n.value?.forward()},a=()=>{n.value?.backward(),t.value?.cleanHelper()},s=d=>{t.value?.cleanHelper(),n.value?.load(d),H("已载入历史记录","success")},r=e.computed(()=>o.value<=1?!0:(n.value?.index||-1)<=0),i=e.computed(()=>o.value<=1?!0:(n.value?.index||-1)>=o.value-1);return{engine:c,history:n,total:o,forward:l,backward:a,load:s,forwardDisabled:r,backwardDisabled:i}}function me(){const c=U(),t=e.computed(()=>c.project.value);return{engine:c,project:t}}function vt(c){const t=U(),n=e.computed(()=>{const r=c.value?.model||null;return!r||w.isBlock(r)?null:r}),o=e.ref();e.watch(n,async r=>{r?.from?o.value=await t.assets.getBlockMaterial(r.from)||void 0:o.value=void 0},{immediate:!0});const l=e.computed(()=>{if(w.isBlock(n.value))return[];const r=n.value?.events||{};return xe.map(i=>({name:i,event:r[i]}))}),a=e.computed(()=>{if(w.isBlock(n.value))return[];const r=n.value?.events||{};return Se.map(i=>({name:i,event:r[i]}))}),s=e.computed(()=>{if(!n.value||w.isBlock(n.value))return[];const r=n.value.events||{};return(o.value?.events||t.assets.componentMap.get(n.value.name)?.events||[]).map(d=>{const m=typeof d=="string"?d:d.name;return{name:m,event:r[m]}})});return{mouseEventList:l,keyboardEventList:a,componentEventList:s}}const Ve=(c,t)=>new w.DirectiveModel({name:c,value:void 0,iterator:t}),gt=(c="modelValue")=>new w.DirectiveModel({name:"vModel",value:void 0,arg:c});function ht(c){if(!c)return[];const{props:t=[],events:n=[]}=c;if(t.length&&n.length){const o=n.filter(l=>(typeof l=="string"?l:l.name).startsWith("update:")).map(l=>l=typeof l=="string"?l:l.name);return o.length?t.filter(l=>o.some(a=>a.includes(l.name))):[]}return[]}function bt(c){const t=U(),n=e.computed(()=>{const u=c.value?.model||null;return w.isBlock(u)?null:u}),o=u=>e.computed(()=>n.value&&(n.value.directives||[]).find(g=>g.name===u)||Ve(u)),l=()=>e.computed(()=>{if(!n.value)return[];const u=t.assets.componentMap.get(n.value.name||"");return(u?ht(u):[]).map(h=>(n.value?.directives||[]).find(C=>C.name==="vModel"&&C.arg==h.name)||gt(h.name))}),a=o("vIf"),s=o("vShow"),r=o("vBind"),i=o("vFor"),d=l(),m={vIf:a,vShow:s,vBind:r,vFor:i};return{engine:t,node:n,vIf:a,vShow:s,vBind:r,vFor:i,vModels:d,onValueChange:(u,g)=>{const h=m[u];n.value&&(g?(h.value.value=g,n.value.setDirective(h.value)):(h.value.value=void 0,n.value.removeDirective(h.value)))},onForChange:(u,g)=>{if(n.value){if(u==="value"){g?(i.value.value=g,n.value.setDirective(i.value)):n.value.removeDirective(i.value);return}(u==="item"||u==="index")&&(i.value.iterator={...i.value.iterator,[u]:g||void 0},n.value.setDirective(i.value))}},onModelChange:(u,g)=>{if(!n.value)return;const h=parseInt(u),C=d.value[h];C&&(g?(C.value=g,n.value.setDirective(C)):(C.value=void 0,n.value.removeDirective(C)))}}}function kt(){const{engine:c,project:t}=me(),n=e.computed(()=>t.value?.apis||[]);return{engine:c,project:t,apis:n}}const yt={class:"v-switcher-widget"},Ct={key:1},_t=e.defineComponent({name:"SwitcherWidget",inheritAttrs:!1,__name:"index",emits:["click"],setup(c,{emit:t}){const n=t,{engine:o}=W(),l=e.computed(()=>o.project.value?.name),a=e.computed(()=>o.project.value?.currentFile?.title),s=()=>{n("click",o.project.value)};return(r,i)=>(e.openBlock(),e.createElementBlock("div",yt,[e.createVNode(e.unref(y.ElButton),{size:"small",round:"",onClick:s},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconBack),{class:"v-switcher-widget__back"}),e.createElementVNode("span",null,e.toDisplayString(l.value),1),a.value?(e.openBlock(),e.createBlock(e.unref(y.ElDivider),{key:0,direction:"vertical"})):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("span",Ct,e.toDisplayString(a.value),1)):e.createCommentVNode("",!0)]),_:1})]))}}),wt={class:"v-toolbar-widget"},Vt=e.defineComponent({name:"ToolbarWidget",inheritAttrs:!1,__name:"index",props:{preview:{type:Boolean}},setup(c,{expose:t}){const n=c,{forward:o,backward:l,forwardDisabled:a,backwardDisabled:s}=je(),r=e.ref("pc");return t({mode:r}),(i,d)=>(e.openBlock(),e.createElementBlock("div",wt,[e.createVNode(e.unref(y.ElRadioGroup),{size:"small",modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=m=>r.value=m)},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElRadioButton),{label:"pc",value:"pc"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconPc))]),_:1}),e.createVNode(e.unref(y.ElRadioButton),{label:"mobile",value:"mobile"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconPhone))]),_:1}),e.createVNode(e.unref(y.ElRadioButton),{label:"pad",value:"pad"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconPad))]),_:1})]),_:1},8,["modelValue"]),e.createCommentVNode("",!0),e.createVNode(e.unref(y.ElButtonGroup),null,{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElButton),{type:"default",size:"small",onClick:e.unref(l),disabled:e.unref(s)||!!n.preview},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconUndo))]),_:1},8,["onClick","disabled"]),e.createVNode(e.unref(y.ElButton),{type:"default",size:"small",onClick:e.unref(o),disabled:e.unref(a)||!!n.preview},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconRedo))]),_:1},8,["onClick","disabled"])]),_:1})]))}}),Bt={class:"v-actions-widget"},xt=e.createElementVNode("span",null,"发布",-1),St=e.defineComponent({name:"ActionsWidget",inheritAttrs:!1,__name:"index",props:{coder:{type:Boolean,default:!0}},setup(c){const{engine:t,designer:n}=Y(),o=e.ref(!1),l=()=>{t.current.value?(o.value?t.skeleton?.getWidget("Previewer")?.widgetRef.refresh():(n.value?.setSelected(null),t.simulator.refresh()),H("刷新完成","success")):H("请先打开文件","warning")},a=async()=>{t.current.value?(o.value&&(t.skeleton?.closePreview(),o.value=!1,await F.delay(1e3)),n.value?.setSelected(t.current.value)):H("请先打开文件","warning")},s=()=>{if(t.project.value)if(t.current.value){if(o.value){t.skeleton?.closePreview(),o.value=!1;return}t.skeleton?.openPreview(""),o.value=!0}else H("请先打开文件","warning")},r=()=>{const d=t.project.value;d&&(d.currentFile?d.publish(d.currentFile):H("请先打开文件","warning"))},i=d=>{const m=t.project.value;m&&(d==="current"?r():m.publish())};return(d,m)=>(e.openBlock(),e.createElementBlock("div",Bt,[e.createCommentVNode("",!0),e.createCommentVNode("",!0),e.createVNode(e.unref(y.ElButton),{onClick:s,type:o.value?"warning":"default",size:"small",title:"预览"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconPreview))]),_:1},8,["type"]),e.createVNode(e.unref(y.ElButton),{onClick:l,type:"default",size:"small",title:"刷新"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconRefresh))]),_:1}),e.createVNode(e.unref(y.ElButton),{type:"default",size:"small",title:"页面设置",onClick:a},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconSetting))]),_:1}),e.createVNode(e.unref(y.ElDivider),{direction:"vertical"}),e.createVNode(e.unref(y.ElDropdown),{"split-button":"",type:"primary",size:"small",onClick:r,onCommand:i},{dropdown:e.withCtx(()=>[e.createVNode(e.unref(y.ElDropdownMenu),null,{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElDropdownItem),{command:"current"},{default:e.withCtx(()=>[e.createTextVNode("发布页面")]),_:1}),e.createVNode(e.unref(y.ElDropdownItem),{command:"project"},{default:e.withCtx(()=>[e.createTextVNode("整站发布")]),_:1})]),_:1})]),default:e.withCtx(()=>[xt]),_:1})]))}}),Et={class:"v-icon-setter"},Nt={class:"v-icon-setter__content"},$t={class:"v-icon-setter__list"},Ae=e.defineComponent({name:"IconSetter",__name:"icon",props:{modelValue:{default:""},size:{default:"small"}},emits:["change","update:modelValue"],setup(c,{emit:t}){const n=c,o=t,l=e.ref(!1),a=e.ref(n.modelValue),s=e.ref(""),r=e.computed(()=>k.icons[n.modelValue]||n.modelValue),i=e.computed(()=>{const f=Object.entries(k.icons);return s.value?f.filter(u=>u[0].toLowerCase().includes(s.value)):f}),d=f=>{a.value=f},m=()=>{o("change",a.value),o("update:modelValue",a.value),l.value=!1},p=()=>{a.value="",o("change",""),o("update:modelValue",""),l.value=!1},v=()=>{l.value=!0};return(f,u)=>(e.openBlock(),e.createElementBlock("div",Et,[e.createVNode(e.unref(y.ElInput),{size:n.size,readonly:"",placeholder:"请选择图标","model-value":n.modelValue,"suffix-icon":e.unref(k.ArrowDown),onFocus:v},{prepend:e.withCtx(()=>[e.createVNode(e.unref(b.XIcon),{icon:r.value},null,8,["icon"])]),_:1},8,["size","model-value","suffix-icon"]),l.value?(e.openBlock(),e.createBlock(e.unref(b.XDialog),{key:0,title:"图标选择器",width:"1000px",height:"600px",cancel:"",submit:"",clear:"",modelValue:l.value,"onUpdate:modelValue":u[1]||(u[1]=g=>l.value=g),onSubmit:m},{extra:e.withCtx(()=>[e.createVNode(e.unref(y.ElButton),{size:"default",type:"warning",onClick:p},{default:e.withCtx(()=>[e.createTextVNode(" 清除绑定 ")]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",Nt,[e.createVNode(e.unref(y.ElInput),{size:n.size,"prefix-icon":e.unref(k.Search),clearable:"",modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=g=>s.value=g),placeholder:"请输入查询关键字"},null,8,["size","prefix-icon","modelValue"]),e.createElementVNode("div",$t,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,g=>(e.openBlock(),e.createBlock(e.unref(b.XIcon),{icon:g[1],onClick:h=>d(g[0]),class:e.normalizeClass({"is-active":a.value===g[0]})},null,8,["icon","onClick","class"]))),256)),i.value.length===0?(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0})):e.createCommentVNode("",!0)])])]),_:1},8,["modelValue"])):e.createCommentVNode("",!0)]))}}),It=e.defineComponent({name:"PageForm",__name:"form",props:{item:{},parentId:{}},setup(c){const t=c,{project:n}=me(),o=e.computed(()=>t.item?"编辑页面":"新增页面"),l=()=>({dir:!1,name:"",title:"",icon:"",mask:!0,hidden:!1,raw:!1}),a=e.ref(t.item||l()),s=[{label:"页面",value:!1},{label:"目录",value:!0}],r=d=>{a.value&&(a.value.name=F.upperFirstCamelCase(d))},i=async d=>n.value?.existPageName(d.name,[d.id])?(L("页面名称已存在,请更换"),!1):(t.item?n.value?.updatePage(d):n.value?.createPage(d,t.parentId),!0);return(d,m)=>(e.openBlock(),e.createBlock(e.unref(b.XDialogForm),{title:o.value,width:"800px",height:"500px","form-props":{tooltipMessage:!1},model:a.value,"submit-method":i},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"dir",label:"类型",editor:"radio",options:s,props:{button:!0,size:"small"},disabled:!!t.item,required:""},null,8,["disabled"]),e.createVNode(e.unref(b.XField),{name:"name",label:"名称",required:"",onChange:r,rules:{pattern:e.unref(Q),message:"名称格式不正确"}},null,8,["rules"]),e.createVNode(e.unref(b.XField),{name:"title",label:"标题",required:""}),e.createVNode(e.unref(b.XField),{name:"icon",label:"菜单图标",editor:"none"},{editor:e.withCtx(()=>[e.createVNode(Ae,{modelValue:a.value.icon,"onUpdate:modelValue":m[0]||(m[0]=p=>a.value.icon=p),size:"default"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(b.XField),{visible:{dir:!1},name:"mask",label:"包含母版",editor:"switch"}),e.createVNode(e.unref(b.XField),{name:"hidden",label:"隐藏菜单",editor:"switch"}),e.createVNode(e.unref(b.XField),{visible:{dir:!1},disabled:!!t.item,inline:"",name:"raw",label:"源码模式",editor:"switch",tip:"页面是非低代码开发,不能在线编辑"},null,8,["disabled"])]),_:1},8,["title","model"]))}}),be=e.defineComponent({name:"VIcon",__name:"Icon",props:{icon:{},label:{},active:{type:Boolean,default:!1},open:{type:Boolean,default:!1}},emits:["click"],setup(c,{emit:t}){const n=c,o=t,l=e.computed(()=>({"is-active":n.active,"is-open":n.open})),a=()=>{o("click")};return(s,r)=>(e.openBlock(),e.createBlock(e.unref(y.ElTooltip),{effect:"dark",placement:"right",content:s.label,"show-after":600},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["v-apps-region__icon",l.value]),onClick:a},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.icon)))],2)]),_:1},8,["content"]))}}),I=e.defineComponent({name:"VPanel",__name:"panel",props:{title:{},subtitle:{},plus:{type:Boolean},back:{type:Boolean},edit:{type:Boolean},remove:{type:Boolean},save:{type:Boolean},header:{type:Boolean,default:!0},collapsable:{type:Boolean}},emits:["plus","back","remove","save","edit"],setup(c,{emit:t}){const n=c,o=t,l=e.ref(!1),a=e.computed(()=>({"is-collapsed":!!l.value})),s=()=>{o("plus")},r=()=>{o("edit")},i=()=>{o("back")},d=()=>{o("remove")},m=()=>{o("save")},p=e.computed(()=>n.header?{content:n.title,subtitle:n.subtitle,icon:n.back?k.Back:void 0,onClickBack:n.back?i:void 0,onClick:n.collapsable?()=>{l.value=!l.value}:void 0}:null),v=f=>{l.value=f};return(f,u)=>(e.openBlock(),e.createBlock(e.unref(b.XPanel),{class:e.normalizeClass(["v-panel",a.value]),border:!1,header:p.value,fit:""},e.createSlots({actions:e.withCtx(()=>[n.plus?(e.openBlock(),e.createBlock(e.unref(b.XAction),{key:0,size:f.$attrs.size,mode:"icon",icon:e.unref(k.VtjIconPlus),background:"hover",title:"新增",onClick:s},null,8,["size","icon"])):e.createCommentVNode("",!0),n.edit?(e.openBlock(),e.createBlock(e.unref(b.XAction),{key:1,size:f.$attrs.size,mode:"icon",icon:e.unref(k.EditPen),background:"hover",title:"编辑",onClick:r},null,8,["size","icon"])):e.createCommentVNode("",!0),n.remove?(e.openBlock(),e.createBlock(e.unref(b.XAction),{key:2,size:f.$attrs.size,mode:"icon",icon:e.unref(k.Delete),background:"hover",title:"清除",onClick:d},null,8,["size","icon"])):e.createCommentVNode("",!0),n.save?(e.openBlock(),e.createBlock(e.unref(b.XAction),{key:3,size:f.$attrs.size,mode:"icon",icon:e.unref(k.VtjIconSave),background:"hover",title:"保存",onClick:m},null,8,["size","icon"])):e.createCommentVNode("",!0),n.collapsable?e.withDirectives((e.openBlock(),e.createBlock(e.unref(b.XAction),{key:4,size:f.$attrs.size,mode:"icon",icon:e.unref(k.ArrowDown),background:"hover",title:"展开",onClick:u[0]||(u[0]=g=>v(!1))},null,8,["size","icon"])),[[e.vShow,l.value]]):e.createCommentVNode("",!0),n.collapsable?e.withDirectives((e.openBlock(),e.createBlock(e.unref(b.XAction),{key:5,size:f.$attrs.size,mode:"icon",icon:e.unref(k.ArrowUp),background:"hover",title:"收起",onClick:u[1]||(u[1]=g=>v(!0))},null,8,["size","icon"])),[[e.vShow,!l.value]]):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"actions")]),default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:2},[f.$slots.footer?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(f.$slots,"footer")]),key:"0"}:void 0]),1032,["class","header"]))}}),Dt={class:"v-tabs__header"},jt={key:0,class:"v-tabs__actions"},ie=e.defineComponent({__name:"tabs",props:{items:{default:()=>[]},menus:{},modelValue:{},stretch:{type:Boolean},checkable:{type:Boolean}},emits:["update:modelValue","command","remove","action-click"],setup(c,{emit:t}){const n=c,o=t,l=e.ref((n.modelValue||n.items[0]?.name)??"");e.watch(l,()=>{o("update:modelValue",l.value)}),e.watch(()=>n.modelValue,i=>{l.value=i});const a=i=>{o("command",i)},s=i=>{o("remove",i)},r=i=>{o("action-click",i)};return(i,d)=>(e.openBlock(),e.createBlock(e.unref(b.XPanel),{class:"v-tabs",border:!1,fit:"",radius:!1},{header:e.withCtx(()=>[e.createElementVNode("div",Dt,[e.createVNode(e.unref(b.XTabs),{class:"v-tabs__tabs",items:n.items,type:"card",modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=m=>l.value=m),onTabRemove:s,onActionClick:r,stretch:n.stretch},null,8,["items","modelValue","stretch"]),n.menus&&n.menus.length?(e.openBlock(),e.createElementBlock("div",jt,[n.menus&&n.menus.length?(e.openBlock(),e.createBlock(e.unref(b.XAction),{key:0,mode:"icon",size:"small",icon:e.unref(k.MoreFilled),background:"hover",dropdown:{size:"small",placement:"bottom-end"},menus:n.menus,onCommand:a},{item:e.withCtx(({item:m})=>[e.createElementVNode("span",null,[n.checkable?(e.openBlock(),e.createBlock(e.unref(k.VtjIconCheck),{key:0,class:e.normalizeClass({"v-tabs__checked":!0,"is-checked":m.checked})},null,8,["class"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(m.label),1)])]),_:1},8,["icon","menus"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3}))}}),At={key:2,class:"v-item__index"},Ft={class:"v-item__content"},Pt={key:3,class:"v-item__subtitle"},O=e.defineComponent({name:"VItem",__name:"item",props:{icon:{},index:{},tag:{},tagType:{},title:{},subtitle:{},actions:{default:()=>[]},background:{type:Boolean},border:{type:Boolean},switch:{type:Boolean},modelValue:{},active:{type:Boolean},hover:{type:Boolean},small:{type:Boolean}},emits:["click","action","update:modelValue","switch"],setup(c,{emit:t}){const n={add:{label:"创建",icon:k.VtjIconPlus},copy:{label:"复制",icon:k.VtjIconCopy},edit:{label:"编辑",icon:k.VtjIconEdit},remove:{label:"删除",icon:k.VtjIconRemove},lock:{label:"锁定",icon:k.VtjIconLock},unlock:{label:"解锁",icon:k.VtjIconUnlock},invisible:{label:"隐藏",icon:k.VtjIconInvisible},visible:{label:"显示",icon:k.VtjIconVisible},home:{label:"主页",icon:k.VtjIconHome}},o=c,l=t,a=e.ref(!!o.modelValue),s=e.computed(()=>o.actions.map(m=>{const p=n[m];return{name:m,...p}})),r=e.computed(()=>({"is-background":o.background,"is-border":o.border,"is-active":o.active,"is-hover":o.hover,"is-small":o.small})),i=()=>{l("click",o.modelValue)},d=async m=>{m==="remove"?await y.ElMessageBox.confirm("确定删除吗?","提示",{type:"warning"}).catch(()=>!1)&&l("action",{name:m,modelValue:o.modelValue}):l("action",{name:m,modelValue:o.modelValue})};return e.watch(a,m=>{l("update:modelValue",m),l("switch",m)}),e.watch(()=>o.modelValue,m=>{a.value=!!m}),(m,p)=>(e.openBlock(),e.createBlock(e.unref(b.XContainer),{class:e.normalizeClass(["v-item",r.value]),justify:"space-between",align:"center",onClick:i},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{class:"v-item__title",align:"center"},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default",{},()=>[m.icon?(e.openBlock(),e.createBlock(e.unref(b.XIcon),{key:0,icon:m.icon},null,8,["icon"])):e.createCommentVNode("",!0),o.tag?(e.openBlock(),e.createBlock(e.unref(y.ElTag),{key:1,class:"v-item__tag",size:"small",type:o.tagType},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.tag),1)]),_:1},8,["type"])):e.createCommentVNode("",!0),m.index!==void 0?(e.openBlock(),e.createElementBlock("span",At," # "+e.toDisplayString(m.index),1)):e.createCommentVNode("",!0),e.createElementVNode("span",Ft,e.toDisplayString(m.title),1),m.subtitle?(e.openBlock(),e.createElementBlock("span",Pt,e.toDisplayString(m.subtitle),1)):e.createCommentVNode("",!0)])]),_:3}),e.createVNode(e.unref(b.XContainer),{class:"v-item__actions",onClick:p[1]||(p[1]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,v=>(e.openBlock(),e.createBlock(e.unref(b.XAction),{name:v.name,title:v.label,mode:"icon",size:"small",background:"none",type:"info",icon:v.icon,onClick:f=>d(v.name)},null,8,["name","title","icon","onClick"]))),256)),o.switch?(e.openBlock(),e.createBlock(e.unref(y.ElSwitch),{key:0,modelValue:a.value,"onUpdate:modelValue":p[0]||(p[0]=v=>a.value=v),class:"v-item__switch",size:"small"},null,8,["modelValue"])):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"status")]),_:3})]),_:3},8,["class"]))}}),Tt=["draggable"],Rt={class:"v-box__name"},zt={class:"v-box__label"},de=e.defineComponent({name:"VBox",__name:"box",props:{name:{},title:{},editable:{type:Boolean},active:{type:Boolean},draggable:{type:Boolean}},emits:["edit","remove","dragstart","dragend"],setup(c,{emit:t}){const n=c,o=t,l=()=>{o("edit")},a=async()=>{await y.ElMessageBox.confirm("确认删除?","提示",{type:"warning"}).catch(()=>!1)&&o("remove")},s=e.computed(()=>({"is-active":n.active,"is-draggable":n.draggable})),r=()=>{o("dragstart",n)},i=()=>{o("dragend",n)};return(d,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["v-box",s.value]),draggable:d.draggable,onDragstart:r,onDragend:i},[e.createVNode(e.unref(b.XContainer),{direction:"column",justify:"center",align:"center"},{default:e.withCtx(()=>[e.createElementVNode("span",Rt,e.toDisplayString(n.name),1),e.createElementVNode("span",zt,e.toDisplayString(n.title),1)]),_:1}),n.editable?(e.openBlock(),e.createBlock(e.unref(b.XContainer),{key:0,class:"v-box__footer",justify:"flex-end",align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XIcon),{icon:e.unref(k.VtjIconEdit),onClick:l},null,8,["icon"]),e.createVNode(e.unref(b.XIcon),{icon:e.unref(k.VtjIconRemove),onClick:a},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0)],42,Tt))}}),Jt={class:"v-context-viewer"},Fe=e.defineComponent({__name:"viewer",props:{context:{}},emits:["pick","copy"],setup(c,{emit:t}){const n=c,o=t,l=["$provider","$apis","$components","context"],a=m=>{const p=m.value,v=F.toRawType(p);return v==="Object"||v==="Module"?Object.keys(p||{}).length===0:v==="Array"?p.length===0:!0},s=(m,p="this")=>typeof m=="object"?Array.isArray(m)?m.map((v,f)=>{const u=`[${f}]`;return{label:u,value:v,type:F.toRawType(v),path:`${p}${u}`}}):Object.entries(m).map(([v,f])=>({label:v,value:f,type:F.toRawType(f),path:`${p}.${v}`})).filter(v=>!v.label.startsWith("__")&&!l.includes(v.label)):[],r=(m,p)=>{if(m.level===0)p(s(n.context));else{const v=e.toRaw(m.data.value);p(s(v,m.data.path))}},i=m=>{o("copy",m.path)},d=m=>{o("pick",m.path)};return(m,p)=>(e.openBlock(),e.createElementBlock("div",Jt,[m.context?(e.openBlock(),e.createBlock(e.unref(y.ElTree),{key:0,lazy:"",load:r,"expand-on-click-node":!1,props:{isLeaf:a}},{default:e.withCtx(({data:v})=>[e.createVNode(O,{title:v.label,clickable:"",onClick:f=>d(v),background:"",actions:["copy"],onAction:f=>i(v),grow:"",small:""},null,8,["title","onClick","onAction"])]),_:1},8,["props"])):e.createCommentVNode("",!0)]))}}),pe=e.defineComponent({__name:"binder",props:{title:{},context:{},block:{},model:{},rules:{},modelValue:{type:Boolean},submitMethod:{type:Function},unbindEnabled:{type:Boolean}},emits:["unbind","submit","cancel","pick","update:modelValue","close"],setup(c,{emit:t}){const n=c,o=t,{searchResult:l,keyword:a}=pt(n.block,n.context),{copy:s}=le.useClipboard({}),r=[{name:"normal",label:"常用"},{name:"viewer",label:"高级"}],i=e.ref("normal"),d=e.ref(),m=async C=>{o("submit",C),n.submitMethod?await n.submitMethod(C)&&p():p()},p=()=>{o("update:modelValue",!1),o("close")},v=()=>{o("unbind")},f=()=>{p()},u=async()=>{d.value?.submit()},g=C=>{o("pick",C)},h=C=>{s(C),y.ElMessage.success({message:"已经复制到粘贴板"})};return(C,_)=>(e.openBlock(),e.createBlock(e.unref(b.XDialog),{"model-value":n.modelValue,class:"v-binder",title:C.title,width:"1000px",height:"600px","body-padding":!1,maximizable:!1,minimizable:!1,onClose:p},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{fit:"",direction:"row",overflow:"hidden"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{width:"30%",height:"100%"},{default:e.withCtx(()=>[e.createVNode(ie,{class:"v-binder__tabs",items:r,modelValue:i.value,"onUpdate:modelValue":_[1]||(_[1]=V=>i.value=V)},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{class:"v-binder__tab-content",fit:"",padding:"",flex:!1},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",null,[e.createVNode(e.unref(y.ElInput),{modelValue:e.unref(a),"onUpdate:modelValue":_[0]||(_[0]=V=>e.isRef(a)?a.value=V:null),size:"small",clearable:"","prefix-icon":e.unref(k.Search),placeholder:"筛选可用项"},null,8,["modelValue","prefix-icon"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l),V=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(y.ElDivider),{"border-style":"dotted"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(V.title),1)]),_:2},1024),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.items,S=>(e.openBlock(),e.createBlock(O,{title:S,background:"",actions:["copy"],small:"",onClick:B=>g(S),onAction:B=>h(S)},null,8,["title","onClick","onAction"]))),256))]))),256)),e.unref(l).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0}))],512),[[e.vShow,i.value==="normal"]]),e.withDirectives(e.createVNode(Fe,{context:n.context,onCopy:h,onPick:g},null,8,["context"]),[[e.vShow,i.value==="viewer"]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(b.XPanel),{grow:"",header:null,border:!1},{footer:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{justify:"space-between"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),null,{default:e.withCtx(()=>[C.unbindEnabled?(e.openBlock(),e.createBlock(e.unref(y.ElButton),{key:0,type:"warning",size:"default",onClick:v},{default:e.withCtx(()=>[e.createTextVNode(" 移除绑定 ")]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.unref(b.XContainer),null,{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElButton),{type:"default",size:"default",onClick:f},{default:e.withCtx(()=>[e.createTextVNode(" 取消 ")]),_:1}),e.createVNode(e.unref(y.ElButton),{type:"primary",size:"default",onClick:u},{default:e.withCtx(()=>[e.createTextVNode(" 确定 ")]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(b.XForm),{ref_key:"formRef",ref:d,class:"v-binder__form",footer:!1,"label-position":"top","tooltip-message":!1,model:n.model,rules:n.rules,"submit-method":m},{default:e.withCtx(()=>[e.renderSlot(C.$slots,"default")]),_:3},8,["model","rules"])]),_:3})]),_:3})]),_:3},8,["model-value","title"]))}}),Lt={class:"v-slots-picker__sn"},Pe=e.defineComponent({__name:"slots",props:{slots:{default:()=>[]}},emits:["submit","update:modelValue"],setup(c,{emit:t}){const n=c,o=t,l=e.ref(),a=e.computed(()=>`${50*Math.ceil(n.slots.length/4)+180}px`),s=i=>{l.value=i},r=()=>{l.value?(o("submit",l.value),o("update:modelValue",!1)):L("请选择插槽")};return(i,d)=>(e.openBlock(),e.createBlock(e.unref(b.XDialog),e.mergeProps({class:"v-slots-picker",title:"选择插槽",width:"600px",height:a.value,submit:"",cancel:"",onSubmit:r},i.$attrs),{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElAlert),{title:"该组件支持多个插槽,请选择放置到其中一个",type:"warning",closable:!1}),e.createVNode(e.unref(b.XContainer),{class:"v-slots-picker__content",justify:"space-around",alignContent:"flex-start",gap:"",wrap:"wrap"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.slots,(m,p)=>(e.openBlock(),e.createBlock(e.unref(b.XContainer),{class:e.normalizeClass(["v-slots-picker__item",{"is-active":m.name===l.value?.name}]),grow:"",flex:!1,onClick:v=>s(m)},{default:e.withCtx(()=>[e.createElementVNode("span",Lt,"#"+e.toDisplayString(p+1),1),e.createTextVNode(" "+e.toDisplayString(m.name),1)]),_:2},1032,["class","onClick"]))),256))]),_:1})]),_:1},16,["height"]))}}),Ce=e.defineComponent({name:"Viewport",__name:"viewport",props:{mode:{default:"pc"},width:{},height:{}},setup(c){const t=c,n=e.computed(()=>[`is-${t.mode}`]),o=e.computed(()=>{if(t.mode==="pc")return 1;const a=t.mode==="mobile"?ge:he,{width:s,height:r}=a,i=s>0?(t.width||0)/s:1,d=r>0?(t.height||0)/r:1;return Math.min(i,d)}),l=e.computed(()=>{if(t.mode==="pc")return{};const a=t.mode==="mobile"?ge:he,{width:s,height:r}=a;return{width:`${s}px`,height:`${r}px`,left:"50%",top:"50%",transform:`translate(-50%, -50%) scale(${o.value})`}});return(a,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["v-viewport",n.value]),style:e.normalizeStyle(l.value)},[e.renderSlot(a.$slots,"default")],6))}}),Mt=e.defineComponent({name:"PagesWidget",__name:"index",setup(c){const{project:t,engine:n}=me(),o=e.computed(()=>t.value?.pages||[]),{current:l}=W(),a=e.ref(!1),s=e.ref(),r=e.ref(),i=()=>{r.value=void 0,s.value=void 0,a.value=!0},d=async f=>{const{name:u,modelValue:g}=f,{data:h,node:C}=g;if(u==="add"&&(s.value=void 0,r.value=h.id,a.value=!0),u==="edit"&&(s.value=F.cloneDeep(h),r.value=void 0,a.value=!0),u==="remove"){if(h.dir){const _=t.value?.getPage(h.id);if(_&&_.children?.length){L("请先删除子页面");return}}t.value?.removePage(h.id)}if(u==="copy"){const _=C.parent?.data.id;t.value?.clonePage(h,_)}u==="home"&&(t.value?.setHomepage(h.id),H("设置主页成功","success"))},m=async f=>{f.raw&&H("这是源码模式页面,不能低代码设计","warning"),f.dir||f.raw?n.project.value?.deactivate():n.project.value?.active(f)},p=(f,u,g)=>g==="inner"?!!u.data.dir:!0,v=()=>{t.value?.update({pages:e.toValue(o)})};return(f,u)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-pages-widget",title:"页面管理",plus:"",subtitle:"(共 0 条)",onPlus:i},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElTree),{data:o.value,"node-key":"id","default-expand-all":"",draggable:"","allow-drop":p,onNodeDrop:v},{default:e.withCtx(({data:g,node:h})=>[e.createVNode(e.unref(O),{class:"v-pages-widget__item",icon:e.unref(k.icons)[g.icon],title:g.title,subtitle:g.name,"model-value":{data:g,node:h},actions:g.dir?["add","edit","remove"]:g.raw?["home","edit","remove"]:["home","copy","edit","remove"],onAction:d,onClick:C=>m(g),active:e.unref(l)?.id===g.id,tag:e.unref(t)?.homepage===g.id?"主页":void 0,"tag-type":"success",grow:"",small:"",background:"",hover:""},null,8,["icon","title","subtitle","model-value","actions","onClick","active","tag"])]),_:1},8,["data"]),a.value?(e.openBlock(),e.createBlock(It,{key:0,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=g=>a.value=g),item:s.value,"parent-id":r.value},null,8,["modelValue","item","parent-id"])):e.createCommentVNode("",!0)]),_:1}))}}),Ot=e.defineComponent({name:"BlocksWidget",__name:"index",setup(c){const{span:t}=De(),{blocks:n,engine:o}=st(),l=e.ref(void 0),{current:a}=W(),s=e.ref(!1),r=e.computed(()=>l.value?.id?"编辑":"新增"),i=e.computed(()=>`(共 ${n.value.length} 个)`),d=()=>({name:"",title:"",type:"block"}),m=async _=>{const V=_,S=o.project.value;if(!S)return!1;if(_.id)if(!S.existBlockName(V.name,[V.id]))S.updateBlock(V);else return L(`名称【${V.name}】已经存在,请更换名称`),!1;else if(!S.existBlockName(V.name))S.createBlock(V);else return L(`名称【${V.name}】已经存在,请更换名称`),!1;return!0},p=()=>{l.value=d(),s.value=!0},v=_=>{l.value=F.cloneDeep(_),s.value=!0},f=_=>{o.project.value?.removeBlock(_.id)},u=_=>{l.value&&(l.value.name=F.upperFirstCamelCase(_))},g=async _=>{o.project.value?.active(_)},h=async _=>{const V={type:"Schema",id:_.id},S=await o.assets.getBlockMaterial(V),B=o.skeleton?.getWidget("Designer")?.widgetRef?.designer;B&&S&&B.setDragging(S)},C=()=>{const _=o.skeleton?.getWidget("Designer")?.widgetRef?.designer;_&&_.setDragging(null)};return(_,V)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-blocks-widget",title:"区块管理",subtitle:i.value,plus:"",onPlus:p},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElRow),{wrap:"wrap",gutter:5},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),S=>(e.openBlock(),e.createBlock(e.unref(y.ElCol),{key:S.id,span:e.unref(t)},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{name:S.name,title:S.title,active:e.unref(a)?.id===S.id,editable:"",onEdit:B=>v(S),onRemove:B=>f(S),onClick:B=>g(S),draggable:e.unref(a)?.id!==S.id,onDragstart:B=>h(S),onDragend:C},null,8,["name","title","active","onEdit","onRemove","onClick","draggable","onDragstart"])]),_:2},1032,["span"]))),128))]),_:1}),e.unref(n).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0})),e.createVNode(e.unref(b.XDialogForm),{modelValue:s.value,"onUpdate:modelValue":V[0]||(V[0]=S=>s.value=S),title:r.value,model:l.value,width:"600px",height:"250px","form-props":{tooltipMessage:!1},"submit-method":m},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"name",label:"名称",required:"",tip:"名称为英文驼峰格式",rules:{message:"名称格式错误",pattern:e.unref(Q)},onChange:u},null,8,["rules"]),e.createVNode(e.unref(b.XField),{name:"title",label:"标题",required:""})]),_:1},8,["modelValue","title","model"])]),_:1},8,["subtitle"]))}}),Xt={class:"v-components-widget__search"},Wt={key:0,class:"v-components-widget__result"},Ut={class:"v-components-widget__list"},Ht=e.defineComponent({name:"ComponentsWidget",__name:"index",setup(c){const{span:t,engine:n}=De(),{tabs:o,currentTab:l,currentGroup:a,model:s,searchKey:r,searchResult:i}=ct(),d=p=>{const v=n.skeleton?.getWidget("Designer")?.widgetRef?.designer;v&&v.setDragging(p)},m=()=>{const p=n.skeleton?.getWidget("Designer")?.widgetRef?.designer;p&&p.setDragging(null)};return(p,v)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-components-widget",title:"组件库",body:{flex:!0,direction:"column"}},{default:e.withCtx(()=>[e.createElementVNode("div",Xt,[e.createVNode(e.unref(y.ElInput),{modelValue:e.unref(r),"onUpdate:modelValue":v[0]||(v[0]=f=>e.isRef(r)?r.value=f:null),placeholder:"搜索组件",clearable:"",size:"small"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconSearch))]),_:1},8,["modelValue"])]),e.unref(r)?(e.openBlock(),e.createElementBlock("div",Wt,[e.createVNode(e.unref(y.ElRow),{wrap:"wrap",gutter:5},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),f=>(e.openBlock(),e.createBlock(e.unref(y.ElCol),{span:e.unref(t),key:f.name},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{name:f.name,title:f.label||f.name,draggable:"",onDragstart:u=>d(f),onDragend:m},null,8,["name","title","onDragstart"])]),_:2},1032,["span"]))),128))]),_:1}),e.unref(i).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0}))])):(e.openBlock(),e.createBlock(e.unref(b.XTabs),{key:1,items:e.unref(o),modelValue:e.unref(l),"onUpdate:modelValue":v[2]||(v[2]=f=>e.isRef(l)?l.value=f:null)},{default:e.withCtx(()=>[e.createElementVNode("div",Ut,[e.unref(a)?(e.openBlock(),e.createBlock(e.unref(y.ElCollapse),{key:0,modelValue:e.unref(s)[e.unref(l)],"onUpdate:modelValue":v[1]||(v[1]=f=>e.unref(s)[e.unref(l)]=f)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a).children,f=>(e.openBlock(),e.createBlock(e.unref(y.ElCollapseItem),{key:f.name,name:f.name,title:`${f.label} (${f.count})`},{default:e.withCtx(()=>[f.components?(e.openBlock(),e.createBlock(e.unref(y.ElRow),{key:0,wrap:"wrap",gutter:5},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.components,u=>(e.openBlock(),e.createBlock(e.unref(y.ElCol),{span:e.unref(t),key:u.name},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{name:u.name,title:u.label||u.name,draggable:"",onDragstart:g=>d(u),onDragend:m},null,8,["name","title","onDragstart"])]),_:2},1032,["span"]))),128))]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1032,["name","title"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0)])]),_:1},8,["items","modelValue"]))]),_:1}))}}),qt=e.defineComponent({name:"OutlineWidget",__name:"index",setup(c){const{engine:t,designer:n,selected:o}=Y(),{current:l}=W(),a=e.ref([]),s=B=>{if(w.isBlock(B))return B.locked?["unlock"]:["lock"];const E=B.parent;return E&&(E.locked||E.invisible)?[]:l.value?.locked?[]:B.locked?["unlock"]:B.invisible?["visible"]:["lock","invisible","copy","remove"]},r=B=>{const E=[];return B.forEach(x=>{const J={id:x.id,label:x.name,type:x.id,model:x};Array.isArray(x.children)&&(J.children=r(x.children)),E.push(J)}),E},i=()=>{if(!l.value)return[];const{id:B,name:E,nodes:x}=l.value;return[{id:B,label:E,type:B,model:l.value,children:r(x)}]},d=async()=>{a.value=i(),o.value?.model&&(await e.nextTick(),n.value?.setSelected(o.value.model))},m=e.computed(()=>o.value?.model.id),p=B=>{const E=B.data;if(w.isBlock(E.model)||E.model.locked||E.model.name==="template")return!1;const x=t.assets.componentMap.get(E.model.name);return x?(n.value?.setDragging(x),!0):!1},v=async(B,E,x)=>{const J=E.data,ne={prev:"top",next:"bottom",inner:"inner"}[x];let j=!1;if(w.isBlock(J.model))j=x==="inner",n.value?.setDropping(j?J.model:null,"inner");else{const P=J.model;j=!!await n.value?.allowDrop(P,ne),n.value?.setDropping(j?P:null,"inner")}return j},f=B=>{const E=B?.model;!E||E.invisible||(n.value?.setSelected(E),n.value?.setHover(null))},u=async(B,E,x)=>{const J=B.data,Z=E.data;if(w.isBlock(Z.model)){n.value?.setDropping(null),n.value?.setDragging(null);return}const ne=Z.model,j={before:"left",after:"right"}[x]||"inner";if(!await n.value?.allowDrop(ne,j)){n.value?.setDropping(null),d(),y.ElMessage.warning({message:`${J.model.name}不能放置到该位置`}),n.value?.setDragging(null);return}const N=await n.value?.getDropSlot(x==="inner"?ne:ne.parent);if(N!==null){const ae=J.model;ae.slot=N,l.value?.move(ae,ne,j)}else d();n.value?.setDropping(null),n.value?.setDragging(null),t.simulator.refresh()},g=B=>{w.isBlock(B.model)?n.value?.setHover(B.model):(n.value?.setHover(B.model),B.model.invisible&&n.value?.setHover(null),B.model.name==="slot"&&n.value?.setHover(null))},h=()=>{n.value?.setHover(null)},C=B=>{const E=B.data;E.dragging=!0;const x=t.assets.componentMap.get(E.model.name);x&&n.value?.setDragging(x)},_=async B=>{const E=B.data;E.dragging=!1},V=(B,E)=>{B&&((B.id===E.id||!w.isBlock(B)&&E.isChild(B))&&n.value?.setSelected(null),n.value?.setHover(null))},S=B=>{const{name:E,modelValue:x}=B,J=o.value?.model;switch(E){case"lock":V(J,x),x.lock();break;case"unlock":V(J,x),x.unlock();break;case"invisible":V(J,x),x.setVisible(!1);break;case"visible":x.setVisible(!0);break;case"copy":const Z=l.value?.cloneNode(x);Z&&n.value?.setSelected(Z);break;case"remove":V(J,x),l.value?.removeNode(x);break}};return e.watch(t.changed,d,{immediate:!0}),(B,E)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-outline-widget",title:"大纲树"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.unref(y.ElTree),{key:e.unref(t).changed.value,data:a.value,"node-key":"id","default-expand-all":"",draggable:"","empty-text":"请新建或打开文件","current-node-key":m.value,"highlight-current":!0,"expand-on-click-node":!1,"allow-drop":v,"allow-drag":p,onCurrentChange:f,onNodeDrop:u,onNodeDragStart:C,onNodeDragEnd:_},{default:e.withCtx(({data:x,node:J})=>[e.createVNode(e.unref(O),{class:e.normalizeClass(["v-outline-widget__item",{"is-locked":x.model.locked,"is-invisible":x.model.invisible,"is-dragging":x.dragging}]),active:!x.model.invisible&&J.isCurrent,grow:"",small:"",background:"",hover:"","model-value":x.model,icon:x.model.locked?e.unref(k.VtjIconLock):x.model.invisible?e.unref(k.VtjIconInvisible):void 0,title:x.label,subtitle:x.type,actions:s(x.model),onAction:S,onMouseenter:Z=>g(x),onMouseleave:h},null,8,["class","active","model-value","icon","title","subtitle","actions","onMouseenter"])]),_:1},8,["data","current-node-key"]))]),_:1}))}}),Gt=e.defineComponent({name:"HistoryWidget",__name:"index",setup(c){const{history:t,load:n,total:o}=je(),l=e.computed(()=>`(共 ${o.value} 条)`),a=r=>{r.name==="remove"&&t.value?.remove(r.modelValue.id)},s=async()=>{await re("确定要清空历史记录吗?")&&t.value?.clear()};return(r,i)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-history-widget",title:"历史记录",subtitle:l.value,remove:!!e.unref(o),onRemove:s},{default:e.withCtx(()=>[e.unref(o)===0?(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,"image-size":50})):e.createCommentVNode("",!0),e.unref(t)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(e.unref(t).items,(d,m)=>(e.openBlock(),e.createBlock(e.unref(O),{index:m+1,title:d.label,"model-value":d,active:m==e.unref(t).index,small:"",background:"",actions:["remove"],onAction:a,onClick:p=>e.unref(n)(d.id)},null,8,["index","title","model-value","active","onClick"]))),256)):e.createCommentVNode("",!0)]),_:1},8,["subtitle","remove"]))}}),M=e.defineAsyncComponent({loader:()=>Promise.resolve().then(()=>require("./Editor-YiL8B0KR.cjs")),loadingComponent:e.defineComponent({render(){return e.h("div","正在拼命加载...")}}),errorComponent:e.defineComponent({render(){return e.h("div","组件加载失败!")}})}),Kt=e.defineComponent({name:"ApisWidget",__name:"index",setup(c){const t=e.ref(!1),n=e.ref(null),o=e.ref(!1),l=e.computed(()=>o.value?"编辑API":"新增API"),a=e.computed(()=>s.value?.apis||[]),{project:s}=me(),r=()=>({method:"get",name:"",label:"",url:"",settings:{loading:!0,failMessage:!0,validSuccess:!0,originResponse:!1,injectHeaders:!1,type:"form",headers:{type:"JSExpression",value:"({})"}}}),i=()=>{t.value=!0,o.value=!1,n.value=r()},d=Ee.map(h=>({label:h,value:h.toLowerCase()})),m={get:"success",post:"primary",put:"warning",delete:"danger",patch:"warning",jsonp:"info"},p=[{label:"表单",value:"form"},{label:"JSON",value:"json"},{label:"文件",value:"data"}],v=(h,C,_)=>{X({type:"JSExpression",value:C},window)?_():_(new Error("代码错误"))},f=h=>{h.name==="edit"&&u(h.modelValue),h.name==="remove"&&s.value?.removeApi(h.modelValue.name)},u=h=>{o.value=!0,n.value=F.cloneDeep(h),t.value=!0},g=async h=>s.value?.existApiName(h.name,o.value?[h.id]:[])?(L(`API名称 [ ${h.name} ] 已存在`),!1):(s.value?.setApi(h),!0);return(h,C)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-apis-widget",title:"API管理",plus:"",onPlus:i},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,_=>(e.openBlock(),e.createBlock(e.unref(O),{key:_.id,small:"",title:_.name,subtitle:_.label,"model-value":_,tag:_.method?.toUpperCase(),"tag-type":m[_.method||"get"],background:"",actions:["edit","remove"],onClick:V=>u(_),onAction:f},null,8,["title","subtitle","model-value","tag","tag-type","onClick"]))),128)),a.value.length===0?(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,"image-size":50})):e.createCommentVNode("",!0),e.createVNode(e.unref(b.XDialogForm),{modelValue:t.value,"onUpdate:modelValue":C[1]||(C[1]=_=>t.value=_),model:n.value,title:l.value,width:"1000px",height:"600px","form-props":{labelPosition:"top",tooltipMessage:!1,size:"default"},"submit-method":g},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{gap:"",fit:""},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{direction:"column",grow:"",width:"50%",shrink:""},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"method",label:"请求类型",required:"",editor:"radio",options:e.unref(d),props:{button:!0}},null,8,["options"]),e.createVNode(e.unref(b.XField),{name:"name",label:"接口名称",required:"",rules:{pattern:e.unref(Q),message:"名称格式不正确"}},null,8,["rules"]),e.createVNode(e.unref(b.XField),{name:"label",label:"备注说明",required:""}),e.createVNode(e.unref(b.XField),{name:"url",label:"接口URL",required:""})]),_:1}),e.createVNode(e.unref(b.XContainer),{direction:"column",grow:"",width:"50%",shrink:""},{default:e.withCtx(()=>[n.value.method!=="jsonp"?(e.openBlock(),e.createBlock(e.unref(I),{key:0,title:"请求配置",subtitle:n.value.method,border:""},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{justify:"space-around"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"settings.loading",size:"small",label:"加载提示",editor:"switch"}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.failMessage",label:"失败提示",editor:"switch"}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.validSuccess",label:"校验成功",editor:"switch"}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.originResponse",label:"原始响应",editor:"switch"}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.injectHeaders",label:"注入请求头",editor:"switch"})]),_:1}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.type",label:"发送数据类型",editor:"radio",options:p,props:{button:!0}}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.headers.value",label:"请求头配置",tip:"支持 JSExpression 或 JSFunction",rules:{validator:v}},{editor:e.withCtx(()=>[e.createVNode(e.unref(M),{modelValue:n.value.settings.headers.value,"onUpdate:modelValue":C[0]||(C[0]=_=>n.value.settings.headers.value=_),dark:"",height:"200px"},null,8,["modelValue"])]),_:1},8,["rules"])]),_:1},8,["subtitle"])):e.createCommentVNode("",!0),n.value.method==="jsonp"?(e.openBlock(),e.createBlock(e.unref(I),{key:1,title:"请求配置",subtitle:n.value.method,border:""},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"jsonpOptions.jsonpCallback",size:"small",label:"jsonpCallback"}),e.createVNode(e.unref(b.XField),{name:"jsonpOptions.jsonpCallbackFunction",size:"small",label:"jsonpCallbackFunction"}),e.createVNode(e.unref(b.XField),{name:"jsonpOptions.timeout",size:"small",label:"timeout",editor:"number"}),e.createVNode(e.unref(b.XField),{name:"jsonpOptions.crossorigin",size:"small",label:"crossorigin",editor:"switch"})]),_:1},8,["subtitle"])):e.createCommentVNode("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue","model","title"])]),_:1}))}}),Zt=e.defineComponent({name:"DepsWidget",__name:"index",setup(c){const{dependencies:t,engine:n}=Ie(),o=e.ref(!1),l=e.ref(!1),a=e.ref({}),s=e.computed(()=>l.value?"查看依赖":a.value?"编辑依赖":"新增依赖"),r=u=>u.required||u.official?[]:["edit","remove"],i=u=>u.official&&!u.required,d=async u=>(u.urls=u.urls.split(`
7
+ */const Be="0.7.29",ge={width:390,height:844},he={width:1180,height:820},Q=/^[A-Za-z_$][\w_-]*$/,xe=["click","dblclick","mouseenter","mouseleave","mousedown","mouseup","mouseover","contextmenu"],Se=["keydown","keyup","keypress"],Ee=["GET","POST","PUT","PATCH","DELETE","JSONP"],Ne=["stop","prevent","capture","self","once","passive"];var K=(c=>(c.Block="block",c.Node="node",c))(K||{}),$e=(c=>(c.Brand="Brand",c.Toolbar="Toolbar",c.Actions="Actions",c.Apps="Apps",c.Workspace="Workspace",c.Settings="Settings",c.Status="Status",c.Preview="Preview",c))($e||{});const ye="data:image/png;base64,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",nt=["title","src"],ot={key:1},lt=e.defineComponent({name:"LogoWidget",inheritAttrs:!1,__name:"index",props:{icon:{default:ye},text:{default:"VTJ"},link:{}},setup(c){const t=c,n=()=>{t.link&&(location.href=t.link)};return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:"v-logo-widget",onClick:n},[t.icon?(e.openBlock(),e.createElementBlock("img",{key:0,title:t.text,class:"v-logo-widget__icon",src:t.icon},null,8,nt)):(e.openBlock(),e.createElementBlock("span",ot,e.toDisplayString(t.text),1))]))}}),rt={class:"v-empty-widget"},at=e.defineComponent({name:"EmptyWidget",__name:"index",setup(c){return(t,n)=>(e.openBlock(),e.createElementBlock("div",rt,"EmptyWidget"))}});function Ie(){const c=U(),t=e.computed(()=>c.project.value?.dependencies??[]),n=e.computed(()=>c.project.value?.apis??[]);return{engine:c,dependencies:t,apis:n}}function oe(c,t){const n=e.computed(()=>_e.getWidgets(e.unref(c),e.unref(t)).filter(l=>!l.invisible)),o=e.ref();return{widgets:n,widgetsRef:o}}function De(){const c=U();return{span:e.computed(()=>{const l=c.skeleton?.skeletonRef.leftWidth||400,a=Math.min(Math.floor((l-50)/120),24);return Math.floor(24/a)}),engine:c}}function st(){const c=U(),t=e.computed(()=>c.project.value?.blocks??[]);return{engine:c,blocks:t}}const it=(c=[])=>c.map(t=>t.name);function ct(){const c=U(),{components:t,groups:n,componentMap:o}=c.assets,l=e.reactive({}),a=e.computed(()=>{const p={};return n.value&&n.value.forEach(v=>{p[v.name]=v}),p}),s=e.computed(()=>n.value?n.value.map(p=>({label:`${p.label} (${p.count})`,name:p.name,disabled:!p.children?.length})):[]),r=e.ref(s.value[0]?.name),i=e.ref(""),d=e.computed(()=>a.value[r.value]);e.watchEffect(()=>{const p=s.value.reduce((v,f)=>(v[f.name]=it(a.value[f.name].children),v),{});Object.assign(l,p)});const m=e.computed(()=>{const p=i.value.toLowerCase();return!p||!t?[]:t.filter(v=>v.name.toLowerCase().includes(p)||v.label?.toLowerCase().includes(p))});return{components:t,groups:n,componentMap:o,groupMap:a,tabs:s,model:l,currentTab:r,currentGroup:d,searchKey:i,searchResult:m}}function W(){const c=U(),t=e.computed(()=>c.current.value),n=e.computed(()=>c.simulator.renderer?.context??null),o=e.computed(()=>c.isEmptyCurrent.value);return{engine:c,current:t,isEmpty:o,context:n}}function ut(c,t,n){const o=U();o.simulator.init(c,t,n);const l=e.computed(()=>o.simulator.designer.value),a=e.computed(()=>fe("hover",l.value?.hover.value)),s=e.computed(()=>fe("dropping",l.value?.dropping.value)),r=e.computed(()=>fe("selected",l.value?.selected.value));return e.watch(o.changed,()=>{l.value?.updateRect()}),{designer:l,dropping:s,hover:a,selected:r}}function dt(c,t=!0){const{top:n,height:o,width:l,left:a}=c||{};if(o>100&&l>200)return"inner";let s,r;return r=n>30?"top":"bottom",s=t||a<300&&l<300?"left":"right",[s,r].join("-")}function mt(c){const{rect:t,type:n}=c,{left:o,width:l,top:a,height:s}=t,r={left:o,width:l,top:a,height:s};switch(n){case"left":r.left=0,r.width=0;break;case"right":r.left=r.left+r.width-4,r.width=0;break;case"bottom":r.top=r.top+r.height-4,r.height=0;break;case"top":r.height=0;break}return r}function fe(c,t){if(!t)return null;const{left:n,top:o,width:l,height:a}=c==="dropping"?mt(t):t.rect,s={left:`${n}px`,top:`${o}px`,width:`${l}px`,height:`${a}px`,visibility:l||a?"visible":"hidden"};return{...t,style:s,position:dt(t.rect,c!=="selected")}}function Y(){const c=U(),t=e.computed(()=>c.simulator.designer.value),n=e.computed(()=>t.value?.selected.value),o=e.computed(()=>w.isBlock(n.value?.model));return{engine:c,designer:t,selected:n,isSelectBlock:o}}function pt(c,t){const n=e.ref(""),{selected:o,isSelectBlock:l}=Y(),a=e.computed(()=>o.value?.model.id),s=e.computed(()=>{const i=e.toValue(c),d=e.toValue(t),m=[];if(!i)return m;const p=d?.__contextRefs[a.value||""],f=d===p||l.value?[]:Object.keys(p?.context||{}).filter(B=>!["context","ref"].includes(B)).map(B=>`this.context.${B}`);f.length&&m.push({title:"上下文",items:f});const u=i.inject.map(B=>`this.${B.name}`);u.length&&m.push({title:"注入",items:u});const g=i.props.map(B=>typeof B=="string"?`this.$props.${B}`:`this.$props.${B.name}`);g.length&&m.push({title:"属性",items:g});const h=Object.keys(i.state).map(B=>`this.state.${B}`);h.length&&m.push({title:"状态",items:h});const C=Object.keys(i.computed).map(B=>`this.${B}.value`);C.length&&m.push({title:"计算属性",items:C});const _=Object.keys(i.methods).map(B=>`this.${B}`);_.length&&m.push({title:"方法",items:_});const V=Object.keys(i.dataSources).map(B=>`this.${B}`);V.length&&m.push({title:"数据源",items:V});const S=Object.keys(d?.$refs||{}).map(B=>`this.$refs.${B}`);return S.length&&m.push({title:"refs",items:S}),m}),r=e.computed(()=>{if(!n.value)return s.value;const i=n.value.toLowerCase(),d=[];return s.value.forEach(m=>{const p=m.items.filter(v=>v.toLowerCase().includes(i));p.length&&d.push({title:m.title,items:p})}),d});return{keyword:n,options:s,searchResult:r}}const ue=[{name:"StringSetter",label:"文本"},{name:"ExpressionSetter",label:"表达式"}];function ft(c){const t=U(),n=e.computed(()=>{const p=c.value?.model||null;return w.isBlock(p)?null:p}),o=e.ref();e.watch(n,async p=>{p?.from?o.value=await t.assets.getBlockMaterial(p.from)||void 0:o.value=void 0},{immediate:!0});const l=e.computed(()=>n.value?[{name:"key",setters:ue,value:n.value.getPropValue("key")},{name:"ref",setters:ue,value:n.value.getPropValue("ref")},{name:"class",label:"class",setters:ue,value:n.value.getPropValue("class")},{name:"children",label:"文本",title:"如设置组件文本,将清空子组件",setters:ue,value:Array.isArray(n.value.children)?"":n.value.children}]:[]),a=e.computed(()=>{if(!n.value)return[];const p=o.value||t.assets.componentMap.get(n.value.name);return p?(p.props||[]).map(f=>({...f,value:n.value?.getPropValue(f.name)??f.defaultValue})):[]}),s=p=>l.value.some(v=>v.name===p)||a.value.some(v=>v.name===p)||p==="style",r=e.computed(()=>n.value?Object.keys(n.value.props).filter(p=>!s(p)).map(p=>({name:p,setters:"InputSetter",value:n.value?.getPropValue(p)})):[]);return{commonProps:l,componentProps:a,customProps:r,node:n,change:(p,v)=>{n.value&&(p==="children"?n.value.setChildren(v):n.value.setProp(p,v))},addCustom:p=>{p&&n.value?.setProp(p,"")},removeCustom:p=>{n.value?.removeProp(p)},isExist:s}}function L(c,t="提示"){return y.ElNotification.warning({title:t,message:c})}async function re(c){return await y.ElMessageBox.confirm(c,"提示",{type:"warning"}).catch(()=>!1)}function H(c,t="success"){return y.ElMessage({message:c,type:t})}function X(c,t,n=!1){let o=!0;try{c.type==="JSExpression"?D.parseExpression(c,t,n,!0):D.parseFunction(c,t,n,!0)}catch(l){o=!1,y.ElNotification.error({title:"代码错误",message:l.message})}return o}function je(){const c=U(),t=e.computed(()=>c.simulator.designer.value),n=e.computed(()=>c.current.value?c.history.value:null),o=e.computed(()=>n.value?.items.length||0),l=()=>{t.value?.cleanHelper(),n.value?.forward()},a=()=>{n.value?.backward(),t.value?.cleanHelper()},s=d=>{t.value?.cleanHelper(),n.value?.load(d),H("已载入历史记录","success")},r=e.computed(()=>o.value<=1?!0:(n.value?.index||-1)<=0),i=e.computed(()=>o.value<=1?!0:(n.value?.index||-1)>=o.value-1);return{engine:c,history:n,total:o,forward:l,backward:a,load:s,forwardDisabled:r,backwardDisabled:i}}function me(){const c=U(),t=e.computed(()=>c.project.value);return{engine:c,project:t}}function vt(c){const t=U(),n=e.computed(()=>{const r=c.value?.model||null;return!r||w.isBlock(r)?null:r}),o=e.ref();e.watch(n,async r=>{r?.from?o.value=await t.assets.getBlockMaterial(r.from)||void 0:o.value=void 0},{immediate:!0});const l=e.computed(()=>{if(w.isBlock(n.value))return[];const r=n.value?.events||{};return xe.map(i=>({name:i,event:r[i]}))}),a=e.computed(()=>{if(w.isBlock(n.value))return[];const r=n.value?.events||{};return Se.map(i=>({name:i,event:r[i]}))}),s=e.computed(()=>{if(!n.value||w.isBlock(n.value))return[];const r=n.value.events||{};return(o.value?.events||t.assets.componentMap.get(n.value.name)?.events||[]).map(d=>{const m=typeof d=="string"?d:d.name;return{name:m,event:r[m]}})});return{mouseEventList:l,keyboardEventList:a,componentEventList:s}}const Ve=(c,t)=>new w.DirectiveModel({name:c,value:void 0,iterator:t}),gt=(c="modelValue")=>new w.DirectiveModel({name:"vModel",value:void 0,arg:c});function ht(c){if(!c)return[];const{props:t=[],events:n=[]}=c;if(t.length&&n.length){const o=n.filter(l=>(typeof l=="string"?l:l.name).startsWith("update:")).map(l=>l=typeof l=="string"?l:l.name);return o.length?t.filter(l=>o.some(a=>a.includes(l.name))):[]}return[]}function bt(c){const t=U(),n=e.computed(()=>{const u=c.value?.model||null;return w.isBlock(u)?null:u}),o=u=>e.computed(()=>n.value&&(n.value.directives||[]).find(g=>g.name===u)||Ve(u)),l=()=>e.computed(()=>{if(!n.value)return[];const u=t.assets.componentMap.get(n.value.name||"");return(u?ht(u):[]).map(h=>(n.value?.directives||[]).find(C=>C.name==="vModel"&&C.arg==h.name)||gt(h.name))}),a=o("vIf"),s=o("vShow"),r=o("vBind"),i=o("vFor"),d=l(),m={vIf:a,vShow:s,vBind:r,vFor:i};return{engine:t,node:n,vIf:a,vShow:s,vBind:r,vFor:i,vModels:d,onValueChange:(u,g)=>{const h=m[u];n.value&&(g?(h.value.value=g,n.value.setDirective(h.value)):(h.value.value=void 0,n.value.removeDirective(h.value)))},onForChange:(u,g)=>{if(n.value){if(u==="value"){g?(i.value.value=g,n.value.setDirective(i.value)):n.value.removeDirective(i.value);return}(u==="item"||u==="index")&&(i.value.iterator={...i.value.iterator,[u]:g||void 0},n.value.setDirective(i.value))}},onModelChange:(u,g)=>{if(!n.value)return;const h=parseInt(u),C=d.value[h];C&&(g?(C.value=g,n.value.setDirective(C)):(C.value=void 0,n.value.removeDirective(C)))}}}function kt(){const{engine:c,project:t}=me(),n=e.computed(()=>t.value?.apis||[]);return{engine:c,project:t,apis:n}}const yt={class:"v-switcher-widget"},Ct={key:1},_t=e.defineComponent({name:"SwitcherWidget",inheritAttrs:!1,__name:"index",emits:["click"],setup(c,{emit:t}){const n=t,{engine:o}=W(),l=e.computed(()=>o.project.value?.name),a=e.computed(()=>o.project.value?.currentFile?.title),s=()=>{n("click",o.project.value)};return(r,i)=>(e.openBlock(),e.createElementBlock("div",yt,[e.createVNode(e.unref(y.ElButton),{size:"small",round:"",onClick:s},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconBack),{class:"v-switcher-widget__back"}),e.createElementVNode("span",null,e.toDisplayString(l.value),1),a.value?(e.openBlock(),e.createBlock(e.unref(y.ElDivider),{key:0,direction:"vertical"})):e.createCommentVNode("",!0),a.value?(e.openBlock(),e.createElementBlock("span",Ct,e.toDisplayString(a.value),1)):e.createCommentVNode("",!0)]),_:1})]))}}),wt={class:"v-toolbar-widget"},Vt=e.defineComponent({name:"ToolbarWidget",inheritAttrs:!1,__name:"index",props:{preview:{type:Boolean}},setup(c,{expose:t}){const n=c,{forward:o,backward:l,forwardDisabled:a,backwardDisabled:s}=je(),r=e.ref("pc");return t({mode:r}),(i,d)=>(e.openBlock(),e.createElementBlock("div",wt,[e.createVNode(e.unref(y.ElRadioGroup),{size:"small",modelValue:r.value,"onUpdate:modelValue":d[0]||(d[0]=m=>r.value=m)},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElRadioButton),{label:"pc",value:"pc"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconPc))]),_:1}),e.createVNode(e.unref(y.ElRadioButton),{label:"mobile",value:"mobile"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconPhone))]),_:1}),e.createVNode(e.unref(y.ElRadioButton),{label:"pad",value:"pad"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconPad))]),_:1})]),_:1},8,["modelValue"]),e.createCommentVNode("",!0),e.createVNode(e.unref(y.ElButtonGroup),null,{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElButton),{type:"default",size:"small",onClick:e.unref(l),disabled:e.unref(s)||!!n.preview},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconUndo))]),_:1},8,["onClick","disabled"]),e.createVNode(e.unref(y.ElButton),{type:"default",size:"small",onClick:e.unref(o),disabled:e.unref(a)||!!n.preview},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconRedo))]),_:1},8,["onClick","disabled"])]),_:1})]))}}),Bt={class:"v-actions-widget"},xt=e.createElementVNode("span",null,"发布",-1),St=e.defineComponent({name:"ActionsWidget",inheritAttrs:!1,__name:"index",props:{coder:{type:Boolean,default:!0}},setup(c){const{engine:t,designer:n}=Y(),o=e.ref(!1),l=()=>{t.current.value?(o.value?t.skeleton?.getWidget("Previewer")?.widgetRef.refresh():(n.value?.setSelected(null),t.simulator.refresh()),H("刷新完成","success")):H("请先打开文件","warning")},a=async()=>{t.current.value?(o.value&&(t.skeleton?.closePreview(),o.value=!1,await F.delay(1e3)),n.value?.setSelected(t.current.value)):H("请先打开文件","warning")},s=()=>{if(t.project.value)if(t.current.value){if(o.value){t.skeleton?.closePreview(),o.value=!1;return}t.skeleton?.openPreview(""),o.value=!0}else H("请先打开文件","warning")},r=()=>{const d=t.project.value;d&&(d.currentFile?d.publish(d.currentFile):H("请先打开文件","warning"))},i=d=>{const m=t.project.value;m&&(d==="current"?r():m.publish())};return(d,m)=>(e.openBlock(),e.createElementBlock("div",Bt,[e.createCommentVNode("",!0),e.createCommentVNode("",!0),e.createVNode(e.unref(y.ElButton),{onClick:s,type:o.value?"warning":"default",size:"small",title:"预览"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconPreview))]),_:1},8,["type"]),e.createVNode(e.unref(y.ElButton),{onClick:l,type:"default",size:"small",title:"刷新"},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconRefresh))]),_:1}),e.createVNode(e.unref(y.ElButton),{type:"default",size:"small",title:"页面设置",onClick:a},{default:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconSetting))]),_:1}),e.createVNode(e.unref(y.ElDivider),{direction:"vertical"}),e.createVNode(e.unref(y.ElDropdown),{"split-button":"",type:"primary",size:"small",onClick:r,onCommand:i},{dropdown:e.withCtx(()=>[e.createVNode(e.unref(y.ElDropdownMenu),null,{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElDropdownItem),{command:"current"},{default:e.withCtx(()=>[e.createTextVNode("发布页面")]),_:1}),e.createVNode(e.unref(y.ElDropdownItem),{command:"project"},{default:e.withCtx(()=>[e.createTextVNode("整站发布")]),_:1})]),_:1})]),default:e.withCtx(()=>[xt]),_:1})]))}}),Et={class:"v-icon-setter"},Nt={class:"v-icon-setter__content"},$t={class:"v-icon-setter__list"},Ae=e.defineComponent({name:"IconSetter",__name:"icon",props:{modelValue:{default:""},size:{default:"small"}},emits:["change","update:modelValue"],setup(c,{emit:t}){const n=c,o=t,l=e.ref(!1),a=e.ref(n.modelValue),s=e.ref(""),r=e.computed(()=>k.icons[n.modelValue]||n.modelValue),i=e.computed(()=>{const f=Object.entries(k.icons);return s.value?f.filter(u=>u[0].toLowerCase().includes(s.value)):f}),d=f=>{a.value=f},m=()=>{o("change",a.value),o("update:modelValue",a.value),l.value=!1},p=()=>{a.value="",o("change",""),o("update:modelValue",""),l.value=!1},v=()=>{l.value=!0};return(f,u)=>(e.openBlock(),e.createElementBlock("div",Et,[e.createVNode(e.unref(y.ElInput),{size:n.size,readonly:"",placeholder:"请选择图标","model-value":n.modelValue,"suffix-icon":e.unref(k.ArrowDown),onFocus:v},{prepend:e.withCtx(()=>[e.createVNode(e.unref(b.XIcon),{icon:r.value},null,8,["icon"])]),_:1},8,["size","model-value","suffix-icon"]),l.value?(e.openBlock(),e.createBlock(e.unref(b.XDialog),{key:0,title:"图标选择器",width:"1000px",height:"600px",cancel:"",submit:"",clear:"",modelValue:l.value,"onUpdate:modelValue":u[1]||(u[1]=g=>l.value=g),onSubmit:m},{extra:e.withCtx(()=>[e.createVNode(e.unref(y.ElButton),{size:"default",type:"warning",onClick:p},{default:e.withCtx(()=>[e.createTextVNode(" 清除绑定 ")]),_:1})]),default:e.withCtx(()=>[e.createElementVNode("div",Nt,[e.createVNode(e.unref(y.ElInput),{size:n.size,"prefix-icon":e.unref(k.Search),clearable:"",modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=g=>s.value=g),placeholder:"请输入查询关键字"},null,8,["size","prefix-icon","modelValue"]),e.createElementVNode("div",$t,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,g=>(e.openBlock(),e.createBlock(e.unref(b.XIcon),{icon:g[1],onClick:h=>d(g[0]),class:e.normalizeClass({"is-active":a.value===g[0]})},null,8,["icon","onClick","class"]))),256)),i.value.length===0?(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0})):e.createCommentVNode("",!0)])])]),_:1},8,["modelValue"])):e.createCommentVNode("",!0)]))}}),It=e.defineComponent({name:"PageForm",__name:"form",props:{item:{},parentId:{}},setup(c){const t=c,{project:n}=me(),o=e.computed(()=>t.item?"编辑页面":"新增页面"),l=()=>({dir:!1,name:"",title:"",icon:"",mask:!0,hidden:!1,raw:!1}),a=e.ref(t.item||l()),s=[{label:"页面",value:!1},{label:"目录",value:!0}],r=d=>{a.value&&(a.value.name=F.upperFirstCamelCase(d))},i=async d=>n.value?.existPageName(d.name,[d.id])?(L("页面名称已存在,请更换"),!1):(t.item?n.value?.updatePage(d):n.value?.createPage(d,t.parentId),!0);return(d,m)=>(e.openBlock(),e.createBlock(e.unref(b.XDialogForm),{title:o.value,width:"800px",height:"500px","form-props":{tooltipMessage:!1},model:a.value,"submit-method":i},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"dir",label:"类型",editor:"radio",options:s,props:{button:!0,size:"small"},disabled:!!t.item,required:""},null,8,["disabled"]),e.createVNode(e.unref(b.XField),{name:"name",label:"名称",required:"",onChange:r,rules:{pattern:e.unref(Q),message:"名称格式不正确"}},null,8,["rules"]),e.createVNode(e.unref(b.XField),{name:"title",label:"标题",required:""}),e.createVNode(e.unref(b.XField),{name:"icon",label:"菜单图标",editor:"none"},{editor:e.withCtx(()=>[e.createVNode(Ae,{modelValue:a.value.icon,"onUpdate:modelValue":m[0]||(m[0]=p=>a.value.icon=p),size:"default"},null,8,["modelValue"])]),_:1}),e.createVNode(e.unref(b.XField),{visible:{dir:!1},name:"mask",label:"包含母版",editor:"switch"}),e.createVNode(e.unref(b.XField),{name:"hidden",label:"隐藏菜单",editor:"switch"}),e.createVNode(e.unref(b.XField),{visible:{dir:!1},disabled:!!t.item,inline:"",name:"raw",label:"源码模式",editor:"switch",tip:"页面是非低代码开发,不能在线编辑"},null,8,["disabled"])]),_:1},8,["title","model"]))}}),be=e.defineComponent({name:"VIcon",__name:"Icon",props:{icon:{},label:{},active:{type:Boolean,default:!1},open:{type:Boolean,default:!1}},emits:["click"],setup(c,{emit:t}){const n=c,o=t,l=e.computed(()=>({"is-active":n.active,"is-open":n.open})),a=()=>{o("click")};return(s,r)=>(e.openBlock(),e.createBlock(e.unref(y.ElTooltip),{effect:"dark",placement:"right",content:s.label,"show-after":600},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["v-apps-region__icon",l.value]),onClick:a},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.icon)))],2)]),_:1},8,["content"]))}}),I=e.defineComponent({name:"VPanel",__name:"panel",props:{title:{},subtitle:{},plus:{type:Boolean},back:{type:Boolean},edit:{type:Boolean},remove:{type:Boolean},save:{type:Boolean},header:{type:Boolean,default:!0},collapsable:{type:Boolean}},emits:["plus","back","remove","save","edit"],setup(c,{emit:t}){const n=c,o=t,l=e.ref(!1),a=e.computed(()=>({"is-collapsed":!!l.value})),s=()=>{o("plus")},r=()=>{o("edit")},i=()=>{o("back")},d=()=>{o("remove")},m=()=>{o("save")},p=e.computed(()=>n.header?{content:n.title,subtitle:n.subtitle,icon:n.back?k.Back:void 0,onClickBack:n.back?i:void 0,onClick:n.collapsable?()=>{l.value=!l.value}:void 0}:null),v=f=>{l.value=f};return(f,u)=>(e.openBlock(),e.createBlock(e.unref(b.XPanel),{class:e.normalizeClass(["v-panel",a.value]),border:!1,header:p.value,fit:""},e.createSlots({actions:e.withCtx(()=>[n.plus?(e.openBlock(),e.createBlock(e.unref(b.XAction),{key:0,size:f.$attrs.size,mode:"icon",icon:e.unref(k.VtjIconPlus),background:"hover",title:"新增",onClick:s},null,8,["size","icon"])):e.createCommentVNode("",!0),n.edit?(e.openBlock(),e.createBlock(e.unref(b.XAction),{key:1,size:f.$attrs.size,mode:"icon",icon:e.unref(k.EditPen),background:"hover",title:"编辑",onClick:r},null,8,["size","icon"])):e.createCommentVNode("",!0),n.remove?(e.openBlock(),e.createBlock(e.unref(b.XAction),{key:2,size:f.$attrs.size,mode:"icon",icon:e.unref(k.Delete),background:"hover",title:"清除",onClick:d},null,8,["size","icon"])):e.createCommentVNode("",!0),n.save?(e.openBlock(),e.createBlock(e.unref(b.XAction),{key:3,size:f.$attrs.size,mode:"icon",icon:e.unref(k.VtjIconSave),background:"hover",title:"保存",onClick:m},null,8,["size","icon"])):e.createCommentVNode("",!0),n.collapsable?e.withDirectives((e.openBlock(),e.createBlock(e.unref(b.XAction),{key:4,size:f.$attrs.size,mode:"icon",icon:e.unref(k.ArrowDown),background:"hover",title:"展开",onClick:u[0]||(u[0]=g=>v(!1))},null,8,["size","icon"])),[[e.vShow,l.value]]):e.createCommentVNode("",!0),n.collapsable?e.withDirectives((e.openBlock(),e.createBlock(e.unref(b.XAction),{key:5,size:f.$attrs.size,mode:"icon",icon:e.unref(k.ArrowUp),background:"hover",title:"收起",onClick:u[1]||(u[1]=g=>v(!0))},null,8,["size","icon"])),[[e.vShow,!l.value]]):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"actions")]),default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:2},[f.$slots.footer?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(f.$slots,"footer")]),key:"0"}:void 0]),1032,["class","header"]))}}),Dt={class:"v-tabs__header"},jt={key:0,class:"v-tabs__actions"},ie=e.defineComponent({__name:"tabs",props:{items:{default:()=>[]},menus:{},modelValue:{},stretch:{type:Boolean},checkable:{type:Boolean}},emits:["update:modelValue","command","remove","action-click"],setup(c,{emit:t}){const n=c,o=t,l=e.ref((n.modelValue||n.items[0]?.name)??"");e.watch(l,()=>{o("update:modelValue",l.value)}),e.watch(()=>n.modelValue,i=>{l.value=i});const a=i=>{o("command",i)},s=i=>{o("remove",i)},r=i=>{o("action-click",i)};return(i,d)=>(e.openBlock(),e.createBlock(e.unref(b.XPanel),{class:"v-tabs",border:!1,fit:"",radius:!1},{header:e.withCtx(()=>[e.createElementVNode("div",Dt,[e.createVNode(e.unref(b.XTabs),{class:"v-tabs__tabs",items:n.items,type:"card",modelValue:l.value,"onUpdate:modelValue":d[0]||(d[0]=m=>l.value=m),onTabRemove:s,onActionClick:r,stretch:n.stretch},null,8,["items","modelValue","stretch"]),n.menus&&n.menus.length?(e.openBlock(),e.createElementBlock("div",jt,[n.menus&&n.menus.length?(e.openBlock(),e.createBlock(e.unref(b.XAction),{key:0,mode:"icon",size:"small",icon:e.unref(k.MoreFilled),background:"hover",dropdown:{size:"small",placement:"bottom-end"},menus:n.menus,onCommand:a},{item:e.withCtx(({item:m})=>[e.createElementVNode("span",null,[n.checkable?(e.openBlock(),e.createBlock(e.unref(k.VtjIconCheck),{key:0,class:e.normalizeClass({"v-tabs__checked":!0,"is-checked":m.checked})},null,8,["class"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(m.label),1)])]),_:1},8,["icon","menus"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:3}))}}),At={key:2,class:"v-item__index"},Ft={class:"v-item__content"},Pt={key:3,class:"v-item__subtitle"},O=e.defineComponent({name:"VItem",__name:"item",props:{icon:{},index:{},tag:{},tagType:{},title:{},subtitle:{},actions:{default:()=>[]},background:{type:Boolean},border:{type:Boolean},switch:{type:Boolean},modelValue:{},active:{type:Boolean},hover:{type:Boolean},small:{type:Boolean}},emits:["click","action","update:modelValue","switch"],setup(c,{emit:t}){const n={add:{label:"创建",icon:k.VtjIconPlus},copy:{label:"复制",icon:k.VtjIconCopy},edit:{label:"编辑",icon:k.VtjIconEdit},remove:{label:"删除",icon:k.VtjIconRemove},lock:{label:"锁定",icon:k.VtjIconLock},unlock:{label:"解锁",icon:k.VtjIconUnlock},invisible:{label:"隐藏",icon:k.VtjIconInvisible},visible:{label:"显示",icon:k.VtjIconVisible},home:{label:"主页",icon:k.VtjIconHome}},o=c,l=t,a=e.ref(!!o.modelValue),s=e.computed(()=>o.actions.map(m=>{const p=n[m];return{name:m,...p}})),r=e.computed(()=>({"is-background":o.background,"is-border":o.border,"is-active":o.active,"is-hover":o.hover,"is-small":o.small})),i=()=>{l("click",o.modelValue)},d=async m=>{m==="remove"?await y.ElMessageBox.confirm("确定删除吗?","提示",{type:"warning"}).catch(()=>!1)&&l("action",{name:m,modelValue:o.modelValue}):l("action",{name:m,modelValue:o.modelValue})};return e.watch(a,m=>{l("update:modelValue",m),l("switch",m)}),e.watch(()=>o.modelValue,m=>{a.value=!!m}),(m,p)=>(e.openBlock(),e.createBlock(e.unref(b.XContainer),{class:e.normalizeClass(["v-item",r.value]),justify:"space-between",align:"center",onClick:i},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{class:"v-item__title",align:"center"},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default",{},()=>[m.icon?(e.openBlock(),e.createBlock(e.unref(b.XIcon),{key:0,icon:m.icon},null,8,["icon"])):e.createCommentVNode("",!0),o.tag?(e.openBlock(),e.createBlock(e.unref(y.ElTag),{key:1,class:"v-item__tag",size:"small",type:o.tagType},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.tag),1)]),_:1},8,["type"])):e.createCommentVNode("",!0),m.index!==void 0?(e.openBlock(),e.createElementBlock("span",At," # "+e.toDisplayString(m.index),1)):e.createCommentVNode("",!0),e.createElementVNode("span",Ft,e.toDisplayString(m.title),1),m.subtitle?(e.openBlock(),e.createElementBlock("span",Pt,e.toDisplayString(m.subtitle),1)):e.createCommentVNode("",!0)])]),_:3}),e.createVNode(e.unref(b.XContainer),{class:"v-item__actions",onClick:p[1]||(p[1]=e.withModifiers(()=>{},["stop"]))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,v=>(e.openBlock(),e.createBlock(e.unref(b.XAction),{name:v.name,title:v.label,mode:"icon",size:"small",background:"none",type:"info",icon:v.icon,onClick:f=>d(v.name)},null,8,["name","title","icon","onClick"]))),256)),o.switch?(e.openBlock(),e.createBlock(e.unref(y.ElSwitch),{key:0,modelValue:a.value,"onUpdate:modelValue":p[0]||(p[0]=v=>a.value=v),class:"v-item__switch",size:"small"},null,8,["modelValue"])):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"status")]),_:3})]),_:3},8,["class"]))}}),Tt=["draggable"],Rt={class:"v-box__name"},zt={class:"v-box__label"},de=e.defineComponent({name:"VBox",__name:"box",props:{name:{},title:{},editable:{type:Boolean},active:{type:Boolean},draggable:{type:Boolean}},emits:["edit","remove","dragstart","dragend"],setup(c,{emit:t}){const n=c,o=t,l=()=>{o("edit")},a=async()=>{await y.ElMessageBox.confirm("确认删除?","提示",{type:"warning"}).catch(()=>!1)&&o("remove")},s=e.computed(()=>({"is-active":n.active,"is-draggable":n.draggable})),r=()=>{o("dragstart",n)},i=()=>{o("dragend",n)};return(d,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["v-box",s.value]),draggable:d.draggable,onDragstart:r,onDragend:i},[e.createVNode(e.unref(b.XContainer),{direction:"column",justify:"center",align:"center"},{default:e.withCtx(()=>[e.createElementVNode("span",Rt,e.toDisplayString(n.name),1),e.createElementVNode("span",zt,e.toDisplayString(n.title),1)]),_:1}),n.editable?(e.openBlock(),e.createBlock(e.unref(b.XContainer),{key:0,class:"v-box__footer",justify:"flex-end",align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XIcon),{icon:e.unref(k.VtjIconEdit),onClick:l},null,8,["icon"]),e.createVNode(e.unref(b.XIcon),{icon:e.unref(k.VtjIconRemove),onClick:a},null,8,["icon"])]),_:1})):e.createCommentVNode("",!0)],42,Tt))}}),Jt={class:"v-context-viewer"},Fe=e.defineComponent({__name:"viewer",props:{context:{}},emits:["pick","copy"],setup(c,{emit:t}){const n=c,o=t,l=["$provider","$apis","$components","context"],a=m=>{const p=m.value,v=F.toRawType(p);return v==="Object"||v==="Module"?Object.keys(p||{}).length===0:v==="Array"?p.length===0:!0},s=(m,p="this")=>typeof m=="object"?Array.isArray(m)?m.map((v,f)=>{const u=`[${f}]`;return{label:u,value:v,type:F.toRawType(v),path:`${p}${u}`}}):Object.entries(m).map(([v,f])=>({label:v,value:f,type:F.toRawType(f),path:`${p}.${v}`})).filter(v=>!v.label.startsWith("__")&&!l.includes(v.label)):[],r=(m,p)=>{if(m.level===0)p(s(n.context));else{const v=e.toRaw(m.data.value);p(s(v,m.data.path))}},i=m=>{o("copy",m.path)},d=m=>{o("pick",m.path)};return(m,p)=>(e.openBlock(),e.createElementBlock("div",Jt,[m.context?(e.openBlock(),e.createBlock(e.unref(y.ElTree),{key:0,lazy:"",load:r,"expand-on-click-node":!1,props:{isLeaf:a}},{default:e.withCtx(({data:v})=>[e.createVNode(O,{title:v.label,clickable:"",onClick:f=>d(v),background:"",actions:["copy"],onAction:f=>i(v),grow:"",small:""},null,8,["title","onClick","onAction"])]),_:1},8,["props"])):e.createCommentVNode("",!0)]))}}),pe=e.defineComponent({__name:"binder",props:{title:{},context:{},block:{},model:{},rules:{},modelValue:{type:Boolean},submitMethod:{type:Function},unbindEnabled:{type:Boolean}},emits:["unbind","submit","cancel","pick","update:modelValue","close"],setup(c,{emit:t}){const n=c,o=t,{searchResult:l,keyword:a}=pt(n.block,n.context),{copy:s}=le.useClipboard({}),r=[{name:"normal",label:"常用"},{name:"viewer",label:"高级"}],i=e.ref("normal"),d=e.ref(),m=async C=>{o("submit",C),n.submitMethod?await n.submitMethod(C)&&p():p()},p=()=>{o("update:modelValue",!1),o("close")},v=()=>{o("unbind")},f=()=>{p()},u=async()=>{d.value?.submit()},g=C=>{o("pick",C)},h=C=>{s(C),y.ElMessage.success({message:"已经复制到粘贴板"})};return(C,_)=>(e.openBlock(),e.createBlock(e.unref(b.XDialog),{"model-value":n.modelValue,class:"v-binder",title:C.title,width:"1000px",height:"600px","body-padding":!1,maximizable:!1,minimizable:!1,onClose:p},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{fit:"",direction:"row",overflow:"hidden"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{width:"30%",height:"100%"},{default:e.withCtx(()=>[e.createVNode(ie,{class:"v-binder__tabs",items:r,modelValue:i.value,"onUpdate:modelValue":_[1]||(_[1]=V=>i.value=V)},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{class:"v-binder__tab-content",fit:"",padding:"",flex:!1},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",null,[e.createVNode(e.unref(y.ElInput),{modelValue:e.unref(a),"onUpdate:modelValue":_[0]||(_[0]=V=>e.isRef(a)?a.value=V:null),size:"small",clearable:"","prefix-icon":e.unref(k.Search),placeholder:"筛选可用项"},null,8,["modelValue","prefix-icon"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l),V=>(e.openBlock(),e.createElementBlock("div",null,[e.createVNode(e.unref(y.ElDivider),{"border-style":"dotted"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(V.title),1)]),_:2},1024),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.items,S=>(e.openBlock(),e.createBlock(O,{title:S,background:"",actions:["copy"],small:"",onClick:B=>g(S),onAction:B=>h(S)},null,8,["title","onClick","onAction"]))),256))]))),256)),e.unref(l).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0}))],512),[[e.vShow,i.value==="normal"]]),e.withDirectives(e.createVNode(Fe,{context:n.context,onCopy:h,onPick:g},null,8,["context"]),[[e.vShow,i.value==="viewer"]])]),_:1})]),_:1},8,["modelValue"])]),_:1}),e.createVNode(e.unref(b.XPanel),{grow:"",header:null,border:!1},{footer:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{justify:"space-between"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),null,{default:e.withCtx(()=>[C.unbindEnabled?(e.openBlock(),e.createBlock(e.unref(y.ElButton),{key:0,type:"warning",size:"default",onClick:v},{default:e.withCtx(()=>[e.createTextVNode(" 移除绑定 ")]),_:1})):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.unref(b.XContainer),null,{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElButton),{type:"default",size:"default",onClick:f},{default:e.withCtx(()=>[e.createTextVNode(" 取消 ")]),_:1}),e.createVNode(e.unref(y.ElButton),{type:"primary",size:"default",onClick:u},{default:e.withCtx(()=>[e.createTextVNode(" 确定 ")]),_:1})]),_:1})]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(b.XForm),{ref_key:"formRef",ref:d,class:"v-binder__form",footer:!1,"label-position":"top","tooltip-message":!1,model:n.model,rules:n.rules,"submit-method":m},{default:e.withCtx(()=>[e.renderSlot(C.$slots,"default")]),_:3},8,["model","rules"])]),_:3})]),_:3})]),_:3},8,["model-value","title"]))}}),Lt={class:"v-slots-picker__sn"},Pe=e.defineComponent({__name:"slots",props:{slots:{default:()=>[]}},emits:["submit","update:modelValue"],setup(c,{emit:t}){const n=c,o=t,l=e.ref(),a=e.computed(()=>`${50*Math.ceil(n.slots.length/4)+180}px`),s=i=>{l.value=i},r=()=>{l.value?(o("submit",l.value),o("update:modelValue",!1)):L("请选择插槽")};return(i,d)=>(e.openBlock(),e.createBlock(e.unref(b.XDialog),e.mergeProps({class:"v-slots-picker",title:"选择插槽",width:"600px",height:a.value,submit:"",cancel:"",onSubmit:r},i.$attrs),{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElAlert),{title:"该组件支持多个插槽,请选择放置到其中一个",type:"warning",closable:!1}),e.createVNode(e.unref(b.XContainer),{class:"v-slots-picker__content",justify:"space-around",alignContent:"flex-start",gap:"",wrap:"wrap"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.slots,(m,p)=>(e.openBlock(),e.createBlock(e.unref(b.XContainer),{class:e.normalizeClass(["v-slots-picker__item",{"is-active":m.name===l.value?.name}]),grow:"",flex:!1,onClick:v=>s(m)},{default:e.withCtx(()=>[e.createElementVNode("span",Lt,"#"+e.toDisplayString(p+1),1),e.createTextVNode(" "+e.toDisplayString(m.name),1)]),_:2},1032,["class","onClick"]))),256))]),_:1})]),_:1},16,["height"]))}}),Ce=e.defineComponent({name:"Viewport",__name:"viewport",props:{mode:{default:"pc"},width:{},height:{}},setup(c){const t=c,n=e.computed(()=>[`is-${t.mode}`]),o=e.computed(()=>{if(t.mode==="pc")return 1;const a=t.mode==="mobile"?ge:he,{width:s,height:r}=a,i=s>0?(t.width||0)/s:1,d=r>0?(t.height||0)/r:1;return Math.min(i,d)}),l=e.computed(()=>{if(t.mode==="pc")return{};const a=t.mode==="mobile"?ge:he,{width:s,height:r}=a;return{width:`${s}px`,height:`${r}px`,left:"50%",top:"50%",transform:`translate(-50%, -50%) scale(${o.value})`}});return(a,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["v-viewport",n.value]),style:e.normalizeStyle(l.value)},[e.renderSlot(a.$slots,"default")],6))}}),Mt=e.defineComponent({name:"PagesWidget",__name:"index",setup(c){const{project:t,engine:n}=me(),o=e.computed(()=>t.value?.pages||[]),{current:l}=W(),a=e.ref(!1),s=e.ref(),r=e.ref(),i=()=>{r.value=void 0,s.value=void 0,a.value=!0},d=async f=>{const{name:u,modelValue:g}=f,{data:h,node:C}=g;if(u==="add"&&(s.value=void 0,r.value=h.id,a.value=!0),u==="edit"&&(s.value=F.cloneDeep(h),r.value=void 0,a.value=!0),u==="remove"){if(h.dir){const _=t.value?.getPage(h.id);if(_&&_.children?.length){L("请先删除子页面");return}}t.value?.removePage(h.id)}if(u==="copy"){const _=C.parent?.data.id;t.value?.clonePage(h,_)}u==="home"&&(t.value?.setHomepage(h.id),H("设置主页成功","success"))},m=async f=>{f.raw&&H("这是源码模式页面,不能低代码设计","warning"),f.dir||f.raw?n.project.value?.deactivate():n.project.value?.active(f)},p=(f,u,g)=>g==="inner"?!!u.data.dir:!0,v=()=>{t.value?.update({pages:e.toValue(o)})};return(f,u)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-pages-widget",title:"页面管理",plus:"",subtitle:"(共 0 条)",onPlus:i},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElTree),{data:o.value,"node-key":"id","default-expand-all":"",draggable:"","allow-drop":p,onNodeDrop:v},{default:e.withCtx(({data:g,node:h})=>[e.createVNode(e.unref(O),{class:"v-pages-widget__item",icon:e.unref(k.icons)[g.icon],title:g.title,subtitle:g.name,"model-value":{data:g,node:h},actions:g.dir?["add","edit","remove"]:g.raw?["home","edit","remove"]:["home","copy","edit","remove"],onAction:d,onClick:C=>m(g),active:e.unref(l)?.id===g.id,tag:e.unref(t)?.homepage===g.id?"主页":void 0,"tag-type":"success",grow:"",small:"",background:"",hover:""},null,8,["icon","title","subtitle","model-value","actions","onClick","active","tag"])]),_:1},8,["data"]),a.value?(e.openBlock(),e.createBlock(It,{key:0,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=g=>a.value=g),item:s.value,"parent-id":r.value},null,8,["modelValue","item","parent-id"])):e.createCommentVNode("",!0)]),_:1}))}}),Ot=e.defineComponent({name:"BlocksWidget",__name:"index",setup(c){const{span:t}=De(),{blocks:n,engine:o}=st(),l=e.ref(void 0),{current:a}=W(),s=e.ref(!1),r=e.computed(()=>l.value?.id?"编辑":"新增"),i=e.computed(()=>`(共 ${n.value.length} 个)`),d=()=>({name:"",title:"",type:"block"}),m=async _=>{const V=_,S=o.project.value;if(!S)return!1;if(_.id)if(!S.existBlockName(V.name,[V.id]))S.updateBlock(V);else return L(`名称【${V.name}】已经存在,请更换名称`),!1;else if(!S.existBlockName(V.name))S.createBlock(V);else return L(`名称【${V.name}】已经存在,请更换名称`),!1;return!0},p=()=>{l.value=d(),s.value=!0},v=_=>{l.value=F.cloneDeep(_),s.value=!0},f=_=>{o.project.value?.removeBlock(_.id)},u=_=>{l.value&&(l.value.name=F.upperFirstCamelCase(_))},g=async _=>{o.project.value?.active(_)},h=async _=>{const V={type:"Schema",id:_.id},S=await o.assets.getBlockMaterial(V),B=o.skeleton?.getWidget("Designer")?.widgetRef?.designer;B&&S&&B.setDragging(S)},C=()=>{const _=o.skeleton?.getWidget("Designer")?.widgetRef?.designer;_&&_.setDragging(null)};return(_,V)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-blocks-widget",title:"区块管理",subtitle:i.value,plus:"",onPlus:p},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElRow),{wrap:"wrap",gutter:5},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),S=>(e.openBlock(),e.createBlock(e.unref(y.ElCol),{key:S.id,span:e.unref(t)},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{name:S.name,title:S.title,active:e.unref(a)?.id===S.id,editable:"",onEdit:B=>v(S),onRemove:B=>f(S),onClick:B=>g(S),draggable:e.unref(a)?.id!==S.id,onDragstart:B=>h(S),onDragend:C},null,8,["name","title","active","onEdit","onRemove","onClick","draggable","onDragstart"])]),_:2},1032,["span"]))),128))]),_:1}),e.unref(n).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0})),e.createVNode(e.unref(b.XDialogForm),{modelValue:s.value,"onUpdate:modelValue":V[0]||(V[0]=S=>s.value=S),title:r.value,model:l.value,width:"600px",height:"250px","form-props":{tooltipMessage:!1},"submit-method":m},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"name",label:"名称",required:"",tip:"名称为英文驼峰格式",rules:{message:"名称格式错误",pattern:e.unref(Q)},onChange:u},null,8,["rules"]),e.createVNode(e.unref(b.XField),{name:"title",label:"标题",required:""})]),_:1},8,["modelValue","title","model"])]),_:1},8,["subtitle"]))}}),Xt={class:"v-components-widget__search"},Wt={key:0,class:"v-components-widget__result"},Ut={class:"v-components-widget__list"},Ht=e.defineComponent({name:"ComponentsWidget",__name:"index",setup(c){const{span:t,engine:n}=De(),{tabs:o,currentTab:l,currentGroup:a,model:s,searchKey:r,searchResult:i}=ct(),d=p=>{const v=n.skeleton?.getWidget("Designer")?.widgetRef?.designer;v&&v.setDragging(p)},m=()=>{const p=n.skeleton?.getWidget("Designer")?.widgetRef?.designer;p&&p.setDragging(null)};return(p,v)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-components-widget",title:"组件库",body:{flex:!0,direction:"column"}},{default:e.withCtx(()=>[e.createElementVNode("div",Xt,[e.createVNode(e.unref(y.ElInput),{modelValue:e.unref(r),"onUpdate:modelValue":v[0]||(v[0]=f=>e.isRef(r)?r.value=f:null),placeholder:"搜索组件",clearable:"",size:"small"},{prefix:e.withCtx(()=>[e.createVNode(e.unref(k.VtjIconSearch))]),_:1},8,["modelValue"])]),e.unref(r)?(e.openBlock(),e.createElementBlock("div",Wt,[e.createVNode(e.unref(y.ElRow),{wrap:"wrap",gutter:5},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),f=>(e.openBlock(),e.createBlock(e.unref(y.ElCol),{span:e.unref(t),key:f.name},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{name:f.name,title:f.label||f.name,draggable:"",onDragstart:u=>d(f),onDragend:m},null,8,["name","title","onDragstart"])]),_:2},1032,["span"]))),128))]),_:1}),e.unref(i).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0}))])):(e.openBlock(),e.createBlock(e.unref(b.XTabs),{key:1,items:e.unref(o),modelValue:e.unref(l),"onUpdate:modelValue":v[2]||(v[2]=f=>e.isRef(l)?l.value=f:null)},{default:e.withCtx(()=>[e.createElementVNode("div",Ut,[e.unref(a)?(e.openBlock(),e.createBlock(e.unref(y.ElCollapse),{key:0,modelValue:e.unref(s)[e.unref(l)],"onUpdate:modelValue":v[1]||(v[1]=f=>e.unref(s)[e.unref(l)]=f)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a).children,f=>(e.openBlock(),e.createBlock(e.unref(y.ElCollapseItem),{key:f.name,name:f.name,title:`${f.label} (${f.count})`},{default:e.withCtx(()=>[f.components?(e.openBlock(),e.createBlock(e.unref(y.ElRow),{key:0,wrap:"wrap",gutter:5},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.components,u=>(e.openBlock(),e.createBlock(e.unref(y.ElCol),{span:e.unref(t),key:u.name},{default:e.withCtx(()=>[e.createVNode(e.unref(de),{name:u.name,title:u.label||u.name,draggable:"",onDragstart:g=>d(u),onDragend:m},null,8,["name","title","onDragstart"])]),_:2},1032,["span"]))),128))]),_:2},1024)):e.createCommentVNode("",!0)]),_:2},1032,["name","title"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0)])]),_:1},8,["items","modelValue"]))]),_:1}))}}),qt=e.defineComponent({name:"OutlineWidget",__name:"index",setup(c){const{engine:t,designer:n,selected:o}=Y(),{current:l}=W(),a=e.ref([]),s=B=>{if(w.isBlock(B))return B.locked?["unlock"]:["lock"];const E=B.parent;return E&&(E.locked||E.invisible)?[]:l.value?.locked?[]:B.locked?["unlock"]:B.invisible?["visible"]:["lock","invisible","copy","remove"]},r=B=>{const E=[];return B.forEach(x=>{const J={id:x.id,label:x.name,type:x.id,model:x};Array.isArray(x.children)&&(J.children=r(x.children)),E.push(J)}),E},i=()=>{if(!l.value)return[];const{id:B,name:E,nodes:x}=l.value;return[{id:B,label:E,type:B,model:l.value,children:r(x)}]},d=async()=>{a.value=i(),o.value?.model&&(await e.nextTick(),n.value?.setSelected(o.value.model))},m=e.computed(()=>o.value?.model.id),p=B=>{const E=B.data;if(w.isBlock(E.model)||E.model.locked||E.model.name==="template")return!1;const x=t.assets.componentMap.get(E.model.name);return x?(n.value?.setDragging(x),!0):!1},v=async(B,E,x)=>{const J=E.data,ne={prev:"top",next:"bottom",inner:"inner"}[x];let j=!1;if(w.isBlock(J.model))j=x==="inner",n.value?.setDropping(j?J.model:null,"inner");else{const P=J.model;j=!!await n.value?.allowDrop(P,ne),n.value?.setDropping(j?P:null,"inner")}return j},f=B=>{const E=B?.model;!E||E.invisible||(n.value?.setSelected(E),n.value?.setHover(null))},u=async(B,E,x)=>{const J=B.data,Z=E.data;if(w.isBlock(Z.model)){n.value?.setDropping(null),n.value?.setDragging(null);return}const ne=Z.model,j={before:"left",after:"right"}[x]||"inner";if(!await n.value?.allowDrop(ne,j)){n.value?.setDropping(null),d(),y.ElMessage.warning({message:`${J.model.name}不能放置到该位置`}),n.value?.setDragging(null);return}const N=await n.value?.getDropSlot(x==="inner"?ne:ne.parent);if(N!==null){const ae=J.model;ae.slot=N,l.value?.move(ae,ne,j)}else d();n.value?.setDropping(null),n.value?.setDragging(null),t.simulator.refresh()},g=B=>{w.isBlock(B.model)?n.value?.setHover(B.model):(n.value?.setHover(B.model),B.model.invisible&&n.value?.setHover(null),B.model.name==="slot"&&n.value?.setHover(null))},h=()=>{n.value?.setHover(null)},C=B=>{const E=B.data;E.dragging=!0;const x=t.assets.componentMap.get(E.model.name);x&&n.value?.setDragging(x)},_=async B=>{const E=B.data;E.dragging=!1},V=(B,E)=>{B&&((B.id===E.id||!w.isBlock(B)&&E.isChild(B))&&n.value?.setSelected(null),n.value?.setHover(null))},S=B=>{const{name:E,modelValue:x}=B,J=o.value?.model;switch(E){case"lock":V(J,x),x.lock();break;case"unlock":V(J,x),x.unlock();break;case"invisible":V(J,x),x.setVisible(!1);break;case"visible":x.setVisible(!0);break;case"copy":const Z=l.value?.cloneNode(x);Z&&n.value?.setSelected(Z);break;case"remove":V(J,x),l.value?.removeNode(x);break}};return e.watch(t.changed,d,{immediate:!0}),(B,E)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-outline-widget",title:"大纲树"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.unref(y.ElTree),{key:e.unref(t).changed.value,data:a.value,"node-key":"id","default-expand-all":"",draggable:"","empty-text":"请新建或打开文件","current-node-key":m.value,"highlight-current":!0,"expand-on-click-node":!1,"allow-drop":v,"allow-drag":p,onCurrentChange:f,onNodeDrop:u,onNodeDragStart:C,onNodeDragEnd:_},{default:e.withCtx(({data:x,node:J})=>[e.createVNode(e.unref(O),{class:e.normalizeClass(["v-outline-widget__item",{"is-locked":x.model.locked,"is-invisible":x.model.invisible,"is-dragging":x.dragging}]),active:!x.model.invisible&&J.isCurrent,grow:"",small:"",background:"",hover:"","model-value":x.model,icon:x.model.locked?e.unref(k.VtjIconLock):x.model.invisible?e.unref(k.VtjIconInvisible):void 0,title:x.label,subtitle:x.type,actions:s(x.model),onAction:S,onMouseenter:Z=>g(x),onMouseleave:h},null,8,["class","active","model-value","icon","title","subtitle","actions","onMouseenter"])]),_:1},8,["data","current-node-key"]))]),_:1}))}}),Gt=e.defineComponent({name:"HistoryWidget",__name:"index",setup(c){const{history:t,load:n,total:o}=je(),l=e.computed(()=>`(共 ${o.value} 条)`),a=r=>{r.name==="remove"&&t.value?.remove(r.modelValue.id)},s=async()=>{await re("确定要清空历史记录吗?")&&t.value?.clear()};return(r,i)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-history-widget",title:"历史记录",subtitle:l.value,remove:!!e.unref(o),onRemove:s},{default:e.withCtx(()=>[e.unref(o)===0?(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,"image-size":50})):e.createCommentVNode("",!0),e.unref(t)?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(e.unref(t).items,(d,m)=>(e.openBlock(),e.createBlock(e.unref(O),{index:m+1,title:d.label,"model-value":d,active:m==e.unref(t).index,small:"",background:"",actions:["remove"],onAction:a,onClick:p=>e.unref(n)(d.id)},null,8,["index","title","model-value","active","onClick"]))),256)):e.createCommentVNode("",!0)]),_:1},8,["subtitle","remove"]))}}),M=e.defineAsyncComponent({loader:()=>Promise.resolve().then(()=>require("./Editor-YiL8B0KR.cjs")),loadingComponent:e.defineComponent({render(){return e.h("div","正在拼命加载...")}}),errorComponent:e.defineComponent({render(){return e.h("div","组件加载失败!")}})}),Kt=e.defineComponent({name:"ApisWidget",__name:"index",setup(c){const t=e.ref(!1),n=e.ref(null),o=e.ref(!1),l=e.computed(()=>o.value?"编辑API":"新增API"),a=e.computed(()=>s.value?.apis||[]),{project:s}=me(),r=()=>({method:"get",name:"",label:"",url:"",settings:{loading:!0,failMessage:!0,validSuccess:!0,originResponse:!1,injectHeaders:!1,type:"form",headers:{type:"JSExpression",value:"({})"}}}),i=()=>{t.value=!0,o.value=!1,n.value=r()},d=Ee.map(h=>({label:h,value:h.toLowerCase()})),m={get:"success",post:"primary",put:"warning",delete:"danger",patch:"warning",jsonp:"info"},p=[{label:"表单",value:"form"},{label:"JSON",value:"json"},{label:"文件",value:"data"}],v=(h,C,_)=>{X({type:"JSExpression",value:C},window)?_():_(new Error("代码错误"))},f=h=>{h.name==="edit"&&u(h.modelValue),h.name==="remove"&&s.value?.removeApi(h.modelValue.name)},u=h=>{o.value=!0,n.value=F.cloneDeep(h),t.value=!0},g=async h=>s.value?.existApiName(h.name,o.value?[h.id]:[])?(L(`API名称 [ ${h.name} ] 已存在`),!1):(s.value?.setApi(h),!0);return(h,C)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-apis-widget",title:"API管理",plus:"",onPlus:i},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,_=>(e.openBlock(),e.createBlock(e.unref(O),{key:_.id,small:"",title:_.name,subtitle:_.label,"model-value":_,tag:_.method?.toUpperCase(),"tag-type":m[_.method||"get"],background:"",actions:["edit","remove"],onClick:V=>u(_),onAction:f},null,8,["title","subtitle","model-value","tag","tag-type","onClick"]))),128)),a.value.length===0?(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,"image-size":50})):e.createCommentVNode("",!0),e.createVNode(e.unref(b.XDialogForm),{modelValue:t.value,"onUpdate:modelValue":C[1]||(C[1]=_=>t.value=_),model:n.value,title:l.value,width:"1000px",height:"600px","form-props":{labelPosition:"top",tooltipMessage:!1,size:"default"},"submit-method":g},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{gap:"",fit:""},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{direction:"column",grow:"",width:"50%",shrink:""},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"method",label:"请求类型",required:"",editor:"radio",options:e.unref(d),props:{button:!0}},null,8,["options"]),e.createVNode(e.unref(b.XField),{name:"name",label:"接口名称",required:"",rules:{pattern:e.unref(Q),message:"名称格式不正确"}},null,8,["rules"]),e.createVNode(e.unref(b.XField),{name:"label",label:"备注说明",required:""}),e.createVNode(e.unref(b.XField),{name:"url",label:"接口URL",required:""})]),_:1}),e.createVNode(e.unref(b.XContainer),{direction:"column",grow:"",width:"50%",shrink:""},{default:e.withCtx(()=>[n.value.method!=="jsonp"?(e.openBlock(),e.createBlock(e.unref(I),{key:0,title:"请求配置",subtitle:n.value.method,border:""},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XContainer),{justify:"space-around"},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"settings.loading",size:"small",label:"加载提示",editor:"switch"}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.failMessage",label:"失败提示",editor:"switch"}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.validSuccess",label:"校验成功",editor:"switch"}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.originResponse",label:"原始响应",editor:"switch"}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.injectHeaders",label:"注入请求头",editor:"switch"})]),_:1}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.type",label:"发送数据类型",editor:"radio",options:p,props:{button:!0}}),e.createVNode(e.unref(b.XField),{size:"small",name:"settings.headers.value",label:"请求头配置",tip:"支持 JSExpression 或 JSFunction",rules:{validator:v}},{editor:e.withCtx(()=>[e.createVNode(e.unref(M),{modelValue:n.value.settings.headers.value,"onUpdate:modelValue":C[0]||(C[0]=_=>n.value.settings.headers.value=_),dark:"",height:"200px"},null,8,["modelValue"])]),_:1},8,["rules"])]),_:1},8,["subtitle"])):e.createCommentVNode("",!0),n.value.method==="jsonp"?(e.openBlock(),e.createBlock(e.unref(I),{key:1,title:"请求配置",subtitle:n.value.method,border:""},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"jsonpOptions.jsonpCallback",size:"small",label:"jsonpCallback"}),e.createVNode(e.unref(b.XField),{name:"jsonpOptions.jsonpCallbackFunction",size:"small",label:"jsonpCallbackFunction"}),e.createVNode(e.unref(b.XField),{name:"jsonpOptions.timeout",size:"small",label:"timeout",editor:"number"}),e.createVNode(e.unref(b.XField),{name:"jsonpOptions.crossorigin",size:"small",label:"crossorigin",editor:"switch"})]),_:1},8,["subtitle"])):e.createCommentVNode("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue","model","title"])]),_:1}))}}),Zt=e.defineComponent({name:"DepsWidget",__name:"index",setup(c){const{dependencies:t,engine:n}=Ie(),o=e.ref(!1),l=e.ref(!1),a=e.ref({}),s=e.computed(()=>l.value?"查看依赖":a.value?"编辑依赖":"新增依赖"),r=u=>u.required||u.official?[]:["edit","remove"],i=u=>u.official&&!u.required,d=async u=>(u.urls=u.urls.split(`
8
8
  `),n.project.value?.setDeps(u),!0),m=u=>{n.project.value?.setDeps(u)},p=()=>{l.value=!1,o.value=!0,a.value=null},v=u=>{l.value=!0,a.value={...u,urls:u.urls.join(`
9
9
  `)},o.value=!0},f=(u,g)=>{g.name==="edit"&&(a.value={...u,urls:u.urls.join(`
10
10
  `)},l.value=!1,o.value=!0),g.name==="remove"&&n.project.value?.removeDeps(u)};return(u,g)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-deps-widget",title:"依赖管理",plus:"",onPlus:p},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t),h=>(e.openBlock(),e.createBlock(e.unref(O),{key:h.package,title:h.package,subtitle:h.version,actions:r(h),background:"",switch:i(h),modelValue:h.enabled,"onUpdate:modelValue":C=>h.enabled=C,onSwitch:C=>m(h),onClick:C=>v(h),onAction:C=>f(h,C)},null,8,["title","subtitle","actions","switch","modelValue","onUpdate:modelValue","onSwitch","onClick","onAction"]))),128)),e.createVNode(e.unref(b.XDialogForm),{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=h=>o.value=h),width:"600px",height:"500px",title:s.value,model:a.value,submitMethod:d,formProps:{disabled:l.value,tooltipMessage:!1}},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"package",label:"包名",required:"",disabled:!!a.value},null,8,["disabled"]),e.createVNode(e.unref(b.XField),{name:"version",label:"版本",required:""}),e.createVNode(e.unref(b.XField),{name:"library",label:"导出名称",required:""}),e.createVNode(e.unref(b.XField),{name:"urls",label:"资源文件",editor:"textarea",props:{rows:3},tip:"多个资源可以换行输入",required:""}),e.createVNode(e.unref(b.XField),{name:"assetsUrl",label:"物料URL"}),e.createVNode(e.unref(b.XField),{name:"assetsLibrary",label:"物料名称"})]),_:1},8,["modelValue","title","model","formProps"])]),_:1}))}}),Qt=e.defineComponent({__name:"actions",props:{position:{},model:{},path:{default:()=>[]}},emits:["action"],setup(c,{emit:t}){const n=c,o=t,l=e.computed(()=>n.model.name),a=e.computed(()=>!w.isBlock(n.model)&&!n.model.locked),s=e.computed(()=>n.path.map(m=>({command:m,label:m.name,onMouseenter:()=>{o("action",{type:"hover",model:m})}}))),r=[{name:"prev",icon:k.VtjIconArrowUp,title:"向前移动"},{name:"next",icon:k.VtjIconArrowDown,title:"向后移动"},{name:"copy",icon:k.VtjIconCopy,title:"复制"},{name:"remove",icon:k.VtjIconRemove,title:"删除"}],i=m=>{o("action",{type:"selected",model:m.command})},d=async m=>{m.name==="remove"?await re("确定删除?")&&o("action",{type:m.name,model:n.model}):o("action",{type:m.name,model:n.model})};return(m,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["v-actions",[`is-${n.position}`]])},[e.createVNode(e.unref(b.XAction),{mode:"icon",size:"small",icon:e.unref(k.VtjIconLayers),label:l.value,menus:s.value,background:"none",onCommand:i},null,8,["icon","label","menus"]),e.createVNode(e.unref(b.XActionBar),{disabled:!a.value,mode:"icon",size:"small",items:r,background:"none",onClick:d},null,8,["disabled"])],2))}}),Yt={key:1,class:"v-designer__placeholder"},en=e.defineComponent({name:"VDesigner",inheritAttrs:!1,__name:"index",setup(c,{expose:t}){const n=e.ref(),o=e.ref(),{width:l,height:a}=le.useElementSize(n),{dependencies:s,engine:r,apis:i}=Ie(),{current:d,isEmpty:m}=W(),p=e.computed(()=>r.skeleton?.getWidget("Toolbar")?.widgetRef.mode??"pc"),{designer:v,hover:f,dropping:u,selected:g}=ut(o,s,i),h=C=>{const _=C.type,V=C.model;if(d.value)switch(_){case"remove":d.value.removeNode(V),v.value?.setSelected(null);break;case"copy":const S=d.value.cloneNode(V);v.value?.setSelected(S);break;case"prev":d.value.movePrev(V),v.value?.setSelected(V);break;case"next":d.value.moveNext(V),v.value?.setSelected(V);break;case"hover":v.value?.setHover(V);break;case"selected":v.value?.setSelected(V);break}};return t({designer:v,mode:p}),(C,_)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"container",ref:n,class:"v-designer"},[e.createVNode(e.unref(Ce),{mode:p.value,width:e.unref(l),height:e.unref(a)},{default:e.withCtx(()=>[e.createElementVNode("iframe",{ref_key:"iframe",ref:o,frameborder:"0"},null,512),e.unref(u)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["v-designer__dropping","is-inner"]),style:e.normalizeStyle(e.unref(u).style)},null,4)):e.createCommentVNode("",!0),e.unref(f)?(e.openBlock(),e.createElementBlock("div",{key:1,class:"v-designer__hover",style:e.normalizeStyle(e.unref(f).style)},[e.createElementVNode("span",{class:e.normalizeClass(`is-${e.unref(f).position}`)},[e.createTextVNode(e.toDisplayString(e.unref(f).model.name)+": ",1),e.createElementVNode("i",null,e.toDisplayString(e.unref(f).model.id),1)],2)],4)):e.createCommentVNode("",!0),e.unref(g)?(e.openBlock(),e.createElementBlock("div",{key:2,class:"v-designer__selected",style:e.normalizeStyle(e.unref(g).style)},[e.createVNode(Qt,{position:e.unref(g).position,model:e.unref(g).model,path:e.unref(g).path,onAction:h},null,8,["position","model","path"])],4)):e.createCommentVNode("",!0)]),_:1},8,["mode","width","height"]),e.unref(d)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,description:"请新建或打开文件"})),e.unref(d)&&e.unref(m)?(e.openBlock(),e.createElementBlock("div",Yt," 您可以拖拽组件放置到这里 ")):e.createCommentVNode("",!0)],512))}}),ce=e.defineComponent({__name:"group",props:{context:{},current:{},title:{},nameLabel:{},valueLabel:{},createEmpty:{},list:{},remove:{},submit:{},itemTitle:{type:Function,default:c=>c.name}},setup(c){const t=c,n=e.ref(),o=e.ref(),l=e.ref(!1),a=e.ref(t.createEmpty()),s=e.ref(!1),r=e.computed(()=>s.value?`编辑${t.title}`:`新增${t.title}`),i=()=>{s.value=!1,a.value=t.createEmpty(),l.value=!0},d=(u,g)=>{switch(g.name){case"edit":p(u);break;case"remove":t.remove(u);break}},m=u=>{a.value.value=u},p=u=>{s.value=!0,a.value={...u},l.value=!0},v=async u=>t.submit(u,s.value),f=()=>{o.value?.itemRef.validate()};return(u,g)=>(e.openBlock(),e.createBlock(e.unref(I),{title:t.title,class:"v-sub-panel",size:"small",fit:!1,plus:"",onPlus:i},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.list,h=>(e.openBlock(),e.createBlock(e.unref(O),{title:t.itemTitle(h),border:"",actions:["edit","remove"],onAction:C=>d(h,C),onClick:C=>p(h)},null,8,["title","onAction","onClick"]))),256)),u.list.length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,"image-size":40})),e.createVNode(e.unref(pe),{modelValue:l.value,"onUpdate:modelValue":g[1]||(g[1]=h=>l.value=h),title:r.value,"submit-method":v,model:a.value,block:u.current,context:u.context,onPick:m},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"fields",e.normalizeProps(e.guardReactiveProps({model:a.value,isEdit:s.value,nameLabel:u.nameLabel,valueLabel:u.valueLabel})),()=>[e.createVNode(e.unref(b.XField),{name:"name",label:u.nameLabel,required:"",disabled:s.value},null,8,["label","disabled"]),e.createVNode(e.unref(b.XField),{ref_key:"codeFieldRef",ref:o,name:"value",label:u.valueLabel,required:""},{editor:e.withCtx(()=>[e.createVNode(e.unref(M),{ref_key:"editorRef",ref:n,dark:"",height:"350px",modelValue:a.value.value,"onUpdate:modelValue":g[0]||(g[0]=h=>a.value.value=h),onBlur:f},null,8,["modelValue"])]),_:1},8,["label"])])]),_:3},8,["modelValue","title","model","block","context"])]),_:3},8,["title"]))}}),tn=e.defineComponent({__name:"state",props:{context:{},current:{}},setup(c){const t=c,n=e.computed(()=>Object.entries(t.current?.state||{}).map(([r,i])=>({name:r,value:D.JSCodeToString(i)}))),o=()=>({name:"",value:""}),l=s=>t.current?.removeState(s.name),a=async(s,r)=>{const{name:i,value:d}=s;if(!r&&t.current?.state[i])return L(`名称 ${i} 已存在,请更换!`),!1;const m={type:"JSExpression",value:d};return X(m,t.context,!0)?(t.current?.setState(i,m),!0):!1};return(s,r)=>(e.openBlock(),e.createBlock(ce,{title:"状态数据",current:t.current,context:t.context,list:n.value,nameLabel:"状态数据名称",valueLabel:"状态初始值 [ JSExpression ]",createEmpty:o,remove:l,submit:a},null,8,["current","context","list"]))}}),nn=e.defineComponent({__name:"computed",props:{context:{},current:{}},setup(c){const t=c,n=e.computed(()=>Object.entries(t.current?.computed||{}).map(([r,i])=>({name:r,value:D.JSCodeToString(i)}))),o=()=>({name:"",value:"() => { }"}),l=s=>t.current?.removeFunction("computed",s.name),a=async(s,r)=>{const{name:i,value:d}=s;if(!r&&t.current?.computed[i])return L(`名称 ${i} 已存在,请更换!`),!1;const m={type:"JSFunction",value:d};return X(m,t.context,!0)?(t.current?.setFunction("computed",i,m),!0):!1};return(s,r)=>(e.openBlock(),e.createBlock(ce,{title:"计算属性",current:t.current,context:t.context,list:n.value,nameLabel:"计算属性名称",valueLabel:"计算函数 [ JSFunction ]",createEmpty:o,remove:l,submit:a},null,8,["current","context","list"]))}}),on=e.defineComponent({__name:"methods",props:{context:{},current:{}},setup(c){const t=c,n=e.computed(()=>Object.entries(t.current?.methods||{}).map(([r,i])=>({name:r,value:D.JSCodeToString(i)}))),o=()=>({name:"",value:"() => { }"}),l=s=>t.current?.removeFunction("methods",s.name),a=async(s,r)=>{const{name:i,value:d}=s;if(!r&&t.current?.methods[i])return L(`名称 ${i} 已存在,请更换!`),!1;const m={type:"JSFunction",value:d};return X(m,t.context,!0)?(t.current?.setFunction("methods",i,m),!0):!1};return(s,r)=>(e.openBlock(),e.createBlock(ce,{title:"组件方法",current:t.current,context:t.context,list:n.value,nameLabel:"方法名称",valueLabel:"方法函数 [ JSFunction ]",createEmpty:o,remove:l,submit:a},null,8,["current","context","list"]))}}),ln=e.defineComponent({__name:"lifeCycles",props:{context:{},current:{}},setup(c){const t=c,n=e.computed(()=>D.LIFE_CYCLES_LIST.map(r=>({label:r,value:r}))),o=e.computed(()=>Object.entries(t.current?.lifeCycles||{}).map(([i,d])=>({name:i,value:D.JSCodeToString(d)}))),l=()=>({name:"",value:"() => { }"}),a=r=>t.current?.removeFunction("lifeCycles",r.name),s=async(r,i)=>{const{name:d,value:m}=r;if(!i&&t.current?.lifeCycles[d])return L(`名称 ${d} 已存在,请更换!`),!1;const p={type:"JSFunction",value:m};return X(p,t.context,!0)?(t.current?.setFunction("lifeCycles",d,p),!0):!1};return(r,i)=>(e.openBlock(),e.createBlock(ce,{title:"生命周期",current:t.current,context:t.context,list:o.value,nameLabel:"名称",valueLabel:"函数 [ JSFunction ]",createEmpty:l,remove:a,submit:s},{fields:e.withCtx(({model:d,nameLabel:m,isEdit:p,valueLabel:v})=>[e.createVNode(e.unref(b.XField),{name:"name",label:m,editor:"select",options:n.value,required:"",disabled:p},null,8,["label","options","disabled"]),e.createVNode(e.unref(b.XField),{name:"value",label:v,required:""},{editor:e.withCtx(()=>[e.createVNode(e.unref(M),{ref:"editorRef",dark:"",height:"350px",modelValue:d.value,"onUpdate:modelValue":f=>d.value=f},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"])]),_:1},8,["current","context","list"]))}}),rn=e.defineComponent({__name:"watch",props:{context:{},current:{}},setup(c){const t=c,n=e.computed(()=>(t.current?.watch||[]).map(r=>({...r,source:D.JSCodeToString(r.source),handler:D.JSCodeToString(r.handler)}))),o=()=>({source:"() => { }",deep:!1,immediate:!1,handler:"() => { }"}),l=r=>r.source,a=r=>t.current?.removeWatch(r),s=async(r,i)=>{const d={type:"JSFunction",value:r.source},m={type:"JSFunction",value:r.handler};if(!X(d,t.context,!0)||!X(m,t.context,!0))return!1;const p={...r,source:d,handler:m};return t.current?.setWatch(p),!0};return(r,i)=>(e.openBlock(),e.createBlock(ce,{title:"侦听器",current:t.current,context:t.context,list:n.value,nameLabel:"侦听源 [ JSFunction ]",valueLabel:"处理函数 [ JSFunction ]",createEmpty:o,remove:a,submit:s,itemTitle:l,grow:""},{fields:e.withCtx(({model:d,nameLabel:m,valueLabel:p})=>[e.createVNode(e.unref(b.XField),{name:"source",label:m,required:""},{editor:e.withCtx(()=>[e.createVNode(e.unref(M),{dark:"",height:"100px",modelValue:d.source,"onUpdate:modelValue":v=>d.source=v},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"]),e.createVNode(e.unref(b.XField),{name:"deep",modelValue:d.deep,"onUpdate:modelValue":v=>d.deep=v,label:"深度监听",editor:"switch"},null,8,["modelValue","onUpdate:modelValue"]),e.createVNode(e.unref(b.XField),{name:"immediate",modelValue:d.immediate,"onUpdate:modelValue":v=>d.immediate=v,label:"立即执行",editor:"switch"},null,8,["modelValue","onUpdate:modelValue"]),e.createVNode(e.unref(b.XField),{name:"handler",label:p,required:""},{editor:e.withCtx(()=>[e.createVNode(e.unref(M),{dark:"",height:"130px",modelValue:d.handler,"onUpdate:modelValue":v=>d.handler=v},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label"])]),_:1},8,["current","context","list"]))}}),an=e.defineComponent({__name:"index",setup(c){const{current:t,context:n}=W();return(o,l)=>(e.openBlock(),e.createBlock(e.unref(b.XContainer),{class:"v-scripts-widget",direction:"column",fit:""},{default:e.withCtx(()=>[e.createVNode(tn,{current:e.unref(t),context:e.unref(n)},null,8,["current","context"]),e.createVNode(nn,{current:e.unref(t),context:e.unref(n)},null,8,["current","context"]),e.createVNode(on,{current:e.unref(t),context:e.unref(n)},null,8,["current","context"]),e.createVNode(ln,{current:e.unref(t),context:e.unref(n)},null,8,["current","context"]),e.createVNode(rn,{current:e.unref(t),context:e.unref(n)},null,8,["current","context"])]),_:1}))}}),ve=e.defineComponent({__name:"setters",props:{context:{},current:{},title:{},items:{},node:{},removable:{type:Boolean}},emits:["change","remove"],setup(c,{emit:t}){const n=c,o=t,l=(s,r)=>{o("change",s,r)},a=s=>{o("remove",s)};return(s,r)=>(e.openBlock(),e.createBlock(e.unref(I),{title:n.title,class:"v-sub-panel",size:"small",fit:!1},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElForm),{class:"v-properties-widget__form",size:"small","label-width":"90px",onKeydown:r[0]||(r[0]=e.withKeys(e.withModifiers(()=>{},["prevent","stop"]),["enter"]))},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.items,i=>(e.openBlock(),e.createBlock(e.unref($),e.mergeProps(i,{key:`${i.name}_${n.node.id}`,current:n.current,context:n.context,removable:n.removable,onChange:l,onRemove:a}),null,16,["current","context","removable"]))),128))]),_:1})]),_:1},8,["title"]))}}),sn=e.defineComponent({name:"PropertiesWidget",__name:"index",setup(c){const{current:t,context:n}=W(),{selected:o}=Y(),{node:l,commonProps:a,change:s,componentProps:r,customProps:i,addCustom:d,removeCustom:m,isExist:p}=ft(o),v=e.ref(!1),f=e.ref(),u=()=>{v.value=!0,f.value={name:""}},g=async C=>{const _=Object.keys(l.value?.props||{});return!p(C.name)&&!_.includes(C.name)?(d(C.name),!0):(L("已存在该属性名称"),!1)},h=async C=>{await re("确定删除?")&&m(C)};return(C,_)=>e.unref(t)?(e.openBlock(),e.createBlock(e.unref(b.XContainer),{key:0,class:"v-properties-widget",direction:"column",fit:""},{default:e.withCtx(()=>[e.unref(l)?(e.openBlock(),e.createBlock(ve,{key:0,title:"通用属性",current:e.unref(t),context:e.unref(n),node:e.unref(l),items:e.unref(a),onChange:e.unref(s)},null,8,["current","context","node","items","onChange"])):e.createCommentVNode("",!0),e.unref(l)&&e.unref(r).length?(e.openBlock(),e.createBlock(ve,{key:1,title:"组件属性",current:e.unref(t),context:e.unref(n),node:e.unref(l),items:e.unref(r),onChange:e.unref(s)},null,8,["current","context","node","items","onChange"])):e.createCommentVNode("",!0),e.unref(l)?(e.openBlock(),e.createBlock(ve,{key:2,title:"自定义属性",current:e.unref(t),context:e.unref(n),node:e.unref(l),items:e.unref(i),onChange:e.unref(s),removable:"",plus:"",grow:"",onPlus:u,onRemove:h},null,8,["current","context","node","items","onChange"])):e.createCommentVNode("",!0),e.createVNode(e.unref(b.XDialogForm),{modelValue:v.value,"onUpdate:modelValue":_[0]||(_[0]=V=>v.value=V),title:"新增自定义属性",width:"400px",height:"150px","submit-method":g,formProps:{tooltipMessage:!1},model:f.value},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"name",label:"属性名称",required:"",rules:{message:"名称格式错误",pattern:e.unref(Q)}},null,8,["rules"])]),_:1},8,["modelValue","model"])]),_:1})):e.createCommentVNode("",!0)}}),Te=e.defineComponent({name:"VariableBinder",__name:"variable",props:{context:{},current:{},value:{}},setup(c){const t=c,n=e.ref(),o=e.reactive({type:"JSExpression",value:t.value}),l=a=>{n.value.getEditor().setValue(a),o.value=a};return(a,s)=>(e.openBlock(),e.createBlock(e.unref(pe),{title:"绑定变量","unbind-enabled":"",block:t.current,context:t.context,model:o,onPick:l},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"value",label:"绑定内容 [ JSExpression ]",required:""},{editor:e.withCtx(()=>[e.createVNode(e.unref(M),{ref_key:"editorRef",ref:n,modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=r=>o.value=r),dark:"",height:"450px"},null,8,["modelValue"])]),_:1})]),_:1},8,["block","context","model"]))}}),Re=e.defineComponent({name:"EventBinder",__name:"event",props:{context:{},current:{},name:{},event:{}},setup(c){const t=c,n=e.ref(),o=()=>({name:t.name,...t.event,modifiers:Object.keys(t.event?.modifiers||{}),handler:{type:"JSFunction",value:t.event?.handler?.value||"() => {}"}}),l=e.reactive(o()),a=Ne.map(r=>({label:r,value:r})),s=r=>{n.value.getEditor().setValue(r),l.handler.value=r};return(r,i)=>(e.openBlock(),e.createBlock(e.unref(pe),{title:"绑定事件","unbind-enabled":"",block:t.current,context:t.context,model:l,onPick:s},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"modifiers",label:"事件修饰符",editor:"checkbox",options:e.unref(a)},null,8,["options"]),e.createVNode(e.unref(b.XField),{name:"handler.value",label:"事件处理函数 [ JSFunction ]",required:""},{editor:e.withCtx(()=>[e.createVNode(e.unref(M),{ref_key:"editorRef",ref:n,modelValue:l.handler.value,"onUpdate:modelValue":i[0]||(i[0]=d=>l.handler.value=d),dark:"",height:"350px"},null,8,["modelValue"])]),_:1})]),_:1},8,["block","context","model"]))}}),cn=e.defineComponent({name:"EventsWidget",__name:"index",setup(c){const{current:t,context:n}=W(),{selected:o}=Y(),{mouseEventList:l,keyboardEventList:a,componentEventList:s}=vt(o),r=e.ref({name:"",event:void 0}),i=e.ref(!1),d=u=>{r.value=F.cloneDeep(u),i.value=!0},m=async u=>{const g={...u,modifiers:u.modifiers.reduce((C,_)=>(C[_]=!0,C),{})};return X(g.handler,n.value,!0)?((o.value?.model).setEvent(g),!0):!1},p=async u=>{const g=o.value?.model;u.name&&(g.removeEvent(u.name),i.value=!1)},v=async()=>{r.value.name&&await re("确定要删除该事件吗?")&&p(r.value)},f=u=>{const{name:g,modelValue:h}=u;g==="edit"&&d(h),g==="remove"&&p(h)};return(u,g)=>(e.openBlock(),e.createBlock(e.unref(b.XContainer),{class:"v-events-widget",direction:"column",fit:""},{default:e.withCtx(()=>[e.createVNode(e.unref(I),{title:"组件事件",class:"v-sub-panel",size:"small",fit:!1},{default:e.withCtx(()=>[e.unref(s).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,"image-size":50,description:"该组件无自带事件"})),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s),h=>(e.openBlock(),e.createBlock(e.unref(O),{key:`component_${h.name}`,title:h.name,"model-value":h,border:"",small:"",actions:h.event?["edit","remove"]:["edit"],active:!!h.event,onClick:C=>d(h),onAction:f},null,8,["title","model-value","actions","active","onClick"]))),128))]),_:1}),e.createVNode(e.unref(I),{title:"鼠标事件",class:"v-sub-panel",size:"small",fit:!1},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l),h=>(e.openBlock(),e.createBlock(e.unref(O),{key:`mouse_${h.name}`,title:h.name,"model-value":h,border:"",small:"",actions:h.event?["edit","remove"]:["edit"],active:!!h.event,onClick:C=>d(h),onAction:f},null,8,["title","model-value","actions","active","onClick"]))),128))]),_:1}),e.createVNode(e.unref(I),{title:"键盘事件",class:"v-sub-panel",size:"small",grow:"",fit:!1},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),h=>(e.openBlock(),e.createBlock(e.unref(O),{key:`keyboard_${h.name}`,title:h.name,"model-value":h,border:"",small:"",actions:h.event?["edit","remove"]:["edit"],active:!!h.event,onClick:C=>d(h),onAction:f},null,8,["title","model-value","actions","active","onClick"]))),128))]),_:1}),i.value?(e.openBlock(),e.createBlock(e.unref(Re),{key:0,modelValue:i.value,"onUpdate:modelValue":g[0]||(g[0]=h=>i.value=h),context:e.unref(n),current:e.unref(t),name:r.value.name,event:r.value.event,submitMethod:m,onUnbind:v},null,8,["modelValue","context","current","name","event"])):e.createCommentVNode("",!0)]),_:1}))}}),un=e.defineComponent({name:"CssWidget",__name:"index",setup(c){const{current:t}=W(),n=e.ref(),o=e.computed(()=>t.value?.css||""),l=s=>{t.value?.setCss(s)},a=()=>{const r=(n.value?.getEditor()).getValue();l(r),H("保存成功")};return(s,r)=>(e.openBlock(),e.createBlock(e.unref(I),{class:"v-css-widget v-sub-panel",title:"lang:css scoped",size:"small",fit:"",save:"",onSave:a},{default:e.withCtx(()=>[e.createVNode(e.unref(M),{ref_key:"editorRef",ref:n,"model-value":o.value,height:"100%",lang:"css",dark:"",onBlur:l},null,8,["model-value"])]),_:1}))}}),dn=e.defineComponent({name:"DirectivesWidget",__name:"index",setup(c){const{current:t,context:n}=W(),{selected:o}=Y(),{vIf:l,vShow:a,vBind:s,vFor:r,vModels:i,onValueChange:d,onForChange:m,onModelChange:p}=bt(o),v=f=>f.arg?typeof f.arg=="string"?f.arg:D.parseExpression(f.arg,{}):"modelValue";return(f,u)=>(e.openBlock(),e.createBlock(e.unref(b.XContainer),{class:"v-directives-widget",direction:"column",fit:""},{default:e.withCtx(()=>[e.createVNode(e.unref(I),{class:"v-sub-panel",title:"内置指令",size:"small",fit:!1},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElForm),{size:"small","label-width":"80px",onKeydown:u[0]||(u[0]=e.withKeys(e.withModifiers(()=>{},["prevent","stop"]),["enter"]))},{default:e.withCtx(()=>[e.createVNode(e.unref($),{name:"vIf",label:"v-if",setters:"ExpressionSetter",current:e.unref(t),context:e.unref(n),value:e.unref(l).value,onChange:e.unref(d)},null,8,["current","context","value","onChange"]),e.createVNode(e.unref($),{name:"vShow",label:"v-show",setters:"ExpressionSetter",current:e.unref(t),context:e.unref(n),value:e.unref(a).value,onChange:e.unref(d)},null,8,["current","context","value","onChange"]),e.createVNode(e.unref($),{name:"vBind",label:"v-bind",setters:"ExpressionSetter",current:e.unref(t),context:e.unref(n),value:e.unref(s).value,onChange:e.unref(d)},null,8,["current","context","value","onChange"])]),_:1})]),_:1}),e.createVNode(e.unref(I),{class:"v-sub-panel",title:"循环",size:"small",fit:!1},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElForm),{size:"small","label-width":"80px",onKeydown:u[1]||(u[1]=e.withKeys(e.withModifiers(()=>{},["prevent","stop"]),["enter"]))},{default:e.withCtx(()=>[e.createVNode(e.unref($),{name:"value",label:"循环数据",setters:"ExpressionSetter",current:e.unref(t),context:e.unref(n),value:e.unref(r).value,onChange:e.unref(m)},null,8,["current","context","value","onChange"]),e.createVNode(e.unref($),{name:"item",label:"迭代变量名",setters:{name:"StringSetter",props:{placeholder:"item"}},current:e.unref(t),context:e.unref(n),value:e.unref(r).iterator?.item,onChange:e.unref(m)},null,8,["current","context","value","onChange"]),e.createVNode(e.unref($),{name:"index",label:"索引变量名",setters:{name:"StringSetter",props:{placeholder:"index"}},current:e.unref(t),context:e.unref(n),value:e.unref(r).iterator?.index,onChange:e.unref(m)},null,8,["current","context","value","onChange"])]),_:1})]),_:1}),e.createVNode(e.unref(I),{class:"v-sub-panel",title:"双向绑定",size:"small",fit:!1,grow:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),(g,h)=>(e.openBlock(),e.createBlock(e.unref(I),{card:"",border:"",class:"v-sub-panel",size:"small",title:`v-model: ${v(g)}`,body:{grow:!1},fit:!1},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ElForm),{size:"small","label-width":"60px",onKeydown:u[2]||(u[2]=e.withKeys(e.withModifiers(()=>{},["prevent","stop"]),["enter"]))},{default:e.withCtx(()=>[e.createVNode(e.unref($),{name:h.toString(),label:"绑定变量",setters:"ExpressionSetter",current:e.unref(t),context:e.unref(n),value:g.value,onChange:e.unref(p)},null,8,["name","current","context","value","onChange"])]),_:2},1024)]),_:2},1032,["title"]))),256)),e.unref(i).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,description:"当前组件没有双向绑定属性","image-size":50}))]),_:1})]),_:1}))}}),mn=e.defineComponent({name:"DefinedPropsDialog",__name:"props",props:{item:{},current:{},context:{}},setup(c){const t=c,n=e.computed(()=>t.item?"编辑定义属性":"新增定义属性"),o=e.ref(Object.assign({default:{type:"JSExpression",value:""}},t.item)),l=Object.keys(D.DATA_TYPES).map(s=>({label:s,value:s})),a=async s=>{const r=s.default;return r&&!X(r,t.context,!0)?!1:(t.current.setProp(s),!0)};return(s,r)=>(e.openBlock(),e.createBlock(e.unref(b.XDialogForm),{title:n.value,width:"800px",height:"500px",model:o.value,"form-props":{tooltipMessage:!1},"submit-method":a},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"name",label:"属性名称",required:"",tip:"名称为英文驼峰格式",disabled:!!t.item,rules:{message:"名称格式错误",pattern:e.unref(Q)}},null,8,["disabled","rules"]),e.createVNode(e.unref(b.XField),{name:"type",label:"数据类型",editor:"checkbox",props:{button:!0,size:"small"},options:e.unref(l),required:""},null,8,["options"]),e.createVNode(e.unref(b.XField),{name:"required",label:"必须",editor:"switch"}),e.createVNode(e.unref(b.XField),{name:"default.value",label:"默认值",editor:"none"},{default:e.withCtx(()=>[e.createVNode(e.unref(M),{modelValue:o.value.default.value,"onUpdate:modelValue":r[0]||(r[0]=i=>o.value.default.value=i),height:"200px",dark:""},null,8,["modelValue"])]),_:1})]),_:1},8,["title","model"]))}}),pn=e.defineComponent({name:"DefinedEventsDialog",__name:"events",props:{item:{},current:{},context:{}},setup(c){const t=c,n=e.computed(()=>t.item?"编辑定义事件":"新增定义事件"),o=e.ref({name:t.item}),l=async a=>(t.item&&t.current.removeEmit(t.item,!0),t.current.setEmit(a.name),!0);return(a,s)=>(e.openBlock(),e.createBlock(e.unref(b.XDialogForm),{title:n.value,width:"600px",height:"200px",model:o.value,"form-props":{tooltipMessage:!1},"submit-method":l},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"name",label:"事件名称",required:"",disabled:!!t.item,rules:{message:"名称格式错误",pattern:e.unref(Q)}},null,8,["disabled","rules"])]),_:1},8,["title","model"]))}}),fn=e.defineComponent({name:"DefinedSlotsDialog",__name:"slots",props:{item:{},current:{},context:{}},setup(c){const t=c,n=e.computed(()=>t.item?"编辑定义插槽":"新增定义插槽"),o=e.ref({name:t.item}),l=async a=>(t.item&&t.current.removeSlot(t.item,!0),t.current.setSlot(a.name),!0);return(a,s)=>(e.openBlock(),e.createBlock(e.unref(b.XDialogForm),{title:n.value,width:"600px",height:"200px",model:o.value,"form-props":{tooltipMessage:!1},"submit-method":l},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"name",label:"插槽名称",disabled:!!t.item,required:"",rules:{message:"名称格式错误",pattern:e.unref(Q)}},null,8,["disabled","rules"])]),_:1},8,["title","model"]))}}),vn=e.defineComponent({name:"DefinedInjectsDialog",__name:"injects",props:{item:{},current:{},context:{}},setup(c){const t=c,n=e.computed(()=>t.item?"编辑注入":"新增注入"),o=e.ref(Object.assign({default:{type:"JSExpression",value:""}},t.item)),l=async a=>{const s=a.default;return s&&!X(s,t.context,!0)?!1:(t.current.setInject(a),!0)};return(a,s)=>(e.openBlock(),e.createBlock(e.unref(b.XDialogForm),{title:n.value,width:"800px",height:"500px",model:o.value,"form-props":{tooltipMessage:!1},"submit-method":l},{default:e.withCtx(()=>[e.createVNode(e.unref(b.XField),{name:"name",label:"注入名称",required:"",tip:"名称为英文驼峰格式",disabled:!!t.item,rules:{message:"名称格式错误",pattern:e.unref(Q)}},null,8,["disabled","rules"]),e.createVNode(e.unref(b.XField),{name:"from",label:"来源名称",tip:"默认和注入名称一致"}),e.createVNode(e.unref(b.XField),{name:"default.value",label:"默认值",editor:"none"},{default:e.withCtx(()=>[e.createVNode(e.unref(M),{modelValue:o.value.default.value,"onUpdate:modelValue":s[0]||(s[0]=r=>o.value.default.value=r),height:"200px",dark:""},null,8,["modelValue"])]),_:1})]),_:1},8,["title","model"]))}}),gn=e.defineComponent({name:"DefinedWidget",__name:"index",setup(c){const{current:t,context:n}=W(),o=e.computed(()=>(t.value?.props||[]).map(j=>typeof j=="string"?{name:j}:j)),l=e.computed(()=>t.value?.emits||[]),a=e.computed(()=>t.value?.slots||[]),s=e.computed(()=>t.value?.inject||[]),r=e.ref(!1),i=e.ref(),d=e.ref(!1),m=e.ref(),p=e.ref(!1),v=e.ref(),f=e.ref(!1),u=e.ref(),g=()=>{i.value=void 0,r.value=!0},h=j=>{const{name:P,modelValue:N}=j;P==="edit"&&C(N),P==="remove"&&t.value?.removeProp(N)},C=j=>{i.value=j,r.value=!0},_=()=>{m.value=void 0,d.value=!0},V=j=>{m.value=j,d.value=!0},S=j=>{const{name:P,modelValue:N}=j;P==="edit"&&V(N),P==="remove"&&t.value?.removeEmit(N)},B=()=>{v.value=void 0,p.value=!0},E=j=>{v.value=j,p.value=!0},x=j=>{const{name:P,modelValue:N}=j;P==="edit"&&E(N),P==="remove"&&t.value?.removeSlot(N)},J=()=>{u.value=void 0,f.value=!0},Z=j=>{u.value=j,f.value=!0},ne=j=>{const{name:P,modelValue:N}=j;P==="edit"&&Z(N),P==="remove"&&t.value?.removeInject(N)};return(j,P)=>e.unref(t)&&e.unref(n)?(e.openBlock(),e.createBlock(e.unref(b.XContainer),{key:0,class:"v-defined-widget",direction:"column",fit:""},{default:e.withCtx(()=>[e.createVNode(e.unref(I),{class:"v-sub-panel",title:"定义属性",size:"small",plus:"",fit:!1,onPlus:g},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,N=>(e.openBlock(),e.createBlock(e.unref(O),{"model-value":N,title:N.name,border:"",actions:["edit","remove"],onClick:ae=>C(N),onAction:h},null,8,["model-value","title","onClick"]))),256)),o.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,"image-size":50})),r.value?(e.openBlock(),e.createBlock(mn,{key:1,current:e.unref(t),context:e.unref(n),modelValue:r.value,"onUpdate:modelValue":P[0]||(P[0]=N=>r.value=N),item:i.value},null,8,["current","context","modelValue","item"])):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.unref(I),{class:"v-sub-panel",title:"定义事件",size:"small",plus:"",fit:!1,onPlus:_},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,N=>(e.openBlock(),e.createBlock(e.unref(O),{"model-value":N,title:N,border:"",actions:["remove"],onClick:ae=>V(N),onAction:S},null,8,["model-value","title","onClick"]))),256)),l.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,"image-size":50})),d.value?(e.openBlock(),e.createBlock(pn,{key:1,modelValue:d.value,"onUpdate:modelValue":P[1]||(P[1]=N=>d.value=N),current:e.unref(t),context:e.unref(n),item:m.value},null,8,["modelValue","current","context","item"])):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.unref(I),{class:"v-sub-panel",title:"定义插槽",size:"small",plus:"",fit:!1,onPlus:B},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,N=>(e.openBlock(),e.createBlock(e.unref(O),{"model-value":N,title:N,border:"",actions:["remove"],onClick:ae=>E(N),onAction:x},null,8,["model-value","title","onClick"]))),256)),a.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,"image-size":50})),p.value?(e.openBlock(),e.createBlock(fn,{key:1,modelValue:p.value,"onUpdate:modelValue":P[2]||(P[2]=N=>p.value=N),current:e.unref(t),context:e.unref(n),item:v.value},null,8,["modelValue","current","context","item"])):e.createCommentVNode("",!0)]),_:1}),e.createVNode(e.unref(I),{class:"v-sub-panel",title:"注入",size:"small",plus:"",fit:!1,grow:"",onPlus:J},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,N=>(e.openBlock(),e.createBlock(e.unref(O),{"model-value":N,title:N.name,border:"",actions:["remove"],onClick:ae=>Z(N),onAction:ne},null,8,["model-value","title","onClick"]))),256)),s.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(y.ElEmpty),{key:0,"image-size":50})),f.value?(e.openBlock(),e.createBlock(vn,{key:1,modelValue:f.value,"onUpdate:modelValue":P[3]||(P[3]=N=>f.value=N),current:e.unref(t),context:e.unref(n),item:u.value},null,8,["modelValue","current","context","item"])):e.createCommentVNode("",!0)]),_:1})]),_:1})):e.createCommentVNode("",!0)}}),hn=e.defineComponent({name:"DataSourceDialogForm",__name:"form",props:{context:{},current:{},item:{}},setup(c){const t=c,{apis:n}=kt(),o=()=>({type:"api",ref:"",name:"",label:"",transform:{type:"JSFunction",value:`(res) => {
package/dist/index.mjs CHANGED
@@ -11,10 +11,10 @@ import { useClipboard as sa, useElementSize as Fe, onClickOutside as aa } from "
11
11
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
12
12
  * @name @vtj/designer
13
13
  * @author CHC chenhuachun1549@dingtalk.com
14
- * @version 0.7.28
14
+ * @version 0.7.29
15
15
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
16
16
  */
17
- const oa = "0.7.28", Dt = {
17
+ const oa = "0.7.29", Dt = {
18
18
  width: 390,
19
19
  height: 844
20
20
  }, Pt = {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vtj/designer",
3
3
  "private": false,
4
- "version": "0.7.28",
4
+ "version": "0.7.29",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "build": "vue-tsc && vite build",
@@ -10,11 +10,11 @@
10
10
  "coverage": "vitest run --coverage"
11
11
  },
12
12
  "dependencies": {
13
- "@vtj/core": "^0.7.28",
14
- "@vtj/icons": "^0.7.28",
15
- "@vtj/renderer": "^0.7.28",
16
- "@vtj/ui": "^0.7.28",
17
- "@vtj/utils": "^0.7.28",
13
+ "@vtj/core": "^0.7.29",
14
+ "@vtj/icons": "^0.7.29",
15
+ "@vtj/renderer": "^0.7.29",
16
+ "@vtj/ui": "^0.7.29",
17
+ "@vtj/utils": "^0.7.29",
18
18
  "monaco-editor": "~0.47.0"
19
19
  },
20
20
  "devDependencies": {
@@ -40,5 +40,5 @@
40
40
  "publishConfig": {
41
41
  "access": "public"
42
42
  },
43
- "gitHead": "2850238d20dac4589e94b8923cd4c3cfe56fdfd8"
43
+ "gitHead": "051c91898082b0e954af310f9cfcd794a2cb84c2"
44
44
  }
@@ -2,7 +2,7 @@
2
2
  * Copyright (c) 2024, VTJ.PRO All rights reserved.
3
3
  * @name @vtj/designer
4
4
  * @author CHC chenhuachun1549@dingtalk.com
5
- * @version 0.7.27
5
+ * @version 0.7.28
6
6
  * @license <a href="https://vtj.pro/license.html">MIT License</a>
7
7
  */
8
- export declare const version = "0.7.27";
8
+ export declare const version = "0.7.28";