@plait/mind 0.2.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 (125) hide show
  1. package/README.md +24 -0
  2. package/constants/default.d.ts +12 -0
  3. package/constants/index.d.ts +2 -0
  4. package/constants/node.d.ts +17 -0
  5. package/draw/abstract.d.ts +4 -0
  6. package/draw/indented-link.d.ts +3 -0
  7. package/draw/link/abstract-link.d.ts +3 -0
  8. package/draw/link/logic-link.d.ts +3 -0
  9. package/draw/link.d.ts +3 -0
  10. package/draw/richtext.d.ts +14 -0
  11. package/draw/shape.d.ts +3 -0
  12. package/esm2020/constants/default.mjs +13 -0
  13. package/esm2020/constants/index.mjs +3 -0
  14. package/esm2020/constants/node.mjs +19 -0
  15. package/esm2020/draw/abstract.mjs +48 -0
  16. package/esm2020/draw/indented-link.mjs +44 -0
  17. package/esm2020/draw/link/abstract-link.mjs +42 -0
  18. package/esm2020/draw/link/logic-link.mjs +51 -0
  19. package/esm2020/draw/link.mjs +158 -0
  20. package/esm2020/draw/richtext.mjs +35 -0
  21. package/esm2020/draw/shape.mjs +18 -0
  22. package/esm2020/interfaces/abstract.mjs +6 -0
  23. package/esm2020/interfaces/element-data.mjs +2 -0
  24. package/esm2020/interfaces/element.mjs +59 -0
  25. package/esm2020/interfaces/index.mjs +6 -0
  26. package/esm2020/interfaces/layout.mjs +19 -0
  27. package/esm2020/interfaces/node.mjs +23 -0
  28. package/esm2020/interfaces/types.mjs +13 -0
  29. package/esm2020/layout-option.mjs +72 -0
  30. package/esm2020/mind.component.mjs +50 -0
  31. package/esm2020/mind.module.mjs +21 -0
  32. package/esm2020/node.component.mjs +742 -0
  33. package/esm2020/plait-mind.mjs +5 -0
  34. package/esm2020/plugins/emoji/emoji-base.component.mjs +21 -0
  35. package/esm2020/plugins/emoji/emoji.drawer.mjs +79 -0
  36. package/esm2020/plugins/emoji/emoji.mjs +15 -0
  37. package/esm2020/plugins/emoji/index.mjs +4 -0
  38. package/esm2020/plugins/emoji/with-mind-emoji.mjs +8 -0
  39. package/esm2020/plugins/with-abstract.mjs +92 -0
  40. package/esm2020/plugins/with-dnd.mjs +276 -0
  41. package/esm2020/plugins/with-mind.mjs +183 -0
  42. package/esm2020/public-api.mjs +14 -0
  43. package/esm2020/queries/get-available-sublayouts-by-element.mjs +29 -0
  44. package/esm2020/queries/get-branch-mindmap-layouts-by-element.mjs +18 -0
  45. package/esm2020/queries/get-correct-layout-by-element.mjs +50 -0
  46. package/esm2020/queries/get-layout-by-element.mjs +16 -0
  47. package/esm2020/queries/get-layout-parent-by-element.mjs +17 -0
  48. package/esm2020/queries/index.mjs +13 -0
  49. package/esm2020/transforms/index.mjs +10 -0
  50. package/esm2020/transforms/layout.mjs +23 -0
  51. package/esm2020/transforms/node.mjs +44 -0
  52. package/esm2020/utils/abstract/common.mjs +25 -0
  53. package/esm2020/utils/abstract/resize.mjs +169 -0
  54. package/esm2020/utils/clipboard.mjs +71 -0
  55. package/esm2020/utils/colors.mjs +41 -0
  56. package/esm2020/utils/direction-corrector.mjs +54 -0
  57. package/esm2020/utils/direction-detector.mjs +56 -0
  58. package/esm2020/utils/draw-placeholder.mjs +311 -0
  59. package/esm2020/utils/drop-target-corrector.mjs +86 -0
  60. package/esm2020/utils/graph.mjs +24 -0
  61. package/esm2020/utils/index.mjs +14 -0
  62. package/esm2020/utils/is-virtual-key.mjs +13 -0
  63. package/esm2020/utils/layout.mjs +105 -0
  64. package/esm2020/utils/mindmap.mjs +295 -0
  65. package/esm2020/utils/node-space.mjs +72 -0
  66. package/esm2020/utils/node.mjs +6 -0
  67. package/esm2020/utils/path.mjs +11 -0
  68. package/esm2020/utils/point-placement.mjs +99 -0
  69. package/esm2020/utils/shape.mjs +17 -0
  70. package/esm2020/utils/weak-maps.mjs +3 -0
  71. package/fesm2015/plait-mind.mjs +3583 -0
  72. package/fesm2015/plait-mind.mjs.map +1 -0
  73. package/fesm2020/plait-mind.mjs +3595 -0
  74. package/fesm2020/plait-mind.mjs.map +1 -0
  75. package/index.d.ts +5 -0
  76. package/interfaces/abstract.d.ts +4 -0
  77. package/interfaces/element-data.d.ts +11 -0
  78. package/interfaces/element.d.ts +39 -0
  79. package/interfaces/index.d.ts +5 -0
  80. package/interfaces/layout.d.ts +10 -0
  81. package/interfaces/node.d.ts +33 -0
  82. package/interfaces/types.d.ts +11 -0
  83. package/layout-option.d.ts +2 -0
  84. package/mind.component.d.ts +16 -0
  85. package/mind.module.d.ts +11 -0
  86. package/node.component.d.ts +60 -0
  87. package/package.json +31 -0
  88. package/plugins/emoji/emoji-base.component.d.ts +12 -0
  89. package/plugins/emoji/emoji.d.ts +6 -0
  90. package/plugins/emoji/emoji.drawer.d.ts +22 -0
  91. package/plugins/emoji/index.d.ts +3 -0
  92. package/plugins/emoji/with-mind-emoji.d.ts +8 -0
  93. package/plugins/with-abstract.d.ts +2 -0
  94. package/plugins/with-dnd.d.ts +11 -0
  95. package/plugins/with-mind.d.ts +2 -0
  96. package/public-api.d.ts +10 -0
  97. package/queries/get-available-sublayouts-by-element.d.ts +8 -0
  98. package/queries/get-branch-mindmap-layouts-by-element.d.ts +3 -0
  99. package/queries/get-correct-layout-by-element.d.ts +9 -0
  100. package/queries/get-layout-by-element.d.ts +3 -0
  101. package/queries/get-layout-parent-by-element.d.ts +8 -0
  102. package/queries/index.d.ts +7 -0
  103. package/styles/styles.scss +99 -0
  104. package/transforms/index.d.ts +7 -0
  105. package/transforms/layout.d.ts +3 -0
  106. package/transforms/node.d.ts +8 -0
  107. package/utils/abstract/common.d.ts +5 -0
  108. package/utils/abstract/resize.d.ts +21 -0
  109. package/utils/clipboard.d.ts +7 -0
  110. package/utils/colors.d.ts +4 -0
  111. package/utils/direction-corrector.d.ts +3 -0
  112. package/utils/direction-detector.d.ts +9 -0
  113. package/utils/draw-placeholder.d.ts +42 -0
  114. package/utils/drop-target-corrector.d.ts +8 -0
  115. package/utils/graph.d.ts +5 -0
  116. package/utils/index.d.ts +13 -0
  117. package/utils/is-virtual-key.d.ts +1 -0
  118. package/utils/layout.d.ts +12 -0
  119. package/utils/mindmap.d.ts +33 -0
  120. package/utils/node-space.d.ts +9 -0
  121. package/utils/node.d.ts +2 -0
  122. package/utils/path.d.ts +4 -0
  123. package/utils/point-placement.d.ts +8 -0
  124. package/utils/shape.d.ts +3 -0
  125. package/utils/weak-maps.d.ts +5 -0
@@ -0,0 +1,99 @@
1
+ import { LayoutDirection } from '../interfaces/layout';
2
+ import { HorizontalPlacement, VerticalPlacement } from '../interfaces/types';
3
+ export const getPointByPlacement = (client, placement) => {
4
+ let x = client.x;
5
+ let y = client.y;
6
+ if (placement[0] === HorizontalPlacement.center) {
7
+ x = client.x + client.width / 2;
8
+ }
9
+ if (placement[0] === HorizontalPlacement.right) {
10
+ x = client.x + client.width;
11
+ }
12
+ if (placement[1] === VerticalPlacement.middle) {
13
+ y = client.y + client.height / 2;
14
+ }
15
+ if (placement[1] === VerticalPlacement.bottom) {
16
+ y = client.y + client.height;
17
+ }
18
+ return [x, y];
19
+ };
20
+ export const getLayoutDirection = (node, isHorizontal) => {
21
+ if (isHorizontal) {
22
+ if (node.left) {
23
+ return LayoutDirection.left;
24
+ }
25
+ else {
26
+ return LayoutDirection.right;
27
+ }
28
+ }
29
+ else {
30
+ if (node.up) {
31
+ return LayoutDirection.top;
32
+ }
33
+ else {
34
+ return LayoutDirection.bottom;
35
+ }
36
+ }
37
+ };
38
+ // 以右为基准
39
+ // 右 -> 左:
40
+ // 1. 终点 -> 起点/起点 -> 终点
41
+ // 2. 加 -> 减
42
+ // 水平 -> 垂直:
43
+ // 1. 起点/终点 -> 纵轴
44
+ // 2. 加减 -> 纵轴
45
+ // 下 -> 上:
46
+ // 1. 终点 -> 起点/终点 -> 起点
47
+ // 2. 加 -> 减
48
+ export const movePoint = (point, distance, direction = LayoutDirection.right) => {
49
+ if (direction === LayoutDirection.left) {
50
+ return [point[0] - distance, point[1]];
51
+ }
52
+ if (direction === LayoutDirection.bottom) {
53
+ return [point[0], point[1] + distance];
54
+ }
55
+ if (direction === LayoutDirection.top) {
56
+ return [point[0], point[1] - distance];
57
+ }
58
+ return [point[0] + distance, point[1]];
59
+ };
60
+ export const transformPlacement = (placement, direction) => {
61
+ // to left
62
+ if (direction === LayoutDirection.left) {
63
+ if (placement[0] === HorizontalPlacement.right) {
64
+ placement[0] = HorizontalPlacement.left;
65
+ }
66
+ else if (placement[0] === HorizontalPlacement.left) {
67
+ placement[0] = HorizontalPlacement.right;
68
+ }
69
+ }
70
+ // to bottom
71
+ if (direction === LayoutDirection.bottom || direction === LayoutDirection.top) {
72
+ let horizontal = HorizontalPlacement.center;
73
+ let vertical = VerticalPlacement.middle;
74
+ if (placement[1] === VerticalPlacement.top) {
75
+ horizontal = HorizontalPlacement.left;
76
+ }
77
+ if (placement[1] === VerticalPlacement.bottom) {
78
+ horizontal = HorizontalPlacement.right;
79
+ }
80
+ if (placement[0] === HorizontalPlacement.left) {
81
+ vertical = VerticalPlacement.top;
82
+ }
83
+ if (placement[0] === HorizontalPlacement.right) {
84
+ vertical = VerticalPlacement.bottom;
85
+ }
86
+ placement[0] = horizontal;
87
+ placement[1] = vertical;
88
+ }
89
+ // to up
90
+ if (direction === LayoutDirection.top) {
91
+ if (placement[1] === VerticalPlacement.bottom) {
92
+ placement[1] = VerticalPlacement.top;
93
+ }
94
+ else if (placement[1] === VerticalPlacement.top) {
95
+ placement[1] = VerticalPlacement.bottom;
96
+ }
97
+ }
98
+ };
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQtcGxhY2VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvcG9pbnQtcGxhY2VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQWtCLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0YsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUF1QixFQUFFLFNBQXlCLEVBQVMsRUFBRTtJQUM3RixJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDakIsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssbUJBQW1CLENBQUMsTUFBTSxFQUFFO1FBQzdDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0tBQ25DO0lBQ0QsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssbUJBQW1CLENBQUMsS0FBSyxFQUFFO1FBQzVDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDL0I7SUFDRCxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7UUFDM0MsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7S0FDcEM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUU7UUFDM0MsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztLQUNoQztJQUNELE9B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QUFDLEtBQUssbUJBQW1CLENBQUMsSUFBSSxFQUFFO1lBQzNDLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUM7U0FDcEM7UUFDRCxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUU7WUFDNUMsUUFBUSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztTQUN2QztRQUNELFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUM7UUFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQztLQUMzQjtJQUNELFFBQVE7SUFDUixJQUFJLFNBQVMsS0FBSyxlQUFlLENBQUMsR0FBRyxFQUFFO1FBQ25DLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLE1BQU0sRUFBRTtZQUMzQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDO1NBQ3hDO2FBQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQy9DLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7U0FDM0M7S0FDSjtBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvaW50LCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kbWFwTm9kZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm9kZSc7XG5pbXBvcnQgeyBMYXlvdXREaXJlY3Rpb24gfSBmcm9tICcuLi9pbnRlcmZhY2VzL2xheW91dCc7XG5pbXBvcnQgeyBIb3Jpem9udGFsUGxhY2VtZW50LCBQb2ludFBsYWNlbWVudCwgVmVydGljYWxQbGFjZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGdldFBvaW50QnlQbGFjZW1lbnQgPSAoY2xpZW50OiBSZWN0YW5nbGVDbGllbnQsIHBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQpOiBQb2ludCA9PiB7XG4gICAgbGV0IHggPSBjbGllbnQueDtcbiAgICBsZXQgeSA9IGNsaWVudC55O1xuICAgIGlmIChwbGFjZW1lbnRbMF0gPT09IEhvcml6b250YWxQbGFjZW1lbnQuY2VudGVyKSB7XG4gICAgICAgIHggPSBjbGllbnQueCArIGNsaWVudC53aWR0aCAvIDI7XG4gICAgfVxuICAgIGlmIChwbGFjZW1lbnRbMF0gPT09IEhvcml6b250YWxQbGFjZW1lbnQucmlnaHQpIHtcbiAgICAgICAgeCA9IGNsaWVudC54ICsgY2xpZW50LndpZHRoO1xuICAgIH1cbiAgICBpZiAocGxhY2VtZW50WzFdID09PSBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGUpIHtcbiAgICAgICAgeSA9IGNsaWVudC55ICsgY2xpZW50LmhlaWdodCAvIDI7XG4gICAgfVxuICAgIGlmIChwbGFjZW1lbnRbMV0gPT09IFZlcnRpY2FsUGxhY2VtZW50LmJvdHRvbSkge1xuICAgICAgICB5ID0gY2xpZW50LnkgKyBjbGllbnQuaGVpZ2h0O1xuICAgIH1cbiAgICByZXR1cm4gW3gsIHldO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldExheW91dERpcmVjdGlvbiA9IChub2RlOiBNaW5kbWFwTm9kZSwgaXNIb3Jpem9udGFsOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGlzSG9yaXpvbnRhbCkge1xuICAgICAgICBpZiAobm9kZS5sZWZ0KSB7XG4gICAgICAgICAgICByZXR1cm4gTGF5b3V0RGlyZWN0aW9uLmxlZnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gTGF5b3V0RGlyZWN0aW9uLnJpZ2h0O1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKG5vZGUudXApIHtcbiAgICAgICAgICAgIHJldHVybiBMYXlvdXREaXJlY3Rpb24udG9wO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIExheW91dERpcmVjdGlvbi5ib3R0b207XG4gICAgICAgIH1cbiAgICB9XG59O1xuXG4vLyDku6Xlj7PkuLrln7rlh4Zcbi8vIOWPsyAtPiDlt6Y6XG4vLyAxLiDnu4jngrkgLT4g6LW354K5L+i1t+eCuSAtPiDnu4jngrlcbi8vIDIuIOWKoCAtPiDlh49cblxuLy8g5rC05bmzIC0+IOWeguebtDpcbi8vIDEuIOi1t+eCuS/nu4jngrkgLT4g57q16L20XG4vLyAyLiDliqDlh48gLT4g57q16L20XG5cbi8vIOS4iyAtPiDkuIo6XG4vLyAxLiDnu4jngrkgLT4g6LW354K5L+e7iOeCuSAtPiDotbfngrlcbi8vIDIuIOWKoCAtPiDlh49cbmV4cG9ydCBjb25zdCBtb3ZlUG9pbnQgPSAocG9pbnQ6IFBvaW50LCBkaXN0YW5jZTogbnVtYmVyLCBkaXJlY3Rpb246IExheW91dERpcmVjdGlvbiA9IExheW91dERpcmVjdGlvbi5yaWdodCk6IFBvaW50ID0+IHtcbiAgICBpZiAoZGlyZWN0aW9uID09PSBMYXlvdXREaXJlY3Rpb24ubGVmdCkge1xuICAgICAgICByZXR1cm4gW3BvaW50WzBdIC0gZGlzdGFuY2UsIHBvaW50WzFdXTtcbiAgICB9XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gTGF5b3V0RGlyZWN0aW9uLmJvdHRvbSkge1xuICAgICAgICByZXR1cm4gW3BvaW50WzBdLCBwb2ludFsxXSArIGRpc3RhbmNlXTtcbiAgICB9XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gTGF5b3V0RGlyZWN0aW9uLnRvcCkge1xuICAgICAgICByZXR1cm4gW3BvaW50WzBdLCBwb2ludFsxXSAtIGRpc3RhbmNlXTtcbiAgICB9XG4gICAgcmV0dXJuIFtwb2ludFswXSArIGRpc3RhbmNlLCBwb2ludFsxXV07XG59O1xuXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtUGxhY2VtZW50ID0gKHBsYWNlbWVudDogUG9pbnRQbGFjZW1lbnQsIGRpcmVjdGlvbjogTGF5b3V0RGlyZWN0aW9uKSA9PiB7XG4gICAgLy8gdG8gbGVmdFxuICAgIGlmIChkaXJlY3Rpb24gPT09IExheW91dERpcmVjdGlvbi5sZWZ0KSB7XG4gICAgICAgIGlmIChwbGFjZW1lbnRbMF0gPT09IEhvcml6b250YWxQbGFjZW1lbnQucmlnaHQpIHtcbiAgICAgICAgICAgIHBsYWNlbWVudFswXSA9IEhvcml6b250YWxQbGFjZW1lbnQubGVmdDtcbiAgICAgICAgfSBlbHNlIGlmIChwbGFjZW1lbnRbMF0gPT09IEhvcml6b250YWxQbGFjZW1lbnQubGVmdCkge1xuICAgICAgICAgICAgcGxhY2VtZW50WzBdID0gSG9yaXpvbnRhbFBsYWNlbWVudC5yaWdodDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyB0byBib3R0b21cbiAgICBpZiAoZGlyZWN0aW9uID09PSBMYXlvdXREaXJlY3Rpb24uYm90dG9tIHx8IGRpcmVjdGlvbiA9PT0gTGF5b3V0RGlyZWN0aW9uLnRvcCkge1xuICAgICAgICBsZXQgaG9yaXpvbnRhbCA9IEhvcml6b250YWxQbGFjZW1lbnQuY2VudGVyO1xuICAgICAgICBsZXQgdmVydGljYWwgPSBWZXJ0aWNhbFBsYWNlbWVudC5taWRkbGU7XG4gICAgICAgIGlmIChwbGFjZW1lbnRbMV0gPT09IFZlcnRpY2FsUGxhY2VtZW50LnRvcCkge1xuICAgICAgICAgICAgaG9yaXpvbnRhbCA9IEhvcml6b250YWxQbGFjZW1lbnQubGVmdDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGxhY2VtZW50WzFdID09PSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b20pIHtcbiAgICAgICAgICAgIGhvcml6b250YWwgPSBIb3Jpem9udGFsUGxhY2VtZW50LnJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChwbGFjZW1lbnRbMF0gPT09IEhvcml6b250YWxQbGFjZW1lbnQubGVmdCkge1xuICAgICAgICAgICAgdmVydGljYWwgPSBWZXJ0aWNhbFBsYWNlbWVudC50b3A7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBsYWNlbWVudFswXSA9PT0gSG9yaXpvbnRhbFBsYWNlbWVudC5yaWdodCkge1xuICAgICAgICAgICAgdmVydGljYWwgPSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b207XG4gICAgICAgIH1cbiAgICAgICAgcGxhY2VtZW50WzBdID0gaG9yaXpvbnRhbDtcbiAgICAgICAgcGxhY2VtZW50WzFdID0gdmVydGljYWw7XG4gICAgfVxuICAgIC8vIHRvIHVwXG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gTGF5b3V0RGlyZWN0aW9uLnRvcCkge1xuICAgICAgICBpZiAocGxhY2VtZW50WzFdID09PSBWZXJ0aWNhbFBsYWNlbWVudC5ib3R0b20pIHtcbiAgICAgICAgICAgIHBsYWNlbWVudFsxXSA9IFZlcnRpY2FsUGxhY2VtZW50LnRvcDtcbiAgICAgICAgfSBlbHNlIGlmIChwbGFjZW1lbnRbMV0gPT09IFZlcnRpY2FsUGxhY2VtZW50LnRvcCkge1xuICAgICAgICAgICAgcGxhY2VtZW50WzFdID0gVmVydGljYWxQbGFjZW1lbnQuYm90dG9tO1xuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { MindmapNodeShape } from '../constants';
2
+ import { findParentElement } from './mindmap';
3
+ export const getNodeShapeByElement = (element) => {
4
+ let nodeShape = element.shape;
5
+ if (nodeShape) {
6
+ return nodeShape;
7
+ }
8
+ let parent = findParentElement(element);
9
+ while (parent) {
10
+ if (parent.shape) {
11
+ return parent.shape;
12
+ }
13
+ parent = findParentElement(parent);
14
+ }
15
+ return MindmapNodeShape.roundRectangle;
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9zaGFwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsT0FBb0IsRUFBb0IsRUFBRTtJQUM1RSxJQUFJLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzlCLElBQUksU0FBUyxFQUFFO1FBQ1gsT0FBTyxTQUFTLENBQUM7S0FDcEI7SUFDRCxJQUFJLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV4QyxPQUFPLE1BQU0sRUFBRTtRQUNYLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNkLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztTQUN2QjtRQUNELE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN0QztJQUNELE9BQU8sZ0JBQWdCLENBQUMsY0FBYyxDQUFDO0FBQzNDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRtYXBOb2RlU2hhcGUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZpbmRQYXJlbnRFbGVtZW50IH0gZnJvbSAnLi9taW5kbWFwJztcblxuZXhwb3J0IGNvbnN0IGdldE5vZGVTaGFwZUJ5RWxlbWVudCA9IChlbGVtZW50OiBNaW5kRWxlbWVudCk6IE1pbmRtYXBOb2RlU2hhcGUgPT4ge1xuICAgIGxldCBub2RlU2hhcGUgPSBlbGVtZW50LnNoYXBlO1xuICAgIGlmIChub2RlU2hhcGUpIHtcbiAgICAgICAgcmV0dXJuIG5vZGVTaGFwZTtcbiAgICB9XG4gICAgbGV0IHBhcmVudCA9IGZpbmRQYXJlbnRFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgd2hpbGUgKHBhcmVudCkge1xuICAgICAgICBpZiAocGFyZW50LnNoYXBlKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyZW50LnNoYXBlO1xuICAgICAgICB9XG4gICAgICAgIHBhcmVudCA9IGZpbmRQYXJlbnRFbGVtZW50KHBhcmVudCk7XG4gICAgfVxuICAgIHJldHVybiBNaW5kbWFwTm9kZVNoYXBlLnJvdW5kUmVjdGFuZ2xlO1xufTtcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export const MINDMAP_ELEMENT_TO_COMPONENT = new WeakMap();
2
+ export const ELEMENT_TO_NODE = new WeakMap();
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay1tYXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvd2Vhay1tYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUE0QyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBRW5HLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmROb2RlQ29tcG9uZW50IH0gZnJvbSAnLi4vbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgTWluZG1hcE5vZGUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL25vZGUnO1xuXG5leHBvcnQgY29uc3QgTUlORE1BUF9FTEVNRU5UX1RPX0NPTVBPTkVOVDogV2Vha01hcDxNaW5kRWxlbWVudCwgTWluZE5vZGVDb21wb25lbnQ+ID0gbmV3IFdlYWtNYXAoKTtcblxuZXhwb3J0IGNvbnN0IEVMRU1FTlRfVE9fTk9ERSA9IG5ldyBXZWFrTWFwPE1pbmRFbGVtZW50LCBNaW5kbWFwTm9kZT4oKTtcbiJdfQ==