@plait/mind 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base/image-base.component.d.ts +16 -0
- package/base/index.d.ts +1 -0
- package/constants/default.d.ts +1 -0
- package/drawer/node-image.drawer.d.ts +16 -0
- package/esm2020/base/image-base.component.mjs +28 -0
- package/esm2020/base/index.mjs +2 -1
- package/esm2020/constants/default.mjs +2 -1
- package/esm2020/drawer/node-image.drawer.mjs +61 -0
- package/esm2020/interfaces/element-data.mjs +1 -1
- package/esm2020/interfaces/element.mjs +9 -1
- package/esm2020/interfaces/options.mjs +1 -1
- package/esm2020/node.component.mjs +19 -5
- package/esm2020/plugins/with-abstract-resize.board.mjs +1 -1
- package/esm2020/plugins/with-mind-extend.mjs +3 -4
- package/esm2020/plugins/with-mind-hotkey.mjs +42 -32
- package/esm2020/plugins/with-mind-image.mjs +49 -0
- package/esm2020/plugins/with-mind.board.mjs +1 -1
- package/esm2020/plugins/with-mind.mjs +3 -2
- package/esm2020/plugins/with-node-dnd.mjs +13 -6
- package/esm2020/transforms/abstract-node.mjs +1 -3
- package/esm2020/transforms/emoji.mjs +2 -2
- package/esm2020/transforms/image.mjs +10 -0
- package/esm2020/transforms/index.mjs +4 -2
- package/esm2020/transforms/node.mjs +2 -6
- package/esm2020/utils/abstract/common.mjs +5 -1
- package/esm2020/utils/draw/node-dnd.mjs +8 -1
- package/esm2020/utils/mind.mjs +2 -2
- package/esm2020/utils/node-style/branch.mjs +6 -1
- package/esm2020/utils/node-style/shape.mjs +8 -1
- package/esm2020/utils/position/emoji.mjs +8 -8
- package/esm2020/utils/position/image.mjs +21 -0
- package/esm2020/utils/position/index.mjs +2 -1
- package/esm2020/utils/space/emoji.mjs +3 -2
- package/esm2020/utils/space/node-space.mjs +25 -6
- package/fesm2015/plait-mind.mjs +451 -227
- package/fesm2015/plait-mind.mjs.map +1 -1
- package/fesm2020/plait-mind.mjs +448 -227
- package/fesm2020/plait-mind.mjs.map +1 -1
- package/interfaces/element-data.d.ts +9 -0
- package/interfaces/element.d.ts +2 -1
- package/interfaces/options.d.ts +4 -1
- package/node.component.d.ts +3 -0
- package/package.json +1 -1
- package/plugins/with-abstract-resize.board.d.ts +2 -2
- package/plugins/with-mind-hotkey.d.ts +2 -0
- package/plugins/with-mind-image.d.ts +2 -0
- package/plugins/with-mind.board.d.ts +0 -2
- package/transforms/image.d.ts +3 -0
- package/transforms/index.d.ts +1 -0
- package/utils/abstract/common.d.ts +1 -0
- package/utils/position/emoji.d.ts +4 -4
- package/utils/position/image.d.ts +6 -0
- package/utils/position/index.d.ts +1 -0
- package/utils/space/node-space.d.ts +1 -0
|
@@ -2,10 +2,19 @@ import { Element } from 'slate';
|
|
|
2
2
|
export interface EmojiItem {
|
|
3
3
|
name: string;
|
|
4
4
|
}
|
|
5
|
+
export interface ImageItem {
|
|
6
|
+
url: string;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
}
|
|
5
10
|
export interface BaseData {
|
|
6
11
|
topic: Element;
|
|
7
12
|
emojis?: EmojiItem[];
|
|
13
|
+
image?: ImageItem;
|
|
8
14
|
}
|
|
9
15
|
export interface EmojiData extends BaseData {
|
|
10
16
|
emojis: EmojiItem[];
|
|
11
17
|
}
|
|
18
|
+
export interface ImageData extends BaseData {
|
|
19
|
+
image: ImageItem;
|
|
20
|
+
}
|
package/interfaces/element.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { MindLayoutType } from '@plait/layouts';
|
|
2
2
|
import { PlaitBoard, PlaitElement, Point } from '@plait/core';
|
|
3
|
-
import { BaseData, EmojiData } from './element-data';
|
|
3
|
+
import { BaseData, EmojiData, ImageData } from './element-data';
|
|
4
4
|
export interface MindElement<T = BaseData> extends PlaitElement {
|
|
5
5
|
data: T;
|
|
6
6
|
children: MindElement[];
|
|
@@ -38,6 +38,7 @@ export declare const MindElement: {
|
|
|
38
38
|
getNode(element: MindElement): import("@plait/mind").MindNode;
|
|
39
39
|
findParentNode(element: MindElement): import("@plait/mind").MindNode | undefined;
|
|
40
40
|
hasEmojis(element: MindElement): element is MindElement<EmojiData>;
|
|
41
|
+
hasImage(element: MindElement): element is MindElement<ImageData>;
|
|
41
42
|
getEmojis(element: MindElement<EmojiData>): import("./element-data").EmojiItem[];
|
|
42
43
|
hasMounted(element: MindElement): boolean;
|
|
43
44
|
getTextEditor(element: MindElement): import("slate").BaseEditor & import("slate-angular").AngularEditor & import("slate-history").HistoryEditor;
|
package/interfaces/options.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import { ComponentType, WithPluginOptions } from '@plait/core';
|
|
1
2
|
import { TextPlugin } from '@plait/text';
|
|
2
|
-
|
|
3
|
+
import { MindImageBaseComponent } from '../base';
|
|
4
|
+
export interface WithMindOptions extends WithPluginOptions {
|
|
3
5
|
emojiPadding: number;
|
|
4
6
|
spaceBetweenEmojis: number;
|
|
5
7
|
textPlugins?: TextPlugin[];
|
|
8
|
+
imageComponentType?: ComponentType<MindImageBaseComponent>;
|
|
6
9
|
}
|
package/node.component.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { NodeInsertDrawer } from './drawer/node-insert.drawer';
|
|
|
10
10
|
import { PlaitMindBoard } from './plugins/with-mind.board';
|
|
11
11
|
import { NodeActiveDrawer } from './drawer/node-active.drawer';
|
|
12
12
|
import { CollapseDrawer } from './drawer/node-collapse.drawer';
|
|
13
|
+
import { NodeImageDrawer } from './drawer/node-image.drawer';
|
|
13
14
|
import * as i0 from "@angular/core";
|
|
14
15
|
export declare class MindNodeComponent extends PlaitPluginElementComponent<MindElement, PlaitMindBoard> implements OnInit, OnDestroy, OnContextChanged<MindElement, PlaitMindBoard> {
|
|
15
16
|
private viewContainerRef;
|
|
@@ -24,6 +25,7 @@ export declare class MindNodeComponent extends PlaitPluginElementComponent<MindE
|
|
|
24
25
|
destroy$: Subject<void>;
|
|
25
26
|
nodeEmojisDrawer: NodeEmojisDrawer;
|
|
26
27
|
nodeInsertDrawer: NodeInsertDrawer;
|
|
28
|
+
imageDrawer: NodeImageDrawer;
|
|
27
29
|
textManage: TextManage;
|
|
28
30
|
activeDrawer: NodeActiveDrawer;
|
|
29
31
|
collapseDrawer: CollapseDrawer;
|
|
@@ -33,6 +35,7 @@ export declare class MindNodeComponent extends PlaitPluginElementComponent<MindE
|
|
|
33
35
|
editTopic(): void;
|
|
34
36
|
onContextChanged(value: PlaitPluginElementContext<MindElement, PlaitMindBoard>, previous: PlaitPluginElementContext<MindElement, PlaitMindBoard>): void;
|
|
35
37
|
drawEmojis(): void;
|
|
38
|
+
drawImage(): void;
|
|
36
39
|
drawShape(): void;
|
|
37
40
|
destroyShape(): void;
|
|
38
41
|
drawLink(): void;
|
package/package.json
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PlaitOptionsBoard } from '@plait/core';
|
|
2
2
|
import { MindElement } from '../interfaces/element';
|
|
3
3
|
import { AbstractNode } from '@plait/layouts';
|
|
4
4
|
export declare enum AbstractHandlePosition {
|
|
@@ -10,7 +10,7 @@ export declare enum AbstractResizeState {
|
|
|
10
10
|
resizing = "resizing",
|
|
11
11
|
end = "end"
|
|
12
12
|
}
|
|
13
|
-
export interface PlaitAbstractBoard extends
|
|
13
|
+
export interface PlaitAbstractBoard extends PlaitOptionsBoard {
|
|
14
14
|
onAbstractResize?: (state: AbstractResizeState) => void;
|
|
15
15
|
}
|
|
16
16
|
export type AbstractRefs = Map<MindElement, Pick<AbstractNode, 'start' | 'end'>>;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { PlaitBoard } from '@plait/core';
|
|
2
|
+
import { MindElement } from '../interfaces';
|
|
2
3
|
export declare const withMindHotkey: (board: PlaitBoard) => PlaitBoard;
|
|
4
|
+
export declare const getNextSelectedElement: (board: PlaitBoard, firstLevelElements: MindElement[]) => MindElement<import("../interfaces").BaseData> | undefined;
|
|
3
5
|
export declare const isExpandHotkey: (event: KeyboardEvent) => boolean;
|
|
4
6
|
export declare const isTabHotkey: (event: KeyboardEvent) => boolean;
|
|
5
7
|
export declare const isEnterHotkey: (event: KeyboardEvent) => boolean;
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { ComponentType } from '@plait/core';
|
|
2
2
|
import { MindElement } from '../interfaces/element';
|
|
3
3
|
import { EmojiItem } from '../interfaces/element-data';
|
|
4
|
-
import { MindOptions } from '../interfaces/options';
|
|
5
4
|
import { PlaitAbstractBoard } from './with-abstract-resize.board';
|
|
6
5
|
import { MindEmojiBaseComponent } from '../base/emoji-base.component';
|
|
7
6
|
export interface PlaitMindBoard extends PlaitAbstractBoard {
|
|
8
7
|
drawEmoji: (emoji: EmojiItem, element: MindElement) => ComponentType<MindEmojiBaseComponent>;
|
|
9
|
-
getMindOptions: () => MindOptions;
|
|
10
8
|
}
|
package/transforms/index.d.ts
CHANGED
|
@@ -12,4 +12,5 @@ export declare const MindTransforms: {
|
|
|
12
12
|
insertNodes: (board: import("@plait/core").PlaitBoard, elements: import("@plait/mind").MindElement<import("@plait/mind").BaseData>[], path: import("slate").Path) => void;
|
|
13
13
|
insertAbstractNodes: (board: import("@plait/core").PlaitBoard, validAbstractRefs: import("@plait/mind").AbstractRef[], elements: import("@plait/mind").MindElement<import("@plait/mind").BaseData>[], path: import("slate").Path) => void;
|
|
14
14
|
setRightNodeCountByRefs: (board: import("@plait/core").PlaitBoard, refs: import("@plait/mind").RightNodeCountRef[]) => void;
|
|
15
|
+
removeImage: (board: import("@plait/core").PlaitBoard, element: import("@plait/mind").MindElement<import("@plait/mind").ImageData>) => void;
|
|
15
16
|
};
|
|
@@ -27,3 +27,4 @@ export declare function getRelativeStartEndByAbstractRef(abstractRef: AbstractRe
|
|
|
27
27
|
};
|
|
28
28
|
export declare const insertElementHandleAbstract: (board: PlaitBoard, path: Path, step?: number, isExtendPreviousNode?: boolean, effectedAbstracts?: Map<MindElement<import("@plait/mind").BaseData>, Pick<AbstractNode, "end" | "start">>) => Map<MindElement<import("@plait/mind").BaseData>, Pick<AbstractNode, "end" | "start">>;
|
|
29
29
|
export declare const deleteElementHandleAbstract: (board: PlaitBoard, deletableElements: MindElement[], effectedAbstracts?: Map<MindElement<import("@plait/mind").BaseData>, Pick<AbstractNode, "end" | "start">>) => Map<MindElement<import("@plait/mind").BaseData>, Pick<AbstractNode, "end" | "start">>;
|
|
30
|
+
export declare const isChildOfAbstract: (board: PlaitBoard, element: MindElement) => boolean;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { PlaitBoard, Point, RectangleClient } from
|
|
2
|
-
import { MindElement } from
|
|
3
|
-
import { EmojiData } from
|
|
4
|
-
import { PlaitMindBoard } from
|
|
1
|
+
import { PlaitBoard, Point, RectangleClient } from '@plait/core';
|
|
2
|
+
import { MindElement } from '../../interfaces/element';
|
|
3
|
+
import { EmojiData } from '../../interfaces/element-data';
|
|
4
|
+
import { PlaitMindBoard } from '../../plugins/with-mind.board';
|
|
5
5
|
export declare function getEmojiRectangle(board: PlaitMindBoard, element: MindElement<EmojiData>): RectangleClient;
|
|
6
6
|
export declare function getEmojiForeignRectangle(board: PlaitMindBoard, element: MindElement<EmojiData>): RectangleClient;
|
|
7
7
|
export declare const isHitEmojis: (board: PlaitBoard, element: MindElement<EmojiData>, point: Point) => boolean;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PlaitBoard, Range, RectangleClient } from '@plait/core';
|
|
2
|
+
import { MindElement } from '../../interfaces/element';
|
|
3
|
+
import { ImageData } from '../../interfaces/element-data';
|
|
4
|
+
import { PlaitMindBoard } from '../../plugins/with-mind.board';
|
|
5
|
+
export declare function getImageForeignRectangle(board: PlaitMindBoard, element: MindElement<ImageData>): RectangleClient;
|
|
6
|
+
export declare const isHitImage: (board: PlaitBoard, element: MindElement<ImageData>, range: Range) => boolean;
|
|
@@ -6,6 +6,7 @@ export declare const NodeSpace: {
|
|
|
6
6
|
getNodeHeight(board: PlaitMindBoard, element: MindElement): number;
|
|
7
7
|
getTextLeftSpace(board: PlaitMindBoard, element: MindElement): number;
|
|
8
8
|
getTextTopSpace(element: MindElement): number;
|
|
9
|
+
getImageTopSpace(element: MindElement): number;
|
|
9
10
|
getEmojiLeftSpace(board: PlaitMindBoard, element: MindElement<EmojiData>): number;
|
|
10
11
|
getEmojiTopSpace(element: MindElement): number;
|
|
11
12
|
};
|