@leafer-in/arrow 1.9.3 → 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 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, scale, connectOffset, hasDashPattern) {
222
+ function getArrowPath(ui, arrow, from, to, size, connectOffset, hasDashPattern) {
223
+ let pathData, scale;
220
224
  const {strokeCap: strokeCap, strokeJoin: strokeJoin} = ui.__;
221
- const {offset: offset, connect: connect, path: path, dashPath: dashPath} = draw.isObject(arrow) ? arrow : arrows[arrow];
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, scale, scale, getAngle(from, to));
232
- connectOffset.x = (connectX + offsetX) * scale;
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, changeRenderPath) {
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 === len) copyPoints(data, last, now, i + 3);
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 === len) copyPoints(data, last, now, i + 1);
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 === len) copyPoints(data, last, now, i + 1);
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 = changeRenderPath ? [ ...data ] : data;
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, PathArrow, Paint } from "@leafer-ui/draw";
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, scale, connectOffset, hasDashPattern) {
220
+ function getArrowPath(ui, arrow, from, to, size, connectOffset, hasDashPattern) {
221
+ let pathData, scale;
218
222
  const {strokeCap: strokeCap, strokeJoin: strokeJoin} = ui.__;
219
- const {offset: offset, connect: connect, path: path, dashPath: dashPath} = isObject(arrow) ? arrow : arrows[arrow];
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, scale, scale, getAngle(from, to));
230
- connectOffset.x = (connectX + offsetX) * scale;
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, changeRenderPath) {
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 === len) copyPoints(data, last, now, i + 3);
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 === len) copyPoints(data, last, now, i + 1);
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 === len) copyPoints(data, last, now, i + 1);
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 = changeRenderPath ? [ ...data ] : data;
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
 
@@ -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,PathCommandMap as c,PointHelper as i,DataHelper as h,isObject as p,Plugin as l,UI as d,PathArrow 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 k=class extends s{get __tag(){return"Arrow"}constructor(e){super(e),this.__.__useArrow=!0}};_([n(b)],k.prototype,"__",void 0),_([x("angle")],k.prototype,"endArrow",void 0),k=_([a()],k);const{M:w,L:y,C:g,Q:A,O:P}=c,{rotate:J,copyFrom:v,scale:m}=i,F={},O={layout(e,t,r,o,n,a,s){let c,i,h=0,p=e.length;for(;h<p;)switch(c=e[h],c){case w:case y:j(e,h+1,t,r,o,n,a,s),h+=3;break;case g:for(i=1;i<6;i+=2)j(e,h+i,t,r,o,n,a,s);h+=7;break;case A:for(i=1;i<4;i+=2)j(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 j(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:R,rotate:D}=O,{getAngle:C}=i,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=h.clone(N),X=h.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){const{strokeCap:c,strokeJoin:i}=e.__,{offset:h,connect:l,path:d,dashPath:f}=p(t)?t:Z[t];let u=l?l.x:0,_=h?h.x:0;const b=[...d];return s&&f&&b.push(...f),"none"!==c&&(u-=.5),h&&("round"===i&&h.roundJoin?_+=h.roundJoin:"bevel"===i&&h.bevelJoin&&(_+=h.bevelJoin)),_&&R(b,_,0),R(b,o.x,o.y,n,n,C(r,o)),a.x=(u+_)*n,b}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}=c,{copy:se,copyFrom:ce,getDistancePoint:ie}=i,he={},pe={},le={},de={},fe={},ue={list:Z,addArrows(e,t){const{startArrow:r,endArrow:o,strokeWidth:n,dashPattern:a,__pathForRender:s}=e.__;let c,i=0,h=s.length,p=0,l=r&&"none"!==r;for(;i<h;){switch(c=s[i],c){case H:case I:(p<2||i+6>=h)&&(ce(fe,s[i+1],s[i+2]),!p&&l&&se(pe,fe)),i+=3;break;case K:1!==p&&i+7!==h||_e(s,de,fe,i+3),i+=7;break;case T:1!==p&&i+5!==h||_e(s,de,fe,i+1),i+=5;break;case V:return;case Y:i+=5;break;case $:i+=9;break;case ee:i+=6;break;case te:i+=9;break;case re:i+=5;break;case oe:i+=7;break;case ne:i+=4;break;case ae:1!==p&&i+6!==h||_e(s,de,fe,i+1),i+=6}if(p++,1===p&&c!==H)return;if(2===p&&l&&se(le,c===I?fe:de),i===h){const h=e.__.__pathForRender=t?[...s]:s,p=e.__.__pathForArrow=[];if(l){const t=z(e,r,le,pe,n,he,!!a);a?p.push(...t):h.push(...t),he.x&&(ie(pe,le,-he.x,!0),h[1]=le.x,h[2]=le.y)}if(o&&"none"!==o){const t=z(e,o,de,fe,n,he,!!a);if(a?p.push(...t):h.push(...t),he.x){let e;switch(ie(fe,de,-he.x,!0),c){case I:e=i-3+1;break;case K:e=i-7+5;break;case T:e=i-5+3;break;case ae:e=i-6+3}e&&be(h,de,e)}}}else se(de,fe)}}};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}l.add("arrow"),d.addAttr("startArrow","none",x),d.addAttr("endArrow","none",x),Object.assign(f,ue),Object.assign(u,{strokeArrow(e,t,r){t.__.dashPattern&&(r.beginPath(),t.__drawPathByData(r,t.__.__pathForArrow),r.dashPattern=null,r.stroke())}});export{k as Arrow,b as ArrowData,ue as PathArrowModule,O as PathMatrixHelper,x as arrowType};
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, scale, connectOffset, hasDashPattern) {
188
+ function getArrowPath(ui, arrow, from, to, size, connectOffset, hasDashPattern) {
189
+ let pathData, scale;
186
190
  const {strokeCap: strokeCap, strokeJoin: strokeJoin} = ui.__;
187
- const {offset: offset, connect: connect, path: path, dashPath: dashPath} = draw.isObject(arrow) ? arrow : arrows[arrow];
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, scale, scale, getAngle(from, to));
198
- connectOffset.x = (connectX + offsetX) * scale;
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, changeRenderPath) {
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 === len) copyPoints(data, last, now, i + 3);
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 === len) copyPoints(data, last, now, i + 1);
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 === len) copyPoints(data, last, now, i + 1);
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 = changeRenderPath ? [ ...data ] : data;
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) {
@@ -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={},f={layout(e,t,r,o,p,h,l){let d,f,_=0,x=e.length;for(;_<x;)switch(d=e[_],d){case a:case n:u(e,_+1,t,r,o,p,h,l),_+=3;break;case s:for(f=1;f<6;f+=2)u(e,_+f,t,r,o,p,h,l);_+=7;break;case c:for(f=1;f<4;f+=2)u(e,_+f,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){f.layout(e,0,0,1,1,t,r)}};function u(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}=f,{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]},P={connect:b,offset:{x:-1.207,bevelJoin:.854,roundJoin:.707},path:[1,-3,-3,2,0,0,2,-1,0]},k={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]},y={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]},g={offset:b,path:[...k.path],dashPath:[1,-2.5,0,2,-1,0]};x(g.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":P,arrow:y,triangle:k,"triangle-flip":g,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){const{strokeCap:i,strokeJoin:p}=t.__,{offset:h,connect:l,path:d,dashPath:f}=e.isObject(r)?r:j[r];let u=l?l.x:0,x=h?h.x:0;const b=[...d];return c&&f&&b.push(...f),"none"!==i&&(u-=.5),h&&("round"===p&&h.roundJoin?x+=h.roundJoin:"bevel"===p&&h.bevelJoin&&(x+=h.bevelJoin)),x&&_(b,x,0),_(b,a.x,a.y,n,n,w(o,a)),s.x=(u+x)*n,b}const{M:M,L:C,C:L,Q:R,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,t){const{startArrow:r,endArrow:o,strokeWidth:a,dashPattern:n,__pathForRender:s}=e.__;let c,i=0,p=s.length,h=0,l=r&&"none"!==r;for(;i<p;){switch(c=s[i],c){case M:case C:(h<2||i+6>=p)&&(W(Y,s[i+1],s[i+2]),!h&&l&&N(z,Y)),i+=3;break;case L:1!==h&&i+7!==p||ee(s,V,Y,i+3),i+=7;break;case R:1!==h&&i+5!==p||ee(s,V,Y,i+1),i+=5;break;case U:return;case q:i+=5;break;case I:i+=9;break;case S:i+=6;break;case E:i+=9;break;case Q:i+=5;break;case T:i+=7;break;case B:i+=4;break;case G:1!==h&&i+6!==p||ee(s,V,Y,i+1),i+=6}if(h++,1===h&&c!==M)return;if(2===h&&l&&N(K,c===C?Y:V),i===p){const p=e.__.__pathForRender=t?[...s]:s,h=e.__.__pathForArrow=[];if(l){const t=H(e,r,K,z,a,Z,!!n);n?h.push(...t):p.push(...t),Z.x&&(X(z,K,-Z.x,!0),p[1]=K.x,p[2]=K.y)}if(o&&"none"!==o){const t=H(e,o,V,Y,a,Z,!!n);if(n?h.push(...t):p.push(...t),Z.x){let e;switch(X(Y,V,-Z.x,!0),c){case C:e=i-3+1;break;case L:e=i-7+5;break;case R:e=i-5+3;break;case G:e=i-6+3}e&&te(p,V,e)}}}else N(V,Y)}}};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=f,exports.arrowType=o;
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