@leafer-ui/draw 1.12.3 → 2.0.0
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/lib/draw.cjs +4 -7
- package/lib/draw.esm.js +5 -8
- package/lib/draw.esm.min.js +1 -1
- package/lib/draw.esm.min.js.map +1 -1
- package/lib/draw.min.cjs +1 -1
- package/lib/draw.min.cjs.map +1 -1
- package/package.json +6 -6
package/lib/draw.cjs
CHANGED
|
@@ -80,11 +80,7 @@ const ColorConvert = {
|
|
|
80
80
|
hasTransparent: hasTransparent$1
|
|
81
81
|
};
|
|
82
82
|
|
|
83
|
-
const UnitConvert =
|
|
84
|
-
number(value, percentRefer) {
|
|
85
|
-
return core.isObject(value) ? value.type === "percent" ? value.value * percentRefer : value.value : value;
|
|
86
|
-
}
|
|
87
|
-
};
|
|
83
|
+
const UnitConvert = core.UnitConvertHelper;
|
|
88
84
|
|
|
89
85
|
const PathArrow = {};
|
|
90
86
|
|
|
@@ -1454,9 +1450,10 @@ exports.Ellipse = class Ellipse extends exports.UI {
|
|
|
1454
1450
|
const {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} = this.__;
|
|
1455
1451
|
const rx = width / 2, ry = height / 2;
|
|
1456
1452
|
const path = this.__.path = [];
|
|
1453
|
+
let open;
|
|
1457
1454
|
if (innerRadius) {
|
|
1458
1455
|
if (startAngle || endAngle) {
|
|
1459
|
-
if (innerRadius < 1) ellipse(path, rx, ry, rx * innerRadius, ry * innerRadius, 0, startAngle, endAngle, false);
|
|
1456
|
+
if (innerRadius < 1) ellipse(path, rx, ry, rx * innerRadius, ry * innerRadius, 0, startAngle, endAngle, false); else open = true;
|
|
1460
1457
|
ellipse(path, rx, ry, rx, ry, 0, endAngle, startAngle, true);
|
|
1461
1458
|
} else {
|
|
1462
1459
|
if (innerRadius < 1) {
|
|
@@ -1473,7 +1470,7 @@ exports.Ellipse = class Ellipse extends exports.UI {
|
|
|
1473
1470
|
ellipse(path, rx, ry, rx, ry);
|
|
1474
1471
|
}
|
|
1475
1472
|
}
|
|
1476
|
-
closePath$2(path);
|
|
1473
|
+
if (!open) closePath$2(path);
|
|
1477
1474
|
if (core.Platform.ellipseToCurve) this.__.path = this.getPath(true);
|
|
1478
1475
|
}
|
|
1479
1476
|
};
|
package/lib/draw.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineKey, decorateLeafAttr, attr, createDescriptor, Plugin,
|
|
1
|
+
import { defineKey, decorateLeafAttr, attr, createDescriptor, Plugin, UnitConvertHelper, PathConvert, DataHelper, Debug, LeafData, isString, isObject, isUndefined, isArray, canvasSizeAttrs, UICreator, FourNumberHelper, dataProcessor, dataType, surfaceType, opacityType, visibleType, dimType, sortType, maskType, eraserType, positionType, boundsType, scaleType, rotationType, scrollType, autoLayoutType, naturalBoundsType, affectRenderBoundsType, pathInputType, pathType, hitType, strokeType, cursorType, rewrite, Leaf, useModule, rewriteAble, MathHelper, pen, PathCorner, PathDrawer, isNumber, registerUI, Branch, LeafList, Resource, getBoundsData, Creator, CanvasManager, WaitHelper, LeaferEvent, Bounds, ResizeEvent, AutoBounds, Run, LayoutEvent, RenderEvent, WatchEvent, ImageManager, BoundsHelper, PathCommandDataHelper, Platform, PointHelper, affectStrokeBoundsType, getPointData, LeaferImage, ImageEvent, Matrix, PathCreator } from "@leafer/core";
|
|
2
2
|
|
|
3
3
|
export * from "@leafer/core";
|
|
4
4
|
|
|
@@ -80,11 +80,7 @@ const ColorConvert = {
|
|
|
80
80
|
hasTransparent: hasTransparent$1
|
|
81
81
|
};
|
|
82
82
|
|
|
83
|
-
const UnitConvert =
|
|
84
|
-
number(value, percentRefer) {
|
|
85
|
-
return isObject(value) ? value.type === "percent" ? value.value * percentRefer : value.value : value;
|
|
86
|
-
}
|
|
87
|
-
};
|
|
83
|
+
const UnitConvert = UnitConvertHelper;
|
|
88
84
|
|
|
89
85
|
const PathArrow = {};
|
|
90
86
|
|
|
@@ -1454,9 +1450,10 @@ let Ellipse = class Ellipse extends UI {
|
|
|
1454
1450
|
const {width: width, height: height, innerRadius: innerRadius, startAngle: startAngle, endAngle: endAngle} = this.__;
|
|
1455
1451
|
const rx = width / 2, ry = height / 2;
|
|
1456
1452
|
const path = this.__.path = [];
|
|
1453
|
+
let open;
|
|
1457
1454
|
if (innerRadius) {
|
|
1458
1455
|
if (startAngle || endAngle) {
|
|
1459
|
-
if (innerRadius < 1) ellipse(path, rx, ry, rx * innerRadius, ry * innerRadius, 0, startAngle, endAngle, false);
|
|
1456
|
+
if (innerRadius < 1) ellipse(path, rx, ry, rx * innerRadius, ry * innerRadius, 0, startAngle, endAngle, false); else open = true;
|
|
1460
1457
|
ellipse(path, rx, ry, rx, ry, 0, endAngle, startAngle, true);
|
|
1461
1458
|
} else {
|
|
1462
1459
|
if (innerRadius < 1) {
|
|
@@ -1473,7 +1470,7 @@ let Ellipse = class Ellipse extends UI {
|
|
|
1473
1470
|
ellipse(path, rx, ry, rx, ry);
|
|
1474
1471
|
}
|
|
1475
1472
|
}
|
|
1476
|
-
closePath$2(path);
|
|
1473
|
+
if (!open) closePath$2(path);
|
|
1477
1474
|
if (Platform.ellipseToCurve) this.__.path = this.getPath(true);
|
|
1478
1475
|
}
|
|
1479
1476
|
};
|
package/lib/draw.esm.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineKey as t,decorateLeafAttr as e,attr as i,createDescriptor as s,Plugin as o,isObject as r,PathConvert as a,DataHelper as n,Debug as _,LeafData as h,isString as d,isUndefined as l,isArray as p,canvasSizeAttrs as u,UICreator as c,FourNumberHelper as g,dataProcessor as y,dataType as v,surfaceType as f,opacityType as w,visibleType as x,dimType as S,sortType as m,maskType as R,eraserType as k,positionType as B,boundsType as A,scaleType as b,rotationType as C,scrollType as P,autoLayoutType as F,naturalBoundsType as W,affectRenderBoundsType as E,pathInputType as D,pathType as I,hitType as T,strokeType as L,cursorType as z,rewrite as M,Leaf as O,useModule as N,rewriteAble as V,MathHelper as H,pen as Y,PathCorner as U,PathDrawer as X,isNumber as j,registerUI as J,Branch as q,LeafList as G,Resource as $,getBoundsData as K,Creator as Q,CanvasManager as Z,WaitHelper as tt,LeaferEvent as et,Bounds as it,ResizeEvent as st,AutoBounds as ot,Run as rt,LayoutEvent as at,RenderEvent as nt,WatchEvent as _t,ImageManager as ht,BoundsHelper as dt,PathCommandDataHelper as lt,Platform as pt,PointHelper as ut,affectStrokeBoundsType as ct,getPointData as gt,LeaferImage as yt,ImageEvent as vt,Matrix as ft,PathCreator as wt}from"@leafer/core";export*from"@leafer/core";function xt(t,e,i,s){var o,r=arguments.length,a=r<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,s);else for(var n=t.length-1;n>=0;n--)(o=t[n])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a}function St(t){return e(t,t=>i({set(e){this.__setAttr(t,e),e&&(this.__.__useEffect=!0),this.__layout.renderChanged||this.__layout.renderChange()}}))}function mt(t){return e(t,t=>i({set(e){this.__setAttr(t,e),this.__layout.boxChanged||this.__layout.boxChange(),this.__updateSize()}}))}function Rt(){return(e,i)=>{const s="_"+i;t(e,i,{set(t){this.isLeafer&&(this[s]=t)},get(){return this.isApp?this.tree.zoomLayer:this.isLeafer?this[s]||this:this.leafer&&this.leafer.zoomLayer}})}}function kt(e){return(i,o)=>{t(i,o,s(o,e))}}"function"==typeof SuppressedError&&SuppressedError;const Bt={},At={hasTransparent:function(t){if(!t||7===t.length||4===t.length)return!1;if("transparent"===t)return!0;const e=t[0];if("#"===e)switch(t.length){case 5:return"f"!==t[4]&&"F"!==t[4];case 9:return"f"!==t[7]&&"F"!==t[7]||"f"!==t[8]&&"F"!==t[8]}else if(("r"===e||"h"===e)&&"a"===t[3]){const e=t.lastIndexOf(",");if(e>-1)return parseFloat(t.slice(e+1))<1}return!1}},bt={number:(t,e)=>r(t)?"percent"===t.type?t.value*e:t.value:t},Ct={},Pt={},Ft={},Wt={},Et={},Dt={apply(){o.need("filter")}},It={},Tt={setStyleName:()=>o.need("state"),set:()=>o.need("state")},Lt={list:{},register(t,e){Lt.list[t]=e},get:t=>Lt.list[t]},{parse:zt,objectToCanvasData:Mt}=a,{stintSet:Ot}=n,{hasTransparent:Nt}=At,Vt={originPaint:{}},Ht=_.get("UIData");class Yt extends h{get scale(){const{scaleX:t,scaleY:e}=this;return t!==e?{x:t,y:e}:t}get __strokeWidth(){return this.__getRealStrokeWidth()}get __maxStrokeWidth(){const t=this;return t.__hasMultiStrokeStyle?Math.max(t.__hasMultiStrokeStyle,t.strokeWidth):t.strokeWidth}get __hasMultiPaint(){const t=this;return t.fill&&this.__useStroke||t.__isFills&&t.fill.length>1||t.__isStrokes&&t.stroke.length>1||t.__useEffect}get __clipAfterFill(){const t=this;return t.cornerRadius||t.innerShadow||t.__pathInputed}get __hasSurface(){return this.fill||this.stroke}get __autoWidth(){return!this._width}get __autoHeight(){return!this._height}get __autoSide(){return!this._width||!this._height}get __autoSize(){return!this._width&&!this._height}setVisible(t){this._visible=t;const{leafer:e}=this.__leaf;e&&(e.watcher.hasVisible=!0)}setWidth(t){t<0?(this._width=-t,this.__leaf.scaleX*=-1,Ht.warn("width < 0, instead -scaleX ",this)):this._width=t}setHeight(t){t<0?(this._height=-t,this.__leaf.scaleY*=-1,Ht.warn("height < 0, instead -scaleY",this)):this._height=t}setFill(t){this.__naturalWidth&&this.__removeNaturalSize(),d(t)||!t?(Ot(this,"__isTransparentFill",Nt(t)),this.__isFills&&this.__removePaint("fill",!0),this._fill=t):r(t)&&this.__setPaint("fill",t)}setStroke(t){d(t)||!t?(Ot(this,"__isTransparentStroke",Nt(t)),this.__isStrokes&&this.__removePaint("stroke",!0),this._stroke=t):r(t)&&this.__setPaint("stroke",t)}setPath(t){const e=d(t);e||t&&r(t[0])?(this.__setInput("path",t),this._path=e?zt(t):Mt(t)):(this.__input&&this.__removeInput("path"),this._path=t)}setShadow(t){Ut(this,"shadow",t)}setInnerShadow(t){Ut(this,"innerShadow",t)}setFilter(t){Ut(this,"filter",t)}__computePaint(){const{fill:t,stroke:e}=this.__input;t&&Pt.compute("fill",this.__leaf),e&&Pt.compute("stroke",this.__leaf),this.__needComputePaint=void 0}__getRealStrokeWidth(t){let{strokeWidth:e,strokeWidthFixed:i}=this;if(t&&(t.strokeWidth&&(e=t.strokeWidth),l(t.strokeWidthFixed)||(i=t.strokeWidthFixed)),i){const t=this.__leaf.getClampRenderScale();return t>1?e/t:e}return e}__setPaint(t,e){this.__setInput(t,e);const i=this.__leaf.__layout;i.boxChanged||i.boxChange(),p(e)&&!e.length?this.__removePaint(t):"fill"===t?(this.__isFills=!0,this._fill||(this._fill=Vt)):(this.__isStrokes=!0,this._stroke||(this._stroke=Vt))}__removePaint(t,e){e&&this.__removeInput(t),Ft.recycleImage(t,this),"fill"===t?(Ot(this,"__isAlphaPixelFill",void 0),this._fill=this.__isFills=void 0):(Ot(this,"__isAlphaPixelStroke",void 0),Ot(this,"__hasMultiStrokeStyle",void 0),this._stroke=this.__isStrokes=void 0)}}function Ut(t,e,i){t.__setInput(e,i),p(i)?(i.some(t=>!1===t.visible)&&(i=i.filter(t=>!1!==t.visible)),i.length||(i=void 0)):i=i&&!1!==i.visible?[i]:void 0,t["_"+e]=i}class Xt extends Yt{}class jt extends Xt{get __boxStroke(){return!this.__pathInputed}get __drawAfterFill(){return this.__single||this.__clipAfterFill}get __clipAfterFill(){const t=this;return"show"!==t.overflow&&t.__leaf.children.length&&(t.__leaf.isOverflow||super.__clipAfterFill)}}class Jt extends Xt{__getInputData(t,e){const i=super.__getInputData(t,e);return u.forEach(t=>delete i[t]),i}}class qt extends jt{}class Gt extends Yt{get __usePathBox(){return this.points||this.__pathInputed}}class $t extends Yt{get __boxStroke(){return!this.__pathInputed}}class Kt extends Yt{get __boxStroke(){return!this.__pathInputed}}class Qt extends Gt{}class Zt extends Yt{}class te extends Yt{get __pathInputed(){return 2}}class ee extends Xt{}const ie={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900};class se extends Yt{get __useNaturalRatio(){return!1}setFontWeight(t){d(t)?(this.__setInput("fontWeight",t),t=ie[t]||400):this.__input&&this.__removeInput("fontWeight"),this._fontWeight=t}setBoxStyle(t){let e=this.__leaf,i=e.__box;if(t){const{boxStyle:s}=this;if(i)for(let t in s)i[t]=void 0;else i=e.__box=c.get("Rect",0);const o=e.__layout,r=i.__layout;s||(i.parent=e,i.__world=e.__world,r.boxBounds=o.boxBounds),i.set(t),r.strokeChanged&&o.strokeChange()}else i&&(e.__box=i.parent=null,i.destroy());this._boxStyle=t}__getInputData(t,e){const i=super.__getInputData(t,e);return i.textEditing&&delete i.textEditing,i}}class oe extends $t{setUrl(t){this.__setImageFill(t),this._url=t}__setImageFill(t){this.fill=t?{type:"image",mode:"stretch",url:t}:void 0}__getData(){const t=super.__getData();return t.url&&delete t.fill,t}__getInputData(t,e){const i=super.__getInputData(t,e);return i.url&&delete i.fill,i}}class re extends $t{get __isCanvas(){return!0}get __drawAfterFill(){return!0}__getInputData(t,e){const i=super.__getInputData(t,e);return i.url=this.__leaf.canvas.toDataURL("image/png"),i}}const{max:ae,add:ne}=g,_e={__updateStrokeSpread(){let t=0,e=0;const i=this.__,{strokeAlign:s,__maxStrokeWidth:o}=i,r=this.__box;if((i.stroke||"all"===i.hitStroke)&&o&&"inside"!==s&&(e=t="center"===s?o/2:o,!i.__boxStroke)){const e=i.__isLinePath?0:10*t,s="none"===i.strokeCap?0:o;t+=Math.max(e,s)}return i.__useArrow&&(t+=5*o),r&&(t=ae(t,r.__layout.strokeSpread=r.__updateStrokeSpread()),e=Math.max(e,r.__layout.strokeBoxSpread)),this.__layout.strokeBoxSpread=e,t},__updateRenderSpread(){let t=0;const{shadow:e,innerShadow:i,blur:s,backgroundBlur:o,filter:r,renderSpread:a}=this.__,{strokeSpread:n}=this.__layout,_=this.__box;e&&(t=Et.getShadowRenderSpread(this,e)),s&&(t=ae(t,s)),r&&(t=ne(t,Dt.getSpread(r))),a&&(t=ne(t,a)),n&&(t=ne(t,n));let h=t;return i&&(h=ae(h,Et.getInnerShadowSpread(this,i))),o&&(h=ae(h,o)),this.__layout.renderShapeSpread=h,_?ae(_.__updateRenderSpread(),t):t}},{stintSet:he}=n,de={__updateChange(){const t=this.__;if(t.__useStroke){const e=t.__useStroke=!(!t.stroke||!t.strokeWidth);he(this.__world,"half",e&&"center"===t.strokeAlign&&t.strokeWidth%2),he(t,"__fillAfterStroke",e&&"outside"===t.strokeAlign&&t.fill&&!t.__isTransparentFill)}if(t.__useEffect){const{shadow:e,fill:i,stroke:s}=t,o=t.innerShadow||t.blur||t.backgroundBlur||t.filter;he(t,"__isFastShadow",e&&!o&&e.length<2&&!e[0].spread&&!Et.isTransformShadow(e[0])&&i&&!t.__isTransparentFill&&!(p(i)&&i.length>1)&&(this.useFastShadow||!s||s&&"inside"===t.strokeAlign)),t.__useEffect=!(!e&&!o)}t.__checkSingle(),he(t,"__complex",t.__isFills||t.__isStrokes||t.cornerRadius||t.__useEffect)},__drawFast(t,e){le(this,t,e)},__draw(t,e,i){const s=this.__;if(s.__complex){s.__needComputePaint&&s.__computePaint();const{fill:o,stroke:r,__drawAfterFill:a,__fillAfterStroke:n,__isFastShadow:_}=s;if(this.__drawRenderPath(t),s.__useEffect&&!_){const _=Pt.shape(this,t,e);this.__nowWorld=this.__getNowWorld(e);const{shadow:h,innerShadow:d,filter:l}=s;h&&Et.shadow(this,t,_),n&&(s.__isStrokes?Pt.strokes(r,this,t,e):Pt.stroke(r,this,t,e)),o&&(s.__isFills?Pt.fills(o,this,t,e):Pt.fill(o,this,t,e)),a&&this.__drawAfterFill(t,e),d&&Et.innerShadow(this,t,_),r&&!n&&(s.__isStrokes?Pt.strokes(r,this,t,e):Pt.stroke(r,this,t,e)),l&&Dt.apply(l,this,this.__nowWorld,t,i,_),_.worldCanvas&&_.worldCanvas.recycle(),_.canvas.recycle()}else{if(n&&(s.__isStrokes?Pt.strokes(r,this,t,e):Pt.stroke(r,this,t,e)),_){const e=s.shadow[0],{scaleX:i,scaleY:o}=this.getRenderScaleData(!0,e.scaleFixed);t.save(),t.setWorldShadow(e.x*i,e.y*o,e.blur*i,At.string(e.color))}o&&(s.__isFills?Pt.fills(o,this,t,e):Pt.fill(o,this,t,e)),_&&t.restore(),a&&this.__drawAfterFill(t,e),r&&!n&&(s.__isStrokes?Pt.strokes(r,this,t,e):Pt.stroke(r,this,t,e))}}else s.__pathForRender?le(this,t,e):this.__drawFast(t,e)},__drawShape(t,e){this.__drawRenderPath(t);const i=this.__,{fill:s,stroke:o}=i;s&&!e.ignoreFill&&(i.__isAlphaPixelFill?Pt.fills(s,this,t,e):Pt.fill("#000000",this,t,e)),i.__isCanvas&&this.__drawAfterFill(t,e),o&&!e.ignoreStroke&&(i.__isAlphaPixelStroke?Pt.strokes(o,this,t,e):Pt.stroke("#000000",this,t,e))},__drawAfterFill(t,e){this.__.__clipAfterFill?(t.save(),t.clipUI(this),this.__drawContent(t,e),t.restore()):this.__drawContent(t,e)}};function le(t,e,i){const{fill:s,stroke:o,__drawAfterFill:r,__fillAfterStroke:a}=t.__;t.__drawRenderPath(e),a&&Pt.stroke(o,t,e,i),s&&Pt.fill(s,t,e,i),r&&t.__drawAfterFill(e,i),o&&!a&&Pt.stroke(o,t,e,i)}const pe={__drawFast(t,e){let{x:i,y:s,width:o,height:r}=this.__layout.boxBounds;const{fill:a,stroke:n,__drawAfterFill:_}=this.__;if(a&&(t.fillStyle=a,t.fillRect(i,s,o,r)),_&&this.__drawAfterFill(t,e),n){const{strokeAlign:a,__strokeWidth:_}=this.__;if(!_)return;t.setStroke(n,_,this.__);const h=_/2;switch(a){case"center":t.strokeRect(0,0,o,r);break;case"inside":o-=_,r-=_,o<0||r<0?(t.save(),this.__clip(t,e),t.strokeRect(i+h,s+h,o,r),t.restore()):t.strokeRect(i+h,s+h,o,r);break;case"outside":t.strokeRect(i-h,s-h,o+_,r+_)}}}};var ue;let ce=ue=class extends O{get app(){return this.leafer&&this.leafer.app}get isFrame(){return!1}set scale(t){H.assignScale(this,t)}get scale(){return this.__.scale}get isAutoWidth(){const t=this.__;return t.__autoWidth||t.autoWidth}get isAutoHeight(){const t=this.__;return t.__autoHeight||t.autoHeight}get pen(){const{path:t}=this.__;return Y.set(this.path=t||[]),t||this.__drawPathByBox(Y),Y}reset(t){}set(t,e){t&&Object.assign(this,t)}get(t){return d(t)?this.__.__getInput(t):this.__.__getInputData(t)}createProxyData(){}find(t,e){return o.need("find")}findTag(t){return this.find({tag:t})}findOne(t,e){return o.need("find")}findId(t){return this.findOne({id:t})}getPath(t,e){this.__layout.update();let i=e?this.__.__pathForRender:this.__.path;return i||(Y.set(i=[]),this.__drawPathByBox(Y,!e)),t?a.toCanvasData(i,!0):i}getPathString(t,e,i){return a.stringify(this.getPath(t,e),i)}load(){this.__.__computePaint()}__onUpdateSize(){if(this.__.__input){const t=this.__;!t.lazy||this.__inLazyBounds||It.running?t.__computePaint():t.__needComputePaint=!0}}__updateRenderPath(){const t=this.__;t.path?(t.__pathForRender=t.cornerRadius?U.smooth(t.path,t.cornerRadius,t.cornerSmoothing):t.path,t.__useArrow&&Ct.addArrows(this)):t.__pathForRender&&(t.__pathForRender=void 0)}__drawRenderPath(t){t.beginPath(),this.__drawPathByData(t,this.__.__pathForRender)}__drawPath(t){t.beginPath(),this.__drawPathByData(t,this.__.path,!0)}__drawPathByData(t,e,i){e?X.drawPathByData(t,e):this.__drawPathByBox(t,i)}__drawPathByBox(t,e){const{x:i,y:s,width:o,height:r}=this.__layout.boxBounds;if(this.__.cornerRadius&&!e){const{cornerRadius:e}=this.__;t.roundRect(i,s,o,r,j(e)?[e]:e)}else t.rect(i,s,o,r);t.closePath()}drawImagePlaceholder(t,e,i){Pt.fill(this.__.placeholderColor,this,e,i)}animate(t,e,i,s){return this.set(t),o.need("animate")}killAnimate(t,e){}export(t,e){return o.need("export")}syncExport(t,e){return o.need("export")}clone(t){const e=n.clone(this.toJSON());return t&&Object.assign(e,t),ue.one(e)}static one(t,e,i,s,o){return c.get(t.tag||this.prototype.__tag,t,e,i,s,o)}static registerUI(){J()(this)}static registerData(t){y(t)(this.prototype)}static setEditConfig(t){}static setEditOuter(t){}static setEditInner(t){}destroy(){this.fill=this.stroke=null,this.__animate&&this.killAnimate(),super.destroy()}};xt([y(Yt)],ce.prototype,"__",void 0),xt([Rt()],ce.prototype,"zoomLayer",void 0),xt([v("")],ce.prototype,"id",void 0),xt([v("")],ce.prototype,"name",void 0),xt([v("")],ce.prototype,"className",void 0),xt([f("pass-through")],ce.prototype,"blendMode",void 0),xt([w(1)],ce.prototype,"opacity",void 0),xt([x(!0)],ce.prototype,"visible",void 0),xt([f(!1)],ce.prototype,"locked",void 0),xt([S(!1)],ce.prototype,"dim",void 0),xt([S(!1)],ce.prototype,"dimskip",void 0),xt([m(0)],ce.prototype,"zIndex",void 0),xt([R(!1)],ce.prototype,"mask",void 0),xt([k(!1)],ce.prototype,"eraser",void 0),xt([B(0,!0)],ce.prototype,"x",void 0),xt([B(0,!0)],ce.prototype,"y",void 0),xt([A(100,!0)],ce.prototype,"width",void 0),xt([A(100,!0)],ce.prototype,"height",void 0),xt([b(1,!0)],ce.prototype,"scaleX",void 0),xt([b(1,!0)],ce.prototype,"scaleY",void 0),xt([C(0,!0)],ce.prototype,"rotation",void 0),xt([C(0,!0)],ce.prototype,"skewX",void 0),xt([C(0,!0)],ce.prototype,"skewY",void 0),xt([B(0,!0)],ce.prototype,"offsetX",void 0),xt([B(0,!0)],ce.prototype,"offsetY",void 0),xt([P(0,!0)],ce.prototype,"scrollX",void 0),xt([P(0,!0)],ce.prototype,"scrollY",void 0),xt([F()],ce.prototype,"origin",void 0),xt([F()],ce.prototype,"around",void 0),xt([v(!1)],ce.prototype,"lazy",void 0),xt([W(1)],ce.prototype,"pixelRatio",void 0),xt([E(0)],ce.prototype,"renderSpread",void 0),xt([D()],ce.prototype,"path",void 0),xt([I()],ce.prototype,"windingRule",void 0),xt([I(!0)],ce.prototype,"closed",void 0),xt([A(0)],ce.prototype,"padding",void 0),xt([A(!1)],ce.prototype,"lockRatio",void 0),xt([A()],ce.prototype,"widthRange",void 0),xt([A()],ce.prototype,"heightRange",void 0),xt([v(!1)],ce.prototype,"draggable",void 0),xt([v()],ce.prototype,"dragBounds",void 0),xt([v("auto")],ce.prototype,"dragBoundsType",void 0),xt([v(!1)],ce.prototype,"editable",void 0),xt([T(!0)],ce.prototype,"hittable",void 0),xt([T("path")],ce.prototype,"hitFill",void 0),xt([L("path")],ce.prototype,"hitStroke",void 0),xt([T(!1)],ce.prototype,"hitBox",void 0),xt([T(!0)],ce.prototype,"hitChildren",void 0),xt([T(!0)],ce.prototype,"hitSelf",void 0),xt([T()],ce.prototype,"hitRadius",void 0),xt([z("")],ce.prototype,"cursor",void 0),xt([f()],ce.prototype,"fill",void 0),xt([L(void 0,!0)],ce.prototype,"stroke",void 0),xt([L("inside")],ce.prototype,"strokeAlign",void 0),xt([L(1,!0)],ce.prototype,"strokeWidth",void 0),xt([L(!1)],ce.prototype,"strokeWidthFixed",void 0),xt([L("none")],ce.prototype,"strokeCap",void 0),xt([L("miter")],ce.prototype,"strokeJoin",void 0),xt([L()],ce.prototype,"dashPattern",void 0),xt([L(0)],ce.prototype,"dashOffset",void 0),xt([L(10)],ce.prototype,"miterLimit",void 0),xt([I(0)],ce.prototype,"cornerRadius",void 0),xt([I()],ce.prototype,"cornerSmoothing",void 0),xt([St()],ce.prototype,"shadow",void 0),xt([St()],ce.prototype,"innerShadow",void 0),xt([St()],ce.prototype,"blur",void 0),xt([St()],ce.prototype,"backgroundBlur",void 0),xt([St()],ce.prototype,"grayscale",void 0),xt([St()],ce.prototype,"filter",void 0),xt([f()],ce.prototype,"placeholderColor",void 0),xt([v(100)],ce.prototype,"placeholderDelay",void 0),xt([v({})],ce.prototype,"data",void 0),xt([M(O.prototype.reset)],ce.prototype,"reset",null),ce=ue=xt([N(_e),N(de),V()],ce);let ge=class extends ce{get __tag(){return"Group"}get isBranch(){return!0}reset(t){this.__setBranch(),super.reset(t)}__setBranch(){this.children||(this.children=[])}set(t,e){if(t)if(t.children){const{children:i}=t;delete t.children,this.children?this.clear():this.__setBranch(),super.set(t,e),i.forEach(t=>this.add(t)),t.children=i}else super.set(t,e)}toJSON(t){const e=super.toJSON(t);return this.childlessJSON||(e.children=this.children.map(e=>e.toJSON(t))),e}pick(t,e){}addAt(t,e){this.add(t,e)}addAfter(t,e){this.add(t,this.children.indexOf(e)+1)}addBefore(t,e){this.add(t,this.children.indexOf(e))}add(t,e){}addMany(...t){}remove(t,e){}removeAll(t){}clear(){}};var ye;xt([y(Xt)],ge.prototype,"__",void 0),xt([A(0)],ge.prototype,"width",void 0),xt([A(0)],ge.prototype,"height",void 0),ge=xt([N(q),J()],ge);const ve=_.get("Leafer");let fe=ye=class extends ge{get __tag(){return"Leafer"}get isApp(){return!1}get app(){return this.parent||this}get isLeafer(){return!0}get imageReady(){return this.viewReady&&$.isComplete}get layoutLocked(){return!this.layouter.running}get view(){return this.canvas&&this.canvas.view}get FPS(){return this.renderer?this.renderer.FPS:60}get cursorPoint(){return this.interaction&&this.interaction.hoverData||{x:this.width/2,y:this.height/2}}get clientBounds(){return this.canvas&&this.canvas.getClientBounds(!0)||K()}constructor(t,e){super(e),this.config={start:!0,hittable:!0,smooth:!0,lazySpeard:100},this.leafs=0,this.__eventIds=[],this.__controllers=[],this.__readyWait=[],this.__viewReadyWait=[],this.__viewCompletedWait=[],this.__nextRenderWait=[],this.userConfig=t,t&&(t.view||t.width)&&this.init(t),ye.list.add(this)}init(t,e){if(this.canvas)return;let i;const{config:s}=this;this.__setLeafer(this),e&&(this.parentApp=e,this.__bindApp(e),i=e.running),t&&(this.parent=e,this.initType(t.type),this.parent=void 0,n.assign(s,t));const o=this.canvas=Q.canvas(s);this.__controllers.push(this.renderer=Q.renderer(this,o,s),this.watcher=Q.watcher(this,s),this.layouter=Q.layouter(this,s)),this.isApp&&this.__setApp(),this.__checkAutoLayout(),e||(this.selector=Q.selector(this),this.interaction=Q.interaction(this,o,this.selector,s),this.interaction&&(this.__controllers.unshift(this.interaction),this.hitCanvasManager=Q.hitCanvasManager()),this.canvasManager=new Z,i=s.start),this.hittable=s.hittable,this.fill=s.fill,this.canvasManager.add(o),this.__listenEvents(),i&&(this.__startTimer=setTimeout(this.start.bind(this))),tt.run(this.__initWait),this.onInit()}onInit(){}initType(t){}set(t,e){this.waitInit(()=>{super.set(t,e)})}start(){clearTimeout(this.__startTimer),!this.running&&this.canvas&&(this.running=!0,this.ready?this.emitLeafer(et.RESTART):this.emitLeafer(et.START),this.__controllers.forEach(t=>t.start()),this.isApp||this.renderer.render())}stop(){clearTimeout(this.__startTimer),this.running&&this.canvas&&(this.__controllers.forEach(t=>t.stop()),this.running=!1,this.emitLeafer(et.STOP))}unlockLayout(){this.layouter.start(),this.updateLayout()}lockLayout(){this.updateLayout(),this.layouter.stop()}resize(t){const e=n.copyAttrs({},t,u);Object.keys(e).forEach(t=>this[t]=e[t])}forceRender(t,e){const{renderer:i}=this;i&&(i.addBlock(t?new it(t):this.canvas.bounds),this.viewReady&&(e?i.render():i.update()))}requestRender(t=!1){this.renderer&&this.renderer.update(t)}updateCursor(t){const e=this.interaction;e&&(t?e.setCursor(t):e.updateCursor())}updateLazyBounds(){this.lazyBounds=this.canvas.bounds.clone().spread(this.config.lazySpeard)}__doResize(t){const{canvas:e}=this;if(!e||e.isSameSize(t))return;const i=n.copyAttrs({},this.canvas,u);e.resize(t),this.updateLazyBounds(),this.__onResize(new st(t,i))}__onResize(t){this.emitEvent(t),n.copyAttrs(this.__,t,u),setTimeout(()=>{this.canvasManager&&this.canvasManager.clearRecycled()},0)}__setApp(){}__bindApp(t){this.selector=t.selector,this.interaction=t.interaction,this.canvasManager=t.canvasManager,this.hitCanvasManager=t.hitCanvasManager}__setLeafer(t){this.leafer=t,this.__level=1}__checkAutoLayout(){const{config:t,parentApp:e}=this;e||(t.width&&t.height||(this.autoLayout=new ot(t)),this.canvas.startAutoLayout(this.autoLayout,this.__onResize.bind(this)))}__setAttr(t,e){return this.canvas&&(u.includes(t)?this.__changeCanvasSize(t,e):"fill"===t?this.__changeFill(e):"hittable"===t?this.parent||(this.canvas.hittable=e):"zIndex"===t?(this.canvas.zIndex=e,setTimeout(()=>this.parent&&this.parent.__updateSortChildren())):"mode"===t&&this.emit(et.UPDATE_MODE,{mode:e})),super.__setAttr(t,e)}__getAttr(t){return this.canvas&&u.includes(t)?this.canvas[t]:super.__getAttr(t)}__changeCanvasSize(t,e){const{config:i,canvas:s}=this,o=n.copyAttrs({},s,u);o[t]=i[t]=e,i.width&&i.height?s.stopAutoLayout():this.__checkAutoLayout(),this.__doResize(o)}__changeFill(t){this.config.fill=t,this.canvas.allowBackgroundColor?this.canvas.backgroundColor=t:this.forceRender()}__onCreated(){this.created=!0}__onReady(){this.ready=!0,this.emitLeafer(et.BEFORE_READY),this.emitLeafer(et.READY),this.emitLeafer(et.AFTER_READY),tt.run(this.__readyWait)}__onViewReady(){this.viewReady||(this.viewReady=!0,this.emitLeafer(et.VIEW_READY),tt.run(this.__viewReadyWait))}__onLayoutEnd(){const{grow:t,width:e,height:i}=this.config;if(t){let{width:s,height:o,pixelRatio:r}=this;const a="box"===t?this.worldBoxBounds:this.__world;e||(s=Math.max(1,a.x+a.width)),i||(o=Math.max(1,a.y+a.height)),this.__doResize({width:s,height:o,pixelRatio:r})}this.ready||this.__onReady()}__onNextRender(){if(this.viewReady){tt.run(this.__nextRenderWait);const{imageReady:t}=this;t&&!this.viewCompleted&&this.__checkViewCompleted(),t||(this.viewCompleted=!1,this.requestRender())}else this.requestRender()}__checkViewCompleted(t=!0){this.nextRender(()=>{this.imageReady&&(t&&this.emitLeafer(et.VIEW_COMPLETED),tt.run(this.__viewCompletedWait),this.viewCompleted=!0)})}__onWatchData(){this.watcher.childrenChanged&&this.interaction&&this.nextRender(()=>this.interaction.updateCursor())}waitInit(t,e){e&&(t=t.bind(e)),this.__initWait||(this.__initWait=[]),this.canvas?t():this.__initWait.push(t)}waitReady(t,e){e&&(t=t.bind(e)),this.ready?t():this.__readyWait.push(t)}waitViewReady(t,e){e&&(t=t.bind(e)),this.viewReady?t():this.__viewReadyWait.push(t)}waitViewCompleted(t,e){e&&(t=t.bind(e)),this.__viewCompletedWait.push(t),this.viewCompleted?this.__checkViewCompleted(!1):this.running||this.start()}nextRender(t,e,i){e&&(t=t.bind(e));const s=this.__nextRenderWait;if(i){for(let e=0;e<s.length;e++)if(s[e]===t){s.splice(e,1);break}}else s.push(t);this.requestRender()}zoom(t,e,i,s){return o.need("view")}getValidMove(t,e,i){return{x:t,y:e}}getValidScale(t){return t}getWorldPointByClient(t,e){return this.interaction&&this.interaction.getLocal(t,e)}getPagePointByClient(t,e){return this.getPagePoint(this.getWorldPointByClient(t,e))}getClientPointByWorld(t){const{x:e,y:i}=this.clientBounds;return{x:e+t.x,y:i+t.y}}updateClientBounds(){this.canvas&&this.canvas.updateClientBounds()}receiveEvent(t){}emitLeafer(t){this.emitEvent(new et(t,this))}__listenEvents(){const t=rt.start("FirstCreate "+this.innerName);this.once([[et.START,()=>rt.end(t)],[at.START,this.updateLazyBounds,this],[nt.START,this.__onCreated,this],[nt.END,this.__onViewReady,this]]),this.__eventIds.push(this.on_([[_t.DATA,this.__onWatchData,this],[at.END,this.__onLayoutEnd,this],[nt.NEXT,this.__onNextRender,this]]))}__removeListenEvents(){this.off_(this.__eventIds)}destroy(t){const e=()=>{if(!this.destroyed){ye.list.remove(this);try{this.stop(),this.emitLeafer(et.END),this.__removeListenEvents(),this.__controllers.forEach(t=>!(this.parent&&t===this.interaction)&&t.destroy()),this.__controllers.length=0,this.parent||(this.selector&&this.selector.destroy(),this.hitCanvasManager&&this.hitCanvasManager.destroy(),this.canvasManager&&this.canvasManager.destroy()),this.canvas&&this.canvas.destroy(),this.config.view=this.parentApp=null,this.userConfig&&(this.userConfig.view=null),super.destroy(),setTimeout(()=>{ht.clearRecycled()},100)}catch(t){ve.error(t)}}};t?e():setTimeout(e)}};fe.list=new G,xt([y(Jt)],fe.prototype,"__",void 0),xt([A()],fe.prototype,"pixelRatio",void 0),xt([v("normal")],fe.prototype,"mode",void 0),fe=ye=xt([J()],fe);let we=class extends ce{get __tag(){return"Rect"}};xt([y($t)],we.prototype,"__",void 0),we=xt([N(pe),V(),J()],we);const{add:xe,includes:Se,scroll:me}=dt,Re=we.prototype,ke=ge.prototype;let Be=class extends ge{get __tag(){return"Box"}get isBranchLeaf(){return!0}constructor(t){super(t),this.__layout.renderChanged||this.__layout.renderChange()}__updateStrokeSpread(){return 0}__updateRectRenderSpread(){return 0}__updateRenderSpread(){return this.__updateRectRenderSpread()||-1}__updateRectBoxBounds(){}__updateBoxBounds(t){if(this.children.length&&!this.pathInputed){const t=this.__;if(t.__autoSide){t.__hasSurface&&this.__extraUpdate(),super.__updateBoxBounds();const{boxBounds:e}=this.__layout;t.__autoSize||(t.__autoWidth?(e.width+=e.x,e.x=0,e.height=t.height,e.y=0):(e.height+=e.y,e.y=0,e.width=t.width,e.x=0)),this.__updateNaturalSize()}else this.__updateRectBoxBounds()}else this.__updateRectBoxBounds()}__updateStrokeBounds(){}__updateRenderBounds(){let t,e;if(this.children.length){const i=this.__,s=this.__layout,{renderBounds:o,boxBounds:r}=s,{overflow:a}=i,n=s.childrenRenderBounds||(s.childrenRenderBounds=K());super.__updateRenderBounds(n),(e=a&&a.includes("scroll"))&&(xe(n,r),me(n,i)),this.__updateRectRenderBounds(),t=!Se(r,n),t&&"show"===a&&xe(o,n)}else this.__updateRectRenderBounds();n.stintSet(this,"isOverflow",t),this.__checkScroll(e)}__updateRectRenderBounds(){}__checkScroll(t){}__updateRectChange(){}__updateChange(){super.__updateChange(),this.__updateRectChange()}__renderRect(t,e){}__renderGroup(t,e){}__render(t,e){this.__.__drawAfterFill?this.__renderRect(t,e):(this.__renderRect(t,e),this.children.length&&this.__renderGroup(t,e)),this.hasScroller&&this.scroller.__render(t,e)}__drawContent(t,e){this.__renderGroup(t,e),(this.__.__useStroke||this.__.__useEffect)&&(t.setWorld(this.__nowWorld),this.__drawRenderPath(t))}};xt([y(jt)],Be.prototype,"__",void 0),xt([A(100)],Be.prototype,"width",void 0),xt([A(100)],Be.prototype,"height",void 0),xt([v(!1)],Be.prototype,"resizeChildren",void 0),xt([E("show")],Be.prototype,"overflow",void 0),xt([M(Re.__updateStrokeSpread)],Be.prototype,"__updateStrokeSpread",null),xt([M(Re.__updateRenderSpread)],Be.prototype,"__updateRectRenderSpread",null),xt([M(Re.__updateBoxBounds)],Be.prototype,"__updateRectBoxBounds",null),xt([M(Re.__updateStrokeBounds)],Be.prototype,"__updateStrokeBounds",null),xt([M(Re.__updateRenderBounds)],Be.prototype,"__updateRectRenderBounds",null),xt([M(Re.__updateChange)],Be.prototype,"__updateRectChange",null),xt([M(Re.__render)],Be.prototype,"__renderRect",null),xt([M(ke.__render)],Be.prototype,"__renderGroup",null),Be=xt([V(),J()],Be);let Ae=class extends Be{get __tag(){return"Frame"}get isFrame(){return!0}};xt([y(qt)],Ae.prototype,"__",void 0),xt([f("#FFFFFF")],Ae.prototype,"fill",void 0),xt([E("hide")],Ae.prototype,"overflow",void 0),Ae=xt([J()],Ae);const{moveTo:be,closePath:Ce,ellipse:Pe}=lt;let Fe=class extends ce{get __tag(){return"Ellipse"}__updatePath(){const{width:t,height:e,innerRadius:i,startAngle:s,endAngle:o}=this.__,r=t/2,a=e/2,n=this.__.path=[];i?s||o?(i<1&&Pe(n,r,a,r*i,a*i,0,s,o,!1),Pe(n,r,a,r,a,0,o,s,!0)):(i<1&&(Pe(n,r,a,r*i,a*i),be(n,t,a)),Pe(n,r,a,r,a,0,360,0,!0)):s||o?(be(n,r,a),Pe(n,r,a,r,a,0,s,o,!1)):Pe(n,r,a,r,a),Ce(n),pt.ellipseToCurve&&(this.__.path=this.getPath(!0))}};xt([y(Kt)],Fe.prototype,"__",void 0),xt([I(0)],Fe.prototype,"innerRadius",void 0),xt([I(0)],Fe.prototype,"startAngle",void 0),xt([I(0)],Fe.prototype,"endAngle",void 0),Fe=xt([J()],Fe);const{sin:We,cos:Ee,PI:De}=Math,{moveTo:Ie,lineTo:Te,closePath:Le,drawPoints:ze}=lt;let Me=class extends ce{get __tag(){return"Polygon"}__updatePath(){const t=this.__,e=t.path=[];if(t.points)ze(e,t.points,t.curve,!0);else{const{width:i,height:s,sides:o}=t,r=i/2,a=s/2;Ie(e,r,0);for(let t=1;t<o;t++)Te(e,r+r*We(2*t*De/o),a-a*Ee(2*t*De/o));Le(e)}}};xt([y(Qt)],Me.prototype,"__",void 0),xt([I(3)],Me.prototype,"sides",void 0),xt([I()],Me.prototype,"points",void 0),xt([I(0)],Me.prototype,"curve",void 0),Me=xt([V(),J()],Me);const{sin:Oe,cos:Ne,PI:Ve}=Math,{moveTo:He,lineTo:Ye,closePath:Ue}=lt;let Xe=class extends ce{get __tag(){return"Star"}__updatePath(){const{width:t,height:e,corners:i,innerRadius:s}=this.__,o=t/2,r=e/2,a=this.__.path=[];He(a,o,0);for(let t=1;t<2*i;t++)Ye(a,o+(t%2==0?o:o*s)*Oe(t*Ve/i),r-(t%2==0?r:r*s)*Ne(t*Ve/i));Ue(a)}};xt([y(Zt)],Xe.prototype,"__",void 0),xt([I(5)],Xe.prototype,"corners",void 0),xt([I(.382)],Xe.prototype,"innerRadius",void 0),Xe=xt([J()],Xe);const{moveTo:je,lineTo:Je,drawPoints:qe}=lt,{rotate:Ge,getAngle:$e,getDistance:Ke,defaultPoint:Qe}=ut;let Ze=class extends ce{get __tag(){return"Line"}get toPoint(){const{width:t,rotation:e}=this.__,i=gt();return t&&(i.x=t),e&&Ge(i,e),i}set toPoint(t){this.width=Ke(Qe,t),this.rotation=$e(Qe,t),this.height&&(this.height=0)}__updatePath(){const t=this.__,e=t.path=[];t.points?qe(e,t.points,t.curve,t.closed):(je(e,0,0),Je(e,this.width,0))}};xt([y(Gt)],Ze.prototype,"__",void 0),xt([ct("center")],Ze.prototype,"strokeAlign",void 0),xt([A(0)],Ze.prototype,"height",void 0),xt([I()],Ze.prototype,"points",void 0),xt([I(0)],Ze.prototype,"curve",void 0),xt([I(!1)],Ze.prototype,"closed",void 0),Ze=xt([J()],Ze);let ti=class extends we{get __tag(){return"Image"}get ready(){const{image:t}=this;return t&&t.ready}get image(){const{fill:t}=this.__;return p(t)&&t[0].image}};xt([y(oe)],ti.prototype,"__",void 0),xt([A("")],ti.prototype,"url",void 0),ti=xt([J()],ti);const ei=ti;let ii=class extends we{get __tag(){return"Canvas"}get context(){return this.canvas.context}get ready(){return!this.url}constructor(t){super(t),this.canvas=Q.canvas(this.__),t&&t.url&&this.drawImage(t.url)}drawImage(t){new yt({url:t}).load(t=>{this.context.drawImage(t.view,0,0),this.url=void 0,this.paint(),this.emitEvent(new vt(vt.LOADED,{image:t}))})}draw(t,e,i,s){const o=new ft(t.worldTransform).invert(),r=new ft;e&&r.translate(e.x,e.y),i&&(j(i)?r.scale(i):r.scale(i.x,i.y)),s&&r.rotate(s),o.multiplyParent(r),t.__render(this.canvas,{matrix:o.withScale()}),this.paint()}paint(){this.forceRender()}__drawContent(t,e){const{width:i,height:s}=this.__,{view:o}=this.canvas;t.drawImage(o,0,0,o.width,o.height,0,0,i,s)}__updateSize(){const{canvas:t}=this;if(t){const{smooth:e,safeResize:i}=this.__;t.resize(this.__,i),t.smooth!==e&&(t.smooth=e)}}destroy(){this.canvas&&(this.canvas.destroy(),this.canvas=null),super.destroy()}};xt([y(re)],ii.prototype,"__",void 0),xt([mt(100)],ii.prototype,"width",void 0),xt([mt(100)],ii.prototype,"height",void 0),xt([mt(1)],ii.prototype,"pixelRatio",void 0),xt([mt(!0)],ii.prototype,"smooth",void 0),xt([v(!1)],ii.prototype,"safeResize",void 0),xt([mt()],ii.prototype,"contextSettings",void 0),ii=xt([J()],ii);const{copyAndSpread:si,includes:oi,spread:ri,setList:ai}=dt,{stintSet:ni}=n;let _i=class extends ce{get __tag(){return"Text"}get textDrawData(){return this.updateLayout(),this.__.__textDrawData}__updateTextDrawData(){const t=this.__,{lineHeight:e,letterSpacing:i,fontFamily:s,fontSize:o,fontWeight:r,italic:a,textCase:n,textOverflow:_,padding:h,width:d,height:l}=t;t.__lineHeight=bt.number(e,o),t.__letterSpacing=bt.number(i,o),t.__baseLine=t.__lineHeight-(t.__lineHeight-.7*o)/2,t.__font=`${a?"italic ":""}${"small-caps"===n?"small-caps ":""}${"normal"!==r?r+" ":""}${o||12}px ${s||"caption"}`,ni(t,"__padding",h&&H.fourNumber(h)),ni(t,"__clipText","show"!==_&&!t.__autoSize),ni(t,"__isCharMode",d||l||t.__letterSpacing||"none"!==n),t.__textDrawData=Bt.getDrawData((t.__isPlacehold=t.placeholder&&""===t.text)?t.placeholder:t.text,this.__)}__updateBoxBounds(){const t=this.__,e=this.__layout,{fontSize:i,italic:s,padding:o,__autoWidth:r,__autoHeight:a}=t;this.__updateTextDrawData();const{bounds:_}=t.__textDrawData,h=e.boxBounds;if(e.contentBounds=_,t.__lineHeight<i&&ri(_,i/2),r||a){if(h.x=r?_.x:0,h.y=a?_.y:0,h.width=r?_.width:t.width,h.height=a?_.height:t.height,o){const[e,i,s,o]=t.__padding;r&&(h.x-=o,h.width+=i+o),a&&(h.y-=e,h.height+=s+e)}this.__updateNaturalSize()}else super.__updateBoxBounds();s&&(h.width+=.16*i),n.stintSet(this,"isOverflow",!oi(h,_)),this.isOverflow?(ai(t.__textBoxBounds={},[h,_]),e.renderChanged=!0):t.__textBoxBounds=h}__updateRenderSpread(){let t=super.__updateRenderSpread();return t||(t=this.isOverflow?1:0),t}__updateRenderBounds(){const{renderBounds:t,renderSpread:e}=this.__layout;si(t,this.__.__textBoxBounds,e),this.__box&&(this.__box.__layout.renderBounds=t)}__updateChange(){super.__updateChange();const t=this.__box;t&&(t.__onUpdateSize(),t.__updateChange())}__drawRenderPath(t){t.font=this.__.__font}__draw(t,e,i){const s=this.__box;s&&(s.__nowWorld=this.__nowWorld,s.__draw(t,e,i)),this.textEditing&&!e.exporting||super.__draw(t,e,i)}__drawShape(t,e){e.shape&&this.__box&&this.__box.__drawShape(t,e),super.__drawShape(t,e)}destroy(){this.boxStyle&&(this.boxStyle=null),super.destroy()}};xt([y(se)],_i.prototype,"__",void 0),xt([A(0)],_i.prototype,"width",void 0),xt([A(0)],_i.prototype,"height",void 0),xt([f()],_i.prototype,"boxStyle",void 0),xt([v(!1)],_i.prototype,"resizeFontSize",void 0),xt([f("#000000")],_i.prototype,"fill",void 0),xt([ct("outside")],_i.prototype,"strokeAlign",void 0),xt([T("all")],_i.prototype,"hitFill",void 0),xt([A("")],_i.prototype,"text",void 0),xt([A("")],_i.prototype,"placeholder",void 0),xt([A("caption")],_i.prototype,"fontFamily",void 0),xt([A(12)],_i.prototype,"fontSize",void 0),xt([A("normal")],_i.prototype,"fontWeight",void 0),xt([A(!1)],_i.prototype,"italic",void 0),xt([A("none")],_i.prototype,"textCase",void 0),xt([A("none")],_i.prototype,"textDecoration",void 0),xt([A(0)],_i.prototype,"letterSpacing",void 0),xt([A({type:"percent",value:1.5})],_i.prototype,"lineHeight",void 0),xt([A(0)],_i.prototype,"paraIndent",void 0),xt([A(0)],_i.prototype,"paraSpacing",void 0),xt([A("x")],_i.prototype,"writingMode",void 0),xt([A("left")],_i.prototype,"textAlign",void 0),xt([A("top")],_i.prototype,"verticalAlign",void 0),xt([A(!0)],_i.prototype,"autoSizeAlign",void 0),xt([A("normal")],_i.prototype,"textWrap",void 0),xt([A("show")],_i.prototype,"textOverflow",void 0),xt([f(!1)],_i.prototype,"textEditing",void 0),_i=xt([J()],_i);let hi=class extends ce{get __tag(){return"Path"}};xt([y(te)],hi.prototype,"__",void 0),xt([ct("center")],hi.prototype,"strokeAlign",void 0),hi=xt([J()],hi);let di=class extends ge{get __tag(){return"Pen"}setStyle(t){const e=this.pathElement=new hi(t);return this.pathStyle=t,this.__path=e.path||(e.path=[]),this.add(e),this}beginPath(){return this}moveTo(t,e){return this}lineTo(t,e){return this}bezierCurveTo(t,e,i,s,o,r){return this}quadraticCurveTo(t,e,i,s){return this}closePath(){return this}rect(t,e,i,s){return this}roundRect(t,e,i,s,o){return this}ellipse(t,e,i,s,o,r,a,n){return this}arc(t,e,i,s,o,r){return this}arcTo(t,e,i,s,o){return this}drawEllipse(t,e,i,s,o,r,a,n){return this}drawArc(t,e,i,s,o,r){return this}drawPoints(t,e,i){return this}clearPath(){return this}paint(){this.pathElement.__layout.boxChanged||this.pathElement.forceUpdate("path")}};xt([y(ee)],di.prototype,"__",void 0),xt([(e,i)=>{t(e,i,{get(){return this.__path}})}],di.prototype,"path",void 0),di=xt([N(wt,["set","path","paint"]),J()],di);export{Be as Box,jt as BoxData,ii as Canvas,re as CanvasData,At as ColorConvert,Et as Effect,Fe as Ellipse,Kt as EllipseData,It as Export,Dt as Filter,Ae as Frame,qt as FrameData,ge as Group,Xt as GroupData,ti as Image,oe as ImageData,fe as Leafer,Jt as LeaferData,Ze as Line,Gt as LineData,ei as MyImage,Pt as Paint,Wt as PaintGradient,Ft as PaintImage,hi as Path,Ct as PathArrow,te as PathData,di as Pen,ee as PenData,Me as Polygon,Qt as PolygonData,we as Rect,$t as RectData,pe as RectRender,Xe as Star,Zt as StarData,Tt as State,_i as Text,Bt as TextConvert,se as TextData,Lt as Transition,ce as UI,_e as UIBounds,Yt as UIData,de as UIRender,bt as UnitConvert,kt as createAttr,St as effectType,mt as resizeType,Rt as zoomLayerType};
|
|
1
|
+
import{defineKey as t,decorateLeafAttr as e,attr as i,createDescriptor as s,Plugin as o,UnitConvertHelper as r,PathConvert as a,DataHelper as n,Debug as _,LeafData as h,isString as d,isObject as l,isUndefined as p,isArray as u,canvasSizeAttrs as c,UICreator as g,FourNumberHelper as y,dataProcessor as v,dataType as f,surfaceType as w,opacityType as x,visibleType as S,dimType as m,sortType as R,maskType as k,eraserType as B,positionType as A,boundsType as C,scaleType as b,rotationType as P,scrollType as F,autoLayoutType as W,naturalBoundsType as E,affectRenderBoundsType as D,pathInputType as I,pathType as T,hitType as L,strokeType as z,cursorType as M,rewrite as O,Leaf as N,useModule as V,rewriteAble as H,MathHelper as Y,pen as U,PathCorner as X,PathDrawer as j,isNumber as J,registerUI as q,Branch as G,LeafList as $,Resource as K,getBoundsData as Q,Creator as Z,CanvasManager as tt,WaitHelper as et,LeaferEvent as it,Bounds as st,ResizeEvent as ot,AutoBounds as rt,Run as at,LayoutEvent as nt,RenderEvent as _t,WatchEvent as ht,ImageManager as dt,BoundsHelper as lt,PathCommandDataHelper as pt,Platform as ut,PointHelper as ct,affectStrokeBoundsType as gt,getPointData as yt,LeaferImage as vt,ImageEvent as ft,Matrix as wt,PathCreator as xt}from"@leafer/core";export*from"@leafer/core";function St(t,e,i,s){var o,r=arguments.length,a=r<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,s);else for(var n=t.length-1;n>=0;n--)(o=t[n])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a}function mt(t){return e(t,t=>i({set(e){this.__setAttr(t,e),e&&(this.__.__useEffect=!0),this.__layout.renderChanged||this.__layout.renderChange()}}))}function Rt(t){return e(t,t=>i({set(e){this.__setAttr(t,e),this.__layout.boxChanged||this.__layout.boxChange(),this.__updateSize()}}))}function kt(){return(e,i)=>{const s="_"+i;t(e,i,{set(t){this.isLeafer&&(this[s]=t)},get(){return this.isApp?this.tree.zoomLayer:this.isLeafer?this[s]||this:this.leafer&&this.leafer.zoomLayer}})}}function Bt(e){return(i,o)=>{t(i,o,s(o,e))}}"function"==typeof SuppressedError&&SuppressedError;const At={},Ct={hasTransparent:function(t){if(!t||7===t.length||4===t.length)return!1;if("transparent"===t)return!0;const e=t[0];if("#"===e)switch(t.length){case 5:return"f"!==t[4]&&"F"!==t[4];case 9:return"f"!==t[7]&&"F"!==t[7]||"f"!==t[8]&&"F"!==t[8]}else if(("r"===e||"h"===e)&&"a"===t[3]){const e=t.lastIndexOf(",");if(e>-1)return parseFloat(t.slice(e+1))<1}return!1}},bt=r,Pt={},Ft={},Wt={},Et={},Dt={},It={apply(){o.need("filter")}},Tt={},Lt={setStyleName:()=>o.need("state"),set:()=>o.need("state")},zt={list:{},register(t,e){zt.list[t]=e},get:t=>zt.list[t]},{parse:Mt,objectToCanvasData:Ot}=a,{stintSet:Nt}=n,{hasTransparent:Vt}=Ct,Ht={originPaint:{}},Yt=_.get("UIData");class Ut extends h{get scale(){const{scaleX:t,scaleY:e}=this;return t!==e?{x:t,y:e}:t}get __strokeWidth(){return this.__getRealStrokeWidth()}get __maxStrokeWidth(){const t=this;return t.__hasMultiStrokeStyle?Math.max(t.__hasMultiStrokeStyle,t.strokeWidth):t.strokeWidth}get __hasMultiPaint(){const t=this;return t.fill&&this.__useStroke||t.__isFills&&t.fill.length>1||t.__isStrokes&&t.stroke.length>1||t.__useEffect}get __clipAfterFill(){const t=this;return t.cornerRadius||t.innerShadow||t.__pathInputed}get __hasSurface(){return this.fill||this.stroke}get __autoWidth(){return!this._width}get __autoHeight(){return!this._height}get __autoSide(){return!this._width||!this._height}get __autoSize(){return!this._width&&!this._height}setVisible(t){this._visible=t;const{leafer:e}=this.__leaf;e&&(e.watcher.hasVisible=!0)}setWidth(t){t<0?(this._width=-t,this.__leaf.scaleX*=-1,Yt.warn("width < 0, instead -scaleX ",this)):this._width=t}setHeight(t){t<0?(this._height=-t,this.__leaf.scaleY*=-1,Yt.warn("height < 0, instead -scaleY",this)):this._height=t}setFill(t){this.__naturalWidth&&this.__removeNaturalSize(),d(t)||!t?(Nt(this,"__isTransparentFill",Vt(t)),this.__isFills&&this.__removePaint("fill",!0),this._fill=t):l(t)&&this.__setPaint("fill",t)}setStroke(t){d(t)||!t?(Nt(this,"__isTransparentStroke",Vt(t)),this.__isStrokes&&this.__removePaint("stroke",!0),this._stroke=t):l(t)&&this.__setPaint("stroke",t)}setPath(t){const e=d(t);e||t&&l(t[0])?(this.__setInput("path",t),this._path=e?Mt(t):Ot(t)):(this.__input&&this.__removeInput("path"),this._path=t)}setShadow(t){Xt(this,"shadow",t)}setInnerShadow(t){Xt(this,"innerShadow",t)}setFilter(t){Xt(this,"filter",t)}__computePaint(){const{fill:t,stroke:e}=this.__input;t&&Ft.compute("fill",this.__leaf),e&&Ft.compute("stroke",this.__leaf),this.__needComputePaint=void 0}__getRealStrokeWidth(t){let{strokeWidth:e,strokeWidthFixed:i}=this;if(t&&(t.strokeWidth&&(e=t.strokeWidth),p(t.strokeWidthFixed)||(i=t.strokeWidthFixed)),i){const t=this.__leaf.getClampRenderScale();return t>1?e/t:e}return e}__setPaint(t,e){this.__setInput(t,e);const i=this.__leaf.__layout;i.boxChanged||i.boxChange(),u(e)&&!e.length?this.__removePaint(t):"fill"===t?(this.__isFills=!0,this._fill||(this._fill=Ht)):(this.__isStrokes=!0,this._stroke||(this._stroke=Ht))}__removePaint(t,e){e&&this.__removeInput(t),Wt.recycleImage(t,this),"fill"===t?(Nt(this,"__isAlphaPixelFill",void 0),this._fill=this.__isFills=void 0):(Nt(this,"__isAlphaPixelStroke",void 0),Nt(this,"__hasMultiStrokeStyle",void 0),this._stroke=this.__isStrokes=void 0)}}function Xt(t,e,i){t.__setInput(e,i),u(i)?(i.some(t=>!1===t.visible)&&(i=i.filter(t=>!1!==t.visible)),i.length||(i=void 0)):i=i&&!1!==i.visible?[i]:void 0,t["_"+e]=i}class jt extends Ut{}class Jt extends jt{get __boxStroke(){return!this.__pathInputed}get __drawAfterFill(){return this.__single||this.__clipAfterFill}get __clipAfterFill(){const t=this;return"show"!==t.overflow&&t.__leaf.children.length&&(t.__leaf.isOverflow||super.__clipAfterFill)}}class qt extends jt{__getInputData(t,e){const i=super.__getInputData(t,e);return c.forEach(t=>delete i[t]),i}}class Gt extends Jt{}class $t extends Ut{get __usePathBox(){return this.points||this.__pathInputed}}class Kt extends Ut{get __boxStroke(){return!this.__pathInputed}}class Qt extends Ut{get __boxStroke(){return!this.__pathInputed}}class Zt extends $t{}class te extends Ut{}class ee extends Ut{get __pathInputed(){return 2}}class ie extends jt{}const se={thin:100,"extra-light":200,light:300,normal:400,medium:500,"semi-bold":600,bold:700,"extra-bold":800,black:900};class oe extends Ut{get __useNaturalRatio(){return!1}setFontWeight(t){d(t)?(this.__setInput("fontWeight",t),t=se[t]||400):this.__input&&this.__removeInput("fontWeight"),this._fontWeight=t}setBoxStyle(t){let e=this.__leaf,i=e.__box;if(t){const{boxStyle:s}=this;if(i)for(let t in s)i[t]=void 0;else i=e.__box=g.get("Rect",0);const o=e.__layout,r=i.__layout;s||(i.parent=e,i.__world=e.__world,r.boxBounds=o.boxBounds),i.set(t),r.strokeChanged&&o.strokeChange()}else i&&(e.__box=i.parent=null,i.destroy());this._boxStyle=t}__getInputData(t,e){const i=super.__getInputData(t,e);return i.textEditing&&delete i.textEditing,i}}class re extends Kt{setUrl(t){this.__setImageFill(t),this._url=t}__setImageFill(t){this.fill=t?{type:"image",mode:"stretch",url:t}:void 0}__getData(){const t=super.__getData();return t.url&&delete t.fill,t}__getInputData(t,e){const i=super.__getInputData(t,e);return i.url&&delete i.fill,i}}class ae extends Kt{get __isCanvas(){return!0}get __drawAfterFill(){return!0}__getInputData(t,e){const i=super.__getInputData(t,e);return i.url=this.__leaf.canvas.toDataURL("image/png"),i}}const{max:ne,add:_e}=y,he={__updateStrokeSpread(){let t=0,e=0;const i=this.__,{strokeAlign:s,__maxStrokeWidth:o}=i,r=this.__box;if((i.stroke||"all"===i.hitStroke)&&o&&"inside"!==s&&(e=t="center"===s?o/2:o,!i.__boxStroke)){const e=i.__isLinePath?0:10*t,s="none"===i.strokeCap?0:o;t+=Math.max(e,s)}return i.__useArrow&&(t+=5*o),r&&(t=ne(t,r.__layout.strokeSpread=r.__updateStrokeSpread()),e=Math.max(e,r.__layout.strokeBoxSpread)),this.__layout.strokeBoxSpread=e,t},__updateRenderSpread(){let t=0;const{shadow:e,innerShadow:i,blur:s,backgroundBlur:o,filter:r,renderSpread:a}=this.__,{strokeSpread:n}=this.__layout,_=this.__box;e&&(t=Dt.getShadowRenderSpread(this,e)),s&&(t=ne(t,s)),r&&(t=_e(t,It.getSpread(r))),a&&(t=_e(t,a)),n&&(t=_e(t,n));let h=t;return i&&(h=ne(h,Dt.getInnerShadowSpread(this,i))),o&&(h=ne(h,o)),this.__layout.renderShapeSpread=h,_?ne(_.__updateRenderSpread(),t):t}},{stintSet:de}=n,le={__updateChange(){const t=this.__;if(t.__useStroke){const e=t.__useStroke=!(!t.stroke||!t.strokeWidth);de(this.__world,"half",e&&"center"===t.strokeAlign&&t.strokeWidth%2),de(t,"__fillAfterStroke",e&&"outside"===t.strokeAlign&&t.fill&&!t.__isTransparentFill)}if(t.__useEffect){const{shadow:e,fill:i,stroke:s}=t,o=t.innerShadow||t.blur||t.backgroundBlur||t.filter;de(t,"__isFastShadow",e&&!o&&e.length<2&&!e[0].spread&&!Dt.isTransformShadow(e[0])&&i&&!t.__isTransparentFill&&!(u(i)&&i.length>1)&&(this.useFastShadow||!s||s&&"inside"===t.strokeAlign)),t.__useEffect=!(!e&&!o)}t.__checkSingle(),de(t,"__complex",t.__isFills||t.__isStrokes||t.cornerRadius||t.__useEffect)},__drawFast(t,e){pe(this,t,e)},__draw(t,e,i){const s=this.__;if(s.__complex){s.__needComputePaint&&s.__computePaint();const{fill:o,stroke:r,__drawAfterFill:a,__fillAfterStroke:n,__isFastShadow:_}=s;if(this.__drawRenderPath(t),s.__useEffect&&!_){const _=Ft.shape(this,t,e);this.__nowWorld=this.__getNowWorld(e);const{shadow:h,innerShadow:d,filter:l}=s;h&&Dt.shadow(this,t,_),n&&(s.__isStrokes?Ft.strokes(r,this,t,e):Ft.stroke(r,this,t,e)),o&&(s.__isFills?Ft.fills(o,this,t,e):Ft.fill(o,this,t,e)),a&&this.__drawAfterFill(t,e),d&&Dt.innerShadow(this,t,_),r&&!n&&(s.__isStrokes?Ft.strokes(r,this,t,e):Ft.stroke(r,this,t,e)),l&&It.apply(l,this,this.__nowWorld,t,i,_),_.worldCanvas&&_.worldCanvas.recycle(),_.canvas.recycle()}else{if(n&&(s.__isStrokes?Ft.strokes(r,this,t,e):Ft.stroke(r,this,t,e)),_){const e=s.shadow[0],{scaleX:i,scaleY:o}=this.getRenderScaleData(!0,e.scaleFixed);t.save(),t.setWorldShadow(e.x*i,e.y*o,e.blur*i,Ct.string(e.color))}o&&(s.__isFills?Ft.fills(o,this,t,e):Ft.fill(o,this,t,e)),_&&t.restore(),a&&this.__drawAfterFill(t,e),r&&!n&&(s.__isStrokes?Ft.strokes(r,this,t,e):Ft.stroke(r,this,t,e))}}else s.__pathForRender?pe(this,t,e):this.__drawFast(t,e)},__drawShape(t,e){this.__drawRenderPath(t);const i=this.__,{fill:s,stroke:o}=i;s&&!e.ignoreFill&&(i.__isAlphaPixelFill?Ft.fills(s,this,t,e):Ft.fill("#000000",this,t,e)),i.__isCanvas&&this.__drawAfterFill(t,e),o&&!e.ignoreStroke&&(i.__isAlphaPixelStroke?Ft.strokes(o,this,t,e):Ft.stroke("#000000",this,t,e))},__drawAfterFill(t,e){this.__.__clipAfterFill?(t.save(),t.clipUI(this),this.__drawContent(t,e),t.restore()):this.__drawContent(t,e)}};function pe(t,e,i){const{fill:s,stroke:o,__drawAfterFill:r,__fillAfterStroke:a}=t.__;t.__drawRenderPath(e),a&&Ft.stroke(o,t,e,i),s&&Ft.fill(s,t,e,i),r&&t.__drawAfterFill(e,i),o&&!a&&Ft.stroke(o,t,e,i)}const ue={__drawFast(t,e){let{x:i,y:s,width:o,height:r}=this.__layout.boxBounds;const{fill:a,stroke:n,__drawAfterFill:_}=this.__;if(a&&(t.fillStyle=a,t.fillRect(i,s,o,r)),_&&this.__drawAfterFill(t,e),n){const{strokeAlign:a,__strokeWidth:_}=this.__;if(!_)return;t.setStroke(n,_,this.__);const h=_/2;switch(a){case"center":t.strokeRect(0,0,o,r);break;case"inside":o-=_,r-=_,o<0||r<0?(t.save(),this.__clip(t,e),t.strokeRect(i+h,s+h,o,r),t.restore()):t.strokeRect(i+h,s+h,o,r);break;case"outside":t.strokeRect(i-h,s-h,o+_,r+_)}}}};var ce;let ge=ce=class extends N{get app(){return this.leafer&&this.leafer.app}get isFrame(){return!1}set scale(t){Y.assignScale(this,t)}get scale(){return this.__.scale}get isAutoWidth(){const t=this.__;return t.__autoWidth||t.autoWidth}get isAutoHeight(){const t=this.__;return t.__autoHeight||t.autoHeight}get pen(){const{path:t}=this.__;return U.set(this.path=t||[]),t||this.__drawPathByBox(U),U}reset(t){}set(t,e){t&&Object.assign(this,t)}get(t){return d(t)?this.__.__getInput(t):this.__.__getInputData(t)}createProxyData(){}find(t,e){return o.need("find")}findTag(t){return this.find({tag:t})}findOne(t,e){return o.need("find")}findId(t){return this.findOne({id:t})}getPath(t,e){this.__layout.update();let i=e?this.__.__pathForRender:this.__.path;return i||(U.set(i=[]),this.__drawPathByBox(U,!e)),t?a.toCanvasData(i,!0):i}getPathString(t,e,i){return a.stringify(this.getPath(t,e),i)}load(){this.__.__computePaint()}__onUpdateSize(){if(this.__.__input){const t=this.__;!t.lazy||this.__inLazyBounds||Tt.running?t.__computePaint():t.__needComputePaint=!0}}__updateRenderPath(){const t=this.__;t.path?(t.__pathForRender=t.cornerRadius?X.smooth(t.path,t.cornerRadius,t.cornerSmoothing):t.path,t.__useArrow&&Pt.addArrows(this)):t.__pathForRender&&(t.__pathForRender=void 0)}__drawRenderPath(t){t.beginPath(),this.__drawPathByData(t,this.__.__pathForRender)}__drawPath(t){t.beginPath(),this.__drawPathByData(t,this.__.path,!0)}__drawPathByData(t,e,i){e?j.drawPathByData(t,e):this.__drawPathByBox(t,i)}__drawPathByBox(t,e){const{x:i,y:s,width:o,height:r}=this.__layout.boxBounds;if(this.__.cornerRadius&&!e){const{cornerRadius:e}=this.__;t.roundRect(i,s,o,r,J(e)?[e]:e)}else t.rect(i,s,o,r);t.closePath()}drawImagePlaceholder(t,e,i){Ft.fill(this.__.placeholderColor,this,e,i)}animate(t,e,i,s){return this.set(t),o.need("animate")}killAnimate(t,e){}export(t,e){return o.need("export")}syncExport(t,e){return o.need("export")}clone(t){const e=n.clone(this.toJSON());return t&&Object.assign(e,t),ce.one(e)}static one(t,e,i,s,o){return g.get(t.tag||this.prototype.__tag,t,e,i,s,o)}static registerUI(){q()(this)}static registerData(t){v(t)(this.prototype)}static setEditConfig(t){}static setEditOuter(t){}static setEditInner(t){}destroy(){this.fill=this.stroke=null,this.__animate&&this.killAnimate(),super.destroy()}};St([v(Ut)],ge.prototype,"__",void 0),St([kt()],ge.prototype,"zoomLayer",void 0),St([f("")],ge.prototype,"id",void 0),St([f("")],ge.prototype,"name",void 0),St([f("")],ge.prototype,"className",void 0),St([w("pass-through")],ge.prototype,"blendMode",void 0),St([x(1)],ge.prototype,"opacity",void 0),St([S(!0)],ge.prototype,"visible",void 0),St([w(!1)],ge.prototype,"locked",void 0),St([m(!1)],ge.prototype,"dim",void 0),St([m(!1)],ge.prototype,"dimskip",void 0),St([R(0)],ge.prototype,"zIndex",void 0),St([k(!1)],ge.prototype,"mask",void 0),St([B(!1)],ge.prototype,"eraser",void 0),St([A(0,!0)],ge.prototype,"x",void 0),St([A(0,!0)],ge.prototype,"y",void 0),St([C(100,!0)],ge.prototype,"width",void 0),St([C(100,!0)],ge.prototype,"height",void 0),St([b(1,!0)],ge.prototype,"scaleX",void 0),St([b(1,!0)],ge.prototype,"scaleY",void 0),St([P(0,!0)],ge.prototype,"rotation",void 0),St([P(0,!0)],ge.prototype,"skewX",void 0),St([P(0,!0)],ge.prototype,"skewY",void 0),St([A(0,!0)],ge.prototype,"offsetX",void 0),St([A(0,!0)],ge.prototype,"offsetY",void 0),St([F(0,!0)],ge.prototype,"scrollX",void 0),St([F(0,!0)],ge.prototype,"scrollY",void 0),St([W()],ge.prototype,"origin",void 0),St([W()],ge.prototype,"around",void 0),St([f(!1)],ge.prototype,"lazy",void 0),St([E(1)],ge.prototype,"pixelRatio",void 0),St([D(0)],ge.prototype,"renderSpread",void 0),St([I()],ge.prototype,"path",void 0),St([T()],ge.prototype,"windingRule",void 0),St([T(!0)],ge.prototype,"closed",void 0),St([C(0)],ge.prototype,"padding",void 0),St([C(!1)],ge.prototype,"lockRatio",void 0),St([C()],ge.prototype,"widthRange",void 0),St([C()],ge.prototype,"heightRange",void 0),St([f(!1)],ge.prototype,"draggable",void 0),St([f()],ge.prototype,"dragBounds",void 0),St([f("auto")],ge.prototype,"dragBoundsType",void 0),St([f(!1)],ge.prototype,"editable",void 0),St([L(!0)],ge.prototype,"hittable",void 0),St([L("path")],ge.prototype,"hitFill",void 0),St([z("path")],ge.prototype,"hitStroke",void 0),St([L(!1)],ge.prototype,"hitBox",void 0),St([L(!0)],ge.prototype,"hitChildren",void 0),St([L(!0)],ge.prototype,"hitSelf",void 0),St([L()],ge.prototype,"hitRadius",void 0),St([M("")],ge.prototype,"cursor",void 0),St([w()],ge.prototype,"fill",void 0),St([z(void 0,!0)],ge.prototype,"stroke",void 0),St([z("inside")],ge.prototype,"strokeAlign",void 0),St([z(1,!0)],ge.prototype,"strokeWidth",void 0),St([z(!1)],ge.prototype,"strokeWidthFixed",void 0),St([z("none")],ge.prototype,"strokeCap",void 0),St([z("miter")],ge.prototype,"strokeJoin",void 0),St([z()],ge.prototype,"dashPattern",void 0),St([z(0)],ge.prototype,"dashOffset",void 0),St([z(10)],ge.prototype,"miterLimit",void 0),St([T(0)],ge.prototype,"cornerRadius",void 0),St([T()],ge.prototype,"cornerSmoothing",void 0),St([mt()],ge.prototype,"shadow",void 0),St([mt()],ge.prototype,"innerShadow",void 0),St([mt()],ge.prototype,"blur",void 0),St([mt()],ge.prototype,"backgroundBlur",void 0),St([mt()],ge.prototype,"grayscale",void 0),St([mt()],ge.prototype,"filter",void 0),St([w()],ge.prototype,"placeholderColor",void 0),St([f(100)],ge.prototype,"placeholderDelay",void 0),St([f({})],ge.prototype,"data",void 0),St([O(N.prototype.reset)],ge.prototype,"reset",null),ge=ce=St([V(he),V(le),H()],ge);let ye=class extends ge{get __tag(){return"Group"}get isBranch(){return!0}reset(t){this.__setBranch(),super.reset(t)}__setBranch(){this.children||(this.children=[])}set(t,e){if(t)if(t.children){const{children:i}=t;delete t.children,this.children?this.clear():this.__setBranch(),super.set(t,e),i.forEach(t=>this.add(t)),t.children=i}else super.set(t,e)}toJSON(t){const e=super.toJSON(t);return this.childlessJSON||(e.children=this.children.map(e=>e.toJSON(t))),e}pick(t,e){}addAt(t,e){this.add(t,e)}addAfter(t,e){this.add(t,this.children.indexOf(e)+1)}addBefore(t,e){this.add(t,this.children.indexOf(e))}add(t,e){}addMany(...t){}remove(t,e){}removeAll(t){}clear(){}};var ve;St([v(jt)],ye.prototype,"__",void 0),St([C(0)],ye.prototype,"width",void 0),St([C(0)],ye.prototype,"height",void 0),ye=St([V(G),q()],ye);const fe=_.get("Leafer");let we=ve=class extends ye{get __tag(){return"Leafer"}get isApp(){return!1}get app(){return this.parent||this}get isLeafer(){return!0}get imageReady(){return this.viewReady&&K.isComplete}get layoutLocked(){return!this.layouter.running}get view(){return this.canvas&&this.canvas.view}get FPS(){return this.renderer?this.renderer.FPS:60}get cursorPoint(){return this.interaction&&this.interaction.hoverData||{x:this.width/2,y:this.height/2}}get clientBounds(){return this.canvas&&this.canvas.getClientBounds(!0)||Q()}constructor(t,e){super(e),this.config={start:!0,hittable:!0,smooth:!0,lazySpeard:100},this.leafs=0,this.__eventIds=[],this.__controllers=[],this.__readyWait=[],this.__viewReadyWait=[],this.__viewCompletedWait=[],this.__nextRenderWait=[],this.userConfig=t,t&&(t.view||t.width)&&this.init(t),ve.list.add(this)}init(t,e){if(this.canvas)return;let i;const{config:s}=this;this.__setLeafer(this),e&&(this.parentApp=e,this.__bindApp(e),i=e.running),t&&(this.parent=e,this.initType(t.type),this.parent=void 0,n.assign(s,t));const o=this.canvas=Z.canvas(s);this.__controllers.push(this.renderer=Z.renderer(this,o,s),this.watcher=Z.watcher(this,s),this.layouter=Z.layouter(this,s)),this.isApp&&this.__setApp(),this.__checkAutoLayout(),e||(this.selector=Z.selector(this),this.interaction=Z.interaction(this,o,this.selector,s),this.interaction&&(this.__controllers.unshift(this.interaction),this.hitCanvasManager=Z.hitCanvasManager()),this.canvasManager=new tt,i=s.start),this.hittable=s.hittable,this.fill=s.fill,this.canvasManager.add(o),this.__listenEvents(),i&&(this.__startTimer=setTimeout(this.start.bind(this))),et.run(this.__initWait),this.onInit()}onInit(){}initType(t){}set(t,e){this.waitInit(()=>{super.set(t,e)})}start(){clearTimeout(this.__startTimer),!this.running&&this.canvas&&(this.running=!0,this.ready?this.emitLeafer(it.RESTART):this.emitLeafer(it.START),this.__controllers.forEach(t=>t.start()),this.isApp||this.renderer.render())}stop(){clearTimeout(this.__startTimer),this.running&&this.canvas&&(this.__controllers.forEach(t=>t.stop()),this.running=!1,this.emitLeafer(it.STOP))}unlockLayout(){this.layouter.start(),this.updateLayout()}lockLayout(){this.updateLayout(),this.layouter.stop()}resize(t){const e=n.copyAttrs({},t,c);Object.keys(e).forEach(t=>this[t]=e[t])}forceRender(t,e){const{renderer:i}=this;i&&(i.addBlock(t?new st(t):this.canvas.bounds),this.viewReady&&(e?i.render():i.update()))}requestRender(t=!1){this.renderer&&this.renderer.update(t)}updateCursor(t){const e=this.interaction;e&&(t?e.setCursor(t):e.updateCursor())}updateLazyBounds(){this.lazyBounds=this.canvas.bounds.clone().spread(this.config.lazySpeard)}__doResize(t){const{canvas:e}=this;if(!e||e.isSameSize(t))return;const i=n.copyAttrs({},this.canvas,c);e.resize(t),this.updateLazyBounds(),this.__onResize(new ot(t,i))}__onResize(t){this.emitEvent(t),n.copyAttrs(this.__,t,c),setTimeout(()=>{this.canvasManager&&this.canvasManager.clearRecycled()},0)}__setApp(){}__bindApp(t){this.selector=t.selector,this.interaction=t.interaction,this.canvasManager=t.canvasManager,this.hitCanvasManager=t.hitCanvasManager}__setLeafer(t){this.leafer=t,this.__level=1}__checkAutoLayout(){const{config:t,parentApp:e}=this;e||(t.width&&t.height||(this.autoLayout=new rt(t)),this.canvas.startAutoLayout(this.autoLayout,this.__onResize.bind(this)))}__setAttr(t,e){return this.canvas&&(c.includes(t)?this.__changeCanvasSize(t,e):"fill"===t?this.__changeFill(e):"hittable"===t?this.parent||(this.canvas.hittable=e):"zIndex"===t?(this.canvas.zIndex=e,setTimeout(()=>this.parent&&this.parent.__updateSortChildren())):"mode"===t&&this.emit(it.UPDATE_MODE,{mode:e})),super.__setAttr(t,e)}__getAttr(t){return this.canvas&&c.includes(t)?this.canvas[t]:super.__getAttr(t)}__changeCanvasSize(t,e){const{config:i,canvas:s}=this,o=n.copyAttrs({},s,c);o[t]=i[t]=e,i.width&&i.height?s.stopAutoLayout():this.__checkAutoLayout(),this.__doResize(o)}__changeFill(t){this.config.fill=t,this.canvas.allowBackgroundColor?this.canvas.backgroundColor=t:this.forceRender()}__onCreated(){this.created=!0}__onReady(){this.ready=!0,this.emitLeafer(it.BEFORE_READY),this.emitLeafer(it.READY),this.emitLeafer(it.AFTER_READY),et.run(this.__readyWait)}__onViewReady(){this.viewReady||(this.viewReady=!0,this.emitLeafer(it.VIEW_READY),et.run(this.__viewReadyWait))}__onLayoutEnd(){const{grow:t,width:e,height:i}=this.config;if(t){let{width:s,height:o,pixelRatio:r}=this;const a="box"===t?this.worldBoxBounds:this.__world;e||(s=Math.max(1,a.x+a.width)),i||(o=Math.max(1,a.y+a.height)),this.__doResize({width:s,height:o,pixelRatio:r})}this.ready||this.__onReady()}__onNextRender(){if(this.viewReady){et.run(this.__nextRenderWait);const{imageReady:t}=this;t&&!this.viewCompleted&&this.__checkViewCompleted(),t||(this.viewCompleted=!1,this.requestRender())}else this.requestRender()}__checkViewCompleted(t=!0){this.nextRender(()=>{this.imageReady&&(t&&this.emitLeafer(it.VIEW_COMPLETED),et.run(this.__viewCompletedWait),this.viewCompleted=!0)})}__onWatchData(){this.watcher.childrenChanged&&this.interaction&&this.nextRender(()=>this.interaction.updateCursor())}waitInit(t,e){e&&(t=t.bind(e)),this.__initWait||(this.__initWait=[]),this.canvas?t():this.__initWait.push(t)}waitReady(t,e){e&&(t=t.bind(e)),this.ready?t():this.__readyWait.push(t)}waitViewReady(t,e){e&&(t=t.bind(e)),this.viewReady?t():this.__viewReadyWait.push(t)}waitViewCompleted(t,e){e&&(t=t.bind(e)),this.__viewCompletedWait.push(t),this.viewCompleted?this.__checkViewCompleted(!1):this.running||this.start()}nextRender(t,e,i){e&&(t=t.bind(e));const s=this.__nextRenderWait;if(i){for(let e=0;e<s.length;e++)if(s[e]===t){s.splice(e,1);break}}else s.push(t);this.requestRender()}zoom(t,e,i,s){return o.need("view")}getValidMove(t,e,i){return{x:t,y:e}}getValidScale(t){return t}getWorldPointByClient(t,e){return this.interaction&&this.interaction.getLocal(t,e)}getPagePointByClient(t,e){return this.getPagePoint(this.getWorldPointByClient(t,e))}getClientPointByWorld(t){const{x:e,y:i}=this.clientBounds;return{x:e+t.x,y:i+t.y}}updateClientBounds(){this.canvas&&this.canvas.updateClientBounds()}receiveEvent(t){}emitLeafer(t){this.emitEvent(new it(t,this))}__listenEvents(){const t=at.start("FirstCreate "+this.innerName);this.once([[it.START,()=>at.end(t)],[nt.START,this.updateLazyBounds,this],[_t.START,this.__onCreated,this],[_t.END,this.__onViewReady,this]]),this.__eventIds.push(this.on_([[ht.DATA,this.__onWatchData,this],[nt.END,this.__onLayoutEnd,this],[_t.NEXT,this.__onNextRender,this]]))}__removeListenEvents(){this.off_(this.__eventIds)}destroy(t){const e=()=>{if(!this.destroyed){ve.list.remove(this);try{this.stop(),this.emitLeafer(it.END),this.__removeListenEvents(),this.__controllers.forEach(t=>!(this.parent&&t===this.interaction)&&t.destroy()),this.__controllers.length=0,this.parent||(this.selector&&this.selector.destroy(),this.hitCanvasManager&&this.hitCanvasManager.destroy(),this.canvasManager&&this.canvasManager.destroy()),this.canvas&&this.canvas.destroy(),this.config.view=this.parentApp=null,this.userConfig&&(this.userConfig.view=null),super.destroy(),setTimeout(()=>{dt.clearRecycled()},100)}catch(t){fe.error(t)}}};t?e():setTimeout(e)}};we.list=new $,St([v(qt)],we.prototype,"__",void 0),St([C()],we.prototype,"pixelRatio",void 0),St([f("normal")],we.prototype,"mode",void 0),we=ve=St([q()],we);let xe=class extends ge{get __tag(){return"Rect"}};St([v(Kt)],xe.prototype,"__",void 0),xe=St([V(ue),H(),q()],xe);const{add:Se,includes:me,scroll:Re}=lt,ke=xe.prototype,Be=ye.prototype;let Ae=class extends ye{get __tag(){return"Box"}get isBranchLeaf(){return!0}constructor(t){super(t),this.__layout.renderChanged||this.__layout.renderChange()}__updateStrokeSpread(){return 0}__updateRectRenderSpread(){return 0}__updateRenderSpread(){return this.__updateRectRenderSpread()||-1}__updateRectBoxBounds(){}__updateBoxBounds(t){if(this.children.length&&!this.pathInputed){const t=this.__;if(t.__autoSide){t.__hasSurface&&this.__extraUpdate(),super.__updateBoxBounds();const{boxBounds:e}=this.__layout;t.__autoSize||(t.__autoWidth?(e.width+=e.x,e.x=0,e.height=t.height,e.y=0):(e.height+=e.y,e.y=0,e.width=t.width,e.x=0)),this.__updateNaturalSize()}else this.__updateRectBoxBounds()}else this.__updateRectBoxBounds()}__updateStrokeBounds(){}__updateRenderBounds(){let t,e;if(this.children.length){const i=this.__,s=this.__layout,{renderBounds:o,boxBounds:r}=s,{overflow:a}=i,n=s.childrenRenderBounds||(s.childrenRenderBounds=Q());super.__updateRenderBounds(n),(e=a&&a.includes("scroll"))&&(Se(n,r),Re(n,i)),this.__updateRectRenderBounds(),t=!me(r,n),t&&"show"===a&&Se(o,n)}else this.__updateRectRenderBounds();n.stintSet(this,"isOverflow",t),this.__checkScroll(e)}__updateRectRenderBounds(){}__checkScroll(t){}__updateRectChange(){}__updateChange(){super.__updateChange(),this.__updateRectChange()}__renderRect(t,e){}__renderGroup(t,e){}__render(t,e){this.__.__drawAfterFill?this.__renderRect(t,e):(this.__renderRect(t,e),this.children.length&&this.__renderGroup(t,e)),this.hasScroller&&this.scroller.__render(t,e)}__drawContent(t,e){this.__renderGroup(t,e),(this.__.__useStroke||this.__.__useEffect)&&(t.setWorld(this.__nowWorld),this.__drawRenderPath(t))}};St([v(Jt)],Ae.prototype,"__",void 0),St([C(100)],Ae.prototype,"width",void 0),St([C(100)],Ae.prototype,"height",void 0),St([f(!1)],Ae.prototype,"resizeChildren",void 0),St([D("show")],Ae.prototype,"overflow",void 0),St([O(ke.__updateStrokeSpread)],Ae.prototype,"__updateStrokeSpread",null),St([O(ke.__updateRenderSpread)],Ae.prototype,"__updateRectRenderSpread",null),St([O(ke.__updateBoxBounds)],Ae.prototype,"__updateRectBoxBounds",null),St([O(ke.__updateStrokeBounds)],Ae.prototype,"__updateStrokeBounds",null),St([O(ke.__updateRenderBounds)],Ae.prototype,"__updateRectRenderBounds",null),St([O(ke.__updateChange)],Ae.prototype,"__updateRectChange",null),St([O(ke.__render)],Ae.prototype,"__renderRect",null),St([O(Be.__render)],Ae.prototype,"__renderGroup",null),Ae=St([H(),q()],Ae);let Ce=class extends Ae{get __tag(){return"Frame"}get isFrame(){return!0}};St([v(Gt)],Ce.prototype,"__",void 0),St([w("#FFFFFF")],Ce.prototype,"fill",void 0),St([D("hide")],Ce.prototype,"overflow",void 0),Ce=St([q()],Ce);const{moveTo:be,closePath:Pe,ellipse:Fe}=pt;let We=class extends ge{get __tag(){return"Ellipse"}__updatePath(){const{width:t,height:e,innerRadius:i,startAngle:s,endAngle:o}=this.__,r=t/2,a=e/2,n=this.__.path=[];let _;i?s||o?(i<1?Fe(n,r,a,r*i,a*i,0,s,o,!1):_=!0,Fe(n,r,a,r,a,0,o,s,!0)):(i<1&&(Fe(n,r,a,r*i,a*i),be(n,t,a)),Fe(n,r,a,r,a,0,360,0,!0)):s||o?(be(n,r,a),Fe(n,r,a,r,a,0,s,o,!1)):Fe(n,r,a,r,a),_||Pe(n),ut.ellipseToCurve&&(this.__.path=this.getPath(!0))}};St([v(Qt)],We.prototype,"__",void 0),St([T(0)],We.prototype,"innerRadius",void 0),St([T(0)],We.prototype,"startAngle",void 0),St([T(0)],We.prototype,"endAngle",void 0),We=St([q()],We);const{sin:Ee,cos:De,PI:Ie}=Math,{moveTo:Te,lineTo:Le,closePath:ze,drawPoints:Me}=pt;let Oe=class extends ge{get __tag(){return"Polygon"}__updatePath(){const t=this.__,e=t.path=[];if(t.points)Me(e,t.points,t.curve,!0);else{const{width:i,height:s,sides:o}=t,r=i/2,a=s/2;Te(e,r,0);for(let t=1;t<o;t++)Le(e,r+r*Ee(2*t*Ie/o),a-a*De(2*t*Ie/o));ze(e)}}};St([v(Zt)],Oe.prototype,"__",void 0),St([T(3)],Oe.prototype,"sides",void 0),St([T()],Oe.prototype,"points",void 0),St([T(0)],Oe.prototype,"curve",void 0),Oe=St([H(),q()],Oe);const{sin:Ne,cos:Ve,PI:He}=Math,{moveTo:Ye,lineTo:Ue,closePath:Xe}=pt;let je=class extends ge{get __tag(){return"Star"}__updatePath(){const{width:t,height:e,corners:i,innerRadius:s}=this.__,o=t/2,r=e/2,a=this.__.path=[];Ye(a,o,0);for(let t=1;t<2*i;t++)Ue(a,o+(t%2==0?o:o*s)*Ne(t*He/i),r-(t%2==0?r:r*s)*Ve(t*He/i));Xe(a)}};St([v(te)],je.prototype,"__",void 0),St([T(5)],je.prototype,"corners",void 0),St([T(.382)],je.prototype,"innerRadius",void 0),je=St([q()],je);const{moveTo:Je,lineTo:qe,drawPoints:Ge}=pt,{rotate:$e,getAngle:Ke,getDistance:Qe,defaultPoint:Ze}=ct;let ti=class extends ge{get __tag(){return"Line"}get toPoint(){const{width:t,rotation:e}=this.__,i=yt();return t&&(i.x=t),e&&$e(i,e),i}set toPoint(t){this.width=Qe(Ze,t),this.rotation=Ke(Ze,t),this.height&&(this.height=0)}__updatePath(){const t=this.__,e=t.path=[];t.points?Ge(e,t.points,t.curve,t.closed):(Je(e,0,0),qe(e,this.width,0))}};St([v($t)],ti.prototype,"__",void 0),St([gt("center")],ti.prototype,"strokeAlign",void 0),St([C(0)],ti.prototype,"height",void 0),St([T()],ti.prototype,"points",void 0),St([T(0)],ti.prototype,"curve",void 0),St([T(!1)],ti.prototype,"closed",void 0),ti=St([q()],ti);let ei=class extends xe{get __tag(){return"Image"}get ready(){const{image:t}=this;return t&&t.ready}get image(){const{fill:t}=this.__;return u(t)&&t[0].image}};St([v(re)],ei.prototype,"__",void 0),St([C("")],ei.prototype,"url",void 0),ei=St([q()],ei);const ii=ei;let si=class extends xe{get __tag(){return"Canvas"}get context(){return this.canvas.context}get ready(){return!this.url}constructor(t){super(t),this.canvas=Z.canvas(this.__),t&&t.url&&this.drawImage(t.url)}drawImage(t){new vt({url:t}).load(t=>{this.context.drawImage(t.view,0,0),this.url=void 0,this.paint(),this.emitEvent(new ft(ft.LOADED,{image:t}))})}draw(t,e,i,s){const o=new wt(t.worldTransform).invert(),r=new wt;e&&r.translate(e.x,e.y),i&&(J(i)?r.scale(i):r.scale(i.x,i.y)),s&&r.rotate(s),o.multiplyParent(r),t.__render(this.canvas,{matrix:o.withScale()}),this.paint()}paint(){this.forceRender()}__drawContent(t,e){const{width:i,height:s}=this.__,{view:o}=this.canvas;t.drawImage(o,0,0,o.width,o.height,0,0,i,s)}__updateSize(){const{canvas:t}=this;if(t){const{smooth:e,safeResize:i}=this.__;t.resize(this.__,i),t.smooth!==e&&(t.smooth=e)}}destroy(){this.canvas&&(this.canvas.destroy(),this.canvas=null),super.destroy()}};St([v(ae)],si.prototype,"__",void 0),St([Rt(100)],si.prototype,"width",void 0),St([Rt(100)],si.prototype,"height",void 0),St([Rt(1)],si.prototype,"pixelRatio",void 0),St([Rt(!0)],si.prototype,"smooth",void 0),St([f(!1)],si.prototype,"safeResize",void 0),St([Rt()],si.prototype,"contextSettings",void 0),si=St([q()],si);const{copyAndSpread:oi,includes:ri,spread:ai,setList:ni}=lt,{stintSet:_i}=n;let hi=class extends ge{get __tag(){return"Text"}get textDrawData(){return this.updateLayout(),this.__.__textDrawData}__updateTextDrawData(){const t=this.__,{lineHeight:e,letterSpacing:i,fontFamily:s,fontSize:o,fontWeight:r,italic:a,textCase:n,textOverflow:_,padding:h,width:d,height:l}=t;t.__lineHeight=bt.number(e,o),t.__letterSpacing=bt.number(i,o),t.__baseLine=t.__lineHeight-(t.__lineHeight-.7*o)/2,t.__font=`${a?"italic ":""}${"small-caps"===n?"small-caps ":""}${"normal"!==r?r+" ":""}${o||12}px ${s||"caption"}`,_i(t,"__padding",h&&Y.fourNumber(h)),_i(t,"__clipText","show"!==_&&!t.__autoSize),_i(t,"__isCharMode",d||l||t.__letterSpacing||"none"!==n),t.__textDrawData=At.getDrawData((t.__isPlacehold=t.placeholder&&""===t.text)?t.placeholder:t.text,this.__)}__updateBoxBounds(){const t=this.__,e=this.__layout,{fontSize:i,italic:s,padding:o,__autoWidth:r,__autoHeight:a}=t;this.__updateTextDrawData();const{bounds:_}=t.__textDrawData,h=e.boxBounds;if(e.contentBounds=_,t.__lineHeight<i&&ai(_,i/2),r||a){if(h.x=r?_.x:0,h.y=a?_.y:0,h.width=r?_.width:t.width,h.height=a?_.height:t.height,o){const[e,i,s,o]=t.__padding;r&&(h.x-=o,h.width+=i+o),a&&(h.y-=e,h.height+=s+e)}this.__updateNaturalSize()}else super.__updateBoxBounds();s&&(h.width+=.16*i),n.stintSet(this,"isOverflow",!ri(h,_)),this.isOverflow?(ni(t.__textBoxBounds={},[h,_]),e.renderChanged=!0):t.__textBoxBounds=h}__updateRenderSpread(){let t=super.__updateRenderSpread();return t||(t=this.isOverflow?1:0),t}__updateRenderBounds(){const{renderBounds:t,renderSpread:e}=this.__layout;oi(t,this.__.__textBoxBounds,e),this.__box&&(this.__box.__layout.renderBounds=t)}__updateChange(){super.__updateChange();const t=this.__box;t&&(t.__onUpdateSize(),t.__updateChange())}__drawRenderPath(t){t.font=this.__.__font}__draw(t,e,i){const s=this.__box;s&&(s.__nowWorld=this.__nowWorld,s.__draw(t,e,i)),this.textEditing&&!e.exporting||super.__draw(t,e,i)}__drawShape(t,e){e.shape&&this.__box&&this.__box.__drawShape(t,e),super.__drawShape(t,e)}destroy(){this.boxStyle&&(this.boxStyle=null),super.destroy()}};St([v(oe)],hi.prototype,"__",void 0),St([C(0)],hi.prototype,"width",void 0),St([C(0)],hi.prototype,"height",void 0),St([w()],hi.prototype,"boxStyle",void 0),St([f(!1)],hi.prototype,"resizeFontSize",void 0),St([w("#000000")],hi.prototype,"fill",void 0),St([gt("outside")],hi.prototype,"strokeAlign",void 0),St([L("all")],hi.prototype,"hitFill",void 0),St([C("")],hi.prototype,"text",void 0),St([C("")],hi.prototype,"placeholder",void 0),St([C("caption")],hi.prototype,"fontFamily",void 0),St([C(12)],hi.prototype,"fontSize",void 0),St([C("normal")],hi.prototype,"fontWeight",void 0),St([C(!1)],hi.prototype,"italic",void 0),St([C("none")],hi.prototype,"textCase",void 0),St([C("none")],hi.prototype,"textDecoration",void 0),St([C(0)],hi.prototype,"letterSpacing",void 0),St([C({type:"percent",value:1.5})],hi.prototype,"lineHeight",void 0),St([C(0)],hi.prototype,"paraIndent",void 0),St([C(0)],hi.prototype,"paraSpacing",void 0),St([C("x")],hi.prototype,"writingMode",void 0),St([C("left")],hi.prototype,"textAlign",void 0),St([C("top")],hi.prototype,"verticalAlign",void 0),St([C(!0)],hi.prototype,"autoSizeAlign",void 0),St([C("normal")],hi.prototype,"textWrap",void 0),St([C("show")],hi.prototype,"textOverflow",void 0),St([w(!1)],hi.prototype,"textEditing",void 0),hi=St([q()],hi);let di=class extends ge{get __tag(){return"Path"}};St([v(ee)],di.prototype,"__",void 0),St([gt("center")],di.prototype,"strokeAlign",void 0),di=St([q()],di);let li=class extends ye{get __tag(){return"Pen"}setStyle(t){const e=this.pathElement=new di(t);return this.pathStyle=t,this.__path=e.path||(e.path=[]),this.add(e),this}beginPath(){return this}moveTo(t,e){return this}lineTo(t,e){return this}bezierCurveTo(t,e,i,s,o,r){return this}quadraticCurveTo(t,e,i,s){return this}closePath(){return this}rect(t,e,i,s){return this}roundRect(t,e,i,s,o){return this}ellipse(t,e,i,s,o,r,a,n){return this}arc(t,e,i,s,o,r){return this}arcTo(t,e,i,s,o){return this}drawEllipse(t,e,i,s,o,r,a,n){return this}drawArc(t,e,i,s,o,r){return this}drawPoints(t,e,i){return this}clearPath(){return this}paint(){this.pathElement.__layout.boxChanged||this.pathElement.forceUpdate("path")}};St([v(ie)],li.prototype,"__",void 0),St([(e,i)=>{t(e,i,{get(){return this.__path}})}],li.prototype,"path",void 0),li=St([V(xt,["set","path","paint"]),q()],li);export{Ae as Box,Jt as BoxData,si as Canvas,ae as CanvasData,Ct as ColorConvert,Dt as Effect,We as Ellipse,Qt as EllipseData,Tt as Export,It as Filter,Ce as Frame,Gt as FrameData,ye as Group,jt as GroupData,ei as Image,re as ImageData,we as Leafer,qt as LeaferData,ti as Line,$t as LineData,ii as MyImage,Ft as Paint,Et as PaintGradient,Wt as PaintImage,di as Path,Pt as PathArrow,ee as PathData,li as Pen,ie as PenData,Oe as Polygon,Zt as PolygonData,xe as Rect,Kt as RectData,ue as RectRender,je as Star,te as StarData,Lt as State,hi as Text,At as TextConvert,oe as TextData,zt as Transition,ge as UI,he as UIBounds,Ut as UIData,le as UIRender,bt as UnitConvert,Bt as createAttr,mt as effectType,Rt as resizeType,kt as zoomLayerType};
|
|
2
2
|
//# sourceMappingURL=draw.esm.min.js.map
|