@plait/mind 0.39.0 → 0.41.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.
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, ChangeDetectionStrategy, NgZone, Directive, Input, HostListener } from '@angular/core';
3
- import { DefaultThemeColor, ColorfulThemeColor, SoftThemeColor, RetroThemeColor, DarkThemeColor, StarryThemeColor, PlaitElement, PlaitNode, Path, isNullOrUndefined, PlaitBoard, distanceBetweenPointAndRectangle, RectangleClient, getSelectedElements, idCreator, Transforms, clearSelectedElement, addSelectedElement, depthFirstRecursion, getIsRecursionFunc, drawRoundRectangle, drawLinearPath, drawBezierPath, createG, updateForeignObject, getRectangleByElements, NODE_TO_PARENT, createForeignObject, setStrokeLinecap, ACTIVE_STROKE_WIDTH, createText, PlaitPointerType, NODE_TO_INDEX, PlaitChildrenElementComponent, isMainPointer, transformPoint, toPoint, getHitElementByPoint, distanceBetweenPointAndPoint, CoreTransforms, BOARD_TO_HOST, BoardTransforms, throttleRAF, removeSelectedElement, PlaitHistoryBoard, temporaryDisableSelection, hotkeys, setClipboardDataByMedia, getClipboardDataByMedia, ResizeCursorClass, preventTouchMove, PRESS_AND_MOVE_BUFFER, MERGING, setClipboardData, setClipboardDataByText, getDataFromClipboard, PlaitPluginKey } from '@plait/core';
3
+ import { DefaultThemeColor, ColorfulThemeColor, SoftThemeColor, RetroThemeColor, DarkThemeColor, StarryThemeColor, PlaitElement, PlaitNode, Path, isNullOrUndefined, PlaitBoard, distanceBetweenPointAndRectangle, RectangleClient, getSelectedElements, idCreator, Transforms, clearSelectedElement, addSelectedElement, depthFirstRecursion, getIsRecursionFunc, drawRoundRectangle, drawLinearPath, drawBezierPath, createG, updateForeignObject, getRectangleByElements, NODE_TO_PARENT, createForeignObject, removeSelectedElement, PlaitHistoryBoard, setStrokeLinecap, ACTIVE_STROKE_WIDTH, createText, PlaitPointerType, NODE_TO_INDEX, PlaitChildrenElementComponent, isMainPointer, transformPoint, toPoint, getHitElementByPoint, distanceBetweenPointAndPoint, CoreTransforms, BOARD_TO_HOST, BoardTransforms, throttleRAF, temporaryDisableSelection, hotkeys, setClipboardDataByMedia, getClipboardDataByMedia, ResizeCursorClass, setClipboardData, setClipboardDataByText, getDataFromClipboard, PlaitPluginKey } from '@plait/core';
4
4
  import { MindLayoutType, AbstractNode, isIndentedLayout, isHorizontalLayout, isHorizontalLogicLayout, ConnectingPosition, getNonAbstractChildren, isStandardLayout, isLeftLayout, isRightLayout, isVerticalLogicLayout, isTopLayout, isBottomLayout, getCorrectStartEnd, getAbstractLayout, GlobalLayout } from '@plait/layouts';
5
5
  import { PlaitMarkEditor, MarkTypes, DEFAULT_FONT_SIZE, TEXT_DEFAULT_HEIGHT, buildText, getTextSize, TextManage, ExitOrigin, getTextFromClipboard } from '@plait/text';
6
6
  import { fromEvent, Subject } from 'rxjs';
7
- import { RESIZE_HANDLE_DIAMETER, getRectangleResizeHandleRefs, addElementOfFocusedImage, removeElementOfFocusedImage, Generator, CommonPluginElement, ImageGenerator, WithTextPluginKey, isDrawingMode, isDndMode, setCreationMode, BoardCreationMode, isExpandHotkey, isTabHotkey, isEnterHotkey, isVirtualKey, isDelete, isSpaceHotkey, getElementOfFocusedImage, MediaKeys, acceptImageTypes, buildImage, ResizeHandle, withResize } from '@plait/common';
7
+ import { RESIZE_HANDLE_DIAMETER, getRectangleResizeHandleRefs, addElementOfFocusedImage, removeElementOfFocusedImage, Generator, CommonPluginElement, ImageGenerator, WithTextPluginKey, isDrawingMode, isDndMode, setCreationMode, BoardCreationMode, isExpandHotkey, isTabHotkey, isEnterHotkey, isVirtualKey, isDelete, isSpaceHotkey, getElementOfFocusedImage, MediaKeys, acceptImageTypes, buildImage, withResize, ResizeHandle } from '@plait/common';
8
8
  import { Node as Node$1, Path as Path$1 } from 'slate';
9
9
  import { pointsOnBezierCurves } from 'points-on-curve';
10
10
  import { take, filter } from 'rxjs/operators';
@@ -1990,6 +1990,15 @@ const deleteElementsHandleRightNodeCount = (board, deletableElements, effectedRi
1990
1990
  return effectedRightNodeCount;
1991
1991
  };
1992
1992
 
1993
+ function findNewChildNodePath(board, element) {
1994
+ const children = getNonAbstractChildren(element);
1995
+ return PlaitBoard.findPath(board, element).concat(children.length);
1996
+ }
1997
+ function findNewSiblingNodePath(board, element) {
1998
+ const path = PlaitBoard.findPath(board, element);
1999
+ return Path$1.next(path);
2000
+ }
2001
+
1993
2002
  /**
1994
2003
  * get correctly layout:
1995
2004
  * 1. root is standard -> left or right
@@ -2474,6 +2483,31 @@ const setRightNodeCountByRefs = (board, refs) => {
2474
2483
  Transforms.setNode(board, { rightNodeCount: ref.rightNodeCount }, ref.path);
2475
2484
  });
2476
2485
  };
2486
+ const insertChildNode = (board, element) => {
2487
+ if (MindElement.isMindElement(board, element)) {
2488
+ removeSelectedElement(board, element);
2489
+ const targetElementPath = PlaitBoard.findPath(board, element);
2490
+ if (element.isCollapsed) {
2491
+ const newElement = { isCollapsed: false };
2492
+ PlaitHistoryBoard.withoutSaving(board, () => {
2493
+ Transforms.setNode(board, newElement, targetElementPath);
2494
+ });
2495
+ }
2496
+ insertMindElement(board, element, findNewChildNodePath(board, element));
2497
+ }
2498
+ };
2499
+ const insertSiblingNode = (board, element) => {
2500
+ if (MindElement.isMindElement(board, element) && !PlaitMind.isMind(element) && !AbstractNode.isAbstract(element)) {
2501
+ const path = PlaitBoard.findPath(board, element);
2502
+ if (isInRightBranchOfStandardLayout(element)) {
2503
+ const refs = insertElementHandleRightNodeCount(board, path.slice(0, 1), 1);
2504
+ setRightNodeCountByRefs(board, refs);
2505
+ }
2506
+ const abstractRefs = insertElementHandleAbstract(board, Path$1.next(path));
2507
+ setAbstractsByRefs(board, abstractRefs);
2508
+ insertMindElement(board, element, findNewSiblingNodePath(board, element));
2509
+ }
2510
+ };
2477
2511
 
2478
2512
  const addEmoji = (board, element, emojiItem) => {
2479
2513
  const emojis = element.data.emojis || [];
@@ -2556,18 +2590,11 @@ const MindTransforms = {
2556
2590
  insertAbstractNodes,
2557
2591
  setRightNodeCountByRefs,
2558
2592
  removeImage,
2559
- setImage
2593
+ setImage,
2594
+ insertChildNode,
2595
+ insertSiblingNode
2560
2596
  };
2561
2597
 
2562
- function findNewChildNodePath(board, element) {
2563
- const children = getNonAbstractChildren(element);
2564
- return PlaitBoard.findPath(board, element).concat(children.length);
2565
- }
2566
- function findNewSiblingNodePath(board, element) {
2567
- const path = PlaitBoard.findPath(board, element);
2568
- return Path$1.next(path);
2569
- }
2570
-
2571
2598
  class NodePlusGenerator extends Generator {
2572
2599
  canDraw(element) {
2573
2600
  if (PlaitBoard.isReadonly(this.board) || element?.isCollapsed) {
@@ -3563,29 +3590,14 @@ const withMindHotkey = (baseBoard) => {
3563
3590
  if (!PlaitBoard.isReadonly(board)) {
3564
3591
  if (isTabHotkey(event) && isSingleMindElement) {
3565
3592
  event.preventDefault();
3566
- removeSelectedElement(board, targetElement);
3567
- const targetElementPath = PlaitBoard.findPath(board, targetElement);
3568
- if (targetElement.isCollapsed) {
3569
- const newElement = { isCollapsed: false };
3570
- PlaitHistoryBoard.withoutSaving(board, () => {
3571
- Transforms.setNode(board, newElement, targetElementPath);
3572
- });
3573
- }
3574
- insertMindElement(board, targetElement, findNewChildNodePath(board, targetElement));
3593
+ MindTransforms.insertChildNode(board, targetElement);
3575
3594
  return;
3576
3595
  }
3577
3596
  if (isEnterHotkey(event) &&
3578
3597
  isSingleMindElement &&
3579
3598
  !PlaitMind.isMind(targetElement) &&
3580
3599
  !AbstractNode.isAbstract(targetElement)) {
3581
- const targetElementPath = PlaitBoard.findPath(board, targetElement);
3582
- if (isInRightBranchOfStandardLayout(targetElement)) {
3583
- const refs = insertElementHandleRightNodeCount(board, targetElementPath.slice(0, 1), 1);
3584
- MindTransforms.setRightNodeCountByRefs(board, refs);
3585
- }
3586
- const abstractRefs = insertElementHandleAbstract(board, Path.next(targetElementPath));
3587
- MindTransforms.setAbstractsByRefs(board, abstractRefs);
3588
- insertMindElement(board, targetElement, findNewSiblingNodePath(board, targetElement));
3600
+ MindTransforms.insertSiblingNode(board, targetElement);
3589
3601
  return;
3590
3602
  }
3591
3603
  if (!isVirtualKey(event) &&
@@ -3762,117 +3774,51 @@ const withNodeImage = (board) => {
3762
3774
  };
3763
3775
 
3764
3776
  const withNodeResize = (board) => {
3765
- const { pointerDown, pointerMove, globalPointerUp } = board;
3766
- let targetElement = null;
3767
3777
  let targetElementRef = null;
3768
- let startPoint = null;
3769
- board.pointerDown = (event) => {
3770
- if (PlaitBoard.isReadonly(board)) {
3771
- pointerDown(event);
3772
- return;
3773
- }
3774
- const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
3775
- const newTargetElement = getSelectedTarget(board, point);
3776
- if (newTargetElement) {
3777
- PlaitBoard.getBoardContainer(board).classList.add(ResizeCursorClass['ew']);
3778
- targetElement = newTargetElement;
3779
- startPoint = [event.x, event.y];
3780
- preventTouchMove(board, event, true);
3781
- }
3782
- pointerDown(event);
3783
- };
3784
- board.pointerMove = (event) => {
3785
- if (PlaitBoard.isReadonly(board) || PlaitBoard.hasBeenTextEditing(board)) {
3786
- pointerMove(event);
3787
- return;
3788
- }
3789
- if (startPoint && targetElement && !isMindNodeResizing(board)) {
3790
- // prevent text from being selected
3791
- event.preventDefault();
3792
- const endPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
3793
- const distance = distanceBetweenPointAndPoint(startPoint[0], startPoint[1], endPoint[0], endPoint[1]);
3794
- if (distance > PRESS_AND_MOVE_BUFFER) {
3795
- addResizing(board, targetElement);
3796
- targetElementRef = {
3797
- minWidth: NodeSpace.getNodeResizableMinWidth(board, targetElement),
3798
- currentWidth: NodeSpace.getNodeDynamicWidth(board, targetElement),
3799
- path: PlaitBoard.findPath(board, targetElement),
3800
- textManage: MindElement.getTextManage(targetElement)
3778
+ const options = {
3779
+ key: 'mind-node',
3780
+ canResize: () => {
3781
+ return !isDragging(board);
3782
+ },
3783
+ detect: (point) => {
3784
+ const newTargetElement = getSelectedTarget(board, point);
3785
+ if (newTargetElement) {
3786
+ return {
3787
+ element: newTargetElement,
3788
+ handle: null,
3789
+ cursorClass: ResizeCursorClass.ew
3801
3790
  };
3802
- MERGING.set(board, true);
3803
3791
  }
3804
- }
3805
- if (isMindNodeResizing(board) && startPoint && targetElementRef) {
3806
- // prevent text from being selected
3807
- event.preventDefault();
3808
- preventTouchMove(board, event, true);
3809
- throttleRAF(() => {
3810
- if (!startPoint) {
3811
- return;
3812
- }
3813
- const endPoint = [event.x, event.y];
3814
- const offsetX = endPoint[0] - startPoint[0];
3815
- const zoom = board.viewport.zoom;
3816
- let resizedWidth = targetElementRef.currentWidth + offsetX / zoom;
3817
- if (resizedWidth <= targetElementRef.minWidth) {
3818
- resizedWidth = targetElementRef.minWidth;
3819
- }
3820
- const newTarget = PlaitNode.get(board, targetElementRef.path);
3821
- if (newTarget && NodeSpace.getNodeTopicMinWidth(board, newTarget) !== resizedWidth) {
3822
- targetElementRef.textManage.updateRectangleWidth(resizedWidth);
3823
- const { height } = targetElementRef.textManage.getSize();
3824
- MindTransforms.setNodeManualWidth(board, newTarget, resizedWidth * zoom, height);
3825
- }
3826
- });
3827
- return;
3828
- }
3829
- else {
3830
- // press and start drag when node is non selected
3831
- if (!isDragging(board)) {
3832
- const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
3833
- const newTargetElement = getSelectedTarget(board, point);
3834
- if (newTargetElement) {
3835
- PlaitBoard.getBoardContainer(board).classList.add(`mind-${ResizeCursorClass['ew']}`);
3836
- }
3837
- else {
3838
- PlaitBoard.getBoardContainer(board).classList.remove(`mind-${ResizeCursorClass['ew']}`);
3839
- }
3792
+ return null;
3793
+ },
3794
+ beforeResize: (resizeRef) => {
3795
+ targetElementRef = {
3796
+ minWidth: NodeSpace.getNodeResizableMinWidth(board, resizeRef.element),
3797
+ currentWidth: NodeSpace.getNodeDynamicWidth(board, resizeRef.element),
3798
+ path: PlaitBoard.findPath(board, resizeRef.element),
3799
+ textManage: MindElement.getTextManage(resizeRef.element)
3800
+ };
3801
+ },
3802
+ onResize: (resizeRef, resizeState) => {
3803
+ const zoom = board.viewport.zoom;
3804
+ let resizedWidth = targetElementRef.currentWidth + resizeState.offsetX / zoom;
3805
+ if (resizedWidth <= targetElementRef.minWidth) {
3806
+ resizedWidth = targetElementRef.minWidth;
3840
3807
  }
3841
- }
3842
- pointerMove(event);
3843
- };
3844
- board.globalPointerUp = (event) => {
3845
- globalPointerUp(event);
3846
- if (isMindNodeResizing(board) || targetElement) {
3847
- targetElement && removeResizing(board, targetElement);
3808
+ const newTarget = PlaitNode.get(board, targetElementRef.path);
3809
+ if (newTarget && NodeSpace.getNodeTopicMinWidth(board, newTarget) !== resizedWidth) {
3810
+ targetElementRef.textManage.updateRectangleWidth(resizedWidth);
3811
+ const { height } = targetElementRef.textManage.getSize();
3812
+ MindTransforms.setNodeManualWidth(board, newTarget, resizedWidth * zoom, height);
3813
+ }
3814
+ },
3815
+ afterResize: (resizeRef) => {
3848
3816
  targetElementRef = null;
3849
- targetElement = null;
3850
- startPoint = null;
3851
- MERGING.set(board, false);
3852
- preventTouchMove(board, event, false);
3853
3817
  }
3854
3818
  };
3819
+ withResize(board, options);
3855
3820
  return board;
3856
3821
  };
3857
- const IS_MIND_NODE_RESIZING = new WeakMap();
3858
- const isMindNodeResizing = (board) => {
3859
- return !!IS_MIND_NODE_RESIZING.get(board);
3860
- };
3861
- const addResizing = (board, element) => {
3862
- PlaitBoard.getBoardContainer(board).classList.add('mind-node-resizing');
3863
- const component = PlaitElement.getComponent(element);
3864
- component.g.classList.add('resizing');
3865
- IS_MIND_NODE_RESIZING.set(board, true);
3866
- };
3867
- const removeResizing = (board, element) => {
3868
- PlaitBoard.getBoardContainer(board).classList.remove('mind-node-resizing');
3869
- PlaitBoard.getBoardContainer(board).classList.remove(ResizeCursorClass['ew']);
3870
- const component = PlaitElement.getComponent(element);
3871
- if (component && component.g) {
3872
- component.g.classList.remove('resizing');
3873
- }
3874
- IS_MIND_NODE_RESIZING.set(board, false);
3875
- };
3876
3822
  const getSelectedTarget = (board, point) => {
3877
3823
  const selectedElements = getSelectedElements(board).filter(value => MindElement.isMindElement(board, value));
3878
3824
  if (selectedElements.length > 0) {
@@ -4256,5 +4202,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
4256
4202
  * Generated bundle index. Do not edit.
4257
4203
  */
4258
4204
 
4259
- export { ABSTRACT_HANDLE_COLOR, ABSTRACT_HANDLE_LENGTH, ABSTRACT_HANDLE_MASK_WIDTH, ABSTRACT_INCLUDED_OUTLINE_OFFSET, AbstractHandlePosition, AbstractResizeState, BASE, BRANCH_FONT_FAMILY, BRANCH_WIDTH, BranchShape, DEFAULT_FONT_FAMILY, DEFAULT_MIND_IMAGE_WIDTH, DefaultAbstractNodeStyle, DefaultNodeStyle, ELEMENT_TO_NODE, EXTEND_DIAMETER, EXTEND_OFFSET, GRAY_COLOR, INHERIT_ATTRIBUTE_KEYS, IS_DRAGGING, LayoutDirection, LayoutDirectionsMap, MindColorfulThemeColor, MindDarkThemeColor, MindDefaultThemeColor, MindElement, MindElementShape, MindEmojiBaseComponent, MindNode, MindNodeComponent, MindPointerType, MindQueries, MindRetroThemeColor, MindSoftThemeColor, MindStarryThemeColor, MindThemeColor, MindThemeColors, MindTransforms, NodeSpace, NodeTopicThreshold, PRIMARY_COLOR, PlaitMind, PlaitMindComponent, QUICK_INSERT_CIRCLE_COLOR, QUICK_INSERT_CIRCLE_OFFSET, QUICK_INSERT_INNER_CROSS_COLOR, ROOT_TOPIC_FONT_SIZE, ROOT_TOPIC_HEIGHT, ROOT_TOPIC_WIDTH, STROKE_WIDTH, TOPIC_COLOR, TOPIC_DEFAULT_MAX_WORD_COUNT, TOPIC_FONT_SIZE, WithMindPluginKey, addActiveOnDragOrigin, addImageFocus, 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, getEmojiFontSize, getEmojiForeignRectangle, getEmojiRectangle, getEmojisWidthHeight, getFillByElement, getFirstLevelElement, getFontSizeBySlateElement, getHitAbstractHandle, getHitImageResizeHandleDirection, getImageForeignRectangle, getInCorrectLayoutDirection, getLayoutDirection$1 as getLayoutDirection, getLayoutOptions, getLayoutReverseDirection, getLocationScope, getMindThemeColor, getNewNodeHeight, getNextBranchColor, getNodeDefaultFontSize, getOverallAbstracts, getPathByDropTarget, getRectangleByElement, getRectangleByNode, getRectangleByResizingLocation, getRelativeStartEndByAbstractRef, getRootLayout, getSelectedMindElements, getShapeByElement, getStrokeByMindElement, getStrokeWidthByElement, getTopicRectangleByElement, getTopicRectangleByNode, getValidAbstractRefs, handleTouchedAbstract, hasPreviousOrNextOfDropPath, insertElementHandleAbstract, insertElementHandleRightNodeCount, insertMindElement, isChildElement, isChildOfAbstract, isChildRight, isChildUp, isCorrectLayout, isDragging, isDropStandardRight, isHitEmojis, isHitImage, isHitMindElement, isInRightBranchOfStandardLayout, isMixedLayout, isSetAbstract, isValidTarget, removeActiveOnDragOrigin, removeImageFocus, separateChildren, setIsDragging, withMind, withMindExtend };
4205
+ export { ABSTRACT_HANDLE_COLOR, ABSTRACT_HANDLE_LENGTH, ABSTRACT_HANDLE_MASK_WIDTH, ABSTRACT_INCLUDED_OUTLINE_OFFSET, AbstractHandlePosition, AbstractResizeState, BASE, BRANCH_FONT_FAMILY, BRANCH_WIDTH, BranchShape, DEFAULT_FONT_FAMILY, DEFAULT_MIND_IMAGE_WIDTH, DefaultAbstractNodeStyle, DefaultNodeStyle, ELEMENT_TO_NODE, EXTEND_DIAMETER, EXTEND_OFFSET, GRAY_COLOR, INHERIT_ATTRIBUTE_KEYS, IS_DRAGGING, LayoutDirection, LayoutDirectionsMap, MindColorfulThemeColor, MindDarkThemeColor, MindDefaultThemeColor, MindElement, MindElementShape, MindEmojiBaseComponent, MindNode, MindNodeComponent, MindPointerType, MindQueries, MindRetroThemeColor, MindSoftThemeColor, MindStarryThemeColor, MindThemeColor, MindThemeColors, MindTransforms, NodeSpace, NodeTopicThreshold, PRIMARY_COLOR, PlaitMind, PlaitMindComponent, QUICK_INSERT_CIRCLE_COLOR, QUICK_INSERT_CIRCLE_OFFSET, QUICK_INSERT_INNER_CROSS_COLOR, ROOT_TOPIC_FONT_SIZE, ROOT_TOPIC_HEIGHT, ROOT_TOPIC_WIDTH, STROKE_WIDTH, TOPIC_COLOR, TOPIC_DEFAULT_MAX_WORD_COUNT, TOPIC_FONT_SIZE, WithMindPluginKey, addActiveOnDragOrigin, addImageFocus, adjustAbstractToNode, adjustNodeToRoot, adjustRootToNode, canSetAbstract, copyNewNode, correctLayoutByDirection, createDefaultMind, createEmptyMind, createMindElement, deleteElementHandleAbstract, deleteElementsHandleRightNodeCount, detectDropTarget, directionCorrector, directionDetector, divideElementByParent, drawFakeDragNode, drawFakeDropNode, editTopic, extractNodesText, findLastChild, findLocationLeftIndex, findNewChildNodePath, findNewSiblingNodePath, getAbstractBranchColor, getAbstractBranchWidth, getAbstractHandleRectangle, getAllowedDirection, getAvailableSubLayoutsByLayoutDirections, getBehindAbstracts, getBranchColorByMindElement, getBranchDirectionsByLayouts, getBranchShapeByMindElement, getBranchWidthByMindElement, getChildrenCount, getCorrespondingAbstract, getDefaultBranchColor, getDefaultBranchColorByIndex, getDefaultLayout, getEmojiFontSize, getEmojiForeignRectangle, getEmojiRectangle, getEmojisWidthHeight, getFillByElement, getFirstLevelElement, getFontSizeBySlateElement, getHitAbstractHandle, getHitImageResizeHandleDirection, getImageForeignRectangle, getInCorrectLayoutDirection, getLayoutDirection$1 as getLayoutDirection, getLayoutOptions, getLayoutReverseDirection, getLocationScope, getMindThemeColor, getNewNodeHeight, getNextBranchColor, getNodeDefaultFontSize, getOverallAbstracts, getPathByDropTarget, getRectangleByElement, getRectangleByNode, getRectangleByResizingLocation, getRelativeStartEndByAbstractRef, getRootLayout, getSelectedMindElements, getShapeByElement, getStrokeByMindElement, getStrokeWidthByElement, getTopicRectangleByElement, getTopicRectangleByNode, getValidAbstractRefs, handleTouchedAbstract, hasPreviousOrNextOfDropPath, insertElementHandleAbstract, insertElementHandleRightNodeCount, insertMindElement, isChildElement, isChildOfAbstract, isChildRight, isChildUp, isCorrectLayout, isDragging, isDropStandardRight, isHitEmojis, isHitImage, isHitMindElement, isInRightBranchOfStandardLayout, isMixedLayout, isSetAbstract, isValidTarget, removeActiveOnDragOrigin, removeImageFocus, separateChildren, setIsDragging, withMind, withMindExtend };
4260
4206
  //# sourceMappingURL=plait-mind.mjs.map