@plait/mind 0.77.3 → 0.78.0-next.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 (96) hide show
  1. package/fesm2022/plait-mind.mjs +2 -2
  2. package/fesm2022/plait-mind.mjs.map +1 -1
  3. package/package.json +1 -3
  4. package/esm2022/constants/abstract-node.mjs +0 -5
  5. package/esm2022/constants/default.mjs +0 -17
  6. package/esm2022/constants/index.mjs +0 -5
  7. package/esm2022/constants/node-style.mjs +0 -19
  8. package/esm2022/constants/node-topic-style.mjs +0 -7
  9. package/esm2022/constants/theme.mjs +0 -73
  10. package/esm2022/emoji/emoji-base.component.mjs +0 -6
  11. package/esm2022/emoji/index.mjs +0 -3
  12. package/esm2022/emoji/with-emoji.mjs +0 -8
  13. package/esm2022/generators/node-active.generator.mjs +0 -46
  14. package/esm2022/generators/node-collapse.generator.mjs +0 -108
  15. package/esm2022/generators/node-emojis.generator.mjs +0 -63
  16. package/esm2022/generators/node-plus.generator.mjs +0 -100
  17. package/esm2022/generators/node-shape.generator.mjs +0 -22
  18. package/esm2022/interfaces/element-data.mjs +0 -2
  19. package/esm2022/interfaces/element.mjs +0 -103
  20. package/esm2022/interfaces/index.mjs +0 -8
  21. package/esm2022/interfaces/layout.mjs +0 -19
  22. package/esm2022/interfaces/node.mjs +0 -14
  23. package/esm2022/interfaces/options.mjs +0 -2
  24. package/esm2022/interfaces/pointer.mjs +0 -5
  25. package/esm2022/interfaces/theme-color.mjs +0 -57
  26. package/esm2022/interfaces/types.mjs +0 -13
  27. package/esm2022/mind-node.component.mjs +0 -193
  28. package/esm2022/mind.component.mjs +0 -34
  29. package/esm2022/plait-mind.mjs +0 -5
  30. package/esm2022/plugins/with-abstract-resize.board.mjs +0 -12
  31. package/esm2022/plugins/with-abstract-resize.mjs +0 -112
  32. package/esm2022/plugins/with-mind-create.mjs +0 -104
  33. package/esm2022/plugins/with-mind-extend.mjs +0 -7
  34. package/esm2022/plugins/with-mind-fragment.mjs +0 -101
  35. package/esm2022/plugins/with-mind-hotkey.mjs +0 -62
  36. package/esm2022/plugins/with-mind.board.mjs +0 -2
  37. package/esm2022/plugins/with-mind.mjs +0 -148
  38. package/esm2022/plugins/with-node-dnd.mjs +0 -176
  39. package/esm2022/plugins/with-node-hover-hit-test.mjs +0 -23
  40. package/esm2022/plugins/with-node-image-resize.mjs +0 -46
  41. package/esm2022/plugins/with-node-image.mjs +0 -113
  42. package/esm2022/plugins/with-node-resize.mjs +0 -69
  43. package/esm2022/public-api.mjs +0 -16
  44. package/esm2022/queries/get-available-sublayouts-by-element.mjs +0 -23
  45. package/esm2022/queries/get-branch-layouts.mjs +0 -18
  46. package/esm2022/queries/get-correct-layout-by-element.mjs +0 -48
  47. package/esm2022/queries/get-layout-by-element.mjs +0 -18
  48. package/esm2022/queries/index.mjs +0 -11
  49. package/esm2022/transforms/abstract-node.mjs +0 -73
  50. package/esm2022/transforms/emoji.mjs +0 -41
  51. package/esm2022/transforms/image.mjs +0 -31
  52. package/esm2022/transforms/index.mjs +0 -30
  53. package/esm2022/transforms/layout.mjs +0 -19
  54. package/esm2022/transforms/node.mjs +0 -99
  55. package/esm2022/transforms/property.mjs +0 -34
  56. package/esm2022/utils/abstract/common.mjs +0 -170
  57. package/esm2022/utils/abstract/resize.mjs +0 -194
  58. package/esm2022/utils/clipboard.mjs +0 -108
  59. package/esm2022/utils/common.mjs +0 -26
  60. package/esm2022/utils/dnd/common.mjs +0 -59
  61. package/esm2022/utils/dnd/detector.mjs +0 -176
  62. package/esm2022/utils/draw/abstract-outline.mjs +0 -118
  63. package/esm2022/utils/draw/node-dnd.mjs +0 -164
  64. package/esm2022/utils/draw/node-link/abstract-link.mjs +0 -60
  65. package/esm2022/utils/draw/node-link/draw-link.mjs +0 -9
  66. package/esm2022/utils/draw/node-link/indented-link.mjs +0 -46
  67. package/esm2022/utils/draw/node-link/logic-link.mjs +0 -76
  68. package/esm2022/utils/draw/node-shape.mjs +0 -26
  69. package/esm2022/utils/index.mjs +0 -17
  70. package/esm2022/utils/layout.mjs +0 -105
  71. package/esm2022/utils/mind.mjs +0 -98
  72. package/esm2022/utils/node/adjust-node.mjs +0 -36
  73. package/esm2022/utils/node/common.mjs +0 -15
  74. package/esm2022/utils/node/create-node.mjs +0 -46
  75. package/esm2022/utils/node/dynamic-width.mjs +0 -14
  76. package/esm2022/utils/node/image.mjs +0 -15
  77. package/esm2022/utils/node/index.mjs +0 -6
  78. package/esm2022/utils/node/right-node-count.mjs +0 -45
  79. package/esm2022/utils/node-hover/extend.mjs +0 -50
  80. package/esm2022/utils/node-style/branch.mjs +0 -63
  81. package/esm2022/utils/node-style/common.mjs +0 -4
  82. package/esm2022/utils/node-style/index.mjs +0 -4
  83. package/esm2022/utils/node-style/shape.mjs +0 -37
  84. package/esm2022/utils/normalize.mjs +0 -40
  85. package/esm2022/utils/path.mjs +0 -12
  86. package/esm2022/utils/point-placement.mjs +0 -119
  87. package/esm2022/utils/position/emoji.mjs +0 -31
  88. package/esm2022/utils/position/image.mjs +0 -36
  89. package/esm2022/utils/position/index.mjs +0 -5
  90. package/esm2022/utils/position/node.mjs +0 -36
  91. package/esm2022/utils/position/topic.mjs +0 -16
  92. package/esm2022/utils/space/emoji.mjs +0 -20
  93. package/esm2022/utils/space/index.mjs +0 -4
  94. package/esm2022/utils/space/layout-options.mjs +0 -69
  95. package/esm2022/utils/space/node-space.mjs +0 -134
  96. package/esm2022/utils/weak-maps.mjs +0 -2
@@ -1,112 +0,0 @@
1
- import { PlaitBoard, PlaitElement, Transforms, getSelectedElements, isMainPointer, toActivePointFromViewBoxPoint, toHostPoint, toViewBoxPoint } from '@plait/core';
2
- import { AbstractNode, isHorizontalLayout, isStandardLayout } from '@plait/layouts';
3
- import { MindElement } from '../interfaces';
4
- import { findLocationLeftIndex, getHitAbstractHandle, getLocationScope, handleTouchedAbstract } from '../utils/abstract/resize';
5
- import { separateChildren } from '../utils/abstract/common';
6
- import { AbstractHandlePosition, AbstractResizeState } from './with-abstract-resize.board';
7
- import { MindQueries } from '../queries';
8
- import { NodeActiveGenerator } from '../generators/node-active.generator';
9
- export const withAbstract = (board) => {
10
- const newBoard = board;
11
- const { pointerDown, pointerMove, pointerUp } = board;
12
- let activeAbstractElement;
13
- let abstractHandlePosition;
14
- let touchedAbstract;
15
- let startPoint;
16
- let newProperty;
17
- board.pointerDown = (event) => {
18
- if (!isMainPointer(event) || PlaitBoard.isReadonly(board)) {
19
- pointerDown(event);
20
- return;
21
- }
22
- const activeAbstractElements = getSelectedElements(board).filter((element) => AbstractNode.isAbstract(element));
23
- const point = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
24
- activeAbstractElement = activeAbstractElements.find((element) => {
25
- abstractHandlePosition = getHitAbstractHandle(board, element, point);
26
- return abstractHandlePosition;
27
- });
28
- if (activeAbstractElement) {
29
- if (newBoard?.onAbstractResize) {
30
- newBoard.onAbstractResize(AbstractResizeState.start);
31
- }
32
- startPoint = point;
33
- return;
34
- }
35
- pointerDown(event);
36
- };
37
- board.pointerMove = (event) => {
38
- getSelectedElements(board);
39
- const endPoint = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
40
- touchedAbstract = handleTouchedAbstract(board, touchedAbstract, endPoint);
41
- if (abstractHandlePosition && activeAbstractElement) {
42
- const nodeLayout = MindQueries.getCorrectLayoutByElement(board, activeAbstractElement);
43
- const isHorizontal = isHorizontalLayout(nodeLayout);
44
- const parentElement = MindElement.getParent(activeAbstractElement);
45
- let children = parentElement.children;
46
- const parentLayout = MindQueries.getLayoutByElement(parentElement);
47
- if (isStandardLayout(parentLayout)) {
48
- const rightNodeCount = parentElement.rightNodeCount;
49
- const { leftChildren, rightChildren } = separateChildren(parentElement);
50
- if (activeAbstractElement.end < rightNodeCount) {
51
- children = rightChildren;
52
- }
53
- if (activeAbstractElement.start >= rightNodeCount) {
54
- children = leftChildren;
55
- }
56
- }
57
- if (newBoard?.onAbstractResize) {
58
- newBoard.onAbstractResize(AbstractResizeState.resizing);
59
- }
60
- const resizingLocation = isHorizontal ? endPoint[1] : endPoint[0];
61
- const parent = MindElement.getNode(parentElement);
62
- const scope = getLocationScope(board, abstractHandlePosition, children, activeAbstractElement, parent, isHorizontal);
63
- const location = Math.min(scope.max, Math.max(scope.min, resizingLocation));
64
- let locationIndex = findLocationLeftIndex(board, children, location, isHorizontal);
65
- const isPropertyUnchanged = (abstractHandlePosition === AbstractHandlePosition.start &&
66
- locationIndex + 1 === activeAbstractElement.start) ||
67
- (abstractHandlePosition === AbstractHandlePosition.end && locationIndex === activeAbstractElement.end);
68
- if (isPropertyUnchanged) {
69
- newProperty = undefined;
70
- }
71
- else {
72
- if (isStandardLayout(parent.layout)) {
73
- const rightNodeCount = parent.origin.rightNodeCount;
74
- let start = activeAbstractElement.start;
75
- if (start >= rightNodeCount) {
76
- locationIndex += rightNodeCount;
77
- }
78
- }
79
- newProperty =
80
- abstractHandlePosition === AbstractHandlePosition.start ? { start: locationIndex + 1 } : { end: locationIndex };
81
- }
82
- const ref = PlaitElement.getElementRef(activeAbstractElement);
83
- const activeGenerator = ref.getGenerator(NodeActiveGenerator.key);
84
- const activeLocation = toActivePointFromViewBoxPoint(board, [location, location]);
85
- activeGenerator.updateAbstractOutline(activeAbstractElement, abstractHandlePosition, isHorizontal ? activeLocation[1] : activeLocation[0]);
86
- }
87
- pointerMove(event);
88
- };
89
- board.pointerUp = (event) => {
90
- startPoint = undefined;
91
- abstractHandlePosition = undefined;
92
- if (activeAbstractElement) {
93
- if (newBoard?.onAbstractResize) {
94
- newBoard.onAbstractResize(AbstractResizeState.end);
95
- }
96
- if (newProperty) {
97
- const path = PlaitBoard.findPath(board, activeAbstractElement);
98
- Transforms.setNode(board, newProperty, path);
99
- }
100
- else {
101
- const ref = PlaitElement.getElementRef(activeAbstractElement);
102
- const activeGenerator = ref.getGenerator(NodeActiveGenerator.key);
103
- activeGenerator.updateAbstractOutline(activeAbstractElement);
104
- }
105
- activeAbstractElement = undefined;
106
- return;
107
- }
108
- pointerUp(event);
109
- };
110
- return board;
111
- };
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hYnN0cmFjdC1yZXNpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9wbHVnaW5zL3dpdGgtYWJzdHJhY3QtcmVzaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxVQUFVLEVBQ1YsWUFBWSxFQUdaLFVBQVUsRUFDVixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLDZCQUE2QixFQUM3QixXQUFXLEVBQ1gsY0FBYyxFQUNqQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsWUFBWSxFQUE4QixrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG1CQUFtQixFQUFzQixNQUFNLDhCQUE4QixDQUFDO0FBQy9HLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFnQixDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLFFBQVEsR0FBRyxLQUF3QyxDQUFDO0lBRTFELE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUN0RCxJQUFJLHFCQUE4QyxDQUFDO0lBQ25ELElBQUksc0JBQTBELENBQUM7SUFDL0QsSUFBSSxlQUF3QyxDQUFDO0lBQzdDLElBQUksVUFBNkIsQ0FBQztJQUNsQyxJ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QUFXLEVBQUUsQ0FBQztnQkFDZCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO2dCQUMvRCxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDakQsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQXdCLHFCQUFxQixDQUFDLENBQUM7Z0JBQ3JGLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQXNCLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN2RixlQUFlLENBQUMscUJBQXFCLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNqRSxDQUFDO1lBQ0QscUJBQXFCLEdBQUcsU0FBUyxDQUFDO1lBQ2xDLE9BQU87UUFDWCxDQUFDO1FBQ0QsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUMsQ0FBQztJQUNGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQk9BUkRfVE9fSE9TVCxcbiAgICBQbGFpdEJvYXJkLFxuICAgIFBsYWl0RWxlbWVudCxcbiAgICBQbGFpdFBsdWdpbixcbiAgICBQb2ludCxcbiAgICBUcmFuc2Zvcm1zLFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHMsXG4gICAgaXNNYWluUG9pbnRlcixcbiAgICB0b0FjdGl2ZVBvaW50RnJvbVZpZXdCb3hQb2ludCxcbiAgICB0b0hvc3RQb2ludCxcbiAgICB0b1ZpZXdCb3hQb2ludFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdE5vZGUsIExheW91dE5vZGUsIE1pbmRMYXlvdXRUeXBlLCBpc0hvcml6b250YWxMYXlvdXQsIGlzU3RhbmRhcmRMYXlvdXQgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZmluZExvY2F0aW9uTGVmdEluZGV4LCBnZXRIaXRBYnN0cmFjdEhhbmRsZSwgZ2V0TG9jYXRpb25TY29wZSwgaGFuZGxlVG91Y2hlZEFic3RyYWN0IH0gZnJvbSAnLi4vdXRpbHMvYWJzdHJhY3QvcmVzaXplJztcbmltcG9ydCB7IHNlcGFyYXRlQ2hpbGRyZW4gfSBmcm9tICcuLi91dGlscy9hYnN0cmFjdC9jb21tb24nO1xuaW1wb3J0IHsgQWJzdHJhY3RIYW5kbGVQb3NpdGlvbiwgQWJzdHJhY3RSZXNpemVTdGF0ZSwgUGxhaXRBYnN0cmFjdEJvYXJkIH0gZnJvbSAnLi93aXRoLWFic3RyYWN0LXJlc2l6ZS5ib2FyZCc7XG5pbXBvcnQgeyBNaW5kUXVlcmllcyB9IGZyb20gJy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgUGxhaXRDb21tb25FbGVtZW50UmVmIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBOb2RlQWN0aXZlR2VuZXJhdG9yIH0gZnJvbSAnLi4vZ2VuZXJhdG9ycy9ub2RlLWFjdGl2ZS5nZW5lcmF0b3InO1xuXG5leHBvcnQgY29uc3Qgd2l0aEFic3RyYWN0OiBQbGFpdFBsdWdpbiA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IG5ld0JvYXJkID0gYm9hcmQgYXMgUGxhaXRCb2FyZCAmIFBsYWl0QWJzdHJhY3RCb2FyZDtcblxuICAgIGNvbnN0IHsgcG9pbnRlckRvd24sIHBvaW50ZXJNb3ZlLCBwb2ludGVyVXAgfSA9IGJvYXJkO1xuICAgIGxldCBhY3RpdmVBYnN0cmFjdEVsZW1lbnQ6IE1pbmRFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIGxldCBhYnN0cmFjdEhhbmRsZVBvc2l0aW9uOiBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uIHwgdW5kZWZpbmVkO1xuICAgIGxldCB0b3VjaGVkQWJzdHJhY3Q6IE1pbmRFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgIGxldCBzdGFydFBvaW50OiBQb2ludCB8IHVuZGVmaW5lZDtcbiAgICBsZXQgbmV3UHJvcGVydHk6IHsgZW5kOiBudW1iZXIgfSB8IHsgc3RhcnQ6IG51bWJlciB9IHwgdW5kZWZpbmVkO1xuXG4gICAgYm9hcmQucG9pbnRlckRvd24gPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBpZiAoIWlzTWFpblBvaW50ZXIoZXZlbnQpIHx8IFBsYWl0Qm9hcmQuaXNSZWFkb25seShib2FyZCkpIHtcbiAgICAgICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFjdGl2ZUFic3RyYWN0RWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKS5maWx0ZXIoKGVsZW1lbnQpID0+IEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGVsZW1lbnQpKSBhcyBNaW5kRWxlbWVudFtdO1xuICAgICAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuXG4gICAgICAgIGFjdGl2ZUFic3RyYWN0RWxlbWVudCA9IGFjdGl2ZUFic3RyYWN0RWxlbWVudHMuZmluZCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgYWJzdHJhY3RIYW5kbGVQb3NpdGlvbiA9IGdldEhpdEFic3RyYWN0SGFuZGxlKGJvYXJkLCBlbGVtZW50IGFzIE1pbmRFbGVtZW50LCBwb2ludCk7XG4gICAgICAgICAgICByZXR1cm4gYWJzdHJhY3RIYW5kbGVQb3NpdGlvbjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGFjdGl2ZUFic3RyYWN0RWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKG5ld0JvYXJkPy5vbkFic3RyYWN0UmVzaXplKSB7XG4gICAgICAgICAgICAgICAgbmV3Qm9hcmQub25BYnN0cmFjdFJlc2l6ZShBYnN0cmFjdFJlc2l6ZVN0YXRlLnN0YXJ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0YXJ0UG9pbnQgPSBwb2ludDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHBvaW50ZXJEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQucG9pbnRlck1vdmUgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgY29uc3QgZW5kUG9pbnQgPSB0b1ZpZXdCb3hQb2ludChib2FyZCwgdG9Ib3N0UG9pbnQoYm9hcmQsIGV2ZW50LngsIGV2ZW50LnkpKTtcblxuICAgICAgICB0b3VjaGVkQWJzdHJhY3QgPSBoYW5kbGVUb3VjaGVkQWJzdHJhY3QoYm9hcmQsIHRvdWNoZWRBYnN0cmFjdCwgZW5kUG9pbnQpO1xuXG4gICAgICAgIGlmIChhYnN0cmFjdEhhbmRsZVBvc2l0aW9uICYmIGFjdGl2ZUFic3RyYWN0RWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZUxheW91dCA9IE1pbmRRdWVyaWVzLmdldENvcnJlY3RMYXlvdXRCeUVsZW1lbnQoYm9hcmQsIGFjdGl2ZUFic3RyYWN0RWxlbWVudCBhcyBNaW5kRWxlbWVudCkgYXMgTWluZExheW91dFR5cGU7XG4gICAgICAgICAgICBjb25zdCBpc0hvcml6b250YWwgPSBpc0hvcml6b250YWxMYXlvdXQobm9kZUxheW91dCk7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRFbGVtZW50ID0gTWluZEVsZW1lbnQuZ2V0UGFyZW50KGFjdGl2ZUFic3RyYWN0RWxlbWVudCk7XG5cbiAgICAgICAgICAgIGxldCBjaGlsZHJlbiA9IHBhcmVudEVsZW1lbnQuY2hpbGRyZW47XG5cbiAgICAgICAgICAgIGNvbnN0IHBhcmVudExheW91dCA9IE1pbmRRdWVyaWVzLmdldExheW91dEJ5RWxlbWVudChwYXJlbnRFbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChpc1N0YW5kYXJkTGF5b3V0KHBhcmVudExheW91dCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByaWdodE5vZGVDb3VudCA9IHBhcmVudEVsZW1lbnQucmlnaHROb2RlQ291bnQhO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgbGVmdENoaWxkcmVuLCByaWdodENoaWxkcmVuIH0gPSBzZXBhcmF0ZUNoaWxkcmVuKHBhcmVudEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGlmICgoYWN0aXZlQWJzdHJhY3RFbGVtZW50IGFzIE1pbmRFbGVtZW50KS5lbmQhIDwgcmlnaHROb2RlQ291bnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4gPSByaWdodENoaWxkcmVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoKGFjdGl2ZUFic3RyYWN0RWxlbWVudCBhcyBNaW5kRWxlbWVudCkuc3RhcnQhID49IHJpZ2h0Tm9kZUNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuID0gbGVmdENoaWxkcmVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG5ld0JvYXJkPy5vbkFic3RyYWN0UmVzaXplKSB7XG4gICAgICAgICAgICAgICAgbmV3Qm9hcmQub25BYnN0cmFjdFJlc2l6ZShBYnN0cmFjdFJlc2l6ZVN0YXRlLnJlc2l6aW5nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzaXppbmdMb2NhdGlvbiA9IGlzSG9yaXpvbnRhbCA/IGVuZFBvaW50WzFdIDogZW5kUG9pbnRbMF07XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBNaW5kRWxlbWVudC5nZXROb2RlKHBhcmVudEVsZW1lbnQpIGFzIHVua25vd24gYXMgTGF5b3V0Tm9kZTtcbiAgICAgICAgICAgIGNvbnN0IHNjb3BlID0gZ2V0TG9jYXRpb25TY29wZShib2FyZCwgYWJzdHJhY3RIYW5kbGVQb3NpdGlvbiwgY2hpbGRyZW4sIGFjdGl2ZUFic3RyYWN0RWxlbWVudCwgcGFyZW50LCBpc0hvcml6b250YWwpO1xuICAgICAgICAgICAgY29uc3QgbG9jYXRpb24gPSBNYXRoLm1pbihzY29wZS5tYXgsIE1hdGgubWF4KHNjb3BlLm1pbiwgcmVzaXppbmdMb2NhdGlvbikpO1xuICAgICAgICAgICAgbGV0IGxvY2F0aW9uSW5kZXggPSBmaW5kTG9jYXRpb25MZWZ0SW5kZXgoYm9hcmQsIGNoaWxkcmVuLCBsb2NhdGlvbiwgaXNIb3Jpem9udGFsKTtcblxuICAgICAgICAgICAgY29uc3QgaXNQcm9wZXJ0eVVuY2hhbmdlZCA9XG4gICAgICAgICAgICAgICAgKGFic3RyYWN0SGFuZGxlUG9zaXRpb24gPT09IEFic3RyYWN0SGFuZGxlUG9zaXRpb24uc3RhcnQgJiZcbiAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25JbmRleCArIDEgPT09IChhY3RpdmVBYnN0cmFjdEVsZW1lbnQgYXMgTWluZEVsZW1lbnQpLnN0YXJ0ISkgfHxcbiAgICAgICAgICAgICAgICAoYWJzdHJhY3RIYW5kbGVQb3NpdGlvbiA9PT0gQWJzdHJhY3RIYW5kbGVQb3NpdGlvbi5lbmQgJiYgbG9jYXRpb25JbmRleCA9PT0gKGFjdGl2ZUFic3RyYWN0RWxlbWVudCBhcyBNaW5kRWxlbWVudCkuZW5kISk7XG5cbiAgICAgICAgICAgIGlmIChpc1Byb3BlcnR5VW5jaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgbmV3UHJvcGVydHkgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChpc1N0YW5kYXJkTGF5b3V0KHBhcmVudC5sYXlvdXQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJpZ2h0Tm9kZUNvdW50ID0gcGFyZW50Lm9yaWdpbi5yaWdodE5vZGVDb3VudDtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHN0YXJ0ID0gYWN0aXZlQWJzdHJhY3RFbGVtZW50LnN0YXJ0ITtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXJ0ID49IHJpZ2h0Tm9kZUNvdW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbkluZGV4ICs9IHJpZ2h0Tm9kZUNvdW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbmV3UHJvcGVydHkgPVxuICAgICAgICAgICAgICAgICAgICBhYnN0cmFjdEhhbmRsZVBvc2l0aW9uID09PSBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uLnN0YXJ0ID8geyBzdGFydDogbG9jYXRpb25JbmRleCArIDEgfSA6IHsgZW5kOiBsb2NhdGlvbkluZGV4IH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZWYgPSBQbGFpdEVsZW1lbnQuZ2V0RWxlbWVudFJlZjxQbGFpdENvbW1vbkVsZW1lbnRSZWY+KGFjdGl2ZUFic3RyYWN0RWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVHZW5lcmF0b3IgPSByZWYuZ2V0R2VuZXJhdG9yPE5vZGVBY3RpdmVHZW5lcmF0b3I+KE5vZGVBY3RpdmVHZW5lcmF0b3Iua2V5KTtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUxvY2F0aW9uID0gdG9BY3RpdmVQb2ludEZyb21WaWV3Qm94UG9pbnQoYm9hcmQsIFtsb2NhdGlvbiwgbG9jYXRpb25dKTtcbiAgICAgICAgICAgIGFjdGl2ZUdlbmVyYXRvci51cGRhdGVBYnN0cmFjdE91dGxpbmUoXG4gICAgICAgICAgICAgICAgYWN0aXZlQWJzdHJhY3RFbGVtZW50LFxuICAgICAgICAgICAgICAgIGFic3RyYWN0SGFuZGxlUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgaXNIb3Jpem9udGFsID8gYWN0aXZlTG9jYXRpb25bMV0gOiBhY3RpdmVMb2NhdGlvblswXVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLnBvaW50ZXJVcCA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIHN0YXJ0UG9pbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGFic3RyYWN0SGFuZGxlUG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmIChhY3RpdmVBYnN0cmFjdEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChuZXdCb2FyZD8ub25BYnN0cmFjdFJlc2l6ZSkge1xuICAgICAgICAgICAgICAgIG5ld0JvYXJkLm9uQWJzdHJhY3RSZXNpemUoQWJzdHJhY3RSZXNpemVTdGF0ZS5lbmQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobmV3UHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgYWN0aXZlQWJzdHJhY3RFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGUoYm9hcmQsIG5ld1Byb3BlcnR5LCBwYXRoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmID0gUGxhaXRFbGVtZW50LmdldEVsZW1lbnRSZWY8UGxhaXRDb21tb25FbGVtZW50UmVmPihhY3RpdmVBYnN0cmFjdEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUdlbmVyYXRvciA9IHJlZi5nZXRHZW5lcmF0b3I8Tm9kZUFjdGl2ZUdlbmVyYXRvcj4oTm9kZUFjdGl2ZUdlbmVyYXRvci5rZXkpO1xuICAgICAgICAgICAgICAgIGFjdGl2ZUdlbmVyYXRvci51cGRhdGVBYnN0cmFjdE91dGxpbmUoYWN0aXZlQWJzdHJhY3RFbGVtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjdGl2ZUFic3RyYWN0RWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG4gICAgcmV0dXJuIGJvYXJkO1xufTtcbiJdfQ==
@@ -1,104 +0,0 @@
1
- import { BoardTransforms, PlaitBoard, PlaitPointerType, createG, getSelectedElements, throttleRAF, toHostPoint, toViewBoxPoint } from '@plait/core';
2
- import { MindPointerType } from '../interfaces/pointer';
3
- import { getRectangleByElement, getTopicRectangleByElement } from '../utils';
4
- import { drawRoundRectangleByElement } from '../utils/draw/node-shape';
5
- import { createEmptyMind } from '../utils/node/create-node';
6
- import { BoardCreationMode, TextManage, isDndMode, isDrawingMode, setCreationMode } from '@plait/common';
7
- import { MindTransforms } from '../transforms';
8
- const DefaultHotkey = 'm';
9
- export const withCreateMind = (board) => {
10
- const newBoard = board;
11
- const { keyDown, pointerDown, pointerMove, pointerUp } = board;
12
- let fakeCreateNodeRef = null;
13
- let emptyMind = null;
14
- newBoard.pointerDown = (event) => {
15
- const isMindPointer = PlaitBoard.isPointer(board, MindPointerType.mind);
16
- if (!PlaitBoard.isReadonly(board) && isDrawingMode(board) && isMindPointer) {
17
- const point = toViewBoxPoint(board, toHostPoint(board, event.x, event.y));
18
- const emptyMind = createEmptyMind(newBoard, point);
19
- MindTransforms.insertMind(board, emptyMind);
20
- BoardTransforms.updatePointerType(board, PlaitPointerType.selection);
21
- return;
22
- }
23
- pointerDown(event);
24
- };
25
- newBoard.pointerMove = (event) => {
26
- if (PlaitBoard.isReadonly(board)) {
27
- pointerMove(event);
28
- return;
29
- }
30
- const isMindPointer = PlaitBoard.isPointer(board, MindPointerType.mind);
31
- if (isDndMode(board) && isMindPointer) {
32
- throttleRAF(board, 'with-mind-create', () => {
33
- let movingPoint = PlaitBoard.getMovingPointInBoard(board);
34
- if (movingPoint) {
35
- movingPoint = toViewBoxPoint(newBoard, toHostPoint(board, movingPoint[0], movingPoint[1]));
36
- emptyMind = createEmptyMind(newBoard, movingPoint);
37
- const nodeRectangle = getRectangleByElement(newBoard, emptyMind);
38
- const nodeG = drawRoundRectangleByElement(board, nodeRectangle, emptyMind);
39
- const topicRectangle = getTopicRectangleByElement(newBoard, nodeRectangle, emptyMind);
40
- if (!fakeCreateNodeRef) {
41
- const textManage = new TextManage(board, {
42
- getRectangle: () => {
43
- return topicRectangle;
44
- }
45
- });
46
- textManage.draw(emptyMind.data.topic);
47
- fakeCreateNodeRef = {
48
- g: createG(),
49
- nodeG,
50
- textManage
51
- };
52
- fakeCreateNodeRef.g.classList.add('root');
53
- fakeCreateNodeRef.g.setAttribute('plait-mind-temporary', 'true');
54
- PlaitBoard.getHost(board).append(fakeCreateNodeRef.g);
55
- fakeCreateNodeRef.g.append(...[fakeCreateNodeRef.nodeG, textManage.g]);
56
- }
57
- else {
58
- fakeCreateNodeRef.textManage.updateRectangle(topicRectangle);
59
- fakeCreateNodeRef.nodeG.remove();
60
- fakeCreateNodeRef.nodeG = nodeG;
61
- fakeCreateNodeRef.g.append(nodeG);
62
- fakeCreateNodeRef.g.append(fakeCreateNodeRef.textManage.g);
63
- }
64
- }
65
- });
66
- }
67
- else {
68
- destroy();
69
- }
70
- pointerMove(event);
71
- };
72
- newBoard.pointerUp = (event) => {
73
- if (emptyMind) {
74
- MindTransforms.insertMind(board, emptyMind);
75
- BoardTransforms.updatePointerType(board, PlaitPointerType.selection);
76
- emptyMind = null;
77
- destroy();
78
- return;
79
- }
80
- pointerUp(event);
81
- };
82
- board.keyDown = (event) => {
83
- if (PlaitBoard.isReadonly(board) || getSelectedElements(board).length > 0) {
84
- keyDown(event);
85
- return;
86
- }
87
- if (event.key === DefaultHotkey && !PlaitBoard.isPointer(board, MindPointerType.mind)) {
88
- BoardTransforms.updatePointerType(board, MindPointerType.mind);
89
- setCreationMode(board, BoardCreationMode.drawing);
90
- event.preventDefault();
91
- return;
92
- }
93
- keyDown(event);
94
- };
95
- function destroy() {
96
- if (fakeCreateNodeRef) {
97
- fakeCreateNodeRef.textManage.destroy();
98
- fakeCreateNodeRef.g.remove();
99
- fakeCreateNodeRef = null;
100
- }
101
- }
102
- return newBoard;
103
- };
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLWNyZWF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1taW5kLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsV0FBVyxFQUNYLGNBQWMsRUFDakIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQztBQVExQixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDaEQsTUFBTSxRQUFRLEdBQUcsS0FBb0MsQ0FBQztJQUN0RCxNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQy9ELElBQUksaUJBQWlCLEdBQTZCLElBQUksQ0FBQztJQUN2RCxJQUFJLFNBQVMsR0FBdUIsSUFBSSxDQUFDO0lBRXpDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEVBQUU7UUFDM0MsTUFBTSxhQUFhLEdBQUcs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bUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNmLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLGFBQWEsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3BGLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9ELGVBQWUsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU87UUFDWCxDQUFDO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLFNBQVMsT0FBTztRQUNaLElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUNwQixpQkFBaUIsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdCLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQm9hcmRUcmFuc2Zvcm1zLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRQb2ludGVyVHlwZSxcbiAgICBjcmVhdGVHLFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHMsXG4gICAgdGhyb3R0bGVSQUYsXG4gICAgdG9Ib3N0UG9pbnQsXG4gICAgdG9WaWV3Qm94UG9pbnRcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBNaW5kUG9pbnRlclR5cGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvaW50ZXInO1xuaW1wb3J0IHsgZ2V0UmVjdGFuZ2xlQnlFbGVtZW50LCBnZXRUb3BpY1JlY3RhbmdsZUJ5RWxlbWVudCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGRyYXdSb3VuZFJlY3RhbmdsZUJ5RWxlbWVudCB9IGZyb20gJy4uL3V0aWxzL2RyYXcvbm9kZS1zaGFwZSc7XG5pbXBvcnQgeyBjcmVhdGVFbXB0eU1pbmQgfSBmcm9tICcuLi91dGlscy9ub2RlL2NyZWF0ZS1ub2RlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCb2FyZENyZWF0aW9uTW9kZSwgVGV4dE1hbmFnZSwgaXNEbmRNb2RlLCBpc0RyYXdpbmdNb2RlLCBzZXRDcmVhdGlvbk1vZGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IE1pbmRUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5cbmNvbnN0IERlZmF1bHRIb3RrZXkgPSAnbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFrZUNyZWF0ZU5vZGVSZWYge1xuICAgIGc6IFNWR0dFbGVtZW50O1xuICAgIG5vZGVHOiBTVkdHRWxlbWVudDtcbiAgICB0ZXh0TWFuYWdlOiBUZXh0TWFuYWdlO1xufVxuXG5leHBvcnQgY29uc3Qgd2l0aENyZWF0ZU1pbmQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBuZXdCb2FyZCA9IGJvYXJkIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRCb2FyZDtcbiAgICBjb25zdCB7IGtleURvd24sIHBvaW50ZXJEb3duLCBwb2ludGVyTW92ZSwgcG9pbnRlclVwIH0gPSBib2FyZDtcbiAgICBsZXQgZmFrZUNyZWF0ZU5vZGVSZWY6IEZha2VDcmVhdGVOb2RlUmVmIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGVtcHR5TWluZDogTWluZEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIG5ld0JvYXJkLnBvaW50ZXJEb3duID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3QgaXNNaW5kUG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNQb2ludGVyPE1pbmRQb2ludGVyVHlwZSB8IFBsYWl0UG9pbnRlclR5cGU+KGJvYXJkLCBNaW5kUG9pbnRlclR5cGUubWluZCk7XG4gICAgICAgIGlmICghUGxhaXRCb2FyZC5pc1JlYWRvbmx5KGJvYXJkKSAmJiBpc0RyYXdpbmdNb2RlKGJvYXJkKSAmJiBpc01pbmRQb2ludGVyKSB7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IHRvVmlld0JveFBvaW50KGJvYXJkLCB0b0hvc3RQb2ludChib2FyZCwgZXZlbnQueCwgZXZlbnQueSkpO1xuICAgICAgICAgICAgY29uc3QgZW1wdHlNaW5kID0gY3JlYXRlRW1wdHlNaW5kKG5ld0JvYXJkLCBwb2ludCk7XG4gICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5pbnNlcnRNaW5kKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbXB0eU1pbmQpO1xuICAgICAgICAgICAgQm9hcmRUcmFuc2Zvcm1zLnVwZGF0ZVBvaW50ZXJUeXBlKGJvYXJkLCBQbGFpdFBvaW50ZXJUeXBlLnNlbGVjdGlvbik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcG9pbnRlckRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBuZXdCb2FyZC5wb2ludGVyTW92ZSA9IChldmVudDogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpKSB7XG4gICAgICAgICAgICBwb2ludGVyTW92ZShldmVudCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNNaW5kUG9pbnRlciA9IFBsYWl0Qm9hcmQuaXNQb2ludGVyPE1pbmRQb2ludGVyVHlwZSB8IFBsYWl0UG9pbnRlclR5cGU+KGJvYXJkLCBNaW5kUG9pbnRlclR5cGUubWluZCk7XG4gICAgICAgIGlmIChpc0RuZE1vZGUoYm9hcmQpICYmIGlzTWluZFBvaW50ZXIpIHtcbiAgICAgICAgICAgIHRocm90dGxlUkFGKGJvYXJkLCAnd2l0aC1taW5kLWNyZWF0ZScsICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgbW92aW5nUG9pbnQgPSBQbGFpdEJvYXJkLmdldE1vdmluZ1BvaW50SW5Cb2FyZChib2FyZCk7XG5cbiAgICAgICAgICAgICAgICBpZiAobW92aW5nUG9pbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbW92aW5nUG9pbnQgPSB0b1ZpZXdCb3hQb2ludChuZXdCb2FyZCwgdG9Ib3N0UG9pbnQoYm9hcmQsIG1vdmluZ1BvaW50WzBdLCBtb3ZpbmdQb2ludFsxXSkpO1xuICAgICAgICAgICAgICAgICAgICBlbXB0eU1pbmQgPSBjcmVhdGVFbXB0eU1pbmQobmV3Qm9hcmQsIG1vdmluZ1BvaW50KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZVJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5RWxlbWVudChuZXdCb2FyZCwgZW1wdHlNaW5kKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZUcgPSBkcmF3Um91bmRSZWN0YW5nbGVCeUVsZW1lbnQoYm9hcmQsIG5vZGVSZWN0YW5nbGUsIGVtcHR5TWluZCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRvcGljUmVjdGFuZ2xlID0gZ2V0VG9waWNSZWN0YW5nbGVCeUVsZW1lbnQobmV3Qm9hcmQsIG5vZGVSZWN0YW5nbGUsIGVtcHR5TWluZCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghZmFrZUNyZWF0ZU5vZGVSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRNYW5hZ2UgPSBuZXcgVGV4dE1hbmFnZShib2FyZCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG9waWNSZWN0YW5nbGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlLmRyYXcoZW1wdHlNaW5kIS5kYXRhLnRvcGljKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZha2VDcmVhdGVOb2RlUmVmID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGc6IGNyZWF0ZUcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlRyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0TWFuYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYuZy5jbGFzc0xpc3QuYWRkKCdyb290Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZi5nLnNldEF0dHJpYnV0ZSgncGxhaXQtbWluZC10ZW1wb3JhcnknLCAndHJ1ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKS5hcHBlbmQoZmFrZUNyZWF0ZU5vZGVSZWYuZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZi5nLmFwcGVuZCguLi5bZmFrZUNyZWF0ZU5vZGVSZWYubm9kZUcsIHRleHRNYW5hZ2UuZ10pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYudGV4dE1hbmFnZS51cGRhdGVSZWN0YW5nbGUodG9waWNSZWN0YW5nbGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYubm9kZUcucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZi5ub2RlRyA9IG5vZGVHO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYuZy5hcHBlbmQobm9kZUcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYuZy5hcHBlbmQoZmFrZUNyZWF0ZU5vZGVSZWYudGV4dE1hbmFnZS5nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgICAgIHBvaW50ZXJNb3ZlKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgbmV3Qm9hcmQucG9pbnRlclVwID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGVtcHR5TWluZCkge1xuICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuaW5zZXJ0TWluZChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZW1wdHlNaW5kKTtcbiAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVQb2ludGVyVHlwZShib2FyZCwgUGxhaXRQb2ludGVyVHlwZS5zZWxlY3Rpb24pO1xuICAgICAgICAgICAgZW1wdHlNaW5kID0gbnVsbDtcbiAgICAgICAgICAgIGRlc3Ryb3koKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBwb2ludGVyVXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5rZXlEb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpIHx8IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGtleURvd24oZXZlbnQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09IERlZmF1bHRIb3RrZXkgJiYgIVBsYWl0Qm9hcmQuaXNQb2ludGVyKGJvYXJkLCBNaW5kUG9pbnRlclR5cGUubWluZCkpIHtcbiAgICAgICAgICAgIEJvYXJkVHJhbnNmb3Jtcy51cGRhdGVQb2ludGVyVHlwZShib2FyZCwgTWluZFBvaW50ZXJUeXBlLm1pbmQpO1xuICAgICAgICAgICAgc2V0Q3JlYXRpb25Nb2RlKGJvYXJkLCBCb2FyZENyZWF0aW9uTW9kZS5kcmF3aW5nKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAga2V5RG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGRlc3Ryb3koKSB7XG4gICAgICAgIGlmIChmYWtlQ3JlYXRlTm9kZVJlZikge1xuICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYudGV4dE1hbmFnZS5kZXN0cm95KCk7XG4gICAgICAgICAgICBmYWtlQ3JlYXRlTm9kZVJlZi5nLnJlbW92ZSgpO1xuICAgICAgICAgICAgZmFrZUNyZWF0ZU5vZGVSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ld0JvYXJkO1xufTtcbiJdfQ==
@@ -1,7 +0,0 @@
1
- import { WithMindPluginKey } from '../constants/default';
2
- export const withMindExtend = (board) => {
3
- const newBoard = board;
4
- board.setPluginOptions(WithMindPluginKey, { spaceBetweenEmojis: 4, emojiPadding: 0 });
5
- return newBoard;
6
- };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLWV4dGVuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1taW5kLWV4dGVuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDaEQsTUFBTSxRQUFRLEdBQUcsS0FBb0MsQ0FBQztJQUVyRCxLQUEyQixDQUFDLGdCQUFnQixDQUFrQixpQkFBaUIsRUFBRSxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUU5SCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdE9wdGlvbnNCb2FyZCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgV2l0aE1pbmRPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9vcHRpb25zJztcbmltcG9ydCB7IFdpdGhNaW5kUGx1Z2luS2V5IH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlZmF1bHQnO1xuXG5leHBvcnQgY29uc3Qgd2l0aE1pbmRFeHRlbmQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBuZXdCb2FyZCA9IGJvYXJkIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRCb2FyZDtcblxuICAgIChib2FyZCBhcyBQbGFpdE9wdGlvbnNCb2FyZCkuc2V0UGx1Z2luT3B0aW9uczxXaXRoTWluZE9wdGlvbnM+KFdpdGhNaW5kUGx1Z2luS2V5LCB7IHNwYWNlQmV0d2VlbkVtb2ppczogNCwgZW1vamlQYWRkaW5nOiAwIH0pO1xuXG4gICAgcmV0dXJuIG5ld0JvYXJkO1xufTtcbiJdfQ==
@@ -1,101 +0,0 @@
1
- import { Path, PlaitBoard, PlaitNode, WritableClipboardType, addOrCreateClipboardContext, addSelectedElement } from '@plait/core';
2
- import { MindElement } from '../interfaces';
3
- import { AbstractNode } from '@plait/layouts';
4
- import { getFirstLevelElement } from '../utils/mind';
5
- import { deleteElementsHandleRightNodeCount } from '../utils/node/right-node-count';
6
- import { MindTransforms } from '../transforms';
7
- import { deleteElementHandleAbstract } from '../utils/abstract/common';
8
- import { getSelectedMindElements } from '../utils/node/common';
9
- import { buildClipboardData, insertClipboardData, insertClipboardText } from '../utils/clipboard';
10
- import { buildText, getElementsText } from '@plait/common';
11
- export const withMindFragment = (baseBoard) => {
12
- const board = baseBoard;
13
- let firstLevelElements;
14
- const { getDeletedFragment, insertFragment, buildFragment, deleteFragment } = board;
15
- board.getDeletedFragment = (data) => {
16
- const targetMindElements = getSelectedMindElements(board);
17
- if (targetMindElements.length) {
18
- firstLevelElements = getFirstLevelElement(targetMindElements).reverse();
19
- const abstractRefs = deleteElementHandleAbstract(board, firstLevelElements);
20
- MindTransforms.setAbstractsByRefs(board, abstractRefs);
21
- const refs = deleteElementsHandleRightNodeCount(board, targetMindElements);
22
- MindTransforms.setRightNodeCountByRefs(board, refs);
23
- const deletableElements = getFirstLevelElement(targetMindElements);
24
- data.push(...deletableElements);
25
- }
26
- return getDeletedFragment(data);
27
- };
28
- board.deleteFragment = (elements) => {
29
- deleteFragment(elements);
30
- if (firstLevelElements) {
31
- const nextSelected = getNextSelectedElement(board, firstLevelElements);
32
- if (nextSelected) {
33
- addSelectedElement(board, nextSelected);
34
- }
35
- firstLevelElements = null;
36
- }
37
- };
38
- board.buildFragment = (clipboardContext, rectangle, operationType, originData) => {
39
- const targetMindElements = getSelectedMindElements(board, originData);
40
- const firstLevelElements = getFirstLevelElement(targetMindElements);
41
- if (firstLevelElements.length) {
42
- const elements = buildClipboardData(board, firstLevelElements, rectangle ? [rectangle.x, rectangle.y] : [0, 0]);
43
- const text = getElementsText(targetMindElements);
44
- const addition = {
45
- text,
46
- type: WritableClipboardType.elements,
47
- elements: elements
48
- };
49
- clipboardContext = addOrCreateClipboardContext(clipboardContext, addition);
50
- }
51
- return buildFragment(clipboardContext, rectangle, operationType, originData);
52
- };
53
- board.insertFragment = (clipboardData, targetPoint, operationType) => {
54
- if (clipboardData?.elements?.length) {
55
- const mindElements = clipboardData.elements?.filter(value => MindElement.isMindElement(board, value));
56
- if (mindElements && mindElements.length > 0) {
57
- insertClipboardData(board, mindElements, targetPoint, operationType);
58
- }
59
- }
60
- if (clipboardData?.text) {
61
- const mindElements = getSelectedMindElements(board);
62
- if (mindElements.length === 1) {
63
- insertClipboardText(board, mindElements[0], buildText(clipboardData.text));
64
- return;
65
- }
66
- }
67
- insertFragment(clipboardData, targetPoint, operationType);
68
- };
69
- return board;
70
- };
71
- export const getNextSelectedElement = (board, firstLevelElements) => {
72
- let activeElement;
73
- const firstLevelElement = firstLevelElements[0];
74
- const firstLevelElementPath = PlaitBoard.findPath(board, firstLevelElement);
75
- let nextSelectedPath = firstLevelElementPath;
76
- if (Path.hasPrevious(firstLevelElementPath)) {
77
- nextSelectedPath = Path.previous(firstLevelElementPath);
78
- }
79
- if (AbstractNode.isAbstract(firstLevelElement)) {
80
- const parent = MindElement.getParent(firstLevelElement);
81
- if (!firstLevelElements.includes(parent.children[firstLevelElement.start])) {
82
- activeElement = parent.children[firstLevelElement.start];
83
- }
84
- }
85
- try {
86
- if (!activeElement) {
87
- activeElement = PlaitNode.get(board, nextSelectedPath);
88
- }
89
- }
90
- catch (error) { }
91
- const firstElement = firstLevelElements[0];
92
- const firstElementParent = MindElement.findParent(firstElement);
93
- const hasSameParent = firstLevelElements.every(element => {
94
- return MindElement.findParent(element) === firstElementParent;
95
- });
96
- if (firstElementParent && hasSameParent && !activeElement) {
97
- activeElement = firstElementParent;
98
- }
99
- return activeElement;
100
- };
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLWZyYWdtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW1pbmQtZnJhZ21lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILElBQUksRUFDSixVQUFVLEVBRVYsU0FBUyxFQUtULHFCQUFxQixFQUNyQiwyQkFBMkIsRUFDM0Isa0JBQWtCLEVBQ3JCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBcUIsRUFBRSxFQUFFO0lBQ3RELE1BQU0sS0FBSyxHQUFHLFNBQXdDLENBQUM7SUFDdkQsSUFBSSxrQkFBd0MsQ0FBQztJQUM3QyxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFcEYsS0FBSyxDQUFDLGtCQUFrQixHQUFHLENBQUMsSUFBb0Is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QyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6RSxhQUFhLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqQixhQUFhLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBYyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQSxDQUFDO0lBRWxCLE1BQU0sWUFBWSxHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sa0JBQWtCLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRSxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDckQsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLGtCQUFrQixDQUFDO0lBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxrQkFBa0IsSUFBSSxhQUFhLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4RCxhQUFhLEdBQUcsa0JBQWtCLENBQUM7SUFDdkMsQ0FBQztJQUNELE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2xpcGJvYXJkRGF0YSxcbiAgICBQYXRoLFxuICAgIFBsYWl0Qm9hcmQsXG4gICAgUGxhaXRFbGVtZW50LFxuICAgIFBsYWl0Tm9kZSxcbiAgICBQb2ludCxcbiAgICBSZWN0YW5nbGVDbGllbnQsXG4gICAgV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0LFxuICAgIFdyaXRhYmxlQ2xpcGJvYXJkT3BlcmF0aW9uVHlwZSxcbiAgICBXcml0YWJsZUNsaXBib2FyZFR5cGUsXG4gICAgYWRkT3JDcmVhdGVDbGlwYm9hcmRDb250ZXh0LFxuICAgIGFkZFNlbGVjdGVkRWxlbWVudFxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgZ2V0Rmlyc3RMZXZlbEVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9taW5kJztcbmltcG9ydCB7IGRlbGV0ZUVsZW1lbnRzSGFuZGxlUmlnaHROb2RlQ291bnQgfSBmcm9tICcuLi91dGlscy9ub2RlL3JpZ2h0LW5vZGUtY291bnQnO1xuaW1wb3J0IHsgTWluZFRyYW5zZm9ybXMgfSBmcm9tICcuLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdCB9IGZyb20gJy4uL3V0aWxzL2Fic3RyYWN0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRTZWxlY3RlZE1pbmRFbGVtZW50cyB9IGZyb20gJy4uL3V0aWxzL25vZGUvY29tbW9uJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgYnVpbGRDbGlwYm9hcmREYXRhLCBpbnNlcnRDbGlwYm9hcmREYXRhLCBpbnNlcnRDbGlwYm9hcmRUZXh0IH0gZnJvbSAnLi4vdXRpbHMvY2xpcGJvYXJkJztcbmltcG9ydCB7IGJ1aWxkVGV4dCwgZ2V0RWxlbWVudHNUZXh0IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCB3aXRoTWluZEZyYWdtZW50ID0gKGJhc2VCb2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IGJvYXJkID0gYmFzZUJvYXJkIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRCb2FyZDtcbiAgICBsZXQgZmlyc3RMZXZlbEVsZW1lbnRzOiBNaW5kRWxlbWVudFtdIHwgbnVsbDtcbiAgICBjb25zdCB7IGdldERlbGV0ZWRGcmFnbWVudCwgaW5zZXJ0RnJhZ21lbnQsIGJ1aWxkRnJhZ21lbnQsIGRlbGV0ZUZyYWdtZW50IH0gPSBib2FyZDtcblxuICAgIGJvYXJkLmdldERlbGV0ZWRGcmFnbWVudCA9IChkYXRhOiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRNaW5kRWxlbWVudHMgPSBnZXRTZWxlY3RlZE1pbmRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIGlmICh0YXJnZXRNaW5kRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBmaXJzdExldmVsRWxlbWVudHMgPSBnZXRGaXJzdExldmVsRWxlbWVudCh0YXJnZXRNaW5kRWxlbWVudHMpLnJldmVyc2UoKTtcbiAgICAgICAgICAgIGNvbnN0IGFic3RyYWN0UmVmcyA9IGRlbGV0ZUVsZW1lbnRIYW5kbGVBYnN0cmFjdChib2FyZCwgZmlyc3RMZXZlbEVsZW1lbnRzKTtcbiAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldEFic3RyYWN0c0J5UmVmcyhib2FyZCwgYWJzdHJhY3RSZWZzKTtcbiAgICAgICAgICAgIGNvbnN0IHJlZnMgPSBkZWxldGVFbGVtZW50c0hhbmRsZVJpZ2h0Tm9kZUNvdW50KGJvYXJkLCB0YXJnZXRNaW5kRWxlbWVudHMpO1xuICAgICAgICAgICAgTWluZFRyYW5zZm9ybXMuc2V0UmlnaHROb2RlQ291bnRCeVJlZnMoYm9hcmQsIHJlZnMpO1xuICAgICAgICAgICAgY29uc3QgZGVsZXRhYmxlRWxlbWVudHMgPSBnZXRGaXJzdExldmVsRWxlbWVudCh0YXJnZXRNaW5kRWxlbWVudHMpO1xuICAgICAgICAgICAgZGF0YS5wdXNoKC4uLmRlbGV0YWJsZUVsZW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZ2V0RGVsZXRlZEZyYWdtZW50KGRhdGEpO1xuICAgIH07XG5cbiAgICBib2FyZC5kZWxldGVGcmFnbWVudCA9IChlbGVtZW50czogUGxhaXRFbGVtZW50W10pID0+IHtcbiAgICAgICAgZGVsZXRlRnJhZ21lbnQoZWxlbWVudHMpO1xuICAgICAgICBpZiAoZmlyc3RMZXZlbEVsZW1lbnRzKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0U2VsZWN0ZWQgPSBnZXROZXh0U2VsZWN0ZWRFbGVtZW50KGJvYXJkLCBmaXJzdExldmVsRWxlbWVudHMpO1xuICAgICAgICAgICAgaWYgKG5leHRTZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGFkZFNlbGVjdGVkRWxlbWVudChib2FyZCwgbmV4dFNlbGVjdGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpcnN0TGV2ZWxFbGVtZW50cyA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgYm9hcmQuYnVpbGRGcmFnbWVudCA9IChcbiAgICAgICAgY2xpcGJvYXJkQ29udGV4dDogV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0IHwgbnVsbCxcbiAgICAgICAgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQgfCBudWxsLFxuICAgICAgICBvcGVyYXRpb25UeXBlOiBXcml0YWJsZUNsaXBib2FyZE9wZXJhdGlvblR5cGUsXG4gICAgICAgIG9yaWdpbkRhdGE/OiBQbGFpdEVsZW1lbnRbXVxuICAgICkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXRNaW5kRWxlbWVudHMgPSBnZXRTZWxlY3RlZE1pbmRFbGVtZW50cyhib2FyZCwgb3JpZ2luRGF0YSk7XG4gICAgICAgIGNvbnN0IGZpcnN0TGV2ZWxFbGVtZW50cyA9IGdldEZpcnN0TGV2ZWxFbGVtZW50KHRhcmdldE1pbmRFbGVtZW50cyk7XG4gICAgICAgIGlmIChmaXJzdExldmVsRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IGJ1aWxkQ2xpcGJvYXJkRGF0YShib2FyZCwgZmlyc3RMZXZlbEVsZW1lbnRzLCByZWN0YW5nbGUgPyBbcmVjdGFuZ2xlLngsIHJlY3RhbmdsZS55XSA6IFswLCAwXSk7XG4gICAgICAgICAgICBjb25zdCB0ZXh0ID0gZ2V0RWxlbWVudHNUZXh0KHRhcmdldE1pbmRFbGVtZW50cyk7XG4gICAgICAgICAgICBjb25zdCBhZGRpdGlvbjogV3JpdGFibGVDbGlwYm9hcmRDb250ZXh0ID0ge1xuICAgICAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICAgICAgdHlwZTogV3JpdGFibGVDbGlwYm9hcmRUeXBlLmVsZW1lbnRzLFxuICAgICAgICAgICAgICAgIGVsZW1lbnRzOiBlbGVtZW50c1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNsaXBib2FyZENvbnRleHQgPSBhZGRPckNyZWF0ZUNsaXBib2FyZENvbnRleHQoY2xpcGJvYXJkQ29udGV4dCwgYWRkaXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBidWlsZEZyYWdtZW50KGNsaXBib2FyZENvbnRleHQsIHJlY3RhbmdsZSwgb3BlcmF0aW9uVHlwZSwgb3JpZ2luRGF0YSk7XG4gICAgfTtcblxuICAgIGJvYXJkLmluc2VydEZyYWdtZW50ID0gKGNsaXBib2FyZERhdGE6IENsaXBib2FyZERhdGEgfCBudWxsLCB0YXJnZXRQb2ludDogUG9pbnQsIG9wZXJhdGlvblR5cGU/OiBXcml0YWJsZUNsaXBib2FyZE9wZXJhdGlvblR5cGUpID0+IHtcbiAgICAgICAgaWYgKGNsaXBib2FyZERhdGE/LmVsZW1lbnRzPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IG1pbmRFbGVtZW50cyA9IGNsaXBib2FyZERhdGEuZWxlbWVudHM/LmZpbHRlcih2YWx1ZSA9PiBNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCB2YWx1ZSkpO1xuICAgICAgICAgICAgaWYgKG1pbmRFbGVtZW50cyAmJiBtaW5kRWxlbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGluc2VydENsaXBib2FyZERhdGEoYm9hcmQsIG1pbmRFbGVtZW50cywgdGFyZ2V0UG9pbnQsIG9wZXJhdGlvblR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjbGlwYm9hcmREYXRhPy50ZXh0KSB7XG4gICAgICAgICAgICBjb25zdCBtaW5kRWxlbWVudHMgPSBnZXRTZWxlY3RlZE1pbmRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgICAgICBpZiAobWluZEVsZW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGluc2VydENsaXBib2FyZFRleHQoYm9hcmQsIG1pbmRFbGVtZW50c1swXSwgYnVpbGRUZXh0KGNsaXBib2FyZERhdGEudGV4dCkpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGluc2VydEZyYWdtZW50KGNsaXBib2FyZERhdGEsIHRhcmdldFBvaW50LCBvcGVyYXRpb25UeXBlKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5leHRTZWxlY3RlZEVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGZpcnN0TGV2ZWxFbGVtZW50czogTWluZEVsZW1lbnRbXSkgPT4ge1xuICAgIGxldCBhY3RpdmVFbGVtZW50OiBNaW5kRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBmaXJzdExldmVsRWxlbWVudCA9IGZpcnN0TGV2ZWxFbGVtZW50c1swXTtcbiAgICBjb25zdCBmaXJzdExldmVsRWxlbWVudFBhdGggPSBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCBmaXJzdExldmVsRWxlbWVudCk7XG5cbiAgICBsZXQgbmV4dFNlbGVjdGVkUGF0aCA9IGZpcnN0TGV2ZWxFbGVtZW50UGF0aDtcbiAgICBpZiAoUGF0aC5oYXNQcmV2aW91cyhmaXJzdExldmVsRWxlbWVudFBhdGgpKSB7XG4gICAgICAgIG5leHRTZWxlY3RlZFBhdGggPSBQYXRoLnByZXZpb3VzKGZpcnN0TGV2ZWxFbGVtZW50UGF0aCk7XG4gICAgfVxuXG4gICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGZpcnN0TGV2ZWxFbGVtZW50KSkge1xuICAgICAgICBjb25zdCBwYXJlbnQgPSBNaW5kRWxlbWVudC5nZXRQYXJlbnQoZmlyc3RMZXZlbEVsZW1lbnQpO1xuICAgICAgICBpZiAoIWZpcnN0TGV2ZWxFbGVtZW50cy5pbmNsdWRlcyhwYXJlbnQuY2hpbGRyZW5bZmlyc3RMZXZlbEVsZW1lbnQuc3RhcnRdKSkge1xuICAgICAgICAgICAgYWN0aXZlRWxlbWVudCA9IHBhcmVudC5jaGlsZHJlbltmaXJzdExldmVsRWxlbWVudC5zdGFydF07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgICBpZiAoIWFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGFjdGl2ZUVsZW1lbnQgPSBQbGFpdE5vZGUuZ2V0PE1pbmRFbGVtZW50Pihib2FyZCwgbmV4dFNlbGVjdGVkUGF0aCk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge31cblxuICAgIGNvbnN0IGZpcnN0RWxlbWVudCA9IGZpcnN0TGV2ZWxFbGVtZW50c1swXTtcbiAgICBjb25zdCBmaXJzdEVsZW1lbnRQYXJlbnQgPSBNaW5kRWxlbWVudC5maW5kUGFyZW50KGZpcnN0RWxlbWVudCk7XG4gICAgY29uc3QgaGFzU2FtZVBhcmVudCA9IGZpcnN0TGV2ZWxFbGVtZW50cy5ldmVyeShlbGVtZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIE1pbmRFbGVtZW50LmZpbmRQYXJlbnQoZWxlbWVudCkgPT09IGZpcnN0RWxlbWVudFBhcmVudDtcbiAgICB9KTtcbiAgICBpZiAoZmlyc3RFbGVtZW50UGFyZW50ICYmIGhhc1NhbWVQYXJlbnQgJiYgIWFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgYWN0aXZlRWxlbWVudCA9IGZpcnN0RWxlbWVudFBhcmVudDtcbiAgICB9XG4gICAgcmV0dXJuIGFjdGl2ZUVsZW1lbnQ7XG59O1xuIl19
@@ -1,62 +0,0 @@
1
- import { PlaitBoard, Transforms, getSelectedElements } from '@plait/core';
2
- import { MindElement, PlaitMind } from '../interfaces';
3
- import { AbstractNode } from '@plait/layouts';
4
- import { MindTransforms } from '../transforms';
5
- import { editTopic } from '../utils/node/common';
6
- import { isSpaceHotkey, isExpandHotkey, isTabHotkey, isEnterHotkey, isVirtualKey, isDelete, getFirstTextManage } from '@plait/common';
7
- import { isHotkey } from 'is-hotkey';
8
- export const withMindHotkey = (baseBoard) => {
9
- const board = baseBoard;
10
- const { keyDown, globalKeyDown } = board;
11
- board.keyDown = (event) => {
12
- const selectedElements = getSelectedElements(board);
13
- const isSingleSelection = selectedElements.length === 1;
14
- const isSingleMindElement = selectedElements.length === 1 && MindElement.isMindElement(board, selectedElements[0]);
15
- const targetElement = selectedElements[0];
16
- if (isExpandHotkey(event) && isSingleMindElement && !PlaitMind.isMind(targetElement)) {
17
- if (targetElement.children && targetElement.children.length > 0) {
18
- Transforms.setNode(board, { isCollapsed: targetElement.isCollapsed ? false : true }, PlaitBoard.findPath(board, targetElement));
19
- return;
20
- }
21
- }
22
- if (!PlaitBoard.isReadonly(board)) {
23
- if (isTabHotkey(event) && isSingleMindElement) {
24
- event.preventDefault();
25
- MindTransforms.insertChildNode(board, targetElement);
26
- return;
27
- }
28
- if (isEnterHotkey(event) &&
29
- isSingleMindElement &&
30
- !PlaitMind.isMind(targetElement) &&
31
- !AbstractNode.isAbstract(targetElement)) {
32
- MindTransforms.insertSiblingNode(board, targetElement);
33
- return;
34
- }
35
- if (!isVirtualKey(event) &&
36
- !isDelete(event) &&
37
- !isSpaceHotkey(event) &&
38
- isSingleSelection &&
39
- MindElement.isMindElement(board, targetElement)) {
40
- event.preventDefault();
41
- editTopic(targetElement);
42
- return;
43
- }
44
- }
45
- keyDown(event);
46
- };
47
- board.globalKeyDown = (event) => {
48
- if (PlaitBoard.isFocus(board) && PlaitBoard.hasBeenTextEditing(board)) {
49
- if (isHotkey('mod+z', event)) {
50
- const { history } = board;
51
- const { undos } = history;
52
- const previousOp = undos.length > 0 ? undos[undos.length - 1][0] : undefined;
53
- if (previousOp && previousOp.type === 'insert_node' && MindElement.isMindElement(board, previousOp.node) && getFirstTextManage(previousOp.node).isEditing) {
54
- board.undo();
55
- }
56
- }
57
- }
58
- globalKeyDown(event);
59
- };
60
- return board;
61
- };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLWhvdGtleS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1taW5kLWhvdGtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBcUIsRUFBRSxFQUFFO0lBQ3BELE1BQU0sS0FBSyxHQUFHLFNBQXdDLENBQUM7SUFDdkQsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFekMsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUNyQyxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE1BQU0saUJBQWlCLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztRQUN4RCxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksV0FBVyxDQUFDLGFBQWEsQ0FBQyxL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O2dCQUNqQixDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUM7UUFDRCxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgVHJhbnNmb3JtcywgZ2V0U2VsZWN0ZWRFbGVtZW50cyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50LCBQbGFpdE1pbmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFic3RyYWN0Tm9kZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IE1pbmRUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBlZGl0VG9waWMgfSBmcm9tICcuLi91dGlscy9ub2RlL2NvbW1vbic7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4vd2l0aC1taW5kLmJvYXJkJztcbmltcG9ydCB7IGlzU3BhY2VIb3RrZXksIGlzRXhwYW5kSG90a2V5LCBpc1RhYkhvdGtleSwgaXNFbnRlckhvdGtleSwgaXNWaXJ0dWFsS2V5LCBpc0RlbGV0ZSwgZ2V0Rmlyc3RUZXh0TWFuYWdlIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBpc0hvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5cbmV4cG9ydCBjb25zdCB3aXRoTWluZEhvdGtleSA9IChiYXNlQm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBjb25zdCBib2FyZCA9IGJhc2VCb2FyZCBhcyBQbGFpdEJvYXJkICYgUGxhaXRNaW5kQm9hcmQ7XG4gICAgY29uc3QgeyBrZXlEb3duLCBnbG9iYWxLZXlEb3duIH0gPSBib2FyZDtcblxuICAgIGJvYXJkLmtleURvd24gPSAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBjb25zdCBpc1NpbmdsZVNlbGVjdGlvbiA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxO1xuICAgICAgICBjb25zdCBpc1NpbmdsZU1pbmRFbGVtZW50ID0gc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGggPT09IDEgJiYgTWluZEVsZW1lbnQuaXNNaW5kRWxlbWVudChib2FyZCwgc2VsZWN0ZWRFbGVtZW50c1swXSk7XG4gICAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBzZWxlY3RlZEVsZW1lbnRzWzBdIGFzIE1pbmRFbGVtZW50O1xuXG4gICAgICAgIGlmIChpc0V4cGFuZEhvdGtleShldmVudCkgJiYgaXNTaW5nbGVNaW5kRWxlbWVudCAmJiAhUGxhaXRNaW5kLmlzTWluZCh0YXJnZXRFbGVtZW50KSkge1xuICAgICAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQuY2hpbGRyZW4gJiYgdGFyZ2V0RWxlbWVudC5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlKFxuICAgICAgICAgICAgICAgICAgICBib2FyZCxcbiAgICAgICAgICAgICAgICAgICAgeyBpc0NvbGxhcHNlZDogdGFyZ2V0RWxlbWVudC5pc0NvbGxhcHNlZCA/IGZhbHNlIDogdHJ1ZSB9LFxuICAgICAgICAgICAgICAgICAgICBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCB0YXJnZXRFbGVtZW50KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFQbGFpdEJvYXJkLmlzUmVhZG9ubHkoYm9hcmQpKSB7XG4gICAgICAgICAgICBpZiAoaXNUYWJIb3RrZXkoZXZlbnQpICYmIGlzU2luZ2xlTWluZEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLmluc2VydENoaWxkTm9kZShib2FyZCwgdGFyZ2V0RWxlbWVudCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgaXNFbnRlckhvdGtleShldmVudCkgJiZcbiAgICAgICAgICAgICAgICBpc1NpbmdsZU1pbmRFbGVtZW50ICYmXG4gICAgICAgICAgICAgICAgIVBsYWl0TWluZC5pc01pbmQodGFyZ2V0RWxlbWVudCkgJiZcbiAgICAgICAgICAgICAgICAhQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QodGFyZ2V0RWxlbWVudClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLmluc2VydFNpYmxpbmdOb2RlKGJvYXJkLCB0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhaXNWaXJ0dWFsS2V5KGV2ZW50KSAmJlxuICAgICAgICAgICAgICAgICFpc0RlbGV0ZShldmVudCkgJiZcbiAgICAgICAgICAgICAgICAhaXNTcGFjZUhvdGtleShldmVudCkgJiZcbiAgICAgICAgICAgICAgICBpc1NpbmdsZVNlbGVjdGlvbiAmJlxuICAgICAgICAgICAgICAgIE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIHRhcmdldEVsZW1lbnQpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGVkaXRUb3BpYyh0YXJnZXRFbGVtZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBrZXlEb3duKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgYm9hcmQuZ2xvYmFsS2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoUGxhaXRCb2FyZC5pc0ZvY3VzKGJvYXJkKSAmJiBQbGFpdEJvYXJkLmhhc0JlZW5UZXh0RWRpdGluZyhib2FyZCkpIHtcbiAgICAgICAgICAgIGlmIChpc0hvdGtleSgnbW9kK3onLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGhpc3RvcnkgfSA9IGJvYXJkO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgdW5kb3MgfSA9IGhpc3Rvcnk7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNPcCA9ICB1bmRvcy5sZW5ndGggPiAwID8gdW5kb3NbdW5kb3MubGVuZ3RoIC0gMV1bMF0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgaWYgKHByZXZpb3VzT3AgJiYgcHJldmlvdXNPcC50eXBlID09PSAnaW5zZXJ0X25vZGUnICYmIE1pbmRFbGVtZW50LmlzTWluZEVsZW1lbnQoYm9hcmQsIHByZXZpb3VzT3Aubm9kZSkgJiYgZ2V0Rmlyc3RUZXh0TWFuYWdlKHByZXZpb3VzT3Aubm9kZSkuaXNFZGl0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvYXJkLnVuZG8oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZ2xvYmFsS2V5RG93bihldmVudCk7XG4gICAgfTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1taW5kLmJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0QWJzdHJhY3RCb2FyZCB9IGZyb20gJy4vd2l0aC1hYnN0cmFjdC1yZXNpemUuYm9hcmQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0TWluZEJvYXJkIGV4dGVuZHMgUGxhaXRBYnN0cmFjdEJvYXJkIHt9XG4iXX0=