@idraw/renderer 0.4.0-beta.44 → 0.4.0-beta.45

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.
@@ -94,16 +94,17 @@ export class Loader extends EventEmitter {
94
94
  __classPrivateFieldSet(this, _Loader_storageLoadItemMap, {}, "f");
95
95
  }
96
96
  resetElementAsset(element) {
97
+ var _a, _b, _c;
97
98
  if (supportElementTypes.includes(element.type)) {
98
99
  let assetId = null;
99
100
  let resource = null;
100
- if (element.type === 'image' && typeof element.detail.src === 'string') {
101
+ if (element.type === 'image' && typeof ((_a = element === null || element === void 0 ? void 0 : element.detail) === null || _a === void 0 ? void 0 : _a.src) === 'string') {
101
102
  resource = element.detail.src;
102
103
  }
103
- else if (element.type === 'svg' && typeof element.detail.svg === 'string') {
104
+ else if (element.type === 'svg' && typeof ((_b = element === null || element === void 0 ? void 0 : element.detail) === null || _b === void 0 ? void 0 : _b.svg) === 'string') {
104
105
  resource = element.detail.svg;
105
106
  }
106
- else if (element.type === 'html' && typeof element.detail.html === 'string') {
107
+ else if (element.type === 'html' && typeof ((_c = element === null || element === void 0 ? void 0 : element.detail) === null || _c === void 0 ? void 0 : _c.html) === 'string') {
107
108
  resource = element.detail.html;
108
109
  }
109
110
  if (typeof resource === 'string') {
@@ -2010,14 +2010,15 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2010
2010
  __privateSet(this, _storageLoadItemMap, {});
2011
2011
  }
2012
2012
  resetElementAsset(element) {
2013
+ var _a, _b, _c;
2013
2014
  if (supportElementTypes.includes(element.type)) {
2014
2015
  let assetId = null;
2015
2016
  let resource = null;
2016
- if (element.type === "image" && typeof element.detail.src === "string") {
2017
+ if (element.type === "image" && typeof ((_a = element == null ? void 0 : element.detail) == null ? void 0 : _a.src) === "string") {
2017
2018
  resource = element.detail.src;
2018
- } else if (element.type === "svg" && typeof element.detail.svg === "string") {
2019
+ } else if (element.type === "svg" && typeof ((_b = element == null ? void 0 : element.detail) == null ? void 0 : _b.svg) === "string") {
2019
2020
  resource = element.detail.svg;
2020
- } else if (element.type === "html" && typeof element.detail.html === "string") {
2021
+ } else if (element.type === "html" && typeof ((_c = element == null ? void 0 : element.detail) == null ? void 0 : _c.html) === "string") {
2021
2022
  resource = element.detail.html;
2022
2023
  }
2023
2024
  if (typeof resource === "string") {
@@ -1 +1 @@
1
- var iDrawRenderer=function(t){"use strict";var e,n,i,o,a,r,l,s,c,h,f,u,d,g,p,y,w,m,v,x,b=t=>{throw TypeError(t)},S=(t,e,n)=>e.has(t)||b("Cannot "+n),I=(t,e,n)=>(S(t,e,"read from private field"),n?n.call(t):e.get(t)),M=(t,e,n)=>e.has(t)?b("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),P=(t,e,n,i)=>(S(t,e,"write to private field"),i?i.call(t,n):e.set(t,n),n),C=(t,e,n)=>(S(t,e,"access private method"),n);function z(t){return"string"==typeof t&&(/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(t)||/^[a-z]{1,}$/i.test(t))}function A(t,e){if(1===e)return t;let n=1;const i=/^#[0-9a-f]{6,6}$/i;let o=t;if(i.test(t)?n=parseInt(t.substring(5,7).replace(/^#/,"0x")):/^#[0-9a-f]{8,8}$/i.test(t)&&(n=parseInt(t.substring(7,9).replace(/^#/,"0x")),o=t.substring(0,7)),n*=e,i.test(o)&&n>0&&n<1){const t=Math.max(0,Math.min(255,Math.ceil(256*n)));o=`${o.toUpperCase()}${t.toString(16).toUpperCase()}`}return o}function R(){function t(){return(65536*(1+Math.random())|0).toString(16).substring(1)}return`${t()}${t()}-${t()}-${t()}-${t()}-${t()}${t()}${t()}`}function T(t,e){let n=0;for(let e=0;e<t.length;e++)n+=t.charCodeAt(e);return(n+e).toString(16).substring(0,4)}function k(t,e){const n=t.length,i=function(t){let e=0;for(let n=0;n<t.length;n++)e+=t.charCodeAt(n);return e}(e),o=Math.floor(n/2),a=t.substring(0,4).padStart(4,"0"),r=t.substring(0,4).padStart(4,"0");return`@assets/${T(n.toString(16).padStart(4,a),i).padStart(4,"0")}${T(t.substring(o-4,o).padStart(4,a),i).padStart(4,"0")}-${T(t.substring(o-8,o-4).padStart(4,a),i).padStart(4,"0")}-${T(t.substring(o-12,o-8).padStart(4,a),i).padStart(4,"0")}-${T(t.substring(o-16,o-12).padStart(4,r),i).padStart(4,"0")}-${T(t.substring(o,o+4).padStart(4,r),i).padStart(4,"0")}${T(t.substring(o+4,o+8).padStart(4,r),i).padStart(4,"0")}${T(r.padStart(4,a).padStart(4,r),i)}`}function L(t){return/^@assets\/[0-9a-z-]{0,}$/.test(`${t}`)}function E(t){return function t(e){const n=function(t){return Object.prototype.toString.call(t).replace(/[\]|\[]{1,1}/gi,"").split(" ")[1]}(e);if(["Null","Number","String","Boolean","Undefined"].indexOf(n)>=0)return e;if("Array"===n){const n=[];return e.forEach((e=>{n.push(t(e))})),n}if("Object"===n){const n={};Object.keys(e).forEach((i=>{n[i]=t(e[i])}));return Object.getOwnPropertySymbols(e).forEach((i=>{n[i]=t(e[i])})),n}}(t)}function O(t){return(Object.prototype.toString.call(t)||"").replace(/(\[object|\])/gi,"").trim()}const W={type(t,e){const n=O(t);return!0===e?n.toLocaleLowerCase():n},array:t=>"Array"===O(t),json:t=>"Object"===O(t),function:t=>"Function"===O(t),asyncFunction:t=>"AsyncFunction"===O(t),boolean:t=>"Boolean"===O(t),string:t=>"String"===O(t),number:t=>"Number"===O(t),undefined:t=>"Undefined"===O(t),null:t=>"Null"===O(t),promise:t=>"Promise"===O(t)};var $=function(t,e,n,i){return new(n||(n=Promise))((function(o,a){function r(t){try{s(i.next(t))}catch(t){a(t)}}function l(t){try{s(i.throw(t))}catch(t){a(t)}}function s(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(r,l)}s((i=i.apply(t,e||[])).next())}))};const{Image:F}=window;function D(t){return new Promise(((e,n)=>{const i=new F;i.crossOrigin="anonymous",i.onload=function(){e(i)},i.onabort=n,i.onerror=n,i.src=t}))}function B(t){return $(this,void 0,void 0,(function*(){const e=yield function(t){return new Promise(((e,n)=>{const i=new Blob([t],{type:"image/svg+xml;charset=utf-8"}),o=new FileReader;o.readAsDataURL(i),o.onload=function(t){var n;const i=null===(n=null==t?void 0:t.target)||void 0===n?void 0:n.result;e(i)},o.onerror=function(t){n(t)}}))}(t);return yield D(e)}))}function V(t,e){return $(this,void 0,void 0,(function*(){t=t.replace(/\&/gi,"&amp;");const n=yield function(t,e){const{width:n,height:i}=e;return new Promise(((e,o)=>{const a=new Blob([`\n <svg \n xmlns="http://www.w3.org/2000/svg" \n width="${n||""}" \n height = "${i||""}">\n <foreignObject width="100%" height="100%">\n <div xmlns = "http://www.w3.org/1999/xhtml">\n ${t}\n </div>\n </foreignObject>\n </svg>\n `],{type:"image/svg+xml;charset=utf-8"}),r=new FileReader;r.readAsDataURL(a),r.onload=function(t){var n;const i=null===(n=null==t?void 0:t.target)||void 0===n?void 0:n.result;e(i)},r.onerror=function(t){o(t)}}))}(t,e);return yield D(n)}))}function j(t){return"number"==typeof t&&t>=0}function X(t){return"number"==typeof t&&(t>0||t<=0)}function Y(t){return"string"==typeof t&&/^(http:\/\/|https:\/\/|\.\/|\/)/.test(`${t}`)}function H(t){return"string"==typeof t&&/^(data:image\/)/.test(`${t}`)}const U={positiveNum:j,x:function(t){return X(t)},y:function(t){return X(t)},w:function(t){return j(t)},h:function(t){return j(t)},angle:function(t){return"number"==typeof t&&t>=-360&&t<=360},number:X,numberStr:function(t){return/^(-?\d+(?:\.\d+)?)$/.test(`${t}`)},borderWidth:function(t){return j(t)||Array.isArray(t)&&j(t[0])&&j(t[1])&&j(t[2])&&j(t[3])},borderRadius:function(t){return j(t)||Array.isArray(t)&&j(t[0])&&j(t[1])&&j(t[2])&&j(t[3])},color:function(t){return z(t)},imageSrc:function(t){return H(t)||Y(t)},imageURL:Y,imageBase64:H,svg:function(t){return"string"==typeof t&&/^(<svg[\s]{1,}|<svg>)/i.test(`${t}`.trim())&&/<\/[\s]{0,}svg>$/i.test(`${t}`.trim())},html:function(t){let e=!1;if("string"==typeof t){let n=document.createElement("div");n.innerHTML=t,n.children.length>0&&(e=!0),n=null}return e},text:function(t){return"string"==typeof t},fontSize:function(t){return X(t)&&t>0},lineHeight:function(t){return X(t)&&t>0},textAlign:function(t){return["center","left","right"].includes(t)},fontFamily:function(t){return"string"==typeof t&&t.length>0},fontWeight:function(t){return["bold"].includes(t)},strokeWidth:function(t){return X(t)&&t>0}};var N,Q=function(t,e,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(t):i?i.value:e.get(t)};class G{constructor(){N.set(this,void 0),function(t,e,n,i,o){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===i?o.call(t,n):o?o.value=n:e.set(t,n)}(this,N,new Map,"f")}on(t,e){if(Q(this,N,"f").has(t)){const n=Q(this,N,"f").get(t)||[];null==n||n.push(e),Q(this,N,"f").set(t,n)}else Q(this,N,"f").set(t,[e])}off(t,e){if(Q(this,N,"f").has(t)){const n=Q(this,N,"f").get(t);if(Array.isArray(n))for(let t=0;t<(null==n?void 0:n.length);t++)if(n[t]===e){n.splice(t,1);break}Q(this,N,"f").set(t,n||[])}}trigger(t,e){const n=Q(this,N,"f").get(t);return!!Array.isArray(n)&&(n.forEach((t=>{t(e)})),!0)}has(t){if(Q(this,N,"f").has(t)){const e=Q(this,N,"f").get(t);if(Array.isArray(e)&&e.length>0)return!0}return!1}destroy(){this.clear()}clear(){Q(this,N,"f").clear()}}function q(t,e){return{x:t.x+(e.x-t.x)/2,y:t.y+(e.y-t.y)/2}}N=new WeakMap;var J,K,Z,_,tt,et=function(t,e,n,i,o){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?o.call(t,n):o?o.value=n:e.set(t,n),n},nt=function(t,e,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(t):i?i.value:e.get(t)};class it{constructor(t){J.add(this),K.set(this,void 0),Z.set(this,void 0),_.set(this,void 0),et(this,Z,E(t.defaultStorage),"f"),et(this,K,nt(this,J,"m",tt).call(this),"f"),et(this,_,t.defaultStatic||{},"f")}set(t,e){nt(this,K,"f")[t]=e}get(t){return nt(this,K,"f")[t]}setStatic(t,e){nt(this,_,"f")[t]=e}getStatic(t){return nt(this,_,"f")[t]}getSnapshot(t){return!0===(null==t?void 0:t.deepClone)?E(nt(this,K,"f")):Object.assign({},nt(this,K,"f"))}clear(){et(this,K,nt(this,J,"m",tt).call(this),"f")}destroy(){et(this,K,null,"f"),et(this,_,null,"f")}}function ot(t){return t/180*Math.PI}function at(t,e,n){const i=rt(e);!function(t,e,n,i){const o=ot(e||0);n&&(o>0||o<0)&&(t.translate(n.x,n.y),t.rotate(o),t.translate(-n.x,-n.y)),i(t),n&&(o>0||o<0)&&(t.translate(n.x,n.y),t.rotate(-o),t.translate(-n.x,-n.y))}(t,e.angle||0,i,(()=>{n(t)}))}function rt(t){return{x:t.x+t.w/2,y:t.y+t.h/2}}function lt(t){const e=Math.min(t[0].x,t[1].x,t[2].x,t[3].x),n=Math.min(t[0].y,t[1].y,t[2].y,t[3].y);return rt({x:e,y:n,w:Math.max(t[0].x,t[1].x,t[2].x,t[3].x)-e,h:Math.max(t[0].y,t[1].y,t[2].y,t[3].y)-n})}function st(t,e,n){const i=function(t,e){const n=e.x-t.x,i=e.y-t.y;if(0===n){if(i<0)return 0;if(i>0)return Math.PI}else if(0===i){if(n<0)return 3*Math.PI/2;if(n>0)return Math.PI/2}return n>0&&i<0?Math.atan(Math.abs(n)/Math.abs(i)):n>0&&i>0?Math.PI-Math.atan(Math.abs(n)/Math.abs(i)):n<0&&i>0?Math.PI+Math.atan(Math.abs(n)/Math.abs(i)):n<0&&i<0?2*Math.PI-Math.atan(Math.abs(n)/Math.abs(i)):0}(t,e);let o=i+n;o>2*Math.PI?o-=2*Math.PI:o<0-2*Math.PI&&(o+=2*Math.PI),o<0&&(o+=2*Math.PI);const a=function(t,e){const n=(t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y);return 0===n?n:Math.sqrt(n)}(t,e);let r=0,l=0;return 0===o?(r=0,l=0-a):o>0&&o<Math.PI/2?(r=Math.sin(o)*a,l=0-Math.cos(o)*a):o===Math.PI/2?(r=a,l=0):o>Math.PI/2&&o<Math.PI?(r=Math.sin(Math.PI-o)*a,l=Math.cos(Math.PI-o)*a):o===Math.PI?(r=0,l=a):o>Math.PI&&o<1.5*Math.PI?(r=0-Math.sin(o-Math.PI)*a,l=Math.cos(o-Math.PI)*a):o===1.5*Math.PI?(r=0-a,l=0):o>1.5*Math.PI&&o<2*Math.PI?(r=0-Math.sin(2*Math.PI-o)*a,l=0-Math.cos(2*Math.PI-o)*a):o===2*Math.PI&&(r=0,l=0-a),r+=t.x,l+=t.y,{x:r,y:l}}function ct(t,e,n){const{x:i,y:o,w:a,h:r}=t;let l={x:i,y:o},s={x:i+a,y:o},c={x:i+a,y:o+r},h={x:i,y:o+r};if(n&&(n>0||n<0)){const t=ot(function(t){if(!(t>0||t<0)||0===t||360===t)return 0;let e=t%360;e<0?e+=360:360===t&&(e=0);return e}(n));l=st(e,l,t),s=st(e,s,t),c=st(e,c,t),h=st(e,h,t)}return[l,s,c,h]}function ht(t,e,n){return[st(t,{x:e[0].x,y:e[0].y},n),st(t,{x:e[1].x,y:e[1].y},n),st(t,{x:e[2].x,y:e[2].y},n),st(t,{x:e[3].x,y:e[3].y},n)]}function ft(t,e){var n;const i=[];let o=t;if(e.length>1)for(let t=0;t<e.length-1;t++){const a=o[e[t]];if("group"!==(null==a?void 0:a.type)||!Array.isArray(null===(n=null==a?void 0:a.detail)||void 0===n?void 0:n.children))return null;i.push(a),o=a.detail.children}return i}function ut(t){const{x:e,y:n,h:i,w:o}=t;return[{x:e,y:n},{x:e+o,y:n},{x:e+o,y:n+i},{x:e,y:n+i}]}function dt(t){const{x:e,y:n,w:i,h:o,angle:a=0}=t;return 0===a?ut(t):ct(t,rt({x:e,y:n,w:i,h:o}),a)}function gt(t,e){const{groupQueue:n}=e;if(!(n.length>0))return[dt(t)];const i=function(t){const e=[];let n=0,i=0;const o=[],a=[...t];for(let t=0;t<a.length;t++){const{x:r,y:l,w:s,h:c,angle:h=0}=a[t];let f;if(n+=r,i+=l,0===t){const t={x:n,y:i,w:s,h:c};f=dt({x:r,y:l,w:s,h:c,angle:h}),o.push({center:rt(t),angle:h,radian:ot(h)})}else{f=ut({x:n,y:i,w:s,h:c});for(let t=0;t<o.length;t++){const{center:e,radian:n}=o[t];f=ht(e,f,n)}const t=lt(f);(h>0||h<0)&&(f=ht(t,f,ot(h))),o.push({center:t,angle:h,radian:ot(h)})}e.push(f)}return e}([...n,t]);return i}function pt(t,e){const{viewScaleInfo:n}=e,{x:i,y:o,w:a,h:r,angle:l}=t,{scale:s,offsetTop:c,offsetLeft:h}=n;return{x:i*s+h,y:o*s+c,w:a*s,h:r*s,angle:l}}function yt(t,e){const{viewScaleInfo:n}=e,{x:i,y:o}=t,{scale:a,offsetTop:r,offsetLeft:l}=n;return{x:i*a+l,y:o*a+r}}function wt(t,e){const{context2d:n,element:i,viewScaleInfo:o}=e,{angle:a=0}=i,{x:r,y:l,w:s,h:c}=pt(i,{viewScaleInfo:o}),h=function(t){const{angle:e=0}=t;return ct(t,rt(t),e)}({x:r,y:l,w:s,h:c,angle:a});if(h.length>=2){n.beginPath(),n.moveTo(h[0].x,h[0].y);for(let t=1;t<h.length;t++)n.lineTo(h[t].x,h[t].y);n.closePath()}return!!n.isPointInPath(t.x,t.y)}function mt(t,e){const{groupQueue:n}=e,i=function(t,e){return gt(t,e).pop()||null}(t,{groupQueue:n}),o=q(i[0],i[1]),a=q(i[1],i[2]),r=q(i[2],i[3]),l=q(i[3],i[0]),s=i[0],c=i[1],h=i[2],f=i[3],u=Math.max(s.x,c.x,h.x,f.x),d=Math.max(s.y,c.y,h.y,f.y);return{center:{x:(u+Math.min(s.x,c.x,h.x,f.x))/2,y:(d+Math.min(s.y,c.y,h.y,f.y))/2},topLeft:s,topRight:c,bottomLeft:f,bottomRight:h,top:o,right:a,left:l,bottom:r}}function vt(t){const e=Math.max(t.topLeft.x,t.topRight.x,t.bottomRight.x,t.bottomLeft.x),n=Math.max(t.topLeft.y,t.topRight.y,t.bottomRight.y,t.bottomLeft.y),i=Math.min(t.topLeft.x,t.topRight.x,t.bottomRight.x,t.bottomLeft.x),o=Math.min(t.topLeft.y,t.topRight.y,t.bottomRight.y,t.bottomLeft.y),a={x:t.center.x,y:t.center.y},r={x:i,y:o},l={x:e,y:o},s={x:e,y:n},c={x:i,y:n},h=q(r,l),f=q(c,s),u=q(r,c);return{center:a,topLeft:r,topRight:l,bottomLeft:c,bottomRight:s,top:h,right:q(l,s),left:u,bottom:f}}function xt(t){let e="";return t.forEach((t=>{e+=t.type+t.params.join(" ")})),e}K=new WeakMap,Z=new WeakMap,_=new WeakMap,J=new WeakSet,tt=function(){return E(nt(this,Z,"f"))};const bt={boxSizing:"border-box",borderWidth:0,borderColor:"#000000",shadowColor:"#000000",borderRadius:0,borderDash:[],shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,opacity:1,color:"#000000",textAlign:"left",verticalAlign:"top",fontSize:16,fontFamily:"sans-serif",fontWeight:400,minInlineSize:"auto",wordBreak:"break-all",overflow:"hidden"};function St(t,e){const{viewScaleInfo:n}=e,{scale:i}=n;let{borderRadius:o}=t.detail;const{borderDash:a}=t.detail,r=Array.isArray(a)&&a.length>0,{boxSizing:l=bt.boxSizing,borderWidth:s}=t.detail;Array.isArray(s)&&(o=0);let{x:c,y:h,w:f,h:u}=t,d=[0,0,0,0];if("number"==typeof o){const t=o*i;d=[t,t,t,t]}else Array.isArray(o)&&4===(null==o?void 0:o.length)&&(d=[o[0]*i,o[1]*i,o[2]*i,o[3]*i]);let g=0;return"number"==typeof s&&(g=(s||0)*i),"border-box"!==l||r?"content-box"===l?(c=t.x-g/2,h=t.y-g/2,f=t.w+g,u=t.h+g):(c=t.x,h=t.y,f=t.w,u=t.h):(c=t.x+g/2,h=t.y+g/2,f=t.w-g,u=t.h-g),f=Math.max(f,1),u=Math.max(u,1),d=d.map((t=>Math.min(t,f/2,u/2))),{x:c,y:h,w:f,h:u,radiusList:d}}const It=["-apple-system",'"system-ui"',' "Segoe UI"'," Roboto",'"Helvetica Neue"',"Arial",'"Noto Sans"'," sans-serif"];function Mt(t){return[t,...It].join(", ")}function Pt(t,e,n){if("string"==typeof e)return e;const{viewElementSize:i,viewScaleInfo:o,opacity:a=1}=n,{x:r,y:l}=i,{scale:s}=o;if("linear-gradient"===(null==e?void 0:e.type)){const{start:n,end:i,stops:o}=e,c={x:r+n.x*s,y:l+n.y*s},h={x:r+i.x*s,y:l+i.y*s},f=t.createLinearGradient(c.x,c.y,h.x,h.y);return o.forEach((t=>{f.addColorStop(t.offset,A(t.color,a))})),f}if("radial-gradient"===(null==e?void 0:e.type)){const{inner:n,outer:i,stops:o}=e,c={x:r+n.x*s,y:l+n.y*s,radius:n.radius*s},h={x:r+i.x*s,y:l+i.y*s,radius:i.radius*s},f=t.createRadialGradient(c.x,c.y,c.radius,h.x,h.y,h.radius);return o.forEach((t=>{f.addColorStop(t.offset,A(t.color,a))})),f}return"#000000"}const Ct={boxSizing:"border-box",borderWidth:0,borderColor:"#000000",shadowColor:"#000000",borderRadius:0,borderDash:[],shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,opacity:1,color:"#000000",textAlign:"left",verticalAlign:"top",fontSize:16,fontFamily:"sans-serif",fontWeight:400,minInlineSize:"auto",wordBreak:"break-all",overflow:"hidden"};function zt(t){var e,n,i,o;let a=1;return void 0!==(null==(e=null==t?void 0:t.detail)?void 0:e.opacity)&&(null==(n=null==t?void 0:t.detail)?void 0:n.opacity)>=0&&(null==(i=null==t?void 0:t.detail)?void 0:i.opacity)<=1&&(a=null==(o=null==t?void 0:t.detail)?void 0:o.opacity),a}function At(t,e,n){const{pattern:i,renderContent:o,originElem:a,calcElemSize:r,viewScaleInfo:l,viewSizeInfo:s}=n||{},{parentOpacity:c}=n,h=zt(a)*c,{clipPath:f,clipPathStrokeColor:u,clipPathStrokeWidth:d}=a.detail,g=()=>{t.globalAlpha=h,Rt(t,e,{pattern:i,viewScaleInfo:l,viewSizeInfo:s}),null==o||o(),Tt(t,e,{viewScaleInfo:l}),t.globalAlpha=c};f?(function(t,e,n){const{renderContent:i,originElem:o,calcElemSize:a,viewSizeInfo:r}=n,l=r.devicePixelRatio,{clipPath:s}=(null==o?void 0:o.detail)||{};if(s&&a&&s.commands){const{x:n,y:o,w:r,h:c}=a,{originW:h,originH:f,originX:u,originY:d}=s,g=r/h,p=c/f,y=n-u*g,w=o-d*p;t.save(),t.translate(y,w),t.scale(l*g,l*p);const m=xt(s.commands||[]),v=new Path2D(m);t.clip(v,"nonzero"),t.translate(0-y,0-w),t.setTransform(1,0,0,1,0,0),at(t,{...e},(()=>{null==i||i()})),t.restore()}else null==i||i()}(t,e,{originElem:a,calcElemSize:r,viewSizeInfo:s,renderContent:()=>{g()}}),"number"==typeof d&&d>0&&u&&function(t,e,n){const{renderContent:i,originElem:o,calcElemSize:a,viewSizeInfo:r,parentOpacity:l}=n,s=r.devicePixelRatio,{clipPath:c,clipPathStrokeColor:h,clipPathStrokeWidth:f}=(null==o?void 0:o.detail)||{};if(c&&a&&c.commands&&"number"==typeof f&&f>0&&h){const{x:n,y:o,w:r,h:u}=a,{originW:d,originH:g,originX:p,originY:y}=c,w=r/d,m=u/g,v=n-p*w,x=o-y*m;t.save(),t.globalAlpha=l,t.translate(v,x),t.scale(s*w,s*m);const b=xt(c.commands||[]),S=new Path2D(b);t.strokeStyle=h,t.lineWidth=f,t.stroke(S),t.translate(0-v,0-x),t.setTransform(1,0,0,1,0,0),at(t,{...e},(()=>{null==i||i()})),t.restore()}else null==i||i()}(t,e,{originElem:a,calcElemSize:r,viewSizeInfo:s,parentOpacity:c})):g()}function Rt(t,e,n){var i,o;const{pattern:a,viewScaleInfo:r,viewSizeInfo:l}=n,s=[];if(e.detail.background||a){const{x:n,y:l,w:c,h:h,radiusList:f}=St(e,{viewScaleInfo:r});if(t.beginPath(),t.moveTo(n+f[0],l),t.arcTo(n+c,l,n+c,l+h,f[1]),t.arcTo(n+c,l+h,n,l+h,f[2]),t.arcTo(n,l+h,n,l,f[3]),t.arcTo(n,l,n+c,l,f[0]),t.closePath(),"string"==typeof a)t.fillStyle=a;else if(["CanvasPattern"].includes(W.type(a)))t.fillStyle=a;else if("string"==typeof e.detail.background)t.fillStyle=e.detail.background;else if("linear-gradient"===(null==(i=e.detail.background)?void 0:i.type)){const i=Pt(t,e.detail.background,{viewElementSize:{x:n,y:l,w:c,h:h},viewScaleInfo:r,opacity:t.globalAlpha});t.fillStyle=i}else if("radial-gradient"===(null==(o=e.detail.background)?void 0:o.type)){const i=Pt(t,e.detail.background,{viewElementSize:{x:n,y:l,w:c,h:h},viewScaleInfo:r,opacity:t.globalAlpha});if(t.fillStyle=i,s&&s.length>0)for(let e=0;e<(null==s?void 0:s.length);e++){const i=s[e];"translate"===i.method?t.translate(i.args[0]+n,i.args[1]+l):"rotate"===i.method?t.rotate(...i.args):"scale"===i.method&&t.scale(...i.args)}}t.fill("nonzero"),s&&s.length>0&&t.setTransform(1,0,0,1,0,0)}}function Tt(t,e,n){if(0===e.detail.borderWidth)return;if(!z(e.detail.borderColor))return;const{viewScaleInfo:i}=n,{scale:o}=i;let a=Ct.borderColor;!0===z(e.detail.borderColor)&&(a=e.detail.borderColor);const{borderDash:r,borderWidth:l,borderRadius:s,boxSizing:c=Ct.boxSizing}=e.detail;let h=[];Array.isArray(r)&&r.length>0&&(h=r.map((t=>Math.ceil(t*o)))),h.length>0?t.lineCap="butt":t.lineCap="square";let f=[0,0,0,0];if("number"==typeof s){const t=s*o;f=[t,t,t,t]}else Array.isArray(s)&&4===(null==s?void 0:s.length)&&(f=[s[0]*o,s[1]*o,s[2]*o,s[3]*o]);let u=0;"number"==typeof l&&(u=l||1),u*=o,t.strokeStyle=a;let d=0,g=0,p=0,y=0;if(Array.isArray(l)&&(d=(l[0]||0)*o,g=(l[1]||0)*o,p=(l[2]||0)*o,y=(l[3]||0)*o),y||g||d||p){t.lineCap="butt";let{x:n,y:i,w:o,h:a}=e;"border-box"===c?(n+=y/2,i+=d/2,o=o-y/2-g/2,a=a-d/2-p/2):"content-box"===c?(n-=y/2,i-=d/2,o=o+y/2+g/2,a=a+d/2+p/2):(n=e.x,i=e.y,o=e.w,a=e.h),d&&(t.beginPath(),t.lineWidth=d,t.moveTo(n-y/2,i),t.lineTo(n+o+g/2,i),t.closePath(),t.stroke()),g&&(t.beginPath(),t.lineWidth=g,t.moveTo(n+o,i-d/2),t.lineTo(n+o,i+a+p/2),t.closePath(),t.stroke()),p&&(t.beginPath(),t.lineWidth=p,t.moveTo(n-y/2,i+a),t.lineTo(n+o+g/2,i+a),t.closePath(),t.stroke()),y&&(t.beginPath(),t.lineWidth=y,t.moveTo(n,i-d/2),t.lineTo(n,i+a+p/2),t.closePath(),t.stroke())}else{let{x:n,y:i,w:o,h:a}=e;"border-box"===c?(n=e.x+u/2,i=e.y+u/2,o=e.w-u,a=e.h-u):"content-box"===c?(n=e.x-u/2,i=e.y-u/2,o=e.w+u,a=e.h+u):(n=e.x,i=e.y,o=e.w,a=e.h),o=Math.max(o,1),a=Math.max(a,1),f=f.map((t=>Math.min(t,o/2,a/2))),t.setLineDash(h),t.lineWidth=u,t.beginPath(),t.moveTo(n+f[0],i),t.arcTo(n+o,i,n+o,i+a,f[1]),t.arcTo(n+o,i+a,n,i+a,f[2]),t.arcTo(n,i+a,n,i,f[3]),t.arcTo(n,i,n+o,i,f[0]),t.closePath(),t.stroke()}t.setLineDash([])}function kt(t,e,n){const{detail:i}=e,{viewScaleInfo:o,renderContent:a}=n,{shadowColor:r,shadowOffsetX:l,shadowOffsetY:s,shadowBlur:c}=i;U.number(c)?(t.save(),t.shadowColor=r||Ct.shadowColor,t.shadowOffsetX=(l||0)*o.scale,t.shadowOffsetY=(s||0)*o.scale,t.shadowBlur=(c||0)*o.scale,a(),t.restore()):(t.save(),t.shadowColor="transparent",t.shadowOffsetX=0,t.shadowOffsetY=0,t.shadowBlur=0,a(),t.restore())}function Lt(t,e,n){const{detail:i,angle:o}=e,{viewScaleInfo:a,viewSizeInfo:r,parentOpacity:l}=n,{background:s="#000000",borderColor:c="#000000",boxSizing:h,borderWidth:f=0,borderDash:u}=i;let d=0;"number"==typeof f&&f>0?d=f:Array.isArray(f)&&"number"==typeof f[0]&&f[0]>0&&(d=f[0]),d*=a.scale;const{x:g,y:p,w:y,h:w}=pt({x:e.x,y:e.y,w:e.w,h:e.h},{viewScaleInfo:a})||e,m={...e,x:g,y:p,w:y,h:w,angle:o};at(t,{x:g,y:p,w:y,h:w,angle:o},(()=>{kt(t,m,{viewScaleInfo:a,renderContent:()=>{let e=y/2,n=w/2;const i=g+e,o=p+n,r=e,f=n;if(d>0&&("content-box"===h||("center-line"===h?(e-=d/2,n-=d/2):(e-=d,n-=d))),e>=0&&n>=0){const h=zt(m)*l;t.globalAlpha=h,t.beginPath();const v=Pt(t,s,{viewElementSize:{x:g,y:p,w:y,h:w},viewScaleInfo:a,opacity:t.globalAlpha});if(t.fillStyle=v,t.circle(i,o,r,f,0,0,2*Math.PI),t.closePath(),t.fill("nonzero"),t.globalAlpha=l,"number"==typeof d&&d>0){const r=d/2+e,l=d/2+n;if(t.beginPath(),u){const e=u.map((t=>t*a.scale));t.setLineDash(e)}t.strokeStyle=c,t.lineWidth=d,t.circle(i,o,r,l,0,0,2*Math.PI),t.closePath(),t.stroke(),t.setLineDash([])}}}})}))}function Et(t,e,n){const{viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a}=n,{x:r,y:l,w:s,h:c,angle:h}=pt(e,{viewScaleInfo:i})||e,f={...e,x:r,y:l,w:s,h:c,angle:h};at(t,{x:r,y:l,w:s,h:c,angle:h},(()=>{kt(t,f,{viewScaleInfo:i,renderContent:()=>{At(t,f,{originElem:e,calcElemSize:{x:r,y:l,w:s,h:c,angle:h},viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a,renderContent:()=>{}})}})}))}function Ot(t,e,n){const i=n.loader.getContent(e),{viewScaleInfo:o,viewSizeInfo:a,parentOpacity:r}=n,{x:l,y:s,w:c,h:h,angle:f}=pt(e,{viewScaleInfo:o})||e,u={...e,x:l,y:s,w:c,h:h,angle:f};at(t,{x:l,y:s,w:c,h:h,angle:f},(()=>{kt(t,u,{viewScaleInfo:o,renderContent:()=>{At(t,u,{originElem:e,calcElemSize:{x:l,y:s,w:c,h:h,angle:f},viewScaleInfo:o,viewSizeInfo:a,parentOpacity:r,renderContent:()=>{if(i||n.loader.isDestroyed()||n.loader.load(e,n.elementAssets||{}),"image"===e.type&&i){t.globalAlpha=zt(e)*r;const{x:n,y:a,w:l,h:s,radiusList:c}=St(u,{viewScaleInfo:o}),{detail:h}=e,{scaleMode:f,originW:d=0,originH:g=0}=h,p=t.$undoPixelRatio(d),y=t.$undoPixelRatio(g);if(t.save(),t.fillStyle="transparent",t.beginPath(),t.moveTo(n+c[0],a),t.arcTo(n+l,a,n+l,a+s,c[1]),t.arcTo(n+l,a+s,n,a+s,c[2]),t.arcTo(n,a+s,n,a,c[3]),t.arcTo(n,a,n+l,a,c[0]),t.closePath(),t.fill("nonzero"),t.clip("nonzero"),f&&g&&d){let o=0,r=0,c=p,h=y;const u=n,d=a,g=l,w=s;if(p>e.w||y>e.h)if("fill"===f){const t=Math.max(e.w/p,e.h/y),n=y*t;o=(p*t-e.w)/2/t,r=(n-e.h)/2/t,c=e.w/t,h=e.h/t}else if("tile"===f)o=0,r=0,c=e.w,h=e.h;else if("fit"===f){const t=Math.min(e.w/p,e.h/y);o=(p-e.w/t)/2,r=(y-e.h/t)/2,c=e.w/t,h=e.h/t}t.drawImage(i,o,r,c,h,u,d,g,w)}else t.drawImage(i,n,a,l,s);t.globalAlpha=r,t.restore()}}})}})}))}function Wt(t,e,n){const i=n.loader.getContent(e),{viewScaleInfo:o,parentOpacity:a}=n,{x:r,y:l,w:s,h:c,angle:h}=pt(e,{viewScaleInfo:o})||e;at(t,{x:r,y:l,w:s,h:c,angle:h},(()=>{i||n.loader.isDestroyed()||n.loader.load(e,n.elementAssets||{}),"svg"===e.type&&i&&(t.globalAlpha=zt(e)*a,t.drawImage(i,r,l,s,c),t.globalAlpha=a)}))}function $t(t,e,n){const i=n.loader.getContent(e),{viewScaleInfo:o,parentOpacity:a}=n,{x:r,y:l,w:s,h:c,angle:h}=pt(e,{viewScaleInfo:o})||e;at(t,{x:r,y:l,w:s,h:c,angle:h},(()=>{i||n.loader.isDestroyed()||n.loader.load(e,n.elementAssets||{}),"html"===e.type&&i&&(t.globalAlpha=zt(e)*a,t.drawImage(i,r,l,s,c),t.globalAlpha=a)}))}const Ft={boxSizing:"border-box",borderWidth:0,borderColor:"#000000",shadowColor:"#000000",borderRadius:0,borderDash:[],shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,opacity:1,color:"#000000",textAlign:"left",verticalAlign:"top",fontSize:16,fontFamily:"sans-serif",fontWeight:400,minInlineSize:"auto",wordBreak:"break-all",overflow:"hidden"};function Dt(t,e,n){const{viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a,calculator:r}=n,{x:l,y:s,w:c,h:h,angle:f}=pt(e,{viewScaleInfo:i})||e,u={...e,x:l,y:s,w:c,h:h,angle:f};at(t,{x:l,y:s,w:c,h:h,angle:f},(()=>{var n,d;kt(t,u,{viewScaleInfo:i,renderContent:()=>{At(t,u,{originElem:e,calcElemSize:{x:l,y:s,w:c,h:h,angle:f},viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a})}});{const o={...Ft,...e.detail},a=(o.fontSize||Ft.fontSize)*i.scale;if(a<2)return;t.fillStyle=e.detail.color||Ft.color,t.textBaseline="top",t.$setFont({fontWeight:o.fontWeight,fontSize:a,fontFamily:Mt(o.fontFamily)});{const a=r.getVirtualFlatItem(e.uuid);Array.isArray(null==a?void 0:a.textLines)&&(null==(n=null==a?void 0:a.textLines)?void 0:n.length)>0&&(void 0!==o.textShadowColor&&z(o.textShadowColor)&&(t.shadowColor=o.textShadowColor),void 0!==o.textShadowOffsetX&&U.number(o.textShadowOffsetX)&&(t.shadowOffsetX=o.textShadowOffsetX),void 0!==o.textShadowOffsetY&&U.number(o.textShadowOffsetY)&&(t.shadowOffsetY=o.textShadowOffsetY),void 0!==o.textShadowBlur&&U.number(o.textShadowBlur)&&(t.shadowBlur=o.textShadowBlur),null==(d=null==a?void 0:a.textLines)||d.forEach((e=>{t.fillText(e.text,l+e.x*i.scale,s+e.y*i.scale)})))}}}))}function Bt(t,e,n){var i,o,a;if(!0===(null==(i=null==e?void 0:e.operations)?void 0:i.invisible))return;const{w:r,h:l}=e,{scale:s}=n.viewScaleInfo;if(s<1&&(r*s<.4||l*s<.4)||0===n.parentOpacity)return;const{overrideElementMap:c}=n;if(!(null==(a=null==(o=null==c?void 0:c[e.uuid])?void 0:o.operations)?void 0:a.invisible))try{switch(e.type){case"rect":Et(t,e,n);break;case"circle":Lt(t,e,n);break;case"text":Dt(t,e,n);break;case"image":Ot(t,e,n);break;case"svg":Wt(t,e,n);break;case"html":$t(t,e,n);break;case"path":!function(t,e,n){var i,o;const{detail:a}=e,{originX:r,originY:l,originW:s,originH:c,fillRule:h}=a,{viewScaleInfo:f,viewSizeInfo:u,parentOpacity:d}=n,{x:g,y:p,w:y,h:w,angle:m}=pt(e,{viewScaleInfo:f})||e,v=y/s,x=w/c,b=g-r*v,S=p-l*x,{clipPath:I,clipPathStrokeColor:M,clipPathStrokeWidth:P,...C}=e.detail,z=f.scale*u.devicePixelRatio,A={...e,x:g,y:p,w:y,h:w,angle:m};let R={...A};R.detail=C;let T={...e};T.detail=C,a.fill&&"string"!==a.fill&&(null==(o=null==(i=a.fill)?void 0:i.type)?void 0:o.includes("gradient"))&&(R={...A,detail:{...A.detail,background:a.fill,clipPath:{commands:a.commands,originX:r,originY:l,originW:s,originH:c}}},T.detail={...R.detail}),at(t,{x:g,y:p,w:y,h:w,angle:m},(()=>{At(t,R,{originElem:T,calcElemSize:{x:g,y:p,w:y,h:w,angle:m},viewScaleInfo:f,viewSizeInfo:u,parentOpacity:d,renderContent:()=>{kt(t,A,{viewScaleInfo:f,renderContent:()=>{t.save(),t.translate(b,S),t.scale(z*v/f.scale,z*x/f.scale);const e=xt(a.commands||[]),n=new Path2D(e);a.fill&&("string"==typeof a.fill?t.fillStyle=a.fill:t.fillStyle="transparent"),a.fill&&t.fill(n,h||"nonzero"),a.stroke&&0!==a.strokeWidth&&(t.strokeStyle=a.stroke,t.lineWidth=(a.strokeWidth||1)/u.devicePixelRatio,t.lineCap=a.strokeLineCap||"square",t.stroke(n)),t.translate(-b,-S),t.restore()}})}})}))}(t,e,n);break;case"group":{const i={...n.elementAssets||{},...e.detail.assets||{}};Vt(t,e,{...n,elementAssets:i});break}}}catch(t){console.error(t)}}function Vt(t,e,n){const{viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a}=n,{x:r,y:l,w:s,h:c,angle:h}=pt({x:e.x,y:e.y,w:e.w,h:e.h,angle:e.angle},{viewScaleInfo:i})||e,f={...e,x:r,y:l,w:s,h:c,angle:h};at(t,{x:r,y:l,w:s,h:c,angle:h},(()=>{t.globalAlpha=zt(e)*a,kt(t,f,{viewScaleInfo:i,renderContent:()=>{At(t,f,{originElem:e,calcElemSize:{x:r,y:l,w:s,h:c,angle:h},viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a,renderContent:()=>{const{x:o,y:r,w:l,h:s,radiusList:c}=St(f,{viewScaleInfo:i});if("hidden"===e.detail.overflow&&(t.save(),t.fillStyle="transparent",t.beginPath(),t.moveTo(o+c[0],r),t.arcTo(o+l,r,o+l,r+s,c[1]),t.arcTo(o+l,r+s,o,r+s,c[2]),t.arcTo(o,r+s,o,r,c[3]),t.arcTo(o,r,o+l,r,c[0]),t.closePath(),t.fill("nonzero"),t.clip("nonzero")),Array.isArray(e.detail.children)){const{parentElementSize:i}=n,o={x:i.x+e.x,y:i.y+e.y,w:e.w||i.w,h:e.h||i.h,angle:e.angle},{calculator:r}=n;for(let i=0;i<e.detail.children.length;i++){let l=e.detail.children[i];if(l={...l,x:o.x+l.x,y:o.y+l.y},!0===n.forceDrawAll||(null==r?void 0:r.needRender(l)))try{Bt(t,l,{...n,parentOpacity:a*zt(e)})}catch(t){console.error(t)}}}"hidden"===e.detail.overflow&&t.restore()}})}}),t.globalAlpha=a}))}const jt={boxSizing:"border-box",borderWidth:0,borderColor:"#000000",shadowColor:"#000000",borderRadius:0,borderDash:[],shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,opacity:1,color:"#000000",textAlign:"left",verticalAlign:"top",fontSize:16,fontFamily:"sans-serif",fontWeight:400,minInlineSize:"auto",wordBreak:"break-all",overflow:"hidden"};function Xt(t,e,n){var i;const{elements:o=[]}=e,{parentOpacity:a}=n;for(let e=0;e<o.length;e++){const r=o[e],l={...r,detail:{...jt,...null==r?void 0:r.detail}};if(!0===n.forceDrawAll||(null==(i=n.calculator)?void 0:i.needRender(l)))try{Bt(t,l,{...n,parentOpacity:a})}catch(t){console.error(t)}}}function Yt(t,e,n,i){const{viewScaleInfo:o,viewSizeInfo:a,parentOpacity:r}=n,l={uuid:"layout",type:"group",...e},{x:s,y:c,w:h,h:f}=pt(l,{viewScaleInfo:o})||l,u={...l,x:s,y:c,w:h,h:f,angle:0};if(t.globalAlpha=1,kt(t,u,{viewScaleInfo:o,renderContent:()=>{Rt(t,u,{viewScaleInfo:o,viewSizeInfo:a})}}),"hidden"===e.detail.overflow){const{viewScaleInfo:i,viewSizeInfo:o}=n,a={uuid:"layout",type:"group",...e},r=pt(a,{viewScaleInfo:i})||a,l={...a,...r},{x:s,y:c,w:h,h:f,radiusList:u}=St(l,{viewScaleInfo:i});t.save(),t.fillStyle="transparent",t.beginPath(),t.moveTo(s+u[0],c),t.arcTo(s+h,c,s+h,c+f,u[1]),t.arcTo(s+h,c+f,s,c+f,u[2]),t.arcTo(s,c+f,s,c,u[3]),t.arcTo(s,c,s+h,c,u[0]),t.closePath(),t.fill("nonzero"),t.clip("nonzero")}i(t),"hidden"===e.detail.overflow&&t.restore(),Tt(t,u,{viewScaleInfo:o}),t.globalAlpha=r}function Ht(t,e,n){if("string"==typeof(null==e?void 0:e.background)){const{viewSizeInfo:i}=n,{width:o,height:a}=i;t.globalAlpha=1,t.fillStyle=e.background,t.fillRect(0,0,o,a)}}const Ut=["image","svg","html"],Nt=t=>{var e,n,i;let o=null;return"image"===t.type?o=(null==(e=null==t?void 0:t.detail)?void 0:e.src)||null:"svg"===t.type?o=(null==(n=null==t?void 0:t.detail)?void 0:n.svg)||null:"html"===t.type&&(o=(null==(i=null==t?void 0:t.detail)?void 0:i.html)||null),"string"==typeof o&&o?L(o)?o:k(o,t.uuid):k(`${R()}-${t.uuid}-${R()}-${R()}`,t.uuid)};class Qt extends G{constructor(){super(),M(this,a),M(this,e,{}),M(this,n,{}),M(this,i,{}),M(this,o,!1),C(this,a,r).call(this,"image",(async(t,e)=>{var n;const i=(null==(n=e[t.detail.src])?void 0:n.value)||t.detail.src,o=await D(i);return{uuid:t.uuid,lastModified:Date.now(),content:o}})),C(this,a,r).call(this,"html",(async(t,e)=>{var n;const i=(null==(n=e[t.detail.html])?void 0:n.value)||t.detail.html,o=await V(i,{width:t.detail.originW||t.w,height:t.detail.originH||t.h});return{uuid:t.uuid,lastModified:Date.now(),content:o}})),C(this,a,r).call(this,"svg",(async(t,e)=>{var n;const i=(null==(n=e[t.detail.svg])?void 0:n.value)||t.detail.svg,o=await B(i);return{uuid:t.uuid,lastModified:Date.now(),content:o}}))}isDestroyed(){return I(this,o)}reset(){!0!==I(this,o)&&(P(this,n,{}),P(this,i,{}))}resetElementAsset(t){if(Ut.includes(t.type)){let e=null,o=null;"image"===t.type&&"string"==typeof t.detail.src?o=t.detail.src:"svg"===t.type&&"string"==typeof t.detail.svg?o=t.detail.svg:"html"===t.type&&"string"==typeof t.detail.html&&(o=t.detail.html),"string"==typeof o&&(this.load(t,{}),L(o)?e=o:t.uuid&&(e=k(o,t.uuid))),e&&L(e)&&(delete I(this,i)[e],delete I(this,n)[e])}}destroy(){P(this,o,!0),this.clear(),P(this,e,null),P(this,n,null),P(this,i,null)}load(t,e){!0!==I(this,o)&&(C(this,a,u).call(this,t)||Ut.includes(t.type)&&C(this,a,f).call(this,t,e))}getContent(t){var e,n;const o=Nt(t);return(null==(n=null==(e=I(this,i))?void 0:e[o])?void 0:n.content)||null}getLoadItemMap(){return I(this,i)}setLoadItemMap(t){P(this,i,t)}}e=new WeakMap,n=new WeakMap,i=new WeakMap,o=new WeakMap,a=new WeakSet,r=function(t,n){I(this,e)[t]=n},l=function(t){var e,n,i;let o=null;return"image"===t.type?o=(null==(e=null==t?void 0:t.detail)?void 0:e.src)||null:"svg"===t.type?o=(null==(n=null==t?void 0:t.detail)?void 0:n.svg)||null:"html"===t.type&&(o=(null==(i=null==t?void 0:t.detail)?void 0:i.html)||null),o},s=function(t){return{element:t,status:"null",content:null,error:null,startTime:-1,endTime:-1,source:C(this,a,l).call(this,t)}},c=function(t){const e=Nt(t.element),n=I(this,i)[e];I(this,o)||(n?n.startTime<t.startTime&&(I(this,i)[e]=t,this.trigger("load",{...t,countTime:t.endTime-t.startTime})):(I(this,i)[e]=t,this.trigger("load",{...t,countTime:t.endTime-t.startTime})))},h=function(t){var e;const n=Nt(t.element),a=null==(e=I(this,i))?void 0:e[n];I(this,o)||(a?a.startTime<t.startTime&&(I(this,i)[n]=t,this.trigger("error",{...t,countTime:t.endTime-t.startTime})):(I(this,i)[n]=t,this.trigger("error",{...t,countTime:t.endTime-t.startTime})))},f=function(t,i){const r=C(this,a,s).call(this,t),l=Nt(t);if(I(this,n)[l])return;I(this,n)[l]=r;const f=I(this,e)[t.type];"function"!=typeof f||I(this,o)||(r.startTime=Date.now(),f(t,i).then((t=>{I(this,o)||(r.content=t.content,r.endTime=Date.now(),r.status="load",C(this,a,c).call(this,r))})).catch((e=>{console.warn(`Load element source "${r.source}" fail`,e,t),r.endTime=Date.now(),r.status="error",r.error=e,C(this,a,h).call(this,r)})))},u=function(t){var e;const i=Nt(t),o=null==(e=I(this,n))?void 0:e[i];return!(!o||"error"!==o.status||!o.source||o.source!==C(this,a,l).call(this,t))};const Gt={boxSizing:"border-box",borderWidth:0,borderColor:"#000000",shadowColor:"#000000",borderRadius:0,borderDash:[],shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,opacity:1,color:"#000000",textAlign:"left",verticalAlign:"top",fontSize:16,fontFamily:"sans-serif",fontWeight:400,minInlineSize:"auto",wordBreak:"break-all",overflow:"hidden"};function qt(t,e){const{w:n,h:i}=t,o=e.tempContext,a=[],r={...Gt,...t.detail},l=r.fontSize||Gt.fontSize,s=l;if(s<2)return{};const c=r.lineHeight||l;o.textBaseline="top",o.$setFont({fontWeight:r.fontWeight,fontSize:s,fontFamily:Mt(r.fontFamily)});let h=r.text.replace(/\r\n/gi,"\n");"lowercase"===r.textTransform?h=h.toLowerCase():"uppercase"===r.textTransform&&(h=h.toUpperCase());const f=c,u=h.split("\n");let d=0;u.forEach(((t,e)=>{if("maxContent"===r.minInlineSize)a.push({x:0,y:0,text:t,width:o.$undoPixelRatio(o.measureText(t).width)});else{let c="",h="",g=t.split(h);if("normal"===r.wordBreak){h=" ";const e=t.split(h);g=[],e.forEach(((t,n)=>{g.push(t),n<e.length-1&&g.push(h)}))}if(1===g.length&&"visible"===r.overflow)a.push({x:0,y:0,text:g[0],width:o.$undoPixelRatio(o.measureText(g[0]).width)});else if(g.length>0){for(let t=0;t<g.length&&(l=o.$doPixelRatio(n),s=o.measureText(c+g[t]).width,l>=s?c+=g[t]||"":(a.push({x:0,y:0,text:c,width:o.$undoPixelRatio(o.measureText(c).width)}),c=g[t]||"",d++),!((d+1)*f>i&&"hidden"===r.overflow));t++)if(g.length-1===t&&(d+1)*f<=i){a.push({x:0,y:0,text:c,width:o.$undoPixelRatio(o.measureText(c).width)}),e<u.length-1&&d++;break}}else a.push({x:0,y:0,text:"",width:0})}var l,s}));let g=0,p=0;f>s&&(p=(f-s)/2),a.length*f<i&&("top"===r.verticalAlign?g=0:"bottom"===r.verticalAlign?g+=i-a.length*f:g+=(i-a.length*f)/2);{const t=0+g;a.forEach(((e,i)=>{let o=0;"center"===r.textAlign?o=0+(n-e.width)/2:"right"===r.textAlign&&(o=n-e.width+0),a[i].x=o,a[i].y=t+f*i+p}))}return{textLines:a}}function Jt(t,e){let n={};return"text"===t.type&&(n=qt(t,e)),n}function Kt(t,e){const{viewScaleInfo:n,viewSizeInfo:i,tempContext:o}=e,a=function(t,e){const n={},i=[],o=a=>{const r={type:a.type,isVisibleInView:!0,position:[...i]};let l=null;l=mt(a,{groupQueue:ft(t,i)||[]});const s={...r,originRectInfo:l,rangeRectInfo:U.angle(a.angle)?vt(l):l,...Jt(a,e)};n[a.uuid]=s,"group"===a.type&&a.detail.children.forEach(((t,e)=>{i.push(e),o(t),i.pop()}))};return t.forEach(((t,e)=>{i.push(e),o(t),i.pop()})),n}(t,{tempContext:o});return Zt(a,{viewScaleInfo:n,viewSizeInfo:i})}function Zt(t,e){const n=function(t){const{viewScaleInfo:e,viewSizeInfo:n}=t,{scale:i,offsetTop:o,offsetLeft:a}=e,{width:r,height:l}=n,s=0-a/i,c=0-o/i,h=r/i,f=l/i,u=rt({x:s,y:c,w:h,h:f}),d={x:s,y:c},g={x:s+h,y:c},p={x:s,y:c+f},y={x:s+h,y:c+f},w={x:s,y:u.y},m={x:u.x,y:c},v={x:s+h,y:u.y},x={x:u.x,y:c+f};return{center:u,topLeft:d,topRight:g,bottomLeft:p,bottomRight:y,left:w,top:m,right:v,bottom:x}}(e);let i=0,o=0;return Object.keys(t).forEach((e=>{const a=t[e];a.isVisibleInView=function(t,e){const n=Math.min(t.topLeft.x,t.topRight.x,t.bottomLeft.x,t.bottomRight.x),i=Math.max(t.topLeft.x,t.topRight.x,t.bottomLeft.x,t.bottomRight.x),o=Math.min(t.topLeft.y,t.topRight.y,t.bottomLeft.y,t.bottomRight.y),a=Math.max(t.topLeft.y,t.topRight.y,t.bottomLeft.y,t.bottomRight.y),r=Math.min(e.topLeft.x,e.topRight.x,e.bottomLeft.x,e.bottomRight.x),l=Math.max(e.topLeft.x,e.topRight.x,e.bottomLeft.x,e.bottomRight.x),s=Math.min(e.topLeft.y,e.topRight.y,e.bottomLeft.y,e.bottomRight.y),c=Math.max(e.topLeft.y,e.topRight.y,e.bottomLeft.y,e.bottomRight.y);return n<=l&&i>=r&&o<=c&&a>=s||l<=a&&l>=a&&l<=a&&l>=a}(a.rangeRectInfo,n),a.isVisibleInView?i++:o++})),{virtualFlatItemMap:t,visibleCount:i,invisibleCount:o}}class _t{constructor(t){M(this,d),M(this,g),P(this,d,t),P(this,g,new it({defaultStorage:{virtualFlatItemMap:{},visibleCount:0,invisibleCount:0}}))}toGridNum(t,e){return!0===(null==e?void 0:e.ignore)?t:Math.round(t)}destroy(){P(this,d,null)}needRender(t){const e=I(this,g).get("virtualFlatItemMap")[t.uuid];return!e||e.isVisibleInView}getPointElement(t,e){return function(t,e){var n,i,o;const{context2d:a,data:r,viewScaleInfo:l,groupQueue:s}=e,c={index:-1,element:null,groupQueueIndex:-1};if(s&&Array.isArray(s)&&(null==s?void 0:s.length)>0)for(let e=s.length-1;e>=0;e--){let o=0,r=0,h=0;for(let t=0;t<=e;t++)o+=s[t].x,r+=s[t].y,h+=s[t].angle||0;const f=s[e];if(f&&"group"===f.type&&Array.isArray(null===(n=f.detail)||void 0===n?void 0:n.children))for(let n=0;n<f.detail.children.length;n++){const u=f.detail.children[n];if(!0!==(null===(i=null==u?void 0:u.operations)||void 0===i?void 0:i.invisible)){if(!u)break;if(wt(t,{context2d:a,element:{x:o+u.x,y:r+u.y,w:u.w,h:u.h,angle:h+(u.angle||0)},viewScaleInfo:l})){c.element=u,(e<s.length-1||"group"!==u.type)&&(c.groupQueueIndex=e);break}}}if(c.element)break}if(c.element)return c;for(let e=r.elements.length-1;e>=0;e--){const n=r.elements[e];if(!0!==(null===(o=null==n?void 0:n.operations)||void 0===o?void 0:o.invisible)&&wt(t,{context2d:a,element:n,viewScaleInfo:l})){c.index=e,c.element=n;break}}return c}(t,{...e,context2d:I(this,d).tempContext})}resetVirtualFlatItemMap(t,e){if(t){const{virtualFlatItemMap:n,invisibleCount:i,visibleCount:o}=Kt(t.elements,{...e,tempContext:I(this,d).tempContext});I(this,g).set("virtualFlatItemMap",n),I(this,g).set("invisibleCount",i),I(this,g).set("visibleCount",o)}}updateVisiableStatus(t){const{virtualFlatItemMap:e,invisibleCount:n,visibleCount:i}=Zt(I(this,g).get("virtualFlatItemMap"),t);I(this,g).set("virtualFlatItemMap",e),I(this,g).set("invisibleCount",n),I(this,g).set("visibleCount",i)}calcViewRectInfoFromOrigin(t,e){const n=I(this,g).get("virtualFlatItemMap")[t];if(!(null==n?void 0:n.originRectInfo))return null;const{checkVisible:i,viewScaleInfo:o,viewSizeInfo:a}=e,{center:r,left:l,right:s,bottom:c,top:h,topLeft:f,topRight:u,bottomLeft:d,bottomRight:p}=n.originRectInfo;if(!0===i&&!1===n.isVisibleInView)return null;const y={viewScaleInfo:o};return{center:yt(r,y),left:yt(l,y),right:yt(s,y),bottom:yt(c,y),top:yt(h,y),topLeft:yt(f,y),topRight:yt(u,y),bottomLeft:yt(d,y),bottomRight:yt(p,y)}}calcViewRectInfoFromRange(t,e){const n=I(this,g).get("virtualFlatItemMap")[t];if(!(null==n?void 0:n.originRectInfo))return null;const{checkVisible:i,viewScaleInfo:o,viewSizeInfo:a}=e,{center:r,left:l,right:s,bottom:c,top:h,topLeft:f,topRight:u,bottomLeft:d,bottomRight:p}=n.rangeRectInfo;if(!0===i&&!1===n.isVisibleInView)return null;const y={viewScaleInfo:o};return{center:yt(r,y),left:yt(l,y),right:yt(s,y),bottom:yt(c,y),top:yt(h,y),topLeft:yt(f,y),topRight:yt(u,y),bottomLeft:yt(d,y),bottomRight:yt(p,y)}}modifyText(t){const e=I(this,g).get("virtualFlatItemMap"),n=e[t.uuid];if(t&&"text"===t.type){const i={...n,...qt(t,{tempContext:I(this,d).tempContext})};e[t.uuid]=i,I(this,g).set("virtualFlatItemMap",e)}}modifyVirtualFlatItemMap(t,e){const{modifyInfo:n,viewScaleInfo:i,viewSizeInfo:o}=e,{type:a,content:r}=n,l=t.elements,s=I(this,g).get("virtualFlatItemMap");if("deleteElement"===a){const{element:t}=r,e=[],n=t=>{e.push(t.uuid),"group"===t.type&&Array.isArray(t.detail.children)&&t.detail.children.forEach((t=>{n(t)}))};n(t),e.forEach((t=>{delete s[t]})),I(this,g).set("virtualFlatItemMap",s)}else if("addElement"===a||"updateElement"===a){const{position:e}=r,n=function(t,e){let n=null,i=e;for(let e=0;e<t.length;e++){const o=i[t[e]];if(e<t.length-1&&"group"===(null==o?void 0:o.type))i=o.detail.children;else{if(e!==t.length-1)break;n=o}}return n}(e,t.elements),c=ft(l,e);if(n)if("updateElement"===a&&"group"===n.type)this.resetVirtualFlatItemMap(t,{viewScaleInfo:i,viewSizeInfo:o});else{const t=mt(n,{groupQueue:c||[]}),r={type:n.type,originRectInfo:t,rangeRectInfo:U.angle(n.angle)?vt(t):t,isVisibleInView:!0,position:[...e],...Jt(n,{tempContext:I(this,d).tempContext})};s[n.uuid]=r,I(this,g).set("virtualFlatItemMap",s),"updateElement"===a&&this.updateVisiableStatus({viewScaleInfo:i,viewSizeInfo:o})}}else"moveElement"===a&&this.resetVirtualFlatItemMap(t,{viewScaleInfo:i,viewSizeInfo:o})}getVirtualFlatItem(t){return I(this,g).get("virtualFlatItemMap")[t]||null}}d=new WeakMap,g=new WeakMap;return p=new WeakMap,y=new WeakMap,w=new WeakMap,m=new WeakMap,v=new WeakSet,x=function(){const t=I(this,y);t.on("load",(t=>{this.trigger("load",t)})),t.on("error",(t=>{console.error(t)}))},t.Calculator=_t,t.Renderer=class extends G{constructor(t){super(),M(this,v),M(this,p),M(this,y,new Qt),M(this,w),M(this,m,!1),P(this,p,t),P(this,w,new _t({tempContext:t.tempContext})),C(this,v,x).call(this)}isDestroyed(){return I(this,m)}destroy(){this.clear(),P(this,p,null),I(this,y).destroy(),P(this,y,null),P(this,m,!0)}updateOptions(t){P(this,p,t)}drawData(t,e){const n=I(this,y),i=I(this,w),{sharer:o}=I(this,p),a=I(this,p).viewContext;a.clearRect(0,0,a.canvas.width,a.canvas.height);const r={x:0,y:0,w:e.viewSizeInfo.width,h:e.viewSizeInfo.height};!0===e.forceDrawAll&&I(this,w).resetVirtualFlatItemMap(t,{viewScaleInfo:e.viewScaleInfo,viewSizeInfo:e.viewSizeInfo});const l={loader:n,calculator:i,parentElementSize:r,elementAssets:t.assets,parentOpacity:1,overrideElementMap:null==o?void 0:o.getActiveOverrideElemenentMap(),...e};Ht(a,t.global,l),t.layout?Yt(a,t.layout,l,(()=>{Xt(a,t,l)})):Xt(a,t,l)}scale(t){const{sharer:e}=I(this,p);if(!e)return;const{data:n,offsetTop:i,offsetBottom:o,offsetLeft:a,offsetRight:r,width:l,height:s,contextHeight:c,contextWidth:h,devicePixelRatio:f}=e.getActiveStoreSnapshot();n&&this.drawData(n,{viewScaleInfo:{scale:t,offsetTop:i,offsetBottom:o,offsetLeft:a,offsetRight:r},viewSizeInfo:{width:l,height:s,contextHeight:c,contextWidth:h,devicePixelRatio:f}})}setLoadItemMap(t){I(this,y).setLoadItemMap(t)}getLoadItemMap(){return I(this,y).getLoadItemMap()}getLoader(){return I(this,y)}getCalculator(){return I(this,w)}},t.drawCircle=Lt,t.drawElement=Bt,t.drawElementList=Xt,t.drawGlobalBackground=Ht,t.drawGroup=Vt,t.drawHTML=$t,t.drawImage=Ot,t.drawLayout=Yt,t.drawRect=Et,t.drawSVG=Wt,t.drawText=Dt,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t}({});
1
+ var iDrawRenderer=function(t){"use strict";var e,n,i,o,a,r,l,s,c,h,f,u,d,g,p,y,w,m,v,x,b=t=>{throw TypeError(t)},S=(t,e,n)=>e.has(t)||b("Cannot "+n),I=(t,e,n)=>(S(t,e,"read from private field"),n?n.call(t):e.get(t)),M=(t,e,n)=>e.has(t)?b("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),P=(t,e,n,i)=>(S(t,e,"write to private field"),i?i.call(t,n):e.set(t,n),n),C=(t,e,n)=>(S(t,e,"access private method"),n);function z(t){return"string"==typeof t&&(/^#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(t)||/^[a-z]{1,}$/i.test(t))}function A(t,e){if(1===e)return t;let n=1;const i=/^#[0-9a-f]{6,6}$/i;let o=t;if(i.test(t)?n=parseInt(t.substring(5,7).replace(/^#/,"0x")):/^#[0-9a-f]{8,8}$/i.test(t)&&(n=parseInt(t.substring(7,9).replace(/^#/,"0x")),o=t.substring(0,7)),n*=e,i.test(o)&&n>0&&n<1){const t=Math.max(0,Math.min(255,Math.ceil(256*n)));o=`${o.toUpperCase()}${t.toString(16).toUpperCase()}`}return o}function R(){function t(){return(65536*(1+Math.random())|0).toString(16).substring(1)}return`${t()}${t()}-${t()}-${t()}-${t()}-${t()}${t()}${t()}`}function T(t,e){let n=0;for(let e=0;e<t.length;e++)n+=t.charCodeAt(e);return(n+e).toString(16).substring(0,4)}function k(t,e){const n=t.length,i=function(t){let e=0;for(let n=0;n<t.length;n++)e+=t.charCodeAt(n);return e}(e),o=Math.floor(n/2),a=t.substring(0,4).padStart(4,"0"),r=t.substring(0,4).padStart(4,"0");return`@assets/${T(n.toString(16).padStart(4,a),i).padStart(4,"0")}${T(t.substring(o-4,o).padStart(4,a),i).padStart(4,"0")}-${T(t.substring(o-8,o-4).padStart(4,a),i).padStart(4,"0")}-${T(t.substring(o-12,o-8).padStart(4,a),i).padStart(4,"0")}-${T(t.substring(o-16,o-12).padStart(4,r),i).padStart(4,"0")}-${T(t.substring(o,o+4).padStart(4,r),i).padStart(4,"0")}${T(t.substring(o+4,o+8).padStart(4,r),i).padStart(4,"0")}${T(r.padStart(4,a).padStart(4,r),i)}`}function L(t){return/^@assets\/[0-9a-z-]{0,}$/.test(`${t}`)}function E(t){return function t(e){const n=function(t){return Object.prototype.toString.call(t).replace(/[\]|\[]{1,1}/gi,"").split(" ")[1]}(e);if(["Null","Number","String","Boolean","Undefined"].indexOf(n)>=0)return e;if("Array"===n){const n=[];return e.forEach((e=>{n.push(t(e))})),n}if("Object"===n){const n={};Object.keys(e).forEach((i=>{n[i]=t(e[i])}));return Object.getOwnPropertySymbols(e).forEach((i=>{n[i]=t(e[i])})),n}}(t)}function O(t){return(Object.prototype.toString.call(t)||"").replace(/(\[object|\])/gi,"").trim()}const W={type(t,e){const n=O(t);return!0===e?n.toLocaleLowerCase():n},array:t=>"Array"===O(t),json:t=>"Object"===O(t),function:t=>"Function"===O(t),asyncFunction:t=>"AsyncFunction"===O(t),boolean:t=>"Boolean"===O(t),string:t=>"String"===O(t),number:t=>"Number"===O(t),undefined:t=>"Undefined"===O(t),null:t=>"Null"===O(t),promise:t=>"Promise"===O(t)};var $=function(t,e,n,i){return new(n||(n=Promise))((function(o,a){function r(t){try{s(i.next(t))}catch(t){a(t)}}function l(t){try{s(i.throw(t))}catch(t){a(t)}}function s(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(r,l)}s((i=i.apply(t,e||[])).next())}))};const{Image:F}=window;function D(t){return new Promise(((e,n)=>{const i=new F;i.crossOrigin="anonymous",i.onload=function(){e(i)},i.onabort=n,i.onerror=n,i.src=t}))}function B(t){return $(this,void 0,void 0,(function*(){const e=yield function(t){return new Promise(((e,n)=>{const i=new Blob([t],{type:"image/svg+xml;charset=utf-8"}),o=new FileReader;o.readAsDataURL(i),o.onload=function(t){var n;const i=null===(n=null==t?void 0:t.target)||void 0===n?void 0:n.result;e(i)},o.onerror=function(t){n(t)}}))}(t);return yield D(e)}))}function V(t,e){return $(this,void 0,void 0,(function*(){t=t.replace(/\&/gi,"&amp;");const n=yield function(t,e){const{width:n,height:i}=e;return new Promise(((e,o)=>{const a=new Blob([`\n <svg \n xmlns="http://www.w3.org/2000/svg" \n width="${n||""}" \n height = "${i||""}">\n <foreignObject width="100%" height="100%">\n <div xmlns = "http://www.w3.org/1999/xhtml">\n ${t}\n </div>\n </foreignObject>\n </svg>\n `],{type:"image/svg+xml;charset=utf-8"}),r=new FileReader;r.readAsDataURL(a),r.onload=function(t){var n;const i=null===(n=null==t?void 0:t.target)||void 0===n?void 0:n.result;e(i)},r.onerror=function(t){o(t)}}))}(t,e);return yield D(n)}))}function j(t){return"number"==typeof t&&t>=0}function X(t){return"number"==typeof t&&(t>0||t<=0)}function Y(t){return"string"==typeof t&&/^(http:\/\/|https:\/\/|\.\/|\/)/.test(`${t}`)}function H(t){return"string"==typeof t&&/^(data:image\/)/.test(`${t}`)}const U={positiveNum:j,x:function(t){return X(t)},y:function(t){return X(t)},w:function(t){return j(t)},h:function(t){return j(t)},angle:function(t){return"number"==typeof t&&t>=-360&&t<=360},number:X,numberStr:function(t){return/^(-?\d+(?:\.\d+)?)$/.test(`${t}`)},borderWidth:function(t){return j(t)||Array.isArray(t)&&j(t[0])&&j(t[1])&&j(t[2])&&j(t[3])},borderRadius:function(t){return j(t)||Array.isArray(t)&&j(t[0])&&j(t[1])&&j(t[2])&&j(t[3])},color:function(t){return z(t)},imageSrc:function(t){return H(t)||Y(t)},imageURL:Y,imageBase64:H,svg:function(t){return"string"==typeof t&&/^(<svg[\s]{1,}|<svg>)/i.test(`${t}`.trim())&&/<\/[\s]{0,}svg>$/i.test(`${t}`.trim())},html:function(t){let e=!1;if("string"==typeof t){let n=document.createElement("div");n.innerHTML=t,n.children.length>0&&(e=!0),n=null}return e},text:function(t){return"string"==typeof t},fontSize:function(t){return X(t)&&t>0},lineHeight:function(t){return X(t)&&t>0},textAlign:function(t){return["center","left","right"].includes(t)},fontFamily:function(t){return"string"==typeof t&&t.length>0},fontWeight:function(t){return["bold"].includes(t)},strokeWidth:function(t){return X(t)&&t>0}};var N,Q=function(t,e,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(t):i?i.value:e.get(t)};class G{constructor(){N.set(this,void 0),function(t,e,n,i,o){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");"a"===i?o.call(t,n):o?o.value=n:e.set(t,n)}(this,N,new Map,"f")}on(t,e){if(Q(this,N,"f").has(t)){const n=Q(this,N,"f").get(t)||[];null==n||n.push(e),Q(this,N,"f").set(t,n)}else Q(this,N,"f").set(t,[e])}off(t,e){if(Q(this,N,"f").has(t)){const n=Q(this,N,"f").get(t);if(Array.isArray(n))for(let t=0;t<(null==n?void 0:n.length);t++)if(n[t]===e){n.splice(t,1);break}Q(this,N,"f").set(t,n||[])}}trigger(t,e){const n=Q(this,N,"f").get(t);return!!Array.isArray(n)&&(n.forEach((t=>{t(e)})),!0)}has(t){if(Q(this,N,"f").has(t)){const e=Q(this,N,"f").get(t);if(Array.isArray(e)&&e.length>0)return!0}return!1}destroy(){this.clear()}clear(){Q(this,N,"f").clear()}}function q(t,e){return{x:t.x+(e.x-t.x)/2,y:t.y+(e.y-t.y)/2}}N=new WeakMap;var J,K,Z,_,tt,et=function(t,e,n,i,o){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?o.call(t,n):o?o.value=n:e.set(t,n),n},nt=function(t,e,n,i){if("a"===n&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?i:"a"===n?i.call(t):i?i.value:e.get(t)};class it{constructor(t){J.add(this),K.set(this,void 0),Z.set(this,void 0),_.set(this,void 0),et(this,Z,E(t.defaultStorage),"f"),et(this,K,nt(this,J,"m",tt).call(this),"f"),et(this,_,t.defaultStatic||{},"f")}set(t,e){nt(this,K,"f")[t]=e}get(t){return nt(this,K,"f")[t]}setStatic(t,e){nt(this,_,"f")[t]=e}getStatic(t){return nt(this,_,"f")[t]}getSnapshot(t){return!0===(null==t?void 0:t.deepClone)?E(nt(this,K,"f")):Object.assign({},nt(this,K,"f"))}clear(){et(this,K,nt(this,J,"m",tt).call(this),"f")}destroy(){et(this,K,null,"f"),et(this,_,null,"f")}}function ot(t){return t/180*Math.PI}function at(t,e,n){const i=rt(e);!function(t,e,n,i){const o=ot(e||0);n&&(o>0||o<0)&&(t.translate(n.x,n.y),t.rotate(o),t.translate(-n.x,-n.y)),i(t),n&&(o>0||o<0)&&(t.translate(n.x,n.y),t.rotate(-o),t.translate(-n.x,-n.y))}(t,e.angle||0,i,(()=>{n(t)}))}function rt(t){return{x:t.x+t.w/2,y:t.y+t.h/2}}function lt(t){const e=Math.min(t[0].x,t[1].x,t[2].x,t[3].x),n=Math.min(t[0].y,t[1].y,t[2].y,t[3].y);return rt({x:e,y:n,w:Math.max(t[0].x,t[1].x,t[2].x,t[3].x)-e,h:Math.max(t[0].y,t[1].y,t[2].y,t[3].y)-n})}function st(t,e,n){const i=function(t,e){const n=e.x-t.x,i=e.y-t.y;if(0===n){if(i<0)return 0;if(i>0)return Math.PI}else if(0===i){if(n<0)return 3*Math.PI/2;if(n>0)return Math.PI/2}return n>0&&i<0?Math.atan(Math.abs(n)/Math.abs(i)):n>0&&i>0?Math.PI-Math.atan(Math.abs(n)/Math.abs(i)):n<0&&i>0?Math.PI+Math.atan(Math.abs(n)/Math.abs(i)):n<0&&i<0?2*Math.PI-Math.atan(Math.abs(n)/Math.abs(i)):0}(t,e);let o=i+n;o>2*Math.PI?o-=2*Math.PI:o<0-2*Math.PI&&(o+=2*Math.PI),o<0&&(o+=2*Math.PI);const a=function(t,e){const n=(t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y);return 0===n?n:Math.sqrt(n)}(t,e);let r=0,l=0;return 0===o?(r=0,l=0-a):o>0&&o<Math.PI/2?(r=Math.sin(o)*a,l=0-Math.cos(o)*a):o===Math.PI/2?(r=a,l=0):o>Math.PI/2&&o<Math.PI?(r=Math.sin(Math.PI-o)*a,l=Math.cos(Math.PI-o)*a):o===Math.PI?(r=0,l=a):o>Math.PI&&o<1.5*Math.PI?(r=0-Math.sin(o-Math.PI)*a,l=Math.cos(o-Math.PI)*a):o===1.5*Math.PI?(r=0-a,l=0):o>1.5*Math.PI&&o<2*Math.PI?(r=0-Math.sin(2*Math.PI-o)*a,l=0-Math.cos(2*Math.PI-o)*a):o===2*Math.PI&&(r=0,l=0-a),r+=t.x,l+=t.y,{x:r,y:l}}function ct(t,e,n){const{x:i,y:o,w:a,h:r}=t;let l={x:i,y:o},s={x:i+a,y:o},c={x:i+a,y:o+r},h={x:i,y:o+r};if(n&&(n>0||n<0)){const t=ot(function(t){if(!(t>0||t<0)||0===t||360===t)return 0;let e=t%360;e<0?e+=360:360===t&&(e=0);return e}(n));l=st(e,l,t),s=st(e,s,t),c=st(e,c,t),h=st(e,h,t)}return[l,s,c,h]}function ht(t,e,n){return[st(t,{x:e[0].x,y:e[0].y},n),st(t,{x:e[1].x,y:e[1].y},n),st(t,{x:e[2].x,y:e[2].y},n),st(t,{x:e[3].x,y:e[3].y},n)]}function ft(t,e){var n;const i=[];let o=t;if(e.length>1)for(let t=0;t<e.length-1;t++){const a=o[e[t]];if("group"!==(null==a?void 0:a.type)||!Array.isArray(null===(n=null==a?void 0:a.detail)||void 0===n?void 0:n.children))return null;i.push(a),o=a.detail.children}return i}function ut(t){const{x:e,y:n,h:i,w:o}=t;return[{x:e,y:n},{x:e+o,y:n},{x:e+o,y:n+i},{x:e,y:n+i}]}function dt(t){const{x:e,y:n,w:i,h:o,angle:a=0}=t;return 0===a?ut(t):ct(t,rt({x:e,y:n,w:i,h:o}),a)}function gt(t,e){const{groupQueue:n}=e;if(!(n.length>0))return[dt(t)];const i=function(t){const e=[];let n=0,i=0;const o=[],a=[...t];for(let t=0;t<a.length;t++){const{x:r,y:l,w:s,h:c,angle:h=0}=a[t];let f;if(n+=r,i+=l,0===t){const t={x:n,y:i,w:s,h:c};f=dt({x:r,y:l,w:s,h:c,angle:h}),o.push({center:rt(t),angle:h,radian:ot(h)})}else{f=ut({x:n,y:i,w:s,h:c});for(let t=0;t<o.length;t++){const{center:e,radian:n}=o[t];f=ht(e,f,n)}const t=lt(f);(h>0||h<0)&&(f=ht(t,f,ot(h))),o.push({center:t,angle:h,radian:ot(h)})}e.push(f)}return e}([...n,t]);return i}function pt(t,e){const{viewScaleInfo:n}=e,{x:i,y:o,w:a,h:r,angle:l}=t,{scale:s,offsetTop:c,offsetLeft:h}=n;return{x:i*s+h,y:o*s+c,w:a*s,h:r*s,angle:l}}function yt(t,e){const{viewScaleInfo:n}=e,{x:i,y:o}=t,{scale:a,offsetTop:r,offsetLeft:l}=n;return{x:i*a+l,y:o*a+r}}function wt(t,e){const{context2d:n,element:i,viewScaleInfo:o}=e,{angle:a=0}=i,{x:r,y:l,w:s,h:c}=pt(i,{viewScaleInfo:o}),h=function(t){const{angle:e=0}=t;return ct(t,rt(t),e)}({x:r,y:l,w:s,h:c,angle:a});if(h.length>=2){n.beginPath(),n.moveTo(h[0].x,h[0].y);for(let t=1;t<h.length;t++)n.lineTo(h[t].x,h[t].y);n.closePath()}return!!n.isPointInPath(t.x,t.y)}function mt(t,e){const{groupQueue:n}=e,i=function(t,e){return gt(t,e).pop()||null}(t,{groupQueue:n}),o=q(i[0],i[1]),a=q(i[1],i[2]),r=q(i[2],i[3]),l=q(i[3],i[0]),s=i[0],c=i[1],h=i[2],f=i[3],u=Math.max(s.x,c.x,h.x,f.x),d=Math.max(s.y,c.y,h.y,f.y);return{center:{x:(u+Math.min(s.x,c.x,h.x,f.x))/2,y:(d+Math.min(s.y,c.y,h.y,f.y))/2},topLeft:s,topRight:c,bottomLeft:f,bottomRight:h,top:o,right:a,left:l,bottom:r}}function vt(t){const e=Math.max(t.topLeft.x,t.topRight.x,t.bottomRight.x,t.bottomLeft.x),n=Math.max(t.topLeft.y,t.topRight.y,t.bottomRight.y,t.bottomLeft.y),i=Math.min(t.topLeft.x,t.topRight.x,t.bottomRight.x,t.bottomLeft.x),o=Math.min(t.topLeft.y,t.topRight.y,t.bottomRight.y,t.bottomLeft.y),a={x:t.center.x,y:t.center.y},r={x:i,y:o},l={x:e,y:o},s={x:e,y:n},c={x:i,y:n},h=q(r,l),f=q(c,s),u=q(r,c);return{center:a,topLeft:r,topRight:l,bottomLeft:c,bottomRight:s,top:h,right:q(l,s),left:u,bottom:f}}function xt(t){let e="";return t.forEach((t=>{e+=t.type+t.params.join(" ")})),e}K=new WeakMap,Z=new WeakMap,_=new WeakMap,J=new WeakSet,tt=function(){return E(nt(this,Z,"f"))};const bt={boxSizing:"border-box",borderWidth:0,borderColor:"#000000",shadowColor:"#000000",borderRadius:0,borderDash:[],shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,opacity:1,color:"#000000",textAlign:"left",verticalAlign:"top",fontSize:16,fontFamily:"sans-serif",fontWeight:400,minInlineSize:"auto",wordBreak:"break-all",overflow:"hidden"};function St(t,e){const{viewScaleInfo:n}=e,{scale:i}=n;let{borderRadius:o}=t.detail;const{borderDash:a}=t.detail,r=Array.isArray(a)&&a.length>0,{boxSizing:l=bt.boxSizing,borderWidth:s}=t.detail;Array.isArray(s)&&(o=0);let{x:c,y:h,w:f,h:u}=t,d=[0,0,0,0];if("number"==typeof o){const t=o*i;d=[t,t,t,t]}else Array.isArray(o)&&4===(null==o?void 0:o.length)&&(d=[o[0]*i,o[1]*i,o[2]*i,o[3]*i]);let g=0;return"number"==typeof s&&(g=(s||0)*i),"border-box"!==l||r?"content-box"===l?(c=t.x-g/2,h=t.y-g/2,f=t.w+g,u=t.h+g):(c=t.x,h=t.y,f=t.w,u=t.h):(c=t.x+g/2,h=t.y+g/2,f=t.w-g,u=t.h-g),f=Math.max(f,1),u=Math.max(u,1),d=d.map((t=>Math.min(t,f/2,u/2))),{x:c,y:h,w:f,h:u,radiusList:d}}const It=["-apple-system",'"system-ui"',' "Segoe UI"'," Roboto",'"Helvetica Neue"',"Arial",'"Noto Sans"'," sans-serif"];function Mt(t){return[t,...It].join(", ")}function Pt(t,e,n){if("string"==typeof e)return e;const{viewElementSize:i,viewScaleInfo:o,opacity:a=1}=n,{x:r,y:l}=i,{scale:s}=o;if("linear-gradient"===(null==e?void 0:e.type)){const{start:n,end:i,stops:o}=e,c={x:r+n.x*s,y:l+n.y*s},h={x:r+i.x*s,y:l+i.y*s},f=t.createLinearGradient(c.x,c.y,h.x,h.y);return o.forEach((t=>{f.addColorStop(t.offset,A(t.color,a))})),f}if("radial-gradient"===(null==e?void 0:e.type)){const{inner:n,outer:i,stops:o}=e,c={x:r+n.x*s,y:l+n.y*s,radius:n.radius*s},h={x:r+i.x*s,y:l+i.y*s,radius:i.radius*s},f=t.createRadialGradient(c.x,c.y,c.radius,h.x,h.y,h.radius);return o.forEach((t=>{f.addColorStop(t.offset,A(t.color,a))})),f}return"#000000"}const Ct={boxSizing:"border-box",borderWidth:0,borderColor:"#000000",shadowColor:"#000000",borderRadius:0,borderDash:[],shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,opacity:1,color:"#000000",textAlign:"left",verticalAlign:"top",fontSize:16,fontFamily:"sans-serif",fontWeight:400,minInlineSize:"auto",wordBreak:"break-all",overflow:"hidden"};function zt(t){var e,n,i,o;let a=1;return void 0!==(null==(e=null==t?void 0:t.detail)?void 0:e.opacity)&&(null==(n=null==t?void 0:t.detail)?void 0:n.opacity)>=0&&(null==(i=null==t?void 0:t.detail)?void 0:i.opacity)<=1&&(a=null==(o=null==t?void 0:t.detail)?void 0:o.opacity),a}function At(t,e,n){const{pattern:i,renderContent:o,originElem:a,calcElemSize:r,viewScaleInfo:l,viewSizeInfo:s}=n||{},{parentOpacity:c}=n,h=zt(a)*c,{clipPath:f,clipPathStrokeColor:u,clipPathStrokeWidth:d}=a.detail,g=()=>{t.globalAlpha=h,Rt(t,e,{pattern:i,viewScaleInfo:l,viewSizeInfo:s}),null==o||o(),Tt(t,e,{viewScaleInfo:l}),t.globalAlpha=c};f?(function(t,e,n){const{renderContent:i,originElem:o,calcElemSize:a,viewSizeInfo:r}=n,l=r.devicePixelRatio,{clipPath:s}=(null==o?void 0:o.detail)||{};if(s&&a&&s.commands){const{x:n,y:o,w:r,h:c}=a,{originW:h,originH:f,originX:u,originY:d}=s,g=r/h,p=c/f,y=n-u*g,w=o-d*p;t.save(),t.translate(y,w),t.scale(l*g,l*p);const m=xt(s.commands||[]),v=new Path2D(m);t.clip(v,"nonzero"),t.translate(0-y,0-w),t.setTransform(1,0,0,1,0,0),at(t,{...e},(()=>{null==i||i()})),t.restore()}else null==i||i()}(t,e,{originElem:a,calcElemSize:r,viewSizeInfo:s,renderContent:()=>{g()}}),"number"==typeof d&&d>0&&u&&function(t,e,n){const{renderContent:i,originElem:o,calcElemSize:a,viewSizeInfo:r,parentOpacity:l}=n,s=r.devicePixelRatio,{clipPath:c,clipPathStrokeColor:h,clipPathStrokeWidth:f}=(null==o?void 0:o.detail)||{};if(c&&a&&c.commands&&"number"==typeof f&&f>0&&h){const{x:n,y:o,w:r,h:u}=a,{originW:d,originH:g,originX:p,originY:y}=c,w=r/d,m=u/g,v=n-p*w,x=o-y*m;t.save(),t.globalAlpha=l,t.translate(v,x),t.scale(s*w,s*m);const b=xt(c.commands||[]),S=new Path2D(b);t.strokeStyle=h,t.lineWidth=f,t.stroke(S),t.translate(0-v,0-x),t.setTransform(1,0,0,1,0,0),at(t,{...e},(()=>{null==i||i()})),t.restore()}else null==i||i()}(t,e,{originElem:a,calcElemSize:r,viewSizeInfo:s,parentOpacity:c})):g()}function Rt(t,e,n){var i,o;const{pattern:a,viewScaleInfo:r,viewSizeInfo:l}=n,s=[];if(e.detail.background||a){const{x:n,y:l,w:c,h:h,radiusList:f}=St(e,{viewScaleInfo:r});if(t.beginPath(),t.moveTo(n+f[0],l),t.arcTo(n+c,l,n+c,l+h,f[1]),t.arcTo(n+c,l+h,n,l+h,f[2]),t.arcTo(n,l+h,n,l,f[3]),t.arcTo(n,l,n+c,l,f[0]),t.closePath(),"string"==typeof a)t.fillStyle=a;else if(["CanvasPattern"].includes(W.type(a)))t.fillStyle=a;else if("string"==typeof e.detail.background)t.fillStyle=e.detail.background;else if("linear-gradient"===(null==(i=e.detail.background)?void 0:i.type)){const i=Pt(t,e.detail.background,{viewElementSize:{x:n,y:l,w:c,h:h},viewScaleInfo:r,opacity:t.globalAlpha});t.fillStyle=i}else if("radial-gradient"===(null==(o=e.detail.background)?void 0:o.type)){const i=Pt(t,e.detail.background,{viewElementSize:{x:n,y:l,w:c,h:h},viewScaleInfo:r,opacity:t.globalAlpha});if(t.fillStyle=i,s&&s.length>0)for(let e=0;e<(null==s?void 0:s.length);e++){const i=s[e];"translate"===i.method?t.translate(i.args[0]+n,i.args[1]+l):"rotate"===i.method?t.rotate(...i.args):"scale"===i.method&&t.scale(...i.args)}}t.fill("nonzero"),s&&s.length>0&&t.setTransform(1,0,0,1,0,0)}}function Tt(t,e,n){if(0===e.detail.borderWidth)return;if(!z(e.detail.borderColor))return;const{viewScaleInfo:i}=n,{scale:o}=i;let a=Ct.borderColor;!0===z(e.detail.borderColor)&&(a=e.detail.borderColor);const{borderDash:r,borderWidth:l,borderRadius:s,boxSizing:c=Ct.boxSizing}=e.detail;let h=[];Array.isArray(r)&&r.length>0&&(h=r.map((t=>Math.ceil(t*o)))),h.length>0?t.lineCap="butt":t.lineCap="square";let f=[0,0,0,0];if("number"==typeof s){const t=s*o;f=[t,t,t,t]}else Array.isArray(s)&&4===(null==s?void 0:s.length)&&(f=[s[0]*o,s[1]*o,s[2]*o,s[3]*o]);let u=0;"number"==typeof l&&(u=l||1),u*=o,t.strokeStyle=a;let d=0,g=0,p=0,y=0;if(Array.isArray(l)&&(d=(l[0]||0)*o,g=(l[1]||0)*o,p=(l[2]||0)*o,y=(l[3]||0)*o),y||g||d||p){t.lineCap="butt";let{x:n,y:i,w:o,h:a}=e;"border-box"===c?(n+=y/2,i+=d/2,o=o-y/2-g/2,a=a-d/2-p/2):"content-box"===c?(n-=y/2,i-=d/2,o=o+y/2+g/2,a=a+d/2+p/2):(n=e.x,i=e.y,o=e.w,a=e.h),d&&(t.beginPath(),t.lineWidth=d,t.moveTo(n-y/2,i),t.lineTo(n+o+g/2,i),t.closePath(),t.stroke()),g&&(t.beginPath(),t.lineWidth=g,t.moveTo(n+o,i-d/2),t.lineTo(n+o,i+a+p/2),t.closePath(),t.stroke()),p&&(t.beginPath(),t.lineWidth=p,t.moveTo(n-y/2,i+a),t.lineTo(n+o+g/2,i+a),t.closePath(),t.stroke()),y&&(t.beginPath(),t.lineWidth=y,t.moveTo(n,i-d/2),t.lineTo(n,i+a+p/2),t.closePath(),t.stroke())}else{let{x:n,y:i,w:o,h:a}=e;"border-box"===c?(n=e.x+u/2,i=e.y+u/2,o=e.w-u,a=e.h-u):"content-box"===c?(n=e.x-u/2,i=e.y-u/2,o=e.w+u,a=e.h+u):(n=e.x,i=e.y,o=e.w,a=e.h),o=Math.max(o,1),a=Math.max(a,1),f=f.map((t=>Math.min(t,o/2,a/2))),t.setLineDash(h),t.lineWidth=u,t.beginPath(),t.moveTo(n+f[0],i),t.arcTo(n+o,i,n+o,i+a,f[1]),t.arcTo(n+o,i+a,n,i+a,f[2]),t.arcTo(n,i+a,n,i,f[3]),t.arcTo(n,i,n+o,i,f[0]),t.closePath(),t.stroke()}t.setLineDash([])}function kt(t,e,n){const{detail:i}=e,{viewScaleInfo:o,renderContent:a}=n,{shadowColor:r,shadowOffsetX:l,shadowOffsetY:s,shadowBlur:c}=i;U.number(c)?(t.save(),t.shadowColor=r||Ct.shadowColor,t.shadowOffsetX=(l||0)*o.scale,t.shadowOffsetY=(s||0)*o.scale,t.shadowBlur=(c||0)*o.scale,a(),t.restore()):(t.save(),t.shadowColor="transparent",t.shadowOffsetX=0,t.shadowOffsetY=0,t.shadowBlur=0,a(),t.restore())}function Lt(t,e,n){const{detail:i,angle:o}=e,{viewScaleInfo:a,viewSizeInfo:r,parentOpacity:l}=n,{background:s="#000000",borderColor:c="#000000",boxSizing:h,borderWidth:f=0,borderDash:u}=i;let d=0;"number"==typeof f&&f>0?d=f:Array.isArray(f)&&"number"==typeof f[0]&&f[0]>0&&(d=f[0]),d*=a.scale;const{x:g,y:p,w:y,h:w}=pt({x:e.x,y:e.y,w:e.w,h:e.h},{viewScaleInfo:a})||e,m={...e,x:g,y:p,w:y,h:w,angle:o};at(t,{x:g,y:p,w:y,h:w,angle:o},(()=>{kt(t,m,{viewScaleInfo:a,renderContent:()=>{let e=y/2,n=w/2;const i=g+e,o=p+n,r=e,f=n;if(d>0&&("content-box"===h||("center-line"===h?(e-=d/2,n-=d/2):(e-=d,n-=d))),e>=0&&n>=0){const h=zt(m)*l;t.globalAlpha=h,t.beginPath();const v=Pt(t,s,{viewElementSize:{x:g,y:p,w:y,h:w},viewScaleInfo:a,opacity:t.globalAlpha});if(t.fillStyle=v,t.circle(i,o,r,f,0,0,2*Math.PI),t.closePath(),t.fill("nonzero"),t.globalAlpha=l,"number"==typeof d&&d>0){const r=d/2+e,l=d/2+n;if(t.beginPath(),u){const e=u.map((t=>t*a.scale));t.setLineDash(e)}t.strokeStyle=c,t.lineWidth=d,t.circle(i,o,r,l,0,0,2*Math.PI),t.closePath(),t.stroke(),t.setLineDash([])}}}})}))}function Et(t,e,n){const{viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a}=n,{x:r,y:l,w:s,h:c,angle:h}=pt(e,{viewScaleInfo:i})||e,f={...e,x:r,y:l,w:s,h:c,angle:h};at(t,{x:r,y:l,w:s,h:c,angle:h},(()=>{kt(t,f,{viewScaleInfo:i,renderContent:()=>{At(t,f,{originElem:e,calcElemSize:{x:r,y:l,w:s,h:c,angle:h},viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a,renderContent:()=>{}})}})}))}function Ot(t,e,n){const i=n.loader.getContent(e),{viewScaleInfo:o,viewSizeInfo:a,parentOpacity:r}=n,{x:l,y:s,w:c,h:h,angle:f}=pt(e,{viewScaleInfo:o})||e,u={...e,x:l,y:s,w:c,h:h,angle:f};at(t,{x:l,y:s,w:c,h:h,angle:f},(()=>{kt(t,u,{viewScaleInfo:o,renderContent:()=>{At(t,u,{originElem:e,calcElemSize:{x:l,y:s,w:c,h:h,angle:f},viewScaleInfo:o,viewSizeInfo:a,parentOpacity:r,renderContent:()=>{if(i||n.loader.isDestroyed()||n.loader.load(e,n.elementAssets||{}),"image"===e.type&&i){t.globalAlpha=zt(e)*r;const{x:n,y:a,w:l,h:s,radiusList:c}=St(u,{viewScaleInfo:o}),{detail:h}=e,{scaleMode:f,originW:d=0,originH:g=0}=h,p=t.$undoPixelRatio(d),y=t.$undoPixelRatio(g);if(t.save(),t.fillStyle="transparent",t.beginPath(),t.moveTo(n+c[0],a),t.arcTo(n+l,a,n+l,a+s,c[1]),t.arcTo(n+l,a+s,n,a+s,c[2]),t.arcTo(n,a+s,n,a,c[3]),t.arcTo(n,a,n+l,a,c[0]),t.closePath(),t.fill("nonzero"),t.clip("nonzero"),f&&g&&d){let o=0,r=0,c=p,h=y;const u=n,d=a,g=l,w=s;if(p>e.w||y>e.h)if("fill"===f){const t=Math.max(e.w/p,e.h/y),n=y*t;o=(p*t-e.w)/2/t,r=(n-e.h)/2/t,c=e.w/t,h=e.h/t}else if("tile"===f)o=0,r=0,c=e.w,h=e.h;else if("fit"===f){const t=Math.min(e.w/p,e.h/y);o=(p-e.w/t)/2,r=(y-e.h/t)/2,c=e.w/t,h=e.h/t}t.drawImage(i,o,r,c,h,u,d,g,w)}else t.drawImage(i,n,a,l,s);t.globalAlpha=r,t.restore()}}})}})}))}function Wt(t,e,n){const i=n.loader.getContent(e),{viewScaleInfo:o,parentOpacity:a}=n,{x:r,y:l,w:s,h:c,angle:h}=pt(e,{viewScaleInfo:o})||e;at(t,{x:r,y:l,w:s,h:c,angle:h},(()=>{i||n.loader.isDestroyed()||n.loader.load(e,n.elementAssets||{}),"svg"===e.type&&i&&(t.globalAlpha=zt(e)*a,t.drawImage(i,r,l,s,c),t.globalAlpha=a)}))}function $t(t,e,n){const i=n.loader.getContent(e),{viewScaleInfo:o,parentOpacity:a}=n,{x:r,y:l,w:s,h:c,angle:h}=pt(e,{viewScaleInfo:o})||e;at(t,{x:r,y:l,w:s,h:c,angle:h},(()=>{i||n.loader.isDestroyed()||n.loader.load(e,n.elementAssets||{}),"html"===e.type&&i&&(t.globalAlpha=zt(e)*a,t.drawImage(i,r,l,s,c),t.globalAlpha=a)}))}const Ft={boxSizing:"border-box",borderWidth:0,borderColor:"#000000",shadowColor:"#000000",borderRadius:0,borderDash:[],shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,opacity:1,color:"#000000",textAlign:"left",verticalAlign:"top",fontSize:16,fontFamily:"sans-serif",fontWeight:400,minInlineSize:"auto",wordBreak:"break-all",overflow:"hidden"};function Dt(t,e,n){const{viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a,calculator:r}=n,{x:l,y:s,w:c,h:h,angle:f}=pt(e,{viewScaleInfo:i})||e,u={...e,x:l,y:s,w:c,h:h,angle:f};at(t,{x:l,y:s,w:c,h:h,angle:f},(()=>{var n,d;kt(t,u,{viewScaleInfo:i,renderContent:()=>{At(t,u,{originElem:e,calcElemSize:{x:l,y:s,w:c,h:h,angle:f},viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a})}});{const o={...Ft,...e.detail},a=(o.fontSize||Ft.fontSize)*i.scale;if(a<2)return;t.fillStyle=e.detail.color||Ft.color,t.textBaseline="top",t.$setFont({fontWeight:o.fontWeight,fontSize:a,fontFamily:Mt(o.fontFamily)});{const a=r.getVirtualFlatItem(e.uuid);Array.isArray(null==a?void 0:a.textLines)&&(null==(n=null==a?void 0:a.textLines)?void 0:n.length)>0&&(void 0!==o.textShadowColor&&z(o.textShadowColor)&&(t.shadowColor=o.textShadowColor),void 0!==o.textShadowOffsetX&&U.number(o.textShadowOffsetX)&&(t.shadowOffsetX=o.textShadowOffsetX),void 0!==o.textShadowOffsetY&&U.number(o.textShadowOffsetY)&&(t.shadowOffsetY=o.textShadowOffsetY),void 0!==o.textShadowBlur&&U.number(o.textShadowBlur)&&(t.shadowBlur=o.textShadowBlur),null==(d=null==a?void 0:a.textLines)||d.forEach((e=>{t.fillText(e.text,l+e.x*i.scale,s+e.y*i.scale)})))}}}))}function Bt(t,e,n){var i,o,a;if(!0===(null==(i=null==e?void 0:e.operations)?void 0:i.invisible))return;const{w:r,h:l}=e,{scale:s}=n.viewScaleInfo;if(s<1&&(r*s<.4||l*s<.4)||0===n.parentOpacity)return;const{overrideElementMap:c}=n;if(!(null==(a=null==(o=null==c?void 0:c[e.uuid])?void 0:o.operations)?void 0:a.invisible))try{switch(e.type){case"rect":Et(t,e,n);break;case"circle":Lt(t,e,n);break;case"text":Dt(t,e,n);break;case"image":Ot(t,e,n);break;case"svg":Wt(t,e,n);break;case"html":$t(t,e,n);break;case"path":!function(t,e,n){var i,o;const{detail:a}=e,{originX:r,originY:l,originW:s,originH:c,fillRule:h}=a,{viewScaleInfo:f,viewSizeInfo:u,parentOpacity:d}=n,{x:g,y:p,w:y,h:w,angle:m}=pt(e,{viewScaleInfo:f})||e,v=y/s,x=w/c,b=g-r*v,S=p-l*x,{clipPath:I,clipPathStrokeColor:M,clipPathStrokeWidth:P,...C}=e.detail,z=f.scale*u.devicePixelRatio,A={...e,x:g,y:p,w:y,h:w,angle:m};let R={...A};R.detail=C;let T={...e};T.detail=C,a.fill&&"string"!==a.fill&&(null==(o=null==(i=a.fill)?void 0:i.type)?void 0:o.includes("gradient"))&&(R={...A,detail:{...A.detail,background:a.fill,clipPath:{commands:a.commands,originX:r,originY:l,originW:s,originH:c}}},T.detail={...R.detail}),at(t,{x:g,y:p,w:y,h:w,angle:m},(()=>{At(t,R,{originElem:T,calcElemSize:{x:g,y:p,w:y,h:w,angle:m},viewScaleInfo:f,viewSizeInfo:u,parentOpacity:d,renderContent:()=>{kt(t,A,{viewScaleInfo:f,renderContent:()=>{t.save(),t.translate(b,S),t.scale(z*v/f.scale,z*x/f.scale);const e=xt(a.commands||[]),n=new Path2D(e);a.fill&&("string"==typeof a.fill?t.fillStyle=a.fill:t.fillStyle="transparent"),a.fill&&t.fill(n,h||"nonzero"),a.stroke&&0!==a.strokeWidth&&(t.strokeStyle=a.stroke,t.lineWidth=(a.strokeWidth||1)/u.devicePixelRatio,t.lineCap=a.strokeLineCap||"square",t.stroke(n)),t.translate(-b,-S),t.restore()}})}})}))}(t,e,n);break;case"group":{const i={...n.elementAssets||{},...e.detail.assets||{}};Vt(t,e,{...n,elementAssets:i});break}}}catch(t){console.error(t)}}function Vt(t,e,n){const{viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a}=n,{x:r,y:l,w:s,h:c,angle:h}=pt({x:e.x,y:e.y,w:e.w,h:e.h,angle:e.angle},{viewScaleInfo:i})||e,f={...e,x:r,y:l,w:s,h:c,angle:h};at(t,{x:r,y:l,w:s,h:c,angle:h},(()=>{t.globalAlpha=zt(e)*a,kt(t,f,{viewScaleInfo:i,renderContent:()=>{At(t,f,{originElem:e,calcElemSize:{x:r,y:l,w:s,h:c,angle:h},viewScaleInfo:i,viewSizeInfo:o,parentOpacity:a,renderContent:()=>{const{x:o,y:r,w:l,h:s,radiusList:c}=St(f,{viewScaleInfo:i});if("hidden"===e.detail.overflow&&(t.save(),t.fillStyle="transparent",t.beginPath(),t.moveTo(o+c[0],r),t.arcTo(o+l,r,o+l,r+s,c[1]),t.arcTo(o+l,r+s,o,r+s,c[2]),t.arcTo(o,r+s,o,r,c[3]),t.arcTo(o,r,o+l,r,c[0]),t.closePath(),t.fill("nonzero"),t.clip("nonzero")),Array.isArray(e.detail.children)){const{parentElementSize:i}=n,o={x:i.x+e.x,y:i.y+e.y,w:e.w||i.w,h:e.h||i.h,angle:e.angle},{calculator:r}=n;for(let i=0;i<e.detail.children.length;i++){let l=e.detail.children[i];if(l={...l,x:o.x+l.x,y:o.y+l.y},!0===n.forceDrawAll||(null==r?void 0:r.needRender(l)))try{Bt(t,l,{...n,parentOpacity:a*zt(e)})}catch(t){console.error(t)}}}"hidden"===e.detail.overflow&&t.restore()}})}}),t.globalAlpha=a}))}const jt={boxSizing:"border-box",borderWidth:0,borderColor:"#000000",shadowColor:"#000000",borderRadius:0,borderDash:[],shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,opacity:1,color:"#000000",textAlign:"left",verticalAlign:"top",fontSize:16,fontFamily:"sans-serif",fontWeight:400,minInlineSize:"auto",wordBreak:"break-all",overflow:"hidden"};function Xt(t,e,n){var i;const{elements:o=[]}=e,{parentOpacity:a}=n;for(let e=0;e<o.length;e++){const r=o[e],l={...r,detail:{...jt,...null==r?void 0:r.detail}};if(!0===n.forceDrawAll||(null==(i=n.calculator)?void 0:i.needRender(l)))try{Bt(t,l,{...n,parentOpacity:a})}catch(t){console.error(t)}}}function Yt(t,e,n,i){const{viewScaleInfo:o,viewSizeInfo:a,parentOpacity:r}=n,l={uuid:"layout",type:"group",...e},{x:s,y:c,w:h,h:f}=pt(l,{viewScaleInfo:o})||l,u={...l,x:s,y:c,w:h,h:f,angle:0};if(t.globalAlpha=1,kt(t,u,{viewScaleInfo:o,renderContent:()=>{Rt(t,u,{viewScaleInfo:o,viewSizeInfo:a})}}),"hidden"===e.detail.overflow){const{viewScaleInfo:i,viewSizeInfo:o}=n,a={uuid:"layout",type:"group",...e},r=pt(a,{viewScaleInfo:i})||a,l={...a,...r},{x:s,y:c,w:h,h:f,radiusList:u}=St(l,{viewScaleInfo:i});t.save(),t.fillStyle="transparent",t.beginPath(),t.moveTo(s+u[0],c),t.arcTo(s+h,c,s+h,c+f,u[1]),t.arcTo(s+h,c+f,s,c+f,u[2]),t.arcTo(s,c+f,s,c,u[3]),t.arcTo(s,c,s+h,c,u[0]),t.closePath(),t.fill("nonzero"),t.clip("nonzero")}i(t),"hidden"===e.detail.overflow&&t.restore(),Tt(t,u,{viewScaleInfo:o}),t.globalAlpha=r}function Ht(t,e,n){if("string"==typeof(null==e?void 0:e.background)){const{viewSizeInfo:i}=n,{width:o,height:a}=i;t.globalAlpha=1,t.fillStyle=e.background,t.fillRect(0,0,o,a)}}const Ut=["image","svg","html"],Nt=t=>{var e,n,i;let o=null;return"image"===t.type?o=(null==(e=null==t?void 0:t.detail)?void 0:e.src)||null:"svg"===t.type?o=(null==(n=null==t?void 0:t.detail)?void 0:n.svg)||null:"html"===t.type&&(o=(null==(i=null==t?void 0:t.detail)?void 0:i.html)||null),"string"==typeof o&&o?L(o)?o:k(o,t.uuid):k(`${R()}-${t.uuid}-${R()}-${R()}`,t.uuid)};class Qt extends G{constructor(){super(),M(this,a),M(this,e,{}),M(this,n,{}),M(this,i,{}),M(this,o,!1),C(this,a,r).call(this,"image",(async(t,e)=>{var n;const i=(null==(n=e[t.detail.src])?void 0:n.value)||t.detail.src,o=await D(i);return{uuid:t.uuid,lastModified:Date.now(),content:o}})),C(this,a,r).call(this,"html",(async(t,e)=>{var n;const i=(null==(n=e[t.detail.html])?void 0:n.value)||t.detail.html,o=await V(i,{width:t.detail.originW||t.w,height:t.detail.originH||t.h});return{uuid:t.uuid,lastModified:Date.now(),content:o}})),C(this,a,r).call(this,"svg",(async(t,e)=>{var n;const i=(null==(n=e[t.detail.svg])?void 0:n.value)||t.detail.svg,o=await B(i);return{uuid:t.uuid,lastModified:Date.now(),content:o}}))}isDestroyed(){return I(this,o)}reset(){!0!==I(this,o)&&(P(this,n,{}),P(this,i,{}))}resetElementAsset(t){var e,o,a;if(Ut.includes(t.type)){let r=null,l=null;"image"===t.type&&"string"==typeof(null==(e=null==t?void 0:t.detail)?void 0:e.src)?l=t.detail.src:"svg"===t.type&&"string"==typeof(null==(o=null==t?void 0:t.detail)?void 0:o.svg)?l=t.detail.svg:"html"===t.type&&"string"==typeof(null==(a=null==t?void 0:t.detail)?void 0:a.html)&&(l=t.detail.html),"string"==typeof l&&(this.load(t,{}),L(l)?r=l:t.uuid&&(r=k(l,t.uuid))),r&&L(r)&&(delete I(this,i)[r],delete I(this,n)[r])}}destroy(){P(this,o,!0),this.clear(),P(this,e,null),P(this,n,null),P(this,i,null)}load(t,e){!0!==I(this,o)&&(C(this,a,u).call(this,t)||Ut.includes(t.type)&&C(this,a,f).call(this,t,e))}getContent(t){var e,n;const o=Nt(t);return(null==(n=null==(e=I(this,i))?void 0:e[o])?void 0:n.content)||null}getLoadItemMap(){return I(this,i)}setLoadItemMap(t){P(this,i,t)}}e=new WeakMap,n=new WeakMap,i=new WeakMap,o=new WeakMap,a=new WeakSet,r=function(t,n){I(this,e)[t]=n},l=function(t){var e,n,i;let o=null;return"image"===t.type?o=(null==(e=null==t?void 0:t.detail)?void 0:e.src)||null:"svg"===t.type?o=(null==(n=null==t?void 0:t.detail)?void 0:n.svg)||null:"html"===t.type&&(o=(null==(i=null==t?void 0:t.detail)?void 0:i.html)||null),o},s=function(t){return{element:t,status:"null",content:null,error:null,startTime:-1,endTime:-1,source:C(this,a,l).call(this,t)}},c=function(t){const e=Nt(t.element),n=I(this,i)[e];I(this,o)||(n?n.startTime<t.startTime&&(I(this,i)[e]=t,this.trigger("load",{...t,countTime:t.endTime-t.startTime})):(I(this,i)[e]=t,this.trigger("load",{...t,countTime:t.endTime-t.startTime})))},h=function(t){var e;const n=Nt(t.element),a=null==(e=I(this,i))?void 0:e[n];I(this,o)||(a?a.startTime<t.startTime&&(I(this,i)[n]=t,this.trigger("error",{...t,countTime:t.endTime-t.startTime})):(I(this,i)[n]=t,this.trigger("error",{...t,countTime:t.endTime-t.startTime})))},f=function(t,i){const r=C(this,a,s).call(this,t),l=Nt(t);if(I(this,n)[l])return;I(this,n)[l]=r;const f=I(this,e)[t.type];"function"!=typeof f||I(this,o)||(r.startTime=Date.now(),f(t,i).then((t=>{I(this,o)||(r.content=t.content,r.endTime=Date.now(),r.status="load",C(this,a,c).call(this,r))})).catch((e=>{console.warn(`Load element source "${r.source}" fail`,e,t),r.endTime=Date.now(),r.status="error",r.error=e,C(this,a,h).call(this,r)})))},u=function(t){var e;const i=Nt(t),o=null==(e=I(this,n))?void 0:e[i];return!(!o||"error"!==o.status||!o.source||o.source!==C(this,a,l).call(this,t))};const Gt={boxSizing:"border-box",borderWidth:0,borderColor:"#000000",shadowColor:"#000000",borderRadius:0,borderDash:[],shadowOffsetX:0,shadowOffsetY:0,shadowBlur:0,opacity:1,color:"#000000",textAlign:"left",verticalAlign:"top",fontSize:16,fontFamily:"sans-serif",fontWeight:400,minInlineSize:"auto",wordBreak:"break-all",overflow:"hidden"};function qt(t,e){const{w:n,h:i}=t,o=e.tempContext,a=[],r={...Gt,...t.detail},l=r.fontSize||Gt.fontSize,s=l;if(s<2)return{};const c=r.lineHeight||l;o.textBaseline="top",o.$setFont({fontWeight:r.fontWeight,fontSize:s,fontFamily:Mt(r.fontFamily)});let h=r.text.replace(/\r\n/gi,"\n");"lowercase"===r.textTransform?h=h.toLowerCase():"uppercase"===r.textTransform&&(h=h.toUpperCase());const f=c,u=h.split("\n");let d=0;u.forEach(((t,e)=>{if("maxContent"===r.minInlineSize)a.push({x:0,y:0,text:t,width:o.$undoPixelRatio(o.measureText(t).width)});else{let c="",h="",g=t.split(h);if("normal"===r.wordBreak){h=" ";const e=t.split(h);g=[],e.forEach(((t,n)=>{g.push(t),n<e.length-1&&g.push(h)}))}if(1===g.length&&"visible"===r.overflow)a.push({x:0,y:0,text:g[0],width:o.$undoPixelRatio(o.measureText(g[0]).width)});else if(g.length>0){for(let t=0;t<g.length&&(l=o.$doPixelRatio(n),s=o.measureText(c+g[t]).width,l>=s?c+=g[t]||"":(a.push({x:0,y:0,text:c,width:o.$undoPixelRatio(o.measureText(c).width)}),c=g[t]||"",d++),!((d+1)*f>i&&"hidden"===r.overflow));t++)if(g.length-1===t&&(d+1)*f<=i){a.push({x:0,y:0,text:c,width:o.$undoPixelRatio(o.measureText(c).width)}),e<u.length-1&&d++;break}}else a.push({x:0,y:0,text:"",width:0})}var l,s}));let g=0,p=0;f>s&&(p=(f-s)/2),a.length*f<i&&("top"===r.verticalAlign?g=0:"bottom"===r.verticalAlign?g+=i-a.length*f:g+=(i-a.length*f)/2);{const t=0+g;a.forEach(((e,i)=>{let o=0;"center"===r.textAlign?o=0+(n-e.width)/2:"right"===r.textAlign&&(o=n-e.width+0),a[i].x=o,a[i].y=t+f*i+p}))}return{textLines:a}}function Jt(t,e){let n={};return"text"===t.type&&(n=qt(t,e)),n}function Kt(t,e){const{viewScaleInfo:n,viewSizeInfo:i,tempContext:o}=e,a=function(t,e){const n={},i=[],o=a=>{const r={type:a.type,isVisibleInView:!0,position:[...i]};let l=null;l=mt(a,{groupQueue:ft(t,i)||[]});const s={...r,originRectInfo:l,rangeRectInfo:U.angle(a.angle)?vt(l):l,...Jt(a,e)};n[a.uuid]=s,"group"===a.type&&a.detail.children.forEach(((t,e)=>{i.push(e),o(t),i.pop()}))};return t.forEach(((t,e)=>{i.push(e),o(t),i.pop()})),n}(t,{tempContext:o});return Zt(a,{viewScaleInfo:n,viewSizeInfo:i})}function Zt(t,e){const n=function(t){const{viewScaleInfo:e,viewSizeInfo:n}=t,{scale:i,offsetTop:o,offsetLeft:a}=e,{width:r,height:l}=n,s=0-a/i,c=0-o/i,h=r/i,f=l/i,u=rt({x:s,y:c,w:h,h:f}),d={x:s,y:c},g={x:s+h,y:c},p={x:s,y:c+f},y={x:s+h,y:c+f},w={x:s,y:u.y},m={x:u.x,y:c},v={x:s+h,y:u.y},x={x:u.x,y:c+f};return{center:u,topLeft:d,topRight:g,bottomLeft:p,bottomRight:y,left:w,top:m,right:v,bottom:x}}(e);let i=0,o=0;return Object.keys(t).forEach((e=>{const a=t[e];a.isVisibleInView=function(t,e){const n=Math.min(t.topLeft.x,t.topRight.x,t.bottomLeft.x,t.bottomRight.x),i=Math.max(t.topLeft.x,t.topRight.x,t.bottomLeft.x,t.bottomRight.x),o=Math.min(t.topLeft.y,t.topRight.y,t.bottomLeft.y,t.bottomRight.y),a=Math.max(t.topLeft.y,t.topRight.y,t.bottomLeft.y,t.bottomRight.y),r=Math.min(e.topLeft.x,e.topRight.x,e.bottomLeft.x,e.bottomRight.x),l=Math.max(e.topLeft.x,e.topRight.x,e.bottomLeft.x,e.bottomRight.x),s=Math.min(e.topLeft.y,e.topRight.y,e.bottomLeft.y,e.bottomRight.y),c=Math.max(e.topLeft.y,e.topRight.y,e.bottomLeft.y,e.bottomRight.y);return n<=l&&i>=r&&o<=c&&a>=s||l<=a&&l>=a&&l<=a&&l>=a}(a.rangeRectInfo,n),a.isVisibleInView?i++:o++})),{virtualFlatItemMap:t,visibleCount:i,invisibleCount:o}}class _t{constructor(t){M(this,d),M(this,g),P(this,d,t),P(this,g,new it({defaultStorage:{virtualFlatItemMap:{},visibleCount:0,invisibleCount:0}}))}toGridNum(t,e){return!0===(null==e?void 0:e.ignore)?t:Math.round(t)}destroy(){P(this,d,null)}needRender(t){const e=I(this,g).get("virtualFlatItemMap")[t.uuid];return!e||e.isVisibleInView}getPointElement(t,e){return function(t,e){var n,i,o;const{context2d:a,data:r,viewScaleInfo:l,groupQueue:s}=e,c={index:-1,element:null,groupQueueIndex:-1};if(s&&Array.isArray(s)&&(null==s?void 0:s.length)>0)for(let e=s.length-1;e>=0;e--){let o=0,r=0,h=0;for(let t=0;t<=e;t++)o+=s[t].x,r+=s[t].y,h+=s[t].angle||0;const f=s[e];if(f&&"group"===f.type&&Array.isArray(null===(n=f.detail)||void 0===n?void 0:n.children))for(let n=0;n<f.detail.children.length;n++){const u=f.detail.children[n];if(!0!==(null===(i=null==u?void 0:u.operations)||void 0===i?void 0:i.invisible)){if(!u)break;if(wt(t,{context2d:a,element:{x:o+u.x,y:r+u.y,w:u.w,h:u.h,angle:h+(u.angle||0)},viewScaleInfo:l})){c.element=u,(e<s.length-1||"group"!==u.type)&&(c.groupQueueIndex=e);break}}}if(c.element)break}if(c.element)return c;for(let e=r.elements.length-1;e>=0;e--){const n=r.elements[e];if(!0!==(null===(o=null==n?void 0:n.operations)||void 0===o?void 0:o.invisible)&&wt(t,{context2d:a,element:n,viewScaleInfo:l})){c.index=e,c.element=n;break}}return c}(t,{...e,context2d:I(this,d).tempContext})}resetVirtualFlatItemMap(t,e){if(t){const{virtualFlatItemMap:n,invisibleCount:i,visibleCount:o}=Kt(t.elements,{...e,tempContext:I(this,d).tempContext});I(this,g).set("virtualFlatItemMap",n),I(this,g).set("invisibleCount",i),I(this,g).set("visibleCount",o)}}updateVisiableStatus(t){const{virtualFlatItemMap:e,invisibleCount:n,visibleCount:i}=Zt(I(this,g).get("virtualFlatItemMap"),t);I(this,g).set("virtualFlatItemMap",e),I(this,g).set("invisibleCount",n),I(this,g).set("visibleCount",i)}calcViewRectInfoFromOrigin(t,e){const n=I(this,g).get("virtualFlatItemMap")[t];if(!(null==n?void 0:n.originRectInfo))return null;const{checkVisible:i,viewScaleInfo:o,viewSizeInfo:a}=e,{center:r,left:l,right:s,bottom:c,top:h,topLeft:f,topRight:u,bottomLeft:d,bottomRight:p}=n.originRectInfo;if(!0===i&&!1===n.isVisibleInView)return null;const y={viewScaleInfo:o};return{center:yt(r,y),left:yt(l,y),right:yt(s,y),bottom:yt(c,y),top:yt(h,y),topLeft:yt(f,y),topRight:yt(u,y),bottomLeft:yt(d,y),bottomRight:yt(p,y)}}calcViewRectInfoFromRange(t,e){const n=I(this,g).get("virtualFlatItemMap")[t];if(!(null==n?void 0:n.originRectInfo))return null;const{checkVisible:i,viewScaleInfo:o,viewSizeInfo:a}=e,{center:r,left:l,right:s,bottom:c,top:h,topLeft:f,topRight:u,bottomLeft:d,bottomRight:p}=n.rangeRectInfo;if(!0===i&&!1===n.isVisibleInView)return null;const y={viewScaleInfo:o};return{center:yt(r,y),left:yt(l,y),right:yt(s,y),bottom:yt(c,y),top:yt(h,y),topLeft:yt(f,y),topRight:yt(u,y),bottomLeft:yt(d,y),bottomRight:yt(p,y)}}modifyText(t){const e=I(this,g).get("virtualFlatItemMap"),n=e[t.uuid];if(t&&"text"===t.type){const i={...n,...qt(t,{tempContext:I(this,d).tempContext})};e[t.uuid]=i,I(this,g).set("virtualFlatItemMap",e)}}modifyVirtualFlatItemMap(t,e){const{modifyInfo:n,viewScaleInfo:i,viewSizeInfo:o}=e,{type:a,content:r}=n,l=t.elements,s=I(this,g).get("virtualFlatItemMap");if("deleteElement"===a){const{element:t}=r,e=[],n=t=>{e.push(t.uuid),"group"===t.type&&Array.isArray(t.detail.children)&&t.detail.children.forEach((t=>{n(t)}))};n(t),e.forEach((t=>{delete s[t]})),I(this,g).set("virtualFlatItemMap",s)}else if("addElement"===a||"updateElement"===a){const{position:e}=r,n=function(t,e){let n=null,i=e;for(let e=0;e<t.length;e++){const o=i[t[e]];if(e<t.length-1&&"group"===(null==o?void 0:o.type))i=o.detail.children;else{if(e!==t.length-1)break;n=o}}return n}(e,t.elements),c=ft(l,e);if(n)if("updateElement"===a&&"group"===n.type)this.resetVirtualFlatItemMap(t,{viewScaleInfo:i,viewSizeInfo:o});else{const t=mt(n,{groupQueue:c||[]}),r={type:n.type,originRectInfo:t,rangeRectInfo:U.angle(n.angle)?vt(t):t,isVisibleInView:!0,position:[...e],...Jt(n,{tempContext:I(this,d).tempContext})};s[n.uuid]=r,I(this,g).set("virtualFlatItemMap",s),"updateElement"===a&&this.updateVisiableStatus({viewScaleInfo:i,viewSizeInfo:o})}}else"moveElement"===a&&this.resetVirtualFlatItemMap(t,{viewScaleInfo:i,viewSizeInfo:o})}getVirtualFlatItem(t){return I(this,g).get("virtualFlatItemMap")[t]||null}}d=new WeakMap,g=new WeakMap;return p=new WeakMap,y=new WeakMap,w=new WeakMap,m=new WeakMap,v=new WeakSet,x=function(){const t=I(this,y);t.on("load",(t=>{this.trigger("load",t)})),t.on("error",(t=>{console.error(t)}))},t.Calculator=_t,t.Renderer=class extends G{constructor(t){super(),M(this,v),M(this,p),M(this,y,new Qt),M(this,w),M(this,m,!1),P(this,p,t),P(this,w,new _t({tempContext:t.tempContext})),C(this,v,x).call(this)}isDestroyed(){return I(this,m)}destroy(){this.clear(),P(this,p,null),I(this,y).destroy(),P(this,y,null),P(this,m,!0)}updateOptions(t){P(this,p,t)}drawData(t,e){const n=I(this,y),i=I(this,w),{sharer:o}=I(this,p),a=I(this,p).viewContext;a.clearRect(0,0,a.canvas.width,a.canvas.height);const r={x:0,y:0,w:e.viewSizeInfo.width,h:e.viewSizeInfo.height};!0===e.forceDrawAll&&I(this,w).resetVirtualFlatItemMap(t,{viewScaleInfo:e.viewScaleInfo,viewSizeInfo:e.viewSizeInfo});const l={loader:n,calculator:i,parentElementSize:r,elementAssets:t.assets,parentOpacity:1,overrideElementMap:null==o?void 0:o.getActiveOverrideElemenentMap(),...e};Ht(a,t.global,l),t.layout?Yt(a,t.layout,l,(()=>{Xt(a,t,l)})):Xt(a,t,l)}scale(t){const{sharer:e}=I(this,p);if(!e)return;const{data:n,offsetTop:i,offsetBottom:o,offsetLeft:a,offsetRight:r,width:l,height:s,contextHeight:c,contextWidth:h,devicePixelRatio:f}=e.getActiveStoreSnapshot();n&&this.drawData(n,{viewScaleInfo:{scale:t,offsetTop:i,offsetBottom:o,offsetLeft:a,offsetRight:r},viewSizeInfo:{width:l,height:s,contextHeight:c,contextWidth:h,devicePixelRatio:f}})}setLoadItemMap(t){I(this,y).setLoadItemMap(t)}getLoadItemMap(){return I(this,y).getLoadItemMap()}getLoader(){return I(this,y)}getCalculator(){return I(this,w)}},t.drawCircle=Lt,t.drawElement=Bt,t.drawElementList=Xt,t.drawGlobalBackground=Ht,t.drawGroup=Vt,t.drawHTML=$t,t.drawImage=Ot,t.drawLayout=Yt,t.drawRect=Et,t.drawSVG=Wt,t.drawText=Dt,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t}({});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idraw/renderer",
3
- "version": "0.4.0-beta.44",
3
+ "version": "0.4.0-beta.45",
4
4
  "description": "",
5
5
  "main": "dist/esm/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -21,11 +21,11 @@
21
21
  "author": "idrawjs",
22
22
  "license": "MIT",
23
23
  "devDependencies": {
24
- "@idraw/types": "^0.4.0-beta.44"
24
+ "@idraw/types": "^0.4.0-beta.45"
25
25
  },
26
26
  "dependencies": {},
27
27
  "peerDependencies": {
28
- "@idraw/util": "^0.4.0-beta.44"
28
+ "@idraw/util": "^0.4.0-beta.45"
29
29
  },
30
30
  "publishConfig": {
31
31
  "access": "public",