@plait/draw 0.77.3 → 0.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/fesm2022/plait-draw.mjs +2 -2
  2. package/fesm2022/plait-draw.mjs.map +1 -1
  3. package/package.json +1 -3
  4. package/esm2022/arrow-line.component.mjs +0 -165
  5. package/esm2022/constants/default.mjs +0 -7
  6. package/esm2022/constants/geometry.mjs +0 -272
  7. package/esm2022/constants/image.mjs +0 -2
  8. package/esm2022/constants/index.mjs +0 -9
  9. package/esm2022/constants/line.mjs +0 -12
  10. package/esm2022/constants/pointer.mjs +0 -23
  11. package/esm2022/constants/swimlane.mjs +0 -25
  12. package/esm2022/constants/text.mjs +0 -2
  13. package/esm2022/constants/theme.mjs +0 -28
  14. package/esm2022/engines/basic-shapes/cloud.mjs +0 -146
  15. package/esm2022/engines/basic-shapes/comment.mjs +0 -56
  16. package/esm2022/engines/basic-shapes/cross.mjs +0 -33
  17. package/esm2022/engines/basic-shapes/diamond.mjs +0 -16
  18. package/esm2022/engines/basic-shapes/ellipse.mjs +0 -53
  19. package/esm2022/engines/basic-shapes/hexagon.mjs +0 -27
  20. package/esm2022/engines/basic-shapes/left-arrow.mjs +0 -30
  21. package/esm2022/engines/basic-shapes/octagon.mjs +0 -29
  22. package/esm2022/engines/basic-shapes/parallelogram.mjs +0 -26
  23. package/esm2022/engines/basic-shapes/pentagon-arrow.mjs +0 -27
  24. package/esm2022/engines/basic-shapes/pentagon.mjs +0 -30
  25. package/esm2022/engines/basic-shapes/polygon.mjs +0 -56
  26. package/esm2022/engines/basic-shapes/process-arrow.mjs +0 -26
  27. package/esm2022/engines/basic-shapes/rectangle.mjs +0 -26
  28. package/esm2022/engines/basic-shapes/right-arrow.mjs +0 -28
  29. package/esm2022/engines/basic-shapes/round-comment.mjs +0 -82
  30. package/esm2022/engines/basic-shapes/round-rectangle.mjs +0 -58
  31. package/esm2022/engines/basic-shapes/star.mjs +0 -39
  32. package/esm2022/engines/basic-shapes/trapezoid.mjs +0 -26
  33. package/esm2022/engines/basic-shapes/triangle.mjs +0 -34
  34. package/esm2022/engines/basic-shapes/two-way-arrow.mjs +0 -25
  35. package/esm2022/engines/flowchart/database.mjs +0 -84
  36. package/esm2022/engines/flowchart/delay.mjs +0 -44
  37. package/esm2022/engines/flowchart/display.mjs +0 -74
  38. package/esm2022/engines/flowchart/document.mjs +0 -81
  39. package/esm2022/engines/flowchart/hard-disk.mjs +0 -84
  40. package/esm2022/engines/flowchart/internal-storage.mjs +0 -47
  41. package/esm2022/engines/flowchart/manual-input.mjs +0 -33
  42. package/esm2022/engines/flowchart/manual-loop.mjs +0 -26
  43. package/esm2022/engines/flowchart/merge.mjs +0 -34
  44. package/esm2022/engines/flowchart/multi-document.mjs +0 -143
  45. package/esm2022/engines/flowchart/note-curly-left.mjs +0 -86
  46. package/esm2022/engines/flowchart/note-curly-right.mjs +0 -89
  47. package/esm2022/engines/flowchart/note-square.mjs +0 -46
  48. package/esm2022/engines/flowchart/off-page.mjs +0 -32
  49. package/esm2022/engines/flowchart/or.mjs +0 -20
  50. package/esm2022/engines/flowchart/predefined-process.mjs +0 -47
  51. package/esm2022/engines/flowchart/preparation.mjs +0 -27
  52. package/esm2022/engines/flowchart/stored-data.mjs +0 -79
  53. package/esm2022/engines/flowchart/summing-junction.mjs +0 -23
  54. package/esm2022/engines/flowchart/terminal.mjs +0 -68
  55. package/esm2022/engines/index.mjs +0 -130
  56. package/esm2022/engines/table/table.mjs +0 -101
  57. package/esm2022/engines/uml/activity-class.mjs +0 -47
  58. package/esm2022/engines/uml/actor.mjs +0 -119
  59. package/esm2022/engines/uml/assembly.mjs +0 -105
  60. package/esm2022/engines/uml/combined-fragment.mjs +0 -66
  61. package/esm2022/engines/uml/component-box.mjs +0 -61
  62. package/esm2022/engines/uml/component.mjs +0 -117
  63. package/esm2022/engines/uml/container.mjs +0 -44
  64. package/esm2022/engines/uml/deletion.mjs +0 -54
  65. package/esm2022/engines/uml/note.mjs +0 -58
  66. package/esm2022/engines/uml/package.mjs +0 -105
  67. package/esm2022/engines/uml/provided-interface.mjs +0 -92
  68. package/esm2022/engines/uml/required-interface.mjs +0 -81
  69. package/esm2022/engines/uml/template.mjs +0 -47
  70. package/esm2022/generators/arrow-line-auto-complete.generator.mjs +0 -46
  71. package/esm2022/generators/arrow-line.generator.mjs +0 -13
  72. package/esm2022/generators/geometry-shape.generator.mjs +0 -29
  73. package/esm2022/generators/index.mjs +0 -7
  74. package/esm2022/generators/line-active.generator.mjs +0 -84
  75. package/esm2022/generators/single-text.generator.mjs +0 -16
  76. package/esm2022/generators/table.generator.mjs +0 -25
  77. package/esm2022/generators/text.generator.mjs +0 -131
  78. package/esm2022/generators/vector-line-generator.mjs +0 -13
  79. package/esm2022/geometry.component.mjs +0 -145
  80. package/esm2022/image.component.mjs +0 -67
  81. package/esm2022/interfaces/arrow-line.mjs +0 -70
  82. package/esm2022/interfaces/element.mjs +0 -9
  83. package/esm2022/interfaces/engine.mjs +0 -2
  84. package/esm2022/interfaces/geometry.mjs +0 -82
  85. package/esm2022/interfaces/image.mjs +0 -2
  86. package/esm2022/interfaces/index.mjs +0 -92
  87. package/esm2022/interfaces/line.mjs +0 -2
  88. package/esm2022/interfaces/options.mjs +0 -2
  89. package/esm2022/interfaces/swimlane.mjs +0 -13
  90. package/esm2022/interfaces/table.mjs +0 -13
  91. package/esm2022/interfaces/text.mjs +0 -2
  92. package/esm2022/interfaces/vector-line.mjs +0 -10
  93. package/esm2022/plait-draw.mjs +0 -5
  94. package/esm2022/plugins/with-arrow-line-auto-complete-reaction.mjs +0 -43
  95. package/esm2022/plugins/with-arrow-line-auto-complete.mjs +0 -76
  96. package/esm2022/plugins/with-arrow-line-bound-reaction.mjs +0 -53
  97. package/esm2022/plugins/with-arrow-line-create.mjs +0 -51
  98. package/esm2022/plugins/with-arrow-line-resize.mjs +0 -158
  99. package/esm2022/plugins/with-arrow-line-text-move.mjs +0 -53
  100. package/esm2022/plugins/with-arrow-line-text.mjs +0 -73
  101. package/esm2022/plugins/with-draw-fragment.mjs +0 -98
  102. package/esm2022/plugins/with-draw-hotkey.mjs +0 -45
  103. package/esm2022/plugins/with-draw-resize.mjs +0 -269
  104. package/esm2022/plugins/with-draw-rotate.mjs +0 -132
  105. package/esm2022/plugins/with-draw.mjs +0 -144
  106. package/esm2022/plugins/with-geometry-create.mjs +0 -182
  107. package/esm2022/plugins/with-swimlane-create.mjs +0 -127
  108. package/esm2022/plugins/with-swimlane.mjs +0 -21
  109. package/esm2022/plugins/with-table-resize.mjs +0 -135
  110. package/esm2022/plugins/with-table.mjs +0 -109
  111. package/esm2022/plugins/with-vector-line-create.mjs +0 -85
  112. package/esm2022/plugins/with-vector-line-resize.mjs +0 -61
  113. package/esm2022/public-api.mjs +0 -11
  114. package/esm2022/table.component.mjs +0 -162
  115. package/esm2022/transforms/arrow-line.mjs +0 -66
  116. package/esm2022/transforms/common.mjs +0 -36
  117. package/esm2022/transforms/geometry-text.mjs +0 -59
  118. package/esm2022/transforms/geometry.mjs +0 -43
  119. package/esm2022/transforms/image.mjs +0 -33
  120. package/esm2022/transforms/index.mjs +0 -36
  121. package/esm2022/transforms/multi-text-geometry-text.mjs +0 -15
  122. package/esm2022/transforms/swimlane.mjs +0 -164
  123. package/esm2022/transforms/table-text.mjs +0 -44
  124. package/esm2022/transforms/table.mjs +0 -36
  125. package/esm2022/transforms/vector-line.mjs +0 -13
  126. package/esm2022/utils/arrow-line/arrow-line-arrow.mjs +0 -123
  127. package/esm2022/utils/arrow-line/arrow-line-basic.mjs +0 -205
  128. package/esm2022/utils/arrow-line/arrow-line-common.mjs +0 -162
  129. package/esm2022/utils/arrow-line/arrow-line-resize.mjs +0 -309
  130. package/esm2022/utils/arrow-line/elbow.mjs +0 -114
  131. package/esm2022/utils/arrow-line/index.mjs +0 -6
  132. package/esm2022/utils/clipboard.mjs +0 -55
  133. package/esm2022/utils/common.mjs +0 -184
  134. package/esm2022/utils/geometry.mjs +0 -178
  135. package/esm2022/utils/hit.mjs +0 -238
  136. package/esm2022/utils/index.mjs +0 -17
  137. package/esm2022/utils/line.mjs +0 -64
  138. package/esm2022/utils/memorize.mjs +0 -93
  139. package/esm2022/utils/multi-text-geometry.mjs +0 -61
  140. package/esm2022/utils/polygon.mjs +0 -30
  141. package/esm2022/utils/position/arrow-line.mjs +0 -20
  142. package/esm2022/utils/position/geometry.mjs +0 -30
  143. package/esm2022/utils/position/line.mjs +0 -51
  144. package/esm2022/utils/selected.mjs +0 -39
  145. package/esm2022/utils/shape.mjs +0 -11
  146. package/esm2022/utils/snap-resizing.mjs +0 -185
  147. package/esm2022/utils/style/index.mjs +0 -2
  148. package/esm2022/utils/style/stroke.mjs +0 -21
  149. package/esm2022/utils/swimlane.mjs +0 -124
  150. package/esm2022/utils/table-selected.mjs +0 -21
  151. package/esm2022/utils/table.mjs +0 -172
  152. package/esm2022/utils/uml.mjs +0 -90
  153. package/esm2022/utils/vector-line.mjs +0 -71
  154. package/esm2022/vector-line.component.mjs +0 -55
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plait/draw",
3
- "version": "0.77.3",
3
+ "version": "0.78.0",
4
4
  "peerDependencies": {},
5
5
  "dependencies": {
6
6
  "tslib": "^2.3.0"
@@ -23,8 +23,6 @@
23
23
  },
24
24
  ".": {
25
25
  "types": "./index.d.ts",
26
- "esm2022": "./esm2022/plait-draw.mjs",
27
- "esm": "./esm2022/plait-draw.mjs",
28
26
  "default": "./fesm2022/plait-draw.mjs"
29
27
  }
30
28
  },
@@ -1,165 +0,0 @@
1
- import { PlaitBoard, getElementById, createDebugGenerator, PlaitNode } from '@plait/core';
2
- import { LineActiveGenerator } from './generators/line-active.generator';
3
- import { DrawTransforms } from './transforms';
4
- import { GeometryThreshold, MIN_TEXT_WIDTH } from './constants';
5
- import { CommonElementFlavour, TextManage } from '@plait/common';
6
- import { getArrowLineTextRectangle } from './utils/arrow-line/arrow-line-basic';
7
- import { memorizeLatestText } from './utils/memorize';
8
- import { ArrowLineShapeGenerator } from './generators/arrow-line.generator';
9
- import { getArrowLinePoints } from './utils';
10
- const debugKey = 'debug:plait:line-turning';
11
- const debugGenerator = createDebugGenerator(debugKey);
12
- export class ArrowLineComponent extends CommonElementFlavour {
13
- constructor() {
14
- super();
15
- this.boundedElements = {};
16
- }
17
- initializeGenerator() {
18
- this.shapeGenerator = new ArrowLineShapeGenerator(this.board);
19
- this.activeGenerator = new LineActiveGenerator(this.board);
20
- this.initializeTextManages();
21
- }
22
- initialize() {
23
- this.initializeGenerator();
24
- this.shapeGenerator.processDrawing(this.element, this.getElementG());
25
- const linePoints = getArrowLinePoints(this.board, this.element);
26
- this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
27
- selected: this.selected,
28
- linePoints
29
- });
30
- super.initialize();
31
- this.boundedElements = this.getBoundedElements();
32
- this.drawText();
33
- this.getRef().updateActiveSection = () => {
34
- const linePoints = getArrowLinePoints(this.board, this.element);
35
- this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
36
- selected: this.selected,
37
- linePoints
38
- });
39
- };
40
- debugGenerator.isDebug() && debugGenerator.drawCircles(this.board, this.element.points.slice(1, -1), 4, true);
41
- }
42
- getBoundedElements() {
43
- const boundedElements = {};
44
- if (this.element.source.boundId) {
45
- const boundElement = getElementById(this.board, this.element.source.boundId);
46
- if (boundElement) {
47
- boundedElements.source = boundElement;
48
- }
49
- }
50
- if (this.element.target.boundId) {
51
- const boundElement = getElementById(this.board, this.element.target.boundId);
52
- if (boundElement) {
53
- boundedElements.target = boundElement;
54
- }
55
- }
56
- return boundedElements;
57
- }
58
- onContextChanged(value, previous) {
59
- const boundedElements = this.getBoundedElements();
60
- const isBoundedElementsChanged = boundedElements.source !== this.boundedElements.source || boundedElements.target !== this.boundedElements.target;
61
- this.boundedElements = boundedElements;
62
- const linePoints = getArrowLinePoints(this.board, this.element);
63
- if (value.element !== previous.element || value.hasThemeChanged) {
64
- this.shapeGenerator.processDrawing(this.element, this.getElementG());
65
- this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
66
- selected: this.selected,
67
- linePoints
68
- });
69
- this.updateText(previous.element.texts, value.element.texts);
70
- this.updateTextRectangle();
71
- }
72
- else {
73
- const needUpdate = value.selected !== previous.selected || this.activeGenerator.needUpdate();
74
- if (needUpdate || value.selected) {
75
- this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
76
- selected: this.selected,
77
- linePoints
78
- });
79
- }
80
- }
81
- if (isBoundedElementsChanged) {
82
- this.shapeGenerator.processDrawing(this.element, this.getElementG());
83
- this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
84
- selected: this.selected,
85
- linePoints
86
- });
87
- this.updateTextRectangle();
88
- return;
89
- }
90
- }
91
- initializeTextManages() {
92
- if (this.element.texts?.length) {
93
- const textManages = [];
94
- this.element.texts.forEach((text, index) => {
95
- const manage = this.createTextManage(text, index);
96
- textManages.push(manage);
97
- });
98
- this.getRef().initializeTextManage(textManages);
99
- }
100
- }
101
- drawText() {
102
- if (this.element.texts?.length) {
103
- this.getRef()
104
- .getTextManages()
105
- .forEach((manage, index) => {
106
- manage.draw(this.element.texts[index].text);
107
- this.getElementG().append(manage.g);
108
- });
109
- }
110
- }
111
- createTextManage(text, index) {
112
- return new TextManage(this.board, {
113
- getRectangle: () => {
114
- return getArrowLineTextRectangle(this.board, this.element, index);
115
- },
116
- onChange: (textManageChangeData) => {
117
- const path = PlaitBoard.findPath(this.board, this.element);
118
- const node = PlaitNode.get(this.board, path);
119
- const texts = [...node.texts];
120
- const newWidth = textManageChangeData.width < MIN_TEXT_WIDTH ? MIN_TEXT_WIDTH : textManageChangeData.width;
121
- texts.splice(index, 1, {
122
- text: textManageChangeData.newText ? textManageChangeData.newText : this.element.texts[index].text,
123
- position: this.element.texts[index].position,
124
- width: newWidth,
125
- height: textManageChangeData.height
126
- });
127
- DrawTransforms.setArrowLineTexts(this.board, this.element, texts);
128
- textManageChangeData.operations && memorizeLatestText(this.element, textManageChangeData.operations);
129
- },
130
- getMaxWidth: () => GeometryThreshold.defaultTextMaxWidth,
131
- textPlugins: []
132
- });
133
- }
134
- updateText(previousTexts, currentTexts) {
135
- if (previousTexts === currentTexts)
136
- return;
137
- const previousTextsLength = previousTexts.length;
138
- const currentTextsLength = currentTexts.length;
139
- const textManages = this.getRef().getTextManages();
140
- if (currentTextsLength === previousTextsLength) {
141
- for (let i = 0; i < previousTextsLength; i++) {
142
- if (previousTexts[i].text !== currentTexts[i].text) {
143
- textManages[i].updateText(currentTexts[i].text);
144
- }
145
- }
146
- }
147
- else {
148
- this.getRef().destroyTextManage();
149
- this.initializeTextManages();
150
- this.drawText();
151
- }
152
- }
153
- updateTextRectangle() {
154
- const textManages = this.getRef().getTextManages();
155
- textManages.forEach((manage) => {
156
- manage.updateRectangle();
157
- });
158
- }
159
- destroy() {
160
- super.destroy();
161
- this.activeGenerator.destroy();
162
- this.getRef().destroyTextManage();
163
- }
164
- }
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3ctbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9hcnJvdy1saW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUErQyxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXZJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFPN0MsTUFBTSxRQUFRLEdBQUcsMEJBQTBCLENBQUM7QUFDNUMsTUFBTSxjQUFjLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFdEQsTUFBTSxPQUFPLGtCQUNULFNBQVEsb0JBQWdEO0lBU3hEO1FBQ0ksS0FBSyxFQUFFLENBQUM7UUFIWixvQkFBZSxHQUFvQixFQUFFLENBQUM7SUFJdEMsQ0FBQztJQUVELG1CQUFtQjtRQUNmLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDckUsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwRixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsVUFBVTtTQUNiLENBQUMsQ0FBQztRQUNILEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxFQUFFO1lBQ3JDLE1BQU0sVUFBVSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hFLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3BGLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsVUFBVTthQUNiLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQztRQUNGLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxjQUFjLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsTUFBTSxlQUFlLEdBQW9CLEVBQUUsQ0FBQztRQUM1QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzlCLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBZ0IsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RixJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNmLGVBQWUsQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDO1lBQzFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLFlBQVksR0FBRyxjQUFjLENBQWdCLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUYsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDZixlQUFlLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztZQUMxQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0IsQ0FDWixLQUE0RCxFQUM1RCxRQUErRDtRQUUvRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNsRCxNQUFNLHdCQUF3QixHQUMxQixlQUFlLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxJQUFJLGVBQWUsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7UUFDckgsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7UUFDdkMsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEUsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFFBQVEsQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzlELElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEYsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixVQUFVO2FBQ2IsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDN0YsSUFBSSxVQUFVLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNwRixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7b0JBQ3ZCLFVBQVU7aUJBQ2IsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLHdCQUF3QixFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNwRixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLFVBQVU7YUFDYixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixPQUFPO1FBQ1gsQ0FBQztJQUNMLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUM3QixNQUFNLFdBQVcsR0FBaUIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQW1CLEVBQUUsS0FBYSxFQUFFLEVBQUU7Z0JBQzlELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ2xELFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTSxFQUFFO2lCQUNSLGNBQWMsRUFBRTtpQkFDaEIsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQztRQUNYLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBbUIsRUFBRSxLQUFhO1FBQy9DLE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUM5QixZQUFZLEVBQUUsR0FBRyxFQUFFO2dCQUNmLE9BQU8seUJBQXlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RixDQUFDO1lBQ0QsUUFBUSxFQUFFLENBQUMsb0JBQTBDLEVBQUUsRUFBRTtnQkFDckQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0QsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBbUIsQ0FBQztnQkFDL0QsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDOUIsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUM7Z0JBQzNHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRTtvQkFDbkIsSUFBSSxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJO29CQUNsRyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUTtvQkFDNUMsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsTUFBTSxFQUFFLG9CQUFvQixDQUFDLE1BQU07aUJBQ3RDLENBQUMsQ0FBQztnQkFDSCxjQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBeUIsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDcEYsb0JBQW9CLENBQUMsVUFBVSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDekcsQ0FBQztZQUNELFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUI7WUFDeEQsV0FBVyxFQUFFLEVBQUU7U0FDbEIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVUsQ0FBQyxhQUE4QixFQUFFLFlBQTZCO1FBQ3BFLElBQUksYUFBYSxLQUFLLFlBQVk7WUFBRSxPQUFPO1FBQzNDLE1BQU0sbUJBQW1CLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUNqRCxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDL0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25ELElBQUksa0JBQWtCLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztZQUM3QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDM0MsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDakQsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BELENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNMLENBQUM7SUFFRCxtQkFBbUI7UUFDZixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkQsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzNCLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPO1FBQ0gsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDdEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCwgT25Db250ZXh0Q2hhbmdlZCwgZ2V0RWxlbWVudEJ5SWQsIGNyZWF0ZURlYnVnR2VuZXJhdG9yLCBQbGFpdE5vZGUgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBcnJvd0xpbmVUZXh0LCBQbGFpdEFycm93TGluZSwgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBMaW5lQWN0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2xpbmUtYWN0aXZlLmdlbmVyYXRvcic7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBHZW9tZXRyeVRocmVzaG9sZCwgTUlOX1RFWFRfV0lEVEggfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDb21tb25FbGVtZW50Rmxhdm91ciwgVGV4dE1hbmFnZSwgVGV4dE1hbmFnZUNoYW5nZURhdGEgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGdldEFycm93TGluZVRleHRSZWN0YW5nbGUgfSBmcm9tICcuL3V0aWxzL2Fycm93LWxpbmUvYXJyb3ctbGluZS1iYXNpYyc7XG5pbXBvcnQgeyBtZW1vcml6ZUxhdGVzdFRleHQgfSBmcm9tICcuL3V0aWxzL21lbW9yaXplJztcbmltcG9ydCB7IEFycm93TGluZVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2Fycm93LWxpbmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IGdldEFycm93TGluZVBvaW50cyB9IGZyb20gJy4vdXRpbHMnO1xuXG5pbnRlcmZhY2UgQm91bmRlZEVsZW1lbnRzIHtcbiAgICBzb3VyY2U/OiBQbGFpdEdlb21ldHJ5O1xuICAgIHRhcmdldD86IFBsYWl0R2VvbWV0cnk7XG59XG5cbmNvbnN0IGRlYnVnS2V5ID0gJ2RlYnVnOnBsYWl0OmxpbmUtdHVybmluZyc7XG5jb25zdCBkZWJ1Z0dlbmVyYXRvciA9IGNyZWF0ZURlYnVnR2VuZXJhdG9yKGRlYnVnS2V5KTtcblxuZXhwb3J0IGNsYXNzIEFycm93TGluZUNvbXBvbmVudFxuICAgIGV4dGVuZHMgQ29tbW9uRWxlbWVudEZsYXZvdXI8UGxhaXRBcnJvd0xpbmUsIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkNvbnRleHRDaGFuZ2VkPFBsYWl0QXJyb3dMaW5lLCBQbGFpdEJvYXJkPlxue1xuICAgIHNoYXBlR2VuZXJhdG9yITogQXJyb3dMaW5lU2hhcGVHZW5lcmF0b3I7XG5cbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBMaW5lQWN0aXZlR2VuZXJhdG9yO1xuXG4gICAgYm91bmRlZEVsZW1lbnRzOiBCb3VuZGVkRWxlbWVudHMgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXRpYWxpemVHZW5lcmF0b3IoKSB7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IgPSBuZXcgQXJyb3dMaW5lU2hhcGVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yID0gbmV3IExpbmVBY3RpdmVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVRleHRNYW5hZ2VzKCk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplR2VuZXJhdG9yKCk7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCB0aGlzLmdldEVsZW1lbnRHKCkpO1xuICAgICAgICBjb25zdCBsaW5lUG9pbnRzID0gZ2V0QXJyb3dMaW5lUG9pbnRzKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCxcbiAgICAgICAgICAgIGxpbmVQb2ludHNcbiAgICAgICAgfSk7XG4gICAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICAgICAgdGhpcy5ib3VuZGVkRWxlbWVudHMgPSB0aGlzLmdldEJvdW5kZWRFbGVtZW50cygpO1xuICAgICAgICB0aGlzLmRyYXdUZXh0KCk7XG4gICAgICAgIHRoaXMuZ2V0UmVmKCkudXBkYXRlQWN0aXZlU2VjdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxpbmVQb2ludHMgPSBnZXRBcnJvd0xpbmVQb2ludHModGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgbGluZVBvaW50c1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIGRlYnVnR2VuZXJhdG9yLmlzRGVidWcoKSAmJiBkZWJ1Z0dlbmVyYXRvci5kcmF3Q2lyY2xlcyh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQucG9pbnRzLnNsaWNlKDEsIC0xKSwgNCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgZ2V0Qm91bmRlZEVsZW1lbnRzKCkge1xuICAgICAgICBjb25zdCBib3VuZGVkRWxlbWVudHM6IEJvdW5kZWRFbGVtZW50cyA9IHt9O1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnNvdXJjZS5ib3VuZElkKSB7XG4gICAgICAgICAgICBjb25zdCBib3VuZEVsZW1lbnQgPSBnZXRFbGVtZW50QnlJZDxQbGFpdEdlb21ldHJ5Pih0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQuc291cmNlLmJvdW5kSWQpO1xuICAgICAgICAgICAgaWYgKGJvdW5kRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGJvdW5kZWRFbGVtZW50cy5zb3VyY2UgPSBib3VuZEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50YXJnZXQuYm91bmRJZCkge1xuICAgICAgICAgICAgY29uc3QgYm91bmRFbGVtZW50ID0gZ2V0RWxlbWVudEJ5SWQ8UGxhaXRHZW9tZXRyeT4odGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LnRhcmdldC5ib3VuZElkKTtcbiAgICAgICAgICAgIGlmIChib3VuZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBib3VuZGVkRWxlbWVudHMudGFyZ2V0ID0gYm91bmRFbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBib3VuZGVkRWxlbWVudHM7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRBcnJvd0xpbmUsIFBsYWl0Qm9hcmQ+LFxuICAgICAgICBwcmV2aW91czogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdEFycm93TGluZSwgUGxhaXRCb2FyZD5cbiAgICApIHtcbiAgICAgICAgY29uc3QgYm91bmRlZEVsZW1lbnRzID0gdGhpcy5nZXRCb3VuZGVkRWxlbWVudHMoKTtcbiAgICAgICAgY29uc3QgaXNCb3VuZGVkRWxlbWVudHNDaGFuZ2VkID1cbiAgICAgICAgICAgIGJvdW5kZWRFbGVtZW50cy5zb3VyY2UgIT09IHRoaXMuYm91bmRlZEVsZW1lbnRzLnNvdXJjZSB8fCBib3VuZGVkRWxlbWVudHMudGFyZ2V0ICE9PSB0aGlzLmJvdW5kZWRFbGVtZW50cy50YXJnZXQ7XG4gICAgICAgIHRoaXMuYm91bmRlZEVsZW1lbnRzID0gYm91bmRlZEVsZW1lbnRzO1xuICAgICAgICBjb25zdCBsaW5lUG9pbnRzID0gZ2V0QXJyb3dMaW5lUG9pbnRzKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSBwcmV2aW91cy5lbGVtZW50IHx8IHZhbHVlLmhhc1RoZW1lQ2hhbmdlZCkge1xuICAgICAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZ2V0RWxlbWVudEcoKSk7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIGxpbmVQb2ludHNcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0KHByZXZpb3VzLmVsZW1lbnQudGV4dHMsIHZhbHVlLmVsZW1lbnQudGV4dHMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUZXh0UmVjdGFuZ2xlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBuZWVkVXBkYXRlID0gdmFsdWUuc2VsZWN0ZWQgIT09IHByZXZpb3VzLnNlbGVjdGVkIHx8IHRoaXMuYWN0aXZlR2VuZXJhdG9yLm5lZWRVcGRhdGUoKTtcbiAgICAgICAgICAgIGlmIChuZWVkVXBkYXRlIHx8IHZhbHVlLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgIGxpbmVQb2ludHNcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNCb3VuZGVkRWxlbWVudHNDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLnNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgbGluZVBvaW50c1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHRSZWN0YW5nbGUoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRpYWxpemVUZXh0TWFuYWdlcygpIHtcbiAgICAgICAgaWYgKHRoaXMuZWxlbWVudC50ZXh0cz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0TWFuYWdlczogVGV4dE1hbmFnZVtdID0gW107XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQudGV4dHMuZm9yRWFjaCgodGV4dDogQXJyb3dMaW5lVGV4dCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hbmFnZSA9IHRoaXMuY3JlYXRlVGV4dE1hbmFnZSh0ZXh0LCBpbmRleCk7XG4gICAgICAgICAgICAgICAgdGV4dE1hbmFnZXMucHVzaChtYW5hZ2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmdldFJlZigpLmluaXRpYWxpemVUZXh0TWFuYWdlKHRleHRNYW5hZ2VzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRyYXdUZXh0KCkge1xuICAgICAgICBpZiAodGhpcy5lbGVtZW50LnRleHRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0UmVmKClcbiAgICAgICAgICAgICAgICAuZ2V0VGV4dE1hbmFnZXMoKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChtYW5hZ2UsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG1hbmFnZS5kcmF3KHRoaXMuZWxlbWVudC50ZXh0cyFbaW5kZXhdLnRleHQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEVsZW1lbnRHKCkuYXBwZW5kKG1hbmFnZS5nKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZVRleHRNYW5hZ2UodGV4dDogQXJyb3dMaW5lVGV4dCwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICByZXR1cm4gbmV3IFRleHRNYW5hZ2UodGhpcy5ib2FyZCwge1xuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldEFycm93TGluZVRleHRSZWN0YW5nbGUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50IGFzIFBsYWl0QXJyb3dMaW5lLCBpbmRleCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25DaGFuZ2U6ICh0ZXh0TWFuYWdlQ2hhbmdlRGF0YTogVGV4dE1hbmFnZUNoYW5nZURhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aCh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBQbGFpdE5vZGUuZ2V0KHRoaXMuYm9hcmQsIHBhdGgpIGFzIFBsYWl0QXJyb3dMaW5lO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHRzID0gWy4uLm5vZGUudGV4dHNdO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1dpZHRoID0gdGV4dE1hbmFnZUNoYW5nZURhdGEud2lkdGggPCBNSU5fVEVYVF9XSURUSCA/IE1JTl9URVhUX1dJRFRIIDogdGV4dE1hbmFnZUNoYW5nZURhdGEud2lkdGg7XG4gICAgICAgICAgICAgICAgdGV4dHMuc3BsaWNlKGluZGV4LCAxLCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHRleHRNYW5hZ2VDaGFuZ2VEYXRhLm5ld1RleHQgPyB0ZXh0TWFuYWdlQ2hhbmdlRGF0YS5uZXdUZXh0IDogdGhpcy5lbGVtZW50LnRleHRzW2luZGV4XS50ZXh0LFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdGhpcy5lbGVtZW50LnRleHRzW2luZGV4XS5wb3NpdGlvbixcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG5ld1dpZHRoLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHRleHRNYW5hZ2VDaGFuZ2VEYXRhLmhlaWdodFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIERyYXdUcmFuc2Zvcm1zLnNldEFycm93TGluZVRleHRzKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCBhcyBQbGFpdEFycm93TGluZSwgdGV4dHMpO1xuICAgICAgICAgICAgICAgIHRleHRNYW5hZ2VDaGFuZ2VEYXRhLm9wZXJhdGlvbnMgJiYgbWVtb3JpemVMYXRlc3RUZXh0KHRoaXMuZWxlbWVudCwgdGV4dE1hbmFnZUNoYW5nZURhdGEub3BlcmF0aW9ucyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IEdlb21ldHJ5VGhyZXNob2xkLmRlZmF1bHRUZXh0TWF4V2lkdGgsXG4gICAgICAgICAgICB0ZXh0UGx1Z2luczogW11cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dChwcmV2aW91c1RleHRzOiBBcnJvd0xpbmVUZXh0W10sIGN1cnJlbnRUZXh0czogQXJyb3dMaW5lVGV4dFtdKSB7XG4gICAgICAgIGlmIChwcmV2aW91c1RleHRzID09PSBjdXJyZW50VGV4dHMpIHJldHVybjtcbiAgICAgICAgY29uc3QgcHJldmlvdXNUZXh0c0xlbmd0aCA9IHByZXZpb3VzVGV4dHMubGVuZ3RoO1xuICAgICAgICBjb25zdCBjdXJyZW50VGV4dHNMZW5ndGggPSBjdXJyZW50VGV4dHMubGVuZ3RoO1xuICAgICAgICBjb25zdCB0ZXh0TWFuYWdlcyA9IHRoaXMuZ2V0UmVmKCkuZ2V0VGV4dE1hbmFnZXMoKTtcbiAgICAgICAgaWYgKGN1cnJlbnRUZXh0c0xlbmd0aCA9PT0gcHJldmlvdXNUZXh0c0xlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwcmV2aW91c1RleHRzTGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNUZXh0c1tpXS50ZXh0ICE9PSBjdXJyZW50VGV4dHNbaV0udGV4dCkge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlc1tpXS51cGRhdGVUZXh0KGN1cnJlbnRUZXh0c1tpXS50ZXh0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdldFJlZigpLmRlc3Ryb3lUZXh0TWFuYWdlKCk7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVUZXh0TWFuYWdlcygpO1xuICAgICAgICAgICAgdGhpcy5kcmF3VGV4dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dFJlY3RhbmdsZSgpIHtcbiAgICAgICAgY29uc3QgdGV4dE1hbmFnZXMgPSB0aGlzLmdldFJlZigpLmdldFRleHRNYW5hZ2VzKCk7XG4gICAgICAgIHRleHRNYW5hZ2VzLmZvckVhY2goKG1hbmFnZSkgPT4ge1xuICAgICAgICAgICAgbWFuYWdlLnVwZGF0ZVJlY3RhbmdsZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5nZXRSZWYoKS5kZXN0cm95VGV4dE1hbmFnZSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export const WithDrawPluginKey = 'plait-draw-plugin-key';
2
- export var DrawI18nKey;
3
- (function (DrawI18nKey) {
4
- DrawI18nKey["lineText"] = "line-text";
5
- DrawI18nKey["geometryText"] = "geometry-text";
6
- })(DrawI18nKey || (DrawI18nKey = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2NvbnN0YW50cy9kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDO0FBRXpELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDbkIscUNBQXNCLENBQUE7SUFDdEIsNkNBQThCLENBQUE7QUFDbEMsQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFdpdGhEcmF3UGx1Z2luS2V5ID0gJ3BsYWl0LWRyYXctcGx1Z2luLWtleSc7XG5cbmV4cG9ydCBlbnVtIERyYXdJMThuS2V5IHtcbiAgICBsaW5lVGV4dCA9ICdsaW5lLXRleHQnLFxuICAgIGdlb21ldHJ5VGV4dCA9ICdnZW9tZXRyeS10ZXh0J1xufSJdfQ==
@@ -1,272 +0,0 @@
1
- import { ACTIVE_STROKE_WIDTH, DEFAULT_COLOR } from '@plait/core';
2
- import { BasicShapes, FlowchartSymbols, GeometryCommonTextKeys, UMLSymbols } from '../interfaces';
3
- import { Alignment, DEFAULT_FILL } from '@plait/common';
4
- export const ShapeDefaultSpace = {
5
- rectangleAndText: 4
6
- };
7
- export const DefaultDrawStyle = {
8
- strokeWidth: 2,
9
- defaultRadius: 4,
10
- strokeColor: '#000',
11
- fill: DEFAULT_FILL
12
- };
13
- export const DefaultDrawActiveStyle = {
14
- strokeWidth: ACTIVE_STROKE_WIDTH,
15
- selectionStrokeWidth: ACTIVE_STROKE_WIDTH
16
- };
17
- export const DefaultBasicShapeProperty = {
18
- width: 100,
19
- height: 100,
20
- strokeColor: DEFAULT_COLOR,
21
- strokeWidth: 2
22
- };
23
- export const DefaultPentagonArrowProperty = {
24
- width: 120,
25
- height: 50
26
- };
27
- export const DefaultTwoWayArrowProperty = {
28
- width: 138,
29
- height: 80
30
- };
31
- export const DefaultArrowProperty = {
32
- width: 100,
33
- height: 80
34
- };
35
- export const DefaultCloudProperty = {
36
- width: 120,
37
- height: 100
38
- };
39
- export const DefaultTextProperty = {
40
- width: 36,
41
- height: 20,
42
- text: '文本'
43
- };
44
- export const GeometryThreshold = {
45
- defaultTextMaxWidth: 34 * 14
46
- };
47
- export const DefaultConnectorProperty = {
48
- width: 44,
49
- height: 44
50
- };
51
- export const DefaultFlowchartProperty = {
52
- width: 120,
53
- height: 60
54
- };
55
- export const DefaultDataBaseProperty = {
56
- width: 70,
57
- height: 80
58
- };
59
- export const DefaultInternalStorageProperty = {
60
- width: 80,
61
- height: 80
62
- };
63
- export const DefaultDecisionProperty = {
64
- width: 140,
65
- height: 70
66
- };
67
- export const DefaultDataProperty = {
68
- width: 124,
69
- height: 60
70
- };
71
- export const DefaultDocumentProperty = {
72
- width: 120,
73
- height: 70
74
- };
75
- export const DefaultNoteProperty = {
76
- width: 160,
77
- height: 100
78
- };
79
- export const DefaultMultiDocumentProperty = {
80
- width: 120,
81
- height: 80
82
- };
83
- export const DefaultManualInputProperty = {
84
- width: 117,
85
- height: 59
86
- };
87
- export const DefaultMergeProperty = {
88
- width: 47,
89
- height: 33
90
- };
91
- export const DefaultActorProperty = {
92
- width: 68,
93
- height: 100
94
- };
95
- export const DefaultContainerProperty = {
96
- width: 300,
97
- height: 240
98
- };
99
- export const DefaultPackageProperty = {
100
- width: 210,
101
- height: 150,
102
- texts: [
103
- {
104
- id: GeometryCommonTextKeys.name,
105
- text: '包名',
106
- align: Alignment.left
107
- },
108
- {
109
- id: GeometryCommonTextKeys.content,
110
- text: '',
111
- align: Alignment.left
112
- }
113
- ]
114
- };
115
- export const DefaultActivationProperty = {
116
- width: 18,
117
- height: 80
118
- };
119
- export const DefaultObjectProperty = {
120
- width: 120,
121
- height: 60
122
- };
123
- export const DefaultComponentBoxProperty = {
124
- width: 200,
125
- height: 150
126
- };
127
- export const DefaultDeletionProperty = {
128
- width: 40,
129
- height: 40
130
- };
131
- export const DefaultPortProperty = {
132
- width: 20,
133
- height: 20
134
- };
135
- export const DefaultRequiredInterfaceProperty = {
136
- width: 70,
137
- height: 56
138
- };
139
- export const DefaultAssemblyProperty = {
140
- width: 120,
141
- height: 56
142
- };
143
- export const DefaultProvidedInterfaceProperty = {
144
- width: 70,
145
- height: 34
146
- };
147
- export const DefaultCombinedFragmentProperty = {
148
- width: 400,
149
- height: 280,
150
- texts: [
151
- {
152
- id: GeometryCommonTextKeys.name,
153
- text: 'Opt | Alt | Loop',
154
- align: Alignment.left
155
- },
156
- {
157
- id: GeometryCommonTextKeys.content,
158
- text: '[Condition]',
159
- align: Alignment.left
160
- }
161
- ]
162
- };
163
- export const DefaultClassProperty = {
164
- width: 230,
165
- height: 180,
166
- texts: [
167
- { text: 'Class', align: Alignment.center },
168
- {
169
- text: '+ attribute1:type defaultValue\n+ attribute2:type\n- attribute3:type',
170
- align: Alignment.left
171
- },
172
- {
173
- text: '+ operation1(params):returnType\n- operation2(params)\n- operation3()',
174
- align: Alignment.left
175
- }
176
- ]
177
- };
178
- export const DefaultInterfaceProperty = {
179
- width: 230,
180
- height: 140,
181
- texts: [
182
- { text: '<<interface>>\nInterface', align: Alignment.center },
183
- {
184
- text: '+ operation1(params):returnType\n- operation2(params)\n- operation3()',
185
- align: Alignment.left
186
- }
187
- ]
188
- };
189
- export const DefaultBasicShapePropertyMap = {
190
- [BasicShapes.pentagonArrow]: DefaultPentagonArrowProperty,
191
- [BasicShapes.processArrow]: DefaultPentagonArrowProperty,
192
- [BasicShapes.cloud]: DefaultCloudProperty,
193
- [BasicShapes.twoWayArrow]: DefaultTwoWayArrowProperty,
194
- [BasicShapes.leftArrow]: DefaultArrowProperty,
195
- [BasicShapes.rightArrow]: DefaultArrowProperty
196
- };
197
- export const DefaultFlowchartPropertyMap = {
198
- [FlowchartSymbols.connector]: DefaultConnectorProperty,
199
- [FlowchartSymbols.process]: DefaultFlowchartProperty,
200
- [FlowchartSymbols.decision]: DefaultDecisionProperty,
201
- [FlowchartSymbols.data]: DefaultDataProperty,
202
- [FlowchartSymbols.terminal]: DefaultFlowchartProperty,
203
- [FlowchartSymbols.manualInput]: DefaultManualInputProperty,
204
- [FlowchartSymbols.preparation]: DefaultFlowchartProperty,
205
- [FlowchartSymbols.manualLoop]: DefaultFlowchartProperty,
206
- [FlowchartSymbols.merge]: DefaultMergeProperty,
207
- [FlowchartSymbols.delay]: DefaultFlowchartProperty,
208
- [FlowchartSymbols.storedData]: DefaultFlowchartProperty,
209
- [FlowchartSymbols.or]: DefaultConnectorProperty,
210
- [FlowchartSymbols.summingJunction]: DefaultConnectorProperty,
211
- [FlowchartSymbols.predefinedProcess]: DefaultFlowchartProperty,
212
- [FlowchartSymbols.offPage]: DefaultFlowchartProperty,
213
- [FlowchartSymbols.document]: DefaultDocumentProperty,
214
- [FlowchartSymbols.multiDocument]: DefaultMultiDocumentProperty,
215
- [FlowchartSymbols.database]: DefaultDataBaseProperty,
216
- [FlowchartSymbols.hardDisk]: DefaultFlowchartProperty,
217
- [FlowchartSymbols.internalStorage]: DefaultInternalStorageProperty,
218
- [FlowchartSymbols.noteCurlyLeft]: DefaultNoteProperty,
219
- [FlowchartSymbols.noteCurlyRight]: DefaultNoteProperty,
220
- [FlowchartSymbols.noteSquare]: DefaultNoteProperty,
221
- [FlowchartSymbols.display]: DefaultFlowchartProperty
222
- };
223
- export const DefaultUMLPropertyMap = {
224
- [UMLSymbols.actor]: DefaultActorProperty,
225
- [UMLSymbols.useCase]: DefaultDocumentProperty,
226
- [UMLSymbols.container]: DefaultContainerProperty,
227
- [UMLSymbols.note]: DefaultObjectProperty,
228
- [UMLSymbols.package]: DefaultPackageProperty,
229
- [UMLSymbols.combinedFragment]: DefaultCombinedFragmentProperty,
230
- [UMLSymbols.class]: DefaultClassProperty,
231
- [UMLSymbols.interface]: DefaultInterfaceProperty,
232
- [UMLSymbols.activation]: DefaultActivationProperty,
233
- [UMLSymbols.object]: DefaultObjectProperty,
234
- [UMLSymbols.deletion]: DefaultDeletionProperty,
235
- [UMLSymbols.activityClass]: DefaultObjectProperty,
236
- [UMLSymbols.simpleClass]: DefaultObjectProperty,
237
- [UMLSymbols.component]: DefaultMultiDocumentProperty,
238
- [UMLSymbols.template]: DefaultMultiDocumentProperty,
239
- [UMLSymbols.componentBox]: DefaultComponentBoxProperty,
240
- [UMLSymbols.port]: DefaultPortProperty,
241
- [UMLSymbols.branchMerge]: DefaultDeletionProperty,
242
- [UMLSymbols.assembly]: DefaultAssemblyProperty,
243
- [UMLSymbols.providedInterface]: DefaultProvidedInterfaceProperty,
244
- [UMLSymbols.requiredInterface]: DefaultRequiredInterfaceProperty
245
- };
246
- export const MultipleTextGeometryTextKeys = {
247
- [UMLSymbols.package]: Object.keys(GeometryCommonTextKeys),
248
- [UMLSymbols.combinedFragment]: Object.keys(GeometryCommonTextKeys)
249
- };
250
- export const LINE_HIT_GEOMETRY_BUFFER = 10;
251
- export const LINE_SNAPPING_BUFFER = 6;
252
- export const LINE_SNAPPING_CONNECTOR_BUFFER = 8;
253
- export const GEOMETRY_WITHOUT_TEXT = [
254
- FlowchartSymbols.or,
255
- FlowchartSymbols.summingJunction,
256
- UMLSymbols.activation,
257
- UMLSymbols.deletion,
258
- UMLSymbols.port,
259
- UMLSymbols.branchMerge,
260
- UMLSymbols.assembly,
261
- UMLSymbols.providedInterface,
262
- UMLSymbols.requiredInterface
263
- ];
264
- export const GEOMETRY_WITH_MULTIPLE_TEXT = [UMLSymbols.package, UMLSymbols.combinedFragment];
265
- export const GEOMETRY_NOT_CLOSED = [
266
- FlowchartSymbols.noteCurlyLeft,
267
- FlowchartSymbols.noteCurlyRight,
268
- FlowchartSymbols.noteSquare,
269
- UMLSymbols.requiredInterface,
270
- UMLSymbols.deletion
271
- ];
272
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFrQixzQkFBc0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsZ0JBQWdCLEVBQUUsQ0FBQztDQUN0QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDNUIsV0FBVyxFQUFFLENBQUM7SUFDZCxhQUFhLEVBQUUsQ0FBQztJQUNoQixXQUFXLEVBQUUsTUFBTTtJQUNuQixJQUFJLEVBQUUsWUFBWTtDQUNyQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDbEMsV0FBVyxFQUFFLG1CQUFtQjtJQUNoQyxvQkFBb0IsRUFBRSxtQkFBbUI7Q0FDNUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHO0lBQ3JDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxXQUFXLEVBQUUsYUFBYTtJQUMxQixXQUFXLEVBQUUsQ0FBQztDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUc7SUFDeEMsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsRUFBRTtDQUNiLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN0QyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxFQUFFO0NBQ2IsQ0FBQztBQUVGLE1B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QUFVO0lBQzNCLFVBQVUsQ0FBQyxpQkFBaUI7SUFDNUIsVUFBVSxDQUFDLFFBQVE7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUNUSVZFX1NUUk9LRV9XSURUSCwgREVGQVVMVF9DT0xPUiB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEJhc2ljU2hhcGVzLCBGbG93Y2hhcnRTeW1ib2xzLCBHZW9tZXRyeVNoYXBlcywgR2VvbWV0cnlDb21tb25UZXh0S2V5cywgVU1MU3ltYm9scyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWxpZ25tZW50LCBERUZBVUxUX0ZJTEwgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IFNoYXBlRGVmYXVsdFNwYWNlID0ge1xuICAgIHJlY3RhbmdsZUFuZFRleHQ6IDRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RHJhd1N0eWxlID0ge1xuICAgIHN0cm9rZVdpZHRoOiAyLFxuICAgIGRlZmF1bHRSYWRpdXM6IDQsXG4gICAgc3Ryb2tlQ29sb3I6ICcjMDAwJyxcbiAgICBmaWxsOiBERUZBVUxUX0ZJTExcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RHJhd0FjdGl2ZVN0eWxlID0ge1xuICAgIHN0cm9rZVdpZHRoOiBBQ1RJVkVfU1RST0tFX1dJRFRILFxuICAgIHNlbGVjdGlvblN0cm9rZVdpZHRoOiBBQ1RJVkVfU1RST0tFX1dJRFRIXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEJhc2ljU2hhcGVQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTAwLFxuICAgIGhlaWdodDogMTAwLFxuICAgIHN0cm9rZUNvbG9yOiBERUZBVUxUX0NPTE9SLFxuICAgIHN0cm9rZVdpZHRoOiAyXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFBlbnRhZ29uQXJyb3dQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNTBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0VHdvV2F5QXJyb3dQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTM4LFxuICAgIGhlaWdodDogODBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QXJyb3dQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTAwLFxuICAgIGhlaWdodDogODBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q2xvdWRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogMTAwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFRleHRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMzYsXG4gICAgaGVpZ2h0OiAyMCxcbiAgICB0ZXh0OiAn5paH5pysJ1xufTtcblxuZXhwb3J0IGNvbnN0IEdlb21ldHJ5VGhyZXNob2xkID0ge1xuICAgIGRlZmF1bHRUZXh0TWF4V2lkdGg6IDM0ICogMTRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29ubmVjdG9yUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDQ0LFxuICAgIGhlaWdodDogNDRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDYwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdERhdGFCYXNlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDcwLFxuICAgIGhlaWdodDogODBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0SW50ZXJuYWxTdG9yYWdlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDgwLFxuICAgIGhlaWdodDogODBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RGVjaXNpb25Qcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTQwLFxuICAgIGhlaWdodDogNzBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RGF0YVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjQsXG4gICAgaGVpZ2h0OiA2MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREb2N1bWVudFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMjAsXG4gICAgaGVpZ2h0OiA3MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHROb3RlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDE2MCxcbiAgICBoZWlnaHQ6IDEwMFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRNdWx0aURvY3VtZW50UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdE1hbnVhbElucHV0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDExNyxcbiAgICBoZWlnaHQ6IDU5XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdE1lcmdlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDQ3LFxuICAgIGhlaWdodDogMzNcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0QWN0b3JQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogNjgsXG4gICAgaGVpZ2h0OiAxMDBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29udGFpbmVyUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDMwMCxcbiAgICBoZWlnaHQ6IDI0MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRQYWNrYWdlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDIxMCxcbiAgICBoZWlnaHQ6IDE1MCxcbiAgICB0ZXh0czogW1xuICAgICAgICB7XG4gICAgICAgICAgICBpZDogR2VvbWV0cnlDb21tb25UZXh0S2V5cy5uYW1lLFxuICAgICAgICAgICAgdGV4dDogJ+WMheWQjScsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IEdlb21ldHJ5Q29tbW9uVGV4dEtleXMuY29udGVudCxcbiAgICAgICAgICAgIHRleHQ6ICcnLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH1cbiAgICBdXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFjdGl2YXRpb25Qcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTgsXG4gICAgaGVpZ2h0OiA4MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRPYmplY3RQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMTIwLFxuICAgIGhlaWdodDogNjBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29tcG9uZW50Qm94UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDIwMCxcbiAgICBoZWlnaHQ6IDE1MFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHREZWxldGlvblByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0MCxcbiAgICBoZWlnaHQ6IDQwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFBvcnRQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogMjAsXG4gICAgaGVpZ2h0OiAyMFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRSZXF1aXJlZEludGVyZmFjZVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA3MCxcbiAgICBoZWlnaHQ6IDU2XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEFzc2VtYmx5UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDEyMCxcbiAgICBoZWlnaHQ6IDU2XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFByb3ZpZGVkSW50ZXJmYWNlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDcwLFxuICAgIGhlaWdodDogMzRcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0Q29tYmluZWRGcmFnbWVudFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA0MDAsXG4gICAgaGVpZ2h0OiAyODAsXG4gICAgdGV4dHM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IEdlb21ldHJ5Q29tbW9uVGV4dEtleXMubmFtZSxcbiAgICAgICAgICAgIHRleHQ6ICdPcHQgfCBBbHQgfCBMb29wJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogR2VvbWV0cnlDb21tb25UZXh0S2V5cy5jb250ZW50LFxuICAgICAgICAgICAgdGV4dDogJ1tDb25kaXRpb25dJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9XG4gICAgXVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRDbGFzc1Byb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAyMzAsXG4gICAgaGVpZ2h0OiAxODAsXG4gICAgdGV4dHM6IFtcbiAgICAgICAgeyB0ZXh0OiAnQ2xhc3MnLCBhbGlnbjogQWxpZ25tZW50LmNlbnRlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgICB0ZXh0OiAnKyBhdHRyaWJ1dGUxOnR5cGUgIGRlZmF1bHRWYWx1ZVxcbisgYXR0cmlidXRlMjp0eXBlXFxuLSBhdHRyaWJ1dGUzOnR5cGUnLFxuICAgICAgICAgICAgYWxpZ246IEFsaWdubWVudC5sZWZ0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRleHQ6ICcrIG9wZXJhdGlvbjEocGFyYW1zKTpyZXR1cm5UeXBlXFxuLSBvcGVyYXRpb24yKHBhcmFtcylcXG4tIG9wZXJhdGlvbjMoKScsXG4gICAgICAgICAgICBhbGlnbjogQWxpZ25tZW50LmxlZnRcbiAgICAgICAgfVxuICAgIF1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0SW50ZXJmYWNlUHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDIzMCxcbiAgICBoZWlnaHQ6IDE0MCxcbiAgICB0ZXh0czogW1xuICAgICAgICB7IHRleHQ6ICc8PGludGVyZmFjZT4+XFxuSW50ZXJmYWNlJywgYWxpZ246IEFsaWdubWVudC5jZW50ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgdGV4dDogJysgb3BlcmF0aW9uMShwYXJhbXMpOnJldHVyblR5cGVcXG4tIG9wZXJhdGlvbjIocGFyYW1zKVxcbi0gb3BlcmF0aW9uMygpJyxcbiAgICAgICAgICAgIGFsaWduOiBBbGlnbm1lbnQubGVmdFxuICAgICAgICB9XG4gICAgXVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRCYXNpY1NoYXBlUHJvcGVydHlNYXA6IFJlY29yZDxzdHJpbmcsIHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfT4gPSB7XG4gICAgW0Jhc2ljU2hhcGVzLnBlbnRhZ29uQXJyb3ddOiBEZWZhdWx0UGVudGFnb25BcnJvd1Byb3BlcnR5LFxuICAgIFtCYXNpY1NoYXBlcy5wcm9jZXNzQXJyb3ddOiBEZWZhdWx0UGVudGFnb25BcnJvd1Byb3BlcnR5LFxuICAgIFtCYXNpY1NoYXBlcy5jbG91ZF06IERlZmF1bHRDbG91ZFByb3BlcnR5LFxuICAgIFtCYXNpY1NoYXBlcy50d29XYXlBcnJvd106IERlZmF1bHRUd29XYXlBcnJvd1Byb3BlcnR5LFxuICAgIFtCYXNpY1NoYXBlcy5sZWZ0QXJyb3ddOiBEZWZhdWx0QXJyb3dQcm9wZXJ0eSxcbiAgICBbQmFzaWNTaGFwZXMucmlnaHRBcnJvd106IERlZmF1bHRBcnJvd1Byb3BlcnR5XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdEZsb3djaGFydFByb3BlcnR5TWFwID0ge1xuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmNvbm5lY3Rvcl06IERlZmF1bHRDb25uZWN0b3JQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5wcm9jZXNzXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRlY2lzaW9uXTogRGVmYXVsdERlY2lzaW9uUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGF0YV06IERlZmF1bHREYXRhUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMudGVybWluYWxdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMubWFudWFsSW5wdXRdOiBEZWZhdWx0TWFudWFsSW5wdXRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5wcmVwYXJhdGlvbl06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5tYW51YWxMb29wXTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm1lcmdlXTogRGVmYXVsdE1lcmdlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuZGVsYXldOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuc3RvcmVkRGF0YV06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5vcl06IERlZmF1bHRDb25uZWN0b3JQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5zdW1taW5nSnVuY3Rpb25dOiBEZWZhdWx0Q29ubmVjdG9yUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMucHJlZGVmaW5lZFByb2Nlc3NdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMub2ZmUGFnZV06IERlZmF1bHRGbG93Y2hhcnRQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kb2N1bWVudF06IERlZmF1bHREb2N1bWVudFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm11bHRpRG9jdW1lbnRdOiBEZWZhdWx0TXVsdGlEb2N1bWVudFByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLmRhdGFiYXNlXTogRGVmYXVsdERhdGFCYXNlUHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuaGFyZERpc2tdOiBEZWZhdWx0Rmxvd2NoYXJ0UHJvcGVydHksXG4gICAgW0Zsb3djaGFydFN5bWJvbHMuaW50ZXJuYWxTdG9yYWdlXTogRGVmYXVsdEludGVybmFsU3RvcmFnZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm5vdGVDdXJseUxlZnRdOiBEZWZhdWx0Tm90ZVByb3BlcnR5LFxuICAgIFtGbG93Y2hhcnRTeW1ib2xzLm5vdGVDdXJseVJpZ2h0XTogRGVmYXVsdE5vdGVQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5ub3RlU3F1YXJlXTogRGVmYXVsdE5vdGVQcm9wZXJ0eSxcbiAgICBbRmxvd2NoYXJ0U3ltYm9scy5kaXNwbGF5XTogRGVmYXVsdEZsb3djaGFydFByb3BlcnR5XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFVNTFByb3BlcnR5TWFwID0ge1xuICAgIFtVTUxTeW1ib2xzLmFjdG9yXTogRGVmYXVsdEFjdG9yUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMudXNlQ2FzZV06IERlZmF1bHREb2N1bWVudFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmNvbnRhaW5lcl06IERlZmF1bHRDb250YWluZXJQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5ub3RlXTogRGVmYXVsdE9iamVjdFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnBhY2thZ2VdOiBEZWZhdWx0UGFja2FnZVByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmNvbWJpbmVkRnJhZ21lbnRdOiBEZWZhdWx0Q29tYmluZWRGcmFnbWVudFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmNsYXNzXTogRGVmYXVsdENsYXNzUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuaW50ZXJmYWNlXTogRGVmYXVsdEludGVyZmFjZVByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmFjdGl2YXRpb25dOiBEZWZhdWx0QWN0aXZhdGlvblByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLm9iamVjdF06IERlZmF1bHRPYmplY3RQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5kZWxldGlvbl06IERlZmF1bHREZWxldGlvblByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmFjdGl2aXR5Q2xhc3NdOiBEZWZhdWx0T2JqZWN0UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuc2ltcGxlQ2xhc3NdOiBEZWZhdWx0T2JqZWN0UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY29tcG9uZW50XTogRGVmYXVsdE11bHRpRG9jdW1lbnRQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy50ZW1wbGF0ZV06IERlZmF1bHRNdWx0aURvY3VtZW50UHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuY29tcG9uZW50Qm94XTogRGVmYXVsdENvbXBvbmVudEJveFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnBvcnRdOiBEZWZhdWx0UG9ydFByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLmJyYW5jaE1lcmdlXTogRGVmYXVsdERlbGV0aW9uUHJvcGVydHksXG4gICAgW1VNTFN5bWJvbHMuYXNzZW1ibHldOiBEZWZhdWx0QXNzZW1ibHlQcm9wZXJ0eSxcbiAgICBbVU1MU3ltYm9scy5wcm92aWRlZEludGVyZmFjZV06IERlZmF1bHRQcm92aWRlZEludGVyZmFjZVByb3BlcnR5LFxuICAgIFtVTUxTeW1ib2xzLnJlcXVpcmVkSW50ZXJmYWNlXTogRGVmYXVsdFJlcXVpcmVkSW50ZXJmYWNlUHJvcGVydHlcbn07XG5cbmV4cG9ydCBjb25zdCBNdWx0aXBsZVRleHRHZW9tZXRyeVRleHRLZXlzOiB7IFtrZXkgaW4gR2VvbWV0cnlTaGFwZXNdPzogc3RyaW5nW10gfSA9IHtcbiAgICBbVU1MU3ltYm9scy5wYWNrYWdlXTogT2JqZWN0LmtleXMoR2VvbWV0cnlDb21tb25UZXh0S2V5cyksXG4gICAgW1VNTFN5bWJvbHMuY29tYmluZWRGcmFnbWVudF06IE9iamVjdC5rZXlzKEdlb21ldHJ5Q29tbW9uVGV4dEtleXMpXG59O1xuXG5leHBvcnQgY29uc3QgTElORV9ISVRfR0VPTUVUUllfQlVGRkVSID0gMTA7XG5cbmV4cG9ydCBjb25zdCBMSU5FX1NOQVBQSU5HX0JVRkZFUiA9IDY7XG5cbmV4cG9ydCBjb25zdCBMSU5FX1NOQVBQSU5HX0NPTk5FQ1RPUl9CVUZGRVIgPSA4O1xuXG5leHBvcnQgY29uc3QgR0VPTUVUUllfV0lUSE9VVF9URVhUID0gW1xuICAgIEZsb3djaGFydFN5bWJvbHMub3IsXG4gICAgRmxvd2NoYXJ0U3ltYm9scy5zdW1taW5nSnVuY3Rpb24sXG4gICAgVU1MU3ltYm9scy5hY3RpdmF0aW9uLFxuICAgIFVNTFN5bWJvbHMuZGVsZXRpb24sXG4gICAgVU1MU3ltYm9scy5wb3J0LFxuICAgIFVNTFN5bWJvbHMuYnJhbmNoTWVyZ2UsXG4gICAgVU1MU3ltYm9scy5hc3NlbWJseSxcbiAgICBVTUxTeW1ib2xzLnByb3ZpZGVkSW50ZXJmYWNlLFxuICAgIFVNTFN5bWJvbHMucmVxdWlyZWRJbnRlcmZhY2Vcbl0gYXMgR2VvbWV0cnlTaGFwZXNbXTtcblxuZXhwb3J0IGNvbnN0IEdFT01FVFJZX1dJVEhfTVVMVElQTEVfVEVYVCA9IFtVTUxTeW1ib2xzLnBhY2thZ2UsIFVNTFN5bWJvbHMuY29tYmluZWRGcmFnbWVudF07XG5cbmV4cG9ydCBjb25zdCBHRU9NRVRSWV9OT1RfQ0xPU0VEID0gW1xuICAgIEZsb3djaGFydFN5bWJvbHMubm90ZUN1cmx5TGVmdCxcbiAgICBGbG93Y2hhcnRTeW1ib2xzLm5vdGVDdXJseVJpZ2h0LFxuICAgIEZsb3djaGFydFN5bWJvbHMubm90ZVNxdWFyZSxcbiAgICBVTUxTeW1ib2xzLnJlcXVpcmVkSW50ZXJmYWNlLFxuICAgIFVNTFN5bWJvbHMuZGVsZXRpb25cbl0gYXMgR2VvbWV0cnlTaGFwZXNbXTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export const DEFAULT_IMAGE_WIDTH = 1000;
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvaW1hZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERFRkFVTFRfSU1BR0VfV0lEVEggPSAxMDAwO1xuIl19
@@ -1,9 +0,0 @@
1
- export * from './default';
2
- export * from './geometry';
3
- export * from './pointer';
4
- export * from './image';
5
- export * from './theme';
6
- export * from './swimlane';
7
- export * from './text';
8
- export * from './line';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RlZmF1bHQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW9tZXRyeSc7XG5leHBvcnQgKiBmcm9tICcuL3BvaW50ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3RoZW1lJztcbmV4cG9ydCAqIGZyb20gJy4vc3dpbWxhbmUnO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGluZSc7Il19
@@ -1,12 +0,0 @@
1
- export const DefaultLineStyle = {
2
- strokeWidth: 2,
3
- strokeColor: '#000'
4
- };
5
- export const LINE_TEXT_SPACE = 4;
6
- export const LINE_AUTO_COMPLETE_DIAMETER = 6;
7
- export const LINE_AUTO_COMPLETE_OPACITY = 0.6;
8
- export const LINE_AUTO_COMPLETE_HOVERED_OPACITY = 0.8;
9
- export const LINE_AUTO_COMPLETE_HOVERED_DIAMETER = 10;
10
- export const LINE_ALIGN_TOLERANCE = 3;
11
- export const LINE_TEXT = '文本';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2NvbnN0YW50cy9saW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLFdBQVcsRUFBRSxDQUFDO0lBQ2QsV0FBVyxFQUFFLE1BQU07Q0FDdEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUM7QUFFakMsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsQ0FBQyxDQUFDO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLEdBQUcsQ0FBQztBQUU5QyxNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxHQUFHLENBQUM7QUFFdEQsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsRUFBRSxDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IERlZmF1bHRMaW5lU3R5bGUgPSB7XG4gICAgc3Ryb2tlV2lkdGg6IDIsXG4gICAgc3Ryb2tlQ29sb3I6ICcjMDAwJ1xufTtcblxuZXhwb3J0IGNvbnN0IExJTkVfVEVYVF9TUEFDRSA9IDQ7XG5cbmV4cG9ydCBjb25zdCBMSU5FX0FVVE9fQ09NUExFVEVfRElBTUVURVIgPSA2O1xuXG5leHBvcnQgY29uc3QgTElORV9BVVRPX0NPTVBMRVRFX09QQUNJVFkgPSAwLjY7XG5cbmV4cG9ydCBjb25zdCBMSU5FX0FVVE9fQ09NUExFVEVfSE9WRVJFRF9PUEFDSVRZID0gMC44O1xuXG5leHBvcnQgY29uc3QgTElORV9BVVRPX0NPTVBMRVRFX0hPVkVSRURfRElBTUVURVIgPSAxMDtcblxuZXhwb3J0IGNvbnN0IExJTkVfQUxJR05fVE9MRVJBTkNFID0gMztcblxuZXhwb3J0IGNvbnN0IExJTkVfVEVYVCA9ICfmlofmnKwnO1xuIl19
@@ -1,23 +0,0 @@
1
- import { BasicShapes, FlowchartSymbols, ArrowLineShape, SwimlaneDrawSymbols, UMLSymbols, VectorLinePointerType } from '../interfaces';
2
- export const getGeometryPointers = () => {
3
- return [...Object.keys(BasicShapes), ...Object.keys(FlowchartSymbols), ...Object.keys(UMLSymbols)];
4
- };
5
- export const getSwimlanePointers = () => {
6
- return Object.keys(SwimlaneDrawSymbols);
7
- };
8
- export const getBasicPointers = () => {
9
- return Object.keys(BasicShapes);
10
- };
11
- export const getFlowchartPointers = () => {
12
- return Object.keys(FlowchartSymbols);
13
- };
14
- export const getUMLPointers = () => {
15
- return Object.keys(UMLSymbols);
16
- };
17
- export const getArrowLinePointers = () => {
18
- return Object.keys(ArrowLineShape);
19
- };
20
- export const getVectorLinePointers = () => {
21
- return Object.keys(VectorLinePointerType);
22
- };
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2NvbnN0YW50cy9wb2ludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxtQkFBbUIsRUFFbkIsVUFBVSxFQUNWLHFCQUFxQixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQVd2QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7SUFDcEMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUN2RyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7SUFDcEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxFQUFFO0lBQ2pDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUU7SUFDckMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRTtJQUMvQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFO0lBQ3JDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLEVBQUU7SUFDdEMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBCYXNpY1NoYXBlcyxcbiAgICBGbG93Y2hhcnRTeW1ib2xzLFxuICAgIEFycm93TGluZVNoYXBlLFxuICAgIFN3aW1sYW5lRHJhd1N5bWJvbHMsXG4gICAgVGFibGVTeW1ib2xzLFxuICAgIFVNTFN5bWJvbHMsXG4gICAgVmVjdG9yTGluZVBvaW50ZXJUeXBlXG59IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgdHlwZSBEcmF3UG9pbnRlclR5cGUgPVxuICAgIHwgQmFzaWNTaGFwZXNcbiAgICB8IEFycm93TGluZVNoYXBlXG4gICAgfCBGbG93Y2hhcnRTeW1ib2xzXG4gICAgfCBTd2ltbGFuZURyYXdTeW1ib2xzXG4gICAgfCBUYWJsZVN5bWJvbHNcbiAgICB8IFVNTFN5bWJvbHNcbiAgICB8IFZlY3RvckxpbmVQb2ludGVyVHlwZTtcblxuZXhwb3J0IGNvbnN0IGdldEdlb21ldHJ5UG9pbnRlcnMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIFsuLi5PYmplY3Qua2V5cyhCYXNpY1NoYXBlcyksIC4uLk9iamVjdC5rZXlzKEZsb3djaGFydFN5bWJvbHMpLCAuLi5PYmplY3Qua2V5cyhVTUxTeW1ib2xzKV07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U3dpbWxhbmVQb2ludGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoU3dpbWxhbmVEcmF3U3ltYm9scyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QmFzaWNQb2ludGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoQmFzaWNTaGFwZXMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZsb3djaGFydFBvaW50ZXJzID0gKCkgPT4ge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhGbG93Y2hhcnRTeW1ib2xzKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVTUxQb2ludGVycyA9ICgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoVU1MU3ltYm9scyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXJyb3dMaW5lUG9pbnRlcnMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKEFycm93TGluZVNoYXBlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRWZWN0b3JMaW5lUG9pbnRlcnMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKFZlY3RvckxpbmVQb2ludGVyVHlwZSk7XG59O1xuIl19
@@ -1,25 +0,0 @@
1
- import { SwimlaneDrawSymbols } from '../interfaces/swimlane';
2
- export const SWIMLANE_HEADER_SIZE = 42;
3
- export const DefaultSwimlaneVerticalWithHeaderProperty = {
4
- width: 580,
5
- height: 524
6
- };
7
- export const DefaultSwimlaneHorizontalWithHeaderProperty = {
8
- width: 524,
9
- height: 580
10
- };
11
- export const DefaultSwimlaneVerticalProperty = {
12
- width: 580,
13
- height: 524
14
- };
15
- export const DefaultSwimlaneHorizontalProperty = {
16
- width: 524,
17
- height: 580
18
- };
19
- export const DefaultSwimlanePropertyMap = {
20
- [SwimlaneDrawSymbols.swimlaneHorizontal]: DefaultSwimlaneHorizontalProperty,
21
- [SwimlaneDrawSymbols.swimlaneVertical]: DefaultSwimlaneVerticalProperty,
22
- [SwimlaneDrawSymbols.swimlaneHorizontalWithHeader]: DefaultSwimlaneHorizontalWithHeaderProperty,
23
- [SwimlaneDrawSymbols.swimlaneVerticalWithHeader]: DefaultSwimlaneVerticalWithHeaderProperty
24
- };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpbWxhbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvc3dpbWxhbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLHlDQUF5QyxHQUFHO0lBQ3JELEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7Q0FDZCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkNBQTJDLEdBQUc7SUFDdkQsS0FBSyxFQUFFLEdBQUc7SUFDVixNQUFNLEVBQUUsR0FBRztDQUNkLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUMzQyxLQUFLLEVBQUUsR0FBRztJQUNWLE1BQU0sRUFBRSxHQUFHO0NBQ2QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHO0lBQzdDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7Q0FDZCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQXNEO0lBQ3pGLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsRUFBRSxpQ0FBaUM7SUFDM0UsQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLCtCQUErQjtJQUN2RSxDQUFDLG1CQUFtQixDQUFDLDRCQUE0QixDQUFDLEVBQUUsMkNBQTJDO0lBQy9GLENBQUMsbUJBQW1CLENBQUMsMEJBQTBCLENBQUMsRUFBRSx5Q0FBeUM7Q0FDOUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN3aW1sYW5lRHJhd1N5bWJvbHMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3N3aW1sYW5lJztcblxuZXhwb3J0IGNvbnN0IFNXSU1MQU5FX0hFQURFUl9TSVpFID0gNDI7XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0U3dpbWxhbmVWZXJ0aWNhbFdpdGhIZWFkZXJQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogNTgwLFxuICAgIGhlaWdodDogNTI0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFN3aW1sYW5lSG9yaXpvbnRhbFdpdGhIZWFkZXJQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogNTI0LFxuICAgIGhlaWdodDogNTgwXG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFN3aW1sYW5lVmVydGljYWxQcm9wZXJ0eSA9IHtcbiAgICB3aWR0aDogNTgwLFxuICAgIGhlaWdodDogNTI0XG59O1xuXG5leHBvcnQgY29uc3QgRGVmYXVsdFN3aW1sYW5lSG9yaXpvbnRhbFByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiA1MjQsXG4gICAgaGVpZ2h0OiA1ODBcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0U3dpbWxhbmVQcm9wZXJ0eU1hcDogUmVjb3JkPHN0cmluZywgeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlciB9PiA9IHtcbiAgICBbU3dpbWxhbmVEcmF3U3ltYm9scy5zd2ltbGFuZUhvcml6b250YWxdOiBEZWZhdWx0U3dpbWxhbmVIb3Jpem9udGFsUHJvcGVydHksXG4gICAgW1N3aW1sYW5lRHJhd1N5bWJvbHMuc3dpbWxhbmVWZXJ0aWNhbF06IERlZmF1bHRTd2ltbGFuZVZlcnRpY2FsUHJvcGVydHksXG4gICAgW1N3aW1sYW5lRHJhd1N5bWJvbHMuc3dpbWxhbmVIb3Jpem9udGFsV2l0aEhlYWRlcl06IERlZmF1bHRTd2ltbGFuZUhvcml6b250YWxXaXRoSGVhZGVyUHJvcGVydHksXG4gICAgW1N3aW1sYW5lRHJhd1N5bWJvbHMuc3dpbWxhbmVWZXJ0aWNhbFdpdGhIZWFkZXJdOiBEZWZhdWx0U3dpbWxhbmVWZXJ0aWNhbFdpdGhIZWFkZXJQcm9wZXJ0eVxufTtcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export const MIN_TEXT_WIDTH = 5;
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2NvbnN0YW50cy90ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgTUlOX1RFWFRfV0lEVEggPSA1O1xuIl19