frame-editor-preview 1.0.2 → 1.0.4
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 +8 -8
- package/dist/index.css +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.mjs +3036 -2973
- package/package.json +2 -13
package/dist/index.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`))},
|
|
3
|
-
0% { transform: translateX(${o===2?c:
|
|
4
|
-
100% { transform: translateX(${o===2?
|
|
5
|
-
`):o===3||o===4||o===7&&
|
|
6
|
-
0% { transform: translateY(${o===4?c:
|
|
7
|
-
100% { transform: translateY(${o===4?
|
|
1
|
+
"use strict";var $o=Object.defineProperty;var Bo=(a,o,l)=>o in a?$o(a,o,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[o]=l;var le=(a,o,l)=>Bo(a,typeof o!="symbol"?o+"":o,l);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),ee=require("element-plus"),Le=require("splitpanes"),No=require("uuid"),Dt=require("lunar-javascript"),Mo=require("@vue-office/docx/lib/v3"),Io=require("@vue-office/pptx/lib/v3");require("@vue-office/docx/lib/v3/index.css");const zt=require("sortablejs"),Be="PASTE_FRAME_DATA",fe=a=>{let o=1/0,l=1/0,n=-1/0,r=-1/0;return a.forEach(d=>{const{x:f,y:s,width:v,height:i}=d;o=Math.min(o,f),n=Math.max(n,f+v),l=Math.min(l,s),r=Math.max(r,s+i)}),{x:o,y:l,width:n-o,height:r-l}},Ot=([a,o],l)=>a<=l.x+l.width&&a>=l.x&&o<=l.y+l.height&&o>=l.y,Ao=({x:a,y:o,width:l,height:n},{x:r,y:d,width:f,height:s})=>d+s>=o&&d<=o+n&&r+f>=a&&r<=a+l,ft=([a,o],[l,n])=>typeof a=="number"&&typeof l=="number"&&typeof o=="number"&&typeof n=="number"?Math.atan2(n-o,l-a)*180/Math.PI:0,Lt=([a,o],[l,n])=>typeof a=="number"&&typeof l=="number"&&typeof o=="number"&&typeof n=="number"?Math.sqrt(Math.pow(l-a,2)+Math.pow(n-o,2)):0,G=()=>No.v4().replace(/-/g,""),z=(a,o)=>typeof a=="number"?`${a}px`:o??"0px",Z=(a,o,l)=>Math.min(Math.max(a,o),l),ie=(a,o=0)=>{const l=Math.pow(10,o);return Math.round(a*l)/l},j=a=>{if(a===null||typeof a!="object")return typeof a=="symbol"?Symbol():a;if(a instanceof Date)return new Date;if(Array.isArray(a))return a.map(l=>j(l));const o={};for(const l in a)a.hasOwnProperty(l)&&(o[l]=j(a[l]));return o},at=a=>{if(a&&typeof a=="string"){const o=a.toLocaleLowerCase().trim();if(o.indexOf("#")===0){const l=o.split("");if(l.length===4)return[parseInt(`${l[1]}${l[1]}`,16),parseInt(`${l[2]}${l[2]}`,16),parseInt(`${l[3]}${l[3]}`,16),255];if(l.length===5)return[parseInt(`${l[1]}${l[1]}`,16),parseInt(`${l[2]}${l[2]}`,16),parseInt(`${l[3]}${l[3]}`,16),parseInt(`${l[4]}${l[4]}`,16)];if(l.length===7)return[parseInt(`${l[1]}${l[2]}`,16),parseInt(`${l[3]}${l[4]}`,16),parseInt(`${l[5]}${l[6]}`,16),255];if(l.length===9)return[parseInt(`${l[1]}${l[2]}`,16),parseInt(`${l[3]}${l[4]}`,16),parseInt(`${l[5]}${l[6]}`,16),parseInt(`${l[7]}${l[8]}`,16)]}if(o.indexOf("rgb")!==-1){const l=o.replace(/rgba?\((.+)\)/,(n,r)=>r).split(",").map(n=>+n);return l.length===4?l:[...l,255]}}return[0,0,0,0]},re=a=>a.toString(16).padStart(2,"0"),je=(a,o,l,n=0)=>{const r=o.length,d=o.reduce((c,p)=>c+p,0);if(r===1||a<0||a>r-1)return d===0?o.map(()=>l/r):o.map(c=>c*l/d);const f=a<r-1?a+1:a-1,s=d-l;let v=o[a],i=o[f];if(s>0){const c=Math.min(s,o[f]-n);v=o[a]-s+c,i=o[f]-c}else s<0&&(v=Math.max(o[a],n),i=o[f]-s+Math.min(o[a]-n,0));return o.map((c,p)=>p===a?v:p===f?i:c)},Po=(a="",o,l)=>{if(a){const r=document.createElement("canvas").getContext("2d");if(r){r.font=`${o} ${l}`;const d=r.measureText(a),f=parseInt(o);return{width:d.width,height:f+Math.floor(f/7)}}}return{width:0,height:0}},Do=(()=>{let a=0;return()=>{if(a>0)return a;const o=document.createElement("div");return o.style.overflow="scroll",o.style.width="100px",o.style.height="100px",o.style.position="absolute",o.style.top="-100px",o.style.left="0px",document.body.appendChild(o),a=o.offsetWidth-o.clientWidth,document.body.removeChild(o),a}})(),Wt=a=>{const o=ie(a.reduce((f,s)=>f+s,0)),l=a.map(f=>ie(f)),r=l.reduce((f,s)=>f+s,0)-o,d=l.length;return l.map((f,s)=>r>0&&d-s<=r?f-1:r<0&&s<-r?f+1:f)},zo=a=>/^C\d+$/.test(a),T=(a,o,l,n)=>{const r=a instanceof Element?a:n.createElement(a);r.appendChild(o instanceof Element?o:n.createTextNode(o.toString())),l.appendChild(r)},W=(a,o)=>`:scope > ${o?a.toUpperCase():a}`;function Ne(){const a=e.ref(0),o=e.ref(0),l=e.shallowRef();let n=null;return e.onMounted(()=>{l.value&&(n=new ResizeObserver(r=>{for(const d of r)a.value=d.contentRect.width,o.value=d.contentRect.height}),n.observe(l.value))}),e.onBeforeUnmount(()=>{n&&l.value&&(n.unobserve(l.value),n.disconnect(),n=null)}),{elRef:l,width:a,height:o}}var be=(a=>(a[a.left=1]="left",a[a.center=2]="center",a[a.right=3]="right",a))(be||{}),_e=(a=>(a[a.top=1]="top",a[a.middle=2]="middle",a[a.bottom=3]="bottom",a))(_e||{});const bt=[{label:"左对齐",value:1},{label:"居中",value:2},{label:"右对齐",value:3}],_t=[{label:"上对齐",value:1},{label:"居中",value:2},{label:"下对齐",value:3}],kt=a=>a===2||a===2?"center":a===3||a===3?"flex-end":"flex-start",rt=({align:a,valign:o,width:l,height:n,textWidth:r,textHeight:d})=>({display:"flex",justifyContent:kt(l>=r?a:void 0),alignItems:kt(n>=d?o:void 0)});function Ht(a,o,l){return e.computed(()=>{const{align:n,valign:r,rect:d}=a;return rt({align:n,valign:r,width:d.width,height:d.height,textWidth:o.value,textHeight:l.value})})}const Oo=[{label:"宋体",value:"SimSun"},{label:"黑体",value:"SimHei"},{label:"楷体",value:"KaiTi"},{label:"仿宋",value:"FangSong"}],wt=[{label:"正常",value:1},{label:"斜体",value:2},{label:"粗体",value:3},{label:"粗斜体",value:4}],me=({bgcolor:a,color:o,fontSize:l,fontFamily:n,fontStyle:r})=>({backgroundColor:a,color:o,fontSize:z(l)??"16px",fontStyle:r===2||r===4?"oblique":"normal",fontWeight:r===3||r===4?"bold":"normal",fontFamily:n||"SimSun"});function Ft(a){return e.computed(()=>{const{bgcolor:o,color:l,fontSize:n,fontFamily:r,fontStyle:d}=a;return me({bgcolor:o,color:l,fontSize:n,fontFamily:r,fontStyle:d})})}var Rt=(a=>(a[a.solid=1]="solid",a[a.dashed=2]="dashed",a[a.dotted=3]="dotted",a))(Rt||{});const Ct=[{label:"实线",value:1},{label:"虚线",value:2},{label:"点线",value:3}],Lo=({lineWidth:a,lineColor:o,lineStyle:l},n="border")=>({[`${n}Width`]:z(a),[`${n}Color`]:o,[`${n}Style`]:Rt[l??1].toLowerCase()});function Ce(a,o="border"){return e.computed(()=>{const{lineWidth:l,lineColor:n,lineStyle:r,selected:d,preview:f}=a,s={lineWidth:l,lineColor:n,lineStyle:r};return!f&&!d&&(l===0||at(n)[3]===0)&&(s.lineWidth=1,s.lineColor=`#ff0000${re(128)}`,s.lineStyle=2),Lo(s,o)})}var Ut=(a=>(a[a.always=0]="always",a[a.left=1]="left",a[a.right=2]="right",a[a.up=3]="up",a[a.down=4]="down",a[a.shine=5]="shine",a[a["auto-left"]=6]="auto-left",a[a["auto-up"]=7]="auto-up",a))(Ut||{});const st=[{label:"一直显示",value:0},{label:"左滚动",value:1},{label:"右滚动",value:2},{label:"上滚动",value:3},{label:"下滚动",value:4},{label:"闪烁",value:5},{label:"自动左滚",value:6}],mt=(a,o)=>{let l=document.getElementById("dynamic-animation-style");l||(l=document.createElement("style"),l.id="dynamic-animation-style",document.head.appendChild(l)),l.textContent=(l.textContent||"").replace(new RegExp(`@keyframes\\s+${a}\\s*{\\s*(\\d+%(\\s*,\\s*\\d+%)*\\s*{(.|\\s)*?}\\s*)+\\s*}\\s*`,"g"),""),o&&l.appendChild(document.createTextNode(`@keyframes ${a} {${o}}
|
|
2
|
+
`))},Wo=(a,o,l,n,r,d,f,s)=>{let v="",i=0,c=0;o===1||o===2||o===6&&f>r?(i=f>r||l===be.left?r:l===be.right?f:(r+f)/2,c=f>r||l===be.left?-f:l===be.right?-r:-(r+f)/2,v=`
|
|
3
|
+
0% { transform: translateX(${o===2?c:i}px); }
|
|
4
|
+
100% { transform: translateX(${o===2?i:c}px); }
|
|
5
|
+
`):o===3||o===4||o===7&&s>d?(i=s>d||n===_e.top?d:n===_e.bottom?s:(d+s)/2,c=s>d||n===_e.top?-s:n===_e.bottom?-d:-(d+s)/2,v=`
|
|
6
|
+
0% { transform: translateY(${o===4?c:i}px); }
|
|
7
|
+
100% { transform: translateY(${o===4?i:c}px); }
|
|
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="",mt(a,v)},Ho=a=>{mt(a)},Kt=(a,{align:o=be.left,valign:l=_e.top,animationSpeed:n=0,animationStyle:r=0,width:d,height:f,textWidth:s,textHeight:v})=>{let i=0;return n>0&&(r===1||r===2||r===6?i=(d+s)/n:r===3||r===4||r===7?i=(f+v)/n:r===5&&(i=1/n)),Wo(a,r,o,l,d,f,s,v),{animationName:a,animationDelay:`-${i/2}s`,animationDuration:`${i}s`,animationTimingFunction:"linear",animationIterationCount:"infinite"}};function vt(a,o,l){const n=Date.now(),r=e.computed(()=>{const{id:d,animationStyle:f,animationSpeed:s,align:v,valign:i,rect:c}=a,p=`widget-${d}-${n}-roll`;return Kt(p,{animationStyle:f,animationSpeed:s,align:v,valign:i,width:c.width,height:c.height,textWidth:o.value,textHeight:l.value})});return e.onUnmounted(()=>{mt(`widget-${a.id}-${n}-roll`)}),r}const Yt=Symbol("frameInfo"),Fo=()=>e.inject(Yt,e.computed(()=>({frameName:"",screenTypeID:"",duration:60}))),Ro=a=>{const o=e.computed(()=>({frameName:a.frameName||"",screenTypeID:a.screenTypeID||"",duration:a.duration||60}));return e.provide(Yt,o),o},qt=e.ref(1),Uo=a=>{qt.value=a};function Ge(){return[e.readonly(qt),Uo]}const jt=Symbol("stageRect"),ve=()=>e.inject(jt,e.computed(()=>({x:0,y:0,width:0,height:0}))),Ko=a=>{const o=e.computed(()=>({x:0,y:0,width:a.width||0,height:a.height||0}));return e.provide(jt,o),o},Xt=Symbol("optionSource"),ye=()=>e.inject(Xt,e.computed(()=>({}))),Yo=a=>{const o=e.computed(()=>a.dataSource||{});return e.provide(Xt,o),o},Gt=Symbol("fileSource"),qo=()=>e.inject(Gt,e.computed(()=>({}))),jo=a=>{const o=e.computed(()=>a.fileSource||{});return e.provide(Gt,o),o},Zt=Symbol("fileBuffer"),yt=()=>e.inject(Zt),Jt=a=>{const o=e.computed(()=>a.fileBuffer);return e.provide(Zt,o),o},Ue=new Map;function Me(a,o){if(!a)return()=>{};let l=Ue.get(a);return l||(l=new Set,Ue.set(a,l)),l.add(o),()=>{l.delete(o),l.size===0&&Ue.delete(a)}}function Xe(a,o){const l=Ue.get(a);l&&[...l].forEach(n=>n(o))}const lt=e.ref();function Ie(a){const o=Fo(),l=ve(),n=()=>a.value.filter(({selected:h})=>!!h);return{handleImport:()=>{const h=document.createElement("input");h.type="file",h.accept=".xml,application/xml",h.onchange=g=>{var _;const w=(_=g.target.files)==null?void 0:_[0];if(!w)return;const C=new FileReader;C.onload=y=>{var x;const S=()=>{const V=pt(k);V.length===0&&ee.ElMessage.warning("导入的 XML 是空白帧,内部不含任何元素"),a.value=Vo(V,l.value)},k=((x=y.target)==null?void 0:x.result)??"";if(k&&typeof k=="string")try{const{frameName:V,screenTypeID:$,width:E,height:B}=So(k);E>0&&l.value.width!==E||B>0&&l.value.height!==B?ee.ElMessageBox.confirm(`导入的 XML 屏幕信息(${$}: ${V})与当前屏幕不匹配,导入后内部元素尺寸位置可能会被裁剪,确定导入?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消"}).then(()=>S()).catch(()=>ee.ElMessage.success("已取消导入")):S()}catch(V){ee.ElMessage.error(V.message??"解析 XML 失败")}else ee.ElMessage.warning("导入的 XML 是空文件")},C.readAsText(w)},h.click()},handleExport:()=>{try{const h=$e(e.toRaw(a.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:a.value).forEach(g=>{g.selected=!0})},handleCopy:async h=>{const g=e.toRaw(Array.isArray(h)?h:a.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)}lt.value=w;try{await navigator.clipboard.writeText(w)}catch{}},handlePaste:async h=>{let g=[];if(Array.isArray(h))g=j(h);else{let C=lt.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}));a.value.push(...w)},handleDelete:h=>{Array.isArray(h)?a.value=a.value.filter(g=>!h.includes(g)):a.value=a.value.filter(g=>!g.selected)},handleClear:()=>{a.value=[]},handleLock:h=>{(Array.isArray(h)?h:a.value.filter(({selected:g})=>!!g)).forEach(g=>{g.locked=!0})},handleUnlock:h=>{(Array.isArray(h)?h:a.value.filter(({selected:g})=>!!g)).forEach(g=>{g.locked=!1})},handleAlign:h=>{const g=n(),w=g.length-1,C=fe(g.map(({rect:x})=>x)),{x:_,y,width:S,height:k}=C;if(h==="hAvgAlign"&&w>0){g.sort((E,B)=>E.rect.x-B.rect.x);const x=g.reduce((E,{rect:B})=>E+B.width,0),V=(S-x)/w;let $=0;g.forEach((E,B)=>{if(!E.locked){const A=_+$+V*B,P=A-E.rect.x;E.rect.x=A;const{x0:M,x1:N}=E.props;typeof M=="number"&&(E.props.x0=M+P),typeof N=="number"&&(E.props.x1=N+P)}$+=E.rect.width})}else if(h==="vAvgAlign"&&w>0){g.sort((E,B)=>E.rect.y-B.rect.y);const x=g.reduce((E,{rect:B})=>E+B.height,0),V=(k-x)/w;let $=0;g.forEach((E,B)=>{if(!E.locked){const A=y+$+V*B,P=A-E.rect.y;E.rect.y=A;const{y0:M,y1:N}=E.props;typeof M=="number"&&(E.props.y0=M+P),typeof N=="number"&&(E.props.y1=N+P)}$+=E.rect.height})}else{const x=V=>{switch(h){case"upAlign":return{...V,y};case"downAlign":return{...V,y:y+k-V.height};case"leftAlign":return{...V,x:_};case"rightAlign":return{...V,x:_+S-V.width};case"hCenterAlign":return{...V,x:_+S/2-V.width/2};case"vCenterAlign":return{...V,y:y+k/2-V.height/2};default:return V}};g.forEach(V=>{if(!V.locked){const $=x(V.rect),E=$.x-V.rect.x,B=$.y-V.rect.y;V.rect=$;const{x0:A,y0:P,x1:M,y1:N}=V.props;typeof A=="number"&&typeof P=="number"&&(V.props.x0=A+E,V.props.y0=P+B),typeof M=="number"&&typeof N=="number"&&(V.props.x1=M+E,V.props.y1=N+B)}})}},handleZIndex:h=>{const g=n();if(!g.length)return;const w=a.value.findIndex(({id:_})=>_===g[0].id);if(w===-1)return;const[C]=a.value.splice(w,1);switch(h){case"topIndex":a.value.splice(a.value.length,0,C);break;case"upIndex":a.value.splice(Math.min(w+1,a.value.length),0,C);break;case"downIndex":a.value.splice(Math.max(w-1,0),0,C);break;case"bottomIndex":a.value.splice(0,0,C);break}},handleTable:h=>{const g=n();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,_=h==="tableRowAdd"||h==="tableRowDel"?"row":h==="tableColAdd"||h==="tableColDel"?"col":"",y=ce.get(w.type);if(y){const S=y.properties.find(({bindKey:k})=>k===_);Xe(`${w.type}-${w.id}`,{value:w.props[_]+C,property:S})}}},globalCopy:e.readonly(lt)}}const We=a=>typeof a=="number";class Qt{constructor(o,{min:l,max:n}){le(this,"timer");le(this,"index");le(this,"min");le(this,"max");le(this,"action");this.min=!We(l)||We(n)&&l>n?0:l,this.max=!We(n)||We(l)&&l>n?1/0:n,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(a){const o=e.shallowRef(null);let l=null;const n=()=>{l==null||l.stop(),l=null,o.value=null};return e.onBeforeUnmount(n),e.watch([()=>a.liveDatas,()=>a.playIndex],([r,d])=>{if(n(),r){const f=typeof d>"u"||d<0,s=r.length;s===0?o.value={duration:0}:s===1||!f?o.value=r[f?0:d%s]:(l=new Qt(v=>{const i=r[v];return o.value=i,i.duration},{min:0,max:s-1}),l.start())}},{immediate:!0}),o}function eo({moveStart:a,moveFirst:o,moveTravel:l,moveEnd:n,wheelStart:r,wheelTravel:d,wheelEnd:f,keydowned:s}){const v=ht();let i=!1,c=0,p=0,m=!1,t;const u=y=>y.preventDefault(),b=(y,S)=>{w==null||w.end(),!y.button&&(y.stopImmediatePropagation(),[c,p]=v(y),m=!1,a==null||a({startPoint:[c,p],event:y},S),t=S,window.addEventListener("mousemove",h,{capture:!1,passive:!1}),window.addEventListener("mouseup",g,{capture:!1,passive:!1}),window.addEventListener("dragstart",u,{capture:!0,passive:!1}),"onselectstart"in window.document.documentElement&&window.addEventListener("selectstart",u,{capture:!0,passive:!1}))},h=y=>{y.preventDefault(),y.stopImmediatePropagation();const[S,k]=v(y),x=S-c,V=k-p;x*x+V*V<=3*3||(m||(m=!0,o==null||o({startPoint:[c,p],endPoint:[S,k],movementX:y.movementX,movementY:y.movementY,deltaX:x,deltaY:V,event:y},t)),i||(i=!0,requestAnimationFrame(()=>{i=!1,m&&(l==null||l({startPoint:[c,p],endPoint:[S,k],movementX:y.movementX,movementY:y.movementY,deltaX:x,deltaY:V,event:y},t))})))},g=y=>{window.removeEventListener("mousemove",h,{capture:!1}),window.removeEventListener("mouseup",g,{capture:!1}),window.removeEventListener("dragstart",u,{capture:!0}),"onselectstart"in window.document.documentElement&&window.removeEventListener("selectstart",u,{capture:!0}),y.preventDefault(),y.stopImmediatePropagation();const[S,k]=v(y),x=S-c,V=k-p;n==null||n({startPoint:[c,p],endPoint:[S,k],deltaX:x,deltaY:V,isMoved:m,event:y},t),c=0,p=0,m=!1};let w=null;const C=(y,S)=>{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},S),c=0,p=0,w=null};w={end:x,timer:setTimeout(x,300),scale:k},r==null||r({startPoint:[c,p],event:y},S)}i||(i=!0,requestAnimationFrame(()=>{i=!1,w&&(d==null||d({startPoint:[c,p],movementK:k,deltaK:w.scale,event:y},S))}))},_=(y,S)=>{m||(w==null||w.end(),y.preventDefault(),y.stopImmediatePropagation(),s==null||s({event:y},S))};return e.onBeforeUnmount(()=>{w==null||w.end()}),{mousedown:b,mousewheel:C,keydown:_}}function to(a){const o=ht(),l=(s,v)=>{const i=ce.get(s);if(i){a.value.forEach(p=>{p.selected=!1});const c=G();a.value.push({id:c,type:s,name:`${i.title}-${c.substring(0,8)}`,selected:!0,...i.initDefault(v==null?void 0:v[0],v==null?void 0:v[1])})}};return{dblclick:(s,v)=>l(v),dragstart:(s,v)=>{s.dataTransfer&&(s.dataTransfer.setData("text/plain",v),s.dataTransfer.effectAllowed="copy")},dragover:s=>{s.preventDefault(),s.dataTransfer&&(s.dataTransfer.dropEffect="copy")},drop:s=>{if(s.preventDefault(),s.dataTransfer){const v=s.dataTransfer.getData("text/plain"),i=o(s);l(v,[i[0]-25,i[1]-25])}}}}const it=e.shallowRef(),Xo=()=>[e.shallowReadonly(it),a=>{it.value=a}],ht=()=>{const[a]=Ge();return o=>{var f;const l=a.value??1,n=(f=it.value)==null?void 0:f.getBoundingClientRect(),r=(n==null?void 0:n.left)??0,d=(n==null?void 0:n.top)??0;return[(o.clientX-r)/l,(o.clientY-d)/l]}},Go={class:"arrow-line-widget-inner"},Zo=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(a){const o=a,l=e.computed(()=>{const{x0:v,y0:i,x1:c,y1:p,rect:m}=o,t=Lt([v,i],[c,p]),u=ft([v,i],[c,p]);return{width:z(t),transform:`translate(${z(v-m.x)},${z(i-m.y)}) rotate(${u}deg)`}}),n=Ce(o),r=e.computed(()=>{const{lineColor:v,lineWidth:i}=o;return{borderColor:v,borderLeftWidth:z(12+(i??0)*2),borderTopWidth:z(6+(i??0)),borderBottomWidth:z(6+(i??0))}}),d=ve(),f=e.useModel(a,"item"),s=Me(f.value?`${f.value.type}-${f.value.id}`:"",({value:v,property:i})=>{const{bindKey:c}=i;if((c==="x0"||c==="y0"||c==="x1"||c==="y1")&&typeof v=="number"&&f.value){const{x:p,y:m,width:t,height:u}=d.value;let{x0:b,y0:h,x1:g,y1:w}=o;c==="x0"?b=Z(v,p,p+t):c==="y0"?h=Z(v,m,m+u):c==="x1"?g=Z(v,p,p+t):c==="y1"&&(w=Z(v,m,m+u)),f.value.rect={x:Z(Math.min(b,g),p,p+t),y:Z(Math.min(h,w),m,m+u),width:Z(Math.abs(b-g),0,t),height:Z(Math.abs(h-w),0,u)}}});return e.onUnmounted(()=>{s()}),(v,i)=>(e.openBlock(),e.createElementBlock("div",{class:"arrow-line-widget",style:e.normalizeStyle(l.value)},[e.createElementVNode("div",Go,[e.createElementVNode("div",{class:"line",style:e.normalizeStyle(e.unref(n))},null,4),e.createElementVNode("div",{class:"arrow",style:e.normalizeStyle(r.value)},null,4)])],4))}}),K=(a,o)=>{const l=a.__vccOpts||a;for(const[n,r]of o)l[n]=r;return l},Jo=K(Zo,[["__scopeId","data-v-f6688de1"]]),Qo={viewBox:"0 0 1024 1024"},el=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),tl=[el],ol=e.defineComponent({name:"ArrowLineIcon",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Qo,tl))}}),se=[{type:"single-select",label:"动画效果",key:"A",bindKey:"animationStyle",valueType:"number",defaultValue:st[0].value,options:st},{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:bt[1].value,options:bt},{type:"radio-button",label:"竖对齐方式",key:"VA",bindKey:"valign",valueType:"number",defaultValue:_t[1].value,options:_t}],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:Oo[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:wt[0].value,options:wt}],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:Ct[0].value,options:Ct}],ll=[{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=ll.map(l=>{var n;return{...l,...(n=o.rectangles)==null?void 0:n[l.bindKey]}})}initDefault(o,l){const n={};this.rectangles.forEach(({bindKey:d,defaultValue:f})=>{n[d]=(d==="x"?o:d==="y"?l:void 0)??j(f)});const r={};return this.properties.forEach(({bindKey:d,defaultValue:f})=>{r[d]=j(f)}),{rect:n,props:r}}xmlToRect(o){const l={};return this.rectangles.forEach(({key:n,bindKey:r})=>{var d;l[r]=+(((d=o.querySelector(W(n,!0)))==null?void 0:d.textContent)??0)}),l}rectToXML(o,l,n){return this.rectangles.map(({key:r,bindKey:d})=>{const f=l.createElement(r.toUpperCase());return f.appendChild(l.createTextNode(ie(o[d]).toString())),f})}valueFormat(o,l,n){const{valueType:r}=l;let d;return r==="number"?d=+(o||2):r==="number[]"?d=(o??"").split(",").map(f=>+(f||2)):r==="boolean"?d=o==="1":r==="boolean[]"?d=(o??"").split(",").map(f=>f==="1"):r==="color"?d=o?o.startsWith("#")?o:o==="-1"?"#00000000":`#${re(+o)}`:"#00000000":r==="color[]"?d=(o??"").split(",").map(f=>f?f.startsWith("#")?f:f==="-1"?"#00000000":`#${re(+f)}`:"#00000000"):r==="string[]"?d=(o??"").split(","):d=o,d}xmlToProps(o){const l={};return this.properties.forEach(n=>{var v;const{key:r,bindKey:d}=n,f=(v=o.querySelector(W(r,!0)))==null?void 0:v.textContent,s=this.valueFormat(f,n,o);l[d]=s}),l}textFormat(o,l,n){const{valueType:r}=l;let d;if(o==null)d="";else if(r==="number")d=ie(o).toString();else if(r==="number[]")d=Wt(o).join(",");else if(r==="boolean")d=o?"1":"0";else if(r==="boolean[]")d=o.map(f=>f?"1":"0").join(",");else if(r==="color"){const[f,s,v,i]=at(o);d=i===0?"-1":`#${re(f)}${re(s)}${re(v)}${i===255?"":re(i)}`}else r==="color[]"?d=o.map(f=>{const[s,v,i,c]=at(f);return c===0?"-1":`#${re(s)}${re(v)}${re(i)}${c===255?"":re(c)}`}).join(","):r==="string[]"?d=o.join(","):d=o;return d}propsToXML(o,l,n){return this.properties.map(r=>{const{key:d,bindKey:f}=r,s=l.createElement(d.toUpperCase()),v=this.textFormat(o[f],r,o);return s.appendChild(l.createTextNode(v)),s})}}const nl=[{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 oo extends ne{constructor(){super({key:"AR",seq:11,title:"箭头线",icon:ol,view:Jo,properties:nl,rectangles:{x:{display:!1},y:{display:!1},width:{display:!1},height:{display:!1}}})}initDefault(o,l){const n={};return this.properties.forEach(({bindKey:r,defaultValue:d})=>{r==="lineStyle"||r==="lineColor"?n[r]=j(d):r==="x0"?n[r]=o??j(d):r==="y0"?n[r]=l??j(d):r==="x1"?n[r]=(o??0)+j(d):r==="y1"?n[r]=(l??0)+j(d):n[r]=j(d)}),{rect:{x:Math.min(n.x0,n.x1),y:Math.min(n.y0,n.y1),width:Math.abs(n.x0-n.x1),height:Math.abs(n.y0-n.y1)},props:n}}xmlToRect(o){const l={x0:0,y0:0,x1:0,y1:0};return this.properties.forEach(({key:n,bindKey:r})=>{var d;if(r==="x0"||r==="y0"||r==="x1"||r==="y1"){const f=+(((d=o.querySelector(W(n)))==null?void 0:d.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 n=[];return this.rectangles.forEach(({key:r,bindKey:d})=>{if(d==="width"||d==="height"){const f=l.createElement(r.toUpperCase());f.appendChild(l.createTextNode(ie(o[d]).toString())),n.push(f)}}),n}}const al=new oo,rl=Object.freeze(Object.defineProperty({__proto__:null,ArrowLineWidget:oo,default:al},Symbol.toStringTag,{value:"Module"})),sl=e.defineComponent({name:"CircleWidget",inheritAttrs:!1,__name:"index",props:{lineWidth:{},lineColor:{},lineStyle:{},selected:{type:Boolean},preview:{type:Boolean}},setup(a){const l=Ce(a);return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:"circle-widget",style:e.normalizeStyle(e.unref(l))},null,4))}}),il=K(sl,[["__scopeId","data-v-f634a654"]]),cl={viewBox:"0 0 1170 1024"},ul=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),dl=[ul],pl=e.defineComponent({name:"CircleIcon",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",cl,dl))}}),fl=[...de];class lo extends ne{constructor(){super({key:"CR",seq:10,title:"椭圆",icon:pl,view:il,properties:fl})}}const ml=new lo,vl=Object.freeze(Object.defineProperty({__proto__:null,CircleWidget:lo,default:ml},Symbol.toStringTag,{value:"Module"})),yl=Object.assign({name:"clock-digital",inheritAttrs:!1},{__name:"index",props:{digitalOptions:{type:Object}},setup(a){const o=a,l=e.ref(new Date),n=e.ref(new Date),r=(i,c)=>{let p=i;const m=Dt.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},d=()=>{const i=new Date;if(o.digitalOptions.timeOffset){const c=+o.digitalOptions.timeOffset||0;o.digitalOptions.timeOffsetUnit==="year"?i.setFullYear(i.getFullYear()+c):o.digitalOptions.timeOffsetUnit==="month"?i.setMonth(i.getMonth()+c):o.digitalOptions.timeOffsetUnit==="day"?i.setDate(i.getDate()+c):o.digitalOptions.timeOffsetUnit==="hour"?i.setHours(i.getHours()+c):o.digitalOptions.timeOffsetUnit==="minute"?i.setMinutes(i.getMinutes()+c):o.digitalOptions.timeOffsetUnit==="second"?i.setSeconds(i.getSeconds()+c):o.digitalOptions.timeOffsetUnit==="millisecond"&&i.setMilliseconds(i.getMilliseconds()+c)}return i},f=()=>{const i=d();l.value=i,n.value=r(o.digitalOptions.txtFormat,l.value)};let s;const v=()=>{f(),s=requestAnimationFrame(v)};return e.onMounted(()=>{v()}),e.onBeforeUnmount(()=>{s&&cancelAnimationFrame(s)}),(i,c)=>(e.openBlock(),e.createElementBlock("span",null,e.toDisplayString(n.value),1))}}),hl={class:"clock-container"},gl=["width","height"],bl=Object.assign({name:"clock-analog",inheritAttrs:!1},{__name:"index",props:{analogOptions:{type:Object}},setup(a){const o=a,l=e.computed(()=>Math.min(o.analogOptions.width,o.analogOptions.height)),n=e.ref(null),r=e.ref(null),d=e.computed(()=>l.value/2),f=e.ref(new Date),s=e.computed(()=>({...o.analogOptions,centerColor:"#f1c40f"})),v=()=>{r.value=n.value.getContext("2d")},i=N=>Math.PI/180*N,c=N=>N>=12?N-12:N,p=yt(),m=e.ref(""),t=e.ref(""),u=e.ref(""),b=e.ref(""),h=(N,I)=>{if(N&&typeof(p==null?void 0:p.value)=="function")try{p.value(N).then(D=>{const O=new Blob([D],{type:"image/"+N.split(".").pop()}),L=URL.createObjectURL(O);I==="dialBackgroundPic"?m.value=L:I==="secondHandPic"?b.value=L:I==="minuteHandPic"?u.value=L:I==="hourHandPic"&&(t.value=L)}).catch(()=>{})}catch{}};e.watch(()=>s.value.dialBackgroundPic,N=>{h(N,"dialBackgroundPic")}),e.watch(()=>s.value.secondHandPic,N=>{h(N,"secondHandPic")}),e.watch(()=>s.value.minuteHandPic,N=>{h(N,"minuteHandPic")}),e.watch(()=>s.value.hourHandPic,N=>{h(N,"hourHandPic")});const g=new Map,w=N=>{let I=g.get(N);if(I)return I;const D=()=>{N&&URL.revokeObjectURL(N)};return I=new Image,I.src=N,I.onload=()=>{g.set(N,I),D()},I.onerror=()=>{g.set(N,"broken"),D()},g.set(N,"loading"),I},C=()=>{const N=d.value-l.value/50,I=d.value-l.value/400;if(s.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),F=O*U,Y=L*U,q=-F/2,H=-Y/2;r.value.drawImage(D,q,H,F,Y)}}}else{r.value.beginPath(),r.value.arc(0,0,I,0,2*Math.PI),r.value.fillStyle=s.value.dialBackgroundColor,r.value.fill();for(let D=1;D<=60;D++){const O=i(D*6-90),L=Math.sin(O),U=Math.cos(O);let F,Y,q,H;if(D%5===0){r.value.lineWidth=l.value/50,F=L*(N-N/9),Y=-U*(N-N/9),q=L*N,H=-U*N;const X=N-N/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=s.value.dialColor,r.value.fillText(te.toString(),J,oe)}else r.value.lineWidth=l.value/100,F=L*(N-N/20),Y=-U*(N-N/20),q=L*N,H=-U*N;r.value.beginPath(),r.value.strokeStyle=s.value.scaleColor,r.value.lineCap="round",r.value.moveTo(F,Y),r.value.lineTo(q,H),r.value.stroke()}r.value.beginPath(),r.value.arc(0,0,d.value-o.analogOptions.borderWidth/2,0,2*Math.PI),r.value.lineWidth=o.analogOptions.borderWidth,r.value.strokeStyle=s.value.borderColor,r.value.stroke()}},_=(N,I,D,O=.5,L=.5,U)=>{if(N){r.value.beginPath(),r.value.moveTo(0,0),r.value.translate(d,d);const F=w(N),Y=I/F.height,q=F.width*Y>D?D:F.width*Y,H=F.height*Y>I?I:F.height*Y;if(U?r.value.translate(0,-H/2+H*.22):r.value.translate(0,-H/2),F!=="broken"&&F!=="loading"){const X=-q*O,J=-H*L;r.value.drawImage(F,X,J,q,H),r.value.restore()}}},y=(N,I,D,O=!0)=>{r.value.beginPath(),r.value.moveTo(0,0),r.value.lineTo(0,-N),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()},S=(N,I)=>{const D=d.value*.75-l.value/40;if(r.value.save(),!s.value.dialBackgroundPic||!s.value.secondHandPic){const O=i(N*6);r.value.rotate(O),y(D,l.value/150,s.value.secondHandColor),r.value.beginPath(),r.value.arc(0,D/15,l.value/60,0,2*Math.PI),r.value.fillStyle=s.value.secondHandColor,r.value.fill(),r.value.restore()}else{const O=i(N*6);r.value.rotate(O),_(b.value,d.value-l.value/400,l.value/100,.5,.5,!0)}},k=(N,I)=>{const D=d.value*.55;if(r.value.save(),s.value.dialBackgroundPic==null||s.value.dialBackgroundPic==null||s.value.dialBackgroundPic==""||s.value.minuteHandPic==null||s.value.minuteHandPic==null||s.value.minuteHandPic==""){const O=i(N*6+I*.1);r.value.rotate(O),y(D,l.value/60,s.value.minuteHandColor),r.value.restore()}else{const O=i(N*6+I*.1);r.value.rotate(O),_(u.value,D,l.value/50,.5,.5)}},x=(N,I)=>{const D=d.value*.4;if(r.value.save(),s.value.dialBackgroundPic==null||s.value.dialBackgroundPic==null||s.value.dialBackgroundPic==""||s.value.hourHandPic==null||s.value.hourHandPic==null||s.value.hourHandPic==""){const O=i(N*30+I*.5);r.value.rotate(O),y(D,l.value/40,s.value.hourHandColor),r.value.restore()}else{const O=i(N*30+I*.5);r.value.rotate(O),_(t.value,D,l.value/25,.5,.5)}},V=()=>{r.value.beginPath(),r.value.arc(0,0,l.value/30,0,2*Math.PI),r.value.fillStyle=s.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()},$=()=>{const N=new Date;if(o.analogOptions.timeOffset){const I=+o.analogOptions.timeOffset||0;o.analogOptions.timeOffsetUnit==="hour"?N.setHours(N.getHours()+I):o.analogOptions.timeOffsetUnit==="minute"?N.setMinutes(N.getMinutes()+I):o.analogOptions.timeOffsetUnit==="second"?N.setSeconds(N.getSeconds()+I):o.analogOptions.timeOffsetUnit==="millisecond"&&N.setMilliseconds(N.getMilliseconds()+I)}return N},E=()=>{if(!r.value)return;const N=$();f.value=N;const I=N.getHours(),D=N.getMinutes(),O=N.getSeconds();N.getMilliseconds(),r.value.setTransform(1,0,0,1,0,0),r.value.clearRect(0,0,l.value,l.value),r.value.translate(d.value,d.value),C(),x(c(I),D),k(D,O),s.value.isShowSecondHand&&S(O),V()},B=e.ref(null),A=()=>{E(),B.value=setTimeout(()=>{A()},1e3)},P=()=>{A()},M=()=>{B.value&&(clearTimeout(B.value),B.value=null)};return e.onMounted(()=>{s.value.dialBackgroundPic&&h(s.value.dialBackgroundPic,"dialBackgroundPic"),s.value.hourHandPic&&h(s.value.hourHandPic,"hourHandPic"),s.value.minuteHandPic&&h(s.value.minuteHandPic,"minuteHandPic"),s.value.secondHandPic&&h(s.value.secondHandPic,"secondHandPic"),v(),P()}),e.onBeforeUnmount(()=>{M()}),(N,I)=>(e.openBlock(),e.createElementBlock("div",hl,[e.createElementVNode("canvas",{ref_key:"canvas",ref:n,width:o.analogOptions.width,height:o.analogOptions.height},null,8,gl)]))}}),_l={class:"clock-widget"},kl=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(a){const o=a,{elRef:l,width:n,height:r}=Ne(),d=e.computed(()=>!o.preview&&!o.selected&&!o.txtFormat?{backdropFilter:"blur(2px)"}:{}),f=Ft(o),s=Ht(o,n,r),v=vt(o,n,r),i=e.computed(()=>{const{rect:m,timeOffset:t,timeOffsetUnit:u,bgcolor:b,color:h,horColor:g,minColor:w,secColor:C,scaleColor:_,borderColor:y,borderWidth:S,bgPic:k,secPic:x,minPic:V,horPic:$,isShowSecondHand:E}=o;return{width:m.width,height:m.height,timeOffset:t,timeOffsetUnit:u,borderColor:y,borderWidth:S,dialColor:h,dialBackgroundColor:b,secondHandColor:C,minuteHandColor:w,hourHandColor:g,scaleColor:_,dialBackgroundPic:k,secondHandPic:x,minuteHandPic:V,hourHandPic:$,isShowSecondHand:E}}),c=e.computed(()=>{const{txtFormat:m,timeOffset:t,timeOffsetUnit:u}=o;return{txtFormat:m,timeOffset:t,timeOffsetUnit:u}}),p=e.useModel(a,"item");return e.watch([()=>o.clockType,()=>o.rect.width,()=>o.rect.height],([m,t,u],[b,h,g])=>{p.value&&m===1&&(t!==h&&u===g?(p.value.rect.width=t,p.value.rect.height=t):t===h&&u!==g?(p.value.rect.width=u,p.value.rect.height=u):t!==h&&u!==g?(p.value.rect.width=(t+u)/2,p.value.rect.height=(t+u)/2):t!==u&&(p.value.rect.width=Math.min(t,u),p.value.rect.height=Math.min(t,u)))}),(m,t)=>(e.openBlock(),e.createElementBlock("div",_l,[a.clockType===0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"digital-clock-container",style:e.normalizeStyle({...e.unref(f),...e.unref(s),...d.value})},[e.createElementVNode("span",{ref_key:"textRef",ref:l,style:e.normalizeStyle(e.unref(v))},[e.createVNode(yl,{digitalOptions:c.value},null,8,["digitalOptions"])],4)],4)):a.clockType===1?(e.openBlock(),e.createBlock(bl,{key:1,analogOptions:i.value},null,8,["analogOptions"])):e.createCommentVNode("",!0)]))}}),wl=K(kl,[["__scopeId","data-v-c8e615f1"]]),Cl={viewBox:"0 0 1024 1024"},xl=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),Sl=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),Vl=[xl,Sl],Tl=Object.assign({name:"ClockIcon"},{__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Cl,Vl))}}),xt=[{value:0,label:"文字显示"},{value:1,label:"模拟时钟"}],St=[{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:"毫秒"}],El=[{type:"radio-default",label:"时钟类型",key:"CP",bindKey:"clockType",valueType:"number",defaultValue:xt[0].value,options:xt},{type:"radio-default",label:"日期类型",key:"CK",bindKey:"timeType",valueType:"number",defaultValue:St[0].value,options:St,display:({props:a})=>a.clockType===0},{type:"format-date",label:"格式",key:"F",bindKey:"txtFormat",defaultValue:"YYYY-MM-DD HH:mm:ss",display:({props:a})=>a.clockType===0},R[0],R[1],{...R[2],display:({props:a})=>a.clockType===0},{...R[3],display:({props:a})=>a.clockType===0},{...R[4],display:({props:a})=>a.clockType===0},...ae,{...se[0],display:({props:a})=>a.clockType===0},{...se[1],display:({props:a})=>a.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:"file-list",label:"背景图片",key:"BCP",bindKey:"bgPic",files:"Image",display:({props:a})=>a.clockType===1},{type:"file-list",label:"时针图片",key:"HRP",bindKey:"horPic",files:"Image",display:({props:a})=>a.clockType===1&&!(a.bgPic==null||a.bgPic==null||a.bgPic=="")},{type:"file-list",label:"分针图片",key:"MIP",bindKey:"minPic",files:"Image",display:({props:a})=>a.clockType===1&&!(a.bgPic==null||a.bgPic==null||a.bgPic=="")},{type:"switch-default",label:"显示秒针",key:"SS",bindKey:"isShowSecondHand",valueType:"boolean",defaultValue:!0},{type:"file-list",label:"秒针图片",key:"SCP",bindKey:"secPic",files:"Image",display:({props:a})=>a.clockType===1&&!(a.bgPic==null||a.bgPic==null||a.bgPic=="")},{type:"color-picker",label:"时针颜色",key:"HRC",bindKey:"horColor",valueType:"color",defaultValue:"#2c3e50",display:({props:a})=>a.clockType===1},{type:"color-picker",label:"分针颜色",key:"MIC",bindKey:"minColor",valueType:"color",defaultValue:"#2c3e50",display:({props:a})=>a.clockType===1},{type:"color-picker",label:"秒针颜色",key:"SCC",bindKey:"secColor",valueType:"color",defaultValue:"#f1c40f",display:({props:a})=>a.clockType===1},{type:"color-picker",label:"刻度颜色",key:"SLC",bindKey:"scaleColor",valueType:"color",defaultValue:"#2c3e50",display:({props:a})=>a.clockType===1&&(a.bgPic==null||a.bgPic==null||a.bgPic=="")},{type:"color-picker",label:"边圈颜色",key:"BDRC",bindKey:"borderColor",valueType:"color",defaultValue:"#2c3e50",display:({props:a})=>a.clockType===1&&(a.bgPic==null||a.bgPic==null||a.bgPic=="")},{type:"input-number",label:"边圈宽度",key:"BDRW",bindKey:"borderWidth",valueType:"number",defaultValue:1,display:({props:a})=>a.clockType===1&&(a.bgPic==null||a.bgPic==null||a.bgPic=="")}];class no extends ne{constructor(){super({key:"CL",seq:1,title:"时钟",icon:Tl,view:wl,properties:El})}valueFormat(o,l,n){const{valueType:r}=l;return r==="boolean"?o!=="0":super.valueFormat(o,l,n)}}const $l=new no,Bl=Object.freeze(Object.defineProperty({__proto__:null,ClockWidget:no,default:$l},Symbol.toStringTag,{value:"Module"}));var ke=(a=>(a[a.initial=0]="initial",a[a.fill=1]="fill",a[a.contain=2]="contain",a[a.cover=3]="cover",a[a.none=4]="none",a))(ke||{}),ct=(a=>(a[a.no=1]="no",a[a.yes=2]="yes",a))(ct||{});const He=e.defineComponent({name:"ExtraDefault",inheritAttrs:!1,__name:"extra",props:e.mergeModels({property:{}},{data:{}}),emits:["update:data"],setup(a){const o=R.slice(0,2).map(({bindKey:s})=>s),l=[...R.slice(2),...ae,...se].map(({bindKey:s})=>s),n=a,r=e.useModel(a,"data"),d=e.computed(()=>{var i,c;let s="列";const v=(i=n.property)==null?void 0:i.bindKey;return o.includes(v)&&(s=(c=r.value)!=null&&c.props.rowMode?"行":"列"),`应用于所有${s}`}),f=()=>{if(n.property&&r.value){const s=n.property.bindKey;if(o.includes(s)){const v=r.value.props[s];(r.value.props.rowMode?r.value.props.rowConfs:r.value.props.colConfs).forEach(p=>{p[s]=v})}if(l.includes(s)){const v=r.value.props[s];r.value.props.colConfs.forEach(i=>{i[s]=v})}}};return(s,v)=>{const i=e.resolveComponent("el-button"),c=e.resolveComponent("el-tooltip");return e.openBlock(),e.createBlock(c,{content:d.value,placement:"top"},{default:e.withCtx(()=>[e.createVNode(i,{icon:"Refresh",size:"small",circle:"",onClick:v[0]||(v[0]=p=>f())})]),_:1},8,["content"])}}}),Nl={},Ml={class:"tip"};function Il(a,o){return e.openBlock(),e.createElementBlock("span",Ml," 行模式已开启 ")}const Al=K(Nl,[["render",Il],["__scopeId","data-v-eb404351"]]),nt=[{label:"是",value:ct.yes},{label:"否",value:ct.no}],Tt=[{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",ao=[{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((a,o)=>({...a,display:o<2})),{...ae[0],display:!1},{...ae[1],key:"CA",display:!1},...se.map(a=>({...a,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:Tt[0].value,options:Tt},{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:a=>a.colMode===1},{type:"input-number",label:"图片高度",key:"PH",bindKey:"imageHeight",valueType:"number",min:-1,defaultValue:-1,tip:"-1 表示使用单元格高度",display:a=>a.colMode===1},{type:"single-select",label:"拉伸方式",key:"PF",bindKey:"objectFit",valueType:"number",defaultValue:Et[0].value,options:Et,display:a=>a.colMode===1},{type:"single-select",label:"列语种",key:"LANGUAGE",bindKey:"language",defaultValue:ue,options:"Language",display:a=>a.colMode!==1},{type:"input-text",label:"",key:"DV",bindKey:"domainVal",display:!1},{type:"radio-default",label:"",key:"WL",bindKey:"effectRow",valueType:"number",options:nt,display:!1},{type:"checkbox-default",label:"使用行背景",key:"RBC",bindKey:"useRowBG",valueType:"boolean",defaultValue:!1,display:!1},{...R[0]},...R.slice(1).map(a=>({...a,display:o=>o.colMode!==1})),{...ae[0]},{...ae[1],key:"CA"},...se.map(a=>({...a,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:nt[1].value,options:nt},{type:"checkbox-default",label:"使用行背景",key:"RBC",bindKey:"useRowBG",valueType:"boolean",defaultValue:!1,display:(a,o)=>o.rowMode,extra:Al},{...R[0],display:(a,o)=>!a.useRowBG||!o.rowMode},...R.slice(1),{...ae[0]},{...ae[1],key:"CA"},...se],display:a=>a.colMode!==1}]},...R.map(a=>({...a,extra:He})),{...ae[0],extra:He},{...ae[1],key:"CA",extra:He},...se.map(a=>({...a,extra:He}))],Pl=["onMousedown"],Dl=["onMousedown"],zl=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(a,{emit:o}){const l=a,n=o,r=e.computed(()=>{var p;const v=l.dataSource.length||1,i=((p=l.dataSource)==null?void 0:p[0].td.length)||1,c=l.lineWidth;return[(i-1)*c/i,(v-1)*c/v]});let d=[],f=[];const{mousedown:s}=eo({moveFirst:()=>{const{rowHeight:v,colWidth:i}=l;d=[...i],f=[...v]},moveTravel:({deltaX:v,deltaY:i},{type:c,index:p}={})=>{n("resize",{type:c,index:p,size:c==="row"?f[p]+i:c==="col"?d[p]+v:0})}});return(v,i)=>(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:u=>e.unref(s)(u,{type:"row",index:p-1})},null,44,Pl)):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:u=>e.unref(s)(u,{type:"col",index:t-1})},null,44,Dl)):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))}}),ro=K(zl,[["__scopeId","data-v-5c70c8e3"]]),Ol={class:"data-table-widget"},Ll=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(a){const o=a,l=ye(),n=b=>{var h;return(h=(l.value[o.source??""]??[]).find(({value:g})=>g===b))==null?void 0:h.label},r=e.computed(()=>{const{fillColor:b}=o;return{backgroundColor:b}}),d=Ce(o),f=e.computed(()=>Number.parseInt(String(d.value.borderWidth),10)),s=(b,h)=>{for(let g=0;g<h.length;g++){const w=h[g],{domainVal:C}=w;if(b.match(new RegExp(`^${(C??"").replace(/(\*+)/g,".*")}$`)))return w}return null},v=(b,h,g,w)=>{const{id:C,rowMode:_,rowConfs:y,colConfs:S}=o,k=w||(_?y[b]:S[h]),x=w!=null&&w.useRowBG&&_?y[b].bgcolor:k.bgcolor,V=k.color;let{fontFamily:$,fontSize:E,fontStyle:B,align:A,valign:P,animationSpeed:M,animationStyle:N}=k;if(!w&&_&&({fontFamily:$,fontSize:E,fontStyle:B,align:A,valign:P,animationSpeed:M,animationStyle:N}=S[h]),!g)return{fontStyle:{backgroundColor:x}};const I=o.colWidth[h],D=o.rowHeight[b];if(typeof g=="string"){const O=me({color:V,bgcolor:x,fontFamily:$,fontSize:E,fontStyle:B}),{width:L,height:U}=Po(g,O.fontSize,O.fontFamily),F=rt({align:A,valign:P,width:I,height:D,textWidth:L,textHeight:U}),Y=Kt(`widget-${C}-${b}-${h}-roll`,{animationSpeed:M,animationStyle:N,align:A,valign:P,width:I,height:D,textWidth:L,textHeight:U});return{fontStyle:O,alignStyle:F,animationStyle:Y}}if(S[h].colMode===1){const{imageWidth:O,imageHeight:L,objectFit:U}=S[h],F=O===-1?I:O??0,Y=L===-1?D:L??0,q=rt({align:A,valign:P,width:I,height:D,textWidth:F,textHeight:Y});return{imageStyle:{width:z(F),height:z(Y),objectFit:ke[U]},fontStyle:{backgroundColor:x},alignStyle:q}}},i=yt(),c=he(o),p=e.computed(()=>{const{colConfs:b}=o,h=c.value?c.value.data??[]:[];return new Array(o.row).fill(0).map((g,w)=>{let C=null;const _=h[w],y=b.map(({colDomains:S,colMode:k},x)=>{if(k!==1){const V=(_==null?void 0:_[x])??"",$=s(V,S);return $&&$.effectRow===2&&(C=$),$}return null});return{id:G(),td:new Array(o.col).fill(0).map((S,k)=>{let x="";if(!o.preview&&w===0)x=n(b[k].field);else if(o.preview&&(x=(_==null?void 0:_[k])??"",x&&b[k].colMode===1)){const V=x;x=e.defineAsyncComponent(()=>new Promise($=>{try{typeof(i==null?void 0:i.value)!="function"?$(e.h("img",{title:"没有提供获取图片流的接口"})):i.value(V).then(E=>{const B=new Blob([E],{type:`image/${V.split(".").pop()}`}),A=URL.createObjectURL(B),P=()=>URL.revokeObjectURL(A);$(e.h("img",{src:A,onError:P,onLoad:P}))}).catch(()=>{$(e.h("img",{title:"请求图片流出错"}))})}catch{$(e.h("img",{title:"请求图片流出错"}))}}))}return{id:G(),text:x,lineStyle:d.value,...v(w,k,x,y[k]||C)}})}})});e.watch([()=>o.rect.width,()=>o.rect.height],([b,h],[g,w])=>{if(t.value){const{props:C}=t.value;if(b!==g){const _=C.colWidth.length,y=C.colWidth.reduce((S,k)=>S+k,0);C.colWidth=y===0?C.colWidth.map(()=>b/_):C.colWidth.map(S=>S*b/y)}if(h!==w){const _=C.rowHeight.length,y=C.rowHeight.reduce((S,k)=>S+k,0);C.rowHeight=y===0?C.rowHeight.map(()=>h/_):C.rowHeight.map(S=>S*h/y)}}});const m=b=>{if(t.value){const{rect:h,props:g}=t.value,{type:w,index:C,size:_}=b,y=w==="row"?"rowHeight":"colWidth",S=[...g[y]],k=S.length;S[C]=_,g[y]=je(C,S,w==="row"?h.height:h.width,(g.lineWidth??0)*k/(k-1))}},t=e.useModel(a,"item"),u=Me(t.value?`${t.value.type}-${t.value.id}`:"",({value:b,property:h})=>{var g;if(t.value){const{rect:w,props:C}=t.value,{bindKey:_}=h;if(_==="source"&&C.colConfs.forEach(y=>{y.field=void 0}),typeof b=="boolean"&&_==="rowConfs"&&(C.rowMode=b,b||C.colConfs.forEach(y=>{y.useRowBG=!1,y.colDomains.forEach(S=>{S.useRowBG=!1})})),typeof b=="number"&&(_==="row"||_==="col"||_==="rowConfs"||_==="colConfs")){const y=_==="row"||_==="rowConfs"?"row":"col",S=y==="row"?"rowHeight":"colWidth",k=y==="row"?"rowConfs":"colConfs",x=y==="row"?w.height:w.width,V=C[S].length;if(b-V>0){const $=_==="colConfs"||_==="rowConfs"?h.children:(g=ao.find(A=>A.bindKey===k))==null?void 0:g.children,E=new Array(b-V).fill(0).map(()=>{const A={id:G()};return $==null||$.forEach(P=>{A[P.bindKey]=j(C[P.bindKey]??P.defaultValue)}),A});y==="row"?C.rowConfs.push(...E):C.colConfs.push(...E);const B=x/b;C[S]=new Array(b).fill(B),C[y]=b}else{if(V<=1)return;let $=0;_==="rowConfs"||_==="colConfs"?($=V-1,C[k].splice(-b,1)):($=b,C[k].splice(b));const E=x/$;C[S]=new Array($).fill(E),C[y]=$}}if(typeof(b==null?void 0:b.index)=="number"&&(_==="rowHeight"||_==="colWidth")){const{value:y,index:S}=b,k=[...C[_]],x=k.length;k[S]=y,C[_]=je(S,k,_==="rowHeight"?w.height:w.width,(C.lineWidth??0)*x/(x-1))}}});return e.onUnmounted(()=>{Ho(`widget-${o.id}-\\d-\\d-roll`),u()}),(b,h)=>(e.openBlock(),e.createElementBlock("div",Ol,[e.createVNode(ro,{style:e.normalizeStyle(r.value),lineWidth:f.value,rowHeight:b.rowHeight,colWidth:b.colWidth,dataSource:p.value,resizable:!!t.value,onResize:m},null,8,["style","lineWidth","rowHeight","colWidth","dataSource","resizable"])]))}}),Wl=K(Ll,[["__scopeId","data-v-06b452c4"]]),Hl={viewBox:"0 0 1024 1024"},Fl=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),Rl=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),Ul=[Fl,Rl],Kl=e.defineComponent({name:"DataTableIcon",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Hl,Ul))}}),$t=[...R,...ae,...se].map(({bindKey:a})=>a);class so extends ne{constructor(){super({key:"DT",seq:6,title:"数据表格",icon:Kl,view:Wl,properties:ao,rectangles:{width:{defaultValue:60},height:{defaultValue:60}}})}initDefault(o,l){var v,i;const n=super.initDefault(o,l),r=(v=this.properties.find(({bindKey:c})=>c==="rowConfs"))==null?void 0:v.children,d=new Array(n.props.row).fill(0).map(()=>{const c={id:G()};return r==null||r.forEach(p=>{c[p.bindKey]=j(p.defaultValue)}),c}),f=(i=this.properties.find(({bindKey:c})=>c==="colConfs"))==null?void 0:i.children,s=new Array(n.props.col).fill(0).map(()=>{const c={id:G()};return f==null||f.forEach(p=>{c[p.bindKey]=j(p.defaultValue)}),c});return{...n,props:{...n.props,rowConfs:d,colConfs:s}}}extraToData(o,l,n){var m,t,u;const r={};this.rectangles.forEach(({key:b,bindKey:h})=>{var g,w;r[h]=+(((g=o.querySelector(W(b,!0)))==null?void 0:g.textContent)??((w=n==null?void 0:n.querySelector(W(b,!0)))==null?void 0:w.textContent)??0)});const d=((m=l==null?void 0:l.querySelector(W("STYPE")))==null?void 0:m.textContent)??"",f=((t=l==null?void 0:l.querySelector(W("DATASET")))==null?void 0:t.textContent)??void 0,[s,v,i,c]=(((u=l==null?void 0:l.querySelector(W("DATALISTDETAIL")))==null?void 0:u.textContent)??"").split(";").map(b=>(b??"").split(",")),p={};return this.properties.forEach(b=>{var y,S,k,x,V;const{key:h,bindKey:g,defaultValue:w,children:C}=b;if(g==="filter"){p[g]=d;return}if(g==="source"){p[g]=f;return}if(g==="oddLanguage"||g==="evenLanguage"){p[g]=(c==null?void 0:c[g==="oddLanguage"?0:1])||j(w);return}if($t.includes(g)){p[g]=j(w);return}if(g==="colConfs"){const $=((S=(y=C==null?void 0:C.find(B=>B.bindKey==="colDomains"))==null?void 0:y.children)==null?void 0:S.map(B=>B.bindKey))??[],E=o.querySelectorAll(W(h,!0));p[g]=Array.from(E).map((B,A)=>{var N;const P={id:G()},M=+(((N=B.querySelector(W("SE")))==null?void 0:N.textContent)??1);return C==null||C.forEach(I=>{var D,O;if(I.bindKey==="field")P[I.bindKey]=(s==null?void 0:s[A])||void 0;else if(I.bindKey==="language")P[I.bindKey]=(v==null?void 0:v[A])||j(I.defaultValue);else if(I.bindKey==="colDomains")P.colDomains=[],M===2&&((D=I.children)==null||D.map(L=>{var F;(((F=B.querySelector(W(L.key,!0)))==null?void 0:F.textContent)??"").split(",").map((Y,q)=>{const H=this.valueFormat(Y,L,o);P.colDomains[q]||(P.colDomains[q]={id:G()}),P.colDomains[q][L.bindKey]=H})}));else if(M===2&&$.includes(I.bindKey))P[I.bindKey]=j(I.defaultValue);else{const L=(O=B.querySelector(W(I.key,!0)))==null?void 0:O.textContent;P[I.bindKey]=(I.bindKey==="imageWidth"||I.bindKey==="imageHeight")&&!L?-1:this.valueFormat(L,I,o)}}),P});return}if(g==="rowConfs"){const $=o.querySelectorAll(W(h,!0)),E=$.length>0;if(E)p[g]=Array.from($).map((B,A)=>{const P={id:G()};return C==null||C.forEach(M=>{var N;if(M.bindKey==="language")P[M.bindKey]=(i==null?void 0:i[A])||j(M.defaultValue);else{const I=(N=B.querySelector(W(M.key,!0)))==null?void 0:N.textContent;P[M.bindKey]=this.valueFormat(I,M,B)}}),P});else{const B=+(((k=o.querySelector(W("NR")))==null?void 0:k.textContent)??1);p[g]=new Array(B).fill(0).map(()=>{const A={id:G()};return C==null||C.forEach(P=>{A[P.bindKey]=j(P.defaultValue)}),A})}p.rowMode=E;return}const _=((x=o.querySelector(W(h)))==null?void 0:x.textContent)??((V=n==null?void 0:n.querySelector(W(h)))==null?void 0:V.textContent);p[g]=this.valueFormat(_,b,o)}),{rect:r,props:p}}propsToXML(o,l,n){return this.properties.map(r=>{var c,p;const{key:d,bindKey:f,children:s}=r;if(f==="filter")return[];if(f==="source")return[];if(f==="oddLanguage"||f==="evenLanguage")return[];if($t.includes(f))return[];if(f==="colConfs"){const m=((p=(c=s==null?void 0:s.find(t=>t.bindKey==="colDomains"))==null?void 0:c.children)==null?void 0:p.map(t=>t.bindKey))??[];return o[f].map((t,u)=>{var g;const b=l.createElement(d.toUpperCase());T("LN",u+1,b,l);const h=((g=t.colDomains)==null?void 0:g.length)>0&&t.colMode!==1?2:1;return T("SE",h,b,l),s==null||s.forEach(w=>{var C;if(w.bindKey!=="field"){if(w.bindKey!=="language"){if(w.bindKey==="colDomains"&&h===2){const _=[];if(t.colDomains.forEach(({domainVal:y},S)=>{y||_.push(S+1)}),_.length>0)throw new Error(`${n.name}: 第${u+1}列,第${_.join(",")}个配置的值域内容不能为空`);if(!t.colDomains.some(({domainVal:y})=>y==="*"))throw new Error(`${n.name}: 第${u+1}列,所配置的值域列表里,至少需要有一个值域内容为 * 号`);(C=w.children)==null||C.map(y=>{const S=t.colDomains.map(k=>this.textFormat(k[y.bindKey],y,o)).join(",");T(y.key.toUpperCase(),S,b,l)})}else if(!(h===2&&m.includes(w.bindKey))){if(w.bindKey!=="colDomains"){const _=t[w.bindKey],y=(w.bindKey==="imageWidth"||w.bindKey==="imageHeight")&&_===-1?"":this.textFormat(_,w,o);T(w.key.toUpperCase(),y,b,l)}}}}}),b})}if(f==="rowConfs")return o.rowMode?o[f].map((m,t)=>{const u=l.createElement(d.toUpperCase());return T("LN",t+1,u,l),s==null||s.forEach(b=>{if(b.bindKey!=="language"){const h=this.textFormat(m[b.bindKey],b,o);T(b.key.toUpperCase(),h,u,l)}}),u}):[];const v=l.createElement(d.toUpperCase()),i=this.textFormat(o[f],r,o);return v.appendChild(l.createTextNode(i)),v}).reduce((r,d)=>r.concat(d),[])}extraToXML(o,l,n,r,d){const f=n.createElement("ST");T("ID",-1,f,n),T("TP",3,f,n),this.rectToXML(o,n,r).forEach(y=>{f.appendChild(y)});const s=n.createElement("Table");T("ID",G(),s,n),T("PISTYPE",d.screenTypeID,s,n),T("TEMPLETID",-1,s,n),T("EDITIONID",-1,s,n),T("ELEMENTID",r.id,s,n),T("ELEMENTTYPE",this.key,s,n),T("NR",l.row,s,n);let v="",i="";const c=[],p=[],m=[],t=[];this.properties.forEach(y=>{const{key:S,bindKey:k}=y;if(k==="row"||k==="col"||k==="rowHeight"||k==="colWidth"||k==="fillColor"||k==="lineWidth"||k==="lineColor"){const x=this.textFormat(l[k],y,l);T(S.toUpperCase(),x,f,n)}else if(k==="filter")v=l[k]??"";else if(k==="source")if(l[k])i=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,V)=>{if(!x.field)throw new Error(`${r.name}: 第 ${V+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 u=!1,b=0,h="",g=!1,w=[];if(l.rowMode)if(new Set(m).size===1)u=!0;else{if(new Set(c).size!==c.length)throw new Error(`${r.name}: 行语言配置生效时,所有的列配置的【绑定字段】,不能存在重复`);const y=m.filter((k,x)=>x%2===0),S=m.filter((k,x)=>x%2===1);if(new Set(y).size!==1||new Set(S).size!==1)throw new Error(`${r.name}: 行语言配置生效时,所有的行语言只能为两种语言,且需按照 ABAB... 间隔模式配置`);w=m.slice(0,2),b=1,h="R"}else if(new Set(p.filter(y=>!!y)).size===1)u=!0;else{if(new Set(c.map((y,S)=>`${y}-${p[S]}`)).size!==c.length)throw new Error(`${r.name}: 列语言配置生效时,所有的文本列配置的【绑定字段 + 语言】,图片列配置的【绑定字段】,不能存在重复`);w=p,b=0,h="C",g=!0}if(u){if(new Set(c).size!==c.length)throw new Error(`${r.name}: 奇偶语言配置生效时,所有的列配置的【绑定字段】,不能存在重复`);new Set(t).size===1?(w=[t[0]],b=0,h="C"):(w=t,b=l.row,h="R")}const C=[];w.forEach((y,S)=>{(g?[c[S]]:c).forEach(x=>{C.push(y&&zo(x)?x.replace(/^C/,y.replace(/.+\|/,"")):x)})});const _=[c.join(","),p.join(","),m.join(","),t.join(",")];return T("STYPE",v,s,n),T("CTYPE",h,s,n),T("MTYPE",b,s,n),T("LTYPE",[...new Set(w)].filter(y=>!!y).join(","),s,n),T("DATASET",i,s,n),T("DATALIST",C.join(","),s,n),T("DATALISTDETAIL",_.join(";"),s,n),T("SHOWMODE","",s,n),T("DURATION",0,s,n),T("CONTENTMODE","",s,n),T("DEFAULTTEXT","",s,n),[s,f]}parseLiveData(o,l,n){var m,t,u;const r=+(((m=l.querySelector(W("NR")))==null?void 0:m.textContent)??1),d=+(((t=l.querySelector(W("DL")))==null?void 0:t.textContent)??0),f=+(((u=l.querySelector(W("PL")))==null?void 0:u.textContent)??0),s=r+f;let v=0,i=[],c=0;Array.from(o.querySelectorAll(W("ROW"))).forEach((b,h)=>{if(h<d){h===d-1&&(c+=1);return}const g=(h-d)%s;if(g>=r){g===r&&(c+=1);return}g===0&&(i.push({data:[],duration:n}),v+=n);const w=[];b.getAttributeNames().forEach((C,_)=>{const y=b.getAttribute(C)??"";w[_]=y}),i[i.length-1].data.push(w)});const p=c-i.length;return p>0&&(i=i.concat(new Array(p).fill({data:[],duration:n})),v+=n*p),{data:i,duration:v}}}const Yl=new so,ql=Object.freeze(Object.defineProperty({__proto__:null,DataTableWidget:so,default:Yl},Symbol.toStringTag,{value:"Module"})),io=[{type:"single-select",label:"数据源",key:"FN",bindKey:"source",options:"Image",clearable:!0},{type:"file-list",label:"默认路径",key:"URL",bindKey:"url",files:"Image"}],jl=["title"],Xl=e.defineComponent({name:"source-label",inheritAttrs:!1,__name:"index",props:{properties:{},source:{}},setup(a){const o=a,l=ye(),n=e.computed(()=>{var d,f;const r=(d=o.properties.find(({bindKey:s})=>s==="source"))==null?void 0:d.options;return(f=(l.value[r]??[]).find(({value:s})=>s===o.source))==null?void 0:f.label});return(r,d)=>n.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"source-label",title:n.value},e.toDisplayString(n.value),9,jl)):e.createCommentVNode("",!0)}}),Ze=K(Xl,[["__scopeId","data-v-f4e0b6c9"]]),Gl="__FILE_CACHE__";function Bt(a){return`${Gl}_${a}`}function co(){return new Promise((a,o)=>{if(!("indexedDB"in window)){o(new Error("IndexedDB not supported"));return}const l=indexedDB.open("file-cache-db",1);l.onupgradeneeded=()=>{const n=l.result;n.objectStoreNames.contains("files")||n.createObjectStore("files")},l.onsuccess=()=>a(l.result),l.onerror=()=>o(l.error)})}function Zl(a,o){return co().then(l=>new Promise((n,r)=>{const s=l.transaction("files","readwrite").objectStore("files").put(o,a);s.onsuccess=()=>{n(),l.close()},s.onerror=()=>{r(s.error),l.close()}}))}function Jl(a){return co().then(o=>new Promise((l,n)=>{const f=o.transaction("files","readonly").objectStore("files").get(a);f.onsuccess=()=>{l(f.result),o.close()},f.onerror=()=>{n(f.error),o.close()}}))}class Nt{static async set(o,l){try{await Zl(Bt(o),l)}catch{}}static async get(o){try{return await Jl(Bt(o))}catch{}}}const Ql={key:0},en={key:1},tn=["src"],on=["src"],ln=e.defineComponent({name:"file-preview",inheritAttrs:!1,__name:"index",props:{style:{},type:{},file:{},preview:{type:Boolean}},setup(a){const o=a,l={Image:"图片",Video:"视频",PPT:"PPT",WORD:"Word"},n=e.ref(!1),r=e.shallowRef(),d=e.shallowRef(),f=e.computed(()=>typeof d.value=="string"&&!d.value.startsWith("blob:")),s=()=>{typeof d.value=="string"&&URL.revokeObjectURL(d.value)},v=()=>{var b;if(n.value=!1,o.type!=="Video"&&s(),o.type==="WORD"||o.type==="PPT"){const h=(b=m.value)==null?void 0:b.querySelector(o.type==="WORD"?".vue-office-docx-main":".vue-office-pptx-main");p.value=h==null?void 0:h.clientWidth}},i=()=>{s(),d.value=`加载${l[o.type]}失败`,n.value=!1},c=yt();e.watch([()=>o.file,()=>o.type],([b,h])=>{if(!b){r.value=!0,d.value=`请选择${l[h]}`;return}if(!Object.keys(l).includes(h)){d.value=`不支持的${l[h]}格式`;return}if(typeof(c==null?void 0:c.value)!="function"){d.value=`未提供获取${l[h]}流的接口`;return}try{n.value=!0,Nt.get(b).then(g=>g?g.arrayBuffer().then(w=>[g,w]):c.value(b).then(w=>{const C=new Blob([w],{type:`${h.toLocaleLowerCase()}/${b.split(".").pop()}`});return C.size>0&&Nt.set(b,C),[C,w]})).then(([g,w])=>{h==="Image"||h==="Video"?d.value=URL.createObjectURL(g):d.value=w}).catch(()=>{n.value=!1,d.value=`请求${l[h]}流出错`})}catch{n.value=!1,d.value=`请求${l[h]}流出错`}},{immediate:!0});const p=e.ref(),{elRef:m,width:t}=Ne(),u=e.computed(()=>p.value?(t.value-Do())/p.value:o.type==="WORD"?854:960);return(b,h)=>{const g=e.resolveDirective("loading");return e.withDirectives((e.openBlock(),e.createElementBlock("div",{ref_key:"elRef",ref:m,class:"flex",style:e.normalizeStyle({...b.style,"--scale":u.value})},[r.value&&b.preview?(e.openBlock(),e.createElementBlock("span",Ql)):f.value?(e.openBlock(),e.createElementBlock("span",en,e.toDisplayString(d.value),1)):b.type==="WORD"?(e.openBlock(),e.createBlock(e.unref(Mo),{key:2,src:d.value,onRendered:v,onError:i},null,8,["src"])):b.type==="PPT"?(e.openBlock(),e.createBlock(e.unref(Io),{key:3,src:d.value,onRendered:v,onError:i},null,8,["src"])):typeof d.value=="string"&&b.type==="Image"?(e.openBlock(),e.createElementBlock("img",{key:4,src:d.value,draggable:"false",onError:i,onLoad:v},null,40,tn)):typeof d.value=="string"&&b.type==="Video"?(e.openBlock(),e.createElementBlock("video",{key:5,src:d.value,draggable:"false",autoplay:"",muted:"",onError:i,onLoadeddata:v,onEnded:s},null,40,on)):e.createCommentVNode("",!0)],4)),[[g,n.value]])}}}),Ae=K(ln,[["__scopeId","data-v-6dc73490"]]),nn={class:"image-widget"},an=e.defineComponent({name:"ImageWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(a){const o=a,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),n=he(o),r=e.computed(()=>n.value?n.value.name??"":o.url);return(d,f)=>(e.openBlock(),e.createElementBlock("div",nn,[d.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(io),source:d.source},null,8,["properties","source"])),e.createVNode(Ae,{style:e.normalizeStyle(e.unref(l)),preview:d.preview,type:"Image",file:r.value},null,8,["style","preview","file"])]))}}),rn=K(an,[["__scopeId","data-v-d1242b50"]]);class uo extends ne{constructor(){super({key:"PT",seq:7,title:"图片",icon:"Picture",view:rn,properties:io})}extraToXML(o,l,n,r,d){const f=this.properties.find(s=>s.bindKey==="source");if(l.source&&f){const s=n.createElement("Table");return T("ID",G(),s,n),T("PISTYPE",d.screenTypeID,s,n),T("TEMPLETID",-1,s,n),T("EDITIONID",-1,s,n),T("ELEMENTID",r.id,s,n),T("ELEMENTTYPE",this.key,s,n),T("STYPE",0,s,n),T("LTYPE","",s,n),T("CTYPE","",s,n),T("MTYPE",0,s,n),T("DATASET",f.options,s,n),T("DATALIST",l.source,s,n),T("DATALISTDETAIL",l.source,s,n),T("SHOWMODE","",s,n),T("DURATION",0,s,n),T("CONTENTMODE","",s,n),T("DEFAULTTEXT","",s,n),[s]}return[]}parseLiveData(o,l,n){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(d=>{const f=d.getAttribute("Name")??"",s=d.getAttribute("Url")??"",v=+(d.getAttribute("Duration")??0);r.push({name:f,url:s,duration:v})}),{data:r,duration:n}}}const sn=new uo,cn=Object.freeze(Object.defineProperty({__proto__:null,ImageWidget:uo,default:sn},Symbol.toStringTag,{value:"Module"})),un={class:"line-widget-inner"},dn=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(a){const o=a,l=e.computed(()=>{const{x0:s,y0:v,x1:i,y1:c,rect:p}=o,m=Lt([s,v],[i,c]),t=ft([s,v],[i,c]);return{width:z(m),transform:`translate(${z(s-p.x)},${z(v-p.y)}) rotate(${t}deg)`}}),n=Ce(o),r=ve(),d=e.useModel(a,"item"),f=Me(d.value?`${d.value.type}-${d.value.id}`:"",({value:s,property:v})=>{const{bindKey:i}=v;if((i==="x0"||i==="y0"||i==="x1"||i==="y1")&&typeof s=="number"&&d.value){const{x:c,y:p,width:m,height:t}=r.value;let{x0:u,y0:b,x1:h,y1:g}=o;i==="x0"?u=Z(s,c,c+m):i==="y0"?b=Z(s,p,p+t):i==="x1"?h=Z(s,c,c+m):i==="y1"&&(g=Z(s,p,p+t)),d.value.rect={x:Z(Math.min(u,h),c,c+m),y:Z(Math.min(b,g),p,p+t),width:Z(Math.abs(u-h),0,m),height:Z(Math.abs(b-g),0,t)}}});return e.onUnmounted(()=>{f()}),(s,v)=>(e.openBlock(),e.createElementBlock("div",{class:"line-widget",style:e.normalizeStyle(l.value)},[e.createElementVNode("div",un,[e.createElementVNode("div",{class:"line",style:e.normalizeStyle(e.unref(n))},null,4)])],4))}}),pn=K(dn,[["__scopeId","data-v-c724f697"]]),fn={viewBox:"0 0 1024 1024"},mn=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),vn=[mn],yn=e.defineComponent({name:"LineIcon",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",fn,vn))}}),hn=[{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 po extends ne{constructor(){super({key:"LN",seq:2,title:"直线",icon:yn,view:pn,properties:hn,rectangles:{x:{display:!1},y:{display:!1},width:{display:!1},height:{display:!1}}})}initDefault(o,l){const n={};return this.properties.forEach(({bindKey:r,defaultValue:d})=>{r==="lineStyle"||r==="lineColor"?n[r]=j(d):r==="x0"?n[r]=o??j(d):r==="y0"?n[r]=l??j(d):r==="x1"?n[r]=(o??0)+j(d):r==="y1"?n[r]=(l??0)+j(d):n[r]=j(d)}),{rect:{x:Math.min(n.x0,n.x1),y:Math.min(n.y0,n.y1),width:Math.abs(n.x0-n.x1),height:Math.abs(n.y0-n.y1)},props:n}}xmlToRect(o){const l={x0:0,y0:0,x1:0,y1:0};return this.properties.forEach(({key:n,bindKey:r})=>{var d;if(r==="x0"||r==="y0"||r==="x1"||r==="y1"){const f=+(((d=o.querySelector(W(n)))==null?void 0:d.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 n=[];return this.rectangles.forEach(({key:r,bindKey:d})=>{if(d==="width"||d==="height"){const f=l.createElement(r.toUpperCase());f.appendChild(l.createTextNode(ie(o[d]).toString())),n.push(f)}}),n}}const gn=new po,bn=Object.freeze(Object.defineProperty({__proto__:null,LineWidget:po,default:gn},Symbol.toStringTag,{value:"Module"})),fo=[{type:"single-select",label:"数据源",key:"PDS",bindKey:"source",options:"PPT"},{type:"file-list",label:"默认路径",key:"URL",bindKey:"url",files:"PPT"}],_n={class:"ppt-widget"},kn=e.defineComponent({name:"PPTWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(a){const o=a,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),n=he(o),r=e.computed(()=>n.value?n.value.name??"":o.url);return(d,f)=>(e.openBlock(),e.createElementBlock("div",_n,[d.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(fo),source:d.source},null,8,["properties","source"])),e.createVNode(Ae,{style:e.normalizeStyle(e.unref(l)),preview:d.preview,type:"PPT",file:r.value},null,8,["style","preview","file"])]))}}),wn=K(kn,[["__scopeId","data-v-187900d9"]]),Cn={viewBox:"0 0 1024 1024"},xn=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),Sn=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),Vn=[xn,Sn],Tn=e.defineComponent({name:"PPTIcon",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Cn,Vn))}});class mo extends ne{constructor(){super({key:"OFP",seq:12,title:"PPT",icon:Tn,view:wn,properties:fo,rectangles:{width:{defaultValue:80}}})}extraToXML(o,l,n,r,d){const f=this.properties.find(s=>s.bindKey==="source");if(l.source&&f){const s=n.createElement("Table");return T("ID",G(),s,n),T("PISTYPE",d.screenTypeID,s,n),T("TEMPLETID",-1,s,n),T("EDITIONID",-1,s,n),T("ELEMENTID",r.id,s,n),T("ELEMENTTYPE",this.key,s,n),T("STYPE",0,s,n),T("LTYPE","",s,n),T("CTYPE","",s,n),T("MTYPE",0,s,n),T("DATASET",f.options,s,n),T("DATALIST",l.source,s,n),T("DATALISTDETAIL",l.source,s,n),T("SHOWMODE","",s,n),T("DURATION",0,s,n),T("CONTENTMODE","",s,n),T("DEFAULTTEXT","",s,n),[s]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,n){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(d=>{const f=d.getAttribute("Name")??"",s=d.getAttribute("Url")??"",v=d.getAttribute("SortNo")??"",i=+(d.getAttribute("Duration")??0);r.push({name:f,url:s,sortNo:v,duration:i})}),{data:r,duration:n}}}const En=new mo,$n=Object.freeze(Object.defineProperty({__proto__:null,PPTWidget:mo,default:En},Symbol.toStringTag,{value:"Module"})),Bn=e.defineComponent({name:"RectangleWidget",inheritAttrs:!1,__name:"index",props:{lineWidth:{},lineColor:{},lineStyle:{},selected:{type:Boolean},preview:{type:Boolean}},setup(a){const l=Ce(a);return(n,r)=>(e.openBlock(),e.createElementBlock("div",{class:"rectangle-widget",style:e.normalizeStyle(e.unref(l))},null,4))}}),Nn=K(Bn,[["__scopeId","data-v-41a4fad0"]]),Mn={viewBox:"0 0 1024 1024"},In=e.createElementVNode("path",{d:"M102.4 102.4h768v768H102.4V102.4z m51.2 51.2v665.6h665.6V153.6H153.6z"},null,-1),An=[In],Pn=e.defineComponent({name:"RectangleIcon",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Mn,An))}}),Dn=[...de];class vo extends ne{constructor(){super({key:"RT",seq:9,title:"矩形",icon:Pn,view:Nn,properties:Dn})}}const zn=new vo,On=Object.freeze(Object.defineProperty({__proto__:null,RectangleWidget:vo,default:zn},Symbol.toStringTag,{value:"Module"})),ut=[{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:"single-select",label:"数据源",key:"DS",bindKey:"source",options:"RichText"},{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:[...st,{label:"自动上滚",value:Ut["auto-up"]}]},{...se[1]}],Ln=["innerHTML"],Wn=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(a){var b;const o=a,l=ye(),n=()=>{var g,w;const h=(g=ut.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:d,height:f}=Ne(),s=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=vt(o,d,f),i=he(o),c=e.computed(()=>i.value?i.value.text??"":!o.preview&&o.source?n():o.text),p=ve(),m=e.useModel(a,"item"),t=(b=ut.find(h=>h.bindKey==="source"))==null?void 0:b.options,u=()=>{const{source:h,rect:g}=o;if(h){const w={...g},{x:C,y:_,width:y,height:S}=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=_+S-(g.y+k.height);w.y=x<0?Math.max(0,g.y+x):g.y,w.height=x<0?Math.min(k.height,S):k.height}return w}return g};return e.watch([()=>o.source,()=>o.rect.width,()=>o.rect.height],()=>{m.value&&(m.value.rect=u())}),(h,g)=>(e.openBlock(),e.createElementBlock("div",{class:"rich-text-widget",style:e.normalizeStyle(s.value)},[e.createElementVNode("div",{ref_key:"textRef",ref:r,style:e.normalizeStyle(e.unref(v)),innerHTML:c.value},null,12,Ln)],4))}}),Hn=K(Wn,[["__scopeId","data-v-abb83169"]]),Fn={viewBox:"0 0 1024 1024"},Rn=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),Un=[Rn],Kn=e.defineComponent({name:"RichTextIcon",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Fn,Un))}});class yo extends ne{constructor(){super({key:"SN",seq:5,title:"富文本",icon:Kn,view:Hn,properties:ut})}valueFormat(o,l,n){const{valueType:r}=l;return r==="boolean"?o!=="0":super.valueFormat(o,l,n)}extraToXML(o,l,n,r,d){const f=this.properties.find(s=>s.bindKey==="source");if(l.source&&f){const s=n.createElement("Table");return T("ID",G(),s,n),T("PISTYPE",d.screenTypeID,s,n),T("TEMPLETID",-1,s,n),T("EDITIONID",-1,s,n),T("ELEMENTID",r.id,s,n),T("ELEMENTTYPE",this.key,s,n),T("STYPE",0,s,n),T("LTYPE","",s,n),T("CTYPE","",s,n),T("MTYPE",0,s,n),T("AUTOWARPFLAG",l.autoWrap?1:0,s,n),T("DATASET",f.options,s,n),T("DATALIST",l.source,s,n),T("DATALISTDETAIL",l.source,s,n),T("SHOWMODE","",s,n),T("DURATION",0,s,n),T("CONTENTMODE","",s,n),T("DEFAULTTEXT","",s,n),[s]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,n){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(d=>{const f=d.getAttribute("Text")??"",s=+(d.getAttribute("Duration")??0);r.push({text:f,duration:s})}),{data:r,duration:n}}}const Yn=new yo,qn=Object.freeze(Object.defineProperty({__proto__:null,RichTextWidget:yo,default:Yn},Symbol.toStringTag,{value:"Module"})),jn={class:"table-widget"},Xn=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(a){const o=a,l=Ce(o),n=e.computed(()=>Number.parseInt(String(l.value.borderWidth),10)),r=e.computed(()=>{const{fillColor:i}=o;return{backgroundColor:i}}),d=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(a,"item");e.watch([()=>o.rect.width,()=>o.rect.height],([i,c],[p,m])=>{if(f.value){const{props:t}=f.value;if(i!==p){const u=t.colWidth.length,b=t.colWidth.reduce((h,g)=>h+g,0);t.colWidth=b===0?t.colWidth.map(()=>i/u):t.colWidth.map(h=>h*i/b)}if(c!==m){const u=t.rowHeight.length,b=t.rowHeight.reduce((h,g)=>h+g,0);t.rowHeight=b===0?t.rowHeight.map(()=>c/u):t.rowHeight.map(h=>h*c/b)}}});const s=i=>{if(f.value){const{rect:c,props:p}=f.value,{type:m,index:t,size:u}=i,b=m==="row"?"rowHeight":"colWidth",h=[...p[b]],g=h.length;h[t]=u,p[b]=je(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:i,property:c})=>{if(f.value){const{rect:p,props:m}=f.value,{bindKey:t}=c;if(typeof i=="number"&&(t==="row"||t==="col")){if(i<=0)return;const u=t==="row"?p.height:p.width,b=t==="row"?"rowHeight":"colWidth",h=u/i;m[b]=new Array(i).fill(h),m[t]=i}if(typeof i.index=="number"&&(t==="rowHeight"||t==="colWidth")){const{value:u,index:b}=i,h=[...m[t]],g=h.length;h[b]=u,m[t]=je(b,h,t==="rowHeight"?p.height:p.width,(m.lineWidth??0)*g/(g-1))}}});return e.onUnmounted(()=>{v()}),(i,c)=>(e.openBlock(),e.createElementBlock("div",jn,[e.createVNode(ro,{style:e.normalizeStyle(r.value),lineWidth:n.value,rowHeight:i.rowHeight,colWidth:i.colWidth,dataSource:d.value,resizable:!!f.value,onResize:s},null,8,["style","lineWidth","rowHeight","colWidth","dataSource","resizable"])]))}}),Gn=K(Xn,[["__scopeId","data-v-b7b5d60e"]]),Zn={viewBox:"0 0 1024 1024"},Jn=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),Qn=[Jn],ea=e.defineComponent({name:"TableIcon",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Zn,Qn))}}),ta=[{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 ho extends ne{constructor(){super({key:"ST",seq:3,title:"表格",icon:ea,view:Gn,properties:ta,rectangles:{width:{defaultValue:60},height:{defaultValue:60}}})}}const oa=new ho,la=Object.freeze(Object.defineProperty({__proto__:null,TableWidget:ho,default:oa},Symbol.toStringTag,{value:"Module"}));var we=(a=>(a.combine="combine",a.paging="paging",a.cover="cover",a.append="append",a))(we||{});const Mt=[{label:"翻页",value:we.paging},{label:"合并",value:we.combine}],It=[{label:"覆盖",value:we.cover},{label:"追加",value:we.append}],go=[{type:"input-textarea",label:"文本",rows:1,key:"T",bindKey:"text",defaultValue:"文本文字"},{type:"single-select",label:"数据源",key:"TDS",bindKey:"source",options:"DynamicAndRiskText",clearable:!0},{type:"radio-default",label:"内容模式",key:"CONTENTMODE",bindKey:"contentMode",tip:"数据源覆盖默认文本,或追加到默认文本后显示",options:It,defaultValue:It[0].value,display:({props:a})=>!!a.source},{type:"radio-default",label:"展示模式",key:"SHOWMODE",bindKey:"showMode",tip:"多条文本合并为一条,或分为多条翻页显示",options:Mt,defaultValue:Mt[0].value,display:({props:a})=>!!a.source},{type:"input-number",label:"翻页时间",key:"DURATION",bindKey:"duration",valueType:"number",min:1,defaultValue:6,display:({props:a})=>!!a.source&&a.showMode===we.paging},...R,...ae,...se],na=e.defineComponent({name:"TextWidget",inheritAttrs:!1,__name:"index",props:e.mergeModels({text:{},source:{},sourceType:{},showMode:{},contentMode:{},duration:{},animationStyle:{},animationSpeed:{},color:{},bgcolor:{},fontSize:{},fontFamily:{},fontStyle:{},align:{},valign:{},rect:{},id:{},liveDatas:{},playIndex:{},selected:{type:Boolean},preview:{type:Boolean}},{item:{}}),emits:["update:item"],setup(a){const o=a,l=ye(),n=(u,b)=>{var w;const h=(w=go.find(({bindKey:C})=>C==="source"))==null?void 0:w.options,g=(l.value[h]??[]).find(({value:C})=>C===u);return String((b==="label"?g==null?void 0:g.label:g==null?void 0:g.innerType)||"")},{elRef:r,width:d,height:f}=Ne(),s=e.computed(()=>!o.preview&&!o.selected&&!o.text?{backdropFilter:"blur(2px)"}:{}),v=Ft(o),i=Ht(o,d,f),c=vt(o,d,f),p=he(o),m=e.computed(()=>p.value?p.value.text??"":!o.preview&&o.source?n(o.source,"label"):o.text),t=e.useModel(a,"item");return e.watch(()=>o.source,u=>{t.value&&u&&(t.value.props.sourceType=n(u,"type"))},{immediate:!0}),(u,b)=>(e.openBlock(),e.createElementBlock("div",{class:"text-widget",style:e.normalizeStyle({...e.unref(v),...e.unref(i),...s.value})},[e.createElementVNode("span",{ref_key:"textRef",ref:r,style:e.normalizeStyle(e.unref(c))},e.toDisplayString(m.value),5)],4))}}),aa=K(na,[["__scopeId","data-v-2eed785a"]]),ra={viewBox:"0 0 1024 1024"},sa=e.createElementVNode("path",{d:"M554.666667 256v640h-85.333334V256H213.333333V170.666667h597.333334v85.333333h-256z"},null,-1),ia=[sa],ca=e.defineComponent({name:"TextIcon",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",ra,ia))}});class bo extends ne{constructor(){super({key:"SW",seq:4,title:"文本",icon:ca,view:aa,properties:go})}extraToData(o,l){var s,v,i;const n=((s=l==null?void 0:l.querySelector(W("SHOWMODE")))==null?void 0:s.textContent)??"",r=((v=l==null?void 0:l.querySelector(W("CONTENTMODE")))==null?void 0:v.textContent)??"",d=((i=l==null?void 0:l.querySelector(W("DURATION")))==null?void 0:i.textContent)??"",f={};return this.properties.forEach(c=>{var h;const{key:p,bindKey:m,defaultValue:t}=c;if(m==="duration"||m==="showMode"||m==="contentMode"){f[m]=(m==="duration"?+d:m==="showMode"?n:r)||t;return}const u=(h=o.querySelector(W(p,!0)))==null?void 0:h.textContent,b=this.valueFormat(u,c,o);f[m]=b}),{rect:this.xmlToRect(o),props:f}}propsToXML(o,l,n){return this.properties.map(r=>{const{key:d,bindKey:f}=r;if(f==="duration"||f==="showMode"||f==="contentMode")return null;const s=l.createElement(d.toUpperCase()),v=this.textFormat(o[f],r,o);return s.appendChild(l.createTextNode(v)),s}).filter(r=>!!r)}extraToXML(o,l,n,r,d){const f=this.properties.find(s=>s.bindKey==="source");if(l.source&&f){const s=n.createElement("Table");return T("ID",G(),s,n),T("PISTYPE",d.screenTypeID,s,n),T("TEMPLETID",-1,s,n),T("EDITIONID",-1,s,n),T("ELEMENTID",r.id,s,n),T("ELEMENTTYPE",this.key,s,n),T("STYPE",0,s,n),T("LTYPE","",s,n),T("CTYPE","",s,n),T("MTYPE",0,s,n),T("DATASET",l.sourceType??"",s,n),T("DATALIST",l.source,s,n),T("DATALISTDETAIL",l.source,s,n),T("SHOWMODE",l.showMode??"",s,n),T("DURATION",l.duration??0,s,n),T("CONTENTMODE",l.contentMode??"",s,n),T("DEFAULTTEXT",l.text??"",s,n),[s]}return[]}parseLiveData(o,l,n){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(d=>{const f=d.getAttribute("Text")??"",s=+(d.getAttribute("Duration")??0);r.push({text:f,duration:s})}),{data:r,duration:n}}}const ua=new bo,da=Object.freeze(Object.defineProperty({__proto__:null,TextWidget:bo,default:ua},Symbol.toStringTag,{value:"Module"})),_o=[{type:"single-select",label:"数据源",key:"FN",bindKey:"source",options:"Video"},{type:"file-list",label:"默认路径",key:"URL",bindKey:"url",files:"Video"}],pa={class:"video-widget"},fa=e.defineComponent({name:"VideoWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(a){const o=a,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),n=he(o),r=e.computed(()=>n.value?n.value.name??"":o.url);return(d,f)=>(e.openBlock(),e.createElementBlock("div",pa,[d.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(_o),source:d.source},null,8,["properties","source"])),e.createVNode(Ae,{style:e.normalizeStyle(e.unref(l)),preview:d.preview,type:"Video",file:r.value},null,8,["style","preview","file"])]))}}),ma=K(fa,[["__scopeId","data-v-6cc7fa30"]]);class ko extends ne{constructor(){super({key:"VD",seq:8,title:"视频",icon:"VideoPlay",view:ma,properties:_o})}extraToXML(o,l,n,r,d){const f=this.properties.find(s=>s.bindKey==="source");if(l.source&&f){const s=n.createElement("Table");return T("ID",G(),s,n),T("PISTYPE",d.screenTypeID,s,n),T("TEMPLETID",-1,s,n),T("EDITIONID",-1,s,n),T("ELEMENTID",r.id,s,n),T("ELEMENTTYPE",this.key,s,n),T("STYPE",0,s,n),T("LTYPE","",s,n),T("CTYPE","",s,n),T("MTYPE",0,s,n),T("DATASET",f.options,s,n),T("DATALIST",l.source,s,n),T("DATALISTDETAIL",l.source,s,n),T("SHOWMODE","",s,n),T("DURATION",0,s,n),T("CONTENTMODE","",s,n),T("DEFAULTTEXT","",s,n),[s]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,n){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(d=>{const f=d.getAttribute("Name")??"",s=d.getAttribute("Url")??"",v=d.getAttribute("SortNo")??"",i=+(d.getAttribute("BeginTime")??0),c=+(d.getAttribute("Duration")??0);r.push({name:f,url:s,sortNo:v,beginTime:i,duration:c})}),{data:r,duration:n}}}const va=new ko,ya=Object.freeze(Object.defineProperty({__proto__:null,VideoWidget:ko,default:va},Symbol.toStringTag,{value:"Module"})),wo=[{type:"single-select",label:"数据源",key:"WDS",bindKey:"source",options:"WORD"},{type:"file-list",label:"默认路径",key:"URL",bindKey:"url",files:"WORD"}],ha={class:"word-widget"},ga=e.defineComponent({name:"WORDWidget",inheritAttrs:!1,__name:"index",props:{url:{},source:{},liveDatas:{},preview:{type:Boolean},playIndex:{}},setup(a){const o=a,l=me({bgcolor:R[0].defaultValue,color:R[1].defaultValue,fontFamily:R[2].defaultValue,fontSize:R[3].defaultValue,fontStyle:R[4].defaultValue}),n=he(o),r=e.computed(()=>n.value?n.value.name??"":o.url);return(d,f)=>(e.openBlock(),e.createElementBlock("div",ha,[d.preview?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ze,{key:0,properties:e.unref(wo),source:d.source},null,8,["properties","source"])),e.createVNode(Ae,{style:e.normalizeStyle(e.unref(l)),preview:d.preview,type:"WORD",file:r.value},null,8,["style","preview","file"])]))}}),ba=K(ga,[["__scopeId","data-v-f433cbf4"]]),_a={viewBox:"0 0 1024 1024"},ka=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),wa=[ka],Ca=e.defineComponent({name:"WORDIcon",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",_a,wa))}});class Co extends ne{constructor(){super({key:"OFW",seq:13,title:"WORD",icon:Ca,view:ba,properties:wo,rectangles:{width:{defaultValue:90}}})}extraToXML(o,l,n,r,d){const f=this.properties.find(s=>s.bindKey==="source");if(l.source&&f){const s=n.createElement("Table");return T("ID",G(),s,n),T("PISTYPE",d.screenTypeID,s,n),T("TEMPLETID",-1,s,n),T("EDITIONID",-1,s,n),T("ELEMENTID",r.id,s,n),T("ELEMENTTYPE",this.key,s,n),T("STYPE",0,s,n),T("LTYPE","",s,n),T("CTYPE","",s,n),T("MTYPE",0,s,n),T("DATASET",f.options,s,n),T("DATALIST",l.source,s,n),T("DATALISTDETAIL",l.source,s,n),T("SHOWMODE","",s,n),T("DURATION",0,s,n),T("CONTENTMODE","",s,n),T("DEFAULTTEXT","",s,n),[s]}throw new Error(`${r.name}: 未配置数据源`)}parseLiveData(o,l,n){const r=[];return Array.from(o.querySelectorAll(W("ROW"))).forEach(d=>{const f=d.getAttribute("Name")??"",s=d.getAttribute("Url")??"",v=d.getAttribute("SortNo")??"",i=+(d.getAttribute("Duration")??0);r.push({name:f,url:s,sortNo:v,duration:i})}),{data:r,duration:n}}}const xa=new Co,Sa=Object.freeze(Object.defineProperty({__proto__:null,WORDWidget:Co,default:xa},Symbol.toStringTag,{value:"Module"})),ce=(()=>{const a=Object.assign({"/src/widgets/arrowLine/index.ts":rl,"/src/widgets/circle/index.ts":vl,"/src/widgets/clock/index.js":Bl,"/src/widgets/dataTable/index.ts":ql,"/src/widgets/image/index.ts":cn,"/src/widgets/line/index.ts":bn,"/src/widgets/ppt/index.ts":$n,"/src/widgets/rectangle/index.ts":On,"/src/widgets/richText/index.ts":qn,"/src/widgets/table/index.ts":la,"/src/widgets/text/index.ts":da,"/src/widgets/video/index.ts":ya,"/src/widgets/word/index.ts":Sa}),o=new Map;return Object.keys(a).forEach(l=>{var r;const n=(r=l.match(/widgets\/(.+)\/index\.(t|j)s/))==null?void 0:r[1];n&&o.set(n,a[l].default)}),o})(),Je=new DOMParser,xo={};for(const[a,o]of ce.entries())xo[o.key.toUpperCase()]={type:a,widget:o};const dt=(a,o,l)=>{const n=[],r=Array.from((a==null?void 0:a.children)??[]),d=Array.from((o==null?void 0:o.children)??[]);return r.forEach(f=>{var c,p;const{type:s,widget:v}=xo[f.tagName.toUpperCase()]??{},i=((c=f.querySelector(W("ID")))==null?void 0:c.textContent)??"";if(v&&i!=="-1"){const m=l?i:G(),t=`${v.title}-${m.substring(0,8)}`;let u,b;if(v.extraToData){const h=f.nextElementSibling,g=d.find(w=>{var _;return((_=w.querySelector(W("ELEMENTID")))==null?void 0:_.textContent)===i});({rect:u,props:b}=v.extraToData(f,g,h))}else u=v.xmlToRect(f),b=v.xmlToProps(f);if(n.push({id:m,type:s,name:t,rect:u,props:b}),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))}}}),n},Va=a=>{var l,n,r,d,f,s;const o=Je.parseFromString(a,"text/xml").documentElement;if(o.tagName==="Screens"){const v=o.querySelector(W("Screen > Equipment")),i=+((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=(((n=p==null?void 0:p.querySelector(W("CM")))==null?void 0:n.textContent)??"").split(","),u=+(((r=p==null?void 0:p.querySelector(W("FN")))==null?void 0:r.textContent)??0),b=(p==null?void 0:p.querySelectorAll(W("FR")))??[],h=Array.from(((d=o.querySelector(W("Screen > Data > NEWDATASET > LY")))==null?void 0:d.querySelectorAll(W("EM")))??[]).map(y=>{const S=y.querySelector(W("DC"));return{id:S==null?void 0:S.getAttribute("ID"),el:S}}),g=[...m],w=new Array(u).fill(1),C={},_=Array.from(b).map((y,S)=>dt(y,null,(k,x,V)=>{if(typeof V=="function"){const $=h.find(E=>E.id===k);if($&&$.el){const{duration:E,data:B}=V($.el,x,m[S]);C[k]=B,g[S]=Math.max(E,g[S]),w[S]=Math.max(B.length,w[S]??0)}else C[k]=[]}}));if(u!==_.length||u!==g.length)throw new Error("XML上设置的帧的数量与实际 FR 的数量或帧时间的数量不一致");return{width:i,height:c,styles:t,frames:_,durations:g,pages:w,datas:C}}else if(o.tagName==="Frame"){const v=+(((f=o.querySelector(W("Width")))==null?void 0:f.textContent)??0),i=+(((s=o.querySelector(W("Height")))==null?void 0:s.textContent)??0),c=o.querySelector(W("Xml > FR")),p=o.querySelector(W("Data > NewDataSet")),m=c?[dt(c,p)]:[];return{width:v,height:i,styles:[],frames:m,durations:[],pages:[],datas:{}}}return null},So=a=>{var n,r,d,f,s;const o=Je.parseFromString(a,"text/xml").documentElement,l={frameName:"",screenTypeID:"",duration:60,width:0,height:0,x:0,y:0};if(o.tagName==="Frame"){l.frameName=((n=o.querySelector(W("Name")))==null?void 0:n.textContent)??"",l.width=+(((r=o.querySelector(W("Width")))==null?void 0:r.textContent)??0),l.height=+(((d=o.querySelector(W("Height")))==null?void 0:d.textContent)??0),l.screenTypeID=((f=o.querySelector(W("ScreeTypeID")))==null?void 0:f.textContent)??"";const v=o.querySelector(W("Xml > FR"));l.duration=+(((s=v==null?void 0:v.querySelector(W("Duriation")))==null?void 0:s.textContent)??60)}return l},pt=a=>{const o=Je.parseFromString(a,"text/xml").documentElement,l=[];if(o.tagName==="Frame"){const n=o.querySelector(W("Xml > FR")),r=o.querySelector(W("Data > NewDataSet"));n&&l.push(...dt(n,r))}return l},$e=(a,o)=>{const{frameName:l,screenTypeID:n,duration:r,width:d,height:f}=o,s=Je.parseFromString("<Frame />","text/xml"),v=s.documentElement;T("Name",l,v,s),T("Width",d,v,s),T("Height",f,v,s),T("ScreeTypeID",n,v,s);const i=s.createElement("FR");T("Xml",i,v,s);const c=s.createElement("NewDataSet");return T("Data",c,v,s),T("Duriation",r,i,s),a.forEach(({id:p,type:m,rect:t,props:u},b)=>{var g;const h=ce.get(m);if(h){const w=s.createElement(h.key.toUpperCase());T("ID",p,w,s),T("TP",h.seq,w,s),h.rectToXML(t,s,a[b]).forEach(_=>{w.appendChild(_)}),h.propsToXML(u,s,a[b]).forEach(_=>{w.appendChild(_)}),i.appendChild(w);const C=(g=h.extraToXML)==null?void 0:g.call(h,t,u,s,a[b],o);C!=null&&C[0]&&c.appendChild(C[0]),C!=null&&C[1]&&i.appendChild(C[1])}}),new XMLSerializer().serializeToString(s)},Vo=(a,o)=>a.map(l=>{const n={...l.rect},r=Math.max(0,n.x),d=Math.max(0,n.y),f=Math.max(0,n.width),s=Math.max(0,n.height),{x:v,y:i,width:c,height:p}=o,m=v+c-(r+f);n.x=m<0?Math.max(0,r+m):r,n.width=m<0?Math.min(f,c):f;const t=i+p-(d+s);n.y=t<0?Math.max(0,d+t):d,n.height=t<0?Math.min(s,p):s;const u={...l.props},{x0:b,y0:h,x1:g,y1:w}=u;return typeof b=="number"&&typeof h=="number"&&typeof g=="number"&&typeof w=="number"&&(u.x0=b<g?n.x:n.x+n.width,u.x1=b>g?n.x:n.x+n.width,u.y0=h<w?n.y:n.y+n.height,u.y1=h>w?n.y:n.y+n.height),{...l,rect:n,props:u}}),Ta=a=>(e.pushScopeId("data-v-85483ddd"),a=a(),e.popScopeId(),a),Ea={class:"frame-widget",ref:"sortEl"},$a={class:"widget-group"},Ba=Ta(()=>e.createElementVNode("h4",{class:"widget-title"},"基础组件",-1)),Na={class:"widget-list"},Ma=["onDragstart","onDblclick"],Ia={class:"widget-name"},Aa=e.defineComponent({name:"frame-widget",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(a){const o=e.useModel(a,"data"),l=e.shallowRef([]),{dblclick:n,dragstart:r}=to(o);return e.onMounted(()=>{const d=[];for(const[f,s]of ce.entries())d.push([f,s]);l.value=d.sort((f,s)=>f[1].seq-s[1].seq)}),(d,f)=>{const s=e.resolveComponent("el-icon");return e.openBlock(),e.createElementBlock("div",Ea,[e.createElementVNode("div",$a,[Ba,e.createElementVNode("div",Na,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,([v,i])=>(e.openBlock(),e.createElementBlock("div",{class:"widget-item",key:v,draggable:"true",onDragstart:c=>e.unref(r)(c,v),onDblclick:c=>e.unref(n)(c,v)},[e.createVNode(s,{class:"widget-icon"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.icon)))]),_:2},1024),e.createElementVNode("span",Ia,e.toDisplayString(i.title),1)],40,Ma))),128))])])],512)}}}),Pa=K(Aa,[["__scopeId","data-v-85483ddd"]]),Da={viewBox:"0 0 1024 1024"},za=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),Oa=[za],To=e.defineComponent({name:"DragSort",__name:"icon",setup(a){return(o,l)=>(e.openBlock(),e.createElementBlock("svg",Da,Oa))}}),La={class:"frame-structure"},Wa={class:"item-drag"},Ha={class:"item-content"},Fa=["onClick","title"],Ra=e.defineComponent({name:"frame-structure",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(a){const o=e.useModel(a,"data"),l=e.computed(()=>o.value.slice().reverse()),n=e.shallowRef();e.watch(()=>n.value,c=>{c&&new zt(c,{animation:200,handle:".item-drag",onUpdate:p=>{const m=o.value.length,t=m-p.oldIndex-1,u=m-p.newIndex-1;o.value.splice(u,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(u=>u.id===p);t&&(t.selected=!t.selected)}},{handleCopy:d,handleLock:f,handleUnlock:s,handleDelete:v}=Ie(o),i=(c,p)=>{const m=o.value.findIndex(t=>t.id===p);if(m!==-1){const t=o.value[m];c==="copy"?d([t]):c==="lock"?f([t]):c==="unlock"?s([t]):c==="delete"&&v([t])}};return(c,p)=>{const m=e.resolveComponent("el-icon"),t=e.resolveComponent("MoreFilled"),u=e.resolveComponent("el-dropdown-item"),b=e.resolveComponent("el-dropdown-menu"),h=e.resolveComponent("el-dropdown");return e.openBlock(),e.createElementBlock("div",La,[e.createElementVNode("div",{class:"structure-list",ref_key:"sortEl",ref:n},[(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",Wa,[e.createVNode(m,null,{default:e.withCtx(()=>[e.createVNode(To)]),_:1})]),e.createElementVNode("div",Ha,[e.createElementVNode("span",{class:"item-name",onClick:w=>r(w,g.id),title:g.name},e.toDisplayString(g.name),9,Fa),e.createVNode(h,{onCommand:w=>i(w,g.id),trigger:"click"},{dropdown:e.withCtx(()=>[e.createVNode(b,null,{default:e.withCtx(()=>[e.createVNode(u,{command:"copy"},{default:e.withCtx(()=>[e.createTextVNode("复制")]),_:1}),g.locked?(e.openBlock(),e.createBlock(u,{key:1,command:"unlock"},{default:e.withCtx(()=>[e.createTextVNode("解锁")]),_:1})):(e.openBlock(),e.createBlock(u,{key:0,command:"lock"},{default:e.withCtx(()=>[e.createTextVNode("锁定")]),_:1})),e.createVNode(u,{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)])}}}),Ua=K(Ra,[["__scopeId","data-v-b4aee5d3"]]),Ka=a=>(e.pushScopeId("data-v-d94b2344"),a=a(),e.popScopeId(),a),Ya={class:"frame-toolbar"},qa={class:"tool-left"},ja={class:"tool-right"},Xa=Ka(()=>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)),Ga=e.defineComponent({name:"frame-toolbar",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:e.mergeModels(["save","remove","preview","code"],["update:data"]),setup(a){const o=e.useModel(a,"data"),l=e.computed(()=>{const t=o.value.filter(({selected:g})=>!!g),u=t.length,h=t.filter(({locked:g})=>!g).length;return{copy:u>=1,align:u>=2,avgAlign:u>=3,lock:h>=1,unLock:h<u}}),{handleImport:n,handleExport:r,handleCopy:d,handleLock:f,handleUnlock:s,handleClear:v,handleAlign:i}=Ie(o),[c,p]=Ge(),m=t=>{p(Math.max(t?c.value+t:1,.1))};return(t,u)=>{const b=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"),_=e.resolveComponent("el-dropdown"),y=e.resolveComponent("el-text"),S=e.resolveComponent("el-scrollbar");return e.openBlock(),e.createBlock(S,{class:"frame-toolbar-scroll"},{default:e.withCtx(()=>[e.createElementVNode("div",Ya,[e.createElementVNode("div",qa,[e.createVNode(b,{type:"primary",size:"small",plain:"",onClick:u[0]||(u[0]=k=>e.unref(n)())},{default:e.withCtx(()=>[e.createTextVNode("导入")]),_:1}),e.createVNode(b,{type:"primary",size:"small",plain:"",onClick:u[1]||(u[1]=k=>e.unref(r)())},{default:e.withCtx(()=>[e.createTextVNode("导出")]),_:1}),e.createVNode(b,{type:"primary",size:"small",plain:"",onClick:u[2]||(u[2]=k=>t.$emit("save"))},{default:e.withCtx(()=>[e.createTextVNode(" 帧入库 ")]),_:1}),e.createVNode(b,{type:"primary",size:"small",plain:"",onClick:u[3]||(u[3]=k=>t.$emit("remove"))},{default:e.withCtx(()=>[e.createTextVNode(" 帧删除 ")]),_:1}),e.createVNode(b,{type:"primary",size:"small",plain:"",onClick:u[4]||(u[4]=k=>t.$emit("preview"))},{default:e.withCtx(()=>[e.createTextVNode(" 帧预览 ")]),_:1}),l.value.copy?(e.openBlock(),e.createBlock(b,{key:0,type:"primary",size:"small",plain:"",onClick:u[5]||(u[5]=k=>e.unref(d)())},{default:e.withCtx(()=>[e.createTextVNode(" 复制 ")]),_:1})):e.createCommentVNode("",!0),l.value.lock?(e.openBlock(),e.createBlock(b,{key:1,type:"primary",size:"small",plain:"",onClick:u[6]||(u[6]=k=>e.unref(f)())},{default:e.withCtx(()=>[e.createTextVNode(" 锁定 ")]),_:1})):e.createCommentVNode("",!0),l.value.unLock?(e.openBlock(),e.createBlock(b,{key:2,type:"primary",size:"small",plain:"",onClick:u[7]||(u[7]=k=>e.unref(s)())},{default:e.withCtx(()=>[e.createTextVNode(" 解锁 ")]),_:1})):e.createCommentVNode("",!0),e.createVNode(b,{type:"primary",size:"small",plain:"",onClick:u[8]||(u[8]=k=>e.unref(v)())},{default:e.withCtx(()=>[e.createTextVNode(" 清空 ")]),_:1}),l.value.align||l.value.avgAlign?(e.openBlock(),e.createBlock(_,{key:3,onCommand:e.unref(i),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(b,{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",ja,[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(b,{class:"zoom",icon:"ZoomIn",size:"small",circle:"",onClick:u[9]||(u[9]=k=>m(.1))}),e.createVNode(b,{class:"zoom",icon:"ZoomOut",size:"small",circle:"",onClick:u[10]||(u[10]=k=>m(-.1))}),e.createVNode(b,{class:"zoom",icon:"RefreshLeft",size:"small",circle:"",onClick:u[11]||(u[11]=k=>m())}),e.createVNode(b,{size:"small",circle:"",onClick:u[12]||(u[12]=k=>t.$emit("code"))},{icon:e.withCtx(()=>[e.createVNode(g,null,{default:e.withCtx(()=>[Xa]),_:1})]),_:1})])])]),_:1})}}}),Za=K(Ga,[["__scopeId","data-v-d94b2344"]]),Ee=a=>a.value.filter(({selected:o})=>!!o),Fe=a=>a.map(({rect:o})=>({...o})),At=a=>a.map(({props:o})=>[+(o.x0??0),+(o.y0??0),+(o.x1??0),+(o.y1??0)]),Ja=a=>a.map(({props:o})=>{var l,n;return{fontSize:+(o.fontSize??0),rowFontSize:(l=o.rowConfs)==null?void 0:l.map(r=>({fontSize:+(r.fontSize??0)})),colFontSize:(n=o.colConfs)==null?void 0:n.map(r=>{var d;return{fontSize:+(r.fontSize??0),domainFontSize:(d=r.colDomains)==null?void 0:d.map(f=>({fontSize:+(f.fontSize??0)}))}})}}),Re=(a,o,l,n,r,d)=>{const f=d+a*o,s=f===0?0:f/Math.abs(f);let v=o>0?l+n-r:o<0?r+d-l:d,i=0;(s<0||s===0&&o<0)&&(v=o>0?r-l:o<0?l+n-r-d:d,i=-d*o);const c=r+(s*o>=0?0:d),p=Z(Math.abs(f),0,v);let m=p/d,t=0;return d===0&&(t=p,i=s*o>=0?0:-t,m=1),{xyk:m,cxy:c,oxy:i,owh:t,xyRat:s}},Pt=(a,o,l,n,r,d,f,s,v,i,c,p,m)=>{const{props:t}=a,u=ft([d,f],[s,v]);o>0&&l>0||o>0&&l<0||o<0&&l<0||o<0&&l>0?n>0&&r>0?u>0&&u<=90?(t.x0=i,t.y0=c,t.x1=i+p,t.y1=c+m):u>90&&u<=180?(t.x0=i+p,t.y0=c,t.x1=i,t.y1=c+m):u>-180&&u<=-90?(t.x0=i+p,t.y0=c+m,t.x1=i,t.y1=c):u>-90&&u<=0&&(t.x0=i,t.y0=c+m,t.x1=i+p,t.y1=c):n<=0&&r>0?u>0&&u<=90?(t.x0=i+p,t.y0=c,t.x1=i,t.y1=c+m):u>90&&u<=180?(t.x0=i,t.y0=c,t.x1=i+p,t.y1=c+m):u>-180&&u<=-90?(t.x0=i,t.y0=c+m,t.x1=i+p,t.y1=c):u>-90&&u<=0&&(t.x0=i+p,t.y0=c+m,t.x1=i,t.y1=c):n>0&&r<=0?u>0&&u<=90?(t.x0=i,t.y0=c+m,t.x1=i+p,t.y1=c):u>90&&u<=180?(t.x0=i+p,t.y0=c+m,t.x1=i,t.y1=c):u>-180&&u<=-90?(t.x0=i+p,t.y0=c,t.x1=i,t.y1=c+m):u>-90&&u<=0&&(t.x0=i,t.y0=c,t.x1=i+p,t.y1=c+m):n<=0&&r<=0&&(u>0&&u<=90?(t.x0=i+p,t.y0=c+m,t.x1=i,t.y1=c):u>90&&u<=180?(t.x0=i,t.y0=c+m,t.x1=i+p,t.y1=c):u>-180&&u<=-90?(t.x0=i,t.y0=c,t.x1=i+p,t.y1=c+m):u>-90&&u<=0&&(t.x0=i+p,t.y0=c,t.x1=i,t.y1=c+m)):o>0&&l===0||o<0&&l===0?n>0?u>0&&u<=90?(t.x0=i,t.y0=c,t.x1=i+p,t.y1=c+m):u>90&&u<=180?(t.x0=i+p,t.y0=c,t.x1=i,t.y1=c+m):u>-180&&u<=-90?(t.x0=i+p,t.y0=c+m,t.x1=i,t.y1=c):u>-90&&u<=0&&(t.x0=i,t.y0=c+m,t.x1=i+p,t.y1=c):n<=0&&(u>0&&u<=90?(t.x0=i+p,t.y0=c,t.x1=i,t.y1=c+m):u>90&&u<=180?(t.x0=i,t.y0=c,t.x1=i+p,t.y1=c+m):u>-180&&u<=-90?(t.x0=i,t.y0=c+m,t.x1=i+p,t.y1=c):u>-90&&u<=0&&(t.x0=i+p,t.y0=c+m,t.x1=i,t.y1=c)):(o===0&&l>0||o===0&&l<0)&&(r>0?u>0&&u<=90?(t.x0=i,t.y0=c,t.x1=i+p,t.y1=c+m):u>90&&u<=180?(t.x0=i+p,t.y0=c,t.x1=i,t.y1=c+m):u>-180&&u<=-90?(t.x0=i+p,t.y0=c+m,t.x1=i,t.y1=c):u>-90&&u<=0&&(t.x0=i,t.y0=c+m,t.x1=i+p,t.y1=c):r<=0&&(u>0&&u<=90?(t.x0=i,t.y0=c+m,t.x1=i+p,t.y1=c):u>90&&u<=180?(t.x0=i+p,t.y0=c+m,t.x1=i,t.y1=c):u>-180&&u<=-90?(t.x0=i+p,t.y0=c,t.x1=i,t.y1=c+m):u>-90&&u<=0&&(t.x0=i,t.y0=c,t.x1=i+p,t.y1=c+m)))};function Qa(a,o,l){const n=Ie(a),[r,d]=Ge(),f=ve(),s=e.ref(),v=S=>{a.value.forEach(k=>{k.id!==S&&(k.selected=!1)})};let i=[],c=[],p=[],m=[],t="",u=[],b=!1,h={x:0,y:0,width:0,height:0},g=0,w=0;const{mousedown:C,mousewheel:_,keydown:y}=eo({moveStart:({startPoint:S,event:k})=>{l==null||l();const x=k.ctrlKey||k.metaKey;if(b=Ot(S,fe(Fe(Ee(a)))),t=o(k.target),t&&!t.startsWith("stick-")){const V=a.value.find($=>$.id===t);V&&V.selected&&x?V.selected=!1:V&&!V.selected&&(x||v(),V.selected=!0)}},moveFirst:({event:S})=>{const k=S.ctrlKey||S.metaKey;if(!t&&!b)k?u=Ee(a):v();else{if(t&&!t.startsWith("stick-")){const x=a.value.find(V=>V.id===t);x&&!x.selected&&(x.selected=!0)}i=Ee(a),c=Fe(i),p=At(i),h=fe(c)}},moveTravel:({startPoint:S,endPoint:k,deltaX:x,deltaY:V})=>{if(!t&&!b){const[$,E]=S,[B,A]=k,P=Math.min($,B),M=Math.min(E,A),N=Math.abs(x),I=Math.abs(V);s.value={x:P,y:M,width:N,height:I}}else if(t&&t.startsWith("stick-")){const{x:$,y:E,width:B,height:A}=f.value,{x:P,y:M,width:N,height:I}=h,D=t.indexOf("right")!==-1?1:t.indexOf("left")!==-1?-1:0,{xyk:O,cxy:L,oxy:U,owh:F,xyRat:Y}=Re(x,D,$,B,P,N),q=t.indexOf("bottom")!==-1?1:t.indexOf("top")!==-1?-1:0,{xyk:H,cxy:X,oxy:J,owh:oe,xyRat:te}=Re(V,q,E,A,M,I);i.forEach((Q,pe)=>{if(!Q.locked){const{x:ge,y:tt,width:ot,height:Pe}=c[pe],xe=ge*O+L*(1-O)+U,Se=tt*H+X*(1-H)+J,Ve=ot*O+F,Te=Pe*H+oe;if(Q.rect={x:xe,y:Se,width:Ve,height:Te},typeof Q.props.x0=="number"&&typeof Q.props.y0=="number"&&typeof Q.props.x1=="number"&&typeof Q.props.y1=="number"){const[De,ze,Oe,Eo]=p[pe];Pt(Q,D,q,Y,te,De,ze,Oe,Eo,xe,Se,Ve,Te)}}})}else{const{x:$,y:E,width:B,height:A}=f.value,{x:P,y:M,width:N,height:I}=h;i.forEach((D,O)=>{if(!D.locked){const{x:L,y:U,width:F,height:Y}=c[O],q=Z(x,$-P,$+B-(P+N)),H=Z(V,E-M,E+A-(M+I));D.rect={x:L+q,y:U+H,width:F,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+q,D.props.y0=J+H,D.props.x1=oe+q,D.props.y1=te+H)}}),s.value={x:0,y:0,width:0,height:0}}},moveEnd:({isMoved:S,event:k})=>{if(S&&!t&&!b){const V=s.value??{x:0,y:0,width:0,height:0},$=new Set(a.value.filter(({rect:E})=>Ao(V,E)).map(E=>E.id));a.value.forEach(E=>{E.selected=$.has(E.id)?!u.includes(E):u.includes(E)})}const x=k.ctrlKey||k.metaKey;if(!S&&!x){if(!t&&!b)v();else if(t&&!t.startsWith("stick-")){const V=a.value.find($=>$.id===t);V&&!V.selected&&v(t)}}s.value=void 0,i=[],c=[],p=[],t="",u=[],b=!1,h={x:0,y:0,width:0,height:0}},wheelStart:({startPoint:S})=>{if(l==null||l(),i=Ee(a),i.length>0){c=Fe(i),p=At(i),m=Ja(i);const{x:k,y:x,width:V,height:$}=fe(c),{x:E,y:B,width:A,height:P}=f.value,[M,N]=S,I=Math.max(V===0?1:A,$===0?1:P),D=[(M-E)/(M-k),(N-B)/(N-x),(M-(E+A))/(M-(k+V)),(N-(B+P))/(N-(x+$))];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),i.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:S,deltaK:k,movementK:x})=>{if(i.length>0){const V=Z(k,g,w),$=(E,B)=>E*V+B*(1-V);i.forEach((E,B)=>{var A,P;if(!E.locked){const[M,N]=S,{x:I,y:D,width:O,height:L}=c[B];E.rect={x:$(I,M),y:$(D,N),width:O*V,height:L*V};const[U,F,Y,q]=p[B];typeof E.props.x0=="number"&&typeof E.props.y0=="number"&&typeof E.props.x1=="number"&&typeof E.props.y1=="number"&&(E.props.x0=$(U,M),E.props.y0=$(F,N),E.props.x1=$(Y,M),E.props.y1=$(q,N)),typeof E.props.fontSize=="number"&&(E.props.fontSize=V*(m[B].fontSize??0),(A=E.props.rowConfs)==null||A.forEach((H,X)=>{var J;typeof(H==null?void 0:H.fontSize)=="number"&&(H.fontSize=V*(((J=m[B].rowFontSize)==null?void 0:J[X].fontSize)??0))}),(P=E.props.colConfs)==null||P.forEach((H,X)=>{var J,oe;typeof(H==null?void 0:H.fontSize)=="number"&&(H.fontSize=V*(((J=m[B].colFontSize)==null?void 0:J[X].fontSize)??0)),(oe=H.colDomains)==null||oe.forEach((te,Q)=>{var pe,ge;typeof(te==null?void 0:te.fontSize)=="number"&&(te.fontSize=V*(((ge=(pe=m[B].colFontSize)==null?void 0:pe[X].domainFontSize)==null?void 0:ge[Q].fontSize)??0))})}))}})}else d(x*r.value)},wheelEnd:()=>{i.length>0&&(g=0,w=0,i=[],c=[],p=[],m=[])},keydowned:({event:S})=>{l==null||l();const k=S.key.toLocaleUpperCase(),x=S.ctrlKey||S.metaKey;if(k==="ARROWUP"||k==="ARROWDOWN"||k==="ARROWLEFT"||k==="ARROWRIGHT"){if(i=Ee(a),!i.length)return;const{x:V,y:$,width:E,height:B}=fe(Fe(i)),{x:A,y:P,width:M,height:N}=f.value,I=S.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:F,owh:Y,xyRat:q}=Re((I?-1:1)*D,D,A,M,V,E),{xyk:H,cxy:X,oxy:J,owh:oe,xyRat:te}=Re((I?-1:1)*O,O,P,N,$,B);i.forEach(Q=>{if(!Q.locked){const{x:pe,y:ge,width:tt,height:ot}=Q.rect,Pe=pe*L+U*(1-L)+F,xe=ge*H+X*(1-H)+J,Se=tt*L+Y,Ve=ot*H+oe;Q.rect={x:Pe,y:xe,width:Se,height:Ve};const{x0:Te,y0:De,x1:ze,y1:Oe}=Q.props;typeof Te=="number"&&typeof De=="number"&&typeof ze=="number"&&typeof Oe=="number"&&Pt(Q,D,O,q,te,Te,De,ze,Oe,Pe,xe,Se,Ve)}})}else i.forEach(L=>{if(!L.locked){const{x:U,y:F,width:Y,height:q}=L.rect,H=Z(D,A-V,A+M-(V+E)),X=Z(O,P-$,P+N-($+B));L.rect={x:U+H,y:F+X,width:Y,height:q},L.rect={x:U+H,y:F+X,width:Y,height:q};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+H,L.props.y0=oe+X,L.props.x1=te+H,L.props.y1=Q+X)}})}else k==="A"&&x?n.handleSelect():k==="X"&&x?(n.handleCopy(),n.handleDelete()):k==="C"&&x?n.handleCopy():k==="V"&&x?n.handlePaste():k==="L"&&x?n.handleLock():k==="U"&&x?n.handleUnlock():k==="DELETE"||k==="BACKSPACE"?n.handleDelete():k==="ESC"&&v()}});return{mousedown:C,mousewheel:_,keydown:y,moveRect:s}}function er(a,o){const l=Ie(a),n=e.ref(!1),r=e.shallowRef({x:0,y:0}),d=e.shallowRef([]),f=(p,m)=>{if(!p&&!m){const u=[{key:"import",label:"导入帧"},{key:"export",label:"导出帧"}];return l.globalCopy.value&&u.push({key:"paste",label:"粘贴"}),a.value.length>0&&u.push({key:"clear",label:"清空"}),u}if(p&&!p.startsWith("stick-")){const u=a.value.find(b=>b.id===p);u&&!u.selected&&(a.value.forEach(b=>b.selected=!1),u.selected=!0)}const t=a.value.filter(({selected:u})=>!!u);if(t.length===1){const[u]=t,b=a.value.findIndex(({id:g})=>g===u.id),h=[{key:"copy",label:"复制元素"},u.locked?{key:"unlock",label:"解除锁定"}:{key:"lock",label:"锁定元素"}];return b<a.value.length-1&&h.push({key:"topIndex",label:"置顶"}),b+1<=a.value.length-1&&h.push({key:"upIndex",label:"上一层"}),b-1>=0&&h.push({key:"downIndex",label:"下一层"}),b>0&&h.push({key:"bottomIndex",label:"置底"}),typeof u.props.row=="number"&&(h.push({key:"tableRowAdd",label:"添加一行"}),u.props.row>1&&h.push({key:"tableRowDel",label:"删除一行"})),typeof u.props.col=="number"&&(h.push({key:"tableColAdd",label:"添加一列"}),u.props.col>1&&h.push({key:"tableColDel",label:"删除一列"})),h.push({key:"delete",label:"删除元素"}),h}if(t.length>1){const u=[{key:"copy",label:"复制元素"}];return t.some(({locked:b})=>b)&&u.push({key:"unlock",label:"解除锁定"}),t.some(({locked:b})=>!b)&&u.push({key:"lock",label:"锁定元素"}),u.push({key:"upAlign",label:"上对齐"},{key:"downAlign",label:"下对齐"},{key:"leftAlign",label:"左对齐"},{key:"rightAlign",label:"右对齐"},{key:"hCenterAlign",label:"水平中心对齐"},{key:"vCenterAlign",label:"垂直中心对齐"}),t.length>2&&u.push({key:"hAvgAlign",label:"水平平均对齐"},{key:"vAvgAlign",label:"垂直平均对齐"}),u.push({key:"delete",label:"删除元素"}),u}return[]},s=ht(),v=p=>{p.preventDefault(),p.stopImmediatePropagation();const m=s(p),t=o(p.target),u=Ot(m,fe(a.value.filter(({selected:b})=>!!b).map(({rect:b})=>b)));n.value=!1,d.value=f(t,u),e.nextTick().then(()=>{r.value={x:p.pageX,y:p.pageY},n.value=!0})},i=()=>{n.value=!1},c=({key:p})=>{switch(i(),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",i)}),e.onBeforeUnmount(()=>{document.removeEventListener("mousedown",i)}),{contextmenu:v,hideContextMenu:i,handleContextMenuAction:c,contextMenuOpen:n,contextMenuPosition:r,contextMenuMenus:d}}const tr=["onClick"],or=e.defineComponent({__name:"ContextMenu",props:{open:{type:Boolean},menus:{},position:{}},emits:["action"],setup(a){const o=a,l=e.computed(()=>({left:z(o.position.x),top:z(o.position.y)}));return(n,r)=>{const d=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(n.menus,f=>(e.openBlock(),e.createElementBlock("li",{key:f.key,onClick:e.withModifiers(()=>n.$emit("action",f),["stop"])},[f.icon?(e.openBlock(),e.createBlock(d,{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,tr))),128))],36),[[e.vShow,n.open]])]),_:1})}}}),lr=K(or,[["__scopeId","data-v-2b6c3473"]]),nr={class:"frame-canvas"},ar=["data-id"],rr=["data-id"],sr=e.defineComponent({name:"frame-canvas",inheritAttrs:!1,__name:"index",props:e.mergeModels({bgcolor:{}},{data:{required:!0}}),emits:["update:data"],setup(a){const o=["top","left","bottom","right"],l=[...o,"left-top","right-top","left-bottom","right-bottom"],n=a,r=e.useModel(a,"data"),[d]=Ge(),f=ve(),[s,v]=Xo(),i=e.computed(()=>({width:z(f.value.width),height:z(f.value.height),backgroundColor:n.bgcolor,transform:`scale(${d.value})`,transformOrigin:"left top"})),c=$=>({transform:`translate(${z($.x)},${z($.y)})`,width:z($.width),height:z($.height)}),p=$=>!$||$===s.value?"":$.getAttribute("data-id")??p($.parentElement),{contextmenu:m,hideContextMenu:t,handleContextMenuAction:u,contextMenuOpen:b,contextMenuPosition:h,contextMenuMenus:g}=er(r,p),{mousedown:w,mousewheel:C,keydown:_,moveRect:y}=Qa(r,p,t),{dragover:S,drop:k}=to(r),x=e.computed(()=>{var $,E;return!y.value||(($=y.value)==null?void 0:$.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)}}),V=e.computed(()=>{if(y.value&&y.value.width>0&&y.value.height>0)return[[],[]];const $=r.value.filter(({selected:M})=>!!M);if($.length===0)return[[],[]];const{x:E,y:B,width:A,height:P}=fe($.map(({rect:M})=>M));return[y.value?[{transform:`translate(${z(0)},${z(B-1)})`},{transform:`translate(${z(E-1)},${z(0)})`},{transform:`translate(${z(0)},${z(B+P)})`},{transform:`translate(${z(E+A)},${z(0)})`}]:[],y.value?[]:[{transform:`translate(${z(E-1)},${z(B-1)})`,width:z(A+1)},{transform:`translate(${z(E-1)},${z(B-1)})`,height:z(P+1)},{transform:`translate(${z(E-1)},${z(B+P)})`,width:z(A+1)},{transform:`translate(${z(E+A)},${z(B-1)})`,height:z(P+1)},{transform:`translate(${z(E-1+A/2)},${z(B-1)})`},{transform:`translate(${z(E-1)},${z(B-1+P/2)})`},{transform:`translate(${z(E-1+A/2)},${z(B+P)})`},{transform:`translate(${z(E+A)},${z(B-1+P/2)})`},{transform:`translate(${z(E-1)},${z(B-1)})`},{transform:`translate(${z(E+A)},${z(B-1)})`},{transform:`translate(${z(E-1)},${z(B+P)})`},{transform:`translate(${z(E+A)},${z(B+P)})`}]]});return($,E)=>(e.openBlock(),e.createElementBlock("div",nr,[e.createElementVNode("div",{ref:e.unref(v),class:"frame-stage",tabindex:"0",style:e.normalizeStyle(i.value),onContextmenu:E[0]||(E[0]=(...B)=>e.unref(m)&&e.unref(m)(...B)),onMousedown:E[1]||(E[1]=(...B)=>e.unref(w)&&e.unref(w)(...B)),onMousewheel:E[2]||(E[2]=(...B)=>e.unref(C)&&e.unref(C)(...B)),onKeydown:E[3]||(E[3]=(...B)=>e.unref(_)&&e.unref(_)(...B)),onDragover:E[4]||(E[4]=(...B)=>e.unref(S)&&e.unref(S)(...B)),onDrop:E[5]||(E[5]=(...B)=>e.unref(k)&&e.unref(k)(...B))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,(B,A)=>{var P;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["element-item",B.selected?"active":"",B.locked?"locked":""]),key:B.id,"data-id":B.id,style:e.normalizeStyle(c(B.rect))},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((P=e.unref(ce).get(B.type))==null?void 0:P.view),e.mergeProps({id:B.id,rect:B.rect,selected:B.selected},B.props,{item:r.value[A],"onUpdate:item":M=>r.value[A]=M}),null,16,["id","rect","selected","item","onUpdate:item"]))],14,ar)}),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,(B,A)=>e.withDirectives(e.createElementVNode("div",{key:B,class:e.normalizeClass(["stick-line",`stick-line-${B}`]),style:e.normalizeStyle(V.value[1][A])},null,6),[[e.vShow,!!V.value[1][A]]])),64)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,(B,A)=>e.withDirectives(e.createElementVNode("div",{key:B,class:e.normalizeClass(["stick-point",`stick-point-${B}`]),style:e.normalizeStyle(V.value[1][A+4]),"data-id":`stick-${B}`},null,14,rr),[[e.vShow,!!V.value[1][A+4]]])),64)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(o,(B,A)=>e.withDirectives(e.createElementVNode("div",{key:B,class:e.normalizeClass(["auxiliary-line",`auxiliary-line-${B}`]),style:e.normalizeStyle(V.value[0][A])},null,6),[[e.vShow,!!V.value[0][A]]])),64))],36),e.createVNode(lr,{open:e.unref(b),menus:e.unref(g),position:e.unref(h),onAction:e.unref(u)},null,8,["open","menus","position","onAction"])]))}}),ir=K(sr,[["__scopeId","data-v-2f90716e"]]),cr=e.defineComponent({name:"radio-default",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{type:Boolean}}),emits:["update:modelValue"],setup(a){const o=e.useModel(a,"modelValue");return(l,n)=>{const r=e.resolveComponent("el-checkbox");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(r,{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[0]=d=>o.value=d),disabled:l.locked},null,8,["modelValue","disabled"]),e.renderSlot(l.$slots,"extra")],64)}}}),ur=Object.freeze(Object.defineProperty({__proto__:null,default:cr},Symbol.toStringTag,{value:"Module"})),dr=e.defineComponent({name:"color-picker",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(a){const o=["#00000000","#000000","#ffffff","#ff0000","#00ff00","#0000ff","#ffff00","#ff00ff","#00ffff","#808080","#ffd700","#ffc0cb","#a52a2a","#ee82ee","#000080"],l=e.useModel(a,"modelValue"),n=r=>{r||(l.value="#00000000")};return(r,d)=>{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":d[0]||(d[0]=s=>l.value=s),disabled:r.locked,"color-format":"hex","show-alpha":"",predefine:o,onChange:n},null,8,["modelValue","disabled"]),e.renderSlot(r.$slots,"extra")],64)}}}),pr=Object.freeze(Object.defineProperty({__proto__:null,default:dr},Symbol.toStringTag,{value:"Module"})),Qe=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(a){const o=e.useModel(a,"modelValue");return(l,n)=>{const r=e.resolveComponent("el-dialog"),d=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":n[0]||(n[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:n[1]||(n[1]=f=>l.$emit("open")),onClose:n[2]||(n[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(d,{key:1,modelValue:o.value,"onUpdate:modelValue":n[3]||(n[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:n[4]||(n[4]=f=>l.$emit("open")),onClose:n[5]||(n[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)}}}),fr=["title"],mr=e.defineComponent({name:"file-list",inheritAttrs:!1,__name:"index",props:e.mergeModels({fileType:{},files:{},locked:{type:Boolean}},{modelValue:{}}),emits:["update:modelValue"],setup(a){const o=a,l=e.computed(()=>{switch(o.fileType){case"WORD":return"260px";case"PPT":return"260px";case"Image":return"100px";case"Video":return"100px";default:return"260px"}}),n=e.computed(()=>{switch(o.fileType){case"WORD":return"42%";case"PPT":return"42%";case"Image":return"33%";case"Video":return"33%";default:return"42%"}}),r=e.computed(()=>{switch(o.fileType){case"WORD":return 6;case"PPT":return 6;case"Image":return 4;case"Video":return 4;default:return 6}}),d=e.computed(()=>`${o.fileType==="Image"?"图片":o.fileType==="Video"?"视频":o.fileType}文件选择`),f=e.useModel(a,"modelValue"),s=e.ref(!1),v=()=>{o.locked||(s.value=!0)},i=c=>{f.value=c.url,s.value=!1};return(c,p)=>{const m=e.resolveComponent("el-input"),t=e.resolveComponent("el-col"),u=e.resolveComponent("el-row");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(m,{modelValue:f.value,"onUpdate:modelValue":p[0]||(p[0]=b=>f.value=b),placeholder:"点击选择",disabled:c.locked,clearable:"",onClick:v},null,8,["modelValue","disabled"]),e.createVNode(Qe,{modelValue:s.value,"onUpdate:modelValue":p[1]||(p[1]=b=>s.value=b),title:d.value,size:n.value},{default:e.withCtx(()=>[e.createVNode(u,{gutter:16},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.files,b=>(e.openBlock(),e.createBlock(t,{key:b.url,class:e.normalizeClass(["list-item",f.value===b.url?"active":""]),style:e.normalizeStyle({height:l.value}),span:r.value,onClick:h=>i(b)},{default:e.withCtx(()=>[e.createVNode(Ae,{style:{background:"#ddd"},preview:!1,type:c.fileType,file:b.url},null,8,["type","file"]),e.createElementVNode("span",{title:b.name},e.toDisplayString(b.name),9,fr)]),_:2},1032,["class","style","span","onClick"]))),128))]),_:1})]),_:1},8,["modelValue","title","size"])],64)}}}),vr=K(mr,[["__scopeId","data-v-d8a26f80"]]),yr=Object.freeze(Object.defineProperty({__proto__:null,default:vr},Symbol.toStringTag,{value:"Module"})),gt=a=>(e.pushScopeId("data-v-b75b0d63"),a=a(),e.popScopeId(),a),hr={class:"setting-row"},gr=gt(()=>e.createElementVNode("div",{class:"row-label"},"字段:",-1)),br={class:"row-editor"},_r={class:"setting-row"},kr=gt(()=>e.createElementVNode("div",{class:"row-label"},"日期:",-1)),wr={class:"row-editor"},Cr={class:"setting-row"},xr=gt(()=>e.createElementVNode("div",{class:"row-label"},"结果:",-1)),Sr={class:"row-editor"},Vr={class:"dialog-footer"},Tr=e.defineComponent({name:"filter-setting",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean},props:{}},{modelValue:{}}),emits:["update:modelValue"],setup(a){const o=a,l=e.ref(),n=[{label:"==",value:"=="},{label:"!=",value:"!="},{label:">",value:">"},{label:"<",value:"<"},{label:">=",value:">="},{label:"<=",value:"<="},{label:"LIKE",value:"=~"},{label:"NOT LIKE",value:"!~"}],r=ye(),d=e.useModel(a,"modelValue"),f=e.ref(""),s=e.ref(!1),v=()=>{o.locked||(s.value=!0)},i=()=>{f.value=d.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(),u=e.ref(),b=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} '${(u.value||"").replace(/%/g,".*")}'`}else if(k==="date"){if(!b.value){ee.ElMessage.error("请选择日期");return}if(!h.value){ee.ElMessage.error("请选择日期条件");return}x+=`${b.value} ${h.value} '${(g.value||"").replace(/%/g,".*")}'`}C(x)},C=k=>{var B,A,P,M,N,I;let x=f.value;const V=((A=(B=l.value)==null?void 0:B.ref)==null?void 0:A.selectionStart)??x.length,$=((M=(P=l.value)==null?void 0:P.ref)==null?void 0:M.selectionEnd)??x.length;x=`${x.substring(0,V)} ${k} ${x.substring($)}`;const E=V+k.length;(I=(N=l.value)==null?void 0:N.ref)==null||I.setSelectionRange(E,E),f.value=x},_=()=>{f.value=""},y=e.ref(!1),S=()=>{y.value=!0,Xe("frame-editor-global",{type:"filter-setting-check",value:f.value,closeLoading:()=>{y.value=!1},close:()=>{d.value=f.value,s.value=!1,y.value=!1}})};return(k,x)=>{const V=e.resolveComponent("el-input"),$=e.resolveComponent("el-option"),E=e.resolveComponent("el-select"),B=e.resolveComponent("el-button"),A=e.resolveComponent("el-check-tag"),P=e.resolveComponent("el-space");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(V,{modelValue:d.value,"onUpdate:modelValue":x[0]||(x[0]=M=>d.value=M),placeholder:"点击配置",disabled:k.locked,readonly:"",onClick:v},null,8,["modelValue","disabled"]),e.createVNode(Qe,{modelValue:s.value,"onUpdate:modelValue":x[12]||(x[12]=M=>s.value=M),title:"筛选条件",size:"35%",onOpen:i},{footer:e.withCtx(()=>[e.createElementVNode("div",Vr,[e.createVNode(B,{type:"primary",plain:"",onClick:_},{default:e.withCtx(()=>[e.createTextVNode(" 清空 ")]),_:1}),e.createVNode(B,{type:"primary",plain:"",onClick:S,loading:y.value},{default:e.withCtx(()=>[e.createTextVNode(" 确定 ")]),_:1},8,["loading"])])]),default:e.withCtx(()=>[e.createElementVNode("div",hr,[gr,e.createElementVNode("div",br,[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($,{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(n,M=>e.createVNode($,{key:M.value,label:M.label,value:M.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),e.createVNode(V,{modelValue:u.value,"onUpdate:modelValue":x[3]||(x[3]=M=>u.value=M),placeholder:"请输入",clearable:""},null,8,["modelValue"]),e.createVNode(B,{type:"primary",plain:"",onClick:x[4]||(x[4]=M=>w("field"))},{default:e.withCtx(()=>[e.createTextVNode(" 添加 ")]),_:1})])]),e.withDirectives(e.createElementVNode("div",_r,[kr,e.createElementVNode("div",wr,[e.createVNode(E,{modelValue:b.value,"onUpdate:modelValue":x[5]||(x[5]=M=>b.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($,{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(n,M=>e.createVNode($,{key:M.value,label:M.label,value:M.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),e.createVNode(V,{modelValue:g.value,"onUpdate:modelValue":x[7]||(x[7]=M=>g.value=M),placeholder:"请输入",clearable:""},null,8,["modelValue"]),e.createVNode(B,{type:"primary",plain:"",onClick:x[8]||(x[8]=M=>w("date"))},{default:e.withCtx(()=>[e.createTextVNode(" 添加 ")]),_:1})])],512),[[e.vShow,!1]]),e.createElementVNode("div",Cr,[xr,e.createElementVNode("div",Sr,[e.createVNode(V,{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(P,{direction:"vertical"},{default:e.withCtx(()=>[e.createVNode(A,{type:"primary",plain:"",checked:"",onClick:x[10]||(x[10]=M=>C("&&"))},{default:e.withCtx(()=>[e.createTextVNode("AND")]),_:1}),e.createVNode(A,{type:"primary",plain:"",checked:"",onClick:x[11]||(x[11]=M=>C("||"))},{default:e.withCtx(()=>[e.createTextVNode("OR")]),_:1})]),_:1})])])]),_:1},8,["modelValue"])],64)}}}),Er=K(Tr,[["__scopeId","data-v-b75b0d63"]]),$r=Object.freeze(Object.defineProperty({__proto__:null,default:Er},Symbol.toStringTag,{value:"Module"})),Br=a=>(e.pushScopeId("data-v-daa125a3"),a=a(),e.popScopeId(),a),Nr={style:{"margin-right":"8px",width:"calc(50% - 8px)"}},Mr={class:"format-description"},Ir={style:{"margin-left":"8px",width:"calc(50% - 8px)"}},Ar={class:"format-description"},Pr={class:"preview"},Dr=Br(()=>e.createElementVNode("h3",null,"预览:",-1)),zr="时钟属性格式",Or=Object.assign({name:"format-date",inheritAttrs:!1},{__name:"index",props:e.mergeModels({locked:{type:Boolean},props:{type:Object}},{modelValue:{}}),emits:["update:modelValue"],setup(a){const o=a,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:"干支年(乙巳/丙午...)"}],n=[{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(a,"modelValue"),d=e.ref(!1),f=e.ref(""),s=e.ref(""),v=e.ref(""),i=e.ref(""),c=e.ref(""),p=e.ref(""),m=()=>{o.locked||(d.value=!0)},t=(w,C)=>{let _=w;const y=Dt.Solar.fromDate(C).getLunar();_=_.replace(/YYYY/g,C.getFullYear()),_=_.replace(/yyyy/g,C.getFullYear()),_=_.replace(/MM/g,String(C.getMonth()+1).padStart(2,"0")),_=_.replace(/DD/g,String(C.getDate()).padStart(2,"0")),_=_.replace(/dd/g,String(C.getDate()).padStart(2,"0")),_=_.replace(/HH/g,String(C.getHours()).padStart(2,"0")),_=_.replace(/mm/g,String(C.getMinutes()).padStart(2,"0")),_=_.replace(/ss/g,String(C.getSeconds()).padStart(2,"0"));const S=["日","一","二","三","四","五","六"];return _=_.replace(/W/g,S[C.getDay()]),_=_.replace(/CHY/g,y.getYearInChinese()),_=_.replace(/CHM/g,y.getMonthInChinese()),_=_.replace(/CHD/g,y.getDayInChinese()),_=_.replace(/SXY/g,y.getYearShengXiaoExact()),_=_.replace(/GZY/g,y.getYearInGanZhiExact()),_},u=w=>{const C=t(w,new Date);i.value=`预览: ${C}`},b=w=>{const C=t(w,new Date);c.value=`预览: ${C}`},h=w=>{const C=f.value;f.value=C+w;const _=t(f.value,new Date);p.value=`${_}`},g=()=>{r.value=f.value,d.value=!1,f.value="",s.value="",v.value="",i.value="",c.value="",p.value=""};return(w,C)=>{const _=e.resolveComponent("el-input"),y=e.resolveComponent("el-form-item"),S=e.resolveComponent("el-option"),k=e.resolveComponent("el-select"),x=e.resolveComponent("el-button"),V=e.resolveComponent("el-form");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(_,{modelValue:r.value,"onUpdate:modelValue":C[0]||(C[0]=$=>r.value=$),type:"textarea",rows:2,placeholder:"请选择",disabled:a.locked,onClick:m},null,8,["modelValue","disabled"]),e.createVNode(Qe,{modelValue:d.value,"onUpdate:modelValue":C[6]||(C[6]=$=>d.value=$),title:zr},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(V,{"label-width":"auto",style:{"max-width":"100%"}},{default:e.withCtx(()=>[e.createVNode(y,{label:"时间格式字符串",prop:"timeFormat"},{default:e.withCtx(()=>[e.createVNode(_,{modelValue:f.value,"onUpdate:modelValue":C[1]||(C[1]=$=>f.value=$),type:"textarea",rows:3,placeholder:"在此输入或通过下方选项插入时间格式"},null,8,["modelValue"])]),_:1}),e.createVNode(y,null,{default:e.withCtx(()=>[e.createElementVNode("div",Nr,[e.createVNode(k,{disabled:o.props.timeType===1,modelValue:s.value,"onUpdate:modelValue":C[2]||(C[2]=$=>s.value=$),placeholder:"请选择公历格式",style:{width:"100%"},onChange:u,clearable:""},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(n,$=>e.createVNode(S,{key:$.value,label:$.label,value:$.value},null,8,["label","value"])),64))]),_:1},8,["disabled","modelValue"]),e.createElementVNode("div",Mr,e.toDisplayString(i.value),1)]),e.createElementVNode("div",Ir,[e.createVNode(k,{disabled:o.props.timeType===0,modelValue:v.value,"onUpdate:modelValue":C[3]||(C[3]=$=>v.value=$),placeholder:"请选择农历格式",style:{width:"100%"},onChange:b,clearable:""},{default:e.withCtx(()=>[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(l,$=>e.createVNode(S,{key:$.value,label:$.label,value:$.value},null,8,["label","value"])),64))]),_:1},8,["disabled","modelValue"]),e.createElementVNode("div",Ar,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]=$=>h(`${s.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]=$=>h(`${v.value}`))},{default:e.withCtx(()=>[e.createTextVNode(" 插入农历格式 ")]),_:1},8,["disabled"])]),_:1})]),_:1}),e.createElementVNode("div",Pr,[Dr,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)}}}),Lr=K(Or,[["__scopeId","data-v-daa125a3"]]),Wr=Object.freeze(Object.defineProperty({__proto__:null,default:Lr},Symbol.toStringTag,{value:"Module"})),Hr=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(a,{emit:o}){const l=o,n=e.useModel(a,"modelValue"),r=d=>{l("change",d)};return(d,f)=>{const s=e.resolveComponent("el-input-number");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(s,{modelValue:n.value,"onUpdate:modelValue":f[0]||(f[0]=v=>n.value=v),min:d.min?e.unref(ie)(d.min):d.min,max:d.max?e.unref(ie)(d.max):d.max,step:d.step,precision:d.precision,disabled:d.locked,"controls-position":"right",placeholder:"请输入",class:"input-number",onChange:r},null,8,["modelValue","min","max","step","precision","disabled"]),e.renderSlot(d.$slots,"extra",{},void 0,!0)],64)}}}),Fr=K(Hr,[["__scopeId","data-v-28c9d5a9"]]),Rr=Object.freeze(Object.defineProperty({__proto__:null,default:Fr},Symbol.toStringTag,{value:"Module"})),Ur=e.defineComponent({name:"input-text",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(a){const o=e.useModel(a,"modelValue");return(l,n)=>{const r=e.resolveComponent("el-input");return e.openBlock(),e.createBlock(r,{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[0]=d=>o.value=d),placeholder:"请输入",disabled:l.locked},null,8,["modelValue","disabled"])}}}),Kr=Object.freeze(Object.defineProperty({__proto__:null,default:Ur},Symbol.toStringTag,{value:"Module"})),Yr=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(a){const o=e.useModel(a,"modelValue");return(l,n)=>{const r=e.resolveComponent("el-input");return e.openBlock(),e.createBlock(r,{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[0]=d=>o.value=d),type:"textarea",rows:l.rows,placeholder:"请输入",disabled:l.locked},null,8,["modelValue","rows","disabled"])}}}),qr=Object.freeze(Object.defineProperty({__proto__:null,default:Yr},Symbol.toStringTag,{value:"Module"})),jr={class:"number-popover"},Xr=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(a,{emit:o}){const l=a,n=o,r=e.useModel(a,"modelValue"),d=e.computed(()=>r.value?Wt(r.value):[]),f=e.computed(()=>d.value.map(c=>({id:G(),val:c}))),s=e.ref(!1),v=()=>{l.locked||(s.value=!0)},i=(c,p)=>{n("change",{value:c,index:p})};return(c,p)=>{const m=e.resolveComponent("el-input"),t=e.resolveComponent("el-input-number"),u=e.resolveComponent("el-popover");return e.openBlock(),e.createBlock(u,{width:300,trigger:"click","show-arrow":!1},e.createSlots({reference:e.withCtx(()=>[e.createVNode(m,{modelValue:d.value.join(","),placeholder:"点击修改",disabled:c.locked,readonly:"",onClick:v},null,8,["modelValue","disabled"])]),_:2},[r.value?{name:"default",fn:e.withCtx(()=>[e.createElementVNode("div",jr,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(b,h)=>(e.openBlock(),e.createElementBlock("div",{key:b.id,class:"item"},[e.createElementVNode("span",null,"第 "+e.toDisplayString(h+1)+" "+e.toDisplayString(c.label)+":",1),e.createVNode(t,{modelValue:b.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=>i(g,h)},null,8,["modelValue","min","max","step","precision","disabled","onChange"])]))),128))])]),key:"0"}:void 0]),1024)}}}),Gr=K(Xr,[["__scopeId","data-v-fb1101e1"]]),Zr=Object.freeze(Object.defineProperty({__proto__:null,default:Gr},Symbol.toStringTag,{value:"Module"})),Jr=e.defineComponent({name:"radio-button",inheritAttrs:!1,__name:"index",props:e.mergeModels({options:{},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(a){const o=e.useModel(a,"modelValue");return(l,n)=>{const r=e.resolveComponent("el-radio-button"),d=e.resolveComponent("el-radio-group");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(d,{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[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)}}}),Qr=Object.freeze(Object.defineProperty({__proto__:null,default:Jr},Symbol.toStringTag,{value:"Module"})),es=e.defineComponent({name:"radio-default",inheritAttrs:!1,__name:"index",props:e.mergeModels({options:{},locked:{type:Boolean,default:()=>!1}},{modelValue:{}}),emits:["update:modelValue"],setup(a){const o=e.useModel(a,"modelValue");return(l,n)=>{const r=e.resolveComponent("el-radio"),d=e.resolveComponent("el-radio-group");return e.openBlock(),e.createBlock(d,{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[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"])}}}),ts=Object.freeze(Object.defineProperty({__proto__:null,default:es},Symbol.toStringTag,{value:"Module"})),os=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(a,{emit:o}){const l=a,n=o,r=e.useModel(a,"modelValue"),d=f=>{const s=l.options.find(v=>v.value===f);n("change",s)};return(f,s)=>{const v=e.resolveComponent("el-option"),i=e.resolveComponent("el-select");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(i,{modelValue:r.value,"onUpdate:modelValue":s[0]||(s[0]=c=>r.value=c),disabled:f.locked,clearable:f.clearable,filterable:"",placeholder:"请选择",placement:"bottom",class:"single-select",onChange:d},{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)}}}),ls=K(os,[["__scopeId","data-v-58a90895"]]),ns=Object.freeze(Object.defineProperty({__proto__:null,default:ls},Symbol.toStringTag,{value:"Module"})),as=e.defineComponent({name:"radio-default",inheritAttrs:!1,__name:"index",props:e.mergeModels({locked:{type:Boolean,default:()=>!1}},{modelValue:{type:Boolean}}),emits:["update:modelValue"],setup(a){const o=e.useModel(a,"modelValue");return(l,n)=>{const r=e.resolveComponent("el-switch");return e.openBlock(),e.createBlock(r,{modelValue:o.value,"onUpdate:modelValue":n[0]||(n[0]=d=>o.value=d),disabled:l.locked},null,8,["modelValue","disabled"])}}}),rs=Object.freeze(Object.defineProperty({__proto__:null,default:as},Symbol.toStringTag,{value:"Module"})),ss=a=>(e.pushScopeId("data-v-76958dce"),a=a(),e.popScopeId(),a),is={class:"table-col"},cs={class:"setting-add"},us={class:"item-drag"},ds=["onClick"],ps=["title"],fs={class:"table-col"},ms={key:0,class:"setting-row"},vs={class:"row-label"},ys={key:0},hs=ss(()=>e.createElementVNode("span",null,":",-1)),gs={class:"row-editor"},bs={class:"dialog-footer"},_s=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(a,{emit:o}){const l=a,n=o,r=ye(),d=e.useModel(a,"modelValue"),f=e.ref(!1),s=()=>{var _;l.locked||l.bindKey==="rowConfs"&&!((_=l.props)!=null&&_.rowMode)||(f.value=!0,i.value=0)},v=_=>{n("change",_)},i=e.ref(0),c=_=>{i.value=_},p=()=>{i.value=d.value.length,n("change",d.value.length+1)},m=_=>{_<=i.value&&(i.value=Math.max(0,i.value-1)),n("change",-_)},t=(_,y)=>{const{bindKey:S,children:k}=y;if(S==="colMode"){d.value[i.value].field=void 0;return}if(typeof _=="number"&&S==="colDomains"){const x=d.value[i.value];if(_>0){const V={id:G()};k==null||k.forEach($=>{V[$.bindKey]=j(x[$.bindKey]??$.defaultValue)}),x[S].push(V)}else x[S].splice(-_,1)}},u=(_,y)=>typeof y=="boolean"?y:typeof y=="function"?y(_,l.props):!0,b=(_,y,S)=>`第 ${_+1} ${y==="rowConfs"?"行属性":y==="colConfs"?`列${g(S.field)}属性`:`个值域${h(S.domainVal)}`}`,h=_=>_?` [${_}] `:"",g=_=>{var S;const y=(r.value[((S=l.props)==null?void 0:S.source)??""]??[]).find(({value:k})=>k===_);return y!=null&&y.label?` [${y.label}] `:""},w=_=>{var y;if(_==="TABLE_SOURCE_FIELD"){const{colMode:S}=d.value[i.value];return(r.value[((y=l.props)==null?void 0:y.source)??""]??[]).filter(({innerType:k})=>+(k??0)===S)}return typeof _=="string"?r.value[_]??[]:_},C=e.shallowRef();return e.watch(()=>C.value,_=>{_&&new zt(_,{animation:200,handle:".item-drag",onUpdate:y=>{const{id:S}=d.value[i.value];d.value.splice(y.newIndex,0,d.value.splice(y.oldIndex,1)[0]),i.value=d.value.findIndex(k=>k.id===S)}})},{immediate:!0}),(_,y)=>{var M,N;const S=e.resolveComponent("el-input"),k=e.resolveComponent("el-checkbox"),x=e.resolveComponent("el-button"),V=e.resolveComponent("el-icon"),$=e.resolveComponent("Delete"),E=e.resolveComponent("el-col"),B=e.resolveComponent("InfoFilled"),A=e.resolveComponent("el-tooltip"),P=e.resolveComponent("el-row");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(S,{modelValue:d.value.length>0?"集合":"",disabled:_.locked||_.bindKey==="rowConfs"&&!((M=l.props)!=null&&M.rowMode),placeholder:"点击配置",readonly:"",onClick:s},null,8,["modelValue","disabled"]),_.bindKey==="rowConfs"?(e.openBlock(),e.createBlock(k,{key:0,modelValue:(N=l.props)==null?void 0:N.rowMode,disabled:_.locked,onChange:v},{default:e.withCtx(()=>[e.createTextVNode(" 启用行配置 ")]),_:1},8,["modelValue","disabled"])):e.createCommentVNode("",!0),e.createVNode(Qe,{modelValue:f.value,"onUpdate:modelValue":y[2]||(y[2]=I=>f.value=I),title:_.label,size:"42%"},{footer:e.withCtx(()=>[e.createElementVNode("div",bs,[e.createVNode(x,{onClick:y[1]||(y[1]=I=>f.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(" 关闭 ")]),_:1})])]),default:e.withCtx(()=>[e.createVNode(P,{class:"table-setting",gutter:12},{default:e.withCtx(()=>[e.createVNode(E,{span:12,class:"setting-col"},{default:e.withCtx(()=>[e.createElementVNode("div",is,[e.createElementVNode("div",cs,[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(d.value,(I,D)=>(e.openBlock(),e.createElementBlock("div",{key:I.id,class:e.normalizeClass(["list-item",i.value===D?"selected":""])},[e.createElementVNode("span",us,[e.createVNode(V,null,{default:e.withCtx(()=>[e.createVNode(To)]),_:1})]),e.createElementVNode("div",{class:"item-content",onClick:O=>c(D)},[e.createElementVNode("span",{class:"item-name",title:b(D,_.bindKey||"",I)},e.toDisplayString(b(D,_.bindKey||"",I)),9,ps),_.bindKey==="colDomains"||d.value.length>1?(e.openBlock(),e.createBlock(V,{key:0,class:"item-icon",onClick:e.withModifiers(O=>m(D),["stop"])},{default:e.withCtx(()=>[e.createVNode($)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0)],8,ds)],2))),128))],512)])]),_:1}),e.createVNode(E,{span:12,class:"setting-col"},{default:e.withCtx(()=>[e.createElementVNode("div",fs,[d.value.length>0?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(_.children,({label:I,type:D,bindKey:O,options:L,display:U,tip:F,extra:Y,...q},H)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:O},[u(d.value[i.value],U)?(e.openBlock(),e.createElementBlock("div",ms,[e.createElementVNode("div",vs,[e.createElementVNode("span",null,e.toDisplayString(I),1),F?(e.openBlock(),e.createBlock(A,{key:0,placement:"top"},{content:e.withCtx(()=>[typeof F=="string"?(e.openBlock(),e.createElementBlock("span",ys,e.toDisplayString(F),1)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(F),{key:1}))]),default:e.withCtx(()=>[e.createVNode(V,{class:"tip-icon"},{default:e.withCtx(()=>[e.createVNode(B)]),_:1})]),_:2},1024)):e.createCommentVNode("",!0),hs]),e.createElementVNode("div",gs,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ke).get(D)),e.mergeProps({label:I,bindKey:O,optionType:L,options:w(L),props:l.props,modelValue:d.value[i.value][O],"onUpdate:modelValue":X=>d.value[i.value][O]=X},q,{onChange:X=>t(X,_.children[H])}),e.createSlots({_:2},[Y?{name:"extra",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(Y),{property:_.children[H],data:d.value[i.value],"onUpdate:data":y[0]||(y[0]=X=>d.value[i.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)}}}),ks=K(_s,[["__scopeId","data-v-76958dce"]]),ws=Object.freeze(Object.defineProperty({__proto__:null,default:ks},Symbol.toStringTag,{value:"Module"})),Ke=(()=>{const a=Object.assign({"/src/editors/checkbox-default/index.vue":ur,"/src/editors/color-picker/index.vue":pr,"/src/editors/file-list/index.vue":yr,"/src/editors/filter-setting/index.vue":$r,"/src/editors/format-date/index.vue":Wr,"/src/editors/input-number/index.vue":Rr,"/src/editors/input-text/index.vue":Kr,"/src/editors/input-textarea/index.vue":qr,"/src/editors/multiple-number/index.vue":Zr,"/src/editors/radio-button/index.vue":Qr,"/src/editors/radio-default/index.vue":ts,"/src/editors/single-select/index.vue":ns,"/src/editors/switch-default/index.vue":rs,"/src/editors/table-setting/index.vue":ws}),o=new Map;return Object.keys(a).forEach(l=>{var r;const n=(r=l.match(/editors\/(.+)\/index\.vue/))==null?void 0:r[1];n&&o.set(n,a[l].default)}),o})(),et=a=>(e.pushScopeId("data-v-46ebd3ac"),a=a(),e.popScopeId(),a),Cs={key:0,class:"frame-setting"},xs={class:"setting-row"},Ss=et(()=>e.createElementVNode("div",{class:"row-label"},"元素类型:",-1)),Vs={class:"row-editor"},Ts={class:"setting-row"},Es=et(()=>e.createElementVNode("div",{class:"row-label"},"元素层级:",-1)),$s={class:"row-editor"},Bs={class:"setting-row"},Ns=et(()=>e.createElementVNode("div",{class:"row-label"},"元素名称:",-1)),Ms={class:"row-editor"},Is={key:0,class:"setting-row"},As={class:"row-label"},Ps={class:"row-editor"},Ds={key:0,class:"setting-row"},zs={class:"row-label"},Os={key:0},Ls=et(()=>e.createElementVNode("span",null,":",-1)),Ws={class:"row-editor"},Hs={key:1,class:"frame-empty"},Fs=e.defineComponent({name:"property-setting",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(a){const o=ve(),l=ye(),n=qo(),r=e.useModel(a,"data"),d=e.computed(()=>{const m=r.value.filter(({selected:t})=>!!t);return r.value.findIndex(({id:t})=>{var u;return t===((u=m[m.length-1])==null?void 0:u.id)})}),f=e.computed(()=>{var m;return ce.get((m=r.value[d.value])==null?void 0:m.type)}),s=(m,t,u)=>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 u=="function"?u(t):u,v=(m,t,u)=>{const{x:b,y:h,width:g,height:w}=o.value,{x:C,y:_,width:y,height:S}=r.value[d.value].rect;return m==="x"?Math.max(0,b+g-y):m==="y"?Math.max(0,h+w-S):m==="width"?Math.max(0,b+g-C):m==="height"?Math.max(0,h+w-_):m==="x0"||m==="x1"?b+g:m==="y0"||m==="y1"?h+w:typeof u=="function"?u(t):u},i=(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"?n.value[m]??[]:[];return(m,t)=>{const u=e.resolveComponent("InfoFilled"),b=e.resolveComponent("el-icon"),h=e.resolveComponent("el-tooltip");return d.value>=0&&f.value?(e.openBlock(),e.createElementBlock("div",Cs,[e.createElementVNode("div",xs,[Ss,e.createElementVNode("div",Vs,e.toDisplayString(`${f.value.title}-${f.value.seq}`),1)]),e.createElementVNode("div",Ts,[Es,e.createElementVNode("div",$s,e.toDisplayString(d.value+1),1)]),e.createElementVNode("div",Bs,[Ns,e.createElementVNode("div",Ms,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ke).get("input-text")),{locked:r.value[d.value].locked,modelValue:r.value[d.value].name,"onUpdate:modelValue":t[0]||(t[0]=g=>r.value[d.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:_,...y},S)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C},[i(r.value[d.value],_)?(e.openBlock(),e.createElementBlock("div",Is,[e.createElementVNode("div",As,e.toDisplayString(g)+":",1),e.createElementVNode("div",Ps,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ke).get(w)),e.mergeProps({locked:r.value[d.value].locked,min:s(C,r.value[d.value]),max:v(C,r.value[d.value]),modelValue:r.value[d.value].rect[C],"onUpdate:modelValue":k=>r.value[d.value].rect[C]=k},y,{onChange:k=>{var x;return e.unref(Xe)(`${r.value[d.value].type}-${r.value[d.value].id}`,{value:k,property:(x=f.value)==null?void 0:x.rectangles[S]})}}),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:_,files:y,display:S,min:k,max:x,tip:V,extra:$,...E},B)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C},[i(r.value[d.value],S)?(e.openBlock(),e.createElementBlock("div",Ds,[e.createElementVNode("div",zs,[e.createElementVNode("span",null,e.toDisplayString(g),1),V?(e.openBlock(),e.createBlock(h,{key:0,placement:"top"},{content:e.withCtx(()=>[typeof V=="string"?(e.openBlock(),e.createElementBlock("span",Os,e.toDisplayString(V),1)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V),{key:1}))]),default:e.withCtx(()=>[e.createVNode(b,{class:"tip-icon"},{default:e.withCtx(()=>[e.createVNode(u)]),_:1})]),_:2},1024)):e.createCommentVNode("",!0),Ls]),e.createElementVNode("div",Ws,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Ke).get(w)),e.mergeProps({label:g,bindKey:C,optionType:_,options:c(_),fileType:y,files:p(y),locked:r.value[d.value].locked,rect:r.value[d.value].rect,props:r.value[d.value].props,min:s(C,r.value[d.value],k),max:v(C,r.value[d.value],x),modelValue:r.value[d.value].props[C],"onUpdate:modelValue":A=>r.value[d.value].props[C]=A},E,{onChange:A=>{var P;return e.unref(Xe)(`${r.value[d.value].type}-${r.value[d.value].id}`,{value:A,property:(P=f.value)==null?void 0:P.properties[B]})}}),e.createSlots({_:2},[$?{name:"extra",fn:e.withCtx(()=>{var A;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent($),{property:(A=f.value)==null?void 0:A.properties[B],data:r.value[d.value],"onUpdate:data":t[1]||(t[1]=P=>r.value[d.value]=P)},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,"请选择一个元素"))}}}),Rs=K(Fs,[["__scopeId","data-v-46ebd3ac"]]),Us={class:"frame-paste"},Ks=e.defineComponent({name:"paste-board",inheritAttrs:!1,__name:"index",props:{data:{required:!0}},emits:["update:data"],setup(a){const o=e.shallowRef([]),l=e.useModel(a,"data"),n=Ie(l);e.watch(()=>n.globalCopy.value,()=>{try{o.value=JSON.parse(sessionStorage.getItem(Be)??"[]")}catch{o.value=[]}},{immediate:!0});const r=f=>{n.handlePaste(e.toRaw(f))},d=f=>{const s=[...o.value];s.splice(f,1),o.value=s,sessionStorage.setItem(Be,JSON.stringify(s))};return(f,s)=>{const v=e.resolveComponent("el-table-column"),i=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:u},b)=>(e.openBlock(),e.createBlock(i,{key:`${u}-${b}`,type:"success"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u),1)]),_:2},1024))),128))]),_:2},1024)]),_:1}),e.createVNode(v,{label:"操作",width:"80",align:"center"},{default:e.withCtx(({row:t,$index:u})=>[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:()=>d(u)},{default:e.withCtx(()=>[e.createTextVNode("删除")]),_:2},1032,["onClick"])]),_:2},1024)]),_:1})]),_:1},8,["data"])])}}}),Ys=K(Ks,[["__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(a,{expose:o,emit:l}){const n=l,r=a;o({clone:_=>{try{if(_&&typeof _=="string")return $e(pt(_),So(_))}catch(y){ee.ElMessage.error(y.message??"解析失败")}return _}});const d=Ro(r),f=Ko(r);Yo(r),jo(r),Jt(r);const s=e.ref([]);e.watchEffect(()=>{try{if(r.xmlString&&typeof r.xmlString=="string"){const _=pt(r.xmlString);_.length===0&&ee.ElMessage.warning("解析 XML 是空白帧,内部不含任何元素"),s.value=Vo(_,f.value);return}}catch(_){ee.ElMessage.error(_.message??"解析 XML 失败")}s.value=[]});const v=()=>{try{const _=$e(e.toRaw(s.value),{...d.value,...f.value});n("code",_)}catch(_){ee.ElMessage.error(_.message??"查看XML失败")}},i=()=>{try{const _=$e(e.toRaw(s.value),{...d.value,...f.value});n("preview",_)}catch(_){ee.ElMessage.error(_.message??"预览失败")}},c=()=>{try{const _=$e(e.toRaw(s.value),{...d.value,...f.value});n("save",_)}catch(_){ee.ElMessage.error(_.message??"保存失败")}},p=()=>{n("remove")},m=e.ref("widget"),t=e.ref("property"),u=e.ref(12),b=e.ref(28),h=e.ref(60),g=_=>{_<0?u.value===0?(h.value-=15,u.value=15):(h.value+=u.value,u.value=0):b.value===0?(h.value-=25,b.value=25):(h.value+=b.value,b.value=0)},w=({panes:_})=>{u.value=_[0].size,h.value=_[1].size,b.value=_[2].size},C=Me("frame-editor-global",_=>n("global",_));return e.onUnmounted(()=>{C()}),(_,y)=>{const S=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",_.className]),style:e.normalizeStyle(_.style)},[e.createVNode(e.unref(Le.Splitpanes),{class:"default-theme",onResize:w},{default:e.withCtx(()=>[e.createVNode(e.unref(Le.Pane),{size:u.value},{default:e.withCtx(()=>[e.createVNode(k,{modelValue:m.value,"onUpdate:modelValue":y[2]||(y[2]=V=>m.value=V)},{default:e.withCtx(()=>[e.createVNode(S,{label:"组件",name:"widget"},{default:e.withCtx(()=>[e.createVNode(Pa,{data:s.value,"onUpdate:data":y[0]||(y[0]=V=>s.value=V)},null,8,["data"])]),_:1}),e.createVNode(S,{label:"结构",name:"structure"},{default:e.withCtx(()=>[e.createVNode(Ua,{data:s.value,"onUpdate:data":y[1]||(y[1]=V=>s.value=V)},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:u.value===0?"-1px":"-22px"}),icon:u.value===0?"ArrowRight":"ArrowLeft",onClick:y[3]||(y[3]=V=>g(-1))},null,8,["style","icon"]),e.createVNode(Za,{data:s.value,"onUpdate:data":y[4]||(y[4]=V=>s.value=V),onSave:c,onRemove:p,onPreview:i,onCode:v},null,8,["data"]),e.createVNode(ir,{data:s.value,"onUpdate:data":y[5]||(y[5]=V=>s.value=V),bgcolor:_.bgcolor},null,8,["data","bgcolor"]),e.createVNode(x,{class:"right-collapse",style:e.normalizeStyle({right:b.value===0?"0px":"-21px"}),icon:b.value===0?"ArrowLeft":"ArrowRight",onClick:y[6]||(y[6]=V=>g(1))},null,8,["style","icon"])]),_:1},8,["size"]),e.createVNode(e.unref(Le.Pane),{size:b.value},{default:e.withCtx(()=>[e.createVNode(k,{modelValue:t.value,"onUpdate:modelValue":y[9]||(y[9]=V=>t.value=V)},{default:e.withCtx(()=>[e.createVNode(S,{label:"属性",name:"property"},{default:e.withCtx(()=>[e.createVNode(Rs,{data:s.value,"onUpdate:data":y[7]||(y[7]=V=>s.value=V)},null,8,["data"])]),_:1}),e.createVNode(S,{label:"粘贴板",name:"clipboard"},{default:e.withCtx(()=>[e.createVNode(Ys,{data:s.value,"onUpdate:data":y[8]||(y[8]=V=>s.value=V)},null,8,["data"])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["size"])]),_:1})],6)}}}),Ye=K(qs,[["__scopeId","data-v-e303ba54"]]),js={class:"frame-view"},Xs=["onClick","onDblclick"],Gs=e.defineComponent({name:"frame-view",inheritAttrs:!1,__name:"index",props:{frameDatas:{},liveDatas:{},playIndex:{},showElBorder:{type:Boolean},selectedData:{}},emits:["action"],setup(a,{emit:o}){const l=a,n=o,r=s=>{if(!l.selectedData)return!1;const{type:v,source:i}=l.selectedData;return s.type===v&&s.props.source===i},d=s=>({transform:`translate(${z(s.x)},${z(s.y)})`,width:z(s.width),height:z(s.height)}),f=(s,v)=>{const i=v.props.source,c=ce.get(v.type);if(c&&typeof i<"u"){const p={id:v.id,key:c.key,seq:c.seq,type:v.type,source:i};n("action",s,p)}};return(s,v)=>(e.openBlock(),e.createElementBlock("div",js,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.frameDatas,i=>{var c,p;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["element-item",r(i)?"active":s.showElBorder?"outline":""]),key:i.id,style:e.normalizeStyle(d(i.rect)),onClick:m=>f("click",i),onDblclick:m=>f("dblclick",i)},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((c=e.unref(ce).get(i.type))==null?void 0:c.view),e.mergeProps({id:i.id,rect:i.rect,liveDatas:(p=s.liveDatas)==null?void 0:p[i.id],playIndex:s.playIndex,preview:""},i.props),null,16,["id","rect","liveDatas","playIndex"]))],46,Xs)}),128))]))}}),Zs=K(Gs,[["__scopeId","data-v-b89d4c7c"]]),Js={key:1,style:{color:"red"}},Qs=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(a,{emit:o}){const l=o,n=a;Jt(n);const r=e.computed(()=>{try{if(n.xmlString&&typeof n.xmlString=="string"){const y=Va(n.xmlString);return y||ee.ElMessage.warning("预览的是空白帧,内部不含任何元素"),y}}catch(y){ee.ElMessage.error(y.message??"解析 xml 失败")}return null}),d=e.computed(()=>{if(r.value){const{width:y,height:S}=r.value;return{width:z(y),minWidth:z(y),maxWidth:z(y),height:z(S),minHeight:z(S),maxHeight:z(S)}}return{}}),f=e.computed(()=>{if(r.value){const{datas:y}=r.value;return n.useLiveData?y:null}return null}),s=e.ref(-1),v=e.ref(-1),i=e.shallowRef(null);let c=null;const p=()=>{c==null||c.stop(),c=null,s.value=-1,v.value=-1,i.value=null};e.onBeforeUnmount(p),e.watch([()=>r.value,()=>n.autoPlay],([y,S])=>{if(p(),y){const{frames:k,durations:x}=y,V=k.length;V===0?i.value=null:V===1||!S?(i.value=k[0],s.value=S?-1:0,v.value=S?-1:0):(c=new Qt($=>{const E=i.value=k[$];return l("change",$,E),x[$]},{min:0,max:V-1}),c.start())}},{immediate:!0});const m=e.computed(()=>r.value?s.value<=0&&v.value<=0:!0),t=()=>{if(!n.autoPlay&&r.value){const{frames:y,pages:S}=r.value,k=s.value-1,x=v.value-1;if(x<0){if(k<0)return;s.value=k,v.value=S[k]-1}else v.value=x;const V=i.value=y[s.value];l("change",s.value,V)}},u=e.computed(()=>{if(!r.value)return!0;const{pages:y}=r.value,S=y.length,k=y[S-1];return s.value>=S-1&&v.value>=k-1}),b=()=>{if(!n.autoPlay&&r.value){const{frames:y,pages:S}=r.value,k=s.value+1,x=v.value+1;if(x>=S[s.value]){if(k>=S.length)return;s.value=k,v.value=0}else v.value=x;const V=i.value=y[s.value];l("change",s.value,V)}},h=(y,S)=>{l("action",y,S)},{elRef:g,width:w,height:C}=Ne(),_=e.computed(()=>{if(n.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,S)=>{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({...d.value,transform:`scale(${_.value})`,...y.bgcolor?{background:y.bgcolor,boxShadow:"none"}:{}})},[i.value?(e.openBlock(),e.createBlock(Zs,{key:0,frameDatas:i.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",Js,"当前没有任何帧"))],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:u.value,onClick:b},null,8,["disabled"])):e.createCommentVNode("",!0)],6)}}}),qe=K(Qs,[["__scopeId","data-v-220c7a08"]]);Ye.install=a=>{a.component(Ye.name||"FrameEditor",Ye)};qe.install=a=>{a.component(qe.name||"FramePreview",qe)};const ei=Ye,ti=qe,oi="1.0.0";exports.FrameEditor=ei;exports.FramePreview=ti;exports.version=oi;
|