@plait/draw 0.32.0 → 0.33.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/constants/geometry.d.ts +1 -0
- package/constants/index.d.ts +1 -0
- package/constants/theme.d.ts +26 -0
- package/esm2022/constants/geometry.mjs +2 -1
- package/esm2022/constants/index.mjs +2 -1
- package/esm2022/constants/theme.mjs +28 -0
- package/esm2022/generators/auto-complete.generator.mjs +44 -0
- package/esm2022/generators/geometry-shape.generator.mjs +4 -4
- package/esm2022/generators/line-active.generator.mjs +2 -2
- package/esm2022/generators/line.generator.mjs +2 -2
- package/esm2022/geometry.component.mjs +14 -8
- package/esm2022/image.component.mjs +2 -2
- package/esm2022/interfaces/index.mjs +3 -3
- package/esm2022/line.component.mjs +10 -9
- package/esm2022/plugins/with-auto-complete-reaction.mjs +35 -0
- package/esm2022/plugins/with-auto-complete.mjs +61 -0
- package/esm2022/plugins/with-draw.mjs +10 -6
- package/esm2022/plugins/with-geometry-create.mjs +3 -6
- package/esm2022/plugins/with-line-create.mjs +9 -24
- package/esm2022/plugins/with-line-resize.mjs +7 -16
- package/esm2022/transforms/geometry.mjs +6 -3
- package/esm2022/transforms/index.mjs +4 -3
- package/esm2022/utils/geometry.mjs +24 -9
- package/esm2022/utils/hit.mjs +2 -2
- package/esm2022/utils/line.mjs +38 -11
- package/esm2022/utils/style/stroke.mjs +10 -5
- package/fesm2022/plait-draw.mjs +312 -122
- package/fesm2022/plait-draw.mjs.map +1 -1
- package/generators/auto-complete.generator.d.ts +13 -0
- package/generators/geometry-shape.generator.d.ts +1 -1
- package/generators/line-active.generator.d.ts +1 -1
- package/generators/line.generator.d.ts +1 -1
- package/geometry.component.d.ts +2 -0
- package/package.json +1 -1
- package/plugins/with-auto-complete-reaction.d.ts +2 -0
- package/plugins/with-auto-complete.d.ts +7 -0
- package/transforms/geometry.d.ts +2 -1
- package/transforms/index.d.ts +1 -0
- package/utils/geometry.d.ts +5 -1
- package/utils/line.d.ts +2 -0
- package/utils/style/stroke.d.ts +3 -2
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PlaitBoard } from '@plait/core';
|
|
2
|
+
import { PlaitGeometry } from '../interfaces';
|
|
3
|
+
import { ActiveGeneratorExtraData, Generator } from '@plait/common';
|
|
4
|
+
export declare class AutoCompleteGenerator extends Generator<PlaitGeometry, ActiveGeneratorExtraData> {
|
|
5
|
+
board: PlaitBoard;
|
|
6
|
+
autoCompleteG: SVGGElement;
|
|
7
|
+
hoverElement: SVGGElement | null;
|
|
8
|
+
constructor(board: PlaitBoard);
|
|
9
|
+
canDraw(element: PlaitGeometry, data: ActiveGeneratorExtraData): boolean;
|
|
10
|
+
draw(element: PlaitGeometry, data: ActiveGeneratorExtraData): SVGGElement;
|
|
11
|
+
removeAutoCompleteG(index: number): void;
|
|
12
|
+
recoverAutoCompleteG(): void;
|
|
13
|
+
}
|
|
@@ -4,5 +4,5 @@ export interface ShapeData {
|
|
|
4
4
|
}
|
|
5
5
|
export declare class GeometryShapeGenerator extends Generator<PlaitGeometry, ShapeData> {
|
|
6
6
|
canDraw(element: PlaitGeometry, data: ShapeData): boolean;
|
|
7
|
-
|
|
7
|
+
draw(element: PlaitGeometry, data: ShapeData): SVGGElement | undefined;
|
|
8
8
|
}
|
|
@@ -7,6 +7,6 @@ export interface ActiveData {
|
|
|
7
7
|
export declare class LineActiveGenerator extends Generator<PlaitLine, ActiveData> {
|
|
8
8
|
hasResizeHandle: boolean;
|
|
9
9
|
canDraw(element: PlaitLine, data: ActiveData): boolean;
|
|
10
|
-
|
|
10
|
+
draw(element: PlaitLine, data: ActiveData): SVGGElement;
|
|
11
11
|
}
|
|
12
12
|
export declare function getMiddlePoints(board: PlaitBoard, element: PlaitLine): Point[];
|
|
@@ -4,5 +4,5 @@ export interface ShapeData {
|
|
|
4
4
|
}
|
|
5
5
|
export declare class LineShapeGenerator extends Generator<PlaitLine, ShapeData> {
|
|
6
6
|
canDraw(element: PlaitLine, data: ShapeData): boolean;
|
|
7
|
-
|
|
7
|
+
draw(element: PlaitLine, data: ShapeData): SVGGElement;
|
|
8
8
|
}
|
package/geometry.component.d.ts
CHANGED
|
@@ -5,12 +5,14 @@ import { PlaitGeometry } from './interfaces/geometry';
|
|
|
5
5
|
import { GeometryShapeGenerator } from './generators/geometry-shape.generator';
|
|
6
6
|
import { TextManage } from '@plait/text';
|
|
7
7
|
import { ActiveGenerator, CommonPluginElement } from '@plait/common';
|
|
8
|
+
import { AutoCompleteGenerator } from './generators/auto-complete.generator';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
export declare class GeometryComponent extends CommonPluginElement<PlaitGeometry, PlaitBoard> implements OnInit, OnDestroy, OnContextChanged<PlaitGeometry, PlaitBoard> {
|
|
10
11
|
private viewContainerRef;
|
|
11
12
|
protected cdr: ChangeDetectorRef;
|
|
12
13
|
destroy$: Subject<void>;
|
|
13
14
|
activeGenerator: ActiveGenerator<PlaitGeometry>;
|
|
15
|
+
autoCompleteGenerator: AutoCompleteGenerator;
|
|
14
16
|
shapeGenerator: GeometryShapeGenerator;
|
|
15
17
|
get textManage(): TextManage;
|
|
16
18
|
constructor(viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef);
|
package/package.json
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PlaitBoard } from '@plait/core';
|
|
2
|
+
import { PlaitLine } from '../interfaces';
|
|
3
|
+
export interface AutoCompleteOptions {
|
|
4
|
+
afterComplete: (element: PlaitLine) => {};
|
|
5
|
+
}
|
|
6
|
+
export declare const withAutoCompletePluginKey = "plait-auto-complete-plugin-key";
|
|
7
|
+
export declare const withAutoComplete: (board: PlaitBoard) => PlaitBoard;
|
package/transforms/geometry.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PlaitBoard, Point, Path } from '@plait/core';
|
|
2
|
-
import { GeometryShapes } from '../interfaces';
|
|
2
|
+
import { PlaitGeometry, GeometryShapes } from '../interfaces';
|
|
3
3
|
import { Element } from 'slate';
|
|
4
4
|
export declare const insertGeometry: (board: PlaitBoard, points: [Point, Point], shape: GeometryShapes) => void;
|
|
5
5
|
export declare const insertText: (board: PlaitBoard, points: [Point, Point], text?: string | Element) => void;
|
|
6
6
|
export declare const resizeGeometry: (board: PlaitBoard, points: [Point, Point], textHeight: number, path: Path) => void;
|
|
7
|
+
export declare const transformShape: (board: PlaitBoard, element: PlaitGeometry, shape: GeometryShapes) => void;
|
package/transforms/index.d.ts
CHANGED
|
@@ -9,4 +9,5 @@ export declare const DrawTransforms: {
|
|
|
9
9
|
removeLineText: (board: import("@plait/core").PlaitBoard, element: import("@plait/draw").PlaitLine, index: number) => void;
|
|
10
10
|
setLineMark: (board: import("@plait/core").PlaitBoard, element: import("@plait/draw").PlaitLine, handleKey: import("@plait/draw").LineHandleKey, marker: import("@plait/draw").LineMarkerType) => void;
|
|
11
11
|
insertImage: (board: import("@plait/core").PlaitBoard, imageItem: import("@plait/common").CommonImageItem, startPoint?: import("@plait/core").Point | undefined) => void;
|
|
12
|
+
transformShape: (board: import("@plait/core").PlaitBoard, element: import("@plait/draw").PlaitGeometry, shape: import("@plait/draw").GeometryShapes) => void;
|
|
12
13
|
};
|
package/utils/geometry.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PlaitBoard, Point, RectangleClient } from '@plait/core';
|
|
1
|
+
import { PlaitBoard, Point, RectangleClient, ThemeColorMode } from '@plait/core';
|
|
2
2
|
import { GeometryShapes, PlaitGeometry, FlowchartSymbols } from '../interfaces/geometry';
|
|
3
3
|
import { Element } from 'slate';
|
|
4
4
|
import { Options } from 'roughjs/bin/core';
|
|
@@ -35,3 +35,7 @@ export declare const getDefaultFlowchartProperty: (symbol: FlowchartSymbols) =>
|
|
|
35
35
|
height: number;
|
|
36
36
|
};
|
|
37
37
|
export declare const createDefaultFlowchart: (point: Point) => (import("../interfaces").PlaitLine | PlaitGeometry)[];
|
|
38
|
+
export declare const getAutoCompletePoints: (element: PlaitGeometry) => [Point, Point, Point, Point];
|
|
39
|
+
export declare const getHitIndexOfAutoCompletePoint: (movingPoint: Point, points: Point[]) => number;
|
|
40
|
+
export declare const getDrawDefaultStrokeColor: (theme: ThemeColorMode) => string;
|
|
41
|
+
export declare const getFlowchartDefaultFill: (theme: ThemeColorMode) => string;
|
package/utils/line.d.ts
CHANGED
|
@@ -21,3 +21,5 @@ export declare const getLineTextRectangle: (board: PlaitBoard, element: PlaitLin
|
|
|
21
21
|
export declare const getBoardLines: (board: PlaitBoard) => PlaitLine[];
|
|
22
22
|
export declare const Q2C: (points: Point[]) => Point[];
|
|
23
23
|
export declare const getVectorByConnection: (boundElement: PlaitGeometry, connection: PointOfRectangle) => Vector;
|
|
24
|
+
export declare const alignPoints: (basePoint: Point, movingPoint: Point) => Point;
|
|
25
|
+
export declare const handleLineCreating: (board: PlaitBoard, lineShape: LineShape, startPoint: Point, movingPoint: Point, sourceElement: PlaitGeometry | null, lineShapeG: SVGGElement) => PlaitLine;
|
package/utils/style/stroke.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PlaitGeometry, PlaitLine, StrokeStyle } from '../../interfaces';
|
|
2
|
+
import { PlaitBoard } from '@plait/core';
|
|
2
3
|
export declare const getStrokeWidthByElement: (element: PlaitGeometry | PlaitLine) => number;
|
|
3
|
-
export declare const getStrokeColorByElement: (element: PlaitGeometry | PlaitLine) => string;
|
|
4
|
-
export declare const getFillByElement: (element: PlaitGeometry | PlaitLine) => any;
|
|
4
|
+
export declare const getStrokeColorByElement: (board: PlaitBoard, element: PlaitGeometry | PlaitLine) => string;
|
|
5
|
+
export declare const getFillByElement: (board: PlaitBoard, element: PlaitGeometry | PlaitLine) => any;
|
|
5
6
|
export declare const getLineDashByElement: (element: PlaitGeometry | PlaitLine) => number[] | undefined;
|
|
6
7
|
export declare const getStrokeStyleByElement: (element: PlaitGeometry | PlaitLine) => StrokeStyle;
|