@plait/mind 0.19.0 → 0.20.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/base.drawer.d.ts +3 -3
- package/constants/index.d.ts +0 -1
- package/esm2020/base/base.drawer.mjs +1 -1
- package/esm2020/constants/index.mjs +1 -2
- package/esm2020/plugins/with-mind-hotkey.mjs +1 -1
- package/esm2020/plugins/with-mind.mjs +6 -12
- package/esm2020/plugins/with-node-dnd.mjs +3 -3
- package/esm2020/plugins/with-node-hover.mjs +3 -10
- package/esm2020/transforms/node.mjs +8 -7
- package/esm2020/utils/clipboard.mjs +4 -4
- package/esm2020/utils/dnd/detector.mjs +3 -10
- package/esm2020/utils/mind.mjs +3 -3
- package/esm2020/utils/node/adjust-node.mjs +3 -3
- package/esm2020/utils/space/node-space.mjs +38 -4
- package/fesm2015/plait-mind.mjs +64 -53
- package/fesm2015/plait-mind.mjs.map +1 -1
- package/fesm2020/plait-mind.mjs +63 -52
- package/fesm2020/plait-mind.mjs.map +1 -1
- package/package.json +1 -1
- package/plugins/with-mind-hotkey.d.ts +2 -1
- package/plugins/with-mind.d.ts +1 -1
- package/transforms/index.d.ts +2 -2
- package/transforms/node.d.ts +3 -2
- package/utils/clipboard.d.ts +3 -2
- package/utils/mind.d.ts +3 -2
- package/utils/node/adjust-node.d.ts +2 -1
- package/utils/space/node-space.d.ts +6 -0
- package/constants/node-rule.d.ts +0 -1
- package/esm2020/constants/node-rule.mjs +0 -2
package/fesm2015/plait-mind.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Directive, Input, Component, ChangeDetectionStrategy, NgModule, NgZone, HostListener } from '@angular/core';
|
|
3
3
|
import * as i2 from '@plait/core';
|
|
4
|
-
import { DefaultThemeColor, ColorfulThemeColor, SoftThemeColor, RetroThemeColor, DarkThemeColor, StarryThemeColor, RectangleClient, PlaitElement, idCreator, isNullOrUndefined, Transforms, clearSelectedElement, addSelectedElement, PlaitNode, Path, PlaitBoard, depthFirstRecursion, drawLinearPath, drawBezierPath, createG, updateForeignObject, drawRoundRectangle, getRectangleByElements, getSelectedElements, NODE_TO_PARENT, distanceBetweenPointAndRectangle, createForeignObject, createText, PlaitPointerType, PlaitPluginElementComponent, NODE_TO_INDEX, PlaitModule, transformPoint, toPoint, getHitElements, distanceBetweenPointAndPoint, CLIP_BOARD_FORMAT_KEY,
|
|
4
|
+
import { DefaultThemeColor, ColorfulThemeColor, SoftThemeColor, RetroThemeColor, DarkThemeColor, StarryThemeColor, RectangleClient, PlaitElement, idCreator, isNullOrUndefined, Transforms, clearSelectedElement, addSelectedElement, PlaitNode, Path, PlaitBoard, depthFirstRecursion, getIsRecursionFunc, drawLinearPath, drawBezierPath, createG, updateForeignObject, drawRoundRectangle, getRectangleByElements, getSelectedElements, NODE_TO_PARENT, distanceBetweenPointAndRectangle, createForeignObject, createText, PlaitPointerType, PlaitPluginElementComponent, NODE_TO_INDEX, PlaitModule, isMainPointer, transformPoint, toPoint, getHitElements, distanceBetweenPointAndPoint, CLIP_BOARD_FORMAT_KEY, BOARD_TO_HOST, PlaitPluginKey, throttleRAF, BoardTransforms, removeSelectedElement, PlaitHistoryBoard, hotkeys } from '@plait/core';
|
|
5
5
|
import { MindLayoutType, isIndentedLayout, AbstractNode, getNonAbstractChildren, isStandardLayout, isLeftLayout, isRightLayout, isVerticalLogicLayout, isHorizontalLogicLayout, isTopLayout, isBottomLayout, isHorizontalLayout, getCorrectStartEnd, getAbstractLayout, ConnectingPosition, GlobalLayout } from '@plait/layouts';
|
|
6
|
-
import { TEXT_DEFAULT_HEIGHT, buildText, getTextSize, TextManage, ExitOrigin, TextModule, getTextFromClipboard } from '@plait/text';
|
|
6
|
+
import { PlaitMarkEditor, MarkTypes, DEFAULT_FONT_SIZE, TEXT_DEFAULT_HEIGHT, buildText, getTextSize, TextManage, ExitOrigin, TextModule, getTextFromClipboard } from '@plait/text';
|
|
7
7
|
import { fromEvent, Subject } from 'rxjs';
|
|
8
8
|
import { Node, Path as Path$1 } from 'slate';
|
|
9
9
|
import { isKeyHotkey } from 'is-hotkey';
|
|
@@ -180,6 +180,14 @@ function getEmojiFontSize(element) {
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
+
const TOPIC_COLOR = '#333';
|
|
184
|
+
const TOPIC_FONT_SIZE = 14;
|
|
185
|
+
const ROOT_TOPIC_FONT_SIZE = 18;
|
|
186
|
+
const ROOT_TOPIC_HEIGHT = 25;
|
|
187
|
+
const TOPIC_DEFAULT_MAX_WORD_COUNT = 34;
|
|
188
|
+
const DEFAULT_FONT_FAMILY = 'PingFangSC-Regular, "PingFang SC"';
|
|
189
|
+
const BRANCH_FONT_FAMILY = 'PingFangSC-Medium, "PingFang SC"';
|
|
190
|
+
|
|
183
191
|
const NodeDefaultSpace = {
|
|
184
192
|
horizontal: {
|
|
185
193
|
nodeAndText: BASE * 3,
|
|
@@ -217,17 +225,15 @@ const getSpaceEmojiAndText = (element) => {
|
|
|
217
225
|
};
|
|
218
226
|
const NodeSpace = {
|
|
219
227
|
getNodeWidth(board, element) {
|
|
220
|
-
var _a;
|
|
221
228
|
const nodeAndText = getHorizontalSpaceBetweenNodeAndText(board, element);
|
|
222
|
-
const imageWidth = MindElement.hasImage(element) ? (_a = element.data.image) === null || _a === void 0 ? void 0 : _a.width : 0;
|
|
223
229
|
if (MindElement.hasEmojis(element)) {
|
|
224
230
|
return (NodeSpace.getEmojiLeftSpace(board, element) +
|
|
225
231
|
getEmojisWidthHeight(board, element).width +
|
|
226
232
|
getSpaceEmojiAndText(element) +
|
|
227
|
-
|
|
233
|
+
NodeSpace.getNodeResizableWidth(board, element) +
|
|
228
234
|
nodeAndText);
|
|
229
235
|
}
|
|
230
|
-
return nodeAndText +
|
|
236
|
+
return nodeAndText + NodeSpace.getNodeResizableWidth(board, element) + nodeAndText;
|
|
231
237
|
},
|
|
232
238
|
getNodeHeight(board, element) {
|
|
233
239
|
const nodeAndText = getVerticalSpaceBetweenNodeAndText(element);
|
|
@@ -240,6 +246,27 @@ const NodeSpace = {
|
|
|
240
246
|
}
|
|
241
247
|
return nodeAndText + element.height + nodeAndText;
|
|
242
248
|
},
|
|
249
|
+
getNodeResizableWidth(board, element) {
|
|
250
|
+
var _a;
|
|
251
|
+
const imageWidth = MindElement.hasImage(element) ? (_a = element.data.image) === null || _a === void 0 ? void 0 : _a.width : 0;
|
|
252
|
+
return Math.max(element.width, imageWidth);
|
|
253
|
+
},
|
|
254
|
+
getNodeResizableMinWidth(board, element) {
|
|
255
|
+
const minTopicWidth = NodeSpace.getNodeTopicMinWidth(board, element);
|
|
256
|
+
if (MindElement.hasImage(element) && element.data.image.width > minTopicWidth) {
|
|
257
|
+
return element.data.image.width;
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
return minTopicWidth;
|
|
261
|
+
}
|
|
262
|
+
},
|
|
263
|
+
getNodeTopicMinWidth(board, element, isRoot = false) {
|
|
264
|
+
const defaultFontSize = getNodeDefaultFontSize(isRoot);
|
|
265
|
+
const editor = MindElement.getTextEditor(element);
|
|
266
|
+
const marks = PlaitMarkEditor.getMarks(editor);
|
|
267
|
+
const fontSize = marks[MarkTypes.fontSize] || defaultFontSize;
|
|
268
|
+
return fontSize;
|
|
269
|
+
},
|
|
243
270
|
getTextLeftSpace(board, element) {
|
|
244
271
|
const nodeAndText = getHorizontalSpaceBetweenNodeAndText(board, element);
|
|
245
272
|
if (MindElement.hasEmojis(element)) {
|
|
@@ -271,6 +298,19 @@ const NodeSpace = {
|
|
|
271
298
|
return nodeAndText;
|
|
272
299
|
}
|
|
273
300
|
};
|
|
301
|
+
const getFontSizeBySlateElement = (text) => {
|
|
302
|
+
const defaultFontSize = DEFAULT_FONT_SIZE;
|
|
303
|
+
if (typeof text === 'string') {
|
|
304
|
+
return defaultFontSize;
|
|
305
|
+
}
|
|
306
|
+
const marks = PlaitMarkEditor.getMarksByElement(text);
|
|
307
|
+
const fontSize = marks[MarkTypes.fontSize] || defaultFontSize;
|
|
308
|
+
return fontSize;
|
|
309
|
+
};
|
|
310
|
+
const getNodeDefaultFontSize = (isRoot = false) => {
|
|
311
|
+
const defaultFontSize = isRoot ? ROOT_TOPIC_FONT_SIZE : DEFAULT_FONT_SIZE;
|
|
312
|
+
return defaultFontSize;
|
|
313
|
+
};
|
|
274
314
|
|
|
275
315
|
function getEmojiRectangle(board, element) {
|
|
276
316
|
let { x, y } = getRectangleByNode(MindElement.getNode(element));
|
|
@@ -330,21 +370,11 @@ const isHitImage = (board, element, range) => {
|
|
|
330
370
|
return RectangleClient.isHit(RectangleClient.toRectangleClient([range.anchor, range.focus]), client);
|
|
331
371
|
};
|
|
332
372
|
|
|
333
|
-
const NODE_MIN_WIDTH = 18;
|
|
334
|
-
|
|
335
373
|
function editTopic(element) {
|
|
336
374
|
const component = PlaitElement.getComponent(element);
|
|
337
375
|
component === null || component === void 0 ? void 0 : component.editTopic();
|
|
338
376
|
}
|
|
339
377
|
|
|
340
|
-
const TOPIC_COLOR = '#333';
|
|
341
|
-
const TOPIC_FONT_SIZE = 14;
|
|
342
|
-
const ROOT_TOPIC_FONT_SIZE = 18;
|
|
343
|
-
const ROOT_TOPIC_HEIGHT = 25;
|
|
344
|
-
const TOPIC_DEFAULT_MAX_WORD_COUNT = 34;
|
|
345
|
-
const DEFAULT_FONT_FAMILY = 'PingFangSC-Regular, "PingFang SC"';
|
|
346
|
-
const BRANCH_FONT_FAMILY = 'PingFangSC-Medium, "PingFang SC"';
|
|
347
|
-
|
|
348
378
|
const createEmptyMind = (point) => {
|
|
349
379
|
const element = createMindElement('思维导图', 72, ROOT_TOPIC_HEIGHT, { layout: MindLayoutType.right });
|
|
350
380
|
element.isRoot = true;
|
|
@@ -454,7 +484,7 @@ const insertMindElement = (board, inheritNode, path) => {
|
|
|
454
484
|
});
|
|
455
485
|
delete newNode.layout;
|
|
456
486
|
}
|
|
457
|
-
const newElement = createMindElement('',
|
|
487
|
+
const newElement = createMindElement('', getNodeDefaultFontSize(), TEXT_DEFAULT_HEIGHT, newNode);
|
|
458
488
|
Transforms.insertNode(board, newElement, path);
|
|
459
489
|
clearSelectedElement(board);
|
|
460
490
|
addSelectedElement(board, newElement);
|
|
@@ -620,7 +650,7 @@ const adjustNodeToRoot = (board, node) => {
|
|
|
620
650
|
fontSize: ROOT_TOPIC_FONT_SIZE,
|
|
621
651
|
fontFamily: BRANCH_FONT_FAMILY
|
|
622
652
|
});
|
|
623
|
-
newElement.width = Math.max(width,
|
|
653
|
+
newElement.width = Math.max(width, getNodeDefaultFontSize(true));
|
|
624
654
|
newElement.height = height;
|
|
625
655
|
return Object.assign(Object.assign({}, newElement), { layout: (_a = newElement.layout) !== null && _a !== void 0 ? _a : MindLayoutType.right, isRoot: true, type: 'mindmap' });
|
|
626
656
|
};
|
|
@@ -1036,14 +1066,7 @@ const detectDropTarget = (board, detectPoint, dropTarget, activeElements) => {
|
|
|
1036
1066
|
if (detectResult && isValid) {
|
|
1037
1067
|
dropTarget = { target: node.origin, detectResult: detectResult[0] };
|
|
1038
1068
|
}
|
|
1039
|
-
},
|
|
1040
|
-
if (PlaitBoard.isBoard(node) || board.isRecursion(node)) {
|
|
1041
|
-
return true;
|
|
1042
|
-
}
|
|
1043
|
-
else {
|
|
1044
|
-
return false;
|
|
1045
|
-
}
|
|
1046
|
-
});
|
|
1069
|
+
}, getIsRecursionFunc(board));
|
|
1047
1070
|
return dropTarget;
|
|
1048
1071
|
};
|
|
1049
1072
|
const directionDetector = (targetNode, centerPoint) => {
|
|
@@ -2212,19 +2235,20 @@ const correctLogicLayoutNode = (board, layout, path) => {
|
|
|
2212
2235
|
}
|
|
2213
2236
|
};
|
|
2214
2237
|
|
|
2215
|
-
const normalizeWidthAndHeight = (board, width, height) => {
|
|
2216
|
-
const
|
|
2238
|
+
const normalizeWidthAndHeight = (board, element, width, height) => {
|
|
2239
|
+
const minWidth = NodeSpace.getNodeTopicMinWidth(board, element, element.isRoot);
|
|
2240
|
+
const newWidth = width < minWidth * board.viewport.zoom ? minWidth : width / board.viewport.zoom;
|
|
2217
2241
|
const newHeight = height / board.viewport.zoom;
|
|
2218
2242
|
return { width: newWidth, height: newHeight };
|
|
2219
2243
|
};
|
|
2220
2244
|
const setTopic = (board, element, topic, width, height) => {
|
|
2221
|
-
const newElement = Object.assign({ data: Object.assign(Object.assign({}, element.data), { topic }) }, normalizeWidthAndHeight(board, width, height));
|
|
2245
|
+
const newElement = Object.assign({ data: Object.assign(Object.assign({}, element.data), { topic }) }, normalizeWidthAndHeight(board, element, width, height));
|
|
2222
2246
|
const path = PlaitBoard.findPath(board, element);
|
|
2223
2247
|
Transforms.setNode(board, newElement, path);
|
|
2224
2248
|
};
|
|
2225
2249
|
const setTopicSize = (board, element, width, height) => {
|
|
2226
|
-
const newElement = Object.assign({}, normalizeWidthAndHeight(board, width, height));
|
|
2227
|
-
if (element.width !== newElement.width || element.height !== newElement.height) {
|
|
2250
|
+
const newElement = Object.assign({}, normalizeWidthAndHeight(board, element, width, height));
|
|
2251
|
+
if (Math.floor(element.width) !== Math.floor(newElement.width) || Math.floor(element.height) !== Math.floor(newElement.height)) {
|
|
2228
2252
|
const path = PlaitBoard.findPath(board, element);
|
|
2229
2253
|
Transforms.setNode(board, newElement, path);
|
|
2230
2254
|
}
|
|
@@ -3113,7 +3137,7 @@ const withNodeDnd = (board) => {
|
|
|
3113
3137
|
if (PlaitBoard.isReadonly(board) ||
|
|
3114
3138
|
PlaitBoard.hasBeenTextEditing(board) ||
|
|
3115
3139
|
!PlaitBoard.isPointer(board, PlaitPointerType.selection) ||
|
|
3116
|
-
event
|
|
3140
|
+
!isMainPointer(event)) {
|
|
3117
3141
|
mousedown(event);
|
|
3118
3142
|
return;
|
|
3119
3143
|
}
|
|
@@ -3340,7 +3364,7 @@ const insertClipboardData = (board, elements, targetPoint) => {
|
|
|
3340
3364
|
newElement = adjustRootToNode(board, newElement);
|
|
3341
3365
|
const styles = PlaitMind.isMind(targetParent) ? { fontFamily: BRANCH_FONT_FAMILY } : { fontFamily: DEFAULT_FONT_FAMILY };
|
|
3342
3366
|
const { width, height } = getTextSize(board, newElement.data.topic, TOPIC_DEFAULT_MAX_WORD_COUNT, styles);
|
|
3343
|
-
newElement.width = Math.max(width,
|
|
3367
|
+
newElement.width = Math.max(width, getNodeDefaultFontSize());
|
|
3344
3368
|
newElement.height = height;
|
|
3345
3369
|
}
|
|
3346
3370
|
// handle abstract start and end
|
|
@@ -3370,7 +3394,7 @@ const insertClipboardData = (board, elements, targetPoint) => {
|
|
|
3370
3394
|
const insertClipboardText = (board, targetParent, text) => {
|
|
3371
3395
|
const styles = PlaitMind.isMind(targetParent) ? { fontFamily: BRANCH_FONT_FAMILY } : { fontFamily: DEFAULT_FONT_FAMILY };
|
|
3372
3396
|
const { width, height } = getTextSize(board, text, TOPIC_DEFAULT_MAX_WORD_COUNT, styles);
|
|
3373
|
-
const newElement = createMindElement(text, width, height, {});
|
|
3397
|
+
const newElement = createMindElement(text, Math.max(width, getFontSizeBySlateElement(text)), height, {});
|
|
3374
3398
|
Transforms.insertNode(board, newElement, findNewChildNodePath(board, targetParent));
|
|
3375
3399
|
return;
|
|
3376
3400
|
};
|
|
@@ -3718,14 +3742,7 @@ const withNodeHover = (board) => {
|
|
|
3718
3742
|
if (isHitElement) {
|
|
3719
3743
|
target = element;
|
|
3720
3744
|
}
|
|
3721
|
-
},
|
|
3722
|
-
if (PlaitBoard.isBoard(node) || board.isRecursion(node)) {
|
|
3723
|
-
return true;
|
|
3724
|
-
}
|
|
3725
|
-
else {
|
|
3726
|
-
return false;
|
|
3727
|
-
}
|
|
3728
|
-
}, true);
|
|
3745
|
+
}, getIsRecursionFunc(board), true);
|
|
3729
3746
|
if (hoveredMindElement && target && hoveredMindElement === target) {
|
|
3730
3747
|
return;
|
|
3731
3748
|
}
|
|
@@ -3808,8 +3825,9 @@ const withMindImage = (board) => {
|
|
|
3808
3825
|
return board;
|
|
3809
3826
|
};
|
|
3810
3827
|
|
|
3811
|
-
const withMind = (
|
|
3812
|
-
const
|
|
3828
|
+
const withMind = (baseBoard) => {
|
|
3829
|
+
const board = baseBoard;
|
|
3830
|
+
const { drawElement, dblclick, insertFragment, setFragment, deleteFragment, isHitSelection, getRectangle, isMovable, isRecursion } = board;
|
|
3813
3831
|
board.drawElement = (context) => {
|
|
3814
3832
|
if (PlaitMind.isMind(context.element)) {
|
|
3815
3833
|
return PlaitMindComponent;
|
|
@@ -3866,14 +3884,7 @@ const withMind = (board) => {
|
|
|
3866
3884
|
if (!PlaitBoard.hasBeenTextEditing(board) && isHitMindElement(board, point, node)) {
|
|
3867
3885
|
editTopic(node);
|
|
3868
3886
|
}
|
|
3869
|
-
},
|
|
3870
|
-
if (PlaitBoard.isBoard(node) || board.isRecursion(node)) {
|
|
3871
|
-
return true;
|
|
3872
|
-
}
|
|
3873
|
-
else {
|
|
3874
|
-
return false;
|
|
3875
|
-
}
|
|
3876
|
-
});
|
|
3887
|
+
}, getIsRecursionFunc(board));
|
|
3877
3888
|
});
|
|
3878
3889
|
if (PlaitBoard.hasBeenTextEditing(board)) {
|
|
3879
3890
|
return;
|
|
@@ -3973,5 +3984,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
|
|
|
3973
3984
|
* Generated bundle index. Do not edit.
|
|
3974
3985
|
*/
|
|
3975
3986
|
|
|
3976
|
-
export { ABSTRACT_HANDLE_COLOR, ABSTRACT_HANDLE_LENGTH, ABSTRACT_HANDLE_MASK_WIDTH, ABSTRACT_INCLUDED_OUTLINE_OFFSET, AbstractHandlePosition, AbstractResizeState, BASE, BRANCH_FONT_FAMILY, BRANCH_WIDTH, BaseDrawer, BranchShape, DEFAULT_FONT_FAMILY, DefaultAbstractNodeStyle, DefaultNodeStyle, ELEMENT_TO_NODE, EXTEND_DIAMETER, EXTEND_OFFSET, GRAY_COLOR, INHERIT_ATTRIBUTE_KEYS, IS_DRAGGING, LayoutDirection, LayoutDirectionsMap, MindColorfulThemeColor, MindDarkThemeColor, MindDefaultThemeColor, MindElement, MindElementShape, MindEmojiBaseComponent, MindImageBaseComponent, MindModule, MindNode, MindNodeComponent, MindPointerType, MindQueries, MindRetroThemeColor, MindSoftThemeColor, MindStarryThemeColor, MindThemeColor, MindThemeColors, MindTransforms,
|
|
3987
|
+
export { ABSTRACT_HANDLE_COLOR, ABSTRACT_HANDLE_LENGTH, ABSTRACT_HANDLE_MASK_WIDTH, ABSTRACT_INCLUDED_OUTLINE_OFFSET, AbstractHandlePosition, AbstractResizeState, BASE, BRANCH_FONT_FAMILY, BRANCH_WIDTH, BaseDrawer, BranchShape, DEFAULT_FONT_FAMILY, DefaultAbstractNodeStyle, DefaultNodeStyle, ELEMENT_TO_NODE, EXTEND_DIAMETER, EXTEND_OFFSET, GRAY_COLOR, INHERIT_ATTRIBUTE_KEYS, IS_DRAGGING, LayoutDirection, LayoutDirectionsMap, MindColorfulThemeColor, MindDarkThemeColor, MindDefaultThemeColor, MindElement, MindElementShape, MindEmojiBaseComponent, MindImageBaseComponent, MindModule, MindNode, MindNodeComponent, MindPointerType, MindQueries, MindRetroThemeColor, MindSoftThemeColor, MindStarryThemeColor, MindThemeColor, MindThemeColors, MindTransforms, PRIMARY_COLOR, PlaitMind, PlaitMindComponent, QUICK_INSERT_CIRCLE_COLOR, QUICK_INSERT_CIRCLE_OFFSET, QUICK_INSERT_INNER_CROSS_COLOR, ROOT_TOPIC_FONT_SIZE, ROOT_TOPIC_HEIGHT, STROKE_WIDTH, TOPIC_COLOR, TOPIC_DEFAULT_MAX_WORD_COUNT, TOPIC_FONT_SIZE, TRANSPARENT, WithMindPluginKey, addActiveOnDragOrigin, adjustAbstractToNode, adjustNodeToRoot, adjustRootToNode, canSetAbstract, copyNewNode, correctLayoutByDirection, createDefaultMind, createEmptyMind, createMindElement, deleteElementHandleAbstract, deleteElementsHandleRightNodeCount, detectDropTarget, directionCorrector, directionDetector, divideElementByParent, drawFakeDragNode, drawFakeDropNode, editTopic, extractNodesText, findLastChild, findLocationLeftIndex, getAbstractBranchColor, getAbstractBranchWidth, getAbstractHandleRectangle, getAllowedDirection, getAvailableSubLayoutsByLayoutDirections, getBehindAbstracts, getBranchColorByMindElement, getBranchDirectionsByLayouts, getBranchShapeByMindElement, getBranchWidthByMindElement, getChildrenCount, getCorrespondingAbstract, getDefaultBranchColor, getDefaultBranchColorByIndex, getDefaultLayout, getEmojiForeignRectangle, getEmojiRectangle, getFillByElement, getFirstLevelElement, getHitAbstractHandle, getImageForeignRectangle, getInCorrectLayoutDirection, getLayoutDirection$1 as getLayoutDirection, getLayoutReverseDirection, getLocationScope, getMindThemeColor, getNextBranchColor, getOverallAbstracts, getPathByDropTarget, getRectangleByElement, getRectangleByNode, getRectangleByResizingLocation, getRelativeStartEndByAbstractRef, getRootLayout, getShapeByElement, getStrokeByMindElement, getStrokeWidthByElement, getTopicRectangleByElement, getTopicRectangleByNode, getValidAbstractRefs, handleTouchedAbstract, hasAfterDraw, hasPreviousOrNextOfDropPath, insertElementHandleAbstract, insertElementHandleRightNodeCount, insertMindElement, isChildElement, isChildOfAbstract, isChildRight, isChildUp, isCorrectLayout, isDragging, isDropStandardRight, isHitEmojis, isHitImage, isHitMindElement, isInRightBranchOfStandardLayout, isMixedLayout, isSetAbstract, isValidTarget, isVirtualKey, removeActiveOnDragOrigin, separateChildren, setIsDragging, withMind, withMindExtend };
|
|
3977
3988
|
//# sourceMappingURL=plait-mind.mjs.map
|