@plait/mind 0.20.0 → 0.22.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.
- package/base/image-base.component.d.ts +5 -3
- package/drawer/node-image.drawer.d.ts +3 -5
- package/esm2020/base/image-base.component.mjs +9 -5
- package/esm2020/drawer/node-image.drawer.mjs +34 -39
- package/esm2020/interfaces/element.mjs +1 -1
- package/esm2020/node.component.mjs +8 -9
- package/esm2020/plugins/with-abstract-resize.mjs +1 -2
- package/esm2020/plugins/with-mind-hotkey.mjs +3 -2
- package/esm2020/plugins/with-mind.mjs +5 -4
- package/esm2020/plugins/with-node-dnd.mjs +3 -3
- package/esm2020/plugins/with-node-hover-detect.mjs +16 -0
- package/esm2020/plugins/with-node-image.mjs +60 -0
- package/esm2020/plugins/with-node-resize.mjs +122 -0
- package/esm2020/transforms/index.mjs +3 -2
- package/esm2020/transforms/node.mjs +13 -2
- package/esm2020/utils/node/common.mjs +11 -2
- package/esm2020/utils/node/image.mjs +23 -0
- package/esm2020/utils/node/index.mjs +2 -1
- package/esm2020/utils/node-hover/extend.mjs +54 -0
- package/esm2020/utils/position/image.mjs +9 -4
- package/esm2020/utils/position/topic.mjs +3 -3
- package/esm2020/utils/space/node-space.mjs +23 -22
- package/fesm2015/plait-mind.mjs +328 -148
- package/fesm2015/plait-mind.mjs.map +1 -1
- package/fesm2020/plait-mind.mjs +329 -148
- package/fesm2020/plait-mind.mjs.map +1 -1
- package/interfaces/element.d.ts +1 -0
- package/node.component.d.ts +0 -1
- package/package.json +1 -1
- package/plugins/with-mind-hotkey.d.ts +1 -1
- package/plugins/with-node-hover-detect.d.ts +2 -0
- package/plugins/with-node-image.d.ts +2 -0
- package/plugins/with-node-resize.d.ts +10 -0
- package/styles/styles.scss +9 -2
- package/transforms/index.d.ts +1 -0
- package/transforms/node.d.ts +1 -0
- package/utils/node/common.d.ts +2 -0
- package/utils/node/image.d.ts +6 -0
- package/utils/node/index.d.ts +1 -0
- package/utils/node-hover/extend.d.ts +9 -0
- package/utils/space/node-space.d.ts +3 -3
- package/esm2020/plugins/with-mind-image.mjs +0 -49
- package/esm2020/plugins/with-node-hover.mjs +0 -58
- package/plugins/with-mind-image.d.ts +0 -2
- package/plugins/with-node-hover.d.ts +0 -5
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PlaitElement } from '@plait/core';
|
|
2
|
+
const BOARD_TO_SELECTED_IMAGE_ELEMENT = new WeakMap();
|
|
3
|
+
export const getSelectedImageElement = (board) => {
|
|
4
|
+
return BOARD_TO_SELECTED_IMAGE_ELEMENT.get(board);
|
|
5
|
+
};
|
|
6
|
+
export const addSelectedImageElement = (board, element) => {
|
|
7
|
+
BOARD_TO_SELECTED_IMAGE_ELEMENT.set(board, element);
|
|
8
|
+
};
|
|
9
|
+
export const removeSelectedImageElement = (board) => {
|
|
10
|
+
BOARD_TO_SELECTED_IMAGE_ELEMENT.delete(board);
|
|
11
|
+
};
|
|
12
|
+
export const setImageFocus = (board, element, isFocus) => {
|
|
13
|
+
if (isFocus) {
|
|
14
|
+
addSelectedImageElement(board, element);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
removeSelectedImageElement(board);
|
|
18
|
+
}
|
|
19
|
+
const elementComponent = PlaitElement.getComponent(element);
|
|
20
|
+
elementComponent.imageDrawer.componentRef.instance.isFocus = isFocus;
|
|
21
|
+
elementComponent.imageDrawer.componentRef.instance.cdr.markForCheck();
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9ub2RlL2ltYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJdkQsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUN6RCxPQUFPLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxFQUFFO0lBQy9FLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDeEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDNUQsK0JBQStCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBb0IsRUFBRSxPQUFnQixFQUFFLEVBQUU7SUFDdkYsSUFBSSxPQUFPLEVBQUU7UUFDVCx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDM0M7U0FBTTtRQUNILDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3JDO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBc0IsQ0FBQztJQUNqRixnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsWUFBYSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3RFLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxZQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUMzRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kTm9kZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL25vZGUuY29tcG9uZW50JztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5cbmNvbnN0IEJPQVJEX1RPX1NFTEVDVEVEX0lNQUdFX0VMRU1FTlQgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBNaW5kRWxlbWVudD4oKTtcblxuZXhwb3J0IGNvbnN0IGdldFNlbGVjdGVkSW1hZ2VFbGVtZW50ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuIEJPQVJEX1RPX1NFTEVDVEVEX0lNQUdFX0VMRU1FTlQuZ2V0KGJvYXJkKTtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRTZWxlY3RlZEltYWdlRWxlbWVudCA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBCT0FSRF9UT19TRUxFQ1RFRF9JTUFHRV9FTEVNRU5ULnNldChib2FyZCwgZWxlbWVudCk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlU2VsZWN0ZWRJbWFnZUVsZW1lbnQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IHtcbiAgICBCT0FSRF9UT19TRUxFQ1RFRF9JTUFHRV9FTEVNRU5ULmRlbGV0ZShib2FyZCk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0SW1hZ2VGb2N1cyA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQsIGlzRm9jdXM6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAoaXNGb2N1cykge1xuICAgICAgICBhZGRTZWxlY3RlZEltYWdlRWxlbWVudChib2FyZCwgZWxlbWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmVtb3ZlU2VsZWN0ZWRJbWFnZUVsZW1lbnQoYm9hcmQpO1xuICAgIH1cblxuICAgIGNvbnN0IGVsZW1lbnRDb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIE1pbmROb2RlQ29tcG9uZW50O1xuICAgIGVsZW1lbnRDb21wb25lbnQuaW1hZ2VEcmF3ZXIuY29tcG9uZW50UmVmIS5pbnN0YW5jZS5pc0ZvY3VzID0gaXNGb2N1cztcbiAgICBlbGVtZW50Q29tcG9uZW50LmltYWdlRHJhd2VyLmNvbXBvbmVudFJlZiEuaW5zdGFuY2UuY2RyLm1hcmtGb3JDaGVjaygpO1xufTtcbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './adjust-node';
|
|
2
2
|
export * from './create-node';
|
|
3
3
|
export * from './common';
|
|
4
|
-
|
|
4
|
+
export * from './image';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9ub2RlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGp1c3Qtbm9kZSc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1ub2RlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UnO1xuIl19
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { PlaitBoard, PlaitElement, depthFirstRecursion, getIsRecursionFunc, toPoint, transformPoint } from '@plait/core';
|
|
2
|
+
import { MindElement } from '../../interfaces/element';
|
|
3
|
+
import { isHitMindElement } from '../position/node';
|
|
4
|
+
export const mouseMoveHandle = (board, event, nodeHoveredExtendRef) => {
|
|
5
|
+
let target = null;
|
|
6
|
+
const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
|
|
7
|
+
depthFirstRecursion(board, element => {
|
|
8
|
+
if (target) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
if (!MindElement.isMindElement(board, element)) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const isHitElement = isHitMindElement(board, point, element);
|
|
15
|
+
if (isHitElement) {
|
|
16
|
+
target = element;
|
|
17
|
+
}
|
|
18
|
+
}, getIsRecursionFunc(board), true);
|
|
19
|
+
if (nodeHoveredExtendRef && target && nodeHoveredExtendRef.element === target) {
|
|
20
|
+
return nodeHoveredExtendRef;
|
|
21
|
+
}
|
|
22
|
+
if (nodeHoveredExtendRef) {
|
|
23
|
+
removeHovered(nodeHoveredExtendRef.element);
|
|
24
|
+
}
|
|
25
|
+
if (target) {
|
|
26
|
+
addHovered(target);
|
|
27
|
+
if (nodeHoveredExtendRef) {
|
|
28
|
+
nodeHoveredExtendRef.element = target;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
nodeHoveredExtendRef = { element: target };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
nodeHoveredExtendRef = null;
|
|
36
|
+
}
|
|
37
|
+
return nodeHoveredExtendRef;
|
|
38
|
+
};
|
|
39
|
+
export const mouseLeaveHandle = (board, event, nodeHoveredExtendRef) => {
|
|
40
|
+
if (nodeHoveredExtendRef) {
|
|
41
|
+
removeHovered(nodeHoveredExtendRef.element);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
export const addHovered = (element) => {
|
|
45
|
+
const component = PlaitElement.getComponent(element);
|
|
46
|
+
component.g.classList.add('hovered');
|
|
47
|
+
};
|
|
48
|
+
export const removeHovered = (element) => {
|
|
49
|
+
const component = PlaitElement.getComponent(element);
|
|
50
|
+
if (component && component.g) {
|
|
51
|
+
component.g.classList.remove('hovered');
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvbm9kZS1ob3Zlci9leHRlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6SCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFNcEQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBaUIsRUFBRSxLQUFpQixFQUFFLG9CQUFpRCxFQUFFLEVBQUU7SUFDdkgsSUFBSSxNQUFNLEdBQXVCLElBQUksQ0FBQztJQUN0QyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsbUJBQW1CLENBQ2QsS0FBZ0MsRUFDakMsT0FBTyxDQUFDLEVBQUU7UUFDTixJQUFJLE1BQU0sRUFBRTtZQUNSLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsRUFBRTtZQUM1QyxPQUFPO1NBQ1Y7UUFDRCxNQUFNLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzdELElBQUksWUFBWSxFQUFFO1lBQ2QsTUFBTSxHQUFHLE9BQU8sQ0FBQztTQUNwQjtJQUNMLENBQUMsRUFDRCxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsRUFDekIsSUFBSSxDQUNQLENBQUM7SUFFRixJQUFJLG9CQUFvQixJQUFJLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1FBQzNFLE9BQU8sb0JBQW9CLENBQUM7S0FDL0I7SUFFRCxJQUFJLG9CQUFvQixFQUFFO1FBQ3RCLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUMvQztJQUVELElBQUksTUFBTSxFQUFFO1FBQ1IsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25CLElBQUksb0JBQW9CLEVBQUU7WUFDdEIsb0JBQW9CLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztTQUN6QzthQUFNO1lBQ0gsb0JBQW9CLEdBQUcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDOUM7S0FDSjtTQUFNO1FBQ0gsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0tBQy9CO0lBQ0QsT0FBTyxvQkFBb0IsQ0FBQztBQUNoQyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsS0FBaUIsRUFBRSxvQkFBaUQsRUFBRSxFQUFFO0lBQ3hILElBQUksb0JBQW9CLEVBQUU7UUFDdEIsYUFBYSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQy9DO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBb0IsRUFBRSxFQUFFO0lBQy9DLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQW9CLEVBQUUsRUFBRTtJQUNsRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxDQUFDLEVBQUU7UUFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzNDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBkZXB0aEZpcnN0UmVjdXJzaW9uLCBnZXRJc1JlY3Vyc2lvbkZ1bmMsIHRvUG9pbnQsIHRyYW5zZm9ybVBvaW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQnO1xuaW1wb3J0IHsgaXNIaXRNaW5kRWxlbWVudCB9IGZyb20gJy4uL3Bvc2l0aW9uL25vZGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVIb3ZlcmVkRXh0ZW5kUmVmIHtcbiAgICBlbGVtZW50OiBNaW5kRWxlbWVudDtcbn1cblxuZXhwb3J0IGNvbnN0IG1vdXNlTW92ZUhhbmRsZSA9IChib2FyZDogUGxhaXRCb2FyZCwgZXZlbnQ6IE1vdXNlRXZlbnQsIG5vZGVIb3ZlcmVkRXh0ZW5kUmVmOiBOb2RlSG92ZXJlZEV4dGVuZFJlZiB8IG51bGwpID0+IHtcbiAgICBsZXQgdGFyZ2V0OiBNaW5kRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICAgIGNvbnN0IHBvaW50ID0gdHJhbnNmb3JtUG9pbnQoYm9hcmQsIHRvUG9pbnQoZXZlbnQueCwgZXZlbnQueSwgUGxhaXRCb2FyZC5nZXRIb3N0KGJvYXJkKSkpO1xuICAgIGRlcHRoRmlyc3RSZWN1cnNpb24oXG4gICAgICAgIChib2FyZCBhcyB1bmtub3duKSBhcyBNaW5kRWxlbWVudCxcbiAgICAgICAgZWxlbWVudCA9PiB7XG4gICAgICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFNaW5kRWxlbWVudC5pc01pbmRFbGVtZW50KGJvYXJkLCBlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGlzSGl0RWxlbWVudCA9IGlzSGl0TWluZEVsZW1lbnQoYm9hcmQsIHBvaW50LCBlbGVtZW50KTtcbiAgICAgICAgICAgIGlmIChpc0hpdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICB0YXJnZXQgPSBlbGVtZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBnZXRJc1JlY3Vyc2lvbkZ1bmMoYm9hcmQpLFxuICAgICAgICB0cnVlXG4gICAgKTtcblxuICAgIGlmIChub2RlSG92ZXJlZEV4dGVuZFJlZiAmJiB0YXJnZXQgJiYgbm9kZUhvdmVyZWRFeHRlbmRSZWYuZWxlbWVudCA9PT0gdGFyZ2V0KSB7XG4gICAgICAgIHJldHVybiBub2RlSG92ZXJlZEV4dGVuZFJlZjtcbiAgICB9XG5cbiAgICBpZiAobm9kZUhvdmVyZWRFeHRlbmRSZWYpIHtcbiAgICAgICAgcmVtb3ZlSG92ZXJlZChub2RlSG92ZXJlZEV4dGVuZFJlZi5lbGVtZW50KTtcbiAgICB9XG5cbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgIGFkZEhvdmVyZWQodGFyZ2V0KTtcbiAgICAgICAgaWYgKG5vZGVIb3ZlcmVkRXh0ZW5kUmVmKSB7XG4gICAgICAgICAgICBub2RlSG92ZXJlZEV4dGVuZFJlZi5lbGVtZW50ID0gdGFyZ2V0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbm9kZUhvdmVyZWRFeHRlbmRSZWYgPSB7IGVsZW1lbnQ6IHRhcmdldCB9O1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZUhvdmVyZWRFeHRlbmRSZWYgPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZUhvdmVyZWRFeHRlbmRSZWY7XG59O1xuXG5leHBvcnQgY29uc3QgbW91c2VMZWF2ZUhhbmRsZSA9IChib2FyZDogUGxhaXRCb2FyZCwgZXZlbnQ6IE1vdXNlRXZlbnQsIG5vZGVIb3ZlcmVkRXh0ZW5kUmVmOiBOb2RlSG92ZXJlZEV4dGVuZFJlZiB8IG51bGwpID0+IHtcbiAgICBpZiAobm9kZUhvdmVyZWRFeHRlbmRSZWYpIHtcbiAgICAgICAgcmVtb3ZlSG92ZXJlZChub2RlSG92ZXJlZEV4dGVuZFJlZi5lbGVtZW50KTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgYWRkSG92ZXJlZCA9IChlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGNvbXBvbmVudCA9IFBsYWl0RWxlbWVudC5nZXRDb21wb25lbnQoZWxlbWVudCk7XG4gICAgY29tcG9uZW50LmcuY2xhc3NMaXN0LmFkZCgnaG92ZXJlZCcpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUhvdmVyZWQgPSAoZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpO1xuICAgIGlmIChjb21wb25lbnQgJiYgY29tcG9uZW50LmcpIHtcbiAgICAgICAgY29tcG9uZW50LmcuY2xhc3NMaXN0LnJlbW92ZSgnaG92ZXJlZCcpO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -4,18 +4,23 @@ import { getRectangleByNode } from './node';
|
|
|
4
4
|
import { NodeSpace } from '../space/node-space';
|
|
5
5
|
export function getImageForeignRectangle(board, element) {
|
|
6
6
|
let { x, y } = getRectangleByNode(MindElement.getNode(element));
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const elementWidth = element.manualWidth || element.width;
|
|
8
|
+
x =
|
|
9
|
+
elementWidth > element.data.image.width
|
|
10
|
+
? x + NodeSpace.getTextLeftSpace(board, element) + (elementWidth - element.data.image.width) / 2
|
|
11
|
+
: x + NodeSpace.getTextLeftSpace(board, element);
|
|
12
|
+
y = NodeSpace.getImageTopSpace(board, element) + y;
|
|
9
13
|
const { width, height } = element.data.image;
|
|
10
|
-
|
|
14
|
+
const rectangle = {
|
|
11
15
|
x,
|
|
12
16
|
y,
|
|
13
17
|
width,
|
|
14
18
|
height
|
|
15
19
|
};
|
|
20
|
+
return RectangleClient.getOutlineRectangle(rectangle, -6);
|
|
16
21
|
}
|
|
17
22
|
export const isHitImage = (board, element, range) => {
|
|
18
23
|
const client = getImageForeignRectangle(board, element);
|
|
19
24
|
return RectangleClient.isHit(RectangleClient.toRectangleClient([range.anchor, range.focus]), client);
|
|
20
25
|
};
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9wb3NpdGlvbi9pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdoRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBcUIsRUFBRSxPQUErQjtJQUMzRixJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRSxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFFMUQsQ0FBQztRQUNHLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQ25DLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQ2hHLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkQsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQU0sQ0FBQztJQUM5QyxNQUFNLFNBQVMsR0FBRztRQUNkLENBQUM7UUFDRCxDQUFDO1FBQ0QsS0FBSztRQUNMLE1BQU07S0FDVCxDQUFDO0lBQ0YsT0FBTyxlQUFlLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWlCLEVBQUUsT0FBK0IsRUFBRSxLQUFZLEVBQUUsRUFBRTtJQUMzRixNQUFNLE1BQU0sR0FBRyx3QkFBd0IsQ0FBQyxLQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLE9BQU8sZUFBZSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pHLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFJhbmdlLCBSZWN0YW5nbGVDbGllbnQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBJbWFnZURhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQtZGF0YSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgTm9kZVNwYWNlIH0gZnJvbSAnLi4vc3BhY2Uvbm9kZS1zcGFjZSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4uLy4uL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEltYWdlRm9yZWlnblJlY3RhbmdsZShib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEltYWdlRGF0YT4pOiBSZWN0YW5nbGVDbGllbnQge1xuICAgIGxldCB7IHgsIHkgfSA9IGdldFJlY3RhbmdsZUJ5Tm9kZShNaW5kRWxlbWVudC5nZXROb2RlKGVsZW1lbnQpKTtcbiAgICBjb25zdCBlbGVtZW50V2lkdGggPSBlbGVtZW50Lm1hbnVhbFdpZHRoIHx8IGVsZW1lbnQud2lkdGg7XG5cbiAgICB4ID1cbiAgICAgICAgZWxlbWVudFdpZHRoID4gZWxlbWVudC5kYXRhLmltYWdlLndpZHRoXG4gICAgICAgICAgICA/IHggKyBOb2RlU3BhY2UuZ2V0VGV4dExlZnRTcGFjZShib2FyZCwgZWxlbWVudCkgKyAoZWxlbWVudFdpZHRoIC0gZWxlbWVudC5kYXRhLmltYWdlLndpZHRoKSAvIDJcbiAgICAgICAgICAgIDogeCArIE5vZGVTcGFjZS5nZXRUZXh0TGVmdFNwYWNlKGJvYXJkLCBlbGVtZW50KTtcbiAgICB5ID0gTm9kZVNwYWNlLmdldEltYWdlVG9wU3BhY2UoYm9hcmQsIGVsZW1lbnQpICsgeTtcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGVsZW1lbnQuZGF0YS5pbWFnZSE7XG4gICAgY29uc3QgcmVjdGFuZ2xlID0ge1xuICAgICAgICB4LFxuICAgICAgICB5LFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0XG4gICAgfTtcbiAgICByZXR1cm4gUmVjdGFuZ2xlQ2xpZW50LmdldE91dGxpbmVSZWN0YW5nbGUocmVjdGFuZ2xlLCAtNik7XG59XG5cbmV4cG9ydCBjb25zdCBpc0hpdEltYWdlID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudDxJbWFnZURhdGE+LCByYW5nZTogUmFuZ2UpID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSBnZXRJbWFnZUZvcmVpZ25SZWN0YW5nbGUoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQpO1xuICAgIHJldHVybiBSZWN0YW5nbGVDbGllbnQuaXNIaXQoUmVjdGFuZ2xlQ2xpZW50LnRvUmVjdGFuZ2xlQ2xpZW50KFtyYW5nZS5hbmNob3IsIHJhbmdlLmZvY3VzXSksIGNsaWVudCk7XG59O1xuIl19
|
|
@@ -9,9 +9,9 @@ export function getTopicRectangleByNode(board, node) {
|
|
|
9
9
|
}
|
|
10
10
|
export function getTopicRectangleByElement(board, nodeRectangle, element) {
|
|
11
11
|
const x = nodeRectangle.x + NodeSpace.getTextLeftSpace(board, element);
|
|
12
|
-
const y = nodeRectangle.y + NodeSpace.getTextTopSpace(element);
|
|
13
|
-
const width =
|
|
12
|
+
const y = nodeRectangle.y + NodeSpace.getTextTopSpace(board, element);
|
|
13
|
+
const width = NodeSpace.getNodeResizableWidth(board, element);
|
|
14
14
|
const height = Math.ceil(element.height);
|
|
15
15
|
return { height, width, x, y };
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9wb3NpdGlvbi90b3BpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRzVDLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUFxQixFQUFFLElBQWM7SUFDekUsSUFBSSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsTUFBTSxNQUFNLEdBQUcsMEJBQTBCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0Usc0VBQXNFO0lBQ3RFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDaEMsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxLQUFxQixFQUFFLGFBQThCLEVBQUUsT0FBb0I7SUFDbEgsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdEUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IE1pbmROb2RlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vLi4vcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgTm9kZVNwYWNlIH0gZnJvbSAnLi4vc3BhY2Uvbm9kZS1zcGFjZSc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuL25vZGUnO1xuaW1wb3J0IHsgUmVjdGFuZ2xlQ2xpZW50IH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9waWNSZWN0YW5nbGVCeU5vZGUoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBub2RlOiBNaW5kTm9kZSkge1xuICAgIGxldCBub2RlUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKG5vZGUpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGdldFRvcGljUmVjdGFuZ2xlQnlFbGVtZW50KGJvYXJkLCBub2RlUmVjdGFuZ2xlLCBub2RlLm9yaWdpbik7XG4gICAgLy8gYWRkIGJ1ZmZlciB3aWR0aCB0byBhdm9pZCB1bmV4cGVjdGVkIHRleHQgYnJlYWtzIGluIGRpZmZlcmVudCBzY2VuZVxuICAgIHJlc3VsdC53aWR0aCA9IHJlc3VsdC53aWR0aCArIDQ7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRvcGljUmVjdGFuZ2xlQnlFbGVtZW50KGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgbm9kZVJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgIGNvbnN0IHggPSBub2RlUmVjdGFuZ2xlLnggKyBOb2RlU3BhY2UuZ2V0VGV4dExlZnRTcGFjZShib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgeSA9IG5vZGVSZWN0YW5nbGUueSArIE5vZGVTcGFjZS5nZXRUZXh0VG9wU3BhY2UoYm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IHdpZHRoID0gTm9kZVNwYWNlLmdldE5vZGVSZXNpemFibGVXaWR0aChib2FyZCwgZWxlbWVudCk7XG4gICAgY29uc3QgaGVpZ2h0ID0gTWF0aC5jZWlsKGVsZW1lbnQuaGVpZ2h0KTtcbiAgICByZXR1cm4geyBoZWlnaHQsIHdpZHRoLCB4LCB5IH07XG59XG4iXX0=
|
|
@@ -2,16 +2,16 @@ import { DEFAULT_FONT_SIZE, MarkTypes, PlaitMarkEditor } from '@plait/text';
|
|
|
2
2
|
import { BASE } from '../../constants/default';
|
|
3
3
|
import { PlaitMind } from '../../interfaces/element';
|
|
4
4
|
import { MindElement } from '../../interfaces/element';
|
|
5
|
-
import { WithMindPluginKey } from '../../public-api';
|
|
5
|
+
import { WithMindPluginKey, getStrokeWidthByElement } from '../../public-api';
|
|
6
6
|
import { getEmojisWidthHeight } from './emoji';
|
|
7
7
|
import { ROOT_TOPIC_FONT_SIZE } from '../../constants/node-topic-style';
|
|
8
8
|
const NodeDefaultSpace = {
|
|
9
9
|
horizontal: {
|
|
10
|
-
nodeAndText: BASE *
|
|
10
|
+
nodeAndText: BASE * 2.5,
|
|
11
11
|
emojiAndText: BASE * 1.5
|
|
12
12
|
},
|
|
13
13
|
vertical: {
|
|
14
|
-
nodeAndText: BASE
|
|
14
|
+
nodeAndText: BASE,
|
|
15
15
|
nodeAndImage: BASE,
|
|
16
16
|
imageAndText: BASE * 1.5
|
|
17
17
|
}
|
|
@@ -28,12 +28,14 @@ const RootDefaultSpace = {
|
|
|
28
28
|
const getHorizontalSpaceBetweenNodeAndText = (board, element) => {
|
|
29
29
|
const isMind = PlaitMind.isMind(element);
|
|
30
30
|
const nodeAndText = isMind ? RootDefaultSpace.horizontal.nodeAndText : NodeDefaultSpace.horizontal.nodeAndText;
|
|
31
|
-
|
|
31
|
+
const strokeWidth = getStrokeWidthByElement(board, element);
|
|
32
|
+
return nodeAndText + strokeWidth / 2;
|
|
32
33
|
};
|
|
33
|
-
const getVerticalSpaceBetweenNodeAndText = (element) => {
|
|
34
|
+
const getVerticalSpaceBetweenNodeAndText = (board, element) => {
|
|
34
35
|
const isMind = PlaitMind.isMind(element);
|
|
36
|
+
const strokeWidth = getStrokeWidthByElement(board, element);
|
|
35
37
|
const nodeAndText = isMind ? RootDefaultSpace.vertical.nodeAndText : NodeDefaultSpace.vertical.nodeAndText;
|
|
36
|
-
return nodeAndText;
|
|
38
|
+
return nodeAndText + strokeWidth / 2;
|
|
37
39
|
};
|
|
38
40
|
const getSpaceEmojiAndText = (element) => {
|
|
39
41
|
const isMind = PlaitMind.isMind(element);
|
|
@@ -53,19 +55,16 @@ export const NodeSpace = {
|
|
|
53
55
|
return nodeAndText + NodeSpace.getNodeResizableWidth(board, element) + nodeAndText;
|
|
54
56
|
},
|
|
55
57
|
getNodeHeight(board, element) {
|
|
56
|
-
const nodeAndText = getVerticalSpaceBetweenNodeAndText(element);
|
|
58
|
+
const nodeAndText = getVerticalSpaceBetweenNodeAndText(board, element);
|
|
57
59
|
if (MindElement.hasImage(element)) {
|
|
58
|
-
return (
|
|
59
|
-
element.data.image.height +
|
|
60
|
-
NodeDefaultSpace.vertical.imageAndText +
|
|
61
|
-
element.height +
|
|
62
|
-
nodeAndText);
|
|
60
|
+
return NodeSpace.getTextTopSpace(board, element) + element.height + nodeAndText;
|
|
63
61
|
}
|
|
64
62
|
return nodeAndText + element.height + nodeAndText;
|
|
65
63
|
},
|
|
66
64
|
getNodeResizableWidth(board, element) {
|
|
65
|
+
const width = element.manualWidth || element.width;
|
|
67
66
|
const imageWidth = MindElement.hasImage(element) ? element.data.image?.width : 0;
|
|
68
|
-
return Math.max(
|
|
67
|
+
return Math.max(width, imageWidth);
|
|
69
68
|
},
|
|
70
69
|
getNodeResizableMinWidth(board, element) {
|
|
71
70
|
const minTopicWidth = NodeSpace.getNodeTopicMinWidth(board, element);
|
|
@@ -92,25 +91,27 @@ export const NodeSpace = {
|
|
|
92
91
|
return nodeAndText;
|
|
93
92
|
}
|
|
94
93
|
},
|
|
95
|
-
getTextTopSpace(element) {
|
|
96
|
-
const nodeAndText = getVerticalSpaceBetweenNodeAndText(element);
|
|
94
|
+
getTextTopSpace(board, element) {
|
|
95
|
+
const nodeAndText = getVerticalSpaceBetweenNodeAndText(board, element);
|
|
97
96
|
if (MindElement.hasImage(element)) {
|
|
98
|
-
return element.data.image.height + NodeDefaultSpace.vertical.
|
|
97
|
+
return NodeSpace.getImageTopSpace(board, element) + element.data.image.height + NodeDefaultSpace.vertical.imageAndText;
|
|
99
98
|
}
|
|
100
99
|
else {
|
|
101
100
|
return nodeAndText;
|
|
102
101
|
}
|
|
103
102
|
},
|
|
104
|
-
getImageTopSpace(element) {
|
|
105
|
-
|
|
103
|
+
getImageTopSpace(board, element) {
|
|
104
|
+
const strokeWidth = getStrokeWidthByElement(board, element);
|
|
105
|
+
return strokeWidth / 2 + NodeDefaultSpace.vertical.nodeAndImage;
|
|
106
106
|
},
|
|
107
107
|
getEmojiLeftSpace(board, element) {
|
|
108
108
|
const options = board.getPluginOptions(WithMindPluginKey);
|
|
109
109
|
const nodeAndText = getHorizontalSpaceBetweenNodeAndText(board, element);
|
|
110
|
-
|
|
110
|
+
const strokeWidth = getStrokeWidthByElement(board, element);
|
|
111
|
+
return strokeWidth / 2 + nodeAndText - options.emojiPadding;
|
|
111
112
|
},
|
|
112
|
-
getEmojiTopSpace(element) {
|
|
113
|
-
const nodeAndText = getVerticalSpaceBetweenNodeAndText(element);
|
|
113
|
+
getEmojiTopSpace(board, element) {
|
|
114
|
+
const nodeAndText = getVerticalSpaceBetweenNodeAndText(board, element);
|
|
114
115
|
return nodeAndText;
|
|
115
116
|
}
|
|
116
117
|
};
|
|
@@ -127,4 +128,4 @@ export const getNodeDefaultFontSize = (isRoot = false) => {
|
|
|
127
128
|
const defaultFontSize = isRoot ? ROOT_TOPIC_FONT_SIZE : DEFAULT_FONT_SIZE;
|
|
128
129
|
return defaultFontSize;
|
|
129
130
|
};
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1zcGFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3V0aWxzL3NwYWNlL25vZGUtc3BhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXhFLE1BQU0sZ0JBQWdCLEdBQUc7SUFDckIsVUFBVSxFQUFFO1FBQ1IsV0FBVyxFQUFFLElBQUksR0FBRyxDQUFDO1FBQ3JCLFlBQVksRUFBRSxJQUFJLEdBQUcsR0FBRztLQUMzQjtJQUNELFFBQVEsRUFBRTtRQUNOLFdBQVcsRUFBRSxJQUFJLEdBQUcsR0FBRztRQUN2QixZQUFZLEVBQUUsSUFBSTtRQUNsQixZQUFZLEVBQUUsSUFBSSxHQUFHLEdBQUc7S0FDM0I7Q0FDSixDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FBRztJQUNyQixVQUFVLEVBQUU7UUFDUixXQUFXLEVBQUUsSUFBSSxHQUFHLENBQUM7UUFDckIsWUFBWSxFQUFFLElBQUksR0FBRyxDQUFDO0tBQ3pCO0lBQ0QsUUFBUSxFQUFFO1FBQ04sV0FBVyxFQUFFLElBQUksR0FBRyxDQUFDO0tBQ3hCO0NBQ0osQ0FBQztBQUVGLE1BQU0sb0NBQW9DLEdBQUcsQ0FBQyxLQUFxQixFQUFFLE9BQW9C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QUFLLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBWSxJQUFJLGVBQWUsQ0FBQztJQUMxRSxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE1BQU0sR0FBRyxLQUFLLEVBQUUsRUFBRTtJQUNyRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUMxRSxPQUFPLGVBQWUsQ0FBQztBQUMzQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUZBVUxUX0ZPTlRfU0laRSwgTWFya1R5cGVzLCBQbGFpdE1hcmtFZGl0b3IgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBCQVNFIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2RlZmF1bHQnO1xuaW1wb3J0IHsgUGxhaXRNaW5kIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IEVtb2ppRGF0YSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudC1kYXRhJztcbmltcG9ydCB7IFdpdGhNaW5kT3B0aW9ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvb3B0aW9ucyc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4uLy4uL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcbmltcG9ydCB7IFdpdGhNaW5kUGx1Z2luS2V5IH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XG5pbXBvcnQgeyBnZXRFbW9qaXNXaWR0aEhlaWdodCB9IGZyb20gJy4vZW1vamknO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFJPT1RfVE9QSUNfRk9OVF9TSVpFIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL25vZGUtdG9waWMtc3R5bGUnO1xuXG5jb25zdCBOb2RlRGVmYXVsdFNwYWNlID0ge1xuICAgIGhvcml6b250YWw6IHtcbiAgICAgICAgbm9kZUFuZFRleHQ6IEJBU0UgKiAzLFxuICAgICAgICBlbW9qaUFuZFRleHQ6IEJBU0UgKiAxLjVcbiAgICB9LFxuICAgIHZlcnRpY2FsOiB7XG4gICAgICAgIG5vZGVBbmRUZXh0OiBCQVNFICogMS41LFxuICAgICAgICBub2RlQW5kSW1hZ2U6IEJBU0UsXG4gICAgICAgIGltYWdlQW5kVGV4dDogQkFTRSAqIDEuNVxuICAgIH1cbn07XG5cbmNvbnN0IFJvb3REZWZhdWx0U3BhY2UgPSB7XG4gICAgaG9yaXpvbnRhbDoge1xuICAgICAgICBub2RlQW5kVGV4dDogQkFTRSAqIDQsXG4gICAgICAgIGVtb2ppQW5kVGV4dDogQkFTRSAqIDJcbiAgICB9LFxuICAgIHZlcnRpY2FsOiB7XG4gICAgICAgIG5vZGVBbmRUZXh0OiBCQVNFICogMlxuICAgIH1cbn07XG5cbmNvbnN0IGdldEhvcml6b250YWxTcGFjZUJldHdlZW5Ob2RlQW5kVGV4dCA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaXNNaW5kID0gUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KTtcbiAgICBjb25zdCBub2RlQW5kVGV4dCA9IGlzTWluZCA/IFJvb3REZWZhdWx0U3BhY2UuaG9yaXpvbnRhbC5ub2RlQW5kVGV4dCA6IE5vZGVEZWZhdWx0U3BhY2UuaG9yaXpvbnRhbC5ub2RlQW5kVGV4dDtcbiAgICByZXR1cm4gbm9kZUFuZFRleHQ7XG59O1xuXG5jb25zdCBnZXRWZXJ0aWNhbFNwYWNlQmV0d2Vlbk5vZGVBbmRUZXh0ID0gKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaXNNaW5kID0gUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KTtcbiAgICBjb25zdCBub2RlQW5kVGV4dCA9IGlzTWluZCA/IFJvb3REZWZhdWx0U3BhY2UudmVydGljYWwubm9kZUFuZFRleHQgOiBOb2RlRGVmYXVsdFNwYWNlLnZlcnRpY2FsLm5vZGVBbmRUZXh0O1xuICAgIHJldHVybiBub2RlQW5kVGV4dDtcbn07XG5cbmNvbnN0IGdldFNwYWNlRW1vamlBbmRUZXh0ID0gKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaXNNaW5kID0gUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KTtcbiAgICBjb25zdCBlbW9qaUFuZFRleHQgPSBpc01pbmQgPyBSb290RGVmYXVsdFNwYWNlLmhvcml6b250YWwuZW1vamlBbmRUZXh0IDogTm9kZURlZmF1bHRTcGFjZS5ob3Jpem9udGFsLmVtb2ppQW5kVGV4dDtcbiAgICByZXR1cm4gZW1vamlBbmRUZXh0O1xufTtcblxuZXhwb3J0IGNvbnN0IE5vZGVTcGFjZSA9IHtcbiAgICBnZXROb2RlV2lkdGgoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCBub2RlQW5kVGV4dCA9IGdldEhvcml6b250YWxTcGFjZUJldHdlZW5Ob2RlQW5kVGV4dChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5oYXNFbW9qaXMoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgTm9kZVNwYWNlLmdldEVtb2ppTGVmdFNwYWNlKGJvYXJkLCBlbGVtZW50KSArXG4gICAgICAgICAgICAgICAgZ2V0RW1vamlzV2lkdGhIZWlnaHQoYm9hcmQsIGVsZW1lbnQpLndpZHRoICtcbiAgICAgICAgICAgICAgICBnZXRTcGFjZUVtb2ppQW5kVGV4dChlbGVtZW50KSArXG4gICAgICAgICAgICAgICAgTm9kZVNwYWNlLmdldE5vZGVSZXNpemFibGVXaWR0aChib2FyZCwgZWxlbWVudCkgK1xuICAgICAgICAgICAgICAgIG5vZGVBbmRUZXh0XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlQW5kVGV4dCArIE5vZGVTcGFjZS5nZXROb2RlUmVzaXphYmxlV2lkdGgoYm9hcmQsIGVsZW1lbnQpICsgbm9kZUFuZFRleHQ7XG4gICAgfSxcbiAgICBnZXROb2RlSGVpZ2h0KGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgbm9kZUFuZFRleHQgPSBnZXRWZXJ0aWNhbFNwYWNlQmV0d2Vlbk5vZGVBbmRUZXh0KGVsZW1lbnQpO1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaGFzSW1hZ2UoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgTm9kZURlZmF1bHRTcGFjZS52ZXJ0aWNhbC5ub2RlQW5kSW1hZ2UgK1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuZGF0YS5pbWFnZS5oZWlnaHQgK1xuICAgICAgICAgICAgICAgIE5vZGVEZWZhdWx0U3BhY2UudmVydGljYWwuaW1hZ2VBbmRUZXh0ICtcbiAgICAgICAgICAgICAgICBlbGVtZW50LmhlaWdodCArXG4gICAgICAgICAgICAgICAgbm9kZUFuZFRleHRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGVBbmRUZXh0ICsgZWxlbWVudC5oZWlnaHQgKyBub2RlQW5kVGV4dDtcbiAgICB9LFxuICAgIGdldE5vZGVSZXNpemFibGVXaWR0aChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IGltYWdlV2lkdGggPSBNaW5kRWxlbWVudC5oYXNJbWFnZShlbGVtZW50KSA/IGVsZW1lbnQuZGF0YS5pbWFnZT8ud2lkdGggOiAwO1xuICAgICAgICByZXR1cm4gTWF0aC5tYXgoZWxlbWVudC53aWR0aCwgaW1hZ2VXaWR0aCk7XG4gICAgfSxcbiAgICBnZXROb2RlUmVzaXphYmxlTWluV2lkdGgoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCBtaW5Ub3BpY1dpZHRoID0gTm9kZVNwYWNlLmdldE5vZGVUb3BpY01pbldpZHRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50Lmhhc0ltYWdlKGVsZW1lbnQpICYmIGVsZW1lbnQuZGF0YS5pbWFnZS53aWR0aCA+IG1pblRvcGljV2lkdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50LmRhdGEuaW1hZ2Uud2lkdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbWluVG9waWNXaWR0aDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZ2V0Tm9kZVRvcGljTWluV2lkdGgoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgaXNSb290OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdEZvbnRTaXplID0gZ2V0Tm9kZURlZmF1bHRGb250U2l6ZShpc1Jvb3QpO1xuICAgICAgICBjb25zdCBlZGl0b3IgPSBNaW5kRWxlbWVudC5nZXRUZXh0RWRpdG9yKGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBtYXJrcyA9IFBsYWl0TWFya0VkaXRvci5nZXRNYXJrcyhlZGl0b3IpO1xuICAgICAgICBjb25zdCBmb250U2l6ZSA9IChtYXJrc1tNYXJrVHlwZXMuZm9udFNpemVdIGFzIG51bWJlcikgfHwgZGVmYXVsdEZvbnRTaXplO1xuICAgICAgICByZXR1cm4gZm9udFNpemU7XG4gICAgfSxcbiAgICBnZXRUZXh0TGVmdFNwYWNlKGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgbm9kZUFuZFRleHQgPSBnZXRIb3Jpem9udGFsU3BhY2VCZXR3ZWVuTm9kZUFuZFRleHQoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaGFzRW1vamlzKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gTm9kZVNwYWNlLmdldEVtb2ppTGVmdFNwYWNlKGJvYXJkLCBlbGVtZW50KSArIGdldEVtb2ppc1dpZHRoSGVpZ2h0KGJvYXJkLCBlbGVtZW50KS53aWR0aCArIGdldFNwYWNlRW1vamlBbmRUZXh0KGVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5vZGVBbmRUZXh0O1xuICAgICAgICB9XG4gICAgfSxcbiAgICBnZXRUZXh0VG9wU3BhY2UoZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgbm9kZUFuZFRleHQgPSBnZXRWZXJ0aWNhbFNwYWNlQmV0d2Vlbk5vZGVBbmRUZXh0KGVsZW1lbnQpO1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaGFzSW1hZ2UoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50LmRhdGEuaW1hZ2UuaGVpZ2h0ICsgTm9kZURlZmF1bHRTcGFjZS52ZXJ0aWNhbC5ub2RlQW5kSW1hZ2UgKyBOb2RlRGVmYXVsdFNwYWNlLnZlcnRpY2FsLmltYWdlQW5kVGV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBub2RlQW5kVGV4dDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZ2V0SW1hZ2VUb3BTcGFjZShlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gTm9kZURlZmF1bHRTcGFjZS52ZXJ0aWNhbC5ub2RlQW5kSW1hZ2U7XG4gICAgfSxcbiAgICBnZXRFbW9qaUxlZnRTcGFjZShib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEVtb2ppRGF0YT4pIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGJvYXJkLmdldFBsdWdpbk9wdGlvbnM8V2l0aE1pbmRPcHRpb25zPihXaXRoTWluZFBsdWdpbktleSk7XG4gICAgICAgIGNvbnN0IG5vZGVBbmRUZXh0ID0gZ2V0SG9yaXpvbnRhbFNwYWNlQmV0d2Vlbk5vZGVBbmRUZXh0KGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIG5vZGVBbmRUZXh0IC0gb3B0aW9ucy5lbW9qaVBhZGRpbmc7XG4gICAgfSxcbiAgICBnZXRFbW9qaVRvcFNwYWNlKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IG5vZGVBbmRUZXh0ID0gZ2V0VmVydGljYWxTcGFjZUJldHdlZW5Ob2RlQW5kVGV4dChlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIG5vZGVBbmRUZXh0O1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGb250U2l6ZUJ5U2xhdGVFbGVtZW50ID0gKHRleHQ6IHN0cmluZyB8IEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0Rm9udFNpemUgPSBERUZBVUxUX0ZPTlRfU0laRTtcbiAgICBpZiAodHlwZW9mIHRleHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0Rm9udFNpemU7XG4gICAgfVxuICAgIGNvbnN0IG1hcmtzID0gUGxhaXRNYXJrRWRpdG9yLmdldE1hcmtzQnlFbGVtZW50KHRleHQpO1xuICAgIGNvbnN0IGZvbnRTaXplID0gKG1hcmtzW01hcmtUeXBlcy5mb250U2l6ZV0gYXMgbnVtYmVyKSB8fCBkZWZhdWx0Rm9udFNpemU7XG4gICAgcmV0dXJuIGZvbnRTaXplO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5vZGVEZWZhdWx0Rm9udFNpemUgPSAoaXNSb290ID0gZmFsc2UpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0Rm9udFNpemUgPSBpc1Jvb3QgPyBST09UX1RPUElDX0ZPTlRfU0laRSA6IERFRkFVTFRfRk9OVF9TSVpFO1xuICAgIHJldHVybiBkZWZhdWx0Rm9udFNpemU7XG59O1xuIl19
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1zcGFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL3V0aWxzL3NwYWNlL25vZGUtc3BhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXhFLE1BQU0sZ0JBQWdCLEdBQUc7SUFDckIsVUFBVSxFQUFFO1FBQ1IsV0FBVyxFQUFFLElBQUksR0FBRyxHQUFHO1FBQ3ZCLFlBQVksRUFBRSxJQUFJLEdBQUcsR0FBRztLQUMzQjtJQUNELFFBQVEsRUFBRTtRQUNOLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFlBQVksRUFBRSxJQUFJO1FBQ2xCLFlBQVksRUFBRSxJQUFJLEdBQUcsR0FBRztLQUMzQjtDQUNKLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHO0lBQ3JCLFVBQVUsRUFBRTtRQUNSLFdBQVcsRUFBRSxJQUFJLEdBQUcsQ0FBQztRQUNyQixZQUFZLEVBQUUsSUFBSSxHQUFHLENBQUM7S0FDekI7SUFDRCxRQUFRLEVBQUU7UUFDTixXQUFXLEVBQUUsSUFBSSxHQUFHLENBQUM7S0FDeEI7Q0FDSixDQUFDO0FBRUYsTUFBTSxvQ0FBb0MsR0FBRyxDQUFDLEtBQXFCLEVBQUUsT0FB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LENBQUM7SUFDaEUsQ0FBQztJQUNELGdCQUFnQixDQUFDLEtBQXFCLEVBQUUsT0FBb0I7UUFDeEQsTUFBTSxXQUFXLEdBQUcsa0NBQWtDLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7Q0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxJQUFzQixFQUFFLEVBQUU7SUFDaEUsTUFBTSxlQUFlLEdBQUcsaUJBQWlCLENBQUM7SUFDMUMsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDMUIsT0FBTyxlQUFlLENBQUM7S0FDMUI7SUFDRCxNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsTUFBTSxRQUFRLEdBQUksS0FBSyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQVksSUFBSSxlQUFlLENBQUM7SUFDMUUsT0FBTyxRQUFRLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxFQUFFLEVBQUU7SUFDckQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUM7SUFDMUUsT0FBTyxlQUFlLENBQUM7QUFDM0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVGQVVMVF9GT05UX1NJWkUsIE1hcmtUeXBlcywgUGxhaXRNYXJrRWRpdG9yIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgQkFTRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9kZWZhdWx0JztcbmltcG9ydCB7IFBsYWl0TWluZCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBFbW9qaURhdGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VsZW1lbnQtZGF0YSc7XG5pbXBvcnQgeyBXaXRoTWluZE9wdGlvbnMgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29wdGlvbnMnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi8uLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBXaXRoTWluZFBsdWdpbktleSwgZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQgfSBmcm9tICcuLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7IGdldEVtb2ppc1dpZHRoSGVpZ2h0IH0gZnJvbSAnLi9lbW9qaSc7XG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgUk9PVF9UT1BJQ19GT05UX1NJWkUgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvbm9kZS10b3BpYy1zdHlsZSc7XG5cbmNvbnN0IE5vZGVEZWZhdWx0U3BhY2UgPSB7XG4gICAgaG9yaXpvbnRhbDoge1xuICAgICAgICBub2RlQW5kVGV4dDogQkFTRSAqIDIuNSxcbiAgICAgICAgZW1vamlBbmRUZXh0OiBCQVNFICogMS41XG4gICAgfSxcbiAgICB2ZXJ0aWNhbDoge1xuICAgICAgICBub2RlQW5kVGV4dDogQkFTRSxcbiAgICAgICAgbm9kZUFuZEltYWdlOiBCQVNFLFxuICAgICAgICBpbWFnZUFuZFRleHQ6IEJBU0UgKiAxLjVcbiAgICB9XG59O1xuXG5jb25zdCBSb290RGVmYXVsdFNwYWNlID0ge1xuICAgIGhvcml6b250YWw6IHtcbiAgICAgICAgbm9kZUFuZFRleHQ6IEJBU0UgKiA0LFxuICAgICAgICBlbW9qaUFuZFRleHQ6IEJBU0UgKiAyXG4gICAgfSxcbiAgICB2ZXJ0aWNhbDoge1xuICAgICAgICBub2RlQW5kVGV4dDogQkFTRSAqIDJcbiAgICB9XG59O1xuXG5jb25zdCBnZXRIb3Jpem9udGFsU3BhY2VCZXR3ZWVuTm9kZUFuZFRleHQgPSAoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGlzTWluZCA9IFBsYWl0TWluZC5pc01pbmQoZWxlbWVudCk7XG4gICAgY29uc3Qgbm9kZUFuZFRleHQgPSBpc01pbmQgPyBSb290RGVmYXVsdFNwYWNlLmhvcml6b250YWwubm9kZUFuZFRleHQgOiBOb2RlRGVmYXVsdFNwYWNlLmhvcml6b250YWwubm9kZUFuZFRleHQ7XG4gICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudChib2FyZCwgZWxlbWVudCk7XG4gICAgcmV0dXJuIG5vZGVBbmRUZXh0ICsgc3Ryb2tlV2lkdGggLyAyO1xufTtcblxuY29uc3QgZ2V0VmVydGljYWxTcGFjZUJldHdlZW5Ob2RlQW5kVGV4dCA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaXNNaW5kID0gUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KTtcbiAgICBjb25zdCBzdHJva2VXaWR0aCA9IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50KGJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCBub2RlQW5kVGV4dCA9IGlzTWluZCA/IFJvb3REZWZhdWx0U3BhY2UudmVydGljYWwubm9kZUFuZFRleHQgOiBOb2RlRGVmYXVsdFNwYWNlLnZlcnRpY2FsLm5vZGVBbmRUZXh0O1xuICAgIHJldHVybiBub2RlQW5kVGV4dCArIHN0cm9rZVdpZHRoIC8gMjtcbn07XG5cbmNvbnN0IGdldFNwYWNlRW1vamlBbmRUZXh0ID0gKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaXNNaW5kID0gUGxhaXRNaW5kLmlzTWluZChlbGVtZW50KTtcbiAgICBjb25zdCBlbW9qaUFuZFRleHQgPSBpc01pbmQgPyBSb290RGVmYXVsdFNwYWNlLmhvcml6b250YWwuZW1vamlBbmRUZXh0IDogTm9kZURlZmF1bHRTcGFjZS5ob3Jpem9udGFsLmVtb2ppQW5kVGV4dDtcbiAgICByZXR1cm4gZW1vamlBbmRUZXh0O1xufTtcblxuZXhwb3J0IGNvbnN0IE5vZGVTcGFjZSA9IHtcbiAgICBnZXROb2RlV2lkdGgoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCBub2RlQW5kVGV4dCA9IGdldEhvcml6b250YWxTcGFjZUJldHdlZW5Ob2RlQW5kVGV4dChib2FyZCwgZWxlbWVudCk7XG4gICAgICAgIGlmIChNaW5kRWxlbWVudC5oYXNFbW9qaXMoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgTm9kZVNwYWNlLmdldEVtb2ppTGVmdFNwYWNlKGJvYXJkLCBlbGVtZW50KSArXG4gICAgICAgICAgICAgICAgZ2V0RW1vamlzV2lkdGhIZWlnaHQoYm9hcmQsIGVsZW1lbnQpLndpZHRoICtcbiAgICAgICAgICAgICAgICBnZXRTcGFjZUVtb2ppQW5kVGV4dChlbGVtZW50KSArXG4gICAgICAgICAgICAgICAgTm9kZVNwYWNlLmdldE5vZGVSZXNpemFibGVXaWR0aChib2FyZCwgZWxlbWVudCkgK1xuICAgICAgICAgICAgICAgIG5vZGVBbmRUZXh0XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlQW5kVGV4dCArIE5vZGVTcGFjZS5nZXROb2RlUmVzaXphYmxlV2lkdGgoYm9hcmQsIGVsZW1lbnQpICsgbm9kZUFuZFRleHQ7XG4gICAgfSxcbiAgICBnZXROb2RlSGVpZ2h0KGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgbm9kZUFuZFRleHQgPSBnZXRWZXJ0aWNhbFNwYWNlQmV0d2Vlbk5vZGVBbmRUZXh0KGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50Lmhhc0ltYWdlKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gTm9kZVNwYWNlLmdldFRleHRUb3BTcGFjZShib2FyZCwgZWxlbWVudCkgKyBlbGVtZW50LmhlaWdodCArIG5vZGVBbmRUZXh0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlQW5kVGV4dCArIGVsZW1lbnQuaGVpZ2h0ICsgbm9kZUFuZFRleHQ7XG4gICAgfSxcbiAgICBnZXROb2RlUmVzaXphYmxlV2lkdGgoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCB3aWR0aCA9IGVsZW1lbnQubWFudWFsV2lkdGggfHwgZWxlbWVudC53aWR0aDtcbiAgICAgICAgY29uc3QgaW1hZ2VXaWR0aCA9IE1pbmRFbGVtZW50Lmhhc0ltYWdlKGVsZW1lbnQpID8gZWxlbWVudC5kYXRhLmltYWdlPy53aWR0aCA6IDA7XG4gICAgICAgIHJldHVybiBNYXRoLm1heCh3aWR0aCwgaW1hZ2VXaWR0aCk7XG4gICAgfSxcbiAgICBnZXROb2RlUmVzaXphYmxlTWluV2lkdGgoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCBtaW5Ub3BpY1dpZHRoID0gTm9kZVNwYWNlLmdldE5vZGVUb3BpY01pbldpZHRoKGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50Lmhhc0ltYWdlKGVsZW1lbnQpICYmIGVsZW1lbnQuZGF0YS5pbWFnZS53aWR0aCA+IG1pblRvcGljV2lkdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50LmRhdGEuaW1hZ2Uud2lkdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbWluVG9waWNXaWR0aDtcbiAgICAgICAgfVxuICAgIH0sXG4gICAgZ2V0Tm9kZVRvcGljTWluV2lkdGgoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCwgaXNSb290OiBib29sZWFuID0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdEZvbnRTaXplID0gZ2V0Tm9kZURlZmF1bHRGb250U2l6ZShpc1Jvb3QpO1xuICAgICAgICBjb25zdCBlZGl0b3IgPSBNaW5kRWxlbWVudC5nZXRUZXh0RWRpdG9yKGVsZW1lbnQpO1xuICAgICAgICBjb25zdCBtYXJrcyA9IFBsYWl0TWFya0VkaXRvci5nZXRNYXJrcyhlZGl0b3IpO1xuICAgICAgICBjb25zdCBmb250U2l6ZSA9IChtYXJrc1tNYXJrVHlwZXMuZm9udFNpemVdIGFzIG51bWJlcikgfHwgZGVmYXVsdEZvbnRTaXplO1xuICAgICAgICByZXR1cm4gZm9udFNpemU7XG4gICAgfSxcbiAgICBnZXRUZXh0TGVmdFNwYWNlKGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgbm9kZUFuZFRleHQgPSBnZXRIb3Jpem9udGFsU3BhY2VCZXR3ZWVuTm9kZUFuZFRleHQoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaGFzRW1vamlzKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gTm9kZVNwYWNlLmdldEVtb2ppTGVmdFNwYWNlKGJvYXJkLCBlbGVtZW50KSArIGdldEVtb2ppc1dpZHRoSGVpZ2h0KGJvYXJkLCBlbGVtZW50KS53aWR0aCArIGdldFNwYWNlRW1vamlBbmRUZXh0KGVsZW1lbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5vZGVBbmRUZXh0O1xuICAgICAgICB9XG4gICAgfSxcbiAgICBnZXRUZXh0VG9wU3BhY2UoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCBub2RlQW5kVGV4dCA9IGdldFZlcnRpY2FsU3BhY2VCZXR3ZWVuTm9kZUFuZFRleHQoYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaGFzSW1hZ2UoZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBOb2RlU3BhY2UuZ2V0SW1hZ2VUb3BTcGFjZShib2FyZCwgZWxlbWVudCkgKyBlbGVtZW50LmRhdGEuaW1hZ2UuaGVpZ2h0ICsgTm9kZURlZmF1bHRTcGFjZS52ZXJ0aWNhbC5pbWFnZUFuZFRleHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbm9kZUFuZFRleHQ7XG4gICAgICAgIH1cbiAgICB9LFxuICAgIGdldEltYWdlVG9wU3BhY2UoYm9hcmQ6IFBsYWl0TWluZEJvYXJkLCBlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICBjb25zdCBzdHJva2VXaWR0aCA9IGdldFN0cm9rZVdpZHRoQnlFbGVtZW50KGJvYXJkLCBlbGVtZW50KTtcblxuICAgICAgICByZXR1cm4gc3Ryb2tlV2lkdGggLyAyICsgTm9kZURlZmF1bHRTcGFjZS52ZXJ0aWNhbC5ub2RlQW5kSW1hZ2U7XG4gICAgfSxcbiAgICBnZXRFbW9qaUxlZnRTcGFjZShib2FyZDogUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQ6IE1pbmRFbGVtZW50PEVtb2ppRGF0YT4pIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGJvYXJkLmdldFBsdWdpbk9wdGlvbnM8V2l0aE1pbmRPcHRpb25zPihXaXRoTWluZFBsdWdpbktleSk7XG4gICAgICAgIGNvbnN0IG5vZGVBbmRUZXh0ID0gZ2V0SG9yaXpvbnRhbFNwYWNlQmV0d2Vlbk5vZGVBbmRUZXh0KGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudChib2FyZCwgZWxlbWVudCk7XG5cbiAgICAgICAgcmV0dXJuIHN0cm9rZVdpZHRoIC8gMiArIG5vZGVBbmRUZXh0IC0gb3B0aW9ucy5lbW9qaVBhZGRpbmc7XG4gICAgfSxcbiAgICBnZXRFbW9qaVRvcFNwYWNlKGJvYXJkOiBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudDogTWluZEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3Qgbm9kZUFuZFRleHQgPSBnZXRWZXJ0aWNhbFNwYWNlQmV0d2Vlbk5vZGVBbmRUZXh0KGJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIG5vZGVBbmRUZXh0O1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGb250U2l6ZUJ5U2xhdGVFbGVtZW50ID0gKHRleHQ6IHN0cmluZyB8IEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0Rm9udFNpemUgPSBERUZBVUxUX0ZPTlRfU0laRTtcbiAgICBpZiAodHlwZW9mIHRleHQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0Rm9udFNpemU7XG4gICAgfVxuICAgIGNvbnN0IG1hcmtzID0gUGxhaXRNYXJrRWRpdG9yLmdldE1hcmtzQnlFbGVtZW50KHRleHQpO1xuICAgIGNvbnN0IGZvbnRTaXplID0gKG1hcmtzW01hcmtUeXBlcy5mb250U2l6ZV0gYXMgbnVtYmVyKSB8fCBkZWZhdWx0Rm9udFNpemU7XG4gICAgcmV0dXJuIGZvbnRTaXplO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5vZGVEZWZhdWx0Rm9udFNpemUgPSAoaXNSb290ID0gZmFsc2UpID0+IHtcbiAgICBjb25zdCBkZWZhdWx0Rm9udFNpemUgPSBpc1Jvb3QgPyBST09UX1RPUElDX0ZPTlRfU0laRSA6IERFRkFVTFRfRk9OVF9TSVpFO1xuICAgIHJldHVybiBkZWZhdWx0Rm9udFNpemU7XG59O1xuIl19
|