@plait/draw 0.62.0-next.6 → 0.62.0-next.7

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.
Files changed (137) hide show
  1. package/arrow-line.component.d.ts +26 -0
  2. package/constants/pointer.d.ts +3 -3
  3. package/esm2022/arrow-line.component.mjs +157 -0
  4. package/esm2022/constants/geometry.mjs +3 -3
  5. package/esm2022/constants/pointer.mjs +4 -4
  6. package/esm2022/engines/flowchart/note-curly-left.mjs +2 -2
  7. package/esm2022/engines/flowchart/note-curly-right.mjs +7 -7
  8. package/esm2022/engines/flowchart/note-square.mjs +2 -2
  9. package/esm2022/engines/uml/required-interface.mjs +3 -2
  10. package/esm2022/generators/arrow-line-active.generator.mjs +81 -0
  11. package/esm2022/generators/arrow-line-auto-complete.generator.mjs +46 -0
  12. package/esm2022/generators/arrow-line.generator.mjs +13 -0
  13. package/esm2022/generators/index.mjs +3 -3
  14. package/esm2022/geometry.component.mjs +4 -4
  15. package/esm2022/image.component.mjs +4 -4
  16. package/esm2022/interfaces/arrow-line.mjs +70 -0
  17. package/esm2022/interfaces/element.mjs +2 -2
  18. package/esm2022/interfaces/index.mjs +14 -7
  19. package/esm2022/interfaces/vector-line.mjs +6 -0
  20. package/esm2022/plugins/with-arrow-line-auto-complete-reaction.mjs +41 -0
  21. package/esm2022/plugins/with-arrow-line-auto-complete.mjs +74 -0
  22. package/esm2022/plugins/with-arrow-line-bound-reaction.mjs +53 -0
  23. package/esm2022/plugins/with-arrow-line-create.mjs +53 -0
  24. package/esm2022/plugins/with-arrow-line-resize.mjs +158 -0
  25. package/esm2022/plugins/with-arrow-line-text-move.mjs +53 -0
  26. package/esm2022/plugins/with-arrow-line-text.mjs +63 -0
  27. package/esm2022/plugins/with-draw-fragment.mjs +13 -13
  28. package/esm2022/plugins/with-draw-resize.mjs +12 -5
  29. package/esm2022/plugins/with-draw.mjs +27 -20
  30. package/esm2022/plugins/with-geometry-resize.mjs +1 -1
  31. package/esm2022/plugins/with-swimlane.mjs +1 -20
  32. package/esm2022/plugins/with-table.mjs +21 -3
  33. package/esm2022/public-api.mjs +3 -3
  34. package/esm2022/table.component.mjs +6 -6
  35. package/esm2022/transforms/arrow-line.mjs +100 -0
  36. package/esm2022/transforms/geometry.mjs +4 -4
  37. package/esm2022/transforms/index.mjs +12 -11
  38. package/esm2022/transforms/swimlane.mjs +1 -29
  39. package/esm2022/transforms/table-text.mjs +5 -5
  40. package/esm2022/transforms/table.mjs +30 -0
  41. package/esm2022/utils/arrow-line/arrow-line-arrow.mjs +123 -0
  42. package/esm2022/utils/arrow-line/arrow-line-basic.mjs +257 -0
  43. package/esm2022/utils/arrow-line/arrow-line-common.mjs +127 -0
  44. package/esm2022/utils/arrow-line/arrow-line-resize.mjs +309 -0
  45. package/esm2022/utils/arrow-line/elbow.mjs +114 -0
  46. package/esm2022/utils/arrow-line/index.mjs +6 -0
  47. package/esm2022/utils/clipboard.mjs +10 -10
  48. package/esm2022/utils/common.mjs +3 -3
  49. package/esm2022/utils/geometry.mjs +13 -13
  50. package/esm2022/utils/hit.mjs +67 -44
  51. package/esm2022/utils/index.mjs +2 -2
  52. package/esm2022/utils/memorize.mjs +4 -5
  53. package/esm2022/utils/position/arrow-line.mjs +67 -0
  54. package/esm2022/utils/position/geometry.mjs +1 -1
  55. package/esm2022/utils/selected.mjs +3 -3
  56. package/esm2022/utils/swimlane.mjs +11 -5
  57. package/esm2022/utils/table-selected.mjs +3 -4
  58. package/esm2022/utils/table.mjs +16 -1
  59. package/fesm2022/plait-draw.mjs +448 -372
  60. package/fesm2022/plait-draw.mjs.map +1 -1
  61. package/generators/arrow-line-active.generator.d.ts +13 -0
  62. package/generators/{line-auto-complete.generator.d.ts → arrow-line-auto-complete.generator.d.ts} +1 -1
  63. package/generators/arrow-line.generator.d.ts +8 -0
  64. package/generators/index.d.ts +2 -2
  65. package/geometry.component.d.ts +2 -2
  66. package/image.component.d.ts +2 -2
  67. package/interfaces/arrow-line.d.ts +75 -0
  68. package/interfaces/element.d.ts +1 -1
  69. package/interfaces/index.d.ts +6 -4
  70. package/interfaces/vector-line.d.ts +16 -0
  71. package/package.json +1 -1
  72. package/plugins/with-arrow-line-auto-complete-reaction.d.ts +2 -0
  73. package/plugins/with-arrow-line-auto-complete.d.ts +7 -0
  74. package/plugins/with-arrow-line-bound-reaction.d.ts +2 -0
  75. package/plugins/with-arrow-line-create.d.ts +2 -0
  76. package/plugins/with-arrow-line-resize.d.ts +2 -0
  77. package/plugins/with-arrow-line-text-move.d.ts +2 -0
  78. package/plugins/with-arrow-line-text.d.ts +2 -0
  79. package/plugins/with-draw-fragment.d.ts +2 -2
  80. package/plugins/with-swimlane.d.ts +1 -2
  81. package/public-api.d.ts +2 -2
  82. package/table.component.d.ts +2 -2
  83. package/transforms/arrow-line.d.ts +12 -0
  84. package/transforms/index.d.ts +8 -8
  85. package/transforms/swimlane.d.ts +1 -3
  86. package/transforms/table-text.d.ts +2 -3
  87. package/transforms/table.d.ts +3 -0
  88. package/utils/arrow-line/arrow-line-arrow.d.ts +4 -0
  89. package/utils/arrow-line/arrow-line-basic.d.ts +13 -0
  90. package/utils/{line/line-common.d.ts → arrow-line/arrow-line-common.d.ts} +3 -3
  91. package/utils/{line/line-resize.d.ts → arrow-line/arrow-line-resize.d.ts} +3 -3
  92. package/utils/{line → arrow-line}/elbow.d.ts +7 -7
  93. package/utils/arrow-line/index.d.ts +5 -0
  94. package/utils/clipboard.d.ts +4 -4
  95. package/utils/geometry.d.ts +17 -17
  96. package/utils/hit.d.ts +7 -4
  97. package/utils/index.d.ts +1 -1
  98. package/utils/position/arrow-line.d.ts +16 -0
  99. package/utils/selected.d.ts +2 -2
  100. package/utils/swimlane.d.ts +1 -1
  101. package/utils/table.d.ts +2 -0
  102. package/esm2022/generators/line-active.generator.mjs +0 -81
  103. package/esm2022/generators/line-auto-complete.generator.mjs +0 -46
  104. package/esm2022/generators/line.generator.mjs +0 -13
  105. package/esm2022/interfaces/line.mjs +0 -70
  106. package/esm2022/line.component.mjs +0 -155
  107. package/esm2022/plugins/with-line-auto-complete-reaction.mjs +0 -41
  108. package/esm2022/plugins/with-line-auto-complete.mjs +0 -75
  109. package/esm2022/plugins/with-line-bound-reaction.mjs +0 -53
  110. package/esm2022/plugins/with-line-create.mjs +0 -53
  111. package/esm2022/plugins/with-line-resize.mjs +0 -158
  112. package/esm2022/plugins/with-line-text-move.mjs +0 -53
  113. package/esm2022/plugins/with-line-text.mjs +0 -62
  114. package/esm2022/transforms/line.mjs +0 -100
  115. package/esm2022/utils/line/elbow.mjs +0 -114
  116. package/esm2022/utils/line/index.mjs +0 -6
  117. package/esm2022/utils/line/line-arrow.mjs +0 -123
  118. package/esm2022/utils/line/line-basic.mjs +0 -257
  119. package/esm2022/utils/line/line-common.mjs +0 -123
  120. package/esm2022/utils/line/line-resize.mjs +0 -309
  121. package/esm2022/utils/position/line.mjs +0 -67
  122. package/generators/line-active.generator.d.ts +0 -13
  123. package/generators/line.generator.d.ts +0 -8
  124. package/interfaces/line.d.ts +0 -75
  125. package/line.component.d.ts +0 -26
  126. package/plugins/with-line-auto-complete-reaction.d.ts +0 -2
  127. package/plugins/with-line-auto-complete.d.ts +0 -7
  128. package/plugins/with-line-bound-reaction.d.ts +0 -2
  129. package/plugins/with-line-create.d.ts +0 -2
  130. package/plugins/with-line-resize.d.ts +0 -2
  131. package/plugins/with-line-text-move.d.ts +0 -2
  132. package/plugins/with-line-text.d.ts +0 -2
  133. package/transforms/line.d.ts +0 -12
  134. package/utils/line/index.d.ts +0 -5
  135. package/utils/line/line-arrow.d.ts +0 -4
  136. package/utils/line/line-basic.d.ts +0 -13
  137. package/utils/position/line.d.ts +0 -16
@@ -0,0 +1,81 @@
1
+ import { PlaitBoard, createG, drawRectangle, getSelectedElements } from '@plait/core';
2
+ import { ArrowLineShape, PlaitArrowLine } from '../interfaces';
3
+ import { Generator, PRIMARY_COLOR, drawFillPrimaryHandle, drawPrimaryHandle } from '@plait/common';
4
+ import { getMiddlePoints } from '../utils/arrow-line/arrow-line-basic';
5
+ import { getNextRenderPoints } from '../utils/arrow-line/elbow';
6
+ import { isUpdatedHandleIndex } from '../utils/arrow-line';
7
+ import { getHitPointIndex } from '../utils/position/arrow-line';
8
+ import { DefaultDrawActiveStyle } from '../constants';
9
+ export class ArrowLineActiveGenerator extends Generator {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.onlySelectedCurrentLine = false;
13
+ }
14
+ canDraw(element, data) {
15
+ if (data.selected) {
16
+ return true;
17
+ }
18
+ else {
19
+ return false;
20
+ }
21
+ }
22
+ draw(element, data) {
23
+ const activeG = createG();
24
+ const selectedElements = getSelectedElements(this.board);
25
+ this.onlySelectedCurrentLine = selectedElements.length === 1;
26
+ if (this.onlySelectedCurrentLine) {
27
+ activeG.classList.add('active');
28
+ activeG.classList.add('line-handle');
29
+ const points = PlaitArrowLine.getPoints(this.board, element);
30
+ let updatePoints = [...points];
31
+ let elbowNextRenderPoints = [];
32
+ if (element.shape === ArrowLineShape.elbow) {
33
+ updatePoints = points.slice(0, 1).concat(points.slice(-1));
34
+ elbowNextRenderPoints = getNextRenderPoints(this.board, element, data.linePoints);
35
+ }
36
+ updatePoints.forEach(point => {
37
+ const updateHandle = drawPrimaryHandle(this.board, point);
38
+ activeG.appendChild(updateHandle);
39
+ });
40
+ const middlePoints = getMiddlePoints(this.board, element);
41
+ if (!PlaitBoard.hasBeenTextEditing(this.board)) {
42
+ for (let i = 0; i < middlePoints.length; i++) {
43
+ const point = middlePoints[i];
44
+ if (element.shape === ArrowLineShape.elbow && elbowNextRenderPoints.length) {
45
+ const handleIndex = getHitPointIndex(middlePoints, point);
46
+ const isUpdateHandleIndex = isUpdatedHandleIndex(this.board, element, [...points], elbowNextRenderPoints, handleIndex);
47
+ if (isUpdateHandleIndex) {
48
+ const updateHandle = drawPrimaryHandle(this.board, point);
49
+ activeG.appendChild(updateHandle);
50
+ continue;
51
+ }
52
+ }
53
+ const circle = drawFillPrimaryHandle(this.board, point);
54
+ activeG.appendChild(circle);
55
+ }
56
+ }
57
+ }
58
+ else {
59
+ const activeRectangle = this.board.getRectangle(element);
60
+ if (activeRectangle) {
61
+ let opacity = '0.5';
62
+ if (activeRectangle.height === 0 || activeRectangle.width === 0) {
63
+ opacity = '0.8';
64
+ }
65
+ const strokeG = drawRectangle(this.board, activeRectangle, {
66
+ stroke: PRIMARY_COLOR,
67
+ strokeWidth: DefaultDrawActiveStyle.selectionStrokeWidth
68
+ });
69
+ strokeG.style.opacity = opacity;
70
+ activeG.appendChild(strokeG);
71
+ }
72
+ }
73
+ return activeG;
74
+ }
75
+ needUpdate() {
76
+ const selectedElements = getSelectedElements(this.board);
77
+ const onlySelectedCurrentLine = selectedElements.length === 1;
78
+ return onlySelectedCurrentLine !== this.onlySelectedCurrentLine;
79
+ }
80
+ }
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctbGluZS1hY3RpdmUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9hcnJvdy1saW5lLWFjdGl2ZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUyxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFPdEQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLFNBQXFDO0lBQW5GOztRQUNJLDRCQUF1QixHQUFHLEtBQUssQ0FBQztJQTBFcEMsQ0FBQztJQXhFRyxPQUFPLENBQUMsT0FBdUIsRUFBRSxJQUFnQjtRQUM3QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQXVCLEVBQUUsSUFBZ0I7UUFDMUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFD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QixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3BCLElBQUksZUFBZSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZUFBZSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDOUQsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDcEIsQ0FBQztnQkFDRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUU7b0JBQ3ZELE1BQU0sRUFBRSxhQUFhO29CQUNyQixXQUFXLEVBQUUsc0JBQXNCLENBQUMsb0JBQW9CO2lCQUMzRCxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUNoQyxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELFVBQVU7UUFDTixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxNQUFNLHVCQUF1QixHQUFHLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7UUFDOUQsT0FBTyx1QkFBdUIsS0FBSyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDcEUsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIGNyZWF0ZUcsIGRyYXdSZWN0YW5nbGUsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBcnJvd0xpbmVTaGFwZSwgUGxhaXRBcnJvd0xpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdlbmVyYXRvciwgUFJJTUFSWV9DT0xPUiwgZHJhd0ZpbGxQcmltYXJ5SGFuZGxlLCBkcmF3UHJpbWFyeUhhbmRsZSB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0TWlkZGxlUG9pbnRzIH0gZnJvbSAnLi4vdXRpbHMvYXJyb3ctbGluZS9hcnJvdy1saW5lLWJhc2ljJztcbmltcG9ydCB7IGdldE5leHRSZW5kZXJQb2ludHMgfSBmcm9tICcuLi91dGlscy9hcnJvdy1saW5lL2VsYm93JztcbmltcG9ydCB7IGlzVXBkYXRlZEhhbmRsZUluZGV4IH0gZnJvbSAnLi4vdXRpbHMvYXJyb3ctbGluZSc7XG5pbXBvcnQgeyBnZXRIaXRQb2ludEluZGV4IH0gZnJvbSAnLi4vdXRpbHMvcG9zaXRpb24vYXJyb3ctbGluZSc7XG5pbXBvcnQgeyBEZWZhdWx0RHJhd0FjdGl2ZVN0eWxlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IGludGVyZmFjZSBBY3RpdmVEYXRhIHtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICBsaW5lUG9pbnRzOiBQb2ludFtdO1xufVxuXG5leHBvcnQgY2xhc3MgQXJyb3dMaW5lQWN0aXZlR2VuZXJhdG9yIGV4dGVuZHMgR2VuZXJhdG9yPFBsYWl0QXJyb3dMaW5lLCBBY3RpdmVEYXRhPiB7XG4gICAgb25seVNlbGVjdGVkQ3VycmVudExpbmUgPSBmYWxzZTtcblxuICAgIGNhbkRyYXcoZWxlbWVudDogUGxhaXRBcnJvd0xpbmUsIGRhdGE6IEFjdGl2ZURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGRhdGEuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZHJhdyhlbGVtZW50OiBQbGFpdEFycm93TGluZSwgZGF0YTogQWN0aXZlRGF0YSk6IFNWR0dFbGVtZW50IHtcbiAgICAgICAgY29uc3QgYWN0aXZlRyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMub25seVNlbGVjdGVkQ3VycmVudExpbmUgPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgaWYgKHRoaXMub25seVNlbGVjdGVkQ3VycmVudExpbmUpIHtcbiAgICAgICAgICAgIGFjdGl2ZUcuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7XG4gICAgICAgICAgICBhY3RpdmVHLmNsYXNzTGlzdC5hZGQoJ2xpbmUtaGFuZGxlJyk7XG4gICAgICAgICAgICBjb25zdCBwb2ludHMgPSBQbGFpdEFycm93TGluZS5nZXRQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICBsZXQgdXBkYXRlUG9pbnRzID0gWy4uLnBvaW50c107XG4gICAgICAgICAgICBsZXQgZWxib3dOZXh0UmVuZGVyUG9pbnRzOiBQb2ludFtdID0gW107XG4gICAgICAgICAgICBpZiAoZWxlbWVudC5zaGFwZSA9PT0gQXJyb3dMaW5lU2hhcGUuZWxib3cpIHtcbiAgICAgICAgICAgICAgICB1cGRhdGVQb2ludHMgPSBwb2ludHMuc2xpY2UoMCwgMSkuY29uY2F0KHBvaW50cy5zbGljZSgtMSkpO1xuICAgICAgICAgICAgICAgIGVsYm93TmV4dFJlbmRlclBvaW50cyA9IGdldE5leHRSZW5kZXJQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCwgZGF0YS5saW5lUG9pbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVwZGF0ZVBvaW50cy5mb3JFYWNoKHBvaW50ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVIYW5kbGUgPSBkcmF3UHJpbWFyeUhhbmRsZSh0aGlzLmJvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgYWN0aXZlRy5hcHBlbmRDaGlsZCh1cGRhdGVIYW5kbGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb25zdCBtaWRkbGVQb2ludHMgPSBnZXRNaWRkbGVQb2ludHModGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoIVBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKHRoaXMuYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtaWRkbGVQb2ludHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBtaWRkbGVQb2ludHNbaV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChlbGVtZW50LnNoYXBlID09PSBBcnJvd0xpbmVTaGFwZS5lbGJvdyAmJiBlbGJvd05leHRSZW5kZXJQb2ludHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVJbmRleCA9IGdldEhpdFBvaW50SW5kZXgobWlkZGxlUG9pbnRzLCBwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpc1VwZGF0ZUhhbmRsZUluZGV4ID0gaXNVcGRhdGVkSGFuZGxlSW5kZXgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ib2FyZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsuLi5wb2ludHNdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsYm93TmV4dFJlbmRlclBvaW50cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVJbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1VwZGF0ZUhhbmRsZUluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlSGFuZGxlID0gZHJhd1ByaW1hcnlIYW5kbGUodGhpcy5ib2FyZCwgcG9pbnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUcuYXBwZW5kQ2hpbGQodXBkYXRlSGFuZGxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaXJjbGUgPSBkcmF3RmlsbFByaW1hcnlIYW5kbGUodGhpcy5ib2FyZCwgcG9pbnQpO1xuICAgICAgICAgICAgICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKGNpcmNsZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYWN0aXZlUmVjdGFuZ2xlID0gdGhpcy5ib2FyZC5nZXRSZWN0YW5nbGUoZWxlbWVudCk7XG4gICAgICAgICAgICBpZiAoYWN0aXZlUmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICAgICAgbGV0IG9wYWNpdHkgPSAnMC41JztcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlUmVjdGFuZ2xlLmhlaWdodCA9PT0gMCB8fCBhY3RpdmVSZWN0YW5nbGUud2lkdGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSA9ICcwLjgnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBzdHJva2VHID0gZHJhd1JlY3RhbmdsZSh0aGlzLmJvYXJkLCBhY3RpdmVSZWN0YW5nbGUsIHtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiBQUklNQVJZX0NPTE9SLFxuICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogRGVmYXVsdERyYXdBY3RpdmVTdHlsZS5zZWxlY3Rpb25TdHJva2VXaWR0aFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHN0cm9rZUcuc3R5bGUub3BhY2l0eSA9IG9wYWNpdHk7XG4gICAgICAgICAgICAgICAgYWN0aXZlRy5hcHBlbmRDaGlsZChzdHJva2VHKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWN0aXZlRztcbiAgICB9XG5cbiAgICBuZWVkVXBkYXRlKCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgY29uc3Qgb25seVNlbGVjdGVkQ3VycmVudExpbmUgPSBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMTtcbiAgICAgICAgcmV0dXJuIG9ubHlTZWxlY3RlZEN1cnJlbnRMaW5lICE9PSB0aGlzLm9ubHlTZWxlY3RlZEN1cnJlbnRMaW5lO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { PlaitBoard, RgbaToHEX, createG, drawCircle, getSelectedElements, isSelectionMoving } from '@plait/core';
2
+ import { Generator, PRIMARY_COLOR } from '@plait/common';
3
+ import { getAutoCompletePoints } from '../utils';
4
+ import { LINE_AUTO_COMPLETE_DIAMETER, LINE_AUTO_COMPLETE_OPACITY } from '../constants/line';
5
+ export class ArrowLineAutoCompleteGenerator extends Generator {
6
+ static { this.key = 'line-auto-complete-generator'; }
7
+ constructor(board) {
8
+ super(board);
9
+ this.board = board;
10
+ this.hoverElement = null;
11
+ }
12
+ canDraw(element, data) {
13
+ const selectedElements = getSelectedElements(this.board);
14
+ if (data.selected && selectedElements.length === 1 && !isSelectionMoving(this.board)) {
15
+ return true;
16
+ }
17
+ else {
18
+ return false;
19
+ }
20
+ }
21
+ draw(element, data) {
22
+ this.autoCompleteG = createG();
23
+ const middlePoints = getAutoCompletePoints(element);
24
+ middlePoints.forEach((point, index) => {
25
+ const circle = drawCircle(PlaitBoard.getRoughSVG(this.board), point, LINE_AUTO_COMPLETE_DIAMETER, {
26
+ stroke: 'none',
27
+ fill: RgbaToHEX(PRIMARY_COLOR, LINE_AUTO_COMPLETE_OPACITY),
28
+ fillStyle: 'solid'
29
+ });
30
+ circle.classList.add(`line-auto-complete-${index}`);
31
+ this.autoCompleteG.appendChild(circle);
32
+ });
33
+ return this.autoCompleteG;
34
+ }
35
+ removeAutoCompleteG(index) {
36
+ this.hoverElement = this.autoCompleteG.querySelector(`.line-auto-complete-${index}`);
37
+ this.hoverElement.style.visibility = 'hidden';
38
+ }
39
+ recoverAutoCompleteG() {
40
+ if (this.hoverElement) {
41
+ this.hoverElement.style.visibility = 'visible';
42
+ this.hoverElement = null;
43
+ }
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2dlbmVyYXRvcnMvYXJyb3ctbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpILE9BQU8sRUFBNEIsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDakQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFNUYsTUFBTSxPQUFPLDhCQUE0RSxTQUFRLFNBQXNDO2FBQzVILFFBQUcsR0FBRyw4QkFBOEIsQUFBakMsQ0FBa0M7SUFLNUMsWUFBbUIsS0FBaUI7UUFDaEMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBREUsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUZwQyxpQkFBWSxHQUF1QixJQUFJLENBQUM7SUFJeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUEwQixFQUFFLElBQThCO1FBQzlELE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkYsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFVLEVBQUUsSUFBOEI7UUFDM0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUMvQixNQUFNLFlBQVksR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUU7Z0JBQzlGLE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxTQUFTLENBQUMsYUFBYSxFQUFFLDBCQUEwQixDQUFDO2dCQUMxRCxTQUFTLEVBQUUsT0FBTzthQUNyQixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHVCQUF1QixLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxZQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7SUFDbkQsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUmdiYVRvSEVYLCBjcmVhdGVHLCBkcmF3Q2lyY2xlLCBnZXRTZWxlY3RlZEVsZW1lbnRzLCBpc1NlbGVjdGlvbk1vdmluZyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0R2VvbWV0cnksIFBsYWl0U2hhcGVFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBY3RpdmVHZW5lcmF0b3JFeHRyYURhdGEsIEdlbmVyYXRvciwgUFJJTUFSWV9DT0xPUiB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0QXV0b0NvbXBsZXRlUG9pbnRzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTElORV9BVVRPX0NPTVBMRVRFX0RJQU1FVEVSLCBMSU5FX0FVVE9fQ09NUExFVEVfT1BBQ0lUWSB9IGZyb20gJy4uL2NvbnN0YW50cy9saW5lJztcblxuZXhwb3J0IGNsYXNzIEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcjxUIGV4dGVuZHMgUGxhaXRTaGFwZUVsZW1lbnQgPSBQbGFpdEdlb21ldHJ5PiBleHRlbmRzIEdlbmVyYXRvcjxULCBBY3RpdmVHZW5lcmF0b3JFeHRyYURhdGE+IHtcbiAgICBzdGF0aWMga2V5ID0gJ2xpbmUtYXV0by1jb21wbGV0ZS1nZW5lcmF0b3InO1xuXG4gICAgYXV0b0NvbXBsZXRlRyE6IFNWR0dFbGVtZW50O1xuICAgIGhvdmVyRWxlbWVudDogU1ZHR0VsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBib2FyZDogUGxhaXRCb2FyZCkge1xuICAgICAgICBzdXBlcihib2FyZCk7XG4gICAgfVxuXG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdFNoYXBlRWxlbWVudCwgZGF0YTogQWN0aXZlR2VuZXJhdG9yRXh0cmFEYXRhKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICBpZiAoZGF0YS5zZWxlY3RlZCAmJiBzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAhaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZHJhdyhlbGVtZW50OiBULCBkYXRhOiBBY3RpdmVHZW5lcmF0b3JFeHRyYURhdGEpOiBTVkdHRWxlbWVudCB7XG4gICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlRyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgY29uc3QgbWlkZGxlUG9pbnRzID0gZ2V0QXV0b0NvbXBsZXRlUG9pbnRzKGVsZW1lbnQpO1xuICAgICAgICBtaWRkbGVQb2ludHMuZm9yRWFjaCgocG9pbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjaXJjbGUgPSBkcmF3Q2lyY2xlKFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcodGhpcy5ib2FyZCksIHBvaW50LCBMSU5FX0FVVE9fQ09NUExFVEVfRElBTUVURVIsIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICdub25lJyxcbiAgICAgICAgICAgICAgICBmaWxsOiBSZ2JhVG9IRVgoUFJJTUFSWV9DT0xPUiwgTElORV9BVVRPX0NPTVBMRVRFX09QQUNJVFkpLFxuICAgICAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjaXJjbGUuY2xhc3NMaXN0LmFkZChgbGluZS1hdXRvLWNvbXBsZXRlLSR7aW5kZXh9YCk7XG4gICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZUcuYXBwZW5kQ2hpbGQoY2lyY2xlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9Db21wbGV0ZUc7XG4gICAgfVxuXG4gICAgcmVtb3ZlQXV0b0NvbXBsZXRlRyhpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuaG92ZXJFbGVtZW50ID0gdGhpcy5hdXRvQ29tcGxldGVHLnF1ZXJ5U2VsZWN0b3IoYC5saW5lLWF1dG8tY29tcGxldGUtJHtpbmRleH1gKTtcbiAgICAgICAgdGhpcy5ob3ZlckVsZW1lbnQhLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICB9XG5cbiAgICByZWNvdmVyQXV0b0NvbXBsZXRlRygpIHtcbiAgICAgICAgaWYgKHRoaXMuaG92ZXJFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyRWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ3Zpc2libGUnO1xuICAgICAgICAgICAgdGhpcy5ob3ZlckVsZW1lbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,13 @@
1
+ import { Generator } from '@plait/common';
2
+ import { drawArrowLine } from '../utils/arrow-line/arrow-line-basic';
3
+ export class ArrowLineShapeGenerator extends Generator {
4
+ canDraw(element, data) {
5
+ return true;
6
+ }
7
+ draw(element, data) {
8
+ let lineG;
9
+ lineG = drawArrowLine(this.board, element);
10
+ return lineG;
11
+ }
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctbGluZS5nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9nZW5lcmF0b3JzL2Fycm93LWxpbmUuZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBSXJFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxTQUFvQztJQUM3RSxPQUFPLENBQUMsT0FBdUIsRUFBRSxJQUFlO1FBQzVDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBdUIsRUFBRSxJQUFlO1FBQ3pDLElBQUksS0FBOEIsQ0FBQztRQUNuQyxLQUFLLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0MsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRBcnJvd0xpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdlbmVyYXRvciB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZHJhd0Fycm93TGluZSB9IGZyb20gJy4uL3V0aWxzL2Fycm93LWxpbmUvYXJyb3ctbGluZS1iYXNpYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcGVEYXRhIHt9XG5cbmV4cG9ydCBjbGFzcyBBcnJvd0xpbmVTaGFwZUdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdEFycm93TGluZSwgU2hhcGVEYXRhPiB7XG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdEFycm93TGluZSwgZGF0YTogU2hhcGVEYXRhKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGRyYXcoZWxlbWVudDogUGxhaXRBcnJvd0xpbmUsIGRhdGE6IFNoYXBlRGF0YSkge1xuICAgICAgICBsZXQgbGluZUc6IFNWR0dFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgICAgICBsaW5lRyA9IGRyYXdBcnJvd0xpbmUodGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBsaW5lRztcbiAgICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  export * from './geometry-shape.generator';
2
- export * from './line-active.generator';
3
- export * from './line-auto-complete.generator';
2
+ export * from './arrow-line-active.generator';
3
+ export * from './arrow-line-auto-complete.generator';
4
4
  export * from './single-text.generator';
5
5
  export * from './text.generator';
6
6
  export * from './table.generator';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9nZW5lcmF0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW9tZXRyeS1zaGFwZS5nZW5lcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saW5lLWFjdGl2ZS5nZW5lcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saW5lLWF1dG8tY29tcGxldGUuZ2VuZXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc2luZ2xlLXRleHQuZ2VuZXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC5nZW5lcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS5nZW5lcmF0b3InO1xuIl19
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9nZW5lcmF0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW9tZXRyeS1zaGFwZS5nZW5lcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9hcnJvdy1saW5lLWFjdGl2ZS5nZW5lcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9hcnJvdy1saW5lLWF1dG8tY29tcGxldGUuZ2VuZXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vc2luZ2xlLXRleHQuZ2VuZXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC5nZW5lcmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS5nZW5lcmF0b3InO1xuIl19
@@ -2,7 +2,7 @@ import { PlaitBoard, isSelectionMoving, getSelectedElements, ACTIVE_STROKE_WIDTH
2
2
  import { GeometryShapeGenerator } from './generators/geometry-shape.generator';
3
3
  import { DrawTransforms } from './transforms';
4
4
  import { ActiveGenerator, CommonElementFlavour, canResize } from '@plait/common';
5
- import { LineAutoCompleteGenerator } from './generators/line-auto-complete.generator';
5
+ import { ArrowLineAutoCompleteGenerator } from './generators/arrow-line-auto-complete.generator';
6
6
  import { getTextRectangle, isGeometryIncludeText, isMultipleTextGeometry, memorizeLatestText } from './utils';
7
7
  import { TextGenerator } from './generators/text.generator';
8
8
  import { SingleTextGenerator } from './generators/single-text.generator';
@@ -39,12 +39,12 @@ export class GeometryComponent extends CommonElementFlavour {
39
39
  return canResize(this.board, this.element);
40
40
  }
41
41
  });
42
- this.lineAutoCompleteGenerator = new LineAutoCompleteGenerator(this.board);
42
+ this.lineAutoCompleteGenerator = new ArrowLineAutoCompleteGenerator(this.board);
43
43
  this.shapeGenerator = new GeometryShapeGenerator(this.board);
44
44
  if (isGeometryIncludeText(this.element)) {
45
45
  this.initializeTextManage();
46
46
  }
47
- this.getRef().addGenerator(LineAutoCompleteGenerator.key, this.lineAutoCompleteGenerator);
47
+ this.getRef().addGenerator(ArrowLineAutoCompleteGenerator.key, this.lineAutoCompleteGenerator);
48
48
  this.getRef().addGenerator(ActiveGenerator.key, this.activeGenerator);
49
49
  }
50
50
  initialize() {
@@ -134,4 +134,4 @@ export class GeometryComponent extends CommonElementFlavour {
134
134
  this.textGenerator?.destroy();
135
135
  }
136
136
  }
137
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNsQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUcsT0FBTyxFQUFzQixhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQXFEO0lBVXhGO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN4RSxjQUFjLEVBQUUsR0FBRyxFQUFFO2dCQUNqQixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxL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LE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixDQUFDO29CQUNwRSxJQUFJLFlBQVksRUFBRSxDQUFDO3dCQUNmLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQXdCLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQzlELENBQUM7b0JBQ0QsT0FBUSxJQUFJLENBQUMsT0FBcUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ2pHLENBQUM7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTztRQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIE9uQ29udGV4dENoYW5nZWQsXG4gICAgaXNTZWxlY3Rpb25Nb3ZpbmcsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIFJlY3RhbmdsZUNsaWVudFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdENvbW1vbkdlb21ldHJ5LCBQbGFpdEdlb21ldHJ5LCBQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2dlb21ldHJ5JztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2ZUdlbmVyYXRvciwgQ29tbW9uRWxlbWVudEZsYXZvdXIsIFRleHRNYW5hZ2VDaGFuZ2VEYXRhLCBjYW5SZXNpemUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbGluZS1hdXRvLWNvbXBsZXRlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlLCBpc0dlb21ldHJ5SW5jbHVkZVRleHQsIGlzTXVsdGlwbGVUZXh0R2VvbWV0cnksIG1lbW9yaXplTGF0ZXN0VGV4dCB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgUGxhaXREcmF3U2hhcGVUZXh0LCBUZXh0R2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL3RleHQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IFNpbmdsZVRleHRHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvc2luZ2xlLXRleHQuZ2VuZXJhdG9yJztcbmltcG9ydCB7IFBsYWl0VGV4dCB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHZW9tZXRyeVRocmVzaG9sZCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldEVuZ2luZSB9IGZyb20gJy4vZW5naW5lcyc7XG5cbmV4cG9ydCBjbGFzcyBHZW9tZXRyeUNvbXBvbmVudCBleHRlbmRzIENvbW1vbkVsZW1lbnRGbGF2b3VyPFBsYWl0Q29tbW9uR2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkNvbnRleHRDaGFuZ2VkPFBsYWl0Q29tbW9uR2VvbWV0cnksIFBsYWl0Qm9hcmQ+IHtcbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBBY3RpdmVHZW5lcmF0b3I8UGxhaXRDb21tb25HZW9tZXRyeT47XG5cbiAgICBsaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yITogTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcjtcblxuICAgIHNoYXBlR2VuZXJhdG9yITogR2VvbWV0cnlTaGFwZUdlbmVyYXRvcjtcblxuICAgIHRleHRHZW5lcmF0b3IhOiBUZXh0R2VuZXJhdG9yPFBsYWl0TXVsdGlwbGVUZXh0R2VvbWV0cnk+IHwgU2luZ2xlVGV4dEdlbmVyYXRvcjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yID0gbmV3IEFjdGl2ZUdlbmVyYXRvcjxQbGFpdENvbW1vbkdlb21ldHJ5Pih0aGlzLmJvYXJkLCB7XG4gICAgICAgICAgICBnZXRTdHJva2VXaWR0aDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSAmJiAhaXNTZWxlY3Rpb25Nb3ZpbmcodGhpcy5ib2FyZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFDVElWRV9TVFJPS0VfV0lEVEg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFDVElWRV9TVFJPS0VfV0lEVEg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldFN0cm9rZU9wYWNpdHk6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAwLjU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKGVsZW1lbnQ6IFBsYWl0Q29tbW9uR2VvbWV0cnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoYXNSZXNpemVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY2FuUmVzaXplKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgPSBuZXcgTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICBpZiAoaXNHZW9tZXRyeUluY2x1ZGVUZXh0KHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdldFJlZigpLmFkZEdlbmVyYXRvcihMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLmtleSwgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yKTtcbiAgICAgICAgdGhpcy5nZXRSZWYoKS5hZGRHZW5lcmF0b3IoQWN0aXZlR2VuZXJhdG9yLmtleSwgdGhpcy5hY3RpdmVHZW5lcmF0b3IpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplR2VuZXJhdG9yKCk7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudGV4dEdlbmVyYXRvciAmJiB0aGlzLnRleHRHZW5lcmF0b3IuZHJhdyh0aGlzLmdldEVsZW1lbnRHKCkpO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZWQoXG4gICAgICAgIHZhbHVlOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0Q29tbW9uR2VvbWV0cnksIFBsYWl0Qm9hcmQ+LFxuICAgICAgICBwcmV2aW91czogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdENvbW1vbkdlb21ldHJ5LCBQbGFpdEJvYXJkPlxuICAgICkge1xuICAgICAgICBjb25zdCBpc0NoYW5nZVRoZW1lID0gdGhpcy5ib2FyZC5vcGVyYXRpb25zLmZpbmQob3AgPT4gb3AudHlwZSA9PT0gJ3NldF90aGVtZScpO1xuICAgICAgICBpZiAodmFsdWUuZWxlbWVudCAhPT0gcHJldmlvdXMuZWxlbWVudCB8fCBpc0NoYW5nZVRoZW1lKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LCB0aGlzLmdldEVsZW1lbnRHKCkpO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yICYmIHRoaXMudXBkYXRlVGV4dChwcmV2aW91cy5lbGVtZW50LCB2YWx1ZS5lbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVTZWxlY3RlZCA9IHZhbHVlLnNlbGVjdGVkID09PSBwcmV2aW91cy5zZWxlY3RlZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVIYW5kbGVTdGF0ZSA9IHRoaXMuYWN0aXZlR2VuZXJhdG9yLm9wdGlvbnMuaGFzUmVzaXplSGFuZGxlKCkgPT09IHRoaXMuYWN0aXZlR2VuZXJhdG9yLmhhc1Jlc2l6ZUhhbmRsZTtcbiAgICAgICAgICAgIGlmICghaGFzU2FtZVNlbGVjdGVkIHx8ICFoYXNTYW1lSGFuZGxlU3RhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVUZXh0KHByZXZpb3VzRWxlbWVudDogUGxhaXRDb21tb25HZW9tZXRyeSwgY3VycmVudEVsZW1lbnQ6IFBsYWl0Q29tbW9uR2VvbWV0cnkpIHtcbiAgICAgICAgaWYgKGlzTXVsdGlwbGVUZXh0R2VvbWV0cnkodGhpcy5lbGVtZW50KSkge1xuICAgICAgICAgICAgKHRoaXMudGV4dEdlbmVyYXRvciBhcyBUZXh0R2VuZXJhdG9yPFBsYWl0TXVsdGlwbGVUZXh0R2VvbWV0cnk+KS51cGRhdGUoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LFxuICAgICAgICAgICAgICAgIHByZXZpb3VzRWxlbWVudC50ZXh0cyxcbiAgICAgICAgICAgICAgICBjdXJyZW50RWxlbWVudC50ZXh0cyxcbiAgICAgICAgICAgICAgICB0aGlzLmdldEVsZW1lbnRHKClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAodGhpcy50ZXh0R2VuZXJhdG9yIGFzIFNpbmdsZVRleHRHZW5lcmF0b3IpLnVwZGF0ZShcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSxcbiAgICAgICAgICAgICAgICBwcmV2aW91c0VsZW1lbnQudGV4dCxcbiAgICAgICAgICAgICAgICBjdXJyZW50RWxlbWVudC50ZXh0LFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RWxlbWVudEcoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRpYWxpemVUZXh0TWFuYWdlKCkge1xuICAgICAgICBjb25zdCBvblRleHRDaGFuZ2UgPSAoZWxlbWVudDogUGxhaXRDb21tb25HZW9tZXRyeSwgdGV4dE1hbmFnZUNoYW5nZURhdGE6IFRleHRNYW5hZ2VDaGFuZ2VEYXRhLCB0ZXh0OiBQbGFpdERyYXdTaGFwZVRleHQpID0+IHtcbiAgICAgICAgICAgIGlmICh0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5uZXdUZXh0KSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTXVsdGlwbGVUZXh0R2VvbWV0cnkoZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0RHJhd1NoYXBlVGV4dCh0aGlzLmJvYXJkLCBlbGVtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHRleHQua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogdGV4dE1hbmFnZUNoYW5nZURhdGEubmV3VGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRIZWlnaHQ6IHRleHRNYW5hZ2VDaGFuZ2VEYXRhLmhlaWdodFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRUZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ib2FyZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRNYW5hZ2VDaGFuZ2VEYXRhLm5ld1RleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRNYW5hZ2VDaGFuZ2VEYXRhLmhlaWdodFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0VGV4dFNpemUodGhpcy5ib2FyZCwgZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LCB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS53aWR0aCwgdGV4dE1hbmFnZUNoYW5nZURhdGEuaGVpZ2h0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRleHRNYW5hZ2VDaGFuZ2VEYXRhLm9wZXJhdGlvbnMgJiYgbWVtb3JpemVMYXRlc3RUZXh0KGVsZW1lbnQsIHRleHRNYW5hZ2VDaGFuZ2VEYXRhLm9wZXJhdGlvbnMpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChpc011bHRpcGxlVGV4dEdlb21ldHJ5KHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMudGV4dEdlbmVyYXRvciA9IG5ldyBUZXh0R2VuZXJhdG9yPFBsYWl0TXVsdGlwbGVUZXh0R2VvbWV0cnk+KFxuICAgICAgICAgICAgICAgIHRoaXMuYm9hcmQsXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50IGFzIFBsYWl0TXVsdGlwbGVUZXh0R2VvbWV0cnksXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnRleHRzISxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlOiBvblRleHRDaGFuZ2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yID0gbmV3IFNpbmdsZVRleHRHZW5lcmF0b3IodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksIHRoaXMuZWxlbWVudC50ZXh0LCB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U6IG9uVGV4dENoYW5nZSxcbiAgICAgICAgICAgICAgICBnZXRNYXhXaWR0aDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgd2lkdGggPSBnZXRUZXh0UmVjdGFuZ2xlKHRoaXMuZWxlbWVudCkud2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGdldFJlY3RhbmdsZSA9IGdldEVuZ2luZSh0aGlzLmVsZW1lbnQuc2hhcGUpLmdldFRleHRSZWN0YW5nbGU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChnZXRSZWN0YW5nbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoID0gZ2V0UmVjdGFuZ2xlKHRoaXMuZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5KS53aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRoaXMuZWxlbWVudCBhcyBQbGFpdFRleHQpPy5hdXRvU2l6ZSA/IEdlb21ldHJ5VGhyZXNob2xkLmRlZmF1bHRUZXh0TWF4V2lkdGggOiB3aWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRleHRHZW5lcmF0b3IuaW5pdGlhbGl6ZSgpO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLnRleHRHZW5lcmF0b3I/LmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBR1YsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNsQixNQUFNLGFBQWEsQ0FBQztBQUVyQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUcsT0FBTyxFQUFzQixhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV6RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV0QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsb0JBQXFEO0lBVXhGO1FBQ0ksS0FBSyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBc0IsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN4RSxjQUFjLEVBQUUsR0FBRyxFQUFFO2dCQUNqQixNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxL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LE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLGdCQUFnQixDQUFDO29CQUNwRSxJQUFJLFlBQVksRUFBRSxDQUFDO3dCQUNmLEtBQUssR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQXdCLENBQUMsQ0FBQyxLQUFLLENBQUM7b0JBQzlELENBQUM7b0JBQ0QsT0FBUSxJQUFJLENBQUMsT0FBcUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ2pHLENBQUM7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsT0FBTztRQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LFxuICAgIE9uQ29udGV4dENoYW5nZWQsXG4gICAgaXNTZWxlY3Rpb25Nb3ZpbmcsXG4gICAgZ2V0U2VsZWN0ZWRFbGVtZW50cyxcbiAgICBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIFJlY3RhbmdsZUNsaWVudFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdENvbW1vbkdlb21ldHJ5LCBQbGFpdEdlb21ldHJ5LCBQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5IH0gZnJvbSAnLi9pbnRlcmZhY2VzL2dlb21ldHJ5JztcbmltcG9ydCB7IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IERyYXdUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2ZUdlbmVyYXRvciwgQ29tbW9uRWxlbWVudEZsYXZvdXIsIFRleHRNYW5hZ2VDaGFuZ2VEYXRhLCBjYW5SZXNpemUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9hcnJvdy1saW5lLWF1dG8tY29tcGxldGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IGdldFRleHRSZWN0YW5nbGUsIGlzR2VvbWV0cnlJbmNsdWRlVGV4dCwgaXNNdWx0aXBsZVRleHRHZW9tZXRyeSwgbWVtb3JpemVMYXRlc3RUZXh0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBQbGFpdERyYXdTaGFwZVRleHQsIFRleHRHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvdGV4dC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgU2luZ2xlVGV4dEdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9zaW5nbGUtdGV4dC5nZW5lcmF0b3InO1xuaW1wb3J0IHsgUGxhaXRUZXh0IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdlb21ldHJ5VGhyZXNob2xkIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0RW5naW5lIH0gZnJvbSAnLi9lbmdpbmVzJztcblxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5Q29tcG9uZW50IGV4dGVuZHMgQ29tbW9uRWxlbWVudEZsYXZvdXI8UGxhaXRDb21tb25HZW9tZXRyeSwgUGxhaXRCb2FyZD5cbiAgICBpbXBsZW1lbnRzIE9uQ29udGV4dENoYW5nZWQ8UGxhaXRDb21tb25HZW9tZXRyeSwgUGxhaXRCb2FyZD4ge1xuICAgIGFjdGl2ZUdlbmVyYXRvciE6IEFjdGl2ZUdlbmVyYXRvcjxQbGFpdENvbW1vbkdlb21ldHJ5PjtcblxuICAgIGxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IhOiBBcnJvd0xpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3I7XG5cbiAgICBzaGFwZUdlbmVyYXRvciE6IEdlb21ldHJ5U2hhcGVHZW5lcmF0b3I7XG5cbiAgICB0ZXh0R2VuZXJhdG9yITogVGV4dEdlbmVyYXRvcjxQbGFpdE11bHRpcGxlVGV4dEdlb21ldHJ5PiB8IFNpbmdsZVRleHRHZW5lcmF0b3I7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplR2VuZXJhdG9yKCkge1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBBY3RpdmVHZW5lcmF0b3I8UGxhaXRDb21tb25HZW9tZXRyeT4odGhpcy5ib2FyZCwge1xuICAgICAgICAgICAgZ2V0U3Ryb2tlV2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBBQ1RJVkVfU1RST0tFX1dJRFRIO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VPcGFjaXR5OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gMC41O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdENvbW1vbkdlb21ldHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFJlY3RhbmdsZUNsaWVudC5nZXRSZWN0YW5nbGVCeVBvaW50cyhlbGVtZW50LnBvaW50cyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGFzUmVzaXplSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhblJlc2l6ZSh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yID0gbmV3IEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvciA9IG5ldyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICBpZiAoaXNHZW9tZXRyeUluY2x1ZGVUZXh0KHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdldFJlZigpLmFkZEdlbmVyYXRvcihBcnJvd0xpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3Iua2V5LCB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IpO1xuICAgICAgICB0aGlzLmdldFJlZigpLmFkZEdlbmVyYXRvcihBY3RpdmVHZW5lcmF0b3Iua2V5LCB0aGlzLmFjdGl2ZUdlbmVyYXRvcik7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgdGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yICYmIHRoaXMudGV4dEdlbmVyYXRvci5kcmF3KHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRDb21tb25HZW9tZXRyeSwgUGxhaXRCb2FyZD4sXG4gICAgICAgIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0Q29tbW9uR2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGlzQ2hhbmdlVGhlbWUgPSB0aGlzLmJvYXJkLm9wZXJhdGlvbnMuZmluZChvcCA9PiBvcC50eXBlID09PSAnc2V0X3RoZW1lJyk7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50IHx8IGlzQ2hhbmdlVGhlbWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnRleHRHZW5lcmF0b3IgJiYgdGhpcy51cGRhdGVUZXh0KHByZXZpb3VzLmVsZW1lbnQsIHZhbHVlLmVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZUhhbmRsZVN0YXRlID0gdGhpcy5hY3RpdmVHZW5lcmF0b3Iub3B0aW9ucy5oYXNSZXNpemVIYW5kbGUoKSA9PT0gdGhpcy5hY3RpdmVHZW5lcmF0b3IuaGFzUmVzaXplSGFuZGxlO1xuICAgICAgICAgICAgaWYgKCFoYXNTYW1lU2VsZWN0ZWQgfHwgIWhhc1NhbWVIYW5kbGVTdGF0ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVRleHQocHJldmlvdXNFbGVtZW50OiBQbGFpdENvbW1vbkdlb21ldHJ5LCBjdXJyZW50RWxlbWVudDogUGxhaXRDb21tb25HZW9tZXRyeSkge1xuICAgICAgICBpZiAoaXNNdWx0aXBsZVRleHRHZW9tZXRyeSh0aGlzLmVsZW1lbnQpKSB7XG4gICAgICAgICAgICAodGhpcy50ZXh0R2VuZXJhdG9yIGFzIFRleHRHZW5lcmF0b3I8UGxhaXRNdWx0aXBsZVRleHRHZW9tZXRyeT4pLnVwZGF0ZShcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQsXG4gICAgICAgICAgICAgICAgcHJldmlvdXNFbGVtZW50LnRleHRzLFxuICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50LnRleHRzLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0RWxlbWVudEcoKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICh0aGlzLnRleHRHZW5lcmF0b3IgYXMgU2luZ2xlVGV4dEdlbmVyYXRvcikudXBkYXRlKFxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LFxuICAgICAgICAgICAgICAgIHByZXZpb3VzRWxlbWVudC50ZXh0LFxuICAgICAgICAgICAgICAgIGN1cnJlbnRFbGVtZW50LnRleHQsXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRFbGVtZW50RygpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKSB7XG4gICAgICAgIGNvbnN0IG9uVGV4dENoYW5nZSA9IChlbGVtZW50OiBQbGFpdENvbW1vbkdlb21ldHJ5LCB0ZXh0TWFuYWdlQ2hhbmdlRGF0YTogVGV4dE1hbmFnZUNoYW5nZURhdGEsIHRleHQ6IFBsYWl0RHJhd1NoYXBlVGV4dCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRleHRNYW5hZ2VDaGFuZ2VEYXRhLm5ld1RleHQpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNNdWx0aXBsZVRleHRHZW9tZXRyeShlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXREcmF3U2hhcGVUZXh0KHRoaXMuYm9hcmQsIGVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogdGV4dC5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5uZXdUZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dEhlaWdodDogdGV4dE1hbmFnZUNoYW5nZURhdGEuaGVpZ2h0XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldFRleHQoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJvYXJkLFxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudCBhcyBQbGFpdEdlb21ldHJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZUNoYW5nZURhdGEubmV3VGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHRNYW5hZ2VDaGFuZ2VEYXRhLndpZHRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dE1hbmFnZUNoYW5nZURhdGEuaGVpZ2h0XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRUZXh0U2l6ZSh0aGlzLmJvYXJkLCBlbGVtZW50IGFzIFBsYWl0R2VvbWV0cnksIHRleHRNYW5hZ2VDaGFuZ2VEYXRhLndpZHRoLCB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5oZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGV4dE1hbmFnZUNoYW5nZURhdGEub3BlcmF0aW9ucyAmJiBtZW1vcml6ZUxhdGVzdFRleHQoZWxlbWVudCwgdGV4dE1hbmFnZUNoYW5nZURhdGEub3BlcmF0aW9ucyk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKGlzTXVsdGlwbGVUZXh0R2VvbWV0cnkodGhpcy5lbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy50ZXh0R2VuZXJhdG9yID0gbmV3IFRleHRHZW5lcmF0b3I8UGxhaXRNdWx0aXBsZVRleHRHZW9tZXRyeT4oXG4gICAgICAgICAgICAgICAgdGhpcy5ib2FyZCxcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQgYXMgUGxhaXRNdWx0aXBsZVRleHRHZW9tZXRyeSxcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQudGV4dHMhLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U6IG9uVGV4dENoYW5nZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRleHRHZW5lcmF0b3IgPSBuZXcgU2luZ2xlVGV4dEdlbmVyYXRvcih0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQgYXMgUGxhaXRHZW9tZXRyeSwgdGhpcy5lbGVtZW50LnRleHQsIHtcbiAgICAgICAgICAgICAgICBvbkNoYW5nZTogb25UZXh0Q2hhbmdlLFxuICAgICAgICAgICAgICAgIGdldE1heFdpZHRoOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCB3aWR0aCA9IGdldFRleHRSZWN0YW5nbGUodGhpcy5lbGVtZW50KS53aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2V0UmVjdGFuZ2xlID0gZ2V0RW5naW5lKHRoaXMuZWxlbWVudC5zaGFwZSkuZ2V0VGV4dFJlY3RhbmdsZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGdldFJlY3RhbmdsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBnZXRSZWN0YW5nbGUodGhpcy5lbGVtZW50IGFzIFBsYWl0R2VvbWV0cnkpLndpZHRoO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAodGhpcy5lbGVtZW50IGFzIFBsYWl0VGV4dCk/LmF1dG9TaXplID8gR2VvbWV0cnlUaHJlc2hvbGQuZGVmYXVsdFRleHRNYXhXaWR0aCA6IHdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGV4dEdlbmVyYXRvci5pbml0aWFsaXplKCk7XG4gICAgfVxuXG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMudGV4dEdlbmVyYXRvcj8uZGVzdHJveSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { PlaitBoard } from '@plait/core';
2
2
  import { CommonElementFlavour, ImageGenerator } from '@plait/common';
3
- import { LineAutoCompleteGenerator } from './generators/line-auto-complete.generator';
3
+ import { ArrowLineAutoCompleteGenerator } from './generators/arrow-line-auto-complete.generator';
4
4
  export class ImageComponent extends CommonElementFlavour {
5
5
  constructor() {
6
6
  super();
@@ -23,8 +23,8 @@ export class ImageComponent extends CommonElementFlavour {
23
23
  };
24
24
  }
25
25
  });
26
- this.lineAutoCompleteGenerator = new LineAutoCompleteGenerator(this.board);
27
- this.getRef().addGenerator(LineAutoCompleteGenerator.key, this.lineAutoCompleteGenerator);
26
+ this.lineAutoCompleteGenerator = new ArrowLineAutoCompleteGenerator(this.board);
27
+ this.getRef().addGenerator(ArrowLineAutoCompleteGenerator.key, this.lineAutoCompleteGenerator);
28
28
  }
29
29
  initialize() {
30
30
  super.initialize();
@@ -60,4 +60,4 @@ export class ImageComponent extends CommonElementFlavour {
60
60
  this.lineAutoCompleteGenerator.destroy();
61
61
  }
62
62
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQStDLE1BQU0sYUFBYSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFdEYsTUFBTSxPQUFPLGNBQWUsU0FBUSxvQkFBNEM7SUFLNUU7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFhLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDN0QsWUFBWSxFQUFFLENBQUMsT0FBbUIsRUFBRSxFQUFFO2dCQUNsQyxPQUFPO29CQUNILENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdkIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2QixLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3RELENBQUM7WUFDTixDQUFDO1lBQ0QsWUFBWSxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUNwQixPQUFPO29CQUNILEdBQUcsRUFBRSxPQUFP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LENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIE9uQ29udGV4dENoYW5nZWQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBDb21tb25FbGVtZW50Rmxhdm91ciwgSW1hZ2VHZW5lcmF0b3IgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IFBsYWl0SW1hZ2UgfSBmcm9tICcuL2ludGVyZmFjZXMvaW1hZ2UnO1xuaW1wb3J0IHsgTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciB9IGZyb20gJy4vZ2VuZXJhdG9ycy9saW5lLWF1dG8tY29tcGxldGUuZ2VuZXJhdG9yJztcblxuZXhwb3J0IGNsYXNzIEltYWdlQ29tcG9uZW50IGV4dGVuZHMgQ29tbW9uRWxlbWVudEZsYXZvdXI8UGxhaXRJbWFnZSwgUGxhaXRCb2FyZD4gaW1wbGVtZW50cyBPbkNvbnRleHRDaGFuZ2VkPFBsYWl0SW1hZ2UsIFBsYWl0Qm9hcmQ+IHtcbiAgICBpbWFnZUdlbmVyYXRvciE6IEltYWdlR2VuZXJhdG9yPFBsYWl0SW1hZ2U+O1xuXG4gICAgbGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvciE6IExpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3I8UGxhaXRJbWFnZT47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplR2VuZXJhdG9yKCkge1xuICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yID0gbmV3IEltYWdlR2VuZXJhdG9yPFBsYWl0SW1hZ2U+KHRoaXMuYm9hcmQsIHtcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKGVsZW1lbnQ6IFBsYWl0SW1hZ2UpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB4OiBlbGVtZW50LnBvaW50c1swXVswXSxcbiAgICAgICAgICAgICAgICAgICAgeTogZWxlbWVudC5wb2ludHNbMF1bMV0sXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBlbGVtZW50LnBvaW50c1sxXVswXSAtIGVsZW1lbnQucG9pbnRzWzBdWzBdLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGVsZW1lbnQucG9pbnRzWzFdWzFdIC0gZWxlbWVudC5wb2ludHNbMF1bMV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldEltYWdlSXRlbTogZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBlbGVtZW50LnVybCxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGVsZW1lbnQucG9pbnRzWzFdWzBdIC0gZWxlbWVudC5wb2ludHNbMF1bMF0sXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogZWxlbWVudC5wb2ludHNbMV1bMV0gLSBlbGVtZW50LnBvaW50c1swXVsxXVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IgPSBuZXcgTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5nZXRSZWYoKS5hZGRHZW5lcmF0b3IoTGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5rZXksIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcik7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZWQoXG4gICAgICAgIHZhbHVlOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0SW1hZ2UsIFBsYWl0Qm9hcmQ+LFxuICAgICAgICBwcmV2aW91czogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdEltYWdlLCBQbGFpdEJvYXJkPlxuICAgICkge1xuICAgICAgICBpZiAodmFsdWUuZWxlbWVudCAhPT0gcHJldmlvdXMuZWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvci51cGRhdGVJbWFnZSh0aGlzLmdldEVsZW1lbnRHKCksIHByZXZpb3VzLmVsZW1lbnQsIHZhbHVlLmVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvci5zZXRGb2N1cyh0aGlzLmVsZW1lbnQsIHRoaXMuc2VsZWN0ZWQpO1xuICAgICAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVTZWxlY3RlZCA9IHZhbHVlLnNlbGVjdGVkID09PSBwcmV2aW91cy5zZWxlY3RlZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVIYW5kbGVTdGF0ZSA9XG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvci5hY3RpdmVHZW5lcmF0b3IgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLmFjdGl2ZUdlbmVyYXRvci5vcHRpb25zLmhhc1Jlc2l6ZUhhbmRsZSgpID09PSB0aGlzLmltYWdlR2VuZXJhdG9yLmFjdGl2ZUdlbmVyYXRvci5oYXNSZXNpemVIYW5kbGU7XG4gICAgICAgICAgICBpZiAoIWhhc1NhbWVTZWxlY3RlZCB8fCAhaGFzU2FtZUhhbmRsZVN0YXRlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvci5zZXRGb2N1cyh0aGlzLmVsZW1lbnQsIHRoaXMuc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMubGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvci5kZXN0cm95KCk7XG4gICAgfVxufVxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvaW1hZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQStDLE1BQU0sYUFBYSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFakcsTUFBTSxPQUFPLGNBQWUsU0FBUSxvQkFBNEM7SUFLNUU7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxtQkFBbUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFhLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDN0QsWUFBWSxFQUFFLENBQUMsT0FBbUIsRUFBRSxFQUFFO2dCQUNsQyxPQUFPO29CQUNILENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdkIsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2QixLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDbEQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3RELENBQUM7WUFDTixDQUFDO1lBQ0QsWUFBWSxFQUFFLE9BQU8sQ0FBQyxFQUFFO2dCQUNwQixPQUFPO29CQUNILEdBQUcsRUFBRSxPQUFP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LENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIE9uQ29udGV4dENoYW5nZWQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBDb21tb25FbGVtZW50Rmxhdm91ciwgSW1hZ2VHZW5lcmF0b3IgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IFBsYWl0SW1hZ2UgfSBmcm9tICcuL2ludGVyZmFjZXMvaW1hZ2UnO1xuaW1wb3J0IHsgQXJyb3dMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2Fycm93LWxpbmUtYXV0by1jb21wbGV0ZS5nZW5lcmF0b3InO1xuXG5leHBvcnQgY2xhc3MgSW1hZ2VDb21wb25lbnQgZXh0ZW5kcyBDb21tb25FbGVtZW50Rmxhdm91cjxQbGFpdEltYWdlLCBQbGFpdEJvYXJkPiBpbXBsZW1lbnRzIE9uQ29udGV4dENoYW5nZWQ8UGxhaXRJbWFnZSwgUGxhaXRCb2FyZD4ge1xuICAgIGltYWdlR2VuZXJhdG9yITogSW1hZ2VHZW5lcmF0b3I8UGxhaXRJbWFnZT47XG5cbiAgICBsaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yITogQXJyb3dMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yPFBsYWl0SW1hZ2U+O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvciA9IG5ldyBJbWFnZUdlbmVyYXRvcjxQbGFpdEltYWdlPih0aGlzLmJvYXJkLCB7XG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEltYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgeDogZWxlbWVudC5wb2ludHNbMF1bMF0sXG4gICAgICAgICAgICAgICAgICAgIHk6IGVsZW1lbnQucG9pbnRzWzBdWzFdLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZWxlbWVudC5wb2ludHNbMV1bMF0gLSBlbGVtZW50LnBvaW50c1swXVswXSxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBlbGVtZW50LnBvaW50c1sxXVsxXSAtIGVsZW1lbnQucG9pbnRzWzBdWzFdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRJbWFnZUl0ZW06IGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHVybDogZWxlbWVudC51cmwsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBlbGVtZW50LnBvaW50c1sxXVswXSAtIGVsZW1lbnQucG9pbnRzWzBdWzBdLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGVsZW1lbnQucG9pbnRzWzFdWzFdIC0gZWxlbWVudC5wb2ludHNbMF1bMV1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yID0gbmV3IEFycm93TGluZUF1dG9Db21wbGV0ZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5nZXRSZWYoKS5hZGRHZW5lcmF0b3IoQXJyb3dMaW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLmtleSwgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgICAgICBzdXBlci5pbml0aWFsaXplKCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZUdlbmVyYXRvcigpO1xuICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRJbWFnZSwgUGxhaXRCb2FyZD4sXG4gICAgICAgIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0SW1hZ2UsIFBsYWl0Qm9hcmQ+XG4gICAgKSB7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLnVwZGF0ZUltYWdlKHRoaXMuZ2V0RWxlbWVudEcoKSwgcHJldmlvdXMuZWxlbWVudCwgdmFsdWUuZWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLnNldEZvY3VzKHRoaXMuZWxlbWVudCwgdGhpcy5zZWxlY3RlZCk7XG4gICAgICAgICAgICB0aGlzLmxpbmVBdXRvQ29tcGxldGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEVsZW1lbnRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZVNlbGVjdGVkID0gdmFsdWUuc2VsZWN0ZWQgPT09IHByZXZpb3VzLnNlbGVjdGVkO1xuICAgICAgICAgICAgY29uc3QgaGFzU2FtZUhhbmRsZVN0YXRlID1cbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLmFjdGl2ZUdlbmVyYXRvciAmJlxuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VHZW5lcmF0b3IuYWN0aXZlR2VuZXJhdG9yLm9wdGlvbnMuaGFzUmVzaXplSGFuZGxlKCkgPT09IHRoaXMuaW1hZ2VHZW5lcmF0b3IuYWN0aXZlR2VuZXJhdG9yLmhhc1Jlc2l6ZUhhbmRsZTtcbiAgICAgICAgICAgIGlmICghaGFzU2FtZVNlbGVjdGVkIHx8ICFoYXNTYW1lSGFuZGxlU3RhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLnNldEZvY3VzKHRoaXMuZWxlbWVudCwgdGhpcy5zZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5saW5lQXV0b0NvbXBsZXRlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,70 @@
1
+ import { getElementById, rotatePointsByElement } from '@plait/core';
2
+ import { getConnectionPoint } from '../utils/arrow-line/arrow-line-common';
3
+ export var ArrowLineMarkerType;
4
+ (function (ArrowLineMarkerType) {
5
+ ArrowLineMarkerType["arrow"] = "arrow";
6
+ ArrowLineMarkerType["none"] = "none";
7
+ ArrowLineMarkerType["openTriangle"] = "open-triangle";
8
+ ArrowLineMarkerType["solidTriangle"] = "solid-triangle";
9
+ ArrowLineMarkerType["sharpArrow"] = "sharp-arrow";
10
+ ArrowLineMarkerType["oneSideUp"] = "one-side-up";
11
+ ArrowLineMarkerType["oneSideDown"] = "one-side-down";
12
+ ArrowLineMarkerType["hollowTriangle"] = "hollow-triangle";
13
+ ArrowLineMarkerType["singleSlash"] = "single-slash";
14
+ })(ArrowLineMarkerType || (ArrowLineMarkerType = {}));
15
+ export var ArrowLineShape;
16
+ (function (ArrowLineShape) {
17
+ ArrowLineShape["straight"] = "straight";
18
+ ArrowLineShape["curve"] = "curve";
19
+ ArrowLineShape["elbow"] = "elbow";
20
+ })(ArrowLineShape || (ArrowLineShape = {}));
21
+ export var ArrowLineHandleKey;
22
+ (function (ArrowLineHandleKey) {
23
+ ArrowLineHandleKey["source"] = "source";
24
+ ArrowLineHandleKey["target"] = "target";
25
+ })(ArrowLineHandleKey || (ArrowLineHandleKey = {}));
26
+ export const PlaitArrowLine = {
27
+ isSourceMarkOrTargetMark(line, markType, handleKey) {
28
+ if (handleKey === ArrowLineHandleKey.source) {
29
+ return line.source.marker === markType;
30
+ }
31
+ else {
32
+ return line.target.marker === markType;
33
+ }
34
+ },
35
+ isSourceMark(line, markType) {
36
+ return PlaitArrowLine.isSourceMarkOrTargetMark(line, markType, ArrowLineHandleKey.source);
37
+ },
38
+ isTargetMark(line, markType) {
39
+ return PlaitArrowLine.isSourceMarkOrTargetMark(line, markType, ArrowLineHandleKey.target);
40
+ },
41
+ isBoundElementOfSource(line, element) {
42
+ return line.source.boundId === element.id;
43
+ },
44
+ isBoundElementOfTarget(line, element) {
45
+ return line.target.boundId === element.id;
46
+ },
47
+ getPoints(board, line) {
48
+ let sourcePoint;
49
+ if (line.source.boundId) {
50
+ const sourceElement = getElementById(board, line.source.boundId);
51
+ const sourceConnectionPoint = getConnectionPoint(sourceElement, line.source.connection);
52
+ sourcePoint = rotatePointsByElement(sourceConnectionPoint, sourceElement) || sourceConnectionPoint;
53
+ }
54
+ else {
55
+ sourcePoint = line.points[0];
56
+ }
57
+ let targetPoint;
58
+ if (line.target.boundId) {
59
+ const targetElement = getElementById(board, line.target.boundId);
60
+ const targetConnectionPoint = getConnectionPoint(targetElement, line.target.connection);
61
+ targetPoint = rotatePointsByElement(targetConnectionPoint, targetElement) || targetConnectionPoint;
62
+ }
63
+ else {
64
+ targetPoint = line.points[line.points.length - 1];
65
+ }
66
+ const restPoints = line.points.length > 2 ? line.points.slice(1, line.points.length - 1) : [];
67
+ return [sourcePoint, ...restPoints, targetPoint];
68
+ }
69
+ };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvYXJyb3ctbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUcxSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUczRSxNQUFNLENBQU4sSUFBWSxtQkFVWDtBQVZELFdBQVksbUJBQW1CO0lBQzNCLHNDQUFlLENBQUE7SUFDZixvQ0FBYSxDQUFBO0lBQ2IscURBQThCLENBQUE7SUFDOUIsdURBQWdDLENBQUE7SUFDaEMsaURBQTBCLENBQUE7SUFDMUIsZ0RBQXlCLENBQUE7SUFDekIsb0RBQTZCLENBQUE7SUFDN0IseURBQWtDLENBQUE7SUFDbEMsbURBQTRCLENBQUE7QUFDaEMsQ0FBQyxFQVZXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFVOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxjQUlYO0FBSkQsV0FBWSxjQUFjO0lBQ3RCLHVDQUFxQixDQUFBO0lBQ3JCLGlDQUFlLENBQUE7SUFDZixpQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUdYO0FBSEQsV0FBWSxrQkFBa0I7SUFDMUIsdUNBQWlCLENBQUE7SUFDakIsdUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFHN0I7QUE0REQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLHdCQUF3QixDQUFDLElBQW9CLEVBQUUsUUFBNkIsRUFBRSxTQUE2QjtRQUN2RyxJQUFJLFNBQVMsS0FBSyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQztRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0lBQ0QsWUFBWSxDQUFDLElBQW9CLEVBQUUsUUFBNkI7UUFDNUQsT0FBTyxjQUFjLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBQ0QsWUFBWSxDQUFDLElBQW9CLEVBQUUsUUFBNkI7UUFDNUQsT0FBTyxjQUFjLENBQUMsd0JBQXdCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBQ0Qsc0JBQXNCLENBQUMsSUFBb0IsRUFBRSxPQUEwQjtRQUNuRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUNELHNCQUFzQixDQUFDLElBQW9CLEVBQUUsT0FBMEI7UUFDbkUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFDRCxTQUFTLENBQUMsS0FBaUIsRUFBRSxJQUFvQjtRQUM3QyxJQUFJLFdBQVcsQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFvQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUUsQ0FBQztZQUNyRixNQUFNLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVcsQ0FBQyxDQUFDO1lBQ3pGLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxxQkFBcUIsRUFBRSxhQUFhLENBQUMsSUFBSSxxQkFBcUIsQ0FBQztRQUN2RyxDQUFDO2FBQU0sQ0FBQztZQUNKLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFFRCxJQUFJLFdBQVcsQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdEIsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFvQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUUsQ0FBQztZQUNyRixNQUFNLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVcsQ0FBQyxDQUFDO1lBQ3pGLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxxQkFBcUIsRUFBRSxhQUFhLENBQUMsSUFBSSxxQkFBcUIsQ0FBQztRQUN2RyxDQUFDO2FBQU0sQ0FBQztZQUNKLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlGLE9BQU8sQ0FBQyxXQUFXLEVBQUUsR0FBRyxVQUFVLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb24sIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFBvaW50T2ZSZWN0YW5nbGUsIFZlY3RvciwgZ2V0RWxlbWVudEJ5SWQsIHJvdGF0ZVBvaW50c0J5RWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBTdHJva2VTdHlsZSB9IGZyb20gJy4vZWxlbWVudCc7XG5pbXBvcnQgeyBnZXRDb25uZWN0aW9uUG9pbnQgfSBmcm9tICcuLi91dGlscy9hcnJvdy1saW5lL2Fycm93LWxpbmUtY29tbW9uJztcbmltcG9ydCB7IFBsYWl0U2hhcGVFbGVtZW50IH0gZnJvbSAnLic7XG5cbmV4cG9ydCBlbnVtIEFycm93TGluZU1hcmtlclR5cGUge1xuICAgIGFycm93ID0gJ2Fycm93JyxcbiAgICBub25lID0gJ25vbmUnLFxuICAgIG9wZW5UcmlhbmdsZSA9ICdvcGVuLXRyaWFuZ2xlJyxcbiAgICBzb2xpZFRyaWFuZ2xlID0gJ3NvbGlkLXRyaWFuZ2xlJyxcbiAgICBzaGFycEFycm93ID0gJ3NoYXJwLWFycm93JyxcbiAgICBvbmVTaWRlVXAgPSAnb25lLXNpZGUtdXAnLFxuICAgIG9uZVNpZGVEb3duID0gJ29uZS1zaWRlLWRvd24nLFxuICAgIGhvbGxvd1RyaWFuZ2xlID0gJ2hvbGxvdy10cmlhbmdsZScsXG4gICAgc2luZ2xlU2xhc2ggPSAnc2luZ2xlLXNsYXNoJ1xufVxuXG5leHBvcnQgZW51bSBBcnJvd0xpbmVTaGFwZSB7XG4gICAgc3RyYWlnaHQgPSAnc3RyYWlnaHQnLFxuICAgIGN1cnZlID0gJ2N1cnZlJyxcbiAgICBlbGJvdyA9ICdlbGJvdydcbn1cblxuZXhwb3J0IGVudW0gQXJyb3dMaW5lSGFuZGxlS2V5IHtcbiAgICBzb3VyY2UgPSAnc291cmNlJyxcbiAgICB0YXJnZXQgPSAndGFyZ2V0J1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFycm93TGluZVRleHQge1xuICAgIHRleHQ6IEVsZW1lbnQ7XG4gICAgLy8gUGVyY2VudGFnZSBvZiBwb3NpdGlvbmluZyBiYXNlZCBvbiBsaW5lIGxlbmd0aFxuICAgIHBvc2l0aW9uOiBudW1iZXI7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcnJvd0xpbmVIYW5kbGUge1xuICAgIC8vIFRoZSBpZCBvZiB0aGUgYm91bmRlZCBlbGVtZW50XG4gICAgYm91bmRJZD86IHN0cmluZztcbiAgICBjb25uZWN0aW9uPzogUG9pbnRPZlJlY3RhbmdsZTtcbiAgICBtYXJrZXI6IEFycm93TGluZU1hcmtlclR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJyb3dMaW5lSGFuZGxlUmVmIHtcbiAgICBrZXk6IEFycm93TGluZUhhbmRsZUtleTtcbiAgICBkaXJlY3Rpb246IERpcmVjdGlvbjtcbiAgICBwb2ludDogUG9pbnRPZlJlY3RhbmdsZTtcbiAgICB2ZWN0b3I6IFZlY3RvcjtcbiAgICBib3VuZEVsZW1lbnQ/OiBQbGFpdFNoYXBlRWxlbWVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcnJvd0xpbmVIYW5kbGVSZWZQYWlyIHtcbiAgICBzb3VyY2U6IEFycm93TGluZUhhbmRsZVJlZjtcbiAgICB0YXJnZXQ6IEFycm93TGluZUhhbmRsZVJlZjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEFycm93TGluZSBleHRlbmRzIFBsYWl0RWxlbWVudCB7XG4gICAgdHlwZTogJ2Fycm93LWxpbmUnO1xuICAgIHNoYXBlOiBBcnJvd0xpbmVTaGFwZTtcbiAgICBwb2ludHM6IFBvaW50W107XG5cbiAgICBzb3VyY2U6IEFycm93TGluZUhhbmRsZTtcbiAgICB0YXJnZXQ6IEFycm93TGluZUhhbmRsZTtcblxuICAgIHRleHRzOiBBcnJvd0xpbmVUZXh0W107XG5cbiAgICAvLyBub2RlIHN0eWxlIGF0dHJpYnV0ZXNcbiAgICBzdHJva2VDb2xvcj86IHN0cmluZztcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgICBzdHJva2VTdHlsZT86IFN0cm9rZVN0eWxlO1xuXG4gICAgb3BhY2l0eTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0U3RyYWlnaHRBcnJvd0xpbmUgZXh0ZW5kcyBQbGFpdEFycm93TGluZSB7XG4gICAgc2hhcGU6IEFycm93TGluZVNoYXBlLnN0cmFpZ2h0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Q3VydmVBcnJvd0xpbmUgZXh0ZW5kcyBQbGFpdEFycm93TGluZSB7XG4gICAgc2hhcGU6IEFycm93TGluZVNoYXBlLmN1cnZlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0RWxib3dBcnJvd0xpbmUgZXh0ZW5kcyBQbGFpdEFycm93TGluZSB7XG4gICAgc2hhcGU6IEFycm93TGluZVNoYXBlLmVsYm93O1xufVxuXG5leHBvcnQgY29uc3QgUGxhaXRBcnJvd0xpbmUgPSB7XG4gICAgaXNTb3VyY2VNYXJrT3JUYXJnZXRNYXJrKGxpbmU6IFBsYWl0QXJyb3dMaW5lLCBtYXJrVHlwZTogQXJyb3dMaW5lTWFya2VyVHlwZSwgaGFuZGxlS2V5OiBBcnJvd0xpbmVIYW5kbGVLZXkpIHtcbiAgICAgICAgaWYgKGhhbmRsZUtleSA9PT0gQXJyb3dMaW5lSGFuZGxlS2V5LnNvdXJjZSkge1xuICAgICAgICAgICAgcmV0dXJuIGxpbmUuc291cmNlLm1hcmtlciA9PT0gbWFya1R5cGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbGluZS50YXJnZXQubWFya2VyID09PSBtYXJrVHlwZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaXNTb3VyY2VNYXJrKGxpbmU6IFBsYWl0QXJyb3dMaW5lLCBtYXJrVHlwZTogQXJyb3dMaW5lTWFya2VyVHlwZSkge1xuICAgICAgICByZXR1cm4gUGxhaXRBcnJvd0xpbmUuaXNTb3VyY2VNYXJrT3JUYXJnZXRNYXJrKGxpbmUsIG1hcmtUeXBlLCBBcnJvd0xpbmVIYW5kbGVLZXkuc291cmNlKTtcbiAgICB9LFxuICAgIGlzVGFyZ2V0TWFyayhsaW5lOiBQbGFpdEFycm93TGluZSwgbWFya1R5cGU6IEFycm93TGluZU1hcmtlclR5cGUpIHtcbiAgICAgICAgcmV0dXJuIFBsYWl0QXJyb3dMaW5lLmlzU291cmNlTWFya09yVGFyZ2V0TWFyayhsaW5lLCBtYXJrVHlwZSwgQXJyb3dMaW5lSGFuZGxlS2V5LnRhcmdldCk7XG4gICAgfSxcbiAgICBpc0JvdW5kRWxlbWVudE9mU291cmNlKGxpbmU6IFBsYWl0QXJyb3dMaW5lLCBlbGVtZW50OiBQbGFpdFNoYXBlRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gbGluZS5zb3VyY2UuYm91bmRJZCA9PT0gZWxlbWVudC5pZDtcbiAgICB9LFxuICAgIGlzQm91bmRFbGVtZW50T2ZUYXJnZXQobGluZTogUGxhaXRBcnJvd0xpbmUsIGVsZW1lbnQ6IFBsYWl0U2hhcGVFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiBsaW5lLnRhcmdldC5ib3VuZElkID09PSBlbGVtZW50LmlkO1xuICAgIH0sXG4gICAgZ2V0UG9pbnRzKGJvYXJkOiBQbGFpdEJvYXJkLCBsaW5lOiBQbGFpdEFycm93TGluZSkge1xuICAgICAgICBsZXQgc291cmNlUG9pbnQ7XG4gICAgICAgIGlmIChsaW5lLnNvdXJjZS5ib3VuZElkKSB7XG4gICAgICAgICAgICBjb25zdCBzb3VyY2VFbGVtZW50ID0gZ2V0RWxlbWVudEJ5SWQ8UGxhaXRTaGFwZUVsZW1lbnQ+KGJvYXJkLCBsaW5lLnNvdXJjZS5ib3VuZElkKSE7XG4gICAgICAgICAgICBjb25zdCBzb3VyY2VDb25uZWN0aW9uUG9pbnQgPSBnZXRDb25uZWN0aW9uUG9pbnQoc291cmNlRWxlbWVudCwgbGluZS5zb3VyY2UuY29ubmVjdGlvbiEpO1xuICAgICAgICAgICAgc291cmNlUG9pbnQgPSByb3RhdGVQb2ludHNCeUVsZW1lbnQoc291cmNlQ29ubmVjdGlvblBvaW50LCBzb3VyY2VFbGVtZW50KSB8fCBzb3VyY2VDb25uZWN0aW9uUG9pbnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzb3VyY2VQb2ludCA9IGxpbmUucG9pbnRzWzBdO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHRhcmdldFBvaW50O1xuICAgICAgICBpZiAobGluZS50YXJnZXQuYm91bmRJZCkge1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGdldEVsZW1lbnRCeUlkPFBsYWl0U2hhcGVFbGVtZW50Pihib2FyZCwgbGluZS50YXJnZXQuYm91bmRJZCkhO1xuICAgICAgICAgICAgY29uc3QgdGFyZ2V0Q29ubmVjdGlvblBvaW50ID0gZ2V0Q29ubmVjdGlvblBvaW50KHRhcmdldEVsZW1lbnQsIGxpbmUudGFyZ2V0LmNvbm5lY3Rpb24hKTtcbiAgICAgICAgICAgIHRhcmdldFBvaW50ID0gcm90YXRlUG9pbnRzQnlFbGVtZW50KHRhcmdldENvbm5lY3Rpb25Qb2ludCwgdGFyZ2V0RWxlbWVudCkgfHwgdGFyZ2V0Q29ubmVjdGlvblBvaW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGFyZ2V0UG9pbnQgPSBsaW5lLnBvaW50c1tsaW5lLnBvaW50cy5sZW5ndGggLSAxXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN0UG9pbnRzID0gbGluZS5wb2ludHMubGVuZ3RoID4gMiA/IGxpbmUucG9pbnRzLnNsaWNlKDEsIGxpbmUucG9pbnRzLmxlbmd0aCAtIDEpIDogW107XG4gICAgICAgIHJldHVybiBbc291cmNlUG9pbnQsIC4uLnJlc3RQb2ludHMsIHRhcmdldFBvaW50XTtcbiAgICB9XG59O1xuIl19
@@ -9,7 +9,7 @@ export var MemorizeKey;
9
9
  MemorizeKey["basicShape"] = "basicShape";
10
10
  MemorizeKey["flowchart"] = "flowchart";
11
11
  MemorizeKey["text"] = "text";
12
- MemorizeKey["line"] = "line";
12
+ MemorizeKey["arrowLine"] = "arrow-line";
13
13
  MemorizeKey["UML"] = "UML";
14
14
  })(MemorizeKey || (MemorizeKey = {}));
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ25CLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ25CLHdDQUF5QixDQUFBO0lBQ3pCLHNDQUF1QixDQUFBO0lBQ3ZCLDRCQUFhLENBQUE7SUFDYiw0QkFBYSxDQUFBO0lBQ2IsMEJBQVcsQ0FBQTtBQUNmLENBQUMsRUFOVyxXQUFXLEtBQVgsV0FBVyxRQU10QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFN0cm9rZVN0eWxlIHtcbiAgICBzb2xpZCA9ICdzb2xpZCcsXG4gICAgZGFzaGVkID0gJ2Rhc2hlZCcsXG4gICAgZG90dGVkID0gJ2RvdHRlZCdcbn1cblxuZXhwb3J0IGVudW0gTWVtb3JpemVLZXkge1xuICAgIGJhc2ljU2hhcGUgPSAnYmFzaWNTaGFwZScsXG4gICAgZmxvd2NoYXJ0ID0gJ2Zsb3djaGFydCcsXG4gICAgdGV4dCA9ICd0ZXh0JyxcbiAgICBsaW5lID0gJ2xpbmUnLFxuICAgIFVNTCA9ICdVTUwnXG59XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ25CLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxXQU1YO0FBTkQsV0FBWSxXQUFXO0lBQ25CLHdDQUF5QixDQUFBO0lBQ3pCLHNDQUF1QixDQUFBO0lBQ3ZCLDRCQUFhLENBQUE7SUFDYix1Q0FBd0IsQ0FBQTtJQUN4QiwwQkFBVyxDQUFBO0FBQ2YsQ0FBQyxFQU5XLFdBQVcsS0FBWCxXQUFXLFFBTXRCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gU3Ryb2tlU3R5bGUge1xuICAgIHNvbGlkID0gJ3NvbGlkJyxcbiAgICBkYXNoZWQgPSAnZGFzaGVkJyxcbiAgICBkb3R0ZWQgPSAnZG90dGVkJ1xufVxuXG5leHBvcnQgZW51bSBNZW1vcml6ZUtleSB7XG4gICAgYmFzaWNTaGFwZSA9ICdiYXNpY1NoYXBlJyxcbiAgICBmbG93Y2hhcnQgPSAnZmxvd2NoYXJ0JyxcbiAgICB0ZXh0ID0gJ3RleHQnLFxuICAgIGFycm93TGluZSA9ICdhcnJvdy1saW5lJyxcbiAgICBVTUwgPSAnVU1MJ1xufVxuIl19
@@ -1,19 +1,23 @@
1
1
  import { BasicShapes, FlowchartSymbols, UMLSymbols } from './geometry';
2
2
  import { SwimlaneSymbols } from './swimlane';
3
3
  import { PlaitTableElement } from './table';
4
- export * from './line';
4
+ export * from './arrow-line';
5
5
  export * from './geometry';
6
6
  export * from './text';
7
7
  export * from './element';
8
8
  export * from './engine';
9
9
  export * from './swimlane';
10
10
  export * from './table';
11
+ export * from './vector-line';
11
12
  export const PlaitDrawElement = {
12
13
  isGeometry: (value) => {
13
14
  return value.type === 'geometry';
14
15
  },
15
- isLine: (value) => {
16
- return value.type === 'line';
16
+ // isLine: (value: any): value is PlaitArrowLine => {
17
+ // return value.type === 'arrow-line' || value.type === 'line' || value.type === 'vector-line';
18
+ // },
19
+ isArrowLine: (value) => {
20
+ return value.type === 'arrow-line' || value.type === 'line';
17
21
  },
18
22
  isText: (value) => {
19
23
  return value.type === 'geometry' && value.shape === BasicShapes.text;
@@ -26,7 +30,7 @@ export const PlaitDrawElement = {
26
30
  },
27
31
  isDrawElement: (value) => {
28
32
  if (PlaitDrawElement.isGeometry(value) ||
29
- PlaitDrawElement.isLine(value) ||
33
+ PlaitDrawElement.isArrowLine(value) ||
30
34
  PlaitDrawElement.isImage(value) ||
31
35
  PlaitDrawElement.isTable(value) ||
32
36
  PlaitDrawElement.isSwimlane(value)) {
@@ -37,7 +41,10 @@ export const PlaitDrawElement = {
37
41
  }
38
42
  },
39
43
  isShapeElement: (value) => {
40
- return PlaitDrawElement.isImage(value) || PlaitDrawElement.isGeometry(value) || PlaitDrawElement.isTable(value) || PlaitDrawElement.isSwimlane(value);
44
+ return (PlaitDrawElement.isImage(value) ||
45
+ PlaitDrawElement.isGeometry(value) ||
46
+ PlaitDrawElement.isTable(value) ||
47
+ PlaitDrawElement.isSwimlane(value));
41
48
  },
42
49
  isBasicShape: (value) => {
43
50
  return Object.keys(BasicShapes).includes(value.shape);
@@ -65,6 +72,6 @@ export const PlaitDrawElement = {
65
72
  },
66
73
  isElementByTable: (value) => {
67
74
  return PlaitDrawElement.isTable(value) || PlaitDrawElement.isSwimlane(value) || PlaitDrawElement.isGeometryByTable(value);
68
- },
75
+ }
69
76
  };
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQW9ELFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUd6SCxPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RCxPQUFPLEVBQThCLGlCQUFpQixFQUFnQixNQUFNLFNBQVMsQ0FBQztBQUd0RixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQVF4QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixVQUFVLEVBQUUsQ0FBQyxLQUFVLEVBQTBCLEVBQUU7UUFDL0MsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFzQixFQUFFO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUNELE1BQU0sRUFBRSxDQUFDLEtBQVUsRUFBc0IsRUFBRTtRQUN2QyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQztJQUN6RSxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsS0FBVSxFQUF1QixFQUFFO1FBQ3pDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDLEtBQVUsRUFBdUIsRUFBRTtRQUN6QyxP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QUFDO0lBQzlILENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzaWNTaGFwZXMsIEZsb3djaGFydFN5bWJvbHMsIEdlb21ldHJ5U2hhcGVzLCBQbGFpdEJhc2VHZW9tZXRyeSwgUGxhaXRHZW9tZXRyeSwgVU1MU3ltYm9scyB9IGZyb20gJy4vZ2VvbWV0cnknO1xuaW1wb3J0IHsgUGxhaXRJbWFnZSB9IGZyb20gJy4vaW1hZ2UnO1xuaW1wb3J0IHsgUGxhaXRMaW5lIH0gZnJvbSAnLi9saW5lJztcbmltcG9ydCB7IFBsYWl0U3dpbWxhbmUsIFN3aW1sYW5lU3ltYm9scyB9IGZyb20gJy4vc3dpbWxhbmUnO1xuaW1wb3J0IHsgUGxhaXRCYXNlVGFibGUsIFBsYWl0VGFibGUsIFBsYWl0VGFibGVFbGVtZW50LCBUYWJsZVN5bWJvbHMgfSBmcm9tICcuL3RhYmxlJztcbmltcG9ydCB7IFBsYWl0VGV4dCB9IGZyb20gJy4vdGV4dCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGluZSc7XG5leHBvcnQgKiBmcm9tICcuL2dlb21ldHJ5JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2VsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbmdpbmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zd2ltbGFuZSc7XG5leHBvcnQgKiBmcm9tICcuL3RhYmxlJztcblxuZXhwb3J0IHR5cGUgUGxhaXREcmF3RWxlbWVudCA9IFBsYWl0R2VvbWV0cnkgfCBQbGFpdExpbmUgfCBQbGFpdEltYWdlIHwgUGxhaXRCYXNlVGFibGUgfCBQbGFpdFN3aW1sYW5lO1xuXG5leHBvcnQgdHlwZSBQbGFpdFNoYXBlRWxlbWVudCA9IFBsYWl0R2VvbWV0cnkgfCBQbGFpdEltYWdlIHwgUGxhaXRUYWJsZSB8IFBsYWl0U3dpbWxhbmU7XG5cbmV4cG9ydCB0eXBlIERyYXdTaGFwZXMgPSBHZW9tZXRyeVNoYXBlcyB8IFRhYmxlU3ltYm9scyB8IFN3aW1sYW5lU3ltYm9scztcblxuZXhwb3J0IGNvbnN0IFBsYWl0RHJhd0VsZW1lbnQgPSB7XG4gICAgaXNHZW9tZXRyeTogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdEdlb21ldHJ5ID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnR5cGUgPT09ICdnZW9tZXRyeSc7XG4gICAgfSxcbiAgICBpc0xpbmU6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRMaW5lID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnR5cGUgPT09ICdsaW5lJztcbiAgICB9LFxuICAgIGlzVGV4dDogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdFRleHQgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ2dlb21ldHJ5JyAmJiB2YWx1ZS5zaGFwZSA9PT0gQmFzaWNTaGFwZXMudGV4dDtcbiAgICB9LFxuICAgIGlzSW1hZ2U6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRJbWFnZSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50eXBlID09PSAnaW1hZ2UnO1xuICAgIH0sXG4gICAgaXNUYWJsZTogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdFRhYmxlID0+IHtcbiAgICAgICAgcmV0dXJuIFBsYWl0VGFibGVFbGVtZW50LmlzVGFibGUodmFsdWUpO1xuICAgIH0sXG4gICAgaXNEcmF3RWxlbWVudDogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdERyYXdFbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KHZhbHVlKSB8fFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc0xpbmUodmFsdWUpIHx8XG4gICAgICAgICAgICBQbGFpdERyYXdFbGVtZW50LmlzSW1hZ2UodmFsdWUpIHx8XG4gICAgICAgICAgICBQbGFpdERyYXdFbGVtZW50LmlzVGFibGUodmFsdWUpIHx8XG4gICAgICAgICAgICBQbGFpdERyYXdFbGVtZW50LmlzU3dpbWxhbmUodmFsdWUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGlzU2hhcGVFbGVtZW50OiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0U2hhcGVFbGVtZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIFBsYWl0RHJhd0VsZW1lbnQuaXNJbWFnZSh2YWx1ZSkgfHwgUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KHZhbHVlKSB8fCBQbGFpdERyYXdFbGVtZW50LmlzVGFibGUodmFsdWUpIHx8IFBsYWl0RHJhd0VsZW1lbnQuaXNTd2ltbGFuZSh2YWx1ZSk7XG4gICAgfSxcbiAgICBpc0Jhc2ljU2hhcGU6ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhCYXNpY1NoYXBlcykuaW5jbHVkZXModmFsdWUuc2hhcGUpO1xuICAgIH0sXG4gICAgaXNGbG93Y2hhcnQ6ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhGbG93Y2hhcnRTeW1ib2xzKS5pbmNsdWRlcyh2YWx1ZS5zaGFwZSk7XG4gICAgfSxcbiAgICBpc1VNTDogKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKFVNTFN5bWJvbHMpLmluY2x1ZGVzKHZhbHVlLnNoYXBlKTtcbiAgICB9LFxuICAgIGlzU3dpbWxhbmU6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRTd2ltbGFuZSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50eXBlID09PSAnc3dpbWxhbmUnO1xuICAgIH0sXG4gICAgaXNWZXJ0aWNhbFN3aW1sYW5lOiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gUGxhaXREcmF3RWxlbWVudC5pc1N3aW1sYW5lKHZhbHVlKSAmJiB2YWx1ZS5zaGFwZSA9PT0gU3dpbWxhbmVTeW1ib2xzLnN3aW1sYW5lVmVydGljYWw7XG4gICAgfSxcbiAgICBpc0hvcml6b250YWxTd2ltbGFuZTogKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIFBsYWl0RHJhd0VsZW1lbnQuaXNTd2ltbGFuZSh2YWx1ZSkgJiYgdmFsdWUuc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZUhvcml6b250YWw7XG4gICAgfSxcbiAgICBpc1VNTENsYXNzT3JJbnRlcmZhY2U6ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhVTUxTeW1ib2xzKS5pbmNsdWRlcyh2YWx1ZS5zaGFwZSkgJiYgW1VNTFN5bWJvbHMuY2xhc3MsIFVNTFN5bWJvbHMuaW50ZXJmYWNlXS5pbmNsdWRlcyh2YWx1ZS5zaGFwZSk7XG4gICAgfSxcbiAgICBpc0dlb21ldHJ5QnlUYWJsZTogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdEJhc2VUYWJsZSA9PiB7XG4gICAgICAgIHJldHVybiBQbGFpdERyYXdFbGVtZW50LmlzVU1MQ2xhc3NPckludGVyZmFjZSh2YWx1ZSk7XG4gICAgfSxcbiAgICBpc0VsZW1lbnRCeVRhYmxlOiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0QmFzZVRhYmxlID0+IHtcbiAgICAgICAgcmV0dXJuIFBsYWl0RHJhd0VsZW1lbnQuaXNUYWJsZSh2YWx1ZSkgfHwgUGxhaXREcmF3RWxlbWVudC5pc1N3aW1sYW5lKHZhbHVlKSB8fCBQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnlCeVRhYmxlKHZhbHVlKTtcbiAgICB9LFxufTtcbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQW9ELFVBQVUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUd6SCxPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1RCxPQUFPLEVBQThCLGlCQUFpQixFQUFnQixNQUFNLFNBQVMsQ0FBQztBQUl0RixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGVBQWUsQ0FBQztBQVE5QixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixVQUFVLEVBQUUsQ0FBQyxLQUFVLEVBQTBCLEVBQUU7UUFDL0MsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQztJQUNyQyxDQUFDO0lBQ0QscURBQXFEO0lBQ3JELG1HQUFtRztJQUNuRyxLQUFLO0lBQ0wsV0FBVyxFQUFFLENBQUMsS0FBVSxFQUEyQixFQUFFO1FBQ2pELE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxZQUFZLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxNQUFNLENBQUM7SUFDaEUsQ0FBQztJQUNELE1BQU0sRUFBRSxDQUFDLEtBQVUsRUFBc0IsRUFBRTtRQUN2QyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssV0FBVyxDQUFDLElBQUksQ0FBQztJQUN6RSxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsS0FBVSxFQUF1QixFQUFFO1FBQ3pDLE9B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QUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5SCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2ljU2hhcGVzLCBGbG93Y2hhcnRTeW1ib2xzLCBHZW9tZXRyeVNoYXBlcywgUGxhaXRCYXNlR2VvbWV0cnksIFBsYWl0R2VvbWV0cnksIFVNTFN5bWJvbHMgfSBmcm9tICcuL2dlb21ldHJ5JztcbmltcG9ydCB7IFBsYWl0SW1hZ2UgfSBmcm9tICcuL2ltYWdlJztcbmltcG9ydCB7IFBsYWl0QXJyb3dMaW5lIH0gZnJvbSAnLi9hcnJvdy1saW5lJztcbmltcG9ydCB7IFBsYWl0U3dpbWxhbmUsIFN3aW1sYW5lU3ltYm9scyB9IGZyb20gJy4vc3dpbWxhbmUnO1xuaW1wb3J0IHsgUGxhaXRCYXNlVGFibGUsIFBsYWl0VGFibGUsIFBsYWl0VGFibGVFbGVtZW50LCBUYWJsZVN5bWJvbHMgfSBmcm9tICcuL3RhYmxlJztcbmltcG9ydCB7IFBsYWl0VGV4dCB9IGZyb20gJy4vdGV4dCc7XG5pbXBvcnQgeyBQbGFpdFZlY3RvckxpbmUgfSBmcm9tICcuL3ZlY3Rvci1saW5lJztcblxuZXhwb3J0ICogZnJvbSAnLi9hcnJvdy1saW5lJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VvbWV0cnknO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vZWxlbWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2VuZ2luZSc7XG5leHBvcnQgKiBmcm9tICcuL3N3aW1sYW5lJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUnO1xuZXhwb3J0ICogZnJvbSAnLi92ZWN0b3ItbGluZSc7XG5cbmV4cG9ydCB0eXBlIFBsYWl0RHJhd0VsZW1lbnQgPSBQbGFpdEdlb21ldHJ5IHwgUGxhaXRBcnJvd0xpbmUgfCBQbGFpdFZlY3RvckxpbmUgfCBQbGFpdEltYWdlIHwgUGxhaXRCYXNlVGFibGUgfCBQbGFpdFN3aW1sYW5lO1xuXG5leHBvcnQgdHlwZSBQbGFpdFNoYXBlRWxlbWVudCA9IFBsYWl0R2VvbWV0cnkgfCBQbGFpdEltYWdlIHwgUGxhaXRUYWJsZSB8IFBsYWl0U3dpbWxhbmU7XG5cbmV4cG9ydCB0eXBlIERyYXdTaGFwZXMgPSBHZW9tZXRyeVNoYXBlcyB8IFRhYmxlU3ltYm9scyB8IFN3aW1sYW5lU3ltYm9scztcblxuZXhwb3J0IGNvbnN0IFBsYWl0RHJhd0VsZW1lbnQgPSB7XG4gICAgaXNHZW9tZXRyeTogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdEdlb21ldHJ5ID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnR5cGUgPT09ICdnZW9tZXRyeSc7XG4gICAgfSxcbiAgICAvLyBpc0xpbmU6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRBcnJvd0xpbmUgPT4ge1xuICAgIC8vICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ2Fycm93LWxpbmUnIHx8IHZhbHVlLnR5cGUgPT09ICdsaW5lJyB8fCB2YWx1ZS50eXBlID09PSAndmVjdG9yLWxpbmUnO1xuICAgIC8vIH0sXG4gICAgaXNBcnJvd0xpbmU6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRBcnJvd0xpbmUgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ2Fycm93LWxpbmUnIHx8IHZhbHVlLnR5cGUgPT09ICdsaW5lJztcbiAgICB9LFxuICAgIGlzVGV4dDogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdFRleHQgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ2dlb21ldHJ5JyAmJiB2YWx1ZS5zaGFwZSA9PT0gQmFzaWNTaGFwZXMudGV4dDtcbiAgICB9LFxuICAgIGlzSW1hZ2U6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRJbWFnZSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50eXBlID09PSAnaW1hZ2UnO1xuICAgIH0sXG4gICAgaXNUYWJsZTogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdFRhYmxlID0+IHtcbiAgICAgICAgcmV0dXJuIFBsYWl0VGFibGVFbGVtZW50LmlzVGFibGUodmFsdWUpO1xuICAgIH0sXG4gICAgaXNEcmF3RWxlbWVudDogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdERyYXdFbGVtZW50ID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KHZhbHVlKSB8fFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc0Fycm93TGluZSh2YWx1ZSkgfHxcbiAgICAgICAgICAgIFBsYWl0RHJhd0VsZW1lbnQuaXNJbWFnZSh2YWx1ZSkgfHxcbiAgICAgICAgICAgIFBsYWl0RHJhd0VsZW1lbnQuaXNUYWJsZSh2YWx1ZSkgfHxcbiAgICAgICAgICAgIFBsYWl0RHJhd0VsZW1lbnQuaXNTd2ltbGFuZSh2YWx1ZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgaXNTaGFwZUVsZW1lbnQ6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRTaGFwZUVsZW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc0ltYWdlKHZhbHVlKSB8fFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5KHZhbHVlKSB8fFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc1RhYmxlKHZhbHVlKSB8fFxuICAgICAgICAgICAgUGxhaXREcmF3RWxlbWVudC5pc1N3aW1sYW5lKHZhbHVlKVxuICAgICAgICApO1xuICAgIH0sXG4gICAgaXNCYXNpY1NoYXBlOiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoQmFzaWNTaGFwZXMpLmluY2x1ZGVzKHZhbHVlLnNoYXBlKTtcbiAgICB9LFxuICAgIGlzRmxvd2NoYXJ0OiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoRmxvd2NoYXJ0U3ltYm9scykuaW5jbHVkZXModmFsdWUuc2hhcGUpO1xuICAgIH0sXG4gICAgaXNVTUw6ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBPYmplY3Qua2V5cyhVTUxTeW1ib2xzKS5pbmNsdWRlcyh2YWx1ZS5zaGFwZSk7XG4gICAgfSxcbiAgICBpc1N3aW1sYW5lOiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0U3dpbWxhbmUgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ3N3aW1sYW5lJztcbiAgICB9LFxuICAgIGlzVmVydGljYWxTd2ltbGFuZTogKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgcmV0dXJuIFBsYWl0RHJhd0VsZW1lbnQuaXNTd2ltbGFuZSh2YWx1ZSkgJiYgdmFsdWUuc2hhcGUgPT09IFN3aW1sYW5lU3ltYm9scy5zd2ltbGFuZVZlcnRpY2FsO1xuICAgIH0sXG4gICAgaXNIb3Jpem9udGFsU3dpbWxhbmU6ICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgIHJldHVybiBQbGFpdERyYXdFbGVtZW50LmlzU3dpbWxhbmUodmFsdWUpICYmIHZhbHVlLnNoYXBlID09PSBTd2ltbGFuZVN5bWJvbHMuc3dpbWxhbmVIb3Jpem9udGFsO1xuICAgIH0sXG4gICAgaXNVTUxDbGFzc09ySW50ZXJmYWNlOiAodmFsdWU6IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoVU1MU3ltYm9scykuaW5jbHVkZXModmFsdWUuc2hhcGUpICYmIFtVTUxTeW1ib2xzLmNsYXNzLCBVTUxTeW1ib2xzLmludGVyZmFjZV0uaW5jbHVkZXModmFsdWUuc2hhcGUpO1xuICAgIH0sXG4gICAgaXNHZW9tZXRyeUJ5VGFibGU6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRCYXNlVGFibGUgPT4ge1xuICAgICAgICByZXR1cm4gUGxhaXREcmF3RWxlbWVudC5pc1VNTENsYXNzT3JJbnRlcmZhY2UodmFsdWUpO1xuICAgIH0sXG4gICAgaXNFbGVtZW50QnlUYWJsZTogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdEJhc2VUYWJsZSA9PiB7XG4gICAgICAgIHJldHVybiBQbGFpdERyYXdFbGVtZW50LmlzVGFibGUodmFsdWUpIHx8IFBsYWl0RHJhd0VsZW1lbnQuaXNTd2ltbGFuZSh2YWx1ZSkgfHwgUGxhaXREcmF3RWxlbWVudC5pc0dlb21ldHJ5QnlUYWJsZSh2YWx1ZSk7XG4gICAgfVxufTtcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export var VectorLineShape;
2
+ (function (VectorLineShape) {
3
+ VectorLineShape["straight"] = "straight";
4
+ VectorLineShape["curve"] = "curve";
5
+ })(VectorLineShape || (VectorLineShape = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVjdG9yLWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL3ZlY3Rvci1saW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBTixJQUFZLGVBR1g7QUFIRCxXQUFZLGVBQWU7SUFDdkIsd0NBQWtDLENBQUE7SUFDbEMsa0NBQTRCLENBQUE7QUFDaEMsQ0FBQyxFQUhXLGVBQWUsS0FBZixlQUFlLFFBRzFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRFbGVtZW50LCBQb2ludCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFN0cm9rZVN0eWxlIH0gZnJvbSAnLi9lbGVtZW50JztcbmltcG9ydCB7IEFycm93TGluZVNoYXBlIH0gZnJvbSAnLi9hcnJvdy1saW5lJztcblxuZXhwb3J0IGVudW0gVmVjdG9yTGluZVNoYXBlIHtcbiAgICBzdHJhaWdodCA9IEFycm93TGluZVNoYXBlLnN0cmFpZ2h0LFxuICAgIGN1cnZlID0gQXJyb3dMaW5lU2hhcGUuY3VydmVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFZlY3RvckxpbmUgZXh0ZW5kcyBQbGFpdEVsZW1lbnQge1xuICAgIHR5cGU6ICd2ZWN0b3ItbGluZSc7XG4gICAgc2hhcGU6IFZlY3RvckxpbmVTaGFwZTtcbiAgICBwb2ludHM6IFBvaW50W107XG4gICAgc3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgc3Ryb2tlU3R5bGU/OiBTdHJva2VTdHlsZTtcbiAgICBmaWxsPzogc3RyaW5nO1xuICAgIG9wYWNpdHk6IG51bWJlcjtcbn1cbiJdfQ==