@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,103 +0,0 @@
1
- import { isIndentedLayout } from '@plait/layouts';
2
- import { isNullOrUndefined, NODE_TO_PARENT, Path, PlaitBoard, PlaitNode } from '@plait/core';
3
- import { MindQueries } from '../queries';
4
- import { ELEMENT_TO_NODE } from '../utils';
5
- export const PlaitMind = {
6
- isMind: (value) => {
7
- return value.type === 'mindmap';
8
- }
9
- };
10
- export const MindElement = {
11
- hasLayout(value, layout) {
12
- const _layout = MindQueries.getLayoutByElement(value);
13
- return _layout === layout;
14
- },
15
- isIndentedLayout(value) {
16
- const _layout = MindQueries.getLayoutByElement(value);
17
- return isIndentedLayout(_layout);
18
- },
19
- isMindElement(board, element) {
20
- // Design error: The type of the element should be identified based on type.
21
- // Now it is very awkward whether it is dynamically calculated(query root node) or using other characteristic attributes(current).
22
- // Using dynamically calculated will cause more issue like pasting from clipboard, finding elements by id(isRecursion)
23
- if (element.data && element.data.topic && !isNullOrUndefined(element.width) && !isNullOrUndefined(element.height)) {
24
- return true;
25
- }
26
- else {
27
- return false;
28
- }
29
- },
30
- getParent(node) {
31
- if (PlaitMind.isMind(node)) {
32
- throw new Error('mind root node can not get parent');
33
- }
34
- const parent = NODE_TO_PARENT.get(node);
35
- return parent;
36
- },
37
- findParent(node) {
38
- if (PlaitMind.isMind(node)) {
39
- return undefined;
40
- }
41
- const parent = NODE_TO_PARENT.get(node);
42
- return parent;
43
- },
44
- getRoot(board, element) {
45
- const path = PlaitBoard.findPath(board, element);
46
- return PlaitNode.get(board, path.slice(0, 1));
47
- },
48
- getAncestors(board, element) {
49
- const path = PlaitBoard.findPath(board, element);
50
- const parents = [];
51
- for (const p of Path.ancestors(path, { reverse: true })) {
52
- const n = PlaitNode.get(board, p);
53
- if (n && !PlaitBoard.isBoard(n)) {
54
- parents.push(n);
55
- }
56
- }
57
- return parents;
58
- },
59
- getNode(element) {
60
- const node = ELEMENT_TO_NODE.get(element);
61
- if (!node) {
62
- throw new Error(`can not get node from ${JSON.stringify(element)}`);
63
- }
64
- return node;
65
- },
66
- findParentNode(element) {
67
- if (PlaitMind.isMind(element)) {
68
- return undefined;
69
- }
70
- const parent = MindElement.getParent(element);
71
- return MindElement.getNode(parent);
72
- },
73
- hasEmojis(element) {
74
- if (element.data.emojis) {
75
- return true;
76
- }
77
- else {
78
- return false;
79
- }
80
- },
81
- hasImage(element) {
82
- if (element.data.image) {
83
- return true;
84
- }
85
- else {
86
- return false;
87
- }
88
- },
89
- getEmojis(element) {
90
- return element.data.emojis;
91
- }
92
- };
93
- export var MindElementShape;
94
- (function (MindElementShape) {
95
- MindElementShape["roundRectangle"] = "round-rectangle";
96
- MindElementShape["underline"] = "underline";
97
- })(MindElementShape || (MindElementShape = {}));
98
- export var BranchShape;
99
- (function (BranchShape) {
100
- BranchShape["bight"] = "bight";
101
- BranchShape["polyline"] = "polyline";
102
- })(BranchShape || (BranchShape = {}));
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2ludGVyZmFjZXMvZWxlbWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWtCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFnQixTQUFTLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFDbEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBc0MzQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUc7SUFDckIsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFzQixFQUFFO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7SUFDcEMsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDdkIsU0FBUyxDQUFDLEtBQWtCLEVBQUUsTUFBc0I7UUFDaEQsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELE9BQU8sT0FBTyxLQUFLLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsS0FBa0I7UUFDL0IsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBbUIsQ0FBQztRQUN4RSxPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxhQUFhLENBQUMsS0FBaUIsRUFBRSxPQUFxQjtRQUNsRCw0RUFBNEU7UUFDNUUsa0lBQWtJO1FBQ2xJLHNIQUFzSDtRQUN0SCxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFL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QUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUNELFFBQVEsQ0FBQyxPQUFvQjtRQUN6QixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUNELFNBQVMsQ0FBQyxPQUErQjtRQUNyQyxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFOLElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUN4QixzREFBa0MsQ0FBQTtJQUNsQywyQ0FBdUIsQ0FBQTtBQUMzQixDQUFDLEVBSFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUczQjtBQUVELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDbkIsOEJBQWUsQ0FBQTtJQUNmLG9DQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzSW5kZW50ZWRMYXlvdXQsIE1pbmRMYXlvdXRUeXBlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQsIE5PREVfVE9fUEFSRU5ULCBQYXRoLCBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBsYWl0Tm9kZSwgUG9pbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kUXVlcmllcyB9IGZyb20gJy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgRUxFTUVOVF9UT19OT0RFIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQmFzZURhdGEsIEVtb2ppRGF0YSwgSW1hZ2VEYXRhIH0gZnJvbSAnLi9lbGVtZW50LWRhdGEnO1xuaW1wb3J0IHsgU3Ryb2tlU3R5bGUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBNaW5kRWxlbWVudDxUID0gQmFzZURhdGE+IGV4dGVuZHMgUGxhaXRFbGVtZW50IHtcbiAgICBkYXRhOiBUO1xuICAgIGNoaWxkcmVuOiBNaW5kRWxlbWVudFtdO1xuICAgIHJpZ2h0Tm9kZUNvdW50PzogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgbWFudWFsV2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG4gICAgaXNSb290PzogYm9vbGVhbjtcblxuICAgIC8vIG5vZGUgc3R5bGUgYXR0cmlidXRlc1xuICAgIGZpbGw/OiBzdHJpbmc7XG4gICAgc3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgc3Ryb2tlV2lkdGg/OiBudW1iZXI7XG4gICAgc3Ryb2tlU3R5bGU/OiBTdHJva2VTdHlsZTtcbiAgICBzaGFwZT86IE1pbmRFbGVtZW50U2hhcGU7XG5cbiAgICAvLyBsaW5rIHN0eWxlIGF0dHJpYnV0ZXNcbiAgICBicmFuY2hDb2xvcj86IHN0cmluZztcbiAgICBicmFuY2hXaWR0aD86IG51bWJlcjtcbiAgICBicmFuY2hTaGFwZT86IEJyYW5jaFNoYXBlO1xuXG4gICAgLy8gbGF5b3V0XG4gICAgbGF5b3V0PzogTWluZExheW91dFR5cGU7XG4gICAgaXNDb2xsYXBzZWQ/OiBib29sZWFuO1xuXG4gICAgc3RhcnQ/OiBudW1iZXI7XG4gICAgZW5kPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0TWluZCBleHRlbmRzIE1pbmRFbGVtZW50IHtcbiAgICB0eXBlOiAnbWluZG1hcCc7XG4gICAgcG9pbnRzOiBQb2ludFtdO1xufVxuXG5leHBvcnQgY29uc3QgUGxhaXRNaW5kID0ge1xuICAgIGlzTWluZDogKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQbGFpdE1pbmQgPT4ge1xuICAgICAgICByZXR1cm4gdmFsdWUudHlwZSA9PT0gJ21pbmRtYXAnO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBNaW5kRWxlbWVudCA9IHtcbiAgICBoYXNMYXlvdXQodmFsdWU6IE1pbmRFbGVtZW50LCBsYXlvdXQ6IE1pbmRMYXlvdXRUeXBlKSB7XG4gICAgICAgIGNvbnN0IF9sYXlvdXQgPSBNaW5kUXVlcmllcy5nZXRMYXlvdXRCeUVsZW1lbnQodmFsdWUpO1xuICAgICAgICByZXR1cm4gX2xheW91dCA9PT0gbGF5b3V0O1xuICAgIH0sXG4gICAgaXNJbmRlbnRlZExheW91dCh2YWx1ZTogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgX2xheW91dCA9IE1pbmRRdWVyaWVzLmdldExheW91dEJ5RWxlbWVudCh2YWx1ZSkgYXMgTWluZExheW91dFR5cGU7XG4gICAgICAgIHJldHVybiBpc0luZGVudGVkTGF5b3V0KF9sYXlvdXQpO1xuICAgIH0sXG4gICAgaXNNaW5kRWxlbWVudChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogUGxhaXRFbGVtZW50KTogZWxlbWVudCBpcyBNaW5kRWxlbWVudCB7XG4gICAgICAgIC8vIERlc2lnbiBlcnJvcjogVGhlIHR5cGUgb2YgdGhlIGVsZW1lbnQgc2hvdWxkIGJlIGlkZW50aWZpZWQgYmFzZWQgb24gdHlwZS5cbiAgICAgICAgLy8gTm93IGl0IGlzIHZlcnkgYXdrd2FyZCB3aGV0aGVyIGl0IGlzIGR5bmFtaWNhbGx5IGNhbGN1bGF0ZWQocXVlcnkgcm9vdCBub2RlKSBvciB1c2luZyBvdGhlciBjaGFyYWN0ZXJpc3RpYyBhdHRyaWJ1dGVzKGN1cnJlbnQpLlxuICAgICAgICAvLyBVc2luZyBkeW5hbWljYWxseSBjYWxjdWxhdGVkIHdpbGwgY2F1c2UgbW9yZSBpc3N1ZSBsaWtlIHBhc3RpbmcgZnJvbSBjbGlwYm9hcmQsIGZpbmRpbmcgZWxlbWVudHMgYnkgaWQoaXNSZWN1cnNpb24pXG4gICAgICAgIGlmIChlbGVtZW50LmRhdGEgJiYgZWxlbWVudC5kYXRhLnRvcGljICYmICFpc051bGxPclVuZGVmaW5lZChlbGVtZW50LndpZHRoKSAmJiAhaXNOdWxsT3JVbmRlZmluZWQoZWxlbWVudC5oZWlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZ2V0UGFyZW50KG5vZGU6IE1pbmRFbGVtZW50KSB7XG4gICAgICAgIGlmIChQbGFpdE1pbmQuaXNNaW5kKG5vZGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ21pbmQgcm9vdCBub2RlIGNhbiBub3QgZ2V0IHBhcmVudCcpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IE5PREVfVE9fUEFSRU5ULmdldChub2RlKSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICB9LFxuICAgIGZpbmRQYXJlbnQobm9kZTogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKFBsYWl0TWluZC5pc01pbmQobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFyZW50ID0gTk9ERV9UT19QQVJFTlQuZ2V0KG5vZGUpIGFzIE1pbmRFbGVtZW50O1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgIH0sXG4gICAgZ2V0Um9vdChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgcGF0aCA9IFBsYWl0Qm9hcmQuZmluZFBhdGgoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICByZXR1cm4gUGxhaXROb2RlLmdldChib2FyZCwgcGF0aC5zbGljZSgwLCAxKSkgYXMgUGxhaXRNaW5kO1xuICAgIH0sXG4gICAgZ2V0QW5jZXN0b3JzKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCBwYXRoID0gUGxhaXRCb2FyZC5maW5kUGF0aChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHBhcmVudHM6IFBsYWl0RWxlbWVudFtdID0gW107XG4gICAgICAgIGZvciAoY29uc3QgcCBvZiBQYXRoLmFuY2VzdG9ycyhwYXRoLCB7IHJldmVyc2U6IHRydWUgfSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG4gPSBQbGFpdE5vZGUuZ2V0KGJvYXJkLCBwKTtcbiAgICAgICAgICAgIGlmIChuICYmICFQbGFpdEJvYXJkLmlzQm9hcmQobikpIHtcbiAgICAgICAgICAgICAgICBwYXJlbnRzLnB1c2gobik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcmVudHM7XG4gICAgfSxcbiAgICBnZXROb2RlKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBFTEVNRU5UX1RPX05PREUuZ2V0KGVsZW1lbnQpO1xuICAgICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgY2FuIG5vdCBnZXQgbm9kZSBmcm9tICR7SlNPTi5zdHJpbmdpZnkoZWxlbWVudCl9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSxcbiAgICBmaW5kUGFyZW50Tm9kZShlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBpZiAoUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJlbnQgPSBNaW5kRWxlbWVudC5nZXRQYXJlbnQoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBNaW5kRWxlbWVudC5nZXROb2RlKHBhcmVudCk7XG4gICAgfSxcbiAgICBoYXNFbW9qaXMoZWxlbWVudDogTWluZEVsZW1lbnQpOiBlbGVtZW50IGlzIE1pbmRFbGVtZW50PEVtb2ppRGF0YT4ge1xuICAgICAgICBpZiAoZWxlbWVudC5kYXRhLmVtb2ppcykge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGhhc0ltYWdlKGVsZW1lbnQ6IE1pbmRFbGVtZW50KTogZWxlbWVudCBpcyBNaW5kRWxlbWVudDxJbWFnZURhdGE+IHtcbiAgICAgICAgaWYgKGVsZW1lbnQuZGF0YS5pbWFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGdldEVtb2ppcyhlbGVtZW50OiBNaW5kRWxlbWVudDxFbW9qaURhdGE+KSB7XG4gICAgICAgIHJldHVybiBlbGVtZW50LmRhdGEuZW1vamlzO1xuICAgIH1cbn07XG5cbmV4cG9ydCBlbnVtIE1pbmRFbGVtZW50U2hhcGUge1xuICAgIHJvdW5kUmVjdGFuZ2xlID0gJ3JvdW5kLXJlY3RhbmdsZScsXG4gICAgdW5kZXJsaW5lID0gJ3VuZGVybGluZSdcbn1cblxuZXhwb3J0IGVudW0gQnJhbmNoU2hhcGUge1xuICAgIGJpZ2h0ID0gJ2JpZ2h0JyxcbiAgICBwb2x5bGluZSA9ICdwb2x5bGluZSdcbn1cbiJdfQ==
@@ -1,8 +0,0 @@
1
- export * from './element';
2
- export * from './element-data';
3
- export * from './node';
4
- export * from './layout';
5
- export * from './pointer';
6
- export * from './theme-color';
7
- export * from './options';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VsZW1lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGVtZW50LWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0JztcbmV4cG9ydCAqIGZyb20gJy4vcG9pbnRlcic7XG5leHBvcnQgKiBmcm9tICcuL3RoZW1lLWNvbG9yJztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucyc7XG4iXX0=
@@ -1,19 +0,0 @@
1
- import { MindLayoutType } from '@plait/layouts';
2
- export var LayoutDirection;
3
- (function (LayoutDirection) {
4
- LayoutDirection["top"] = "top";
5
- LayoutDirection["right"] = "right";
6
- LayoutDirection["bottom"] = "bottom";
7
- LayoutDirection["left"] = "left";
8
- })(LayoutDirection || (LayoutDirection = {}));
9
- export const LayoutDirectionsMap = {
10
- [MindLayoutType.right]: [LayoutDirection.right],
11
- [MindLayoutType.left]: [LayoutDirection.left],
12
- [MindLayoutType.upward]: [LayoutDirection.top],
13
- [MindLayoutType.downward]: [LayoutDirection.bottom],
14
- [MindLayoutType.rightBottomIndented]: [LayoutDirection.right, LayoutDirection.bottom],
15
- [MindLayoutType.rightTopIndented]: [LayoutDirection.right, LayoutDirection.top],
16
- [MindLayoutType.leftBottomIndented]: [LayoutDirection.left, LayoutDirection.bottom],
17
- [MindLayoutType.leftTopIndented]: [LayoutDirection.left, LayoutDirection.top]
18
- };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvaW50ZXJmYWNlcy9sYXlvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE1BQU0sQ0FBTixJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFDdkIsOEJBQWEsQ0FBQTtJQUNiLGtDQUFpQixDQUFBO0lBQ2pCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUxXLGVBQWUsS0FBZixlQUFlLFFBSzFCO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQTJCO0lBQ3ZELENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztJQUMvQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDN0MsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO0lBQzlDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUNuRCxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDO0lBQ3JGLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUM7SUFDL0UsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQztJQUNuRixDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQztDQUNoRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWluZExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5cbmV4cG9ydCBlbnVtIExheW91dERpcmVjdGlvbiB7XG4gICAgJ3RvcCcgPSAndG9wJyxcbiAgICAncmlnaHQnID0gJ3JpZ2h0JyxcbiAgICAnYm90dG9tJyA9ICdib3R0b20nLFxuICAgICdsZWZ0JyA9ICdsZWZ0J1xufVxuXG5leHBvcnQgY29uc3QgTGF5b3V0RGlyZWN0aW9uc01hcDogTGF5b3V0RGlyZWN0aW9uTWFwVHlwZSA9IHtcbiAgICBbTWluZExheW91dFR5cGUucmlnaHRdOiBbTGF5b3V0RGlyZWN0aW9uLnJpZ2h0XSxcbiAgICBbTWluZExheW91dFR5cGUubGVmdF06IFtMYXlvdXREaXJlY3Rpb24ubGVmdF0sXG4gICAgW01pbmRMYXlvdXRUeXBlLnVwd2FyZF06IFtMYXlvdXREaXJlY3Rpb24udG9wXSxcbiAgICBbTWluZExheW91dFR5cGUuZG93bndhcmRdOiBbTGF5b3V0RGlyZWN0aW9uLmJvdHRvbV0sXG4gICAgW01pbmRMYXlvdXRUeXBlLnJpZ2h0Qm90dG9tSW5kZW50ZWRdOiBbTGF5b3V0RGlyZWN0aW9uLnJpZ2h0LCBMYXlvdXREaXJlY3Rpb24uYm90dG9tXSxcbiAgICBbTWluZExheW91dFR5cGUucmlnaHRUb3BJbmRlbnRlZF06IFtMYXlvdXREaXJlY3Rpb24ucmlnaHQsIExheW91dERpcmVjdGlvbi50b3BdLFxuICAgIFtNaW5kTGF5b3V0VHlwZS5sZWZ0Qm90dG9tSW5kZW50ZWRdOiBbTGF5b3V0RGlyZWN0aW9uLmxlZnQsIExheW91dERpcmVjdGlvbi5ib3R0b21dLFxuICAgIFtNaW5kTGF5b3V0VHlwZS5sZWZ0VG9wSW5kZW50ZWRdOiBbTGF5b3V0RGlyZWN0aW9uLmxlZnQsIExheW91dERpcmVjdGlvbi50b3BdXG59O1xuXG5leHBvcnQgdHlwZSBMYXlvdXREaXJlY3Rpb25NYXBUeXBlID0geyBba2V5OiBzdHJpbmddOiBMYXlvdXREaXJlY3Rpb25bXSB9O1xuIl19
@@ -1,14 +0,0 @@
1
- export const MindNode = {
2
- get(root, path) {
3
- let node = root;
4
- for (let i = 0; i < path.length; i++) {
5
- const p = path[i];
6
- if (!node || !node.children || !node.children[p]) {
7
- throw new Error(`Cannot find a descendant at path [${path}]`);
8
- }
9
- node = node.children[p];
10
- }
11
- return node;
12
- }
13
- };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2ludGVyZmFjZXMvbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHO0lBQ3BCLEdBQUcsQ0FBQyxJQUFjLEVBQUUsSUFBVTtRQUMxQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLElBQUksR0FBRyxDQUFDLENBQUM7WUFDbEUsQ0FBQztZQUNELElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRMYXlvdXRUeXBlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgUGF0aCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi9lbGVtZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBNaW5kTm9kZSB7XG4gICAgZGVwdGg6IG51bWJlcjtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG4gICAgaEdhcDogbnVtYmVyO1xuICAgIHZHYXA6IG51bWJlcjtcbiAgICBjaGlsZHJlbjogTWluZE5vZGVbXTtcbiAgICBvcmlnaW46IE1pbmRFbGVtZW50O1xuICAgIHBhcmVudDogTWluZE5vZGU7XG4gICAgbGVmdDogYm9vbGVhbjtcbiAgICB1cDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IE1pbmROb2RlID0ge1xuICAgIGdldChyb290OiBNaW5kTm9kZSwgcGF0aDogUGF0aCkge1xuICAgICAgICBsZXQgbm9kZSA9IHJvb3Q7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0aC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcCA9IHBhdGhbaV07XG4gICAgICAgICAgICBpZiAoIW5vZGUgfHwgIW5vZGUuY2hpbGRyZW4gfHwgIW5vZGUuY2hpbGRyZW5bcF0pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIGEgZGVzY2VuZGFudCBhdCBwYXRoIFske3BhdGh9XWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbm9kZSA9IG5vZGUuY2hpbGRyZW5bcF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxufTtcblxuZXhwb3J0IHR5cGUgRXh0ZW5kTGF5b3V0VHlwZSA9IEV4Y2x1ZGU8TWluZExheW91dFR5cGUsIE1pbmRMYXlvdXRUeXBlLnN0YW5kYXJkPjtcblxuZXhwb3J0IHR5cGUgQ29vcmRpbmF0ZVR5cGUgPSB7XG4gICAgc3RhcnRYOiBudW1iZXI7XG4gICAgc3RhcnRZOiBudW1iZXI7XG4gICAgZW5kWDogbnVtYmVyO1xuICAgIGVuZFk6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEV4dGVuZFVuZGVybGluZUNvb3JkaW5hdGVUeXBlID0ge1xuICAgIFtrZXkgaW4gRXh0ZW5kTGF5b3V0VHlwZV06IENvb3JkaW5hdGVUeXBlO1xufTtcblxuZXhwb3J0IHR5cGUgRGV0ZWN0UmVzdWx0ID0gJ3RvcCcgfCAnYm90dG9tJyB8ICdyaWdodCcgfCAnbGVmdCcgfCBudWxsO1xuXG5leHBvcnQgdHlwZSBSb290QmFzZURpcmVjdGlvbiA9ICdyaWdodCcgfCAnbGVmdCcgfCBudWxsO1xuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2ludGVyZmFjZXMvb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2l0aFBsdWdpbk9wdGlvbnMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2l0aE1pbmRPcHRpb25zIGV4dGVuZHMgV2l0aFBsdWdpbk9wdGlvbnMge1xuICAgIGVtb2ppUGFkZGluZzogbnVtYmVyO1xuICAgIHNwYWNlQmV0d2VlbkVtb2ppczogbnVtYmVyO1xufVxuIl19
@@ -1,5 +0,0 @@
1
- export var MindPointerType;
2
- (function (MindPointerType) {
3
- MindPointerType["mind"] = "mind";
4
- })(MindPointerType || (MindPointerType = {}));
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2ludGVyZmFjZXMvcG9pbnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxlQUVYO0FBRkQsV0FBWSxlQUFlO0lBQ3ZCLGdDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUZXLGVBQWUsS0FBZixlQUFlLFFBRTFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gTWluZFBvaW50ZXJUeXBlIHtcbiAgICAnbWluZCcgPSAnbWluZCdcbn1cbiJdfQ==
@@ -1,57 +0,0 @@
1
- import { DefaultThemeColor, StarryThemeColor, DarkThemeColor, ColorfulThemeColor, SoftThemeColor, RetroThemeColor, DEFAULT_COLOR } from '@plait/core';
2
- import { COLORFUL_BRANCH_COLORS, DARK_BRANCH_COLORS, DEFAULT_BRANCH_COLORS, RETRO_BRANCH_COLORS, SOFT_BRANCH_COLORS, STARRY_BRANCH_COLORS } from '../constants/theme';
3
- export const MindDefaultThemeColor = {
4
- ...DefaultThemeColor,
5
- branchColors: DEFAULT_BRANCH_COLORS,
6
- rootFill: '#f5f5f5',
7
- rootTextColor: DEFAULT_COLOR
8
- };
9
- export const MindColorfulThemeColor = {
10
- ...ColorfulThemeColor,
11
- branchColors: COLORFUL_BRANCH_COLORS,
12
- rootFill: DEFAULT_COLOR,
13
- rootTextColor: '#FFFFFF'
14
- };
15
- export const MindSoftThemeColor = {
16
- ...SoftThemeColor,
17
- branchColors: SOFT_BRANCH_COLORS,
18
- rootFill: '#FFFFFF',
19
- rootTextColor: DEFAULT_COLOR
20
- };
21
- export const MindRetroThemeColor = {
22
- ...RetroThemeColor,
23
- branchColors: RETRO_BRANCH_COLORS,
24
- rootFill: '#153D5D',
25
- rootTextColor: '#FFFFFF'
26
- };
27
- export const MindDarkThemeColor = {
28
- ...DarkThemeColor,
29
- branchColors: DARK_BRANCH_COLORS,
30
- rootFill: '#FFFFFF',
31
- rootTextColor: DEFAULT_COLOR
32
- };
33
- export const MindStarryThemeColor = {
34
- ...StarryThemeColor,
35
- branchColors: STARRY_BRANCH_COLORS,
36
- rootFill: '#FFFFFF',
37
- rootTextColor: DEFAULT_COLOR
38
- };
39
- export const MindThemeColors = [
40
- MindDefaultThemeColor,
41
- MindColorfulThemeColor,
42
- MindSoftThemeColor,
43
- MindRetroThemeColor,
44
- MindDarkThemeColor,
45
- MindStarryThemeColor
46
- ];
47
- export const MindThemeColor = {
48
- isMindThemeColor(value) {
49
- if (value.branchColors && value.rootFill && value.rootTextColor) {
50
- return true;
51
- }
52
- else {
53
- return false;
54
- }
55
- }
56
- };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9pbnRlcmZhY2VzL3RoZW1lLWNvbG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBR2hCLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsY0FBYyxFQUNkLGVBQWUsRUFDZixhQUFhLEVBQ2hCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUN2QixNQUFNLG9CQUFvQixDQUFDO0FBUzVCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFtQjtJQUNqRCxHQUFHLGlCQUFpQjtJQUNwQixZQUFZLEVBQUUscUJBQXFCO0lBQ25DLFFBQVEsRUFBRSxTQUFTO0lBQ25CLGFBQWEsRUFBRSxhQUFhO0NBQy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBbUI7SUFDbEQsR0FBRyxrQkFBa0I7SUFDckIsWUFBWSxFQUFFLHNCQUFzQjtJQUNwQyxRQUFRLEVBQUUsYUFBYTtJQUN2QixhQUFhLEVBQUUsU0FBUztDQUMzQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQW1CO0lBQzlDLEdBQUcsY0FBYztJQUNqQixZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDLFFBQVEsRUFBRSxTQUFTO0lBQ25CLGFBQWEsRUFBRSxhQUFhO0NBQy9CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBbUI7SUFDL0MsR0FBRyxlQUFlO0lBQ2xCLFlBQVksRUFBRSxtQkFBbUI7SUFDakMsUUFBUSxFQUFFLFNBQVM7SUFDbkIsYUFBYSxFQUFFLFNBQVM7Q0FDM0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFtQjtJQUM5QyxHQUFHLGNBQWM7SUFDakIsWUFBWSxFQUFFLGtCQUFrQjtJQUNoQyxRQUFRLEVBQUUsU0FBUztJQUNuQixhQUFhLEVBQUUsYUFBYTtDQUMvQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQW1CO0lBQ2hELEdBQUcsZ0JBQWdCO0lBQ25CLFlBQVksRUFBRSxvQkFBb0I7SUFDbEMsUUFBUSxFQUFFLFNBQVM7SUFDbkIsYUFBYSxFQUFFLGFBQWE7Q0FDL0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBcUI7SUFDN0MscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixvQkFBb0I7Q0FDdkIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUMxQixnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM5RCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7SUFDTCxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGVmYXVsdFRoZW1lQ29sb3IsXG4gICAgU3RhcnJ5VGhlbWVDb2xvcixcbiAgICBUaGVtZUNvbG9yLFxuICAgIFRoZW1lQ29sb3JNb2RlLFxuICAgIERhcmtUaGVtZUNvbG9yLFxuICAgIENvbG9yZnVsVGhlbWVDb2xvcixcbiAgICBTb2Z0VGhlbWVDb2xvcixcbiAgICBSZXRyb1RoZW1lQ29sb3IsXG4gICAgREVGQVVMVF9DT0xPUlxufSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQge1xuICAgIENPTE9SRlVMX0JSQU5DSF9DT0xPUlMsXG4gICAgREFSS19CUkFOQ0hfQ09MT1JTLFxuICAgIERFRkFVTFRfQlJBTkNIX0NPTE9SUyxcbiAgICBSRVRST19CUkFOQ0hfQ09MT1JTLFxuICAgIFNPRlRfQlJBTkNIX0NPTE9SUyxcbiAgICBTVEFSUllfQlJBTkNIX0NPTE9SU1xufSBmcm9tICcuLi9jb25zdGFudHMvdGhlbWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1pbmRUaGVtZUNvbG9yIGV4dGVuZHMgVGhlbWVDb2xvciB7XG4gICAgbW9kZTogVGhlbWVDb2xvck1vZGUgfCBzdHJpbmc7XG4gICAgYnJhbmNoQ29sb3JzOiBzdHJpbmdbXTtcbiAgICByb290RmlsbDogc3RyaW5nO1xuICAgIHJvb3RUZXh0Q29sb3I6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IE1pbmREZWZhdWx0VGhlbWVDb2xvcjogTWluZFRoZW1lQ29sb3IgPSB7XG4gICAgLi4uRGVmYXVsdFRoZW1lQ29sb3IsXG4gICAgYnJhbmNoQ29sb3JzOiBERUZBVUxUX0JSQU5DSF9DT0xPUlMsXG4gICAgcm9vdEZpbGw6ICcjZjVmNWY1JyxcbiAgICByb290VGV4dENvbG9yOiBERUZBVUxUX0NPTE9SXG59O1xuXG5leHBvcnQgY29uc3QgTWluZENvbG9yZnVsVGhlbWVDb2xvcjogTWluZFRoZW1lQ29sb3IgPSB7XG4gICAgLi4uQ29sb3JmdWxUaGVtZUNvbG9yLFxuICAgIGJyYW5jaENvbG9yczogQ09MT1JGVUxfQlJBTkNIX0NPTE9SUyxcbiAgICByb290RmlsbDogREVGQVVMVF9DT0xPUixcbiAgICByb290VGV4dENvbG9yOiAnI0ZGRkZGRidcbn07XG5cbmV4cG9ydCBjb25zdCBNaW5kU29mdFRoZW1lQ29sb3I6IE1pbmRUaGVtZUNvbG9yID0ge1xuICAgIC4uLlNvZnRUaGVtZUNvbG9yLFxuICAgIGJyYW5jaENvbG9yczogU09GVF9CUkFOQ0hfQ09MT1JTLFxuICAgIHJvb3RGaWxsOiAnI0ZGRkZGRicsXG4gICAgcm9vdFRleHRDb2xvcjogREVGQVVMVF9DT0xPUlxufTtcblxuZXhwb3J0IGNvbnN0IE1pbmRSZXRyb1RoZW1lQ29sb3I6IE1pbmRUaGVtZUNvbG9yID0ge1xuICAgIC4uLlJldHJvVGhlbWVDb2xvcixcbiAgICBicmFuY2hDb2xvcnM6IFJFVFJPX0JSQU5DSF9DT0xPUlMsXG4gICAgcm9vdEZpbGw6ICcjMTUzRDVEJyxcbiAgICByb290VGV4dENvbG9yOiAnI0ZGRkZGRidcbn07XG5cbmV4cG9ydCBjb25zdCBNaW5kRGFya1RoZW1lQ29sb3I6IE1pbmRUaGVtZUNvbG9yID0ge1xuICAgIC4uLkRhcmtUaGVtZUNvbG9yLFxuICAgIGJyYW5jaENvbG9yczogREFSS19CUkFOQ0hfQ09MT1JTLFxuICAgIHJvb3RGaWxsOiAnI0ZGRkZGRicsXG4gICAgcm9vdFRleHRDb2xvcjogREVGQVVMVF9DT0xPUlxufTtcblxuZXhwb3J0IGNvbnN0IE1pbmRTdGFycnlUaGVtZUNvbG9yOiBNaW5kVGhlbWVDb2xvciA9IHtcbiAgICAuLi5TdGFycnlUaGVtZUNvbG9yLFxuICAgIGJyYW5jaENvbG9yczogU1RBUlJZX0JSQU5DSF9DT0xPUlMsXG4gICAgcm9vdEZpbGw6ICcjRkZGRkZGJyxcbiAgICByb290VGV4dENvbG9yOiBERUZBVUxUX0NPTE9SXG59O1xuXG5leHBvcnQgY29uc3QgTWluZFRoZW1lQ29sb3JzOiBNaW5kVGhlbWVDb2xvcltdID0gW1xuICAgIE1pbmREZWZhdWx0VGhlbWVDb2xvcixcbiAgICBNaW5kQ29sb3JmdWxUaGVtZUNvbG9yLFxuICAgIE1pbmRTb2Z0VGhlbWVDb2xvcixcbiAgICBNaW5kUmV0cm9UaGVtZUNvbG9yLFxuICAgIE1pbmREYXJrVGhlbWVDb2xvcixcbiAgICBNaW5kU3RhcnJ5VGhlbWVDb2xvclxuXTtcblxuZXhwb3J0IGNvbnN0IE1pbmRUaGVtZUNvbG9yID0ge1xuICAgIGlzTWluZFRoZW1lQ29sb3IodmFsdWU6IGFueSk6IHZhbHVlIGlzIE1pbmRUaGVtZUNvbG9yIHtcbiAgICAgICAgaWYgKHZhbHVlLmJyYW5jaENvbG9ycyAmJiB2YWx1ZS5yb290RmlsbCAmJiB2YWx1ZS5yb290VGV4dENvbG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbn07XG4iXX0=
@@ -1,13 +0,0 @@
1
- export var HorizontalPlacement;
2
- (function (HorizontalPlacement) {
3
- HorizontalPlacement["left"] = "left";
4
- HorizontalPlacement["center"] = "center";
5
- HorizontalPlacement["right"] = "right";
6
- })(HorizontalPlacement || (HorizontalPlacement = {}));
7
- export var VerticalPlacement;
8
- (function (VerticalPlacement) {
9
- VerticalPlacement["top"] = "top";
10
- VerticalPlacement["middle"] = "middle";
11
- VerticalPlacement["bottom"] = "bottom";
12
- })(VerticalPlacement || (VerticalPlacement = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9pbnRlcmZhY2VzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDM0Isb0NBQWEsQ0FBQTtJQUNiLHdDQUFpQixDQUFBO0lBQ2pCLHNDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFJOUI7QUFFRCxNQUFNLENBQU4sSUFBWSxpQkFJWDtBQUpELFdBQVksaUJBQWlCO0lBQ3pCLGdDQUFXLENBQUE7SUFDWCxzQ0FBaUIsQ0FBQTtJQUNqQixzQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUk1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEhvcml6b250YWxQbGFjZW1lbnQge1xuICAgIGxlZnQgPSAnbGVmdCcsXG4gICAgY2VudGVyID0gJ2NlbnRlcicsXG4gICAgcmlnaHQgPSAncmlnaHQnXG59XG5cbmV4cG9ydCBlbnVtIFZlcnRpY2FsUGxhY2VtZW50IHtcbiAgICB0b3AgPSAndG9wJyxcbiAgICBtaWRkbGUgPSAnbWlkZGxlJyxcbiAgICBib3R0b20gPSAnYm90dG9tJ1xufVxuXG5leHBvcnQgdHlwZSBQb2ludFBsYWNlbWVudCA9IFtIb3Jpem9udGFsUGxhY2VtZW50LCBWZXJ0aWNhbFBsYWNlbWVudF07XG4iXX0=
@@ -1,193 +0,0 @@
1
- import { createG, PlaitBoard, NODE_TO_INDEX, RectangleClient } from '@plait/core';
2
- import { isHorizontalLayout, AbstractNode } from '@plait/layouts';
3
- import { MindElement, PlaitMind } from './interfaces/element';
4
- import { MindQueries } from './queries';
5
- import { ELEMENT_TO_NODE } from './utils/weak-maps';
6
- import { drawAbstractLink } from './utils/draw/node-link/abstract-link';
7
- import { NodeEmojisGenerator } from './generators/node-emojis.generator';
8
- import { MindTransforms } from './transforms';
9
- import { NodePlusGenerator } from './generators/node-plus.generator';
10
- import { drawLink } from './utils/draw/node-link/draw-link';
11
- import { getTopicRectangleByNode } from './utils/position/topic';
12
- import { NodeActiveGenerator } from './generators/node-active.generator';
13
- import { CollapseGenerator } from './generators/node-collapse.generator';
14
- import { NodeSpace } from './utils/space/node-space';
15
- import { NodeTopicThreshold } from './constants/node-topic-style';
16
- import { CommonElementFlavour, ImageGenerator, TextManage, WithTextPluginKey } from '@plait/common';
17
- import { NodeShapeGenerator } from './generators/node-shape.generator';
18
- import { getImageForeignRectangle } from './utils';
19
- export class MindNodeComponent extends CommonElementFlavour {
20
- get textManage() {
21
- return this.getRef().getTextManages()[0];
22
- }
23
- constructor() {
24
- super();
25
- this.shapeG = null;
26
- this.trackBy = (index, node) => {
27
- return node.origin.id;
28
- };
29
- }
30
- initializeGenerator() {
31
- this.nodeShapeGenerator = new NodeShapeGenerator(this.board);
32
- this.nodeEmojisGenerator = new NodeEmojisGenerator(this.board);
33
- this.activeGenerator = new NodeActiveGenerator(this.board);
34
- this.nodePlusGenerator = new NodePlusGenerator(this.board);
35
- this.collapseGenerator = new CollapseGenerator(this.board);
36
- this.imageGenerator = new ImageGenerator(this.board, {
37
- getRectangle: (element) => {
38
- return getImageForeignRectangle(this.board, element);
39
- },
40
- getImageItem: (element) => {
41
- return element.data.image;
42
- }
43
- });
44
- const plugins = (this.board.getPluginOptions(WithTextPluginKey) || {}).textPlugins;
45
- const textManage = new TextManage(this.board, {
46
- getRectangle: () => {
47
- const rect = getTopicRectangleByNode(this.board, this.node);
48
- return rect;
49
- },
50
- onChange: (data) => {
51
- const width = data.width;
52
- const height = data.height;
53
- if (data.newText) {
54
- MindTransforms.setTopic(this.board, this.element, data.newText, width, height);
55
- }
56
- else {
57
- MindTransforms.setTopicSize(this.board, this.element, width, height);
58
- }
59
- },
60
- getMaxWidth: () => {
61
- if (this.element.manualWidth) {
62
- return NodeSpace.getNodeDynamicWidth(this.board, this.element);
63
- }
64
- else {
65
- return Math.max(NodeSpace.getNodeDynamicWidth(this.board, this.element), NodeTopicThreshold.defaultTextMaxWidth);
66
- }
67
- },
68
- textPlugins: plugins || []
69
- });
70
- this.getRef().addGenerator(NodeActiveGenerator.key, this.activeGenerator);
71
- this.getRef().addGenerator(NodeEmojisGenerator.key, this.nodeEmojisGenerator);
72
- this.getRef().addGenerator(ImageGenerator.key, this.imageGenerator);
73
- this.getRef().initializeTextManage(textManage);
74
- this.getRef().updateActiveSection = () => {
75
- this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
76
- selected: this.selected
77
- });
78
- };
79
- }
80
- initialize() {
81
- super.initialize();
82
- this.initializeGenerator();
83
- this.node = MindElement.getNode(this.element);
84
- this.index = NODE_TO_INDEX.get(this.element) || 0;
85
- this.roughSVG = PlaitBoard.getRoughSVG(this.board);
86
- this.nodeShapeGenerator.processDrawing(this.element, this.getElementG(), { node: this.node });
87
- this.drawLink();
88
- this.drawTopic();
89
- this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
90
- selected: this.selected
91
- });
92
- this.drawEmojis();
93
- this.drawExtend();
94
- this.imageGenerator.processDrawing(this.element, this.getElementG());
95
- if (PlaitMind.isMind(this.context.parent)) {
96
- this.getElementG().classList.add('branch');
97
- }
98
- }
99
- onContextChanged(value, previous) {
100
- const newNode = MindElement.getNode(value.element);
101
- const isEqualNode = RectangleClient.isEqual(this.node, newNode);
102
- this.node = newNode;
103
- if (!isEqualNode || value.element !== previous.element || value.hasThemeChanged) {
104
- this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
105
- selected: this.selected
106
- });
107
- this.nodeShapeGenerator.processDrawing(this.element, this.getElementG(), { node: this.node });
108
- this.drawLink();
109
- this.drawEmojis();
110
- this.drawExtend();
111
- if (!MindElement.hasImage(previous.element) && MindElement.hasImage(this.element)) {
112
- this.imageGenerator.processDrawing(this.element, this.getElementG());
113
- }
114
- if (MindElement.hasImage(previous.element) && MindElement.hasImage(this.element)) {
115
- this.imageGenerator.updateImage(this.getElementG(), previous.element, value.element);
116
- }
117
- if (MindElement.hasImage(previous.element) && !MindElement.hasImage(this.element)) {
118
- this.imageGenerator.destroy();
119
- }
120
- this.updateTopic();
121
- }
122
- else {
123
- const hasSameSelected = value.selected === previous.selected;
124
- const hasSameParent = value.parent === previous.parent;
125
- if (!hasSameSelected || value.selected) {
126
- this.activeGenerator.processDrawing(this.element, PlaitBoard.getActiveHost(this.board), {
127
- selected: this.selected
128
- });
129
- }
130
- if (!hasSameParent) {
131
- this.drawLink();
132
- }
133
- }
134
- }
135
- drawEmojis() {
136
- const g = this.nodeEmojisGenerator.drawEmojis(this.element);
137
- if (g) {
138
- this.getElementG().append(g);
139
- }
140
- }
141
- drawLink() {
142
- if (PlaitMind.isMind(this.element)) {
143
- return;
144
- }
145
- const parent = MindElement.getParent(this.element);
146
- const parentNode = MindElement.getNode(parent);
147
- if (this.linkG) {
148
- this.linkG.remove();
149
- }
150
- const layout = MindQueries.getLayoutByElement(parent);
151
- if (AbstractNode.isAbstract(this.node.origin)) {
152
- this.linkG = drawAbstractLink(this.board, this.node, isHorizontalLayout(layout));
153
- }
154
- else {
155
- this.linkG = drawLink(this.board, parentNode, this.node, isHorizontalLayout(layout));
156
- }
157
- this.getElementG().append(this.linkG);
158
- }
159
- drawExtend() {
160
- if (!this.extendG) {
161
- this.extendG = createG();
162
- this.extendG.classList.add('extend');
163
- this.getElementG().append(this.extendG);
164
- }
165
- if (this.element.isCollapsed) {
166
- this.getElementG().classList.add('collapsed');
167
- }
168
- else {
169
- this.getElementG().classList.remove('collapsed');
170
- }
171
- this.nodePlusGenerator.processDrawing(this.element, this.extendG);
172
- this.collapseGenerator.processDrawing(this.element, this.extendG);
173
- }
174
- drawTopic() {
175
- this.textManage.draw(this.element.data.topic);
176
- this.getElementG().append(this.textManage.g);
177
- }
178
- updateTopic() {
179
- this.textManage.updateText(this.element.data.topic);
180
- this.textManage.updateRectangle();
181
- }
182
- destroy() {
183
- super.destroy();
184
- this.nodeEmojisGenerator.destroy();
185
- this.imageGenerator.destroy();
186
- this.activeGenerator.destroy();
187
- if (ELEMENT_TO_NODE.get(this.element) === this.node) {
188
- ELEMENT_TO_NODE.delete(this.element);
189
- }
190
- this.getRef().destroyTextManage();
191
- }
192
- }
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluZC1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL21pbmQtbm9kZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUErQyxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTlELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxVQUFVLEVB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QVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBTUQsT0FBTztRQUNILEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xELGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVHLCBQbGFpdEJvYXJkLCBOT0RFX1RPX0lOREVYLCBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0LCBPbkNvbnRleHRDaGFuZ2VkLCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBpc0hvcml6b250YWxMYXlvdXQsIEFic3RyYWN0Tm9kZSwgTWluZExheW91dFR5cGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCwgUGxhaXRNaW5kIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgTWluZE5vZGUgfSBmcm9tICcuL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBNaW5kUXVlcmllcyB9IGZyb20gJy4vcXVlcmllcyc7XG5pbXBvcnQgeyBFTEVNRU5UX1RPX05PREUgfSBmcm9tICcuL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBkcmF3QWJzdHJhY3RMaW5rIH0gZnJvbSAnLi91dGlscy9kcmF3L25vZGUtbGluay9hYnN0cmFjdC1saW5rJztcbmltcG9ydCB7IE5vZGVFbW9qaXNHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbm9kZS1lbW9qaXMuZ2VuZXJhdG9yJztcbmltcG9ydCB7IE1pbmRUcmFuc2Zvcm1zIH0gZnJvbSAnLi90cmFuc2Zvcm1zJztcbmltcG9ydCB7IE5vZGVQbHVzR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL25vZGUtcGx1cy5nZW5lcmF0b3InO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcbmltcG9ydCB7IGRyYXdMaW5rIH0gZnJvbSAnLi91dGlscy9kcmF3L25vZGUtbGluay9kcmF3LWxpbmsnO1xuaW1wb3J0IHsgZ2V0VG9waWNSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuL3V0aWxzL3Bvc2l0aW9uL3RvcGljJztcbmltcG9ydCB7IE5vZGVBY3RpdmVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbm9kZS1hY3RpdmUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IENvbGxhcHNlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL25vZGUtY29sbGFwc2UuZ2VuZXJhdG9yJztcbmltcG9ydCB7IE5vZGVTcGFjZSB9IGZyb20gJy4vdXRpbHMvc3BhY2Uvbm9kZS1zcGFjZSc7XG5pbXBvcnQgeyBOb2RlVG9waWNUaHJlc2hvbGQgfSBmcm9tICcuL2NvbnN0YW50cy9ub2RlLXRvcGljLXN0eWxlJztcbmltcG9ydCB7XG4gICAgQ29tbW9uRWxlbWVudEZsYXZvdXIsXG4gICAgSW1hZ2VHZW5lcmF0b3IsXG4gICAgVGV4dE1hbmFnZSxcbiAgICBUZXh0TWFuYWdlQ2hhbmdlRGF0YSxcbiAgICBXaXRoVGV4dFBsdWdpbktleSxcbiAgICBXaXRoVGV4dFBsdWdpbk9wdGlvbnNcbn0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBOb2RlU2hhcGVHZW5lcmF0b3IgfSBmcm9tICcuL2dlbmVyYXRvcnMvbm9kZS1zaGFwZS5nZW5lcmF0b3InO1xuaW1wb3J0IHsgZ2V0SW1hZ2VGb3JlaWduUmVjdGFuZ2xlIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBJbWFnZURhdGEgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY2xhc3MgTWluZE5vZGVDb21wb25lbnRcbiAgICBleHRlbmRzIENvbW1vbkVsZW1lbnRGbGF2b3VyPE1pbmRFbGVtZW50LCBQbGFpdE1pbmRCb2FyZD5cbiAgICBpbXBsZW1lbnRzIE9uQ29udGV4dENoYW5nZWQ8TWluZEVsZW1lbnQsIFBsYWl0TWluZEJvYXJkPlxue1xuICAgIHJvdWdoU1ZHITogUm91Z2hTVkc7XG5cbiAgICBub2RlITogTWluZE5vZGU7XG5cbiAgICBpbmRleCE6IG51bWJlcjtcblxuICAgIHNoYXBlRzogU1ZHR0VsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIGxpbmtHPzogU1ZHR0VsZW1lbnQ7XG5cbiAgICBleHRlbmRHPzogU1ZHR0VsZW1lbnQ7XG5cbiAgICBub2RlRW1vamlzR2VuZXJhdG9yITogTm9kZUVtb2ppc0dlbmVyYXRvcjtcblxuICAgIG5vZGVTaGFwZUdlbmVyYXRvciE6IE5vZGVTaGFwZUdlbmVyYXRvcjtcblxuICAgIG5vZGVQbHVzR2VuZXJhdG9yITogTm9kZVBsdXNHZW5lcmF0b3I7XG5cbiAgICBpbWFnZUdlbmVyYXRvciE6IEltYWdlR2VuZXJhdG9yPE1pbmRFbGVtZW50PEltYWdlRGF0YT4+O1xuXG4gICAgYWN0aXZlR2VuZXJhdG9yITogTm9kZUFjdGl2ZUdlbmVyYXRvcjtcblxuICAgIGNvbGxhcHNlR2VuZXJhdG9yITogQ29sbGFwc2VHZW5lcmF0b3I7XG5cbiAgICBnZXQgdGV4dE1hbmFnZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0UmVmKCkuZ2V0VGV4dE1hbmFnZXMoKVswXTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplR2VuZXJhdG9yKCkge1xuICAgICAgICB0aGlzLm5vZGVTaGFwZUdlbmVyYXRvciA9IG5ldyBOb2RlU2hhcGVHZW5lcmF0b3IodGhpcy5ib2FyZCk7XG4gICAgICAgIHRoaXMubm9kZUVtb2ppc0dlbmVyYXRvciA9IG5ldyBOb2RlRW1vamlzR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvciA9IG5ldyBOb2RlQWN0aXZlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLm5vZGVQbHVzR2VuZXJhdG9yID0gbmV3IE5vZGVQbHVzR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlR2VuZXJhdG9yID0gbmV3IENvbGxhcHNlR2VuZXJhdG9yKHRoaXMuYm9hcmQpO1xuICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yID0gbmV3IEltYWdlR2VuZXJhdG9yPE1pbmRFbGVtZW50PEltYWdlRGF0YT4+KHRoaXMuYm9hcmQsIHtcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0SW1hZ2VGb3JlaWduUmVjdGFuZ2xlKHRoaXMuYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldEltYWdlSXRlbTogKGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudC5kYXRhLmltYWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcGx1Z2lucyA9ICh0aGlzLmJvYXJkLmdldFBsdWdpbk9wdGlvbnM8V2l0aFRleHRQbHVnaW5PcHRpb25zPihXaXRoVGV4dFBsdWdpbktleSkgfHwge30pLnRleHRQbHVnaW5zO1xuICAgICAgICBjb25zdCB0ZXh0TWFuYWdlID0gbmV3IFRleHRNYW5hZ2UodGhpcy5ib2FyZCwge1xuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjdCA9IGdldFRvcGljUmVjdGFuZ2xlQnlOb2RlKHRoaXMuYm9hcmQsIHRoaXMubm9kZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlY3Q7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25DaGFuZ2U6IChkYXRhOiBUZXh0TWFuYWdlQ2hhbmdlRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gZGF0YS53aWR0aDtcbiAgICAgICAgICAgICAgICBjb25zdCBoZWlnaHQgPSBkYXRhLmhlaWdodDtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5uZXdUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldFRvcGljKHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCwgZGF0YS5uZXdUZXh0IGFzIE1pbmRFbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBNaW5kVHJhbnNmb3Jtcy5zZXRUb3BpY1NpemUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5lbGVtZW50Lm1hbnVhbFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBOb2RlU3BhY2UuZ2V0Tm9kZUR5bmFtaWNXaWR0aCh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLm1heChOb2RlU3BhY2UuZ2V0Tm9kZUR5bmFtaWNXaWR0aCh0aGlzLmJvYXJkLCB0aGlzLmVsZW1lbnQpLCBOb2RlVG9waWNUaHJlc2hvbGQuZGVmYXVsdFRleHRNYXhXaWR0aCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRleHRQbHVnaW5zOiBwbHVnaW5zIHx8IFtdXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmdldFJlZigpLmFkZEdlbmVyYXRvcihOb2RlQWN0aXZlR2VuZXJhdG9yLmtleSwgdGhpcy5hY3RpdmVHZW5lcmF0b3IpO1xuICAgICAgICB0aGlzLmdldFJlZigpLmFkZEdlbmVyYXRvcihOb2RlRW1vamlzR2VuZXJhdG9yLmtleSwgdGhpcy5ub2RlRW1vamlzR2VuZXJhdG9yKTtcbiAgICAgICAgdGhpcy5nZXRSZWYoKS5hZGRHZW5lcmF0b3IoSW1hZ2VHZW5lcmF0b3Iua2V5LCB0aGlzLmltYWdlR2VuZXJhdG9yKTtcbiAgICAgICAgdGhpcy5nZXRSZWYoKS5pbml0aWFsaXplVGV4dE1hbmFnZSh0ZXh0TWFuYWdlKTtcbiAgICAgICAgdGhpcy5nZXRSZWYoKS51cGRhdGVBY3RpdmVTZWN0aW9uID0gKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuaW5pdGlhbGl6ZSgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5ub2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICB0aGlzLmluZGV4ID0gTk9ERV9UT19JTkRFWC5nZXQodGhpcy5lbGVtZW50KSB8fCAwO1xuICAgICAgICB0aGlzLnJvdWdoU1ZHID0gUGxhaXRCb2FyZC5nZXRSb3VnaFNWRyh0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5ub2RlU2hhcGVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCB0aGlzLmdldEVsZW1lbnRHKCksIHsgbm9kZTogdGhpcy5ub2RlIH0pO1xuICAgICAgICB0aGlzLmRyYXdMaW5rKCk7XG4gICAgICAgIHRoaXMuZHJhd1RvcGljKCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgUGxhaXRCb2FyZC5nZXRBY3RpdmVIb3N0KHRoaXMuYm9hcmQpLCB7XG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5kcmF3RW1vamlzKCk7XG4gICAgICAgIHRoaXMuZHJhd0V4dGVuZCgpO1xuICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCBhcyBNaW5kRWxlbWVudDxJbWFnZURhdGE+LCB0aGlzLmdldEVsZW1lbnRHKCkpO1xuICAgICAgICBpZiAoUGxhaXRNaW5kLmlzTWluZCh0aGlzLmNvbnRleHQucGFyZW50KSkge1xuICAgICAgICAgICAgdGhpcy5nZXRFbGVtZW50RygpLmNsYXNzTGlzdC5hZGQoJ2JyYW5jaCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8TWluZEVsZW1lbnQsIFBsYWl0TWluZEJvYXJkPixcbiAgICAgICAgcHJldmlvdXM6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8TWluZEVsZW1lbnQsIFBsYWl0TWluZEJvYXJkPlxuICAgICkge1xuICAgICAgICBjb25zdCBuZXdOb2RlID0gTWluZEVsZW1lbnQuZ2V0Tm9kZSh2YWx1ZS5lbGVtZW50KTtcbiAgICAgICAgY29uc3QgaXNFcXVhbE5vZGUgPSBSZWN0YW5nbGVDbGllbnQuaXNFcXVhbCh0aGlzLm5vZGUsIG5ld05vZGUpO1xuICAgICAgICB0aGlzLm5vZGUgPSBuZXdOb2RlO1xuICAgICAgICBpZiAoIWlzRXF1YWxOb2RlIHx8IHZhbHVlLmVsZW1lbnQgIT09IHByZXZpb3VzLmVsZW1lbnQgfHwgdmFsdWUuaGFzVGhlbWVDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIFBsYWl0Qm9hcmQuZ2V0QWN0aXZlSG9zdCh0aGlzLmJvYXJkKSwge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMubm9kZVNoYXBlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nZXRFbGVtZW50RygpLCB7IG5vZGU6IHRoaXMubm9kZSB9KTtcbiAgICAgICAgICAgIHRoaXMuZHJhd0xpbmsoKTtcbiAgICAgICAgICAgIHRoaXMuZHJhd0Vtb2ppcygpO1xuICAgICAgICAgICAgdGhpcy5kcmF3RXh0ZW5kKCk7XG4gICAgICAgICAgICBpZiAoIU1pbmRFbGVtZW50Lmhhc0ltYWdlKHByZXZpb3VzLmVsZW1lbnQpICYmIE1pbmRFbGVtZW50Lmhhc0ltYWdlKHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5nZXRFbGVtZW50RygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChNaW5kRWxlbWVudC5oYXNJbWFnZShwcmV2aW91cy5lbGVtZW50KSAmJiBNaW5kRWxlbWVudC5oYXNJbWFnZSh0aGlzLmVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZUdlbmVyYXRvci51cGRhdGVJbWFnZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRFbGVtZW50RygpLFxuICAgICAgICAgICAgICAgICAgICBwcmV2aW91cy5lbGVtZW50IGFzIE1pbmRFbGVtZW50PEltYWdlRGF0YT4sXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlLmVsZW1lbnQgYXMgTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoTWluZEVsZW1lbnQuaGFzSW1hZ2UocHJldmlvdXMuZWxlbWVudCkgJiYgIU1pbmRFbGVtZW50Lmhhc0ltYWdlKHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudXBkYXRlVG9waWMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVTZWxlY3RlZCA9IHZhbHVlLnNlbGVjdGVkID09PSBwcmV2aW91cy5zZWxlY3RlZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVQYXJlbnQgPSB2YWx1ZS5wYXJlbnQgPT09IHByZXZpb3VzLnBhcmVudDtcbiAgICAgICAgICAgIGlmICghaGFzU2FtZVNlbGVjdGVkIHx8IHZhbHVlLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodGhpcy5lbGVtZW50LCBQbGFpdEJvYXJkLmdldEFjdGl2ZUhvc3QodGhpcy5ib2FyZCksIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghaGFzU2FtZVBhcmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZHJhd0xpbmsoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRyYXdFbW9qaXMoKSB7XG4gICAgICAgIGNvbnN0IGcgPSB0aGlzLm5vZGVFbW9qaXNHZW5lcmF0b3IuZHJhd0Vtb2ppcyh0aGlzLmVsZW1lbnQpO1xuICAgICAgICBpZiAoZykge1xuICAgICAgICAgICAgdGhpcy5nZXRFbGVtZW50RygpLmFwcGVuZChnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRyYXdMaW5rKCkge1xuICAgICAgICBpZiAoUGxhaXRNaW5kLmlzTWluZCh0aGlzLmVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJlbnQgPSBNaW5kRWxlbWVudC5nZXRQYXJlbnQodGhpcy5lbGVtZW50KTtcbiAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IE1pbmRFbGVtZW50LmdldE5vZGUocGFyZW50KTtcblxuICAgICAgICBpZiAodGhpcy5saW5rRykge1xuICAgICAgICAgICAgdGhpcy5saW5rRy5yZW1vdmUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxheW91dCA9IE1pbmRRdWVyaWVzLmdldExheW91dEJ5RWxlbWVudChwYXJlbnQpIGFzIE1pbmRMYXlvdXRUeXBlO1xuICAgICAgICBpZiAoQWJzdHJhY3ROb2RlLmlzQWJzdHJhY3QodGhpcy5ub2RlLm9yaWdpbikpIHtcbiAgICAgICAgICAgIHRoaXMubGlua0cgPSBkcmF3QWJzdHJhY3RMaW5rKHRoaXMuYm9hcmQsIHRoaXMubm9kZSwgaXNIb3Jpem9udGFsTGF5b3V0KGxheW91dCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5saW5rRyA9IGRyYXdMaW5rKHRoaXMuYm9hcmQsIHBhcmVudE5vZGUsIHRoaXMubm9kZSwgaXNIb3Jpem9udGFsTGF5b3V0KGxheW91dCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ2V0RWxlbWVudEcoKS5hcHBlbmQodGhpcy5saW5rRyk7XG4gICAgfVxuXG4gICAgZHJhd0V4dGVuZCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmV4dGVuZEcpIHtcbiAgICAgICAgICAgIHRoaXMuZXh0ZW5kRyA9IGNyZWF0ZUcoKTtcbiAgICAgICAgICAgIHRoaXMuZXh0ZW5kRy5jbGFzc0xpc3QuYWRkKCdleHRlbmQnKTtcbiAgICAgICAgICAgIHRoaXMuZ2V0RWxlbWVudEcoKS5hcHBlbmQodGhpcy5leHRlbmRHKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5lbGVtZW50LmlzQ29sbGFwc2VkKSB7XG4gICAgICAgICAgICB0aGlzLmdldEVsZW1lbnRHKCkuY2xhc3NMaXN0LmFkZCgnY29sbGFwc2VkJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdldEVsZW1lbnRHKCkuY2xhc3NMaXN0LnJlbW92ZSgnY29sbGFwc2VkJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ub2RlUGx1c0dlbmVyYXRvci5wcm9jZXNzRHJhd2luZyh0aGlzLmVsZW1lbnQsIHRoaXMuZXh0ZW5kRyEpO1xuICAgICAgICB0aGlzLmNvbGxhcHNlR2VuZXJhdG9yLnByb2Nlc3NEcmF3aW5nKHRoaXMuZWxlbWVudCwgdGhpcy5leHRlbmRHISk7XG4gICAgfVxuXG4gICAgZHJhd1RvcGljKCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UuZHJhdyh0aGlzLmVsZW1lbnQuZGF0YS50b3BpYyk7XG4gICAgICAgIHRoaXMuZ2V0RWxlbWVudEcoKS5hcHBlbmQodGhpcy50ZXh0TWFuYWdlLmcpO1xuICAgIH1cblxuICAgIHVwZGF0ZVRvcGljKCkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UudXBkYXRlVGV4dCh0aGlzLmVsZW1lbnQuZGF0YS50b3BpYyk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS51cGRhdGVSZWN0YW5nbGUoKTtcbiAgICB9XG5cbiAgICB0cmFja0J5ID0gKGluZGV4OiBudW1iZXIsIG5vZGU6IE1pbmROb2RlKSA9PiB7XG4gICAgICAgIHJldHVybiBub2RlLm9yaWdpbi5pZDtcbiAgICB9O1xuXG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLm5vZGVFbW9qaXNHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmltYWdlR2VuZXJhdG9yLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZGVzdHJveSgpO1xuICAgICAgICBpZiAoRUxFTUVOVF9UT19OT0RFLmdldCh0aGlzLmVsZW1lbnQpID09PSB0aGlzLm5vZGUpIHtcbiAgICAgICAgICAgIEVMRU1FTlRfVE9fTk9ERS5kZWxldGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdldFJlZigpLmRlc3Ryb3lUZXh0TWFuYWdlKCk7XG4gICAgfVxufVxuIl19
@@ -1,34 +0,0 @@
1
- import { depthFirstRecursion } from '@plait/core';
2
- import { GlobalLayout } from '@plait/layouts';
3
- import { ELEMENT_TO_NODE } from './utils/weak-maps';
4
- import { MindNodeComponent } from './mind-node.component';
5
- import { getLayoutOptions } from './utils/space/layout-options';
6
- import { getDefaultLayout } from './utils/layout';
7
- export class PlaitMindComponent extends MindNodeComponent {
8
- initialize() {
9
- this.updateMindLayout();
10
- super.initialize();
11
- this.getElementG().classList.add('root');
12
- }
13
- beforeContextChange(value) {
14
- if (value.element !== this.element && this.initialized) {
15
- this.updateMindLayout(value.element);
16
- }
17
- }
18
- updateMindLayout(element = this.element) {
19
- const mindLayoutType = element.layout || getDefaultLayout();
20
- this.root = GlobalLayout.layout(element, getLayoutOptions(this.board), mindLayoutType);
21
- this.updateMindNodeLocation(element);
22
- }
23
- updateMindNodeLocation(element) {
24
- const { x, y, hGap, vGap } = this.root;
25
- const offsetX = x + hGap;
26
- const offsetY = y + vGap;
27
- depthFirstRecursion(this.root, (node) => {
28
- node.x = node.x - offsetX + element.points[0][0];
29
- node.y = node.y - offsetY + element.points[0][1];
30
- ELEMENT_TO_NODE.set(node.origin, node);
31
- });
32
- }
33
- }
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9taW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWtELG1CQUFtQixFQUFXLE1BQU0sYUFBYSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxZQUFZLEVBQWMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGlCQUFpQjtJQUdyRCxVQUFVO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUEyQztRQUMzRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTztRQUNuQyxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDNUQsSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUMzQixPQUFnQyxFQUNoQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQzVCLGNBQWMsQ0FDTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFvQixDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHNCQUFzQixDQUFDLE9BQWtCO1FBQ3JDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDekIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN6QixtQkFBbUIsQ0FBVyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDOUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdE1pbmQgfSBmcm9tICcuL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBNaW5kTm9kZSB9IGZyb20gJy4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IEJlZm9yZUNvbnRleHRDaGFuZ2UsIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsIGRlcHRoRmlyc3RSZWN1cnNpb24sIGlzRGVidWcgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBHbG9iYWxMYXlvdXQsIE9yaWdpbk5vZGUgfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBFTEVNRU5UX1RPX05PREUgfSBmcm9tICcuL3V0aWxzL3dlYWstbWFwcyc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4vbWluZC1ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRMYXlvdXRPcHRpb25zIH0gZnJvbSAnLi91dGlscy9zcGFjZS9sYXlvdXQtb3B0aW9ucyc7XG5pbXBvcnQgeyBnZXREZWZhdWx0TGF5b3V0IH0gZnJvbSAnLi91dGlscy9sYXlvdXQnO1xuXG5leHBvcnQgY2xhc3MgUGxhaXRNaW5kQ29tcG9uZW50IGV4dGVuZHMgTWluZE5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBCZWZvcmVDb250ZXh0Q2hhbmdlPFBsYWl0TWluZD4ge1xuICAgIHJvb3QhOiBNaW5kTm9kZTtcblxuICAgIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlTWluZExheW91dCgpO1xuICAgICAgICBzdXBlci5pbml0aWFsaXplKCk7XG4gICAgICAgIHRoaXMuZ2V0RWxlbWVudEcoKS5jbGFzc0xpc3QuYWRkKCdyb290Jyk7XG4gICAgfVxuXG4gICAgYmVmb3JlQ29udGV4dENoYW5nZSh2YWx1ZTogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdE1pbmQ+KSB7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSB0aGlzLmVsZW1lbnQgJiYgdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVNaW5kTGF5b3V0KHZhbHVlLmVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlTWluZExheW91dChlbGVtZW50ID0gdGhpcy5lbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IG1pbmRMYXlvdXRUeXBlID0gZWxlbWVudC5sYXlvdXQgfHwgZ2V0RGVmYXVsdExheW91dCgpO1xuICAgICAgICB0aGlzLnJvb3QgPSBHbG9iYWxMYXlvdXQubGF5b3V0KFxuICAgICAgICAgICAgZWxlbWVudCBhcyB1bmtub3duIGFzIE9yaWdpbk5vZGUsXG4gICAgICAgICAgICBnZXRMYXlvdXRPcHRpb25zKHRoaXMuYm9hcmQpLFxuICAgICAgICAgICAgbWluZExheW91dFR5cGVcbiAgICAgICAgKSBhcyB1bmtub3duIGFzIE1pbmROb2RlO1xuICAgICAgICB0aGlzLnVwZGF0ZU1pbmROb2RlTG9jYXRpb24oZWxlbWVudCBhcyBQbGFpdE1pbmQpO1xuICAgIH1cblxuICAgIHVwZGF0ZU1pbmROb2RlTG9jYXRpb24oZWxlbWVudDogUGxhaXRNaW5kKSB7XG4gICAgICAgIGNvbnN0IHsgeCwgeSwgaEdhcCwgdkdhcCB9ID0gdGhpcy5yb290O1xuICAgICAgICBjb25zdCBvZmZzZXRYID0geCArIGhHYXA7XG4gICAgICAgIGNvbnN0IG9mZnNldFkgPSB5ICsgdkdhcDtcbiAgICAgICAgZGVwdGhGaXJzdFJlY3Vyc2lvbjxNaW5kTm9kZT4odGhpcy5yb290LCAobm9kZSkgPT4ge1xuICAgICAgICAgICAgbm9kZS54ID0gbm9kZS54IC0gb2Zmc2V0WCArIGVsZW1lbnQucG9pbnRzWzBdWzBdO1xuICAgICAgICAgICAgbm9kZS55ID0gbm9kZS55IC0gb2Zmc2V0WSArIGVsZW1lbnQucG9pbnRzWzBdWzFdO1xuICAgICAgICAgICAgRUxFTUVOVF9UT19OT0RFLnNldChub2RlLm9yaWdpbiwgbm9kZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhaXQtbWluZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsYWl0LW1pbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,12 +0,0 @@
1
- export var AbstractHandlePosition;
2
- (function (AbstractHandlePosition) {
3
- AbstractHandlePosition["start"] = "start";
4
- AbstractHandlePosition["end"] = "end";
5
- })(AbstractHandlePosition || (AbstractHandlePosition = {}));
6
- export var AbstractResizeState;
7
- (function (AbstractResizeState) {
8
- AbstractResizeState["start"] = "start";
9
- AbstractResizeState["resizing"] = "resizing";
10
- AbstractResizeState["end"] = "end";
11
- })(AbstractResizeState || (AbstractResizeState = {}));
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1hYnN0cmFjdC1yZXNpemUuYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy9wbHVnaW5zL3dpdGgtYWJzdHJhY3QtcmVzaXplLmJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBTixJQUFZLHNCQUdYO0FBSEQsV0FBWSxzQkFBc0I7SUFDOUIseUNBQWUsQ0FBQTtJQUNmLHFDQUFXLENBQUE7QUFDZixDQUFDLEVBSFcsc0JBQXNCLEtBQXRCLHNCQUFzQixRQUdqQztBQUVELE1BQU0sQ0FBTixJQUFZLG1CQUlYO0FBSkQsV0FBWSxtQkFBbUI7SUFDM0Isc0NBQWUsQ0FBQTtJQUNmLDRDQUFxQixDQUFBO0lBQ3JCLGtDQUFXLENBQUE7QUFDZixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0T3B0aW9uc0JvYXJkIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuXG5leHBvcnQgZW51bSBBYnN0cmFjdEhhbmRsZVBvc2l0aW9uIHtcbiAgICBzdGFydCA9ICdzdGFydCcsXG4gICAgZW5kID0gJ2VuZCdcbn1cblxuZXhwb3J0IGVudW0gQWJzdHJhY3RSZXNpemVTdGF0ZSB7XG4gICAgc3RhcnQgPSAnc3RhcnQnLFxuICAgIHJlc2l6aW5nID0gJ3Jlc2l6aW5nJyxcbiAgICBlbmQgPSAnZW5kJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0QWJzdHJhY3RCb2FyZCBleHRlbmRzIFBsYWl0T3B0aW9uc0JvYXJkIHtcbiAgICBvbkFic3RyYWN0UmVzaXplPzogKHN0YXRlOiBBYnN0cmFjdFJlc2l6ZVN0YXRlKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBBYnN0cmFjdFJlZnMgPSBNYXA8TWluZEVsZW1lbnQsIFBpY2s8QWJzdHJhY3ROb2RlLCAnc3RhcnQnIHwgJ2VuZCc+PjtcbiJdfQ==