frame-editor-preview 1.0.2 → 1.0.3

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
@@ -8,4 +8,4 @@
8
8
  `):o===5?v=`
9
9
  0%, 100% { opacity: 1; }
10
10
  50% { opacity: 0; }
11
- `:v="",ft(n,v)},Oo=n=>{ft(n)},Ht=(n,{align:o=be.left,valign:l=_e.top,animationSpeed:a=0,animationStyle:r=0,width:u,height:f,textWidth:i,textHeight:v})=>{let s=0;return a>0&&(r===1||r===2||r===6?s=(u+i)/a:r===3||r===4||r===7?s=(f+v)/a:r===5&&(s=1/a)),zo(n,r,o,l,u,f,i,v),{animationName:n,animationDelay:`-${s/2}s`,animationDuration:`${s}s`,animationTimingFunction:"linear",animationIterationCount:"infinite"}};function mt(n,o,l){const a=Date.now(),r=e.computed(()=>{const{id:u,animationStyle:f,animationSpeed:i,align:v,valign:s,rect:c}=n,p=`widget-${u}-${a}-roll`;return Ht(p,{animationStyle:f,animationSpeed:i,align:v,valign:s,width:c.width,height:c.height,textWidth:o.value,textHeight:l.value})});return e.onUnmounted(()=>{ft(`widget-${n.id}-${a}-roll`)}),r}const Rt=Symbol("frameInfo"),Lo=()=>e.inject(Rt,e.computed(()=>({frameName:"",screenTypeID:"",duration:60}))),Wo=n=>{const o=e.computed(()=>({frameName:n.frameName||"",screenTypeID:n.screenTypeID||"",duration:n.duration||60}));return e.provide(Rt,o),o},Kt=e.ref(1),Fo=n=>{Kt.value=n};function Ge(){return[e.readonly(Kt),Fo]}const Ut=Symbol("stageRect"),ve=()=>e.inject(Ut,e.computed(()=>({x:0,y:0,width:0,height:0}))),Ho=n=>{const o=e.computed(()=>({x:0,y:0,width:n.width||0,height:n.height||0}));return e.provide(Ut,o),o},Yt=Symbol("optionSource"),ye=()=>e.inject(Yt,e.computed(()=>({}))),Ro=n=>{const o=e.computed(()=>n.dataSource||{});return e.provide(Yt,o),o},jt=Symbol("fileSource"),Ko=()=>e.inject(jt,e.computed(()=>({}))),Uo=n=>{const o=e.computed(()=>n.fileSource||{});return e.provide(jt,o),o},qt=Symbol("fileBuffer"),vt=()=>e.inject(qt),Xt=n=>{const o=e.computed(()=>n.fileBuffer);return e.provide(qt,o),o},Ke=new Map;function Me(n,o){if(!n)return()=>{};let l=Ke.get(n);return l||(l=new Set,Ke.set(n,l)),l.add(o),()=>{l.delete(o),l.size===0&&Ke.delete(n)}}function Xe(n,o){const l=Ke.get(n);l&&[...l].forEach(a=>a(o))}const ot=e.ref();function Ie(n){const o=Lo(),l=ve(),a=()=>n.value.filter(({selected:h})=>!!h);return{handleImport:()=>{const h=document.createElement("input");h.type="file",h.accept=".xml,application/xml",h.onchange=g=>{var b;const w=(b=g.target.files)==null?void 0:b[0];if(!w)return;const C=new FileReader;C.onload=y=>{var x;const V=()=>{const S=dt(k);S.length===0&&ee.ElMessage.warning("导入的 XML 是空白帧,内部不含任何元素"),n.value=Co(S,l.value)},k=((x=y.target)==null?void 0:x.result)??"";if(k&&typeof k=="string")try{const{frameName:S,screenTypeID:T,width:E,height:$}=wo(k);E>0&&l.value.width!==E||$>0&&l.value.height!==$?ee.ElMessageBox.confirm(`导入的 XML 屏幕信息(${T}: ${S})与当前屏幕不匹配,导入后内部元素尺寸位置可能会被裁剪,确定导入?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消"}).then(()=>V()).catch(()=>ee.ElMessage.success("已取消导入")):V()}catch(S){ee.ElMessage.error(S.message??"解析 XML 失败")}else ee.ElMessage.warning("导入的 XML 是空文件")},C.readAsText(w)},h.click()},handleExport:()=>{try{const h=$e(e.toRaw(n.value),{...o.value,...l.value}),g=new Blob([h],{type:"application/xml"}),w=URL.createObjectURL(g),C=document.createElement("a");C.href=w,C.download=`${o.value.frameName||"新建帧"}.xml`,document.body.appendChild(C),C.click(),document.body.removeChild(C),URL.revokeObjectURL(w)}catch(h){ee.ElMessage.error(h.message??"导出失败")}},handleSelect:h=>{(Array.isArray(h)?h:n.value).forEach(g=>{g.selected=!0})},handleCopy:async h=>{const g=e.toRaw(Array.isArray(h)?h:n.value.filter(({selected:C})=>!!C)),w=JSON.stringify(g);try{const C=JSON.parse(sessionStorage.getItem(Be)??"[]");C.push(g),sessionStorage.setItem(Be,JSON.stringify(C))}catch{sessionStorage.setItem(Be,w)}ot.value=w;try{await navigator.clipboard.writeText(w)}catch{}},handlePaste:async h=>{let g=[];if(Array.isArray(h))g=q(h);else{let C=ot.value;if(typeof C!="string")try{C=await navigator.clipboard.readText()}catch{C=""}try{g=JSON.parse(C),Array.isArray(g)||(g=[g])}catch{g=[]}}const w=g.map(C=>({...C,id:G(),selected:!1,locked:!1}));n.value.push(...w)},handleDelete:h=>{Array.isArray(h)?n.value=n.value.filter(g=>!h.includes(g)):n.value=n.value.filter(g=>!g.selected)},handleClear:()=>{n.value=[]},handleLock:h=>{(Array.isArray(h)?h:n.value.filter(({selected:g})=>!!g)).forEach(g=>{g.locked=!0})},handleUnlock:h=>{(Array.isArray(h)?h:n.value.filter(({selected:g})=>!!g)).forEach(g=>{g.locked=!1})},handleAlign:h=>{const g=a(),w=g.length-1,C=fe(g.map(({rect:x})=>x)),{x:b,y,width:V,height:k}=C;if(h==="hAvgAlign"&&w>0){g.sort((E,$)=>E.rect.x-$.rect.x);const x=g.reduce((E,{rect:$})=>E+$.width,0),S=(V-x)/w;let T=0;g.forEach((E,$)=>{if(!E.locked){const P=b+T+S*$,A=P-E.rect.x;E.rect.x=P;const{x0:M,x1:B}=E.props;typeof M=="number"&&(E.props.x0=M+A),typeof B=="number"&&(E.props.x1=B+A)}T+=E.rect.width})}else if(h==="vAvgAlign"&&w>0){g.sort((E,$)=>E.rect.y-$.rect.y);const x=g.reduce((E,{rect:$})=>E+$.height,0),S=(k-x)/w;let T=0;g.forEach((E,$)=>{if(!E.locked){const P=y+T+S*$,A=P-E.rect.y;E.rect.y=P;const{y0:M,y1:B}=E.props;typeof M=="number"&&(E.props.y0=M+A),typeof B=="number"&&(E.props.y1=B+A)}T+=E.rect.height})}else{const x=S=>{switch(h){case"upAlign":return{...S,y};case"downAlign":return{...S,y:y+k-S.height};case"leftAlign":return{...S,x:b};case"rightAlign":return{...S,x:b+V-S.width};case"hCenterAlign":return{...S,x:b+V/2-S.width/2};case"vCenterAlign":return{...S,y:y+k/2-S.height/2};default:return S}};g.forEach(S=>{if(!S.locked){const T=x(S.rect),E=T.x-S.rect.x,$=T.y-S.rect.y;S.rect=T;const{x0:P,y0:A,x1:M,y1:B}=S.props;typeof P=="number"&&typeof A=="number"&&(S.props.x0=P+E,S.props.y0=A+$),typeof M=="number"&&typeof B=="number"&&(S.props.x1=M+E,S.props.y1=B+$)}})}},handleZIndex:h=>{const g=a();if(!g.length)return;const w=n.value.findIndex(({id:b})=>b===g[0].id);if(w===-1)return;const[C]=n.value.splice(w,1);switch(h){case"topIndex":n.value.splice(n.value.length,0,C);break;case"upIndex":n.value.splice(Math.min(w+1,n.value.length),0,C);break;case"downIndex":n.value.splice(Math.max(w-1,0),0,C);break;case"bottomIndex":n.value.splice(0,0,C);break}},handleTable:h=>{const g=a();if(g.length!==1)return;const w=g[0];if(typeof w.props.row=="number"&&typeof w.props.col=="number"){const C=h==="tableRowAdd"||h==="tableColAdd"?1:h==="tableRowDel"||h==="tableColDel"?-1:0,b=h==="tableRowAdd"||h==="tableRowDel"?"row":h==="tableColAdd"||h==="tableColDel"?"col":"",y=ce.get(w.type);if(y){const V=y.properties.find(({bindKey:k})=>k===b);Xe(`${w.type}-${w.id}`,{value:w.props[b]+C,property:V})}}},globalCopy:e.readonly(ot)}}const We=n=>typeof n=="number";class Gt{constructor(o,{min:l,max:a}){le(this,"timer");le(this,"index");le(this,"min");le(this,"max");le(this,"action");this.min=!We(l)||We(a)&&l>a?0:l,this.max=!We(a)||We(l)&&l>a?1/0:a,this.action=o,this.index=this.min,this.timer=null}computed(o){o===1&&this.index===this.max?this.index=this.min:o===-1&&this.index===this.min?this.index=this.max:this.index+=o}loop(o){this.timer=setTimeout(()=>{this.computed(1),this.loop(this.action(this.index))},o*1e3)}pause(){this.timer&&(clearTimeout(this.timer),this.timer=null)}stop(){this.pause(),this.index=this.min}start(){this.pause();const o=this.action(this.index);this.loop(o)}prev(){const o=this.timer===null;this.pause(),this.computed(-1);const l=this.action(this.index);o||this.loop(l)}next(){const o=this.timer===null;this.pause(),this.computed(1);const l=this.action(this.index);o||this.loop(l)}}function he(n){const o=e.shallowRef(null);let l=null;const a=()=>{l==null||l.stop(),l=null,o.value=null};return e.onBeforeUnmount(a),e.watch([()=>n.liveDatas,()=>n.playIndex],([r,u])=>{if(a(),r){const f=typeof u>"u"||u<0,i=r.length;i===0?o.value={duration:0}:i===1||!f?o.value=r[f?0:u%i]:(l=new Gt(v=>{const s=r[v];return o.value=s,s.duration},{min:0,max:i-1}),l.start())}},{immediate:!0}),o}function Zt({moveStart:n,moveFirst:o,moveTravel:l,moveEnd:a,wheelStart:r,wheelTravel:u,wheelEnd:f,keydowned:i}){const v=yt();let s=!1,c=0,p=0,m=!1,t;const d=y=>y.preventDefault(),_=(y,V)=>{w==null||w.end(),!y.button&&(y.stopImmediatePropagation(),[c,p]=v(y),m=!1,n==null||n({startPoint:[c,p],event:y},V),t=V,window.addEventListener("mousemove",h,{capture:!1,passive:!1}),window.addEventListener("mouseup",g,{capture:!1,passive:!1}),window.addEventListener("dragstart",d,{capture:!0,passive:!1}),"onselectstart"in window.document.documentElement&&window.addEventListener("selectstart",d,{capture:!0,passive:!1}))},h=y=>{y.preventDefault(),y.stopImmediatePropagation();const[V,k]=v(y),x=V-c,S=k-p;x*x+S*S<=3*3||(m||(m=!0,o==null||o({startPoint:[c,p],endPoint:[V,k],movementX:y.movementX,movementY:y.movementY,deltaX:x,deltaY:S,event:y},t)),s||(s=!0,requestAnimationFrame(()=>{s=!1,m&&(l==null||l({startPoint:[c,p],endPoint:[V,k],movementX:y.movementX,movementY:y.movementY,deltaX:x,deltaY:S,event:y},t))})))},g=y=>{window.removeEventListener("mousemove",h,{capture:!1}),window.removeEventListener("mouseup",g,{capture:!1}),window.removeEventListener("dragstart",d,{capture:!0}),"onselectstart"in window.document.documentElement&&window.removeEventListener("selectstart",d,{capture:!0}),y.preventDefault(),y.stopImmediatePropagation();const[V,k]=v(y),x=V-c,S=k-p;a==null||a({startPoint:[c,p],endPoint:[V,k],deltaX:x,deltaY:S,isMoved:m,event:y},t),c=0,p=0,m=!1};let w=null;const C=(y,V)=>{if(m)return;y.preventDefault(),y.stopImmediatePropagation();const k=Math.pow(2,-y.deltaY*.002);if(w)clearTimeout(w.timer),w.timer=setTimeout(w.end,300),w.scale*=k;else{[c,p]=v(y);const x=()=>{clearTimeout(w==null?void 0:w.timer),f==null||f({startPoint:[c,p],deltaK:(w==null?void 0:w.scale)??1,isWheeled:!!w,event:y},V),c=0,p=0,w=null};w={end:x,timer:setTimeout(x,300),scale:k},r==null||r({startPoint:[c,p],event:y},V)}s||(s=!0,requestAnimationFrame(()=>{s=!1,w&&(u==null||u({startPoint:[c,p],movementK:k,deltaK:w.scale,event:y},V))}))},b=(y,V)=>{m||(w==null||w.end(),y.preventDefault(),y.stopImmediatePropagation(),i==null||i({event:y},V))};return e.onBeforeUnmount(()=>{w==null||w.end()}),{mousedown:_,mousewheel:C,keydown:b}}function Jt(n){const o=yt(),l=(i,v)=>{const s=ce.get(i);if(s){n.value.forEach(p=>{p.selected=!1});const c=G();n.value.push({id:c,type:i,name:`${s.title}-${c.substring(0,8)}`,selected:!0,...s.initDefault(v==null?void 0:v[0],v==null?void 0:v[1])})}};return{dblclick:(i,v)=>l(v),dragstart:(i,v)=>{i.dataTransfer&&(i.dataTransfer.setData("text/plain",v),i.dataTransfer.effectAllowed="copy")},dragover:i=>{i.preventDefault(),i.dataTransfer&&(i.dataTransfer.dropEffect="copy")},drop:i=>{if(i.preventDefault(),i.dataTransfer){const v=i.dataTransfer.getData("text/plain"),s=o(i);l(v,[s[0]-25,s[1]-25])}}}}const st=e.shallowRef(),Yo=()=>[e.shallowReadonly(st),n=>{st.value=n}],yt=()=>{const[n]=Ge();return o=>{var f;const l=n.value??1,a=(f=st.value)==null?void 0:f.getBoundingClientRect(),r=(a==null?void 0:a.left)??0,u=(a==null?void 0:a.top)??0;return[(o.clientX-r)/l,(o.clientY-u)/l]}},jo={class:"arrow-line-widget-inner"},qo=e.defineComponent({name:"ArrowLineWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({x0:{},y0:{},x1:{},y1:{},lineWidth:{},lineColor:{},lineStyle:{},rect:{},selected:{type:Boolean},preview:{type:Boolean}},{item:{}}),emits:["update:item"],setup(n){const o=n,l=e.computed(()=>{const{x0:v,y0:s,x1:c,y1:p,rect:m}=o,t=Dt([v,s],[c,p]),d=pt([v,s],[c,p]);return{width:z(t),transform:`translate(${z(v-m.x)},${z(s-m.y)}) rotate(${d}deg)`}}),a=we(o),r=e.computed(()=>{const{lineColor:v,lineWidth:s}=o;return{borderColor:v,borderLeftWidth:z(12+(s??0)*2),borderTopWidth:z(6+(s??0)),borderBottomWidth:z(6+(s??0))}}),u=ve(),f=e.useModel(n,"item"),i=Me(f.value?`${f.value.type}-${f.value.id}`:"",({value:v,property:s})=>{const{bindKey:c}=s;if((c==="x0"||c==="y0"||c==="x1"||c==="y1")&&typeof v=="number"&&f.value){const{x:p,y:m,width:t,height:d}=u.value;let{x0:_,y0:h,x1:g,y1:w}=o;c==="x0"?_=Z(v,p,p+t):c==="y0"?h=Z(v,m,m+d):c==="x1"?g=Z(v,p,p+t):c==="y1"&&(w=Z(v,m,m+d)),f.value.rect={x:Z(Math.min(_,g),p,p+t),y:Z(Math.min(h,w),m,m+d),width:Z(Math.abs(_-g),0,t),height:Z(Math.abs(h-w),0,d)}}});return e.onUnmounted(()=>{i()}),(v,s)=>(e.openBlock(),e.createElementBlock("div",{class:"arrow-line-widget",style:e.normalizeStyle(l.value)},[e.createElementVNode("div",jo,[e.createElementVNode("div",{class:"line",style:e.normalizeStyle(e.unref(a))},null,4),e.createElementVNode("div",{class:"arrow",style:e.normalizeStyle(r.value)},null,4)])],4))}}),K=(n,o)=>{const l=n.__vccOpts||n;for(const[a,r]of o)l[a]=r;return l},Xo=K(qo,[["__scopeId","data-v-f6688de1"]]),Go={viewBox:"0 0 1024 1024"},Zo=e.createElementVNode("path",{d:"M833.058133 247.978667a34.133333 34.133333 0 0 1 0 21.572266l-74.752 224.187734a34.133333 34.133333 0 0 1-56.490666 13.346133l-52.3264-52.292267-418.474667 418.474667a25.6 25.6 0 0 1-36.181333-36.181333l418.474666-418.5088-60.962133-60.962134a34.133333 34.133333 0 0 1 13.346133-56.490666l224.187734-74.752a34.133333 34.133333 0 0 1 43.178666 21.6064z"},null,-1),Jo=[Zo],Qo=e.defineComponent({name:"ArrowLineIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Go,Jo))}}),se=[{type:"single-select",label:"动画效果",key:"A",bindKey:"animationStyle",valueType:"number",defaultValue:rt[0].value,options:rt},{type:"input-number",label:"动画速率",min:0,max:1e3,key:"S",bindKey:"animationSpeed",valueType:"number",defaultValue:10}],ae=[{type:"radio-button",label:"横对齐方式",key:"RA",bindKey:"align",valueType:"number",defaultValue:gt[1].value,options:gt},{type:"radio-button",label:"竖对齐方式",key:"VA",bindKey:"valign",valueType:"number",defaultValue:bt[1].value,options:bt}],R=[{type:"color-picker",label:"背景色",key:"BC",bindKey:"bgcolor",valueType:"color",defaultValue:"#00000000"},{type:"color-picker",label:"文字颜色",key:"TC",bindKey:"color",valueType:"color",defaultValue:"#ff0000"},{type:"single-select",label:"字体",key:"TT",bindKey:"fontFamily",valueType:"string",defaultValue:Ao[0].value,options:"FontFamily"},{type:"input-number",label:"字号",key:"TS",bindKey:"fontSize",valueType:"number",min:1,defaultValue:16},{type:"single-select",label:"字形",key:"TX",bindKey:"fontStyle",valueType:"number",defaultValue:kt[0].value,options:kt}],de=[{type:"input-number",label:"线宽度",key:"LW",bindKey:"lineWidth",min:0,valueType:"number",defaultValue:1},{type:"color-picker",label:"线颜色",key:"LC",bindKey:"lineColor",valueType:"color",defaultValue:"#ff0000"},{type:"single-select",label:"线类型",key:"LT",bindKey:"lineStyle",valueType:"number",defaultValue:wt[0].value,options:wt}],el=[{type:"input-number",label:"X坐标",key:"X0",bindKey:"x",valueType:"number",defaultValue:0},{type:"input-number",label:"Y坐标",key:"Y0",bindKey:"y",valueType:"number",defaultValue:0},{type:"input-number",label:"宽度",key:"W",bindKey:"width",valueType:"number",defaultValue:60},{type:"input-number",label:"高度",key:"H",bindKey:"height",valueType:"number",defaultValue:60}];class ne{constructor(o){le(this,"key");le(this,"seq");le(this,"title");le(this,"icon");le(this,"view");le(this,"rectangles");le(this,"properties");this.key=o.key,this.seq=o.seq,this.title=o.title,this.icon=o.icon,this.view=o.view,this.properties=o.properties??[],this.rectangles=el.map(l=>{var a;return{...l,...(a=o.rectangles)==null?void 0:a[l.bindKey]}})}initDefault(o,l){const a={};this.rectangles.forEach(({bindKey:u,defaultValue:f})=>{a[u]=(u==="x"?o:u==="y"?l:void 0)??q(f)});const r={};return this.properties.forEach(({bindKey:u,defaultValue:f})=>{r[u]=q(f)}),{rect:a,props:r}}xmlToRect(o){const l={};return this.rectangles.forEach(({key:a,bindKey:r})=>{var u;l[r]=+(((u=o.querySelector(W(a,!0)))==null?void 0:u.textContent)??0)}),l}rectToXML(o,l,a){return this.rectangles.map(({key:r,bindKey:u})=>{const f=l.createElement(r.toUpperCase());return f.appendChild(l.createTextNode(ie(o[u]).toString())),f})}valueFormat(o,l,a){const{valueType:r}=l;let u;return r==="number"?u=+(o||2):r==="number[]"?u=(o??"").split(",").map(f=>+(f||2)):r==="boolean"?u=o==="1":r==="boolean[]"?u=(o??"").split(",").map(f=>f==="1"):r==="color"?u=o?o.startsWith("#")?o:o==="-1"?"#00000000":`#${re(+o)}`:"#00000000":r==="color[]"?u=(o??"").split(",").map(f=>f?f.startsWith("#")?f:f==="-1"?"#00000000":`#${re(+f)}`:"#00000000"):r==="string[]"?u=(o??"").split(","):u=o,u}xmlToProps(o){const l={};return this.properties.forEach(a=>{var v;const{key:r,bindKey:u}=a,f=(v=o.querySelector(W(r,!0)))==null?void 0:v.textContent,i=this.valueFormat(f,a,o);l[u]=i}),l}textFormat(o,l,a){const{valueType:r}=l;let u;if(o==null)u="";else if(r==="number")u=ie(o).toString();else if(r==="number[]")u=zt(o).join(",");else if(r==="boolean")u=o?"1":"0";else if(r==="boolean[]")u=o.map(f=>f?"1":"0").join(",");else if(r==="color"){const[f,i,v,s]=nt(o);u=s===0?"-1":`#${re(f)}${re(i)}${re(v)}${s===255?"":re(s)}`}else r==="color[]"?u=o.map(f=>{const[i,v,s,c]=nt(f);return c===0?"-1":`#${re(i)}${re(v)}${re(s)}${c===255?"":re(c)}`}).join(","):r==="string[]"?u=o.join(","):u=o;return u}propsToXML(o,l,a){return this.properties.map(r=>{const{key:u,bindKey:f}=r,i=l.createElement(u.toUpperCase()),v=this.textFormat(o[f],r,o);return i.appendChild(l.createTextNode(v)),i})}}const tl=[{type:"input-number",label:"X0坐标",key:"X0",bindKey:"x0",valueType:"number",defaultValue:0},{type:"input-number",label:"Y0坐标",key:"Y0",bindKey:"y0",valueType:"number",defaultValue:0},{type:"input-number",label:"X1坐标",key:"X1",bindKey:"x1",valueType:"number",defaultValue:60},{type:"input-number",label:"Y1坐标",key:"Y1",bindKey:"y1",valueType:"number",defaultValue:60},...de];class Qt extends ne{constructor(){super({key:"AR",seq:11,title:"箭头线",icon:Qo,view:Xo,properties:tl,rectangles:{x:{display:!1},y:{display:!1},width:{display:!1},height:{display:!1}}})}initDefault(o,l){const a={};return this.properties.forEach(({bindKey:r,defaultValue:u})=>{r==="lineStyle"||r==="lineColor"?a[r]=q(u):r==="x0"?a[r]=o??q(u):r==="y0"?a[r]=l??q(u):r==="x1"?a[r]=(o??0)+q(u):r==="y1"?a[r]=(l??0)+q(u):a[r]=q(u)}),{rect:{x:Math.min(a.x0,a.x1),y:Math.min(a.y0,a.y1),width:Math.abs(a.x0-a.x1),height:Math.abs(a.y0-a.y1)},props:a}}xmlToRect(o){const l={x0:0,y0:0,x1:0,y1:0};return this.properties.forEach(({key:a,bindKey:r})=>{var u;if(r==="x0"||r==="y0"||r==="x1"||r==="y1"){const f=+(((u=o.querySelector(W(a)))==null?void 0:u.textContent)??0);l[r]=f}}),{x:Math.min(l.x0,l.x1),y:Math.min(l.y0,l.y1),width:Math.abs(l.x0-l.x1),height:Math.abs(l.y0-l.y1)}}rectToXML(o,l){const a=[];return this.rectangles.forEach(({key:r,bindKey:u})=>{if(u==="width"||u==="height"){const f=l.createElement(r.toUpperCase());f.appendChild(l.createTextNode(ie(o[u]).toString())),a.push(f)}}),a}}const ol=new Qt,ll=Object.freeze(Object.defineProperty({__proto__:null,ArrowLineWidget:Qt,default:ol},Symbol.toStringTag,{value:"Module"})),nl=e.defineComponent({name:"CircleWidget",inheritAttrs:!1,__name:"index",props:{lineWidth:{},lineColor:{},lineStyle:{},selected:{type:Boolean},preview:{type:Boolean}},setup(n){const l=we(n);return(a,r)=>(e.openBlock(),e.createElementBlock("div",{class:"circle-widget",style:e.normalizeStyle(e.unref(l))},null,4))}}),al=K(nl,[["__scopeId","data-v-f634a654"]]),rl={viewBox:"0 0 1170 1024"},sl=e.createElementVNode("path",{d:"M585.142857 1024c322.121143 0 585.142857-227.986286 585.142857-512s-263.021714-512-585.142857-512-585.142857 227.986286-585.142857 512 263.021714 512 585.142857 512z m0-73.142857c-283.794286 0-512-197.705143-512-438.857143s228.205714-438.857143 512-438.857143 512 197.705143 512 438.857143-228.205714 438.857143-512 438.857143z"},null,-1),il=[sl],cl=e.defineComponent({name:"CircleIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",rl,il))}}),ul=[...de];class eo extends ne{constructor(){super({key:"CR",seq:10,title:"椭圆",icon:cl,view:al,properties:ul})}}const dl=new eo,pl=Object.freeze(Object.defineProperty({__proto__:null,CircleWidget:eo,default:dl},Symbol.toStringTag,{value:"Module"})),fl=Object.assign({name:"clock-digital",inheritAttrs:!1},{__name:"index",props:{digitalOptions:{type:Object}},setup(n){const o=n,l=e.ref(new Date),a=e.ref(new Date),r=(s,c)=>{let p=s;const m=It.Solar.fromDate(c).getLunar();p=p.replace(/YYYY/g,c.getFullYear()),p=p.replace(/yyyy/g,c.getFullYear()),p=p.replace(/MM/g,String(c.getMonth()+1).padStart(2,"0")),p=p.replace(/DD/g,String(c.getDate()).padStart(2,"0")),p=p.replace(/dd/g,String(c.getDate()).padStart(2,"0")),p=p.replace(/HH/g,String(c.getHours()).padStart(2,"0")),p=p.replace(/mm/g,String(c.getMinutes()).padStart(2,"0")),p=p.replace(/ss/g,String(c.getSeconds()).padStart(2,"0"));const t=["日","一","二","三","四","五","六"];return p=p.replace(/W/g,t[c.getDay()]),p=p.replace(/CHY/g,m.getYearInChinese()),p=p.replace(/CHM/g,m.getMonthInChinese()),p=p.replace(/CHD/g,m.getDayInChinese()),p=p.replace(/SXY/g,m.getYearShengXiaoExact()),p=p.replace(/GZY/g,m.getYearInGanZhiExact()),p},u=()=>{const s=new Date;if(o.digitalOptions.timeOffset){const c=+o.digitalOptions.timeOffset||0;o.digitalOptions.timeOffsetUnit==="year"?s.setFullYear(s.getFullYear()+c):o.digitalOptions.timeOffsetUnit==="month"?s.setMonth(s.getMonth()+c):o.digitalOptions.timeOffsetUnit==="day"?s.setDate(s.getDate()+c):o.digitalOptions.timeOffsetUnit==="hour"?s.setHours(s.getHours()+c):o.digitalOptions.timeOffsetUnit==="minute"?s.setMinutes(s.getMinutes()+c):o.digitalOptions.timeOffsetUnit==="second"?s.setSeconds(s.getSeconds()+c):o.digitalOptions.timeOffsetUnit==="millisecond"&&s.setMilliseconds(s.getMilliseconds()+c)}return s},f=()=>{const s=u();l.value=s,a.value=r(o.digitalOptions.txtFormat,l.value)};let i;const v=()=>{f(),i=requestAnimationFrame(v)};return e.onMounted(()=>{v()}),e.onBeforeUnmount(()=>{i&&cancelAnimationFrame(i)}),(s,c)=>(e.openBlock(),e.createElementBlock("span",null,e.toDisplayString(a.value),1))}}),ml={class:"clock-container"},vl=["width","height"],yl=Object.assign({name:"clock-analog",inheritAttrs:!1},{__name:"index",props:{analogOptions:{type:Object}},setup(n){const o=n,l=e.computed(()=>Math.min(o.analogOptions.width,o.analogOptions.height)),a=e.ref(null),r=e.ref(null),u=e.computed(()=>l.value/2),f=e.ref(new Date),i=e.computed(()=>({...o.analogOptions,centerColor:"#f1c40f"})),v=()=>{r.value=a.value.getContext("2d")},s=B=>Math.PI/180*B,c=B=>B>=12?B-12:B,p=vt(),m=e.ref(""),t=e.ref(""),d=e.ref(""),_=e.ref(""),h=(B,I)=>{if(B&&typeof(p==null?void 0:p.value)=="function")try{p.value(B).then(D=>{const O=new Blob([D],{type:"image/"+B.split(".").pop()}),L=URL.createObjectURL(O);I==="dialBackgroundPic"?m.value=L:I==="secondHandPic"?_.value=L:I==="minuteHandPic"?d.value=L:I==="hourHandPic"&&(t.value=L)}).catch(()=>{})}catch{}};e.watch(()=>i.value.dialBackgroundPic,B=>{h(B,"dialBackgroundPic")}),e.watch(()=>i.value.secondHandPic,B=>{h(B,"secondHandPic")}),e.watch(()=>i.value.minuteHandPic,B=>{h(B,"minuteHandPic")}),e.watch(()=>i.value.hourHandPic,B=>{h(B,"hourHandPic")});const g=new Map,w=B=>{let I=g.get(B);if(I)return I;const D=()=>{B&&URL.revokeObjectURL(B)};return I=new Image,I.src=B,I.onload=()=>{g.set(B,I),D()},I.onerror=()=>{g.set(B,"broken"),D()},g.set(B,"loading"),I},C=()=>{const B=u.value-l.value/50,I=u.value-l.value/400;if(i.value.dialBackgroundPic){if(m.value){const D=w(m.value);if(D!=="broken"&&D!=="loading"){const O=D.width,L=D.height,U=Math.max(I*2/O,I*2/L),H=O*U,Y=L*U,j=-H/2,F=-Y/2;r.value.drawImage(D,j,F,H,Y)}}}else{r.value.beginPath(),r.value.arc(0,0,I,0,2*Math.PI),r.value.fillStyle=i.value.dialBackgroundColor,r.value.fill();for(let D=1;D<=60;D++){const O=s(D*6-90),L=Math.sin(O),U=Math.cos(O);let H,Y,j,F;if(D%5===0){r.value.lineWidth=l.value/50,H=L*(B-B/9),Y=-U*(B-B/9),j=L*B,F=-U*B;const X=B-B/4.2,J=L*X,oe=-U*X,te=(D/5+9)%12===0?12:(D/5+9)%12;r.value.textBaseline="middle",r.value.textAlign="center",r.value.font=`bold ${l.value/13}px Arial`,r.value.fillStyle=i.value.dialColor,r.value.fillText(te.toString(),J,oe)}else r.value.lineWidth=l.value/100,H=L*(B-B/20),Y=-U*(B-B/20),j=L*B,F=-U*B;r.value.beginPath(),r.value.strokeStyle=i.value.scaleColor,r.value.lineCap="round",r.value.moveTo(H,Y),r.value.lineTo(j,F),r.value.stroke()}r.value.beginPath(),r.value.arc(0,0,u.value-o.analogOptions.borderWidth/2,0,2*Math.PI),r.value.lineWidth=o.analogOptions.borderWidth,r.value.strokeStyle=i.value.borderColor,r.value.stroke()}},b=(B,I,D,O=.5,L=.5,U)=>{if(B){r.value.beginPath(),r.value.moveTo(0,0),r.value.translate(u,u);const H=w(B),Y=I/H.height,j=H.width*Y>D?D:H.width*Y,F=H.height*Y>I?I:H.height*Y;if(U?r.value.translate(0,-F/2+F*.22):r.value.translate(0,-F/2),H!=="broken"&&H!=="loading"){const X=-j*O,J=-F*L;r.value.drawImage(H,X,J,j,F),r.value.restore()}}},y=(B,I,D,O=!0)=>{r.value.beginPath(),r.value.moveTo(0,0),r.value.lineTo(0,-B),r.value.lineWidth=I,r.value.strokeStyle=D,r.value.lineCap="round",O&&(r.value.shadowColor="rgba(0, 0, 0, 0.5)",r.value.shadowBlur=l.value/80,r.value.shadowOffsetX=l.value/200,r.value.shadowOffsetY=l.value/200),r.value.stroke()},V=(B,I)=>{const D=u.value*.75-l.value/40;if(r.value.save(),!i.value.dialBackgroundPic||!i.value.secondHandPic){const O=s(B*6);r.value.rotate(O),y(D,l.value/150,i.value.secondHandColor),r.value.beginPath(),r.value.arc(0,D/15,l.value/60,0,2*Math.PI),r.value.fillStyle=i.value.secondHandColor,r.value.fill(),r.value.restore()}else{const O=s(B*6);r.value.rotate(O),b(_.value,u.value-l.value/400,l.value/100,.5,.5,!0)}},k=(B,I)=>{const D=u.value*.55;if(r.value.save(),i.value.dialBackgroundPic==null||i.value.dialBackgroundPic==null||i.value.dialBackgroundPic==""||i.value.minuteHandPic==null||i.value.minuteHandPic==null||i.value.minuteHandPic==""){const O=s(B*6+I*.1);r.value.rotate(O),y(D,l.value/60,i.value.minuteHandColor),r.value.restore()}else{const O=s(B*6+I*.1);r.value.rotate(O),b(d.value,D,l.value/50,.5,.5)}},x=(B,I)=>{const D=u.value*.4;if(r.value.save(),i.value.dialBackgroundPic==null||i.value.dialBackgroundPic==null||i.value.dialBackgroundPic==""||i.value.hourHandPic==null||i.value.hourHandPic==null||i.value.hourHandPic==""){const O=s(B*30+I*.5);r.value.rotate(O),y(D,l.value/40,i.value.hourHandColor),r.value.restore()}else{const O=s(B*30+I*.5);r.value.rotate(O),b(t.value,D,l.value/25,.5,.5)}},S=()=>{r.value.beginPath(),r.value.arc(0,0,l.value/30,0,2*Math.PI),r.value.fillStyle=i.value.centerColor,r.value.fill(),r.value.beginPath(),r.value.arc(0,0,l.value/60,0,2*Math.PI),r.value.fillStyle="#ffffff",r.value.fill()},T=()=>{const B=new Date;if(o.analogOptions.timeOffset){const I=+o.analogOptions.timeOffset||0;o.analogOptions.timeOffsetUnit==="hour"?B.setHours(B.getHours()+I):o.analogOptions.timeOffsetUnit==="minute"?B.setMinutes(B.getMinutes()+I):o.analogOptions.timeOffsetUnit==="second"?B.setSeconds(B.getSeconds()+I):o.analogOptions.timeOffsetUnit==="millisecond"&&B.setMilliseconds(B.getMilliseconds()+I)}return B},E=()=>{if(!r.value)return;const B=T();f.value=B;const I=B.getHours(),D=B.getMinutes(),O=B.getSeconds();B.getMilliseconds(),r.value.setTransform(1,0,0,1,0,0),r.value.clearRect(0,0,l.value,l.value),r.value.translate(u.value,u.value),C(),x(c(I),D),k(D,O),i.value.isShowSecondHand&&V(O),S()},$=e.ref(null),P=()=>{E(),$.value=setTimeout(()=>{P()},1e3)},A=()=>{P()},M=()=>{$.value&&(clearTimeout($.value),$.value=null)};return e.onMounted(()=>{i.value.dialBackgroundPic&&h(i.value.dialBackgroundPic,"dialBackgroundPic"),i.value.hourHandPic&&h(i.value.hourHandPic,"hourHandPic"),i.value.minuteHandPic&&h(i.value.minuteHandPic,"minuteHandPic"),i.value.secondHandPic&&h(i.value.secondHandPic,"secondHandPic"),v(),A()}),e.onBeforeUnmount(()=>{M()}),(B,I)=>(e.openBlock(),e.createElementBlock("div",ml,[e.createElementVNode("canvas",{ref_key:"canvas",ref:a,width:o.analogOptions.width,height:o.analogOptions.height},null,8,vl)]))}}),hl={class:"clock-widget"},gl=Object.assign({name:"ClockWidget",inheritAttrs:!1},{__name:"index",props:e.mergeModels(["id","preview","selected","clockType","align","valign","fontSize","fontFamily","fontStyle","animationStyle","animationSpeed","timeType","txtFormat","timeOffset","timeOffsetUnit","rect","bgcolor","color","horColor","minColor","secColor","scaleColor","borderColor","borderWidth","bgPic","secPic","minPic","horPic","isShowSecondHand"],{item:{}}),emits:["update:item"],setup(n){const o=n,{elRef:l,width:a,height:r}=Ne(),u=e.computed(()=>!o.preview&&!o.selected&&!o.txtFormat?{backdropFilter:"blur(2px)"}:{}),f=Lt(o),i=Ot(o,a,r),v=mt(o,a,r),s=e.computed(()=>{const{rect:m,timeOffset:t,timeOffsetUnit:d,bgcolor:_,color:h,horColor:g,minColor:w,secColor:C,scaleColor:b,borderColor:y,borderWidth:V,bgPic:k,secPic:x,minPic:S,horPic:T,isShowSecondHand:E}=o;return{width:m.width,height:m.height,timeOffset:t,timeOffsetUnit:d,borderColor:y,borderWidth:V,dialColor:h,dialBackgroundColor:_,secondHandColor:C,minuteHandColor:w,hourHandColor:g,scaleColor:b,dialBackgroundPic:k,secondHandPic:x,minuteHandPic:S,hourHandPic:T,isShowSecondHand:E}}),c=e.computed(()=>{const{txtFormat:m,timeOffset:t,timeOffsetUnit:d}=o;return{txtFormat:m,timeOffset:t,timeOffsetUnit:d}}),p=e.useModel(n,"item");return e.watch([()=>o.clockType,()=>o.rect.width,()=>o.rect.height],([m,t,d],[_,h,g])=>{p.value&&m===1&&(t!==h&&d===g?(p.value.rect.width=t,p.value.rect.height=t):t===h&&d!==g?(p.value.rect.width=d,p.value.rect.height=d):t!==h&&d!==g?(p.value.rect.width=(t+d)/2,p.value.rect.height=(t+d)/2):t!==d&&(p.value.rect.width=Math.min(t,d),p.value.rect.height=Math.min(t,d)))}),(m,t)=>(e.openBlock(),e.createElementBlock("div",hl,[n.clockType===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"digital-clock-container",style:e.normalizeStyle({...e.unref(f),...e.unref(i),...u.value})},[e.createElementVNode("span",{ref_key:"textRef",ref:l,style:e.normalizeStyle(e.unref(v))},[e.createVNode(fl,{digitalOptions:c.value},null,8,["digitalOptions"])],4)],4)):n.clockType===1?(e.openBlock(),e.createBlock(yl,{key:1,analogOptions:s.value},null,8,["analogOptions"])):e.createCommentVNode("",!0)]))}}),bl=K(gl,[["__scopeId","data-v-c8e615f1"]]),_l={viewBox:"0 0 1024 1024"},kl=e.createElementVNode("path",{d:"M511.3 64c-247 0-448 201-448 448s201 448 448 448 448-201 448-448-200.9-448-448-448z m223.8 772.1c-8.9-6.2-20.9-7.2-30.9-1.4-10.3 5.9-15.5 17.2-14.2 28.3-45.5 23.3-96 37.9-149.6 41.9-4-11.1-14.5-19-27-19-12.6 0-23.1 8.1-27.1 19.3-49.2-3.1-95.9-15.2-138.5-34.7 3.3-12.3-1.7-25.8-13.3-32.4-12-6.9-26.8-4.2-35.7 5.6-42.2-27.1-78.9-62-108-102.7 11.1-8.7 14.5-24.4 7.3-37-7.5-13-23.6-17.8-37-11.6-23.2-44.8-38-94.7-42.4-147.4 15.6-0.3 28.2-13 28.2-28.7 0-15.9-12.9-28.8-28.8-28.8h-0.1c3.1-50.9 16-99.2 36.7-143.1 0.3 0.2 0.5 0.4 0.7 0.5 13.8 7.9 31.4 3.2 39.3-10.5 7.9-13.8 3.2-31.4-10.5-39.3-0.4-0.3-0.9-0.4-1.3-0.6 28.2-42.4 64.3-79.1 106.3-107.8 0.1 0.2 0.2 0.5 0.3 0.7 7.9 13.8 25.6 18.5 39.3 10.5 13.8-7.9 18.5-25.6 10.5-39.3-0.2-0.3-0.4-0.5-0.6-0.8 44.6-21.8 94-35.4 146.1-38.9 0.5 15.4 13.1 27.8 28.7 27.8 15.4 0 27.9-12.2 28.6-27.5 51.4 4 100 17.9 144 39.7-5.2 13.1-0.3 28.3 12.2 35.5 12.4 7.1 27.8 4 36.6-6.7 41.2 28.5 76.7 64.6 104.4 106.3-8.9 9-11.1 23-4.5 34.5 6.6 11.4 19.7 16.4 31.8 13.4 21.7 45.1 34.9 94.9 37.9 147.5-10.8 4.1-18.6 14.5-18.6 26.8 0 12 7.4 22.3 17.9 26.6-3.9 50.2-17.2 97.8-38.2 141-10.8-1-21.7 4.2-27.5 14.2-5.8 10.1-4.8 22.2 1.6 31.1-27.6 42.1-63.2 78.4-104.6 107z"},null,-1),wl=e.createElementVNode("path",{d:"M728.2 605.4l-189.9-109V251.3c0-14.9-12.1-27-27-27s-27 12.1-27 27V512c0 0.3 0.1 0.6 0.1 0.9 0 1 0.2 1.9 0.3 2.9 0.1 0.8 0.2 1.6 0.4 2.5 0.2 0.9 0.5 1.7 0.8 2.5 0.3 0.8 0.6 1.7 0.9 2.4 0.4 0.8 0.8 1.5 1.2 2.3 0.4 0.7 0.8 1.5 1.3 2.2 0.5 0.7 1.1 1.4 1.7 2 0.6 0.7 1.1 1.3 1.8 1.9 0.6 0.6 1.3 1.1 1.9 1.6 0.8 0.6 1.5 1.2 2.3 1.7 0.3 0.2 0.5 0.4 0.7 0.5l203.4 116.7c4.2 2.5 8.9 3.6 13.5 3.6 9.3 0 18.4-4.8 23.4-13.5 7.5-12.9 3.1-29.4-9.8-36.8z"},null,-1),Cl=[kl,wl],xl=Object.assign({name:"ClockIcon"},{__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",_l,Cl))}}),Ct=[{value:0,label:"文字显示"},{value:1,label:"模拟时钟"}],xt=[{value:0,label:"公历"},{value:1,label:"农历"}],Vt=[{value:"year",label:"年"},{value:"month",label:"月"},{value:"day",label:"日"},{value:"hour",label:"时"},{value:"minute",label:"分"},{value:"second",label:"秒"},{value:"millisecond",label:"毫秒"}],Vl=[{type:"radio-default",label:"时钟类型",key:"CP",bindKey:"clockType",valueType:"number",defaultValue:Ct[0].value,options:Ct},{type:"radio-default",label:"日期类型",key:"CK",bindKey:"timeType",valueType:"number",defaultValue:xt[0].value,options:xt,display:({props:n})=>n.clockType===0},{type:"format-date",label:"格式",key:"F",bindKey:"txtFormat",defaultValue:"YYYY-MM-DD HH:mm:ss",display:({props:n})=>n.clockType===0},R[0],R[1],{...R[2],display:({props:n})=>n.clockType===0},{...R[3],display:({props:n})=>n.clockType===0},{...R[4],display:({props:n})=>n.clockType===0},...ae,{...se[0],display:({props:n})=>n.clockType===0},{...se[1],display:({props:n})=>n.clockType===0},{type:"input-number",label:"时间偏移",key:"OF",bindKey:"timeOffset",valueType:"number",defaultValue:0,min:-9999,max:9999,display:!1},{type:"single-select",label:"偏移单位",key:"DW",bindKey:"timeOffsetUnit",valueType:"string",defaultValue:Vt[0].value,options:Vt,display:!1},{type:"media-list",label:"背景图片",key:"BCP",bindKey:"bgPic",files:"Image",display:({props:n})=>n.clockType===1},{type:"media-list",label:"时针图片",key:"HRP",bindKey:"horPic",files:"Image",display:({props:n})=>n.clockType===1&&!(n.bgPic==null||n.bgPic==null||n.bgPic=="")},{type:"media-list",label:"分针图片",key:"MIP",bindKey:"minPic",files:"Image",display:({props:n})=>n.clockType===1&&!(n.bgPic==null||n.bgPic==null||n.bgPic=="")},{type:"switch-default",label:"显示秒针",key:"SS",bindKey:"isShowSecondHand",valueType:"boolean",defaultValue:!0},{type:"media-list",label:"秒针图片",key:"SCP",bindKey:"secPic",files:"Image",display:({props:n})=>n.clockType===1&&!(n.bgPic==null||n.bgPic==null||n.bgPic=="")},{type:"color-picker",label:"时针颜色",key:"HRC",bindKey:"horColor",valueType:"color",defaultValue:"#2c3e50",display:({props:n})=>n.clockType===1},{type:"color-picker",label:"分针颜色",key:"MIC",bindKey:"minColor",valueType:"color",defaultValue:"#2c3e50",display:({props:n})=>n.clockType===1},{type:"color-picker",label:"秒针颜色",key:"SCC",bindKey:"secColor",valueType:"color",defaultValue:"#f1c40f",display:({props:n})=>n.clockType===1},{type:"color-picker",label:"刻度颜色",key:"SLC",bindKey:"scaleColor",valueType:"color",defaultValue:"#2c3e50",display:({props:n})=>n.clockType===1&&(n.bgPic==null||n.bgPic==null||n.bgPic=="")},{type:"color-picker",label:"边圈颜色",key:"BDRC",bindKey:"borderColor",valueType:"color",defaultValue:"#2c3e50",display:({props:n})=>n.clockType===1&&(n.bgPic==null||n.bgPic==null||n.bgPic=="")},{type:"input-number",label:"边圈宽度",key:"BDRW",bindKey:"borderWidth",valueType:"number",defaultValue:1,display:({props:n})=>n.clockType===1&&(n.bgPic==null||n.bgPic==null||n.bgPic=="")}];class to extends ne{constructor(){super({key:"CL",seq:1,title:"时钟",icon:xl,view:bl,properties:Vl})}valueFormat(o,l,a){const{valueType:r}=l;return r==="boolean"?o!=="0":super.valueFormat(o,l,a)}}const Sl=new to,El=Object.freeze(Object.defineProperty({__proto__:null,ClockWidget:to,default:Sl},Symbol.toStringTag,{value:"Module"}));var ke=(n=>(n[n.initial=0]="initial",n[n.fill=1]="fill",n[n.contain=2]="contain",n[n.cover=3]="cover",n[n.none=4]="none",n))(ke||{}),it=(n=>(n[n.no=1]="no",n[n.yes=2]="yes",n))(it||{});const Fe=e.defineComponent({name:"ExtraDefault",inheritAttrs:!1,__name:"extra",props:e.mergeModels({property:{}},{data:{}}),emits:["update:data"],setup(n){const o=R.slice(0,2).map(({bindKey:i})=>i),l=[...R.slice(2),...ae,...se].map(({bindKey:i})=>i),a=n,r=e.useModel(n,"data"),u=e.computed(()=>{var s,c;let i="列";const v=(s=a.property)==null?void 0:s.bindKey;return o.includes(v)&&(i=(c=r.value)!=null&&c.props.rowMode?"行":"列"),`应用于所有${i}`}),f=()=>{if(a.property&&r.value){const i=a.property.bindKey;if(o.includes(i)){const v=r.value.props[i];(r.value.props.rowMode?r.value.props.rowConfs:r.value.props.colConfs).forEach(p=>{p[i]=v})}if(l.includes(i)){const v=r.value.props[i];r.value.props.colConfs.forEach(s=>{s[i]=v})}}};return(i,v)=>{const s=e.resolveComponent("el-button"),c=e.resolveComponent("el-tooltip");return e.openBlock(),e.createBlock(c,{content:u.value,placement:"top"},{default:e.withCtx(()=>[e.createVNode(s,{icon:"Refresh",size:"small",circle:"",onClick:v[0]||(v[0]=p=>f())})]),_:1},8,["content"])}}}),Tl={},$l={class:"tip"};function Bl(n,o){return e.openBlock(),e.createElementBlock("span",$l," 行模式已开启 ")}const Nl=K(Tl,[["render",Bl],["__scopeId","data-v-eb404351"]]),lt=[{label:"是",value:it.yes},{label:"否",value:it.no}],St=[{label:"文本",value:0},{label:"图片",value:1}],Et=[{label:"填充-fill",value:ke.fill},{label:"包含-contain",value:ke.contain},{label:"覆盖-cover",value:ke.cover},{label:"无-none",value:ke.none}],ue="zh|C",oo=[{type:"input-number",label:"行数",key:"NR",bindKey:"row",min:1,valueType:"number",defaultValue:3},{type:"input-number",label:"列数",key:"NC",bindKey:"col",min:1,valueType:"number",defaultValue:3},{type:"multiple-number",label:"行高",key:"HR",bindKey:"rowHeight",min:0,valueType:"number[]",defaultValue:[20,20,20]},{type:"multiple-number",label:"列宽",key:"WC",bindKey:"colWidth",min:0,valueType:"number[]",defaultValue:[20,20,20]},{type:"color-picker",label:"表格填充色",key:"FC",bindKey:"fillColor",valueType:"color",defaultValue:"#00000000"},{...de[0]},{...de[1]},{type:"input-number",label:"定位行数",key:"DL",bindKey:"locateIndex",min:0,valueType:"number",defaultValue:0},{type:"input-number",label:"每页跨行数",key:"PL",bindKey:"stepIndex",min:0,valueType:"number",defaultValue:0},{type:"input-number",label:"滚动间隔",key:"DS",bindKey:"rollInterval",valueType:"number",defaultValue:0,tip:"负值向下滚动, 正值像上滚动, 0 不滚动",display:!1},{type:"single-select",label:"数据源",key:"SOURCE",bindKey:"source",defaultValue:"DS",options:"TableSource"},{type:"filter-setting",label:"筛选条件",key:"FILTER",bindKey:"filter",valueType:"string"},{type:"single-select",label:"奇数页语种",key:"ODDLANGUAGE",bindKey:"oddLanguage",defaultValue:ue,options:"Language"},{type:"single-select",label:"偶数页语种",key:"EVENLANGUAGE",bindKey:"evenLanguage",defaultValue:ue,options:"Language"},{type:"table-setting",label:"行属性设置",key:"ROW",bindKey:"rowConfs",valueType:"object[]",defaultValue:[],children:[{type:"single-select",label:"行语种",key:"LANGUAGE",bindKey:"language",defaultValue:ue,options:"Language"},...R.map((n,o)=>({...n,display:o<2})),{...ae[0],display:!1},{...ae[1],key:"CA",display:!1},...se.map(n=>({...n,display:!1}))]},{type:"table-setting",label:"列属性设置",key:"COL",bindKey:"colConfs",valueType:"object[]",defaultValue:[],children:[{type:"single-select",label:"列类型",key:"PT",bindKey:"colMode",valueType:"number",defaultValue:St[0].value,options:St},{type:"single-select",label:"绑定字段",key:"FIELD",bindKey:"field",options:"TABLE_SOURCE_FIELD"},{type:"input-number",label:"图片宽度",key:"PW",bindKey:"imageWidth",valueType:"number",min:-1,defaultValue:-1,tip:"-1 表示使用单元格宽度",display:n=>n.colMode===1},{type:"input-number",label:"图片高度",key:"PH",bindKey:"imageHeight",valueType:"number",min:-1,defaultValue:-1,tip:"-1 表示使用单元格高度",display:n=>n.colMode===1},{type:"single-select",label:"拉伸方式",key:"PF",bindKey:"objectFit",valueType:"number",defaultValue:Et[0].value,options:Et,display:n=>n.colMode===1},{type:"single-select",label:"列语种",key:"LANGUAGE",bindKey:"language",defaultValue:ue,options:"Language",display:n=>n.colMode!==1},{type:"input-text",label:"",key:"DV",bindKey:"domainVal",display:!1},{type:"radio-default",label:"",key:"WL",bindKey:"effectRow",valueType:"number",options:lt,display:!1},{type:"checkbox-default",label:"使用行背景",key:"RBC",bindKey:"useRowBG",valueType:"boolean",defaultValue:!1,display:!1},{...R[0]},...R.slice(1).map(n=>({...n,display:o=>o.colMode!==1})),{...ae[0]},{...ae[1],key:"CA"},...se.map(n=>({...n,display:o=>o.colMode!==1})),{type:"table-setting",label:"值域设置",key:"DOMAIN",bindKey:"colDomains",valueType:"object[]",defaultValue:[],children:[{type:"input-text",label:"值域内容",key:"DV",bindKey:"domainVal",defaultValue:"*"},{type:"radio-default",label:"整行影响",key:"WL",bindKey:"effectRow",valueType:"number",defaultValue:lt[1].value,options:lt},{type:"checkbox-default",label:"使用行背景",key:"RBC",bindKey:"useRowBG",valueType:"boolean",defaultValue:!1,display:(n,o)=>o.rowMode,extra:Nl},{...R[0],display:(n,o)=>!n.useRowBG||!o.rowMode},...R.slice(1),{...ae[0]},{...ae[1],key:"CA"},...se],display:n=>n.colMode!==1}]},...R.map(n=>({...n,extra:Fe})),{...ae[0],extra:Fe},{...ae[1],key:"CA",extra:Fe},...se.map(n=>({...n,extra:Fe}))],Ml=["onMousedown"],Il=["onMousedown"],Pl=e.defineComponent({name:"resizable-table",inheritAttrs:!1,__name:"index",props:{style:{},lineWidth:{default:()=>0},colWidth:{default:()=>[1]},rowHeight:{default:()=>[1]},resizable:{type:Boolean,default:()=>!0},dataSource:{default:()=>[]}},emits:["resize"],setup(n,{emit:o}){const l=n,a=o,r=e.computed(()=>{var p;const v=l.dataSource.length||1,s=((p=l.dataSource)==null?void 0:p[0].td.length)||1,c=l.lineWidth;return[(s-1)*c/s,(v-1)*c/v]});let u=[],f=[];const{mousedown:i}=Zt({moveFirst:()=>{const{rowHeight:v,colWidth:s}=l;u=[...s],f=[...v]},moveTravel:({deltaX:v,deltaY:s},{type:c,index:p}={})=>{a("resize",{type:c,index:p,size:c==="row"?f[p]+s:c==="col"?u[p]+v:0})}});return(v,s)=>(e.openBlock(),e.createElementBlock("div",{class:"resizable-table",style:e.normalizeStyle(v.style)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.dataSource,(c,p)=>(e.openBlock(),e.createElementBlock("div",{class:"tr",key:c.id},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.td,(m,t)=>(e.openBlock(),e.createElementBlock("div",{class:"td",key:m.id,style:e.normalizeStyle({width:e.unref(z)(v.colWidth[t]+r.value[0]),height:e.unref(z)(v.rowHeight[p]+r.value[1]),marginTop:e.unref(z)(-v.lineWidth),marginLeft:e.unref(z)(-v.lineWidth),...m.lineStyle})},[v.resizable&&p>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"resize-handle-row",style:e.normalizeStyle({height:e.unref(z)(v.lineWidth),marginTop:e.unref(z)(-v.lineWidth/2)}),onMousedown:d=>e.unref(i)(d,{type:"row",index:p-1})},null,44,Ml)):e.createCommentVNode("",!0),v.resizable&&t>0?(e.openBlock(),e.createElementBlock("span",{key:1,class:"resize-handle-col",style:e.normalizeStyle({width:e.unref(z)(v.lineWidth),marginLeft:e.unref(z)(-v.lineWidth/2)}),onMousedown:d=>e.unref(i)(d,{type:"col",index:t-1})},null,44,Il)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"text-image",style:e.normalizeStyle({...m.fontStyle,...m.alignStyle})},[typeof m.text=="string"?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(m.animationStyle)},e.toDisplayString(m.text),5)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.text),{key:1,style:e.normalizeStyle(m.imageStyle)},null,8,["style"]))],4)],4))),128))]))),128))],4))}}),lo=K(Pl,[["__scopeId","data-v-5c70c8e3"]]),Al={class:"data-table-widget"},Dl=e.defineComponent({name:"DataTableWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({row:{},col:{},rowHeight:{},colWidth:{},fillColor:{},locateIndex:{},stepIndex:{},rollInterval:{},source:{},evenLanguage:{},oddLanguage:{},filter:{},rowMode:{type:Boolean},rowConfs:{},colConfs:{},lineWidth:{},lineColor:{},lineStyle:{},color:{},bgcolor:{},fontSize:{},fontFamily:{},fontStyle:{},align:{},valign:{},animationStyle:{},animationSpeed:{},rect:{},id:{},selected:{type:Boolean,default:()=>!1},preview:{type:Boolean,default:()=>!1},liveDatas:{},playIndex:{}},{item:{}}),emits:["update:item"],setup(n){const o=n,l=ye(),a=_=>{var h;return(h=(l.value[o.source??""]??[]).find(({value:g})=>g===_))==null?void 0:h.label},r=e.computed(()=>{const{fillColor:_}=o;return{backgroundColor:_}}),u=we(o),f=e.computed(()=>Number.parseInt(String(u.value.borderWidth),10)),i=(_,h)=>{for(let g=0;g<h.length;g++){const w=h[g],{domainVal:C}=w;if(_.match(new RegExp(`^${(C??"").replace(/(\*+)/g,".*")}$`)))return w}return null},v=(_,h,g,w)=>{const{id:C,rowMode:b,rowConfs:y,colConfs:V}=o,k=w||(b?y[_]:V[h]),x=w!=null&&w.useRowBG&&b?y[_].bgcolor:k.bgcolor,S=k.color;let{fontFamily:T,fontSize:E,fontStyle:$,align:P,valign:A,animationSpeed:M,animationStyle:B}=k;if(!w&&b&&({fontFamily:T,fontSize:E,fontStyle:$,align:P,valign:A,animationSpeed:M,animationStyle:B}=V[h]),!g)return{fontStyle:{backgroundColor:x}};const I=o.colWidth[h],D=o.rowHeight[_];if(typeof g=="string"){const O=me({color:S,bgcolor:x,fontFamily:T,fontSize:E,fontStyle:$}),{width:L,height:U}=Mo(g,O.fontSize,O.fontFamily),H=at({align:P,valign:A,width:I,height:D,textWidth:L,textHeight:U}),Y=Ht(`widget-${C}-${_}-${h}-roll`,{animationSpeed:M,animationStyle:B,align:P,valign:A,width:I,height:D,textWidth:L,textHeight:U});return{fontStyle:O,alignStyle:H,animationStyle:Y}}if(V[h].colMode===1){const{imageWidth:O,imageHeight:L,objectFit:U}=V[h],H=O===-1?I:O??0,Y=L===-1?D:L??0,j=at({align:P,valign:A,width:I,height:D,textWidth:H,textHeight:Y});return{imageStyle:{width:z(H),height:z(Y),objectFit:ke[U]},fontStyle:{backgroundColor:x},alignStyle:j}}},s=vt(),c=he(o),p=e.computed(()=>{const{colConfs:_}=o,h=c.value?c.value.data??[]:[];return new Array(o.row).fill(0).map((g,w)=>{let C=null;const b=h[w],y=_.map(({colDomains:V,colMode:k},x)=>{if(k!==1){const S=(b==null?void 0:b[x])??"",T=i(S,V);return T&&T.effectRow===2&&(C=T),T}return null});return{id:G(),td:new Array(o.col).fill(0).map((V,k)=>{let x="";if(!o.preview&&w===0)x=a(_[k].field);else if(o.preview&&(x=(b==null?void 0:b[k])??"",x&&_[k].colMode===1)){const S=x;x=e.defineAsyncComponent(()=>new Promise(T=>{try{typeof(s==null?void 0:s.value)!="function"?T(e.h("img",{title:"没有提供获取图片流的接口"})):s.value(S).then(E=>{const $=new Blob([E],{type:`image/${S.split(".").pop()}`}),P=URL.createObjectURL($),A=()=>URL.revokeObjectURL(P);T(e.h("img",{src:P,onError:A,onLoad:A}))}).catch(()=>{T(e.h("img",{title:"请求图片流出错"}))})}catch{T(e.h("img",{title:"请求图片流出错"}))}}))}return{id:G(),text:x,lineStyle:u.value,...v(w,k,x,y[k]||C)}})}})});e.watch([()=>o.rect.width,()=>o.rect.height],([_,h],[g,w])=>{if(t.value){const{props:C}=t.value;if(_!==g){const b=C.colWidth.length,y=C.colWidth.reduce((V,k)=>V+k,0);C.colWidth=y===0?C.colWidth.map(()=>_/b):C.colWidth.map(V=>V*_/y)}if(h!==w){const b=C.rowHeight.length,y=C.rowHeight.reduce((V,k)=>V+k,0);C.rowHeight=y===0?C.rowHeight.map(()=>h/b):C.rowHeight.map(V=>V*h/y)}}});const m=_=>{if(t.value){const{rect:h,props:g}=t.value,{type:w,index:C,size:b}=_,y=w==="row"?"rowHeight":"colWidth",V=[...g[y]],k=V.length;V[C]=b,g[y]=qe(C,V,w==="row"?h.height:h.width,(g.lineWidth??0)*k/(k-1))}},t=e.useModel(n,"item"),d=Me(t.value?`${t.value.type}-${t.value.id}`:"",({value:_,property:h})=>{var g;if(t.value){const{rect:w,props:C}=t.value,{bindKey:b}=h;if(b==="source"&&C.colConfs.forEach(y=>{y.field=void 0}),typeof _=="boolean"&&b==="rowConfs"&&(C.rowMode=_,_||C.colConfs.forEach(y=>{y.useRowBG=!1,y.colDomains.forEach(V=>{V.useRowBG=!1})})),typeof _=="number"&&(b==="row"||b==="col"||b==="rowConfs"||b==="colConfs")){const y=b==="row"||b==="rowConfs"?"row":"col",V=y==="row"?"rowHeight":"colWidth",k=y==="row"?"rowConfs":"colConfs",x=y==="row"?w.height:w.width,S=C[V].length;if(_-S>0){const T=b==="colConfs"||b==="rowConfs"?h.children:(g=oo.find(P=>P.bindKey===k))==null?void 0:g.children,E=new Array(_-S).fill(0).map(()=>{const P={id:G()};return T==null||T.forEach(A=>{P[A.bindKey]=q(C[A.bindKey]??A.defaultValue)}),P});y==="row"?C.rowConfs.push(...E):C.colConfs.push(...E);const $=x/_;C[V]=new Array(_).fill($),C[y]=_}else{if(S<=1)return;let T=0;b==="rowConfs"||b==="colConfs"?(T=S-1,C[k].splice(-_,1)):(T=_,C[k].splice(_));const E=x/T;C[V]=new Array(T).fill(E),C[y]=T}}if(typeof(_==null?void 0:_.index)=="number"&&(b==="rowHeight"||b==="colWidth")){const{value:y,index:V}=_,k=[...C[b]],x=k.length;k[V]=y,C[b]=qe(V,k,b==="rowHeight"?w.height:w.width,(C.lineWidth??0)*x/(x-1))}}});return e.onUnmounted(()=>{Oo(`widget-${o.id}-\\d-\\d-roll`),d()}),(_,h)=>(e.openBlock(),e.createElementBlock("div",Al,[e.createVNode(lo,{style:e.normalizeStyle(r.value),lineWidth:f.value,rowHeight:_.rowHeight,colWidth:_.colWidth,dataSource:p.value,resizable:!!t.value,onResize:m},null,8,["style","lineWidth","rowHeight","colWidth","dataSource","resizable"])]))}}),zl=K(Dl,[["__scopeId","data-v-06b452c4"]]),Ol={viewBox:"0 0 1024 1024"},Ll=e.createElementVNode("path",{d:"M960 64H64c-25.6 0-44.8 19.2-44.8 38.4v812.8c0 25.6 19.2 44.8 44.8 44.8h896c25.6 0 44.8-19.2 44.8-38.4V102.4c0-19.2-19.2-38.4-44.8-38.4zM108.8 288c0-6.4 6.4-12.8 12.8-12.8H448c6.4 0 12.8 6.4 12.8 12.8v108.8c0 6.4-6.4 12.8-12.8 12.8H128c-6.4 0-12.8-6.4-12.8-12.8V288z m806.4 281.6v281.6c0 6.4-6.4 12.8-12.8 12.8H128c-6.4 0-12.8-6.4-12.8-12.8V518.4c0-6.4 6.4-12.8 12.8-12.8h768c6.4 0 12.8 6.4 12.8 12.8v51.2z m0-172.8c0 6.4-6.4 12.8-12.8 12.8H569.6c-6.4 0-12.8-6.4-12.8-12.8V288c0-6.4 6.4-12.8 12.8-12.8H896c6.4 0 12.8 6.4 12.8 12.8v108.8z"},null,-1),Wl=e.createElementVNode("path",{d:"M230.4 614.4l-57.6 12.8v25.6l25.6-6.4v89.6h-25.6v19.2h89.6v-19.2h-32zM326.4 614.4c-19.2 0-32 6.4-38.4 19.2-6.4 12.8-12.8 32-12.8 57.6 0 44.8 19.2 70.4 51.2 70.4 19.2 0 32-6.4 38.4-19.2s12.8-32 12.8-57.6c0-44.8-12.8-70.4-51.2-70.4z m0 121.6c-12.8 0-19.2-19.2-19.2-51.2s6.4-51.2 19.2-51.2c12.8 0 19.2 19.2 19.2 51.2 0 38.4-6.4 51.2-19.2 51.2zM460.8 614.4l-57.6 12.8v25.6l25.6-6.4v89.6h-25.6v19.2h83.2v-19.2h-25.6zM556.8 614.4c-19.2 0-32 6.4-38.4 19.2-6.4 12.8-12.8 32-12.8 57.6 0 44.8 19.2 70.4 51.2 70.4 19.2 0 32-6.4 38.4-19.2s12.8-32 12.8-57.6c0-44.8-19.2-70.4-51.2-70.4z m0 121.6c-12.8 0-19.2-19.2-19.2-51.2s6.4-51.2 19.2-51.2c12.8 6.4 19.2 19.2 19.2 51.2 0 38.4-6.4 51.2-19.2 51.2zM691.2 614.4l-57.6 12.8v25.6l25.6-6.4v89.6h-25.6v19.2h83.2v-19.2h-25.6zM787.2 614.4c-19.2 0-32 6.4-38.4 19.2-6.4 12.8-12.8 32-12.8 57.6 0 44.8 19.2 70.4 51.2 70.4 19.2 0 32-6.4 38.4-19.2s12.8-32 12.8-57.6c0-44.8-19.2-70.4-51.2-70.4z m0 121.6c-12.8 0-19.2-19.2-19.2-51.2s6.4-51.2 19.2-51.2c12.8 0 19.2 19.2 19.2 51.2 0 38.4-6.4 51.2-19.2 51.2z"},null,-1),Fl=[Ll,Wl],Hl=e.defineComponent({name:"DataTableIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Ol,Fl))}}),Tt=[...R,...ae,...se].map(({bindKey:n})=>n);class no extends ne{constructor(){super({key:"DT",seq:6,title:"数据表格",icon:Hl,view:zl,properties:oo,rectangles:{width:{defaultValue:60},height:{defaultValue:60}}})}initDefault(o,l){var v,s;const a=super.initDefault(o,l),r=(v=this.properties.find(({bindKey:c})=>c==="rowConfs"))==null?void 0:v.children,u=new Array(a.props.row).fill(0).map(()=>{const c={id:G()};return r==null||r.forEach(p=>{c[p.bindKey]=q(p.defaultValue)}),c}),f=(s=this.properties.find(({bindKey:c})=>c==="colConfs"))==null?void 0:s.children,i=new Array(a.props.col).fill(0).map(()=>{const c={id:G()};return f==null||f.forEach(p=>{c[p.bindKey]=q(p.defaultValue)}),c});return{...a,props:{...a.props,rowConfs:u,colConfs:i}}}extraToData(o,l,a){var m,t,d;const r={};this.rectangles.forEach(({key:_,bindKey:h})=>{var g,w;r[h]=+(((g=o.querySelector(W(_,!0)))==null?void 0:g.textContent)??((w=l==null?void 0:l.querySelector(W(_,!0)))==null?void 0:w.textContent)??0)});const u=((m=a==null?void 0:a.querySelector(W("STYPE")))==null?void 0:m.textContent)??"",f=((t=a==null?void 0:a.querySelector(W("DATASET")))==null?void 0:t.textContent)??void 0,[i,v,s,c]=(((d=a==null?void 0:a.querySelector(W("DATALISTDETAIL")))==null?void 0:d.textContent)??"").split(";").map(_=>(_??"").split(",")),p={};return this.properties.forEach(_=>{var y,V,k,x,S;const{key:h,bindKey:g,defaultValue:w,children:C}=_;if(g==="filter"){p[g]=u;return}if(g==="source"){p[g]=f;return}if(g==="oddLanguage"||g==="evenLanguage"){p[g]=(c==null?void 0:c[g==="oddLanguage"?0:1])||q(w);return}if(Tt.includes(g)){p[g]=q(w);return}if(g==="colConfs"){const T=((V=(y=C==null?void 0:C.find($=>$.bindKey==="colDomains"))==null?void 0:y.children)==null?void 0:V.map($=>$.bindKey))??[],E=o.querySelectorAll(W(h,!0));p[g]=Array.from(E).map(($,P)=>{var B;const A={id:G()},M=+(((B=$.querySelector(W("SE")))==null?void 0:B.textContent)??1);return C==null||C.forEach(I=>{var D,O;if(I.bindKey==="field")A[I.bindKey]=(i==null?void 0:i[P])||void 0;else if(I.bindKey==="language")A[I.bindKey]=(v==null?void 0:v[P])||q(I.defaultValue);else if(I.bindKey==="colDomains")A.colDomains=[],M===2&&((D=I.children)==null||D.map(L=>{var H;(((H=$.querySelector(W(L.key,!0)))==null?void 0:H.textContent)??"").split(",").map((Y,j)=>{const F=super.valueFormat(Y,L,o);A.colDomains[j]||(A.colDomains[j]={id:G()}),A.colDomains[j][L.bindKey]=F})}));else if(M===2&&T.includes(I.bindKey))A[I.bindKey]=q(I.defaultValue);else{const L=(O=$.querySelector(W(I.key,!0)))==null?void 0:O.textContent;A[I.bindKey]=(I.bindKey==="imageWidth"||I.bindKey==="imageHeight")&&!L?-1:super.valueFormat(L,I,o)}}),A});return}if(g==="rowConfs"){const T=o.querySelectorAll(W(h,!0)),E=T.length>0;if(E)p[g]=Array.from(T).map(($,P)=>{const A={id:G()};return C==null||C.forEach(M=>{var B;if(M.bindKey==="language")A[M.bindKey]=(s==null?void 0:s[P])||q(M.defaultValue);else{const I=(B=$.querySelector(W(M.key,!0)))==null?void 0:B.textContent;A[M.bindKey]=super.valueFormat(I,M,$)}}),A});else{const $=+(((k=o.querySelector(W("NR")))==null?void 0:k.textContent)??1);p[g]=new Array($).fill(0).map(()=>{const P={id:G()};return C==null||C.forEach(A=>{P[A.bindKey]=q(A.defaultValue)}),P})}p.rowMode=E;return}const b=((x=o.querySelector(W(h)))==null?void 0:x.textContent)??((S=l==null?void 0:l.querySelector(W(h)))==null?void 0:S.textContent);p[g]=super.valueFormat(b,_,o)}),{rect:r,props:p}}propsToXML(o,l,a){return this.properties.map(r=>{var c,p;const{key:u,bindKey:f,children:i}=r;if(f==="filter")return[];if(f==="source")return[];if(f==="oddLanguage"||f==="evenLanguage")return[];if(Tt.includes(f))return[];if(f==="colConfs"){const m=((p=(c=i==null?void 0:i.find(t=>t.bindKey==="colDomains"))==null?void 0:c.children)==null?void 0:p.map(t=>t.bindKey))??[];return o[f].map((t,d)=>{var g;const _=l.createElement(u.toUpperCase());N("LN",d+1,_,l);const h=((g=t.colDomains)==null?void 0:g.length)>0&&t.colMode!==1?2:1;return N("SE",h,_,l),i==null||i.forEach(w=>{var C;if(w.bindKey!=="field"){if(w.bindKey!=="language"){if(w.bindKey==="colDomains"&&h===2){const b=[];if(t.colDomains.forEach(({domainVal:y},V)=>{y||b.push(V+1)}),b.length>0)throw new Error(`${a.name}: 第${d+1}列,第${b.join(",")}个配置的值域内容不能为空`);if(!t.colDomains.some(({domainVal:y})=>y==="*"))throw new Error(`${a.name}: 第${d+1}列,所配置的值域列表里,至少需要有一个值域内容为 * 号`);(C=w.children)==null||C.map(y=>{const V=t.colDomains.map(k=>super.textFormat(k[y.bindKey],y,o)).join(",");N(y.key.toUpperCase(),V,_,l)})}else if(!(h===2&&m.includes(w.bindKey))){if(w.bindKey!=="colDomains"){const b=t[w.bindKey],y=(w.bindKey==="imageWidth"||w.bindKey==="imageHeight")&&b===-1?"":super.textFormat(b,w,o);N(w.key.toUpperCase(),y,_,l)}}}}}),_})}if(f==="rowConfs")return o.rowMode?o[f].map((m,t)=>{const d=l.createElement(u.toUpperCase());return N("LN",t+1,d,l),i==null||i.forEach(_=>{if(_.bindKey!=="language"){const h=super.textFormat(m[_.bindKey],_,o);N(_.key.toUpperCase(),h,d,l)}}),d}):[];const v=l.createElement(u.toUpperCase()),s=super.textFormat(o[f],r,o);return v.appendChild(l.createTextNode(s)),v}).reduce((r,u)=>r.concat(u),[])}extraToXML(o,l,a,r,u){const f=a.createElement("ST");N("ID",-1,f,a),N("TP",3,f,a),this.rectToXML(o,a,r).forEach(y=>{f.appendChild(y)});const i=a.createElement("Table");N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("NR",l.row,i,a);let v="",s="";const c=[],p=[],m=[],t=[];this.properties.forEach(y=>{const{key:V,bindKey:k}=y;if(k==="row"||k==="col"||k==="rowHeight"||k==="colWidth"||k==="fillColor"||k==="lineWidth"||k==="lineColor"){const x=super.textFormat(l[k],y,l);N(V.toUpperCase(),x,f,a)}else if(k==="filter")v=l[k]??"";else if(k==="source")if(l[k])s=l[k];else throw new Error(`${r.name}: 未配置数据源`);else k==="oddLanguage"?t[0]=l[k]??ue:k==="evenLanguage"?t[1]=l[k]??ue:k==="colConfs"?l[k].forEach((x,S)=>{if(!x.field)throw new Error(`${r.name}: 第 ${S+1} 列未配置字段`);c.push(x.field),p.push(x.colMode!==1?x.language??ue:"")}):k==="rowConfs"&&l.rowMode&&l[k].forEach(x=>{m.push(x.language??ue)})});let d=!1,_=0,h="",g=!1,w=[];if(l.rowMode)if(new Set(m).size===1)d=!0;else{if(new Set(c).size!==c.length)throw new Error(`${r.name}: 行语言配置生效时,所有的列配置的【绑定字段】,不能存在重复`);const y=m.filter((k,x)=>x%2===0),V=m.filter((k,x)=>x%2===1);if(new Set(y).size!==1||new Set(V).size!==1)throw new Error(`${r.name}: 行语言配置生效时,所有的行语言只能为两种语言,且需按照 ABAB... 间隔模式配置`);w=m.slice(0,2),_=1,h="R"}else if(new Set(p.filter(y=>!!y)).size===1)d=!0;else{if(new Set(c.map((y,V)=>`${y}-${p[V]}`)).size!==c.length)throw new Error(`${r.name}: 列语言配置生效时,所有的文本列配置的【绑定字段 + 语言】,图片列配置的【绑定字段】,不能存在重复`);w=p,_=0,h="C",g=!0}if(d){if(new Set(c).size!==c.length)throw new Error(`${r.name}: 奇偶语言配置生效时,所有的列配置的【绑定字段】,不能存在重复`);new Set(t).size===1?(w=[t[0]],_=0,h="C"):(w=t,_=l.row,h="R")}const C=[];w.forEach((y,V)=>{(g?[c[V]]:c).forEach(x=>{C.push(y&&Po(x)?x.replace(/^C/,y.replace(/.+\|/,"")):x)})});const b=[c.join(","),p.join(","),m.join(","),t.join(",")];return N("STYPE",v,i,a),N("CTYPE",h,i,a),N("MTYPE",_,i,a),N("LTYPE",[...new Set(w)].filter(y=>!!y).join(","),i,a),N("DATASET",s,i,a),N("DATALIST",C.join(","),i,a),N("DATALISTDETAIL",b.join(";"),i,a),[i,f]}parseLiveData(o,l,a){var m,t,d;const r=+(((m=l.querySelector(W("NR")))==null?void 0:m.textContent)??1),u=+(((t=l.querySelector(W("DL")))==null?void 0:t.textContent)??0),f=+(((d=l.querySelector(W("PL")))==null?void 0:d.textContent)??0),i=r+f;let v=0,s=[],c=0;Array.from(o.querySelectorAll(W("ROW"))).forEach((_,h)=>{if(h<u){h===u-1&&(c+=1);return}const g=(h-u)%i;if(g>=r){g===r&&(c+=1);return}g===0&&(s.push({data:[],duration:a}),v+=a);const w=[];_.getAttributeNames().forEach((C,b)=>{const y=_.getAttribute(C)??"";w[b]=y}),s[s.length-1].data.push(w)});const p=c-s.length;return p>0&&(s=s.concat(new Array(p).fill({data:[],duration:a})),v+=a*p),{data:s,duration:v}}}const Rl=new no,Kl=Object.freeze(Object.defineProperty({__proto__:null,DataTableWidget:no,default:Rl},Symbol.toStringTag,{value:"Module"})),ao=[{type:"single-select",label:"数据源",key:"FN",bindKey:"source",options:"Image",clearable:!0},{type:"media-list",label:"默认路径",key:"URL",bindKey:"url",files:"Image"}],Ul=["title"],Yl=e.defineComponent({name:"source-label",inheritAttrs:!1,__name:"index",props:{properties:{},source:{}},setup(n){const o=n,l=ye(),a=e.computed(()=>{var u,f;const r=(u=o.properties.find(({bindKey:i})=>i==="source"))==null?void 0:u.options;return(f=(l.value[r]??[]).find(({value:i})=>i===o.source))==null?void 0:f.label});return(r,u)=>a.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"source-label",title:a.value},e.toDisplayString(a.value),9,Ul)):e.createCommentVNode("",!0)}}),Ze=K(Yl,[["__scopeId","data-v-f4e0b6c9"]]),jl="__FILE_CACHE__";function $t(n){return`${jl}_${n}`}function ro(){return new Promise((n,o)=>{if(!("indexedDB"in window)){o(new Error("IndexedDB not supported"));return}const l=indexedDB.open("file-cache-db",1);l.onupgradeneeded=()=>{const a=l.result;a.objectStoreNames.contains("files")||a.createObjectStore("files")},l.onsuccess=()=>n(l.result),l.onerror=()=>o(l.error)})}function ql(n,o){return ro().then(l=>new Promise((a,r)=>{const i=l.transaction("files","readwrite").objectStore("files").put(o,n);i.onsuccess=()=>{a(),l.close()},i.onerror=()=>{r(i.error),l.close()}}))}function Xl(n){return ro().then(o=>new Promise((l,a)=>{const f=o.transaction("files","readonly").objectStore("files").get(n);f.onsuccess=()=>{l(f.result),o.close()},f.onerror=()=>{a(f.error),o.close()}}))}class Bt{static async set(o,l){try{await ql($t(o),l)}catch{}}static async get(o){try{return await Xl($t(o))}catch{}}}const Gl={key:0},Zl={key:1},Jl=["src"],Ql=["src"],en=e.defineComponent({name:"file-preview",inheritAttrs:!1,__name:"index",props:{style:{},type:{},file:{},preview:{type:Boolean}},setup(n){const o=n,l={Image:"图片",Video:"视频",PPT:"PPT",WORD:"Word"},a=e.ref(!1),r=e.shallowRef(),u=e.shallowRef(),f=e.computed(()=>typeof u.value=="string"&&!u.value.startsWith("blob:")),i=()=>{typeof u.value=="string"&&URL.revokeObjectURL(u.value)},v=()=>{var _;if(a.value=!1,o.type!=="Video"&&i(),o.type==="WORD"||o.type==="PPT"){const h=(_=m.value)==null?void 0:_.querySelector(o.type==="WORD"?".vue-office-docx-main":".vue-office-pptx-main");p.value=h==null?void 0:h.clientWidth}},s=()=>{i(),u.value=`加载${l[o.type]}失败`,a.value=!1},c=vt();e.watch([()=>o.file,()=>o.type],([_,h])=>{if(!_){r.value=!0,u.value=`请选择${l[h]}`;return}if(!Object.keys(l).includes(h)){u.value=`不支持的${l[h]}格式`;return}if(typeof(c==null?void 0:c.value)!="function"){u.value=`未提供获取${l[h]}流的接口`;return}try{a.value=!0,Bt.get(_).then(g=>g?g.arrayBuffer().then(w=>[g,w]):c.value(_).then(w=>{const C=new Blob([w],{type:`${h.toLocaleLowerCase()}/${_.split(".").pop()}`});return C.size>0&&Bt.set(_,C),[C,w]})).then(([g,w])=>{h==="Image"||h==="Video"?u.value=URL.createObjectURL(g):u.value=w}).catch(()=>{a.value=!1,u.value=`请求${l[h]}流出错`})}catch{a.value=!1,u.value=`请求${l[h]}流出错`}},{immediate:!0});const p=e.ref(),{elRef:m,width:t}=Ne(),d=e.computed(()=>p.value?(t.value-Io())/p.value:o.type==="WORD"?854:960);return(_,h)=>{const g=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:m,class:"flex",style:e.normalizeStyle({..._.style,"--scale":d.value})},[r.value&&_.preview?(e.openBlock(),e.createElementBlock("span",Gl)):f.value?(e.openBlock(),e.createElementBlock("span",Zl,e.toDisplayString(u.value),1)):_.type==="WORD"?(e.openBlock(),e.createBlock(e.unref($o),{key:2,src:u.value,onRendered:v,onError:s},null,8,["src"])):_.type==="PPT"?(e.openBlock(),e.createBlock(e.unref(Bo),{key:3,src:u.value,onRendered:v,onError:s},null,8,["src"])):typeof u.value=="string"&&_.type==="Image"?(e.openBlock(),e.createElementBlock("img",{key:4,src:u.value,draggable:"false",onError:s,onLoad:v},null,40,Jl)):typeof u.value=="string"&&_.type==="Video"?(e.openBlock(),e.createElementBlock("video",{key:5,src:u.value,draggable:"false",autoplay:"",muted:"",onError:s,onLoadeddata:v,onEnded:i},null,40,Ql)):e.createCommentVNode("",!0)],4)),[[g,a.value]])}}}),Ce=K(en,[["__scopeId","data-v-6dc73490"]]),tn={class:"image-widget"},on=e.defineComponent({name:"ImageWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(n){const o=n,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),a=he(o),r=e.computed(()=>a.value?a.value.name??"":o.url);return(u,f)=>(e.openBlock(),e.createElementBlock("div",tn,[u.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(ao),source:u.source},null,8,["properties","source"])),e.createVNode(Ce,{style:e.normalizeStyle(e.unref(l)),preview:u.preview,type:"Image",file:r.value},null,8,["style","preview","file"])]))}}),ln=K(on,[["__scopeId","data-v-2f32312a"]]);class so extends ne{constructor(){super({key:"PT",seq:7,title:"图片",icon:"Picture",view:ln,properties:ao})}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}return[]}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Name")??"",i=u.getAttribute("Url")??"",v=+(u.getAttribute("Duration")??0);r.push({name:f,url:i,duration:v})}),{data:r,duration:a}}}const nn=new so,an=Object.freeze(Object.defineProperty({__proto__:null,ImageWidget:so,default:nn},Symbol.toStringTag,{value:"Module"})),rn={class:"line-widget-inner"},sn=e.defineComponent({name:"LineWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({x0:{},y0:{},x1:{},y1:{},lineWidth:{},lineColor:{},lineStyle:{},rect:{},selected:{type:Boolean},preview:{type:Boolean}},{item:{}}),emits:["update:item"],setup(n){const o=n,l=e.computed(()=>{const{x0:i,y0:v,x1:s,y1:c,rect:p}=o,m=Dt([i,v],[s,c]),t=pt([i,v],[s,c]);return{width:z(m),transform:`translate(${z(i-p.x)},${z(v-p.y)}) rotate(${t}deg)`}}),a=we(o),r=ve(),u=e.useModel(n,"item"),f=Me(u.value?`${u.value.type}-${u.value.id}`:"",({value:i,property:v})=>{const{bindKey:s}=v;if((s==="x0"||s==="y0"||s==="x1"||s==="y1")&&typeof i=="number"&&u.value){const{x:c,y:p,width:m,height:t}=r.value;let{x0:d,y0:_,x1:h,y1:g}=o;s==="x0"?d=Z(i,c,c+m):s==="y0"?_=Z(i,p,p+t):s==="x1"?h=Z(i,c,c+m):s==="y1"&&(g=Z(i,p,p+t)),u.value.rect={x:Z(Math.min(d,h),c,c+m),y:Z(Math.min(_,g),p,p+t),width:Z(Math.abs(d-h),0,m),height:Z(Math.abs(_-g),0,t)}}});return e.onUnmounted(()=>{f()}),(i,v)=>(e.openBlock(),e.createElementBlock("div",{class:"line-widget",style:e.normalizeStyle(l.value)},[e.createElementVNode("div",rn,[e.createElementVNode("div",{class:"line",style:e.normalizeStyle(e.unref(a))},null,4)])],4))}}),cn=K(sn,[["__scopeId","data-v-c724f697"]]),un={viewBox:"0 0 1024 1024"},dn=e.createElementVNode("path",{d:"M191.488 864.768c-8.192 0-16.384-3.072-22.528-9.216-12.288-12.288-12.288-32.768 0-45.056L809.472 168.96c12.288-12.288 32.768-12.288 45.056 0s12.288 32.768 0 45.056L214.016 855.04c-6.144 6.144-14.336 9.728-22.528 9.728z"},null,-1),pn=[dn],fn=e.defineComponent({name:"LineIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",un,pn))}}),mn=[{type:"input-number",label:"X0坐标",key:"X0",bindKey:"x0",valueType:"number",defaultValue:0},{type:"input-number",label:"Y0坐标",key:"Y0",bindKey:"y0",valueType:"number",defaultValue:0},{type:"input-number",label:"X1坐标",key:"X1",bindKey:"x1",valueType:"number",defaultValue:60},{type:"input-number",label:"Y1坐标",key:"Y1",bindKey:"y1",valueType:"number",defaultValue:60},...de];class io extends ne{constructor(){super({key:"LN",seq:2,title:"直线",icon:fn,view:cn,properties:mn,rectangles:{x:{display:!1},y:{display:!1},width:{display:!1},height:{display:!1}}})}initDefault(o,l){const a={};return this.properties.forEach(({bindKey:r,defaultValue:u})=>{r==="lineStyle"||r==="lineColor"?a[r]=q(u):r==="x0"?a[r]=o??q(u):r==="y0"?a[r]=l??q(u):r==="x1"?a[r]=(o??0)+q(u):r==="y1"?a[r]=(l??0)+q(u):a[r]=q(u)}),{rect:{x:Math.min(a.x0,a.x1),y:Math.min(a.y0,a.y1),width:Math.abs(a.x0-a.x1),height:Math.abs(a.y0-a.y1)},props:a}}xmlToRect(o){const l={x0:0,y0:0,x1:0,y1:0};return this.properties.forEach(({key:a,bindKey:r})=>{var u;if(r==="x0"||r==="y0"||r==="x1"||r==="y1"){const f=+(((u=o.querySelector(W(a)))==null?void 0:u.textContent)??0);l[r]=f}}),{x:Math.min(l.x0,l.x1),y:Math.min(l.y0,l.y1),width:Math.abs(l.x0-l.x1),height:Math.abs(l.y0-l.y1)}}rectToXML(o,l){const a=[];return this.rectangles.forEach(({key:r,bindKey:u})=>{if(u==="width"||u==="height"){const f=l.createElement(r.toUpperCase());f.appendChild(l.createTextNode(ie(o[u]).toString())),a.push(f)}}),a}}const vn=new io,yn=Object.freeze(Object.defineProperty({__proto__:null,LineWidget:io,default:vn},Symbol.toStringTag,{value:"Module"})),co=[{type:"single-select",label:"数据源",key:"PDS",bindKey:"source",options:"PPT"},{type:"office-list",label:"默认路径",key:"URL",bindKey:"url",files:"PPT"}],hn={class:"ppt-widget"},gn=e.defineComponent({name:"PPTWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(n){const o=n,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),a=he(o),r=e.computed(()=>a.value?a.value.name??"":o.url);return(u,f)=>(e.openBlock(),e.createElementBlock("div",hn,[u.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(co),source:u.source},null,8,["properties","source"])),e.createVNode(Ce,{style:e.normalizeStyle(e.unref(l)),preview:u.preview,type:"PPT",file:r.value},null,8,["style","preview","file"])]))}}),bn=K(gn,[["__scopeId","data-v-187900d9"]]),_n={viewBox:"0 0 1024 1024"},kn=e.createElementVNode("path",{d:"M357.47 394.33h-57.82v96.29h56.28c34.13 0 58.25-13.13 58.25-47.96-0.01-35.18-25.45-48.33-56.71-48.33z"},null,-1),wn=e.createElementVNode("path",{d:"M920.64 216.07a32.37 32.37 0 0 0-35.94-36.41c-99.41-1.93-198.92 0-298.53-0.87v-76.2H530.5c-142.67 26.01-285.43 50.86-428.1 76.39V845.6c141.99 25.43 283.98 49.7 425.98 75.81h57.8v-74.85h279.36c15.89-0.96 33.43 0 47.01-9.63 10.89-17.24 8.09-38.53 9.05-57.8-0.96-187.37 0.68-375.4-0.96-563.06zM365.21 549.32h-65.57v127.36h-73.8V335.63h141.09c72.47 0 121.66 40.78 121.66 105.61 0 74.09-56.1 108.08-123.38 108.08z m528.07 267.66H586.17v-76.2h241.98v-38.53H586.17v-47.2h241.98v-38.54H586.17v-47.2h241.98v-38.53H586.17v-48.16h241.98v-37.09H586.17v-48.16h241.98V359.8H586.17v-47.68h241.98v-38.05H586.17V207.4h307.11v609.58z"},null,-1),Cn=[kn,wn],xn=e.defineComponent({name:"PPTIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",_n,Cn))}});class uo extends ne{constructor(){super({key:"OFP",seq:12,title:"PPT",icon:xn,view:bn,properties:co,rectangles:{width:{defaultValue:80}}})}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Name")??"",i=u.getAttribute("Url")??"",v=u.getAttribute("SortNo")??"",s=+(u.getAttribute("Duration")??0);r.push({name:f,url:i,sortNo:v,duration:s})}),{data:r,duration:a}}}const Vn=new uo,Sn=Object.freeze(Object.defineProperty({__proto__:null,PPTWidget:uo,default:Vn},Symbol.toStringTag,{value:"Module"})),En=e.defineComponent({name:"RectangleWidget",inheritAttrs:!1,__name:"index",props:{lineWidth:{},lineColor:{},lineStyle:{},selected:{type:Boolean},preview:{type:Boolean}},setup(n){const l=we(n);return(a,r)=>(e.openBlock(),e.createElementBlock("div",{class:"rectangle-widget",style:e.normalizeStyle(e.unref(l))},null,4))}}),Tn=K(En,[["__scopeId","data-v-41a4fad0"]]),$n={viewBox:"0 0 1024 1024"},Bn=e.createElementVNode("path",{d:"M102.4 102.4h768v768H102.4V102.4z m51.2 51.2v665.6h665.6V153.6H153.6z"},null,-1),Nn=[Bn],Mn=e.defineComponent({name:"RectangleIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",$n,Nn))}}),In=[...de];class po extends ne{constructor(){super({key:"RT",seq:9,title:"矩形",icon:Mn,view:Tn,properties:In})}}const Pn=new po,An=Object.freeze(Object.defineProperty({__proto__:null,RectangleWidget:po,default:Pn},Symbol.toStringTag,{value:"Module"})),ct=[{type:"input-textarea",label:"文本",rows:2,key:"CONTENT",bindKey:"text",defaultValue:"<span>富文本</span>"},{type:"input-number",label:"文本",key:"T",bindKey:"textType",valueType:"number",defaultValue:2,display:!1},{type:"switch-default",label:"自动换行",key:"AW",bindKey:"autoWrap",valueType:"boolean",defaultValue:!0},{type:"color-picker",label:"背景色",key:"BC",bindKey:"bgcolor",valueType:"color",defaultValue:"#00000000"},{...se[0],options:[...rt,{label:"自动上滚",value:Ft["auto-up"]}]},{...se[1]},{type:"single-select",label:"数据源",key:"DS",bindKey:"source",options:"RichText"}],Dn=["innerHTML"],zn=e.defineComponent({name:"RichTextWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({autoWrap:{type:Boolean},textType:{},text:{},bgcolor:{},source:{},animationStyle:{},animationSpeed:{},id:{},rect:{},liveDatas:{},playIndex:{},selected:{type:Boolean},preview:{type:Boolean}},{item:{}}),emits:["update:item"],setup(n){var _;const o=n,l=ye(),a=()=>{var g,w;const h=(g=ct.find(({bindKey:C})=>C==="source"))==null?void 0:g.options;return(w=(l.value[h]??[]).find(({value:C})=>C===o.source))==null?void 0:w.label},{elRef:r,width:u,height:f}=Ne(),i=e.computed(()=>({...me({color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),backgroundColor:o.bgcolor,"--white-space":o.autoWrap?"pre-wrap":"pre",backdropFilter:!o.preview&&!o.selected&&!o.text?"blur(2px)":""})),v=mt(o,u,f),s=he(o),c=e.computed(()=>s.value?s.value.text??"":!o.preview&&o.source?a():o.text),p=ve(),m=e.useModel(n,"item"),t=(_=ct.find(h=>h.bindKey==="source"))==null?void 0:_.options,d=()=>{const{source:h,rect:g}=o;if(h){const w={...g},{x:C,y:b,width:y,height:V}=p.value,k=l.value[t].find(x=>x.value===h);if(typeof(k==null?void 0:k.width)=="number"){const x=C+y-(g.x+k.width);w.x=x<0?Math.max(0,g.x+x):g.x,w.width=x<0?Math.min(k.width,y):k.width}if(typeof(k==null?void 0:k.height)=="number"){const x=b+V-(g.y+k.height);w.y=x<0?Math.max(0,g.y+x):g.y,w.height=x<0?Math.min(k.height,V):k.height}return w}return g};return e.watch([()=>o.source,()=>o.rect.width,()=>o.rect.height],()=>{m.value&&(m.value.rect=d())}),(h,g)=>(e.openBlock(),e.createElementBlock("div",{class:"rich-text-widget",style:e.normalizeStyle(i.value)},[e.createElementVNode("div",{ref_key:"textRef",ref:r,style:e.normalizeStyle(e.unref(v)),innerHTML:c.value},null,12,Dn)],4))}}),On=K(zn,[["__scopeId","data-v-abb83169"]]),Ln={viewBox:"0 0 1024 1024"},Wn=e.createElementVNode("path",{d:"M934.4 851.2c14.08 0 25.6 11.52 25.6 25.6v25.6a25.6 25.6 0 0 1-25.6 25.6H89.6a25.6 25.6 0 0 1-25.6-25.6v-25.6c0-14.08 11.52-25.6 25.6-25.6h844.8zM562.56 96a25.6 25.6 0 0 1 25.088 20.48l0.512 5.12v35.968a25.6 25.6 0 0 1-20.48 25.088l-5.12 0.512H374.912v541.056a25.6 25.6 0 0 1-20.48 25.088l-5.12 0.512h-45.568a25.6 25.6 0 0 1-25.088-20.48l-0.512-5.12V183.168H89.6a25.6 25.6 0 0 1-25.088-20.416L64 157.632V121.6a25.6 25.6 0 0 1 20.48-25.088L89.6 96h472.96z m371.84 512c14.08 0 25.6 11.52 25.6 25.6v25.6a25.6 25.6 0 0 1-25.6 25.6h-204.8a25.6 25.6 0 0 1-25.6-25.6v-25.6c0-14.08 11.52-25.6 25.6-25.6h204.8z m0-256c14.08 0 25.6 11.52 25.6 25.6v25.6a25.6 25.6 0 0 1-25.6 25.6h-204.8a25.6 25.6 0 0 1-25.6-25.6v-25.6c0-14.08 11.52-25.6 25.6-25.6h204.8z m0-256c14.08 0 25.6 11.52 25.6 25.6v25.6a25.6 25.6 0 0 1-25.6 25.6h-204.8a25.6 25.6 0 0 1-25.6-25.6v-25.6c0-14.08 11.52-25.6 25.6-25.6h204.8z"},null,-1),Fn=[Wn],Hn=e.defineComponent({name:"RichTextIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Ln,Fn))}});class fo extends ne{constructor(){super({key:"SN",seq:5,title:"富文本",icon:Hn,view:On,properties:ct})}valueFormat(o,l,a){const{valueType:r}=l;return r==="boolean"?o!=="0":super.valueFormat(o,l,a)}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("AUTOWARPFLAG",l.autoWrap?1:0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Text")??"",i=+(u.getAttribute("Duration")??0);r.push({text:f,duration:i})}),{data:r,duration:a}}}const Rn=new fo,Kn=Object.freeze(Object.defineProperty({__proto__:null,RichTextWidget:fo,default:Rn},Symbol.toStringTag,{value:"Module"})),Un={class:"table-widget"},Yn=e.defineComponent({name:"TableWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({row:{},col:{},rowHeight:{},colWidth:{},fillColor:{},lineWidth:{},lineColor:{},lineStyle:{},rect:{},selected:{type:Boolean},preview:{type:Boolean}},{item:{}}),emits:["update:item"],setup(n){const o=n,l=we(o),a=e.computed(()=>Number.parseInt(String(l.value.borderWidth),10)),r=e.computed(()=>{const{fillColor:s}=o;return{backgroundColor:s}}),u=e.computed(()=>new Array(o.row).fill(0).map(()=>({id:G(),td:new Array(o.col).fill(0).map(()=>({id:G(),text:"",lineStyle:{...l.value}}))}))),f=e.useModel(n,"item");e.watch([()=>o.rect.width,()=>o.rect.height],([s,c],[p,m])=>{if(f.value){const{props:t}=f.value;if(s!==p){const d=t.colWidth.length,_=t.colWidth.reduce((h,g)=>h+g,0);t.colWidth=_===0?t.colWidth.map(()=>s/d):t.colWidth.map(h=>h*s/_)}if(c!==m){const d=t.rowHeight.length,_=t.rowHeight.reduce((h,g)=>h+g,0);t.rowHeight=_===0?t.rowHeight.map(()=>c/d):t.rowHeight.map(h=>h*c/_)}}});const i=s=>{if(f.value){const{rect:c,props:p}=f.value,{type:m,index:t,size:d}=s,_=m==="row"?"rowHeight":"colWidth",h=[...p[_]],g=h.length;h[t]=d,p[_]=qe(t,h,m==="row"?c.height:c.width,(p.lineWidth??0)*g/(g-1))}},v=Me(f.value?`${f.value.type}-${f.value.id}`:"",({value:s,property:c})=>{if(f.value){const{rect:p,props:m}=f.value,{bindKey:t}=c;if(typeof s=="number"&&(t==="row"||t==="col")){if(s<=0)return;const d=t==="row"?p.height:p.width,_=t==="row"?"rowHeight":"colWidth",h=d/s;m[_]=new Array(s).fill(h),m[t]=s}if(typeof s.index=="number"&&(t==="rowHeight"||t==="colWidth")){const{value:d,index:_}=s,h=[...m[t]],g=h.length;h[_]=d,m[t]=qe(_,h,t==="rowHeight"?p.height:p.width,(m.lineWidth??0)*g/(g-1))}}});return e.onUnmounted(()=>{v()}),(s,c)=>(e.openBlock(),e.createElementBlock("div",Un,[e.createVNode(lo,{style:e.normalizeStyle(r.value),lineWidth:a.value,rowHeight:s.rowHeight,colWidth:s.colWidth,dataSource:u.value,resizable:!!f.value,onResize:i},null,8,["style","lineWidth","rowHeight","colWidth","dataSource","resizable"])]))}}),jn=K(Yn,[["__scopeId","data-v-b7b5d60e"]]),qn={viewBox:"0 0 1024 1024"},Xn=e.createElementVNode("path",{d:"M66.56 67.072h74.24v890.88H66.56zM883.2 67.072H957.44v890.88h-74.24zM364.544 286.72h74.24v671.232H364.544zM585.728 286.72h74.24v671.232h-74.24zM957.2864 883.61984v74.24h-890.88v-74.24zM957.17888 66.3552v74.24h-890.88v-74.24zM957.17888 286.5152v74.24h-890.88v-74.24zM957.2352 585.06752v74.24h-890.88v-74.24z"},null,-1),Gn=[Xn],Zn=e.defineComponent({name:"TableIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",qn,Gn))}}),Jn=[{type:"input-number",label:"行数",key:"NR",bindKey:"row",min:1,max:50,valueType:"number",defaultValue:3},{type:"input-number",label:"列数",key:"NC",bindKey:"col",min:1,max:50,valueType:"number",defaultValue:3},{type:"multiple-number",label:"行高",key:"HR",bindKey:"rowHeight",min:0,valueType:"number[]",defaultValue:[20,20,20]},{type:"multiple-number",label:"列宽",key:"WC",bindKey:"colWidth",min:0,valueType:"number[]",defaultValue:[20,20,20]},{type:"color-picker",label:"填充色",key:"FC",bindKey:"fillColor",valueType:"color",defaultValue:"#00000000"},{...de[0]},{...de[1]}];class mo extends ne{constructor(){super({key:"ST",seq:3,title:"表格",icon:Zn,view:jn,properties:Jn,rectangles:{width:{defaultValue:60},height:{defaultValue:60}}})}}const Qn=new mo,ea=Object.freeze(Object.defineProperty({__proto__:null,TableWidget:mo,default:Qn},Symbol.toStringTag,{value:"Module"})),vo=[{type:"input-textarea",label:"文本",rows:1,key:"T",bindKey:"text",defaultValue:"文本文字"},...R,...ae,...se,{type:"single-select",label:"数据源",key:"TDS",bindKey:"source",options:"DynamicText",clearable:!0}],ta=e.defineComponent({name:"TextWidget",inheritAttrs:!1,__name:"index",props:{text:{},source:{},animationStyle:{},animationSpeed:{},color:{},bgcolor:{},fontSize:{},fontFamily:{},fontStyle:{},align:{},valign:{},rect:{},id:{},liveDatas:{},playIndex:{},selected:{type:Boolean},preview:{type:Boolean}},setup(n){const o=n,l=ye(),a=()=>{var d,_;const t=(d=vo.find(({bindKey:h})=>h==="source"))==null?void 0:d.options;return(_=(l.value[t]??[]).find(({value:h})=>h===o.source))==null?void 0:_.label},{elRef:r,width:u,height:f}=Ne(),i=e.computed(()=>!o.preview&&!o.selected&&!o.text?{backdropFilter:"blur(2px)"}:{}),v=Lt(o),s=Ot(o,u,f),c=mt(o,u,f),p=he(o),m=e.computed(()=>p.value?p.value.text??"":!o.preview&&o.source?a():o.text);return(t,d)=>(e.openBlock(),e.createElementBlock("div",{class:"text-widget",style:e.normalizeStyle({...e.unref(v),...e.unref(s),...i.value})},[e.createElementVNode("span",{ref_key:"textRef",ref:r,style:e.normalizeStyle(e.unref(c))},e.toDisplayString(m.value),5)],4))}}),oa=K(ta,[["__scopeId","data-v-6a5503a9"]]),la={viewBox:"0 0 1024 1024"},na=e.createElementVNode("path",{d:"M554.666667 256v640h-85.333334V256H213.333333V170.666667h597.333334v85.333333h-256z"},null,-1),aa=[na],ra=e.defineComponent({name:"TextIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",la,aa))}});class yo extends ne{constructor(){super({key:"SW",seq:4,title:"文本",icon:ra,view:oa,properties:vo})}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}return[]}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Text")??"",i=+(u.getAttribute("Duration")??0);r.push({text:f,duration:i})}),{data:r,duration:a}}}const sa=new yo,ia=Object.freeze(Object.defineProperty({__proto__:null,TextWidget:yo,default:sa},Symbol.toStringTag,{value:"Module"})),ho=[{type:"single-select",label:"数据源",key:"FN",bindKey:"source",options:"Video"},{type:"media-list",label:"默认路径",key:"URL",bindKey:"url",files:"Video"}],ca={class:"video-widget"},ua=e.defineComponent({name:"VideoWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(n){const o=n,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),a=he(o),r=e.computed(()=>a.value?a.value.name??"":o.url);return(u,f)=>(e.openBlock(),e.createElementBlock("div",ca,[u.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(ho),source:u.source},null,8,["properties","source"])),e.createVNode(Ce,{style:e.normalizeStyle(e.unref(l)),preview:u.preview,type:"Video",file:r.value},null,8,["style","preview","file"])]))}}),da=K(ua,[["__scopeId","data-v-6cc7fa30"]]);class go extends ne{constructor(){super({key:"VD",seq:8,title:"视频",icon:"VideoPlay",view:da,properties:ho})}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Name")??"",i=u.getAttribute("Url")??"",v=u.getAttribute("SortNo")??"",s=+(u.getAttribute("BeginTime")??0),c=+(u.getAttribute("Duration")??0);r.push({name:f,url:i,sortNo:v,beginTime:s,duration:c})}),{data:r,duration:a}}}const pa=new go,fa=Object.freeze(Object.defineProperty({__proto__:null,VideoWidget:go,default:pa},Symbol.toStringTag,{value:"Module"})),bo=[{type:"single-select",label:"数据源",key:"WDS",bindKey:"source",options:"WORD"},{type:"office-list",label:"默认路径",key:"URL",bindKey:"url",files:"WORD"}],ma={class:"word-widget"},va=e.defineComponent({name:"WORDWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(n){const o=n,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),a=he(o),r=e.computed(()=>a.value?a.value.name??"":o.url);return(u,f)=>(e.openBlock(),e.createElementBlock("div",ma,[u.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(bo),source:u.source},null,8,["properties","source"])),e.createVNode(Ce,{style:e.normalizeStyle(e.unref(l)),preview:u.preview,type:"WORD",file:r.value},null,8,["style","preview","file"])]))}}),ya=K(va,[["__scopeId","data-v-f433cbf4"]]),ha={viewBox:"0 0 1024 1024"},ga=e.createElementVNode("path",{d:"M959 195.2c2.1-23.2-16.1-41.2-39.3-38.9-108.8-1.7-217.6 0-326.5-0.6V74.3h-60.9c-156 27.8-312.2 54.4-468.2 81.6 0 237.4-0.1 474.9 0 712.3 155.2 27.2 310.6 53.1 465.5 81.4h63.6v-81.4c101.9 0 203.7-0.2 305.6 0.3 17.3-0.8 36.5 0.5 51.4-10.1 11.9-18.2 8.9-41 9.9-61.6-1.5-200.4 0.6-401-1.1-601.6zM403.6 650.3c-17 8.9-42.4-0.4-62.6 1-13.5-67.4-29.3-134.4-41.4-202-11.9 65.8-27.4 130.9-41 196.3-19.5-1-39.2-2.2-58.8-3.6-16.9-89.6-36.7-178.5-52.5-268.3 17.4-0.8 34.9-1.5 52.3-2.1 10.5 64.8 22.4 129.4 31.6 194.3 14.4-66.6 29-133.1 43.3-199.7 19.3-1.1 38.7-1.9 58-3 13.5 68.7 27.4 137.3 42 205.7 11.5-70.6 24.2-141.1 36.5-211.6 20.4-0.7 40.7-1.8 61-3.1-23.1 98.7-43.2 198.1-68.4 296.1z m525.5 187.4H593.2v-81.4h264.7v-40.7H593.2v-50.9h264.7V624H593.2v-50.9h264.7v-40.7H593.2v-50.9h264.7v-40.7H593.2v-50.9h264.7v-40.7H593.2v-50.9h264.7v-40.7H593.2v-71.3h335.9v651.4z"},null,-1),ba=[ga],_a=e.defineComponent({name:"WORDIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",ha,ba))}});class _o extends ne{constructor(){super({key:"OFW",seq:13,title:"WORD",icon:_a,view:ya,properties:bo,rectangles:{width:{defaultValue:90}}})}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Name")??"",i=u.getAttribute("Url")??"",v=u.getAttribute("SortNo")??"",s=+(u.getAttribute("Duration")??0);r.push({name:f,url:i,sortNo:v,duration:s})}),{data:r,duration:a}}}const ka=new _o,wa=Object.freeze(Object.defineProperty({__proto__:null,WORDWidget:_o,default:ka},Symbol.toStringTag,{value:"Module"})),ce=(()=>{const n=Object.assign({"/src/widgets/arrowLine/index.ts":ll,"/src/widgets/circle/index.ts":pl,"/src/widgets/clock/index.js":El,"/src/widgets/dataTable/index.ts":Kl,"/src/widgets/image/index.ts":an,"/src/widgets/line/index.ts":yn,"/src/widgets/ppt/index.ts":Sn,"/src/widgets/rectangle/index.ts":An,"/src/widgets/richText/index.ts":Kn,"/src/widgets/table/index.ts":ea,"/src/widgets/text/index.ts":ia,"/src/widgets/video/index.ts":fa,"/src/widgets/word/index.ts":wa}),o=new Map;return Object.keys(n).forEach(l=>{var r;const a=(r=l.match(/widgets\/(.+)\/index\.(t|j)s/))==null?void 0:r[1];a&&o.set(a,n[l].default)}),o})(),Je=new DOMParser,ko={};for(const[n,o]of ce.entries())ko[o.key.toUpperCase()]={type:n,widget:o};const ut=(n,o,l)=>{const a=[],r=Array.from((n==null?void 0:n.children)??[]),u=Array.from((o==null?void 0:o.children)??[]);return r.forEach(f=>{var c,p;const{type:i,widget:v}=ko[f.tagName.toUpperCase()]??{},s=((c=f.querySelector(W("ID")))==null?void 0:c.textContent)??"";if(v&&s!=="-1"){const m=l?s:G(),t=`${v.title}-${m.substring(0,8)}`;let d,_;if(v.extraToData){const h=f.nextElementSibling,g=u.find(w=>{var b;return((b=w.querySelector(W("ELEMENTID")))==null?void 0:b.textContent)===s});({rect:d,props:_}=v.extraToData(f,h,g))}else d=v.xmlToRect(f),_=v.xmlToProps(f);if(a.push({id:m,type:i,name:t,rect:d,props:_}),v.parseLiveData){const{key:h=""}=v.properties.find(({bindKey:g})=>g==="source")??{};(v.key==="DT"||(p=f.querySelector(W(h,!0)))!=null&&p.textContent)&&(l==null||l(m,f,v.parseLiveData))}}}),a},Ca=n=>{var l,a,r,u,f,i;const o=Je.parseFromString(n,"text/xml").documentElement;if(o.tagName==="Screens"){const v=o.querySelector(W("Screen > Equipment")),s=+((v==null?void 0:v.getAttribute("ledWidth"))??0),c=+((v==null?void 0:v.getAttribute("ledHeight"))??0),p=o.querySelector(W("Screen > FormatData > LY")),m=(((l=p==null?void 0:p.querySelector(W("TM")))==null?void 0:l.textContent)??"").split(",").map(y=>+y),t=(((a=p==null?void 0:p.querySelector(W("CM")))==null?void 0:a.textContent)??"").split(","),d=+(((r=p==null?void 0:p.querySelector(W("FN")))==null?void 0:r.textContent)??0),_=(p==null?void 0:p.querySelectorAll(W("FR")))??[],h=Array.from(((u=o.querySelector(W("Screen > Data > NEWDATASET > LY")))==null?void 0:u.querySelectorAll(W("EM")))??[]).map(y=>{const V=y.querySelector(W("DC"));return{id:V==null?void 0:V.getAttribute("ID"),el:V}}),g=[...m],w=new Array(d).fill(1),C={},b=Array.from(_).map((y,V)=>ut(y,null,(k,x,S)=>{if(typeof S=="function"){const T=h.find(E=>E.id===k);if(T&&T.el){const{duration:E,data:$}=S(T.el,x,m[V]);C[k]=$,g[V]=Math.max(E,g[V]),w[V]=Math.max($.length,w[V]??0)}else C[k]=[]}}));if(d!==b.length||d!==g.length)throw new Error("XML上设置的帧的数量与实际 FR 的数量或帧时间的数量不一致");return{width:s,height:c,styles:t,frames:b,durations:g,pages:w,datas:C}}else if(o.tagName==="Frame"){const v=+(((f=o.querySelector(W("Width")))==null?void 0:f.textContent)??0),s=+(((i=o.querySelector(W("Height")))==null?void 0:i.textContent)??0),c=o.querySelector(W("Xml > FR")),p=o.querySelector(W("Data > NewDataSet")),m=c?[ut(c,p)]:[];return{width:v,height:s,styles:[],frames:m,durations:[],pages:[],datas:{}}}return null},wo=n=>{var a,r,u,f,i;const o=Je.parseFromString(n,"text/xml").documentElement,l={frameName:"",screenTypeID:"",duration:60,width:0,height:0,x:0,y:0};if(o.tagName==="Frame"){l.frameName=((a=o.querySelector(W("Name")))==null?void 0:a.textContent)??"",l.width=+(((r=o.querySelector(W("Width")))==null?void 0:r.textContent)??0),l.height=+(((u=o.querySelector(W("Height")))==null?void 0:u.textContent)??0),l.screenTypeID=((f=o.querySelector(W("ScreeTypeID")))==null?void 0:f.textContent)??"";const v=o.querySelector(W("Xml > FR"));l.duration=+(((i=v==null?void 0:v.querySelector(W("Duriation")))==null?void 0:i.textContent)??60)}return l},dt=n=>{const o=Je.parseFromString(n,"text/xml").documentElement,l=[];if(o.tagName==="Frame"){const a=o.querySelector(W("Xml > FR")),r=o.querySelector(W("Data > NewDataSet"));a&&l.push(...ut(a,r))}return l},$e=(n,o)=>{const{frameName:l,screenTypeID:a,duration:r,width:u,height:f}=o,i=Je.parseFromString("<Frame />","text/xml"),v=i.documentElement;N("Name",l,v,i),N("Width",u,v,i),N("Height",f,v,i),N("ScreeTypeID",a,v,i);const s=i.createElement("FR");N("Xml",s,v,i);const c=i.createElement("NewDataSet");return N("Data",c,v,i),N("Duriation",r,s,i),n.forEach(({id:p,type:m,rect:t,props:d},_)=>{var g;const h=ce.get(m);if(h){const w=i.createElement(h.key.toUpperCase());N("ID",p,w,i),N("TP",h.seq,w,i),h.rectToXML(t,i,n[_]).forEach(b=>{w.appendChild(b)}),h.propsToXML(d,i,n[_]).forEach(b=>{w.appendChild(b)}),s.appendChild(w);const C=(g=h.extraToXML)==null?void 0:g.call(h,t,d,i,n[_],o);C!=null&&C[0]&&c.appendChild(C[0]),C!=null&&C[1]&&s.appendChild(C[1])}}),new XMLSerializer().serializeToString(i)},Co=(n,o)=>n.map(l=>{const a={...l.rect},r=Math.max(0,a.x),u=Math.max(0,a.y),f=Math.max(0,a.width),i=Math.max(0,a.height),{x:v,y:s,width:c,height:p}=o,m=v+c-(r+f);a.x=m<0?Math.max(0,r+m):r,a.width=m<0?Math.min(f,c):f;const t=s+p-(u+i);a.y=t<0?Math.max(0,u+t):u,a.height=t<0?Math.min(i,p):i;const d={...l.props},{x0:_,y0:h,x1:g,y1:w}=d;return typeof _=="number"&&typeof h=="number"&&typeof g=="number"&&typeof w=="number"&&(d.x0=_<g?a.x:a.x+a.width,d.x1=_>g?a.x:a.x+a.width,d.y0=h<w?a.y:a.y+a.height,d.y1=h>w?a.y:a.y+a.height),{...l,rect:a,props:d}}),xa=n=>(e.pushScopeId("data-v-85483ddd"),n=n(),e.popScopeId(),n),Va={class:"frame-widget",ref:"sortEl"},Sa={class:"widget-group"},Ea=xa(()=>e.createElementVNode("h4",{class:"widget-title"},"基础组件",-1)),Ta={class:"widget-list"},$a=["onDragstart","onDblclick"],Ba={class:"widget-name"},Na=e.defineComponent({name:"frame-widget",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(n){const o=e.useModel(n,"data"),l=e.shallowRef([]),{dblclick:a,dragstart:r}=Jt(o);return e.onMounted(()=>{const u=[];for(const[f,i]of ce.entries())u.push([f,i]);l.value=u.sort((f,i)=>f[1].seq-i[1].seq)}),(u,f)=>{const i=e.resolveComponent("el-icon");return e.openBlock(),e.createElementBlock("div",Va,[e.createElementVNode("div",Sa,[Ea,e.createElementVNode("div",Ta,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,([v,s])=>(e.openBlock(),e.createElementBlock("div",{class:"widget-item",key:v,draggable:"true",onDragstart:c=>e.unref(r)(c,v),onDblclick:c=>e.unref(a)(c,v)},[e.createVNode(i,{class:"widget-icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.icon)))]),_:2},1024),e.createElementVNode("span",Ba,e.toDisplayString(s.title),1)],40,$a))),128))])])],512)}}}),Ma=K(Na,[["__scopeId","data-v-85483ddd"]]),Ia={viewBox:"0 0 1024 1024"},Pa=e.createElementVNode("path",{d:"M167.36 192h376.192a38.4 38.4 0 1 1 0 76.8H167.36a38.4 38.4 0 1 1 0-76.8z m0 281.6h376.192a38.4 38.4 0 1 1 0 76.8H167.36a38.4 38.4 0 1 1 0-76.8z m0 281.6h376.192a38.4 38.4 0 0 1 0 76.8H167.36a38.4 38.4 0 0 1 0-76.8z m644.032-618.368l106.24 106.304a32 32 0 1 1-45.248 45.248l-51.712-51.648v547.456l51.712-51.648a32 32 0 0 1 40.832-3.648l4.48 3.648a32 32 0 0 1 0 45.312l-106.304 106.24a32 32 0 0 1-45.312 0l-106.24-106.24a32 32 0 1 1 45.248-45.312l51.584 51.648V236.736l-51.584 51.648a32 32 0 0 1-40.832 3.712l-4.48-3.712a32 32 0 0 1 0-45.248l106.304-106.24a32 32 0 0 1 45.312 0z"},null,-1),Aa=[Pa],xo=e.defineComponent({name:"DragSort",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Ia,Aa))}}),Da={class:"frame-structure"},za={class:"item-drag"},Oa={class:"item-content"},La=["onClick","title"],Wa=e.defineComponent({name:"frame-structure",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(n){const o=e.useModel(n,"data"),l=e.computed(()=>o.value.slice().reverse()),a=e.shallowRef();e.watch(()=>a.value,c=>{c&&new Pt(c,{animation:200,handle:".item-drag",onUpdate:p=>{const m=o.value.length,t=m-p.oldIndex-1,d=m-p.newIndex-1;o.value.splice(d,0,o.value.splice(t,1)[0])}})},{immediate:!0});const r=(c,p)=>{if(!(c.ctrlKey||c.metaKey))o.value.forEach(t=>{t.selected=!1,t.id===p&&(t.selected=!0)});else{const t=o.value.find(d=>d.id===p);t&&(t.selected=!t.selected)}},{handleCopy:u,handleLock:f,handleUnlock:i,handleDelete:v}=Ie(o),s=(c,p)=>{const m=o.value.findIndex(t=>t.id===p);if(m!==-1){const t=o.value[m];c==="copy"?u([t]):c==="lock"?f([t]):c==="unlock"?i([t]):c==="delete"&&v([t])}};return(c,p)=>{const m=e.resolveComponent("el-icon"),t=e.resolveComponent("MoreFilled"),d=e.resolveComponent("el-dropdown-item"),_=e.resolveComponent("el-dropdown-menu"),h=e.resolveComponent("el-dropdown");return e.openBlock(),e.createElementBlock("div",Da,[e.createElementVNode("div",{class:"structure-list",ref_key:"sortEl",ref:a},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,g=>(e.openBlock(),e.createElementBlock("div",{key:g.id,class:e.normalizeClass(["list-item",g.selected?"selected":""])},[e.createElementVNode("span",za,[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(xo)]),_:1})]),e.createElementVNode("div",Oa,[e.createElementVNode("span",{class:"item-name",onClick:w=>r(w,g.id),title:g.name},e.toDisplayString(g.name),9,La),e.createVNode(h,{onCommand:w=>s(w,g.id),trigger:"click"},{dropdown:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(d,{command:"copy"},{default:e.withCtx(()=>[e.createTextVNode("复制")]),_:1}),g.locked?(e.openBlock(),e.createBlock(d,{key:1,command:"unlock"},{default:e.withCtx(()=>[e.createTextVNode("解锁")]),_:1})):(e.openBlock(),e.createBlock(d,{key:0,command:"lock"},{default:e.withCtx(()=>[e.createTextVNode("锁定")]),_:1})),e.createVNode(d,{command:"delete"},{default:e.withCtx(()=>[e.createTextVNode("删除")]),_:1})]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(m,{class:"item-icon"},{default:e.withCtx(()=>[e.createVNode(t)]),_:1})]),_:2},1032,["onCommand"])])],2))),128))],512)])}}}),Fa=K(Wa,[["__scopeId","data-v-b4aee5d3"]]),Ha=n=>(e.pushScopeId("data-v-d94b2344"),n=n(),e.popScopeId(),n),Ra={class:"frame-toolbar"},Ka={class:"tool-left"},Ua={class:"tool-right"},Ya=Ha(()=>e.createElementVNode("svg",{viewBox:"0 0 1027 1024"},[e.createElementVNode("path",{d:"M1024 512l-241.365333 241.365333-60.330667-60.330666L903.338667 512l-181.034667-181.034667 60.330667-60.330666L1024 512zM120.661333 512l181.034667 181.034667-60.330667 60.330666L0 512l241.365333-241.365333L301.653333 330.965333 120.661333 512z m296.96 384H326.826667l279.552-768h90.794666L417.621333 896z"})],-1)),ja=e.defineComponent({name:"frame-toolbar",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:e.mergeModels(["save","remove","preview","code"],["update:data"]),setup(n){const o=e.useModel(n,"data"),l=e.computed(()=>{const t=o.value.filter(({selected:g})=>!!g),d=t.length,h=t.filter(({locked:g})=>!g).length;return{copy:d>=1,align:d>=2,avgAlign:d>=3,lock:h>=1,unLock:h<d}}),{handleImport:a,handleExport:r,handleCopy:u,handleLock:f,handleUnlock:i,handleClear:v,handleAlign:s}=Ie(o),[c,p]=Ge(),m=t=>{p(Math.max(t?c.value+t:1,.1))};return(t,d)=>{const _=e.resolveComponent("el-button"),h=e.resolveComponent("ArrowDown"),g=e.resolveComponent("el-icon"),w=e.resolveComponent("el-dropdown-item"),C=e.resolveComponent("el-dropdown-menu"),b=e.resolveComponent("el-dropdown"),y=e.resolveComponent("el-text"),V=e.resolveComponent("el-scrollbar");return e.openBlock(),e.createBlock(V,{class:"frame-toolbar-scroll"},{default:e.withCtx(()=>[e.createElementVNode("div",Ra,[e.createElementVNode("div",Ka,[e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[0]||(d[0]=k=>e.unref(a)())},{default:e.withCtx(()=>[e.createTextVNode("导入")]),_:1}),e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[1]||(d[1]=k=>e.unref(r)())},{default:e.withCtx(()=>[e.createTextVNode("导出")]),_:1}),e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[2]||(d[2]=k=>t.$emit("save"))},{default:e.withCtx(()=>[e.createTextVNode(" 帧入库 ")]),_:1}),e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[3]||(d[3]=k=>t.$emit("remove"))},{default:e.withCtx(()=>[e.createTextVNode(" 帧删除 ")]),_:1}),e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[4]||(d[4]=k=>t.$emit("preview"))},{default:e.withCtx(()=>[e.createTextVNode(" 帧预览 ")]),_:1}),l.value.copy?(e.openBlock(),e.createBlock(_,{key:0,type:"primary",size:"small",plain:"",onClick:d[5]||(d[5]=k=>e.unref(u)())},{default:e.withCtx(()=>[e.createTextVNode(" 复制 ")]),_:1})):e.createCommentVNode("",!0),l.value.lock?(e.openBlock(),e.createBlock(_,{key:1,type:"primary",size:"small",plain:"",onClick:d[6]||(d[6]=k=>e.unref(f)())},{default:e.withCtx(()=>[e.createTextVNode(" 锁定 ")]),_:1})):e.createCommentVNode("",!0),l.value.unLock?(e.openBlock(),e.createBlock(_,{key:2,type:"primary",size:"small",plain:"",onClick:d[7]||(d[7]=k=>e.unref(i)())},{default:e.withCtx(()=>[e.createTextVNode(" 解锁 ")]),_:1})):e.createCommentVNode("",!0),e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[8]||(d[8]=k=>e.unref(v)())},{default:e.withCtx(()=>[e.createTextVNode(" 清空 ")]),_:1}),l.value.align||l.value.avgAlign?(e.openBlock(),e.createBlock(b,{key:3,onCommand:e.unref(s),trigger:"click"},{dropdown:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(w,{command:"upAlign"},{default:e.withCtx(()=>[e.createTextVNode("上对齐")]),_:1}),e.createVNode(w,{command:"downAlign"},{default:e.withCtx(()=>[e.createTextVNode("下对齐")]),_:1}),e.createVNode(w,{command:"leftAlign"},{default:e.withCtx(()=>[e.createTextVNode("左对齐")]),_:1}),e.createVNode(w,{command:"rightAlign"},{default:e.withCtx(()=>[e.createTextVNode("右对齐")]),_:1}),e.createVNode(w,{command:"hCenterAlign"},{default:e.withCtx(()=>[e.createTextVNode("水平中心对齐")]),_:1}),e.createVNode(w,{command:"vCenterAlign"},{default:e.withCtx(()=>[e.createTextVNode("垂直中心对齐")]),_:1}),l.value.avgAlign?(e.openBlock(),e.createBlock(w,{key:0,command:"hAvgAlign"},{default:e.withCtx(()=>[e.createTextVNode(" 水平平均对齐 ")]),_:1})):e.createCommentVNode("",!0),l.value.avgAlign?(e.openBlock(),e.createBlock(w,{key:1,command:"vAvgAlign"},{default:e.withCtx(()=>[e.createTextVNode(" 垂直平均对齐 ")]),_:1})):e.createCommentVNode("",!0)]),_:1})]),default:e.withCtx(()=>[e.createVNode(_,{type:"primary",size:"small",plain:""},{default:e.withCtx(()=>[e.createTextVNode(" 对齐方式 "),e.createVNode(g,{class:"el-icon--right"},{default:e.withCtx(()=>[e.createVNode(h)]),_:1})]),_:1})]),_:1},8,["onCommand"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ua,[e.createVNode(y,null,{default:e.withCtx(()=>[e.createTextVNode("显示比例:")]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(ie)(e.unref(c)*100))+"%",1)]),_:1}),e.createVNode(_,{class:"zoom",icon:"ZoomIn",size:"small",circle:"",onClick:d[9]||(d[9]=k=>m(.1))}),e.createVNode(_,{class:"zoom",icon:"ZoomOut",size:"small",circle:"",onClick:d[10]||(d[10]=k=>m(-.1))}),e.createVNode(_,{class:"zoom",icon:"RefreshLeft",size:"small",circle:"",onClick:d[11]||(d[11]=k=>m())}),e.createVNode(_,{size:"small",circle:"",onClick:d[12]||(d[12]=k=>t.$emit("code"))},{icon:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[Ya]),_:1})]),_:1})])])]),_:1})}}}),qa=K(ja,[["__scopeId","data-v-d94b2344"]]),Te=n=>n.value.filter(({selected:o})=>!!o),He=n=>n.map(({rect:o})=>({...o})),Nt=n=>n.map(({props:o})=>[+(o.x0??0),+(o.y0??0),+(o.x1??0),+(o.y1??0)]),Xa=n=>n.map(({props:o})=>{var l,a;return{fontSize:+(o.fontSize??0),rowFontSize:(l=o.rowConfs)==null?void 0:l.map(r=>({fontSize:+(r.fontSize??0)})),colFontSize:(a=o.colConfs)==null?void 0:a.map(r=>{var u;return{fontSize:+(r.fontSize??0),domainFontSize:(u=r.colDomains)==null?void 0:u.map(f=>({fontSize:+(f.fontSize??0)}))}})}}),Re=(n,o,l,a,r,u)=>{const f=u+n*o,i=f===0?0:f/Math.abs(f);let v=o>0?l+a-r:o<0?r+u-l:u,s=0;(i<0||i===0&&o<0)&&(v=o>0?r-l:o<0?l+a-r-u:u,s=-u*o);const c=r+(i*o>=0?0:u),p=Z(Math.abs(f),0,v);let m=p/u,t=0;return u===0&&(t=p,s=i*o>=0?0:-t,m=1),{xyk:m,cxy:c,oxy:s,owh:t,xyRat:i}},Mt=(n,o,l,a,r,u,f,i,v,s,c,p,m)=>{const{props:t}=n,d=pt([u,f],[i,v]);o>0&&l>0||o>0&&l<0||o<0&&l<0||o<0&&l>0?a>0&&r>0?d>0&&d<=90?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>90&&d<=180?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>-180&&d<=-90?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>-90&&d<=0&&(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):a<=0&&r>0?d>0&&d<=90?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>90&&d<=180?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>-180&&d<=-90?(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):d>-90&&d<=0&&(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):a>0&&r<=0?d>0&&d<=90?(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):d>90&&d<=180?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>-180&&d<=-90?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>-90&&d<=0&&(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):a<=0&&r<=0&&(d>0&&d<=90?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>90&&d<=180?(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):d>-180&&d<=-90?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>-90&&d<=0&&(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m)):o>0&&l===0||o<0&&l===0?a>0?d>0&&d<=90?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>90&&d<=180?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>-180&&d<=-90?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>-90&&d<=0&&(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):a<=0&&(d>0&&d<=90?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>90&&d<=180?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>-180&&d<=-90?(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):d>-90&&d<=0&&(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c)):(o===0&&l>0||o===0&&l<0)&&(r>0?d>0&&d<=90?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>90&&d<=180?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>-180&&d<=-90?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>-90&&d<=0&&(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):r<=0&&(d>0&&d<=90?(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):d>90&&d<=180?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>-180&&d<=-90?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>-90&&d<=0&&(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m)))};function Ga(n,o,l){const a=Ie(n),[r,u]=Ge(),f=ve(),i=e.ref(),v=V=>{n.value.forEach(k=>{k.id!==V&&(k.selected=!1)})};let s=[],c=[],p=[],m=[],t="",d=[],_=!1,h={x:0,y:0,width:0,height:0},g=0,w=0;const{mousedown:C,mousewheel:b,keydown:y}=Zt({moveStart:({startPoint:V,event:k})=>{l==null||l();const x=k.ctrlKey||k.metaKey;if(_=At(V,fe(He(Te(n)))),t=o(k.target),t&&!t.startsWith("stick-")){const S=n.value.find(T=>T.id===t);S&&S.selected&&x?S.selected=!1:S&&!S.selected&&(x||v(),S.selected=!0)}},moveFirst:({event:V})=>{const k=V.ctrlKey||V.metaKey;if(!t&&!_)k?d=Te(n):v();else{if(t&&!t.startsWith("stick-")){const x=n.value.find(S=>S.id===t);x&&!x.selected&&(x.selected=!0)}s=Te(n),c=He(s),p=Nt(s),h=fe(c)}},moveTravel:({startPoint:V,endPoint:k,deltaX:x,deltaY:S})=>{if(!t&&!_){const[T,E]=V,[$,P]=k,A=Math.min(T,$),M=Math.min(E,P),B=Math.abs(x),I=Math.abs(S);i.value={x:A,y:M,width:B,height:I}}else if(t&&t.startsWith("stick-")){const{x:T,y:E,width:$,height:P}=f.value,{x:A,y:M,width:B,height:I}=h,D=t.indexOf("right")!==-1?1:t.indexOf("left")!==-1?-1:0,{xyk:O,cxy:L,oxy:U,owh:H,xyRat:Y}=Re(x,D,T,$,A,B),j=t.indexOf("bottom")!==-1?1:t.indexOf("top")!==-1?-1:0,{xyk:F,cxy:X,oxy:J,owh:oe,xyRat:te}=Re(S,j,E,P,M,I);s.forEach((Q,pe)=>{if(!Q.locked){const{x:ge,y:et,width:tt,height:Ae}=c[pe],xe=ge*O+L*(1-O)+U,Ve=et*F+X*(1-F)+J,Se=tt*O+H,Ee=Ae*F+oe;if(Q.rect={x:xe,y:Ve,width:Se,height:Ee},typeof Q.props.x0=="number"&&typeof Q.props.y0=="number"&&typeof Q.props.x1=="number"&&typeof Q.props.y1=="number"){const[De,ze,Oe,Vo]=p[pe];Mt(Q,D,j,Y,te,De,ze,Oe,Vo,xe,Ve,Se,Ee)}}})}else{const{x:T,y:E,width:$,height:P}=f.value,{x:A,y:M,width:B,height:I}=h;s.forEach((D,O)=>{if(!D.locked){const{x:L,y:U,width:H,height:Y}=c[O],j=Z(x,T-A,T+$-(A+B)),F=Z(S,E-M,E+P-(M+I));D.rect={x:L+j,y:U+F,width:H,height:Y};const[X,J,oe,te]=p[O];typeof D.props.x0=="number"&&typeof D.props.y0=="number"&&typeof D.props.x1=="number"&&typeof D.props.y1=="number"&&(D.props.x0=X+j,D.props.y0=J+F,D.props.x1=oe+j,D.props.y1=te+F)}}),i.value={x:0,y:0,width:0,height:0}}},moveEnd:({isMoved:V,event:k})=>{if(V&&!t&&!_){const S=i.value??{x:0,y:0,width:0,height:0},T=new Set(n.value.filter(({rect:E})=>No(S,E)).map(E=>E.id));n.value.forEach(E=>{E.selected=T.has(E.id)?!d.includes(E):d.includes(E)})}const x=k.ctrlKey||k.metaKey;if(!V&&!x){if(!t&&!_)v();else if(t&&!t.startsWith("stick-")){const S=n.value.find(T=>T.id===t);S&&!S.selected&&v(t)}}i.value=void 0,s=[],c=[],p=[],t="",d=[],_=!1,h={x:0,y:0,width:0,height:0}},wheelStart:({startPoint:V})=>{if(l==null||l(),s=Te(n),s.length>0){c=He(s),p=Nt(s),m=Xa(s);const{x:k,y:x,width:S,height:T}=fe(c),{x:E,y:$,width:P,height:A}=f.value,[M,B]=V,I=Math.max(S===0?1:P,T===0?1:A),D=[(M-E)/(M-k),(B-$)/(B-x),(M-(E+P))/(M-(k+S)),(B-($+A))/(B-(x+T))];w=Math.min(D[0]>0?D[0]:I,D[1]>0?D[1]:I,D[2]>0?D[2]:I,D[3]>0?D[3]:I),s.forEach(({rect:O})=>{const{width:L,height:U}=O;L===0&&U===0||(L===0?g=Math.max(g,1/U):U===0?g=Math.max(g,1/L):g=Math.max(g,1/L,1/U))})}},wheelTravel:({startPoint:V,deltaK:k,movementK:x})=>{if(s.length>0){const S=Z(k,g,w),T=(E,$)=>E*S+$*(1-S);s.forEach((E,$)=>{var P,A;if(!E.locked){const[M,B]=V,{x:I,y:D,width:O,height:L}=c[$];E.rect={x:T(I,M),y:T(D,B),width:O*S,height:L*S};const[U,H,Y,j]=p[$];typeof E.props.x0=="number"&&typeof E.props.y0=="number"&&typeof E.props.x1=="number"&&typeof E.props.y1=="number"&&(E.props.x0=T(U,M),E.props.y0=T(H,B),E.props.x1=T(Y,M),E.props.y1=T(j,B)),typeof E.props.fontSize=="number"&&(E.props.fontSize=S*(m[$].fontSize??0),(P=E.props.rowConfs)==null||P.forEach((F,X)=>{var J;typeof(F==null?void 0:F.fontSize)=="number"&&(F.fontSize=S*(((J=m[$].rowFontSize)==null?void 0:J[X].fontSize)??0))}),(A=E.props.colConfs)==null||A.forEach((F,X)=>{var J,oe;typeof(F==null?void 0:F.fontSize)=="number"&&(F.fontSize=S*(((J=m[$].colFontSize)==null?void 0:J[X].fontSize)??0)),(oe=F.colDomains)==null||oe.forEach((te,Q)=>{var pe,ge;typeof(te==null?void 0:te.fontSize)=="number"&&(te.fontSize=S*(((ge=(pe=m[$].colFontSize)==null?void 0:pe[X].domainFontSize)==null?void 0:ge[Q].fontSize)??0))})}))}})}else u(x*r.value)},wheelEnd:()=>{s.length>0&&(g=0,w=0,s=[],c=[],p=[],m=[])},keydowned:({event:V})=>{l==null||l();const k=V.key.toLocaleUpperCase(),x=V.ctrlKey||V.metaKey;if(k==="ARROWUP"||k==="ARROWDOWN"||k==="ARROWLEFT"||k==="ARROWRIGHT"){if(s=Te(n),!s.length)return;const{x:S,y:T,width:E,height:$}=fe(He(s)),{x:P,y:A,width:M,height:B}=f.value,I=V.altKey,D=k==="ARROWRIGHT"?1:k==="ARROWLEFT"?-1:0,O=k==="ARROWDOWN"?1:k==="ARROWUP"?-1:0;if(x||I){const{xyk:L,cxy:U,oxy:H,owh:Y,xyRat:j}=Re((I?-1:1)*D,D,P,M,S,E),{xyk:F,cxy:X,oxy:J,owh:oe,xyRat:te}=Re((I?-1:1)*O,O,A,B,T,$);s.forEach(Q=>{if(!Q.locked){const{x:pe,y:ge,width:et,height:tt}=Q.rect,Ae=pe*L+U*(1-L)+H,xe=ge*F+X*(1-F)+J,Ve=et*L+Y,Se=tt*F+oe;Q.rect={x:Ae,y:xe,width:Ve,height:Se};const{x0:Ee,y0:De,x1:ze,y1:Oe}=Q.props;typeof Ee=="number"&&typeof De=="number"&&typeof ze=="number"&&typeof Oe=="number"&&Mt(Q,D,O,j,te,Ee,De,ze,Oe,Ae,xe,Ve,Se)}})}else s.forEach(L=>{if(!L.locked){const{x:U,y:H,width:Y,height:j}=L.rect,F=Z(D,P-S,P+M-(S+E)),X=Z(O,A-T,A+B-(T+$));L.rect={x:U+F,y:H+X,width:Y,height:j},L.rect={x:U+F,y:H+X,width:Y,height:j};const{x0:J,y0:oe,x1:te,y1:Q}=L.props;typeof J=="number"&&typeof oe=="number"&&typeof te=="number"&&typeof Q=="number"&&(L.props.x0=J+F,L.props.y0=oe+X,L.props.x1=te+F,L.props.y1=Q+X)}})}else k==="A"&&x?a.handleSelect():k==="X"&&x?(a.handleCopy(),a.handleDelete()):k==="C"&&x?a.handleCopy():k==="V"&&x?a.handlePaste():k==="L"&&x?a.handleLock():k==="U"&&x?a.handleUnlock():k==="DELETE"||k==="BACKSPACE"?a.handleDelete():k==="ESC"&&v()}});return{mousedown:C,mousewheel:b,keydown:y,moveRect:i}}function Za(n,o){const l=Ie(n),a=e.ref(!1),r=e.shallowRef({x:0,y:0}),u=e.shallowRef([]),f=(p,m)=>{if(!p&&!m){const d=[{key:"import",label:"导入帧"},{key:"export",label:"导出帧"}];return l.globalCopy.value&&d.push({key:"paste",label:"粘贴"}),n.value.length>0&&d.push({key:"clear",label:"清空"}),d}if(p&&!p.startsWith("stick-")){const d=n.value.find(_=>_.id===p);d&&!d.selected&&(n.value.forEach(_=>_.selected=!1),d.selected=!0)}const t=n.value.filter(({selected:d})=>!!d);if(t.length===1){const[d]=t,_=n.value.findIndex(({id:g})=>g===d.id),h=[{key:"copy",label:"复制元素"},d.locked?{key:"unlock",label:"解除锁定"}:{key:"lock",label:"锁定元素"}];return _<n.value.length-1&&h.push({key:"topIndex",label:"置顶"}),_+1<=n.value.length-1&&h.push({key:"upIndex",label:"上一层"}),_-1>=0&&h.push({key:"downIndex",label:"下一层"}),_>0&&h.push({key:"bottomIndex",label:"置底"}),typeof d.props.row=="number"&&(h.push({key:"tableRowAdd",label:"添加一行"}),d.props.row>1&&h.push({key:"tableRowDel",label:"删除一行"})),typeof d.props.col=="number"&&(h.push({key:"tableColAdd",label:"添加一列"}),d.props.col>1&&h.push({key:"tableColDel",label:"删除一列"})),h.push({key:"delete",label:"删除元素"}),h}if(t.length>1){const d=[{key:"copy",label:"复制元素"}];return t.some(({locked:_})=>_)&&d.push({key:"unlock",label:"解除锁定"}),t.some(({locked:_})=>!_)&&d.push({key:"lock",label:"锁定元素"}),d.push({key:"upAlign",label:"上对齐"},{key:"downAlign",label:"下对齐"},{key:"leftAlign",label:"左对齐"},{key:"rightAlign",label:"右对齐"},{key:"hCenterAlign",label:"水平中心对齐"},{key:"vCenterAlign",label:"垂直中心对齐"}),t.length>2&&d.push({key:"hAvgAlign",label:"水平平均对齐"},{key:"vAvgAlign",label:"垂直平均对齐"}),d.push({key:"delete",label:"删除元素"}),d}return[]},i=yt(),v=p=>{p.preventDefault(),p.stopImmediatePropagation();const m=i(p),t=o(p.target),d=At(m,fe(n.value.filter(({selected:_})=>!!_).map(({rect:_})=>_)));a.value=!1,u.value=f(t,d),e.nextTick().then(()=>{r.value={x:p.pageX,y:p.pageY},a.value=!0})},s=()=>{a.value=!1},c=({key:p})=>{switch(s(),p){case"import":l.handleImport();break;case"export":l.handleExport();break;case"clear":l.handleClear();break;case"copy":l.handleCopy();break;case"paste":l.handlePaste();break;case"lock":l.handleLock();break;case"unlock":l.handleUnlock();break;case"delete":l.handleDelete();break;case"topIndex":l.handleZIndex(p);break;case"upIndex":l.handleZIndex(p);break;case"downIndex":l.handleZIndex(p);break;case"bottomIndex":l.handleZIndex(p);break;case"tableRowAdd":l.handleTable(p);break;case"tableRowDel":l.handleTable(p);break;case"tableColAdd":l.handleTable(p);break;case"tableColDel":l.handleTable(p);break;default:l.handleAlign(p);break}};return e.onMounted(()=>{document.addEventListener("mousedown",s)}),e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",s)}),{contextmenu:v,hideContextMenu:s,handleContextMenuAction:c,contextMenuOpen:a,contextMenuPosition:r,contextMenuMenus:u}}const Ja=["onClick"],Qa=e.defineComponent({__name:"ContextMenu",props:{open:{type:Boolean},menus:{},position:{}},emits:["action"],setup(n){const o=n,l=e.computed(()=>({left:z(o.position.x),top:z(o.position.y)}));return(a,r)=>{const u=e.resolveComponent("el-icon");return e.openBlock(),e.createBlock(e.Transition,{name:"contextmenu"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("ul",{class:"contextmenu el-dropdown__popper",style:e.normalizeStyle(l.value),onMousedown:r[0]||(r[0]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.menus,f=>(e.openBlock(),e.createElementBlock("li",{key:f.key,onClick:e.withModifiers(()=>a.$emit("action",f),["stop"])},[f.icon?(e.openBlock(),e.createBlock(u,{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.icon),1)]),_:2},1024)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(f.label),1)],8,Ja))),128))],36),[[e.vShow,a.open]])]),_:1})}}}),er=K(Qa,[["__scopeId","data-v-2b6c3473"]]),tr={class:"frame-canvas"},or=["data-id"],lr=["data-id"],nr=e.defineComponent({name:"frame-canvas",inheritAttrs:!1,__name:"index",props:e.mergeModels({bgcolor:{}},{data:{required:!0}}),emits:["update:data"],setup(n){const o=["top","left","bottom","right"],l=[...o,"left-top","right-top","left-bottom","right-bottom"],a=n,r=e.useModel(n,"data"),[u]=Ge(),f=ve(),[i,v]=Yo(),s=e.computed(()=>({width:z(f.value.width),height:z(f.value.height),backgroundColor:a.bgcolor,transform:`scale(${u.value})`,transformOrigin:"left top"})),c=T=>({transform:`translate(${z(T.x)},${z(T.y)})`,width:z(T.width),height:z(T.height)}),p=T=>!T||T===i.value?"":T.getAttribute("data-id")??p(T.parentElement),{contextmenu:m,hideContextMenu:t,handleContextMenuAction:d,contextMenuOpen:_,contextMenuPosition:h,contextMenuMenus:g}=Za(r,p),{mousedown:w,mousewheel:C,keydown:b,moveRect:y}=Ga(r,p,t),{dragover:V,drop:k}=Jt(r),x=e.computed(()=>{var T,E;return!y.value||((T=y.value)==null?void 0:T.width)===0&&((E=y.value)==null?void 0:E.height)===0?null:{transform:`translate(${z(y.value.x)},${z(y.value.y)})`,width:z(y.value.width),height:z(y.value.height)}}),S=e.computed(()=>{if(y.value&&y.value.width>0&&y.value.height>0)return[[],[]];const T=r.value.filter(({selected:M})=>!!M);if(T.length===0)return[[],[]];const{x:E,y:$,width:P,height:A}=fe(T.map(({rect:M})=>M));return[y.value?[{transform:`translate(${z(0)},${z($-1)})`},{transform:`translate(${z(E-1)},${z(0)})`},{transform:`translate(${z(0)},${z($+A)})`},{transform:`translate(${z(E+P)},${z(0)})`}]:[],y.value?[]:[{transform:`translate(${z(E-1)},${z($-1)})`,width:z(P+1)},{transform:`translate(${z(E-1)},${z($-1)})`,height:z(A+1)},{transform:`translate(${z(E-1)},${z($+A)})`,width:z(P+1)},{transform:`translate(${z(E+P)},${z($-1)})`,height:z(A+1)},{transform:`translate(${z(E-1+P/2)},${z($-1)})`},{transform:`translate(${z(E-1)},${z($-1+A/2)})`},{transform:`translate(${z(E-1+P/2)},${z($+A)})`},{transform:`translate(${z(E+P)},${z($-1+A/2)})`},{transform:`translate(${z(E-1)},${z($-1)})`},{transform:`translate(${z(E+P)},${z($-1)})`},{transform:`translate(${z(E-1)},${z($+A)})`},{transform:`translate(${z(E+P)},${z($+A)})`}]]});return(T,E)=>(e.openBlock(),e.createElementBlock("div",tr,[e.createElementVNode("div",{ref:e.unref(v),class:"frame-stage",tabindex:"0",style:e.normalizeStyle(s.value),onContextmenu:E[0]||(E[0]=(...$)=>e.unref(m)&&e.unref(m)(...$)),onMousedown:E[1]||(E[1]=(...$)=>e.unref(w)&&e.unref(w)(...$)),onMousewheel:E[2]||(E[2]=(...$)=>e.unref(C)&&e.unref(C)(...$)),onKeydown:E[3]||(E[3]=(...$)=>e.unref(b)&&e.unref(b)(...$)),onDragover:E[4]||(E[4]=(...$)=>e.unref(V)&&e.unref(V)(...$)),onDrop:E[5]||(E[5]=(...$)=>e.unref(k)&&e.unref(k)(...$))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,($,P)=>{var A;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["element-item",$.selected?"active":"",$.locked?"locked":""]),key:$.id,"data-id":$.id,style:e.normalizeStyle(c($.rect))},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((A=e.unref(ce).get($.type))==null?void 0:A.view),e.mergeProps({id:$.id,rect:$.rect,selected:$.selected},$.props,{item:r.value[P],"onUpdate:item":M=>r.value[P]=M}),null,16,["id","rect","selected","item","onUpdate:item"]))],14,or)}),128)),e.withDirectives(e.createElementVNode("div",{class:"box-selector",style:e.normalizeStyle(x.value)},null,4),[[e.vShow,!!x.value]]),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(o,($,P)=>e.withDirectives(e.createElementVNode("div",{key:$,class:e.normalizeClass(["stick-line",`stick-line-${$}`]),style:e.normalizeStyle(S.value[1][P])},null,6),[[e.vShow,!!S.value[1][P]]])),64)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,($,P)=>e.withDirectives(e.createElementVNode("div",{key:$,class:e.normalizeClass(["stick-point",`stick-point-${$}`]),style:e.normalizeStyle(S.value[1][P+4]),"data-id":`stick-${$}`},null,14,lr),[[e.vShow,!!S.value[1][P+4]]])),64)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(o,($,P)=>e.withDirectives(e.createElementVNode("div",{key:$,class:e.normalizeClass(["auxiliary-line",`auxiliary-line-${$}`]),style:e.normalizeStyle(S.value[0][P])},null,6),[[e.vShow,!!S.value[0][P]]])),64))],36),e.createVNode(er,{open:e.unref(_),menus:e.unref(g),position:e.unref(h),onAction:e.unref(d)},null,8,["open","menus","position","onAction"])]))}}),ar=K(nr,[["__scopeId","data-v-2f90716e"]]),rr=e.defineComponent({name:"radio-default",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{type:Boolean}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-checkbox");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(r,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=u=>o.value=u),disabled:l.locked},null,8,["modelValue","disabled"]),e.renderSlot(l.$slots,"extra")],64)}}}),sr=Object.freeze(Object.defineProperty({__proto__:null,default:rr},Symbol.toStringTag,{value:"Module"})),ir=e.defineComponent({name:"color-picker",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=["#00000000","#000000","#ffffff","#ff0000","#00ff00","#0000ff","#ffff00","#ff00ff","#00ffff","#808080","#ffd700","#ffc0cb","#a52a2a","#ee82ee","#000080"],l=e.useModel(n,"modelValue"),a=r=>{r||(l.value="#00000000")};return(r,u)=>{const f=e.resolveComponent("el-color-picker");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(f,{"popper-class":"color-picker",modelValue:l.value,"onUpdate:modelValue":u[0]||(u[0]=i=>l.value=i),disabled:r.locked,"color-format":"hex","show-alpha":"",predefine:o,onChange:a},null,8,["modelValue","disabled"]),e.renderSlot(r.$slots,"extra")],64)}}}),cr=Object.freeze(Object.defineProperty({__proto__:null,default:ir},Symbol.toStringTag,{value:"Module"})),Pe=e.defineComponent({name:"popup-provider",inheritAttrs:!1,__name:"index",props:e.mergeModels({style:{},className:{},type:{default:"drawer"},title:{},size:{}},{modelValue:{type:Boolean}}),emits:e.mergeModels(["open","close"],["update:modelValue"]),setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-dialog"),u=e.resolveComponent("el-drawer");return e.openBlock(),e.createElementBlock(e.Fragment,null,[l.type==="dialog"?(e.openBlock(),e.createBlock(r,{key:0,modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=f=>o.value=f),style:e.normalizeStyle(l.style),class:e.normalizeClass(`popup-provider ${l.className||""}`),title:l.title,draggable:"","align-center":"","append-to-body":"","destroy-on-close":"","close-on-click-modal":!1,onOpen:a[1]||(a[1]=f=>l.$emit("open")),onClose:a[2]||(a[2]=f=>l.$emit("close"))},{header:e.withCtx(()=>[e.renderSlot(l.$slots,"header")]),footer:e.withCtx(()=>[e.renderSlot(l.$slots,"footer")]),default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["modelValue","style","class","title"])):e.createCommentVNode("",!0),l.type==="drawer"?(e.openBlock(),e.createBlock(u,{key:1,modelValue:o.value,"onUpdate:modelValue":a[3]||(a[3]=f=>o.value=f),style:e.normalizeStyle(l.style),class:e.normalizeClass(`popup-provider ${l.className||""}`),title:l.title,size:l.size,"append-to-body":"","destroy-on-close":"","close-on-click-modal":!1,onOpen:a[4]||(a[4]=f=>l.$emit("open")),onClose:a[5]||(a[5]=f=>l.$emit("close"))},{header:e.withCtx(()=>[e.renderSlot(l.$slots,"header")]),footer:e.withCtx(()=>[e.renderSlot(l.$slots,"footer")]),default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["modelValue","style","class","title","size"])):e.createCommentVNode("",!0)],64)}}}),ht=n=>(e.pushScopeId("data-v-b75b0d63"),n=n(),e.popScopeId(),n),ur={class:"setting-row"},dr=ht(()=>e.createElementVNode("div",{class:"row-label"},"字段:",-1)),pr={class:"row-editor"},fr={class:"setting-row"},mr=ht(()=>e.createElementVNode("div",{class:"row-label"},"日期:",-1)),vr={class:"row-editor"},yr={class:"setting-row"},hr=ht(()=>e.createElementVNode("div",{class:"row-label"},"结果:",-1)),gr={class:"row-editor"},br={class:"dialog-footer"},_r=e.defineComponent({name:"filter-setting",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean},props:{}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=n,l=e.ref(),a=[{label:"==",value:"=="},{label:"!=",value:"!="},{label:">",value:">"},{label:"<",value:"<"},{label:">=",value:">="},{label:"<=",value:"<="},{label:"LIKE",value:"=~"},{label:"NOT LIKE",value:"!~"}],r=ye(),u=e.useModel(n,"modelValue"),f=e.ref(""),i=e.ref(!1),v=()=>{o.locked||(i.value=!0)},s=()=>{f.value=u.value||""},c=e.computed(()=>{var k;return r.value[((k=o.props)==null?void 0:k.source)??""]||[]}),p=e.computed(()=>r.value.TextDate||[]),m=e.ref(),t=e.ref(),d=e.ref(),_=e.ref(),h=e.ref(),g=e.ref(),w=k=>{let x="";if(k==="field"){if(!m.value){ee.ElMessage.error("请选择字段");return}if(!t.value){ee.ElMessage.error("请选择字段条件");return}x+=`${m.value} ${t.value} '${(d.value||"").replace(/%/g,".*")}'`}else if(k==="date"){if(!_.value){ee.ElMessage.error("请选择日期");return}if(!h.value){ee.ElMessage.error("请选择日期条件");return}x+=`${_.value} ${h.value} '${(g.value||"").replace(/%/g,".*")}'`}C(x)},C=k=>{var $,P,A,M,B,I;let x=f.value;const S=((P=($=l.value)==null?void 0:$.ref)==null?void 0:P.selectionStart)??x.length,T=((M=(A=l.value)==null?void 0:A.ref)==null?void 0:M.selectionEnd)??x.length;x=`${x.substring(0,S)} ${k} ${x.substring(T)}`;const E=S+k.length;(I=(B=l.value)==null?void 0:B.ref)==null||I.setSelectionRange(E,E),f.value=x},b=()=>{f.value=""},y=e.ref(!1),V=()=>{y.value=!0,Xe("frame-editor-global",{type:"filter-setting-check",value:f.value,closeLoading:()=>{y.value=!1},close:()=>{u.value=f.value,i.value=!1,y.value=!1}})};return(k,x)=>{const S=e.resolveComponent("el-input"),T=e.resolveComponent("el-option"),E=e.resolveComponent("el-select"),$=e.resolveComponent("el-button"),P=e.resolveComponent("el-check-tag"),A=e.resolveComponent("el-space");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(S,{modelValue:u.value,"onUpdate:modelValue":x[0]||(x[0]=M=>u.value=M),placeholder:"点击配置",disabled:k.locked,readonly:"",onClick:v},null,8,["modelValue","disabled"]),e.createVNode(Pe,{modelValue:i.value,"onUpdate:modelValue":x[12]||(x[12]=M=>i.value=M),title:"筛选条件",size:"35%",onOpen:s},{footer:e.withCtx(()=>[e.createElementVNode("div",br,[e.createVNode($,{type:"primary",plain:"",onClick:b},{default:e.withCtx(()=>[e.createTextVNode(" 清空 ")]),_:1}),e.createVNode($,{type:"primary",plain:"",onClick:V,loading:y.value},{default:e.withCtx(()=>[e.createTextVNode(" 确定 ")]),_:1},8,["loading"])])]),default:e.withCtx(()=>[e.createElementVNode("div",ur,[dr,e.createElementVNode("div",pr,[e.createVNode(E,{modelValue:m.value,"onUpdate:modelValue":x[1]||(x[1]=M=>m.value=M),clearable:"",filterable:"",placeholder:"请选择",placement:"bottom",class:"name-select"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,M=>(e.openBlock(),e.createBlock(T,{key:M.value,label:M.label,value:M.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(E,{modelValue:t.value,"onUpdate:modelValue":x[2]||(x[2]=M=>t.value=M),clearable:"",placeholder:"请选择",placement:"bottom",class:"cond-select"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,M=>e.createVNode(T,{key:M.value,label:M.label,value:M.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),e.createVNode(S,{modelValue:d.value,"onUpdate:modelValue":x[3]||(x[3]=M=>d.value=M),placeholder:"请输入",clearable:""},null,8,["modelValue"]),e.createVNode($,{type:"primary",plain:"",onClick:x[4]||(x[4]=M=>w("field"))},{default:e.withCtx(()=>[e.createTextVNode(" 添加 ")]),_:1})])]),e.withDirectives(e.createElementVNode("div",fr,[mr,e.createElementVNode("div",vr,[e.createVNode(E,{modelValue:_.value,"onUpdate:modelValue":x[5]||(x[5]=M=>_.value=M),clearable:"",filterable:"",placeholder:"请选择",placement:"bottom",class:"name-select"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,M=>(e.openBlock(),e.createBlock(T,{key:M.value,label:M.label,value:M.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(E,{modelValue:h.value,"onUpdate:modelValue":x[6]||(x[6]=M=>h.value=M),clearable:"",placeholder:"请选择",placement:"bottom",class:"cond-select"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,M=>e.createVNode(T,{key:M.value,label:M.label,value:M.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),e.createVNode(S,{modelValue:g.value,"onUpdate:modelValue":x[7]||(x[7]=M=>g.value=M),placeholder:"请输入",clearable:""},null,8,["modelValue"]),e.createVNode($,{type:"primary",plain:"",onClick:x[8]||(x[8]=M=>w("date"))},{default:e.withCtx(()=>[e.createTextVNode(" 添加 ")]),_:1})])],512),[[e.vShow,!1]]),e.createElementVNode("div",yr,[hr,e.createElementVNode("div",gr,[e.createVNode(S,{ref_key:"textareaRef",ref:l,modelValue:f.value,"onUpdate:modelValue":x[9]||(x[9]=M=>f.value=M),type:"textarea",rows:5,placeholder:"请输入"},null,8,["modelValue"]),e.createVNode(A,{direction:"vertical"},{default:e.withCtx(()=>[e.createVNode(P,{type:"primary",plain:"",checked:"",onClick:x[10]||(x[10]=M=>C("&&"))},{default:e.withCtx(()=>[e.createTextVNode("AND")]),_:1}),e.createVNode(P,{type:"primary",plain:"",checked:"",onClick:x[11]||(x[11]=M=>C("||"))},{default:e.withCtx(()=>[e.createTextVNode("OR")]),_:1})]),_:1})])])]),_:1},8,["modelValue"])],64)}}}),kr=K(_r,[["__scopeId","data-v-b75b0d63"]]),wr=Object.freeze(Object.defineProperty({__proto__:null,default:kr},Symbol.toStringTag,{value:"Module"})),Cr=n=>(e.pushScopeId("data-v-daa125a3"),n=n(),e.popScopeId(),n),xr={style:{"margin-right":"8px",width:"calc(50% - 8px)"}},Vr={class:"format-description"},Sr={style:{"margin-left":"8px",width:"calc(50% - 8px)"}},Er={class:"format-description"},Tr={class:"preview"},$r=Cr(()=>e.createElementVNode("h3",null,"预览:",-1)),Br="时钟属性格式",Nr=Object.assign({name:"format-date",inheritAttrs:!1},{__name:"index",props:e.mergeModels({locked:{type:Boolean},props:{type:Object}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=n,l=[{value:"CHY年 CHM月 CHD GZY SXY年",label:"CHY年 CHM月 CHD GZY SXY年"},{value:"CHY",label:"年(二〇XX)"},{value:"CHM",label:"月(一/二...)"},{value:"CHD",label:"日(一/二...)"},{value:"SXY",label:"生肖(鼠/牛...)"},{value:"GZY",label:"干支年(乙巳/丙午...)"}],a=[{value:"yyyy-MM-dd HH:mm:ss 星期W",label:"yyyy-MM-dd HH:mm:ss 星期W"},{value:"yyyy",label:"年(20XX)"},{value:"MM",label:"月(01)"},{value:"DD",label:"日(01)"},{value:"HH",label:"时(13)"},{value:"mm",label:"分(30)"},{value:"ss",label:"秒(20)"},{value:"W",label:"星期(一/二...)"}],r=e.useModel(n,"modelValue"),u=e.ref(!1),f=e.ref(""),i=e.ref(""),v=e.ref(""),s=e.ref(""),c=e.ref(""),p=e.ref(""),m=()=>{o.locked||(u.value=!0)},t=(w,C)=>{let b=w;const y=It.Solar.fromDate(C).getLunar();b=b.replace(/YYYY/g,C.getFullYear()),b=b.replace(/yyyy/g,C.getFullYear()),b=b.replace(/MM/g,String(C.getMonth()+1).padStart(2,"0")),b=b.replace(/DD/g,String(C.getDate()).padStart(2,"0")),b=b.replace(/dd/g,String(C.getDate()).padStart(2,"0")),b=b.replace(/HH/g,String(C.getHours()).padStart(2,"0")),b=b.replace(/mm/g,String(C.getMinutes()).padStart(2,"0")),b=b.replace(/ss/g,String(C.getSeconds()).padStart(2,"0"));const V=["日","一","二","三","四","五","六"];return b=b.replace(/W/g,V[C.getDay()]),b=b.replace(/CHY/g,y.getYearInChinese()),b=b.replace(/CHM/g,y.getMonthInChinese()),b=b.replace(/CHD/g,y.getDayInChinese()),b=b.replace(/SXY/g,y.getYearShengXiaoExact()),b=b.replace(/GZY/g,y.getYearInGanZhiExact()),b},d=w=>{const C=t(w,new Date);s.value=`预览: ${C}`},_=w=>{const C=t(w,new Date);c.value=`预览: ${C}`},h=w=>{const C=f.value;f.value=C+w;const b=t(f.value,new Date);p.value=`${b}`},g=()=>{r.value=f.value,u.value=!1,f.value="",i.value="",v.value="",s.value="",c.value="",p.value=""};return(w,C)=>{const b=e.resolveComponent("el-input"),y=e.resolveComponent("el-form-item"),V=e.resolveComponent("el-option"),k=e.resolveComponent("el-select"),x=e.resolveComponent("el-button"),S=e.resolveComponent("el-form");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(b,{modelValue:r.value,"onUpdate:modelValue":C[0]||(C[0]=T=>r.value=T),type:"textarea",rows:2,placeholder:"请选择",disabled:n.locked,onClick:m},null,8,["modelValue","disabled"]),e.createVNode(Pe,{modelValue:u.value,"onUpdate:modelValue":C[6]||(C[6]=T=>u.value=T),title:Br},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(S,{"label-width":"auto",style:{"max-width":"100%"}},{default:e.withCtx(()=>[e.createVNode(y,{label:"时间格式字符串",prop:"timeFormat"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:f.value,"onUpdate:modelValue":C[1]||(C[1]=T=>f.value=T),type:"textarea",rows:3,placeholder:"在此输入或通过下方选项插入时间格式"},null,8,["modelValue"])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createElementVNode("div",xr,[e.createVNode(k,{disabled:o.props.timeType===1,modelValue:i.value,"onUpdate:modelValue":C[2]||(C[2]=T=>i.value=T),placeholder:"请选择公历格式",style:{width:"100%"},onChange:d,clearable:""},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,T=>e.createVNode(V,{key:T.value,label:T.label,value:T.value},null,8,["label","value"])),64))]),_:1},8,["disabled","modelValue"]),e.createElementVNode("div",Vr,e.toDisplayString(s.value),1)]),e.createElementVNode("div",Sr,[e.createVNode(k,{disabled:o.props.timeType===0,modelValue:v.value,"onUpdate:modelValue":C[3]||(C[3]=T=>v.value=T),placeholder:"请选择农历格式",style:{width:"100%"},onChange:_,clearable:""},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,T=>e.createVNode(V,{key:T.value,label:T.label,value:T.value},null,8,["label","value"])),64))]),_:1},8,["disabled","modelValue"]),e.createElementVNode("div",Er,e.toDisplayString(c.value),1)])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(x,{disabled:o.props.timeType===1,type:"primary",icon:"Plus",style:{"margin-right":"8px",width:"calc(50% - 8px)"},onClick:C[4]||(C[4]=T=>h(`${i.value}`))},{default:e.withCtx(()=>[e.createTextVNode(" 插入公历格式 ")]),_:1},8,["disabled"]),e.createVNode(x,{disabled:o.props.timeType===0,type:"primary",icon:"Plus",style:{"margin-left":"8px",width:"calc(50% - 8px)"},onClick:C[5]||(C[5]=T=>h(`${v.value}`))},{default:e.withCtx(()=>[e.createTextVNode(" 插入农历格式 ")]),_:1},8,["disabled"])]),_:1})]),_:1}),e.createElementVNode("div",Tr,[$r,e.createElementVNode("div",null,e.toDisplayString(p.value),1)]),e.createElementVNode("div",null,[e.createVNode(x,{type:"success",style:{width:"100%","margin-top":"16px"},onClick:g},{default:e.withCtx(()=>[e.createTextVNode(" 确定 ")]),_:1})])])]),_:1},8,["modelValue"])],64)}}}),Mr=K(Nr,[["__scopeId","data-v-daa125a3"]]),Ir=Object.freeze(Object.defineProperty({__proto__:null,default:Mr},Symbol.toStringTag,{value:"Module"})),Pr=e.defineComponent({name:"input-number",inheritAttrs:!1,__name:"index",props:e.mergeModels({min:{},max:{},step:{default:()=>1},precision:{default:()=>0},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(n,{emit:o}){const l=o,a=e.useModel(n,"modelValue"),r=u=>{l("change",u)};return(u,f)=>{const i=e.resolveComponent("el-input-number");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(i,{modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=v=>a.value=v),min:u.min?e.unref(ie)(u.min):u.min,max:u.max?e.unref(ie)(u.max):u.max,step:u.step,precision:u.precision,disabled:u.locked,"controls-position":"right",placeholder:"请输入",class:"input-number",onChange:r},null,8,["modelValue","min","max","step","precision","disabled"]),e.renderSlot(u.$slots,"extra",{},void 0,!0)],64)}}}),Ar=K(Pr,[["__scopeId","data-v-28c9d5a9"]]),Dr=Object.freeze(Object.defineProperty({__proto__:null,default:Ar},Symbol.toStringTag,{value:"Module"})),zr=e.defineComponent({name:"input-text",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-input");return e.openBlock(),e.createBlock(r,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=u=>o.value=u),placeholder:"请输入",disabled:l.locked},null,8,["modelValue","disabled"])}}}),Or=Object.freeze(Object.defineProperty({__proto__:null,default:zr},Symbol.toStringTag,{value:"Module"})),Lr=e.defineComponent({name:"input-textarea",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1},rows:{default:()=>3}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-input");return e.openBlock(),e.createBlock(r,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=u=>o.value=u),type:"textarea",rows:l.rows,placeholder:"请输入",disabled:l.locked},null,8,["modelValue","rows","disabled"])}}}),Wr=Object.freeze(Object.defineProperty({__proto__:null,default:Lr},Symbol.toStringTag,{value:"Module"})),Fr=["title"],Hr=e.defineComponent({name:"media-list",inheritAttrs:!1,__name:"index",props:e.mergeModels({fileType:{},files:{},locked:{type:Boolean}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=n,l=e.computed(()=>`${o.fileType==="Image"?"图片":o.fileType==="Video"?"视频":""}选择`),a=e.useModel(n,"modelValue"),r=e.ref(!1),u=()=>{o.locked||(r.value=!0)},f=i=>{a.value=i.url,r.value=!1};return(i,v)=>{const s=e.resolveComponent("el-input"),c=e.resolveComponent("el-col"),p=e.resolveComponent("el-row");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(s,{modelValue:a.value,"onUpdate:modelValue":v[0]||(v[0]=m=>a.value=m),placeholder:"点击选择",disabled:i.locked,clearable:"",onClick:u},null,8,["modelValue","disabled"]),e.createVNode(Pe,{modelValue:r.value,"onUpdate:modelValue":v[1]||(v[1]=m=>r.value=m),title:l.value,size:"33%"},{default:e.withCtx(()=>[e.createVNode(p,{gutter:16},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.files,m=>(e.openBlock(),e.createBlock(c,{key:m.url,class:e.normalizeClass(["list-item",a.value===m.url?"active":""]),span:4,onClick:t=>f(m)},{default:e.withCtx(()=>[e.createVNode(Ce,{style:{background:"#ddd"},preview:!1,type:i.fileType,file:m.url},null,8,["type","file"]),e.createElementVNode("span",{title:m.name},e.toDisplayString(m.name),9,Fr)]),_:2},1032,["class","onClick"]))),128))]),_:1})]),_:1},8,["modelValue","title"])],64)}}}),Rr=K(Hr,[["__scopeId","data-v-6b6e1d92"]]),Kr=Object.freeze(Object.defineProperty({__proto__:null,default:Rr},Symbol.toStringTag,{value:"Module"})),Ur={class:"number-popover"},Yr=e.defineComponent({name:"multiple-number",inheritAttrs:!1,__name:"index",props:e.mergeModels({label:{},min:{},max:{},step:{default:()=>1},precision:{default:()=>0},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(n,{emit:o}){const l=n,a=o,r=e.useModel(n,"modelValue"),u=e.computed(()=>r.value?zt(r.value):[]),f=e.computed(()=>u.value.map(c=>({id:G(),val:c}))),i=e.ref(!1),v=()=>{l.locked||(i.value=!0)},s=(c,p)=>{a("change",{value:c,index:p})};return(c,p)=>{const m=e.resolveComponent("el-input"),t=e.resolveComponent("el-input-number"),d=e.resolveComponent("el-popover");return e.openBlock(),e.createBlock(d,{width:300,trigger:"click","show-arrow":!1},e.createSlots({reference:e.withCtx(()=>[e.createVNode(m,{modelValue:u.value.join(","),placeholder:"点击修改",disabled:c.locked,readonly:"",onClick:v},null,8,["modelValue","disabled"])]),_:2},[r.value?{name:"default",fn:e.withCtx(()=>[e.createElementVNode("div",Ur,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(_,h)=>(e.openBlock(),e.createElementBlock("div",{key:_.id,class:"item"},[e.createElementVNode("span",null,"第 "+e.toDisplayString(h+1)+" "+e.toDisplayString(c.label)+":",1),e.createVNode(t,{modelValue:_.val,min:c.min?e.unref(ie)(c.min):c.min,max:c.max?e.unref(ie)(c.max):c.max,step:c.step,precision:c.precision,disabled:c.locked,"controls-position":"right",placeholder:"请输入",class:"input-number",onChange:g=>s(g,h)},null,8,["modelValue","min","max","step","precision","disabled","onChange"])]))),128))])]),key:"0"}:void 0]),1024)}}}),jr=K(Yr,[["__scopeId","data-v-fb1101e1"]]),qr=Object.freeze(Object.defineProperty({__proto__:null,default:jr},Symbol.toStringTag,{value:"Module"})),Xr=["title"],Gr=e.defineComponent({name:"office-list",inheritAttrs:!1,__name:"index",props:e.mergeModels({fileType:{},files:{},locked:{type:Boolean}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=n,l=e.useModel(n,"modelValue"),a=e.ref(!1),r=()=>{o.locked||(a.value=!0)},u=f=>{l.value=f.url,a.value=!1};return(f,i)=>{const v=e.resolveComponent("el-input"),s=e.resolveComponent("el-col"),c=e.resolveComponent("el-row");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(v,{modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=p=>l.value=p),placeholder:"点击选择",disabled:f.locked,clearable:"",onClick:r},null,8,["modelValue","disabled"]),e.createVNode(Pe,{modelValue:a.value,"onUpdate:modelValue":i[1]||(i[1]=p=>a.value=p),title:`${f.fileType}文件选择`,size:"42%"},{default:e.withCtx(()=>[e.createVNode(c,{gutter:16},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.files,p=>(e.openBlock(),e.createBlock(s,{key:p.url,class:e.normalizeClass(["list-item",l.value===p.url?"active":""]),span:6,onClick:m=>u(p)},{default:e.withCtx(()=>[e.createVNode(Ce,{style:{background:"#ddd"},preview:!1,type:f.fileType,file:p.url},null,8,["type","file"]),e.createElementVNode("span",{title:p.name},e.toDisplayString(p.name),9,Xr)]),_:2},1032,["class","onClick"]))),128))]),_:1})]),_:1},8,["modelValue","title"])],64)}}}),Zr=K(Gr,[["__scopeId","data-v-b945d8c4"]]),Jr=Object.freeze(Object.defineProperty({__proto__:null,default:Zr},Symbol.toStringTag,{value:"Module"})),Qr=e.defineComponent({name:"radio-button",inheritAttrs:!1,__name:"index",props:e.mergeModels({options:{},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-radio-button"),u=e.resolveComponent("el-radio-group");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(u,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=f=>o.value=f),disabled:l.locked},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.options,f=>(e.openBlock(),e.createBlock(r,{key:f.value,label:f.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","disabled"]),e.renderSlot(l.$slots,"extra")],64)}}}),es=Object.freeze(Object.defineProperty({__proto__:null,default:Qr},Symbol.toStringTag,{value:"Module"})),ts=e.defineComponent({name:"radio-default",inheritAttrs:!1,__name:"index",props:e.mergeModels({options:{},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-radio"),u=e.resolveComponent("el-radio-group");return e.openBlock(),e.createBlock(u,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=f=>o.value=f),disabled:l.locked},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.options,f=>(e.openBlock(),e.createBlock(r,{key:f.value,label:f.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","disabled"])}}}),os=Object.freeze(Object.defineProperty({__proto__:null,default:ts},Symbol.toStringTag,{value:"Module"})),ls=e.defineComponent({name:"single-select",inheritAttrs:!1,__name:"index",props:e.mergeModels({options:{},clearable:{type:Boolean,default:()=>!1},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(n,{emit:o}){const l=n,a=o,r=e.useModel(n,"modelValue"),u=f=>{const i=l.options.find(v=>v.value===f);a("change",i)};return(f,i)=>{const v=e.resolveComponent("el-option"),s=e.resolveComponent("el-select");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(s,{modelValue:r.value,"onUpdate:modelValue":i[0]||(i[0]=c=>r.value=c),disabled:f.locked,clearable:f.clearable,filterable:"",placeholder:"请选择",placement:"bottom",class:"single-select",onChange:u},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.options,c=>(e.openBlock(),e.createBlock(v,{key:c.value,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled","clearable"]),e.renderSlot(f.$slots,"extra",{},void 0,!0)],64)}}}),ns=K(ls,[["__scopeId","data-v-58a90895"]]),as=Object.freeze(Object.defineProperty({__proto__:null,default:ns},Symbol.toStringTag,{value:"Module"})),rs=e.defineComponent({name:"radio-default",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{type:Boolean}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-switch");return e.openBlock(),e.createBlock(r,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=u=>o.value=u),disabled:l.locked},null,8,["modelValue","disabled"])}}}),ss=Object.freeze(Object.defineProperty({__proto__:null,default:rs},Symbol.toStringTag,{value:"Module"})),is=n=>(e.pushScopeId("data-v-76958dce"),n=n(),e.popScopeId(),n),cs={class:"table-col"},us={class:"setting-add"},ds={class:"item-drag"},ps=["onClick"],fs=["title"],ms={class:"table-col"},vs={key:0,class:"setting-row"},ys={class:"row-label"},hs={key:0},gs=is(()=>e.createElementVNode("span",null,":",-1)),bs={class:"row-editor"},_s={class:"dialog-footer"},ks=e.defineComponent({name:"table-settting",inheritAttrs:!1,__name:"index",props:e.mergeModels({label:{},bindKey:{},locked:{type:Boolean,default:()=>!1},children:{default:()=>[]},props:{}},{modelValue:{required:!0}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(n,{emit:o}){const l=n,a=o,r=ye(),u=e.useModel(n,"modelValue"),f=e.ref(!1),i=()=>{var b;l.locked||l.bindKey==="rowConfs"&&!((b=l.props)!=null&&b.rowMode)||(f.value=!0,s.value=0)},v=b=>{a("change",b)},s=e.ref(0),c=b=>{s.value=b},p=()=>{s.value=u.value.length,a("change",u.value.length+1)},m=b=>{b<=s.value&&(s.value=Math.max(0,s.value-1)),a("change",-b)},t=(b,y)=>{const{bindKey:V,children:k}=y;if(V==="colMode"){u.value[s.value].field=void 0;return}if(typeof b=="number"&&V==="colDomains"){const x=u.value[s.value];if(b>0){const S={id:G()};k==null||k.forEach(T=>{S[T.bindKey]=q(x[T.bindKey]??T.defaultValue)}),x[V].push(S)}else x[V].splice(-b,1)}},d=(b,y)=>typeof y=="boolean"?y:typeof y=="function"?y(b,l.props):!0,_=(b,y,V)=>`第 ${b+1} ${y==="rowConfs"?"行属性":y==="colConfs"?`列${g(V.field)}属性`:`个值域${h(V.domainVal)}`}`,h=b=>b?` [${b}] `:"",g=b=>{var V;const y=(r.value[((V=l.props)==null?void 0:V.source)??""]??[]).find(({value:k})=>k===b);return y!=null&&y.label?` [${y.label}] `:""},w=b=>{var y;if(b==="TABLE_SOURCE_FIELD"){const{colMode:V}=u.value[s.value];return(r.value[((y=l.props)==null?void 0:y.source)??""]??[]).filter(({innerType:k})=>+(k??0)===V)}return typeof b=="string"?r.value[b]??[]:b},C=e.shallowRef();return e.watch(()=>C.value,b=>{b&&new Pt(b,{animation:200,handle:".item-drag",onUpdate:y=>{const{id:V}=u.value[s.value];u.value.splice(y.newIndex,0,u.value.splice(y.oldIndex,1)[0]),s.value=u.value.findIndex(k=>k.id===V)}})},{immediate:!0}),(b,y)=>{var M,B;const V=e.resolveComponent("el-input"),k=e.resolveComponent("el-checkbox"),x=e.resolveComponent("el-button"),S=e.resolveComponent("el-icon"),T=e.resolveComponent("Delete"),E=e.resolveComponent("el-col"),$=e.resolveComponent("InfoFilled"),P=e.resolveComponent("el-tooltip"),A=e.resolveComponent("el-row");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(V,{modelValue:u.value.length>0?"集合":"",disabled:b.locked||b.bindKey==="rowConfs"&&!((M=l.props)!=null&&M.rowMode),placeholder:"点击配置",readonly:"",onClick:i},null,8,["modelValue","disabled"]),b.bindKey==="rowConfs"?(e.openBlock(),e.createBlock(k,{key:0,modelValue:(B=l.props)==null?void 0:B.rowMode,disabled:b.locked,onChange:v},{default:e.withCtx(()=>[e.createTextVNode(" 启用行配置 ")]),_:1},8,["modelValue","disabled"])):e.createCommentVNode("",!0),e.createVNode(Pe,{modelValue:f.value,"onUpdate:modelValue":y[2]||(y[2]=I=>f.value=I),title:b.label,size:"42%"},{footer:e.withCtx(()=>[e.createElementVNode("div",_s,[e.createVNode(x,{onClick:y[1]||(y[1]=I=>f.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(" 关闭 ")]),_:1})])]),default:e.withCtx(()=>[e.createVNode(A,{class:"table-setting",gutter:12},{default:e.withCtx(()=>[e.createVNode(E,{span:12,class:"setting-col"},{default:e.withCtx(()=>[e.createElementVNode("div",cs,[e.createElementVNode("div",us,[e.createVNode(x,{type:"primary",plain:"",onClick:p,size:"small"},{default:e.withCtx(()=>[e.createTextVNode(" 添加 ")]),_:1})]),e.createElementVNode("div",{class:"setting-list",ref_key:"sortEl",ref:C},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(I,D)=>(e.openBlock(),e.createElementBlock("div",{key:I.id,class:e.normalizeClass(["list-item",s.value===D?"selected":""])},[e.createElementVNode("span",ds,[e.createVNode(S,null,{default:e.withCtx(()=>[e.createVNode(xo)]),_:1})]),e.createElementVNode("div",{class:"item-content",onClick:O=>c(D)},[e.createElementVNode("span",{class:"item-name",title:_(D,b.bindKey||"",I)},e.toDisplayString(_(D,b.bindKey||"",I)),9,fs),b.bindKey==="colDomains"||u.value.length>1?(e.openBlock(),e.createBlock(S,{key:0,class:"item-icon",onClick:e.withModifiers(O=>m(D),["stop"])},{default:e.withCtx(()=>[e.createVNode(T)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)],8,ps)],2))),128))],512)])]),_:1}),e.createVNode(E,{span:12,class:"setting-col"},{default:e.withCtx(()=>[e.createElementVNode("div",ms,[u.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(b.children,({label:I,type:D,bindKey:O,options:L,display:U,tip:H,extra:Y,...j},F)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:O},[d(u.value[s.value],U)?(e.openBlock(),e.createElementBlock("div",vs,[e.createElementVNode("div",ys,[e.createElementVNode("span",null,e.toDisplayString(I),1),H?(e.openBlock(),e.createBlock(P,{key:0,placement:"top"},{content:e.withCtx(()=>[typeof H=="string"?(e.openBlock(),e.createElementBlock("span",hs,e.toDisplayString(H),1)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(H),{key:1}))]),default:e.withCtx(()=>[e.createVNode(S,{class:"tip-icon"},{default:e.withCtx(()=>[e.createVNode($)]),_:1})]),_:2},1024)):e.createCommentVNode("",!0),gs]),e.createElementVNode("div",bs,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ue).get(D)),e.mergeProps({label:I,bindKey:O,optionType:L,options:w(L),props:l.props,modelValue:u.value[s.value][O],"onUpdate:modelValue":X=>u.value[s.value][O]=X},j,{onChange:X=>t(X,b.children[F])}),e.createSlots({_:2},[Y?{name:"extra",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(Y),{property:b.children[F],data:u.value[s.value],"onUpdate:data":y[0]||(y[0]=X=>u.value[s.value]=X)},null,40,["property","data"]))]),key:"0"}:void 0]),1040,["label","bindKey","optionType","options","props","modelValue","onUpdate:modelValue","onChange"]))])])):e.createCommentVNode("",!0)],64))),128)):e.createCommentVNode("",!0)])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])],64)}}}),ws=K(ks,[["__scopeId","data-v-76958dce"]]),Cs=Object.freeze(Object.defineProperty({__proto__:null,default:ws},Symbol.toStringTag,{value:"Module"})),Ue=(()=>{const n=Object.assign({"/src/editors/checkbox-default/index.vue":sr,"/src/editors/color-picker/index.vue":cr,"/src/editors/filter-setting/index.vue":wr,"/src/editors/format-date/index.vue":Ir,"/src/editors/input-number/index.vue":Dr,"/src/editors/input-text/index.vue":Or,"/src/editors/input-textarea/index.vue":Wr,"/src/editors/media-list/index.vue":Kr,"/src/editors/multiple-number/index.vue":qr,"/src/editors/office-list/index.vue":Jr,"/src/editors/radio-button/index.vue":es,"/src/editors/radio-default/index.vue":os,"/src/editors/single-select/index.vue":as,"/src/editors/switch-default/index.vue":ss,"/src/editors/table-setting/index.vue":Cs}),o=new Map;return Object.keys(n).forEach(l=>{var r;const a=(r=l.match(/editors\/(.+)\/index\.vue/))==null?void 0:r[1];a&&o.set(a,n[l].default)}),o})(),Qe=n=>(e.pushScopeId("data-v-46ebd3ac"),n=n(),e.popScopeId(),n),xs={key:0,class:"frame-setting"},Vs={class:"setting-row"},Ss=Qe(()=>e.createElementVNode("div",{class:"row-label"},"元素类型:",-1)),Es={class:"row-editor"},Ts={class:"setting-row"},$s=Qe(()=>e.createElementVNode("div",{class:"row-label"},"元素层级:",-1)),Bs={class:"row-editor"},Ns={class:"setting-row"},Ms=Qe(()=>e.createElementVNode("div",{class:"row-label"},"元素名称:",-1)),Is={class:"row-editor"},Ps={key:0,class:"setting-row"},As={class:"row-label"},Ds={class:"row-editor"},zs={key:0,class:"setting-row"},Os={class:"row-label"},Ls={key:0},Ws=Qe(()=>e.createElementVNode("span",null,":",-1)),Fs={class:"row-editor"},Hs={key:1,class:"frame-empty"},Rs=e.defineComponent({name:"property-setting",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(n){const o=ve(),l=ye(),a=Ko(),r=e.useModel(n,"data"),u=e.computed(()=>{const m=r.value.filter(({selected:t})=>!!t);return r.value.findIndex(({id:t})=>{var d;return t===((d=m[m.length-1])==null?void 0:d.id)})}),f=e.computed(()=>{var m;return ce.get((m=r.value[u.value])==null?void 0:m.type)}),i=(m,t,d)=>m==="x"||m==="y"?o.value[m]:m==="width"||m==="height"?0:m==="x0"||m==="x1"?o.value.x:m==="y0"||m==="y1"?o.value.y:typeof d=="function"?d(t):d,v=(m,t,d)=>{const{x:_,y:h,width:g,height:w}=o.value,{x:C,y:b,width:y,height:V}=r.value[u.value].rect;return m==="x"?Math.max(0,_+g-y):m==="y"?Math.max(0,h+w-V):m==="width"?Math.max(0,_+g-C):m==="height"?Math.max(0,h+w-b):m==="x0"||m==="x1"?_+g:m==="y0"||m==="y1"?h+w:typeof d=="function"?d(t):d},s=(m,t)=>typeof t=="boolean"?t:typeof t=="function"?t(m):!0,c=m=>typeof m=="string"?l.value[m]??[]:m,p=m=>typeof m=="string"?a.value[m]??[]:[];return(m,t)=>{const d=e.resolveComponent("InfoFilled"),_=e.resolveComponent("el-icon"),h=e.resolveComponent("el-tooltip");return u.value>=0&&f.value?(e.openBlock(),e.createElementBlock("div",xs,[e.createElementVNode("div",Vs,[Ss,e.createElementVNode("div",Es,e.toDisplayString(`${f.value.title}-${f.value.seq}`),1)]),e.createElementVNode("div",Ts,[$s,e.createElementVNode("div",Bs,e.toDisplayString(u.value+1),1)]),e.createElementVNode("div",Ns,[Ms,e.createElementVNode("div",Is,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ue).get("input-text")),{locked:r.value[u.value].locked,modelValue:r.value[u.value].name,"onUpdate:modelValue":t[0]||(t[0]=g=>r.value[u.value].name=g)},null,8,["locked","modelValue"]))])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value.rectangles,({label:g,type:w,bindKey:C,display:b,...y},V)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C},[s(r.value[u.value],b)?(e.openBlock(),e.createElementBlock("div",Ps,[e.createElementVNode("div",As,e.toDisplayString(g)+":",1),e.createElementVNode("div",Ds,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ue).get(w)),e.mergeProps({locked:r.value[u.value].locked,min:i(C,r.value[u.value]),max:v(C,r.value[u.value]),modelValue:r.value[u.value].rect[C],"onUpdate:modelValue":k=>r.value[u.value].rect[C]=k},y,{onChange:k=>{var x;return e.unref(Xe)(`${r.value[u.value].type}-${r.value[u.value].id}`,{value:k,property:(x=f.value)==null?void 0:x.rectangles[V]})}}),null,16,["locked","min","max","modelValue","onUpdate:modelValue","onChange"]))])])):e.createCommentVNode("",!0)],64))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value.properties,({label:g,type:w,bindKey:C,options:b,files:y,display:V,min:k,max:x,tip:S,extra:T,...E},$)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C},[s(r.value[u.value],V)?(e.openBlock(),e.createElementBlock("div",zs,[e.createElementVNode("div",Os,[e.createElementVNode("span",null,e.toDisplayString(g),1),S?(e.openBlock(),e.createBlock(h,{key:0,placement:"top"},{content:e.withCtx(()=>[typeof S=="string"?(e.openBlock(),e.createElementBlock("span",Ls,e.toDisplayString(S),1)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S),{key:1}))]),default:e.withCtx(()=>[e.createVNode(_,{class:"tip-icon"},{default:e.withCtx(()=>[e.createVNode(d)]),_:1})]),_:2},1024)):e.createCommentVNode("",!0),Ws]),e.createElementVNode("div",Fs,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ue).get(w)),e.mergeProps({label:g,bindKey:C,optionType:b,options:c(b),fileType:y,files:p(y),locked:r.value[u.value].locked,rect:r.value[u.value].rect,props:r.value[u.value].props,min:i(C,r.value[u.value],k),max:v(C,r.value[u.value],x),modelValue:r.value[u.value].props[C],"onUpdate:modelValue":P=>r.value[u.value].props[C]=P},E,{onChange:P=>{var A;return e.unref(Xe)(`${r.value[u.value].type}-${r.value[u.value].id}`,{value:P,property:(A=f.value)==null?void 0:A.properties[$]})}}),e.createSlots({_:2},[T?{name:"extra",fn:e.withCtx(()=>{var P;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(T),{property:(P=f.value)==null?void 0:P.properties[$],data:r.value[u.value],"onUpdate:data":t[1]||(t[1]=A=>r.value[u.value]=A)},null,40,["property","data"]))]}),key:"0"}:void 0]),1040,["label","bindKey","optionType","options","fileType","files","locked","rect","props","min","max","modelValue","onUpdate:modelValue","onChange"]))])])):e.createCommentVNode("",!0)],64))),128))])):(e.openBlock(),e.createElementBlock("div",Hs,"请选择一个元素"))}}}),Ks=K(Rs,[["__scopeId","data-v-46ebd3ac"]]),Us={class:"frame-paste"},Ys=e.defineComponent({name:"paste-board",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(n){const o=e.shallowRef([]),l=e.useModel(n,"data"),a=Ie(l);e.watch(()=>a.globalCopy.value,()=>{try{o.value=JSON.parse(sessionStorage.getItem(Be)??"[]")}catch{o.value=[]}},{immediate:!0});const r=f=>{a.handlePaste(e.toRaw(f))},u=f=>{const i=[...o.value];i.splice(f,1),o.value=i,sessionStorage.setItem(Be,JSON.stringify(i))};return(f,i)=>{const v=e.resolveComponent("el-table-column"),s=e.resolveComponent("el-tag"),c=e.resolveComponent("el-space"),p=e.resolveComponent("el-link"),m=e.resolveComponent("el-table");return e.openBlock(),e.createElementBlock("div",Us,[e.createVNode(m,{size:"small","empty-text":"暂无数据",data:o.value},{default:e.withCtx(()=>[e.createVNode(v,{type:"index",width:"60",label:"序号",align:"center"}),e.createVNode(v,{label:"元素",align:"center"},{default:e.withCtx(({row:t})=>[e.createVNode(c,{wrap:"",style:{"justify-content":"center"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t,({name:d},_)=>(e.openBlock(),e.createBlock(s,{key:`${d}-${_}`,type:"success"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d),1)]),_:2},1024))),128))]),_:2},1024)]),_:1}),e.createVNode(v,{label:"操作",width:"80",align:"center"},{default:e.withCtx(({row:t,$index:d})=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(p,{type:"primary",onClick:()=>r(t)},{default:e.withCtx(()=>[e.createTextVNode("粘贴")]),_:2},1032,["onClick"]),e.createVNode(p,{type:"primary",onClick:()=>u(d)},{default:e.withCtx(()=>[e.createTextVNode("删除")]),_:2},1032,["onClick"])]),_:2},1024)]),_:1})]),_:1},8,["data"])])}}}),js=K(Ys,[["__scopeId","data-v-07274a24"]]),qs=e.defineComponent({name:"frame-editor",inheritAttrs:!1,__name:"index",props:{style:{},className:{},frameName:{default:()=>""},screenTypeID:{default:()=>""},duration:{default:()=>0},width:{default:()=>641},height:{default:()=>481},bgcolor:{default:()=>"#ffffff"},xmlString:{default:()=>""},dataSource:{default:()=>({})},fileSource:{default:()=>({})},fileBuffer:{}},emits:["code","preview","save","remove","global"],setup(n,{expose:o,emit:l}){const a=l,r=n;o({clone:b=>{try{if(b&&typeof b=="string")return $e(dt(b),wo(b))}catch(y){ee.ElMessage.error(y.message??"解析失败")}return b}});const u=Wo(r),f=Ho(r);Ro(r),Uo(r),Xt(r);const i=e.ref([]);e.watchEffect(()=>{try{if(r.xmlString&&typeof r.xmlString=="string"){const b=dt(r.xmlString);b.length===0&&ee.ElMessage.warning("解析 XML 是空白帧,内部不含任何元素"),i.value=Co(b,f.value);return}}catch(b){ee.ElMessage.error(b.message??"解析 XML 失败")}i.value=[]});const v=()=>{try{const b=$e(e.toRaw(i.value),{...u.value,...f.value});a("code",b)}catch(b){ee.ElMessage.error(b.message??"查看XML失败")}},s=()=>{try{const b=$e(e.toRaw(i.value),{...u.value,...f.value});a("preview",b)}catch(b){ee.ElMessage.error(b.message??"预览失败")}},c=()=>{try{const b=$e(e.toRaw(i.value),{...u.value,...f.value});a("save",b)}catch(b){ee.ElMessage.error(b.message??"保存失败")}},p=()=>{a("remove")},m=e.ref("widget"),t=e.ref("property"),d=e.ref(12),_=e.ref(28),h=e.ref(60),g=b=>{b<0?d.value===0?(h.value-=15,d.value=15):(h.value+=d.value,d.value=0):_.value===0?(h.value-=25,_.value=25):(h.value+=_.value,_.value=0)},w=({panes:b})=>{d.value=b[0].size,h.value=b[1].size,_.value=b[2].size},C=Me("frame-editor-global",b=>a("global",b));return e.onUnmounted(()=>{C()}),(b,y)=>{const V=e.resolveComponent("el-tab-pane"),k=e.resolveComponent("el-tabs"),x=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["frame-editor",b.className]),style:e.normalizeStyle(b.style)},[e.createVNode(e.unref(Le.Splitpanes),{class:"default-theme",onResize:w},{default:e.withCtx(()=>[e.createVNode(e.unref(Le.Pane),{size:d.value},{default:e.withCtx(()=>[e.createVNode(k,{modelValue:m.value,"onUpdate:modelValue":y[2]||(y[2]=S=>m.value=S)},{default:e.withCtx(()=>[e.createVNode(V,{label:"组件",name:"widget"},{default:e.withCtx(()=>[e.createVNode(Ma,{data:i.value,"onUpdate:data":y[0]||(y[0]=S=>i.value=S)},null,8,["data"])]),_:1}),e.createVNode(V,{label:"结构",name:"structure"},{default:e.withCtx(()=>[e.createVNode(Fa,{data:i.value,"onUpdate:data":y[1]||(y[1]=S=>i.value=S)},null,8,["data"])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["size"]),e.createVNode(e.unref(Le.Pane),{size:h.value},{default:e.withCtx(()=>[e.createVNode(x,{class:"left-collapse",style:e.normalizeStyle({left:d.value===0?"-1px":"-22px"}),icon:d.value===0?"ArrowRight":"ArrowLeft",onClick:y[3]||(y[3]=S=>g(-1))},null,8,["style","icon"]),e.createVNode(qa,{data:i.value,"onUpdate:data":y[4]||(y[4]=S=>i.value=S),onSave:c,onRemove:p,onPreview:s,onCode:v},null,8,["data"]),e.createVNode(ar,{data:i.value,"onUpdate:data":y[5]||(y[5]=S=>i.value=S),bgcolor:b.bgcolor},null,8,["data","bgcolor"]),e.createVNode(x,{class:"right-collapse",style:e.normalizeStyle({right:_.value===0?"0px":"-21px"}),icon:_.value===0?"ArrowLeft":"ArrowRight",onClick:y[6]||(y[6]=S=>g(1))},null,8,["style","icon"])]),_:1},8,["size"]),e.createVNode(e.unref(Le.Pane),{size:_.value},{default:e.withCtx(()=>[e.createVNode(k,{modelValue:t.value,"onUpdate:modelValue":y[9]||(y[9]=S=>t.value=S)},{default:e.withCtx(()=>[e.createVNode(V,{label:"属性",name:"property"},{default:e.withCtx(()=>[e.createVNode(Ks,{data:i.value,"onUpdate:data":y[7]||(y[7]=S=>i.value=S)},null,8,["data"])]),_:1}),e.createVNode(V,{label:"粘贴板",name:"clipboard"},{default:e.withCtx(()=>[e.createVNode(js,{data:i.value,"onUpdate:data":y[8]||(y[8]=S=>i.value=S)},null,8,["data"])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["size"])]),_:1})],6)}}}),Ye=K(qs,[["__scopeId","data-v-e303ba54"]]),Xs={class:"frame-view"},Gs=["onClick","onDblclick"],Zs=e.defineComponent({name:"frame-view",inheritAttrs:!1,__name:"index",props:{frameDatas:{},liveDatas:{},playIndex:{},showElBorder:{type:Boolean},selectedData:{}},emits:["action"],setup(n,{emit:o}){const l=n,a=o,r=i=>{if(!l.selectedData)return!1;const{type:v,source:s}=l.selectedData;return i.type===v&&i.props.source===s},u=i=>({transform:`translate(${z(i.x)},${z(i.y)})`,width:z(i.width),height:z(i.height)}),f=(i,v)=>{const s=v.props.source,c=ce.get(v.type);if(c&&typeof s<"u"){const p={id:v.id,key:c.key,seq:c.seq,type:v.type,source:s};a("action",i,p)}};return(i,v)=>(e.openBlock(),e.createElementBlock("div",Xs,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.frameDatas,s=>{var c,p;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["element-item",r(s)?"active":i.showElBorder?"outline":""]),key:s.id,style:e.normalizeStyle(u(s.rect)),onClick:m=>f("click",s),onDblclick:m=>f("dblclick",s)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((c=e.unref(ce).get(s.type))==null?void 0:c.view),e.mergeProps({id:s.id,rect:s.rect,liveDatas:(p=i.liveDatas)==null?void 0:p[s.id],playIndex:i.playIndex,preview:""},s.props),null,16,["id","rect","liveDatas","playIndex"]))],46,Gs)}),128))]))}}),Js=K(Zs,[["__scopeId","data-v-b89d4c7c"]]),Qs={key:1},ei=e.defineComponent({name:"frame-preview",inheritAttrs:!1,__name:"preview",props:{style:{},className:{},bgcolor:{default:()=>"#393939"},xmlString:{default:()=>""},useLiveData:{type:Boolean,default:()=>!1},selectedData:{},autoPlay:{type:Boolean,default:()=>!1},autoScale:{type:Boolean,default:()=>!1},showElBorder:{type:Boolean,default:()=>!1},fileBuffer:{}},emits:["action","change"],setup(n,{emit:o}){const l=o,a=n;Xt(a);const r=e.computed(()=>{try{if(a.xmlString&&typeof a.xmlString=="string"){const y=Ca(a.xmlString);return y||ee.ElMessage.warning("预览的是空白帧,内部不含任何元素"),y}}catch(y){ee.ElMessage.error(y.message??"解析 xml 失败")}return null}),u=e.computed(()=>{if(r.value){const{width:y,height:V}=r.value;return{width:z(y),minWidth:z(y),maxWidth:z(y),height:z(V),minHeight:z(V),maxHeight:z(V)}}return{}}),f=e.computed(()=>{if(r.value){const{datas:y}=r.value;return a.useLiveData?y:null}return null}),i=e.ref(-1),v=e.ref(-1),s=e.shallowRef(null);let c=null;const p=()=>{c==null||c.stop(),c=null,i.value=-1,v.value=-1,s.value=null};e.onBeforeUnmount(p),e.watch([()=>r.value,()=>a.autoPlay],([y,V])=>{if(p(),y){const{frames:k,durations:x}=y,S=k.length;S===0?s.value=null:S===1||!V?(s.value=k[0],i.value=V?-1:0,v.value=V?-1:0):(c=new Gt(T=>{const E=s.value=k[T];return l("change",T,E),x[T]},{min:0,max:S-1}),c.start())}},{immediate:!0});const m=e.computed(()=>r.value?i.value<=0&&v.value<=0:!0),t=()=>{if(!a.autoPlay&&r.value){const{frames:y,pages:V}=r.value,k=i.value-1,x=v.value-1;if(x<0){if(k<0)return;i.value=k,v.value=V[k]-1}else v.value=x;const S=s.value=y[i.value];l("change",i.value,S)}},d=e.computed(()=>{if(!r.value)return!0;const{pages:y}=r.value,V=y.length,k=y[V-1];return i.value>=V-1&&v.value>=k-1}),_=()=>{if(!a.autoPlay&&r.value){const{frames:y,pages:V}=r.value,k=i.value+1,x=v.value+1;if(x>=V[i.value]){if(k>=V.length)return;i.value=k,v.value=0}else v.value=x;const S=s.value=y[i.value];l("change",i.value,S)}},h=(y,V)=>{l("action",y,V)},{elRef:g,width:w,height:C}=Ne(),b=e.computed(()=>{if(a.autoScale&&r.value){const y=Math.min(w.value/r.value.width,C.value/r.value.height);if(!Number.isNaN(y)&&y>0)return y}return 1});return(y,V)=>{const k=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["frame-preview",y.className]),style:e.normalizeStyle(y.style)},[!y.autoPlay&&y.useLiveData&&r.value?(e.openBlock(),e.createBlock(k,{key:0,class:"prev-frame",title:"上一页(当帧内部最大页码元素切换完之后, 转入上一帧)",icon:"ArrowLeft",size:"large",circle:"",disabled:m.value,onClick:t},null,8,["disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"stageRef",ref:g,class:"preview-stage",style:e.normalizeStyle({overflow:y.autoScale?"hidden":"auto"})},[e.createElementVNode("div",{class:"preview-screen",style:e.normalizeStyle({...u.value,transform:`scale(${b.value})`,backgroundColor:y.bgcolor})},[s.value?(e.openBlock(),e.createBlock(Js,{key:0,frameDatas:s.value,liveDatas:f.value,playIndex:v.value,selectedData:y.selectedData,showElBorder:y.showElBorder,onAction:h},null,8,["frameDatas","liveDatas","playIndex","selectedData","showElBorder"])):(e.openBlock(),e.createElementBlock("div",Qs,"当前没有任何帧"))],4)],4),!y.autoPlay&&y.useLiveData&&r.value?(e.openBlock(),e.createBlock(k,{key:1,class:"next-frame",title:"下一页(当帧内部最大页码元素切换完之后, 转入下一帧)",icon:"ArrowRight",size:"large",circle:"",disabled:d.value,onClick:_},null,8,["disabled"])):e.createCommentVNode("",!0)],6)}}}),je=K(ei,[["__scopeId","data-v-28ecdf03"]]);Ye.install=n=>{n.component(Ye.name||"FrameEditor",Ye)};je.install=n=>{n.component(je.name||"FramePreview",je)};const ti=Ye,oi=je,li="1.0.0";exports.FrameEditor=ti;exports.FramePreview=oi;exports.version=li;
11
+ `:v="",ft(n,v)},Oo=n=>{ft(n)},Ht=(n,{align:o=be.left,valign:l=_e.top,animationSpeed:a=0,animationStyle:r=0,width:u,height:f,textWidth:i,textHeight:v})=>{let s=0;return a>0&&(r===1||r===2||r===6?s=(u+i)/a:r===3||r===4||r===7?s=(f+v)/a:r===5&&(s=1/a)),zo(n,r,o,l,u,f,i,v),{animationName:n,animationDelay:`-${s/2}s`,animationDuration:`${s}s`,animationTimingFunction:"linear",animationIterationCount:"infinite"}};function mt(n,o,l){const a=Date.now(),r=e.computed(()=>{const{id:u,animationStyle:f,animationSpeed:i,align:v,valign:s,rect:c}=n,p=`widget-${u}-${a}-roll`;return Ht(p,{animationStyle:f,animationSpeed:i,align:v,valign:s,width:c.width,height:c.height,textWidth:o.value,textHeight:l.value})});return e.onUnmounted(()=>{ft(`widget-${n.id}-${a}-roll`)}),r}const Rt=Symbol("frameInfo"),Lo=()=>e.inject(Rt,e.computed(()=>({frameName:"",screenTypeID:"",duration:60}))),Wo=n=>{const o=e.computed(()=>({frameName:n.frameName||"",screenTypeID:n.screenTypeID||"",duration:n.duration||60}));return e.provide(Rt,o),o},Kt=e.ref(1),Fo=n=>{Kt.value=n};function Ge(){return[e.readonly(Kt),Fo]}const Ut=Symbol("stageRect"),ve=()=>e.inject(Ut,e.computed(()=>({x:0,y:0,width:0,height:0}))),Ho=n=>{const o=e.computed(()=>({x:0,y:0,width:n.width||0,height:n.height||0}));return e.provide(Ut,o),o},Yt=Symbol("optionSource"),ye=()=>e.inject(Yt,e.computed(()=>({}))),Ro=n=>{const o=e.computed(()=>n.dataSource||{});return e.provide(Yt,o),o},jt=Symbol("fileSource"),Ko=()=>e.inject(jt,e.computed(()=>({}))),Uo=n=>{const o=e.computed(()=>n.fileSource||{});return e.provide(jt,o),o},qt=Symbol("fileBuffer"),vt=()=>e.inject(qt),Xt=n=>{const o=e.computed(()=>n.fileBuffer);return e.provide(qt,o),o},Ke=new Map;function Me(n,o){if(!n)return()=>{};let l=Ke.get(n);return l||(l=new Set,Ke.set(n,l)),l.add(o),()=>{l.delete(o),l.size===0&&Ke.delete(n)}}function Xe(n,o){const l=Ke.get(n);l&&[...l].forEach(a=>a(o))}const ot=e.ref();function Ie(n){const o=Lo(),l=ve(),a=()=>n.value.filter(({selected:h})=>!!h);return{handleImport:()=>{const h=document.createElement("input");h.type="file",h.accept=".xml,application/xml",h.onchange=g=>{var b;const w=(b=g.target.files)==null?void 0:b[0];if(!w)return;const C=new FileReader;C.onload=y=>{var x;const V=()=>{const S=dt(k);S.length===0&&ee.ElMessage.warning("导入的 XML 是空白帧,内部不含任何元素"),n.value=Co(S,l.value)},k=((x=y.target)==null?void 0:x.result)??"";if(k&&typeof k=="string")try{const{frameName:S,screenTypeID:T,width:E,height:$}=wo(k);E>0&&l.value.width!==E||$>0&&l.value.height!==$?ee.ElMessageBox.confirm(`导入的 XML 屏幕信息(${T}: ${S})与当前屏幕不匹配,导入后内部元素尺寸位置可能会被裁剪,确定导入?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消"}).then(()=>V()).catch(()=>ee.ElMessage.success("已取消导入")):V()}catch(S){ee.ElMessage.error(S.message??"解析 XML 失败")}else ee.ElMessage.warning("导入的 XML 是空文件")},C.readAsText(w)},h.click()},handleExport:()=>{try{const h=$e(e.toRaw(n.value),{...o.value,...l.value}),g=new Blob([h],{type:"application/xml"}),w=URL.createObjectURL(g),C=document.createElement("a");C.href=w,C.download=`${o.value.frameName||"新建帧"}.xml`,document.body.appendChild(C),C.click(),document.body.removeChild(C),URL.revokeObjectURL(w)}catch(h){ee.ElMessage.error(h.message??"导出失败")}},handleSelect:h=>{(Array.isArray(h)?h:n.value).forEach(g=>{g.selected=!0})},handleCopy:async h=>{const g=e.toRaw(Array.isArray(h)?h:n.value.filter(({selected:C})=>!!C)),w=JSON.stringify(g);try{const C=JSON.parse(sessionStorage.getItem(Be)??"[]");C.push(g),sessionStorage.setItem(Be,JSON.stringify(C))}catch{sessionStorage.setItem(Be,w)}ot.value=w;try{await navigator.clipboard.writeText(w)}catch{}},handlePaste:async h=>{let g=[];if(Array.isArray(h))g=q(h);else{let C=ot.value;if(typeof C!="string")try{C=await navigator.clipboard.readText()}catch{C=""}try{g=JSON.parse(C),Array.isArray(g)||(g=[g])}catch{g=[]}}const w=g.map(C=>({...C,id:G(),selected:!1,locked:!1}));n.value.push(...w)},handleDelete:h=>{Array.isArray(h)?n.value=n.value.filter(g=>!h.includes(g)):n.value=n.value.filter(g=>!g.selected)},handleClear:()=>{n.value=[]},handleLock:h=>{(Array.isArray(h)?h:n.value.filter(({selected:g})=>!!g)).forEach(g=>{g.locked=!0})},handleUnlock:h=>{(Array.isArray(h)?h:n.value.filter(({selected:g})=>!!g)).forEach(g=>{g.locked=!1})},handleAlign:h=>{const g=a(),w=g.length-1,C=fe(g.map(({rect:x})=>x)),{x:b,y,width:V,height:k}=C;if(h==="hAvgAlign"&&w>0){g.sort((E,$)=>E.rect.x-$.rect.x);const x=g.reduce((E,{rect:$})=>E+$.width,0),S=(V-x)/w;let T=0;g.forEach((E,$)=>{if(!E.locked){const P=b+T+S*$,A=P-E.rect.x;E.rect.x=P;const{x0:M,x1:B}=E.props;typeof M=="number"&&(E.props.x0=M+A),typeof B=="number"&&(E.props.x1=B+A)}T+=E.rect.width})}else if(h==="vAvgAlign"&&w>0){g.sort((E,$)=>E.rect.y-$.rect.y);const x=g.reduce((E,{rect:$})=>E+$.height,0),S=(k-x)/w;let T=0;g.forEach((E,$)=>{if(!E.locked){const P=y+T+S*$,A=P-E.rect.y;E.rect.y=P;const{y0:M,y1:B}=E.props;typeof M=="number"&&(E.props.y0=M+A),typeof B=="number"&&(E.props.y1=B+A)}T+=E.rect.height})}else{const x=S=>{switch(h){case"upAlign":return{...S,y};case"downAlign":return{...S,y:y+k-S.height};case"leftAlign":return{...S,x:b};case"rightAlign":return{...S,x:b+V-S.width};case"hCenterAlign":return{...S,x:b+V/2-S.width/2};case"vCenterAlign":return{...S,y:y+k/2-S.height/2};default:return S}};g.forEach(S=>{if(!S.locked){const T=x(S.rect),E=T.x-S.rect.x,$=T.y-S.rect.y;S.rect=T;const{x0:P,y0:A,x1:M,y1:B}=S.props;typeof P=="number"&&typeof A=="number"&&(S.props.x0=P+E,S.props.y0=A+$),typeof M=="number"&&typeof B=="number"&&(S.props.x1=M+E,S.props.y1=B+$)}})}},handleZIndex:h=>{const g=a();if(!g.length)return;const w=n.value.findIndex(({id:b})=>b===g[0].id);if(w===-1)return;const[C]=n.value.splice(w,1);switch(h){case"topIndex":n.value.splice(n.value.length,0,C);break;case"upIndex":n.value.splice(Math.min(w+1,n.value.length),0,C);break;case"downIndex":n.value.splice(Math.max(w-1,0),0,C);break;case"bottomIndex":n.value.splice(0,0,C);break}},handleTable:h=>{const g=a();if(g.length!==1)return;const w=g[0];if(typeof w.props.row=="number"&&typeof w.props.col=="number"){const C=h==="tableRowAdd"||h==="tableColAdd"?1:h==="tableRowDel"||h==="tableColDel"?-1:0,b=h==="tableRowAdd"||h==="tableRowDel"?"row":h==="tableColAdd"||h==="tableColDel"?"col":"",y=ce.get(w.type);if(y){const V=y.properties.find(({bindKey:k})=>k===b);Xe(`${w.type}-${w.id}`,{value:w.props[b]+C,property:V})}}},globalCopy:e.readonly(ot)}}const We=n=>typeof n=="number";class Gt{constructor(o,{min:l,max:a}){le(this,"timer");le(this,"index");le(this,"min");le(this,"max");le(this,"action");this.min=!We(l)||We(a)&&l>a?0:l,this.max=!We(a)||We(l)&&l>a?1/0:a,this.action=o,this.index=this.min,this.timer=null}computed(o){o===1&&this.index===this.max?this.index=this.min:o===-1&&this.index===this.min?this.index=this.max:this.index+=o}loop(o){this.timer=setTimeout(()=>{this.computed(1),this.loop(this.action(this.index))},o*1e3)}pause(){this.timer&&(clearTimeout(this.timer),this.timer=null)}stop(){this.pause(),this.index=this.min}start(){this.pause();const o=this.action(this.index);this.loop(o)}prev(){const o=this.timer===null;this.pause(),this.computed(-1);const l=this.action(this.index);o||this.loop(l)}next(){const o=this.timer===null;this.pause(),this.computed(1);const l=this.action(this.index);o||this.loop(l)}}function he(n){const o=e.shallowRef(null);let l=null;const a=()=>{l==null||l.stop(),l=null,o.value=null};return e.onBeforeUnmount(a),e.watch([()=>n.liveDatas,()=>n.playIndex],([r,u])=>{if(a(),r){const f=typeof u>"u"||u<0,i=r.length;i===0?o.value={duration:0}:i===1||!f?o.value=r[f?0:u%i]:(l=new Gt(v=>{const s=r[v];return o.value=s,s.duration},{min:0,max:i-1}),l.start())}},{immediate:!0}),o}function Zt({moveStart:n,moveFirst:o,moveTravel:l,moveEnd:a,wheelStart:r,wheelTravel:u,wheelEnd:f,keydowned:i}){const v=yt();let s=!1,c=0,p=0,m=!1,t;const d=y=>y.preventDefault(),_=(y,V)=>{w==null||w.end(),!y.button&&(y.stopImmediatePropagation(),[c,p]=v(y),m=!1,n==null||n({startPoint:[c,p],event:y},V),t=V,window.addEventListener("mousemove",h,{capture:!1,passive:!1}),window.addEventListener("mouseup",g,{capture:!1,passive:!1}),window.addEventListener("dragstart",d,{capture:!0,passive:!1}),"onselectstart"in window.document.documentElement&&window.addEventListener("selectstart",d,{capture:!0,passive:!1}))},h=y=>{y.preventDefault(),y.stopImmediatePropagation();const[V,k]=v(y),x=V-c,S=k-p;x*x+S*S<=3*3||(m||(m=!0,o==null||o({startPoint:[c,p],endPoint:[V,k],movementX:y.movementX,movementY:y.movementY,deltaX:x,deltaY:S,event:y},t)),s||(s=!0,requestAnimationFrame(()=>{s=!1,m&&(l==null||l({startPoint:[c,p],endPoint:[V,k],movementX:y.movementX,movementY:y.movementY,deltaX:x,deltaY:S,event:y},t))})))},g=y=>{window.removeEventListener("mousemove",h,{capture:!1}),window.removeEventListener("mouseup",g,{capture:!1}),window.removeEventListener("dragstart",d,{capture:!0}),"onselectstart"in window.document.documentElement&&window.removeEventListener("selectstart",d,{capture:!0}),y.preventDefault(),y.stopImmediatePropagation();const[V,k]=v(y),x=V-c,S=k-p;a==null||a({startPoint:[c,p],endPoint:[V,k],deltaX:x,deltaY:S,isMoved:m,event:y},t),c=0,p=0,m=!1};let w=null;const C=(y,V)=>{if(m)return;y.preventDefault(),y.stopImmediatePropagation();const k=Math.pow(2,-y.deltaY*.002);if(w)clearTimeout(w.timer),w.timer=setTimeout(w.end,300),w.scale*=k;else{[c,p]=v(y);const x=()=>{clearTimeout(w==null?void 0:w.timer),f==null||f({startPoint:[c,p],deltaK:(w==null?void 0:w.scale)??1,isWheeled:!!w,event:y},V),c=0,p=0,w=null};w={end:x,timer:setTimeout(x,300),scale:k},r==null||r({startPoint:[c,p],event:y},V)}s||(s=!0,requestAnimationFrame(()=>{s=!1,w&&(u==null||u({startPoint:[c,p],movementK:k,deltaK:w.scale,event:y},V))}))},b=(y,V)=>{m||(w==null||w.end(),y.preventDefault(),y.stopImmediatePropagation(),i==null||i({event:y},V))};return e.onBeforeUnmount(()=>{w==null||w.end()}),{mousedown:_,mousewheel:C,keydown:b}}function Jt(n){const o=yt(),l=(i,v)=>{const s=ce.get(i);if(s){n.value.forEach(p=>{p.selected=!1});const c=G();n.value.push({id:c,type:i,name:`${s.title}-${c.substring(0,8)}`,selected:!0,...s.initDefault(v==null?void 0:v[0],v==null?void 0:v[1])})}};return{dblclick:(i,v)=>l(v),dragstart:(i,v)=>{i.dataTransfer&&(i.dataTransfer.setData("text/plain",v),i.dataTransfer.effectAllowed="copy")},dragover:i=>{i.preventDefault(),i.dataTransfer&&(i.dataTransfer.dropEffect="copy")},drop:i=>{if(i.preventDefault(),i.dataTransfer){const v=i.dataTransfer.getData("text/plain"),s=o(i);l(v,[s[0]-25,s[1]-25])}}}}const st=e.shallowRef(),Yo=()=>[e.shallowReadonly(st),n=>{st.value=n}],yt=()=>{const[n]=Ge();return o=>{var f;const l=n.value??1,a=(f=st.value)==null?void 0:f.getBoundingClientRect(),r=(a==null?void 0:a.left)??0,u=(a==null?void 0:a.top)??0;return[(o.clientX-r)/l,(o.clientY-u)/l]}},jo={class:"arrow-line-widget-inner"},qo=e.defineComponent({name:"ArrowLineWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({x0:{},y0:{},x1:{},y1:{},lineWidth:{},lineColor:{},lineStyle:{},rect:{},selected:{type:Boolean},preview:{type:Boolean}},{item:{}}),emits:["update:item"],setup(n){const o=n,l=e.computed(()=>{const{x0:v,y0:s,x1:c,y1:p,rect:m}=o,t=Dt([v,s],[c,p]),d=pt([v,s],[c,p]);return{width:z(t),transform:`translate(${z(v-m.x)},${z(s-m.y)}) rotate(${d}deg)`}}),a=we(o),r=e.computed(()=>{const{lineColor:v,lineWidth:s}=o;return{borderColor:v,borderLeftWidth:z(12+(s??0)*2),borderTopWidth:z(6+(s??0)),borderBottomWidth:z(6+(s??0))}}),u=ve(),f=e.useModel(n,"item"),i=Me(f.value?`${f.value.type}-${f.value.id}`:"",({value:v,property:s})=>{const{bindKey:c}=s;if((c==="x0"||c==="y0"||c==="x1"||c==="y1")&&typeof v=="number"&&f.value){const{x:p,y:m,width:t,height:d}=u.value;let{x0:_,y0:h,x1:g,y1:w}=o;c==="x0"?_=Z(v,p,p+t):c==="y0"?h=Z(v,m,m+d):c==="x1"?g=Z(v,p,p+t):c==="y1"&&(w=Z(v,m,m+d)),f.value.rect={x:Z(Math.min(_,g),p,p+t),y:Z(Math.min(h,w),m,m+d),width:Z(Math.abs(_-g),0,t),height:Z(Math.abs(h-w),0,d)}}});return e.onUnmounted(()=>{i()}),(v,s)=>(e.openBlock(),e.createElementBlock("div",{class:"arrow-line-widget",style:e.normalizeStyle(l.value)},[e.createElementVNode("div",jo,[e.createElementVNode("div",{class:"line",style:e.normalizeStyle(e.unref(a))},null,4),e.createElementVNode("div",{class:"arrow",style:e.normalizeStyle(r.value)},null,4)])],4))}}),K=(n,o)=>{const l=n.__vccOpts||n;for(const[a,r]of o)l[a]=r;return l},Xo=K(qo,[["__scopeId","data-v-f6688de1"]]),Go={viewBox:"0 0 1024 1024"},Zo=e.createElementVNode("path",{d:"M833.058133 247.978667a34.133333 34.133333 0 0 1 0 21.572266l-74.752 224.187734a34.133333 34.133333 0 0 1-56.490666 13.346133l-52.3264-52.292267-418.474667 418.474667a25.6 25.6 0 0 1-36.181333-36.181333l418.474666-418.5088-60.962133-60.962134a34.133333 34.133333 0 0 1 13.346133-56.490666l224.187734-74.752a34.133333 34.133333 0 0 1 43.178666 21.6064z"},null,-1),Jo=[Zo],Qo=e.defineComponent({name:"ArrowLineIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Go,Jo))}}),se=[{type:"single-select",label:"动画效果",key:"A",bindKey:"animationStyle",valueType:"number",defaultValue:rt[0].value,options:rt},{type:"input-number",label:"动画速率",min:0,max:1e3,key:"S",bindKey:"animationSpeed",valueType:"number",defaultValue:10}],ae=[{type:"radio-button",label:"横对齐方式",key:"RA",bindKey:"align",valueType:"number",defaultValue:gt[1].value,options:gt},{type:"radio-button",label:"竖对齐方式",key:"VA",bindKey:"valign",valueType:"number",defaultValue:bt[1].value,options:bt}],R=[{type:"color-picker",label:"背景色",key:"BC",bindKey:"bgcolor",valueType:"color",defaultValue:"#00000000"},{type:"color-picker",label:"文字颜色",key:"TC",bindKey:"color",valueType:"color",defaultValue:"#ff0000"},{type:"single-select",label:"字体",key:"TT",bindKey:"fontFamily",valueType:"string",defaultValue:Ao[0].value,options:"FontFamily"},{type:"input-number",label:"字号",key:"TS",bindKey:"fontSize",valueType:"number",min:1,defaultValue:16},{type:"single-select",label:"字形",key:"TX",bindKey:"fontStyle",valueType:"number",defaultValue:kt[0].value,options:kt}],de=[{type:"input-number",label:"线宽度",key:"LW",bindKey:"lineWidth",min:0,valueType:"number",defaultValue:1},{type:"color-picker",label:"线颜色",key:"LC",bindKey:"lineColor",valueType:"color",defaultValue:"#ff0000"},{type:"single-select",label:"线类型",key:"LT",bindKey:"lineStyle",valueType:"number",defaultValue:wt[0].value,options:wt}],el=[{type:"input-number",label:"X坐标",key:"X0",bindKey:"x",valueType:"number",defaultValue:0},{type:"input-number",label:"Y坐标",key:"Y0",bindKey:"y",valueType:"number",defaultValue:0},{type:"input-number",label:"宽度",key:"W",bindKey:"width",valueType:"number",defaultValue:60},{type:"input-number",label:"高度",key:"H",bindKey:"height",valueType:"number",defaultValue:60}];class ne{constructor(o){le(this,"key");le(this,"seq");le(this,"title");le(this,"icon");le(this,"view");le(this,"rectangles");le(this,"properties");this.key=o.key,this.seq=o.seq,this.title=o.title,this.icon=o.icon,this.view=o.view,this.properties=o.properties??[],this.rectangles=el.map(l=>{var a;return{...l,...(a=o.rectangles)==null?void 0:a[l.bindKey]}})}initDefault(o,l){const a={};this.rectangles.forEach(({bindKey:u,defaultValue:f})=>{a[u]=(u==="x"?o:u==="y"?l:void 0)??q(f)});const r={};return this.properties.forEach(({bindKey:u,defaultValue:f})=>{r[u]=q(f)}),{rect:a,props:r}}xmlToRect(o){const l={};return this.rectangles.forEach(({key:a,bindKey:r})=>{var u;l[r]=+(((u=o.querySelector(W(a,!0)))==null?void 0:u.textContent)??0)}),l}rectToXML(o,l,a){return this.rectangles.map(({key:r,bindKey:u})=>{const f=l.createElement(r.toUpperCase());return f.appendChild(l.createTextNode(ie(o[u]).toString())),f})}valueFormat(o,l,a){const{valueType:r}=l;let u;return r==="number"?u=+(o||2):r==="number[]"?u=(o??"").split(",").map(f=>+(f||2)):r==="boolean"?u=o==="1":r==="boolean[]"?u=(o??"").split(",").map(f=>f==="1"):r==="color"?u=o?o.startsWith("#")?o:o==="-1"?"#00000000":`#${re(+o)}`:"#00000000":r==="color[]"?u=(o??"").split(",").map(f=>f?f.startsWith("#")?f:f==="-1"?"#00000000":`#${re(+f)}`:"#00000000"):r==="string[]"?u=(o??"").split(","):u=o,u}xmlToProps(o){const l={};return this.properties.forEach(a=>{var v;const{key:r,bindKey:u}=a,f=(v=o.querySelector(W(r,!0)))==null?void 0:v.textContent,i=this.valueFormat(f,a,o);l[u]=i}),l}textFormat(o,l,a){const{valueType:r}=l;let u;if(o==null)u="";else if(r==="number")u=ie(o).toString();else if(r==="number[]")u=zt(o).join(",");else if(r==="boolean")u=o?"1":"0";else if(r==="boolean[]")u=o.map(f=>f?"1":"0").join(",");else if(r==="color"){const[f,i,v,s]=nt(o);u=s===0?"-1":`#${re(f)}${re(i)}${re(v)}${s===255?"":re(s)}`}else r==="color[]"?u=o.map(f=>{const[i,v,s,c]=nt(f);return c===0?"-1":`#${re(i)}${re(v)}${re(s)}${c===255?"":re(c)}`}).join(","):r==="string[]"?u=o.join(","):u=o;return u}propsToXML(o,l,a){return this.properties.map(r=>{const{key:u,bindKey:f}=r,i=l.createElement(u.toUpperCase()),v=this.textFormat(o[f],r,o);return i.appendChild(l.createTextNode(v)),i})}}const tl=[{type:"input-number",label:"X0坐标",key:"X0",bindKey:"x0",valueType:"number",defaultValue:0},{type:"input-number",label:"Y0坐标",key:"Y0",bindKey:"y0",valueType:"number",defaultValue:0},{type:"input-number",label:"X1坐标",key:"X1",bindKey:"x1",valueType:"number",defaultValue:60},{type:"input-number",label:"Y1坐标",key:"Y1",bindKey:"y1",valueType:"number",defaultValue:60},...de];class Qt extends ne{constructor(){super({key:"AR",seq:11,title:"箭头线",icon:Qo,view:Xo,properties:tl,rectangles:{x:{display:!1},y:{display:!1},width:{display:!1},height:{display:!1}}})}initDefault(o,l){const a={};return this.properties.forEach(({bindKey:r,defaultValue:u})=>{r==="lineStyle"||r==="lineColor"?a[r]=q(u):r==="x0"?a[r]=o??q(u):r==="y0"?a[r]=l??q(u):r==="x1"?a[r]=(o??0)+q(u):r==="y1"?a[r]=(l??0)+q(u):a[r]=q(u)}),{rect:{x:Math.min(a.x0,a.x1),y:Math.min(a.y0,a.y1),width:Math.abs(a.x0-a.x1),height:Math.abs(a.y0-a.y1)},props:a}}xmlToRect(o){const l={x0:0,y0:0,x1:0,y1:0};return this.properties.forEach(({key:a,bindKey:r})=>{var u;if(r==="x0"||r==="y0"||r==="x1"||r==="y1"){const f=+(((u=o.querySelector(W(a)))==null?void 0:u.textContent)??0);l[r]=f}}),{x:Math.min(l.x0,l.x1),y:Math.min(l.y0,l.y1),width:Math.abs(l.x0-l.x1),height:Math.abs(l.y0-l.y1)}}rectToXML(o,l){const a=[];return this.rectangles.forEach(({key:r,bindKey:u})=>{if(u==="width"||u==="height"){const f=l.createElement(r.toUpperCase());f.appendChild(l.createTextNode(ie(o[u]).toString())),a.push(f)}}),a}}const ol=new Qt,ll=Object.freeze(Object.defineProperty({__proto__:null,ArrowLineWidget:Qt,default:ol},Symbol.toStringTag,{value:"Module"})),nl=e.defineComponent({name:"CircleWidget",inheritAttrs:!1,__name:"index",props:{lineWidth:{},lineColor:{},lineStyle:{},selected:{type:Boolean},preview:{type:Boolean}},setup(n){const l=we(n);return(a,r)=>(e.openBlock(),e.createElementBlock("div",{class:"circle-widget",style:e.normalizeStyle(e.unref(l))},null,4))}}),al=K(nl,[["__scopeId","data-v-f634a654"]]),rl={viewBox:"0 0 1170 1024"},sl=e.createElementVNode("path",{d:"M585.142857 1024c322.121143 0 585.142857-227.986286 585.142857-512s-263.021714-512-585.142857-512-585.142857 227.986286-585.142857 512 263.021714 512 585.142857 512z m0-73.142857c-283.794286 0-512-197.705143-512-438.857143s228.205714-438.857143 512-438.857143 512 197.705143 512 438.857143-228.205714 438.857143-512 438.857143z"},null,-1),il=[sl],cl=e.defineComponent({name:"CircleIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",rl,il))}}),ul=[...de];class eo extends ne{constructor(){super({key:"CR",seq:10,title:"椭圆",icon:cl,view:al,properties:ul})}}const dl=new eo,pl=Object.freeze(Object.defineProperty({__proto__:null,CircleWidget:eo,default:dl},Symbol.toStringTag,{value:"Module"})),fl=Object.assign({name:"clock-digital",inheritAttrs:!1},{__name:"index",props:{digitalOptions:{type:Object}},setup(n){const o=n,l=e.ref(new Date),a=e.ref(new Date),r=(s,c)=>{let p=s;const m=It.Solar.fromDate(c).getLunar();p=p.replace(/YYYY/g,c.getFullYear()),p=p.replace(/yyyy/g,c.getFullYear()),p=p.replace(/MM/g,String(c.getMonth()+1).padStart(2,"0")),p=p.replace(/DD/g,String(c.getDate()).padStart(2,"0")),p=p.replace(/dd/g,String(c.getDate()).padStart(2,"0")),p=p.replace(/HH/g,String(c.getHours()).padStart(2,"0")),p=p.replace(/mm/g,String(c.getMinutes()).padStart(2,"0")),p=p.replace(/ss/g,String(c.getSeconds()).padStart(2,"0"));const t=["日","一","二","三","四","五","六"];return p=p.replace(/W/g,t[c.getDay()]),p=p.replace(/CHY/g,m.getYearInChinese()),p=p.replace(/CHM/g,m.getMonthInChinese()),p=p.replace(/CHD/g,m.getDayInChinese()),p=p.replace(/SXY/g,m.getYearShengXiaoExact()),p=p.replace(/GZY/g,m.getYearInGanZhiExact()),p},u=()=>{const s=new Date;if(o.digitalOptions.timeOffset){const c=+o.digitalOptions.timeOffset||0;o.digitalOptions.timeOffsetUnit==="year"?s.setFullYear(s.getFullYear()+c):o.digitalOptions.timeOffsetUnit==="month"?s.setMonth(s.getMonth()+c):o.digitalOptions.timeOffsetUnit==="day"?s.setDate(s.getDate()+c):o.digitalOptions.timeOffsetUnit==="hour"?s.setHours(s.getHours()+c):o.digitalOptions.timeOffsetUnit==="minute"?s.setMinutes(s.getMinutes()+c):o.digitalOptions.timeOffsetUnit==="second"?s.setSeconds(s.getSeconds()+c):o.digitalOptions.timeOffsetUnit==="millisecond"&&s.setMilliseconds(s.getMilliseconds()+c)}return s},f=()=>{const s=u();l.value=s,a.value=r(o.digitalOptions.txtFormat,l.value)};let i;const v=()=>{f(),i=requestAnimationFrame(v)};return e.onMounted(()=>{v()}),e.onBeforeUnmount(()=>{i&&cancelAnimationFrame(i)}),(s,c)=>(e.openBlock(),e.createElementBlock("span",null,e.toDisplayString(a.value),1))}}),ml={class:"clock-container"},vl=["width","height"],yl=Object.assign({name:"clock-analog",inheritAttrs:!1},{__name:"index",props:{analogOptions:{type:Object}},setup(n){const o=n,l=e.computed(()=>Math.min(o.analogOptions.width,o.analogOptions.height)),a=e.ref(null),r=e.ref(null),u=e.computed(()=>l.value/2),f=e.ref(new Date),i=e.computed(()=>({...o.analogOptions,centerColor:"#f1c40f"})),v=()=>{r.value=a.value.getContext("2d")},s=B=>Math.PI/180*B,c=B=>B>=12?B-12:B,p=vt(),m=e.ref(""),t=e.ref(""),d=e.ref(""),_=e.ref(""),h=(B,I)=>{if(B&&typeof(p==null?void 0:p.value)=="function")try{p.value(B).then(D=>{const O=new Blob([D],{type:"image/"+B.split(".").pop()}),L=URL.createObjectURL(O);I==="dialBackgroundPic"?m.value=L:I==="secondHandPic"?_.value=L:I==="minuteHandPic"?d.value=L:I==="hourHandPic"&&(t.value=L)}).catch(()=>{})}catch{}};e.watch(()=>i.value.dialBackgroundPic,B=>{h(B,"dialBackgroundPic")}),e.watch(()=>i.value.secondHandPic,B=>{h(B,"secondHandPic")}),e.watch(()=>i.value.minuteHandPic,B=>{h(B,"minuteHandPic")}),e.watch(()=>i.value.hourHandPic,B=>{h(B,"hourHandPic")});const g=new Map,w=B=>{let I=g.get(B);if(I)return I;const D=()=>{B&&URL.revokeObjectURL(B)};return I=new Image,I.src=B,I.onload=()=>{g.set(B,I),D()},I.onerror=()=>{g.set(B,"broken"),D()},g.set(B,"loading"),I},C=()=>{const B=u.value-l.value/50,I=u.value-l.value/400;if(i.value.dialBackgroundPic){if(m.value){const D=w(m.value);if(D!=="broken"&&D!=="loading"){const O=D.width,L=D.height,U=Math.max(I*2/O,I*2/L),H=O*U,Y=L*U,j=-H/2,F=-Y/2;r.value.drawImage(D,j,F,H,Y)}}}else{r.value.beginPath(),r.value.arc(0,0,I,0,2*Math.PI),r.value.fillStyle=i.value.dialBackgroundColor,r.value.fill();for(let D=1;D<=60;D++){const O=s(D*6-90),L=Math.sin(O),U=Math.cos(O);let H,Y,j,F;if(D%5===0){r.value.lineWidth=l.value/50,H=L*(B-B/9),Y=-U*(B-B/9),j=L*B,F=-U*B;const X=B-B/4.2,J=L*X,oe=-U*X,te=(D/5+9)%12===0?12:(D/5+9)%12;r.value.textBaseline="middle",r.value.textAlign="center",r.value.font=`bold ${l.value/13}px Arial`,r.value.fillStyle=i.value.dialColor,r.value.fillText(te.toString(),J,oe)}else r.value.lineWidth=l.value/100,H=L*(B-B/20),Y=-U*(B-B/20),j=L*B,F=-U*B;r.value.beginPath(),r.value.strokeStyle=i.value.scaleColor,r.value.lineCap="round",r.value.moveTo(H,Y),r.value.lineTo(j,F),r.value.stroke()}r.value.beginPath(),r.value.arc(0,0,u.value-o.analogOptions.borderWidth/2,0,2*Math.PI),r.value.lineWidth=o.analogOptions.borderWidth,r.value.strokeStyle=i.value.borderColor,r.value.stroke()}},b=(B,I,D,O=.5,L=.5,U)=>{if(B){r.value.beginPath(),r.value.moveTo(0,0),r.value.translate(u,u);const H=w(B),Y=I/H.height,j=H.width*Y>D?D:H.width*Y,F=H.height*Y>I?I:H.height*Y;if(U?r.value.translate(0,-F/2+F*.22):r.value.translate(0,-F/2),H!=="broken"&&H!=="loading"){const X=-j*O,J=-F*L;r.value.drawImage(H,X,J,j,F),r.value.restore()}}},y=(B,I,D,O=!0)=>{r.value.beginPath(),r.value.moveTo(0,0),r.value.lineTo(0,-B),r.value.lineWidth=I,r.value.strokeStyle=D,r.value.lineCap="round",O&&(r.value.shadowColor="rgba(0, 0, 0, 0.5)",r.value.shadowBlur=l.value/80,r.value.shadowOffsetX=l.value/200,r.value.shadowOffsetY=l.value/200),r.value.stroke()},V=(B,I)=>{const D=u.value*.75-l.value/40;if(r.value.save(),!i.value.dialBackgroundPic||!i.value.secondHandPic){const O=s(B*6);r.value.rotate(O),y(D,l.value/150,i.value.secondHandColor),r.value.beginPath(),r.value.arc(0,D/15,l.value/60,0,2*Math.PI),r.value.fillStyle=i.value.secondHandColor,r.value.fill(),r.value.restore()}else{const O=s(B*6);r.value.rotate(O),b(_.value,u.value-l.value/400,l.value/100,.5,.5,!0)}},k=(B,I)=>{const D=u.value*.55;if(r.value.save(),i.value.dialBackgroundPic==null||i.value.dialBackgroundPic==null||i.value.dialBackgroundPic==""||i.value.minuteHandPic==null||i.value.minuteHandPic==null||i.value.minuteHandPic==""){const O=s(B*6+I*.1);r.value.rotate(O),y(D,l.value/60,i.value.minuteHandColor),r.value.restore()}else{const O=s(B*6+I*.1);r.value.rotate(O),b(d.value,D,l.value/50,.5,.5)}},x=(B,I)=>{const D=u.value*.4;if(r.value.save(),i.value.dialBackgroundPic==null||i.value.dialBackgroundPic==null||i.value.dialBackgroundPic==""||i.value.hourHandPic==null||i.value.hourHandPic==null||i.value.hourHandPic==""){const O=s(B*30+I*.5);r.value.rotate(O),y(D,l.value/40,i.value.hourHandColor),r.value.restore()}else{const O=s(B*30+I*.5);r.value.rotate(O),b(t.value,D,l.value/25,.5,.5)}},S=()=>{r.value.beginPath(),r.value.arc(0,0,l.value/30,0,2*Math.PI),r.value.fillStyle=i.value.centerColor,r.value.fill(),r.value.beginPath(),r.value.arc(0,0,l.value/60,0,2*Math.PI),r.value.fillStyle="#ffffff",r.value.fill()},T=()=>{const B=new Date;if(o.analogOptions.timeOffset){const I=+o.analogOptions.timeOffset||0;o.analogOptions.timeOffsetUnit==="hour"?B.setHours(B.getHours()+I):o.analogOptions.timeOffsetUnit==="minute"?B.setMinutes(B.getMinutes()+I):o.analogOptions.timeOffsetUnit==="second"?B.setSeconds(B.getSeconds()+I):o.analogOptions.timeOffsetUnit==="millisecond"&&B.setMilliseconds(B.getMilliseconds()+I)}return B},E=()=>{if(!r.value)return;const B=T();f.value=B;const I=B.getHours(),D=B.getMinutes(),O=B.getSeconds();B.getMilliseconds(),r.value.setTransform(1,0,0,1,0,0),r.value.clearRect(0,0,l.value,l.value),r.value.translate(u.value,u.value),C(),x(c(I),D),k(D,O),i.value.isShowSecondHand&&V(O),S()},$=e.ref(null),P=()=>{E(),$.value=setTimeout(()=>{P()},1e3)},A=()=>{P()},M=()=>{$.value&&(clearTimeout($.value),$.value=null)};return e.onMounted(()=>{i.value.dialBackgroundPic&&h(i.value.dialBackgroundPic,"dialBackgroundPic"),i.value.hourHandPic&&h(i.value.hourHandPic,"hourHandPic"),i.value.minuteHandPic&&h(i.value.minuteHandPic,"minuteHandPic"),i.value.secondHandPic&&h(i.value.secondHandPic,"secondHandPic"),v(),A()}),e.onBeforeUnmount(()=>{M()}),(B,I)=>(e.openBlock(),e.createElementBlock("div",ml,[e.createElementVNode("canvas",{ref_key:"canvas",ref:a,width:o.analogOptions.width,height:o.analogOptions.height},null,8,vl)]))}}),hl={class:"clock-widget"},gl=Object.assign({name:"ClockWidget",inheritAttrs:!1},{__name:"index",props:e.mergeModels(["id","preview","selected","clockType","align","valign","fontSize","fontFamily","fontStyle","animationStyle","animationSpeed","timeType","txtFormat","timeOffset","timeOffsetUnit","rect","bgcolor","color","horColor","minColor","secColor","scaleColor","borderColor","borderWidth","bgPic","secPic","minPic","horPic","isShowSecondHand"],{item:{}}),emits:["update:item"],setup(n){const o=n,{elRef:l,width:a,height:r}=Ne(),u=e.computed(()=>!o.preview&&!o.selected&&!o.txtFormat?{backdropFilter:"blur(2px)"}:{}),f=Lt(o),i=Ot(o,a,r),v=mt(o,a,r),s=e.computed(()=>{const{rect:m,timeOffset:t,timeOffsetUnit:d,bgcolor:_,color:h,horColor:g,minColor:w,secColor:C,scaleColor:b,borderColor:y,borderWidth:V,bgPic:k,secPic:x,minPic:S,horPic:T,isShowSecondHand:E}=o;return{width:m.width,height:m.height,timeOffset:t,timeOffsetUnit:d,borderColor:y,borderWidth:V,dialColor:h,dialBackgroundColor:_,secondHandColor:C,minuteHandColor:w,hourHandColor:g,scaleColor:b,dialBackgroundPic:k,secondHandPic:x,minuteHandPic:S,hourHandPic:T,isShowSecondHand:E}}),c=e.computed(()=>{const{txtFormat:m,timeOffset:t,timeOffsetUnit:d}=o;return{txtFormat:m,timeOffset:t,timeOffsetUnit:d}}),p=e.useModel(n,"item");return e.watch([()=>o.clockType,()=>o.rect.width,()=>o.rect.height],([m,t,d],[_,h,g])=>{p.value&&m===1&&(t!==h&&d===g?(p.value.rect.width=t,p.value.rect.height=t):t===h&&d!==g?(p.value.rect.width=d,p.value.rect.height=d):t!==h&&d!==g?(p.value.rect.width=(t+d)/2,p.value.rect.height=(t+d)/2):t!==d&&(p.value.rect.width=Math.min(t,d),p.value.rect.height=Math.min(t,d)))}),(m,t)=>(e.openBlock(),e.createElementBlock("div",hl,[n.clockType===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"digital-clock-container",style:e.normalizeStyle({...e.unref(f),...e.unref(i),...u.value})},[e.createElementVNode("span",{ref_key:"textRef",ref:l,style:e.normalizeStyle(e.unref(v))},[e.createVNode(fl,{digitalOptions:c.value},null,8,["digitalOptions"])],4)],4)):n.clockType===1?(e.openBlock(),e.createBlock(yl,{key:1,analogOptions:s.value},null,8,["analogOptions"])):e.createCommentVNode("",!0)]))}}),bl=K(gl,[["__scopeId","data-v-c8e615f1"]]),_l={viewBox:"0 0 1024 1024"},kl=e.createElementVNode("path",{d:"M511.3 64c-247 0-448 201-448 448s201 448 448 448 448-201 448-448-200.9-448-448-448z m223.8 772.1c-8.9-6.2-20.9-7.2-30.9-1.4-10.3 5.9-15.5 17.2-14.2 28.3-45.5 23.3-96 37.9-149.6 41.9-4-11.1-14.5-19-27-19-12.6 0-23.1 8.1-27.1 19.3-49.2-3.1-95.9-15.2-138.5-34.7 3.3-12.3-1.7-25.8-13.3-32.4-12-6.9-26.8-4.2-35.7 5.6-42.2-27.1-78.9-62-108-102.7 11.1-8.7 14.5-24.4 7.3-37-7.5-13-23.6-17.8-37-11.6-23.2-44.8-38-94.7-42.4-147.4 15.6-0.3 28.2-13 28.2-28.7 0-15.9-12.9-28.8-28.8-28.8h-0.1c3.1-50.9 16-99.2 36.7-143.1 0.3 0.2 0.5 0.4 0.7 0.5 13.8 7.9 31.4 3.2 39.3-10.5 7.9-13.8 3.2-31.4-10.5-39.3-0.4-0.3-0.9-0.4-1.3-0.6 28.2-42.4 64.3-79.1 106.3-107.8 0.1 0.2 0.2 0.5 0.3 0.7 7.9 13.8 25.6 18.5 39.3 10.5 13.8-7.9 18.5-25.6 10.5-39.3-0.2-0.3-0.4-0.5-0.6-0.8 44.6-21.8 94-35.4 146.1-38.9 0.5 15.4 13.1 27.8 28.7 27.8 15.4 0 27.9-12.2 28.6-27.5 51.4 4 100 17.9 144 39.7-5.2 13.1-0.3 28.3 12.2 35.5 12.4 7.1 27.8 4 36.6-6.7 41.2 28.5 76.7 64.6 104.4 106.3-8.9 9-11.1 23-4.5 34.5 6.6 11.4 19.7 16.4 31.8 13.4 21.7 45.1 34.9 94.9 37.9 147.5-10.8 4.1-18.6 14.5-18.6 26.8 0 12 7.4 22.3 17.9 26.6-3.9 50.2-17.2 97.8-38.2 141-10.8-1-21.7 4.2-27.5 14.2-5.8 10.1-4.8 22.2 1.6 31.1-27.6 42.1-63.2 78.4-104.6 107z"},null,-1),wl=e.createElementVNode("path",{d:"M728.2 605.4l-189.9-109V251.3c0-14.9-12.1-27-27-27s-27 12.1-27 27V512c0 0.3 0.1 0.6 0.1 0.9 0 1 0.2 1.9 0.3 2.9 0.1 0.8 0.2 1.6 0.4 2.5 0.2 0.9 0.5 1.7 0.8 2.5 0.3 0.8 0.6 1.7 0.9 2.4 0.4 0.8 0.8 1.5 1.2 2.3 0.4 0.7 0.8 1.5 1.3 2.2 0.5 0.7 1.1 1.4 1.7 2 0.6 0.7 1.1 1.3 1.8 1.9 0.6 0.6 1.3 1.1 1.9 1.6 0.8 0.6 1.5 1.2 2.3 1.7 0.3 0.2 0.5 0.4 0.7 0.5l203.4 116.7c4.2 2.5 8.9 3.6 13.5 3.6 9.3 0 18.4-4.8 23.4-13.5 7.5-12.9 3.1-29.4-9.8-36.8z"},null,-1),Cl=[kl,wl],xl=Object.assign({name:"ClockIcon"},{__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",_l,Cl))}}),Ct=[{value:0,label:"文字显示"},{value:1,label:"模拟时钟"}],xt=[{value:0,label:"公历"},{value:1,label:"农历"}],Vt=[{value:"year",label:"年"},{value:"month",label:"月"},{value:"day",label:"日"},{value:"hour",label:"时"},{value:"minute",label:"分"},{value:"second",label:"秒"},{value:"millisecond",label:"毫秒"}],Vl=[{type:"radio-default",label:"时钟类型",key:"CP",bindKey:"clockType",valueType:"number",defaultValue:Ct[0].value,options:Ct},{type:"radio-default",label:"日期类型",key:"CK",bindKey:"timeType",valueType:"number",defaultValue:xt[0].value,options:xt,display:({props:n})=>n.clockType===0},{type:"format-date",label:"格式",key:"F",bindKey:"txtFormat",defaultValue:"YYYY-MM-DD HH:mm:ss",display:({props:n})=>n.clockType===0},R[0],R[1],{...R[2],display:({props:n})=>n.clockType===0},{...R[3],display:({props:n})=>n.clockType===0},{...R[4],display:({props:n})=>n.clockType===0},...ae,{...se[0],display:({props:n})=>n.clockType===0},{...se[1],display:({props:n})=>n.clockType===0},{type:"input-number",label:"时间偏移",key:"OF",bindKey:"timeOffset",valueType:"number",defaultValue:0,min:-9999,max:9999,display:!1},{type:"single-select",label:"偏移单位",key:"DW",bindKey:"timeOffsetUnit",valueType:"string",defaultValue:Vt[0].value,options:Vt,display:!1},{type:"media-list",label:"背景图片",key:"BCP",bindKey:"bgPic",files:"Image",display:({props:n})=>n.clockType===1},{type:"media-list",label:"时针图片",key:"HRP",bindKey:"horPic",files:"Image",display:({props:n})=>n.clockType===1&&!(n.bgPic==null||n.bgPic==null||n.bgPic=="")},{type:"media-list",label:"分针图片",key:"MIP",bindKey:"minPic",files:"Image",display:({props:n})=>n.clockType===1&&!(n.bgPic==null||n.bgPic==null||n.bgPic=="")},{type:"switch-default",label:"显示秒针",key:"SS",bindKey:"isShowSecondHand",valueType:"boolean",defaultValue:!0},{type:"media-list",label:"秒针图片",key:"SCP",bindKey:"secPic",files:"Image",display:({props:n})=>n.clockType===1&&!(n.bgPic==null||n.bgPic==null||n.bgPic=="")},{type:"color-picker",label:"时针颜色",key:"HRC",bindKey:"horColor",valueType:"color",defaultValue:"#2c3e50",display:({props:n})=>n.clockType===1},{type:"color-picker",label:"分针颜色",key:"MIC",bindKey:"minColor",valueType:"color",defaultValue:"#2c3e50",display:({props:n})=>n.clockType===1},{type:"color-picker",label:"秒针颜色",key:"SCC",bindKey:"secColor",valueType:"color",defaultValue:"#f1c40f",display:({props:n})=>n.clockType===1},{type:"color-picker",label:"刻度颜色",key:"SLC",bindKey:"scaleColor",valueType:"color",defaultValue:"#2c3e50",display:({props:n})=>n.clockType===1&&(n.bgPic==null||n.bgPic==null||n.bgPic=="")},{type:"color-picker",label:"边圈颜色",key:"BDRC",bindKey:"borderColor",valueType:"color",defaultValue:"#2c3e50",display:({props:n})=>n.clockType===1&&(n.bgPic==null||n.bgPic==null||n.bgPic=="")},{type:"input-number",label:"边圈宽度",key:"BDRW",bindKey:"borderWidth",valueType:"number",defaultValue:1,display:({props:n})=>n.clockType===1&&(n.bgPic==null||n.bgPic==null||n.bgPic=="")}];class to extends ne{constructor(){super({key:"CL",seq:1,title:"时钟",icon:xl,view:bl,properties:Vl})}valueFormat(o,l,a){const{valueType:r}=l;return r==="boolean"?o!=="0":super.valueFormat(o,l,a)}}const Sl=new to,El=Object.freeze(Object.defineProperty({__proto__:null,ClockWidget:to,default:Sl},Symbol.toStringTag,{value:"Module"}));var ke=(n=>(n[n.initial=0]="initial",n[n.fill=1]="fill",n[n.contain=2]="contain",n[n.cover=3]="cover",n[n.none=4]="none",n))(ke||{}),it=(n=>(n[n.no=1]="no",n[n.yes=2]="yes",n))(it||{});const Fe=e.defineComponent({name:"ExtraDefault",inheritAttrs:!1,__name:"extra",props:e.mergeModels({property:{}},{data:{}}),emits:["update:data"],setup(n){const o=R.slice(0,2).map(({bindKey:i})=>i),l=[...R.slice(2),...ae,...se].map(({bindKey:i})=>i),a=n,r=e.useModel(n,"data"),u=e.computed(()=>{var s,c;let i="列";const v=(s=a.property)==null?void 0:s.bindKey;return o.includes(v)&&(i=(c=r.value)!=null&&c.props.rowMode?"行":"列"),`应用于所有${i}`}),f=()=>{if(a.property&&r.value){const i=a.property.bindKey;if(o.includes(i)){const v=r.value.props[i];(r.value.props.rowMode?r.value.props.rowConfs:r.value.props.colConfs).forEach(p=>{p[i]=v})}if(l.includes(i)){const v=r.value.props[i];r.value.props.colConfs.forEach(s=>{s[i]=v})}}};return(i,v)=>{const s=e.resolveComponent("el-button"),c=e.resolveComponent("el-tooltip");return e.openBlock(),e.createBlock(c,{content:u.value,placement:"top"},{default:e.withCtx(()=>[e.createVNode(s,{icon:"Refresh",size:"small",circle:"",onClick:v[0]||(v[0]=p=>f())})]),_:1},8,["content"])}}}),Tl={},$l={class:"tip"};function Bl(n,o){return e.openBlock(),e.createElementBlock("span",$l," 行模式已开启 ")}const Nl=K(Tl,[["render",Bl],["__scopeId","data-v-eb404351"]]),lt=[{label:"是",value:it.yes},{label:"否",value:it.no}],St=[{label:"文本",value:0},{label:"图片",value:1}],Et=[{label:"填充-fill",value:ke.fill},{label:"包含-contain",value:ke.contain},{label:"覆盖-cover",value:ke.cover},{label:"无-none",value:ke.none}],ue="zh|C",oo=[{type:"input-number",label:"行数",key:"NR",bindKey:"row",min:1,valueType:"number",defaultValue:3},{type:"input-number",label:"列数",key:"NC",bindKey:"col",min:1,valueType:"number",defaultValue:3},{type:"multiple-number",label:"行高",key:"HR",bindKey:"rowHeight",min:0,valueType:"number[]",defaultValue:[20,20,20]},{type:"multiple-number",label:"列宽",key:"WC",bindKey:"colWidth",min:0,valueType:"number[]",defaultValue:[20,20,20]},{type:"color-picker",label:"表格填充色",key:"FC",bindKey:"fillColor",valueType:"color",defaultValue:"#00000000"},{...de[0]},{...de[1]},{type:"input-number",label:"定位行数",key:"DL",bindKey:"locateIndex",min:0,valueType:"number",defaultValue:0},{type:"input-number",label:"每页跨行数",key:"PL",bindKey:"stepIndex",min:0,valueType:"number",defaultValue:0},{type:"input-number",label:"滚动间隔",key:"DS",bindKey:"rollInterval",valueType:"number",defaultValue:0,tip:"负值向下滚动, 正值像上滚动, 0 不滚动",display:!1},{type:"single-select",label:"数据源",key:"SOURCE",bindKey:"source",defaultValue:"DS",options:"TableSource"},{type:"filter-setting",label:"筛选条件",key:"FILTER",bindKey:"filter",valueType:"string"},{type:"single-select",label:"奇数页语种",key:"ODDLANGUAGE",bindKey:"oddLanguage",defaultValue:ue,options:"Language"},{type:"single-select",label:"偶数页语种",key:"EVENLANGUAGE",bindKey:"evenLanguage",defaultValue:ue,options:"Language"},{type:"table-setting",label:"行属性设置",key:"ROW",bindKey:"rowConfs",valueType:"object[]",defaultValue:[],children:[{type:"single-select",label:"行语种",key:"LANGUAGE",bindKey:"language",defaultValue:ue,options:"Language"},...R.map((n,o)=>({...n,display:o<2})),{...ae[0],display:!1},{...ae[1],key:"CA",display:!1},...se.map(n=>({...n,display:!1}))]},{type:"table-setting",label:"列属性设置",key:"COL",bindKey:"colConfs",valueType:"object[]",defaultValue:[],children:[{type:"single-select",label:"列类型",key:"PT",bindKey:"colMode",valueType:"number",defaultValue:St[0].value,options:St},{type:"single-select",label:"绑定字段",key:"FIELD",bindKey:"field",options:"TABLE_SOURCE_FIELD"},{type:"input-number",label:"图片宽度",key:"PW",bindKey:"imageWidth",valueType:"number",min:-1,defaultValue:-1,tip:"-1 表示使用单元格宽度",display:n=>n.colMode===1},{type:"input-number",label:"图片高度",key:"PH",bindKey:"imageHeight",valueType:"number",min:-1,defaultValue:-1,tip:"-1 表示使用单元格高度",display:n=>n.colMode===1},{type:"single-select",label:"拉伸方式",key:"PF",bindKey:"objectFit",valueType:"number",defaultValue:Et[0].value,options:Et,display:n=>n.colMode===1},{type:"single-select",label:"列语种",key:"LANGUAGE",bindKey:"language",defaultValue:ue,options:"Language",display:n=>n.colMode!==1},{type:"input-text",label:"",key:"DV",bindKey:"domainVal",display:!1},{type:"radio-default",label:"",key:"WL",bindKey:"effectRow",valueType:"number",options:lt,display:!1},{type:"checkbox-default",label:"使用行背景",key:"RBC",bindKey:"useRowBG",valueType:"boolean",defaultValue:!1,display:!1},{...R[0]},...R.slice(1).map(n=>({...n,display:o=>o.colMode!==1})),{...ae[0]},{...ae[1],key:"CA"},...se.map(n=>({...n,display:o=>o.colMode!==1})),{type:"table-setting",label:"值域设置",key:"DOMAIN",bindKey:"colDomains",valueType:"object[]",defaultValue:[],children:[{type:"input-text",label:"值域内容",key:"DV",bindKey:"domainVal",defaultValue:"*"},{type:"radio-default",label:"整行影响",key:"WL",bindKey:"effectRow",valueType:"number",defaultValue:lt[1].value,options:lt},{type:"checkbox-default",label:"使用行背景",key:"RBC",bindKey:"useRowBG",valueType:"boolean",defaultValue:!1,display:(n,o)=>o.rowMode,extra:Nl},{...R[0],display:(n,o)=>!n.useRowBG||!o.rowMode},...R.slice(1),{...ae[0]},{...ae[1],key:"CA"},...se],display:n=>n.colMode!==1}]},...R.map(n=>({...n,extra:Fe})),{...ae[0],extra:Fe},{...ae[1],key:"CA",extra:Fe},...se.map(n=>({...n,extra:Fe}))],Ml=["onMousedown"],Il=["onMousedown"],Pl=e.defineComponent({name:"resizable-table",inheritAttrs:!1,__name:"index",props:{style:{},lineWidth:{default:()=>0},colWidth:{default:()=>[1]},rowHeight:{default:()=>[1]},resizable:{type:Boolean,default:()=>!0},dataSource:{default:()=>[]}},emits:["resize"],setup(n,{emit:o}){const l=n,a=o,r=e.computed(()=>{var p;const v=l.dataSource.length||1,s=((p=l.dataSource)==null?void 0:p[0].td.length)||1,c=l.lineWidth;return[(s-1)*c/s,(v-1)*c/v]});let u=[],f=[];const{mousedown:i}=Zt({moveFirst:()=>{const{rowHeight:v,colWidth:s}=l;u=[...s],f=[...v]},moveTravel:({deltaX:v,deltaY:s},{type:c,index:p}={})=>{a("resize",{type:c,index:p,size:c==="row"?f[p]+s:c==="col"?u[p]+v:0})}});return(v,s)=>(e.openBlock(),e.createElementBlock("div",{class:"resizable-table",style:e.normalizeStyle(v.style)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.dataSource,(c,p)=>(e.openBlock(),e.createElementBlock("div",{class:"tr",key:c.id},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.td,(m,t)=>(e.openBlock(),e.createElementBlock("div",{class:"td",key:m.id,style:e.normalizeStyle({width:e.unref(z)(v.colWidth[t]+r.value[0]),height:e.unref(z)(v.rowHeight[p]+r.value[1]),marginTop:e.unref(z)(-v.lineWidth),marginLeft:e.unref(z)(-v.lineWidth),...m.lineStyle})},[v.resizable&&p>0?(e.openBlock(),e.createElementBlock("span",{key:0,class:"resize-handle-row",style:e.normalizeStyle({height:e.unref(z)(v.lineWidth),marginTop:e.unref(z)(-v.lineWidth/2)}),onMousedown:d=>e.unref(i)(d,{type:"row",index:p-1})},null,44,Ml)):e.createCommentVNode("",!0),v.resizable&&t>0?(e.openBlock(),e.createElementBlock("span",{key:1,class:"resize-handle-col",style:e.normalizeStyle({width:e.unref(z)(v.lineWidth),marginLeft:e.unref(z)(-v.lineWidth/2)}),onMousedown:d=>e.unref(i)(d,{type:"col",index:t-1})},null,44,Il)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"text-image",style:e.normalizeStyle({...m.fontStyle,...m.alignStyle})},[typeof m.text=="string"?(e.openBlock(),e.createElementBlock("span",{key:0,style:e.normalizeStyle(m.animationStyle)},e.toDisplayString(m.text),5)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.text),{key:1,style:e.normalizeStyle(m.imageStyle)},null,8,["style"]))],4)],4))),128))]))),128))],4))}}),lo=K(Pl,[["__scopeId","data-v-5c70c8e3"]]),Al={class:"data-table-widget"},Dl=e.defineComponent({name:"DataTableWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({row:{},col:{},rowHeight:{},colWidth:{},fillColor:{},locateIndex:{},stepIndex:{},rollInterval:{},source:{},evenLanguage:{},oddLanguage:{},filter:{},rowMode:{type:Boolean},rowConfs:{},colConfs:{},lineWidth:{},lineColor:{},lineStyle:{},color:{},bgcolor:{},fontSize:{},fontFamily:{},fontStyle:{},align:{},valign:{},animationStyle:{},animationSpeed:{},rect:{},id:{},selected:{type:Boolean,default:()=>!1},preview:{type:Boolean,default:()=>!1},liveDatas:{},playIndex:{}},{item:{}}),emits:["update:item"],setup(n){const o=n,l=ye(),a=_=>{var h;return(h=(l.value[o.source??""]??[]).find(({value:g})=>g===_))==null?void 0:h.label},r=e.computed(()=>{const{fillColor:_}=o;return{backgroundColor:_}}),u=we(o),f=e.computed(()=>Number.parseInt(String(u.value.borderWidth),10)),i=(_,h)=>{for(let g=0;g<h.length;g++){const w=h[g],{domainVal:C}=w;if(_.match(new RegExp(`^${(C??"").replace(/(\*+)/g,".*")}$`)))return w}return null},v=(_,h,g,w)=>{const{id:C,rowMode:b,rowConfs:y,colConfs:V}=o,k=w||(b?y[_]:V[h]),x=w!=null&&w.useRowBG&&b?y[_].bgcolor:k.bgcolor,S=k.color;let{fontFamily:T,fontSize:E,fontStyle:$,align:P,valign:A,animationSpeed:M,animationStyle:B}=k;if(!w&&b&&({fontFamily:T,fontSize:E,fontStyle:$,align:P,valign:A,animationSpeed:M,animationStyle:B}=V[h]),!g)return{fontStyle:{backgroundColor:x}};const I=o.colWidth[h],D=o.rowHeight[_];if(typeof g=="string"){const O=me({color:S,bgcolor:x,fontFamily:T,fontSize:E,fontStyle:$}),{width:L,height:U}=Mo(g,O.fontSize,O.fontFamily),H=at({align:P,valign:A,width:I,height:D,textWidth:L,textHeight:U}),Y=Ht(`widget-${C}-${_}-${h}-roll`,{animationSpeed:M,animationStyle:B,align:P,valign:A,width:I,height:D,textWidth:L,textHeight:U});return{fontStyle:O,alignStyle:H,animationStyle:Y}}if(V[h].colMode===1){const{imageWidth:O,imageHeight:L,objectFit:U}=V[h],H=O===-1?I:O??0,Y=L===-1?D:L??0,j=at({align:P,valign:A,width:I,height:D,textWidth:H,textHeight:Y});return{imageStyle:{width:z(H),height:z(Y),objectFit:ke[U]},fontStyle:{backgroundColor:x},alignStyle:j}}},s=vt(),c=he(o),p=e.computed(()=>{const{colConfs:_}=o,h=c.value?c.value.data??[]:[];return new Array(o.row).fill(0).map((g,w)=>{let C=null;const b=h[w],y=_.map(({colDomains:V,colMode:k},x)=>{if(k!==1){const S=(b==null?void 0:b[x])??"",T=i(S,V);return T&&T.effectRow===2&&(C=T),T}return null});return{id:G(),td:new Array(o.col).fill(0).map((V,k)=>{let x="";if(!o.preview&&w===0)x=a(_[k].field);else if(o.preview&&(x=(b==null?void 0:b[k])??"",x&&_[k].colMode===1)){const S=x;x=e.defineAsyncComponent(()=>new Promise(T=>{try{typeof(s==null?void 0:s.value)!="function"?T(e.h("img",{title:"没有提供获取图片流的接口"})):s.value(S).then(E=>{const $=new Blob([E],{type:`image/${S.split(".").pop()}`}),P=URL.createObjectURL($),A=()=>URL.revokeObjectURL(P);T(e.h("img",{src:P,onError:A,onLoad:A}))}).catch(()=>{T(e.h("img",{title:"请求图片流出错"}))})}catch{T(e.h("img",{title:"请求图片流出错"}))}}))}return{id:G(),text:x,lineStyle:u.value,...v(w,k,x,y[k]||C)}})}})});e.watch([()=>o.rect.width,()=>o.rect.height],([_,h],[g,w])=>{if(t.value){const{props:C}=t.value;if(_!==g){const b=C.colWidth.length,y=C.colWidth.reduce((V,k)=>V+k,0);C.colWidth=y===0?C.colWidth.map(()=>_/b):C.colWidth.map(V=>V*_/y)}if(h!==w){const b=C.rowHeight.length,y=C.rowHeight.reduce((V,k)=>V+k,0);C.rowHeight=y===0?C.rowHeight.map(()=>h/b):C.rowHeight.map(V=>V*h/y)}}});const m=_=>{if(t.value){const{rect:h,props:g}=t.value,{type:w,index:C,size:b}=_,y=w==="row"?"rowHeight":"colWidth",V=[...g[y]],k=V.length;V[C]=b,g[y]=qe(C,V,w==="row"?h.height:h.width,(g.lineWidth??0)*k/(k-1))}},t=e.useModel(n,"item"),d=Me(t.value?`${t.value.type}-${t.value.id}`:"",({value:_,property:h})=>{var g;if(t.value){const{rect:w,props:C}=t.value,{bindKey:b}=h;if(b==="source"&&C.colConfs.forEach(y=>{y.field=void 0}),typeof _=="boolean"&&b==="rowConfs"&&(C.rowMode=_,_||C.colConfs.forEach(y=>{y.useRowBG=!1,y.colDomains.forEach(V=>{V.useRowBG=!1})})),typeof _=="number"&&(b==="row"||b==="col"||b==="rowConfs"||b==="colConfs")){const y=b==="row"||b==="rowConfs"?"row":"col",V=y==="row"?"rowHeight":"colWidth",k=y==="row"?"rowConfs":"colConfs",x=y==="row"?w.height:w.width,S=C[V].length;if(_-S>0){const T=b==="colConfs"||b==="rowConfs"?h.children:(g=oo.find(P=>P.bindKey===k))==null?void 0:g.children,E=new Array(_-S).fill(0).map(()=>{const P={id:G()};return T==null||T.forEach(A=>{P[A.bindKey]=q(C[A.bindKey]??A.defaultValue)}),P});y==="row"?C.rowConfs.push(...E):C.colConfs.push(...E);const $=x/_;C[V]=new Array(_).fill($),C[y]=_}else{if(S<=1)return;let T=0;b==="rowConfs"||b==="colConfs"?(T=S-1,C[k].splice(-_,1)):(T=_,C[k].splice(_));const E=x/T;C[V]=new Array(T).fill(E),C[y]=T}}if(typeof(_==null?void 0:_.index)=="number"&&(b==="rowHeight"||b==="colWidth")){const{value:y,index:V}=_,k=[...C[b]],x=k.length;k[V]=y,C[b]=qe(V,k,b==="rowHeight"?w.height:w.width,(C.lineWidth??0)*x/(x-1))}}});return e.onUnmounted(()=>{Oo(`widget-${o.id}-\\d-\\d-roll`),d()}),(_,h)=>(e.openBlock(),e.createElementBlock("div",Al,[e.createVNode(lo,{style:e.normalizeStyle(r.value),lineWidth:f.value,rowHeight:_.rowHeight,colWidth:_.colWidth,dataSource:p.value,resizable:!!t.value,onResize:m},null,8,["style","lineWidth","rowHeight","colWidth","dataSource","resizable"])]))}}),zl=K(Dl,[["__scopeId","data-v-06b452c4"]]),Ol={viewBox:"0 0 1024 1024"},Ll=e.createElementVNode("path",{d:"M960 64H64c-25.6 0-44.8 19.2-44.8 38.4v812.8c0 25.6 19.2 44.8 44.8 44.8h896c25.6 0 44.8-19.2 44.8-38.4V102.4c0-19.2-19.2-38.4-44.8-38.4zM108.8 288c0-6.4 6.4-12.8 12.8-12.8H448c6.4 0 12.8 6.4 12.8 12.8v108.8c0 6.4-6.4 12.8-12.8 12.8H128c-6.4 0-12.8-6.4-12.8-12.8V288z m806.4 281.6v281.6c0 6.4-6.4 12.8-12.8 12.8H128c-6.4 0-12.8-6.4-12.8-12.8V518.4c0-6.4 6.4-12.8 12.8-12.8h768c6.4 0 12.8 6.4 12.8 12.8v51.2z m0-172.8c0 6.4-6.4 12.8-12.8 12.8H569.6c-6.4 0-12.8-6.4-12.8-12.8V288c0-6.4 6.4-12.8 12.8-12.8H896c6.4 0 12.8 6.4 12.8 12.8v108.8z"},null,-1),Wl=e.createElementVNode("path",{d:"M230.4 614.4l-57.6 12.8v25.6l25.6-6.4v89.6h-25.6v19.2h89.6v-19.2h-32zM326.4 614.4c-19.2 0-32 6.4-38.4 19.2-6.4 12.8-12.8 32-12.8 57.6 0 44.8 19.2 70.4 51.2 70.4 19.2 0 32-6.4 38.4-19.2s12.8-32 12.8-57.6c0-44.8-12.8-70.4-51.2-70.4z m0 121.6c-12.8 0-19.2-19.2-19.2-51.2s6.4-51.2 19.2-51.2c12.8 0 19.2 19.2 19.2 51.2 0 38.4-6.4 51.2-19.2 51.2zM460.8 614.4l-57.6 12.8v25.6l25.6-6.4v89.6h-25.6v19.2h83.2v-19.2h-25.6zM556.8 614.4c-19.2 0-32 6.4-38.4 19.2-6.4 12.8-12.8 32-12.8 57.6 0 44.8 19.2 70.4 51.2 70.4 19.2 0 32-6.4 38.4-19.2s12.8-32 12.8-57.6c0-44.8-19.2-70.4-51.2-70.4z m0 121.6c-12.8 0-19.2-19.2-19.2-51.2s6.4-51.2 19.2-51.2c12.8 6.4 19.2 19.2 19.2 51.2 0 38.4-6.4 51.2-19.2 51.2zM691.2 614.4l-57.6 12.8v25.6l25.6-6.4v89.6h-25.6v19.2h83.2v-19.2h-25.6zM787.2 614.4c-19.2 0-32 6.4-38.4 19.2-6.4 12.8-12.8 32-12.8 57.6 0 44.8 19.2 70.4 51.2 70.4 19.2 0 32-6.4 38.4-19.2s12.8-32 12.8-57.6c0-44.8-19.2-70.4-51.2-70.4z m0 121.6c-12.8 0-19.2-19.2-19.2-51.2s6.4-51.2 19.2-51.2c12.8 0 19.2 19.2 19.2 51.2 0 38.4-6.4 51.2-19.2 51.2z"},null,-1),Fl=[Ll,Wl],Hl=e.defineComponent({name:"DataTableIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Ol,Fl))}}),Tt=[...R,...ae,...se].map(({bindKey:n})=>n);class no extends ne{constructor(){super({key:"DT",seq:6,title:"数据表格",icon:Hl,view:zl,properties:oo,rectangles:{width:{defaultValue:60},height:{defaultValue:60}}})}initDefault(o,l){var v,s;const a=super.initDefault(o,l),r=(v=this.properties.find(({bindKey:c})=>c==="rowConfs"))==null?void 0:v.children,u=new Array(a.props.row).fill(0).map(()=>{const c={id:G()};return r==null||r.forEach(p=>{c[p.bindKey]=q(p.defaultValue)}),c}),f=(s=this.properties.find(({bindKey:c})=>c==="colConfs"))==null?void 0:s.children,i=new Array(a.props.col).fill(0).map(()=>{const c={id:G()};return f==null||f.forEach(p=>{c[p.bindKey]=q(p.defaultValue)}),c});return{...a,props:{...a.props,rowConfs:u,colConfs:i}}}extraToData(o,l,a){var m,t,d;const r={};this.rectangles.forEach(({key:_,bindKey:h})=>{var g,w;r[h]=+(((g=o.querySelector(W(_,!0)))==null?void 0:g.textContent)??((w=l==null?void 0:l.querySelector(W(_,!0)))==null?void 0:w.textContent)??0)});const u=((m=a==null?void 0:a.querySelector(W("STYPE")))==null?void 0:m.textContent)??"",f=((t=a==null?void 0:a.querySelector(W("DATASET")))==null?void 0:t.textContent)??void 0,[i,v,s,c]=(((d=a==null?void 0:a.querySelector(W("DATALISTDETAIL")))==null?void 0:d.textContent)??"").split(";").map(_=>(_??"").split(",")),p={};return this.properties.forEach(_=>{var y,V,k,x,S;const{key:h,bindKey:g,defaultValue:w,children:C}=_;if(g==="filter"){p[g]=u;return}if(g==="source"){p[g]=f;return}if(g==="oddLanguage"||g==="evenLanguage"){p[g]=(c==null?void 0:c[g==="oddLanguage"?0:1])||q(w);return}if(Tt.includes(g)){p[g]=q(w);return}if(g==="colConfs"){const T=((V=(y=C==null?void 0:C.find($=>$.bindKey==="colDomains"))==null?void 0:y.children)==null?void 0:V.map($=>$.bindKey))??[],E=o.querySelectorAll(W(h,!0));p[g]=Array.from(E).map(($,P)=>{var B;const A={id:G()},M=+(((B=$.querySelector(W("SE")))==null?void 0:B.textContent)??1);return C==null||C.forEach(I=>{var D,O;if(I.bindKey==="field")A[I.bindKey]=(i==null?void 0:i[P])||void 0;else if(I.bindKey==="language")A[I.bindKey]=(v==null?void 0:v[P])||q(I.defaultValue);else if(I.bindKey==="colDomains")A.colDomains=[],M===2&&((D=I.children)==null||D.map(L=>{var H;(((H=$.querySelector(W(L.key,!0)))==null?void 0:H.textContent)??"").split(",").map((Y,j)=>{const F=super.valueFormat(Y,L,o);A.colDomains[j]||(A.colDomains[j]={id:G()}),A.colDomains[j][L.bindKey]=F})}));else if(M===2&&T.includes(I.bindKey))A[I.bindKey]=q(I.defaultValue);else{const L=(O=$.querySelector(W(I.key,!0)))==null?void 0:O.textContent;A[I.bindKey]=(I.bindKey==="imageWidth"||I.bindKey==="imageHeight")&&!L?-1:super.valueFormat(L,I,o)}}),A});return}if(g==="rowConfs"){const T=o.querySelectorAll(W(h,!0)),E=T.length>0;if(E)p[g]=Array.from(T).map(($,P)=>{const A={id:G()};return C==null||C.forEach(M=>{var B;if(M.bindKey==="language")A[M.bindKey]=(s==null?void 0:s[P])||q(M.defaultValue);else{const I=(B=$.querySelector(W(M.key,!0)))==null?void 0:B.textContent;A[M.bindKey]=super.valueFormat(I,M,$)}}),A});else{const $=+(((k=o.querySelector(W("NR")))==null?void 0:k.textContent)??1);p[g]=new Array($).fill(0).map(()=>{const P={id:G()};return C==null||C.forEach(A=>{P[A.bindKey]=q(A.defaultValue)}),P})}p.rowMode=E;return}const b=((x=o.querySelector(W(h)))==null?void 0:x.textContent)??((S=l==null?void 0:l.querySelector(W(h)))==null?void 0:S.textContent);p[g]=super.valueFormat(b,_,o)}),{rect:r,props:p}}propsToXML(o,l,a){return this.properties.map(r=>{var c,p;const{key:u,bindKey:f,children:i}=r;if(f==="filter")return[];if(f==="source")return[];if(f==="oddLanguage"||f==="evenLanguage")return[];if(Tt.includes(f))return[];if(f==="colConfs"){const m=((p=(c=i==null?void 0:i.find(t=>t.bindKey==="colDomains"))==null?void 0:c.children)==null?void 0:p.map(t=>t.bindKey))??[];return o[f].map((t,d)=>{var g;const _=l.createElement(u.toUpperCase());N("LN",d+1,_,l);const h=((g=t.colDomains)==null?void 0:g.length)>0&&t.colMode!==1?2:1;return N("SE",h,_,l),i==null||i.forEach(w=>{var C;if(w.bindKey!=="field"){if(w.bindKey!=="language"){if(w.bindKey==="colDomains"&&h===2){const b=[];if(t.colDomains.forEach(({domainVal:y},V)=>{y||b.push(V+1)}),b.length>0)throw new Error(`${a.name}: 第${d+1}列,第${b.join(",")}个配置的值域内容不能为空`);if(!t.colDomains.some(({domainVal:y})=>y==="*"))throw new Error(`${a.name}: 第${d+1}列,所配置的值域列表里,至少需要有一个值域内容为 * 号`);(C=w.children)==null||C.map(y=>{const V=t.colDomains.map(k=>super.textFormat(k[y.bindKey],y,o)).join(",");N(y.key.toUpperCase(),V,_,l)})}else if(!(h===2&&m.includes(w.bindKey))){if(w.bindKey!=="colDomains"){const b=t[w.bindKey],y=(w.bindKey==="imageWidth"||w.bindKey==="imageHeight")&&b===-1?"":super.textFormat(b,w,o);N(w.key.toUpperCase(),y,_,l)}}}}}),_})}if(f==="rowConfs")return o.rowMode?o[f].map((m,t)=>{const d=l.createElement(u.toUpperCase());return N("LN",t+1,d,l),i==null||i.forEach(_=>{if(_.bindKey!=="language"){const h=super.textFormat(m[_.bindKey],_,o);N(_.key.toUpperCase(),h,d,l)}}),d}):[];const v=l.createElement(u.toUpperCase()),s=super.textFormat(o[f],r,o);return v.appendChild(l.createTextNode(s)),v}).reduce((r,u)=>r.concat(u),[])}extraToXML(o,l,a,r,u){const f=a.createElement("ST");N("ID",-1,f,a),N("TP",3,f,a),this.rectToXML(o,a,r).forEach(y=>{f.appendChild(y)});const i=a.createElement("Table");N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("NR",l.row,i,a);let v="",s="";const c=[],p=[],m=[],t=[];this.properties.forEach(y=>{const{key:V,bindKey:k}=y;if(k==="row"||k==="col"||k==="rowHeight"||k==="colWidth"||k==="fillColor"||k==="lineWidth"||k==="lineColor"){const x=super.textFormat(l[k],y,l);N(V.toUpperCase(),x,f,a)}else if(k==="filter")v=l[k]??"";else if(k==="source")if(l[k])s=l[k];else throw new Error(`${r.name}: 未配置数据源`);else k==="oddLanguage"?t[0]=l[k]??ue:k==="evenLanguage"?t[1]=l[k]??ue:k==="colConfs"?l[k].forEach((x,S)=>{if(!x.field)throw new Error(`${r.name}: 第 ${S+1} 列未配置字段`);c.push(x.field),p.push(x.colMode!==1?x.language??ue:"")}):k==="rowConfs"&&l.rowMode&&l[k].forEach(x=>{m.push(x.language??ue)})});let d=!1,_=0,h="",g=!1,w=[];if(l.rowMode)if(new Set(m).size===1)d=!0;else{if(new Set(c).size!==c.length)throw new Error(`${r.name}: 行语言配置生效时,所有的列配置的【绑定字段】,不能存在重复`);const y=m.filter((k,x)=>x%2===0),V=m.filter((k,x)=>x%2===1);if(new Set(y).size!==1||new Set(V).size!==1)throw new Error(`${r.name}: 行语言配置生效时,所有的行语言只能为两种语言,且需按照 ABAB... 间隔模式配置`);w=m.slice(0,2),_=1,h="R"}else if(new Set(p.filter(y=>!!y)).size===1)d=!0;else{if(new Set(c.map((y,V)=>`${y}-${p[V]}`)).size!==c.length)throw new Error(`${r.name}: 列语言配置生效时,所有的文本列配置的【绑定字段 + 语言】,图片列配置的【绑定字段】,不能存在重复`);w=p,_=0,h="C",g=!0}if(d){if(new Set(c).size!==c.length)throw new Error(`${r.name}: 奇偶语言配置生效时,所有的列配置的【绑定字段】,不能存在重复`);new Set(t).size===1?(w=[t[0]],_=0,h="C"):(w=t,_=l.row,h="R")}const C=[];w.forEach((y,V)=>{(g?[c[V]]:c).forEach(x=>{C.push(y&&Po(x)?x.replace(/^C/,y.replace(/.+\|/,"")):x)})});const b=[c.join(","),p.join(","),m.join(","),t.join(",")];return N("STYPE",v,i,a),N("CTYPE",h,i,a),N("MTYPE",_,i,a),N("LTYPE",[...new Set(w)].filter(y=>!!y).join(","),i,a),N("DATASET",s,i,a),N("DATALIST",C.join(","),i,a),N("DATALISTDETAIL",b.join(";"),i,a),[i,f]}parseLiveData(o,l,a){var m,t,d;const r=+(((m=l.querySelector(W("NR")))==null?void 0:m.textContent)??1),u=+(((t=l.querySelector(W("DL")))==null?void 0:t.textContent)??0),f=+(((d=l.querySelector(W("PL")))==null?void 0:d.textContent)??0),i=r+f;let v=0,s=[],c=0;Array.from(o.querySelectorAll(W("ROW"))).forEach((_,h)=>{if(h<u){h===u-1&&(c+=1);return}const g=(h-u)%i;if(g>=r){g===r&&(c+=1);return}g===0&&(s.push({data:[],duration:a}),v+=a);const w=[];_.getAttributeNames().forEach((C,b)=>{const y=_.getAttribute(C)??"";w[b]=y}),s[s.length-1].data.push(w)});const p=c-s.length;return p>0&&(s=s.concat(new Array(p).fill({data:[],duration:a})),v+=a*p),{data:s,duration:v}}}const Rl=new no,Kl=Object.freeze(Object.defineProperty({__proto__:null,DataTableWidget:no,default:Rl},Symbol.toStringTag,{value:"Module"})),ao=[{type:"single-select",label:"数据源",key:"FN",bindKey:"source",options:"Image",clearable:!0},{type:"media-list",label:"默认路径",key:"URL",bindKey:"url",files:"Image"}],Ul=["title"],Yl=e.defineComponent({name:"source-label",inheritAttrs:!1,__name:"index",props:{properties:{},source:{}},setup(n){const o=n,l=ye(),a=e.computed(()=>{var u,f;const r=(u=o.properties.find(({bindKey:i})=>i==="source"))==null?void 0:u.options;return(f=(l.value[r]??[]).find(({value:i})=>i===o.source))==null?void 0:f.label});return(r,u)=>a.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"source-label",title:a.value},e.toDisplayString(a.value),9,Ul)):e.createCommentVNode("",!0)}}),Ze=K(Yl,[["__scopeId","data-v-f4e0b6c9"]]),jl="__FILE_CACHE__";function $t(n){return`${jl}_${n}`}function ro(){return new Promise((n,o)=>{if(!("indexedDB"in window)){o(new Error("IndexedDB not supported"));return}const l=indexedDB.open("file-cache-db",1);l.onupgradeneeded=()=>{const a=l.result;a.objectStoreNames.contains("files")||a.createObjectStore("files")},l.onsuccess=()=>n(l.result),l.onerror=()=>o(l.error)})}function ql(n,o){return ro().then(l=>new Promise((a,r)=>{const i=l.transaction("files","readwrite").objectStore("files").put(o,n);i.onsuccess=()=>{a(),l.close()},i.onerror=()=>{r(i.error),l.close()}}))}function Xl(n){return ro().then(o=>new Promise((l,a)=>{const f=o.transaction("files","readonly").objectStore("files").get(n);f.onsuccess=()=>{l(f.result),o.close()},f.onerror=()=>{a(f.error),o.close()}}))}class Bt{static async set(o,l){try{await ql($t(o),l)}catch{}}static async get(o){try{return await Xl($t(o))}catch{}}}const Gl={key:0},Zl={key:1},Jl=["src"],Ql=["src"],en=e.defineComponent({name:"file-preview",inheritAttrs:!1,__name:"index",props:{style:{},type:{},file:{},preview:{type:Boolean}},setup(n){const o=n,l={Image:"图片",Video:"视频",PPT:"PPT",WORD:"Word"},a=e.ref(!1),r=e.shallowRef(),u=e.shallowRef(),f=e.computed(()=>typeof u.value=="string"&&!u.value.startsWith("blob:")),i=()=>{typeof u.value=="string"&&URL.revokeObjectURL(u.value)},v=()=>{var _;if(a.value=!1,o.type!=="Video"&&i(),o.type==="WORD"||o.type==="PPT"){const h=(_=m.value)==null?void 0:_.querySelector(o.type==="WORD"?".vue-office-docx-main":".vue-office-pptx-main");p.value=h==null?void 0:h.clientWidth}},s=()=>{i(),u.value=`加载${l[o.type]}失败`,a.value=!1},c=vt();e.watch([()=>o.file,()=>o.type],([_,h])=>{if(!_){r.value=!0,u.value=`请选择${l[h]}`;return}if(!Object.keys(l).includes(h)){u.value=`不支持的${l[h]}格式`;return}if(typeof(c==null?void 0:c.value)!="function"){u.value=`未提供获取${l[h]}流的接口`;return}try{a.value=!0,Bt.get(_).then(g=>g?g.arrayBuffer().then(w=>[g,w]):c.value(_).then(w=>{const C=new Blob([w],{type:`${h.toLocaleLowerCase()}/${_.split(".").pop()}`});return C.size>0&&Bt.set(_,C),[C,w]})).then(([g,w])=>{h==="Image"||h==="Video"?u.value=URL.createObjectURL(g):u.value=w}).catch(()=>{a.value=!1,u.value=`请求${l[h]}流出错`})}catch{a.value=!1,u.value=`请求${l[h]}流出错`}},{immediate:!0});const p=e.ref(),{elRef:m,width:t}=Ne(),d=e.computed(()=>p.value?(t.value-Io())/p.value:o.type==="WORD"?854:960);return(_,h)=>{const g=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:m,class:"flex",style:e.normalizeStyle({..._.style,"--scale":d.value})},[r.value&&_.preview?(e.openBlock(),e.createElementBlock("span",Gl)):f.value?(e.openBlock(),e.createElementBlock("span",Zl,e.toDisplayString(u.value),1)):_.type==="WORD"?(e.openBlock(),e.createBlock(e.unref($o),{key:2,src:u.value,onRendered:v,onError:s},null,8,["src"])):_.type==="PPT"?(e.openBlock(),e.createBlock(e.unref(Bo),{key:3,src:u.value,onRendered:v,onError:s},null,8,["src"])):typeof u.value=="string"&&_.type==="Image"?(e.openBlock(),e.createElementBlock("img",{key:4,src:u.value,draggable:"false",onError:s,onLoad:v},null,40,Jl)):typeof u.value=="string"&&_.type==="Video"?(e.openBlock(),e.createElementBlock("video",{key:5,src:u.value,draggable:"false",autoplay:"",muted:"",onError:s,onLoadeddata:v,onEnded:i},null,40,Ql)):e.createCommentVNode("",!0)],4)),[[g,a.value]])}}}),Ce=K(en,[["__scopeId","data-v-6dc73490"]]),tn={class:"image-widget"},on=e.defineComponent({name:"ImageWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(n){const o=n,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),a=he(o),r=e.computed(()=>a.value?a.value.name??"":o.url);return(u,f)=>(e.openBlock(),e.createElementBlock("div",tn,[u.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(ao),source:u.source},null,8,["properties","source"])),e.createVNode(Ce,{style:e.normalizeStyle(e.unref(l)),preview:u.preview,type:"Image",file:r.value},null,8,["style","preview","file"])]))}}),ln=K(on,[["__scopeId","data-v-2f32312a"]]);class so extends ne{constructor(){super({key:"PT",seq:7,title:"图片",icon:"Picture",view:ln,properties:ao})}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}return[]}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Name")??"",i=u.getAttribute("Url")??"",v=+(u.getAttribute("Duration")??0);r.push({name:f,url:i,duration:v})}),{data:r,duration:a}}}const nn=new so,an=Object.freeze(Object.defineProperty({__proto__:null,ImageWidget:so,default:nn},Symbol.toStringTag,{value:"Module"})),rn={class:"line-widget-inner"},sn=e.defineComponent({name:"LineWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({x0:{},y0:{},x1:{},y1:{},lineWidth:{},lineColor:{},lineStyle:{},rect:{},selected:{type:Boolean},preview:{type:Boolean}},{item:{}}),emits:["update:item"],setup(n){const o=n,l=e.computed(()=>{const{x0:i,y0:v,x1:s,y1:c,rect:p}=o,m=Dt([i,v],[s,c]),t=pt([i,v],[s,c]);return{width:z(m),transform:`translate(${z(i-p.x)},${z(v-p.y)}) rotate(${t}deg)`}}),a=we(o),r=ve(),u=e.useModel(n,"item"),f=Me(u.value?`${u.value.type}-${u.value.id}`:"",({value:i,property:v})=>{const{bindKey:s}=v;if((s==="x0"||s==="y0"||s==="x1"||s==="y1")&&typeof i=="number"&&u.value){const{x:c,y:p,width:m,height:t}=r.value;let{x0:d,y0:_,x1:h,y1:g}=o;s==="x0"?d=Z(i,c,c+m):s==="y0"?_=Z(i,p,p+t):s==="x1"?h=Z(i,c,c+m):s==="y1"&&(g=Z(i,p,p+t)),u.value.rect={x:Z(Math.min(d,h),c,c+m),y:Z(Math.min(_,g),p,p+t),width:Z(Math.abs(d-h),0,m),height:Z(Math.abs(_-g),0,t)}}});return e.onUnmounted(()=>{f()}),(i,v)=>(e.openBlock(),e.createElementBlock("div",{class:"line-widget",style:e.normalizeStyle(l.value)},[e.createElementVNode("div",rn,[e.createElementVNode("div",{class:"line",style:e.normalizeStyle(e.unref(a))},null,4)])],4))}}),cn=K(sn,[["__scopeId","data-v-c724f697"]]),un={viewBox:"0 0 1024 1024"},dn=e.createElementVNode("path",{d:"M191.488 864.768c-8.192 0-16.384-3.072-22.528-9.216-12.288-12.288-12.288-32.768 0-45.056L809.472 168.96c12.288-12.288 32.768-12.288 45.056 0s12.288 32.768 0 45.056L214.016 855.04c-6.144 6.144-14.336 9.728-22.528 9.728z"},null,-1),pn=[dn],fn=e.defineComponent({name:"LineIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",un,pn))}}),mn=[{type:"input-number",label:"X0坐标",key:"X0",bindKey:"x0",valueType:"number",defaultValue:0},{type:"input-number",label:"Y0坐标",key:"Y0",bindKey:"y0",valueType:"number",defaultValue:0},{type:"input-number",label:"X1坐标",key:"X1",bindKey:"x1",valueType:"number",defaultValue:60},{type:"input-number",label:"Y1坐标",key:"Y1",bindKey:"y1",valueType:"number",defaultValue:60},...de];class io extends ne{constructor(){super({key:"LN",seq:2,title:"直线",icon:fn,view:cn,properties:mn,rectangles:{x:{display:!1},y:{display:!1},width:{display:!1},height:{display:!1}}})}initDefault(o,l){const a={};return this.properties.forEach(({bindKey:r,defaultValue:u})=>{r==="lineStyle"||r==="lineColor"?a[r]=q(u):r==="x0"?a[r]=o??q(u):r==="y0"?a[r]=l??q(u):r==="x1"?a[r]=(o??0)+q(u):r==="y1"?a[r]=(l??0)+q(u):a[r]=q(u)}),{rect:{x:Math.min(a.x0,a.x1),y:Math.min(a.y0,a.y1),width:Math.abs(a.x0-a.x1),height:Math.abs(a.y0-a.y1)},props:a}}xmlToRect(o){const l={x0:0,y0:0,x1:0,y1:0};return this.properties.forEach(({key:a,bindKey:r})=>{var u;if(r==="x0"||r==="y0"||r==="x1"||r==="y1"){const f=+(((u=o.querySelector(W(a)))==null?void 0:u.textContent)??0);l[r]=f}}),{x:Math.min(l.x0,l.x1),y:Math.min(l.y0,l.y1),width:Math.abs(l.x0-l.x1),height:Math.abs(l.y0-l.y1)}}rectToXML(o,l){const a=[];return this.rectangles.forEach(({key:r,bindKey:u})=>{if(u==="width"||u==="height"){const f=l.createElement(r.toUpperCase());f.appendChild(l.createTextNode(ie(o[u]).toString())),a.push(f)}}),a}}const vn=new io,yn=Object.freeze(Object.defineProperty({__proto__:null,LineWidget:io,default:vn},Symbol.toStringTag,{value:"Module"})),co=[{type:"single-select",label:"数据源",key:"PDS",bindKey:"source",options:"PPT"},{type:"office-list",label:"默认路径",key:"URL",bindKey:"url",files:"PPT"}],hn={class:"ppt-widget"},gn=e.defineComponent({name:"PPTWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(n){const o=n,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),a=he(o),r=e.computed(()=>a.value?a.value.name??"":o.url);return(u,f)=>(e.openBlock(),e.createElementBlock("div",hn,[u.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(co),source:u.source},null,8,["properties","source"])),e.createVNode(Ce,{style:e.normalizeStyle(e.unref(l)),preview:u.preview,type:"PPT",file:r.value},null,8,["style","preview","file"])]))}}),bn=K(gn,[["__scopeId","data-v-187900d9"]]),_n={viewBox:"0 0 1024 1024"},kn=e.createElementVNode("path",{d:"M357.47 394.33h-57.82v96.29h56.28c34.13 0 58.25-13.13 58.25-47.96-0.01-35.18-25.45-48.33-56.71-48.33z"},null,-1),wn=e.createElementVNode("path",{d:"M920.64 216.07a32.37 32.37 0 0 0-35.94-36.41c-99.41-1.93-198.92 0-298.53-0.87v-76.2H530.5c-142.67 26.01-285.43 50.86-428.1 76.39V845.6c141.99 25.43 283.98 49.7 425.98 75.81h57.8v-74.85h279.36c15.89-0.96 33.43 0 47.01-9.63 10.89-17.24 8.09-38.53 9.05-57.8-0.96-187.37 0.68-375.4-0.96-563.06zM365.21 549.32h-65.57v127.36h-73.8V335.63h141.09c72.47 0 121.66 40.78 121.66 105.61 0 74.09-56.1 108.08-123.38 108.08z m528.07 267.66H586.17v-76.2h241.98v-38.53H586.17v-47.2h241.98v-38.54H586.17v-47.2h241.98v-38.53H586.17v-48.16h241.98v-37.09H586.17v-48.16h241.98V359.8H586.17v-47.68h241.98v-38.05H586.17V207.4h307.11v609.58z"},null,-1),Cn=[kn,wn],xn=e.defineComponent({name:"PPTIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",_n,Cn))}});class uo extends ne{constructor(){super({key:"OFP",seq:12,title:"PPT",icon:xn,view:bn,properties:co,rectangles:{width:{defaultValue:80}}})}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Name")??"",i=u.getAttribute("Url")??"",v=u.getAttribute("SortNo")??"",s=+(u.getAttribute("Duration")??0);r.push({name:f,url:i,sortNo:v,duration:s})}),{data:r,duration:a}}}const Vn=new uo,Sn=Object.freeze(Object.defineProperty({__proto__:null,PPTWidget:uo,default:Vn},Symbol.toStringTag,{value:"Module"})),En=e.defineComponent({name:"RectangleWidget",inheritAttrs:!1,__name:"index",props:{lineWidth:{},lineColor:{},lineStyle:{},selected:{type:Boolean},preview:{type:Boolean}},setup(n){const l=we(n);return(a,r)=>(e.openBlock(),e.createElementBlock("div",{class:"rectangle-widget",style:e.normalizeStyle(e.unref(l))},null,4))}}),Tn=K(En,[["__scopeId","data-v-41a4fad0"]]),$n={viewBox:"0 0 1024 1024"},Bn=e.createElementVNode("path",{d:"M102.4 102.4h768v768H102.4V102.4z m51.2 51.2v665.6h665.6V153.6H153.6z"},null,-1),Nn=[Bn],Mn=e.defineComponent({name:"RectangleIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",$n,Nn))}}),In=[...de];class po extends ne{constructor(){super({key:"RT",seq:9,title:"矩形",icon:Mn,view:Tn,properties:In})}}const Pn=new po,An=Object.freeze(Object.defineProperty({__proto__:null,RectangleWidget:po,default:Pn},Symbol.toStringTag,{value:"Module"})),ct=[{type:"input-textarea",label:"文本",rows:2,key:"CONTENT",bindKey:"text",defaultValue:"<span>富文本</span>"},{type:"input-number",label:"文本",key:"T",bindKey:"textType",valueType:"number",defaultValue:2,display:!1},{type:"switch-default",label:"自动换行",key:"AW",bindKey:"autoWrap",valueType:"boolean",defaultValue:!0},{type:"color-picker",label:"背景色",key:"BC",bindKey:"bgcolor",valueType:"color",defaultValue:"#00000000"},{...se[0],options:[...rt,{label:"自动上滚",value:Ft["auto-up"]}]},{...se[1]},{type:"single-select",label:"数据源",key:"DS",bindKey:"source",options:"RichText"}],Dn=["innerHTML"],zn=e.defineComponent({name:"RichTextWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({autoWrap:{type:Boolean},textType:{},text:{},bgcolor:{},source:{},animationStyle:{},animationSpeed:{},id:{},rect:{},liveDatas:{},playIndex:{},selected:{type:Boolean},preview:{type:Boolean}},{item:{}}),emits:["update:item"],setup(n){var _;const o=n,l=ye(),a=()=>{var g,w;const h=(g=ct.find(({bindKey:C})=>C==="source"))==null?void 0:g.options;return(w=(l.value[h]??[]).find(({value:C})=>C===o.source))==null?void 0:w.label},{elRef:r,width:u,height:f}=Ne(),i=e.computed(()=>({...me({color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),backgroundColor:o.bgcolor,"--white-space":o.autoWrap?"pre-wrap":"pre",backdropFilter:!o.preview&&!o.selected&&!o.text?"blur(2px)":""})),v=mt(o,u,f),s=he(o),c=e.computed(()=>s.value?s.value.text??"":!o.preview&&o.source?a():o.text),p=ve(),m=e.useModel(n,"item"),t=(_=ct.find(h=>h.bindKey==="source"))==null?void 0:_.options,d=()=>{const{source:h,rect:g}=o;if(h){const w={...g},{x:C,y:b,width:y,height:V}=p.value,k=l.value[t].find(x=>x.value===h);if(typeof(k==null?void 0:k.width)=="number"){const x=C+y-(g.x+k.width);w.x=x<0?Math.max(0,g.x+x):g.x,w.width=x<0?Math.min(k.width,y):k.width}if(typeof(k==null?void 0:k.height)=="number"){const x=b+V-(g.y+k.height);w.y=x<0?Math.max(0,g.y+x):g.y,w.height=x<0?Math.min(k.height,V):k.height}return w}return g};return e.watch([()=>o.source,()=>o.rect.width,()=>o.rect.height],()=>{m.value&&(m.value.rect=d())}),(h,g)=>(e.openBlock(),e.createElementBlock("div",{class:"rich-text-widget",style:e.normalizeStyle(i.value)},[e.createElementVNode("div",{ref_key:"textRef",ref:r,style:e.normalizeStyle(e.unref(v)),innerHTML:c.value},null,12,Dn)],4))}}),On=K(zn,[["__scopeId","data-v-abb83169"]]),Ln={viewBox:"0 0 1024 1024"},Wn=e.createElementVNode("path",{d:"M934.4 851.2c14.08 0 25.6 11.52 25.6 25.6v25.6a25.6 25.6 0 0 1-25.6 25.6H89.6a25.6 25.6 0 0 1-25.6-25.6v-25.6c0-14.08 11.52-25.6 25.6-25.6h844.8zM562.56 96a25.6 25.6 0 0 1 25.088 20.48l0.512 5.12v35.968a25.6 25.6 0 0 1-20.48 25.088l-5.12 0.512H374.912v541.056a25.6 25.6 0 0 1-20.48 25.088l-5.12 0.512h-45.568a25.6 25.6 0 0 1-25.088-20.48l-0.512-5.12V183.168H89.6a25.6 25.6 0 0 1-25.088-20.416L64 157.632V121.6a25.6 25.6 0 0 1 20.48-25.088L89.6 96h472.96z m371.84 512c14.08 0 25.6 11.52 25.6 25.6v25.6a25.6 25.6 0 0 1-25.6 25.6h-204.8a25.6 25.6 0 0 1-25.6-25.6v-25.6c0-14.08 11.52-25.6 25.6-25.6h204.8z m0-256c14.08 0 25.6 11.52 25.6 25.6v25.6a25.6 25.6 0 0 1-25.6 25.6h-204.8a25.6 25.6 0 0 1-25.6-25.6v-25.6c0-14.08 11.52-25.6 25.6-25.6h204.8z m0-256c14.08 0 25.6 11.52 25.6 25.6v25.6a25.6 25.6 0 0 1-25.6 25.6h-204.8a25.6 25.6 0 0 1-25.6-25.6v-25.6c0-14.08 11.52-25.6 25.6-25.6h204.8z"},null,-1),Fn=[Wn],Hn=e.defineComponent({name:"RichTextIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Ln,Fn))}});class fo extends ne{constructor(){super({key:"SN",seq:5,title:"富文本",icon:Hn,view:On,properties:ct})}valueFormat(o,l,a){const{valueType:r}=l;return r==="boolean"?o!=="0":super.valueFormat(o,l,a)}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("AUTOWARPFLAG",l.autoWrap?1:0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Text")??"",i=+(u.getAttribute("Duration")??0);r.push({text:f,duration:i})}),{data:r,duration:a}}}const Rn=new fo,Kn=Object.freeze(Object.defineProperty({__proto__:null,RichTextWidget:fo,default:Rn},Symbol.toStringTag,{value:"Module"})),Un={class:"table-widget"},Yn=e.defineComponent({name:"TableWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({row:{},col:{},rowHeight:{},colWidth:{},fillColor:{},lineWidth:{},lineColor:{},lineStyle:{},rect:{},selected:{type:Boolean},preview:{type:Boolean}},{item:{}}),emits:["update:item"],setup(n){const o=n,l=we(o),a=e.computed(()=>Number.parseInt(String(l.value.borderWidth),10)),r=e.computed(()=>{const{fillColor:s}=o;return{backgroundColor:s}}),u=e.computed(()=>new Array(o.row).fill(0).map(()=>({id:G(),td:new Array(o.col).fill(0).map(()=>({id:G(),text:"",lineStyle:{...l.value}}))}))),f=e.useModel(n,"item");e.watch([()=>o.rect.width,()=>o.rect.height],([s,c],[p,m])=>{if(f.value){const{props:t}=f.value;if(s!==p){const d=t.colWidth.length,_=t.colWidth.reduce((h,g)=>h+g,0);t.colWidth=_===0?t.colWidth.map(()=>s/d):t.colWidth.map(h=>h*s/_)}if(c!==m){const d=t.rowHeight.length,_=t.rowHeight.reduce((h,g)=>h+g,0);t.rowHeight=_===0?t.rowHeight.map(()=>c/d):t.rowHeight.map(h=>h*c/_)}}});const i=s=>{if(f.value){const{rect:c,props:p}=f.value,{type:m,index:t,size:d}=s,_=m==="row"?"rowHeight":"colWidth",h=[...p[_]],g=h.length;h[t]=d,p[_]=qe(t,h,m==="row"?c.height:c.width,(p.lineWidth??0)*g/(g-1))}},v=Me(f.value?`${f.value.type}-${f.value.id}`:"",({value:s,property:c})=>{if(f.value){const{rect:p,props:m}=f.value,{bindKey:t}=c;if(typeof s=="number"&&(t==="row"||t==="col")){if(s<=0)return;const d=t==="row"?p.height:p.width,_=t==="row"?"rowHeight":"colWidth",h=d/s;m[_]=new Array(s).fill(h),m[t]=s}if(typeof s.index=="number"&&(t==="rowHeight"||t==="colWidth")){const{value:d,index:_}=s,h=[...m[t]],g=h.length;h[_]=d,m[t]=qe(_,h,t==="rowHeight"?p.height:p.width,(m.lineWidth??0)*g/(g-1))}}});return e.onUnmounted(()=>{v()}),(s,c)=>(e.openBlock(),e.createElementBlock("div",Un,[e.createVNode(lo,{style:e.normalizeStyle(r.value),lineWidth:a.value,rowHeight:s.rowHeight,colWidth:s.colWidth,dataSource:u.value,resizable:!!f.value,onResize:i},null,8,["style","lineWidth","rowHeight","colWidth","dataSource","resizable"])]))}}),jn=K(Yn,[["__scopeId","data-v-b7b5d60e"]]),qn={viewBox:"0 0 1024 1024"},Xn=e.createElementVNode("path",{d:"M66.56 67.072h74.24v890.88H66.56zM883.2 67.072H957.44v890.88h-74.24zM364.544 286.72h74.24v671.232H364.544zM585.728 286.72h74.24v671.232h-74.24zM957.2864 883.61984v74.24h-890.88v-74.24zM957.17888 66.3552v74.24h-890.88v-74.24zM957.17888 286.5152v74.24h-890.88v-74.24zM957.2352 585.06752v74.24h-890.88v-74.24z"},null,-1),Gn=[Xn],Zn=e.defineComponent({name:"TableIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",qn,Gn))}}),Jn=[{type:"input-number",label:"行数",key:"NR",bindKey:"row",min:1,max:50,valueType:"number",defaultValue:3},{type:"input-number",label:"列数",key:"NC",bindKey:"col",min:1,max:50,valueType:"number",defaultValue:3},{type:"multiple-number",label:"行高",key:"HR",bindKey:"rowHeight",min:0,valueType:"number[]",defaultValue:[20,20,20]},{type:"multiple-number",label:"列宽",key:"WC",bindKey:"colWidth",min:0,valueType:"number[]",defaultValue:[20,20,20]},{type:"color-picker",label:"填充色",key:"FC",bindKey:"fillColor",valueType:"color",defaultValue:"#00000000"},{...de[0]},{...de[1]}];class mo extends ne{constructor(){super({key:"ST",seq:3,title:"表格",icon:Zn,view:jn,properties:Jn,rectangles:{width:{defaultValue:60},height:{defaultValue:60}}})}}const Qn=new mo,ea=Object.freeze(Object.defineProperty({__proto__:null,TableWidget:mo,default:Qn},Symbol.toStringTag,{value:"Module"})),vo=[{type:"input-textarea",label:"文本",rows:1,key:"T",bindKey:"text",defaultValue:"文本文字"},...R,...ae,...se,{type:"single-select",label:"数据源",key:"TDS",bindKey:"source",options:"DynamicText",clearable:!0}],ta=e.defineComponent({name:"TextWidget",inheritAttrs:!1,__name:"index",props:{text:{},source:{},animationStyle:{},animationSpeed:{},color:{},bgcolor:{},fontSize:{},fontFamily:{},fontStyle:{},align:{},valign:{},rect:{},id:{},liveDatas:{},playIndex:{},selected:{type:Boolean},preview:{type:Boolean}},setup(n){const o=n,l=ye(),a=()=>{var d,_;const t=(d=vo.find(({bindKey:h})=>h==="source"))==null?void 0:d.options;return(_=(l.value[t]??[]).find(({value:h})=>h===o.source))==null?void 0:_.label},{elRef:r,width:u,height:f}=Ne(),i=e.computed(()=>!o.preview&&!o.selected&&!o.text?{backdropFilter:"blur(2px)"}:{}),v=Lt(o),s=Ot(o,u,f),c=mt(o,u,f),p=he(o),m=e.computed(()=>p.value?p.value.text??"":!o.preview&&o.source?a():o.text);return(t,d)=>(e.openBlock(),e.createElementBlock("div",{class:"text-widget",style:e.normalizeStyle({...e.unref(v),...e.unref(s),...i.value})},[e.createElementVNode("span",{ref_key:"textRef",ref:r,style:e.normalizeStyle(e.unref(c))},e.toDisplayString(m.value),5)],4))}}),oa=K(ta,[["__scopeId","data-v-6a5503a9"]]),la={viewBox:"0 0 1024 1024"},na=e.createElementVNode("path",{d:"M554.666667 256v640h-85.333334V256H213.333333V170.666667h597.333334v85.333333h-256z"},null,-1),aa=[na],ra=e.defineComponent({name:"TextIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",la,aa))}});class yo extends ne{constructor(){super({key:"SW",seq:4,title:"文本",icon:ra,view:oa,properties:vo})}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}return[]}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Text")??"",i=+(u.getAttribute("Duration")??0);r.push({text:f,duration:i})}),{data:r,duration:a}}}const sa=new yo,ia=Object.freeze(Object.defineProperty({__proto__:null,TextWidget:yo,default:sa},Symbol.toStringTag,{value:"Module"})),ho=[{type:"single-select",label:"数据源",key:"FN",bindKey:"source",options:"Video"},{type:"media-list",label:"默认路径",key:"URL",bindKey:"url",files:"Video"}],ca={class:"video-widget"},ua=e.defineComponent({name:"VideoWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(n){const o=n,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),a=he(o),r=e.computed(()=>a.value?a.value.name??"":o.url);return(u,f)=>(e.openBlock(),e.createElementBlock("div",ca,[u.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(ho),source:u.source},null,8,["properties","source"])),e.createVNode(Ce,{style:e.normalizeStyle(e.unref(l)),preview:u.preview,type:"Video",file:r.value},null,8,["style","preview","file"])]))}}),da=K(ua,[["__scopeId","data-v-6cc7fa30"]]);class go extends ne{constructor(){super({key:"VD",seq:8,title:"视频",icon:"VideoPlay",view:da,properties:ho})}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Name")??"",i=u.getAttribute("Url")??"",v=u.getAttribute("SortNo")??"",s=+(u.getAttribute("BeginTime")??0),c=+(u.getAttribute("Duration")??0);r.push({name:f,url:i,sortNo:v,beginTime:s,duration:c})}),{data:r,duration:a}}}const pa=new go,fa=Object.freeze(Object.defineProperty({__proto__:null,VideoWidget:go,default:pa},Symbol.toStringTag,{value:"Module"})),bo=[{type:"single-select",label:"数据源",key:"WDS",bindKey:"source",options:"WORD"},{type:"office-list",label:"默认路径",key:"URL",bindKey:"url",files:"WORD"}],ma={class:"word-widget"},va=e.defineComponent({name:"WORDWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(n){const o=n,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),a=he(o),r=e.computed(()=>a.value?a.value.name??"":o.url);return(u,f)=>(e.openBlock(),e.createElementBlock("div",ma,[u.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(bo),source:u.source},null,8,["properties","source"])),e.createVNode(Ce,{style:e.normalizeStyle(e.unref(l)),preview:u.preview,type:"WORD",file:r.value},null,8,["style","preview","file"])]))}}),ya=K(va,[["__scopeId","data-v-f433cbf4"]]),ha={viewBox:"0 0 1024 1024"},ga=e.createElementVNode("path",{d:"M959 195.2c2.1-23.2-16.1-41.2-39.3-38.9-108.8-1.7-217.6 0-326.5-0.6V74.3h-60.9c-156 27.8-312.2 54.4-468.2 81.6 0 237.4-0.1 474.9 0 712.3 155.2 27.2 310.6 53.1 465.5 81.4h63.6v-81.4c101.9 0 203.7-0.2 305.6 0.3 17.3-0.8 36.5 0.5 51.4-10.1 11.9-18.2 8.9-41 9.9-61.6-1.5-200.4 0.6-401-1.1-601.6zM403.6 650.3c-17 8.9-42.4-0.4-62.6 1-13.5-67.4-29.3-134.4-41.4-202-11.9 65.8-27.4 130.9-41 196.3-19.5-1-39.2-2.2-58.8-3.6-16.9-89.6-36.7-178.5-52.5-268.3 17.4-0.8 34.9-1.5 52.3-2.1 10.5 64.8 22.4 129.4 31.6 194.3 14.4-66.6 29-133.1 43.3-199.7 19.3-1.1 38.7-1.9 58-3 13.5 68.7 27.4 137.3 42 205.7 11.5-70.6 24.2-141.1 36.5-211.6 20.4-0.7 40.7-1.8 61-3.1-23.1 98.7-43.2 198.1-68.4 296.1z m525.5 187.4H593.2v-81.4h264.7v-40.7H593.2v-50.9h264.7V624H593.2v-50.9h264.7v-40.7H593.2v-50.9h264.7v-40.7H593.2v-50.9h264.7v-40.7H593.2v-50.9h264.7v-40.7H593.2v-71.3h335.9v651.4z"},null,-1),ba=[ga],_a=e.defineComponent({name:"WORDIcon",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",ha,ba))}});class _o extends ne{constructor(){super({key:"OFW",seq:13,title:"WORD",icon:_a,view:ya,properties:bo,rectangles:{width:{defaultValue:90}}})}extraToXML(o,l,a,r,u){const f=this.properties.find(i=>i.bindKey==="source");if(l.source&&f){const i=a.createElement("Table");return N("ID",G(),i,a),N("PISTYPE",u.screenTypeID,i,a),N("TEMPLETID",-1,i,a),N("EDITIONID",-1,i,a),N("ELEMENTID",r.id,i,a),N("ELEMENTTYPE",this.key,i,a),N("STYPE",0,i,a),N("LTYPE","",i,a),N("CTYPE","",i,a),N("MTYPE",0,i,a),N("DATASET",f.options,i,a),N("DATALIST",l.source,i,a),N("DATALISTDETAIL",l.source,i,a),[i]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,a){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(u=>{const f=u.getAttribute("Name")??"",i=u.getAttribute("Url")??"",v=u.getAttribute("SortNo")??"",s=+(u.getAttribute("Duration")??0);r.push({name:f,url:i,sortNo:v,duration:s})}),{data:r,duration:a}}}const ka=new _o,wa=Object.freeze(Object.defineProperty({__proto__:null,WORDWidget:_o,default:ka},Symbol.toStringTag,{value:"Module"})),ce=(()=>{const n=Object.assign({"/src/widgets/arrowLine/index.ts":ll,"/src/widgets/circle/index.ts":pl,"/src/widgets/clock/index.js":El,"/src/widgets/dataTable/index.ts":Kl,"/src/widgets/image/index.ts":an,"/src/widgets/line/index.ts":yn,"/src/widgets/ppt/index.ts":Sn,"/src/widgets/rectangle/index.ts":An,"/src/widgets/richText/index.ts":Kn,"/src/widgets/table/index.ts":ea,"/src/widgets/text/index.ts":ia,"/src/widgets/video/index.ts":fa,"/src/widgets/word/index.ts":wa}),o=new Map;return Object.keys(n).forEach(l=>{var r;const a=(r=l.match(/widgets\/(.+)\/index\.(t|j)s/))==null?void 0:r[1];a&&o.set(a,n[l].default)}),o})(),Je=new DOMParser,ko={};for(const[n,o]of ce.entries())ko[o.key.toUpperCase()]={type:n,widget:o};const ut=(n,o,l)=>{const a=[],r=Array.from((n==null?void 0:n.children)??[]),u=Array.from((o==null?void 0:o.children)??[]);return r.forEach(f=>{var c,p;const{type:i,widget:v}=ko[f.tagName.toUpperCase()]??{},s=((c=f.querySelector(W("ID")))==null?void 0:c.textContent)??"";if(v&&s!=="-1"){const m=l?s:G(),t=`${v.title}-${m.substring(0,8)}`;let d,_;if(v.extraToData){const h=f.nextElementSibling,g=u.find(w=>{var b;return((b=w.querySelector(W("ELEMENTID")))==null?void 0:b.textContent)===s});({rect:d,props:_}=v.extraToData(f,h,g))}else d=v.xmlToRect(f),_=v.xmlToProps(f);if(a.push({id:m,type:i,name:t,rect:d,props:_}),v.parseLiveData){const{key:h=""}=v.properties.find(({bindKey:g})=>g==="source")??{};(v.key==="DT"||(p=f.querySelector(W(h,!0)))!=null&&p.textContent)&&(l==null||l(m,f,v.parseLiveData))}}}),a},Ca=n=>{var l,a,r,u,f,i;const o=Je.parseFromString(n,"text/xml").documentElement;if(o.tagName==="Screens"){const v=o.querySelector(W("Screen > Equipment")),s=+((v==null?void 0:v.getAttribute("ledWidth"))??0),c=+((v==null?void 0:v.getAttribute("ledHeight"))??0),p=o.querySelector(W("Screen > FormatData > LY")),m=(((l=p==null?void 0:p.querySelector(W("TM")))==null?void 0:l.textContent)??"").split(",").map(y=>+y),t=(((a=p==null?void 0:p.querySelector(W("CM")))==null?void 0:a.textContent)??"").split(","),d=+(((r=p==null?void 0:p.querySelector(W("FN")))==null?void 0:r.textContent)??0),_=(p==null?void 0:p.querySelectorAll(W("FR")))??[],h=Array.from(((u=o.querySelector(W("Screen > Data > NEWDATASET > LY")))==null?void 0:u.querySelectorAll(W("EM")))??[]).map(y=>{const V=y.querySelector(W("DC"));return{id:V==null?void 0:V.getAttribute("ID"),el:V}}),g=[...m],w=new Array(d).fill(1),C={},b=Array.from(_).map((y,V)=>ut(y,null,(k,x,S)=>{if(typeof S=="function"){const T=h.find(E=>E.id===k);if(T&&T.el){const{duration:E,data:$}=S(T.el,x,m[V]);C[k]=$,g[V]=Math.max(E,g[V]),w[V]=Math.max($.length,w[V]??0)}else C[k]=[]}}));if(d!==b.length||d!==g.length)throw new Error("XML上设置的帧的数量与实际 FR 的数量或帧时间的数量不一致");return{width:s,height:c,styles:t,frames:b,durations:g,pages:w,datas:C}}else if(o.tagName==="Frame"){const v=+(((f=o.querySelector(W("Width")))==null?void 0:f.textContent)??0),s=+(((i=o.querySelector(W("Height")))==null?void 0:i.textContent)??0),c=o.querySelector(W("Xml > FR")),p=o.querySelector(W("Data > NewDataSet")),m=c?[ut(c,p)]:[];return{width:v,height:s,styles:[],frames:m,durations:[],pages:[],datas:{}}}return null},wo=n=>{var a,r,u,f,i;const o=Je.parseFromString(n,"text/xml").documentElement,l={frameName:"",screenTypeID:"",duration:60,width:0,height:0,x:0,y:0};if(o.tagName==="Frame"){l.frameName=((a=o.querySelector(W("Name")))==null?void 0:a.textContent)??"",l.width=+(((r=o.querySelector(W("Width")))==null?void 0:r.textContent)??0),l.height=+(((u=o.querySelector(W("Height")))==null?void 0:u.textContent)??0),l.screenTypeID=((f=o.querySelector(W("ScreeTypeID")))==null?void 0:f.textContent)??"";const v=o.querySelector(W("Xml > FR"));l.duration=+(((i=v==null?void 0:v.querySelector(W("Duriation")))==null?void 0:i.textContent)??60)}return l},dt=n=>{const o=Je.parseFromString(n,"text/xml").documentElement,l=[];if(o.tagName==="Frame"){const a=o.querySelector(W("Xml > FR")),r=o.querySelector(W("Data > NewDataSet"));a&&l.push(...ut(a,r))}return l},$e=(n,o)=>{const{frameName:l,screenTypeID:a,duration:r,width:u,height:f}=o,i=Je.parseFromString("<Frame />","text/xml"),v=i.documentElement;N("Name",l,v,i),N("Width",u,v,i),N("Height",f,v,i),N("ScreeTypeID",a,v,i);const s=i.createElement("FR");N("Xml",s,v,i);const c=i.createElement("NewDataSet");return N("Data",c,v,i),N("Duriation",r,s,i),n.forEach(({id:p,type:m,rect:t,props:d},_)=>{var g;const h=ce.get(m);if(h){const w=i.createElement(h.key.toUpperCase());N("ID",p,w,i),N("TP",h.seq,w,i),h.rectToXML(t,i,n[_]).forEach(b=>{w.appendChild(b)}),h.propsToXML(d,i,n[_]).forEach(b=>{w.appendChild(b)}),s.appendChild(w);const C=(g=h.extraToXML)==null?void 0:g.call(h,t,d,i,n[_],o);C!=null&&C[0]&&c.appendChild(C[0]),C!=null&&C[1]&&s.appendChild(C[1])}}),new XMLSerializer().serializeToString(i)},Co=(n,o)=>n.map(l=>{const a={...l.rect},r=Math.max(0,a.x),u=Math.max(0,a.y),f=Math.max(0,a.width),i=Math.max(0,a.height),{x:v,y:s,width:c,height:p}=o,m=v+c-(r+f);a.x=m<0?Math.max(0,r+m):r,a.width=m<0?Math.min(f,c):f;const t=s+p-(u+i);a.y=t<0?Math.max(0,u+t):u,a.height=t<0?Math.min(i,p):i;const d={...l.props},{x0:_,y0:h,x1:g,y1:w}=d;return typeof _=="number"&&typeof h=="number"&&typeof g=="number"&&typeof w=="number"&&(d.x0=_<g?a.x:a.x+a.width,d.x1=_>g?a.x:a.x+a.width,d.y0=h<w?a.y:a.y+a.height,d.y1=h>w?a.y:a.y+a.height),{...l,rect:a,props:d}}),xa=n=>(e.pushScopeId("data-v-85483ddd"),n=n(),e.popScopeId(),n),Va={class:"frame-widget",ref:"sortEl"},Sa={class:"widget-group"},Ea=xa(()=>e.createElementVNode("h4",{class:"widget-title"},"基础组件",-1)),Ta={class:"widget-list"},$a=["onDragstart","onDblclick"],Ba={class:"widget-name"},Na=e.defineComponent({name:"frame-widget",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(n){const o=e.useModel(n,"data"),l=e.shallowRef([]),{dblclick:a,dragstart:r}=Jt(o);return e.onMounted(()=>{const u=[];for(const[f,i]of ce.entries())u.push([f,i]);l.value=u.sort((f,i)=>f[1].seq-i[1].seq)}),(u,f)=>{const i=e.resolveComponent("el-icon");return e.openBlock(),e.createElementBlock("div",Va,[e.createElementVNode("div",Sa,[Ea,e.createElementVNode("div",Ta,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,([v,s])=>(e.openBlock(),e.createElementBlock("div",{class:"widget-item",key:v,draggable:"true",onDragstart:c=>e.unref(r)(c,v),onDblclick:c=>e.unref(a)(c,v)},[e.createVNode(i,{class:"widget-icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.icon)))]),_:2},1024),e.createElementVNode("span",Ba,e.toDisplayString(s.title),1)],40,$a))),128))])])],512)}}}),Ma=K(Na,[["__scopeId","data-v-85483ddd"]]),Ia={viewBox:"0 0 1024 1024"},Pa=e.createElementVNode("path",{d:"M167.36 192h376.192a38.4 38.4 0 1 1 0 76.8H167.36a38.4 38.4 0 1 1 0-76.8z m0 281.6h376.192a38.4 38.4 0 1 1 0 76.8H167.36a38.4 38.4 0 1 1 0-76.8z m0 281.6h376.192a38.4 38.4 0 0 1 0 76.8H167.36a38.4 38.4 0 0 1 0-76.8z m644.032-618.368l106.24 106.304a32 32 0 1 1-45.248 45.248l-51.712-51.648v547.456l51.712-51.648a32 32 0 0 1 40.832-3.648l4.48 3.648a32 32 0 0 1 0 45.312l-106.304 106.24a32 32 0 0 1-45.312 0l-106.24-106.24a32 32 0 1 1 45.248-45.312l51.584 51.648V236.736l-51.584 51.648a32 32 0 0 1-40.832 3.712l-4.48-3.712a32 32 0 0 1 0-45.248l106.304-106.24a32 32 0 0 1 45.312 0z"},null,-1),Aa=[Pa],xo=e.defineComponent({name:"DragSort",__name:"icon",setup(n){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Ia,Aa))}}),Da={class:"frame-structure"},za={class:"item-drag"},Oa={class:"item-content"},La=["onClick","title"],Wa=e.defineComponent({name:"frame-structure",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(n){const o=e.useModel(n,"data"),l=e.computed(()=>o.value.slice().reverse()),a=e.shallowRef();e.watch(()=>a.value,c=>{c&&new Pt(c,{animation:200,handle:".item-drag",onUpdate:p=>{const m=o.value.length,t=m-p.oldIndex-1,d=m-p.newIndex-1;o.value.splice(d,0,o.value.splice(t,1)[0])}})},{immediate:!0});const r=(c,p)=>{if(!(c.ctrlKey||c.metaKey))o.value.forEach(t=>{t.selected=!1,t.id===p&&(t.selected=!0)});else{const t=o.value.find(d=>d.id===p);t&&(t.selected=!t.selected)}},{handleCopy:u,handleLock:f,handleUnlock:i,handleDelete:v}=Ie(o),s=(c,p)=>{const m=o.value.findIndex(t=>t.id===p);if(m!==-1){const t=o.value[m];c==="copy"?u([t]):c==="lock"?f([t]):c==="unlock"?i([t]):c==="delete"&&v([t])}};return(c,p)=>{const m=e.resolveComponent("el-icon"),t=e.resolveComponent("MoreFilled"),d=e.resolveComponent("el-dropdown-item"),_=e.resolveComponent("el-dropdown-menu"),h=e.resolveComponent("el-dropdown");return e.openBlock(),e.createElementBlock("div",Da,[e.createElementVNode("div",{class:"structure-list",ref_key:"sortEl",ref:a},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,g=>(e.openBlock(),e.createElementBlock("div",{key:g.id,class:e.normalizeClass(["list-item",g.selected?"selected":""])},[e.createElementVNode("span",za,[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(xo)]),_:1})]),e.createElementVNode("div",Oa,[e.createElementVNode("span",{class:"item-name",onClick:w=>r(w,g.id),title:g.name},e.toDisplayString(g.name),9,La),e.createVNode(h,{onCommand:w=>s(w,g.id),trigger:"click"},{dropdown:e.withCtx(()=>[e.createVNode(_,null,{default:e.withCtx(()=>[e.createVNode(d,{command:"copy"},{default:e.withCtx(()=>[e.createTextVNode("复制")]),_:1}),g.locked?(e.openBlock(),e.createBlock(d,{key:1,command:"unlock"},{default:e.withCtx(()=>[e.createTextVNode("解锁")]),_:1})):(e.openBlock(),e.createBlock(d,{key:0,command:"lock"},{default:e.withCtx(()=>[e.createTextVNode("锁定")]),_:1})),e.createVNode(d,{command:"delete"},{default:e.withCtx(()=>[e.createTextVNode("删除")]),_:1})]),_:2},1024)]),default:e.withCtx(()=>[e.createVNode(m,{class:"item-icon"},{default:e.withCtx(()=>[e.createVNode(t)]),_:1})]),_:2},1032,["onCommand"])])],2))),128))],512)])}}}),Fa=K(Wa,[["__scopeId","data-v-b4aee5d3"]]),Ha=n=>(e.pushScopeId("data-v-d94b2344"),n=n(),e.popScopeId(),n),Ra={class:"frame-toolbar"},Ka={class:"tool-left"},Ua={class:"tool-right"},Ya=Ha(()=>e.createElementVNode("svg",{viewBox:"0 0 1027 1024"},[e.createElementVNode("path",{d:"M1024 512l-241.365333 241.365333-60.330667-60.330666L903.338667 512l-181.034667-181.034667 60.330667-60.330666L1024 512zM120.661333 512l181.034667 181.034667-60.330667 60.330666L0 512l241.365333-241.365333L301.653333 330.965333 120.661333 512z m296.96 384H326.826667l279.552-768h90.794666L417.621333 896z"})],-1)),ja=e.defineComponent({name:"frame-toolbar",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:e.mergeModels(["save","remove","preview","code"],["update:data"]),setup(n){const o=e.useModel(n,"data"),l=e.computed(()=>{const t=o.value.filter(({selected:g})=>!!g),d=t.length,h=t.filter(({locked:g})=>!g).length;return{copy:d>=1,align:d>=2,avgAlign:d>=3,lock:h>=1,unLock:h<d}}),{handleImport:a,handleExport:r,handleCopy:u,handleLock:f,handleUnlock:i,handleClear:v,handleAlign:s}=Ie(o),[c,p]=Ge(),m=t=>{p(Math.max(t?c.value+t:1,.1))};return(t,d)=>{const _=e.resolveComponent("el-button"),h=e.resolveComponent("ArrowDown"),g=e.resolveComponent("el-icon"),w=e.resolveComponent("el-dropdown-item"),C=e.resolveComponent("el-dropdown-menu"),b=e.resolveComponent("el-dropdown"),y=e.resolveComponent("el-text"),V=e.resolveComponent("el-scrollbar");return e.openBlock(),e.createBlock(V,{class:"frame-toolbar-scroll"},{default:e.withCtx(()=>[e.createElementVNode("div",Ra,[e.createElementVNode("div",Ka,[e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[0]||(d[0]=k=>e.unref(a)())},{default:e.withCtx(()=>[e.createTextVNode("导入")]),_:1}),e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[1]||(d[1]=k=>e.unref(r)())},{default:e.withCtx(()=>[e.createTextVNode("导出")]),_:1}),e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[2]||(d[2]=k=>t.$emit("save"))},{default:e.withCtx(()=>[e.createTextVNode(" 帧入库 ")]),_:1}),e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[3]||(d[3]=k=>t.$emit("remove"))},{default:e.withCtx(()=>[e.createTextVNode(" 帧删除 ")]),_:1}),e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[4]||(d[4]=k=>t.$emit("preview"))},{default:e.withCtx(()=>[e.createTextVNode(" 帧预览 ")]),_:1}),l.value.copy?(e.openBlock(),e.createBlock(_,{key:0,type:"primary",size:"small",plain:"",onClick:d[5]||(d[5]=k=>e.unref(u)())},{default:e.withCtx(()=>[e.createTextVNode(" 复制 ")]),_:1})):e.createCommentVNode("",!0),l.value.lock?(e.openBlock(),e.createBlock(_,{key:1,type:"primary",size:"small",plain:"",onClick:d[6]||(d[6]=k=>e.unref(f)())},{default:e.withCtx(()=>[e.createTextVNode(" 锁定 ")]),_:1})):e.createCommentVNode("",!0),l.value.unLock?(e.openBlock(),e.createBlock(_,{key:2,type:"primary",size:"small",plain:"",onClick:d[7]||(d[7]=k=>e.unref(i)())},{default:e.withCtx(()=>[e.createTextVNode(" 解锁 ")]),_:1})):e.createCommentVNode("",!0),e.createVNode(_,{type:"primary",size:"small",plain:"",onClick:d[8]||(d[8]=k=>e.unref(v)())},{default:e.withCtx(()=>[e.createTextVNode(" 清空 ")]),_:1}),l.value.align||l.value.avgAlign?(e.openBlock(),e.createBlock(b,{key:3,onCommand:e.unref(s),trigger:"click"},{dropdown:e.withCtx(()=>[e.createVNode(C,null,{default:e.withCtx(()=>[e.createVNode(w,{command:"upAlign"},{default:e.withCtx(()=>[e.createTextVNode("上对齐")]),_:1}),e.createVNode(w,{command:"downAlign"},{default:e.withCtx(()=>[e.createTextVNode("下对齐")]),_:1}),e.createVNode(w,{command:"leftAlign"},{default:e.withCtx(()=>[e.createTextVNode("左对齐")]),_:1}),e.createVNode(w,{command:"rightAlign"},{default:e.withCtx(()=>[e.createTextVNode("右对齐")]),_:1}),e.createVNode(w,{command:"hCenterAlign"},{default:e.withCtx(()=>[e.createTextVNode("水平中心对齐")]),_:1}),e.createVNode(w,{command:"vCenterAlign"},{default:e.withCtx(()=>[e.createTextVNode("垂直中心对齐")]),_:1}),l.value.avgAlign?(e.openBlock(),e.createBlock(w,{key:0,command:"hAvgAlign"},{default:e.withCtx(()=>[e.createTextVNode(" 水平平均对齐 ")]),_:1})):e.createCommentVNode("",!0),l.value.avgAlign?(e.openBlock(),e.createBlock(w,{key:1,command:"vAvgAlign"},{default:e.withCtx(()=>[e.createTextVNode(" 垂直平均对齐 ")]),_:1})):e.createCommentVNode("",!0)]),_:1})]),default:e.withCtx(()=>[e.createVNode(_,{type:"primary",size:"small",plain:""},{default:e.withCtx(()=>[e.createTextVNode(" 对齐方式 "),e.createVNode(g,{class:"el-icon--right"},{default:e.withCtx(()=>[e.createVNode(h)]),_:1})]),_:1})]),_:1},8,["onCommand"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ua,[e.createVNode(y,null,{default:e.withCtx(()=>[e.createTextVNode("显示比例:")]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(ie)(e.unref(c)*100))+"%",1)]),_:1}),e.createVNode(_,{class:"zoom",icon:"ZoomIn",size:"small",circle:"",onClick:d[9]||(d[9]=k=>m(.1))}),e.createVNode(_,{class:"zoom",icon:"ZoomOut",size:"small",circle:"",onClick:d[10]||(d[10]=k=>m(-.1))}),e.createVNode(_,{class:"zoom",icon:"RefreshLeft",size:"small",circle:"",onClick:d[11]||(d[11]=k=>m())}),e.createVNode(_,{size:"small",circle:"",onClick:d[12]||(d[12]=k=>t.$emit("code"))},{icon:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[Ya]),_:1})]),_:1})])])]),_:1})}}}),qa=K(ja,[["__scopeId","data-v-d94b2344"]]),Te=n=>n.value.filter(({selected:o})=>!!o),He=n=>n.map(({rect:o})=>({...o})),Nt=n=>n.map(({props:o})=>[+(o.x0??0),+(o.y0??0),+(o.x1??0),+(o.y1??0)]),Xa=n=>n.map(({props:o})=>{var l,a;return{fontSize:+(o.fontSize??0),rowFontSize:(l=o.rowConfs)==null?void 0:l.map(r=>({fontSize:+(r.fontSize??0)})),colFontSize:(a=o.colConfs)==null?void 0:a.map(r=>{var u;return{fontSize:+(r.fontSize??0),domainFontSize:(u=r.colDomains)==null?void 0:u.map(f=>({fontSize:+(f.fontSize??0)}))}})}}),Re=(n,o,l,a,r,u)=>{const f=u+n*o,i=f===0?0:f/Math.abs(f);let v=o>0?l+a-r:o<0?r+u-l:u,s=0;(i<0||i===0&&o<0)&&(v=o>0?r-l:o<0?l+a-r-u:u,s=-u*o);const c=r+(i*o>=0?0:u),p=Z(Math.abs(f),0,v);let m=p/u,t=0;return u===0&&(t=p,s=i*o>=0?0:-t,m=1),{xyk:m,cxy:c,oxy:s,owh:t,xyRat:i}},Mt=(n,o,l,a,r,u,f,i,v,s,c,p,m)=>{const{props:t}=n,d=pt([u,f],[i,v]);o>0&&l>0||o>0&&l<0||o<0&&l<0||o<0&&l>0?a>0&&r>0?d>0&&d<=90?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>90&&d<=180?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>-180&&d<=-90?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>-90&&d<=0&&(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):a<=0&&r>0?d>0&&d<=90?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>90&&d<=180?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>-180&&d<=-90?(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):d>-90&&d<=0&&(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):a>0&&r<=0?d>0&&d<=90?(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):d>90&&d<=180?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>-180&&d<=-90?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>-90&&d<=0&&(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):a<=0&&r<=0&&(d>0&&d<=90?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>90&&d<=180?(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):d>-180&&d<=-90?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>-90&&d<=0&&(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m)):o>0&&l===0||o<0&&l===0?a>0?d>0&&d<=90?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>90&&d<=180?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>-180&&d<=-90?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>-90&&d<=0&&(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):a<=0&&(d>0&&d<=90?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>90&&d<=180?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>-180&&d<=-90?(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):d>-90&&d<=0&&(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c)):(o===0&&l>0||o===0&&l<0)&&(r>0?d>0&&d<=90?(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m):d>90&&d<=180?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>-180&&d<=-90?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>-90&&d<=0&&(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):r<=0&&(d>0&&d<=90?(t.x0=s,t.y0=c+m,t.x1=s+p,t.y1=c):d>90&&d<=180?(t.x0=s+p,t.y0=c+m,t.x1=s,t.y1=c):d>-180&&d<=-90?(t.x0=s+p,t.y0=c,t.x1=s,t.y1=c+m):d>-90&&d<=0&&(t.x0=s,t.y0=c,t.x1=s+p,t.y1=c+m)))};function Ga(n,o,l){const a=Ie(n),[r,u]=Ge(),f=ve(),i=e.ref(),v=V=>{n.value.forEach(k=>{k.id!==V&&(k.selected=!1)})};let s=[],c=[],p=[],m=[],t="",d=[],_=!1,h={x:0,y:0,width:0,height:0},g=0,w=0;const{mousedown:C,mousewheel:b,keydown:y}=Zt({moveStart:({startPoint:V,event:k})=>{l==null||l();const x=k.ctrlKey||k.metaKey;if(_=At(V,fe(He(Te(n)))),t=o(k.target),t&&!t.startsWith("stick-")){const S=n.value.find(T=>T.id===t);S&&S.selected&&x?S.selected=!1:S&&!S.selected&&(x||v(),S.selected=!0)}},moveFirst:({event:V})=>{const k=V.ctrlKey||V.metaKey;if(!t&&!_)k?d=Te(n):v();else{if(t&&!t.startsWith("stick-")){const x=n.value.find(S=>S.id===t);x&&!x.selected&&(x.selected=!0)}s=Te(n),c=He(s),p=Nt(s),h=fe(c)}},moveTravel:({startPoint:V,endPoint:k,deltaX:x,deltaY:S})=>{if(!t&&!_){const[T,E]=V,[$,P]=k,A=Math.min(T,$),M=Math.min(E,P),B=Math.abs(x),I=Math.abs(S);i.value={x:A,y:M,width:B,height:I}}else if(t&&t.startsWith("stick-")){const{x:T,y:E,width:$,height:P}=f.value,{x:A,y:M,width:B,height:I}=h,D=t.indexOf("right")!==-1?1:t.indexOf("left")!==-1?-1:0,{xyk:O,cxy:L,oxy:U,owh:H,xyRat:Y}=Re(x,D,T,$,A,B),j=t.indexOf("bottom")!==-1?1:t.indexOf("top")!==-1?-1:0,{xyk:F,cxy:X,oxy:J,owh:oe,xyRat:te}=Re(S,j,E,P,M,I);s.forEach((Q,pe)=>{if(!Q.locked){const{x:ge,y:et,width:tt,height:Ae}=c[pe],xe=ge*O+L*(1-O)+U,Ve=et*F+X*(1-F)+J,Se=tt*O+H,Ee=Ae*F+oe;if(Q.rect={x:xe,y:Ve,width:Se,height:Ee},typeof Q.props.x0=="number"&&typeof Q.props.y0=="number"&&typeof Q.props.x1=="number"&&typeof Q.props.y1=="number"){const[De,ze,Oe,Vo]=p[pe];Mt(Q,D,j,Y,te,De,ze,Oe,Vo,xe,Ve,Se,Ee)}}})}else{const{x:T,y:E,width:$,height:P}=f.value,{x:A,y:M,width:B,height:I}=h;s.forEach((D,O)=>{if(!D.locked){const{x:L,y:U,width:H,height:Y}=c[O],j=Z(x,T-A,T+$-(A+B)),F=Z(S,E-M,E+P-(M+I));D.rect={x:L+j,y:U+F,width:H,height:Y};const[X,J,oe,te]=p[O];typeof D.props.x0=="number"&&typeof D.props.y0=="number"&&typeof D.props.x1=="number"&&typeof D.props.y1=="number"&&(D.props.x0=X+j,D.props.y0=J+F,D.props.x1=oe+j,D.props.y1=te+F)}}),i.value={x:0,y:0,width:0,height:0}}},moveEnd:({isMoved:V,event:k})=>{if(V&&!t&&!_){const S=i.value??{x:0,y:0,width:0,height:0},T=new Set(n.value.filter(({rect:E})=>No(S,E)).map(E=>E.id));n.value.forEach(E=>{E.selected=T.has(E.id)?!d.includes(E):d.includes(E)})}const x=k.ctrlKey||k.metaKey;if(!V&&!x){if(!t&&!_)v();else if(t&&!t.startsWith("stick-")){const S=n.value.find(T=>T.id===t);S&&!S.selected&&v(t)}}i.value=void 0,s=[],c=[],p=[],t="",d=[],_=!1,h={x:0,y:0,width:0,height:0}},wheelStart:({startPoint:V})=>{if(l==null||l(),s=Te(n),s.length>0){c=He(s),p=Nt(s),m=Xa(s);const{x:k,y:x,width:S,height:T}=fe(c),{x:E,y:$,width:P,height:A}=f.value,[M,B]=V,I=Math.max(S===0?1:P,T===0?1:A),D=[(M-E)/(M-k),(B-$)/(B-x),(M-(E+P))/(M-(k+S)),(B-($+A))/(B-(x+T))];w=Math.min(D[0]>0?D[0]:I,D[1]>0?D[1]:I,D[2]>0?D[2]:I,D[3]>0?D[3]:I),s.forEach(({rect:O})=>{const{width:L,height:U}=O;L===0&&U===0||(L===0?g=Math.max(g,1/U):U===0?g=Math.max(g,1/L):g=Math.max(g,1/L,1/U))})}},wheelTravel:({startPoint:V,deltaK:k,movementK:x})=>{if(s.length>0){const S=Z(k,g,w),T=(E,$)=>E*S+$*(1-S);s.forEach((E,$)=>{var P,A;if(!E.locked){const[M,B]=V,{x:I,y:D,width:O,height:L}=c[$];E.rect={x:T(I,M),y:T(D,B),width:O*S,height:L*S};const[U,H,Y,j]=p[$];typeof E.props.x0=="number"&&typeof E.props.y0=="number"&&typeof E.props.x1=="number"&&typeof E.props.y1=="number"&&(E.props.x0=T(U,M),E.props.y0=T(H,B),E.props.x1=T(Y,M),E.props.y1=T(j,B)),typeof E.props.fontSize=="number"&&(E.props.fontSize=S*(m[$].fontSize??0),(P=E.props.rowConfs)==null||P.forEach((F,X)=>{var J;typeof(F==null?void 0:F.fontSize)=="number"&&(F.fontSize=S*(((J=m[$].rowFontSize)==null?void 0:J[X].fontSize)??0))}),(A=E.props.colConfs)==null||A.forEach((F,X)=>{var J,oe;typeof(F==null?void 0:F.fontSize)=="number"&&(F.fontSize=S*(((J=m[$].colFontSize)==null?void 0:J[X].fontSize)??0)),(oe=F.colDomains)==null||oe.forEach((te,Q)=>{var pe,ge;typeof(te==null?void 0:te.fontSize)=="number"&&(te.fontSize=S*(((ge=(pe=m[$].colFontSize)==null?void 0:pe[X].domainFontSize)==null?void 0:ge[Q].fontSize)??0))})}))}})}else u(x*r.value)},wheelEnd:()=>{s.length>0&&(g=0,w=0,s=[],c=[],p=[],m=[])},keydowned:({event:V})=>{l==null||l();const k=V.key.toLocaleUpperCase(),x=V.ctrlKey||V.metaKey;if(k==="ARROWUP"||k==="ARROWDOWN"||k==="ARROWLEFT"||k==="ARROWRIGHT"){if(s=Te(n),!s.length)return;const{x:S,y:T,width:E,height:$}=fe(He(s)),{x:P,y:A,width:M,height:B}=f.value,I=V.altKey,D=k==="ARROWRIGHT"?1:k==="ARROWLEFT"?-1:0,O=k==="ARROWDOWN"?1:k==="ARROWUP"?-1:0;if(x||I){const{xyk:L,cxy:U,oxy:H,owh:Y,xyRat:j}=Re((I?-1:1)*D,D,P,M,S,E),{xyk:F,cxy:X,oxy:J,owh:oe,xyRat:te}=Re((I?-1:1)*O,O,A,B,T,$);s.forEach(Q=>{if(!Q.locked){const{x:pe,y:ge,width:et,height:tt}=Q.rect,Ae=pe*L+U*(1-L)+H,xe=ge*F+X*(1-F)+J,Ve=et*L+Y,Se=tt*F+oe;Q.rect={x:Ae,y:xe,width:Ve,height:Se};const{x0:Ee,y0:De,x1:ze,y1:Oe}=Q.props;typeof Ee=="number"&&typeof De=="number"&&typeof ze=="number"&&typeof Oe=="number"&&Mt(Q,D,O,j,te,Ee,De,ze,Oe,Ae,xe,Ve,Se)}})}else s.forEach(L=>{if(!L.locked){const{x:U,y:H,width:Y,height:j}=L.rect,F=Z(D,P-S,P+M-(S+E)),X=Z(O,A-T,A+B-(T+$));L.rect={x:U+F,y:H+X,width:Y,height:j},L.rect={x:U+F,y:H+X,width:Y,height:j};const{x0:J,y0:oe,x1:te,y1:Q}=L.props;typeof J=="number"&&typeof oe=="number"&&typeof te=="number"&&typeof Q=="number"&&(L.props.x0=J+F,L.props.y0=oe+X,L.props.x1=te+F,L.props.y1=Q+X)}})}else k==="A"&&x?a.handleSelect():k==="X"&&x?(a.handleCopy(),a.handleDelete()):k==="C"&&x?a.handleCopy():k==="V"&&x?a.handlePaste():k==="L"&&x?a.handleLock():k==="U"&&x?a.handleUnlock():k==="DELETE"||k==="BACKSPACE"?a.handleDelete():k==="ESC"&&v()}});return{mousedown:C,mousewheel:b,keydown:y,moveRect:i}}function Za(n,o){const l=Ie(n),a=e.ref(!1),r=e.shallowRef({x:0,y:0}),u=e.shallowRef([]),f=(p,m)=>{if(!p&&!m){const d=[{key:"import",label:"导入帧"},{key:"export",label:"导出帧"}];return l.globalCopy.value&&d.push({key:"paste",label:"粘贴"}),n.value.length>0&&d.push({key:"clear",label:"清空"}),d}if(p&&!p.startsWith("stick-")){const d=n.value.find(_=>_.id===p);d&&!d.selected&&(n.value.forEach(_=>_.selected=!1),d.selected=!0)}const t=n.value.filter(({selected:d})=>!!d);if(t.length===1){const[d]=t,_=n.value.findIndex(({id:g})=>g===d.id),h=[{key:"copy",label:"复制元素"},d.locked?{key:"unlock",label:"解除锁定"}:{key:"lock",label:"锁定元素"}];return _<n.value.length-1&&h.push({key:"topIndex",label:"置顶"}),_+1<=n.value.length-1&&h.push({key:"upIndex",label:"上一层"}),_-1>=0&&h.push({key:"downIndex",label:"下一层"}),_>0&&h.push({key:"bottomIndex",label:"置底"}),typeof d.props.row=="number"&&(h.push({key:"tableRowAdd",label:"添加一行"}),d.props.row>1&&h.push({key:"tableRowDel",label:"删除一行"})),typeof d.props.col=="number"&&(h.push({key:"tableColAdd",label:"添加一列"}),d.props.col>1&&h.push({key:"tableColDel",label:"删除一列"})),h.push({key:"delete",label:"删除元素"}),h}if(t.length>1){const d=[{key:"copy",label:"复制元素"}];return t.some(({locked:_})=>_)&&d.push({key:"unlock",label:"解除锁定"}),t.some(({locked:_})=>!_)&&d.push({key:"lock",label:"锁定元素"}),d.push({key:"upAlign",label:"上对齐"},{key:"downAlign",label:"下对齐"},{key:"leftAlign",label:"左对齐"},{key:"rightAlign",label:"右对齐"},{key:"hCenterAlign",label:"水平中心对齐"},{key:"vCenterAlign",label:"垂直中心对齐"}),t.length>2&&d.push({key:"hAvgAlign",label:"水平平均对齐"},{key:"vAvgAlign",label:"垂直平均对齐"}),d.push({key:"delete",label:"删除元素"}),d}return[]},i=yt(),v=p=>{p.preventDefault(),p.stopImmediatePropagation();const m=i(p),t=o(p.target),d=At(m,fe(n.value.filter(({selected:_})=>!!_).map(({rect:_})=>_)));a.value=!1,u.value=f(t,d),e.nextTick().then(()=>{r.value={x:p.pageX,y:p.pageY},a.value=!0})},s=()=>{a.value=!1},c=({key:p})=>{switch(s(),p){case"import":l.handleImport();break;case"export":l.handleExport();break;case"clear":l.handleClear();break;case"copy":l.handleCopy();break;case"paste":l.handlePaste();break;case"lock":l.handleLock();break;case"unlock":l.handleUnlock();break;case"delete":l.handleDelete();break;case"topIndex":l.handleZIndex(p);break;case"upIndex":l.handleZIndex(p);break;case"downIndex":l.handleZIndex(p);break;case"bottomIndex":l.handleZIndex(p);break;case"tableRowAdd":l.handleTable(p);break;case"tableRowDel":l.handleTable(p);break;case"tableColAdd":l.handleTable(p);break;case"tableColDel":l.handleTable(p);break;default:l.handleAlign(p);break}};return e.onMounted(()=>{document.addEventListener("mousedown",s)}),e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",s)}),{contextmenu:v,hideContextMenu:s,handleContextMenuAction:c,contextMenuOpen:a,contextMenuPosition:r,contextMenuMenus:u}}const Ja=["onClick"],Qa=e.defineComponent({__name:"ContextMenu",props:{open:{type:Boolean},menus:{},position:{}},emits:["action"],setup(n){const o=n,l=e.computed(()=>({left:z(o.position.x),top:z(o.position.y)}));return(a,r)=>{const u=e.resolveComponent("el-icon");return e.openBlock(),e.createBlock(e.Transition,{name:"contextmenu"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("ul",{class:"contextmenu el-dropdown__popper",style:e.normalizeStyle(l.value),onMousedown:r[0]||(r[0]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.menus,f=>(e.openBlock(),e.createElementBlock("li",{key:f.key,onClick:e.withModifiers(()=>a.$emit("action",f),["stop"])},[f.icon?(e.openBlock(),e.createBlock(u,{key:0},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.icon),1)]),_:2},1024)):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(f.label),1)],8,Ja))),128))],36),[[e.vShow,a.open]])]),_:1})}}}),er=K(Qa,[["__scopeId","data-v-2b6c3473"]]),tr={class:"frame-canvas"},or=["data-id"],lr=["data-id"],nr=e.defineComponent({name:"frame-canvas",inheritAttrs:!1,__name:"index",props:e.mergeModels({bgcolor:{}},{data:{required:!0}}),emits:["update:data"],setup(n){const o=["top","left","bottom","right"],l=[...o,"left-top","right-top","left-bottom","right-bottom"],a=n,r=e.useModel(n,"data"),[u]=Ge(),f=ve(),[i,v]=Yo(),s=e.computed(()=>({width:z(f.value.width),height:z(f.value.height),backgroundColor:a.bgcolor,transform:`scale(${u.value})`,transformOrigin:"left top"})),c=T=>({transform:`translate(${z(T.x)},${z(T.y)})`,width:z(T.width),height:z(T.height)}),p=T=>!T||T===i.value?"":T.getAttribute("data-id")??p(T.parentElement),{contextmenu:m,hideContextMenu:t,handleContextMenuAction:d,contextMenuOpen:_,contextMenuPosition:h,contextMenuMenus:g}=Za(r,p),{mousedown:w,mousewheel:C,keydown:b,moveRect:y}=Ga(r,p,t),{dragover:V,drop:k}=Jt(r),x=e.computed(()=>{var T,E;return!y.value||((T=y.value)==null?void 0:T.width)===0&&((E=y.value)==null?void 0:E.height)===0?null:{transform:`translate(${z(y.value.x)},${z(y.value.y)})`,width:z(y.value.width),height:z(y.value.height)}}),S=e.computed(()=>{if(y.value&&y.value.width>0&&y.value.height>0)return[[],[]];const T=r.value.filter(({selected:M})=>!!M);if(T.length===0)return[[],[]];const{x:E,y:$,width:P,height:A}=fe(T.map(({rect:M})=>M));return[y.value?[{transform:`translate(${z(0)},${z($-1)})`},{transform:`translate(${z(E-1)},${z(0)})`},{transform:`translate(${z(0)},${z($+A)})`},{transform:`translate(${z(E+P)},${z(0)})`}]:[],y.value?[]:[{transform:`translate(${z(E-1)},${z($-1)})`,width:z(P+1)},{transform:`translate(${z(E-1)},${z($-1)})`,height:z(A+1)},{transform:`translate(${z(E-1)},${z($+A)})`,width:z(P+1)},{transform:`translate(${z(E+P)},${z($-1)})`,height:z(A+1)},{transform:`translate(${z(E-1+P/2)},${z($-1)})`},{transform:`translate(${z(E-1)},${z($-1+A/2)})`},{transform:`translate(${z(E-1+P/2)},${z($+A)})`},{transform:`translate(${z(E+P)},${z($-1+A/2)})`},{transform:`translate(${z(E-1)},${z($-1)})`},{transform:`translate(${z(E+P)},${z($-1)})`},{transform:`translate(${z(E-1)},${z($+A)})`},{transform:`translate(${z(E+P)},${z($+A)})`}]]});return(T,E)=>(e.openBlock(),e.createElementBlock("div",tr,[e.createElementVNode("div",{ref:e.unref(v),class:"frame-stage",tabindex:"0",style:e.normalizeStyle(s.value),onContextmenu:E[0]||(E[0]=(...$)=>e.unref(m)&&e.unref(m)(...$)),onMousedown:E[1]||(E[1]=(...$)=>e.unref(w)&&e.unref(w)(...$)),onMousewheel:E[2]||(E[2]=(...$)=>e.unref(C)&&e.unref(C)(...$)),onKeydown:E[3]||(E[3]=(...$)=>e.unref(b)&&e.unref(b)(...$)),onDragover:E[4]||(E[4]=(...$)=>e.unref(V)&&e.unref(V)(...$)),onDrop:E[5]||(E[5]=(...$)=>e.unref(k)&&e.unref(k)(...$))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,($,P)=>{var A;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["element-item",$.selected?"active":"",$.locked?"locked":""]),key:$.id,"data-id":$.id,style:e.normalizeStyle(c($.rect))},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((A=e.unref(ce).get($.type))==null?void 0:A.view),e.mergeProps({id:$.id,rect:$.rect,selected:$.selected},$.props,{item:r.value[P],"onUpdate:item":M=>r.value[P]=M}),null,16,["id","rect","selected","item","onUpdate:item"]))],14,or)}),128)),e.withDirectives(e.createElementVNode("div",{class:"box-selector",style:e.normalizeStyle(x.value)},null,4),[[e.vShow,!!x.value]]),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(o,($,P)=>e.withDirectives(e.createElementVNode("div",{key:$,class:e.normalizeClass(["stick-line",`stick-line-${$}`]),style:e.normalizeStyle(S.value[1][P])},null,6),[[e.vShow,!!S.value[1][P]]])),64)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,($,P)=>e.withDirectives(e.createElementVNode("div",{key:$,class:e.normalizeClass(["stick-point",`stick-point-${$}`]),style:e.normalizeStyle(S.value[1][P+4]),"data-id":`stick-${$}`},null,14,lr),[[e.vShow,!!S.value[1][P+4]]])),64)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(o,($,P)=>e.withDirectives(e.createElementVNode("div",{key:$,class:e.normalizeClass(["auxiliary-line",`auxiliary-line-${$}`]),style:e.normalizeStyle(S.value[0][P])},null,6),[[e.vShow,!!S.value[0][P]]])),64))],36),e.createVNode(er,{open:e.unref(_),menus:e.unref(g),position:e.unref(h),onAction:e.unref(d)},null,8,["open","menus","position","onAction"])]))}}),ar=K(nr,[["__scopeId","data-v-2f90716e"]]),rr=e.defineComponent({name:"radio-default",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{type:Boolean}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-checkbox");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(r,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=u=>o.value=u),disabled:l.locked},null,8,["modelValue","disabled"]),e.renderSlot(l.$slots,"extra")],64)}}}),sr=Object.freeze(Object.defineProperty({__proto__:null,default:rr},Symbol.toStringTag,{value:"Module"})),ir=e.defineComponent({name:"color-picker",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=["#00000000","#000000","#ffffff","#ff0000","#00ff00","#0000ff","#ffff00","#ff00ff","#00ffff","#808080","#ffd700","#ffc0cb","#a52a2a","#ee82ee","#000080"],l=e.useModel(n,"modelValue"),a=r=>{r||(l.value="#00000000")};return(r,u)=>{const f=e.resolveComponent("el-color-picker");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(f,{"popper-class":"color-picker",modelValue:l.value,"onUpdate:modelValue":u[0]||(u[0]=i=>l.value=i),disabled:r.locked,"color-format":"hex","show-alpha":"",predefine:o,onChange:a},null,8,["modelValue","disabled"]),e.renderSlot(r.$slots,"extra")],64)}}}),cr=Object.freeze(Object.defineProperty({__proto__:null,default:ir},Symbol.toStringTag,{value:"Module"})),Pe=e.defineComponent({name:"popup-provider",inheritAttrs:!1,__name:"index",props:e.mergeModels({style:{},className:{},type:{default:"drawer"},title:{},size:{}},{modelValue:{type:Boolean}}),emits:e.mergeModels(["open","close"],["update:modelValue"]),setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-dialog"),u=e.resolveComponent("el-drawer");return e.openBlock(),e.createElementBlock(e.Fragment,null,[l.type==="dialog"?(e.openBlock(),e.createBlock(r,{key:0,modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=f=>o.value=f),style:e.normalizeStyle(l.style),class:e.normalizeClass(`popup-provider ${l.className||""}`),title:l.title,draggable:"","align-center":"","append-to-body":"","destroy-on-close":"","close-on-click-modal":!1,onOpen:a[1]||(a[1]=f=>l.$emit("open")),onClose:a[2]||(a[2]=f=>l.$emit("close"))},{header:e.withCtx(()=>[e.renderSlot(l.$slots,"header")]),footer:e.withCtx(()=>[e.renderSlot(l.$slots,"footer")]),default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["modelValue","style","class","title"])):e.createCommentVNode("",!0),l.type==="drawer"?(e.openBlock(),e.createBlock(u,{key:1,modelValue:o.value,"onUpdate:modelValue":a[3]||(a[3]=f=>o.value=f),style:e.normalizeStyle(l.style),class:e.normalizeClass(`popup-provider ${l.className||""}`),title:l.title,size:l.size,"append-to-body":"","destroy-on-close":"","close-on-click-modal":!1,onOpen:a[4]||(a[4]=f=>l.$emit("open")),onClose:a[5]||(a[5]=f=>l.$emit("close"))},{header:e.withCtx(()=>[e.renderSlot(l.$slots,"header")]),footer:e.withCtx(()=>[e.renderSlot(l.$slots,"footer")]),default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},8,["modelValue","style","class","title","size"])):e.createCommentVNode("",!0)],64)}}}),ht=n=>(e.pushScopeId("data-v-b75b0d63"),n=n(),e.popScopeId(),n),ur={class:"setting-row"},dr=ht(()=>e.createElementVNode("div",{class:"row-label"},"字段:",-1)),pr={class:"row-editor"},fr={class:"setting-row"},mr=ht(()=>e.createElementVNode("div",{class:"row-label"},"日期:",-1)),vr={class:"row-editor"},yr={class:"setting-row"},hr=ht(()=>e.createElementVNode("div",{class:"row-label"},"结果:",-1)),gr={class:"row-editor"},br={class:"dialog-footer"},_r=e.defineComponent({name:"filter-setting",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean},props:{}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=n,l=e.ref(),a=[{label:"==",value:"=="},{label:"!=",value:"!="},{label:">",value:">"},{label:"<",value:"<"},{label:">=",value:">="},{label:"<=",value:"<="},{label:"LIKE",value:"=~"},{label:"NOT LIKE",value:"!~"}],r=ye(),u=e.useModel(n,"modelValue"),f=e.ref(""),i=e.ref(!1),v=()=>{o.locked||(i.value=!0)},s=()=>{f.value=u.value||""},c=e.computed(()=>{var k;return r.value[((k=o.props)==null?void 0:k.source)??""]||[]}),p=e.computed(()=>r.value.TextDate||[]),m=e.ref(),t=e.ref(),d=e.ref(),_=e.ref(),h=e.ref(),g=e.ref(),w=k=>{let x="";if(k==="field"){if(!m.value){ee.ElMessage.error("请选择字段");return}if(!t.value){ee.ElMessage.error("请选择字段条件");return}x+=`${m.value} ${t.value} '${(d.value||"").replace(/%/g,".*")}'`}else if(k==="date"){if(!_.value){ee.ElMessage.error("请选择日期");return}if(!h.value){ee.ElMessage.error("请选择日期条件");return}x+=`${_.value} ${h.value} '${(g.value||"").replace(/%/g,".*")}'`}C(x)},C=k=>{var $,P,A,M,B,I;let x=f.value;const S=((P=($=l.value)==null?void 0:$.ref)==null?void 0:P.selectionStart)??x.length,T=((M=(A=l.value)==null?void 0:A.ref)==null?void 0:M.selectionEnd)??x.length;x=`${x.substring(0,S)} ${k} ${x.substring(T)}`;const E=S+k.length;(I=(B=l.value)==null?void 0:B.ref)==null||I.setSelectionRange(E,E),f.value=x},b=()=>{f.value=""},y=e.ref(!1),V=()=>{y.value=!0,Xe("frame-editor-global",{type:"filter-setting-check",value:f.value,closeLoading:()=>{y.value=!1},close:()=>{u.value=f.value,i.value=!1,y.value=!1}})};return(k,x)=>{const S=e.resolveComponent("el-input"),T=e.resolveComponent("el-option"),E=e.resolveComponent("el-select"),$=e.resolveComponent("el-button"),P=e.resolveComponent("el-check-tag"),A=e.resolveComponent("el-space");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(S,{modelValue:u.value,"onUpdate:modelValue":x[0]||(x[0]=M=>u.value=M),placeholder:"点击配置",disabled:k.locked,readonly:"",onClick:v},null,8,["modelValue","disabled"]),e.createVNode(Pe,{modelValue:i.value,"onUpdate:modelValue":x[12]||(x[12]=M=>i.value=M),title:"筛选条件",size:"35%",onOpen:s},{footer:e.withCtx(()=>[e.createElementVNode("div",br,[e.createVNode($,{type:"primary",plain:"",onClick:b},{default:e.withCtx(()=>[e.createTextVNode(" 清空 ")]),_:1}),e.createVNode($,{type:"primary",plain:"",onClick:V,loading:y.value},{default:e.withCtx(()=>[e.createTextVNode(" 确定 ")]),_:1},8,["loading"])])]),default:e.withCtx(()=>[e.createElementVNode("div",ur,[dr,e.createElementVNode("div",pr,[e.createVNode(E,{modelValue:m.value,"onUpdate:modelValue":x[1]||(x[1]=M=>m.value=M),clearable:"",filterable:"",placeholder:"请选择",placement:"bottom",class:"name-select"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,M=>(e.openBlock(),e.createBlock(T,{key:M.value,label:M.label,value:M.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(E,{modelValue:t.value,"onUpdate:modelValue":x[2]||(x[2]=M=>t.value=M),clearable:"",placeholder:"请选择",placement:"bottom",class:"cond-select"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,M=>e.createVNode(T,{key:M.value,label:M.label,value:M.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),e.createVNode(S,{modelValue:d.value,"onUpdate:modelValue":x[3]||(x[3]=M=>d.value=M),placeholder:"请输入",clearable:""},null,8,["modelValue"]),e.createVNode($,{type:"primary",plain:"",onClick:x[4]||(x[4]=M=>w("field"))},{default:e.withCtx(()=>[e.createTextVNode(" 添加 ")]),_:1})])]),e.withDirectives(e.createElementVNode("div",fr,[mr,e.createElementVNode("div",vr,[e.createVNode(E,{modelValue:_.value,"onUpdate:modelValue":x[5]||(x[5]=M=>_.value=M),clearable:"",filterable:"",placeholder:"请选择",placement:"bottom",class:"name-select"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,M=>(e.openBlock(),e.createBlock(T,{key:M.value,label:M.label,value:M.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(E,{modelValue:h.value,"onUpdate:modelValue":x[6]||(x[6]=M=>h.value=M),clearable:"",placeholder:"请选择",placement:"bottom",class:"cond-select"},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,M=>e.createVNode(T,{key:M.value,label:M.label,value:M.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),e.createVNode(S,{modelValue:g.value,"onUpdate:modelValue":x[7]||(x[7]=M=>g.value=M),placeholder:"请输入",clearable:""},null,8,["modelValue"]),e.createVNode($,{type:"primary",plain:"",onClick:x[8]||(x[8]=M=>w("date"))},{default:e.withCtx(()=>[e.createTextVNode(" 添加 ")]),_:1})])],512),[[e.vShow,!1]]),e.createElementVNode("div",yr,[hr,e.createElementVNode("div",gr,[e.createVNode(S,{ref_key:"textareaRef",ref:l,modelValue:f.value,"onUpdate:modelValue":x[9]||(x[9]=M=>f.value=M),type:"textarea",rows:5,placeholder:"请输入"},null,8,["modelValue"]),e.createVNode(A,{direction:"vertical"},{default:e.withCtx(()=>[e.createVNode(P,{type:"primary",plain:"",checked:"",onClick:x[10]||(x[10]=M=>C("&&"))},{default:e.withCtx(()=>[e.createTextVNode("AND")]),_:1}),e.createVNode(P,{type:"primary",plain:"",checked:"",onClick:x[11]||(x[11]=M=>C("||"))},{default:e.withCtx(()=>[e.createTextVNode("OR")]),_:1})]),_:1})])])]),_:1},8,["modelValue"])],64)}}}),kr=K(_r,[["__scopeId","data-v-b75b0d63"]]),wr=Object.freeze(Object.defineProperty({__proto__:null,default:kr},Symbol.toStringTag,{value:"Module"})),Cr=n=>(e.pushScopeId("data-v-daa125a3"),n=n(),e.popScopeId(),n),xr={style:{"margin-right":"8px",width:"calc(50% - 8px)"}},Vr={class:"format-description"},Sr={style:{"margin-left":"8px",width:"calc(50% - 8px)"}},Er={class:"format-description"},Tr={class:"preview"},$r=Cr(()=>e.createElementVNode("h3",null,"预览:",-1)),Br="时钟属性格式",Nr=Object.assign({name:"format-date",inheritAttrs:!1},{__name:"index",props:e.mergeModels({locked:{type:Boolean},props:{type:Object}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=n,l=[{value:"CHY年 CHM月 CHD GZY SXY年",label:"CHY年 CHM月 CHD GZY SXY年"},{value:"CHY",label:"年(二〇XX)"},{value:"CHM",label:"月(一/二...)"},{value:"CHD",label:"日(一/二...)"},{value:"SXY",label:"生肖(鼠/牛...)"},{value:"GZY",label:"干支年(乙巳/丙午...)"}],a=[{value:"yyyy-MM-dd HH:mm:ss 星期W",label:"yyyy-MM-dd HH:mm:ss 星期W"},{value:"yyyy",label:"年(20XX)"},{value:"MM",label:"月(01)"},{value:"DD",label:"日(01)"},{value:"HH",label:"时(13)"},{value:"mm",label:"分(30)"},{value:"ss",label:"秒(20)"},{value:"W",label:"星期(一/二...)"}],r=e.useModel(n,"modelValue"),u=e.ref(!1),f=e.ref(""),i=e.ref(""),v=e.ref(""),s=e.ref(""),c=e.ref(""),p=e.ref(""),m=()=>{o.locked||(u.value=!0)},t=(w,C)=>{let b=w;const y=It.Solar.fromDate(C).getLunar();b=b.replace(/YYYY/g,C.getFullYear()),b=b.replace(/yyyy/g,C.getFullYear()),b=b.replace(/MM/g,String(C.getMonth()+1).padStart(2,"0")),b=b.replace(/DD/g,String(C.getDate()).padStart(2,"0")),b=b.replace(/dd/g,String(C.getDate()).padStart(2,"0")),b=b.replace(/HH/g,String(C.getHours()).padStart(2,"0")),b=b.replace(/mm/g,String(C.getMinutes()).padStart(2,"0")),b=b.replace(/ss/g,String(C.getSeconds()).padStart(2,"0"));const V=["日","一","二","三","四","五","六"];return b=b.replace(/W/g,V[C.getDay()]),b=b.replace(/CHY/g,y.getYearInChinese()),b=b.replace(/CHM/g,y.getMonthInChinese()),b=b.replace(/CHD/g,y.getDayInChinese()),b=b.replace(/SXY/g,y.getYearShengXiaoExact()),b=b.replace(/GZY/g,y.getYearInGanZhiExact()),b},d=w=>{const C=t(w,new Date);s.value=`预览: ${C}`},_=w=>{const C=t(w,new Date);c.value=`预览: ${C}`},h=w=>{const C=f.value;f.value=C+w;const b=t(f.value,new Date);p.value=`${b}`},g=()=>{r.value=f.value,u.value=!1,f.value="",i.value="",v.value="",s.value="",c.value="",p.value=""};return(w,C)=>{const b=e.resolveComponent("el-input"),y=e.resolveComponent("el-form-item"),V=e.resolveComponent("el-option"),k=e.resolveComponent("el-select"),x=e.resolveComponent("el-button"),S=e.resolveComponent("el-form");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(b,{modelValue:r.value,"onUpdate:modelValue":C[0]||(C[0]=T=>r.value=T),type:"textarea",rows:2,placeholder:"请选择",disabled:n.locked,onClick:m},null,8,["modelValue","disabled"]),e.createVNode(Pe,{modelValue:u.value,"onUpdate:modelValue":C[6]||(C[6]=T=>u.value=T),title:Br},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(S,{"label-width":"auto",style:{"max-width":"100%"}},{default:e.withCtx(()=>[e.createVNode(y,{label:"时间格式字符串",prop:"timeFormat"},{default:e.withCtx(()=>[e.createVNode(b,{modelValue:f.value,"onUpdate:modelValue":C[1]||(C[1]=T=>f.value=T),type:"textarea",rows:3,placeholder:"在此输入或通过下方选项插入时间格式"},null,8,["modelValue"])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createElementVNode("div",xr,[e.createVNode(k,{disabled:o.props.timeType===1,modelValue:i.value,"onUpdate:modelValue":C[2]||(C[2]=T=>i.value=T),placeholder:"请选择公历格式",style:{width:"100%"},onChange:d,clearable:""},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,T=>e.createVNode(V,{key:T.value,label:T.label,value:T.value},null,8,["label","value"])),64))]),_:1},8,["disabled","modelValue"]),e.createElementVNode("div",Vr,e.toDisplayString(s.value),1)]),e.createElementVNode("div",Sr,[e.createVNode(k,{disabled:o.props.timeType===0,modelValue:v.value,"onUpdate:modelValue":C[3]||(C[3]=T=>v.value=T),placeholder:"请选择农历格式",style:{width:"100%"},onChange:_,clearable:""},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,T=>e.createVNode(V,{key:T.value,label:T.label,value:T.value},null,8,["label","value"])),64))]),_:1},8,["disabled","modelValue"]),e.createElementVNode("div",Er,e.toDisplayString(c.value),1)])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createVNode(x,{disabled:o.props.timeType===1,type:"primary",icon:"Plus",style:{"margin-right":"8px",width:"calc(50% - 8px)"},onClick:C[4]||(C[4]=T=>h(`${i.value}`))},{default:e.withCtx(()=>[e.createTextVNode(" 插入公历格式 ")]),_:1},8,["disabled"]),e.createVNode(x,{disabled:o.props.timeType===0,type:"primary",icon:"Plus",style:{"margin-left":"8px",width:"calc(50% - 8px)"},onClick:C[5]||(C[5]=T=>h(`${v.value}`))},{default:e.withCtx(()=>[e.createTextVNode(" 插入农历格式 ")]),_:1},8,["disabled"])]),_:1})]),_:1}),e.createElementVNode("div",Tr,[$r,e.createElementVNode("div",null,e.toDisplayString(p.value),1)]),e.createElementVNode("div",null,[e.createVNode(x,{type:"success",style:{width:"100%","margin-top":"16px"},onClick:g},{default:e.withCtx(()=>[e.createTextVNode(" 确定 ")]),_:1})])])]),_:1},8,["modelValue"])],64)}}}),Mr=K(Nr,[["__scopeId","data-v-daa125a3"]]),Ir=Object.freeze(Object.defineProperty({__proto__:null,default:Mr},Symbol.toStringTag,{value:"Module"})),Pr=e.defineComponent({name:"input-number",inheritAttrs:!1,__name:"index",props:e.mergeModels({min:{},max:{},step:{default:()=>1},precision:{default:()=>0},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(n,{emit:o}){const l=o,a=e.useModel(n,"modelValue"),r=u=>{l("change",u)};return(u,f)=>{const i=e.resolveComponent("el-input-number");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(i,{modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=v=>a.value=v),min:u.min?e.unref(ie)(u.min):u.min,max:u.max?e.unref(ie)(u.max):u.max,step:u.step,precision:u.precision,disabled:u.locked,"controls-position":"right",placeholder:"请输入",class:"input-number",onChange:r},null,8,["modelValue","min","max","step","precision","disabled"]),e.renderSlot(u.$slots,"extra",{},void 0,!0)],64)}}}),Ar=K(Pr,[["__scopeId","data-v-28c9d5a9"]]),Dr=Object.freeze(Object.defineProperty({__proto__:null,default:Ar},Symbol.toStringTag,{value:"Module"})),zr=e.defineComponent({name:"input-text",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-input");return e.openBlock(),e.createBlock(r,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=u=>o.value=u),placeholder:"请输入",disabled:l.locked},null,8,["modelValue","disabled"])}}}),Or=Object.freeze(Object.defineProperty({__proto__:null,default:zr},Symbol.toStringTag,{value:"Module"})),Lr=e.defineComponent({name:"input-textarea",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1},rows:{default:()=>3}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-input");return e.openBlock(),e.createBlock(r,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=u=>o.value=u),type:"textarea",rows:l.rows,placeholder:"请输入",disabled:l.locked},null,8,["modelValue","rows","disabled"])}}}),Wr=Object.freeze(Object.defineProperty({__proto__:null,default:Lr},Symbol.toStringTag,{value:"Module"})),Fr=["title"],Hr=e.defineComponent({name:"media-list",inheritAttrs:!1,__name:"index",props:e.mergeModels({fileType:{},files:{},locked:{type:Boolean}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=n,l=e.computed(()=>`${o.fileType==="Image"?"图片":o.fileType==="Video"?"视频":""}选择`),a=e.useModel(n,"modelValue"),r=e.ref(!1),u=()=>{o.locked||(r.value=!0)},f=i=>{a.value=i.url,r.value=!1};return(i,v)=>{const s=e.resolveComponent("el-input"),c=e.resolveComponent("el-col"),p=e.resolveComponent("el-row");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(s,{modelValue:a.value,"onUpdate:modelValue":v[0]||(v[0]=m=>a.value=m),placeholder:"点击选择",disabled:i.locked,clearable:"",onClick:u},null,8,["modelValue","disabled"]),e.createVNode(Pe,{modelValue:r.value,"onUpdate:modelValue":v[1]||(v[1]=m=>r.value=m),title:l.value,size:"33%"},{default:e.withCtx(()=>[e.createVNode(p,{gutter:16},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.files,m=>(e.openBlock(),e.createBlock(c,{key:m.url,class:e.normalizeClass(["list-item",a.value===m.url?"active":""]),span:4,onClick:t=>f(m)},{default:e.withCtx(()=>[e.createVNode(Ce,{style:{background:"#ddd"},preview:!1,type:i.fileType,file:m.url},null,8,["type","file"]),e.createElementVNode("span",{title:m.name},e.toDisplayString(m.name),9,Fr)]),_:2},1032,["class","onClick"]))),128))]),_:1})]),_:1},8,["modelValue","title"])],64)}}}),Rr=K(Hr,[["__scopeId","data-v-6b6e1d92"]]),Kr=Object.freeze(Object.defineProperty({__proto__:null,default:Rr},Symbol.toStringTag,{value:"Module"})),Ur={class:"number-popover"},Yr=e.defineComponent({name:"multiple-number",inheritAttrs:!1,__name:"index",props:e.mergeModels({label:{},min:{},max:{},step:{default:()=>1},precision:{default:()=>0},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(n,{emit:o}){const l=n,a=o,r=e.useModel(n,"modelValue"),u=e.computed(()=>r.value?zt(r.value):[]),f=e.computed(()=>u.value.map(c=>({id:G(),val:c}))),i=e.ref(!1),v=()=>{l.locked||(i.value=!0)},s=(c,p)=>{a("change",{value:c,index:p})};return(c,p)=>{const m=e.resolveComponent("el-input"),t=e.resolveComponent("el-input-number"),d=e.resolveComponent("el-popover");return e.openBlock(),e.createBlock(d,{width:300,trigger:"click","show-arrow":!1},e.createSlots({reference:e.withCtx(()=>[e.createVNode(m,{modelValue:u.value.join(","),placeholder:"点击修改",disabled:c.locked,readonly:"",onClick:v},null,8,["modelValue","disabled"])]),_:2},[r.value?{name:"default",fn:e.withCtx(()=>[e.createElementVNode("div",Ur,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(_,h)=>(e.openBlock(),e.createElementBlock("div",{key:_.id,class:"item"},[e.createElementVNode("span",null,"第 "+e.toDisplayString(h+1)+" "+e.toDisplayString(c.label)+":",1),e.createVNode(t,{modelValue:_.val,min:c.min?e.unref(ie)(c.min):c.min,max:c.max?e.unref(ie)(c.max):c.max,step:c.step,precision:c.precision,disabled:c.locked,"controls-position":"right",placeholder:"请输入",class:"input-number",onChange:g=>s(g,h)},null,8,["modelValue","min","max","step","precision","disabled","onChange"])]))),128))])]),key:"0"}:void 0]),1024)}}}),jr=K(Yr,[["__scopeId","data-v-fb1101e1"]]),qr=Object.freeze(Object.defineProperty({__proto__:null,default:jr},Symbol.toStringTag,{value:"Module"})),Xr=["title"],Gr=e.defineComponent({name:"office-list",inheritAttrs:!1,__name:"index",props:e.mergeModels({fileType:{},files:{},locked:{type:Boolean}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=n,l=e.useModel(n,"modelValue"),a=e.ref(!1),r=()=>{o.locked||(a.value=!0)},u=f=>{l.value=f.url,a.value=!1};return(f,i)=>{const v=e.resolveComponent("el-input"),s=e.resolveComponent("el-col"),c=e.resolveComponent("el-row");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(v,{modelValue:l.value,"onUpdate:modelValue":i[0]||(i[0]=p=>l.value=p),placeholder:"点击选择",disabled:f.locked,clearable:"",onClick:r},null,8,["modelValue","disabled"]),e.createVNode(Pe,{modelValue:a.value,"onUpdate:modelValue":i[1]||(i[1]=p=>a.value=p),title:`${f.fileType}文件选择`,size:"42%"},{default:e.withCtx(()=>[e.createVNode(c,{gutter:16},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.files,p=>(e.openBlock(),e.createBlock(s,{key:p.url,class:e.normalizeClass(["list-item",l.value===p.url?"active":""]),span:6,onClick:m=>u(p)},{default:e.withCtx(()=>[e.createVNode(Ce,{style:{background:"#ddd"},preview:!1,type:f.fileType,file:p.url},null,8,["type","file"]),e.createElementVNode("span",{title:p.name},e.toDisplayString(p.name),9,Xr)]),_:2},1032,["class","onClick"]))),128))]),_:1})]),_:1},8,["modelValue","title"])],64)}}}),Zr=K(Gr,[["__scopeId","data-v-b945d8c4"]]),Jr=Object.freeze(Object.defineProperty({__proto__:null,default:Zr},Symbol.toStringTag,{value:"Module"})),Qr=e.defineComponent({name:"radio-button",inheritAttrs:!1,__name:"index",props:e.mergeModels({options:{},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-radio-button"),u=e.resolveComponent("el-radio-group");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(u,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=f=>o.value=f),disabled:l.locked},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.options,f=>(e.openBlock(),e.createBlock(r,{key:f.value,label:f.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","disabled"]),e.renderSlot(l.$slots,"extra")],64)}}}),es=Object.freeze(Object.defineProperty({__proto__:null,default:Qr},Symbol.toStringTag,{value:"Module"})),ts=e.defineComponent({name:"radio-default",inheritAttrs:!1,__name:"index",props:e.mergeModels({options:{},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-radio"),u=e.resolveComponent("el-radio-group");return e.openBlock(),e.createBlock(u,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=f=>o.value=f),disabled:l.locked},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.options,f=>(e.openBlock(),e.createBlock(r,{key:f.value,label:f.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.label),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","disabled"])}}}),os=Object.freeze(Object.defineProperty({__proto__:null,default:ts},Symbol.toStringTag,{value:"Module"})),ls=e.defineComponent({name:"single-select",inheritAttrs:!1,__name:"index",props:e.mergeModels({options:{},clearable:{type:Boolean,default:()=>!1},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(n,{emit:o}){const l=n,a=o,r=e.useModel(n,"modelValue"),u=f=>{const i=l.options.find(v=>v.value===f);a("change",i)};return(f,i)=>{const v=e.resolveComponent("el-option"),s=e.resolveComponent("el-select");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(s,{modelValue:r.value,"onUpdate:modelValue":i[0]||(i[0]=c=>r.value=c),disabled:f.locked,clearable:f.clearable,filterable:"",placeholder:"请选择",placement:"bottom",class:"single-select",onChange:u},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.options,c=>(e.openBlock(),e.createBlock(v,{key:c.value,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled","clearable"]),e.renderSlot(f.$slots,"extra",{},void 0,!0)],64)}}}),ns=K(ls,[["__scopeId","data-v-58a90895"]]),as=Object.freeze(Object.defineProperty({__proto__:null,default:ns},Symbol.toStringTag,{value:"Module"})),rs=e.defineComponent({name:"radio-default",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{type:Boolean}}),emits:["update:modelValue"],setup(n){const o=e.useModel(n,"modelValue");return(l,a)=>{const r=e.resolveComponent("el-switch");return e.openBlock(),e.createBlock(r,{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=u=>o.value=u),disabled:l.locked},null,8,["modelValue","disabled"])}}}),ss=Object.freeze(Object.defineProperty({__proto__:null,default:rs},Symbol.toStringTag,{value:"Module"})),is=n=>(e.pushScopeId("data-v-76958dce"),n=n(),e.popScopeId(),n),cs={class:"table-col"},us={class:"setting-add"},ds={class:"item-drag"},ps=["onClick"],fs=["title"],ms={class:"table-col"},vs={key:0,class:"setting-row"},ys={class:"row-label"},hs={key:0},gs=is(()=>e.createElementVNode("span",null,":",-1)),bs={class:"row-editor"},_s={class:"dialog-footer"},ks=e.defineComponent({name:"table-settting",inheritAttrs:!1,__name:"index",props:e.mergeModels({label:{},bindKey:{},locked:{type:Boolean,default:()=>!1},children:{default:()=>[]},props:{}},{modelValue:{required:!0}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(n,{emit:o}){const l=n,a=o,r=ye(),u=e.useModel(n,"modelValue"),f=e.ref(!1),i=()=>{var b;l.locked||l.bindKey==="rowConfs"&&!((b=l.props)!=null&&b.rowMode)||(f.value=!0,s.value=0)},v=b=>{a("change",b)},s=e.ref(0),c=b=>{s.value=b},p=()=>{s.value=u.value.length,a("change",u.value.length+1)},m=b=>{b<=s.value&&(s.value=Math.max(0,s.value-1)),a("change",-b)},t=(b,y)=>{const{bindKey:V,children:k}=y;if(V==="colMode"){u.value[s.value].field=void 0;return}if(typeof b=="number"&&V==="colDomains"){const x=u.value[s.value];if(b>0){const S={id:G()};k==null||k.forEach(T=>{S[T.bindKey]=q(x[T.bindKey]??T.defaultValue)}),x[V].push(S)}else x[V].splice(-b,1)}},d=(b,y)=>typeof y=="boolean"?y:typeof y=="function"?y(b,l.props):!0,_=(b,y,V)=>`第 ${b+1} ${y==="rowConfs"?"行属性":y==="colConfs"?`列${g(V.field)}属性`:`个值域${h(V.domainVal)}`}`,h=b=>b?` [${b}] `:"",g=b=>{var V;const y=(r.value[((V=l.props)==null?void 0:V.source)??""]??[]).find(({value:k})=>k===b);return y!=null&&y.label?` [${y.label}] `:""},w=b=>{var y;if(b==="TABLE_SOURCE_FIELD"){const{colMode:V}=u.value[s.value];return(r.value[((y=l.props)==null?void 0:y.source)??""]??[]).filter(({innerType:k})=>+(k??0)===V)}return typeof b=="string"?r.value[b]??[]:b},C=e.shallowRef();return e.watch(()=>C.value,b=>{b&&new Pt(b,{animation:200,handle:".item-drag",onUpdate:y=>{const{id:V}=u.value[s.value];u.value.splice(y.newIndex,0,u.value.splice(y.oldIndex,1)[0]),s.value=u.value.findIndex(k=>k.id===V)}})},{immediate:!0}),(b,y)=>{var M,B;const V=e.resolveComponent("el-input"),k=e.resolveComponent("el-checkbox"),x=e.resolveComponent("el-button"),S=e.resolveComponent("el-icon"),T=e.resolveComponent("Delete"),E=e.resolveComponent("el-col"),$=e.resolveComponent("InfoFilled"),P=e.resolveComponent("el-tooltip"),A=e.resolveComponent("el-row");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(V,{modelValue:u.value.length>0?"集合":"",disabled:b.locked||b.bindKey==="rowConfs"&&!((M=l.props)!=null&&M.rowMode),placeholder:"点击配置",readonly:"",onClick:i},null,8,["modelValue","disabled"]),b.bindKey==="rowConfs"?(e.openBlock(),e.createBlock(k,{key:0,modelValue:(B=l.props)==null?void 0:B.rowMode,disabled:b.locked,onChange:v},{default:e.withCtx(()=>[e.createTextVNode(" 启用行配置 ")]),_:1},8,["modelValue","disabled"])):e.createCommentVNode("",!0),e.createVNode(Pe,{modelValue:f.value,"onUpdate:modelValue":y[2]||(y[2]=I=>f.value=I),title:b.label,size:"42%"},{footer:e.withCtx(()=>[e.createElementVNode("div",_s,[e.createVNode(x,{onClick:y[1]||(y[1]=I=>f.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(" 关闭 ")]),_:1})])]),default:e.withCtx(()=>[e.createVNode(A,{class:"table-setting",gutter:12},{default:e.withCtx(()=>[e.createVNode(E,{span:12,class:"setting-col"},{default:e.withCtx(()=>[e.createElementVNode("div",cs,[e.createElementVNode("div",us,[e.createVNode(x,{type:"primary",plain:"",onClick:p,size:"small"},{default:e.withCtx(()=>[e.createTextVNode(" 添加 ")]),_:1})]),e.createElementVNode("div",{class:"setting-list",ref_key:"sortEl",ref:C},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(I,D)=>(e.openBlock(),e.createElementBlock("div",{key:I.id,class:e.normalizeClass(["list-item",s.value===D?"selected":""])},[e.createElementVNode("span",ds,[e.createVNode(S,null,{default:e.withCtx(()=>[e.createVNode(xo)]),_:1})]),e.createElementVNode("div",{class:"item-content",onClick:O=>c(D)},[e.createElementVNode("span",{class:"item-name",title:_(D,b.bindKey||"",I)},e.toDisplayString(_(D,b.bindKey||"",I)),9,fs),b.bindKey==="colDomains"||u.value.length>1?(e.openBlock(),e.createBlock(S,{key:0,class:"item-icon",onClick:e.withModifiers(O=>m(D),["stop"])},{default:e.withCtx(()=>[e.createVNode(T)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)],8,ps)],2))),128))],512)])]),_:1}),e.createVNode(E,{span:12,class:"setting-col"},{default:e.withCtx(()=>[e.createElementVNode("div",ms,[u.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(b.children,({label:I,type:D,bindKey:O,options:L,display:U,tip:H,extra:Y,...j},F)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:O},[d(u.value[s.value],U)?(e.openBlock(),e.createElementBlock("div",vs,[e.createElementVNode("div",ys,[e.createElementVNode("span",null,e.toDisplayString(I),1),H?(e.openBlock(),e.createBlock(P,{key:0,placement:"top"},{content:e.withCtx(()=>[typeof H=="string"?(e.openBlock(),e.createElementBlock("span",hs,e.toDisplayString(H),1)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(H),{key:1}))]),default:e.withCtx(()=>[e.createVNode(S,{class:"tip-icon"},{default:e.withCtx(()=>[e.createVNode($)]),_:1})]),_:2},1024)):e.createCommentVNode("",!0),gs]),e.createElementVNode("div",bs,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ue).get(D)),e.mergeProps({label:I,bindKey:O,optionType:L,options:w(L),props:l.props,modelValue:u.value[s.value][O],"onUpdate:modelValue":X=>u.value[s.value][O]=X},j,{onChange:X=>t(X,b.children[F])}),e.createSlots({_:2},[Y?{name:"extra",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(Y),{property:b.children[F],data:u.value[s.value],"onUpdate:data":y[0]||(y[0]=X=>u.value[s.value]=X)},null,40,["property","data"]))]),key:"0"}:void 0]),1040,["label","bindKey","optionType","options","props","modelValue","onUpdate:modelValue","onChange"]))])])):e.createCommentVNode("",!0)],64))),128)):e.createCommentVNode("",!0)])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])],64)}}}),ws=K(ks,[["__scopeId","data-v-76958dce"]]),Cs=Object.freeze(Object.defineProperty({__proto__:null,default:ws},Symbol.toStringTag,{value:"Module"})),Ue=(()=>{const n=Object.assign({"/src/editors/checkbox-default/index.vue":sr,"/src/editors/color-picker/index.vue":cr,"/src/editors/filter-setting/index.vue":wr,"/src/editors/format-date/index.vue":Ir,"/src/editors/input-number/index.vue":Dr,"/src/editors/input-text/index.vue":Or,"/src/editors/input-textarea/index.vue":Wr,"/src/editors/media-list/index.vue":Kr,"/src/editors/multiple-number/index.vue":qr,"/src/editors/office-list/index.vue":Jr,"/src/editors/radio-button/index.vue":es,"/src/editors/radio-default/index.vue":os,"/src/editors/single-select/index.vue":as,"/src/editors/switch-default/index.vue":ss,"/src/editors/table-setting/index.vue":Cs}),o=new Map;return Object.keys(n).forEach(l=>{var r;const a=(r=l.match(/editors\/(.+)\/index\.vue/))==null?void 0:r[1];a&&o.set(a,n[l].default)}),o})(),Qe=n=>(e.pushScopeId("data-v-46ebd3ac"),n=n(),e.popScopeId(),n),xs={key:0,class:"frame-setting"},Vs={class:"setting-row"},Ss=Qe(()=>e.createElementVNode("div",{class:"row-label"},"元素类型:",-1)),Es={class:"row-editor"},Ts={class:"setting-row"},$s=Qe(()=>e.createElementVNode("div",{class:"row-label"},"元素层级:",-1)),Bs={class:"row-editor"},Ns={class:"setting-row"},Ms=Qe(()=>e.createElementVNode("div",{class:"row-label"},"元素名称:",-1)),Is={class:"row-editor"},Ps={key:0,class:"setting-row"},As={class:"row-label"},Ds={class:"row-editor"},zs={key:0,class:"setting-row"},Os={class:"row-label"},Ls={key:0},Ws=Qe(()=>e.createElementVNode("span",null,":",-1)),Fs={class:"row-editor"},Hs={key:1,class:"frame-empty"},Rs=e.defineComponent({name:"property-setting",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(n){const o=ve(),l=ye(),a=Ko(),r=e.useModel(n,"data"),u=e.computed(()=>{const m=r.value.filter(({selected:t})=>!!t);return r.value.findIndex(({id:t})=>{var d;return t===((d=m[m.length-1])==null?void 0:d.id)})}),f=e.computed(()=>{var m;return ce.get((m=r.value[u.value])==null?void 0:m.type)}),i=(m,t,d)=>m==="x"||m==="y"?o.value[m]:m==="width"||m==="height"?0:m==="x0"||m==="x1"?o.value.x:m==="y0"||m==="y1"?o.value.y:typeof d=="function"?d(t):d,v=(m,t,d)=>{const{x:_,y:h,width:g,height:w}=o.value,{x:C,y:b,width:y,height:V}=r.value[u.value].rect;return m==="x"?Math.max(0,_+g-y):m==="y"?Math.max(0,h+w-V):m==="width"?Math.max(0,_+g-C):m==="height"?Math.max(0,h+w-b):m==="x0"||m==="x1"?_+g:m==="y0"||m==="y1"?h+w:typeof d=="function"?d(t):d},s=(m,t)=>typeof t=="boolean"?t:typeof t=="function"?t(m):!0,c=m=>typeof m=="string"?l.value[m]??[]:m,p=m=>typeof m=="string"?a.value[m]??[]:[];return(m,t)=>{const d=e.resolveComponent("InfoFilled"),_=e.resolveComponent("el-icon"),h=e.resolveComponent("el-tooltip");return u.value>=0&&f.value?(e.openBlock(),e.createElementBlock("div",xs,[e.createElementVNode("div",Vs,[Ss,e.createElementVNode("div",Es,e.toDisplayString(`${f.value.title}-${f.value.seq}`),1)]),e.createElementVNode("div",Ts,[$s,e.createElementVNode("div",Bs,e.toDisplayString(u.value+1),1)]),e.createElementVNode("div",Ns,[Ms,e.createElementVNode("div",Is,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ue).get("input-text")),{locked:r.value[u.value].locked,modelValue:r.value[u.value].name,"onUpdate:modelValue":t[0]||(t[0]=g=>r.value[u.value].name=g)},null,8,["locked","modelValue"]))])]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value.rectangles,({label:g,type:w,bindKey:C,display:b,...y},V)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C},[s(r.value[u.value],b)?(e.openBlock(),e.createElementBlock("div",Ps,[e.createElementVNode("div",As,e.toDisplayString(g)+":",1),e.createElementVNode("div",Ds,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ue).get(w)),e.mergeProps({locked:r.value[u.value].locked,min:i(C,r.value[u.value]),max:v(C,r.value[u.value]),modelValue:r.value[u.value].rect[C],"onUpdate:modelValue":k=>r.value[u.value].rect[C]=k},y,{onChange:k=>{var x;return e.unref(Xe)(`${r.value[u.value].type}-${r.value[u.value].id}`,{value:k,property:(x=f.value)==null?void 0:x.rectangles[V]})}}),null,16,["locked","min","max","modelValue","onUpdate:modelValue","onChange"]))])])):e.createCommentVNode("",!0)],64))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value.properties,({label:g,type:w,bindKey:C,options:b,files:y,display:V,min:k,max:x,tip:S,extra:T,...E},$)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C},[s(r.value[u.value],V)?(e.openBlock(),e.createElementBlock("div",zs,[e.createElementVNode("div",Os,[e.createElementVNode("span",null,e.toDisplayString(g),1),S?(e.openBlock(),e.createBlock(h,{key:0,placement:"top"},{content:e.withCtx(()=>[typeof S=="string"?(e.openBlock(),e.createElementBlock("span",Ls,e.toDisplayString(S),1)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S),{key:1}))]),default:e.withCtx(()=>[e.createVNode(_,{class:"tip-icon"},{default:e.withCtx(()=>[e.createVNode(d)]),_:1})]),_:2},1024)):e.createCommentVNode("",!0),Ws]),e.createElementVNode("div",Fs,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ue).get(w)),e.mergeProps({label:g,bindKey:C,optionType:b,options:c(b),fileType:y,files:p(y),locked:r.value[u.value].locked,rect:r.value[u.value].rect,props:r.value[u.value].props,min:i(C,r.value[u.value],k),max:v(C,r.value[u.value],x),modelValue:r.value[u.value].props[C],"onUpdate:modelValue":P=>r.value[u.value].props[C]=P},E,{onChange:P=>{var A;return e.unref(Xe)(`${r.value[u.value].type}-${r.value[u.value].id}`,{value:P,property:(A=f.value)==null?void 0:A.properties[$]})}}),e.createSlots({_:2},[T?{name:"extra",fn:e.withCtx(()=>{var P;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(T),{property:(P=f.value)==null?void 0:P.properties[$],data:r.value[u.value],"onUpdate:data":t[1]||(t[1]=A=>r.value[u.value]=A)},null,40,["property","data"]))]}),key:"0"}:void 0]),1040,["label","bindKey","optionType","options","fileType","files","locked","rect","props","min","max","modelValue","onUpdate:modelValue","onChange"]))])])):e.createCommentVNode("",!0)],64))),128))])):(e.openBlock(),e.createElementBlock("div",Hs,"请选择一个元素"))}}}),Ks=K(Rs,[["__scopeId","data-v-46ebd3ac"]]),Us={class:"frame-paste"},Ys=e.defineComponent({name:"paste-board",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(n){const o=e.shallowRef([]),l=e.useModel(n,"data"),a=Ie(l);e.watch(()=>a.globalCopy.value,()=>{try{o.value=JSON.parse(sessionStorage.getItem(Be)??"[]")}catch{o.value=[]}},{immediate:!0});const r=f=>{a.handlePaste(e.toRaw(f))},u=f=>{const i=[...o.value];i.splice(f,1),o.value=i,sessionStorage.setItem(Be,JSON.stringify(i))};return(f,i)=>{const v=e.resolveComponent("el-table-column"),s=e.resolveComponent("el-tag"),c=e.resolveComponent("el-space"),p=e.resolveComponent("el-link"),m=e.resolveComponent("el-table");return e.openBlock(),e.createElementBlock("div",Us,[e.createVNode(m,{size:"small","empty-text":"暂无数据",data:o.value},{default:e.withCtx(()=>[e.createVNode(v,{type:"index",width:"60",label:"序号",align:"center"}),e.createVNode(v,{label:"元素",align:"center"},{default:e.withCtx(({row:t})=>[e.createVNode(c,{wrap:"",style:{"justify-content":"center"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t,({name:d},_)=>(e.openBlock(),e.createBlock(s,{key:`${d}-${_}`,type:"success"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(d),1)]),_:2},1024))),128))]),_:2},1024)]),_:1}),e.createVNode(v,{label:"操作",width:"80",align:"center"},{default:e.withCtx(({row:t,$index:d})=>[e.createVNode(c,null,{default:e.withCtx(()=>[e.createVNode(p,{type:"primary",onClick:()=>r(t)},{default:e.withCtx(()=>[e.createTextVNode("粘贴")]),_:2},1032,["onClick"]),e.createVNode(p,{type:"primary",onClick:()=>u(d)},{default:e.withCtx(()=>[e.createTextVNode("删除")]),_:2},1032,["onClick"])]),_:2},1024)]),_:1})]),_:1},8,["data"])])}}}),js=K(Ys,[["__scopeId","data-v-07274a24"]]),qs=e.defineComponent({name:"frame-editor",inheritAttrs:!1,__name:"index",props:{style:{},className:{},frameName:{default:()=>""},screenTypeID:{default:()=>""},duration:{default:()=>0},width:{default:()=>641},height:{default:()=>481},bgcolor:{default:()=>"#ffffff"},xmlString:{default:()=>""},dataSource:{default:()=>({})},fileSource:{default:()=>({})},fileBuffer:{}},emits:["code","preview","save","remove","global"],setup(n,{expose:o,emit:l}){const a=l,r=n;o({clone:b=>{try{if(b&&typeof b=="string")return $e(dt(b),wo(b))}catch(y){ee.ElMessage.error(y.message??"解析失败")}return b}});const u=Wo(r),f=Ho(r);Ro(r),Uo(r),Xt(r);const i=e.ref([]);e.watchEffect(()=>{try{if(r.xmlString&&typeof r.xmlString=="string"){const b=dt(r.xmlString);b.length===0&&ee.ElMessage.warning("解析 XML 是空白帧,内部不含任何元素"),i.value=Co(b,f.value);return}}catch(b){ee.ElMessage.error(b.message??"解析 XML 失败")}i.value=[]});const v=()=>{try{const b=$e(e.toRaw(i.value),{...u.value,...f.value});a("code",b)}catch(b){ee.ElMessage.error(b.message??"查看XML失败")}},s=()=>{try{const b=$e(e.toRaw(i.value),{...u.value,...f.value});a("preview",b)}catch(b){ee.ElMessage.error(b.message??"预览失败")}},c=()=>{try{const b=$e(e.toRaw(i.value),{...u.value,...f.value});a("save",b)}catch(b){ee.ElMessage.error(b.message??"保存失败")}},p=()=>{a("remove")},m=e.ref("widget"),t=e.ref("property"),d=e.ref(12),_=e.ref(28),h=e.ref(60),g=b=>{b<0?d.value===0?(h.value-=15,d.value=15):(h.value+=d.value,d.value=0):_.value===0?(h.value-=25,_.value=25):(h.value+=_.value,_.value=0)},w=({panes:b})=>{d.value=b[0].size,h.value=b[1].size,_.value=b[2].size},C=Me("frame-editor-global",b=>a("global",b));return e.onUnmounted(()=>{C()}),(b,y)=>{const V=e.resolveComponent("el-tab-pane"),k=e.resolveComponent("el-tabs"),x=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["frame-editor",b.className]),style:e.normalizeStyle(b.style)},[e.createVNode(e.unref(Le.Splitpanes),{class:"default-theme",onResize:w},{default:e.withCtx(()=>[e.createVNode(e.unref(Le.Pane),{size:d.value},{default:e.withCtx(()=>[e.createVNode(k,{modelValue:m.value,"onUpdate:modelValue":y[2]||(y[2]=S=>m.value=S)},{default:e.withCtx(()=>[e.createVNode(V,{label:"组件",name:"widget"},{default:e.withCtx(()=>[e.createVNode(Ma,{data:i.value,"onUpdate:data":y[0]||(y[0]=S=>i.value=S)},null,8,["data"])]),_:1}),e.createVNode(V,{label:"结构",name:"structure"},{default:e.withCtx(()=>[e.createVNode(Fa,{data:i.value,"onUpdate:data":y[1]||(y[1]=S=>i.value=S)},null,8,["data"])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["size"]),e.createVNode(e.unref(Le.Pane),{size:h.value},{default:e.withCtx(()=>[e.createVNode(x,{class:"left-collapse",style:e.normalizeStyle({left:d.value===0?"-1px":"-22px"}),icon:d.value===0?"ArrowRight":"ArrowLeft",onClick:y[3]||(y[3]=S=>g(-1))},null,8,["style","icon"]),e.createVNode(qa,{data:i.value,"onUpdate:data":y[4]||(y[4]=S=>i.value=S),onSave:c,onRemove:p,onPreview:s,onCode:v},null,8,["data"]),e.createVNode(ar,{data:i.value,"onUpdate:data":y[5]||(y[5]=S=>i.value=S),bgcolor:b.bgcolor},null,8,["data","bgcolor"]),e.createVNode(x,{class:"right-collapse",style:e.normalizeStyle({right:_.value===0?"0px":"-21px"}),icon:_.value===0?"ArrowLeft":"ArrowRight",onClick:y[6]||(y[6]=S=>g(1))},null,8,["style","icon"])]),_:1},8,["size"]),e.createVNode(e.unref(Le.Pane),{size:_.value},{default:e.withCtx(()=>[e.createVNode(k,{modelValue:t.value,"onUpdate:modelValue":y[9]||(y[9]=S=>t.value=S)},{default:e.withCtx(()=>[e.createVNode(V,{label:"属性",name:"property"},{default:e.withCtx(()=>[e.createVNode(Ks,{data:i.value,"onUpdate:data":y[7]||(y[7]=S=>i.value=S)},null,8,["data"])]),_:1}),e.createVNode(V,{label:"粘贴板",name:"clipboard"},{default:e.withCtx(()=>[e.createVNode(js,{data:i.value,"onUpdate:data":y[8]||(y[8]=S=>i.value=S)},null,8,["data"])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["size"])]),_:1})],6)}}}),Ye=K(qs,[["__scopeId","data-v-e303ba54"]]),Xs={class:"frame-view"},Gs=["onClick","onDblclick"],Zs=e.defineComponent({name:"frame-view",inheritAttrs:!1,__name:"index",props:{frameDatas:{},liveDatas:{},playIndex:{},showElBorder:{type:Boolean},selectedData:{}},emits:["action"],setup(n,{emit:o}){const l=n,a=o,r=i=>{if(!l.selectedData)return!1;const{type:v,source:s}=l.selectedData;return i.type===v&&i.props.source===s},u=i=>({transform:`translate(${z(i.x)},${z(i.y)})`,width:z(i.width),height:z(i.height)}),f=(i,v)=>{const s=v.props.source,c=ce.get(v.type);if(c&&typeof s<"u"){const p={id:v.id,key:c.key,seq:c.seq,type:v.type,source:s};a("action",i,p)}};return(i,v)=>(e.openBlock(),e.createElementBlock("div",Xs,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.frameDatas,s=>{var c,p;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["element-item",r(s)?"active":i.showElBorder?"outline":""]),key:s.id,style:e.normalizeStyle(u(s.rect)),onClick:m=>f("click",s),onDblclick:m=>f("dblclick",s)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((c=e.unref(ce).get(s.type))==null?void 0:c.view),e.mergeProps({id:s.id,rect:s.rect,liveDatas:(p=i.liveDatas)==null?void 0:p[s.id],playIndex:i.playIndex,preview:""},s.props),null,16,["id","rect","liveDatas","playIndex"]))],46,Gs)}),128))]))}}),Js=K(Zs,[["__scopeId","data-v-b89d4c7c"]]),Qs={key:1,style:{color:"red"}},ei=e.defineComponent({name:"frame-preview",inheritAttrs:!1,__name:"preview",props:{style:{},className:{},bgcolor:{},xmlString:{default:()=>""},useLiveData:{type:Boolean,default:()=>!1},selectedData:{},autoPlay:{type:Boolean,default:()=>!1},autoScale:{type:Boolean,default:()=>!1},showElBorder:{type:Boolean,default:()=>!1},fileBuffer:{}},emits:["action","change"],setup(n,{emit:o}){const l=o,a=n;Xt(a);const r=e.computed(()=>{try{if(a.xmlString&&typeof a.xmlString=="string"){const y=Ca(a.xmlString);return y||ee.ElMessage.warning("预览的是空白帧,内部不含任何元素"),y}}catch(y){ee.ElMessage.error(y.message??"解析 xml 失败")}return null}),u=e.computed(()=>{if(r.value){const{width:y,height:V}=r.value;return{width:z(y),minWidth:z(y),maxWidth:z(y),height:z(V),minHeight:z(V),maxHeight:z(V)}}return{}}),f=e.computed(()=>{if(r.value){const{datas:y}=r.value;return a.useLiveData?y:null}return null}),i=e.ref(-1),v=e.ref(-1),s=e.shallowRef(null);let c=null;const p=()=>{c==null||c.stop(),c=null,i.value=-1,v.value=-1,s.value=null};e.onBeforeUnmount(p),e.watch([()=>r.value,()=>a.autoPlay],([y,V])=>{if(p(),y){const{frames:k,durations:x}=y,S=k.length;S===0?s.value=null:S===1||!V?(s.value=k[0],i.value=V?-1:0,v.value=V?-1:0):(c=new Gt(T=>{const E=s.value=k[T];return l("change",T,E),x[T]},{min:0,max:S-1}),c.start())}},{immediate:!0});const m=e.computed(()=>r.value?i.value<=0&&v.value<=0:!0),t=()=>{if(!a.autoPlay&&r.value){const{frames:y,pages:V}=r.value,k=i.value-1,x=v.value-1;if(x<0){if(k<0)return;i.value=k,v.value=V[k]-1}else v.value=x;const S=s.value=y[i.value];l("change",i.value,S)}},d=e.computed(()=>{if(!r.value)return!0;const{pages:y}=r.value,V=y.length,k=y[V-1];return i.value>=V-1&&v.value>=k-1}),_=()=>{if(!a.autoPlay&&r.value){const{frames:y,pages:V}=r.value,k=i.value+1,x=v.value+1;if(x>=V[i.value]){if(k>=V.length)return;i.value=k,v.value=0}else v.value=x;const S=s.value=y[i.value];l("change",i.value,S)}},h=(y,V)=>{l("action",y,V)},{elRef:g,width:w,height:C}=Ne(),b=e.computed(()=>{if(a.autoScale&&r.value){const y=Math.min(w.value/r.value.width,C.value/r.value.height);if(!Number.isNaN(y)&&y>0)return y}return 1});return(y,V)=>{const k=e.resolveComponent("el-button");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["frame-preview",y.className]),style:e.normalizeStyle(y.style)},[!y.autoPlay&&y.useLiveData&&r.value?(e.openBlock(),e.createBlock(k,{key:0,class:"prev-frame",title:"上一页(当帧内部最大页码元素切换完之后, 转入上一帧)",icon:"ArrowLeft",size:"large",circle:"",disabled:m.value,onClick:t},null,8,["disabled"])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"stageRef",ref:g,class:"preview-stage",style:e.normalizeStyle({overflow:y.autoScale?"hidden":"auto"})},[e.createElementVNode("div",{class:"preview-screen",style:e.normalizeStyle({...u.value,transform:`scale(${b.value})`,...y.bgcolor?{background:y.bgcolor,boxShadow:"none"}:{}})},[s.value?(e.openBlock(),e.createBlock(Js,{key:0,frameDatas:s.value,liveDatas:f.value,playIndex:v.value,selectedData:y.selectedData,showElBorder:y.showElBorder,onAction:h},null,8,["frameDatas","liveDatas","playIndex","selectedData","showElBorder"])):(e.openBlock(),e.createElementBlock("div",Qs,"当前没有任何帧"))],4)],4),!y.autoPlay&&y.useLiveData&&r.value?(e.openBlock(),e.createBlock(k,{key:1,class:"next-frame",title:"下一页(当帧内部最大页码元素切换完之后, 转入下一帧)",icon:"ArrowRight",size:"large",circle:"",disabled:d.value,onClick:_},null,8,["disabled"])):e.createCommentVNode("",!0)],6)}}}),je=K(ei,[["__scopeId","data-v-220c7a08"]]);Ye.install=n=>{n.component(Ye.name||"FrameEditor",Ye)};je.install=n=>{n.component(je.name||"FramePreview",je)};const ti=Ye,oi=je,li="1.0.0";exports.FrameEditor=ti;exports.FramePreview=oi;exports.version=li;
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .splitpanes{display:flex;width:100%;height:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane,*:has(.splitpanes--dragging){-webkit-user-select:none;user-select:none;pointer-events:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out;will-change:width}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out;will-change:height}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{background-color:#fff;box-sizing:border-box;position:relative;flex-shrink:0}.default-theme.splitpanes .splitpanes__splitter:before,.default-theme.splitpanes .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;transition:background-color .3s}.default-theme.splitpanes .splitpanes__splitter:hover:before,.default-theme.splitpanes .splitpanes__splitter:hover:after{background-color:#00000040}.default-theme.splitpanes .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.arrow-line-widget[data-v-f6688de1]{transform-origin:left top}.arrow-line-widget .arrow-line-widget-inner[data-v-f6688de1]{display:flex;align-items:center;transform:translateY(-50%)}.arrow-line-widget .arrow-line-widget-inner .line[data-v-f6688de1]{flex:1;border-top:1px solid #ff0000;border-left:none!important;border-right:none!important;border-top:none!important}.arrow-line-widget .arrow-line-widget-inner .arrow[data-v-f6688de1]{width:0;height:0;border-left:12px solid #ff0000;border-top-width:6px;border-bottom-width:6px;border-top-style:solid;border-bottom-style:solid;border-top-color:transparent!important;border-bottom-color:transparent!important;border-right:none!important}.circle-widget[data-v-f634a654]{width:100%;height:100%;box-sizing:border-box;overflow:hidden;border-radius:50%}.clock-widget[data-v-c8e615f1]{width:100%;height:100%;overflow:hidden}.digital-clock-container[data-v-c8e615f1]{width:100%;height:100%;overflow:hidden;white-space:pre;-webkit-user-select:none;user-select:none}.tip[data-v-eb404351]{font-size:12px;color:gray}.resizable-table[data-v-5c70c8e3]{width:100%;height:100%;border:none;box-sizing:border-box}.resizable-table .tr[data-v-5c70c8e3]{display:flex;border:none;box-sizing:border-box}.resizable-table .tr:first-child .td[data-v-5c70c8e3]{margin-top:0!important}.resizable-table .td[data-v-5c70c8e3]{position:relative;display:inline-block;box-sizing:border-box}.resizable-table .td[data-v-5c70c8e3]:first-child{margin-left:0!important}.resizable-table .td .text-image[data-v-5c70c8e3]{width:100%;height:100%;overflow:hidden;white-space:pre;-webkit-user-select:none;user-select:none}.resizable-table .resize-handle-col[data-v-5c70c8e3],.resizable-table .resize-handle-row[data-v-5c70c8e3]{position:absolute;top:0;left:0;z-index:1}.resizable-table .resize-handle-row[data-v-5c70c8e3]{width:100%;min-height:6px;max-height:12px;transform:translateY(-50%);cursor:row-resize}.resizable-table .resize-handle-col[data-v-5c70c8e3]{min-width:6px;max-width:12px;height:100%;transform:translate(-50%);cursor:col-resize}.data-table-widget[data-v-06b452c4]{width:100%;height:100%;overflow:hidden}.source-label[data-v-f4e0b6c9]{position:absolute;max-width:100%;top:50%;left:50%;padding:8px;box-sizing:border-box;color:red;font-size:16px;font-weight:400;font-family:SimSun;text-align:center;overflow:hidden;text-overflow:ellipsis;font-style:normal;white-space:nowrap;transform:translate(-50%,-50%);background:#393939;border-radius:4px;z-index:10}.flex[data-v-6dc73490]{--scale: 1;display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none}.flex>img[data-v-6dc73490],.flex>video[data-v-6dc73490]{width:100%;height:100%}.flex[data-v-6dc73490] .vue-office-docx,.flex[data-v-6dc73490] .vue-office-pptx{width:100%!important;height:100%!important;overflow:hidden auto!important}.flex[data-v-6dc73490] .vue-office-docx-main,.flex[data-v-6dc73490] .vue-office-pptx-main{width:max-content!important;height:100%!important;transform:scale(var(--scale));transform-origin:top left}.flex[data-v-6dc73490] .pptx-preview-wrapper{width:max-content!important;height:max-content!important;overflow:initial!important}.image-widget[data-v-2f32312a]{width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none}.line-widget[data-v-c724f697]{transform-origin:left top}.line-widget .line-widget-inner[data-v-c724f697]{display:flex;align-items:center;transform:translateY(-50%)}.line-widget .line-widget-inner .line[data-v-c724f697]{flex:1;border-top:1px solid #ff0000;border-left:none!important;border-right:none!important;border-top:none!important}.ppt-widget[data-v-187900d9]{width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none}.rectangle-widget[data-v-41a4fad0]{width:100%;height:100%;box-sizing:border-box;overflow:hidden}.rich-text-widget[data-v-abb83169]{--white-space: pre-wrap;width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none}.rich-text-widget *[data-v-abb83169]{white-space:var(--white-space)}.table-widget[data-v-b7b5d60e]{width:100%;height:100%;overflow:hidden}.text-widget[data-v-6a5503a9]{width:100%;height:100%;overflow:hidden;white-space:pre;-webkit-user-select:none;user-select:none}.video-widget[data-v-6cc7fa30],.word-widget[data-v-f433cbf4]{width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none}.frame-widget .widget-title[data-v-85483ddd]{font-weight:600;font-size:14px;padding:12px;margin:0;white-space:nowrap}.frame-widget .widget-list[data-v-85483ddd]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;margin:0 6px}.frame-widget .widget-item[data-v-85483ddd]{display:flex;flex-direction:column;align-items:center;box-sizing:border-box;min-width:60px;padding:6px;transition:all .3s ease;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:2px}.frame-widget .widget-item .widget-icon[data-v-85483ddd]{font-size:24px}.frame-widget .widget-item .widget-name[data-v-85483ddd]{font-size:12px;margin-top:6px;white-space:nowrap}.frame-widget .widget-item[data-v-85483ddd]:hover{background:#409eff;color:#fff}.frame-structure[data-v-b4aee5d3]{display:flex;flex-direction:column}.frame-structure .structure-list[data-v-b4aee5d3]{margin:0 5px}.frame-structure .structure-list .sortable-ghost[data-v-b4aee5d3]{color:#fff!important;background-color:#409eff!important}.frame-structure .structure-list .sortable-ghost .item-icon[data-v-b4aee5d3]{color:#fff!important}.frame-structure .list-item[data-v-b4aee5d3]{display:flex;align-items:center;height:30px;border-radius:2px;outline:none;white-space:nowrap;margin-top:5px;padding:0 8px;cursor:pointer;-webkit-user-select:none;user-select:none}.frame-structure .list-item[data-v-b4aee5d3]:hover{background-color:#f5f7fa}.frame-structure .list-item.selected[data-v-b4aee5d3],.frame-structure .list-item.selected .item-icon[data-v-b4aee5d3]{color:#409eff}.frame-structure .item-drag[data-v-b4aee5d3]{cursor:move;margin-right:6px;font-size:16px;display:flex;justify-content:center;align-items:center}.frame-structure .item-content[data-v-b4aee5d3]{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 22px);height:26px;line-height:26px;padding-right:5px}.frame-structure .item-content .item-name[data-v-b4aee5d3]{width:100%;margin-right:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline-block}.frame-toolbar-scroll[data-v-d94b2344]{width:100%;height:42px;overflow-y:hidden}.frame-toolbar[data-v-d94b2344]{padding:8px 16px;display:flex;gap:10px;min-width:fit-content;align-items:center;justify-content:space-between;white-space:nowrap;border-bottom:1px solid #dcdfe6;background-color:#fff}.frame-toolbar[data-v-d94b2344] .el-button+.el-button{margin-left:0}.frame-toolbar .tool-left[data-v-d94b2344],.frame-toolbar .tool-right[data-v-d94b2344]{display:flex;align-items:center;gap:5px}.frame-toolbar .zoom[data-v-d94b2344]{font-size:20px}.contextmenu[data-v-2b6c3473]{position:fixed;top:0;left:0;z-index:999;min-width:100px;margin:3px;padding:5px 0;font-size:14px;color:#303133;list-style:none;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #00000026;transition:opacity .2s ease}.contextmenu>li[data-v-2b6c3473]{display:flex;padding:8px 12px;cursor:pointer;align-items:center}.contextmenu>li[data-v-2b6c3473]:hover,.contextmenu>li[data-v-2b6c3473]:focus{color:#409eff;background-color:#ecf5ff;outline:none}.contextmenu-enter-active[data-v-2b6c3473],.contextmenu-leave-active[data-v-2b6c3473]{opacity:1;transform:scaleY(1);transform-origin:center top;transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1)}.contextmenu-enter-from[data-v-2b6c3473],.contextmenu-leave-to[data-v-2b6c3473]{opacity:0;transform:scaleY(0)}.frame-canvas[data-v-2f90716e]{margin:16px;overflow:auto;height:calc(100% - 72px)}.frame-canvas .frame-stage[data-v-2f90716e]{position:relative;overflow:hidden;background:linear-gradient(-90deg,#dedede 1px,#efefef00 1px) 0% 0%/32px 32px,linear-gradient(#dedede 1px,#efefef 1px) 0% 0%/32px 32px;background-position:1px 0;outline:none}.frame-canvas .element-item[data-v-2f90716e]{position:absolute;left:0;right:0;width:0;height:0;transform-origin:left top;box-sizing:border-box}.frame-canvas .element-item.active[data-v-2f90716e]{outline:1px dashed blue}.frame-canvas .element-item.locked[data-v-2f90716e]{border:1px dashed red}.frame-canvas .box-selector[data-v-2f90716e]{position:absolute;left:0;top:0;width:0;height:0;transform-origin:left top;background-color:#00f3}.frame-canvas .stick-point[data-v-2f90716e]{position:absolute;top:0;left:0;width:6px;height:6px;transform-origin:left top;margin-top:-3px;margin-left:-3px;border:1px solid blue;box-shadow:0 0 2px #00f;background:#fff}.frame-canvas .stick-point.stick-point-left-top[data-v-2f90716e],.frame-canvas .stick-point.stick-point-right-bottom[data-v-2f90716e]{cursor:nwse-resize}.frame-canvas .stick-point.stick-point-top[data-v-2f90716e],.frame-canvas .stick-point.stick-point-bottom[data-v-2f90716e]{cursor:ns-resize}.frame-canvas .stick-point.stick-point-right-top[data-v-2f90716e],.frame-canvas .stick-point.stick-point-left-bottom[data-v-2f90716e]{cursor:nesw-resize}.frame-canvas .stick-point.stick-point-left[data-v-2f90716e],.frame-canvas .stick-point.stick-point-right[data-v-2f90716e]{cursor:ew-resize}.frame-canvas .stick-line[data-v-2f90716e]{position:absolute;left:0;top:0;width:0;height:0;transform-origin:left top;border:0px dashed blue}.frame-canvas .stick-line.stick-line-left[data-v-2f90716e],.frame-canvas .stick-line.stick-line-right[data-v-2f90716e]{width:0px;margin-left:0;border-left-width:1px}.frame-canvas .stick-line.stick-line-top[data-v-2f90716e],.frame-canvas .stick-line.stick-line-bottom[data-v-2f90716e]{height:0px;margin-top:0;border-top-width:1px}.frame-canvas .auxiliary-line[data-v-2f90716e]{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:left top;border:0px dashed blue}.frame-canvas .auxiliary-line.auxiliary-line-left[data-v-2f90716e],.frame-canvas .auxiliary-line.auxiliary-line-right[data-v-2f90716e]{width:0px;margin-left:0;border-left-width:1px}.frame-canvas .auxiliary-line.auxiliary-line-top[data-v-2f90716e],.frame-canvas .auxiliary-line.auxiliary-line-bottom[data-v-2f90716e]{height:0px;margin-top:0;border-top-width:1px}.color-picker .el-color-predefine .el-color-predefine__color-selector{border:1px solid gray;box-sizing:border-box}.popup-provider .el-dialog__body,.popup-provider .el-drawer__body{padding:8px 16px 16px;font-size:14px;overflow:auto}.popup-provider .el-dialog__body{max-height:75vh}.name-select[data-v-b75b0d63]{width:100%}.cond-select[data-v-b75b0d63]{width:45%}.setting-row[data-v-b75b0d63]{margin:8px 12px;display:flex;align-items:center}.setting-row .row-label[data-v-b75b0d63]{margin-right:6px}.setting-row .row-editor[data-v-b75b0d63]{position:relative;flex:1;text-align:left;display:flex;align-items:center;gap:12px}[data-v-daa125a3] .el-form-item{margin-bottom:16px}.format-description[data-v-daa125a3]{font-size:12px;color:#666;margin-top:5px;word-break:break-word;overflow:hidden;text-overflow:ellipsis;min-height:32px}.preview[data-v-daa125a3]{margin-top:20px;padding:10px;border:1px dashed #ddd;border-radius:4px;background-color:#f9f9f9}.input-number[data-v-28c9d5a9]{width:100%}.input-number[data-v-28c9d5a9] input.el-input__inner{text-align:left}.list-item[data-v-6b6e1d92]{min-width:120px;height:100px;text-align:center;cursor:pointer;text-overflow:ellipsis;overflow:hidden;padding-top:8px;padding-bottom:24px;margin-bottom:4px}.list-item.active[data-v-6b6e1d92]{box-shadow:0 0 2px 1px #00f}.number-popover[data-v-fb1101e1]{max-height:306px;overflow:auto}.number-popover .item[data-v-fb1101e1]{display:flex;justify-content:center;align-items:center;gap:12px;padding:6px 0}.number-popover .input-number[data-v-fb1101e1]{flex:1}.number-popover .input-number[data-v-fb1101e1] input.el-input__inner{text-align:left}.list-item[data-v-b945d8c4]{min-width:120px;height:260px;text-align:center;cursor:pointer;text-overflow:ellipsis;overflow:hidden;padding-top:8px;padding-bottom:24px;margin-bottom:4px}.list-item.active[data-v-b945d8c4]{box-shadow:0 0 2px 1px #00f}.single-select[data-v-58a90895]{width:100%}.table-setting[data-v-76958dce]{height:100%}.table-setting .table-col[data-v-76958dce]{display:flex;flex-direction:column;height:100%;border:1px solid #dcdfe6;border-radius:4px}.table-setting .setting-add[data-v-76958dce]{text-align:right;padding:6px 12px}.table-setting .setting-list[data-v-76958dce]{display:flex;flex-direction:column;height:100%;overflow:auto}.table-setting .list-item[data-v-76958dce]{display:flex;align-items:center;padding:3px 12px;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #f2f2f2}.table-setting .list-item[data-v-76958dce]:hover{background-color:#f5f7fa}.table-setting .list-item.selected[data-v-76958dce]{background-color:#ecf5ff;color:#409eff}.table-setting .list-item .item-drag[data-v-76958dce]{cursor:move;margin-top:2px}.table-setting .list-item .item-content[data-v-76958dce]{flex:1;display:flex;justify-content:space-between;align-items:center;padding:6px 0;overflow:hidden}.table-setting .list-item .item-content .item-name[data-v-76958dce]{margin-right:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table-setting .list-item .item-content .item-icon[data-v-76958dce]{color:#f89898}.table-setting .setting-row[data-v-76958dce]{margin:8px 12px;display:flex;align-items:center}.table-setting .setting-row .row-label[data-v-76958dce]{margin-right:12px;width:74px;text-align:right;white-space:nowrap}.table-setting .setting-row .row-label .tip-icon[data-v-76958dce]{margin-top:-3px;vertical-align:middle;color:gray}.table-setting .setting-row .row-editor[data-v-76958dce]{position:relative;flex:1;text-align:left;display:flex;align-items:center;gap:12px}.frame-setting[data-v-46ebd3ac]{font-size:14px}.frame-setting .setting-row[data-v-46ebd3ac]{margin:8px 12px;display:flex;align-items:center}.frame-setting .setting-row .row-label[data-v-46ebd3ac]{margin-right:12px;width:74px;text-align:right;white-space:nowrap}.frame-setting .setting-row .row-editor[data-v-46ebd3ac]{position:relative;flex:1;text-align:left;display:flex;align-items:center;gap:12px}.frame-empty[data-v-46ebd3ac]{padding:10px}.tip-icon[data-v-46ebd3ac]{margin-top:-3px;vertical-align:middle;color:gray}.frame-paste[data-v-07274a24]{margin:0 10px}.frame-paste[data-v-07274a24] .el-link{font-size:12px}.frame-editor[data-v-e303ba54]{position:relative;width:100%;height:100%;border:1px solid #dcdfe6;border-radius:4px}.frame-editor[data-v-e303ba54] .el-tabs{height:100%}.frame-editor[data-v-e303ba54] .el-tabs .el-tabs__content{height:calc(100% - 67px);overflow:auto}.frame-editor[data-v-e303ba54] .el-tabs .el-tabs__nav-scroll{padding:0 10px}.frame-editor[data-v-e303ba54] .el-tabs .el-tabs__nav-wrap:after{height:1px}.frame-editor[data-v-e303ba54] .splitpanes__pane{position:relative;background-color:#fff}.frame-editor[data-v-e303ba54] .splitpanes__pane:first-child,.frame-editor[data-v-e303ba54] .splitpanes__pane:last-child{background-color:#fff;overflow:hidden}.frame-editor[data-v-e303ba54] .splitpanes__splitter{border-left:1px solid #dcdfe6;border-right:1px solid #dcdfe6}.frame-editor .left-collapse[data-v-e303ba54],.frame-editor .right-collapse[data-v-e303ba54]{position:absolute;width:16px;z-index:1;top:50%;padding:0;margin-top:-16px;border-radius:2px}.frame-view[data-v-b89d4c7c]{position:relative;width:100%;height:100%;overflow:hidden;outline:none}.frame-view .element-item[data-v-b89d4c7c]{position:absolute;left:0;right:0;width:0;height:0;transform-origin:left top;box-sizing:border-box}.frame-view .element-item.active[data-v-b89d4c7c]{outline:1px dashed blue}.frame-view .element-item.outline[data-v-b89d4c7c]{outline:1px dashed rgba(255,0,0,.3)}.frame-preview[data-v-28ecdf03]{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center}.frame-preview .preview-stage[data-v-28ecdf03]{margin:0 auto;flex:1;align-self:stretch;display:flex;justify-content:center;align-items:center}.frame-preview .preview-stage .preview-screen[data-v-28ecdf03]{background:linear-gradient(-90deg,rgba(0,0,0,.1) 1px,transparent 1px) 0% 0%/4px 4px,linear-gradient(rgba(0,0,0,.1) 1px,transparent 1px) 0% 0%/4px 4px;background-position:1px 0;box-shadow:0 0 4px #000;overflow:hidden;-webkit-user-select:none;user-select:none}.frame-preview .prev-frame[data-v-28ecdf03],.frame-preview .next-frame[data-v-28ecdf03]{font-size:28px}.frame-preview .prev-frame[data-v-28ecdf03]{margin-right:16px}.frame-preview .next-frame[data-v-28ecdf03]{margin-left:16px}
1
+ .splitpanes{display:flex;width:100%;height:100%}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging .splitpanes__pane,*:has(.splitpanes--dragging){-webkit-user-select:none;user-select:none;pointer-events:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{transition:width .2s ease-out;will-change:width}.splitpanes--horizontal .splitpanes__pane{transition:height .2s ease-out;will-change:height}.splitpanes--dragging .splitpanes__pane{transition:none}.splitpanes__splitter{touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.default-theme.splitpanes .splitpanes__pane{background-color:#f2f2f2}.default-theme.splitpanes .splitpanes__splitter{background-color:#fff;box-sizing:border-box;position:relative;flex-shrink:0}.default-theme.splitpanes .splitpanes__splitter:before,.default-theme.splitpanes .splitpanes__splitter:after{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;transition:background-color .3s}.default-theme.splitpanes .splitpanes__splitter:hover:before,.default-theme.splitpanes .splitpanes__splitter:hover:after{background-color:#00000040}.default-theme.splitpanes .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.arrow-line-widget[data-v-f6688de1]{transform-origin:left top}.arrow-line-widget .arrow-line-widget-inner[data-v-f6688de1]{display:flex;align-items:center;transform:translateY(-50%)}.arrow-line-widget .arrow-line-widget-inner .line[data-v-f6688de1]{flex:1;border-top:1px solid #ff0000;border-left:none!important;border-right:none!important;border-top:none!important}.arrow-line-widget .arrow-line-widget-inner .arrow[data-v-f6688de1]{width:0;height:0;border-left:12px solid #ff0000;border-top-width:6px;border-bottom-width:6px;border-top-style:solid;border-bottom-style:solid;border-top-color:transparent!important;border-bottom-color:transparent!important;border-right:none!important}.circle-widget[data-v-f634a654]{width:100%;height:100%;box-sizing:border-box;overflow:hidden;border-radius:50%}.clock-widget[data-v-c8e615f1]{width:100%;height:100%;overflow:hidden}.digital-clock-container[data-v-c8e615f1]{width:100%;height:100%;overflow:hidden;white-space:pre;-webkit-user-select:none;user-select:none}.tip[data-v-eb404351]{font-size:12px;color:gray}.resizable-table[data-v-5c70c8e3]{width:100%;height:100%;border:none;box-sizing:border-box}.resizable-table .tr[data-v-5c70c8e3]{display:flex;border:none;box-sizing:border-box}.resizable-table .tr:first-child .td[data-v-5c70c8e3]{margin-top:0!important}.resizable-table .td[data-v-5c70c8e3]{position:relative;display:inline-block;box-sizing:border-box}.resizable-table .td[data-v-5c70c8e3]:first-child{margin-left:0!important}.resizable-table .td .text-image[data-v-5c70c8e3]{width:100%;height:100%;overflow:hidden;white-space:pre;-webkit-user-select:none;user-select:none}.resizable-table .resize-handle-col[data-v-5c70c8e3],.resizable-table .resize-handle-row[data-v-5c70c8e3]{position:absolute;top:0;left:0;z-index:1}.resizable-table .resize-handle-row[data-v-5c70c8e3]{width:100%;min-height:6px;max-height:12px;transform:translateY(-50%);cursor:row-resize}.resizable-table .resize-handle-col[data-v-5c70c8e3]{min-width:6px;max-width:12px;height:100%;transform:translate(-50%);cursor:col-resize}.data-table-widget[data-v-06b452c4]{width:100%;height:100%;overflow:hidden}.source-label[data-v-f4e0b6c9]{position:absolute;max-width:100%;top:50%;left:50%;padding:8px;box-sizing:border-box;color:red;font-size:16px;font-weight:400;font-family:SimSun;text-align:center;overflow:hidden;text-overflow:ellipsis;font-style:normal;white-space:nowrap;transform:translate(-50%,-50%);background:#393939;border-radius:4px;z-index:10}.flex[data-v-6dc73490]{--scale: 1;display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:hidden;white-space:nowrap;-webkit-user-select:none;user-select:none}.flex>img[data-v-6dc73490],.flex>video[data-v-6dc73490]{width:100%;height:100%}.flex[data-v-6dc73490] .vue-office-docx,.flex[data-v-6dc73490] .vue-office-pptx{width:100%!important;height:100%!important;overflow:hidden auto!important}.flex[data-v-6dc73490] .vue-office-docx-main,.flex[data-v-6dc73490] .vue-office-pptx-main{width:max-content!important;height:100%!important;transform:scale(var(--scale));transform-origin:top left}.flex[data-v-6dc73490] .pptx-preview-wrapper{width:max-content!important;height:max-content!important;overflow:initial!important}.image-widget[data-v-2f32312a]{width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none}.line-widget[data-v-c724f697]{transform-origin:left top}.line-widget .line-widget-inner[data-v-c724f697]{display:flex;align-items:center;transform:translateY(-50%)}.line-widget .line-widget-inner .line[data-v-c724f697]{flex:1;border-top:1px solid #ff0000;border-left:none!important;border-right:none!important;border-top:none!important}.ppt-widget[data-v-187900d9]{width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none}.rectangle-widget[data-v-41a4fad0]{width:100%;height:100%;box-sizing:border-box;overflow:hidden}.rich-text-widget[data-v-abb83169]{--white-space: pre-wrap;width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none}.rich-text-widget *[data-v-abb83169]{white-space:var(--white-space)}.table-widget[data-v-b7b5d60e]{width:100%;height:100%;overflow:hidden}.text-widget[data-v-6a5503a9]{width:100%;height:100%;overflow:hidden;white-space:pre;-webkit-user-select:none;user-select:none}.video-widget[data-v-6cc7fa30],.word-widget[data-v-f433cbf4]{width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none}.frame-widget .widget-title[data-v-85483ddd]{font-weight:600;font-size:14px;padding:12px;margin:0;white-space:nowrap}.frame-widget .widget-list[data-v-85483ddd]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;margin:0 6px}.frame-widget .widget-item[data-v-85483ddd]{display:flex;flex-direction:column;align-items:center;box-sizing:border-box;min-width:60px;padding:6px;transition:all .3s ease;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:2px}.frame-widget .widget-item .widget-icon[data-v-85483ddd]{font-size:24px}.frame-widget .widget-item .widget-name[data-v-85483ddd]{font-size:12px;margin-top:6px;white-space:nowrap}.frame-widget .widget-item[data-v-85483ddd]:hover{background:#409eff;color:#fff}.frame-structure[data-v-b4aee5d3]{display:flex;flex-direction:column}.frame-structure .structure-list[data-v-b4aee5d3]{margin:0 5px}.frame-structure .structure-list .sortable-ghost[data-v-b4aee5d3]{color:#fff!important;background-color:#409eff!important}.frame-structure .structure-list .sortable-ghost .item-icon[data-v-b4aee5d3]{color:#fff!important}.frame-structure .list-item[data-v-b4aee5d3]{display:flex;align-items:center;height:30px;border-radius:2px;outline:none;white-space:nowrap;margin-top:5px;padding:0 8px;cursor:pointer;-webkit-user-select:none;user-select:none}.frame-structure .list-item[data-v-b4aee5d3]:hover{background-color:#f5f7fa}.frame-structure .list-item.selected[data-v-b4aee5d3],.frame-structure .list-item.selected .item-icon[data-v-b4aee5d3]{color:#409eff}.frame-structure .item-drag[data-v-b4aee5d3]{cursor:move;margin-right:6px;font-size:16px;display:flex;justify-content:center;align-items:center}.frame-structure .item-content[data-v-b4aee5d3]{display:flex;align-items:center;justify-content:space-between;width:calc(100% - 22px);height:26px;line-height:26px;padding-right:5px}.frame-structure .item-content .item-name[data-v-b4aee5d3]{width:100%;margin-right:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:inline-block}.frame-toolbar-scroll[data-v-d94b2344]{width:100%;height:42px;overflow-y:hidden}.frame-toolbar[data-v-d94b2344]{padding:8px 16px;display:flex;gap:10px;min-width:fit-content;align-items:center;justify-content:space-between;white-space:nowrap;border-bottom:1px solid #dcdfe6;background-color:#fff}.frame-toolbar[data-v-d94b2344] .el-button+.el-button{margin-left:0}.frame-toolbar .tool-left[data-v-d94b2344],.frame-toolbar .tool-right[data-v-d94b2344]{display:flex;align-items:center;gap:5px}.frame-toolbar .zoom[data-v-d94b2344]{font-size:20px}.contextmenu[data-v-2b6c3473]{position:fixed;top:0;left:0;z-index:999;min-width:100px;margin:3px;padding:5px 0;font-size:14px;color:#303133;list-style:none;background-color:#fff;border-radius:4px;box-shadow:0 2px 8px #00000026;transition:opacity .2s ease}.contextmenu>li[data-v-2b6c3473]{display:flex;padding:8px 12px;cursor:pointer;align-items:center}.contextmenu>li[data-v-2b6c3473]:hover,.contextmenu>li[data-v-2b6c3473]:focus{color:#409eff;background-color:#ecf5ff;outline:none}.contextmenu-enter-active[data-v-2b6c3473],.contextmenu-leave-active[data-v-2b6c3473]{opacity:1;transform:scaleY(1);transform-origin:center top;transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1)}.contextmenu-enter-from[data-v-2b6c3473],.contextmenu-leave-to[data-v-2b6c3473]{opacity:0;transform:scaleY(0)}.frame-canvas[data-v-2f90716e]{margin:16px;overflow:auto;height:calc(100% - 72px)}.frame-canvas .frame-stage[data-v-2f90716e]{position:relative;overflow:hidden;background:linear-gradient(-90deg,#dedede 1px,#efefef00 1px) 0% 0%/32px 32px,linear-gradient(#dedede 1px,#efefef 1px) 0% 0%/32px 32px;background-position:1px 0;outline:none}.frame-canvas .element-item[data-v-2f90716e]{position:absolute;left:0;right:0;width:0;height:0;transform-origin:left top;box-sizing:border-box}.frame-canvas .element-item.active[data-v-2f90716e]{outline:1px dashed blue}.frame-canvas .element-item.locked[data-v-2f90716e]{border:1px dashed red}.frame-canvas .box-selector[data-v-2f90716e]{position:absolute;left:0;top:0;width:0;height:0;transform-origin:left top;background-color:#00f3}.frame-canvas .stick-point[data-v-2f90716e]{position:absolute;top:0;left:0;width:6px;height:6px;transform-origin:left top;margin-top:-3px;margin-left:-3px;border:1px solid blue;box-shadow:0 0 2px #00f;background:#fff}.frame-canvas .stick-point.stick-point-left-top[data-v-2f90716e],.frame-canvas .stick-point.stick-point-right-bottom[data-v-2f90716e]{cursor:nwse-resize}.frame-canvas .stick-point.stick-point-top[data-v-2f90716e],.frame-canvas .stick-point.stick-point-bottom[data-v-2f90716e]{cursor:ns-resize}.frame-canvas .stick-point.stick-point-right-top[data-v-2f90716e],.frame-canvas .stick-point.stick-point-left-bottom[data-v-2f90716e]{cursor:nesw-resize}.frame-canvas .stick-point.stick-point-left[data-v-2f90716e],.frame-canvas .stick-point.stick-point-right[data-v-2f90716e]{cursor:ew-resize}.frame-canvas .stick-line[data-v-2f90716e]{position:absolute;left:0;top:0;width:0;height:0;transform-origin:left top;border:0px dashed blue}.frame-canvas .stick-line.stick-line-left[data-v-2f90716e],.frame-canvas .stick-line.stick-line-right[data-v-2f90716e]{width:0px;margin-left:0;border-left-width:1px}.frame-canvas .stick-line.stick-line-top[data-v-2f90716e],.frame-canvas .stick-line.stick-line-bottom[data-v-2f90716e]{height:0px;margin-top:0;border-top-width:1px}.frame-canvas .auxiliary-line[data-v-2f90716e]{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:left top;border:0px dashed blue}.frame-canvas .auxiliary-line.auxiliary-line-left[data-v-2f90716e],.frame-canvas .auxiliary-line.auxiliary-line-right[data-v-2f90716e]{width:0px;margin-left:0;border-left-width:1px}.frame-canvas .auxiliary-line.auxiliary-line-top[data-v-2f90716e],.frame-canvas .auxiliary-line.auxiliary-line-bottom[data-v-2f90716e]{height:0px;margin-top:0;border-top-width:1px}.color-picker .el-color-predefine .el-color-predefine__color-selector{border:1px solid gray;box-sizing:border-box}.popup-provider .el-dialog__body,.popup-provider .el-drawer__body{padding:8px 16px 16px;font-size:14px;overflow:auto}.popup-provider .el-dialog__body{max-height:75vh}.name-select[data-v-b75b0d63]{width:100%}.cond-select[data-v-b75b0d63]{width:45%}.setting-row[data-v-b75b0d63]{margin:8px 12px;display:flex;align-items:center}.setting-row .row-label[data-v-b75b0d63]{margin-right:6px}.setting-row .row-editor[data-v-b75b0d63]{position:relative;flex:1;text-align:left;display:flex;align-items:center;gap:12px}[data-v-daa125a3] .el-form-item{margin-bottom:16px}.format-description[data-v-daa125a3]{font-size:12px;color:#666;margin-top:5px;word-break:break-word;overflow:hidden;text-overflow:ellipsis;min-height:32px}.preview[data-v-daa125a3]{margin-top:20px;padding:10px;border:1px dashed #ddd;border-radius:4px;background-color:#f9f9f9}.input-number[data-v-28c9d5a9]{width:100%}.input-number[data-v-28c9d5a9] input.el-input__inner{text-align:left}.list-item[data-v-6b6e1d92]{min-width:120px;height:100px;text-align:center;cursor:pointer;text-overflow:ellipsis;overflow:hidden;padding-top:8px;padding-bottom:24px;margin-bottom:4px}.list-item.active[data-v-6b6e1d92]{box-shadow:0 0 2px 1px #00f}.number-popover[data-v-fb1101e1]{max-height:306px;overflow:auto}.number-popover .item[data-v-fb1101e1]{display:flex;justify-content:center;align-items:center;gap:12px;padding:6px 0}.number-popover .input-number[data-v-fb1101e1]{flex:1}.number-popover .input-number[data-v-fb1101e1] input.el-input__inner{text-align:left}.list-item[data-v-b945d8c4]{min-width:120px;height:260px;text-align:center;cursor:pointer;text-overflow:ellipsis;overflow:hidden;padding-top:8px;padding-bottom:24px;margin-bottom:4px}.list-item.active[data-v-b945d8c4]{box-shadow:0 0 2px 1px #00f}.single-select[data-v-58a90895]{width:100%}.table-setting[data-v-76958dce]{height:100%}.table-setting .table-col[data-v-76958dce]{display:flex;flex-direction:column;height:100%;border:1px solid #dcdfe6;border-radius:4px}.table-setting .setting-add[data-v-76958dce]{text-align:right;padding:6px 12px}.table-setting .setting-list[data-v-76958dce]{display:flex;flex-direction:column;height:100%;overflow:auto}.table-setting .list-item[data-v-76958dce]{display:flex;align-items:center;padding:3px 12px;gap:5px;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #f2f2f2}.table-setting .list-item[data-v-76958dce]:hover{background-color:#f5f7fa}.table-setting .list-item.selected[data-v-76958dce]{background-color:#ecf5ff;color:#409eff}.table-setting .list-item .item-drag[data-v-76958dce]{cursor:move;margin-top:2px}.table-setting .list-item .item-content[data-v-76958dce]{flex:1;display:flex;justify-content:space-between;align-items:center;padding:6px 0;overflow:hidden}.table-setting .list-item .item-content .item-name[data-v-76958dce]{margin-right:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.table-setting .list-item .item-content .item-icon[data-v-76958dce]{color:#f89898}.table-setting .setting-row[data-v-76958dce]{margin:8px 12px;display:flex;align-items:center}.table-setting .setting-row .row-label[data-v-76958dce]{margin-right:12px;width:74px;text-align:right;white-space:nowrap}.table-setting .setting-row .row-label .tip-icon[data-v-76958dce]{margin-top:-3px;vertical-align:middle;color:gray}.table-setting .setting-row .row-editor[data-v-76958dce]{position:relative;flex:1;text-align:left;display:flex;align-items:center;gap:12px}.frame-setting[data-v-46ebd3ac]{font-size:14px}.frame-setting .setting-row[data-v-46ebd3ac]{margin:8px 12px;display:flex;align-items:center}.frame-setting .setting-row .row-label[data-v-46ebd3ac]{margin-right:12px;width:74px;text-align:right;white-space:nowrap}.frame-setting .setting-row .row-editor[data-v-46ebd3ac]{position:relative;flex:1;text-align:left;display:flex;align-items:center;gap:12px}.frame-empty[data-v-46ebd3ac]{padding:10px}.tip-icon[data-v-46ebd3ac]{margin-top:-3px;vertical-align:middle;color:gray}.frame-paste[data-v-07274a24]{margin:0 10px}.frame-paste[data-v-07274a24] .el-link{font-size:12px}.frame-editor[data-v-e303ba54]{position:relative;width:100%;height:100%;border:1px solid #dcdfe6;border-radius:4px}.frame-editor[data-v-e303ba54] .el-tabs{height:100%}.frame-editor[data-v-e303ba54] .el-tabs .el-tabs__content{height:calc(100% - 67px);overflow:auto}.frame-editor[data-v-e303ba54] .el-tabs .el-tabs__nav-scroll{padding:0 10px}.frame-editor[data-v-e303ba54] .el-tabs .el-tabs__nav-wrap:after{height:1px}.frame-editor[data-v-e303ba54] .splitpanes__pane{position:relative;background-color:#fff}.frame-editor[data-v-e303ba54] .splitpanes__pane:first-child,.frame-editor[data-v-e303ba54] .splitpanes__pane:last-child{background-color:#fff;overflow:hidden}.frame-editor[data-v-e303ba54] .splitpanes__splitter{border-left:1px solid #dcdfe6;border-right:1px solid #dcdfe6}.frame-editor .left-collapse[data-v-e303ba54],.frame-editor .right-collapse[data-v-e303ba54]{position:absolute;width:16px;z-index:1;top:50%;padding:0;margin-top:-16px;border-radius:2px}.frame-view[data-v-b89d4c7c]{position:relative;width:100%;height:100%;overflow:hidden;outline:none}.frame-view .element-item[data-v-b89d4c7c]{position:absolute;left:0;right:0;width:0;height:0;transform-origin:left top;box-sizing:border-box}.frame-view .element-item.active[data-v-b89d4c7c]{outline:1px dashed blue}.frame-view .element-item.outline[data-v-b89d4c7c]{outline:1px dashed rgba(255,0,0,.3)}.frame-preview[data-v-220c7a08]{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:row;justify-content:center;align-items:center}.frame-preview .preview-stage[data-v-220c7a08]{margin:0 auto;flex:1;align-self:stretch;display:flex;justify-content:center;align-items:center}.frame-preview .preview-stage .preview-screen[data-v-220c7a08]{background:linear-gradient(-90deg,rgba(0,0,0,.1) 1px,transparent 1px) 0% 0%/4px 4px,linear-gradient(rgba(0,0,0,.1) 1px,transparent 1px) 0% 0%/4px 4px;background-position:1px 0;box-shadow:0 0 4px #000;background-color:#393939;overflow:hidden;-webkit-user-select:none;user-select:none}.frame-preview .prev-frame[data-v-220c7a08],.frame-preview .next-frame[data-v-220c7a08]{font-size:28px}.frame-preview .prev-frame[data-v-220c7a08]{margin-right:16px}.frame-preview .next-frame[data-v-220c7a08]{margin-left:16px}
package/dist/index.d.ts CHANGED
@@ -102,14 +102,12 @@ dataSource: OptionSource;
102
102
  }, {}>;
103
103
 
104
104
  declare const _default_2: DefineComponent<__VLS_WithDefaults_2<__VLS_TypePropsToOption_2<__VLS_Props_2>, {
105
- bgcolor: () => "#393939";
106
105
  xmlString: () => "";
107
106
  useLiveData: () => false;
108
107
  autoPlay: () => false;
109
108
  autoScale: () => false;
110
109
  showElBorder: () => false;
111
110
  }>, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, any, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, any, {
112
- bgcolor: string;
113
111
  xmlString: string;
114
112
  showElBorder: boolean;
115
113
  useLiveData: boolean;
package/dist/index.mjs CHANGED
@@ -7281,14 +7281,17 @@ const Us = ["onClick"], Ns = /* @__PURE__ */ X({
7281
7281
  }), 128))
7282
7282
  ]));
7283
7283
  }
7284
- }), Ui = /* @__PURE__ */ oe(Fi, [["__scopeId", "data-v-b89d4c7c"]]), Ni = { key: 1 }, Yi = /* @__PURE__ */ X({
7284
+ }), Ui = /* @__PURE__ */ oe(Fi, [["__scopeId", "data-v-b89d4c7c"]]), Ni = {
7285
+ key: 1,
7286
+ style: { color: "red" }
7287
+ }, Yi = /* @__PURE__ */ X({
7285
7288
  name: "frame-preview",
7286
7289
  inheritAttrs: !1,
7287
7290
  __name: "preview",
7288
7291
  props: {
7289
7292
  style: {},
7290
7293
  className: {},
7291
- bgcolor: { default: () => "#393939" },
7294
+ bgcolor: {},
7292
7295
  xmlString: { default: () => "" },
7293
7296
  useLiveData: { type: Boolean, default: () => !1 },
7294
7297
  selectedData: {},
@@ -7421,7 +7424,11 @@ const Us = ["onClick"], Ns = /* @__PURE__ */ X({
7421
7424
  }, [
7422
7425
  O("div", {
7423
7426
  class: "preview-screen",
7424
- style: J({ ...u.value, transform: `scale(${g.value})`, backgroundColor: m.bgcolor })
7427
+ style: J({
7428
+ ...u.value,
7429
+ transform: `scale(${g.value})`,
7430
+ ...m.bgcolor ? { background: m.bgcolor, boxShadow: "none" } : {}
7431
+ })
7425
7432
  }, [
7426
7433
  s.value ? (x(), j(Ui, {
7427
7434
  key: 0,
@@ -7447,7 +7454,7 @@ const Us = ["onClick"], Ns = /* @__PURE__ */ X({
7447
7454
  ], 6);
7448
7455
  };
7449
7456
  }
7450
- }), Ct = /* @__PURE__ */ oe(Yi, [["__scopeId", "data-v-28ecdf03"]]);
7457
+ }), Ct = /* @__PURE__ */ oe(Yi, [["__scopeId", "data-v-220c7a08"]]);
7451
7458
  Tt.install = (o) => {
7452
7459
  o.component(Tt.name || "FrameEditor", Tt);
7453
7460
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frame-editor-preview",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "Frame Editor Library",
5
5
  "type": "module",
6
6
  "files": [