@plait/mind 0.27.0-next.0 → 0.27.0-next.2

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 (115) hide show
  1. package/base/emoji-base.component.d.ts +1 -1
  2. package/base/image-base.component.d.ts +4 -3
  3. package/constants/node-topic-style.d.ts +3 -0
  4. package/{esm2020 → esm2022}/base/emoji-base.component.mjs +4 -4
  5. package/esm2022/base/image-base.component.mjs +75 -0
  6. package/{esm2020 → esm2022}/constants/node-topic-style.mjs +4 -1
  7. package/esm2022/interfaces/element-data.mjs +2 -0
  8. package/{esm2020 → esm2022}/mind.component.mjs +6 -6
  9. package/{esm2020 → esm2022}/mind.module.mjs +5 -5
  10. package/esm2022/node.component.mjs +251 -0
  11. package/esm2022/plugins/with-mind-hotkey.mjs +109 -0
  12. package/esm2022/plugins/with-node-image-resize.mjs +48 -0
  13. package/esm2022/utils/index.mjs +15 -0
  14. package/esm2022/utils/position/image.mjs +36 -0
  15. package/{fesm2020 → fesm2022}/plait-mind.mjs +45 -56
  16. package/fesm2022/plait-mind.mjs.map +1 -0
  17. package/interfaces/element-data.d.ts +2 -2
  18. package/package.json +7 -13
  19. package/plugins/with-mind-hotkey.d.ts +0 -4
  20. package/utils/abstract/common.d.ts +2 -2
  21. package/utils/index.d.ts +0 -1
  22. package/utils/position/image.d.ts +1 -1
  23. package/esm2020/base/image-base.component.mjs +0 -67
  24. package/esm2020/interfaces/element-data.mjs +0 -2
  25. package/esm2020/node.component.mjs +0 -248
  26. package/esm2020/plugins/with-mind-hotkey.mjs +0 -122
  27. package/esm2020/plugins/with-node-image-resize.mjs +0 -48
  28. package/esm2020/utils/index.mjs +0 -16
  29. package/esm2020/utils/is-virtual-key.mjs +0 -13
  30. package/esm2020/utils/position/image.mjs +0 -36
  31. package/fesm2015/plait-mind.mjs +0 -4402
  32. package/fesm2015/plait-mind.mjs.map +0 -1
  33. package/fesm2020/plait-mind.mjs.map +0 -1
  34. package/utils/is-virtual-key.d.ts +0 -1
  35. /package/{esm2020 → esm2022}/base/base.drawer.mjs +0 -0
  36. /package/{esm2020 → esm2022}/base/index.mjs +0 -0
  37. /package/{esm2020 → esm2022}/constants/abstract-node.mjs +0 -0
  38. /package/{esm2020 → esm2022}/constants/default.mjs +0 -0
  39. /package/{esm2020 → esm2022}/constants/image.mjs +0 -0
  40. /package/{esm2020 → esm2022}/constants/index.mjs +0 -0
  41. /package/{esm2020 → esm2022}/constants/node-style.mjs +0 -0
  42. /package/{esm2020 → esm2022}/constants/theme.mjs +0 -0
  43. /package/{esm2020 → esm2022}/drawer/node-active.drawer.mjs +0 -0
  44. /package/{esm2020 → esm2022}/drawer/node-collapse.drawer.mjs +0 -0
  45. /package/{esm2020 → esm2022}/drawer/node-emojis.drawer.mjs +0 -0
  46. /package/{esm2020 → esm2022}/drawer/node-image.drawer.mjs +0 -0
  47. /package/{esm2020 → esm2022}/drawer/node-insert.drawer.mjs +0 -0
  48. /package/{esm2020 → esm2022}/interfaces/element.mjs +0 -0
  49. /package/{esm2020 → esm2022}/interfaces/index.mjs +0 -0
  50. /package/{esm2020 → esm2022}/interfaces/layout.mjs +0 -0
  51. /package/{esm2020 → esm2022}/interfaces/node.mjs +0 -0
  52. /package/{esm2020 → esm2022}/interfaces/options.mjs +0 -0
  53. /package/{esm2020 → esm2022}/interfaces/pointer.mjs +0 -0
  54. /package/{esm2020 → esm2022}/interfaces/theme-color.mjs +0 -0
  55. /package/{esm2020 → esm2022}/interfaces/types.mjs +0 -0
  56. /package/{esm2020 → esm2022}/plait-mind.mjs +0 -0
  57. /package/{esm2020 → esm2022}/plugins/with-abstract-resize.board.mjs +0 -0
  58. /package/{esm2020 → esm2022}/plugins/with-abstract-resize.mjs +0 -0
  59. /package/{esm2020 → esm2022}/plugins/with-mind-create.mjs +0 -0
  60. /package/{esm2020 → esm2022}/plugins/with-mind-extend.mjs +0 -0
  61. /package/{esm2020 → esm2022}/plugins/with-mind.board.mjs +0 -0
  62. /package/{esm2020 → esm2022}/plugins/with-mind.mjs +0 -0
  63. /package/{esm2020 → esm2022}/plugins/with-node-dnd.mjs +0 -0
  64. /package/{esm2020 → esm2022}/plugins/with-node-hover-detect.mjs +0 -0
  65. /package/{esm2020 → esm2022}/plugins/with-node-image.mjs +0 -0
  66. /package/{esm2020 → esm2022}/plugins/with-node-resize.mjs +0 -0
  67. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  68. /package/{esm2020 → esm2022}/queries/get-available-sublayouts-by-element.mjs +0 -0
  69. /package/{esm2020 → esm2022}/queries/get-branch-layouts.mjs +0 -0
  70. /package/{esm2020 → esm2022}/queries/get-correct-layout-by-element.mjs +0 -0
  71. /package/{esm2020 → esm2022}/queries/get-layout-by-element.mjs +0 -0
  72. /package/{esm2020 → esm2022}/queries/index.mjs +0 -0
  73. /package/{esm2020 → esm2022}/transforms/abstract-node.mjs +0 -0
  74. /package/{esm2020 → esm2022}/transforms/emoji.mjs +0 -0
  75. /package/{esm2020 → esm2022}/transforms/image.mjs +0 -0
  76. /package/{esm2020 → esm2022}/transforms/index.mjs +0 -0
  77. /package/{esm2020 → esm2022}/transforms/layout.mjs +0 -0
  78. /package/{esm2020 → esm2022}/transforms/node.mjs +0 -0
  79. /package/{esm2020 → esm2022}/utils/abstract/common.mjs +0 -0
  80. /package/{esm2020 → esm2022}/utils/abstract/resize.mjs +0 -0
  81. /package/{esm2020 → esm2022}/utils/clipboard.mjs +0 -0
  82. /package/{esm2020 → esm2022}/utils/dnd/common.mjs +0 -0
  83. /package/{esm2020 → esm2022}/utils/dnd/detector.mjs +0 -0
  84. /package/{esm2020 → esm2022}/utils/draw/abstract-outline.mjs +0 -0
  85. /package/{esm2020 → esm2022}/utils/draw/node-dnd.mjs +0 -0
  86. /package/{esm2020 → esm2022}/utils/draw/node-link/abstract-link.mjs +0 -0
  87. /package/{esm2020 → esm2022}/utils/draw/node-link/draw-link.mjs +0 -0
  88. /package/{esm2020 → esm2022}/utils/draw/node-link/indented-link.mjs +0 -0
  89. /package/{esm2020 → esm2022}/utils/draw/node-link/logic-link.mjs +0 -0
  90. /package/{esm2020 → esm2022}/utils/draw/node-shape.mjs +0 -0
  91. /package/{esm2020 → esm2022}/utils/layout.mjs +0 -0
  92. /package/{esm2020 → esm2022}/utils/mind.mjs +0 -0
  93. /package/{esm2020 → esm2022}/utils/node/adjust-node.mjs +0 -0
  94. /package/{esm2020 → esm2022}/utils/node/common.mjs +0 -0
  95. /package/{esm2020 → esm2022}/utils/node/create-node.mjs +0 -0
  96. /package/{esm2020 → esm2022}/utils/node/dynamic-width.mjs +0 -0
  97. /package/{esm2020 → esm2022}/utils/node/image.mjs +0 -0
  98. /package/{esm2020 → esm2022}/utils/node/index.mjs +0 -0
  99. /package/{esm2020 → esm2022}/utils/node/right-node-count.mjs +0 -0
  100. /package/{esm2020 → esm2022}/utils/node-hover/extend.mjs +0 -0
  101. /package/{esm2020 → esm2022}/utils/node-style/branch.mjs +0 -0
  102. /package/{esm2020 → esm2022}/utils/node-style/common.mjs +0 -0
  103. /package/{esm2020 → esm2022}/utils/node-style/index.mjs +0 -0
  104. /package/{esm2020 → esm2022}/utils/node-style/shape.mjs +0 -0
  105. /package/{esm2020 → esm2022}/utils/path.mjs +0 -0
  106. /package/{esm2020 → esm2022}/utils/point-placement.mjs +0 -0
  107. /package/{esm2020 → esm2022}/utils/position/emoji.mjs +0 -0
  108. /package/{esm2020 → esm2022}/utils/position/index.mjs +0 -0
  109. /package/{esm2020 → esm2022}/utils/position/node.mjs +0 -0
  110. /package/{esm2020 → esm2022}/utils/position/topic.mjs +0 -0
  111. /package/{esm2020 → esm2022}/utils/space/emoji.mjs +0 -0
  112. /package/{esm2020 → esm2022}/utils/space/index.mjs +0 -0
  113. /package/{esm2020 → esm2022}/utils/space/layout-options.mjs +0 -0
  114. /package/{esm2020 → esm2022}/utils/space/node-space.mjs +0 -0
  115. /package/{esm2020 → esm2022}/utils/weak-maps.mjs +0 -0
@@ -1,48 +0,0 @@
1
- import { PlaitNode } from '@plait/core';
2
- import { addSelectedImageElement, getSelectedImageElement } from '../utils/node/image';
3
- import { getHitImageResizeHandleDirection } from '../utils';
4
- import { ResizeDirection, withResize } from '@plait/common';
5
- import { MindTransforms } from '../transforms';
6
- export const withNodeImageResize = (board) => {
7
- const options = {
8
- key: 'mind-node-image',
9
- canResize: () => {
10
- return true;
11
- },
12
- detect: (point) => {
13
- const selectedMindElement = getSelectedImageElement(board);
14
- if (selectedMindElement) {
15
- const result = getHitImageResizeHandleDirection(board, selectedMindElement, point);
16
- if (result) {
17
- return {
18
- element: selectedMindElement,
19
- direction: result.direction,
20
- cursorClass: result.cursorClass
21
- };
22
- }
23
- }
24
- return null;
25
- },
26
- onResize: (resizeRef, resizeState) => {
27
- let offsetX = resizeState.offsetX;
28
- let offsetY = resizeState.offsetY;
29
- if (resizeRef.direction === ResizeDirection.nw || resizeRef.direction === ResizeDirection.sw) {
30
- offsetX = -offsetX;
31
- }
32
- const originWidth = resizeRef.element.data.image.width;
33
- const originHeight = resizeRef.element.data.image.height;
34
- let width = originWidth + offsetX;
35
- if (width <= 100) {
36
- width = 100;
37
- }
38
- const ratio = originWidth / width;
39
- const height = originHeight / ratio;
40
- const imageItem = { ...resizeRef.element.data.image, width, height };
41
- MindTransforms.setImage(board, PlaitNode.get(board, resizeRef.path), imageItem);
42
- addSelectedImageElement(board, PlaitNode.get(board, resizeRef.path));
43
- }
44
- };
45
- withResize(board, options);
46
- return board;
47
- };
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1ub2RlLWltYWdlLXJlc2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3BsdWdpbnMvd2l0aC1ub2RlLWltYWdlLXJlc2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBYyxNQUFNLGFBQWEsQ0FBQztBQUd2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFxQixlQUFlLEVBQTZDLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3JELE1BQU0sT0FBTyxHQUE4QztRQUN2RCxHQUFHLEVBQUUsaUJBQWlCO1FBQ3RCLFNBQVMsRUFBRSxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsTUFBTSxFQUFFLENBQUMsS0FBWSxFQUFFLEVBQUU7WUFDckIsTUFBTSxtQkFBbUIsR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRCxJQUFJLG1CQUFtQixFQUFFO2dCQUNyQixNQUFNLE1BQU0sR0FBRyxnQ0FBZ0MsQ0FBQyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ25GLElBQUksTUFBTSxFQUFFO29CQUNSLE9BQU87d0JBQ0gsT0FBTyxFQUFFLG1CQUFtQjt3QkFDNUIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUE0Qjt3QkFDOUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO3FCQUNsQyxDQUFDO2lCQUNMO2FBQ0o7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsUUFBUSxFQUFFLENBQUMsU0FBNEMsRUFBRSxXQUF3QixFQUFFLEVBQUU7WUFDakYsSUFBSSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUNsQyxJQUFJLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1lBQ2xDLElBQUksU0FBUyxDQUFDLFNBQVMsS0FBSyxlQUFlLENBQUMsRUFBRSxJQUFJLFNBQVMsQ0FBQyxTQUFTLEtBQUssZUFBZSxDQUFDLEVBQUUsRUFBRTtnQkFDMUYsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDO2FBQ3RCO1lBQ0QsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztZQUN2RCxNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQ3pELElBQUksS0FBSyxHQUFHLFdBQVcsR0FBRyxPQUFPLENBQUM7WUFDbEMsSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFO2dCQUNkLEtBQUssR0FBRyxHQUFHLENBQUM7YUFDZjtZQUNELE1BQU0sS0FBSyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDbEMsTUFBTSxNQUFNLEdBQUcsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUNwQyxNQUFNLFNBQVMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNyRSxjQUFjLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDaEYsdUJBQXVCLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLENBQUM7S0FDSixDQUFDO0lBRUYsVUFBVSxDQUF5QixLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFFbkQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIFBsYWl0Tm9kZSwgVHJhbnNmb3JtcyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBJbWFnZURhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VsZW1lbnQtZGF0YSc7XG5pbXBvcnQgeyBhZGRTZWxlY3RlZEltYWdlRWxlbWVudCwgZ2V0U2VsZWN0ZWRJbWFnZUVsZW1lbnQgfSBmcm9tICcuLi91dGlscy9ub2RlL2ltYWdlJztcbmltcG9ydCB7IGdldEhpdEltYWdlUmVzaXplSGFuZGxlRGlyZWN0aW9uIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmVzaXplQ3Vyc29yQ2xhc3MsIFJlc2l6ZURpcmVjdGlvbiwgUmVzaXplUmVmLCBSZXNpemVTdGF0ZSwgV2l0aFJlc2l6ZU9wdGlvbnMsIHdpdGhSZXNpemUgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IE1pbmRUcmFuc2Zvcm1zIH0gZnJvbSAnLi4vdHJhbnNmb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCB3aXRoTm9kZUltYWdlUmVzaXplID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9uczogV2l0aFJlc2l6ZU9wdGlvbnM8TWluZEVsZW1lbnQ8SW1hZ2VEYXRhPj4gPSB7XG4gICAgICAgIGtleTogJ21pbmQtbm9kZS1pbWFnZScsXG4gICAgICAgIGNhblJlc2l6ZTogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIGRldGVjdDogKHBvaW50OiBQb2ludCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRNaW5kRWxlbWVudCA9IGdldFNlbGVjdGVkSW1hZ2VFbGVtZW50KGJvYXJkKTtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZE1pbmRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZ2V0SGl0SW1hZ2VSZXNpemVIYW5kbGVEaXJlY3Rpb24oYm9hcmQsIHNlbGVjdGVkTWluZEVsZW1lbnQsIHBvaW50KTtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50OiBzZWxlY3RlZE1pbmRFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiByZXN1bHQuZGlyZWN0aW9uIGFzIFJlc2l6ZURpcmVjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvckNsYXNzOiByZXN1bHQuY3Vyc29yQ2xhc3NcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgb25SZXNpemU6IChyZXNpemVSZWY6IFJlc2l6ZVJlZjxNaW5kRWxlbWVudDxJbWFnZURhdGE+PiwgcmVzaXplU3RhdGU6IFJlc2l6ZVN0YXRlKSA9PiB7XG4gICAgICAgICAgICBsZXQgb2Zmc2V0WCA9IHJlc2l6ZVN0YXRlLm9mZnNldFg7XG4gICAgICAgICAgICBsZXQgb2Zmc2V0WSA9IHJlc2l6ZVN0YXRlLm9mZnNldFk7XG4gICAgICAgICAgICBpZiAocmVzaXplUmVmLmRpcmVjdGlvbiA9PT0gUmVzaXplRGlyZWN0aW9uLm53IHx8IHJlc2l6ZVJlZi5kaXJlY3Rpb24gPT09IFJlc2l6ZURpcmVjdGlvbi5zdykge1xuICAgICAgICAgICAgICAgIG9mZnNldFggPSAtb2Zmc2V0WDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbldpZHRoID0gcmVzaXplUmVmLmVsZW1lbnQuZGF0YS5pbWFnZS53aWR0aDtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbkhlaWdodCA9IHJlc2l6ZVJlZi5lbGVtZW50LmRhdGEuaW1hZ2UuaGVpZ2h0O1xuICAgICAgICAgICAgbGV0IHdpZHRoID0gb3JpZ2luV2lkdGggKyBvZmZzZXRYO1xuICAgICAgICAgICAgaWYgKHdpZHRoIDw9IDEwMCkge1xuICAgICAgICAgICAgICAgIHdpZHRoID0gMTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmF0aW8gPSBvcmlnaW5XaWR0aCAvIHdpZHRoO1xuICAgICAgICAgICAgY29uc3QgaGVpZ2h0ID0gb3JpZ2luSGVpZ2h0IC8gcmF0aW87XG4gICAgICAgICAgICBjb25zdCBpbWFnZUl0ZW0gPSB7IC4uLnJlc2l6ZVJlZi5lbGVtZW50LmRhdGEuaW1hZ2UsIHdpZHRoLCBoZWlnaHQgfTtcbiAgICAgICAgICAgIE1pbmRUcmFuc2Zvcm1zLnNldEltYWdlKGJvYXJkLCBQbGFpdE5vZGUuZ2V0KGJvYXJkLCByZXNpemVSZWYucGF0aCksIGltYWdlSXRlbSk7XG4gICAgICAgICAgICBhZGRTZWxlY3RlZEltYWdlRWxlbWVudChib2FyZCwgUGxhaXROb2RlLmdldChib2FyZCwgcmVzaXplUmVmLnBhdGgpKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICB3aXRoUmVzaXplPE1pbmRFbGVtZW50PEltYWdlRGF0YT4+KGJvYXJkLCBvcHRpb25zKTtcblxuICAgIHJldHVybiBib2FyZDtcbn07XG4iXX0=
@@ -1,16 +0,0 @@
1
- export * from './position';
2
- export * from './weak-maps';
3
- export * from './mind';
4
- export * from './layout';
5
- export * from './node';
6
- export * from './node-style';
7
- export * from './is-virtual-key';
8
- export * from './dnd/common';
9
- export * from './dnd/detector';
10
- export * from './draw/node-dnd';
11
- export * from './abstract/common';
12
- export * from './abstract/resize';
13
- export * from './node/right-node-count';
14
- export * from './space/node-space';
15
- export * from './space';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wb3NpdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL3dlYWstbWFwcyc7XG5leHBvcnQgKiBmcm9tICcuL21pbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXlvdXQnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1zdHlsZSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLXZpcnR1YWwta2V5JztcbmV4cG9ydCAqIGZyb20gJy4vZG5kL2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2RuZC9kZXRlY3Rvcic7XG5leHBvcnQgKiBmcm9tICcuL2RyYXcvbm9kZS1kbmQnO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC9jb21tb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hYnN0cmFjdC9yZXNpemUnO1xuZXhwb3J0ICogZnJvbSAnLi9ub2RlL3JpZ2h0LW5vZGUtY291bnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGFjZS9ub2RlLXNwYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3BhY2UnO1xuIl19
@@ -1,13 +0,0 @@
1
- import { isKeyHotkey } from 'is-hotkey';
2
- export function isVirtualKey(e) {
3
- const isMod = e.ctrlKey || e.metaKey;
4
- const isAlt = isKeyHotkey('alt', e);
5
- const isShift = isKeyHotkey('shift', e);
6
- const isCapsLock = e.key.includes('CapsLock');
7
- const isTab = e.key.includes('Tab');
8
- const isEsc = e.key.includes('Escape');
9
- const isF = e.key.startsWith('F');
10
- const isArrow = e.key.includes('Arrow') ? true : false;
11
- return isCapsLock || isMod || isAlt || isArrow || isShift || isTab || isEsc || isF;
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtdmlydHVhbC1rZXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9pcy12aXJ0dWFsLWtleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXhDLE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBZ0I7SUFDekMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ3JDLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEMsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM5QyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDdkQsT0FBTyxVQUFVLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksT0FBTyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDO0FBQ3ZGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0tleUhvdGtleSB9IGZyb20gJ2lzLWhvdGtleSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZpcnR1YWxLZXkoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGlzTW9kID0gZS5jdHJsS2V5IHx8IGUubWV0YUtleTtcbiAgICBjb25zdCBpc0FsdCA9IGlzS2V5SG90a2V5KCdhbHQnLCBlKTtcbiAgICBjb25zdCBpc1NoaWZ0ID0gaXNLZXlIb3RrZXkoJ3NoaWZ0JywgZSk7XG4gICAgY29uc3QgaXNDYXBzTG9jayA9IGUua2V5LmluY2x1ZGVzKCdDYXBzTG9jaycpO1xuICAgIGNvbnN0IGlzVGFiID0gZS5rZXkuaW5jbHVkZXMoJ1RhYicpO1xuICAgIGNvbnN0IGlzRXNjID0gZS5rZXkuaW5jbHVkZXMoJ0VzY2FwZScpO1xuICAgIGNvbnN0IGlzRiA9IGUua2V5LnN0YXJ0c1dpdGgoJ0YnKTtcbiAgICBjb25zdCBpc0Fycm93ID0gZS5rZXkuaW5jbHVkZXMoJ0Fycm93JykgPyB0cnVlIDogZmFsc2U7XG4gICAgcmV0dXJuIGlzQ2Fwc0xvY2sgfHwgaXNNb2QgfHwgaXNBbHQgfHwgaXNBcnJvdyB8fCBpc1NoaWZ0IHx8IGlzVGFiIHx8IGlzRXNjIHx8IGlzRjtcbn1cbiJdfQ==
@@ -1,36 +0,0 @@
1
- import { RectangleClient } from '@plait/core';
2
- import { MindElement } from '../../interfaces/element';
3
- import { getRectangleByNode } from './node';
4
- import { NodeSpace } from '../space/node-space';
5
- import { RESIZE_HANDLE_DIAMETER, getRectangleResizeTargets } from '@plait/common';
6
- export function getImageForeignRectangle(board, element) {
7
- let { x, y } = getRectangleByNode(MindElement.getNode(element));
8
- const elementWidth = element.manualWidth || element.width;
9
- x =
10
- elementWidth > element.data.image.width
11
- ? x + NodeSpace.getTextLeftSpace(board, element) + (elementWidth - element.data.image.width) / 2
12
- : x + NodeSpace.getTextLeftSpace(board, element);
13
- y = NodeSpace.getImageTopSpace(board, element) + y;
14
- const { width, height } = element.data.image;
15
- const rectangle = {
16
- x,
17
- y,
18
- width,
19
- height
20
- };
21
- return rectangle;
22
- }
23
- export const isHitImage = (board, element, range) => {
24
- const imageRectangle = getImageForeignRectangle(board, element);
25
- const imageOutlineRectangle = RectangleClient.getOutlineRectangle(imageRectangle, -RESIZE_HANDLE_DIAMETER / 2);
26
- return RectangleClient.isHit(RectangleClient.toRectangleClient([range.anchor, range.focus]), imageOutlineRectangle);
27
- };
28
- export const getHitImageResizeHandleDirection = (board, element, point) => {
29
- const imageRectangle = getImageForeignRectangle(board, element);
30
- const resizeTargets = getRectangleResizeTargets(imageRectangle, RESIZE_HANDLE_DIAMETER);
31
- const result = resizeTargets.find(resizeTarget => {
32
- return RectangleClient.isHit(RectangleClient.toRectangleClient([point, point]), resizeTarget.rectangle);
33
- });
34
- return result;
35
- };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9wb3NpdGlvbi9pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEtBQXFCLEVBQUUsT0FBK0I7SUFDM0YsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDaEUsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDO0lBRTFELENBQUM7UUFDRyxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUNuQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUNoRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekQsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFNLENBQUM7SUFDOUMsTUFBTSxTQUFTLEdBQUc7UUFDZCxDQUFDO1FBQ0QsQ0FBQztRQUNELEtBQUs7UUFDTCxNQUFNO0tBQ1QsQ0FBQztJQUNGLE9BQU8sU0FBUyxDQUFDO0FBQ3JCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFpQixFQUFFLE9BQStCLEVBQUUsS0FBWSxFQUFFLEVBQUU7SUFDM0YsTUFBTSxjQUFjLEdBQUcsd0JBQXdCLENBQUMsS0FBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRixNQUFNLHFCQUFxQixHQUFHLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRyxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3hILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUErQixFQUFFLEtBQVksRUFBRSxFQUFFO0lBQ2pILE1BQU0sY0FBYyxHQUFHLHdCQUF3QixDQUFDLEtBQXVCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbEYsTUFBTSxhQUFhLEdBQUcseUJBQXlCLENBQUMsY0FBYyxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDeEYsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUM3QyxPQUFPLGVBQWUsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVHLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIFJhbmdlLCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBJbWFnZURhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQtZGF0YSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgTm9kZVNwYWNlIH0gZnJvbSAnLi4vc3BhY2Uvbm9kZS1zcGFjZSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4uLy4uL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcbmltcG9ydCB7IFJFU0laRV9IQU5ETEVfRElBTUVURVIsIGdldFJlY3RhbmdsZVJlc2l6ZVRhcmdldHMgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEltYWdlRm9yZWlnblJlY3RhbmdsZShib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4pOiBSZWN0YW5nbGVDbGllbnQge1xuICAgIGxldCB7IHgsIHkgfSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpKTtcbiAgICBjb25zdCBlbGVtZW50V2lkdGggPSBlbGVtZW50Lm1hbnVhbFdpZHRoIHx8IGVsZW1lbnQud2lkdGg7XG5cbiAgICB4ID1cbiAgICAgICAgZWxlbWVudFdpZHRoID4gZWxlbWVudC5kYXRhLmltYWdlLndpZHRoXG4gICAgICAgICAgICA/IHggKyBOb2RlU3BhY2UuZ2V0VGV4dExlZnRTcGFjZShib2FyZCwgZWxlbWVudCkgKyAoZWxlbWVudFdpZHRoIC0gZWxlbWVudC5kYXRhLmltYWdlLndpZHRoKSAvIDJcbiAgICAgICAgICAgIDogeCArIE5vZGVTcGFjZS5nZXRUZXh0TGVmdFNwYWNlKGJvYXJkLCBlbGVtZW50KTtcbiAgICB5ID0gTm9kZVNwYWNlLmdldEltYWdlVG9wU3BhY2UoYm9hcmQsIGVsZW1lbnQpICsgeTtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGVsZW1lbnQuZGF0YS5pbWFnZSE7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0ge1xuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0XG4gICAgfTtcbiAgICByZXR1cm4gcmVjdGFuZ2xlO1xufVxuXG5leHBvcnQgY29uc3QgaXNIaXRJbWFnZSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQ8SW1hZ2VEYXRhPiwgcmFuZ2U6IFJhbmdlKSA9PiB7XG4gICAgY29uc3QgaW1hZ2VSZWN0YW5nbGUgPSBnZXRJbWFnZUZvcmVpZ25SZWN0YW5nbGUoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IGltYWdlT3V0bGluZVJlY3RhbmdsZSA9IFJlY3RhbmdsZUNsaWVudC5nZXRPdXRsaW5lUmVjdGFuZ2xlKGltYWdlUmVjdGFuZ2xlLCAtUkVTSVpFX0hBTkRMRV9ESUFNRVRFUiAvIDIpO1xuICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQoUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtyYW5nZS5hbmNob3IsIHJhbmdlLmZvY3VzXSksIGltYWdlT3V0bGluZVJlY3RhbmdsZSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SGl0SW1hZ2VSZXNpemVIYW5kbGVEaXJlY3Rpb24gPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4sIHBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IGltYWdlUmVjdGFuZ2xlID0gZ2V0SW1hZ2VGb3JlaWduUmVjdGFuZ2xlKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCByZXNpemVUYXJnZXRzID0gZ2V0UmVjdGFuZ2xlUmVzaXplVGFyZ2V0cyhpbWFnZVJlY3RhbmdsZSwgUkVTSVpFX0hBTkRMRV9ESUFNRVRFUik7XG4gICAgY29uc3QgcmVzdWx0ID0gcmVzaXplVGFyZ2V0cy5maW5kKHJlc2l6ZVRhcmdldCA9PiB7XG4gICAgICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQoUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtwb2ludCwgcG9pbnRdKSwgcmVzaXplVGFyZ2V0LnJlY3RhbmdsZSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG4iXX0=