@plait/mind 0.2.0-next.3 → 0.2.0-next.5

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 (43) hide show
  1. package/draw/indented-link.d.ts +2 -2
  2. package/draw/link/logic-link.d.ts +2 -2
  3. package/draw/link.d.ts +2 -2
  4. package/esm2020/draw/indented-link.mjs +7 -6
  5. package/esm2020/draw/link/logic-link.mjs +7 -6
  6. package/esm2020/draw/link.mjs +8 -7
  7. package/esm2020/draw/shape.mjs +3 -3
  8. package/esm2020/drawer/quick-insert.drawer.mjs +9 -8
  9. package/esm2020/interfaces/element.mjs +13 -2
  10. package/esm2020/node.component.mjs +6 -6
  11. package/esm2020/plugins/emoji/emoji-base.component.mjs +4 -2
  12. package/esm2020/plugins/emoji/emoji.drawer.mjs +2 -1
  13. package/esm2020/plugins/with-abstract.mjs +2 -2
  14. package/esm2020/plugins/with-dnd.mjs +2 -2
  15. package/esm2020/plugins/with-mind.mjs +3 -2
  16. package/esm2020/transforms/layout.mjs +8 -2
  17. package/esm2020/utils/abstract/common.mjs +49 -15
  18. package/esm2020/utils/abstract/resize.mjs +2 -2
  19. package/esm2020/utils/clipboard.mjs +10 -3
  20. package/esm2020/utils/draw-placeholder.mjs +20 -20
  21. package/esm2020/utils/index.mjs +2 -2
  22. package/esm2020/utils/mind.mjs +30 -21
  23. package/esm2020/utils/node-style/branch.mjs +28 -0
  24. package/esm2020/utils/node-style/index.mjs +3 -0
  25. package/esm2020/utils/node-style/node.mjs +22 -0
  26. package/esm2020/utils/path.mjs +3 -3
  27. package/fesm2015/plait-mind.mjs +1449 -1377
  28. package/fesm2015/plait-mind.mjs.map +1 -1
  29. package/fesm2020/plait-mind.mjs +1451 -1379
  30. package/fesm2020/plait-mind.mjs.map +1 -1
  31. package/interfaces/element.d.ts +3 -2
  32. package/package.json +1 -1
  33. package/plugins/emoji/emoji-base.component.d.ts +3 -1
  34. package/utils/abstract/common.d.ts +6 -1
  35. package/utils/abstract/resize.d.ts +1 -1
  36. package/utils/draw-placeholder.d.ts +8 -8
  37. package/utils/index.d.ts +1 -1
  38. package/utils/mind.d.ts +2 -1
  39. package/utils/node-style/branch.d.ts +7 -0
  40. package/utils/node-style/index.d.ts +2 -0
  41. package/utils/node-style/node.d.ts +3 -0
  42. package/esm2020/utils/colors.mjs +0 -41
  43. package/utils/colors.d.ts +0 -4
@@ -13,8 +13,8 @@ export interface MindElement<T = BaseData> extends PlaitElement {
13
13
  strokeColor?: string;
14
14
  strokeWidth?: number;
15
15
  shape?: MindNodeShape;
16
- linkLineColor?: string;
17
- linkLineWidth?: number;
16
+ branchColor?: string;
17
+ branchWidth?: number;
18
18
  layout?: MindLayoutType;
19
19
  isCollapsed?: boolean;
20
20
  start?: number;
@@ -33,6 +33,7 @@ export declare const MindElement: {
33
33
  isMindElement(board: PlaitBoard, element: PlaitElement): element is MindElement<BaseData>;
34
34
  getParent(node: MindElement): MindElement<BaseData>;
35
35
  getRoot(board: PlaitBoard, element: MindElement): PlaitMind;
36
+ getAncestors(board: PlaitBoard, element: MindElement): PlaitElement[];
36
37
  getNode(element: MindElement): import("@plait/mind").MindNode;
37
38
  hasEmojis(element: MindElement): element is MindElement<EmojiData>;
38
39
  getEmojis(element: MindElement<EmojiData>): import("./element-data").EmojiItem[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plait/mind",
3
- "version": "0.2.0-next.3",
3
+ "version": "0.2.0-next.5",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^13.3.0",
6
6
  "@angular/core": "^13.3.0"
@@ -1,12 +1,14 @@
1
1
  import { ElementRef } from '@angular/core';
2
2
  import { EmojiItem } from '../../interfaces/element-data';
3
+ import { PlaitBoard } from '@plait/core';
3
4
  import * as i0 from "@angular/core";
4
5
  export declare class MindEmojiBaseComponent {
5
6
  protected elementRef: ElementRef<HTMLElement>;
6
7
  fontSize: number;
7
8
  emojiItem: EmojiItem;
9
+ board: PlaitBoard;
8
10
  get nativeElement(): HTMLElement;
9
11
  constructor(elementRef: ElementRef<HTMLElement>);
10
12
  static ɵfac: i0.ɵɵFactoryDeclaration<MindEmojiBaseComponent, never>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<MindEmojiBaseComponent, never, never, { "fontSize": "fontSize"; "emojiItem": "emojiItem"; }, {}, never, never, false, never>;
13
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MindEmojiBaseComponent, never, never, { "fontSize": "fontSize"; "emojiItem": "emojiItem"; "board": "board"; }, {}, never, never, false, never>;
12
14
  }
@@ -8,4 +8,9 @@ export declare const isSetAbstract: (element: PlaitElement) => boolean;
8
8
  export declare const canSetAbstract: (element: PlaitElement) => boolean;
9
9
  export declare const setAbstract: (board: PlaitBoard, elements: PlaitElement[]) => void;
10
10
  export declare const setAbstractByElements: (board: PlaitBoard, groupParent: MindElement, group: MindElement[]) => void;
11
- export declare const insetAbstractNode: (board: PlaitBoard, path: Path, start: number, end: number) => void;
11
+ export declare const insertAbstractNode: (board: PlaitBoard, path: Path, start: number, end: number) => void;
12
+ export declare const handleAbstractIncluded: (board: PlaitBoard, element: MindElement) => void;
13
+ export declare const getCorrespondingAbstract: (element: MindElement) => MindElement<import("@plait/mind").BaseData> | undefined;
14
+ export declare const getBehindAbstracts: (element: MindElement) => MindElement<import("@plait/mind").BaseData>[];
15
+ export declare const insertSiblingElementHandleAbstract: (board: PlaitBoard, selectedElement: MindElement) => void;
16
+ export declare const moveAbstractPosition: (board: PlaitBoard, abstracts: MindElement[], step: number) => void;
@@ -11,7 +11,7 @@ export declare const getLocationScope: (board: PlaitBoard, handlePosition: Abstr
11
11
  max: number;
12
12
  min: number;
13
13
  };
14
- export declare const getHitAbstractHandle: (board: PlaitBoard, element: MindElement, point: Point) => AbstractHandlePosition | null;
14
+ export declare const getHitAbstractHandle: (board: PlaitBoard, element: MindElement, point: Point) => AbstractHandlePosition | undefined;
15
15
  export declare const getAbstractHandleRectangle: (rectangle: RectangleClient, isHorizontal: boolean, position: AbstractHandlePosition) => {
16
16
  y: number;
17
17
  height: number;
@@ -1,23 +1,23 @@
1
- import { RoughSVG } from 'roughjs/bin/svg';
2
1
  import { DetectResult, MindElement, MindNode } from '../interfaces';
3
2
  import { MindNodeComponent } from '../node.component';
3
+ import { PlaitBoard } from '@plait/core';
4
4
  import { MindLayoutType } from '@plait/layouts';
5
- export declare const drawPlaceholderDropNodeG: (dropTarget: {
5
+ export declare const drawPlaceholderDropNodeG: (board: PlaitBoard, dropTarget: {
6
6
  target: MindElement;
7
7
  detectResult: DetectResult;
8
- }, roughSVG: RoughSVG, fakeDropNodeG: SVGGElement | undefined) => void;
9
- export declare const drawCurvePlaceholderDropNodeG: (targetRect: {
8
+ }, fakeDropNodeG: SVGGElement | undefined) => void;
9
+ export declare const drawCurvePlaceholderDropNodeG: (board: PlaitBoard, targetRect: {
10
10
  x: number;
11
11
  y: number;
12
12
  width: number;
13
13
  height: number;
14
- }, detectResult: DetectResult, targetIndex: number, targetComponent: MindNodeComponent, roughSVG: RoughSVG, parentComponent: MindNodeComponent, fakeDropNodeG: SVGGElement | undefined) => void;
15
- export declare const drawStraightDropNodeG: (targetRect: {
14
+ }, detectResult: DetectResult, targetIndex: number, targetComponent: MindNodeComponent, parentComponent: MindNodeComponent, fakeDropNodeG: SVGGElement | undefined) => void;
15
+ export declare const drawStraightDropNodeG: (board: PlaitBoard, targetRect: {
16
16
  x: number;
17
17
  y: number;
18
18
  width: number;
19
19
  height: number;
20
- }, detectResult: DetectResult, targetComponent: MindNodeComponent, roughSVG: RoughSVG, fakeDropNodeG: SVGGElement | undefined) => void;
20
+ }, detectResult: DetectResult, targetComponent: MindNodeComponent, fakeDropNodeG: SVGGElement | undefined) => void;
21
21
  export declare const getHorizontalFakeY: (detectResult: 'top' | 'bottom', targetIndex: number, parentNode: MindNode, targetRect: {
22
22
  x: number;
23
23
  y: number;
@@ -36,7 +36,7 @@ export declare const getIndentedFakePoint: (layout: MindLayoutType, pointOptions
36
36
  fakeX: number;
37
37
  fakeY: number;
38
38
  };
39
- export declare const drawIndentNodeG: (fakeDropNodeG: SVGGElement, roughSVG: RoughSVG, fakePoint: {
39
+ export declare const drawIndentNodeG: (board: PlaitBoard, fakeDropNodeG: SVGGElement, fakePoint: {
40
40
  fakeX: number;
41
41
  fakeY: number;
42
42
  }, node: MindNode) => void;
package/utils/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export * from './weak-maps';
3
3
  export * from './mind';
4
4
  export * from './layout';
5
5
  export * from './shape';
6
- export * from './colors';
6
+ export * from './node-style';
7
7
  export * from './is-virtual-key';
8
8
  export * from './draw-placeholder';
9
9
  export * from './direction-detector';
package/utils/mind.d.ts CHANGED
@@ -15,6 +15,7 @@ export declare const isChildRight: (node: MindNode, child: MindNode) => boolean;
15
15
  export declare const isChildUp: (node: MindNode, child: MindNode) => boolean;
16
16
  export declare const copyNewNode: (node: MindElement) => MindElement<import("../interfaces").BaseData>;
17
17
  export declare const transformRootToNode: (board: PlaitBoard, node: MindElement) => MindElement<import("../interfaces").BaseData>;
18
+ export declare const transformAbstractToNode: (node: MindElement) => MindElement<import("../interfaces").BaseData>;
18
19
  export declare const transformNodeToRoot: (board: PlaitBoard, node: MindElement) => MindElement;
19
20
  export declare const extractNodesText: (node: MindElement) => string;
20
21
  export declare const changeRightNodeCount: (board: PlaitBoard, parentPath: Path, changeNumber: number) => void;
@@ -26,7 +27,7 @@ export declare const createMindElement: (text: string, width: number, height: nu
26
27
  strokeWidth?: number;
27
28
  shape?: MindNodeShape;
28
29
  layout?: MindLayoutType;
29
- linkLineColor?: string;
30
+ branchColor?: string;
30
31
  }) => MindElement<import("../interfaces").BaseData>;
31
32
  export declare const insertMindElement: (board: PlaitBoard, inheritNode: MindElement, path: Path) => void;
32
33
  export declare const findLastChild: (child: MindNode) => MindNode;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Processing of branch color, width, style, etc. of the mind node
3
+ */
4
+ import { PlaitBoard } from '@plait/core';
5
+ import { MindElement } from '../../interfaces/element';
6
+ export declare const getBranchColorByMindElement: (board: PlaitBoard, element: MindElement) => string;
7
+ export declare const getNextBranchColor: (root: MindElement) => string;
@@ -0,0 +1,2 @@
1
+ export * from './branch';
2
+ export * from './node';
@@ -0,0 +1,3 @@
1
+ import { PlaitBoard } from '@plait/core';
2
+ import { MindElement } from '../../interfaces/element';
3
+ export declare const getStrokeByMindElement: (board: PlaitBoard, element: MindElement) => string;
@@ -1,41 +0,0 @@
1
- import { COLORS, ROOT_NODE_STROKE } from '../constants';
2
- import { findUpElement } from './mind';
3
- export const getStrokeByMindElement = (element) => {
4
- let stroke = element.strokeColor;
5
- if (stroke) {
6
- return stroke;
7
- }
8
- const { root, branch } = findUpElement(element);
9
- if (branch) {
10
- const index = root.children.indexOf(branch);
11
- const length = COLORS.length;
12
- const remainder = index % length;
13
- return COLORS[remainder];
14
- }
15
- else {
16
- return ROOT_NODE_STROKE;
17
- }
18
- };
19
- export const getLinkLineColorByMindElement = (element) => {
20
- let color = element.linkLineColor;
21
- if (color) {
22
- return color;
23
- }
24
- const { root, branch } = findUpElement(element);
25
- if (branch) {
26
- const index = root.children.indexOf(branch);
27
- const length = COLORS.length;
28
- const remainder = index % length;
29
- return COLORS[remainder];
30
- }
31
- else {
32
- throw new Error('root element should not have link line');
33
- }
34
- };
35
- export const getRootLinkLineColorByMindElement = (root) => {
36
- const index = root.children.length;
37
- const length = COLORS.length;
38
- const remainder = index % length;
39
- return COLORS[remainder];
40
- };
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvY29sb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQW9CLEVBQUUsRUFBRTtJQUMzRCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO0lBQ2pDLElBQUksTUFBTSxFQUFFO1FBQ1IsT0FBTyxNQUFNLENBQUM7S0FDakI7SUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxJQUFJLE1BQU0sRUFBRTtRQUNSLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxTQUFTLEdBQUcsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNqQyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUM1QjtTQUFNO1FBQ0gsT0FBTyxnQkFBZ0IsQ0FBQztLQUMzQjtBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsT0FBb0IsRUFBRSxFQUFFO0lBQ2xFLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFDbEMsSUFBSSxLQUFLLEVBQUU7UUFDUCxPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELElBQUksTUFBTSxFQUFFO1FBQ1IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUM3QixNQUFNLFNBQVMsR0FBRyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ2pDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzVCO1NBQU07UUFDSCxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7S0FDN0Q7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxDQUFDLElBQWlCLEVBQUUsRUFBRTtJQUNuRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUNuQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzdCLE1BQU0sU0FBUyxHQUFHLEtBQUssR0FBRyxNQUFNLENBQUM7SUFDakMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ09MT1JTLCBST09UX05PREVfU1RST0tFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmaW5kVXBFbGVtZW50IH0gZnJvbSAnLi9taW5kJztcblxuZXhwb3J0IGNvbnN0IGdldFN0cm9rZUJ5TWluZEVsZW1lbnQgPSAoZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBsZXQgc3Ryb2tlID0gZWxlbWVudC5zdHJva2VDb2xvcjtcbiAgICBpZiAoc3Ryb2tlKSB7XG4gICAgICAgIHJldHVybiBzdHJva2U7XG4gICAgfVxuICAgIGNvbnN0IHsgcm9vdCwgYnJhbmNoIH0gPSBmaW5kVXBFbGVtZW50KGVsZW1lbnQpO1xuICAgIGlmIChicmFuY2gpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSByb290LmNoaWxkcmVuLmluZGV4T2YoYnJhbmNoKTtcbiAgICAgICAgY29uc3QgbGVuZ3RoID0gQ09MT1JTLmxlbmd0aDtcbiAgICAgICAgY29uc3QgcmVtYWluZGVyID0gaW5kZXggJSBsZW5ndGg7XG4gICAgICAgIHJldHVybiBDT0xPUlNbcmVtYWluZGVyXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gUk9PVF9OT0RFX1NUUk9LRTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGlua0xpbmVDb2xvckJ5TWluZEVsZW1lbnQgPSAoZWxlbWVudDogTWluZEVsZW1lbnQpID0+IHtcbiAgICBsZXQgY29sb3IgPSBlbGVtZW50LmxpbmtMaW5lQ29sb3I7XG4gICAgaWYgKGNvbG9yKSB7XG4gICAgICAgIHJldHVybiBjb2xvcjtcbiAgICB9XG4gICAgY29uc3QgeyByb290LCBicmFuY2ggfSA9IGZpbmRVcEVsZW1lbnQoZWxlbWVudCk7XG4gICAgaWYgKGJyYW5jaCkge1xuICAgICAgICBjb25zdCBpbmRleCA9IHJvb3QuY2hpbGRyZW4uaW5kZXhPZihicmFuY2gpO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBDT0xPUlMubGVuZ3RoO1xuICAgICAgICBjb25zdCByZW1haW5kZXIgPSBpbmRleCAlIGxlbmd0aDtcbiAgICAgICAgcmV0dXJuIENPTE9SU1tyZW1haW5kZXJdO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigncm9vdCBlbGVtZW50IHNob3VsZCBub3QgaGF2ZSBsaW5rIGxpbmUnKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Um9vdExpbmtMaW5lQ29sb3JCeU1pbmRFbGVtZW50ID0gKHJvb3Q6IE1pbmRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgaW5kZXggPSByb290LmNoaWxkcmVuLmxlbmd0aDtcbiAgICBjb25zdCBsZW5ndGggPSBDT0xPUlMubGVuZ3RoO1xuICAgIGNvbnN0IHJlbWFpbmRlciA9IGluZGV4ICUgbGVuZ3RoO1xuICAgIHJldHVybiBDT0xPUlNbcmVtYWluZGVyXTtcbn07XG4iXX0=
package/utils/colors.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { MindElement } from '../interfaces';
2
- export declare const getStrokeByMindElement: (element: MindElement) => string;
3
- export declare const getLinkLineColorByMindElement: (element: MindElement) => string;
4
- export declare const getRootLinkLineColorByMindElement: (root: MindElement) => string;