@leafer/worker 1.10.0 → 1.11.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.
@@ -872,9 +872,10 @@ const PointHelper = {
872
872
  getAtan2(t, to) {
873
873
  return atan2$2(to.y - t.y, to.x - t.x);
874
874
  },
875
- getDistancePoint(t, to, distance, changeTo) {
875
+ getDistancePoint(t, to, distance, changeTo, fromTo) {
876
876
  const r = getAtan2(t, to);
877
- to = changeTo ? to : {};
877
+ fromTo && (t = to);
878
+ changeTo || (to = {});
878
879
  to.x = t.x + cos$5(r) * distance;
879
880
  to.y = t.y + sin$5(r) * distance;
880
881
  return to;
@@ -884,6 +885,9 @@ const PointHelper = {
884
885
  if (isObject(originPoints[0])) points = [], originPoints.forEach(p => points.push(p.x, p.y));
885
886
  return points;
886
887
  },
888
+ isSame(t, point) {
889
+ return t.x === point.x && t.y === point.y;
890
+ },
887
891
  reset(t) {
888
892
  P$7.reset(t);
889
893
  }
@@ -948,8 +952,8 @@ class Point {
948
952
  getDistance(to) {
949
953
  return PointHelper.getDistance(this, to);
950
954
  }
951
- getDistancePoint(to, distance, changeTo) {
952
- return new Point(PointHelper.getDistancePoint(this, to, distance, changeTo));
955
+ getDistancePoint(to, distance, changeTo, fromTo) {
956
+ return new Point(PointHelper.getDistancePoint(this, to, distance, changeTo, fromTo));
953
957
  }
954
958
  getAngle(to) {
955
959
  return PointHelper.getAngle(this, to);
@@ -957,6 +961,9 @@ class Point {
957
961
  getAtan2(to) {
958
962
  return PointHelper.getAtan2(this, to);
959
963
  }
964
+ isSame(point) {
965
+ return PointHelper.isSame(this, point);
966
+ }
960
967
  reset() {
961
968
  PointHelper.reset(this);
962
969
  return this;
@@ -2876,6 +2883,15 @@ const EllipseHelper = {
2876
2883
  }
2877
2884
  };
2878
2885
 
2886
+ const PathCommandNodeHelper = {
2887
+ toCommand(_nodes) {
2888
+ return [];
2889
+ },
2890
+ toNode(_data) {
2891
+ return [];
2892
+ }
2893
+ };
2894
+
2879
2895
  const {M: M$9, m: m, L: L$9, l: l, H: H, h: h, V: V, v: v, C: C$7, c: c, S: S, s: s, Q: Q$6, q: q, T: T, t: t, A: A, a: a, Z: Z$7, z: z, N: N$5, D: D$6, X: X$5, G: G$5, F: F$6, O: O$6, P: P$5, U: U$5} = PathCommandMap;
2880
2896
 
2881
2897
  const {rect: rect$3, roundRect: roundRect$2, arcTo: arcTo$3, arc: arc$3, ellipse: ellipse$4, quadraticCurveTo: quadraticCurveTo$1} = BezierHelper;
@@ -3154,30 +3170,34 @@ const PathConvert = {
3154
3170
  return data;
3155
3171
  },
3156
3172
  objectToCanvasData(list) {
3157
- const data = [];
3158
- list.forEach(item => {
3159
- switch (item.name) {
3160
- case "M":
3161
- data.push(M$9, item.x, item.y);
3162
- break;
3173
+ if (list[0].name.length > 1) {
3174
+ return PathCommandNodeHelper.toCommand(list);
3175
+ } else {
3176
+ const data = [];
3177
+ list.forEach(item => {
3178
+ switch (item.name) {
3179
+ case "M":
3180
+ data.push(M$9, item.x, item.y);
3181
+ break;
3163
3182
 
3164
- case "L":
3165
- data.push(L$9, item.x, item.y);
3166
- break;
3183
+ case "L":
3184
+ data.push(L$9, item.x, item.y);
3185
+ break;
3167
3186
 
3168
- case "C":
3169
- data.push(C$7, item.x1, item.y1, item.x2, item.y2, item.x, item.y);
3170
- break;
3187
+ case "C":
3188
+ data.push(C$7, item.x1, item.y1, item.x2, item.y2, item.x, item.y);
3189
+ break;
3171
3190
 
3172
- case "Q":
3173
- data.push(Q$6, item.x1, item.y1, item.x, item.y);
3174
- break;
3191
+ case "Q":
3192
+ data.push(Q$6, item.x1, item.y1, item.x, item.y);
3193
+ break;
3175
3194
 
3176
- case "Z":
3177
- data.push(Z$7);
3178
- }
3179
- });
3180
- return data;
3195
+ case "Z":
3196
+ data.push(Z$7);
3197
+ }
3198
+ });
3199
+ return data;
3200
+ }
3181
3201
  },
3182
3202
  copyData(data, old, index, count) {
3183
3203
  for (let i = index, end = index + count; i < end; i++) {
@@ -6835,7 +6855,7 @@ class LeafLevelList {
6835
6855
  }
6836
6856
  }
6837
6857
 
6838
- const version = "1.10.0";
6858
+ const version = "1.11.0";
6839
6859
 
6840
6860
  class LeaferCanvas extends LeaferCanvasBase {
6841
6861
  get allowBackgroundColor() {
@@ -7805,7 +7825,9 @@ const {parse: parse, objectToCanvasData: objectToCanvasData} = PathConvert;
7805
7825
 
7806
7826
  const {stintSet: stintSet$3} = DataHelper, {hasTransparent: hasTransparent$2} = ColorConvert;
7807
7827
 
7808
- const emptyPaint = {};
7828
+ const emptyPaint = {
7829
+ originPaint: {}
7830
+ };
7809
7831
 
7810
7832
  const debug$5 = Debug.get("UIData");
7811
7833
 
@@ -8344,7 +8366,7 @@ let UI = UI_1 = class UI extends Leaf {
8344
8366
  drawer.roundRect(x, y, width, height, isNumber(cornerRadius) ? [ cornerRadius ] : cornerRadius);
8345
8367
  } else drawer.rect(x, y, width, height);
8346
8368
  }
8347
- drawImagePlaceholder(_image, canvas, renderOptions) {
8369
+ drawImagePlaceholder(_paint, canvas, renderOptions) {
8348
8370
  Paint.fill(this.__.placeholderColor, this, canvas, renderOptions);
8349
8371
  }
8350
8372
  animate(keyframe, _options, _type, _isTemp) {
@@ -9029,7 +9051,7 @@ let Box = class Box extends Group {
9029
9051
  const data = this.__, layout = this.__layout, {renderBounds: renderBounds, boxBounds: boxBounds} = layout, {overflow: overflow} = data;
9030
9052
  const childrenRenderBounds = layout.childrenRenderBounds || (layout.childrenRenderBounds = getBoundsData());
9031
9053
  super.__updateRenderBounds(childrenRenderBounds);
9032
- if (isScrollMode = overflow.includes("scroll")) {
9054
+ if (isScrollMode = overflow && overflow.includes("scroll")) {
9033
9055
  add(childrenRenderBounds, boxBounds);
9034
9056
  scroll(childrenRenderBounds, data);
9035
9057
  }
@@ -10229,10 +10251,12 @@ class Dragger {
10229
10251
  if (throughPath) this.dragData.throughPath = throughPath;
10230
10252
  this.dragData.path = path;
10231
10253
  if (this.moving) {
10254
+ data.moving = true;
10232
10255
  this.dragData.moveType = "drag";
10233
10256
  interaction.emit(MoveEvent.BEFORE_MOVE, this.dragData);
10234
10257
  interaction.emit(MoveEvent.MOVE, this.dragData);
10235
10258
  } else if (this.dragging) {
10259
+ data.dragging = true;
10236
10260
  this.dragReal();
10237
10261
  interaction.emit(DragEvent.BEFORE_DRAG, this.dragData);
10238
10262
  interaction.emit(DragEvent.DRAG, this.dragData);
@@ -10339,13 +10363,9 @@ function emit$1(type, data, path, excludePath) {
10339
10363
  if (!path && !data.path) return;
10340
10364
  let leaf;
10341
10365
  data.type = type;
10342
- if (path) {
10343
- data = Object.assign(Object.assign({}, data), {
10344
- path: path
10345
- });
10346
- } else {
10347
- path = data.path;
10348
- }
10366
+ if (path) data = Object.assign(Object.assign({}, data), {
10367
+ path: path
10368
+ }); else path = data.path;
10349
10369
  data.target = path.indexAt(0);
10350
10370
  try {
10351
10371
  for (let i = path.length - 1; i > -1; i--) {
@@ -11097,30 +11117,31 @@ function fill(fill, ui, canvas, renderOptions) {
11097
11117
  }
11098
11118
 
11099
11119
  function fills(fills, ui, canvas, renderOptions) {
11100
- let item;
11120
+ let item, originPaint, countImage;
11101
11121
  for (let i = 0, len = fills.length; i < len; i++) {
11102
- item = fills[i];
11122
+ item = fills[i], originPaint = item.originPaint;
11103
11123
  if (item.image) {
11124
+ countImage ? countImage++ : countImage = 1;
11104
11125
  if (PaintImage.checkImage(item, !ui.__.__font, ui, canvas, renderOptions)) continue;
11105
11126
  if (!item.style) {
11106
- if (!i && item.image.isPlacehold) ui.drawImagePlaceholder(item.image, canvas, renderOptions);
11127
+ if (countImage === 1 && item.image.isPlacehold) ui.drawImagePlaceholder(item, canvas, renderOptions);
11107
11128
  continue;
11108
11129
  }
11109
11130
  }
11110
11131
  canvas.fillStyle = item.style;
11111
- if (item.transform || item.scaleFixed) {
11132
+ if (item.transform || originPaint.scaleFixed) {
11112
11133
  canvas.save();
11113
11134
  if (item.transform) canvas.transform(item.transform);
11114
- if (item.scaleFixed) {
11135
+ if (originPaint.scaleFixed) {
11115
11136
  const {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true);
11116
- if (item.scaleFixed === true || item.scaleFixed === "zoom-in" && scaleX > 1 && scaleY > 1) canvas.scale(1 / scaleX, 1 / scaleY);
11137
+ if (originPaint.scaleFixed === true || originPaint.scaleFixed === "zoom-in" && scaleX > 1 && scaleY > 1) canvas.scale(1 / scaleX, 1 / scaleY);
11117
11138
  }
11118
- if (item.blendMode) canvas.blendMode = item.blendMode;
11139
+ if (originPaint.blendMode) canvas.blendMode = originPaint.blendMode;
11119
11140
  fillPathOrText(ui, canvas, renderOptions);
11120
11141
  canvas.restore();
11121
11142
  } else {
11122
- if (item.blendMode) {
11123
- canvas.saveBlendMode(item.blendMode);
11143
+ if (originPaint.blendMode) {
11144
+ canvas.saveBlendMode(originPaint.blendMode);
11124
11145
  fillPathOrText(ui, canvas, renderOptions);
11125
11146
  canvas.restoreBlendMode();
11126
11147
  } else fillPathOrText(ui, canvas, renderOptions);
@@ -11273,8 +11294,8 @@ function drawStrokesStyle(strokes, strokeWidthScale, isText, ui, canvas, renderO
11273
11294
  const {strokeStyle: strokeStyle} = item;
11274
11295
  strokeStyle ? canvas.setStroke(item.style, data.__getRealStrokeWidth(strokeStyle) * strokeWidthScale, data, strokeStyle) : canvas.setStroke(item.style, data.__strokeWidth * strokeWidthScale, data);
11275
11296
  } else canvas.strokeStyle = item.style;
11276
- if (item.blendMode) {
11277
- canvas.saveBlendMode(item.blendMode);
11297
+ if (item.originPaint.blendMode) {
11298
+ canvas.saveBlendMode(item.originPaint.blendMode);
11278
11299
  isText ? Paint.drawTextStroke(ui, canvas, renderOptions) : canvas.stroke();
11279
11300
  canvas.restoreBlendMode();
11280
11301
  } else {
@@ -11371,62 +11392,63 @@ function compute(attrName, ui) {
11371
11392
  if (leafPaints.some(item => item.image)) isAlphaPixel = true;
11372
11393
  isTransparent = true;
11373
11394
  }
11374
- }
11375
- if (attrName === "fill") {
11376
- stintSet(data, "__isAlphaPixelFill", isAlphaPixel);
11377
- stintSet(data, "__isTransparentFill", isTransparent);
11395
+ if (attrName === "fill") {
11396
+ stintSet(data, "__isAlphaPixelFill", isAlphaPixel);
11397
+ stintSet(data, "__isTransparentFill", isTransparent);
11398
+ } else {
11399
+ stintSet(data, "__isAlphaPixelStroke", isAlphaPixel);
11400
+ stintSet(data, "__isTransparentStroke", isTransparent);
11401
+ stintSet(data, "__hasMultiStrokeStyle", maxChildStrokeWidth);
11402
+ }
11378
11403
  } else {
11379
- stintSet(data, "__isAlphaPixelStroke", isAlphaPixel);
11380
- stintSet(data, "__isTransparentStroke", isTransparent);
11381
- stintSet(data, "__hasMultiStrokeStyle", maxChildStrokeWidth);
11404
+ data.__removePaint(attrName, false);
11382
11405
  }
11383
11406
  }
11384
11407
 
11385
11408
  function getLeafPaint(attrName, paint, ui) {
11386
11409
  if (!isObject(paint) || paint.visible === false || paint.opacity === 0) return undefined;
11387
- let data;
11410
+ let leafPaint;
11388
11411
  const {boxBounds: boxBounds} = ui.__layout;
11389
11412
  switch (paint.type) {
11390
11413
  case "image":
11391
- data = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
11414
+ leafPaint = PaintImage.image(ui, attrName, paint, boxBounds, !recycleMap || !recycleMap[paint.url]);
11392
11415
  break;
11393
11416
 
11394
11417
  case "linear":
11395
- data = PaintGradient.linearGradient(paint, boxBounds);
11418
+ leafPaint = PaintGradient.linearGradient(paint, boxBounds);
11396
11419
  break;
11397
11420
 
11398
11421
  case "radial":
11399
- data = PaintGradient.radialGradient(paint, boxBounds);
11422
+ leafPaint = PaintGradient.radialGradient(paint, boxBounds);
11400
11423
  break;
11401
11424
 
11402
11425
  case "angular":
11403
- data = PaintGradient.conicGradient(paint, boxBounds);
11426
+ leafPaint = PaintGradient.conicGradient(paint, boxBounds);
11404
11427
  break;
11405
11428
 
11406
11429
  case "solid":
11407
11430
  const {type: type, color: color, opacity: opacity} = paint;
11408
- data = {
11431
+ leafPaint = {
11409
11432
  type: type,
11410
11433
  style: ColorConvert.string(color, opacity)
11411
11434
  };
11412
11435
  break;
11413
11436
 
11414
11437
  default:
11415
- if (!isUndefined(paint.r)) data = {
11438
+ if (!isUndefined(paint.r)) leafPaint = {
11416
11439
  type: "solid",
11417
11440
  style: ColorConvert.string(paint)
11418
11441
  };
11419
11442
  }
11420
- if (data) {
11421
- if (isString(data.style) && hasTransparent$1(data.style)) data.isTransparent = true;
11443
+ if (leafPaint) {
11444
+ leafPaint.originPaint = paint;
11445
+ if (isString(leafPaint.style) && hasTransparent$1(leafPaint.style)) leafPaint.isTransparent = true;
11422
11446
  if (paint.style) {
11423
11447
  if (paint.style.strokeWidth === 0) return undefined;
11424
- data.strokeStyle = paint.style;
11448
+ leafPaint.strokeStyle = paint.style;
11425
11449
  }
11426
- if (paint.editing) data.editing = paint.editing;
11427
- if (paint.blendMode) data.blendMode = paint.blendMode;
11428
11450
  }
11429
- return data;
11451
+ return leafPaint;
11430
11452
  }
11431
11453
 
11432
11454
  const PaintModule = {
@@ -11559,10 +11581,6 @@ const tempScaleData = {};
11559
11581
  const tempImage = {};
11560
11582
 
11561
11583
  function createData(leafPaint, image, paint, box) {
11562
- const {changeful: changeful, sync: sync, scaleFixed: scaleFixed} = paint;
11563
- if (changeful) leafPaint.changeful = changeful;
11564
- if (sync) leafPaint.sync = sync;
11565
- if (scaleFixed) leafPaint.scaleFixed = scaleFixed;
11566
11584
  leafPaint.data = PaintImage.getPatternData(paint, box, image);
11567
11585
  }
11568
11586
 
@@ -11789,14 +11807,14 @@ function getPatternFixScale(paint, imageScaleX, imageScaleY) {
11789
11807
 
11790
11808
  function checkImage(paint, drawImage, ui, canvas, renderOptions) {
11791
11809
  const {scaleX: scaleX, scaleY: scaleY} = PaintImage.getImageRenderScaleData(paint, ui, canvas, renderOptions);
11792
- const {image: image, data: data} = paint, {exporting: exporting} = renderOptions;
11810
+ const {image: image, data: data, originPaint: originPaint} = paint, {exporting: exporting} = renderOptions;
11793
11811
  if (!data || paint.patternId === scaleX + "-" + scaleY && !exporting) {
11794
11812
  return false;
11795
11813
  } else {
11796
11814
  if (drawImage) {
11797
11815
  if (data.repeat) {
11798
11816
  drawImage = false;
11799
- } else if (!(paint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
11817
+ } else if (!(originPaint.changeful || Platform.name === "miniapp" && ResizeEvent.isResizing(ui) || exporting)) {
11800
11818
  drawImage = Platform.image.isLarge(image, scaleX, scaleY);
11801
11819
  }
11802
11820
  }
@@ -11808,16 +11826,16 @@ function checkImage(paint, drawImage, ui, canvas, renderOptions) {
11808
11826
  PaintImage.drawImage(paint, scaleX, scaleY, ui, canvas, renderOptions);
11809
11827
  return true;
11810
11828
  } else {
11811
- if (!paint.style || paint.sync || exporting) PaintImage.createPattern(paint, ui, canvas, renderOptions); else PaintImage.createPatternTask(paint, ui, canvas, renderOptions);
11829
+ if (!paint.style || originPaint.sync || exporting) PaintImage.createPattern(paint, ui, canvas, renderOptions); else PaintImage.createPatternTask(paint, ui, canvas, renderOptions);
11812
11830
  return false;
11813
11831
  }
11814
11832
  }
11815
11833
  }
11816
11834
 
11817
11835
  function drawImage(paint, _imageScaleX, _imageScaleY, ui, canvas, _renderOptions) {
11818
- const {data: data, image: image, blendMode: blendMode} = paint, {opacity: opacity, transform: transform} = data, view = image.getFull(data.filters), u = ui.__;
11836
+ const {data: data, image: image} = paint, {blendMode: blendMode} = paint.originPaint, {opacity: opacity, transform: transform} = data, view = image.getFull(data.filters), u = ui.__;
11819
11837
  let {width: width, height: height} = image, clipUI;
11820
- if (transform && !transform.onlyScale || (clipUI = u.path || u.cornerRadius) || opacity || blendMode) {
11838
+ if ((clipUI = transform && !transform.onlyScale || u.path || u.cornerRadius) || opacity || blendMode) {
11821
11839
  canvas.save();
11822
11840
  clipUI && canvas.clipUI(ui);
11823
11841
  blendMode && (canvas.blendMode = blendMode);
@@ -11832,7 +11850,7 @@ function drawImage(paint, _imageScaleX, _imageScaleY, ui, canvas, _renderOptions
11832
11850
  }
11833
11851
 
11834
11852
  function getImageRenderScaleData(paint, ui, canvas, _renderOptions) {
11835
- const scaleData = ui.getRenderScaleData(true, paint.scaleFixed), {data: data} = paint;
11853
+ const scaleData = ui.getRenderScaleData(true, paint.originPaint.scaleFixed), {data: data} = paint;
11836
11854
  if (canvas) {
11837
11855
  const {pixelRatio: pixelRatio} = canvas;
11838
11856
  scaleData.scaleX *= pixelRatio;
@@ -14753,6 +14771,9 @@ let Editor = class Editor extends Group {
14753
14771
  hasItem(item) {
14754
14772
  return this.leafList.has(item);
14755
14773
  }
14774
+ getItem(index) {
14775
+ return this.list[index || 0];
14776
+ }
14756
14777
  addItem(item) {
14757
14778
  if (!this.hasItem(item) && !item.locked) this.leafList.add(item), this.target = this.leafList.list;
14758
14779
  }
@@ -15597,6 +15618,7 @@ let TextEditor = class TextEditor extends InnerEditor {
15597
15618
  this._keyEvent = config.keyEvent;
15598
15619
  config.keyEvent = false;
15599
15620
  const div = this.editDom = document.createElement("div");
15621
+ div.classList.add("leafer-text-editor");
15600
15622
  const {style: style} = div;
15601
15623
  div.contentEditable = "true";
15602
15624
  style.position = "fixed";
@@ -15629,8 +15651,10 @@ let TextEditor = class TextEditor extends InnerEditor {
15629
15651
  range.selectNodeContents(div);
15630
15652
  } else {
15631
15653
  const node = div.childNodes[0];
15632
- range.setStartAfter(node);
15633
- range.setEndAfter(node);
15654
+ if (node) {
15655
+ range.setStartAfter(node);
15656
+ range.setEndAfter(node);
15657
+ }
15634
15658
  range.collapse(true);
15635
15659
  }
15636
15660
  selection.removeAllRanges();
@@ -16617,8 +16641,9 @@ function arrowType(defaultValue) {
16617
16641
  set(value) {
16618
16642
  if (this.__setAttr(key, value)) {
16619
16643
  const data = this.__;
16620
- data.__useArrow = data.startArrow !== "none" || data.endArrow !== "none";
16621
16644
  doStrokeType(this);
16645
+ const useArrow = data.startArrow !== "none" || data.endArrow !== "none";
16646
+ if (useArrow || data.__useArrow !== useArrow) doBoundsType(this);
16622
16647
  }
16623
16648
  }
16624
16649
  }));
@@ -19881,4 +19906,4 @@ Plugin.add("bright");
19881
19906
 
19882
19907
  UI.addAttr("bright", false, dimType);
19883
19908
 
19884
- export { AlignHelper, Animate, AnimateEasing, AnimateEvent, AnimateList, Answer, App, AroundHelper, Arrow, ArrowData, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragBoundsHelper, DragEvent, Dragger, DropEvent, EditBox, EditDataHelper, EditPoint, EditSelect, EditSelectHelper, EditTool, EditToolCreator, Editor, EditorEvent, EditorGroupEvent, EditorHelper, EditorMoveEvent, EditorRotateEvent, EditorScaleEvent, EditorSkewEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Finder, Flow, FourNumberHelper, Frame, FrameData, Group, GroupData, HTMLText, HTMLTextData, HighBezierHelper, HighCurveHelper, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InnerEditor, InnerEditorEvent, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, LeaferTypeCreator, Line, LineData, LineEditTool, MathHelper, Matrix, MatrixHelper, MoveEvent, MultiTouchHelper, MyDragEvent, MyImage, MyPointerEvent, MyTouchEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathArrowModule, PathBounds, PathCommandDataHelper, PathCommandMap, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathMatrixHelper, PathNumberCommandLengthMap, PathNumberCommandMap, PathScaler, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Robot, RobotData, RotateEvent, Run, ScrollBar, SelectArea, Selector, Star, StarData, State, StringNumberMap, Stroker, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TextEditor, TouchEvent, TransformTool, Transformer, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, WheelEventHelper, ZoomEvent, addViewport, addViewportConfig, affectRenderBoundsType, affectStrokeBoundsType, arrowType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, dimType, doBoundsType, doStrokeType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite$1 as isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, motionPathType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerEditTool, registerInnerEditor, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleResize, scaleResizeFontSize, scaleResizeGroup, scaleResizePath, scaleResizePoints, scaleType, scrollType, sortType, stateStyleType, stateType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$3 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };
19909
+ export { AlignHelper, Animate, AnimateEasing, AnimateEvent, AnimateList, Answer, App, AroundHelper, Arrow, ArrowData, AutoBounds, BezierHelper, Bounds, BoundsEvent, BoundsHelper, Box, BoxData, Branch, BranchHelper, BranchRender, Canvas, CanvasData, CanvasManager, ChildEvent, ColorConvert, Creator, Cursor, DataHelper, Debug, Direction4, Direction9, DragBoundsHelper, DragEvent, Dragger, DropEvent, EditBox, EditDataHelper, EditPoint, EditSelect, EditSelectHelper, EditTool, EditToolCreator, Editor, EditorEvent, EditorGroupEvent, EditorHelper, EditorMoveEvent, EditorRotateEvent, EditorScaleEvent, EditorSkewEvent, Effect, Ellipse, EllipseData, EllipseHelper, Event, EventCreator, Eventer, Export, FileHelper, Filter, Finder, Flow, FourNumberHelper, Frame, FrameData, Group, GroupData, HTMLText, HTMLTextData, HighBezierHelper, HighCurveHelper, HitCanvasManager, Image, ImageData, ImageEvent, ImageManager, IncrementId, InnerEditor, InnerEditorEvent, InteractionBase, InteractionHelper, KeyEvent, Keyboard, LayoutEvent, Layouter, Leaf, LeafBounds, LeafBoundsHelper, LeafData, LeafDataProxy, LeafEventer, LeafHelper, LeafLayout, LeafLevelList, LeafList, LeafMatrix, LeafRender, Leafer, LeaferCanvas, LeaferCanvasBase, LeaferData, LeaferEvent, LeaferImage, LeaferTypeCreator, Line, LineData, LineEditTool, MathHelper, Matrix, MatrixHelper, MoveEvent, MultiTouchHelper, MyDragEvent, MyImage, MyPointerEvent, MyTouchEvent, NeedConvertToCanvasCommandMap, OneRadian, PI2, PI_2, Paint, PaintGradient, PaintImage, Path, PathArrow, PathArrowModule, PathBounds, PathCommandDataHelper, PathCommandMap, PathCommandNodeHelper, PathConvert, PathCorner, PathCreator, PathData, PathDrawer, PathHelper, PathMatrixHelper, PathNumberCommandLengthMap, PathNumberCommandMap, PathScaler, Pen, PenData, Picker, Platform, Plugin, Point, PointHelper, PointerButton, PointerEvent, Polygon, PolygonData, PropertyEvent, Rect, RectData, RectHelper, RectRender, RenderEvent, Renderer, ResizeEvent, Resource, Robot, RobotData, RotateEvent, Run, ScrollBar, SelectArea, Selector, Star, StarData, State, StringNumberMap, Stroker, SwipeEvent, TaskItem, TaskProcessor, Text, TextConvert, TextData, TextEditor, TouchEvent, TransformTool, Transformer, Transition, TwoPointBoundsHelper, UI, UIBounds, UICreator, UIData, UIEvent, UIRender, UnitConvert, WaitHelper, WatchEvent, Watcher, WheelEventHelper, ZoomEvent, addViewport, addViewportConfig, affectRenderBoundsType, affectStrokeBoundsType, arrowType, attr, autoLayoutType, boundsType, canvasPatch, canvasSizeAttrs, createAttr, createDescriptor, cursorType, dataProcessor, dataType, decorateLeafAttr, defineDataProcessor, defineKey, defineLeafAttr, dimType, doBoundsType, doStrokeType, effectType, emptyData, eraserType, extraPropertyEventMap, getBoundsData, getDescriptor, getMatrixData, getPointData, hitType, isArray, isData, isEmptyData, isFinite$1 as isFinite, isNull, isNumber, isObject, isString, isUndefined, layoutProcessor, leaferTransformAttrMap, maskType, motionPathType, naturalBoundsType, opacityType, path, pathInputType, pathType, pen, positionType, registerEditTool, registerInnerEditor, registerUI, registerUIEvent, resizeType, rewrite, rewriteAble, rotationType, scaleResize, scaleResizeFontSize, scaleResizeGroup, scaleResizePath, scaleResizePoints, scaleType, scrollType, sortType, stateStyleType, stateType, strokeType, surfaceType, tempBounds$2 as tempBounds, tempMatrix$2 as tempMatrix, tempPoint$3 as tempPoint, tryToNumber, useCanvas, useModule, version, visibleType, zoomLayerType };