@plait/core 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 (108) hide show
  1. package/fesm2022/plait-core.mjs.map +1 -1
  2. package/package.json +1 -3
  3. package/esm2022/constants/cursor.mjs +0 -13
  4. package/esm2022/constants/index.mjs +0 -20
  5. package/esm2022/constants/keycodes.mjs +0 -127
  6. package/esm2022/constants/selection.mjs +0 -6
  7. package/esm2022/constants/zoom.mjs +0 -4
  8. package/esm2022/context.mjs +0 -23
  9. package/esm2022/core/element/context-change.mjs +0 -13
  10. package/esm2022/core/element/context.mjs +0 -2
  11. package/esm2022/core/element/element-flavour.mjs +0 -140
  12. package/esm2022/core/element/element-ref.mjs +0 -2
  13. package/esm2022/core/list-render.mjs +0 -217
  14. package/esm2022/differs/default_iterable_differ.mjs +0 -614
  15. package/esm2022/differs/iterable_differs.mjs +0 -9
  16. package/esm2022/interfaces/board.mjs +0 -108
  17. package/esm2022/interfaces/custom-types.mjs +0 -5
  18. package/esm2022/interfaces/direction.mjs +0 -8
  19. package/esm2022/interfaces/element.mjs +0 -43
  20. package/esm2022/interfaces/group.mjs +0 -6
  21. package/esm2022/interfaces/history.mjs +0 -5
  22. package/esm2022/interfaces/index.mjs +0 -19
  23. package/esm2022/interfaces/node.mjs +0 -57
  24. package/esm2022/interfaces/operation.mjs +0 -96
  25. package/esm2022/interfaces/path-ref.mjs +0 -15
  26. package/esm2022/interfaces/path.mjs +0 -183
  27. package/esm2022/interfaces/plugin.mjs +0 -6
  28. package/esm2022/interfaces/point.mjs +0 -27
  29. package/esm2022/interfaces/pointer.mjs +0 -6
  30. package/esm2022/interfaces/rectangle-client.mjs +0 -171
  31. package/esm2022/interfaces/selection.mjs +0 -13
  32. package/esm2022/interfaces/svg-arc-command.mjs +0 -2
  33. package/esm2022/interfaces/theme.mjs +0 -49
  34. package/esm2022/interfaces/viewport.mjs +0 -7
  35. package/esm2022/plait-core.mjs +0 -5
  36. package/esm2022/plugins/create-board.mjs +0 -122
  37. package/esm2022/plugins/index.mjs +0 -11
  38. package/esm2022/plugins/with-board.mjs +0 -20
  39. package/esm2022/plugins/with-hand.mjs +0 -113
  40. package/esm2022/plugins/with-history.mjs +0 -91
  41. package/esm2022/plugins/with-hotkey.mjs +0 -96
  42. package/esm2022/plugins/with-i18n.mjs +0 -13
  43. package/esm2022/plugins/with-moving.mjs +0 -282
  44. package/esm2022/plugins/with-options.mjs +0 -13
  45. package/esm2022/plugins/with-related-fragment.mjs +0 -23
  46. package/esm2022/plugins/with-selection.mjs +0 -230
  47. package/esm2022/public-api.mjs +0 -16
  48. package/esm2022/testing/core/create-board.mjs +0 -15
  49. package/esm2022/testing/core/fake-weak-map.mjs +0 -18
  50. package/esm2022/testing/core/index.mjs +0 -3
  51. package/esm2022/testing/fake-events/event-objects.mjs +0 -131
  52. package/esm2022/testing/fake-events/index.mjs +0 -2
  53. package/esm2022/testing/index.mjs +0 -3
  54. package/esm2022/testing/test-element.mjs +0 -9
  55. package/esm2022/transforms/board.mjs +0 -137
  56. package/esm2022/transforms/element.mjs +0 -22
  57. package/esm2022/transforms/general.mjs +0 -146
  58. package/esm2022/transforms/group.mjs +0 -64
  59. package/esm2022/transforms/index.mjs +0 -17
  60. package/esm2022/transforms/node.mjs +0 -37
  61. package/esm2022/transforms/selection.mjs +0 -26
  62. package/esm2022/transforms/theme.mjs +0 -8
  63. package/esm2022/transforms/viewport.mjs +0 -8
  64. package/esm2022/transforms/z-index.mjs +0 -20
  65. package/esm2022/utils/angle.mjs +0 -164
  66. package/esm2022/utils/board.mjs +0 -18
  67. package/esm2022/utils/clipboard/clipboard.mjs +0 -40
  68. package/esm2022/utils/clipboard/common.mjs +0 -82
  69. package/esm2022/utils/clipboard/data-transfer.mjs +0 -33
  70. package/esm2022/utils/clipboard/index.mjs +0 -3
  71. package/esm2022/utils/clipboard/navigator-clipboard.mjs +0 -71
  72. package/esm2022/utils/clipboard/types.mjs +0 -13
  73. package/esm2022/utils/common.mjs +0 -79
  74. package/esm2022/utils/debug.mjs +0 -91
  75. package/esm2022/utils/dnd.mjs +0 -8
  76. package/esm2022/utils/dom/common.mjs +0 -75
  77. package/esm2022/utils/dom/environment.mjs +0 -2
  78. package/esm2022/utils/dom/foreign.mjs +0 -26
  79. package/esm2022/utils/dom/index.mjs +0 -4
  80. package/esm2022/utils/drawing/arrow.mjs +0 -23
  81. package/esm2022/utils/drawing/circle.mjs +0 -4
  82. package/esm2022/utils/drawing/line.mjs +0 -47
  83. package/esm2022/utils/drawing/rectangle.mjs +0 -36
  84. package/esm2022/utils/element.mjs +0 -90
  85. package/esm2022/utils/environment.mjs +0 -14
  86. package/esm2022/utils/fragment.mjs +0 -27
  87. package/esm2022/utils/group.mjs +0 -239
  88. package/esm2022/utils/helper.mjs +0 -68
  89. package/esm2022/utils/history.mjs +0 -96
  90. package/esm2022/utils/hotkeys.mjs +0 -109
  91. package/esm2022/utils/id-creator.mjs +0 -11
  92. package/esm2022/utils/index.mjs +0 -35
  93. package/esm2022/utils/iterable.mjs +0 -32
  94. package/esm2022/utils/math.mjs +0 -480
  95. package/esm2022/utils/mobile.mjs +0 -6
  96. package/esm2022/utils/moving-element.mjs +0 -17
  97. package/esm2022/utils/pointer.mjs +0 -13
  98. package/esm2022/utils/position.mjs +0 -9
  99. package/esm2022/utils/selected-element.mjs +0 -145
  100. package/esm2022/utils/selection.mjs +0 -151
  101. package/esm2022/utils/snap/snap-moving.mjs +0 -199
  102. package/esm2022/utils/snap/snap.mjs +0 -211
  103. package/esm2022/utils/to-image.mjs +0 -204
  104. package/esm2022/utils/to-point.mjs +0 -74
  105. package/esm2022/utils/tree.mjs +0 -22
  106. package/esm2022/utils/viewport.mjs +0 -227
  107. package/esm2022/utils/weak-maps.mjs +0 -27
  108. package/esm2022/utils/z-index.mjs +0 -166
@@ -1,91 +0,0 @@
1
- import { PlaitBoard, RectangleClient } from '../interfaces';
2
- const TEMPORARY_G = new Map();
3
- const getTemporaryGArray = (debugKey) => {
4
- return TEMPORARY_G.get(debugKey) || [];
5
- };
6
- const setTemporaryGArray = (debugKey, gArray) => {
7
- TEMPORARY_G.set(debugKey, gArray);
8
- };
9
- export class DebugGenerator {
10
- constructor(debugKey) {
11
- this.debugKey = debugKey;
12
- }
13
- isDebug() {
14
- return isDebug(this.debugKey);
15
- }
16
- clear() {
17
- if (!this.isDebug()) {
18
- return;
19
- }
20
- const gArray = getTemporaryGArray(this.debugKey);
21
- setTemporaryGArray(this.debugKey, []);
22
- gArray.forEach((g) => g.remove());
23
- }
24
- drawPolygon(board, points, options) {
25
- if (!isDebug(this.debugKey)) {
26
- return;
27
- }
28
- const polygonG = PlaitBoard.getRoughSVG(board).polygon(points, options || { stroke: 'red' });
29
- polygonG.classList.add(this.debugKey);
30
- PlaitBoard.getElementTopHost(board).append(polygonG);
31
- const gArray = getTemporaryGArray(this.debugKey);
32
- gArray.push(polygonG);
33
- setTemporaryGArray(this.debugKey, gArray);
34
- return polygonG;
35
- }
36
- drawLine(board, points, options) {
37
- if (!isDebug(this.debugKey)) {
38
- return;
39
- }
40
- const lineG = PlaitBoard.getRoughSVG(board).linearPath(points, options || { stroke: 'red' });
41
- lineG.classList.add(this.debugKey);
42
- PlaitBoard.getElementTopHost(board).append(lineG);
43
- const gArray = getTemporaryGArray(this.debugKey);
44
- gArray.push(lineG);
45
- setTemporaryGArray(this.debugKey, gArray);
46
- return lineG;
47
- }
48
- drawRectangle(board, data, options) {
49
- if (!isDebug(this.debugKey)) {
50
- return;
51
- }
52
- let rectangle;
53
- if (data instanceof Array) {
54
- rectangle = RectangleClient.getRectangleByPoints(data);
55
- }
56
- else {
57
- rectangle = data;
58
- }
59
- const rectangleG = PlaitBoard.getRoughSVG(board).rectangle(rectangle.x, rectangle.y, rectangle.width, rectangle.height, options || { stroke: 'red' });
60
- rectangleG.classList.add(this.debugKey);
61
- PlaitBoard.getElementTopHost(board).append(rectangleG);
62
- const gArray = getTemporaryGArray(this.debugKey);
63
- gArray.push(rectangleG);
64
- setTemporaryGArray(this.debugKey, gArray);
65
- return rectangleG;
66
- }
67
- drawCircles(board, points, diameter = 0, isCumulativeDiameter = false, options) {
68
- if (!isDebug(this.debugKey)) {
69
- return;
70
- }
71
- const result = [];
72
- points.forEach((p, i) => {
73
- const circle = PlaitBoard.getRoughSVG(board).circle(p[0], p[1], isCumulativeDiameter ? diameter * (i + 1) : diameter, Object.assign({}, { stroke: 'red', fill: 'red', fillStyle: 'solid' }, options || {}));
74
- circle.classList.add(this.debugKey);
75
- PlaitBoard.getElementTopHost(board).append(circle);
76
- const gArray = getTemporaryGArray(this.debugKey);
77
- gArray.push(circle);
78
- result.push(circle);
79
- setTemporaryGArray(this.debugKey, gArray);
80
- });
81
- return result;
82
- }
83
- }
84
- export const createDebugGenerator = (debugKey) => {
85
- return new DebugGenerator(debugKey);
86
- };
87
- export const isDebug = (key) => {
88
- const defaultKey = 'debug:plait';
89
- return localStorage.getItem(key || defaultKey) === 'true';
90
- };
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9kZWJ1Zy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFTLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRSxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBRTlCLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxRQUFnQixFQUFpQixFQUFFO0lBQzNELE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsTUFBcUIsRUFBRSxFQUFFO0lBQ25FLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3RDLENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFlBQW9CLFFBQWdCO1FBQWhCLGFBQVEsR0FBUixRQUFRLENBQVE7SUFBRyxDQUFDO0lBQ3hDLE9BQU87UUFDSCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELEtBQUs7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNYLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsV0FBVyxDQUFDLEtBQWlCLEVB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LENBQUMsQ0FBQztZQUNwQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKO0FBRUQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDckQsT0FBTyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFZLEVBQUUsRUFBRTtJQUNwQyxNQUFNLFVBQVUsR0FBRyxhQUFhLENBQUM7SUFDakMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBSyxNQUFNLENBQUM7QUFDOUQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9ucyB9IGZyb20gJ3JvdWdoanMvYmluL2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5jb25zdCBURU1QT1JBUllfRyA9IG5ldyBNYXAoKTtcblxuY29uc3QgZ2V0VGVtcG9yYXJ5R0FycmF5ID0gKGRlYnVnS2V5OiBzdHJpbmcpOiBTVkdHRWxlbWVudFtdID0+IHtcbiAgICByZXR1cm4gVEVNUE9SQVJZX0cuZ2V0KGRlYnVnS2V5KSB8fCBbXTtcbn07XG5cbmNvbnN0IHNldFRlbXBvcmFyeUdBcnJheSA9IChkZWJ1Z0tleTogc3RyaW5nLCBnQXJyYXk6IFNWR0dFbGVtZW50W10pID0+IHtcbiAgICBURU1QT1JBUllfRy5zZXQoZGVidWdLZXksIGdBcnJheSk7XG59O1xuXG5leHBvcnQgY2xhc3MgRGVidWdHZW5lcmF0b3Ige1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGVidWdLZXk6IHN0cmluZykge31cbiAgICBpc0RlYnVnKCkge1xuICAgICAgICByZXR1cm4gaXNEZWJ1Zyh0aGlzLmRlYnVnS2V5KTtcbiAgICB9XG4gICAgY2xlYXIoKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0RlYnVnKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBnQXJyYXkgPSBnZXRUZW1wb3JhcnlHQXJyYXkodGhpcy5kZWJ1Z0tleSk7XG4gICAgICAgIHNldFRlbXBvcmFyeUdBcnJheSh0aGlzLmRlYnVnS2V5LCBbXSk7XG4gICAgICAgIGdBcnJheS5mb3JFYWNoKChnKSA9PiBnLnJlbW92ZSgpKTtcbiAgICB9XG4gICAgZHJhd1BvbHlnb24oYm9hcmQ6IFBsYWl0Qm9hcmQsIHBvaW50czogUG9pbnRbXSwgb3B0aW9ucz86IE9wdGlvbnMpIHtcbiAgICAgICAgaWYgKCFpc0RlYnVnKHRoaXMuZGVidWdLZXkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcG9seWdvbkcgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKS5wb2x5Z29uKHBvaW50cywgb3B0aW9ucyB8fCB7IHN0cm9rZTogJ3JlZCcgfSk7XG4gICAgICAgIHBvbHlnb25HLmNsYXNzTGlzdC5hZGQodGhpcy5kZWJ1Z0tleSk7XG4gICAgICAgIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudFRvcEhvc3QoYm9hcmQpLmFwcGVuZChwb2x5Z29uRyk7XG4gICAgICAgIGNvbnN0IGdBcnJheSA9IGdldFRlbXBvcmFyeUdBcnJheSh0aGlzLmRlYnVnS2V5KTtcbiAgICAgICAgZ0FycmF5LnB1c2gocG9seWdvbkcpO1xuICAgICAgICBzZXRUZW1wb3JhcnlHQXJyYXkodGhpcy5kZWJ1Z0tleSwgZ0FycmF5KTtcbiAgICAgICAgcmV0dXJuIHBvbHlnb25HO1xuICAgIH1cbiAgICBkcmF3TGluZShib2FyZDogUGxhaXRCb2FyZCwgcG9pbnRzOiBQb2ludFtdLCBvcHRpb25zPzogT3B0aW9ucykge1xuICAgICAgICBpZiAoIWlzRGVidWcodGhpcy5kZWJ1Z0tleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsaW5lRyA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLmxpbmVhclBhdGgocG9pbnRzLCBvcHRpb25zIHx8IHsgc3Ryb2tlOiAncmVkJyB9KTtcbiAgICAgICAgbGluZUcuY2xhc3NMaXN0LmFkZCh0aGlzLmRlYnVnS2V5KTtcbiAgICAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50VG9wSG9zdChib2FyZCkuYXBwZW5kKGxpbmVHKTtcbiAgICAgICAgY29uc3QgZ0FycmF5ID0gZ2V0VGVtcG9yYXJ5R0FycmF5KHRoaXMuZGVidWdLZXkpO1xuICAgICAgICBnQXJyYXkucHVzaChsaW5lRyk7XG4gICAgICAgIHNldFRlbXBvcmFyeUdBcnJheSh0aGlzLmRlYnVnS2V5LCBnQXJyYXkpO1xuICAgICAgICByZXR1cm4gbGluZUc7XG4gICAgfVxuICAgIGRyYXdSZWN0YW5nbGUoYm9hcmQ6IFBsYWl0Qm9hcmQsIGRhdGE6IFBvaW50W10gfCBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM/OiBPcHRpb25zKSB7XG4gICAgICAgIGlmICghaXNEZWJ1Zyh0aGlzLmRlYnVnS2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCByZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudDtcbiAgICAgICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBBcnJheSkge1xuICAgICAgICAgICAgcmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGRhdGEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVjdGFuZ2xlID0gZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZWN0YW5nbGVHID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyhib2FyZCkucmVjdGFuZ2xlKFxuICAgICAgICAgICAgcmVjdGFuZ2xlLngsXG4gICAgICAgICAgICByZWN0YW5nbGUueSxcbiAgICAgICAgICAgIHJlY3RhbmdsZS53aWR0aCxcbiAgICAgICAgICAgIHJlY3RhbmdsZS5oZWlnaHQsXG4gICAgICAgICAgICBvcHRpb25zIHx8IHsgc3Ryb2tlOiAncmVkJyB9XG4gICAgICAgICk7XG4gICAgICAgIHJlY3RhbmdsZUcuY2xhc3NMaXN0LmFkZCh0aGlzLmRlYnVnS2V5KTtcbiAgICAgICAgUGxhaXRCb2FyZC5nZXRFbGVtZW50VG9wSG9zdChib2FyZCkuYXBwZW5kKHJlY3RhbmdsZUcpO1xuICAgICAgICBjb25zdCBnQXJyYXkgPSBnZXRUZW1wb3JhcnlHQXJyYXkodGhpcy5kZWJ1Z0tleSk7XG4gICAgICAgIGdBcnJheS5wdXNoKHJlY3RhbmdsZUcpO1xuICAgICAgICBzZXRUZW1wb3JhcnlHQXJyYXkodGhpcy5kZWJ1Z0tleSwgZ0FycmF5KTtcbiAgICAgICAgcmV0dXJuIHJlY3RhbmdsZUc7XG4gICAgfVxuICAgIGRyYXdDaXJjbGVzKGJvYXJkOiBQbGFpdEJvYXJkLCBwb2ludHM6IFBvaW50W10sIGRpYW1ldGVyOiBudW1iZXIgPSAwLCBpc0N1bXVsYXRpdmVEaWFtZXRlcjogYm9vbGVhbiA9IGZhbHNlLCBvcHRpb25zPzogT3B0aW9ucykge1xuICAgICAgICBpZiAoIWlzRGVidWcodGhpcy5kZWJ1Z0tleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXN1bHQ6IFNWR0dFbGVtZW50W10gPSBbXTtcbiAgICAgICAgcG9pbnRzLmZvckVhY2goKHAsIGkpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNpcmNsZSA9IFBsYWl0Qm9hcmQuZ2V0Um91Z2hTVkcoYm9hcmQpLmNpcmNsZShcbiAgICAgICAgICAgICAgICBwWzBdLFxuICAgICAgICAgICAgICAgIHBbMV0sXG4gICAgICAgICAgICAgICAgaXNDdW11bGF0aXZlRGlhbWV0ZXIgPyBkaWFtZXRlciAqIChpICsgMSkgOiBkaWFtZXRlcixcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHt9LCB7IHN0cm9rZTogJ3JlZCcsIGZpbGw6ICdyZWQnLCBmaWxsU3R5bGU6ICdzb2xpZCcgfSwgb3B0aW9ucyB8fCB7fSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjaXJjbGUuY2xhc3NMaXN0LmFkZCh0aGlzLmRlYnVnS2V5KTtcbiAgICAgICAgICAgIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudFRvcEhvc3QoYm9hcmQpLmFwcGVuZChjaXJjbGUpO1xuICAgICAgICAgICAgY29uc3QgZ0FycmF5ID0gZ2V0VGVtcG9yYXJ5R0FycmF5KHRoaXMuZGVidWdLZXkpO1xuICAgICAgICAgICAgZ0FycmF5LnB1c2goY2lyY2xlKTtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGNpcmNsZSk7XG4gICAgICAgICAgICBzZXRUZW1wb3JhcnlHQXJyYXkodGhpcy5kZWJ1Z0tleSwgZ0FycmF5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlRGVidWdHZW5lcmF0b3IgPSAoZGVidWdLZXk6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBuZXcgRGVidWdHZW5lcmF0b3IoZGVidWdLZXkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRGVidWcgPSAoa2V5Pzogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZGVmYXVsdEtleSA9ICdkZWJ1ZzpwbGFpdCc7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSB8fCBkZWZhdWx0S2V5KSA9PT0gJ3RydWUnO1xufTtcbiJdfQ==
@@ -1,8 +0,0 @@
1
- export const IS_DRAGGING = new WeakMap();
2
- export const isDragging = (board) => {
3
- return !!IS_DRAGGING.get(board);
4
- };
5
- export const setDragging = (board, state) => {
6
- IS_DRAGGING.set(board, state);
7
- };
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvZG5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztBQUc5RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDNUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEtBQWMsRUFBRSxFQUFFO0lBQzdELFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9ib2FyZFwiO1xuXG5leHBvcnQgY29uc3QgSVNfRFJBR0dJTkcgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBib29sZWFuPigpO1xuXG5cbmV4cG9ydCBjb25zdCBpc0RyYWdnaW5nID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuICEhSVNfRFJBR0dJTkcuZ2V0KGJvYXJkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXREcmFnZ2luZyA9IChib2FyZDogUGxhaXRCb2FyZCwgc3RhdGU6IGJvb2xlYW4pID0+IHtcbiAgICBJU19EUkFHR0lORy5zZXQoYm9hcmQsIHN0YXRlKTtcbn0iXX0=
@@ -1,75 +0,0 @@
1
- import { POINTER_BUTTON } from '../../constants';
2
- export const NS = 'http://www.w3.org/2000/svg';
3
- export function createG() {
4
- const newG = document.createElementNS(NS, 'g');
5
- return newG;
6
- }
7
- export function createPath() {
8
- const newG = document.createElementNS(NS, 'path');
9
- return newG;
10
- }
11
- export function createRect(rectangle, options) {
12
- const rect = document.createElementNS(NS, 'rect');
13
- rect.setAttribute('x', `${rectangle.x}`);
14
- rect.setAttribute('y', `${rectangle.y}`);
15
- rect.setAttribute('width', `${rectangle.width}`);
16
- rect.setAttribute('height', `${rectangle.height}`);
17
- for (let key in options) {
18
- const optionKey = key;
19
- rect.setAttribute(key, `${options[optionKey]}`);
20
- }
21
- return rect;
22
- }
23
- export const setStrokeLinecap = (g, value) => {
24
- g.setAttribute('stroke-linecap', value);
25
- };
26
- export const setPathStrokeLinecap = (g, value) => {
27
- g.querySelectorAll('path').forEach(path => {
28
- path.setAttribute('stroke-linecap', value);
29
- });
30
- };
31
- export function createMask() {
32
- return document.createElementNS(NS, 'mask');
33
- }
34
- export function createSVG() {
35
- const svg = document.createElementNS(NS, 'svg');
36
- return svg;
37
- }
38
- export function createText(x, y, fill, textContent) {
39
- var text = document.createElementNS(NS, 'text');
40
- text.setAttribute('x', `${x}`);
41
- text.setAttribute('y', `${y}`);
42
- text.setAttribute('fill', fill);
43
- text.textContent = textContent;
44
- return text;
45
- }
46
- /**
47
- * Check if a DOM node is an element node.
48
- */
49
- export const isDOMElement = (value) => {
50
- return isDOMNode(value) && value.nodeType === 1;
51
- };
52
- /**
53
- * Check if a value is a DOM node.
54
- */
55
- export const isDOMNode = (value) => {
56
- return value instanceof window.Node;
57
- };
58
- export const hasInputOrTextareaTarget = (target) => {
59
- if (isDOMElement(target)) {
60
- if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA') {
61
- return true;
62
- }
63
- }
64
- return false;
65
- };
66
- export const isSecondaryPointer = (event) => {
67
- return event.button === POINTER_BUTTON.SECONDARY;
68
- };
69
- export const isMainPointer = (event) => {
70
- return event.button === POINTER_BUTTON.MAIN;
71
- };
72
- export const isWheelPointer = (event) => {
73
- return event.button === POINTER_BUTTON.WHEEL;
74
- };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvZG9tL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHakQsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLDRCQUE0QixDQUFDO0FBRS9DLE1BQU0sVUFBVSxPQUFPO0lBQ25CLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9DLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVTtJQUN0QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxTQUEwQixFQUFFLE9BQWlCO0lBQ3BFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6QyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbkQsS0FBSyxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN0QixN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QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ2hELE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxjQUFjLENBQUMsS0FBSyxDQUFDO0FBQ2pELENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFBPSU5URVJfQlVUVE9OIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgTlMgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRygpIHtcbiAgICBjb25zdCBuZXdHID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnZycpO1xuICAgIHJldHVybiBuZXdHO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGF0aCgpIHtcbiAgICBjb25zdCBuZXdHID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAncGF0aCcpO1xuICAgIHJldHVybiBuZXdHO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUmVjdChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgb3B0aW9ucz86IE9wdGlvbnMpIHtcbiAgICBjb25zdCByZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAncmVjdCcpO1xuICAgIHJlY3Quc2V0QXR0cmlidXRlKCd4JywgYCR7cmVjdGFuZ2xlLnh9YCk7XG4gICAgcmVjdC5zZXRBdHRyaWJ1dGUoJ3knLCBgJHtyZWN0YW5nbGUueX1gKTtcbiAgICByZWN0LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHtyZWN0YW5nbGUud2lkdGh9YCk7XG4gICAgcmVjdC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAke3JlY3RhbmdsZS5oZWlnaHR9YCk7XG4gICAgZm9yIChsZXQga2V5IGluIG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9uS2V5ID0ga2V5IGFzIGtleW9mIE9wdGlvbnM7XG4gICAgICAgIHJlY3Quc2V0QXR0cmlidXRlKGtleSwgYCR7b3B0aW9uc1tvcHRpb25LZXldfWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVjdDtcbn1cblxuZXhwb3J0IGNvbnN0IHNldFN0cm9rZUxpbmVjYXAgPSAoZzogU1ZHR0VsZW1lbnQsIHZhbHVlOiAncm91bmQnIHwgJ3NxdWFyZScpID0+IHtcbiAgICBnLnNldEF0dHJpYnV0ZSgnc3Ryb2tlLWxpbmVjYXAnLCB2YWx1ZSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0UGF0aFN0cm9rZUxpbmVjYXAgPSAoZzogU1ZHR0VsZW1lbnQsIHZhbHVlOiAncm91bmQnIHwgJ3NxdWFyZScpID0+IHtcbiAgICBnLnF1ZXJ5U2VsZWN0b3JBbGwoJ3BhdGgnKS5mb3JFYWNoKHBhdGggPT4ge1xuICAgICAgICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlLWxpbmVjYXAnLCB2YWx1ZSk7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWFzaygpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnbWFzaycpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU1ZHKCkge1xuICAgIGNvbnN0IHN2ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3N2ZycpO1xuICAgIHJldHVybiBzdmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXh0KHg6IG51bWJlciwgeTogbnVtYmVyLCBmaWxsOiBzdHJpbmcsIHRleHRDb250ZW50OiBzdHJpbmcpIHtcbiAgICB2YXIgdGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhOUywgJ3RleHQnKTtcbiAgICB0ZXh0LnNldEF0dHJpYnV0ZSgneCcsIGAke3h9YCk7XG4gICAgdGV4dC5zZXRBdHRyaWJ1dGUoJ3knLCBgJHt5fWApO1xuICAgIHRleHQuc2V0QXR0cmlidXRlKCdmaWxsJywgZmlsbCk7XG4gICAgdGV4dC50ZXh0Q29udGVudCA9IHRleHRDb250ZW50O1xuICAgIHJldHVybiB0ZXh0O1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgRE9NIG5vZGUgaXMgYW4gZWxlbWVudCBub2RlLlxuICovXG5leHBvcnQgY29uc3QgaXNET01FbGVtZW50ID0gKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBFbGVtZW50ID0+IHtcbiAgICByZXR1cm4gaXNET01Ob2RlKHZhbHVlKSAmJiB2YWx1ZS5ub2RlVHlwZSA9PT0gMTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSB2YWx1ZSBpcyBhIERPTSBub2RlLlxuICovXG5leHBvcnQgY29uc3QgaXNET01Ob2RlID0gKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBOb2RlID0+IHtcbiAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiB3aW5kb3cuTm9kZTtcbn07XG5cbmV4cG9ydCBjb25zdCBoYXNJbnB1dE9yVGV4dGFyZWFUYXJnZXQgPSAodGFyZ2V0OiBFdmVudFRhcmdldCB8IG51bGwpID0+IHtcbiAgICBpZiAoaXNET01FbGVtZW50KHRhcmdldCkpIHtcbiAgICAgICAgaWYgKHRhcmdldC50YWdOYW1lID09PSAnSU5QVVQnIHx8IHRhcmdldC50YWdOYW1lID09PSAnVEVYVEFSRUEnKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgY29uc3QgaXNTZWNvbmRhcnlQb2ludGVyID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgcmV0dXJuIGV2ZW50LmJ1dHRvbiA9PT0gUE9JTlRFUl9CVVRUT04uU0VDT05EQVJZO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzTWFpblBvaW50ZXIgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICByZXR1cm4gZXZlbnQuYnV0dG9uID09PSBQT0lOVEVSX0JVVFRPTi5NQUlOO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzV2hlZWxQb2ludGVyID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgcmV0dXJuIGV2ZW50LmJ1dHRvbiA9PT0gUE9JTlRFUl9CVVRUT04uV0hFRUw7XG59O1xuIl19
@@ -1,2 +0,0 @@
1
- export const IS_MAC = typeof window != 'undefined' && /Mac|iPod|iPhone|iPad/.test(window.navigator.platform);
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9kb20vZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLE9BQU8sTUFBTSxJQUFJLFdBQVcsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBJU19NQUMgPSB0eXBlb2Ygd2luZG93ICE9ICd1bmRlZmluZWQnICYmIC9NYWN8aVBvZHxpUGhvbmV8aVBhZC8udGVzdCh3aW5kb3cubmF2aWdhdG9yLnBsYXRmb3JtKTtcbiJdfQ==
@@ -1,26 +0,0 @@
1
- import { ceilToDecimal } from '../math';
2
- import { NS } from './common';
3
- export function createForeignObject(x, y, width, height) {
4
- var newForeignObject = document.createElementNS(NS, 'foreignObject');
5
- newForeignObject.setAttribute('x', `${x}`);
6
- newForeignObject.setAttribute('y', `${y}`);
7
- newForeignObject.setAttribute('width', `${ceilToDecimal(width, 0)}`);
8
- newForeignObject.setAttribute('height', `${height}`);
9
- return newForeignObject;
10
- }
11
- export function updateForeignObject(target, width, height, x, y) {
12
- const foreignObject = target instanceof SVGForeignObjectElement ? target : target.querySelector('foreignObject');
13
- if (foreignObject) {
14
- foreignObject.setAttribute('width', `${ceilToDecimal(width, 0)}`);
15
- foreignObject.setAttribute('height', `${height}`);
16
- foreignObject.setAttribute('x', `${x}`);
17
- foreignObject.setAttribute('y', `${y}`);
18
- }
19
- }
20
- export function updateForeignObjectWidth(target, width) {
21
- const foreignObject = target instanceof SVGForeignObjectElement ? target : target.querySelector('foreignObject');
22
- if (foreignObject) {
23
- foreignObject.setAttribute('width', `${ceilToDecimal(width, 0)}`);
24
- }
25
- }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZWlnbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2RvbS9mb3JlaWduLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU5QixNQUFNLFVBQVUsbUJBQW1CLENBQUMsQ0FBUyxFQUFFLENBQVMsRUFBRSxLQUFhLEVBQUUsTUFBYztJQUNuRixJQUFJLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3JFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyRSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNyRCxPQUFPLGdCQUFnQixDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsTUFBNkMsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLENBQVMsRUFBRSxDQUFTO0lBQ2xJLE1BQU0sYUFBYSxHQUFHLE1BQU0sWUFBWSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pILElBQUksYUFBYSxFQUFFLENBQUM7UUFDaEIsYUFBYSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNsRSxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDbEQsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLGFBQWEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUE2QyxFQUFFLEtBQWE7SUFDakcsTUFBTSxhQUFhLEdBQUcsTUFBTSxZQUFZLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDakgsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNoQixhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2VpbFRvRGVjaW1hbCB9IGZyb20gJy4uL21hdGgnO1xuaW1wb3J0IHsgTlMgfSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGb3JlaWduT2JqZWN0KHg6IG51bWJlciwgeTogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xuICAgIHZhciBuZXdGb3JlaWduT2JqZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKE5TLCAnZm9yZWlnbk9iamVjdCcpO1xuICAgIG5ld0ZvcmVpZ25PYmplY3Quc2V0QXR0cmlidXRlKCd4JywgYCR7eH1gKTtcbiAgICBuZXdGb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgneScsIGAke3l9YCk7XG4gICAgbmV3Rm9yZWlnbk9iamVjdC5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7Y2VpbFRvRGVjaW1hbCh3aWR0aCwgMCl9YCk7XG4gICAgbmV3Rm9yZWlnbk9iamVjdC5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAke2hlaWdodH1gKTtcbiAgICByZXR1cm4gbmV3Rm9yZWlnbk9iamVjdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUZvcmVpZ25PYmplY3QodGFyZ2V0OiBTVkdGb3JlaWduT2JqZWN0RWxlbWVudCB8IFNWR0dFbGVtZW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgeDogbnVtYmVyLCB5OiBudW1iZXIpIHtcbiAgICBjb25zdCBmb3JlaWduT2JqZWN0ID0gdGFyZ2V0IGluc3RhbmNlb2YgU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQgPyB0YXJnZXQgOiB0YXJnZXQucXVlcnlTZWxlY3RvcignZm9yZWlnbk9iamVjdCcpO1xuICAgIGlmIChmb3JlaWduT2JqZWN0KSB7XG4gICAgICAgIGZvcmVpZ25PYmplY3Quc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAke2NlaWxUb0RlY2ltYWwod2lkdGgsIDApfWApO1xuICAgICAgICBmb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7aGVpZ2h0fWApO1xuICAgICAgICBmb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgneCcsIGAke3h9YCk7XG4gICAgICAgIGZvcmVpZ25PYmplY3Quc2V0QXR0cmlidXRlKCd5JywgYCR7eX1gKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVGb3JlaWduT2JqZWN0V2lkdGgodGFyZ2V0OiBTVkdGb3JlaWduT2JqZWN0RWxlbWVudCB8IFNWR0dFbGVtZW50LCB3aWR0aDogbnVtYmVyKSB7XG4gICAgY29uc3QgZm9yZWlnbk9iamVjdCA9IHRhcmdldCBpbnN0YW5jZW9mIFNWR0ZvcmVpZ25PYmplY3RFbGVtZW50ID8gdGFyZ2V0IDogdGFyZ2V0LnF1ZXJ5U2VsZWN0b3IoJ2ZvcmVpZ25PYmplY3QnKTtcbiAgICBpZiAoZm9yZWlnbk9iamVjdCkge1xuICAgICAgICBmb3JlaWduT2JqZWN0LnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHtjZWlsVG9EZWNpbWFsKHdpZHRoLCAwKX1gKTtcbiAgICB9XG59XG4iXX0=
@@ -1,4 +0,0 @@
1
- export * from './common';
2
- export * from './foreign';
3
- export * from './environment';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9kb20vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2ZvcmVpZ24nO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudCc7XG4iXX0=
@@ -1,23 +0,0 @@
1
- import { rotate } from '../math';
2
- export function arrowPoints(start, end, degree = 40) {
3
- const width = Math.abs(start[0] - end[0]);
4
- const height = Math.abs(start[1] - end[1]);
5
- let hypotenuse = Math.hypot(width, height); // 斜边
6
- const realRotateLine = hypotenuse / 2;
7
- const rotateWidth = (realRotateLine / hypotenuse) * width;
8
- const rotateHeight = (realRotateLine / hypotenuse) * height;
9
- const rotatePoint = [
10
- end[0] > start[0] ? end[0] - rotateWidth : end[0] + rotateWidth,
11
- end[1] > start[1] ? end[1] - rotateHeight : end[1] + rotateHeight
12
- ];
13
- const pointRight = rotate(rotatePoint[0], rotatePoint[1], end[0], end[1], (degree * Math.PI) / 180);
14
- const pointLeft = rotate(rotatePoint[0], rotatePoint[1], end[0], end[1], (-degree * Math.PI) / 180);
15
- return { pointLeft, pointRight };
16
- }
17
- export function drawArrow(rs, start, end, options, maxHypotenuseLength = 10, degree = 40) {
18
- const { pointLeft, pointRight } = arrowPoints(start, end, degree);
19
- const arrowLineLeft = rs.linearPath([pointLeft, end], options);
20
- const arrowLineRight = rs.linearPath([pointRight, end], options);
21
- return [arrowLineLeft, arrowLineRight];
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9kcmF3aW5nL2Fycm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFLakMsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFZLEVBQUUsR0FBVSxFQUFFLE1BQU0sR0FBRyxFQUFFO0lBQzdELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSztJQUNqRCxNQUFNLGNBQWMsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sV0FBVyxHQUFHLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMxRCxNQUFNLFlBQVksR0FBRyxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsR0FBRyxNQUFNLENBQUM7SUFDNUQsTUFBTSxXQUFXLEdBQUc7UUFDaEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVc7UUFDL0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVk7S0FDcEUsQ0FBQztJQUNGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBVSxDQUFDO0lBQzdHLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFVLENBQUM7SUFDN0csT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxFQUFZLEVBQUUsS0FBWSxFQUFFLEdBQVUsRUFBRSxPQUFnQixFQUFFLG1CQUFtQixHQUFHLEVBQUUsRUFBRSxNQUFNLEdBQUcsRUFBRTtJQUNySCxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xFLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0QsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRSxPQUFPLENBQUMsYUFBYSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByb3RhdGUgfSBmcm9tICcuLi9tYXRoJztcbmltcG9ydCB7IFJvdWdoU1ZHIH0gZnJvbSAncm91Z2hqcy9iaW4vc3ZnJztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcnJvd1BvaW50cyhzdGFydDogUG9pbnQsIGVuZDogUG9pbnQsIGRlZ3JlZSA9IDQwKSB7XG4gICAgY29uc3Qgd2lkdGggPSBNYXRoLmFicyhzdGFydFswXSAtIGVuZFswXSk7XG4gICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5hYnMoc3RhcnRbMV0gLSBlbmRbMV0pO1xuICAgIGxldCBoeXBvdGVudXNlID0gTWF0aC5oeXBvdCh3aWR0aCwgaGVpZ2h0KTsgLy8g5pac6L65XG4gICAgY29uc3QgcmVhbFJvdGF0ZUxpbmUgPSBoeXBvdGVudXNlIC8gMjtcbiAgICBjb25zdCByb3RhdGVXaWR0aCA9IChyZWFsUm90YXRlTGluZSAvIGh5cG90ZW51c2UpICogd2lkdGg7XG4gICAgY29uc3Qgcm90YXRlSGVpZ2h0ID0gKHJlYWxSb3RhdGVMaW5lIC8gaHlwb3RlbnVzZSkgKiBoZWlnaHQ7XG4gICAgY29uc3Qgcm90YXRlUG9pbnQgPSBbXG4gICAgICAgIGVuZFswXSA+IHN0YXJ0WzBdID8gZW5kWzBdIC0gcm90YXRlV2lkdGggOiBlbmRbMF0gKyByb3RhdGVXaWR0aCxcbiAgICAgICAgZW5kWzFdID4gc3RhcnRbMV0gPyBlbmRbMV0gLSByb3RhdGVIZWlnaHQgOiBlbmRbMV0gKyByb3RhdGVIZWlnaHRcbiAgICBdO1xuICAgIGNvbnN0IHBvaW50UmlnaHQgPSByb3RhdGUocm90YXRlUG9pbnRbMF0sIHJvdGF0ZVBvaW50WzFdLCBlbmRbMF0sIGVuZFsxXSwgKGRlZ3JlZSAqIE1hdGguUEkpIC8gMTgwKSBhcyBQb2ludDtcbiAgICBjb25zdCBwb2ludExlZnQgPSByb3RhdGUocm90YXRlUG9pbnRbMF0sIHJvdGF0ZVBvaW50WzFdLCBlbmRbMF0sIGVuZFsxXSwgKC1kZWdyZWUgKiBNYXRoLlBJKSAvIDE4MCkgYXMgUG9pbnQ7XG4gICAgcmV0dXJuIHsgcG9pbnRMZWZ0LCBwb2ludFJpZ2h0IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3QXJyb3cocnM6IFJvdWdoU1ZHLCBzdGFydDogUG9pbnQsIGVuZDogUG9pbnQsIG9wdGlvbnM6IE9wdGlvbnMsIG1heEh5cG90ZW51c2VMZW5ndGggPSAxMCwgZGVncmVlID0gNDApOiBTVkdHRWxlbWVudFtdIHtcbiAgICBjb25zdCB7IHBvaW50TGVmdCwgcG9pbnRSaWdodCB9ID0gYXJyb3dQb2ludHMoc3RhcnQsIGVuZCwgZGVncmVlKTtcbiAgICBjb25zdCBhcnJvd0xpbmVMZWZ0ID0gcnMubGluZWFyUGF0aChbcG9pbnRMZWZ0LCBlbmRdLCBvcHRpb25zKTtcbiAgICBjb25zdCBhcnJvd0xpbmVSaWdodCA9IHJzLmxpbmVhclBhdGgoW3BvaW50UmlnaHQsIGVuZF0sIG9wdGlvbnMpO1xuICAgIHJldHVybiBbYXJyb3dMaW5lTGVmdCwgYXJyb3dMaW5lUmlnaHRdO1xufVxuIl19
@@ -1,4 +0,0 @@
1
- export function drawCircle(roughSVG, point, diameter, options) {
2
- return roughSVG.circle(point[0], point[1], diameter, options);
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2lyY2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvZHJhd2luZy9jaXJjbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxVQUFVLFVBQVUsQ0FBQyxRQUFrQixFQUFFLEtBQVksRUFBRSxRQUFnQixFQUFFLE9BQWdCO0lBQzNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUm91Z2hTVkcgfSBmcm9tICdyb3VnaGpzL2Jpbi9zdmcnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3BvaW50JztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRyYXdDaXJjbGUocm91Z2hTVkc6IFJvdWdoU1ZHLCBwb2ludDogUG9pbnQsIGRpYW1ldGVyOiBudW1iZXIsIG9wdGlvbnM6IE9wdGlvbnMpOiBTVkdHRWxlbWVudCB7XG4gICAgcmV0dXJuIHJvdWdoU1ZHLmNpcmNsZShwb2ludFswXSwgcG9pbnRbMV0sIGRpYW1ldGVyLCBvcHRpb25zKTtcbn1cbiJdfQ==
@@ -1,47 +0,0 @@
1
- import { createG, createPath } from '../dom/common';
2
- export function drawLine(rs, start, end, options) {
3
- return rs.linearPath([start, end], options);
4
- }
5
- export function drawLinearPath(points, options, closePath) {
6
- const g = createG();
7
- const path = createPath();
8
- let polylinePath = '';
9
- points.forEach((point, index) => {
10
- if (index === 0) {
11
- polylinePath += `M ${point[0]} ${point[1]} `;
12
- }
13
- else {
14
- polylinePath += `L ${point[0]} ${point[1]} `;
15
- }
16
- });
17
- if (closePath) {
18
- polylinePath += 'Z';
19
- }
20
- path.setAttribute('d', polylinePath);
21
- path.setAttribute('stroke', `${options?.stroke}`);
22
- path.setAttribute('stroke-width', `${options?.strokeWidth}`);
23
- path.setAttribute('fill', `${options?.fill || 'none'}`);
24
- options?.strokeLineDash && path.setAttribute('stroke-dasharray', `${options.strokeLineDash}`);
25
- g.appendChild(path);
26
- return g;
27
- }
28
- export function drawBezierPath(points, options) {
29
- const g = createG();
30
- const path = createPath();
31
- let polylinePath = '';
32
- for (let i = 0; i < points.length - 3; i += 3) {
33
- if (i === 0) {
34
- polylinePath += `M ${points[0][0]} ${points[0][1]} `;
35
- }
36
- else {
37
- polylinePath += `C ${points[i + 1][0]} ${points[i + 1][1]}, ${points[i + 2][0]} ${points[i + 2][1]}, ${points[i + 3][0]} ${points[i + 3][1]}`;
38
- }
39
- }
40
- path.setAttribute('d', polylinePath);
41
- path.setAttribute('stroke', `${options?.stroke}`);
42
- path.setAttribute('stroke-width', `${options?.strokeWidth}`);
43
- path.setAttribute('fill', `none`);
44
- g.appendChild(path);
45
- return g;
46
- }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2RyYXdpbmcvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEVBQVksRUFBRSxLQUFZLEVBQUUsR0FBVSxFQUFFLE9BQWdCO0lBQzdFLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFlLEVBQUUsT0FBaUIsRUFBRSxTQUFtQjtJQUNsRixNQUFNLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztJQUNwQixNQUFNLElBQUksR0FBRyxVQUFVLEVBQUUsQ0FBQztJQUUxQixJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7SUFDdEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUM1QixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNkLFlBQVksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNqRCxDQUFDO2FBQU0sQ0FBQztZQUNKLFlBQVksSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNqRCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ1osWUFBWSxJQUFJLEdBQUcsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxHQUFHLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzdELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLElBQUksSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELE9BQU8sRUFBRSxjQUFjLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQzlGLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUFlLEVBQUUsT0FBaUI7SUFDN0QsTUFBTSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDcEIsTUFBTSxJQUFJLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFFMUIsSUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDVixZQUFZLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDekQsQ0FBQzthQUFNLENBQUM7WUFDSixZQUFZLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQ25ILE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNuQixFQUFFLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEdBQUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEQsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsR0FBRyxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM3RCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXBCLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdWdoU1ZHIH0gZnJvbSAncm91Z2hqcy9iaW4vc3ZnJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVHLCBjcmVhdGVQYXRoIH0gZnJvbSAnLi4vZG9tL2NvbW1vbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBkcmF3TGluZShyczogUm91Z2hTVkcsIHN0YXJ0OiBQb2ludCwgZW5kOiBQb2ludCwgb3B0aW9uczogT3B0aW9ucyk6IFNWR0dFbGVtZW50IHtcbiAgICByZXR1cm4gcnMubGluZWFyUGF0aChbc3RhcnQsIGVuZF0sIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0xpbmVhclBhdGgocG9pbnRzOiBQb2ludFtdLCBvcHRpb25zPzogT3B0aW9ucywgY2xvc2VQYXRoPzogYm9vbGVhbikge1xuICAgIGNvbnN0IGcgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgcGF0aCA9IGNyZWF0ZVBhdGgoKTtcblxuICAgIGxldCBwb2x5bGluZVBhdGggPSAnJztcbiAgICBwb2ludHMuZm9yRWFjaCgocG9pbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgcG9seWxpbmVQYXRoICs9IGBNICR7cG9pbnRbMF19ICR7cG9pbnRbMV19IGA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwb2x5bGluZVBhdGggKz0gYEwgJHtwb2ludFswXX0gJHtwb2ludFsxXX0gYDtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGNsb3NlUGF0aCkge1xuICAgICAgICBwb2x5bGluZVBhdGggKz0gJ1onO1xuICAgIH1cblxuICAgIHBhdGguc2V0QXR0cmlidXRlKCdkJywgcG9seWxpbmVQYXRoKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgYCR7b3B0aW9ucz8uc3Ryb2tlfWApO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2Utd2lkdGgnLCBgJHtvcHRpb25zPy5zdHJva2VXaWR0aH1gKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnZmlsbCcsIGAke29wdGlvbnM/LmZpbGwgfHwgJ25vbmUnfWApO1xuICAgIG9wdGlvbnM/LnN0cm9rZUxpbmVEYXNoICYmIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UtZGFzaGFycmF5JywgYCR7b3B0aW9ucy5zdHJva2VMaW5lRGFzaH1gKTtcbiAgICBnLmFwcGVuZENoaWxkKHBhdGgpO1xuICAgIHJldHVybiBnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZHJhd0JlemllclBhdGgocG9pbnRzOiBQb2ludFtdLCBvcHRpb25zPzogT3B0aW9ucykge1xuICAgIGNvbnN0IGcgPSBjcmVhdGVHKCk7XG4gICAgY29uc3QgcGF0aCA9IGNyZWF0ZVBhdGgoKTtcblxuICAgIGxldCBwb2x5bGluZVBhdGggPSAnJztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBvaW50cy5sZW5ndGggLSAzOyBpICs9IDMpIHtcbiAgICAgICAgaWYgKGkgPT09IDApIHtcbiAgICAgICAgICAgIHBvbHlsaW5lUGF0aCArPSBgTSAke3BvaW50c1swXVswXX0gJHtwb2ludHNbMF1bMV19IGA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwb2x5bGluZVBhdGggKz0gYEMgJHtwb2ludHNbaSArIDFdWzBdfSAke3BvaW50c1tpICsgMV1bMV19LCAke3BvaW50c1tpICsgMl1bMF19ICR7cG9pbnRzW2kgKyAyXVsxXX0sICR7cG9pbnRzW2kgKyAzXVswXX0gJHtcbiAgICAgICAgICAgICAgICBwb2ludHNbaSArIDNdWzFdXG4gICAgICAgICAgICB9YDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBhdGguc2V0QXR0cmlidXRlKCdkJywgcG9seWxpbmVQYXRoKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgYCR7b3B0aW9ucz8uc3Ryb2tlfWApO1xuICAgIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2Utd2lkdGgnLCBgJHtvcHRpb25zPy5zdHJva2VXaWR0aH1gKTtcbiAgICBwYXRoLnNldEF0dHJpYnV0ZSgnZmlsbCcsIGBub25lYCk7XG4gICAgZy5hcHBlbmRDaGlsZChwYXRoKTtcblxuICAgIHJldHVybiBnO1xufVxuIl19
@@ -1,36 +0,0 @@
1
- import { MAX_RADIUS } from '../../constants';
2
- import { PlaitBoard } from '../../interfaces/board';
3
- import { setStrokeLinecap } from '../dom/common';
4
- /**
5
- * drawRoundRectangle
6
- */
7
- export function drawRoundRectangle(rs, x1, y1, x2, y2, options, outline = false, borderRadius) {
8
- const width = Math.abs(x1 - x2);
9
- const height = Math.abs(y1 - y2);
10
- let radius = borderRadius || 0;
11
- if (radius === 0) {
12
- const defaultRadius = Math.min(width, height) / 8;
13
- let radius = defaultRadius;
14
- if (defaultRadius > MAX_RADIUS) {
15
- radius = outline ? MAX_RADIUS + 2 : MAX_RADIUS;
16
- }
17
- }
18
- const point1 = [x1 + radius, y1];
19
- const point2 = [x2 - radius, y1];
20
- const point3 = [x2, y1 + radius];
21
- const point4 = [x2, y2 - radius];
22
- const point5 = [x2 - radius, y2];
23
- const point6 = [x1 + radius, y2];
24
- const point7 = [x1, y2 - radius];
25
- const point8 = [x1, y1 + radius];
26
- const rectangleG = rs.path(`M${point2[0]} ${point2[1]} A ${radius} ${radius}, 0, 0, 1, ${point3[0]} ${point3[1]} L ${point4[0]} ${point4[1]} A ${radius} ${radius}, 0, 0, 1, ${point5[0]} ${point5[1]} L ${point6[0]} ${point6[1]} A ${radius} ${radius}, 0, 0, 1, ${point7[0]} ${point7[1]} L ${point8[0]} ${point8[1]} A ${radius} ${radius}, 0, 0, 1, ${point1[0]} ${point1[1]} Z`, options);
27
- setStrokeLinecap(rectangleG, 'round');
28
- return rectangleG;
29
- }
30
- export const drawRectangle = (board, rectangle, options) => {
31
- const roughSVG = PlaitBoard.getRoughSVG(board);
32
- const rectangleG = roughSVG.rectangle(rectangle.x, rectangle.y, rectangle.width, rectangle.height, options);
33
- setStrokeLinecap(rectangleG, 'round');
34
- return rectangleG;
35
- };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdGFuZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvZHJhd2luZy9yZWN0YW5nbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLEVBQVksRUFDWixFQUFVLEVBQ1YsRUFBVSxFQUNWLEVBQVUsRUFDVixFQUFVLEVBQ1YsT0FBZ0IsRUFDaEIsT0FBTyxHQUFHLEtBQUssRUFDZixZQUFxQjtJQUVyQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUVqQyxJQUFJLE1BQU0sR0FBRyxZQUFZLElBQUksQ0FBQyxDQUFDO0lBQy9CLElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELElBQUksTUFBTSxHQUFHLGFBQWEsQ0FBQztRQUMzQixJQUFJLGFBQWEsR0FBRyxVQUFVLEVBQUUsQ0FBQztZQUM3QixNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7UUFDbkQsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqQyxNQUFNLE1BQU0sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDLENBQUM7SUFDakMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBRWpDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3RCLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLElBQUksTUFBTSxjQUFjLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLElBQUksTUFBTSxjQUFjLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLElBQUksTUFBTSxjQUFjLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLElBQUksTUFBTSxjQUFjLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFDMVYsT0FBTyxDQUNWLENBQUM7SUFDRixnQkFBZ0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEMsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsU0FBMEIsRUFBRSxPQUFnQixFQUFFLEVBQUU7SUFDN0YsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUcsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFJvdWdoU1ZHIH0gZnJvbSAncm91Z2hqcy9iaW4vc3ZnJztcbmltcG9ydCB7IE1BWF9SQURJVVMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYm9hcmQnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9yZWN0YW5nbGUtY2xpZW50JztcbmltcG9ydCB7IHNldFN0cm9rZUxpbmVjYXAgfSBmcm9tICcuLi9kb20vY29tbW9uJztcblxuLyoqXG4gKiBkcmF3Um91bmRSZWN0YW5nbGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRyYXdSb3VuZFJlY3RhbmdsZShcbiAgICByczogUm91Z2hTVkcsXG4gICAgeDE6IG51bWJlcixcbiAgICB5MTogbnVtYmVyLFxuICAgIHgyOiBudW1iZXIsXG4gICAgeTI6IG51bWJlcixcbiAgICBvcHRpb25zOiBPcHRpb25zLFxuICAgIG91dGxpbmUgPSBmYWxzZSxcbiAgICBib3JkZXJSYWRpdXM/OiBudW1iZXJcbikge1xuICAgIGNvbnN0IHdpZHRoID0gTWF0aC5hYnMoeDEgLSB4Mik7XG4gICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5hYnMoeTEgLSB5Mik7XG5cbiAgICBsZXQgcmFkaXVzID0gYm9yZGVyUmFkaXVzIHx8IDA7XG4gICAgaWYgKHJhZGl1cyA9PT0gMCkge1xuICAgICAgICBjb25zdCBkZWZhdWx0UmFkaXVzID0gTWF0aC5taW4od2lkdGgsIGhlaWdodCkgLyA4O1xuICAgICAgICBsZXQgcmFkaXVzID0gZGVmYXVsdFJhZGl1cztcbiAgICAgICAgaWYgKGRlZmF1bHRSYWRpdXMgPiBNQVhfUkFESVVTKSB7XG4gICAgICAgICAgICByYWRpdXMgPSBvdXRsaW5lID8gTUFYX1JBRElVUyArIDIgOiBNQVhfUkFESVVTO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcG9pbnQxID0gW3gxICsgcmFkaXVzLCB5MV07XG4gICAgY29uc3QgcG9pbnQyID0gW3gyIC0gcmFkaXVzLCB5MV07XG4gICAgY29uc3QgcG9pbnQzID0gW3gyLCB5MSArIHJhZGl1c107XG4gICAgY29uc3QgcG9pbnQ0ID0gW3gyLCB5MiAtIHJhZGl1c107XG4gICAgY29uc3QgcG9pbnQ1ID0gW3gyIC0gcmFkaXVzLCB5Ml07XG4gICAgY29uc3QgcG9pbnQ2ID0gW3gxICsgcmFkaXVzLCB5Ml07XG4gICAgY29uc3QgcG9pbnQ3ID0gW3gxLCB5MiAtIHJhZGl1c107XG4gICAgY29uc3QgcG9pbnQ4ID0gW3gxLCB5MSArIHJhZGl1c107XG5cbiAgICBjb25zdCByZWN0YW5nbGVHID0gcnMucGF0aChcbiAgICAgICAgYE0ke3BvaW50MlswXX0gJHtwb2ludDJbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDNbMF19ICR7cG9pbnQzWzFdfSBMICR7cG9pbnQ0WzBdfSAke3BvaW50NFsxXX0gQSAke3JhZGl1c30gJHtyYWRpdXN9LCAwLCAwLCAxLCAke3BvaW50NVswXX0gJHtwb2ludDVbMV19IEwgJHtwb2ludDZbMF19ICR7cG9pbnQ2WzFdfSBBICR7cmFkaXVzfSAke3JhZGl1c30sIDAsIDAsIDEsICR7cG9pbnQ3WzBdfSAke3BvaW50N1sxXX0gTCAke3BvaW50OFswXX0gJHtwb2ludDhbMV19IEEgJHtyYWRpdXN9ICR7cmFkaXVzfSwgMCwgMCwgMSwgJHtwb2ludDFbMF19ICR7cG9pbnQxWzFdfSBaYCxcbiAgICAgICAgb3B0aW9uc1xuICAgICk7XG4gICAgc2V0U3Ryb2tlTGluZWNhcChyZWN0YW5nbGVHLCAncm91bmQnKTtcbiAgICByZXR1cm4gcmVjdGFuZ2xlRztcbn1cblxuZXhwb3J0IGNvbnN0IGRyYXdSZWN0YW5nbGUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBvcHRpb25zOiBPcHRpb25zKSA9PiB7XG4gICAgY29uc3Qgcm91Z2hTVkcgPSBQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKGJvYXJkKTtcbiAgICBjb25zdCByZWN0YW5nbGVHID0gcm91Z2hTVkcucmVjdGFuZ2xlKHJlY3RhbmdsZS54LCByZWN0YW5nbGUueSwgcmVjdGFuZ2xlLndpZHRoLCByZWN0YW5nbGUuaGVpZ2h0LCBvcHRpb25zKTtcbiAgICBzZXRTdHJva2VMaW5lY2FwKHJlY3RhbmdsZUcsICdyb3VuZCcpO1xuICAgIHJldHVybiByZWN0YW5nbGVHO1xufTtcbiJdfQ==
@@ -1,90 +0,0 @@
1
- import { PlaitBoard, RectangleClient } from '../interfaces';
2
- import { getSelectionAngle, hasSameAngle, getRotatedBoundingRectangle, rotatePointsByElement, getRectangleByAngle } from './angle';
3
- import { depthFirstRecursion, getIsRecursionFunc } from './tree';
4
- import { KEY_TO_ELEMENT_MAP } from './weak-maps';
5
- export function getRectangleByElements(board, elements, recursion) {
6
- const rectanglesCornerPoints = [];
7
- const callback = (node) => {
8
- const nodeRectangle = board.getRectangle(node);
9
- if (nodeRectangle) {
10
- const cornerPoints = RectangleClient.getCornerPoints(nodeRectangle);
11
- const rotatedCornerPoints = rotatePointsByElement(cornerPoints, node) || cornerPoints;
12
- rectanglesCornerPoints.push(rotatedCornerPoints);
13
- }
14
- else {
15
- console.error(`can not get rectangle of element:`, node);
16
- }
17
- };
18
- elements.forEach(element => {
19
- if (recursion) {
20
- depthFirstRecursion(element, node => callback(node), node => board.isRecursion(node));
21
- }
22
- else {
23
- callback(element);
24
- }
25
- });
26
- if (rectanglesCornerPoints.length > 0) {
27
- if (hasSameAngle(elements)) {
28
- const angle = getSelectionAngle(elements);
29
- return getRotatedBoundingRectangle(rectanglesCornerPoints, angle);
30
- }
31
- else {
32
- const flatCornerPoints = rectanglesCornerPoints.reduce((acc, val) => {
33
- return acc.concat(val);
34
- }, []);
35
- return RectangleClient.getRectangleByPoints(flatCornerPoints);
36
- }
37
- }
38
- else {
39
- return {
40
- x: 0,
41
- y: 0,
42
- width: 0,
43
- height: 0
44
- };
45
- }
46
- }
47
- export function getBoundingRectangleByElements(board, elements, recursion) {
48
- const rectangle = getRectangleByElements(board, elements, recursion);
49
- const angle = getSelectionAngle(elements);
50
- return getRectangleByAngle(rectangle, angle);
51
- }
52
- export function getBoardRectangle(board) {
53
- return getRectangleByElements(board, board.children, true);
54
- }
55
- export function getElementById(board, id, dataSource) {
56
- const cachedElement = !dataSource && getElementMap(board).get(id);
57
- if (cachedElement) {
58
- return cachedElement;
59
- }
60
- if (!dataSource) {
61
- dataSource = findElements(board, { match: element => true, recursion: element => true });
62
- }
63
- let element = dataSource.find(element => element.id === id);
64
- return element;
65
- }
66
- export function getElementMap(board) {
67
- const elementMap = KEY_TO_ELEMENT_MAP.get(board);
68
- if (!elementMap) {
69
- throw new Error('can not resolve element map');
70
- }
71
- return elementMap;
72
- }
73
- export function findElements(board, options) {
74
- let elements = [];
75
- const isReverse = options.isReverse ?? true;
76
- depthFirstRecursion(board, node => {
77
- if (!PlaitBoard.isBoard(node) && options.match(node)) {
78
- elements.push(node);
79
- }
80
- }, (value) => {
81
- if (PlaitBoard.isBoard(value)) {
82
- return true;
83
- }
84
- else {
85
- return getIsRecursionFunc(board)(value) && options.recursion(value);
86
- }
87
- }, isReverse);
88
- return elements;
89
- }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2VsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLFVBQVUsRUFBdUIsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsMkJBQTJCLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbkksT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBaUIsRUFBRSxRQUF3QixFQUFFLFNBQWtCO0lBQ2xHLE1BQU0sc0JBQXNCLEdBQW1DLEVBQUUsQ0FBQztJQUNsRSxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQWtCLEVBQUUsRUFBRTtRQUNwQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNwRSxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxZQUFZLENBQUM7WUFDdEYsc0JBQXNCLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckQsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdELENBQUM7SUFDTCxDQUFDLENBQUM7SUFDRixRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3ZC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RCxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQ3hCLEtBQWlCLEVBQ2pCLE9BSUM7SUFFRCxJQUFJLFFBQVEsR0FBUSxFQUFFLENBQUM7SUFDdkIsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUM7SUFDNUMsbUJBQW1CLENBQ2YsS0FBSyxFQUNMLElBQUksQ0FBQyxFQUFFO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ25ELFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUMsRUFDRCxDQUFDLEtBQWUsRUFBRSxFQUFFO1FBQ2hCLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDTCxDQUFDLEVBQ0QsU0FBUyxDQUNaLENBQUM7SUFDRixPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5jZXN0b3IsIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0aW9uQW5nbGUsIGhhc1NhbWVBbmdsZSwgZ2V0Um90YXRlZEJvdW5kaW5nUmVjdGFuZ2xlLCByb3RhdGVQb2ludHNCeUVsZW1lbnQsIGdldFJlY3RhbmdsZUJ5QW5nbGUgfSBmcm9tICcuL2FuZ2xlJztcbmltcG9ydCB7IGRlcHRoRmlyc3RSZWN1cnNpb24sIGdldElzUmVjdXJzaW9uRnVuYyB9IGZyb20gJy4vdHJlZSc7XG5pbXBvcnQgeyBLRVlfVE9fRUxFTUVOVF9NQVAgfSBmcm9tICcuL3dlYWstbWFwcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50czogUGxhaXRFbGVtZW50W10sIHJlY3Vyc2lvbjogYm9vbGVhbik6IFJlY3RhbmdsZUNsaWVudCB7XG4gICAgY29uc3QgcmVjdGFuZ2xlc0Nvcm5lclBvaW50czogW1BvaW50LCBQb2ludCwgUG9pbnQsIFBvaW50XVtdID0gW107XG4gICAgY29uc3QgY2FsbGJhY2sgPSAobm9kZTogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGVSZWN0YW5nbGUgPSBib2FyZC5nZXRSZWN0YW5nbGUobm9kZSk7XG4gICAgICAgIGlmIChub2RlUmVjdGFuZ2xlKSB7XG4gICAgICAgICAgICBjb25zdCBjb3JuZXJQb2ludHMgPSBSZWN0YW5nbGVDbGllbnQuZ2V0Q29ybmVyUG9pbnRzKG5vZGVSZWN0YW5nbGUpO1xuICAgICAgICAgICAgY29uc3Qgcm90YXRlZENvcm5lclBvaW50cyA9IHJvdGF0ZVBvaW50c0J5RWxlbWVudChjb3JuZXJQb2ludHMsIG5vZGUpIHx8IGNvcm5lclBvaW50cztcbiAgICAgICAgICAgIHJlY3RhbmdsZXNDb3JuZXJQb2ludHMucHVzaChyb3RhdGVkQ29ybmVyUG9pbnRzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYGNhbiBub3QgZ2V0IHJlY3RhbmdsZSBvZiBlbGVtZW50OmAsIG5vZGUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBpZiAocmVjdXJzaW9uKSB7XG4gICAgICAgICAgICBkZXB0aEZpcnN0UmVjdXJzaW9uKFxuICAgICAgICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgICAgICAgbm9kZSA9PiBjYWxsYmFjayhub2RlKSxcbiAgICAgICAgICAgICAgICBub2RlID0+IGJvYXJkLmlzUmVjdXJzaW9uKG5vZGUpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2FsbGJhY2soZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAocmVjdGFuZ2xlc0Nvcm5lclBvaW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChoYXNTYW1lQW5nbGUoZWxlbWVudHMpKSB7XG4gICAgICAgICAgICBjb25zdCBhbmdsZSA9IGdldFNlbGVjdGlvbkFuZ2xlKGVsZW1lbnRzKTtcbiAgICAgICAgICAgIHJldHVybiBnZXRSb3RhdGVkQm91bmRpbmdSZWN0YW5nbGUocmVjdGFuZ2xlc0Nvcm5lclBvaW50cywgYW5nbGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZmxhdENvcm5lclBvaW50czogUG9pbnRbXSA9IHJlY3RhbmdsZXNDb3JuZXJQb2ludHMucmVkdWNlKChhY2M6IFBvaW50W10sIHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2MuY29uY2F0KHZhbCk7XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgICAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldFJlY3RhbmdsZUJ5UG9pbnRzKGZsYXRDb3JuZXJQb2ludHMpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgICB5OiAwLFxuICAgICAgICAgICAgd2lkdGg6IDAsXG4gICAgICAgICAgICBoZWlnaHQ6IDBcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCb3VuZGluZ1JlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXSwgcmVjdXJzaW9uOiBib29sZWFuKTogUmVjdGFuZ2xlQ2xpZW50IHtcbiAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBlbGVtZW50cywgcmVjdXJzaW9uKSE7XG4gICAgY29uc3QgYW5nbGUgPSBnZXRTZWxlY3Rpb25BbmdsZShlbGVtZW50cyk7XG4gICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5QW5nbGUocmVjdGFuZ2xlLCBhbmdsZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCb2FyZFJlY3RhbmdsZShib2FyZDogUGxhaXRCb2FyZCk6IFJlY3RhbmdsZUNsaWVudCB7XG4gICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIGJvYXJkLmNoaWxkcmVuLCB0cnVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRCeUlkPFQgZXh0ZW5kcyBQbGFpdEVsZW1lbnQgPSBQbGFpdEVsZW1lbnQ+KFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZT86IFBsYWl0RWxlbWVudFtdXG4pOiBUIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBjYWNoZWRFbGVtZW50ID0gIWRhdGFTb3VyY2UgJiYgZ2V0RWxlbWVudE1hcChib2FyZCkuZ2V0KGlkKTtcbiAgICBpZiAoY2FjaGVkRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gY2FjaGVkRWxlbWVudCBhcyBUO1xuICAgIH1cbiAgICBpZiAoIWRhdGFTb3VyY2UpIHtcbiAgICAgICAgZGF0YVNvdXJjZSA9IGZpbmRFbGVtZW50cyhib2FyZCwgeyBtYXRjaDogZWxlbWVudCA9PiB0cnVlLCByZWN1cnNpb246IGVsZW1lbnQgPT4gdHJ1ZSB9KTtcbiAgICB9XG4gICAgbGV0IGVsZW1lbnQgPSBkYXRhU291cmNlLmZpbmQoZWxlbWVudCA9PiBlbGVtZW50LmlkID09PSBpZCkgYXMgVDtcbiAgICByZXR1cm4gZWxlbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRNYXAoYm9hcmQ6IFBsYWl0Qm9hcmQpIHtcbiAgICBjb25zdCBlbGVtZW50TWFwID0gS0VZX1RPX0VMRU1FTlRfTUFQLmdldChib2FyZCk7XG4gICAgaWYgKCFlbGVtZW50TWFwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignY2FuIG5vdCByZXNvbHZlIGVsZW1lbnQgbWFwJyk7XG4gICAgfVxuICAgIHJldHVybiBlbGVtZW50TWFwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZEVsZW1lbnRzPFQgZXh0ZW5kcyBQbGFpdEVsZW1lbnQgPSBQbGFpdEVsZW1lbnQ+KFxuICAgIGJvYXJkOiBQbGFpdEJvYXJkLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgICAgbWF0Y2g6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IGJvb2xlYW47XG4gICAgICAgIHJlY3Vyc2lvbjogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gYm9vbGVhbjtcbiAgICAgICAgaXNSZXZlcnNlPzogYm9vbGVhbjtcbiAgICB9XG4pOiBUW10ge1xuICAgIGxldCBlbGVtZW50czogVFtdID0gW107XG4gICAgY29uc3QgaXNSZXZlcnNlID0gb3B0aW9ucy5pc1JldmVyc2UgPz8gdHJ1ZTtcbiAgICBkZXB0aEZpcnN0UmVjdXJzaW9uPEFuY2VzdG9yPihcbiAgICAgICAgYm9hcmQsXG4gICAgICAgIG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzQm9hcmQobm9kZSkgJiYgb3B0aW9ucy5tYXRjaChub2RlKSkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnRzLnB1c2gobm9kZSBhcyBUKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKHZhbHVlOiBBbmNlc3RvcikgPT4ge1xuICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaXNCb2FyZCh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldElzUmVjdXJzaW9uRnVuYyhib2FyZCkodmFsdWUpICYmIG9wdGlvbnMucmVjdXJzaW9uKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgaXNSZXZlcnNlXG4gICAgKTtcbiAgICByZXR1cm4gZWxlbWVudHM7XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- export const IS_IOS = typeof navigator !== 'undefined' &&
2
- typeof window !== 'undefined' &&
3
- /iPad|iPhone|iPod/.test(navigator.userAgent) &&
4
- !window.MSStream;
5
- export const IS_APPLE = typeof navigator !== 'undefined' && /Mac OS X/.test(navigator.userAgent);
6
- export const IS_FIREFOX = typeof navigator !== 'undefined' && /^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);
7
- export const IS_SAFARI = typeof navigator !== 'undefined' && /Version\/[\d\.]+.*Safari/.test(navigator.userAgent);
8
- // "modern" Edge was released at 79.x
9
- export const IS_EDGE_LEGACY = typeof navigator !== 'undefined' && /Edge?\/(?:[0-6][0-9]|[0-7][0-8])/i.test(navigator.userAgent);
10
- export const IS_CHROME = typeof navigator !== 'undefined' && /Chrome/i.test(navigator.userAgent);
11
- // Native beforeInput events don't work well with react on Chrome 75 and older, Chrome 76+ can use beforeInput
12
- export const IS_CHROME_LEGACY = typeof navigator !== 'undefined' && /Chrome?\/(?:[0-7][0-5]|[0-6][0-9])/i.test(navigator.userAgent);
13
- export const IS_WINDOWS = typeof navigator !== 'undefined' && /Windows/.test(navigator.userAgent);
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQ2YsT0FBTyxTQUFTLEtBQUssV0FBVztJQUNoQyxPQUFPLE1BQU0sS0FBSyxXQUFXO0lBQzdCLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO0lBQzVDLENBQUUsTUFBYyxDQUFDLFFBQVEsQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRWpHLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksa0NBQWtDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUUzSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFbEgscUNBQXFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksbUNBQW1DLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVoSSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRWpHLDhHQUE4RztBQUM5RyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUkscUNBQXFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVwSSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IElTX0lPUyA9XG4gICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmXG4gICAgISh3aW5kb3cgYXMgYW55KS5NU1N0cmVhbTtcblxuZXhwb3J0IGNvbnN0IElTX0FQUExFID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL01hYyBPUyBYLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG5leHBvcnQgY29uc3QgSVNfRklSRUZPWCA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIC9eKD8hLipTZWFtb25rZXkpKD89LipGaXJlZm94KS4qL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuZXhwb3J0IGNvbnN0IElTX1NBRkFSSSA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIC9WZXJzaW9uXFwvW1xcZFxcLl0rLipTYWZhcmkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8vIFwibW9kZXJuXCIgRWRnZSB3YXMgcmVsZWFzZWQgYXQgNzkueFxuZXhwb3J0IGNvbnN0IElTX0VER0VfTEVHQUNZID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL0VkZ2U/XFwvKD86WzAtNl1bMC05XXxbMC03XVswLThdKS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbmV4cG9ydCBjb25zdCBJU19DSFJPTUUgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvQ2hyb21lL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuLy8gTmF0aXZlIGJlZm9yZUlucHV0IGV2ZW50cyBkb24ndCB3b3JrIHdlbGwgd2l0aCByZWFjdCBvbiBDaHJvbWUgNzUgYW5kIG9sZGVyLCBDaHJvbWUgNzYrIGNhbiB1c2UgYmVmb3JlSW5wdXRcbmV4cG9ydCBjb25zdCBJU19DSFJPTUVfTEVHQUNZID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL0Nocm9tZT9cXC8oPzpbMC03XVswLTVdfFswLTZdWzAtOV0pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuZXhwb3J0IGNvbnN0IElTX1dJTkRPV1MgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvV2luZG93cy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTsiXX0=
@@ -1,27 +0,0 @@
1
- import { WritableClipboardOperationType } from './clipboard';
2
- import { setClipboardData } from './clipboard/clipboard';
3
- import { getRectangleByElements } from './element';
4
- import { getSelectedElements } from './selected-element';
5
- export const deleteFragment = (board) => {
6
- const elements = board.getDeletedFragment([]);
7
- board.deleteFragment(elements);
8
- };
9
- export const setFragment = (board, operationType, clipboardData) => {
10
- const selectedElements = getSelectedElements(board);
11
- const rectangle = getRectangleByElements(board, selectedElements, false);
12
- const clipboardContext = board.buildFragment(null, rectangle, operationType);
13
- clipboardContext && setClipboardData(clipboardData, clipboardContext);
14
- };
15
- export const duplicateElements = (board, elements, point) => {
16
- const targetElements = elements?.length ? elements : getSelectedElements(board);
17
- const targetRectangle = getRectangleByElements(board, targetElements, false);
18
- const clipboardContext = board.buildFragment(null, targetRectangle, WritableClipboardOperationType.duplicate, targetElements);
19
- const stringifiedContext = clipboardContext && JSON.stringify(clipboardContext);
20
- const clonedContext = stringifiedContext && JSON.parse(stringifiedContext);
21
- clonedContext &&
22
- board.insertFragment({
23
- ...clonedContext,
24
- text: undefined
25
- }, point || [targetRectangle.x + targetRectangle.width / 2, targetRectangle.y + targetRectangle.height / 2], WritableClipboardOperationType.duplicate);
26
- };
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhZ21lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy9mcmFnbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNoRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFpQixFQUFFLGFBQTZDLEVBQUUsYUFBa0MsRUFBRSxFQUFFO0lBQ2hJLE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsTUFBTSxTQUFTLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzdFLGdCQUFnQixJQUFJLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBaUIsRUFBRSxRQUF5QixFQUFFLEtBQWEsRUFBRSxFQUFFO0lBQzdGLE1BQU0sY0FBYyxHQUFHLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEYsTUFBTSxlQUFlLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RSxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSw4QkFBOEIsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDOUgsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDaEYsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQzNFLGFBQWE7UUFDVCxLQUFLLENBQUMsY0FBYyxDQUNoQjtZQUNJLEdBQUcsYUFBYTtZQUNoQixJQUFJLEVBQUUsU0FBUztTQUNsQixFQUNELEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUN4Ryw4QkFBOEIsQ0FBQyxTQUFTLENBQzNDLENBQUM7QUFDVixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBvaW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBXcml0YWJsZUNsaXBib2FyZE9wZXJhdGlvblR5cGUgfSBmcm9tICcuL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBzZXRDbGlwYm9hcmREYXRhIH0gZnJvbSAnLi9jbGlwYm9hcmQvY2xpcGJvYXJkJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMgfSBmcm9tICcuL2VsZW1lbnQnO1xuaW1wb3J0IHsgZ2V0U2VsZWN0ZWRFbGVtZW50cyB9IGZyb20gJy4vc2VsZWN0ZWQtZWxlbWVudCc7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVGcmFnbWVudCA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gYm9hcmQuZ2V0RGVsZXRlZEZyYWdtZW50KFtdKTtcbiAgICBib2FyZC5kZWxldGVGcmFnbWVudChlbGVtZW50cyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0RnJhZ21lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG9wZXJhdGlvblR5cGU6IFdyaXRhYmxlQ2xpcGJvYXJkT3BlcmF0aW9uVHlwZSwgY2xpcGJvYXJkRGF0YTogRGF0YVRyYW5zZmVyIHwgbnVsbCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICBjb25zdCByZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeUVsZW1lbnRzKGJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzLCBmYWxzZSk7XG4gICAgY29uc3QgY2xpcGJvYXJkQ29udGV4dCA9IGJvYXJkLmJ1aWxkRnJhZ21lbnQobnVsbCwgcmVjdGFuZ2xlLCBvcGVyYXRpb25UeXBlKTtcbiAgICBjbGlwYm9hcmRDb250ZXh0ICYmIHNldENsaXBib2FyZERhdGEoY2xpcGJvYXJkRGF0YSwgY2xpcGJvYXJkQ29udGV4dCk7XG59O1xuXG5leHBvcnQgY29uc3QgZHVwbGljYXRlRWxlbWVudHMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzPzogUGxhaXRFbGVtZW50W10sIHBvaW50PzogUG9pbnQpID0+IHtcbiAgICBjb25zdCB0YXJnZXRFbGVtZW50cyA9IGVsZW1lbnRzPy5sZW5ndGggPyBlbGVtZW50cyA6IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGNvbnN0IHRhcmdldFJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudHMoYm9hcmQsIHRhcmdldEVsZW1lbnRzLCBmYWxzZSk7XG4gICAgY29uc3QgY2xpcGJvYXJkQ29udGV4dCA9IGJvYXJkLmJ1aWxkRnJhZ21lbnQobnVsbCwgdGFyZ2V0UmVjdGFuZ2xlLCBXcml0YWJsZUNsaXBib2FyZE9wZXJhdGlvblR5cGUuZHVwbGljYXRlLCB0YXJnZXRFbGVtZW50cyk7XG4gICAgY29uc3Qgc3RyaW5naWZpZWRDb250ZXh0ID0gY2xpcGJvYXJkQ29udGV4dCAmJiBKU09OLnN0cmluZ2lmeShjbGlwYm9hcmRDb250ZXh0KTtcbiAgICBjb25zdCBjbG9uZWRDb250ZXh0ID0gc3RyaW5naWZpZWRDb250ZXh0ICYmIEpTT04ucGFyc2Uoc3RyaW5naWZpZWRDb250ZXh0KTtcbiAgICBjbG9uZWRDb250ZXh0ICYmXG4gICAgICAgIGJvYXJkLmluc2VydEZyYWdtZW50KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLmNsb25lZENvbnRleHQsXG4gICAgICAgICAgICAgICAgdGV4dDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcG9pbnQgfHwgW3RhcmdldFJlY3RhbmdsZS54ICsgdGFyZ2V0UmVjdGFuZ2xlLndpZHRoIC8gMiwgdGFyZ2V0UmVjdGFuZ2xlLnkgKyB0YXJnZXRSZWN0YW5nbGUuaGVpZ2h0IC8gMl0sXG4gICAgICAgICAgICBXcml0YWJsZUNsaXBib2FyZE9wZXJhdGlvblR5cGUuZHVwbGljYXRlXG4gICAgICAgICk7XG59O1xuIl19