@plait/mind 0.21.0 → 0.23.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.
@@ -5,7 +5,7 @@ import { DefaultThemeColor, ColorfulThemeColor, SoftThemeColor, RetroThemeColor,
5
5
  import { MindLayoutType, isIndentedLayout, AbstractNode, getNonAbstractChildren, isStandardLayout, isLeftLayout, isRightLayout, isVerticalLogicLayout, isHorizontalLogicLayout, isTopLayout, isBottomLayout, isHorizontalLayout, getCorrectStartEnd, getAbstractLayout, ConnectingPosition, GlobalLayout } from '@plait/layouts';
6
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
- import { Node, Path as Path$1 } from 'slate';
8
+ import { Node as Node$1, Path as Path$1 } from 'slate';
9
9
  import { isKeyHotkey } from 'is-hotkey';
10
10
  import { pointsOnBezierCurves } from 'points-on-curve';
11
11
  import { take, filter } from 'rxjs/operators';
@@ -513,7 +513,7 @@ const copyNewNode = (node) => {
513
513
  const extractNodesText = (node) => {
514
514
  let str = '';
515
515
  if (node) {
516
- str += Node.string(node.data.topic) + ' ';
516
+ str += Node$1.string(node.data.topic) + ' ';
517
517
  for (const childNode of node.children) {
518
518
  str += extractNodesText(childNode);
519
519
  }
@@ -681,7 +681,7 @@ const adjustAbstractToNode = (node) => {
681
681
  };
682
682
  const adjustNodeToRoot = (board, node) => {
683
683
  const newElement = { ...node };
684
- if (!Node.string(newElement.data.topic)) {
684
+ if (!Node$1.string(newElement.data.topic)) {
685
685
  newElement.data.topic = { children: [{ text: '思维导图' }] };
686
686
  }
687
687
  delete newElement?.strokeColor;
@@ -703,6 +703,28 @@ const adjustNodeToRoot = (board, node) => {
703
703
  };
704
704
  };
705
705
 
706
+ const BOARD_TO_SELECTED_IMAGE_ELEMENT = new WeakMap();
707
+ const getSelectedImageElement = (board) => {
708
+ return BOARD_TO_SELECTED_IMAGE_ELEMENT.get(board);
709
+ };
710
+ const addSelectedImageElement = (board, element) => {
711
+ BOARD_TO_SELECTED_IMAGE_ELEMENT.set(board, element);
712
+ };
713
+ const removeSelectedImageElement = (board) => {
714
+ BOARD_TO_SELECTED_IMAGE_ELEMENT.delete(board);
715
+ };
716
+ const setImageFocus = (board, element, isFocus) => {
717
+ if (isFocus) {
718
+ addSelectedImageElement(board, element);
719
+ }
720
+ else {
721
+ removeSelectedImageElement(board);
722
+ }
723
+ const elementComponent = PlaitElement.getComponent(element);
724
+ elementComponent.imageDrawer.componentRef.instance.isFocus = isFocus;
725
+ elementComponent.imageDrawer.componentRef.instance.cdr.markForCheck();
726
+ };
727
+
706
728
  const DefaultAbstractNodeStyle = {
707
729
  branch: { color: GRAY_COLOR, width: 2 },
708
730
  shape: {
@@ -2276,6 +2298,8 @@ const insertAbstractNode = (board, path, start, end) => {
2276
2298
  mindElement.start = start;
2277
2299
  mindElement.end = end;
2278
2300
  Transforms.insertNode(board, mindElement, path);
2301
+ clearSelectedElement(board);
2302
+ addSelectedElement(board, mindElement);
2279
2303
  };
2280
2304
 
2281
2305
  const setLayout = (board, layout, path) => {
@@ -3509,6 +3533,8 @@ const withAbstract = (board) => {
3509
3533
  return abstractHandlePosition;
3510
3534
  });
3511
3535
  if (activeAbstractElement) {
3536
+ // prevent text from being selected
3537
+ event.preventDefault();
3512
3538
  if (newBoard?.onAbstractResize) {
3513
3539
  newBoard.onAbstractResize(AbstractResizeState.start);
3514
3540
  }
@@ -3813,49 +3839,45 @@ const isSpaceHotkey = (event) => {
3813
3839
  return event.code === 'Space';
3814
3840
  };
3815
3841
 
3816
- const withNodeHover = (board) => {
3817
- const { mousemove, mouseleave } = board;
3818
- let hoveredMindElement = null;
3819
- board.mousemove = (event) => {
3820
- throttleRAF(() => {
3821
- let target = null;
3822
- const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
3823
- depthFirstRecursion(board, element => {
3824
- if (target) {
3825
- return;
3826
- }
3827
- if (!MindElement.isMindElement(board, element)) {
3828
- return;
3829
- }
3830
- const isHitElement = isHitMindElement(board, point, element);
3831
- if (isHitElement) {
3832
- target = element;
3833
- }
3834
- }, getIsRecursionFunc(board), true);
3835
- if (hoveredMindElement && target && hoveredMindElement === target) {
3836
- return;
3837
- }
3838
- if (hoveredMindElement) {
3839
- removeHovered(hoveredMindElement);
3840
- }
3841
- if (target) {
3842
- addHovered(target);
3843
- hoveredMindElement = target;
3844
- }
3845
- else {
3846
- hoveredMindElement = null;
3847
- }
3848
- });
3849
- mousemove(event);
3850
- };
3851
- board.mouseleave = (event) => {
3852
- if (hoveredMindElement) {
3853
- removeHovered(hoveredMindElement);
3854
- hoveredMindElement = null;
3842
+ const mouseMoveHandle = (board, event, nodeHoveredExtendRef) => {
3843
+ let target = null;
3844
+ const point = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
3845
+ depthFirstRecursion(board, element => {
3846
+ if (target) {
3847
+ return;
3855
3848
  }
3856
- mouseleave(event);
3857
- };
3858
- return board;
3849
+ if (!MindElement.isMindElement(board, element)) {
3850
+ return;
3851
+ }
3852
+ const isHitElement = isHitMindElement(board, point, element);
3853
+ if (isHitElement) {
3854
+ target = element;
3855
+ }
3856
+ }, getIsRecursionFunc(board), true);
3857
+ if (nodeHoveredExtendRef && target && nodeHoveredExtendRef.element === target) {
3858
+ return nodeHoveredExtendRef;
3859
+ }
3860
+ if (nodeHoveredExtendRef) {
3861
+ removeHovered(nodeHoveredExtendRef.element);
3862
+ }
3863
+ if (target) {
3864
+ addHovered(target);
3865
+ if (nodeHoveredExtendRef) {
3866
+ nodeHoveredExtendRef.element = target;
3867
+ }
3868
+ else {
3869
+ nodeHoveredExtendRef = { element: target };
3870
+ }
3871
+ }
3872
+ else {
3873
+ nodeHoveredExtendRef = null;
3874
+ }
3875
+ return nodeHoveredExtendRef;
3876
+ };
3877
+ const mouseLeaveHandle = (board, event, nodeHoveredExtendRef) => {
3878
+ if (nodeHoveredExtendRef) {
3879
+ removeHovered(nodeHoveredExtendRef.element);
3880
+ }
3859
3881
  };
3860
3882
  const addHovered = (element) => {
3861
3883
  const component = PlaitElement.getComponent(element);
@@ -3868,33 +3890,29 @@ const removeHovered = (element) => {
3868
3890
  }
3869
3891
  };
3870
3892
 
3871
- const BOARD_TO_SELECTED_IMAGE_ELEMENT = new WeakMap();
3872
- const getSelectedImageElement = (board) => {
3873
- return BOARD_TO_SELECTED_IMAGE_ELEMENT.get(board);
3874
- };
3875
- const addSelectedImageElement = (board, element) => {
3876
- BOARD_TO_SELECTED_IMAGE_ELEMENT.set(board, element);
3877
- };
3878
- const removeSelectedImageElement = (board) => {
3879
- BOARD_TO_SELECTED_IMAGE_ELEMENT.delete(board);
3880
- };
3881
- const setImageFocus = (board, element, isFocus) => {
3882
- if (isFocus) {
3883
- addSelectedImageElement(board, element);
3884
- }
3885
- else {
3886
- removeSelectedImageElement(board);
3887
- }
3888
- const elementComponent = PlaitElement.getComponent(element);
3889
- elementComponent.imageDrawer.componentRef.instance.isFocus = isFocus;
3890
- elementComponent.imageDrawer.componentRef.instance.cdr.markForCheck();
3893
+ const withNodeHoverDetect = (board) => {
3894
+ const { mousemove, mouseleave } = board;
3895
+ let nodeHoveredExtendRef = null;
3896
+ board.mousemove = (event) => {
3897
+ nodeHoveredExtendRef = mouseMoveHandle(board, event, nodeHoveredExtendRef);
3898
+ mousemove(event);
3899
+ };
3900
+ board.mouseleave = (event) => {
3901
+ mouseLeaveHandle(board, event, nodeHoveredExtendRef);
3902
+ nodeHoveredExtendRef = null;
3903
+ mouseleave(event);
3904
+ };
3905
+ return board;
3891
3906
  };
3892
3907
 
3893
3908
  const withNodeImage = (board) => {
3894
- let selectedImageElement = null;
3895
- const { keydown, mousedown } = board;
3909
+ const { keydown, mousedown, globalMouseup } = board;
3896
3910
  board.mousedown = (event) => {
3911
+ const selectedImageElement = getSelectedImageElement(board);
3897
3912
  if (PlaitBoard.isReadonly(board) || !isMainPointer(event) || !PlaitBoard.isPointer(board, PlaitPointerType.selection)) {
3913
+ if (selectedImageElement) {
3914
+ setImageFocus(board, selectedImageElement, false);
3915
+ }
3898
3916
  mousedown(event);
3899
3917
  return;
3900
3918
  }
@@ -3910,24 +3928,35 @@ const withNodeImage = (board) => {
3910
3928
  }
3911
3929
  if (selectedImageElement) {
3912
3930
  setImageFocus(board, selectedImageElement, false);
3913
- selectedImageElement = null;
3914
3931
  }
3915
3932
  if (hitImage) {
3916
3933
  temporaryDisableSelection(board);
3917
- selectedImageElement = hitElements[0];
3918
- setImageFocus(board, selectedImageElement, true);
3934
+ setImageFocus(board, hitElements[0], true);
3919
3935
  clearSelectedElement(board);
3920
3936
  }
3921
3937
  mousedown(event);
3922
3938
  };
3923
3939
  board.keydown = (event) => {
3940
+ const selectedImageElement = getSelectedImageElement(board);
3924
3941
  if (!PlaitBoard.isReadonly(board) && selectedImageElement && (hotkeys.isDeleteBackward(event) || hotkeys.isDeleteForward(event))) {
3942
+ addSelectedElement(board, selectedImageElement);
3943
+ setImageFocus(board, selectedImageElement, false);
3925
3944
  MindTransforms.removeImage(board, selectedImageElement);
3926
- selectedImageElement = null;
3927
3945
  return;
3928
3946
  }
3929
3947
  keydown(event);
3930
3948
  };
3949
+ board.globalMouseup = (event) => {
3950
+ if (PlaitBoard.isFocus(board)) {
3951
+ const isInBoard = event.target instanceof Node && PlaitBoard.getBoardContainer(board).contains(event.target);
3952
+ const selectedImageElement = getSelectedImageElement(board);
3953
+ // Clear image selection when mouse board outside area
3954
+ if (selectedImageElement && !isInBoard) {
3955
+ setImageFocus(board, selectedImageElement, false);
3956
+ }
3957
+ }
3958
+ globalMouseup(event);
3959
+ };
3931
3960
  return board;
3932
3961
  };
3933
3962
 
@@ -3938,7 +3967,7 @@ const withNodeResize = (board) => {
3938
3967
  let startPoint = null;
3939
3968
  board.mousedown = (event) => {
3940
3969
  if (targetElement) {
3941
- startPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
3970
+ startPoint = [event.x, event.y];
3942
3971
  // prevent text from being selected
3943
3972
  event.preventDefault();
3944
3973
  return;
@@ -3954,7 +3983,6 @@ const withNodeResize = (board) => {
3954
3983
  const endPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
3955
3984
  const distance = distanceBetweenPointAndPoint(startPoint[0], startPoint[1], endPoint[0], endPoint[1]);
3956
3985
  if (distance > PRESS_AND_MOVE_BUFFER) {
3957
- startPoint = endPoint;
3958
3986
  addResizing(board, targetElement);
3959
3987
  targetElementRef = {
3960
3988
  minWidth: NodeSpace.getNodeResizableMinWidth(board, targetElement),
@@ -3966,18 +3994,25 @@ const withNodeResize = (board) => {
3966
3994
  }
3967
3995
  }
3968
3996
  if (isMindNodeResizing(board) && startPoint && targetElementRef) {
3969
- const endPoint = transformPoint(board, toPoint(event.x, event.y, PlaitBoard.getHost(board)));
3970
- const offsetX = endPoint[0] - startPoint[0];
3971
- let resizedWidth = targetElementRef.currentWidth + offsetX;
3972
- if (resizedWidth < targetElementRef.minWidth) {
3973
- resizedWidth = targetElementRef.minWidth;
3974
- }
3975
- const newTarget = PlaitNode.get(board, targetElementRef.path);
3976
- if (newTarget && NodeSpace.getNodeTopicMinWidth(board, newTarget) !== resizedWidth) {
3977
- targetElementRef.textManage.updateWidth(resizedWidth);
3978
- const { width, height } = targetElementRef.textManage.getSize();
3979
- MindTransforms.setNodeManualWidth(board, newTarget, resizedWidth, height);
3980
- }
3997
+ throttleRAF(() => {
3998
+ if (!startPoint) {
3999
+ return;
4000
+ }
4001
+ const endPoint = [event.x, event.y];
4002
+ const offsetX = endPoint[0] - startPoint[0];
4003
+ const zoom = board.viewport.zoom;
4004
+ let resizedWidth = targetElementRef.currentWidth + offsetX / zoom;
4005
+ if (resizedWidth < targetElementRef.minWidth) {
4006
+ resizedWidth = targetElementRef.minWidth;
4007
+ }
4008
+ const newTarget = PlaitNode.get(board, targetElementRef.path);
4009
+ if (newTarget && NodeSpace.getNodeTopicMinWidth(board, newTarget) !== resizedWidth) {
4010
+ targetElementRef.textManage.updateWidth(resizedWidth);
4011
+ const { height } = targetElementRef.textManage.getSize();
4012
+ MindTransforms.setNodeManualWidth(board, newTarget, resizedWidth * zoom, height);
4013
+ }
4014
+ });
4015
+ return;
3981
4016
  }
3982
4017
  else {
3983
4018
  // press and start drag when node is non selected
@@ -3997,8 +4032,8 @@ const withNodeResize = (board) => {
3997
4032
  };
3998
4033
  board.globalMouseup = (event) => {
3999
4034
  globalMouseup(event);
4000
- if (isMindNodeResizing(board) && targetElement) {
4001
- removeResizing(board, targetElement);
4035
+ if (isMindNodeResizing(board) || targetElement) {
4036
+ targetElement && removeResizing(board, targetElement);
4002
4037
  targetElementRef = null;
4003
4038
  targetElement = null;
4004
4039
  startPoint = null;
@@ -4038,10 +4073,9 @@ const getTargetElement = (board, point) => {
4038
4073
  return null;
4039
4074
  };
4040
4075
  const getResizeActiveRectangle = (board, element) => {
4041
- const activeWidth = 20;
4042
4076
  const node = MindElement.getNode(element);
4043
4077
  const rectangle = getRectangleByNode(node);
4044
- return { x: rectangle.x + rectangle.width - activeWidth / 2, y: rectangle.y, width: activeWidth, height: rectangle.height };
4078
+ return { x: rectangle.x + rectangle.width - EXTEND_OFFSET, y: rectangle.y, width: EXTEND_OFFSET * 2, height: rectangle.height };
4045
4079
  };
4046
4080
 
4047
4081
  const withMind = (baseBoard) => {
@@ -4149,7 +4183,7 @@ const withMind = (baseBoard) => {
4149
4183
  MindTransforms.removeElements(board, selectedElements);
4150
4184
  deleteFragment(data);
4151
4185
  };
4152
- return withNodeResize(withNodeImage(withNodeHover(withMindHotkey(withMindExtend(withCreateMind(withAbstract(withNodeDnd(board))))))));
4186
+ return withNodeResize(withNodeImage(withNodeHoverDetect(withMindHotkey(withMindExtend(withCreateMind(withAbstract(withNodeDnd(board))))))));
4153
4187
  };
4154
4188
 
4155
4189
  class MindEmojiBaseComponent {
@@ -4203,5 +4237,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.5", ngImpor
4203
4237
  * Generated bundle index. Do not edit.
4204
4238
  */
4205
4239
 
4206
- 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, temporaryDisableSelection, withMind, withMindExtend };
4240
+ 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, addSelectedImageElement, 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, getSelectedImageElement, 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, removeSelectedImageElement, separateChildren, setImageFocus, setIsDragging, temporaryDisableSelection, withMind, withMindExtend };
4207
4241
  //# sourceMappingURL=plait-mind.mjs.map