@plait/draw 0.58.0 → 0.60.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 (39) hide show
  1. package/constants/geometry.d.ts +82 -1
  2. package/engines/uml/activity-class.d.ts +2 -0
  3. package/engines/uml/deletion.d.ts +2 -0
  4. package/engines/uml/note.d.ts +2 -0
  5. package/esm2022/constants/geometry.mjs +64 -4
  6. package/esm2022/engines/index.mjs +15 -2
  7. package/esm2022/engines/table/table.mjs +3 -2
  8. package/esm2022/engines/uml/activity-class.mjs +47 -0
  9. package/esm2022/engines/uml/deletion.mjs +31 -0
  10. package/esm2022/engines/uml/note.mjs +58 -0
  11. package/esm2022/generators/text.generator.mjs +5 -13
  12. package/esm2022/interfaces/geometry.mjs +11 -1
  13. package/esm2022/interfaces/index.mjs +2 -2
  14. package/esm2022/plugins/with-draw-fragment.mjs +3 -2
  15. package/esm2022/plugins/with-draw-hotkey.mjs +3 -3
  16. package/esm2022/plugins/with-draw.mjs +1 -1
  17. package/esm2022/plugins/with-geometry-create.mjs +13 -4
  18. package/esm2022/plugins/with-geometry-resize.mjs +3 -2
  19. package/esm2022/table.component.mjs +5 -3
  20. package/esm2022/transforms/swimlane.mjs +23 -20
  21. package/esm2022/utils/common.mjs +50 -21
  22. package/esm2022/utils/geometry.mjs +21 -9
  23. package/esm2022/utils/index.mjs +2 -1
  24. package/esm2022/utils/multi-text-geometry.mjs +8 -8
  25. package/esm2022/utils/swimlane.mjs +8 -2
  26. package/esm2022/utils/table.mjs +1 -1
  27. package/esm2022/utils/uml.mjs +88 -0
  28. package/fesm2022/plait-draw.mjs +861 -526
  29. package/fesm2022/plait-draw.mjs.map +1 -1
  30. package/generators/text.generator.d.ts +0 -1
  31. package/interfaces/geometry.d.ts +11 -1
  32. package/package.json +1 -1
  33. package/transforms/geometry.d.ts +2 -2
  34. package/transforms/index.d.ts +2 -2
  35. package/utils/common.d.ts +5 -0
  36. package/utils/geometry.d.ts +30 -2
  37. package/utils/index.d.ts +1 -0
  38. package/utils/multi-text-geometry.d.ts +2 -2
  39. package/utils/uml.d.ts +3 -0
@@ -27,7 +27,6 @@ export declare class TextGenerator<T extends PlaitElement = PlaitGeometry> {
27
27
  get shape(): DrawShapes;
28
28
  constructor(board: PlaitBoard, element: T, texts: PlaitDrawShapeText[], viewContainerRef: ViewContainerRef, options: TextGeneratorOptions<T>);
29
29
  initialize(): void;
30
- getTextKey(text: PlaitDrawShapeText): string;
31
30
  draw(elementG: SVGElement): void;
32
31
  update(element: T, previousDrawShapeTexts: PlaitDrawShapeText[], currentDrawShapeTexts: PlaitDrawShapeText[], elementG: SVGElement): void;
33
32
  private createTextManage;
@@ -63,8 +63,18 @@ export declare enum UMLSymbols {
63
63
  actor = "actor",
64
64
  useCase = "useCase",
65
65
  container = "container",
66
+ note = "note",
67
+ simpleClass = "simpleClass",
68
+ activityClass = "activityClass",
69
+ branchMerge = "branchMerge",
70
+ port = "port",
66
71
  package = "package",
67
- combinedFragment = "combinedFragment"
72
+ combinedFragment = "combinedFragment",
73
+ class = "class",
74
+ interface = "interface",
75
+ object = "object",
76
+ activation = "activation",
77
+ deletion = "deletion"
68
78
  }
69
79
  export declare enum MultipleTextGeometryCommonTextKeys {
70
80
  name = "name",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plait/draw",
3
- "version": "0.58.0",
3
+ "version": "0.60.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.2.4",
6
6
  "@angular/core": "^17.2.4",
@@ -1,8 +1,8 @@
1
1
  import { PlaitBoard, Point, Path, Vector } from '@plait/core';
2
2
  import { GeometryShapes } from '../interfaces';
3
3
  import { Element } from 'slate';
4
- export declare const insertGeometry: (board: PlaitBoard, points: [Point, Point], shape: GeometryShapes) => import("../interfaces").PlaitGeometry | import("../interfaces").PlaitMultipleTextGeometry;
5
- export declare const insertGeometryByVector: (board: PlaitBoard, point: Point, shape: GeometryShapes, vector: Vector) => import("../interfaces").PlaitGeometry | import("../interfaces").PlaitMultipleTextGeometry | null;
4
+ export declare const insertGeometry: (board: PlaitBoard, points: [Point, Point], shape: GeometryShapes) => import("../interfaces").PlaitCommonGeometry;
5
+ export declare const insertGeometryByVector: (board: PlaitBoard, point: Point, shape: GeometryShapes, vector: Vector) => import("../interfaces").PlaitCommonGeometry | null;
6
6
  export declare const insertText: (board: PlaitBoard, point: Point, text: string | Element) => void;
7
7
  export declare const resizeGeometry: (board: PlaitBoard, points: [Point, Point], textHeight: number, path: Path) => void;
8
8
  export declare const switchGeometryShape: (board: PlaitBoard, shape: GeometryShapes) => void;
@@ -1,7 +1,7 @@
1
1
  export declare const DrawTransforms: {
2
2
  setText: (board: import("@plait/core").PlaitBoard, element: import("@plait/draw").PlaitGeometry, text: import("slate").BaseElement, width: number, textHeight: number) => void;
3
3
  setDrawShapeText: (board: import("@plait/core").PlaitBoard, element: import("@plait/draw").PlaitMultipleTextGeometry, text: import("@plait/draw").PlaitDrawShapeText) => void;
4
- insertGeometry: (board: import("@plait/core").PlaitBoard, points: [import("@plait/core").Point, import("@plait/core").Point], shape: import("@plait/draw").GeometryShapes) => import("@plait/draw").PlaitGeometry | import("@plait/draw").PlaitMultipleTextGeometry;
4
+ insertGeometry: (board: import("@plait/core").PlaitBoard, points: [import("@plait/core").Point, import("@plait/core").Point], shape: import("@plait/draw").GeometryShapes) => import("@plait/draw").PlaitCommonGeometry;
5
5
  resizeGeometry: (board: import("@plait/core").PlaitBoard, points: [import("@plait/core").Point, import("@plait/core").Point], textHeight: number, path: import("@plait/core").Path) => void;
6
6
  insertText: (board: import("@plait/core").PlaitBoard, point: import("@plait/core").Point, text: string | import("slate").BaseElement) => void;
7
7
  setTextSize: (board: import("@plait/core").PlaitBoard, element: import("@plait/draw").PlaitGeometry, textWidth: number, textHeight: number) => void;
@@ -13,7 +13,7 @@ export declare const DrawTransforms: {
13
13
  insertImage: (board: import("@plait/core").PlaitBoard, imageItem: import("@plait/common").CommonImageItem, startPoint?: import("@plait/core").Point | undefined) => void;
14
14
  switchGeometryShape: (board: import("@plait/core").PlaitBoard, shape: import("@plait/draw").GeometryShapes) => void;
15
15
  connectLineToGeometry: (board: import("@plait/core").PlaitBoard, lineElement: import("@plait/draw").PlaitLine, handle: import("@plait/draw").LineHandleKey, geometryElement: import("@plait/draw").PlaitGeometry) => void;
16
- insertGeometryByVector: (board: import("@plait/core").PlaitBoard, point: import("@plait/core").Point, shape: import("@plait/draw").GeometryShapes, vector: import("@plait/core").Vector) => import("@plait/draw").PlaitGeometry | import("@plait/draw").PlaitMultipleTextGeometry | null;
16
+ insertGeometryByVector: (board: import("@plait/core").PlaitBoard, point: import("@plait/core").Point, shape: import("@plait/draw").GeometryShapes, vector: import("@plait/core").Vector) => import("@plait/draw").PlaitCommonGeometry | null;
17
17
  setTableText: (board: import("@plait/core").PlaitBoard, table: import("../interfaces/table").PlaitTable, cellId: string, text: import("slate").BaseElement, textWidth: number, textHeight: number) => void;
18
18
  addSwimlaneRow: (board: import("@plait/core").PlaitBoard, swimlane: import("@plait/draw").PlaitSwimlane, index: number) => void;
19
19
  addSwimlaneColumn: (board: import("@plait/core").PlaitBoard, swimlane: import("@plait/draw").PlaitSwimlane, index: number) => void;
package/utils/common.d.ts CHANGED
@@ -2,6 +2,8 @@ import { PlaitBoard, PlaitElement, Point, RectangleClient } from '@plait/core';
2
2
  import { DrawShapes, EngineExtraData, PlaitCommonGeometry, PlaitDrawElement, PlaitGeometry, PlaitShapeElement } from '../interfaces';
3
3
  import { Options } from 'roughjs/bin/core';
4
4
  import { PlaitTable } from '../interfaces/table';
5
+ import { PlaitDrawShapeText } from '../generators/text.generator';
6
+ import { Alignment } from '@plait/text';
5
7
  export declare const getTextRectangle: <T extends PlaitElement = PlaitGeometry>(element: T) => {
6
8
  height: any;
7
9
  width: number;
@@ -10,6 +12,7 @@ export declare const getTextRectangle: <T extends PlaitElement = PlaitGeometry>(
10
12
  };
11
13
  export declare const getStrokeWidthByElement: (element: PlaitElement) => any;
12
14
  export declare const insertElement: (board: PlaitBoard, element: PlaitCommonGeometry | PlaitTable) => void;
15
+ export declare const isDrawElementIncludeText: (element: PlaitDrawElement) => boolean;
13
16
  export declare const isDrawElementsIncludeText: (elements: PlaitDrawElement[]) => boolean;
14
17
  export declare const getSnappingShape: (board: PlaitBoard, point: Point) => PlaitShapeElement | null;
15
18
  export declare const getSnappingRef: (board: PlaitBoard, hitElement: PlaitShapeElement, point: Point) => {
@@ -25,3 +28,5 @@ export declare const drawBoundReaction: (board: PlaitBoard, element: PlaitShapeE
25
28
  hasMask: boolean;
26
29
  hasConnector: boolean;
27
30
  }) => SVGGElement;
31
+ export declare const getTextKey: <T extends PlaitElement = PlaitGeometry>(element: T, text: PlaitDrawShapeText) => string;
32
+ export declare const getGeometryAlign: (element: PlaitCommonGeometry | PlaitTable) => Alignment;
@@ -72,6 +72,18 @@ export declare const getDefaultUMLProperty: (shape: UMLSymbols) => {
72
72
  text: string;
73
73
  align: Alignment;
74
74
  }[];
75
+ } | {
76
+ width: number;
77
+ height: number;
78
+ } | {
79
+ width: number;
80
+ height: number;
81
+ } | {
82
+ width: number;
83
+ height: number;
84
+ } | {
85
+ width: number;
86
+ height: number;
75
87
  } | {
76
88
  width: number;
77
89
  height: number;
@@ -80,6 +92,20 @@ export declare const getDefaultUMLProperty: (shape: UMLSymbols) => {
80
92
  text: string;
81
93
  align: Alignment;
82
94
  }[];
95
+ } | {
96
+ width: number;
97
+ height: number;
98
+ texts: {
99
+ text: string;
100
+ align: Alignment;
101
+ }[];
102
+ } | {
103
+ width: number;
104
+ height: number;
105
+ texts: {
106
+ text: string;
107
+ align: Alignment;
108
+ }[];
83
109
  };
84
110
  export declare const createDefaultFlowchart: (point: Point) => (PlaitGeometry | import("../interfaces").PlaitLine)[];
85
111
  export declare const getAutoCompletePoints: (element: PlaitShapeElement) => [Point, Point, Point, Point];
@@ -97,7 +123,9 @@ export declare const getDefaultGeometryProperty: (pointer: DrawPointerType) => {
97
123
  };
98
124
  export declare const getDefaultTextPoints: (board: PlaitBoard, centerPoint: Point, fontSize?: number | string) => [Point, Point];
99
125
  export declare const createTextElement: (board: PlaitBoard, points: [Point, Point], text?: string | Element, textHeight?: number) => PlaitGeometry;
100
- export declare const createDefaultGeometry: (board: PlaitBoard, points: [Point, Point], shape: GeometryShapes) => PlaitGeometry | import("../interfaces").PlaitMultipleTextGeometry;
126
+ export declare const createDefaultGeometry: (board: PlaitBoard, points: [Point, Point], shape: GeometryShapes) => import("../interfaces").PlaitCommonGeometry;
101
127
  export declare const editText: (board: PlaitBoard, element: PlaitGeometry, text?: PlaitDrawShapeText) => void;
102
128
  export declare const rerenderGeometryActive: (board: PlaitBoard, element: PlaitGeometry) => void;
103
- export declare const isGeometryIncludeText: (element: PlaitGeometry) => boolean | 0 | undefined;
129
+ export declare const isGeometryIncludeText: (element: PlaitGeometry) => boolean;
130
+ export declare const isSingleTextShape: (shape: GeometryShapes) => boolean;
131
+ export declare const isSingleTextGeometry: (element: PlaitGeometry) => boolean;
package/utils/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './line/index';
2
2
  export * from './geometry';
3
3
  export * from './multi-text-geometry';
4
+ export * from './uml';
4
5
  export * from './selected';
5
6
  export * from './style';
6
7
  export * from './hit';
@@ -6,9 +6,9 @@ export declare const isMultipleTextShape: (shape: GeometryShapes) => boolean;
6
6
  export declare const isMultipleTextGeometry: (geometry: PlaitCommonGeometry) => geometry is PlaitMultipleTextGeometry;
7
7
  export declare const getMultipleTextGeometryTextKeys: (shape: GeometryShapes) => string[] | undefined;
8
8
  export declare const createMultipleTextGeometryElement: (shape: GeometryShapes, points: [Point, Point], options?: GeometryStyleOptions) => PlaitMultipleTextGeometry;
9
- export declare const buildDefaultTextsByShape: (shape: GeometryShapes, elementId: string) => {
9
+ export declare const buildDefaultTextsByShape: (shape: GeometryShapes) => {
10
10
  key: string;
11
11
  text: import("slate").BaseElement;
12
12
  textHeight: any;
13
13
  }[];
14
- export declare const getHitText: (element: PlaitMultipleTextGeometry, point: Point) => PlaitDrawShapeText | undefined;
14
+ export declare const getHitMultipleGeometryText: (element: PlaitMultipleTextGeometry, point: Point) => PlaitDrawShapeText | undefined;
package/utils/uml.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { PlaitBoard, Point } from '@plait/core';
2
+ import { GeometryShapes, PlaitCommonGeometry } from '../interfaces';
3
+ export declare const createUMLClassOrInterfaceGeometryElement: (board: PlaitBoard, shape: GeometryShapes, points: [Point, Point]) => PlaitCommonGeometry;