@leafer-in/arrow 1.9.4 → 1.9.5
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/arrow.cjs +36 -10
- package/dist/arrow.esm.js +37 -11
- package/dist/arrow.esm.min.js +1 -1
- package/dist/arrow.esm.min.js.map +1 -1
- package/dist/arrow.js +36 -10
- package/dist/arrow.min.cjs +1 -1
- package/dist/arrow.min.cjs.map +1 -1
- package/dist/arrow.min.js +1 -1
- package/dist/arrow.min.js.map +1 -1
- package/package.json +4 -4
- package/src/Arrow.ts +7 -3
- package/src/PathArrowModule.ts +25 -7
- package/src/data/arrows.ts +20 -5
- package/types/index.d.ts +3 -2
package/dist/arrow.cjs
CHANGED
|
@@ -35,6 +35,9 @@ exports.Arrow = class Arrow extends draw.Line {
|
|
|
35
35
|
super(data);
|
|
36
36
|
this.__.__useArrow = true;
|
|
37
37
|
}
|
|
38
|
+
static registerArrow(name, data) {
|
|
39
|
+
draw.PathArrow.register(name, data);
|
|
40
|
+
}
|
|
38
41
|
};
|
|
39
42
|
|
|
40
43
|
__decorate([ draw.dataProcessor(ArrowData) ], exports.Arrow.prototype, "__", void 0);
|
|
@@ -216,9 +219,18 @@ const arrows = {
|
|
|
216
219
|
mark: mark
|
|
217
220
|
};
|
|
218
221
|
|
|
219
|
-
function getArrowPath(ui, arrow, from, to,
|
|
222
|
+
function getArrowPath(ui, arrow, from, to, size, connectOffset, hasDashPattern) {
|
|
223
|
+
let pathData, scale;
|
|
220
224
|
const {strokeCap: strokeCap, strokeJoin: strokeJoin} = ui.__;
|
|
221
|
-
|
|
225
|
+
if (draw.isObject(arrow)) {
|
|
226
|
+
if (arrow.type) {
|
|
227
|
+
scale = arrow.scale;
|
|
228
|
+
pathData = arrows[arrow.type];
|
|
229
|
+
} else pathData = arrow;
|
|
230
|
+
} else {
|
|
231
|
+
pathData = arrows[arrow];
|
|
232
|
+
}
|
|
233
|
+
const {offset: offset, connect: connect, path: path, dashPath: dashPath} = pathData;
|
|
222
234
|
let connectX = connect ? connect.x : 0;
|
|
223
235
|
let offsetX = offset ? offset.x : 0;
|
|
224
236
|
const data = [ ...path ];
|
|
@@ -227,9 +239,10 @@ function getArrowPath(ui, arrow, from, to, scale, connectOffset, hasDashPattern)
|
|
|
227
239
|
if (offset) {
|
|
228
240
|
if (strokeJoin === "round" && offset.roundJoin) offsetX += offset.roundJoin; else if (strokeJoin === "bevel" && offset.bevelJoin) offsetX += offset.bevelJoin;
|
|
229
241
|
}
|
|
242
|
+
if (scale) layout(data, 0, 0, scale, scale);
|
|
230
243
|
if (offsetX) layout(data, offsetX, 0);
|
|
231
|
-
layout(data, to.x, to.y,
|
|
232
|
-
connectOffset.x = (connectX + offsetX) *
|
|
244
|
+
layout(data, to.x, to.y, size, size, getAngle(from, to));
|
|
245
|
+
connectOffset.x = (connectX + offsetX) * size;
|
|
233
246
|
return data;
|
|
234
247
|
}
|
|
235
248
|
|
|
@@ -245,8 +258,9 @@ const last = {}, now = {};
|
|
|
245
258
|
|
|
246
259
|
const PathArrowModule = {
|
|
247
260
|
list: arrows,
|
|
248
|
-
addArrows(ui
|
|
249
|
-
const {startArrow: startArrow, endArrow: endArrow, strokeWidth: strokeWidth, dashPattern: dashPattern, __pathForRender: data} = ui.__;
|
|
261
|
+
addArrows(ui) {
|
|
262
|
+
const {startArrow: startArrow, endArrow: endArrow, strokeWidth: strokeWidth, dashPattern: dashPattern, __pathForRender: data, cornerRadius: cornerRadius} = ui.__;
|
|
263
|
+
const clonePathForArrow = !cornerRadius;
|
|
250
264
|
let command, i = 0, len = data.length, count = 0, useStartArrow = startArrow && startArrow !== "none";
|
|
251
265
|
while (i < len) {
|
|
252
266
|
command = data[i];
|
|
@@ -261,12 +275,12 @@ const PathArrowModule = {
|
|
|
261
275
|
break;
|
|
262
276
|
|
|
263
277
|
case C:
|
|
264
|
-
if (count === 1 || i + 7
|
|
278
|
+
if (count === 1 || i + 7 >= len - 3) copyPoints(data, last, now, i + 3);
|
|
265
279
|
i += 7;
|
|
266
280
|
break;
|
|
267
281
|
|
|
268
282
|
case Q:
|
|
269
|
-
if (count === 1 || i + 5
|
|
283
|
+
if (count === 1 || i + 5 >= len - 3) copyPoints(data, last, now, i + 1);
|
|
270
284
|
i += 5;
|
|
271
285
|
break;
|
|
272
286
|
|
|
@@ -302,7 +316,13 @@ const PathArrowModule = {
|
|
|
302
316
|
break;
|
|
303
317
|
|
|
304
318
|
case U:
|
|
305
|
-
if (count === 1 || i + 6
|
|
319
|
+
if (count === 1 || i + 6 >= len - 3) {
|
|
320
|
+
copyPoints(data, last, now, i + 1);
|
|
321
|
+
if (i + 6 !== len) {
|
|
322
|
+
now.x -= (now.x - last.x) / 10;
|
|
323
|
+
now.y -= (now.y - last.y) / 10;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
306
326
|
i += 6;
|
|
307
327
|
break;
|
|
308
328
|
}
|
|
@@ -310,7 +330,7 @@ const PathArrowModule = {
|
|
|
310
330
|
if (count === 1 && command !== M) return;
|
|
311
331
|
if (count === 2 && useStartArrow) copy(second, command === L ? now : last);
|
|
312
332
|
if (i === len) {
|
|
313
|
-
const path = ui.__.__pathForRender =
|
|
333
|
+
const path = ui.__.__pathForRender = clonePathForArrow ? [ ...data ] : data;
|
|
314
334
|
const pathForArrow = ui.__.__pathForArrow = [];
|
|
315
335
|
if (useStartArrow) {
|
|
316
336
|
const startArrowPath = getArrowPath(ui, startArrow, second, first, strokeWidth, connectPoint, !!dashPattern);
|
|
@@ -351,6 +371,12 @@ const PathArrowModule = {
|
|
|
351
371
|
copy(last, now);
|
|
352
372
|
}
|
|
353
373
|
}
|
|
374
|
+
},
|
|
375
|
+
register(name, data) {
|
|
376
|
+
this.list[name] = data;
|
|
377
|
+
},
|
|
378
|
+
get(name) {
|
|
379
|
+
return this.list[name];
|
|
354
380
|
}
|
|
355
381
|
};
|
|
356
382
|
|
package/dist/arrow.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LineData, decorateLeafAttr, attr, doStrokeType, dataProcessor, registerUI, Line, PathCommandMap, PointHelper, DataHelper, isObject, Plugin, UI,
|
|
1
|
+
import { LineData, decorateLeafAttr, attr, doStrokeType, dataProcessor, registerUI, Line, PathArrow, PathCommandMap, PointHelper, DataHelper, isObject, Plugin, UI, Paint } from "@leafer-ui/draw";
|
|
2
2
|
|
|
3
3
|
function __decorate(decorators, target, key, desc) {
|
|
4
4
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
@@ -33,6 +33,9 @@ let Arrow = class Arrow extends Line {
|
|
|
33
33
|
super(data);
|
|
34
34
|
this.__.__useArrow = true;
|
|
35
35
|
}
|
|
36
|
+
static registerArrow(name, data) {
|
|
37
|
+
PathArrow.register(name, data);
|
|
38
|
+
}
|
|
36
39
|
};
|
|
37
40
|
|
|
38
41
|
__decorate([ dataProcessor(ArrowData) ], Arrow.prototype, "__", void 0);
|
|
@@ -214,9 +217,18 @@ const arrows = {
|
|
|
214
217
|
mark: mark
|
|
215
218
|
};
|
|
216
219
|
|
|
217
|
-
function getArrowPath(ui, arrow, from, to,
|
|
220
|
+
function getArrowPath(ui, arrow, from, to, size, connectOffset, hasDashPattern) {
|
|
221
|
+
let pathData, scale;
|
|
218
222
|
const {strokeCap: strokeCap, strokeJoin: strokeJoin} = ui.__;
|
|
219
|
-
|
|
223
|
+
if (isObject(arrow)) {
|
|
224
|
+
if (arrow.type) {
|
|
225
|
+
scale = arrow.scale;
|
|
226
|
+
pathData = arrows[arrow.type];
|
|
227
|
+
} else pathData = arrow;
|
|
228
|
+
} else {
|
|
229
|
+
pathData = arrows[arrow];
|
|
230
|
+
}
|
|
231
|
+
const {offset: offset, connect: connect, path: path, dashPath: dashPath} = pathData;
|
|
220
232
|
let connectX = connect ? connect.x : 0;
|
|
221
233
|
let offsetX = offset ? offset.x : 0;
|
|
222
234
|
const data = [ ...path ];
|
|
@@ -225,9 +237,10 @@ function getArrowPath(ui, arrow, from, to, scale, connectOffset, hasDashPattern)
|
|
|
225
237
|
if (offset) {
|
|
226
238
|
if (strokeJoin === "round" && offset.roundJoin) offsetX += offset.roundJoin; else if (strokeJoin === "bevel" && offset.bevelJoin) offsetX += offset.bevelJoin;
|
|
227
239
|
}
|
|
240
|
+
if (scale) layout(data, 0, 0, scale, scale);
|
|
228
241
|
if (offsetX) layout(data, offsetX, 0);
|
|
229
|
-
layout(data, to.x, to.y,
|
|
230
|
-
connectOffset.x = (connectX + offsetX) *
|
|
242
|
+
layout(data, to.x, to.y, size, size, getAngle(from, to));
|
|
243
|
+
connectOffset.x = (connectX + offsetX) * size;
|
|
231
244
|
return data;
|
|
232
245
|
}
|
|
233
246
|
|
|
@@ -243,8 +256,9 @@ const last = {}, now = {};
|
|
|
243
256
|
|
|
244
257
|
const PathArrowModule = {
|
|
245
258
|
list: arrows,
|
|
246
|
-
addArrows(ui
|
|
247
|
-
const {startArrow: startArrow, endArrow: endArrow, strokeWidth: strokeWidth, dashPattern: dashPattern, __pathForRender: data} = ui.__;
|
|
259
|
+
addArrows(ui) {
|
|
260
|
+
const {startArrow: startArrow, endArrow: endArrow, strokeWidth: strokeWidth, dashPattern: dashPattern, __pathForRender: data, cornerRadius: cornerRadius} = ui.__;
|
|
261
|
+
const clonePathForArrow = !cornerRadius;
|
|
248
262
|
let command, i = 0, len = data.length, count = 0, useStartArrow = startArrow && startArrow !== "none";
|
|
249
263
|
while (i < len) {
|
|
250
264
|
command = data[i];
|
|
@@ -259,12 +273,12 @@ const PathArrowModule = {
|
|
|
259
273
|
break;
|
|
260
274
|
|
|
261
275
|
case C:
|
|
262
|
-
if (count === 1 || i + 7
|
|
276
|
+
if (count === 1 || i + 7 >= len - 3) copyPoints(data, last, now, i + 3);
|
|
263
277
|
i += 7;
|
|
264
278
|
break;
|
|
265
279
|
|
|
266
280
|
case Q:
|
|
267
|
-
if (count === 1 || i + 5
|
|
281
|
+
if (count === 1 || i + 5 >= len - 3) copyPoints(data, last, now, i + 1);
|
|
268
282
|
i += 5;
|
|
269
283
|
break;
|
|
270
284
|
|
|
@@ -300,7 +314,13 @@ const PathArrowModule = {
|
|
|
300
314
|
break;
|
|
301
315
|
|
|
302
316
|
case U:
|
|
303
|
-
if (count === 1 || i + 6
|
|
317
|
+
if (count === 1 || i + 6 >= len - 3) {
|
|
318
|
+
copyPoints(data, last, now, i + 1);
|
|
319
|
+
if (i + 6 !== len) {
|
|
320
|
+
now.x -= (now.x - last.x) / 10;
|
|
321
|
+
now.y -= (now.y - last.y) / 10;
|
|
322
|
+
}
|
|
323
|
+
}
|
|
304
324
|
i += 6;
|
|
305
325
|
break;
|
|
306
326
|
}
|
|
@@ -308,7 +328,7 @@ const PathArrowModule = {
|
|
|
308
328
|
if (count === 1 && command !== M) return;
|
|
309
329
|
if (count === 2 && useStartArrow) copy(second, command === L ? now : last);
|
|
310
330
|
if (i === len) {
|
|
311
|
-
const path = ui.__.__pathForRender =
|
|
331
|
+
const path = ui.__.__pathForRender = clonePathForArrow ? [ ...data ] : data;
|
|
312
332
|
const pathForArrow = ui.__.__pathForArrow = [];
|
|
313
333
|
if (useStartArrow) {
|
|
314
334
|
const startArrowPath = getArrowPath(ui, startArrow, second, first, strokeWidth, connectPoint, !!dashPattern);
|
|
@@ -349,6 +369,12 @@ const PathArrowModule = {
|
|
|
349
369
|
copy(last, now);
|
|
350
370
|
}
|
|
351
371
|
}
|
|
372
|
+
},
|
|
373
|
+
register(name, data) {
|
|
374
|
+
this.list[name] = data;
|
|
375
|
+
},
|
|
376
|
+
get(name) {
|
|
377
|
+
return this.list[name];
|
|
352
378
|
}
|
|
353
379
|
};
|
|
354
380
|
|
package/dist/arrow.esm.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{LineData as e,decorateLeafAttr as t,attr as r,doStrokeType as o,dataProcessor as n,registerUI as a,Line as s,
|
|
1
|
+
import{LineData as e,decorateLeafAttr as t,attr as r,doStrokeType as o,dataProcessor as n,registerUI as a,Line as s,PathArrow as c,PathCommandMap as i,PointHelper as h,DataHelper as l,isObject as p,Plugin as d,UI as f,Paint as u}from"@leafer-ui/draw";function _(e,t,r,o){var n,a=arguments.length,s=a<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(s=(a<3?n(s):a>3?n(t,r,s):n(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}"function"==typeof SuppressedError&&SuppressedError;class b extends e{}function x(e){return t(e,e=>r({set(t){if(this.__setAttr(e,t)){const e=this.__;e.__useArrow="none"!==e.startArrow||"none"!==e.endArrow,o(this)}}}))}let y=class extends s{get __tag(){return"Arrow"}constructor(e){super(e),this.__.__useArrow=!0}static registerArrow(e,t){c.register(e,t)}};_([n(b)],y.prototype,"__",void 0),_([x("angle")],y.prototype,"endArrow",void 0),y=_([a()],y);const{M:w,L:g,C:k,Q:A,O:P}=i,{rotate:J,copyFrom:v,scale:m}=h,F={},O={layout(e,t,r,o,n,a,s){let c,i,h=0,l=e.length;for(;h<l;)switch(c=e[h],c){case w:case g:R(e,h+1,t,r,o,n,a,s),h+=3;break;case k:for(i=1;i<6;i+=2)R(e,h+i,t,r,o,n,a,s);h+=7;break;case A:for(i=1;i<4;i+=2)R(e,h+i,t,r,o,n,a,s);h+=5;break;case P:e[h+1]+=t,e[h+2]+=r,o&&(e[h+3]*=o),a&&(e[h+4]+=a,e[h+5]+=a),h+=7}},rotate(e,t,r){O.layout(e,0,0,1,1,t,r)}};function R(e,t,r,o,n,a,s,c){v(F,e[t],e[t+1]),s&&J(F,s,c),n&&m(F,n,a),e[t]=r+F.x,e[t+1]=o+F.y}const{layout:j,rotate:D}=O,{getAngle:C}=h,q={x:-.5},E={connect:q,offset:{x:-.71,bevelJoin:.36,roundJoin:.22},path:[1,-3,-3,2,0,0,2,-3,3]},L={connect:q,offset:{x:-1.207,bevelJoin:.854,roundJoin:.707},path:[1,-3,-3,2,0,0,2,-1,0]},M={connect:q,offset:{x:-.9,bevelJoin:.624,roundJoin:.4},path:[1,-3,0,2,-3,-2,2,0,0,2,-3,2,2,-3,0,1,-2.05,1.1,2,-2.05,-1.1],dashPath:[1,-2,0,2,-.5,0]},Q={connect:q,offset:{x:-1.1,bevelJoin:.872,roundJoin:.6},path:[1,-3,0,2,-3.5,-1.8,2,0,0,2,-3.5,1.8,2,-3,0,1,-2.25,.95,2,-2.25,-.95],dashPath:[1,-3,0,2,-.5,0]},S={offset:q,path:[...M.path],dashPath:[1,-2.5,0,2,-1,0]};D(S.path,180,{x:-1.5,y:0});const B={connect:{x:-1.3},path:[1,1.8,-.1,2,1.8,0,26,0,0,1.8,0,359,0]},G={connect:{x:.5},path:[...B.path,1,0,0,26,0,0,1,0,360,0],dashPath:[1,-.5,0,2,.5,0]},N={connect:{x:-1.3},path:[1,-1.4,0,2,-1.4,-1.4,2,1.4,-1.4,2,1.4,1.4,2,-1.4,1.4,2,-1.4,0]},U={path:[...N.path,2,-1.4,-.49,2,1,-.49,1,-1.4,.49,2,1,.49]},W=l.clone(N),X=l.clone(U);D(W.path,45),D(X.path,45);const Z={angle:E,"angle-side":L,arrow:Q,triangle:M,"triangle-flip":S,circle:G,"circle-line":B,square:U,"square-line":N,diamond:X,"diamond-line":W,mark:{offset:q,path:[1,0,-2,2,0,2]}};function z(e,t,r,o,n,a,s){let c,i;const{strokeCap:h,strokeJoin:l}=e.__;p(t)?t.type?(i=t.scale,c=Z[t.type]):c=t:c=Z[t];const{offset:d,connect:f,path:u,dashPath:_}=c;let b=f?f.x:0,x=d?d.x:0;const y=[...u];return s&&_&&y.push(..._),"none"!==h&&(b-=.5),d&&("round"===l&&d.roundJoin?x+=d.roundJoin:"bevel"===l&&d.bevelJoin&&(x+=d.bevelJoin)),i&&j(y,0,0,i,i),x&&j(y,x,0),j(y,o.x,o.y,n,n,C(r,o)),a.x=(b+x)*n,y}const{M:H,L:I,C:K,Q:T,Z:V,N:Y,D:$,X:ee,G:te,F:re,O:oe,P:ne,U:ae}=i,{copy:se,copyFrom:ce,getDistancePoint:ie}=h,he={},le={},pe={},de={},fe={},ue={list:Z,addArrows(e){const{startArrow:t,endArrow:r,strokeWidth:o,dashPattern:n,__pathForRender:a,cornerRadius:s}=e.__,c=!s;let i,h=0,l=a.length,p=0,d=t&&"none"!==t;for(;h<l;){switch(i=a[h],i){case H:case I:(p<2||h+6>=l)&&(ce(fe,a[h+1],a[h+2]),!p&&d&&se(le,fe)),h+=3;break;case K:(1===p||h+7>=l-3)&&_e(a,de,fe,h+3),h+=7;break;case T:(1===p||h+5>=l-3)&&_e(a,de,fe,h+1),h+=5;break;case V:return;case Y:h+=5;break;case $:h+=9;break;case ee:h+=6;break;case te:h+=9;break;case re:h+=5;break;case oe:h+=7;break;case ne:h+=4;break;case ae:(1===p||h+6>=l-3)&&(_e(a,de,fe,h+1),h+6!==l&&(fe.x-=(fe.x-de.x)/10,fe.y-=(fe.y-de.y)/10)),h+=6}if(p++,1===p&&i!==H)return;if(2===p&&d&&se(pe,i===I?fe:de),h===l){const s=e.__.__pathForRender=c?[...a]:a,l=e.__.__pathForArrow=[];if(d){const r=z(e,t,pe,le,o,he,!!n);n?l.push(...r):s.push(...r),he.x&&(ie(le,pe,-he.x,!0),s[1]=pe.x,s[2]=pe.y)}if(r&&"none"!==r){const t=z(e,r,de,fe,o,he,!!n);if(n?l.push(...t):s.push(...t),he.x){let e;switch(ie(fe,de,-he.x,!0),i){case I:e=h-3+1;break;case K:e=h-7+5;break;case T:e=h-5+3;break;case ae:e=h-6+3}e&&be(s,de,e)}}}else se(de,fe)}},register(e,t){this.list[e]=t},get(e){return this.list[e]}};function _e(e,t,r,o){ce(t,e[o],e[o+1]),ce(r,e[o+2],e[o+3])}function be(e,t,r){e[r]=t.x,e[r+1]=t.y}d.add("arrow"),f.addAttr("startArrow","none",x),f.addAttr("endArrow","none",x),Object.assign(c,ue),Object.assign(u,{strokeArrow(e,t,r){t.__.dashPattern&&(r.beginPath(),t.__drawPathByData(r,t.__.__pathForArrow),r.dashPattern=null,r.stroke())}});export{y as Arrow,b as ArrowData,ue as PathArrowModule,O as PathMatrixHelper,x as arrowType};
|
|
2
2
|
//# sourceMappingURL=arrow.esm.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arrow.esm.min.js","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.44.2_tslib@2.8.1_typescript@5.8.3/node_modules/tslib/tslib.es6.js","../../../../../../src/in/packages/arrow/src/data/ArrowData.ts","../../../../../../src/in/packages/arrow/src/decorator.ts","../../../../../../src/in/packages/arrow/src/Arrow.ts","../../../../../../src/in/packages/arrow/src/PathMatrixHelper.ts","../../../../../../src/in/packages/arrow/src/data/arrows.ts","../../../../../../src/in/packages/arrow/src/PathArrowModule.ts","../../../../../../src/in/packages/arrow/src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { IArrowData } from \"@leafer-ui/interface\"\nimport { LineData } from '@leafer-ui/draw'\n\n\nexport class ArrowData extends LineData implements IArrowData {\n\n}\n","import { IValue, IUI } from '@leafer-ui/interface'\nimport { decorateLeafAttr, attr, doStrokeType } from '@leafer-ui/draw'\n\nexport function arrowType(defaultValue?: IValue) {\n return decorateLeafAttr(defaultValue, (key: string) => attr({\n set(value: IValue) {\n if (this.__setAttr(key, value)) {\n const data = (this as IUI).__\n data.__useArrow = data.startArrow !== 'none' || data.endArrow !== 'none'\n doStrokeType(this)\n }\n }\n }))\n}","import { IArrow, IArrowData, IArrowInputData, IArrowType } from '@leafer-ui/interface'\nimport { Line, registerUI, dataProcessor } from '@leafer-ui/draw'\n\nimport { ArrowData } from './data/ArrowData'\nimport { arrowType } from './decorator'\n\n\n@registerUI()\nexport class Arrow extends Line implements IArrow {\n\n public get __tag() { return 'Arrow' }\n\n @dataProcessor(ArrowData)\n declare public __: IArrowData\n\n @arrowType('angle')\n declare public endArrow?: IArrowType\n\n constructor(data?: IArrowInputData) {\n super(data)\n this.__.__useArrow = true\n }\n\n}","import { IPathCommandData, IPointData } from '@leafer-ui/interface'\nimport { PathCommandMap as Command, PointHelper } from '@leafer-ui/draw'\n\n\nconst { M, L, C, Q, O } = Command\nconst { rotate, copyFrom, scale } = PointHelper\nconst point: IPointData = {} as IPointData\n\nexport const PathMatrixHelper = {\n\n layout(data: IPathCommandData, x: number, y: number, scaleX?: number, scaleY?: number, rotation?: number, origin?: IPointData): void {\n let command: number, i = 0, j: number, len = data.length\n\n while (i < len) {\n command = data[i]\n switch (command) {\n case M: // moveto(x, y)\n case L: // lineto(x, y)\n setPoint(data, i + 1, x, y, scaleX, scaleY, rotation, origin)\n i += 3\n break\n case C: // bezierCurveTo(x1, y1, x2, y2, x, y)\n for (j = 1; j < 6; j += 2) setPoint(data, i + j, x, y, scaleX, scaleY, rotation, origin)\n i += 7\n break\n case Q: // quadraticCurveTo(x1, y1, x, y)\n for (j = 1; j < 4; j += 2) setPoint(data, i + j, x, y, scaleX, scaleY, rotation, origin)\n i += 5\n break\n case O: // arc(x, y, radius, startAngle, endAngle, anticlockwise)\n data[i + 1] += x\n data[i + 2] += y\n if (scaleX) data[i + 3] *= scaleX\n if (rotation) {\n data[i + 4] += rotation\n data[i + 5] += rotation\n }\n i += 7\n break\n }\n }\n },\n\n rotate(data: IPathCommandData, rotation?: number, center?: IPointData): void {\n PathMatrixHelper.layout(data, 0, 0, 1, 1, rotation, center)\n }\n\n}\n\n\nfunction setPoint(data: IPathCommandData, startIndex: number, x: number, y: number, scaleX?: number, scaleY?: number, rotation?: number, origin?: IPointData): void {\n copyFrom(point, data[startIndex], data[startIndex + 1])\n if (rotation) rotate(point, rotation, origin)\n if (scaleX) scale(point, scaleX, scaleY)\n data[startIndex] = x + point.x\n data[startIndex + 1] = y + point.y\n}","import { IArrowType, IPathDataArrow, IPathDataArrowMap, IUI, IPathCommandData, IPointData } from '@leafer-ui/interface'\nimport { DataHelper, PointHelper, isObject } from '@leafer-ui/draw'\n\nimport { PathMatrixHelper } from '../PathMatrixHelper'\n\n\nconst { layout, rotate } = PathMatrixHelper\nconst { getAngle } = PointHelper\nconst half = { x: -0.5 }\n\n\nconst angle: IPathDataArrow = { connect: half, offset: { x: -0.71, bevelJoin: 0.36, roundJoin: 0.22 }, path: [1, -3, -3, 2, 0, 0, 2, -3, 3] } // moveTo(-3, -3).lineTo(0, 0).lineTo(-3, 3)\nconst angleSide: IPathDataArrow = { connect: half, offset: { x: -1.207, bevelJoin: 0.854, roundJoin: 0.707 }, path: [1, -3, -3, 2, 0, 0, 2, -1, 0] } // moveTo(-3, -3).lineTo(0, 0).lineTo(-1, 0)\n\nconst triangleLinePath = [1, -3, 0, 2, -3, -2, 2, 0, 0, 2, -3, 2, 2, -3, 0] // moveTo(-3, 0).lineTo(-3, -2).lineTo(0, 0).lineTo(-3, 2).lineTo(-3, 0)\nconst triangle: IPathDataArrow = { connect: half, offset: { x: -0.9, bevelJoin: 0.624, roundJoin: 0.4 }, path: [...triangleLinePath, 1, -2.05, 1.1, 2, -2.05, -1.1], dashPath: [1, -2, 0, 2, -0.5, 0] } // fill: moveTo(-2.05, 1.1).lineTo(-2.05, -1.1)\n\nconst arrowLinePath = [1, -3, 0, 2, -3.5, -1.8, 2, 0, 0, 2, -3.5, 1.8, 2, -3, 0] // moveTo(-3, 0).lineTo(-3.5, -1.8).lineTo(0, 0).lineTo(-3.5, 1.8).lineTo(-3, 0)\nconst arrow: IPathDataArrow = { connect: half, offset: { x: -1.1, bevelJoin: 0.872, roundJoin: 0.6 }, path: [...arrowLinePath, 1, -2.25, 0.95, 2, -2.25, -0.95], dashPath: [1, -3, 0, 2, -0.5, 0] } // fill: moveTo(-2.25, 0.95).lineTo(-2.25, -0.95) \n\nconst triangleFlip: IPathDataArrow = { offset: half, path: [...triangle.path], dashPath: [1, -2.5, 0, 2, -1, 0] } // triangle rotate 180\nrotate(triangleFlip.path, 180, { x: -1.5, y: 0 })\n\nconst circleLine: IPathDataArrow = { connect: { x: -1.3 }, path: [1, 1.8, -0.1, 2, 1.8, 0, 26, 0, 0, 1.8, 0, 359, 0], } //drawArc(0, 0, 2, 0, 360)\nconst circle: IPathDataArrow = { connect: { x: 0.5 }, path: [...circleLine.path, 1, 0, 0, 26, 0, 0, 1, 0, 360, 0], dashPath: [1, -0.5, 0, 2, 0.5, 0] } // fill: moveTo(0,0).arc(0, 0, 1, 0, 360)\n\nconst squareLine: IPathDataArrow = { connect: { x: -1.3 }, path: [1, -1.4, 0, 2, -1.4, -1.4, 2, 1.4, -1.4, 2, 1.4, 1.4, 2, -1.4, 1.4, 2, -1.4, 0] } // moveTo(-1.4, 0).lineTo(-1.4, -1.4).lineTo(1.4, -1.4).lineTo(1.4, 1.4).lineTo(-1.4, 1.4).lineTo(-1.4, 0)\nconst square: IPathDataArrow = { path: [...squareLine.path, 2, -1.4, -0.49, 2, 1, -0.49, 1, -1.4, 0.49, 2, 1, 0.49] } // fill: moveTo(-1.4, -0.49).lineTo(1, -0.49).moveTo(-1.4, 0.49).lineTo(1, 0.49)\n\nconst diamondLine = DataHelper.clone(squareLine) as IPathDataArrow // square-line rotate 45\nconst diamond: IPathDataArrow = DataHelper.clone(square) as IPathDataArrow // square rotate 45\nrotate(diamondLine.path, 45)\nrotate(diamond.path, 45)\n\nconst mark: IPathDataArrow = { offset: half, path: [1, 0, -2, 2, 0, 2] } // moveTo(0, -2).lineTo(0, 2)\n\nexport const arrows: IPathDataArrowMap = {\n angle,\n 'angle-side': angleSide,\n\n arrow,\n triangle,\n 'triangle-flip': triangleFlip,\n\n circle,\n 'circle-line': circleLine,\n\n square,\n 'square-line': squareLine,\n\n diamond,\n 'diamond-line': diamondLine,\n\n mark,\n\n}\n\nexport function getArrowPath(ui: IUI, arrow: IArrowType, from: IPointData, to: IPointData, scale: number, connectOffset: IPointData, hasDashPattern?: boolean): IPathCommandData {\n const { strokeCap, strokeJoin } = ui.__\n const { offset, connect, path, dashPath } = isObject(arrow) ? arrow : arrows[arrow]\n\n let connectX = connect ? connect.x : 0\n let offsetX = offset ? offset.x : 0\n\n const data = [...path]\n if (hasDashPattern && dashPath) data.push(...dashPath)\n\n if (strokeCap !== 'none') connectX -= 0.5\n if (offset) {\n if (strokeJoin === 'round' && offset.roundJoin) offsetX += offset.roundJoin\n else if (strokeJoin === 'bevel' && offset.bevelJoin) offsetX += offset.bevelJoin\n }\n\n if (offsetX) layout(data, offsetX, 0)\n layout(data, to.x, to.y, scale, scale, getAngle(from, to))\n\n connectOffset.x = (connectX + offsetX) * scale\n return data\n}","import { IPathArrowModule, IUI, IPathCommandData, IPointData } from '@leafer-ui/interface'\nimport { PathCommandMap as Command, PointHelper } from '@leafer-ui/draw'\n\nimport { arrows, getArrowPath } from './data/arrows'\n\n\nconst { M, L, C, Q, Z, N, D, X, G, F, O, P, U } = Command\nconst { copy, copyFrom, getDistancePoint, } = PointHelper\n\nconst connectPoint = {} as IPointData\nconst first = {} as IPointData, second = {} as IPointData\nconst last = {} as IPointData, now = {} as IPointData\n\nexport const PathArrowModule: IPathArrowModule = {\n\n list: arrows,\n\n addArrows(ui: IUI, changeRenderPath?: boolean): void {\n const { startArrow, endArrow, strokeWidth, dashPattern, __pathForRender: data } = ui.__\n\n let command: number, i = 0, len = data.length, count = 0, useStartArrow = startArrow && startArrow !== 'none'\n\n while (i < len) {\n\n command = data[i]\n\n switch (command) {\n case M: // moveto(x, y)\n case L: // lineto(x, y)\n if (count < 2 || i + 6 >= len) { // 3 + 3 可能是两个连续L命令结束\n copyFrom(now, data[i + 1], data[i + 2])\n if (!count && useStartArrow) copy(first, now)\n }\n i += 3\n break\n case C: // bezierCurveTo(x1, y1, x2, y2, x, y)\n if (count === 1 || i + 7 === len) copyPoints(data, last, now, i + 3)\n i += 7\n break\n case Q: // quadraticCurveTo(x1, y1, x, y)\n if (count === 1 || i + 5 === len) copyPoints(data, last, now, i + 1)\n i += 5\n break\n case Z: // closepath()\n return // no arrow\n\n // canvas command\n\n case N: // rect(x, y, width, height)\n i += 5\n break\n case D: // roundRect(x, y, width, height, radius1, radius2, radius3, radius4)\n i += 9\n break\n case X: // simple roundRect(x, y, width, height, radius)\n i += 6\n break\n case G: // ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)\n i += 9\n break\n case F: // simple ellipse(x, y, radiusX, radiusY)\n i += 5\n break\n case O: // arc(x, y, radius, startAngle, endAngle, anticlockwise)\n i += 7\n break\n case P: // simple arc(x, y, radius)\n i += 4\n break\n case U: // arcTo(x1, y1, x2, y2, radius)\n if (count === 1 || i + 6 === len) copyPoints(data, last, now, i + 1)\n i += 6\n break\n }\n\n count++\n\n if (count === 1 && command !== M) return // no arrow\n if (count === 2 && useStartArrow) copy(second, command === L ? now : last)\n\n if (i === len) {\n const path = ui.__.__pathForRender = changeRenderPath ? [...data] : data\n const pathForArrow: IPathCommandData = ui.__.__pathForArrow = []\n\n if (useStartArrow) {\n const startArrowPath = getArrowPath(ui, startArrow, second, first, strokeWidth, connectPoint, !!dashPattern)\n dashPattern ? pathForArrow.push(...startArrowPath) : path.push(...startArrowPath)\n\n if (connectPoint.x) {\n getDistancePoint(first, second, -connectPoint.x, true)\n path[1] = second.x\n path[2] = second.y\n }\n }\n\n if (endArrow && endArrow !== 'none') {\n const endArrowPath = getArrowPath(ui, endArrow, last, now, strokeWidth, connectPoint, !!dashPattern)\n dashPattern ? pathForArrow.push(...endArrowPath) : path.push(...endArrowPath)\n\n if (connectPoint.x) {\n getDistancePoint(now, last, -connectPoint.x, true)\n let index: number\n switch (command) {\n case L: //lineto(x, y)\n index = i - 3 + 1\n break\n case C: //bezierCurveTo(x1, y1, x2, y2, x, y)\n index = i - 7 + 5\n break\n case Q: //quadraticCurveTo(x1, y1, x, y)\n index = i - 5 + 3\n break\n case U: // arcTo(x1, y1, x2, y2, radius)\n index = i - 6 + 3\n break\n }\n if (index) setPoint(path, last, index)\n }\n }\n\n } else {\n copy(last, now)\n }\n }\n\n\n }\n}\n\n\nfunction copyPoints(data: IPathCommandData, from: IPointData, to: IPointData, startIndex: number): void {\n copyFrom(from, data[startIndex], data[startIndex + 1])\n copyFrom(to, data[startIndex + 2], data[startIndex + 3])\n}\n\nfunction setPoint(data: IPathCommandData, point: IPointData, startIndex: number): void {\n data[startIndex] = point.x\n data[startIndex + 1] = point.y\n}","export { Arrow } from './Arrow'\nexport { ArrowData } from './data/ArrowData'\nexport { PathArrowModule } from './PathArrowModule'\nexport { PathMatrixHelper } from './PathMatrixHelper'\nexport { arrowType } from './decorator'\n\nimport { IUI, ILeaferCanvas } from '@leafer-ui/interface'\nimport { PathArrow, UI, Plugin, Paint } from '@leafer-ui/draw'\nimport { PathArrowModule } from './PathArrowModule'\nimport { arrowType } from './decorator'\n\n\nPlugin.add('arrow')\n\n\n// addAttr\nUI.addAttr('startArrow', 'none', arrowType)\nUI.addAttr('endArrow', 'none', arrowType)\n\n\nObject.assign(PathArrow, PathArrowModule)\nObject.assign(Paint, {\n strokeArrow(_stroke: string, ui: IUI, canvas: ILeaferCanvas): void {\n if (ui.__.dashPattern) { // fix: dashPattern Arrow\n canvas.beginPath()\n ui.__drawPathByData(canvas, ui.__.__pathForArrow)\n canvas.dashPattern = null\n canvas.stroke()\n }\n }\n})"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SuppressedError","ArrowData","LineData","arrowType","defaultValue","decorateLeafAttr","attr","set","value","this","__setAttr","data","__","__useArrow","startArrow","endArrow","doStrokeType","Arrow","Line","__tag","constructor","super","dataProcessor","prototype","registerUI","M","L","C","Q","O","Command","rotate","copyFrom","scale","PointHelper","point","PathMatrixHelper","layout","x","y","scaleX","scaleY","rotation","origin","command","j","len","setPoint","center","startIndex","getAngle","half","angle","connect","offset","bevelJoin","roundJoin","path","angleSide","triangle","dashPath","arrow","triangleFlip","circleLine","circle","squareLine","square","diamondLine","DataHelper","clone","diamond","arrows","mark","getArrowPath","ui","from","to","connectOffset","hasDashPattern","strokeCap","strokeJoin","isObject","connectX","offsetX","push","Z","N","D","X","G","F","P","U","copy","getDistancePoint","connectPoint","first","second","last","now","PathArrowModule","list","addArrows","changeRenderPath","strokeWidth","dashPattern","__pathForRender","count","useStartArrow","copyPoints","pathForArrow","__pathForArrow","startArrowPath","endArrowPath","index","Plugin","add","UI","addAttr","assign","PathArrow","Paint","strokeArrow","_stroke","canvas","beginPath","__drawPathByData","stroke"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"arrow.esm.min.js","sources":["../../../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.44.2_tslib@2.8.1_typescript@5.8.3/node_modules/tslib/tslib.es6.js","../../../../../../src/in/packages/arrow/src/data/ArrowData.ts","../../../../../../src/in/packages/arrow/src/decorator.ts","../../../../../../src/in/packages/arrow/src/Arrow.ts","../../../../../../src/in/packages/arrow/src/PathMatrixHelper.ts","../../../../../../src/in/packages/arrow/src/data/arrows.ts","../../../../../../src/in/packages/arrow/src/PathArrowModule.ts","../../../../../../src/in/packages/arrow/src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","import { IArrowData } from \"@leafer-ui/interface\"\nimport { LineData } from '@leafer-ui/draw'\n\n\nexport class ArrowData extends LineData implements IArrowData {\n\n}\n","import { IValue, IUI } from '@leafer-ui/interface'\nimport { decorateLeafAttr, attr, doStrokeType } from '@leafer-ui/draw'\n\nexport function arrowType(defaultValue?: IValue) {\n return decorateLeafAttr(defaultValue, (key: string) => attr({\n set(value: IValue) {\n if (this.__setAttr(key, value)) {\n const data = (this as IUI).__\n data.__useArrow = data.startArrow !== 'none' || data.endArrow !== 'none'\n doStrokeType(this)\n }\n }\n }))\n}","import { IArrow, IArrowData, IArrowInputData, IArrowStyle, IPathDataArrow } from '@leafer-ui/interface'\nimport { Line, registerUI, dataProcessor, PathArrow } from '@leafer-ui/draw'\n\nimport { ArrowData } from './data/ArrowData'\nimport { arrowType } from './decorator'\n\n\n@registerUI()\nexport class Arrow extends Line implements IArrow {\n\n public get __tag() { return 'Arrow' }\n\n @dataProcessor(ArrowData)\n declare public __: IArrowData\n\n @arrowType('angle')\n declare public endArrow?: IArrowStyle\n\n constructor(data?: IArrowInputData) {\n super(data)\n this.__.__useArrow = true\n }\n\n static registerArrow(name: string, data: IPathDataArrow): void {\n PathArrow.register(name, data)\n }\n\n}","import { IPathCommandData, IPointData } from '@leafer-ui/interface'\nimport { PathCommandMap as Command, PointHelper } from '@leafer-ui/draw'\n\n\nconst { M, L, C, Q, O } = Command\nconst { rotate, copyFrom, scale } = PointHelper\nconst point: IPointData = {} as IPointData\n\nexport const PathMatrixHelper = {\n\n layout(data: IPathCommandData, x: number, y: number, scaleX?: number, scaleY?: number, rotation?: number, origin?: IPointData): void {\n let command: number, i = 0, j: number, len = data.length\n\n while (i < len) {\n command = data[i]\n switch (command) {\n case M: // moveto(x, y)\n case L: // lineto(x, y)\n setPoint(data, i + 1, x, y, scaleX, scaleY, rotation, origin)\n i += 3\n break\n case C: // bezierCurveTo(x1, y1, x2, y2, x, y)\n for (j = 1; j < 6; j += 2) setPoint(data, i + j, x, y, scaleX, scaleY, rotation, origin)\n i += 7\n break\n case Q: // quadraticCurveTo(x1, y1, x, y)\n for (j = 1; j < 4; j += 2) setPoint(data, i + j, x, y, scaleX, scaleY, rotation, origin)\n i += 5\n break\n case O: // arc(x, y, radius, startAngle, endAngle, anticlockwise)\n data[i + 1] += x\n data[i + 2] += y\n if (scaleX) data[i + 3] *= scaleX\n if (rotation) {\n data[i + 4] += rotation\n data[i + 5] += rotation\n }\n i += 7\n break\n }\n }\n },\n\n rotate(data: IPathCommandData, rotation?: number, center?: IPointData): void {\n PathMatrixHelper.layout(data, 0, 0, 1, 1, rotation, center)\n }\n\n}\n\n\nfunction setPoint(data: IPathCommandData, startIndex: number, x: number, y: number, scaleX?: number, scaleY?: number, rotation?: number, origin?: IPointData): void {\n copyFrom(point, data[startIndex], data[startIndex + 1])\n if (rotation) rotate(point, rotation, origin)\n if (scaleX) scale(point, scaleX, scaleY)\n data[startIndex] = x + point.x\n data[startIndex + 1] = y + point.y\n}","import { IArrowStyle, IArrowTypeData, IPathDataArrow, IPathDataArrowMap, IUI, IPathCommandData, IPointData } from '@leafer-ui/interface'\nimport { DataHelper, PointHelper, isObject } from '@leafer-ui/draw'\n\nimport { PathMatrixHelper } from '../PathMatrixHelper'\n\n\nconst { layout, rotate } = PathMatrixHelper\nconst { getAngle } = PointHelper\nconst half = { x: -0.5 }\n\n\nconst angle: IPathDataArrow = { connect: half, offset: { x: -0.71, bevelJoin: 0.36, roundJoin: 0.22 }, path: [1, -3, -3, 2, 0, 0, 2, -3, 3] } // moveTo(-3, -3).lineTo(0, 0).lineTo(-3, 3)\nconst angleSide: IPathDataArrow = { connect: half, offset: { x: -1.207, bevelJoin: 0.854, roundJoin: 0.707 }, path: [1, -3, -3, 2, 0, 0, 2, -1, 0] } // moveTo(-3, -3).lineTo(0, 0).lineTo(-1, 0)\n\nconst triangleLinePath = [1, -3, 0, 2, -3, -2, 2, 0, 0, 2, -3, 2, 2, -3, 0] // moveTo(-3, 0).lineTo(-3, -2).lineTo(0, 0).lineTo(-3, 2).lineTo(-3, 0)\nconst triangle: IPathDataArrow = { connect: half, offset: { x: -0.9, bevelJoin: 0.624, roundJoin: 0.4 }, path: [...triangleLinePath, 1, -2.05, 1.1, 2, -2.05, -1.1], dashPath: [1, -2, 0, 2, -0.5, 0] } // fill: moveTo(-2.05, 1.1).lineTo(-2.05, -1.1)\n\nconst arrowLinePath = [1, -3, 0, 2, -3.5, -1.8, 2, 0, 0, 2, -3.5, 1.8, 2, -3, 0] // moveTo(-3, 0).lineTo(-3.5, -1.8).lineTo(0, 0).lineTo(-3.5, 1.8).lineTo(-3, 0)\nconst arrow: IPathDataArrow = { connect: half, offset: { x: -1.1, bevelJoin: 0.872, roundJoin: 0.6 }, path: [...arrowLinePath, 1, -2.25, 0.95, 2, -2.25, -0.95], dashPath: [1, -3, 0, 2, -0.5, 0] } // fill: moveTo(-2.25, 0.95).lineTo(-2.25, -0.95) \n\nconst triangleFlip: IPathDataArrow = { offset: half, path: [...triangle.path], dashPath: [1, -2.5, 0, 2, -1, 0] } // triangle rotate 180\nrotate(triangleFlip.path, 180, { x: -1.5, y: 0 })\n\nconst circleLine: IPathDataArrow = { connect: { x: -1.3 }, path: [1, 1.8, -0.1, 2, 1.8, 0, 26, 0, 0, 1.8, 0, 359, 0], } //drawArc(0, 0, 2, 0, 360)\nconst circle: IPathDataArrow = { connect: { x: 0.5 }, path: [...circleLine.path, 1, 0, 0, 26, 0, 0, 1, 0, 360, 0], dashPath: [1, -0.5, 0, 2, 0.5, 0] } // fill: moveTo(0,0).arc(0, 0, 1, 0, 360)\n\nconst squareLine: IPathDataArrow = { connect: { x: -1.3 }, path: [1, -1.4, 0, 2, -1.4, -1.4, 2, 1.4, -1.4, 2, 1.4, 1.4, 2, -1.4, 1.4, 2, -1.4, 0] } // moveTo(-1.4, 0).lineTo(-1.4, -1.4).lineTo(1.4, -1.4).lineTo(1.4, 1.4).lineTo(-1.4, 1.4).lineTo(-1.4, 0)\nconst square: IPathDataArrow = { path: [...squareLine.path, 2, -1.4, -0.49, 2, 1, -0.49, 1, -1.4, 0.49, 2, 1, 0.49] } // fill: moveTo(-1.4, -0.49).lineTo(1, -0.49).moveTo(-1.4, 0.49).lineTo(1, 0.49)\n\nconst diamondLine = DataHelper.clone(squareLine) as IPathDataArrow // square-line rotate 45\nconst diamond: IPathDataArrow = DataHelper.clone(square) as IPathDataArrow // square rotate 45\nrotate(diamondLine.path, 45)\nrotate(diamond.path, 45)\n\nconst mark: IPathDataArrow = { offset: half, path: [1, 0, -2, 2, 0, 2] } // moveTo(0, -2).lineTo(0, 2)\n\nexport const arrows: IPathDataArrowMap = {\n angle,\n 'angle-side': angleSide,\n\n arrow,\n triangle,\n 'triangle-flip': triangleFlip,\n\n circle,\n 'circle-line': circleLine,\n\n square,\n 'square-line': squareLine,\n\n diamond,\n 'diamond-line': diamondLine,\n\n mark,\n\n}\n\nexport function getArrowPath(ui: IUI, arrow: IArrowStyle, from: IPointData, to: IPointData, size: number, connectOffset: IPointData, hasDashPattern?: boolean): IPathCommandData {\n let pathData: IPathDataArrow, scale: number\n\n const { strokeCap, strokeJoin } = ui.__\n\n if (isObject(arrow)) {\n if ((arrow as IArrowTypeData).type) {\n scale = (arrow as IArrowTypeData).scale\n pathData = arrows[(arrow as IArrowTypeData).type]\n } else pathData = arrow as IPathDataArrow\n } else {\n pathData = arrows[arrow]\n }\n\n const { offset, connect, path, dashPath } = pathData\n\n let connectX = connect ? connect.x : 0\n let offsetX = offset ? offset.x : 0\n\n const data = [...path]\n if (hasDashPattern && dashPath) data.push(...dashPath)\n\n if (strokeCap !== 'none') connectX -= 0.5\n if (offset) {\n if (strokeJoin === 'round' && offset.roundJoin) offsetX += offset.roundJoin\n else if (strokeJoin === 'bevel' && offset.bevelJoin) offsetX += offset.bevelJoin\n }\n\n if (scale) layout(data, 0, 0, scale, scale) // 预留箭头比例缩放功能\n\n if (offsetX) layout(data, offsetX, 0)\n\n layout(data, to.x, to.y, size, size, getAngle(from, to)) // scale rotate 先围绕 data 数据应用后,再加 to\n\n connectOffset.x = (connectX + offsetX) * size\n return data\n}","import { IPathArrowModule, IUI, IPathCommandData, IPointData, IPathDataArrow } from '@leafer-ui/interface'\nimport { PathCommandMap as Command, PointHelper } from '@leafer-ui/draw'\n\nimport { arrows, getArrowPath } from './data/arrows'\n\n\nconst { M, L, C, Q, Z, N, D, X, G, F, O, P, U } = Command\nconst { copy, copyFrom, getDistancePoint, } = PointHelper\n\nconst connectPoint = {} as IPointData\nconst first = {} as IPointData, second = {} as IPointData\nconst last = {} as IPointData, now = {} as IPointData\n\nexport const PathArrowModule: IPathArrowModule = {\n\n list: arrows,\n\n addArrows(ui: IUI): void {\n const { startArrow, endArrow, strokeWidth, dashPattern, __pathForRender: data, cornerRadius } = ui.__\n\n const clonePathForArrow = !cornerRadius // cornerRadius会创建新的render路径,所以不用再clone\n\n let command: number, i = 0, len = data.length, count = 0, useStartArrow = startArrow && startArrow !== 'none'\n\n while (i < len) {\n\n command = data[i]\n\n switch (command) {\n case M: // moveto(x, y)\n case L: // lineto(x, y)\n if (count < 2 || i + 6 >= len) { // 3 + 3 可能是两个连续L命令结束\n copyFrom(now, data[i + 1], data[i + 2])\n if (!count && useStartArrow) copy(first, now)\n }\n i += 3\n break\n case C: // bezierCurveTo(x1, y1, x2, y2, x, y)\n if (count === 1 || i + 7 >= len - 3) copyPoints(data, last, now, i + 3) // C 或 C + L结束\n i += 7\n break\n case Q: // quadraticCurveTo(x1, y1, x, y)\n if (count === 1 || i + 5 >= len - 3) copyPoints(data, last, now, i + 1) // Q 或 Q + L结束\n i += 5\n break\n case Z: // closepath()\n return // no arrow\n\n // canvas command\n\n case N: // rect(x, y, width, height)\n i += 5\n break\n case D: // roundRect(x, y, width, height, radius1, radius2, radius3, radius4)\n i += 9\n break\n case X: // simple roundRect(x, y, width, height, radius)\n i += 6\n break\n case G: // ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise)\n i += 9\n break\n case F: // simple ellipse(x, y, radiusX, radiusY)\n i += 5\n break\n case O: // arc(x, y, radius, startAngle, endAngle, anticlockwise)\n i += 7\n break\n case P: // simple arc(x, y, radius)\n i += 4\n break\n case U: // arcTo(x1, y1, x2, y2, radius)\n if (count === 1 || i + 6 >= len - 3) { // U 或 U + L结束\n copyPoints(data, last, now, i + 1)\n if (i + 6 !== len) { // 避免与结束点重合\n now.x -= (now.x - last.x) / 10\n now.y -= (now.y - last.y) / 10\n }\n }\n i += 6\n break\n }\n\n count++\n\n if (count === 1 && command !== M) return // no arrow\n if (count === 2 && useStartArrow) copy(second, command === L ? now : last)\n\n if (i === len) {\n const path = ui.__.__pathForRender = clonePathForArrow ? [...data] : data\n const pathForArrow: IPathCommandData = ui.__.__pathForArrow = []\n\n if (useStartArrow) {\n const startArrowPath = getArrowPath(ui, startArrow, second, first, strokeWidth, connectPoint, !!dashPattern)\n dashPattern ? pathForArrow.push(...startArrowPath) : path.push(...startArrowPath)\n\n if (connectPoint.x) {\n getDistancePoint(first, second, -connectPoint.x, true)\n path[1] = second.x\n path[2] = second.y\n }\n }\n\n if (endArrow && endArrow !== 'none') {\n const endArrowPath = getArrowPath(ui, endArrow, last, now, strokeWidth, connectPoint, !!dashPattern)\n dashPattern ? pathForArrow.push(...endArrowPath) : path.push(...endArrowPath)\n\n if (connectPoint.x) {\n getDistancePoint(now, last, -connectPoint.x, true)\n let index: number\n switch (command) {\n case L: //lineto(x, y)\n index = i - 3 + 1\n break\n case C: //bezierCurveTo(x1, y1, x2, y2, x, y)\n index = i - 7 + 5\n break\n case Q: //quadraticCurveTo(x1, y1, x, y)\n index = i - 5 + 3\n break\n case U: // arcTo(x1, y1, x2, y2, radius)\n index = i - 6 + 3\n break\n }\n if (index) setPoint(path, last, index)\n }\n }\n\n } else {\n copy(last, now)\n }\n }\n\n\n },\n\n register(name: string, data: IPathDataArrow): void {\n this.list[name] = data\n },\n\n get(name: string): IPathDataArrow {\n return this.list[name]\n }\n\n}\n\n\n\nfunction copyPoints(data: IPathCommandData, from: IPointData, to: IPointData, startIndex: number): void {\n copyFrom(from, data[startIndex], data[startIndex + 1])\n copyFrom(to, data[startIndex + 2], data[startIndex + 3])\n}\n\nfunction setPoint(data: IPathCommandData, point: IPointData, startIndex: number): void {\n data[startIndex] = point.x\n data[startIndex + 1] = point.y\n}","export { Arrow } from './Arrow'\nexport { ArrowData } from './data/ArrowData'\nexport { PathArrowModule } from './PathArrowModule'\nexport { PathMatrixHelper } from './PathMatrixHelper'\nexport { arrowType } from './decorator'\n\nimport { IUI, ILeaferCanvas } from '@leafer-ui/interface'\nimport { PathArrow, UI, Plugin, Paint } from '@leafer-ui/draw'\nimport { PathArrowModule } from './PathArrowModule'\nimport { arrowType } from './decorator'\n\n\nPlugin.add('arrow')\n\n\n// addAttr\nUI.addAttr('startArrow', 'none', arrowType)\nUI.addAttr('endArrow', 'none', arrowType)\n\n\nObject.assign(PathArrow, PathArrowModule)\nObject.assign(Paint, {\n strokeArrow(_stroke: string, ui: IUI, canvas: ILeaferCanvas): void {\n if (ui.__.dashPattern) { // fix: dashPattern Arrow\n canvas.beginPath()\n ui.__drawPathByData(canvas, ui.__.__pathForArrow)\n canvas.dashPattern = null\n canvas.stroke()\n }\n }\n})"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","SuppressedError","ArrowData","LineData","arrowType","defaultValue","decorateLeafAttr","attr","set","value","this","__setAttr","data","__","__useArrow","startArrow","endArrow","doStrokeType","Arrow","Line","__tag","constructor","super","registerArrow","name","PathArrow","register","dataProcessor","prototype","registerUI","M","L","C","Q","O","Command","rotate","copyFrom","scale","PointHelper","point","PathMatrixHelper","layout","x","y","scaleX","scaleY","rotation","origin","command","j","len","setPoint","center","startIndex","getAngle","half","angle","connect","offset","bevelJoin","roundJoin","path","angleSide","triangle","dashPath","arrow","triangleFlip","circleLine","circle","squareLine","square","diamondLine","DataHelper","clone","diamond","arrows","mark","getArrowPath","ui","from","to","size","connectOffset","hasDashPattern","pathData","strokeCap","strokeJoin","isObject","type","connectX","offsetX","push","Z","N","D","X","G","F","P","U","copy","getDistancePoint","connectPoint","first","second","last","now","PathArrowModule","list","addArrows","strokeWidth","dashPattern","__pathForRender","cornerRadius","clonePathForArrow","count","useStartArrow","copyPoints","pathForArrow","__pathForArrow","startArrowPath","endArrowPath","index","get","Plugin","add","UI","addAttr","assign","Paint","strokeArrow","_stroke","canvas","beginPath","__drawPathByData","stroke"],"mappings":"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","x_google_ignoreList":[0]}
|
package/dist/arrow.js
CHANGED
|
@@ -31,6 +31,9 @@ this.LeaferIN.arrow = function(exports, draw) {
|
|
|
31
31
|
super(data);
|
|
32
32
|
this.__.__useArrow = true;
|
|
33
33
|
}
|
|
34
|
+
static registerArrow(name, data) {
|
|
35
|
+
draw.PathArrow.register(name, data);
|
|
36
|
+
}
|
|
34
37
|
};
|
|
35
38
|
__decorate([ draw.dataProcessor(ArrowData) ], exports.Arrow.prototype, "__", void 0);
|
|
36
39
|
__decorate([ arrowType("angle") ], exports.Arrow.prototype, "endArrow", void 0);
|
|
@@ -182,9 +185,18 @@ this.LeaferIN.arrow = function(exports, draw) {
|
|
|
182
185
|
"diamond-line": diamondLine,
|
|
183
186
|
mark: mark
|
|
184
187
|
};
|
|
185
|
-
function getArrowPath(ui, arrow, from, to,
|
|
188
|
+
function getArrowPath(ui, arrow, from, to, size, connectOffset, hasDashPattern) {
|
|
189
|
+
let pathData, scale;
|
|
186
190
|
const {strokeCap: strokeCap, strokeJoin: strokeJoin} = ui.__;
|
|
187
|
-
|
|
191
|
+
if (draw.isObject(arrow)) {
|
|
192
|
+
if (arrow.type) {
|
|
193
|
+
scale = arrow.scale;
|
|
194
|
+
pathData = arrows[arrow.type];
|
|
195
|
+
} else pathData = arrow;
|
|
196
|
+
} else {
|
|
197
|
+
pathData = arrows[arrow];
|
|
198
|
+
}
|
|
199
|
+
const {offset: offset, connect: connect, path: path, dashPath: dashPath} = pathData;
|
|
188
200
|
let connectX = connect ? connect.x : 0;
|
|
189
201
|
let offsetX = offset ? offset.x : 0;
|
|
190
202
|
const data = [ ...path ];
|
|
@@ -193,9 +205,10 @@ this.LeaferIN.arrow = function(exports, draw) {
|
|
|
193
205
|
if (offset) {
|
|
194
206
|
if (strokeJoin === "round" && offset.roundJoin) offsetX += offset.roundJoin; else if (strokeJoin === "bevel" && offset.bevelJoin) offsetX += offset.bevelJoin;
|
|
195
207
|
}
|
|
208
|
+
if (scale) layout(data, 0, 0, scale, scale);
|
|
196
209
|
if (offsetX) layout(data, offsetX, 0);
|
|
197
|
-
layout(data, to.x, to.y,
|
|
198
|
-
connectOffset.x = (connectX + offsetX) *
|
|
210
|
+
layout(data, to.x, to.y, size, size, getAngle(from, to));
|
|
211
|
+
connectOffset.x = (connectX + offsetX) * size;
|
|
199
212
|
return data;
|
|
200
213
|
}
|
|
201
214
|
const {M: M, L: L, C: C, Q: Q, Z: Z, N: N, D: D, X: X, G: G, F: F, O: O, P: P, U: U} = draw.PathCommandMap;
|
|
@@ -205,8 +218,9 @@ this.LeaferIN.arrow = function(exports, draw) {
|
|
|
205
218
|
const last = {}, now = {};
|
|
206
219
|
const PathArrowModule = {
|
|
207
220
|
list: arrows,
|
|
208
|
-
addArrows(ui
|
|
209
|
-
const {startArrow: startArrow, endArrow: endArrow, strokeWidth: strokeWidth, dashPattern: dashPattern, __pathForRender: data} = ui.__;
|
|
221
|
+
addArrows(ui) {
|
|
222
|
+
const {startArrow: startArrow, endArrow: endArrow, strokeWidth: strokeWidth, dashPattern: dashPattern, __pathForRender: data, cornerRadius: cornerRadius} = ui.__;
|
|
223
|
+
const clonePathForArrow = !cornerRadius;
|
|
210
224
|
let command, i = 0, len = data.length, count = 0, useStartArrow = startArrow && startArrow !== "none";
|
|
211
225
|
while (i < len) {
|
|
212
226
|
command = data[i];
|
|
@@ -221,12 +235,12 @@ this.LeaferIN.arrow = function(exports, draw) {
|
|
|
221
235
|
break;
|
|
222
236
|
|
|
223
237
|
case C:
|
|
224
|
-
if (count === 1 || i + 7
|
|
238
|
+
if (count === 1 || i + 7 >= len - 3) copyPoints(data, last, now, i + 3);
|
|
225
239
|
i += 7;
|
|
226
240
|
break;
|
|
227
241
|
|
|
228
242
|
case Q:
|
|
229
|
-
if (count === 1 || i + 5
|
|
243
|
+
if (count === 1 || i + 5 >= len - 3) copyPoints(data, last, now, i + 1);
|
|
230
244
|
i += 5;
|
|
231
245
|
break;
|
|
232
246
|
|
|
@@ -262,7 +276,13 @@ this.LeaferIN.arrow = function(exports, draw) {
|
|
|
262
276
|
break;
|
|
263
277
|
|
|
264
278
|
case U:
|
|
265
|
-
if (count === 1 || i + 6
|
|
279
|
+
if (count === 1 || i + 6 >= len - 3) {
|
|
280
|
+
copyPoints(data, last, now, i + 1);
|
|
281
|
+
if (i + 6 !== len) {
|
|
282
|
+
now.x -= (now.x - last.x) / 10;
|
|
283
|
+
now.y -= (now.y - last.y) / 10;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
266
286
|
i += 6;
|
|
267
287
|
break;
|
|
268
288
|
}
|
|
@@ -270,7 +290,7 @@ this.LeaferIN.arrow = function(exports, draw) {
|
|
|
270
290
|
if (count === 1 && command !== M) return;
|
|
271
291
|
if (count === 2 && useStartArrow) copy(second, command === L ? now : last);
|
|
272
292
|
if (i === len) {
|
|
273
|
-
const path = ui.__.__pathForRender =
|
|
293
|
+
const path = ui.__.__pathForRender = clonePathForArrow ? [ ...data ] : data;
|
|
274
294
|
const pathForArrow = ui.__.__pathForArrow = [];
|
|
275
295
|
if (useStartArrow) {
|
|
276
296
|
const startArrowPath = getArrowPath(ui, startArrow, second, first, strokeWidth, connectPoint, !!dashPattern);
|
|
@@ -311,6 +331,12 @@ this.LeaferIN.arrow = function(exports, draw) {
|
|
|
311
331
|
copy(last, now);
|
|
312
332
|
}
|
|
313
333
|
}
|
|
334
|
+
},
|
|
335
|
+
register(name, data) {
|
|
336
|
+
this.list[name] = data;
|
|
337
|
+
},
|
|
338
|
+
get(name) {
|
|
339
|
+
return this.list[name];
|
|
314
340
|
}
|
|
315
341
|
};
|
|
316
342
|
function copyPoints(data, from, to, startIndex) {
|
package/dist/arrow.min.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@leafer-ui/draw");function t(e,t,r,o){var a,n=arguments.length,s=n<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(a=e[c])&&(s=(n<3?a(s):n>3?a(t,r,s):a(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s}"function"==typeof SuppressedError&&SuppressedError;class r extends e.LineData{}function o(t){return e.decorateLeafAttr(t,t=>e.attr({set(r){if(this.__setAttr(t,r)){const t=this.__;t.__useArrow="none"!==t.startArrow||"none"!==t.endArrow,e.doStrokeType(this)}}}))}exports.Arrow=class extends e.Line{get __tag(){return"Arrow"}constructor(e){super(e),this.__.__useArrow=!0}},t([e.dataProcessor(r)],exports.Arrow.prototype,"__",void 0),t([o("angle")],exports.Arrow.prototype,"endArrow",void 0),exports.Arrow=t([e.registerUI()],exports.Arrow);const{M:a,L:n,C:s,Q:c,O:i}=e.PathCommandMap,{rotate:p,copyFrom:h,scale:l}=e.PointHelper,d={},
|
|
1
|
+
"use strict";var e=require("@leafer-ui/draw");function t(e,t,r,o){var a,n=arguments.length,s=n<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(a=e[c])&&(s=(n<3?a(s):n>3?a(t,r,s):a(t,r))||s);return n>3&&s&&Object.defineProperty(t,r,s),s}"function"==typeof SuppressedError&&SuppressedError;class r extends e.LineData{}function o(t){return e.decorateLeafAttr(t,t=>e.attr({set(r){if(this.__setAttr(t,r)){const t=this.__;t.__useArrow="none"!==t.startArrow||"none"!==t.endArrow,e.doStrokeType(this)}}}))}exports.Arrow=class extends e.Line{get __tag(){return"Arrow"}constructor(e){super(e),this.__.__useArrow=!0}static registerArrow(t,r){e.PathArrow.register(t,r)}},t([e.dataProcessor(r)],exports.Arrow.prototype,"__",void 0),t([o("angle")],exports.Arrow.prototype,"endArrow",void 0),exports.Arrow=t([e.registerUI()],exports.Arrow);const{M:a,L:n,C:s,Q:c,O:i}=e.PathCommandMap,{rotate:p,copyFrom:h,scale:l}=e.PointHelper,d={},u={layout(e,t,r,o,p,h,l){let d,u,_=0,x=e.length;for(;_<x;)switch(d=e[_],d){case a:case n:f(e,_+1,t,r,o,p,h,l),_+=3;break;case s:for(u=1;u<6;u+=2)f(e,_+u,t,r,o,p,h,l);_+=7;break;case c:for(u=1;u<4;u+=2)f(e,_+u,t,r,o,p,h,l);_+=5;break;case i:e[_+1]+=t,e[_+2]+=r,o&&(e[_+3]*=o),h&&(e[_+4]+=h,e[_+5]+=h),_+=7}},rotate(e,t,r){u.layout(e,0,0,1,1,t,r)}};function f(e,t,r,o,a,n,s,c){h(d,e[t],e[t+1]),s&&p(d,s,c),a&&l(d,a,n),e[t]=r+d.x,e[t+1]=o+d.y}const{layout:_,rotate:x}=u,{getAngle:w}=e.PointHelper,b={x:-.5},A={connect:b,offset:{x:-.71,bevelJoin:.36,roundJoin:.22},path:[1,-3,-3,2,0,0,2,-3,3]},y={connect:b,offset:{x:-1.207,bevelJoin:.854,roundJoin:.707},path:[1,-3,-3,2,0,0,2,-1,0]},P={connect:b,offset:{x:-.9,bevelJoin:.624,roundJoin:.4},path:[1,-3,0,2,-3,-2,2,0,0,2,-3,2,2,-3,0,1,-2.05,1.1,2,-2.05,-1.1],dashPath:[1,-2,0,2,-.5,0]},g={connect:b,offset:{x:-1.1,bevelJoin:.872,roundJoin:.6},path:[1,-3,0,2,-3.5,-1.8,2,0,0,2,-3.5,1.8,2,-3,0,1,-2.25,.95,2,-2.25,-.95],dashPath:[1,-3,0,2,-.5,0]},k={offset:b,path:[...P.path],dashPath:[1,-2.5,0,2,-1,0]};x(k.path,180,{x:-1.5,y:0});const J={connect:{x:-1.3},path:[1,1.8,-.1,2,1.8,0,26,0,0,1.8,0,359,0]},v={connect:{x:.5},path:[...J.path,1,0,0,26,0,0,1,0,360,0],dashPath:[1,-.5,0,2,.5,0]},m={connect:{x:-1.3},path:[1,-1.4,0,2,-1.4,-1.4,2,1.4,-1.4,2,1.4,1.4,2,-1.4,1.4,2,-1.4,0]},D={path:[...m.path,2,-1.4,-.49,2,1,-.49,1,-1.4,.49,2,1,.49]},O=e.DataHelper.clone(m),F=e.DataHelper.clone(D);x(O.path,45),x(F.path,45);const j={angle:A,"angle-side":y,arrow:g,triangle:P,"triangle-flip":k,circle:v,"circle-line":J,square:D,"square-line":m,diamond:F,"diamond-line":O,mark:{offset:b,path:[1,0,-2,2,0,2]}};function H(t,r,o,a,n,s,c){let i,p;const{strokeCap:h,strokeJoin:l}=t.__;e.isObject(r)?r.type?(p=r.scale,i=j[r.type]):i=r:i=j[r];const{offset:d,connect:u,path:f,dashPath:x}=i;let b=u?u.x:0,A=d?d.x:0;const y=[...f];return c&&x&&y.push(...x),"none"!==h&&(b-=.5),d&&("round"===l&&d.roundJoin?A+=d.roundJoin:"bevel"===l&&d.bevelJoin&&(A+=d.bevelJoin)),p&&_(y,0,0,p,p),A&&_(y,A,0),_(y,a.x,a.y,n,n,w(o,a)),s.x=(b+A)*n,y}const{M:M,L:R,C:C,Q:L,Z:U,N:q,D:I,X:S,G:E,F:Q,O:T,P:B,U:G}=e.PathCommandMap,{copy:N,copyFrom:W,getDistancePoint:X}=e.PointHelper,Z={},z={},K={},V={},Y={},$={list:j,addArrows(e){const{startArrow:t,endArrow:r,strokeWidth:o,dashPattern:a,__pathForRender:n,cornerRadius:s}=e.__,c=!s;let i,p=0,h=n.length,l=0,d=t&&"none"!==t;for(;p<h;){switch(i=n[p],i){case M:case R:(l<2||p+6>=h)&&(W(Y,n[p+1],n[p+2]),!l&&d&&N(z,Y)),p+=3;break;case C:(1===l||p+7>=h-3)&&ee(n,V,Y,p+3),p+=7;break;case L:(1===l||p+5>=h-3)&&ee(n,V,Y,p+1),p+=5;break;case U:return;case q:p+=5;break;case I:p+=9;break;case S:p+=6;break;case E:p+=9;break;case Q:p+=5;break;case T:p+=7;break;case B:p+=4;break;case G:(1===l||p+6>=h-3)&&(ee(n,V,Y,p+1),p+6!==h&&(Y.x-=(Y.x-V.x)/10,Y.y-=(Y.y-V.y)/10)),p+=6}if(l++,1===l&&i!==M)return;if(2===l&&d&&N(K,i===R?Y:V),p===h){const s=e.__.__pathForRender=c?[...n]:n,h=e.__.__pathForArrow=[];if(d){const r=H(e,t,K,z,o,Z,!!a);a?h.push(...r):s.push(...r),Z.x&&(X(z,K,-Z.x,!0),s[1]=K.x,s[2]=K.y)}if(r&&"none"!==r){const t=H(e,r,V,Y,o,Z,!!a);if(a?h.push(...t):s.push(...t),Z.x){let e;switch(X(Y,V,-Z.x,!0),i){case R:e=p-3+1;break;case C:e=p-7+5;break;case L:e=p-5+3;break;case G:e=p-6+3}e&&te(s,V,e)}}}else N(V,Y)}},register(e,t){this.list[e]=t},get(e){return this.list[e]}};function ee(e,t,r,o){W(t,e[o],e[o+1]),W(r,e[o+2],e[o+3])}function te(e,t,r){e[r]=t.x,e[r+1]=t.y}e.Plugin.add("arrow"),e.UI.addAttr("startArrow","none",o),e.UI.addAttr("endArrow","none",o),Object.assign(e.PathArrow,$),Object.assign(e.Paint,{strokeArrow(e,t,r){t.__.dashPattern&&(r.beginPath(),t.__drawPathByData(r,t.__.__pathForArrow),r.dashPattern=null,r.stroke())}}),exports.ArrowData=r,exports.PathArrowModule=$,exports.PathMatrixHelper=u,exports.arrowType=o;
|
|
2
2
|
//# sourceMappingURL=arrow.min.cjs.map
|