@plait/mind 0.91.0 → 0.92.0-next.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.
Files changed (91) hide show
  1. package/index.d.ts +601 -3
  2. package/package.json +1 -1
  3. package/constants/abstract-node.d.ts +0 -4
  4. package/constants/default.d.ts +0 -18
  5. package/constants/index.d.ts +0 -4
  6. package/constants/node-style.d.ts +0 -20
  7. package/constants/node-topic-style.d.ts +0 -3
  8. package/constants/theme.d.ts +0 -6
  9. package/emoji/emoji-base.component.d.ts +0 -10
  10. package/emoji/index.d.ts +0 -2
  11. package/emoji/with-emoji.d.ts +0 -15
  12. package/generators/node-active.generator.d.ts +0 -13
  13. package/generators/node-emojis.generator.d.ts +0 -22
  14. package/generators/node-more.generator.d.ts +0 -43
  15. package/generators/node-shape.generator.d.ts +0 -12
  16. package/interfaces/element-data.d.ts +0 -15
  17. package/interfaces/element.d.ts +0 -53
  18. package/interfaces/index.d.ts +0 -7
  19. package/interfaces/layout.d.ts +0 -10
  20. package/interfaces/node.d.ts +0 -32
  21. package/interfaces/options.d.ts +0 -5
  22. package/interfaces/pointer.d.ts +0 -3
  23. package/interfaces/theme-color.d.ts +0 -17
  24. package/interfaces/types.d.ts +0 -11
  25. package/mind-node.component.d.ts +0 -34
  26. package/mind.component.d.ts +0 -11
  27. package/plugins/with-abstract-resize.board.d.ts +0 -16
  28. package/plugins/with-abstract-resize.d.ts +0 -2
  29. package/plugins/with-mind-create.d.ts +0 -9
  30. package/plugins/with-mind-extend.d.ts +0 -3
  31. package/plugins/with-mind-fragment.d.ts +0 -5
  32. package/plugins/with-mind-hotkey.d.ts +0 -3
  33. package/plugins/with-mind.board.d.ts +0 -3
  34. package/plugins/with-mind.d.ts +0 -2
  35. package/plugins/with-node-dnd.d.ts +0 -2
  36. package/plugins/with-node-image-resize.d.ts +0 -2
  37. package/plugins/with-node-image.d.ts +0 -2
  38. package/plugins/with-node-more.d.ts +0 -14
  39. package/plugins/with-node-resize.d.ts +0 -6
  40. package/public-api.d.ts +0 -12
  41. package/queries/get-available-sublayouts-by-element.d.ts +0 -4
  42. package/queries/get-branch-layouts.d.ts +0 -4
  43. package/queries/get-correct-layout-by-element.d.ts +0 -10
  44. package/queries/index.d.ts +0 -5
  45. package/transforms/abstract-node.d.ts +0 -6
  46. package/transforms/emoji.d.ts +0 -6
  47. package/transforms/image.d.ts +0 -5
  48. package/transforms/index.d.ts +0 -23
  49. package/transforms/layout.d.ts +0 -3
  50. package/transforms/node.d.ts +0 -14
  51. package/transforms/property.d.ts +0 -8
  52. package/utils/abstract/common.d.ts +0 -30
  53. package/utils/abstract/resize.d.ts +0 -23
  54. package/utils/clipboard.d.ts +0 -7
  55. package/utils/common.d.ts +0 -5
  56. package/utils/dnd/common.d.ts +0 -17
  57. package/utils/dnd/detector.d.ts +0 -18
  58. package/utils/draw/abstract-outline.d.ts +0 -12
  59. package/utils/draw/node-dnd.d.ts +0 -7
  60. package/utils/draw/node-link/abstract-link.d.ts +0 -3
  61. package/utils/draw/node-link/draw-link.d.ts +0 -4
  62. package/utils/draw/node-link/indented-link.d.ts +0 -4
  63. package/utils/draw/node-link/logic-link.d.ts +0 -4
  64. package/utils/draw/node-shape.d.ts +0 -5
  65. package/utils/index.d.ts +0 -16
  66. package/utils/layout.d.ts +0 -12
  67. package/utils/mind.d.ts +0 -17
  68. package/utils/node/adjust-node.d.ts +0 -6
  69. package/utils/node/common.d.ts +0 -4
  70. package/utils/node/create-node.d.ts +0 -18
  71. package/utils/node/dynamic-width.d.ts +0 -7
  72. package/utils/node/image.d.ts +0 -5
  73. package/utils/node/index.d.ts +0 -5
  74. package/utils/node/right-node-count.d.ts +0 -9
  75. package/utils/node-style/branch.d.ts +0 -15
  76. package/utils/node-style/common.d.ts +0 -3
  77. package/utils/node-style/index.d.ts +0 -3
  78. package/utils/node-style/shape.d.ts +0 -8
  79. package/utils/normalize.d.ts +0 -3
  80. package/utils/path.d.ts +0 -6
  81. package/utils/point-placement.d.ts +0 -12
  82. package/utils/position/emoji.d.ts +0 -7
  83. package/utils/position/image.d.ts +0 -16
  84. package/utils/position/index.d.ts +0 -4
  85. package/utils/position/node.d.ts +0 -12
  86. package/utils/position/topic.d.ts +0 -16
  87. package/utils/space/emoji.d.ts +0 -7
  88. package/utils/space/index.d.ts +0 -3
  89. package/utils/space/layout-options.d.ts +0 -3
  90. package/utils/space/node-space.d.ts +0 -23
  91. package/utils/weak-maps.d.ts +0 -3
package/index.d.ts CHANGED
@@ -1,5 +1,603 @@
1
+ import * as _plait_mind from '@plait/mind';
2
+ import * as _plait_layouts from '@plait/layouts';
3
+ import { MindLayoutType, AbstractNode, LayoutNode, LayoutOptions } from '@plait/layouts';
4
+ import * as _plait_core from '@plait/core';
5
+ import { PlaitElement, PlaitBoard, Point, Path, ThemeColor, ThemeColorMode, WithPluginOptions, PlaitOptionsBoard, OnContextChanged, PlaitPluginElementContext, BeforeContextChange, RectangleClient } from '@plait/core';
6
+ import * as _plait_common from '@plait/common';
7
+ import { ParagraphElement, CommonImageItem, StrokeStyle, RenderComponentRef, Generator, CommonElementFlavour, ImageGenerator, TextManage } from '@plait/common';
8
+ import { RoughSVG } from 'roughjs/bin/svg';
9
+ import * as slate from 'slate';
10
+ import { Element as Element$1, Path as Path$1 } from 'slate';
11
+
12
+ interface EmojiItem {
13
+ name: string;
14
+ }
15
+ interface BaseData {
16
+ topic: ParagraphElement;
17
+ emojis?: EmojiItem[];
18
+ image?: CommonImageItem;
19
+ }
20
+ interface EmojiData extends BaseData {
21
+ emojis: EmojiItem[];
22
+ }
23
+ interface ImageData extends BaseData {
24
+ image: CommonImageItem;
25
+ }
26
+
27
+ interface BaseMindElement extends PlaitElement {
28
+ rightNodeCount?: number;
29
+ manualWidth?: number;
30
+ fill?: string;
31
+ strokeColor?: string;
32
+ strokeWidth?: number;
33
+ strokeStyle?: StrokeStyle;
34
+ shape?: MindElementShape;
35
+ branchColor?: string;
36
+ branchWidth?: number;
37
+ branchShape?: BranchShape;
38
+ layout?: MindLayoutType;
39
+ isCollapsed?: boolean;
40
+ start?: number;
41
+ end?: number;
42
+ }
43
+ interface PlaitMind<T = BaseData> extends MindElement<T> {
44
+ type: 'mind' | 'mindmap';
45
+ points: Point[];
46
+ }
47
+ declare const PlaitMind: {
48
+ isMind: (value: any) => value is PlaitMind;
49
+ };
50
+ interface MindElement<T = BaseData> extends BaseMindElement {
51
+ type: 'mind_child' | 'mind' | 'mindmap';
52
+ children: MindElement[];
53
+ data: T;
54
+ }
55
+ declare const MindElement: {
56
+ isIndentedLayout(board: PlaitBoard, value: MindElement): boolean;
57
+ isMindElement(board: PlaitBoard | null, element: PlaitElement): element is MindElement;
58
+ getParent(node: MindElement): MindElement<BaseData>;
59
+ findParent(node: MindElement): MindElement<BaseData> | undefined;
60
+ getRoot(board: PlaitBoard, element: MindElement): PlaitMind;
61
+ getAncestors(board: PlaitBoard, element: MindElement): PlaitElement[];
62
+ getNode(element: MindElement): _plait_mind.MindNode;
63
+ findParentNode(element: MindElement): _plait_mind.MindNode | undefined;
64
+ hasEmojis(element: MindElement): element is MindElement<EmojiData>;
65
+ hasImage(element: MindElement): element is MindElement<ImageData>;
66
+ getEmojis(element: MindElement<EmojiData>): _plait_mind.EmojiItem[];
67
+ };
68
+ declare enum MindElementShape {
69
+ roundRectangle = "round-rectangle",
70
+ underline = "underline"
71
+ }
72
+ declare enum BranchShape {
73
+ bight = "bight",
74
+ polyline = "polyline"
75
+ }
76
+
77
+ interface MindNode {
78
+ depth: number;
79
+ x: number;
80
+ y: number;
81
+ width: number;
82
+ height: number;
83
+ hGap: number;
84
+ vGap: number;
85
+ children: MindNode[];
86
+ origin: MindElement;
87
+ parent: MindNode;
88
+ left: boolean;
89
+ up: boolean;
90
+ }
91
+ declare const MindNode: {
92
+ get(root: MindNode, path: Path): MindNode;
93
+ };
94
+ type ExtendLayoutType = Exclude<MindLayoutType, MindLayoutType.standard>;
95
+ type CoordinateType = {
96
+ startX: number;
97
+ startY: number;
98
+ endX: number;
99
+ endY: number;
100
+ };
101
+ type ExtendUnderlineCoordinateType = {
102
+ [key in ExtendLayoutType]: CoordinateType;
103
+ };
104
+ type DetectResult = 'top' | 'bottom' | 'right' | 'left' | null;
105
+ type RootBaseDirection = 'right' | 'left' | null;
106
+
107
+ declare enum LayoutDirection {
108
+ 'top' = "top",
109
+ 'right' = "right",
110
+ 'bottom' = "bottom",
111
+ 'left' = "left"
112
+ }
113
+ declare const LayoutDirectionsMap: LayoutDirectionMapType;
114
+ type LayoutDirectionMapType = {
115
+ [key: string]: LayoutDirection[];
116
+ };
117
+
118
+ declare enum MindPointerType {
119
+ 'mind' = "mind"
120
+ }
121
+
122
+ declare const MindDefaultThemeColor: MindThemeColor;
123
+ declare const MindColorfulThemeColor: MindThemeColor;
124
+ declare const MindSoftThemeColor: MindThemeColor;
125
+ declare const MindRetroThemeColor: MindThemeColor;
126
+ declare const MindDarkThemeColor: MindThemeColor;
127
+ declare const MindStarryThemeColor: MindThemeColor;
128
+ declare const MindThemeColors: MindThemeColor[];
129
+ interface MindThemeColor extends ThemeColor {
130
+ mode: ThemeColorMode | string;
131
+ branchColors: string[];
132
+ rootFill: string;
133
+ rootTextColor: string;
134
+ }
135
+ declare const MindThemeColor: {
136
+ isMindThemeColor(value: any): value is MindThemeColor;
137
+ };
138
+
139
+ interface WithMindOptions extends WithPluginOptions {
140
+ emojiPadding: number;
141
+ spaceBetweenEmojis: number;
142
+ }
143
+
144
+ declare enum AbstractHandlePosition {
145
+ start = "start",
146
+ end = "end"
147
+ }
148
+ declare enum AbstractResizeState {
149
+ start = "start",
150
+ resizing = "resizing",
151
+ end = "end"
152
+ }
153
+ interface PlaitAbstractBoard extends PlaitOptionsBoard {
154
+ onAbstractResize?: (state: AbstractResizeState) => void;
155
+ }
156
+ type AbstractRefs = Map<MindElement, Pick<AbstractNode, 'start' | 'end'>>;
157
+
158
+ interface PlaitMindBoard extends PlaitAbstractBoard {
159
+ }
160
+
161
+ interface PlaitMindEmojiBoard {
162
+ renderEmoji: (container: Element | DocumentFragment, props: EmojiProps) => EmojiComponentRef;
163
+ }
164
+ declare const withEmoji: <T extends PlaitBoard = PlaitBoard>(board: T) => T & PlaitMindEmojiBoard;
165
+ type EmojiComponentRef = RenderComponentRef<EmojiProps>;
166
+ interface EmojiProps {
167
+ board: PlaitBoard;
168
+ emojiItem: EmojiItem;
169
+ element: MindElement<EmojiData>;
170
+ fontSize: number;
171
+ }
172
+
173
+ declare class EmojiGenerator {
174
+ private board;
175
+ emojiComponentRef: EmojiComponentRef | null;
176
+ constructor(board: PlaitMindEmojiBoard & PlaitBoard);
177
+ draw(container: Element | DocumentFragment, emoji: EmojiItem, element: MindElement<EmojiData>): void;
178
+ destroy(): void;
179
+ }
180
+ declare class NodeEmojisGenerator {
181
+ private board;
182
+ static key: string;
183
+ emojiGenerators: EmojiGenerator[];
184
+ g?: SVGGElement;
185
+ constructor(board: PlaitMindBoard);
186
+ drawEmojis(element: MindElement): SVGGElement | undefined;
187
+ destroy(): void;
188
+ }
189
+
190
+ interface ActiveData {
191
+ selected: boolean;
192
+ }
193
+ declare class NodeActiveGenerator extends Generator<MindElement, ActiveData> {
194
+ static key: string;
195
+ abstractOutlineG?: SVGGElement;
196
+ canDraw(element: MindElement<BaseData>, data: ActiveData): boolean;
197
+ draw(element: MindElement<BaseData>, data: ActiveData): SVGGElement;
198
+ updateAbstractOutline(element: MindElement, activeHandlePosition?: AbstractHandlePosition, resizingLocation?: number): void;
199
+ }
200
+
201
+ interface ShapeData {
202
+ node: MindNode;
203
+ }
204
+ declare class NodeShapeGenerator extends Generator<MindElement, ShapeData> {
205
+ constructor(board: PlaitBoard);
206
+ canDraw(element: MindElement, data: ShapeData): boolean;
207
+ draw(element: MindElement, data: ShapeData): SVGGElement;
208
+ }
209
+
210
+ interface NodeMoreExtraData {
211
+ isSelected: boolean;
212
+ isHit?: boolean;
213
+ isHitAwarenessRectangle?: boolean | null;
214
+ isHitCollapseArea?: boolean;
215
+ isHitExpandArea?: boolean;
216
+ isHitAddArea?: boolean;
217
+ isShowCollapseAnimation?: boolean;
218
+ isShowAddAnimation?: boolean;
219
+ isHitStandardLeftAddArea?: boolean;
220
+ isHitStandardLeftAwarenessRectangle?: boolean;
221
+ }
222
+ declare class NodeMoreGenerator extends Generator<MindElement, NodeMoreExtraData> {
223
+ static key: string;
224
+ collapseOrAddG: SVGGElement | undefined | null;
225
+ expandG: SVGGElement | undefined | null;
226
+ canDraw(element: MindElement<BaseData>, extraData: NodeMoreExtraData): boolean;
227
+ draw(element: MindElement<BaseData>, extraData: NodeMoreExtraData): SVGGElement;
228
+ toggleCollapseAndAdd(center: Point, addCenter: Point | null, standardLeftAddCenter: Point | null | undefined, stroke: string, parentG: SVGGElement, isShowCollapse: boolean, isShowAdd: boolean, isShowStandardLeftAdd: boolean, isHitAddArea: boolean, isHitStandardLeftAdd: boolean, isShowCollapseAnimation: boolean, isShowAddAnimation: boolean): void;
229
+ toggleExpandBadge(element: MindElement, moreStartAndEnd: [Point, Point], center: Point, stroke: string, parentG: SVGGElement, isCollapsed: boolean, isHoveredExpandIcon: boolean): void;
230
+ }
231
+
232
+ declare class MindNodeComponent extends CommonElementFlavour<MindElement, PlaitMindBoard> implements OnContextChanged<MindElement, PlaitMindBoard> {
233
+ roughSVG: RoughSVG;
234
+ node: MindNode;
235
+ index: number;
236
+ shapeG: SVGGElement | null;
237
+ linkLineG?: SVGGElement;
238
+ nodeEmojisGenerator: NodeEmojisGenerator;
239
+ nodeShapeGenerator: NodeShapeGenerator;
240
+ imageGenerator: ImageGenerator<MindElement<ImageData>>;
241
+ activeGenerator: NodeActiveGenerator;
242
+ nodeMoreGenerator: NodeMoreGenerator;
243
+ get textManage(): TextManage;
244
+ constructor();
245
+ initializeGenerator(): void;
246
+ initialize(): void;
247
+ onContextChanged(value: PlaitPluginElementContext<MindElement, PlaitMindBoard>, previous: PlaitPluginElementContext<MindElement, PlaitMindBoard>): void;
248
+ drawEmojis(): void;
249
+ drawLink(): void;
250
+ drawTopic(): void;
251
+ updateTopic(): void;
252
+ trackBy: (index: number, node: MindNode) => string;
253
+ destroy(): void;
254
+ }
255
+
256
+ declare class PlaitMindComponent extends MindNodeComponent implements BeforeContextChange<PlaitMind> {
257
+ root: MindNode;
258
+ initialize(): void;
259
+ beforeContextChange(value: PlaitPluginElementContext<PlaitMind>): void;
260
+ updateMindLayout(element?: _plait_mind.MindElement<_plait_mind.BaseData>): void;
261
+ updateMindNodeLocation(element: PlaitMind): void;
262
+ }
263
+
264
+ declare function getRectangleByNode(node: MindNode): RectangleClient;
265
+ declare function getRectangleByElement(board: PlaitMindBoard, element: MindElement): {
266
+ x: number;
267
+ y: number;
268
+ width: number;
269
+ height: number;
270
+ };
271
+ declare function isHitMindElement(board: PlaitBoard, point: Point, element: MindElement): boolean;
272
+
273
+ declare function getEmojiRectangle(board: PlaitMindBoard, element: MindElement<EmojiData>): RectangleClient;
274
+ declare function getEmojiForeignRectangle(board: PlaitMindBoard, element: MindElement<EmojiData>): RectangleClient;
275
+ declare const isHitEmojis: (board: PlaitBoard, element: MindElement<EmojiData>, point: Point) => boolean;
276
+
277
+ declare function getTopicRectangleByNode(board: PlaitMindBoard, node: MindNode): {
278
+ height: number;
279
+ width: number;
280
+ x: number;
281
+ y: number;
282
+ };
283
+ declare function getTopicRectangleByElement(board: PlaitMindBoard, nodeRectangle: RectangleClient, element: MindElement): {
284
+ height: number;
285
+ width: number;
286
+ x: number;
287
+ y: number;
288
+ };
289
+
290
+ declare function getImageForeignRectangle(board: PlaitMindBoard, element: MindElement<ImageData>): RectangleClient;
291
+ declare const isHitImage: (board: PlaitBoard, element: MindElement<ImageData>, point: Point) => boolean;
292
+ declare const getHitImageResizeHandleDirection: (board: PlaitBoard, element: MindElement<ImageData>, point: Point) => {
293
+ rectangle: {
294
+ x: number;
295
+ y: number;
296
+ width: number;
297
+ height: number;
298
+ };
299
+ handle: _plait_common.ResizeHandle;
300
+ cursorClass: _plait_core.ResizeCursorClass;
301
+ } | undefined;
302
+
303
+ declare const MIND_ELEMENT_TO_NODE: WeakMap<MindElement<_plait_mind.BaseData>, MindNode>;
304
+
305
+ declare const getChildrenCount: (element: MindElement) => number;
306
+ declare const isChildElement: (origin: MindElement, child: MindElement) => boolean;
307
+ declare const getFirstLevelElement: (elements: MindElement[]) => MindElement<_plait_mind.BaseData>[];
308
+ declare const isChildRight: (parent: MindNode, child: MindNode) => boolean;
309
+ declare const isChildUp: (parent: MindNode, child: MindNode) => boolean;
310
+ declare const copyNewNode: (node: MindElement) => MindElement<_plait_mind.BaseData>;
311
+ declare const insertMindElement: (board: PlaitMindBoard, inheritNode: MindElement, path: Path) => void;
312
+ declare const findLastChild: (child: MindNode) => MindNode;
313
+ declare const divideElementByParent: (elements: MindElement[]) => {
314
+ parentElements: MindElement<_plait_mind.BaseData>[];
315
+ abstractIncludedGroups: MindElement<_plait_mind.BaseData>[][];
316
+ };
317
+ declare const getDefaultFontSizeForMindElement: (element: MindElement) => 18 | 14;
318
+
319
+ declare const getBranchDirectionsByLayouts: (branchLayouts: MindLayoutType[]) => LayoutDirection[];
320
+ declare const isCorrectLayout: (root: MindElement, layout: MindLayoutType) => boolean;
321
+ declare const isMixedLayout: (parentLayout: MindLayoutType, layout: MindLayoutType) => boolean;
322
+ declare const getInCorrectLayoutDirection: (rootLayout: MindLayoutType, layout: MindLayoutType) => LayoutDirection | undefined;
323
+ declare const correctLayoutByDirection: (layout: MindLayoutType, direction: LayoutDirection) => MindLayoutType;
324
+ declare const getLayoutDirection: (root: MindElement) => LayoutDirection[];
325
+ declare const getDefaultLayout: () => MindLayoutType;
326
+ declare const getAvailableSubLayoutsByLayoutDirections: (directions: LayoutDirection[]) => MindLayoutType[];
327
+ declare const getLayoutReverseDirection: (layoutDirection: LayoutDirection) => LayoutDirection;
328
+ declare const getRootLayout: (root: MindElement) => MindLayoutType;
329
+
330
+ declare const adjustRootToNode: (board: PlaitBoard, node: MindElement) => MindElement<_plait_mind.BaseData>;
331
+ declare const adjustAbstractToNode: (node: MindElement) => MindElement<_plait_mind.BaseData>;
332
+ declare const adjustNodeToRoot: (board: PlaitMindBoard, node: MindElement) => MindElement;
333
+
334
+ declare const createEmptyMind: (board: PlaitBoard, point: Point) => MindElement<_plait_mind.BaseData>;
335
+ declare const createMindElement: (text: string | Element$1, options: InheritAttribute) => MindElement<_plait_mind.BaseData>;
336
+ interface InheritAttribute {
337
+ fill?: string;
338
+ strokeColor?: string;
339
+ strokeWidth?: number;
340
+ strokeStyle?: number;
341
+ shape?: MindElementShape;
342
+ layout?: MindLayoutType;
343
+ branchColor?: string;
344
+ branchWidth?: number;
345
+ branchShape?: BranchShape;
346
+ }
347
+ declare const INHERIT_ATTRIBUTE_KEYS: string[];
348
+
349
+ declare function editTopic(element: MindElement): void;
350
+ declare const getSelectedMindElements: (board: PlaitBoard, elements?: PlaitElement[]) => MindElement[];
351
+
352
+ declare const addImageFocus: (board: PlaitBoard, element: MindElement<ImageData>) => void;
353
+ declare const removeImageFocus: (board: PlaitBoard, element: MindElement<ImageData>) => void;
354
+
1
355
  /**
2
- * Generated bundle index. Do not edit.
356
+ * 1. return new node height if height changed
357
+ * 2. new height is effected by zoom
3
358
  */
4
- /// <amd-module name="@plait/mind" />
5
- export * from './public-api';
359
+ declare const getNewNodeHeight: (board: PlaitBoard, element: MindElement, newNodeDynamicWidth: number) => number | undefined;
360
+
361
+ /**
362
+ * Processing of branch color, width, style, etc. of the mind node
363
+ */
364
+
365
+ declare const getBranchColorByMindElement: (board: PlaitBoard, element: MindElement) => any;
366
+ declare const getBranchShapeByMindElement: (board: PlaitBoard, element: MindElement) => any;
367
+ declare const getBranchWidthByMindElement: (board: PlaitBoard, element: MindElement) => any;
368
+ declare const getAbstractBranchWidth: (board: PlaitBoard, element: MindElement) => number;
369
+ declare const getAbstractBranchColor: (board: PlaitBoard, element: MindElement) => string | undefined;
370
+ declare const getNextBranchColor: (board: PlaitBoard, root: MindElement) => string;
371
+ declare const getDefaultBranchColor: (board: PlaitBoard, element: MindElement) => string;
372
+ declare const getDefaultBranchColorByIndex: (board: PlaitBoard, index: number) => string;
373
+ declare const getMindThemeColor: (board: PlaitBoard) => MindThemeColor;
374
+
375
+ declare const getStrokeColorByElement: (board: PlaitBoard, element: MindElement) => any;
376
+ declare const getStrokeStyleByElement: (board: PlaitBoard, element: MindElement) => StrokeStyle;
377
+ declare const getStrokeWidthByElement: (board: PlaitBoard, element: MindElement) => number;
378
+ declare const getFillByElement: (board: PlaitBoard, element: MindElement) => string;
379
+ declare const getShapeByElement: (board: PlaitBoard, element: MindElement) => MindElementShape;
380
+
381
+ declare const addActiveOnDragOrigin: (activeElement: MindElement) => void;
382
+ declare const removeActiveOnDragOrigin: (activeElement: MindElement) => void;
383
+ declare const setMindDragging: (board: PlaitBoard, state: boolean) => void;
384
+ declare const hasPreviousOrNextOfDropPath: (parent: MindElement, dropTarget: {
385
+ target: MindElement;
386
+ detectResult: DetectResult;
387
+ }, dropPath: Path) => {
388
+ hasPreviousNode: boolean;
389
+ hasNextNode: boolean;
390
+ };
391
+ declare const isDropStandardRight: (parent: MindElement, dropTarget: {
392
+ target: MindElement;
393
+ detectResult: DetectResult;
394
+ }) => boolean;
395
+
396
+ declare const directionCorrector: (board: PlaitBoard, node: MindNode, detectResults: DetectResult[]) => DetectResult[] | null;
397
+ declare const getAllowedDirection: (detectResults: DetectResult[], illegalDirections: DetectResult[]) => DetectResult[] | null;
398
+ declare const detectDropTarget: (board: PlaitBoard, detectPoint: Point, dropTarget: {
399
+ target: MindElement;
400
+ detectResult: DetectResult;
401
+ } | null, activeElements: MindElement[]) => {
402
+ target: MindElement;
403
+ detectResult: DetectResult;
404
+ } | null;
405
+ declare const directionDetector: (targetNode: MindNode, centerPoint: Point) => DetectResult[] | null;
406
+ declare const isValidTarget: (origin: MindElement, target: MindElement) => boolean;
407
+ declare const getPathByDropTarget: (board: PlaitBoard, dropTarget: {
408
+ target: MindElement;
409
+ detectResult: DetectResult;
410
+ }) => Path;
411
+
412
+ declare const drawFakeDragNode: (board: PlaitBoard, element: MindElement, offsetX: number, offsetY: number) => SVGGElement;
413
+ declare const drawFakeDropNode: (board: PlaitBoard, dropTarget: {
414
+ target: MindElement;
415
+ detectResult: DetectResult;
416
+ }, path: Path) => SVGGElement;
417
+
418
+ declare const separateChildren: (parentElement: MindElement) => {
419
+ leftChildren: MindElement<_plait_mind.BaseData>[];
420
+ rightChildren: MindElement<_plait_mind.BaseData>[];
421
+ };
422
+ declare const isSetAbstract: (element: PlaitElement) => boolean;
423
+ declare const canSetAbstract: (element: PlaitElement) => boolean;
424
+ declare const getCorrespondingAbstract: (element: MindElement) => MindElement<_plait_mind.BaseData> | undefined;
425
+ declare const getBehindAbstracts: (element: MindElement) => MindElement<_plait_mind.BaseData>[];
426
+ /**
427
+ * return corresponding abstract that is not child of elements
428
+ */
429
+ declare const getOverallAbstracts: (board: PlaitBoard, elements: MindElement[]) => (MindElement & AbstractNode)[];
430
+ interface AbstractRef {
431
+ abstract: MindElement & AbstractNode;
432
+ references: MindElement[];
433
+ }
434
+ /**
435
+ * abstract node is valid when elements contains at least one element it is referenced with
436
+ */
437
+ declare const getValidAbstractRefs: (board: PlaitBoard, elements: MindElement[]) => AbstractRef[];
438
+ declare function getRelativeStartEndByAbstractRef(abstractRef: AbstractRef, elements: MindElement[]): {
439
+ start: number;
440
+ end: number;
441
+ };
442
+ declare const insertElementHandleAbstract: (board: PlaitBoard, path: Path, step?: number, isExtendPreviousNode?: boolean, effectedAbstracts?: Map<MindElement<_plait_mind.BaseData>, Pick<AbstractNode, "start" | "end">>) => Map<MindElement<_plait_mind.BaseData>, Pick<AbstractNode, "start" | "end">>;
443
+ declare const deleteElementHandleAbstract: (board: PlaitBoard, deletableElements: MindElement[], effectedAbstracts?: Map<MindElement<_plait_mind.BaseData>, Pick<AbstractNode, "start" | "end">>) => Map<MindElement<_plait_mind.BaseData>, Pick<AbstractNode, "start" | "end">>;
444
+ declare const isChildOfAbstract: (board: PlaitBoard, element: MindElement) => boolean;
445
+
446
+ declare const getRectangleByResizingLocation: (abstractRectangle: RectangleClient, location: number, activeHandlePosition: AbstractHandlePosition, isHorizontal: boolean) => {
447
+ y: number;
448
+ height: number;
449
+ x: number;
450
+ width: number;
451
+ };
452
+ declare const getLocationScope: (board: PlaitBoard, handlePosition: AbstractHandlePosition, parentChildren: MindElement[], element: MindElement, parent: LayoutNode, isHorizontal: boolean) => {
453
+ max: number;
454
+ min: number;
455
+ };
456
+ declare const getHitAbstractHandle: (board: PlaitBoard, element: MindElement, point: Point) => AbstractHandlePosition | undefined;
457
+ declare const getAbstractHandleRectangle: (rectangle: RectangleClient, isHorizontal: boolean, position: AbstractHandlePosition) => {
458
+ y: number;
459
+ height: number;
460
+ x: number;
461
+ width: number;
462
+ };
463
+ declare function findLocationLeftIndex(board: PlaitBoard, parentChildren: MindElement[], location: number, isHorizontal: boolean): number;
464
+ declare function handleTouchedAbstract(board: PlaitBoard, touchedAbstract: MindElement | undefined, endPoint: Point): MindElement<_plait_mind.BaseData> | undefined;
465
+
466
+ declare const isInRightBranchOfStandardLayout: (selectedElement: MindElement) => boolean;
467
+ interface RightNodeCountRef {
468
+ path: Path;
469
+ rightNodeCount: number;
470
+ }
471
+ declare const insertElementHandleRightNodeCount: (board: PlaitBoard, path: Path, insertCount: number, effectedRightNodeCount?: RightNodeCountRef[]) => RightNodeCountRef[];
472
+ declare const deleteElementsHandleRightNodeCount: (board: PlaitBoard, deletableElements: MindElement[], effectedRightNodeCount?: RightNodeCountRef[]) => RightNodeCountRef[];
473
+
474
+ declare const NodeSpace: {
475
+ getNodeWidth(board: PlaitMindBoard, element: MindElement): number;
476
+ getNodeHeight(board: PlaitMindBoard, element: MindElement): number;
477
+ getTopicDynamicWidth(board: PlaitMindBoard, element: MindElement): number;
478
+ getTopicHeight(board: PlaitMindBoard, element: MindElement): number;
479
+ getTopicMaxDynamicWidth(board: PlaitMindBoard, element: MindElement): number;
480
+ getNodeResizableMinWidth(board: PlaitMindBoard, element: MindElement): number;
481
+ getNodeTopicMinWidth(board: PlaitMindBoard, element: MindElement): number;
482
+ getTextLeftSpace(board: PlaitMindBoard, element: MindElement): number;
483
+ getTextTopSpace(board: PlaitMindBoard, element: MindElement): number;
484
+ getImageTopSpace(board: PlaitMindBoard, element: MindElement): number;
485
+ getEmojiLeftSpace(board: PlaitMindBoard, element: MindElement<EmojiData>): number;
486
+ getEmojiTopSpace(board: PlaitMindBoard, element: MindElement): number;
487
+ };
488
+ declare const getFontSizeByMindElement: (board: PlaitBoard, element: MindElement) => number;
489
+ declare const normalizeWidthAndHeight: (board: PlaitMindBoard, element: MindElement, width: number, height: number) => {
490
+ width: number;
491
+ height: number;
492
+ };
493
+
494
+ declare function getEmojisWidthHeight(board: PlaitMindBoard, element: MindElement<EmojiData>): {
495
+ width: number;
496
+ height: any;
497
+ };
498
+ declare function getEmojiFontSize(element: MindElement<EmojiData>): number;
499
+
500
+ declare const getLayoutOptions: (board: PlaitMindBoard) => LayoutOptions;
501
+
502
+ declare function findNewChildNodePath(board: PlaitBoard, element: PlaitElement): number[];
503
+ declare function findNewRightChildNodePath(board: PlaitBoard, element: PlaitMind, rightNodeCount: number): number[];
504
+ declare function findNewSiblingNodePath(board: PlaitBoard, element: PlaitElement): Path$1;
505
+
506
+ declare const MIND_CENTRAL_TEXT = "\u4E2D\u5FC3\u4E3B\u9898";
507
+ declare const ABSTRACT_NODE_TEXT = "\u6982\u8981";
508
+ declare const getDefaultMindNameText: (board: PlaitBoard) => string;
509
+ declare const getAbstractNodeText: (board: PlaitBoard) => string;
510
+
511
+ declare const withMind: (baseBoard: PlaitBoard) => PlaitBoard & _plait_mind.PlaitMindEmojiBoard;
512
+
513
+ declare const withMindExtend: (board: PlaitBoard) => PlaitBoard & PlaitMindBoard;
514
+
515
+ declare const WithMindPluginKey = "plait-mind-plugin-key";
516
+ declare const BASE = 4;
517
+ declare const PRIMARY_COLOR = "#6698FF";
518
+ declare const GRAY_COLOR = "#AAAAAA";
519
+ declare const STROKE_WIDTH = 2;
520
+ declare const RESIZE_HANDLE_BUFFER_DISTANCE = 8;
521
+ declare const NODE_MORE_LINE_DISTANCE = 10;
522
+ declare const NODE_MORE_STROKE_WIDTH = 2;
523
+ declare const NODE_MORE_ICON_DIAMETER = 20;
524
+ declare const NODE_MORE_BRIDGE_DISTANCE = 10;
525
+ declare const NODE_ADD_CIRCLE_COLOR: string;
526
+ declare const NODE_ADD_HOVER_COLOR = "#6698FF";
527
+ declare const NODE_ADD_INNER_CROSS_COLOR = "white";
528
+ declare const DEFAULT_MIND_IMAGE_WIDTH = 240;
529
+ declare enum MindI18nKey {
530
+ mindCentralText = "mind-center-text",
531
+ abstractNodeText = "abstract-node-text"
532
+ }
533
+
534
+ declare const DefaultAbstractNodeStyle: {
535
+ branch: {
536
+ color: string;
537
+ width: number;
538
+ };
539
+ shape: {
540
+ strokeColor: string;
541
+ strokeWidth: number;
542
+ };
543
+ };
544
+ declare const DefaultNodeStyle: {
545
+ branch: {
546
+ width: number;
547
+ };
548
+ shape: {
549
+ rectangleRadius: number;
550
+ strokeWidth: number;
551
+ fill: string;
552
+ };
553
+ };
554
+
555
+ declare const TOPIC_FONT_SIZE = 14;
556
+ declare const ROOT_TOPIC_FONT_SIZE = 18;
557
+ declare const TOPIC_DEFAULT_MAX_WORD_COUNT = 34;
558
+
559
+ declare const ABSTRACT_HANDLE_COLOR = "#6698FF80";
560
+ declare const ABSTRACT_INCLUDED_OUTLINE_OFFSET = 3.5;
561
+ declare const ABSTRACT_HANDLE_LENGTH = 10;
562
+ declare const ABSTRACT_HANDLE_MASK_WIDTH = 8;
563
+
564
+ declare const MindQueries: {
565
+ getAvailableSubLayoutsByElement: (board: _plait_core.PlaitBoard, element: _plait_mind.MindElement) => _plait_layouts.MindLayoutType[] | undefined;
566
+ getBranchLayouts: (board: _plait_core.PlaitBoard, element: _plait_mind.MindElement) => _plait_layouts.MindLayoutType[];
567
+ getCorrectLayoutByElement: (board: _plait_core.PlaitBoard, element: _plait_mind.MindElement) => _plait_layouts.MindLayoutType;
568
+ };
569
+
570
+ declare const MindTransforms: {
571
+ setLayout: (board: _plait_core.PlaitBoard, type: _plait_layouts.MindLayoutType) => void;
572
+ setShape: (board: _plait_core.PlaitBoard, shape: _plait_mind.MindElementShape) => void;
573
+ setBranchShape: (board: _plait_core.PlaitBoard, branchShape: _plait_mind.BranchShape) => void;
574
+ setBranchWidth: (board: _plait_core.PlaitBoard, branchWidth: number) => void;
575
+ setBranchColor: (board: _plait_core.PlaitBoard, branchColor: string) => void;
576
+ setTopic: (board: _plait_mind.PlaitMindBoard, element: _plait_mind.MindElement, topic?: slate.Element) => void;
577
+ setNodeManualWidth: (board: _plait_mind.PlaitMindBoard, element: _plait_mind.MindElement, width: number) => void;
578
+ addEmoji: (board: _plait_core.PlaitBoard, element: _plait_mind.MindElement, emojiItem: _plait_mind.EmojiItem) => void;
579
+ removeEmoji: (board: _plait_core.PlaitBoard, element: _plait_mind.MindElement<_plait_mind.EmojiData>, emojiItem: _plait_mind.EmojiItem) => void;
580
+ replaceEmoji: (board: _plait_core.PlaitBoard, element: _plait_mind.MindElement<_plait_mind.EmojiData>, oldEmoji: _plait_mind.EmojiItem, newEmoji: _plait_mind.EmojiItem) => void;
581
+ insertAbstract: (board: _plait_core.PlaitBoard, elements: _plait_core.PlaitElement[]) => void;
582
+ setAbstractsByRefs: (board: _plait_core.PlaitBoard, abstractRefs: _plait_mind.AbstractRefs) => void;
583
+ setAbstractByStandardLayout: (board: _plait_core.PlaitBoard, element: _plait_mind.MindElement) => void;
584
+ insertNodes: (board: _plait_core.PlaitBoard, elements: _plait_mind.MindElement[], path: slate.Path) => void;
585
+ insertAbstractNodes: (board: _plait_core.PlaitBoard, validAbstractRefs: _plait_mind.AbstractRef[], elements: _plait_mind.MindElement[], path: slate.Path) => void;
586
+ setRightNodeCountByRefs: (board: _plait_core.PlaitBoard, refs: _plait_mind.RightNodeCountRef[]) => void;
587
+ removeImage: (board: _plait_core.PlaitBoard, element: _plait_mind.MindElement<_plait_mind.ImageData>) => void;
588
+ setImage: (board: _plait_core.PlaitBoard, element: _plait_mind.MindElement, imageItem: _plait_common.CommonImageItem) => void;
589
+ insertChildNode: (board: _plait_mind.PlaitMindBoard, element: _plait_mind.MindElement) => void;
590
+ insertSiblingNode: (board: _plait_mind.PlaitMindBoard, element: _plait_mind.MindElement) => void;
591
+ insertMind: (board: _plait_mind.PlaitMindBoard, mind: _plait_mind.MindElement) => void;
592
+ };
593
+
594
+ declare abstract class MindEmojiBaseComponent {
595
+ fontSize: number;
596
+ emojiItem: EmojiItem;
597
+ board: PlaitBoard;
598
+ element: MindElement<EmojiData>;
599
+ abstract nativeElement(): HTMLElement;
600
+ }
601
+
602
+ export { ABSTRACT_HANDLE_COLOR, ABSTRACT_HANDLE_LENGTH, ABSTRACT_HANDLE_MASK_WIDTH, ABSTRACT_INCLUDED_OUTLINE_OFFSET, ABSTRACT_NODE_TEXT, AbstractHandlePosition, AbstractResizeState, BASE, BranchShape, DEFAULT_MIND_IMAGE_WIDTH, DefaultAbstractNodeStyle, DefaultNodeStyle, GRAY_COLOR, INHERIT_ATTRIBUTE_KEYS, LayoutDirection, LayoutDirectionsMap, MIND_CENTRAL_TEXT, MIND_ELEMENT_TO_NODE, MindColorfulThemeColor, MindDarkThemeColor, MindDefaultThemeColor, MindElement, MindElementShape, MindEmojiBaseComponent, MindI18nKey, MindNode, MindNodeComponent, MindPointerType, MindQueries, MindRetroThemeColor, MindSoftThemeColor, MindStarryThemeColor, MindThemeColor, MindThemeColors, MindTransforms, NODE_ADD_CIRCLE_COLOR, NODE_ADD_HOVER_COLOR, NODE_ADD_INNER_CROSS_COLOR, NODE_MORE_BRIDGE_DISTANCE, NODE_MORE_ICON_DIAMETER, NODE_MORE_LINE_DISTANCE, NODE_MORE_STROKE_WIDTH, NodeSpace, PRIMARY_COLOR, PlaitMind, PlaitMindComponent, RESIZE_HANDLE_BUFFER_DISTANCE, ROOT_TOPIC_FONT_SIZE, STROKE_WIDTH, TOPIC_DEFAULT_MAX_WORD_COUNT, TOPIC_FONT_SIZE, WithMindPluginKey, addActiveOnDragOrigin, addImageFocus, adjustAbstractToNode, adjustNodeToRoot, adjustRootToNode, canSetAbstract, copyNewNode, correctLayoutByDirection, createEmptyMind, createMindElement, deleteElementHandleAbstract, deleteElementsHandleRightNodeCount, detectDropTarget, directionCorrector, directionDetector, divideElementByParent, drawFakeDragNode, drawFakeDropNode, editTopic, findLastChild, findLocationLeftIndex, findNewChildNodePath, findNewRightChildNodePath, findNewSiblingNodePath, getAbstractBranchColor, getAbstractBranchWidth, getAbstractHandleRectangle, getAbstractNodeText, getAllowedDirection, getAvailableSubLayoutsByLayoutDirections, getBehindAbstracts, getBranchColorByMindElement, getBranchDirectionsByLayouts, getBranchShapeByMindElement, getBranchWidthByMindElement, getChildrenCount, getCorrespondingAbstract, getDefaultBranchColor, getDefaultBranchColorByIndex, getDefaultFontSizeForMindElement, getDefaultLayout, getDefaultMindNameText, getEmojiFontSize, getEmojiForeignRectangle, getEmojiRectangle, getEmojisWidthHeight, getFillByElement, getFirstLevelElement, getFontSizeByMindElement, getHitAbstractHandle, getHitImageResizeHandleDirection, getImageForeignRectangle, getInCorrectLayoutDirection, getLayoutDirection, getLayoutOptions, getLayoutReverseDirection, getLocationScope, getMindThemeColor, getNewNodeHeight, getNextBranchColor, getOverallAbstracts, getPathByDropTarget, getRectangleByElement, getRectangleByNode, getRectangleByResizingLocation, getRelativeStartEndByAbstractRef, getRootLayout, getSelectedMindElements, getShapeByElement, getStrokeColorByElement, getStrokeStyleByElement, getStrokeWidthByElement, getTopicRectangleByElement, getTopicRectangleByNode, getValidAbstractRefs, handleTouchedAbstract, hasPreviousOrNextOfDropPath, insertElementHandleAbstract, insertElementHandleRightNodeCount, insertMindElement, isChildElement, isChildOfAbstract, isChildRight, isChildUp, isCorrectLayout, isDropStandardRight, isHitEmojis, isHitImage, isHitMindElement, isInRightBranchOfStandardLayout, isMixedLayout, isSetAbstract, isValidTarget, normalizeWidthAndHeight, removeActiveOnDragOrigin, removeImageFocus, separateChildren, setMindDragging, withEmoji, withMind, withMindExtend };
603
+ export type { AbstractRef, AbstractRefs, BaseData, BaseMindElement, CoordinateType, DetectResult, EmojiComponentRef, EmojiData, EmojiItem, EmojiProps, ExtendLayoutType, ExtendUnderlineCoordinateType, ImageData, InheritAttribute, LayoutDirectionMapType, PlaitAbstractBoard, PlaitMindBoard, PlaitMindEmojiBoard, RightNodeCountRef, RootBaseDirection, WithMindOptions };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plait/mind",
3
- "version": "0.91.0",
3
+ "version": "0.92.0-next.0",
4
4
  "peerDependencies": {},
5
5
  "dependencies": {
6
6
  "tslib": "^2.3.0"
@@ -1,4 +0,0 @@
1
- export declare const ABSTRACT_HANDLE_COLOR = "#6698FF80";
2
- export declare const ABSTRACT_INCLUDED_OUTLINE_OFFSET = 3.5;
3
- export declare const ABSTRACT_HANDLE_LENGTH = 10;
4
- export declare const ABSTRACT_HANDLE_MASK_WIDTH = 8;
@@ -1,18 +0,0 @@
1
- export declare const WithMindPluginKey = "plait-mind-plugin-key";
2
- export declare const BASE = 4;
3
- export declare const PRIMARY_COLOR = "#6698FF";
4
- export declare const GRAY_COLOR = "#AAAAAA";
5
- export declare const STROKE_WIDTH = 2;
6
- export declare const RESIZE_HANDLE_BUFFER_DISTANCE = 8;
7
- export declare const NODE_MORE_LINE_DISTANCE = 10;
8
- export declare const NODE_MORE_STROKE_WIDTH = 2;
9
- export declare const NODE_MORE_ICON_DIAMETER = 20;
10
- export declare const NODE_MORE_BRIDGE_DISTANCE = 10;
11
- export declare const NODE_ADD_CIRCLE_COLOR: string;
12
- export declare const NODE_ADD_HOVER_COLOR = "#6698FF";
13
- export declare const NODE_ADD_INNER_CROSS_COLOR = "white";
14
- export declare const DEFAULT_MIND_IMAGE_WIDTH = 240;
15
- export declare enum MindI18nKey {
16
- mindCentralText = "mind-center-text",
17
- abstractNodeText = "abstract-node-text"
18
- }
@@ -1,4 +0,0 @@
1
- export * from './default';
2
- export * from './node-style';
3
- export * from './node-topic-style';
4
- export * from './abstract-node';
@@ -1,20 +0,0 @@
1
- export declare const DefaultAbstractNodeStyle: {
2
- branch: {
3
- color: string;
4
- width: number;
5
- };
6
- shape: {
7
- strokeColor: string;
8
- strokeWidth: number;
9
- };
10
- };
11
- export declare const DefaultNodeStyle: {
12
- branch: {
13
- width: number;
14
- };
15
- shape: {
16
- rectangleRadius: number;
17
- strokeWidth: number;
18
- fill: string;
19
- };
20
- };
@@ -1,3 +0,0 @@
1
- export declare const TOPIC_FONT_SIZE = 14;
2
- export declare const ROOT_TOPIC_FONT_SIZE = 18;
3
- export declare const TOPIC_DEFAULT_MAX_WORD_COUNT = 34;