@plait/draw 0.1.0-next.3
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/README.md +3 -0
- package/constants/geometry.d.ts +27 -0
- package/constants/index.d.ts +2 -0
- package/constants/line.d.ts +4 -0
- package/constants/pointer.d.ts +10 -0
- package/esm2022/constants/geometry.mjs +28 -0
- package/esm2022/constants/index.mjs +3 -0
- package/esm2022/constants/line.mjs +5 -0
- package/esm2022/constants/pointer.mjs +19 -0
- package/esm2022/generator/geometry-shape.generator.mjs +22 -0
- package/esm2022/generator/line-active.generator.mjs +36 -0
- package/esm2022/generator/line.generator.mjs +43 -0
- package/esm2022/geometry.component.mjs +118 -0
- package/esm2022/interfaces/geometry.mjs +20 -0
- package/esm2022/interfaces/index.mjs +24 -0
- package/esm2022/interfaces/line.mjs +12 -0
- package/esm2022/interfaces/text.mjs +2 -0
- package/esm2022/line.component.mjs +152 -0
- package/esm2022/plait-draw.mjs +5 -0
- package/esm2022/plugins/with-draw-fragment.mjs +51 -0
- package/esm2022/plugins/with-draw-hotkey.mjs +19 -0
- package/esm2022/plugins/with-draw.mjs +76 -0
- package/esm2022/plugins/with-geometry-create.mjs +164 -0
- package/esm2022/plugins/with-geometry-resize.mjs +71 -0
- package/esm2022/plugins/with-line-bound-reaction.mjs +45 -0
- package/esm2022/plugins/with-line-create.mjs +66 -0
- package/esm2022/plugins/with-line-resize.mjs +52 -0
- package/esm2022/plugins/with-line-text.mjs +55 -0
- package/esm2022/public-api.mjs +5 -0
- package/esm2022/transforms/geometry-text.mjs +54 -0
- package/esm2022/transforms/geometry.mjs +31 -0
- package/esm2022/transforms/index.mjs +14 -0
- package/esm2022/transforms/line.mjs +16 -0
- package/esm2022/utils/clipboard.mjs +23 -0
- package/esm2022/utils/create-mode.mjs +13 -0
- package/esm2022/utils/engine/diamond.mjs +20 -0
- package/esm2022/utils/engine/ellipse.mjs +55 -0
- package/esm2022/utils/engine/index.mjs +18 -0
- package/esm2022/utils/engine/parallelogram.mjs +30 -0
- package/esm2022/utils/engine/rectangle.mjs +18 -0
- package/esm2022/utils/engine/round-rectangle.mjs +49 -0
- package/esm2022/utils/geometry-style/stroke.mjs +17 -0
- package/esm2022/utils/geometry.mjs +84 -0
- package/esm2022/utils/index.mjs +5 -0
- package/esm2022/utils/line.mjs +145 -0
- package/esm2022/utils/position/geometry.mjs +28 -0
- package/esm2022/utils/position/line.mjs +34 -0
- package/esm2022/utils/selected.mjs +15 -0
- package/fesm2022/plait-draw.mjs +1602 -0
- package/fesm2022/plait-draw.mjs.map +1 -0
- package/generator/geometry-shape.generator.d.ts +8 -0
- package/generator/line-active.generator.d.ts +9 -0
- package/generator/line.generator.d.ts +8 -0
- package/geometry.component.d.ts +27 -0
- package/index.d.ts +5 -0
- package/interfaces/geometry.d.ts +43 -0
- package/interfaces/index.d.ts +13 -0
- package/interfaces/line.d.ts +44 -0
- package/interfaces/text.d.ts +5 -0
- package/line.component.d.ts +36 -0
- package/package.json +25 -0
- package/plugins/with-draw-fragment.d.ts +2 -0
- package/plugins/with-draw-hotkey.d.ts +2 -0
- package/plugins/with-draw.d.ts +2 -0
- package/plugins/with-geometry-create.d.ts +3 -0
- package/plugins/with-geometry-resize.d.ts +2 -0
- package/plugins/with-line-bound-reaction.d.ts +2 -0
- package/plugins/with-line-create.d.ts +2 -0
- package/plugins/with-line-resize.d.ts +2 -0
- package/plugins/with-line-text.d.ts +2 -0
- package/public-api.d.ts +4 -0
- package/styles/styles.scss +16 -0
- package/transforms/geometry-text.d.ts +5 -0
- package/transforms/geometry.d.ts +6 -0
- package/transforms/index.d.ts +10 -0
- package/transforms/line.d.ts +5 -0
- package/utils/clipboard.d.ts +4 -0
- package/utils/create-mode.d.ts +7 -0
- package/utils/engine/diamond.d.ts +2 -0
- package/utils/engine/ellipse.d.ts +4 -0
- package/utils/engine/index.d.ts +3 -0
- package/utils/engine/parallelogram.d.ts +4 -0
- package/utils/engine/rectangle.d.ts +2 -0
- package/utils/engine/round-rectangle.d.ts +5 -0
- package/utils/geometry-style/stroke.d.ts +5 -0
- package/utils/geometry.d.ts +16 -0
- package/utils/index.d.ts +4 -0
- package/utils/line.d.ts +16 -0
- package/utils/position/geometry.d.ts +13 -0
- package/utils/position/line.d.ts +10 -0
- package/utils/selected.d.ts +5 -0
package/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export declare const ShapeDefaultSpace: {
|
|
2
|
+
rectangleAndText: number;
|
|
3
|
+
};
|
|
4
|
+
export declare const DefaultGeometryStyle: {
|
|
5
|
+
strokeWidth: number;
|
|
6
|
+
defaultRadius: number;
|
|
7
|
+
strokeColor: string;
|
|
8
|
+
fill: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const DefaultGeometryActiveStyle: {
|
|
11
|
+
strokeWidth: number;
|
|
12
|
+
selectionStrokeWidth: number;
|
|
13
|
+
};
|
|
14
|
+
export declare const DefaultGeometryProperty: {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
strokeColor: string;
|
|
18
|
+
strokeWidth: number;
|
|
19
|
+
};
|
|
20
|
+
export declare const DefaultTextProperty: {
|
|
21
|
+
width: number;
|
|
22
|
+
height: number;
|
|
23
|
+
text: string;
|
|
24
|
+
};
|
|
25
|
+
export declare const GeometryThreshold: {
|
|
26
|
+
defaultTextMaxWidth: number;
|
|
27
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare enum DrawPointerType {
|
|
2
|
+
text = "text",
|
|
3
|
+
rectangle = "rectangle",
|
|
4
|
+
line = "line",
|
|
5
|
+
diamond = "diamond",
|
|
6
|
+
roundRectangle = "roundRectangle",
|
|
7
|
+
parallelogram = "parallelogram",
|
|
8
|
+
ellipse = "ellipse"
|
|
9
|
+
}
|
|
10
|
+
export declare const GeometryPointer: DrawPointerType[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const ShapeDefaultSpace = {
|
|
2
|
+
rectangleAndText: 4
|
|
3
|
+
};
|
|
4
|
+
export const DefaultGeometryStyle = {
|
|
5
|
+
strokeWidth: 2,
|
|
6
|
+
defaultRadius: 4,
|
|
7
|
+
strokeColor: '#000',
|
|
8
|
+
fill: 'none'
|
|
9
|
+
};
|
|
10
|
+
export const DefaultGeometryActiveStyle = {
|
|
11
|
+
strokeWidth: 2,
|
|
12
|
+
selectionStrokeWidth: 1
|
|
13
|
+
};
|
|
14
|
+
export const DefaultGeometryProperty = {
|
|
15
|
+
width: 100,
|
|
16
|
+
height: 100,
|
|
17
|
+
strokeColor: '#333',
|
|
18
|
+
strokeWidth: 2
|
|
19
|
+
};
|
|
20
|
+
export const DefaultTextProperty = {
|
|
21
|
+
width: 36,
|
|
22
|
+
height: 20,
|
|
23
|
+
text: '文本'
|
|
24
|
+
};
|
|
25
|
+
export const GeometryThreshold = {
|
|
26
|
+
defaultTextMaxWidth: 34 * 14,
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvZ2VvbWV0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDN0IsZ0JBQWdCLEVBQUUsQ0FBQztDQUN0QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUc7SUFDaEMsV0FBVyxFQUFFLENBQUM7SUFDZCxhQUFhLEVBQUUsQ0FBQztJQUNoQixXQUFXLEVBQUUsTUFBTTtJQUNuQixJQUFJLEVBQUUsTUFBTTtDQUNmLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRztJQUN0QyxXQUFXLEVBQUUsQ0FBQztJQUNkLG9CQUFvQixFQUFFLENBQUM7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ25DLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLEdBQUc7SUFDWCxXQUFXLEVBQUUsTUFBTTtJQUNuQixXQUFXLEVBQUUsQ0FBQztDQUNqQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUc7SUFDL0IsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsRUFBRTtJQUNWLElBQUksRUFBRSxJQUFJO0NBQ2IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQzdCLG1CQUFtQixFQUFFLEVBQUUsR0FBRyxFQUFFO0NBQy9CLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU2hhcGVEZWZhdWx0U3BhY2UgPSB7XG4gICAgcmVjdGFuZ2xlQW5kVGV4dDogNFxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRHZW9tZXRyeVN0eWxlID0ge1xuICAgIHN0cm9rZVdpZHRoOiAyLFxuICAgIGRlZmF1bHRSYWRpdXM6IDQsXG4gICAgc3Ryb2tlQ29sb3I6ICcjMDAwJyxcbiAgICBmaWxsOiAnbm9uZSdcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0R2VvbWV0cnlBY3RpdmVTdHlsZSA9IHtcbiAgICBzdHJva2VXaWR0aDogMixcbiAgICBzZWxlY3Rpb25TdHJva2VXaWR0aDogMVxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRHZW9tZXRyeVByb3BlcnR5ID0ge1xuICAgIHdpZHRoOiAxMDAsXG4gICAgaGVpZ2h0OiAxMDAsXG4gICAgc3Ryb2tlQ29sb3I6ICcjMzMzJyxcbiAgICBzdHJva2VXaWR0aDogMlxufTtcblxuZXhwb3J0IGNvbnN0IERlZmF1bHRUZXh0UHJvcGVydHkgPSB7XG4gICAgd2lkdGg6IDM2LFxuICAgIGhlaWdodDogMjAsXG4gICAgdGV4dDogJ+aWh+acrCdcbn07XG5cbmV4cG9ydCBjb25zdCBHZW9tZXRyeVRocmVzaG9sZCA9IHtcbiAgICBkZWZhdWx0VGV4dE1heFdpZHRoOiAzNCAqIDE0LFxufSJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './geometry';
|
|
2
|
+
export * from './pointer';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9jb25zdGFudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dlb21ldHJ5JztcbmV4cG9ydCAqIGZyb20gJy4vcG9pbnRlcic7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const DefaultLineStyle = {
|
|
2
|
+
strokeWidth: 2,
|
|
3
|
+
strokeColor: '#000'
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2NvbnN0YW50cy9saW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLFdBQVcsRUFBRSxDQUFDO0lBQ2QsV0FBVyxFQUFFLE1BQU07Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBEZWZhdWx0TGluZVN0eWxlID0ge1xuICAgIHN0cm9rZVdpZHRoOiAyLFxuICAgIHN0cm9rZUNvbG9yOiAnIzAwMCdcbn07XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export var DrawPointerType;
|
|
2
|
+
(function (DrawPointerType) {
|
|
3
|
+
DrawPointerType["text"] = "text";
|
|
4
|
+
DrawPointerType["rectangle"] = "rectangle";
|
|
5
|
+
DrawPointerType["line"] = "line";
|
|
6
|
+
DrawPointerType["diamond"] = "diamond";
|
|
7
|
+
DrawPointerType["roundRectangle"] = "roundRectangle";
|
|
8
|
+
DrawPointerType["parallelogram"] = "parallelogram";
|
|
9
|
+
DrawPointerType["ellipse"] = "ellipse";
|
|
10
|
+
})(DrawPointerType || (DrawPointerType = {}));
|
|
11
|
+
export const GeometryPointer = [
|
|
12
|
+
DrawPointerType.rectangle,
|
|
13
|
+
DrawPointerType.text,
|
|
14
|
+
DrawPointerType.diamond,
|
|
15
|
+
DrawPointerType.ellipse,
|
|
16
|
+
DrawPointerType.parallelogram,
|
|
17
|
+
DrawPointerType.roundRectangle
|
|
18
|
+
];
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2NvbnN0YW50cy9wb2ludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGVBUVg7QUFSRCxXQUFZLGVBQWU7SUFDdkIsZ0NBQWEsQ0FBQTtJQUNiLDBDQUF1QixDQUFBO0lBQ3ZCLGdDQUFhLENBQUE7SUFDYixzQ0FBbUIsQ0FBQTtJQUNuQixvREFBaUMsQ0FBQTtJQUNqQyxrREFBK0IsQ0FBQTtJQUMvQixzQ0FBbUIsQ0FBQTtBQUN2QixDQUFDLEVBUlcsZUFBZSxLQUFmLGVBQWUsUUFRMUI7QUFFRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsZUFBZSxDQUFDLFNBQVM7SUFDekIsZUFBZSxDQUFDLElBQUk7SUFDcEIsZUFBZSxDQUFDLE9BQU87SUFDdkIsZUFBZSxDQUFDLE9BQU87SUFDdkIsZUFBZSxDQUFDLGFBQWE7SUFDN0IsZUFBZSxDQUFDLGNBQWM7Q0FDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERyYXdQb2ludGVyVHlwZSB7XG4gICAgdGV4dCA9ICd0ZXh0JyxcbiAgICByZWN0YW5nbGUgPSAncmVjdGFuZ2xlJyxcbiAgICBsaW5lID0gJ2xpbmUnLFxuICAgIGRpYW1vbmQgPSAnZGlhbW9uZCcsXG4gICAgcm91bmRSZWN0YW5nbGUgPSAncm91bmRSZWN0YW5nbGUnLFxuICAgIHBhcmFsbGVsb2dyYW0gPSAncGFyYWxsZWxvZ3JhbScsXG4gICAgZWxsaXBzZSA9ICdlbGxpcHNlJ1xufVxuXG5leHBvcnQgY29uc3QgR2VvbWV0cnlQb2ludGVyID0gW1xuICAgIERyYXdQb2ludGVyVHlwZS5yZWN0YW5nbGUsXG4gICAgRHJhd1BvaW50ZXJUeXBlLnRleHQsXG4gICAgRHJhd1BvaW50ZXJUeXBlLmRpYW1vbmQsXG4gICAgRHJhd1BvaW50ZXJUeXBlLmVsbGlwc2UsXG4gICAgRHJhd1BvaW50ZXJUeXBlLnBhcmFsbGVsb2dyYW0sXG4gICAgRHJhd1BvaW50ZXJUeXBlLnJvdW5kUmVjdGFuZ2xlXG5dO1xuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { GeometryShape } from '../interfaces';
|
|
2
|
+
import { getRectangleByPoints, Generator } from '@plait/common';
|
|
3
|
+
import { getFillByElement, getLineDashByElement, getStrokeColorByElement, getStrokeWidthByElement } from '../utils/geometry-style/stroke';
|
|
4
|
+
import { drawGeometry } from '../utils';
|
|
5
|
+
export class GeometryShapeGenerator extends Generator {
|
|
6
|
+
canDraw(element, data) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
baseDraw(element, data) {
|
|
10
|
+
const outerRectangle = getRectangleByPoints(element.points);
|
|
11
|
+
const shape = element.shape;
|
|
12
|
+
if (shape === GeometryShape.text) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const strokeWidth = getStrokeWidthByElement(element);
|
|
16
|
+
const strokeColor = getStrokeColorByElement(element);
|
|
17
|
+
const fill = getFillByElement(element);
|
|
18
|
+
const strokeLineDash = getLineDashByElement(element);
|
|
19
|
+
return drawGeometry(this.board, outerRectangle, shape, { stroke: strokeColor, strokeWidth, fill, strokeLineDash });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9yL2dlb21ldHJ5LXNoYXBlLmdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFJLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFJeEMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFNBQW1DO0lBQzNFLE9BQU8sQ0FBQyxPQUFzQixFQUFFLElBQWU7UUFDM0MsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFzQixFQUFFLElBQWU7UUFDNUMsTUFBTSxjQUFjLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDNUIsSUFBSSxLQUFLLEtBQUssYUFBYSxDQUFDLElBQUksRUFBRTtZQUM5QixPQUFPO1NBQ1Y7UUFDRCxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxNQUFNLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUN2SCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeVNoYXBlLCBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeVBvaW50cywgR2VuZXJhdG9yIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBnZXRGaWxsQnlFbGVtZW50LCBnZXRMaW5lRGFzaEJ5RWxlbWVudCwgZ2V0U3Ryb2tlQ29sb3JCeUVsZW1lbnQsIGdldFN0cm9rZVdpZHRoQnlFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvZ2VvbWV0cnktc3R5bGUvc3Ryb2tlJztcbmltcG9ydCB7IGRyYXdHZW9tZXRyeSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBTaGFwZURhdGEge31cblxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5U2hhcGVHZW5lcmF0b3IgZXh0ZW5kcyBHZW5lcmF0b3I8UGxhaXRHZW9tZXRyeSwgU2hhcGVEYXRhPiB7XG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdEdlb21ldHJ5LCBkYXRhOiBTaGFwZURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYmFzZURyYXcoZWxlbWVudDogUGxhaXRHZW9tZXRyeSwgZGF0YTogU2hhcGVEYXRhKSB7XG4gICAgICAgIGNvbnN0IG91dGVyUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlQb2ludHMoZWxlbWVudC5wb2ludHMpO1xuICAgICAgICBjb25zdCBzaGFwZSA9IGVsZW1lbnQuc2hhcGU7XG4gICAgICAgIGlmIChzaGFwZSA9PT0gR2VvbWV0cnlTaGFwZS50ZXh0KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3Ryb2tlV2lkdGggPSBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3Qgc3Ryb2tlQ29sb3IgPSBnZXRTdHJva2VDb2xvckJ5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgY29uc3QgZmlsbCA9IGdldEZpbGxCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IHN0cm9rZUxpbmVEYXNoID0gZ2V0TGluZURhc2hCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIHJldHVybiBkcmF3R2VvbWV0cnkodGhpcy5ib2FyZCwgb3V0ZXJSZWN0YW5nbGUsIHNoYXBlLCB7IHN0cm9rZTogc3Ryb2tlQ29sb3IsIHN0cm9rZVdpZHRoLCBmaWxsLCBzdHJva2VMaW5lRGFzaCB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PlaitBoard, createG, drawCircle } from '@plait/core';
|
|
2
|
+
import { Generator, RESIZE_HANDLE_DIAMETER } from '@plait/common';
|
|
3
|
+
import { getSourcePoint, getTargetPoint } from '../utils';
|
|
4
|
+
export class LineActiveGenerator extends Generator {
|
|
5
|
+
canDraw(element, data) {
|
|
6
|
+
if (data.selected) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
baseDraw(element, data) {
|
|
14
|
+
const activeG = createG();
|
|
15
|
+
activeG.classList.add('active');
|
|
16
|
+
activeG.classList.add('line-handle');
|
|
17
|
+
const sourcePoint = getSourcePoint(this.board, element);
|
|
18
|
+
const targetPoint = getTargetPoint(this.board, element);
|
|
19
|
+
const sourceCircle = drawCircle(PlaitBoard.getRoughSVG(this.board), sourcePoint, RESIZE_HANDLE_DIAMETER, {
|
|
20
|
+
stroke: '#999999',
|
|
21
|
+
strokeWidth: 1,
|
|
22
|
+
fill: '#FFF',
|
|
23
|
+
fillStyle: 'solid'
|
|
24
|
+
});
|
|
25
|
+
const targetCircle = drawCircle(PlaitBoard.getRoughSVG(this.board), targetPoint, RESIZE_HANDLE_DIAMETER, {
|
|
26
|
+
stroke: '#999999',
|
|
27
|
+
strokeWidth: 1,
|
|
28
|
+
fill: '#FFF',
|
|
29
|
+
fillStyle: 'solid'
|
|
30
|
+
});
|
|
31
|
+
activeG.appendChild(targetCircle);
|
|
32
|
+
activeG.appendChild(sourceCircle);
|
|
33
|
+
return activeG;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1hY3RpdmUuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9yL2xpbmUtYWN0aXZlLmdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQU0xRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsU0FBZ0M7SUFDckUsT0FBTyxDQUFDLE9BQWtCLEVBQUUsSUFBZ0I7UUFDeEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUM7U0FDZjthQUFNO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQWtCLEVBQUUsSUFBZ0I7UUFDekMsTUFBTSxPQUFPLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDckMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRTtZQUNyRyxNQUFNLEVBQUUsU0FBUztZQUNqQixXQUFXLEVBQUUsQ0FBQztZQUNkLElBQUksRUFBRSxNQUFNO1lBQ1osU0FBUyxFQUFFLE9BQU87U0FDckIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRTtZQUNyRyxNQUFNLEVBQUUsU0FBUztZQUNqQixXQUFXLEVBQUUsQ0FBQztZQUNkLElBQUksRUFBRSxNQUFNO1lBQ1osU0FBUyxFQUFFLE9BQU87U0FDckIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsQyxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIGNyZWF0ZUcsIGRyYXdDaXJjbGUgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdlbmVyYXRvciwgUkVTSVpFX0hBTkRMRV9ESUFNRVRFUiB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0U291cmNlUG9pbnQsIGdldFRhcmdldFBvaW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2ZURhdGEge1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgTGluZUFjdGl2ZUdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdExpbmUsIEFjdGl2ZURhdGE+IHtcbiAgICBjYW5EcmF3KGVsZW1lbnQ6IFBsYWl0TGluZSwgZGF0YTogQWN0aXZlRGF0YSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoZGF0YS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBiYXNlRHJhdyhlbGVtZW50OiBQbGFpdExpbmUsIGRhdGE6IEFjdGl2ZURhdGEpOiBTVkdHRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUcgPSBjcmVhdGVHKCk7XG4gICAgICAgIGFjdGl2ZUcuY2xhc3NMaXN0LmFkZCgnYWN0aXZlJyk7XG4gICAgICAgIGFjdGl2ZUcuY2xhc3NMaXN0LmFkZCgnbGluZS1oYW5kbGUnKTtcbiAgICAgICAgY29uc3Qgc291cmNlUG9pbnQgPSBnZXRTb3VyY2VQb2ludCh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgY29uc3QgdGFyZ2V0UG9pbnQgPSBnZXRUYXJnZXRQb2ludCh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgY29uc3Qgc291cmNlQ2lyY2xlID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKHRoaXMuYm9hcmQpLCBzb3VyY2VQb2ludCwgUkVTSVpFX0hBTkRMRV9ESUFNRVRFUiwge1xuICAgICAgICAgICAgc3Ryb2tlOiAnIzk5OTk5OScsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgIGZpbGw6ICcjRkZGJyxcbiAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGFyZ2V0Q2lyY2xlID0gZHJhd0NpcmNsZShQbGFpdEJvYXJkLmdldFJvdWdoU1ZHKHRoaXMuYm9hcmQpLCB0YXJnZXRQb2ludCwgUkVTSVpFX0hBTkRMRV9ESUFNRVRFUiwge1xuICAgICAgICAgICAgc3Ryb2tlOiAnIzk5OTk5OScsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgIGZpbGw6ICcjRkZGJyxcbiAgICAgICAgICAgIGZpbGxTdHlsZTogJ3NvbGlkJ1xuICAgICAgICB9KTtcbiAgICAgICAgYWN0aXZlRy5hcHBlbmRDaGlsZCh0YXJnZXRDaXJjbGUpO1xuICAgICAgICBhY3RpdmVHLmFwcGVuZENoaWxkKHNvdXJjZUNpcmNsZSk7XG4gICAgICAgIHJldHVybiBhY3RpdmVHO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { LineShape } from '../interfaces';
|
|
2
|
+
import { Generator, getRectangleByPoints } from '@plait/common';
|
|
3
|
+
import { drawElbowLine, getElbowPoints, getLineTextRectangle } from '../utils';
|
|
4
|
+
import { RectangleClient, createMask, createRect } from '@plait/core';
|
|
5
|
+
export class LineShapeGenerator extends Generator {
|
|
6
|
+
canDraw(element, data) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
baseDraw(element, data) {
|
|
10
|
+
const shape = element.shape;
|
|
11
|
+
let lineG;
|
|
12
|
+
switch (shape) {
|
|
13
|
+
case LineShape.elbow:
|
|
14
|
+
lineG = drawElbowLine(this.board, element);
|
|
15
|
+
drawMask(this.board, lineG, element);
|
|
16
|
+
break;
|
|
17
|
+
default:
|
|
18
|
+
break;
|
|
19
|
+
}
|
|
20
|
+
return lineG;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function drawMask(board, g, element) {
|
|
24
|
+
const mask = createMask();
|
|
25
|
+
mask.setAttribute('id', element.id);
|
|
26
|
+
const points = getElbowPoints(board, element);
|
|
27
|
+
let rectangle = getRectangleByPoints(points);
|
|
28
|
+
rectangle = RectangleClient.getOutlineRectangle(rectangle, -3);
|
|
29
|
+
const maskRect = createRect(rectangle, {
|
|
30
|
+
fill: 'white'
|
|
31
|
+
});
|
|
32
|
+
mask.appendChild(maskRect);
|
|
33
|
+
const texts = element.texts;
|
|
34
|
+
texts.forEach((text, index) => {
|
|
35
|
+
const textRectangle = getLineTextRectangle(board, element, index);
|
|
36
|
+
const rect = createRect(textRectangle, {
|
|
37
|
+
fill: 'black'
|
|
38
|
+
});
|
|
39
|
+
mask.appendChild(rect);
|
|
40
|
+
});
|
|
41
|
+
g.appendChild(mask);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9nZW5lcmF0b3IvbGluZS5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQy9FLE9BQU8sRUFBYyxlQUFlLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUlsRixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsU0FBK0I7SUFDbkUsT0FBTyxDQUFDLE9BQWtCLEVBQUUsSUFBZTtRQUN2QyxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQWtCLEVBQUUsSUFBZTtRQUN4QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksS0FBOEIsQ0FBQztRQUNuQyxRQUFRLEtBQUssRUFBRTtZQUNYLEtBQUssU0FBUyxDQUFDLEtBQUs7Z0JBQ2hCLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDM0MsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNyQyxNQUFNO1lBQ1Y7Z0JBQ0ksTUFBTTtTQUNiO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBRUQsU0FBUyxRQUFRLENBQUMsS0FBaUIsRUFBRSxDQUFhLEVBQUUsT0FBa0I7SUFDbEUsTUFBTSxJQUFJLEdBQUcsVUFBVSxFQUFFLENBQUM7SUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sTUFBTSxHQUFHLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDOUMsSUFBSSxTQUFTLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsU0FBUyxHQUFHLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsU0FBUyxFQUFFO1FBQ25DLElBQUksRUFBRSxPQUFPO0tBQ2hCLENBQUMsQ0FBQztJQUNILElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFM0IsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzFCLE1BQU0sYUFBYSxHQUFHLG9CQUFvQixDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEUsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLGFBQWEsRUFBRTtZQUNuQyxJQUFJLEVBQUUsT0FBTztTQUNoQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGluZVNoYXBlLCBQbGFpdExpbmUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdlbmVyYXRvciwgZ2V0UmVjdGFuZ2xlQnlQb2ludHMgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGRyYXdFbGJvd0xpbmUsIGdldEVsYm93UG9pbnRzLCBnZXRMaW5lVGV4dFJlY3RhbmdsZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFBsYWl0Qm9hcmQsIFJlY3RhbmdsZUNsaWVudCwgY3JlYXRlTWFzaywgY3JlYXRlUmVjdCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTaGFwZURhdGEge31cblxuZXhwb3J0IGNsYXNzIExpbmVTaGFwZUdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdExpbmUsIFNoYXBlRGF0YT4ge1xuICAgIGNhbkRyYXcoZWxlbWVudDogUGxhaXRMaW5lLCBkYXRhOiBTaGFwZURhdGEpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYmFzZURyYXcoZWxlbWVudDogUGxhaXRMaW5lLCBkYXRhOiBTaGFwZURhdGEpIHtcbiAgICAgICAgY29uc3Qgc2hhcGUgPSBlbGVtZW50LnNoYXBlO1xuICAgICAgICBsZXQgbGluZUc6IFNWR0dFbGVtZW50IHwgdW5kZWZpbmVkO1xuICAgICAgICBzd2l0Y2ggKHNoYXBlKSB7XG4gICAgICAgICAgICBjYXNlIExpbmVTaGFwZS5lbGJvdzpcbiAgICAgICAgICAgICAgICBsaW5lRyA9IGRyYXdFbGJvd0xpbmUodGhpcy5ib2FyZCwgZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgZHJhd01hc2sodGhpcy5ib2FyZCwgbGluZUcsIGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGluZUc7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBkcmF3TWFzayhib2FyZDogUGxhaXRCb2FyZCwgZzogU1ZHRWxlbWVudCwgZWxlbWVudDogUGxhaXRMaW5lKSB7XG4gICAgY29uc3QgbWFzayA9IGNyZWF0ZU1hc2soKTtcbiAgICBtYXNrLnNldEF0dHJpYnV0ZSgnaWQnLCBlbGVtZW50LmlkKTtcbiAgICBjb25zdCBwb2ludHMgPSBnZXRFbGJvd1BvaW50cyhib2FyZCwgZWxlbWVudCk7XG4gICAgbGV0IHJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5UG9pbnRzKHBvaW50cyk7XG4gICAgcmVjdGFuZ2xlID0gUmVjdGFuZ2xlQ2xpZW50LmdldE91dGxpbmVSZWN0YW5nbGUocmVjdGFuZ2xlLCAtMyk7XG4gICAgY29uc3QgbWFza1JlY3QgPSBjcmVhdGVSZWN0KHJlY3RhbmdsZSwge1xuICAgICAgICBmaWxsOiAnd2hpdGUnXG4gICAgfSk7XG4gICAgbWFzay5hcHBlbmRDaGlsZChtYXNrUmVjdCk7XG5cbiAgICBjb25zdCB0ZXh0cyA9IGVsZW1lbnQudGV4dHM7XG4gICAgdGV4dHMuZm9yRWFjaCgodGV4dCwgaW5kZXgpID0+IHtcbiAgICAgICAgY29uc3QgdGV4dFJlY3RhbmdsZSA9IGdldExpbmVUZXh0UmVjdGFuZ2xlKGJvYXJkLCBlbGVtZW50LCBpbmRleCk7XG4gICAgICAgIGNvbnN0IHJlY3QgPSBjcmVhdGVSZWN0KHRleHRSZWN0YW5nbGUsIHtcbiAgICAgICAgICAgIGZpbGw6ICdibGFjaydcbiAgICAgICAgfSk7XG4gICAgICAgIG1hc2suYXBwZW5kQ2hpbGQocmVjdCk7XG4gICAgfSk7XG4gICAgZy5hcHBlbmRDaGlsZChtYXNrKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import { PlaitBoard, PlaitPluginElementComponent, isSelectionMoving, getSelectedElements } from '@plait/core';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { GeometryShapeGenerator } from './generator/geometry-shape.generator';
|
|
5
|
+
import { TextManage } from '@plait/text';
|
|
6
|
+
import { DrawTransforms } from './transforms';
|
|
7
|
+
import { getTextRectangle } from './utils/geometry';
|
|
8
|
+
import { ActiveGenerator, getRectangleByPoints } from '@plait/common';
|
|
9
|
+
import { DefaultGeometryActiveStyle, GeometryThreshold } from './constants/geometry';
|
|
10
|
+
import { getStrokeWidthByElement } from './utils/geometry-style/stroke';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export class GeometryComponent extends PlaitPluginElementComponent {
|
|
13
|
+
constructor(viewContainerRef, cdr) {
|
|
14
|
+
super(cdr);
|
|
15
|
+
this.viewContainerRef = viewContainerRef;
|
|
16
|
+
this.cdr = cdr;
|
|
17
|
+
this.destroy$ = new Subject();
|
|
18
|
+
}
|
|
19
|
+
initializeGenerator() {
|
|
20
|
+
this.activeGenerator = new ActiveGenerator(this.board, {
|
|
21
|
+
getStrokeWidth: () => {
|
|
22
|
+
const selectedElements = getSelectedElements(this.board);
|
|
23
|
+
if (selectedElements.length === 1 && !isSelectionMoving(this.board)) {
|
|
24
|
+
return DefaultGeometryActiveStyle.strokeWidth;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return DefaultGeometryActiveStyle.selectionStrokeWidth;
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
getRectangle: (element) => {
|
|
31
|
+
return getRectangleByPoints(element.points);
|
|
32
|
+
},
|
|
33
|
+
getStrokeWidthByElement: (element) => {
|
|
34
|
+
return getStrokeWidthByElement(element);
|
|
35
|
+
},
|
|
36
|
+
hasResizeHandle: () => {
|
|
37
|
+
const selectedElements = getSelectedElements(this.board);
|
|
38
|
+
if (PlaitBoard.hasBeenTextEditing(this.board)) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return selectedElements.length === 1 && !isSelectionMoving(this.board);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
this.shapeGenerator = new GeometryShapeGenerator(this.board);
|
|
45
|
+
this.initializeTextManage();
|
|
46
|
+
}
|
|
47
|
+
ngOnInit() {
|
|
48
|
+
super.ngOnInit();
|
|
49
|
+
this.initializeGenerator();
|
|
50
|
+
this.shapeGenerator.draw(this.element, this.g);
|
|
51
|
+
this.activeGenerator.draw(this.element, this.g, { selected: this.selected });
|
|
52
|
+
this.drawText();
|
|
53
|
+
}
|
|
54
|
+
onContextChanged(value, previous) {
|
|
55
|
+
if (value.element !== previous.element) {
|
|
56
|
+
this.shapeGenerator.draw(this.element, this.g);
|
|
57
|
+
this.activeGenerator.draw(this.element, this.g, { selected: this.selected });
|
|
58
|
+
this.updateText();
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
const hasSameSelected = value.selected === previous.selected;
|
|
62
|
+
const hasSameHandleState = this.activeGenerator.options.hasResizeHandle() === this.activeGenerator.hasResizeHandle;
|
|
63
|
+
if (!hasSameSelected || !hasSameHandleState) {
|
|
64
|
+
this.activeGenerator.draw(this.element, this.g, { selected: this.selected });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
editText() {
|
|
69
|
+
this.textManage.edit();
|
|
70
|
+
this.activeGenerator.draw(this.element, this.g, { selected: this.selected });
|
|
71
|
+
}
|
|
72
|
+
drawText() {
|
|
73
|
+
this.textManage.draw(this.element.text);
|
|
74
|
+
this.g.append(this.textManage.g);
|
|
75
|
+
}
|
|
76
|
+
updateText() {
|
|
77
|
+
this.textManage.updateText(this.element.text);
|
|
78
|
+
this.textManage.updateRectangle();
|
|
79
|
+
}
|
|
80
|
+
initializeTextManage() {
|
|
81
|
+
this.textManage = new TextManage(this.board, this.viewContainerRef, {
|
|
82
|
+
getRectangle: () => {
|
|
83
|
+
return getTextRectangle(this.element);
|
|
84
|
+
},
|
|
85
|
+
onValueChangeHandle: (textManageRef) => {
|
|
86
|
+
const height = textManageRef.height / this.board.viewport.zoom;
|
|
87
|
+
const width = textManageRef.width / this.board.viewport.zoom;
|
|
88
|
+
if (textManageRef.newValue) {
|
|
89
|
+
DrawTransforms.setText(this.board, this.element, textManageRef.newValue, width, height);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
DrawTransforms.setTextSize(this.board, this.element, width, height);
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
getMaxWidth: () => {
|
|
96
|
+
const width = getTextRectangle(this.element).width;
|
|
97
|
+
return this.element?.autoSize ? GeometryThreshold.defaultTextMaxWidth : width;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
ngOnDestroy() {
|
|
102
|
+
super.ngOnDestroy();
|
|
103
|
+
this.textManage.destroy();
|
|
104
|
+
this.destroy$.next();
|
|
105
|
+
this.destroy$.complete();
|
|
106
|
+
}
|
|
107
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: GeometryComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: GeometryComponent, selector: "plait-draw-geometry", usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
109
|
+
}
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: GeometryComponent, decorators: [{
|
|
111
|
+
type: Component,
|
|
112
|
+
args: [{
|
|
113
|
+
selector: 'plait-draw-geometry',
|
|
114
|
+
template: ``,
|
|
115
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
116
|
+
}]
|
|
117
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VvbWV0cnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUMzSCxPQUFPLEVBQ0gsVUFBVSxFQUNWLDJCQUEyQixFQUczQixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ3RCLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQVF4RSxNQUFNLE9BQU8saUJBQWtCLFNBQVEsMkJBQXNEO0lBVXpGLFlBQW9CLGdCQUFrQyxFQUFZLEdBQXNCO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURLLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBWSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQVJ4RixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQVUvQixDQUFDO0lBRUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FB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Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdFBsdWdpbkVsZW1lbnRDb21wb25lbnQsXG4gICAgUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dCxcbiAgICBPbkNvbnRleHRDaGFuZ2VkLFxuICAgIGlzU2VsZWN0aW9uTW92aW5nLFxuICAgIGdldFNlbGVjdGVkRWxlbWVudHNcbn0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSB9IGZyb20gJy4vaW50ZXJmYWNlcy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3IvZ2VvbWV0cnktc2hhcGUuZ2VuZXJhdG9yJztcbmltcG9ydCB7IFRleHRNYW5hZ2UsIFRleHRNYW5hZ2VSZWYgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBEcmF3VHJhbnNmb3JtcyB9IGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBnZXRUZXh0UmVjdGFuZ2xlIH0gZnJvbSAnLi91dGlscy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBBY3RpdmVHZW5lcmF0b3IsIGdldFJlY3RhbmdsZUJ5UG9pbnRzIH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBEZWZhdWx0R2VvbWV0cnlBY3RpdmVTdHlsZSwgR2VvbWV0cnlUaHJlc2hvbGQgfSBmcm9tICcuL2NvbnN0YW50cy9nZW9tZXRyeSc7XG5pbXBvcnQgeyBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudCB9IGZyb20gJy4vdXRpbHMvZ2VvbWV0cnktc3R5bGUvc3Ryb2tlJztcbmltcG9ydCB7IFBsYWl0VGV4dCB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGxhaXQtZHJhdy1nZW9tZXRyeScsXG4gICAgdGVtcGxhdGU6IGBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEdlb21ldHJ5Q29tcG9uZW50IGV4dGVuZHMgUGxhaXRQbHVnaW5FbGVtZW50Q29tcG9uZW50PFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25Db250ZXh0Q2hhbmdlZDxQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkPiB7XG4gICAgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgYWN0aXZlR2VuZXJhdG9yITogQWN0aXZlR2VuZXJhdG9yPFBsYWl0R2VvbWV0cnk+O1xuXG4gICAgc2hhcGVHZW5lcmF0b3IhOiBHZW9tZXRyeVNoYXBlR2VuZXJhdG9yO1xuXG4gICAgdGV4dE1hbmFnZSE6IFRleHRNYW5hZ2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGNkcik7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IgPSBuZXcgQWN0aXZlR2VuZXJhdG9yPFBsYWl0R2VvbWV0cnk+KHRoaXMuYm9hcmQsIHtcbiAgICAgICAgICAgIGdldFN0cm9rZVdpZHRoOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gRGVmYXVsdEdlb21ldHJ5QWN0aXZlU3R5bGUuc3Ryb2tlV2lkdGg7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERlZmF1bHRHZW9tZXRyeUFjdGl2ZVN0eWxlLnNlbGVjdGlvblN0cm9rZVdpZHRoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRSZWN0YW5nbGU6IChlbGVtZW50OiBQbGFpdEdlb21ldHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFJlY3RhbmdsZUJ5UG9pbnRzKGVsZW1lbnQucG9pbnRzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VXaWR0aEJ5RWxlbWVudDogKGVsZW1lbnQ6IFBsYWl0R2VvbWV0cnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U3Ryb2tlV2lkdGhCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgaGFzUmVzaXplSGFuZGxlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHModGhpcy5ib2FyZCk7XG4gICAgICAgICAgICAgICAgaWYgKFBsYWl0Qm9hcmQuaGFzQmVlblRleHRFZGl0aW5nKHRoaXMuYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxICYmICFpc1NlbGVjdGlvbk1vdmluZyh0aGlzLmJvYXJkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc2hhcGVHZW5lcmF0b3IgPSBuZXcgR2VvbWV0cnlTaGFwZUdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVGV4dE1hbmFnZSgpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVHZW5lcmF0b3IoKTtcbiAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IuZHJhdyh0aGlzLmVsZW1lbnQsIHRoaXMuZywgeyBzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCB9KTtcbiAgICAgICAgdGhpcy5kcmF3VGV4dCgpO1xuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZWQoXG4gICAgICAgIHZhbHVlOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0R2VvbWV0cnksIFBsYWl0Qm9hcmQ+LFxuICAgICAgICBwcmV2aW91czogUGxhaXRQbHVnaW5FbGVtZW50Q29udGV4dDxQbGFpdEdlb21ldHJ5LCBQbGFpdEJvYXJkPlxuICAgICkge1xuICAgICAgICBpZiAodmFsdWUuZWxlbWVudCAhPT0gcHJldmlvdXMuZWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5zaGFwZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgdGhpcy5nKTtcbiAgICAgICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCB0aGlzLmcsIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRleHQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVTZWxlY3RlZCA9IHZhbHVlLnNlbGVjdGVkID09PSBwcmV2aW91cy5zZWxlY3RlZDtcbiAgICAgICAgICAgIGNvbnN0IGhhc1NhbWVIYW5kbGVTdGF0ZSA9IHRoaXMuYWN0aXZlR2VuZXJhdG9yLm9wdGlvbnMuaGFzUmVzaXplSGFuZGxlKCkgPT09IHRoaXMuYWN0aXZlR2VuZXJhdG9yLmhhc1Jlc2l6ZUhhbmRsZTtcbiAgICAgICAgICAgIGlmICghaGFzU2FtZVNlbGVjdGVkIHx8ICFoYXNTYW1lSGFuZGxlU3RhdGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZUdlbmVyYXRvci5kcmF3KHRoaXMuZWxlbWVudCwgdGhpcy5nLCB7IHNlbGVjdGVkOiB0aGlzLnNlbGVjdGVkIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZWRpdFRleHQoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS5lZGl0KCk7XG4gICAgICAgIHRoaXMuYWN0aXZlR2VuZXJhdG9yLmRyYXcodGhpcy5lbGVtZW50LCB0aGlzLmcsIHsgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQgfSk7XG4gICAgfVxuXG4gICAgZHJhd1RleHQoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS5kcmF3KHRoaXMuZWxlbWVudC50ZXh0KTtcbiAgICAgICAgdGhpcy5nLmFwcGVuZCh0aGlzLnRleHRNYW5hZ2UuZyk7XG4gICAgfVxuXG4gICAgdXBkYXRlVGV4dCgpIHtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlLnVwZGF0ZVRleHQodGhpcy5lbGVtZW50LnRleHQpO1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2UudXBkYXRlUmVjdGFuZ2xlKCk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVRleHRNYW5hZ2UoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZSA9IG5ldyBUZXh0TWFuYWdlKHRoaXMuYm9hcmQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwge1xuICAgICAgICAgICAgZ2V0UmVjdGFuZ2xlOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFRleHRSZWN0YW5nbGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblZhbHVlQ2hhbmdlSGFuZGxlOiAodGV4dE1hbmFnZVJlZjogVGV4dE1hbmFnZVJlZikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhlaWdodCA9IHRleHRNYW5hZ2VSZWYuaGVpZ2h0IC8gdGhpcy5ib2FyZC52aWV3cG9ydC56b29tO1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpZHRoID0gdGV4dE1hbmFnZVJlZi53aWR0aCAvIHRoaXMuYm9hcmQudmlld3BvcnQuem9vbTtcbiAgICAgICAgICAgICAgICBpZiAodGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBEcmF3VHJhbnNmb3Jtcy5zZXRUZXh0KHRoaXMuYm9hcmQsIHRoaXMuZWxlbWVudCwgdGV4dE1hbmFnZVJlZi5uZXdWYWx1ZSwgd2lkdGgsIGhlaWdodCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgRHJhd1RyYW5zZm9ybXMuc2V0VGV4dFNpemUodGhpcy5ib2FyZCwgdGhpcy5lbGVtZW50LCB3aWR0aCwgaGVpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0TWF4V2lkdGg6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB3aWR0aCA9IGdldFRleHRSZWN0YW5nbGUodGhpcy5lbGVtZW50KS53aWR0aDtcbiAgICAgICAgICAgICAgICByZXR1cm4gKHRoaXMuZWxlbWVudCBhcyBQbGFpdFRleHQpPy5hdXRvU2l6ZSA/IEdlb21ldHJ5VGhyZXNob2xkLmRlZmF1bHRUZXh0TWF4V2lkdGggOiB3aWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZS5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PlaitElement } from '@plait/core';
|
|
2
|
+
export var GeometryShape;
|
|
3
|
+
(function (GeometryShape) {
|
|
4
|
+
GeometryShape["rectangle"] = "rectangle";
|
|
5
|
+
GeometryShape["ellipse"] = "ellipse";
|
|
6
|
+
GeometryShape["diamond"] = "diamond";
|
|
7
|
+
GeometryShape["roundRectangle"] = "roundRectangle";
|
|
8
|
+
GeometryShape["parallelogram"] = "parallelogram";
|
|
9
|
+
GeometryShape["text"] = "text";
|
|
10
|
+
})(GeometryShape || (GeometryShape = {}));
|
|
11
|
+
export const PlaitGeometry = {
|
|
12
|
+
getTextEditor(element) {
|
|
13
|
+
const component = PlaitElement.getComponent(element);
|
|
14
|
+
if (component) {
|
|
15
|
+
return component.textManage.componentRef.instance.editor;
|
|
16
|
+
}
|
|
17
|
+
throw new Error('can not get correctly component in get text editor');
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VvbWV0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2dlb21ldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxZQUFZLEVBQTBCLE1BQU0sYUFBYSxDQUFDO0FBTS9FLE1BQU0sQ0FBTixJQUFZLGFBT1g7QUFQRCxXQUFZLGFBQWE7SUFDckIsd0NBQXVCLENBQUE7SUFDdkIsb0NBQW1CLENBQUE7SUFDbkIsb0NBQW1CLENBQUE7SUFDbkIsa0RBQWlDLENBQUE7SUFDakMsZ0RBQStCLENBQUE7SUFDL0IsOEJBQWEsQ0FBQTtBQUNqQixDQUFDLEVBUFcsYUFBYSxLQUFiLGFBQWEsUUFPeEI7QUFnQ0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQ3pCLGFBQWEsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBc0IsQ0FBQztRQUMxRSxJQUFJLFNBQVMsRUFBRTtZQUNYLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztTQUM1RDtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFJlY3RhbmdsZUNsaWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdlb21ldHJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vZ2VvbWV0cnkuY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbnMgfSBmcm9tICdyb3VnaGpzL2Jpbi9jb3JlJztcbmltcG9ydCB7IFN0cm9rZVN0eWxlIH0gZnJvbSAnLi9saW5lJztcbmltcG9ydCB7IFBhcmFncmFwaEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5cbmV4cG9ydCBlbnVtIEdlb21ldHJ5U2hhcGUge1xuICAgIHJlY3RhbmdsZSA9ICdyZWN0YW5nbGUnLFxuICAgIGVsbGlwc2UgPSAnZWxsaXBzZScsXG4gICAgZGlhbW9uZCA9ICdkaWFtb25kJyxcbiAgICByb3VuZFJlY3RhbmdsZSA9ICdyb3VuZFJlY3RhbmdsZScsXG4gICAgcGFyYWxsZWxvZ3JhbSA9ICdwYXJhbGxlbG9ncmFtJyxcbiAgICB0ZXh0ID0gJ3RleHQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxhaXRHZW9tZXRyeSBleHRlbmRzIFBsYWl0RWxlbWVudCB7XG4gICAgcG9pbnRzOiBbUG9pbnQsIFBvaW50XTtcbiAgICB0eXBlOiAnZ2VvbWV0cnknO1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlO1xuXG4gICAgdGV4dDogUGFyYWdyYXBoRWxlbWVudDtcbiAgICB0ZXh0SGVpZ2h0OiBudW1iZXI7XG5cbiAgICAvLyBub2RlIHN0eWxlIGF0dHJpYnV0ZXNcbiAgICBmaWxsPzogc3RyaW5nO1xuICAgIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICAgIHN0cm9rZVN0eWxlPzogU3Ryb2tlU3R5bGU7XG5cbiAgICBhbmdsZTogbnVtYmVyO1xuICAgIG9wYWNpdHk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdFJlY3RhbmdsZSBleHRlbmRzIFBsYWl0R2VvbWV0cnkge1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlLnJlY3RhbmdsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEVsbGlwc2UgZXh0ZW5kcyBQbGFpdEdlb21ldHJ5IHtcbiAgICBzaGFwZTogR2VvbWV0cnlTaGFwZS5lbGxpcHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0RGlhbW9uZCBleHRlbmRzIFBsYWl0R2VvbWV0cnkge1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlLmRpYW1vbmQ7XG59XG5cbmV4cG9ydCBjb25zdCBQbGFpdEdlb21ldHJ5ID0ge1xuICAgIGdldFRleHRFZGl0b3IoZWxlbWVudDogUGxhaXRHZW9tZXRyeSkge1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSBQbGFpdEVsZW1lbnQuZ2V0Q29tcG9uZW50KGVsZW1lbnQpIGFzIEdlb21ldHJ5Q29tcG9uZW50O1xuICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50LnRleHRNYW5hZ2UuY29tcG9uZW50UmVmLmluc3RhbmNlLmVkaXRvcjtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhbiBub3QgZ2V0IGNvcnJlY3RseSBjb21wb25lbnQgaW4gZ2V0IHRleHQgZWRpdG9yJyk7XG4gICAgfVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBTaGFwZUVuZ2luZSB7XG4gICAgaXNIaXQ6IChyZWN0YW5nbGU6IFJlY3RhbmdsZUNsaWVudCwgcG9pbnQ6IFBvaW50KSA9PiBib29sZWFuO1xuICAgIGdldE5lYXJlc3RQb2ludDogKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50LCBwb2ludDogUG9pbnQpID0+IFBvaW50O1xuICAgIGdldENvbm5lY3RvclBvaW50czogKHJlY3RhbmdsZTogUmVjdGFuZ2xlQ2xpZW50KSA9PiBQb2ludFtdO1xuICAgIGRyYXc6IChib2FyZDogUGxhaXRCb2FyZCwgcmVjdGFuZ2xlOiBSZWN0YW5nbGVDbGllbnQsIG9wdGlvbnM6IE9wdGlvbnMpID0+IFNWR0dFbGVtZW50O1xufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { GeometryShape } from './geometry';
|
|
2
|
+
export * from './line';
|
|
3
|
+
export * from './geometry';
|
|
4
|
+
export * from './text';
|
|
5
|
+
export const PlaitDrawElement = {
|
|
6
|
+
isGeometry: (value) => {
|
|
7
|
+
return value.type === 'geometry';
|
|
8
|
+
},
|
|
9
|
+
isLine: (value) => {
|
|
10
|
+
return value.type === 'line';
|
|
11
|
+
},
|
|
12
|
+
isText: (value) => {
|
|
13
|
+
return value.type === 'geometry' && value.shape === GeometryShape.text;
|
|
14
|
+
},
|
|
15
|
+
isDrawElement: (value) => {
|
|
16
|
+
if (PlaitDrawElement.isGeometry(value) || PlaitDrawElement.isLine(value)) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kcmF3L3NyYy9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQWlCLE1BQU0sWUFBWSxDQUFDO0FBSTFELGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsUUFBUSxDQUFDO0FBSXZCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLFVBQVUsRUFBRSxDQUFDLEtBQVUsRUFBMEIsRUFBRTtRQUMvQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBQyxLQUFVLEVBQXNCLEVBQUU7UUFDdkMsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUNqQyxDQUFDO0lBQ0QsTUFBTSxFQUFFLENBQUMsS0FBVSxFQUFzQixFQUFFO1FBQ3ZDLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQzNFLENBQUM7SUFDRCxhQUFhLEVBQUUsQ0FBQyxLQUFVLEVBQTZCLEVBQUU7UUFDckQsSUFBSSxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3RFLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7YUFBTTtZQUNILE9BQU8sS0FBSyxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW9tZXRyeVNoYXBlLCBQbGFpdEdlb21ldHJ5IH0gZnJvbSAnLi9nZW9tZXRyeSc7XG5pbXBvcnQgeyBQbGFpdExpbmUgfSBmcm9tICcuL2xpbmUnO1xuaW1wb3J0IHsgUGxhaXRUZXh0IH0gZnJvbSAnLi90ZXh0JztcblxuZXhwb3J0ICogZnJvbSAnLi9saW5lJztcbmV4cG9ydCAqIGZyb20gJy4vZ2VvbWV0cnknO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0JztcblxuZXhwb3J0IHR5cGUgUGxhaXREcmF3RWxlbWVudCA9IFBsYWl0R2VvbWV0cnkgfCBQbGFpdExpbmU7XG5cbmV4cG9ydCBjb25zdCBQbGFpdERyYXdFbGVtZW50ID0ge1xuICAgIGlzR2VvbWV0cnk6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRHZW9tZXRyeSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50eXBlID09PSAnZ2VvbWV0cnknO1xuICAgIH0sXG4gICAgaXNMaW5lOiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFBsYWl0TGluZSA9PiB7XG4gICAgICAgIHJldHVybiB2YWx1ZS50eXBlID09PSAnbGluZSc7XG4gICAgfSxcbiAgICBpc1RleHQ6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXRUZXh0ID0+IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnR5cGUgPT09ICdnZW9tZXRyeScgJiYgdmFsdWUuc2hhcGUgPT09IEdlb21ldHJ5U2hhcGUudGV4dDtcbiAgICB9LFxuICAgIGlzRHJhd0VsZW1lbnQ6ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgUGxhaXREcmF3RWxlbWVudCA9PiB7XG4gICAgICAgIGlmIChQbGFpdERyYXdFbGVtZW50LmlzR2VvbWV0cnkodmFsdWUpIHx8IFBsYWl0RHJhd0VsZW1lbnQuaXNMaW5lKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59O1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var LineMarkerType;
|
|
2
|
+
(function (LineMarkerType) {
|
|
3
|
+
LineMarkerType["arrow"] = "arrow";
|
|
4
|
+
LineMarkerType["none"] = "none";
|
|
5
|
+
})(LineMarkerType || (LineMarkerType = {}));
|
|
6
|
+
export var LineShape;
|
|
7
|
+
(function (LineShape) {
|
|
8
|
+
LineShape["straight"] = "straight";
|
|
9
|
+
LineShape["curve"] = "curve";
|
|
10
|
+
LineShape["elbow"] = "elbow";
|
|
11
|
+
})(LineShape || (LineShape = {}));
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLENBQU4sSUFBWSxjQUdYO0FBSEQsV0FBWSxjQUFjO0lBQ3RCLGlDQUFlLENBQUE7SUFDZiwrQkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQUVELE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDakIsa0NBQXFCLENBQUE7SUFDckIsNEJBQWUsQ0FBQTtJQUNmLDRCQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLFNBQVMsS0FBVCxTQUFTLFFBSXBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRFbGVtZW50LCBQb2ludCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBlbnVtIExpbmVNYXJrZXJUeXBlIHtcbiAgICBhcnJvdyA9ICdhcnJvdycsXG4gICAgbm9uZSA9ICdub25lJ1xufVxuXG5leHBvcnQgZW51bSBMaW5lU2hhcGUge1xuICAgIHN0cmFpZ2h0ID0gJ3N0cmFpZ2h0JyxcbiAgICBjdXJ2ZSA9ICdjdXJ2ZScsXG4gICAgZWxib3cgPSAnZWxib3cnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZVRleHQge1xuICAgIHRleHQ6IEVsZW1lbnQ7XG4gICAgLy/ln7rkuo7nur/plb/luqbvvIzlrprkvY3nmoTnmb7liIbmr5RcbiAgICBwb3NpdGlvbjogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGluZUhhbmRsZSB7XG4gICAgLy8g5YWz6IGU5YWD57Sg55qEIGlkXG4gICAgYm91bmRJZD86IHN0cmluZztcbiAgICBjb25uZWN0aW9uPzogUG9pbnQ7XG4gICAgbWFya2VyOiBMaW5lTWFya2VyVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdExpbmUgZXh0ZW5kcyBQbGFpdEVsZW1lbnQge1xuICAgIHR5cGU6ICdsaW5lJztcbiAgICBzaGFwZTogTGluZVNoYXBlO1xuICAgIHBvaW50czogUG9pbnRbXTtcblxuICAgIHNvdXJjZTogTGluZUhhbmRsZTtcbiAgICB0YXJnZXQ6IExpbmVIYW5kbGU7XG5cbiAgICB0ZXh0czogTGluZVRleHRbXTtcblxuICAgIC8vIG5vZGUgc3R5bGUgYXR0cmlidXRlc1xuICAgIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICAgIHN0cm9rZVN0eWxlPzogU3Ryb2tlU3R5bGU7XG5cbiAgICBvcGFjaXR5OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFN0cm9rZVN0eWxlID0gJ3NvbGlkJyB8ICdkYXNoZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0U3RyYWlnaHRMaW5lIGV4dGVuZHMgUGxhaXRMaW5lIHtcbiAgICBzaGFwZTogTGluZVNoYXBlLnN0cmFpZ2h0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0Q3VydmVMaW5lIGV4dGVuZHMgUGxhaXRMaW5lIHtcbiAgICBzaGFwZTogTGluZVNoYXBlLmN1cnZlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0RWxib3dMaW5lIGV4dGVuZHMgUGxhaXRMaW5lIHtcbiAgICBzaGFwZTogTGluZVNoYXBlLmVsYm93O1xufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RyYXcvc3JjL2ludGVyZmFjZXMvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRHZW9tZXRyeSwgR2VvbWV0cnlTaGFwZSB9IGZyb20gJy4vZ2VvbWV0cnknO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0VGV4dCBleHRlbmRzIFBsYWl0R2VvbWV0cnkge1xuICAgIHNoYXBlOiBHZW9tZXRyeVNoYXBlLnRleHQ7XG4gICAgYXV0b1NpemU6IGJvb2xlYW47XG59XG4iXX0=
|