@leafer-ui/miniapp 1.9.9 → 1.9.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/miniapp.cjs +46 -23
- package/dist/miniapp.esm.js +46 -23
- package/dist/miniapp.esm.min.js +1 -1
- package/dist/miniapp.esm.min.js.map +1 -1
- package/dist/miniapp.min.cjs +1 -1
- package/dist/miniapp.min.cjs.map +1 -1
- package/dist/miniapp.module.js +194 -135
- package/dist/miniapp.module.min.js +1 -1
- package/dist/miniapp.module.min.js.map +1 -1
- package/package.json +12 -12
package/dist/miniapp.module.js
CHANGED
|
@@ -249,7 +249,7 @@ class LeafData {
|
|
|
249
249
|
|
|
250
250
|
let tempA, tempB, tempTo;
|
|
251
251
|
|
|
252
|
-
const {max: max$
|
|
252
|
+
const {max: max$5} = Math, tempFour = [ 0, 0, 0, 0 ];
|
|
253
253
|
|
|
254
254
|
const FourNumberHelper = {
|
|
255
255
|
zero: [ ...tempFour ],
|
|
@@ -263,7 +263,7 @@ const FourNumberHelper = {
|
|
|
263
263
|
return to;
|
|
264
264
|
},
|
|
265
265
|
setTemp(top, right, bottom, left) {
|
|
266
|
-
return set$
|
|
266
|
+
return set$2(tempFour, top, right, bottom, left);
|
|
267
267
|
},
|
|
268
268
|
toTempAB(a, b, change) {
|
|
269
269
|
tempTo = change ? isNumber(a) ? b : a : [];
|
|
@@ -301,24 +301,24 @@ const FourNumberHelper = {
|
|
|
301
301
|
return data;
|
|
302
302
|
},
|
|
303
303
|
max(t, other, change) {
|
|
304
|
-
if (isNumber(t) && isNumber(other)) return max$
|
|
304
|
+
if (isNumber(t) && isNumber(other)) return max$5(t, other);
|
|
305
305
|
toTempAB(t, other, change);
|
|
306
|
-
return set$
|
|
306
|
+
return set$2(tempTo, max$5(tempA[0], tempB[0]), max$5(tempA[1], tempB[1]), max$5(tempA[2], tempB[2]), max$5(tempA[3], tempB[3]));
|
|
307
307
|
},
|
|
308
308
|
add(t, other, change) {
|
|
309
309
|
if (isNumber(t) && isNumber(other)) return t + other;
|
|
310
310
|
toTempAB(t, other, change);
|
|
311
|
-
return set$
|
|
311
|
+
return set$2(tempTo, tempA[0] + tempB[0], tempA[1] + tempB[1], tempA[2] + tempB[2], tempA[3] + tempB[3]);
|
|
312
312
|
},
|
|
313
313
|
swapAndScale(t, scaleX, scaleY, change) {
|
|
314
314
|
if (isNumber(t)) return scaleX === scaleY ? t * scaleX : [ t * scaleY, t * scaleX ];
|
|
315
315
|
const to = change ? t : [];
|
|
316
316
|
const [top, right, bottom, left] = t.length === 4 ? t : get$5(t);
|
|
317
|
-
return set$
|
|
317
|
+
return set$2(to, bottom * scaleY, left * scaleX, top * scaleY, right * scaleX);
|
|
318
318
|
}
|
|
319
319
|
};
|
|
320
320
|
|
|
321
|
-
const {set: set$
|
|
321
|
+
const {set: set$2, get: get$5, setTemp: setTemp, toTempAB: toTempAB} = FourNumberHelper;
|
|
322
322
|
|
|
323
323
|
const {round: round$3, pow: pow$1, PI: PI$3} = Math;
|
|
324
324
|
|
|
@@ -720,7 +720,7 @@ const M$6 = MatrixHelper;
|
|
|
720
720
|
|
|
721
721
|
const {toInnerPoint: toInnerPoint$2, toOuterPoint: toOuterPoint$3} = MatrixHelper;
|
|
722
722
|
|
|
723
|
-
const {sin: sin$4, cos: cos$4, abs: abs$
|
|
723
|
+
const {sin: sin$4, cos: cos$4, abs: abs$5, sqrt: sqrt$2, atan2: atan2$2, min: min$2, round: round$2} = Math;
|
|
724
724
|
|
|
725
725
|
const PointHelper = {
|
|
726
726
|
defaultPoint: getPointData(),
|
|
@@ -813,12 +813,12 @@ const PointHelper = {
|
|
|
813
813
|
return getDistanceFrom(t.x, t.y, point.x, point.y);
|
|
814
814
|
},
|
|
815
815
|
getDistanceFrom(x1, y1, x2, y2) {
|
|
816
|
-
const x = abs$
|
|
817
|
-
const y = abs$
|
|
816
|
+
const x = abs$5(x2 - x1);
|
|
817
|
+
const y = abs$5(y2 - y1);
|
|
818
818
|
return sqrt$2(x * x + y * y);
|
|
819
819
|
},
|
|
820
820
|
getMinDistanceFrom(x1, y1, x2, y2, x3, y3) {
|
|
821
|
-
return min$
|
|
821
|
+
return min$2(getDistanceFrom(x1, y1, x2, y2), getDistanceFrom(x2, y2, x3, y3));
|
|
822
822
|
},
|
|
823
823
|
getAngle(t, to) {
|
|
824
824
|
return getAtan2(t, to) / OneRadian;
|
|
@@ -2592,11 +2592,11 @@ const RectHelper = {
|
|
|
2592
2592
|
}
|
|
2593
2593
|
};
|
|
2594
2594
|
|
|
2595
|
-
const {sin: sin$3, cos: cos$3, hypot: hypot, atan2: atan2$1, ceil: ceil$1, abs: abs$
|
|
2595
|
+
const {sin: sin$3, cos: cos$3, hypot: hypot, atan2: atan2$1, ceil: ceil$1, abs: abs$4, PI: PI$2, sqrt: sqrt$1, pow: pow} = Math;
|
|
2596
2596
|
|
|
2597
2597
|
const {setPoint: setPoint$1, addPoint: addPoint$1} = TwoPointBoundsHelper;
|
|
2598
2598
|
|
|
2599
|
-
const {set: set, toNumberPoints: toNumberPoints} = PointHelper;
|
|
2599
|
+
const {set: set$1, toNumberPoints: toNumberPoints} = PointHelper;
|
|
2600
2600
|
|
|
2601
2601
|
const {M: M$5, L: L$6, C: C$4, Q: Q$4, Z: Z$5} = PathCommandMap;
|
|
2602
2602
|
|
|
@@ -2667,14 +2667,14 @@ const BezierHelper = {
|
|
|
2667
2667
|
const lenCB = hypot(CBx, CBy);
|
|
2668
2668
|
let totalRadian = endRadian - startRadian;
|
|
2669
2669
|
if (totalRadian < 0) totalRadian += PI2;
|
|
2670
|
-
if (lenBA < 1e-12 || lenCB < 1e-12 || totalRadian < 1e-12 || abs$
|
|
2670
|
+
if (lenBA < 1e-12 || lenCB < 1e-12 || totalRadian < 1e-12 || abs$4(totalRadian - PI$2) < 1e-12) {
|
|
2671
2671
|
if (data) data.push(L$6, x1, y1);
|
|
2672
2672
|
if (setPointBounds) {
|
|
2673
2673
|
setPoint$1(setPointBounds, fromX, fromY);
|
|
2674
2674
|
addPoint$1(setPointBounds, x1, y1);
|
|
2675
2675
|
}
|
|
2676
|
-
if (setStartPoint) set(setStartPoint, fromX, fromY);
|
|
2677
|
-
if (setEndPoint) set(setEndPoint, x1, y1);
|
|
2676
|
+
if (setStartPoint) set$1(setStartPoint, fromX, fromY);
|
|
2677
|
+
if (setEndPoint) set$1(setEndPoint, x1, y1);
|
|
2678
2678
|
return;
|
|
2679
2679
|
}
|
|
2680
2680
|
const anticlockwise = BAx * CBy - CBx * BAy < 0;
|
|
@@ -2700,7 +2700,7 @@ const BezierHelper = {
|
|
|
2700
2700
|
let totalRadian = endRadian - startRadian;
|
|
2701
2701
|
if (totalRadian < 0) totalRadian += PI2; else if (totalRadian > PI2) totalRadian -= PI2;
|
|
2702
2702
|
if (anticlockwise) totalRadian -= PI2;
|
|
2703
|
-
const parts = ceil$1(abs$
|
|
2703
|
+
const parts = ceil$1(abs$4(totalRadian / PI_2));
|
|
2704
2704
|
const partRadian = totalRadian / parts;
|
|
2705
2705
|
const partRadian4Sin = sin$3(partRadian / 4);
|
|
2706
2706
|
const control = 8 / 3 * partRadian4Sin * partRadian4Sin / sin$3(partRadian / 2);
|
|
@@ -2714,7 +2714,7 @@ const BezierHelper = {
|
|
|
2714
2714
|
let fromX = cx + x, fromY = cy + y;
|
|
2715
2715
|
if (data) data.push(data.length ? L$6 : M$5, fromX, fromY);
|
|
2716
2716
|
if (setPointBounds) setPoint$1(setPointBounds, fromX, fromY);
|
|
2717
|
-
if (setStartPoint) set(setStartPoint, fromX, fromY);
|
|
2717
|
+
if (setStartPoint) set$1(setStartPoint, fromX, fromY);
|
|
2718
2718
|
for (let i = 0; i < parts; i++) {
|
|
2719
2719
|
endCos = cos$3(endRadian);
|
|
2720
2720
|
endSin = sin$3(endRadian);
|
|
@@ -2733,7 +2733,7 @@ const BezierHelper = {
|
|
|
2733
2733
|
startRadian = endRadian;
|
|
2734
2734
|
endRadian += partRadian;
|
|
2735
2735
|
}
|
|
2736
|
-
if (setEndPoint) set(setEndPoint, cx + x, cy + y);
|
|
2736
|
+
if (setEndPoint) set$1(setEndPoint, cx + x, cy + y);
|
|
2737
2737
|
},
|
|
2738
2738
|
quadraticCurveTo(data, fromX, fromY, x1, y1, toX, toY) {
|
|
2739
2739
|
data.push(C$4, (fromX + 2 * x1) / 3, (fromY + 2 * y1) / 3, (toX + 2 * x1) / 3, (toY + 2 * y1) / 3, toX, toY);
|
|
@@ -3167,7 +3167,7 @@ const {M: M$3, L: L$4, C: C$2, Q: Q$2, Z: Z$3, N: N$2, D: D$3, X: X$2, G: G$2, F
|
|
|
3167
3167
|
|
|
3168
3168
|
const {getMinDistanceFrom: getMinDistanceFrom, getRadianFrom: getRadianFrom} = PointHelper;
|
|
3169
3169
|
|
|
3170
|
-
const {tan: tan, min: min, abs: abs$
|
|
3170
|
+
const {tan: tan, min: min$1, abs: abs$3} = Math;
|
|
3171
3171
|
|
|
3172
3172
|
const startPoint = {};
|
|
3173
3173
|
|
|
@@ -3225,7 +3225,7 @@ const PathCommandDataHelper = {
|
|
|
3225
3225
|
arcTo(data, x1, y1, x2, y2, radius, lastX, lastY) {
|
|
3226
3226
|
if (!isUndefined(lastX)) {
|
|
3227
3227
|
const d = getMinDistanceFrom(lastX, lastY, x1, y1, x2, y2);
|
|
3228
|
-
radius = min(radius, min(d / 2, d / 2 * abs$
|
|
3228
|
+
radius = min$1(radius, min$1(d / 2, d / 2 * abs$3(tan(getRadianFrom(lastX, lastY, x1, y1, x2, y2) / 2))));
|
|
3229
3229
|
}
|
|
3230
3230
|
data.push(U$2, x1, y1, x2, y2, radius);
|
|
3231
3231
|
},
|
|
@@ -3840,7 +3840,12 @@ class TaskProcessor {
|
|
|
3840
3840
|
runTask() {
|
|
3841
3841
|
const task = this.list[this.index];
|
|
3842
3842
|
if (!task) {
|
|
3843
|
-
this.nextTask();
|
|
3843
|
+
this.timer = setTimeout(() => this.nextTask());
|
|
3844
|
+
return;
|
|
3845
|
+
}
|
|
3846
|
+
if (task.isCancel) {
|
|
3847
|
+
this.index++;
|
|
3848
|
+
this.runTask();
|
|
3844
3849
|
return;
|
|
3845
3850
|
}
|
|
3846
3851
|
task.run().then(() => {
|
|
@@ -3871,16 +3876,15 @@ class TaskProcessor {
|
|
|
3871
3876
|
}
|
|
3872
3877
|
setParallelList() {
|
|
3873
3878
|
let task;
|
|
3879
|
+
const {config: config, list: list, index: index} = this;
|
|
3874
3880
|
this.parallelList = [];
|
|
3875
3881
|
this.parallelSuccessNumber = 0;
|
|
3876
|
-
let end =
|
|
3877
|
-
if (end >
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
this.parallelList.push(task);
|
|
3882
|
-
} else {
|
|
3883
|
-
break;
|
|
3882
|
+
let end = index + config.parallel;
|
|
3883
|
+
if (end > list.length) end = list.length;
|
|
3884
|
+
if (config.parallel > 1) {
|
|
3885
|
+
for (let i = index; i < end; i++) {
|
|
3886
|
+
task = list[i];
|
|
3887
|
+
if (task.parallel) this.parallelList.push(task); else break;
|
|
3884
3888
|
}
|
|
3885
3889
|
}
|
|
3886
3890
|
}
|
|
@@ -4023,7 +4027,7 @@ const I$1 = ImageManager;
|
|
|
4023
4027
|
|
|
4024
4028
|
const {IMAGE: IMAGE, create: create$1} = IncrementId;
|
|
4025
4029
|
|
|
4026
|
-
const {floor: floor$1, max: max$
|
|
4030
|
+
const {floor: floor$1, max: max$4} = Math;
|
|
4027
4031
|
|
|
4028
4032
|
class LeaferImage {
|
|
4029
4033
|
get url() {
|
|
@@ -4112,7 +4116,7 @@ class LeaferImage {
|
|
|
4112
4116
|
}
|
|
4113
4117
|
if (data) return data;
|
|
4114
4118
|
}
|
|
4115
|
-
const canvas = Platform.origin.createCanvas(max$
|
|
4119
|
+
const canvas = Platform.origin.createCanvas(max$4(floor$1(width + (xGap || 0)), 1), max$4(floor$1(height + (yGap || 0)), 1));
|
|
4116
4120
|
const ctx = canvas.getContext("2d");
|
|
4117
4121
|
if (opacity) ctx.globalAlpha = opacity;
|
|
4118
4122
|
ctx.imageSmoothingEnabled = smooth === false ? false : true;
|
|
@@ -6815,7 +6819,7 @@ class LeafLevelList {
|
|
|
6815
6819
|
}
|
|
6816
6820
|
}
|
|
6817
6821
|
|
|
6818
|
-
const version = "1.9.
|
|
6822
|
+
const version = "1.9.11";
|
|
6819
6823
|
|
|
6820
6824
|
class LeaferCanvas extends LeaferCanvasBase {
|
|
6821
6825
|
get allowBackgroundColor() {
|
|
@@ -7634,7 +7638,7 @@ class Picker {
|
|
|
7634
7638
|
children: [ target ]
|
|
7635
7639
|
} : target);
|
|
7636
7640
|
const {list: list} = this.findList;
|
|
7637
|
-
const leaf = this.getBestMatchLeaf(list, options.bottomList, ignoreHittable);
|
|
7641
|
+
const leaf = this.getBestMatchLeaf(list, options.bottomList, ignoreHittable, !!options.findList);
|
|
7638
7642
|
const path = ignoreHittable ? this.getPath(leaf) : this.getHitablePath(leaf);
|
|
7639
7643
|
this.clear();
|
|
7640
7644
|
return through ? {
|
|
@@ -7649,7 +7653,7 @@ class Picker {
|
|
|
7649
7653
|
hitPoint(hitPoint, hitRadius, options) {
|
|
7650
7654
|
return !!this.getByPoint(hitPoint, hitRadius, options).target;
|
|
7651
7655
|
}
|
|
7652
|
-
getBestMatchLeaf(list, bottomList, ignoreHittable) {
|
|
7656
|
+
getBestMatchLeaf(list, bottomList, ignoreHittable, allowNull) {
|
|
7653
7657
|
const findList = this.findList = new LeafList;
|
|
7654
7658
|
if (list.length) {
|
|
7655
7659
|
let find;
|
|
@@ -7680,15 +7684,27 @@ class Picker {
|
|
|
7680
7684
|
if (findList.length) return findList.list[0];
|
|
7681
7685
|
}
|
|
7682
7686
|
}
|
|
7687
|
+
if (allowNull) return null;
|
|
7683
7688
|
return ignoreHittable ? list[0] : list.find(item => LeafHelper.worldHittable(item));
|
|
7684
7689
|
}
|
|
7685
7690
|
getPath(leaf) {
|
|
7686
|
-
const path = new LeafList;
|
|
7691
|
+
const path = new LeafList, syncList = [], {target: target} = this;
|
|
7687
7692
|
while (leaf) {
|
|
7693
|
+
if (leaf.syncEventer) syncList.push(leaf.syncEventer);
|
|
7688
7694
|
path.add(leaf);
|
|
7689
7695
|
leaf = leaf.parent;
|
|
7696
|
+
if (leaf === target) break;
|
|
7697
|
+
}
|
|
7698
|
+
if (syncList.length) {
|
|
7699
|
+
syncList.forEach(item => {
|
|
7700
|
+
while (item) {
|
|
7701
|
+
if (item.__.hittable) path.add(item);
|
|
7702
|
+
item = item.parent;
|
|
7703
|
+
if (item === target) break;
|
|
7704
|
+
}
|
|
7705
|
+
});
|
|
7690
7706
|
}
|
|
7691
|
-
if (
|
|
7707
|
+
if (target) path.add(target);
|
|
7692
7708
|
return path;
|
|
7693
7709
|
}
|
|
7694
7710
|
getHitablePath(leaf) {
|
|
@@ -8186,12 +8202,12 @@ class ImageData extends RectData {
|
|
|
8186
8202
|
}
|
|
8187
8203
|
__getData() {
|
|
8188
8204
|
const data = super.__getData();
|
|
8189
|
-
delete data.fill;
|
|
8205
|
+
if (data.url) delete data.fill;
|
|
8190
8206
|
return data;
|
|
8191
8207
|
}
|
|
8192
8208
|
__getInputData(names, options) {
|
|
8193
8209
|
const data = super.__getInputData(names, options);
|
|
8194
|
-
delete data.fill;
|
|
8210
|
+
if (data.url) delete data.fill;
|
|
8195
8211
|
return data;
|
|
8196
8212
|
}
|
|
8197
8213
|
}
|
|
@@ -8210,7 +8226,7 @@ class CanvasData extends RectData {
|
|
|
8210
8226
|
}
|
|
8211
8227
|
}
|
|
8212
8228
|
|
|
8213
|
-
const {max: max$
|
|
8229
|
+
const {max: max$3, add: add$1} = FourNumberHelper;
|
|
8214
8230
|
|
|
8215
8231
|
const UIBounds = {
|
|
8216
8232
|
__updateStrokeSpread() {
|
|
@@ -8226,7 +8242,7 @@ const UIBounds = {
|
|
|
8226
8242
|
}
|
|
8227
8243
|
if (data.__useArrow) spread += strokeWidth * 5;
|
|
8228
8244
|
if (box) {
|
|
8229
|
-
spread = max$
|
|
8245
|
+
spread = max$3(spread, box.__layout.strokeSpread = box.__updateStrokeSpread());
|
|
8230
8246
|
boxSpread = Math.max(boxSpread, box.__layout.strokeBoxSpread);
|
|
8231
8247
|
}
|
|
8232
8248
|
this.__layout.strokeBoxSpread = boxSpread;
|
|
@@ -8236,86 +8252,18 @@ const UIBounds = {
|
|
|
8236
8252
|
let spread = 0;
|
|
8237
8253
|
const {shadow: shadow, innerShadow: innerShadow, blur: blur, backgroundBlur: backgroundBlur, filter: filter, renderSpread: renderSpread} = this.__, {strokeSpread: strokeSpread} = this.__layout, box = this.__box;
|
|
8238
8254
|
if (shadow) spread = Effect.getShadowRenderSpread(this, shadow);
|
|
8239
|
-
if (blur) spread = max$
|
|
8255
|
+
if (blur) spread = max$3(spread, blur);
|
|
8240
8256
|
if (filter) spread = add$1(spread, Filter.getSpread(filter));
|
|
8241
8257
|
if (renderSpread) spread = add$1(spread, renderSpread);
|
|
8242
8258
|
if (strokeSpread) spread = add$1(spread, strokeSpread);
|
|
8243
8259
|
let shapeSpread = spread;
|
|
8244
|
-
if (innerShadow) shapeSpread = max$
|
|
8245
|
-
if (backgroundBlur) shapeSpread = max$
|
|
8260
|
+
if (innerShadow) shapeSpread = max$3(shapeSpread, Effect.getInnerShadowSpread(this, innerShadow));
|
|
8261
|
+
if (backgroundBlur) shapeSpread = max$3(shapeSpread, backgroundBlur);
|
|
8246
8262
|
this.__layout.renderShapeSpread = shapeSpread;
|
|
8247
|
-
return box ? max$
|
|
8248
|
-
}
|
|
8249
|
-
};
|
|
8250
|
-
|
|
8251
|
-
const {float: float} = MathHelper;
|
|
8252
|
-
|
|
8253
|
-
const tempContent = new Bounds, tempMerge = new Bounds, tempIntersect = new Bounds;
|
|
8254
|
-
|
|
8255
|
-
const DragBoundsHelper = {
|
|
8256
|
-
limitMove(leaf, move) {
|
|
8257
|
-
const {dragBounds: dragBounds, dragBoundsType: dragBoundsType} = leaf;
|
|
8258
|
-
if (dragBounds) D.getValidMove(leaf.__localBoxBounds, D.getDragBounds(leaf), dragBoundsType, move, true);
|
|
8259
|
-
D.axisMove(leaf, move);
|
|
8260
|
-
},
|
|
8261
|
-
limitScaleOf(leaf, origin, scale) {
|
|
8262
|
-
const {dragBounds: dragBounds, dragBoundsType: dragBoundsType} = leaf;
|
|
8263
|
-
if (dragBounds) D.getValidScaleOf(leaf.__localBoxBounds, D.getDragBounds(leaf), dragBoundsType, leaf.getLocalPointByInner(leaf.getInnerPointByBox(origin)), scale, true);
|
|
8264
|
-
},
|
|
8265
|
-
axisMove(leaf, move) {
|
|
8266
|
-
const {draggable: draggable} = leaf;
|
|
8267
|
-
if (draggable === "x") move.y = 0;
|
|
8268
|
-
if (draggable === "y") move.x = 0;
|
|
8269
|
-
},
|
|
8270
|
-
getDragBounds(leaf) {
|
|
8271
|
-
const {dragBounds: dragBounds} = leaf;
|
|
8272
|
-
return dragBounds === "parent" ? leaf.parent.boxBounds : dragBounds;
|
|
8273
|
-
},
|
|
8274
|
-
isInnerMode(content, dragBounds, dragBoundsType, sideType) {
|
|
8275
|
-
return dragBoundsType === "inner" || dragBoundsType === "auto" && content[sideType] > dragBounds[sideType];
|
|
8276
|
-
},
|
|
8277
|
-
getValidMove(content, dragBounds, dragBoundsType, move, change) {
|
|
8278
|
-
const x = content.x + move.x, y = content.y + move.y, right = x + content.width, bottom = y + content.height;
|
|
8279
|
-
const boundsRight = dragBounds.x + dragBounds.width, boundsBottom = dragBounds.y + dragBounds.height;
|
|
8280
|
-
if (!change) move = Object.assign({}, move);
|
|
8281
|
-
if (D.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
8282
|
-
if (x > dragBounds.x) move.x += dragBounds.x - x; else if (right < boundsRight) move.x += boundsRight - right;
|
|
8283
|
-
} else {
|
|
8284
|
-
if (x < dragBounds.x) move.x += dragBounds.x - x; else if (right > boundsRight) move.x += boundsRight - right;
|
|
8285
|
-
}
|
|
8286
|
-
if (D.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
8287
|
-
if (y > dragBounds.y) move.y += dragBounds.y - y; else if (bottom < boundsBottom) move.y += boundsBottom - bottom;
|
|
8288
|
-
} else {
|
|
8289
|
-
if (y < dragBounds.y) move.y += dragBounds.y - y; else if (bottom > boundsBottom) move.y += boundsBottom - bottom;
|
|
8290
|
-
}
|
|
8291
|
-
move.x = float(move.x);
|
|
8292
|
-
move.y = float(move.y);
|
|
8293
|
-
return move;
|
|
8294
|
-
},
|
|
8295
|
-
getValidScaleOf(content, dragBounds, dragBoundsType, origin, scale, change) {
|
|
8296
|
-
if (!change) scale = Object.assign({}, scale);
|
|
8297
|
-
let fitScaleX, fitScaleY;
|
|
8298
|
-
tempContent.set(content).scaleOf(origin, scale.x, scale.y).unsign();
|
|
8299
|
-
tempMerge.set(tempContent).add(dragBounds);
|
|
8300
|
-
tempIntersect.set(tempContent).intersect(dragBounds);
|
|
8301
|
-
if (D.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
8302
|
-
fitScaleX = tempMerge.width / tempContent.width;
|
|
8303
|
-
} else {
|
|
8304
|
-
fitScaleX = tempIntersect.width / tempContent.width;
|
|
8305
|
-
}
|
|
8306
|
-
if (D.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
8307
|
-
fitScaleY = tempMerge.height / tempContent.height;
|
|
8308
|
-
} else {
|
|
8309
|
-
fitScaleY = tempIntersect.height / tempContent.height;
|
|
8310
|
-
}
|
|
8311
|
-
scale.x = float(tempIntersect.width) ? scale.x * fitScaleX : 1;
|
|
8312
|
-
scale.y = float(tempIntersect.height) ? scale.y * fitScaleY : 1;
|
|
8313
|
-
return scale;
|
|
8263
|
+
return box ? max$3(box.__updateRenderSpread(), spread) : spread;
|
|
8314
8264
|
}
|
|
8315
8265
|
};
|
|
8316
8266
|
|
|
8317
|
-
const D = DragBoundsHelper;
|
|
8318
|
-
|
|
8319
8267
|
const {stintSet: stintSet$1} = DataHelper;
|
|
8320
8268
|
|
|
8321
8269
|
const UIRender = {
|
|
@@ -9981,6 +9929,106 @@ class UIEvent extends Event {
|
|
|
9981
9929
|
}
|
|
9982
9930
|
}
|
|
9983
9931
|
|
|
9932
|
+
const {min: min, max: max$2, abs: abs$2} = Math, {float: float, sign: sign} = MathHelper, {minX: minX, maxX: maxX, minY: minY, maxY: maxY} = BoundsHelper;
|
|
9933
|
+
|
|
9934
|
+
const tempContent = new Bounds, tempDragBounds = new Bounds;
|
|
9935
|
+
|
|
9936
|
+
const DragBoundsHelper = {
|
|
9937
|
+
limitMove(leaf, move) {
|
|
9938
|
+
const {dragBounds: dragBounds, dragBoundsType: dragBoundsType} = leaf;
|
|
9939
|
+
if (dragBounds) D.getValidMove(leaf.__localBoxBounds, D.getDragBounds(leaf), dragBoundsType, move, true);
|
|
9940
|
+
D.axisMove(leaf, move);
|
|
9941
|
+
},
|
|
9942
|
+
limitScaleOf(leaf, origin, scale, lockRatio) {
|
|
9943
|
+
const {dragBounds: dragBounds, dragBoundsType: dragBoundsType} = leaf;
|
|
9944
|
+
if (dragBounds) D.getValidScaleOf(leaf.__localBoxBounds, D.getDragBounds(leaf), dragBoundsType, leaf.getLocalPointByInner(leaf.getInnerPointByBox(origin)), scale, lockRatio, true);
|
|
9945
|
+
},
|
|
9946
|
+
axisMove(leaf, move) {
|
|
9947
|
+
const {draggable: draggable} = leaf;
|
|
9948
|
+
if (draggable === "x") move.y = 0;
|
|
9949
|
+
if (draggable === "y") move.x = 0;
|
|
9950
|
+
},
|
|
9951
|
+
getDragBounds(leaf) {
|
|
9952
|
+
const {dragBounds: dragBounds} = leaf;
|
|
9953
|
+
return dragBounds === "parent" ? leaf.parent.boxBounds : dragBounds;
|
|
9954
|
+
},
|
|
9955
|
+
isInnerMode(content, dragBounds, dragBoundsType, sideType) {
|
|
9956
|
+
return dragBoundsType === "inner" || dragBoundsType === "auto" && content[sideType] > dragBounds[sideType];
|
|
9957
|
+
},
|
|
9958
|
+
getValidMove(content, dragBounds, dragBoundsType, move, change) {
|
|
9959
|
+
const x = content.x + move.x, y = content.y + move.y, right = x + content.width, bottom = y + content.height;
|
|
9960
|
+
const boundsRight = dragBounds.x + dragBounds.width, boundsBottom = dragBounds.y + dragBounds.height;
|
|
9961
|
+
if (!change) move = Object.assign({}, move);
|
|
9962
|
+
if (D.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
9963
|
+
if (x > dragBounds.x) move.x += dragBounds.x - x; else if (right < boundsRight) move.x += boundsRight - right;
|
|
9964
|
+
} else {
|
|
9965
|
+
if (x < dragBounds.x) move.x += dragBounds.x - x; else if (right > boundsRight) move.x += boundsRight - right;
|
|
9966
|
+
}
|
|
9967
|
+
if (D.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
9968
|
+
if (y > dragBounds.y) move.y += dragBounds.y - y; else if (bottom < boundsBottom) move.y += boundsBottom - bottom;
|
|
9969
|
+
} else {
|
|
9970
|
+
if (y < dragBounds.y) move.y += dragBounds.y - y; else if (bottom > boundsBottom) move.y += boundsBottom - bottom;
|
|
9971
|
+
}
|
|
9972
|
+
move.x = float(move.x);
|
|
9973
|
+
move.y = float(move.y);
|
|
9974
|
+
return move;
|
|
9975
|
+
},
|
|
9976
|
+
getValidScaleOf(content, dragBounds, dragBoundsType, origin, scale, lockRatio, change) {
|
|
9977
|
+
if (!change) scale = Object.assign({}, scale);
|
|
9978
|
+
tempDragBounds.set(dragBounds);
|
|
9979
|
+
tempContent.set(content).scaleOf(origin, scale.x, scale.y);
|
|
9980
|
+
const originLeftScale = (origin.x - content.x) / content.width, originRightScale = 1 - originLeftScale;
|
|
9981
|
+
const originTopScale = (origin.y - content.y) / content.height, originBottomScale = 1 - originTopScale;
|
|
9982
|
+
let correctScaleX = 1, correctScaleY = 1, aScale, bScale, aSize, bSize;
|
|
9983
|
+
if (D.isInnerMode(content, dragBounds, dragBoundsType, "width")) {
|
|
9984
|
+
if (scale.x < 0) tempContent.scaleOf(origin, correctScaleX = 1 / scale.x, 1);
|
|
9985
|
+
aSize = float(tempContent.minX - tempDragBounds.minX);
|
|
9986
|
+
bSize = float(tempDragBounds.maxX - tempContent.maxX);
|
|
9987
|
+
aScale = originLeftScale && aSize > 0 ? 1 + aSize / (originLeftScale * tempContent.width) : 1;
|
|
9988
|
+
bScale = originRightScale && bSize > 0 ? 1 + bSize / (originRightScale * tempContent.width) : 1;
|
|
9989
|
+
correctScaleX *= max$2(aScale, bScale);
|
|
9990
|
+
} else {
|
|
9991
|
+
if (scale.x < 0) {
|
|
9992
|
+
if (float(minX(content) - minX(dragBounds)) <= 0 || float(maxX(dragBounds) - maxX(content)) <= 0) tempContent.scaleOf(origin, correctScaleX = 1 / scale.x, 1);
|
|
9993
|
+
tempContent.unsign();
|
|
9994
|
+
}
|
|
9995
|
+
aSize = float(tempDragBounds.minX - tempContent.minX);
|
|
9996
|
+
bSize = float(tempContent.maxX - tempDragBounds.maxX);
|
|
9997
|
+
aScale = originLeftScale && aSize > 0 ? 1 - aSize / (originLeftScale * tempContent.width) : 1;
|
|
9998
|
+
bScale = originRightScale && bSize > 0 ? 1 - bSize / (originRightScale * tempContent.width) : 1;
|
|
9999
|
+
correctScaleX *= min(aScale, bScale);
|
|
10000
|
+
}
|
|
10001
|
+
if (D.isInnerMode(content, dragBounds, dragBoundsType, "height")) {
|
|
10002
|
+
if (scale.y < 0) tempContent.scaleOf(origin, 1, correctScaleY = 1 / scale.y);
|
|
10003
|
+
aSize = float(tempContent.minY - tempDragBounds.minY);
|
|
10004
|
+
bSize = float(tempDragBounds.maxY - tempContent.maxY);
|
|
10005
|
+
aScale = originTopScale && aSize > 0 ? 1 + aSize / (originTopScale * tempContent.height) : 1;
|
|
10006
|
+
bScale = originBottomScale && bSize > 0 ? 1 + bSize / (originBottomScale * tempContent.height) : 1;
|
|
10007
|
+
correctScaleY *= max$2(aScale, bScale);
|
|
10008
|
+
if (lockRatio) {
|
|
10009
|
+
aScale = max$2(abs$2(correctScaleX), abs$2(correctScaleY));
|
|
10010
|
+
correctScaleX = sign(correctScaleX) * aScale;
|
|
10011
|
+
correctScaleY = sign(correctScaleY) * aScale;
|
|
10012
|
+
}
|
|
10013
|
+
} else {
|
|
10014
|
+
if (scale.y < 0) {
|
|
10015
|
+
if (float(minY(content) - minY(dragBounds)) <= 0 || float(maxY(dragBounds) - maxY(content)) <= 0) tempContent.scaleOf(origin, 1, correctScaleY = 1 / scale.y);
|
|
10016
|
+
tempContent.unsign();
|
|
10017
|
+
}
|
|
10018
|
+
aSize = float(tempDragBounds.minY - tempContent.minY);
|
|
10019
|
+
bSize = float(tempContent.maxY - tempDragBounds.maxY);
|
|
10020
|
+
aScale = originTopScale && aSize > 0 ? 1 - aSize / (originTopScale * tempContent.height) : 1;
|
|
10021
|
+
bScale = originBottomScale && bSize > 0 ? 1 - bSize / (originBottomScale * tempContent.height) : 1;
|
|
10022
|
+
correctScaleY *= min(aScale, bScale);
|
|
10023
|
+
}
|
|
10024
|
+
scale.x *= isFinite(correctScaleX) ? correctScaleX : 1;
|
|
10025
|
+
scale.y *= isFinite(correctScaleY) ? correctScaleY : 1;
|
|
10026
|
+
return scale;
|
|
10027
|
+
}
|
|
10028
|
+
};
|
|
10029
|
+
|
|
10030
|
+
const D = DragBoundsHelper;
|
|
10031
|
+
|
|
9984
10032
|
let PointerEvent = class PointerEvent extends UIEvent {};
|
|
9985
10033
|
|
|
9986
10034
|
PointerEvent.POINTER = "pointer";
|
|
@@ -11051,9 +11099,9 @@ const ui$1 = UI.prototype;
|
|
|
11051
11099
|
|
|
11052
11100
|
ui$1.__updateHitCanvas = function() {
|
|
11053
11101
|
if (this.__box) this.__box.__updateHitCanvas();
|
|
11054
|
-
const
|
|
11055
|
-
if (!
|
|
11056
|
-
const data = this.__
|
|
11102
|
+
const {hitCanvasManager: hitCanvasManager} = this.leafer || this.parent && this.parent.leafer || {};
|
|
11103
|
+
if (!hitCanvasManager) return;
|
|
11104
|
+
const data = this.__;
|
|
11057
11105
|
const isHitPixelFill = (data.__isAlphaPixelFill || data.__isCanvas) && data.hitFill === "pixel";
|
|
11058
11106
|
const isHitPixelStroke = data.__isAlphaPixelStroke && data.hitStroke === "pixel";
|
|
11059
11107
|
const isHitPixel = isHitPixelFill || isHitPixelStroke;
|
|
@@ -11637,7 +11685,14 @@ const PaintModule = {
|
|
|
11637
11685
|
|
|
11638
11686
|
let origin = {}, tempMatrix$1 = getMatrixData();
|
|
11639
11687
|
|
|
11640
|
-
const {get: get$3, rotateOfOuter: rotateOfOuter$1, translate: translate$1, scaleOfOuter: scaleOfOuter$1, multiplyParent: multiplyParent, scale: scaleHelper, rotate: rotate, skew: skewHelper} = MatrixHelper;
|
|
11688
|
+
const {get: get$3, set: set, rotateOfOuter: rotateOfOuter$1, translate: translate$1, scaleOfOuter: scaleOfOuter$1, multiplyParent: multiplyParent, scale: scaleHelper, rotate: rotate, skew: skewHelper} = MatrixHelper;
|
|
11689
|
+
|
|
11690
|
+
function stretchMode(data, box, scaleX, scaleY) {
|
|
11691
|
+
const transform = get$3();
|
|
11692
|
+
translate$1(transform, box.x, box.y);
|
|
11693
|
+
if (scaleX) scaleHelper(transform, scaleX, scaleY);
|
|
11694
|
+
data.transform = transform;
|
|
11695
|
+
}
|
|
11641
11696
|
|
|
11642
11697
|
function fillOrFitMode(data, box, x, y, scaleX, scaleY, rotation) {
|
|
11643
11698
|
const transform = get$3();
|
|
@@ -11654,8 +11709,11 @@ function clipMode(data, box, x, y, scaleX, scaleY, rotation, skew, clipScaleX, c
|
|
|
11654
11709
|
const transform = get$3();
|
|
11655
11710
|
layout(transform, box, x, y, scaleX, scaleY, rotation, skew);
|
|
11656
11711
|
if (clipScaleX) {
|
|
11657
|
-
|
|
11658
|
-
|
|
11712
|
+
if (rotation || skew) {
|
|
11713
|
+
set(tempMatrix$1);
|
|
11714
|
+
scaleOfOuter$1(tempMatrix$1, box, clipScaleX, clipScaleY);
|
|
11715
|
+
multiplyParent(transform, tempMatrix$1);
|
|
11716
|
+
} else scaleOfOuter$1(transform, box, clipScaleX, clipScaleY);
|
|
11659
11717
|
}
|
|
11660
11718
|
data.transform = transform;
|
|
11661
11719
|
}
|
|
@@ -11751,7 +11809,10 @@ function getPatternData(paint, box, image) {
|
|
|
11751
11809
|
if (offset) PointHelper.move(tempImage, offset);
|
|
11752
11810
|
switch (mode) {
|
|
11753
11811
|
case "stretch":
|
|
11754
|
-
if (!sameBox)
|
|
11812
|
+
if (!sameBox) {
|
|
11813
|
+
scaleX = box.width / width, scaleY = box.height / height;
|
|
11814
|
+
stretchMode(data, box, scaleX, scaleY);
|
|
11815
|
+
}
|
|
11755
11816
|
break;
|
|
11756
11817
|
|
|
11757
11818
|
case "normal":
|
|
@@ -11760,7 +11821,7 @@ function getPatternData(paint, box, image) {
|
|
|
11760
11821
|
let clipScaleX, clipScaleY;
|
|
11761
11822
|
if (clipSize) clipScaleX = box.width / clipSize.width, clipScaleY = box.height / clipSize.height;
|
|
11762
11823
|
clipMode(data, box, tempImage.x, tempImage.y, scaleX, scaleY, rotation, skew, clipScaleX, clipScaleY);
|
|
11763
|
-
if (clipScaleX) scaleX = scaleX ? scaleX * clipScaleX :
|
|
11824
|
+
if (clipScaleX) scaleX = scaleX ? scaleX * clipScaleX : clipScaleX, scaleY = scaleY ? scaleY * clipScaleY : clipScaleY;
|
|
11764
11825
|
}
|
|
11765
11826
|
break;
|
|
11766
11827
|
|
|
@@ -11777,17 +11838,14 @@ function getPatternData(paint, box, image) {
|
|
|
11777
11838
|
if (scaleX) fillOrFitMode(data, box, tempImage.x, tempImage.y, scaleX, scaleY, rotation);
|
|
11778
11839
|
}
|
|
11779
11840
|
if (!data.transform) {
|
|
11780
|
-
if (box.x || box.y)
|
|
11781
|
-
data.transform = get$2();
|
|
11782
|
-
translate(data.transform, box.x, box.y);
|
|
11783
|
-
}
|
|
11841
|
+
if (box.x || box.y) translate(data.transform = get$2(), box.x, box.y);
|
|
11784
11842
|
}
|
|
11785
|
-
|
|
11843
|
+
data.width = width;
|
|
11844
|
+
data.height = height;
|
|
11845
|
+
if (scaleX) {
|
|
11786
11846
|
data.scaleX = scaleX;
|
|
11787
11847
|
data.scaleY = scaleY;
|
|
11788
11848
|
}
|
|
11789
|
-
data.width = width;
|
|
11790
|
-
data.height = height;
|
|
11791
11849
|
if (opacity) data.opacity = opacity;
|
|
11792
11850
|
if (filters) data.filters = filters;
|
|
11793
11851
|
if (repeat) data.repeat = isString(repeat) ? repeat === "x" ? "repeat-x" : "repeat-y" : "repeat";
|
|
@@ -11919,7 +11977,7 @@ function ignoreRender(ui, value) {
|
|
|
11919
11977
|
|
|
11920
11978
|
const {get: get$1, scale: scale, copy: copy$1} = MatrixHelper;
|
|
11921
11979
|
|
|
11922
|
-
const {floor: floor, ceil: ceil, max: max$1, abs: abs} = Math;
|
|
11980
|
+
const {floor: floor, ceil: ceil, max: max$1, abs: abs$1} = Math;
|
|
11923
11981
|
|
|
11924
11982
|
function createPattern(ui, paint, pixelRatio) {
|
|
11925
11983
|
let {scaleX: scaleX, scaleY: scaleY} = ui.getRenderScaleData(true, paint.scaleFixed);
|
|
@@ -11930,8 +11988,8 @@ function createPattern(ui, paint, pixelRatio) {
|
|
|
11930
11988
|
scaleX *= pixelRatio;
|
|
11931
11989
|
scaleY *= pixelRatio;
|
|
11932
11990
|
if (sx) {
|
|
11933
|
-
sx = abs(sx);
|
|
11934
|
-
sy = abs(sy);
|
|
11991
|
+
sx = abs$1(sx);
|
|
11992
|
+
sy = abs$1(sy);
|
|
11935
11993
|
imageMatrix = get$1();
|
|
11936
11994
|
copy$1(imageMatrix, transform);
|
|
11937
11995
|
scale(imageMatrix, 1 / sx, 1 / sy);
|
|
@@ -12073,6 +12131,7 @@ const PaintImageModule = {
|
|
|
12073
12131
|
recycleImage: recycleImage,
|
|
12074
12132
|
createData: createData,
|
|
12075
12133
|
getPatternData: getPatternData,
|
|
12134
|
+
stretchMode: stretchMode,
|
|
12076
12135
|
fillOrFitMode: fillOrFitMode,
|
|
12077
12136
|
clipMode: clipMode,
|
|
12078
12137
|
repeatMode: repeatMode
|
|
@@ -12183,7 +12242,7 @@ const PaintGradientModule = {
|
|
|
12183
12242
|
getTransform: getTransform
|
|
12184
12243
|
};
|
|
12185
12244
|
|
|
12186
|
-
const {copy: copy, move: move, toOffsetOutBounds: toOffsetOutBounds$1} = BoundsHelper, {max: max} = Math;
|
|
12245
|
+
const {copy: copy, move: move, toOffsetOutBounds: toOffsetOutBounds$1} = BoundsHelper, {max: max, abs: abs} = Math;
|
|
12187
12246
|
|
|
12188
12247
|
const tempBounds = {}, tempMatrix = new Matrix;
|
|
12189
12248
|
|
|
@@ -12227,7 +12286,7 @@ function shadow(ui, current, shape) {
|
|
|
12227
12286
|
function getShadowRenderSpread(_ui, shadow) {
|
|
12228
12287
|
let top = 0, right = 0, bottom = 0, left = 0, x, y, spread, blur;
|
|
12229
12288
|
shadow.forEach(item => {
|
|
12230
|
-
x = item.x || 0, y = item.y || 0,
|
|
12289
|
+
x = item.x || 0, y = item.y || 0, blur = (item.blur || 0) * 1.5, spread = abs(item.spread || 0);
|
|
12231
12290
|
top = max(top, spread + blur - y);
|
|
12232
12291
|
right = max(right, spread + blur + x);
|
|
12233
12292
|
bottom = max(bottom, spread + blur + y);
|
|
@@ -12238,11 +12297,11 @@ function getShadowRenderSpread(_ui, shadow) {
|
|
|
12238
12297
|
|
|
12239
12298
|
function getShadowTransform(ui, canvas, _shape, shadow, outBounds, otherScale, isInnerShaodw) {
|
|
12240
12299
|
if (shadow.spread) {
|
|
12241
|
-
const
|
|
12300
|
+
const spread = shadow.spread * 2 * otherScale * (isInnerShaodw ? -1 : 1), {width: width, height: height} = ui.__layout.strokeBounds;
|
|
12242
12301
|
tempMatrix.set().scaleOfOuter({
|
|
12243
12302
|
x: (outBounds.x + outBounds.width / 2) * canvas.pixelRatio,
|
|
12244
12303
|
y: (outBounds.y + outBounds.height / 2) * canvas.pixelRatio
|
|
12245
|
-
},
|
|
12304
|
+
}, 1 + spread / width, 1 + spread / height);
|
|
12246
12305
|
return tempMatrix;
|
|
12247
12306
|
}
|
|
12248
12307
|
return undefined;
|