@plait/common 0.70.0 → 0.72.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/index.d.ts +1 -0
- package/constants/property.d.ts +5 -0
- package/core/element-flavour.d.ts +0 -8
- package/core/element-ref.d.ts +5 -0
- package/esm2022/constants/index.mjs +2 -1
- package/esm2022/constants/property.mjs +7 -0
- package/esm2022/core/element-flavour.mjs +1 -26
- package/esm2022/core/element-ref.mjs +20 -1
- package/esm2022/utils/clipboard.mjs +30 -0
- package/esm2022/utils/index.mjs +3 -1
- package/esm2022/utils/stroke.mjs +12 -0
- package/esm2022/utils/text.mjs +4 -4
- package/fesm2022/plait-common.mjs +69 -27
- package/fesm2022/plait-common.mjs.map +1 -1
- package/package.json +1 -1
- package/utils/clipboard.d.ts +10 -0
- package/utils/index.d.ts +2 -0
- package/utils/stroke.d.ts +2 -0
- package/utils/text.d.ts +0 -1
package/constants/index.d.ts
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import { ElementFlavour, PlaitBoard, PlaitElement } from '@plait/core';
|
|
2
2
|
import { PlaitCommonElementRef } from './element-ref';
|
|
3
|
-
import { TextManage } from '../text/text-manage';
|
|
4
3
|
export declare class CommonElementFlavour<T extends PlaitElement = PlaitElement, K extends PlaitBoard = PlaitBoard, R extends PlaitCommonElementRef = PlaitCommonElementRef> extends ElementFlavour<T, K, R> {
|
|
5
|
-
private textManages;
|
|
6
4
|
constructor(elementRef?: PlaitCommonElementRef);
|
|
7
|
-
initializeWeakMap(): void;
|
|
8
|
-
destroyWeakMap(): void;
|
|
9
|
-
initializeTextManages(textManages: TextManage[]): void;
|
|
10
|
-
addTextManage(textManage: TextManage): void;
|
|
11
|
-
destroyTextManages(): void;
|
|
12
|
-
getTextManages(): TextManage[];
|
|
13
5
|
}
|
package/core/element-ref.d.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { PlaitElementRef } from '@plait/core';
|
|
2
2
|
import { Generator } from '../generators';
|
|
3
|
+
import { TextManage } from '../text';
|
|
3
4
|
export declare class PlaitCommonElementRef implements PlaitElementRef {
|
|
5
|
+
private textManages;
|
|
4
6
|
private generatorMap;
|
|
5
7
|
addGenerator<T extends Object = Generator>(key: string, generator: T): void;
|
|
6
8
|
getGenerator<T extends Object = Generator>(key: string): T;
|
|
9
|
+
initializeTextManage(textManage: TextManage | TextManage[]): void;
|
|
10
|
+
getTextManages(): TextManage[];
|
|
11
|
+
destroyTextManage(): void;
|
|
7
12
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './default';
|
|
2
2
|
export * from './media';
|
|
3
3
|
export * from './resize';
|
|
4
|
-
|
|
4
|
+
export * from './property';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbnN0YW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGVmYXVsdCc7XG5leHBvcnQgKiBmcm9tICcuL21lZGlhJztcbmV4cG9ydCAqIGZyb20gJy4vcmVzaXplJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHknO1xuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var StrokeStyle;
|
|
2
|
+
(function (StrokeStyle) {
|
|
3
|
+
StrokeStyle["solid"] = "solid";
|
|
4
|
+
StrokeStyle["dashed"] = "dashed";
|
|
5
|
+
StrokeStyle["dotted"] = "dotted";
|
|
6
|
+
})(StrokeStyle || (StrokeStyle = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvbnN0YW50cy9wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxXQUlYO0FBSkQsV0FBWSxXQUFXO0lBQ25CLDhCQUFlLENBQUE7SUFDZixnQ0FBaUIsQ0FBQTtJQUNqQixnQ0FBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTdHJva2VTdHlsZSB7XG4gICAgc29saWQgPSAnc29saWQnLFxuICAgIGRhc2hlZCA9ICdkYXNoZWQnLFxuICAgIGRvdHRlZCA9ICdkb3R0ZWQnXG59XG4iXX0=
|
|
@@ -1,33 +1,8 @@
|
|
|
1
1
|
import { ElementFlavour } from '@plait/core';
|
|
2
|
-
import { ELEMENT_TO_TEXT_MANAGES } from '../utils/text';
|
|
3
2
|
import { PlaitCommonElementRef } from './element-ref';
|
|
4
3
|
export class CommonElementFlavour extends ElementFlavour {
|
|
5
4
|
constructor(elementRef = new PlaitCommonElementRef()) {
|
|
6
5
|
super(elementRef);
|
|
7
|
-
this.textManages = [];
|
|
8
|
-
}
|
|
9
|
-
initializeWeakMap() {
|
|
10
|
-
ELEMENT_TO_TEXT_MANAGES.set(this.element, this.textManages);
|
|
11
|
-
}
|
|
12
|
-
destroyWeakMap() {
|
|
13
|
-
ELEMENT_TO_TEXT_MANAGES.delete(this.element);
|
|
14
|
-
}
|
|
15
|
-
initializeTextManages(textManages) {
|
|
16
|
-
this.textManages = textManages;
|
|
17
|
-
this.initializeWeakMap();
|
|
18
|
-
}
|
|
19
|
-
addTextManage(textManage) {
|
|
20
|
-
this.textManages.push(textManage);
|
|
21
|
-
}
|
|
22
|
-
destroyTextManages() {
|
|
23
|
-
this.getTextManages().forEach(manage => {
|
|
24
|
-
manage.destroy();
|
|
25
|
-
});
|
|
26
|
-
this.textManages = [];
|
|
27
|
-
this.destroyWeakMap();
|
|
28
|
-
}
|
|
29
|
-
getTextManages() {
|
|
30
|
-
return this.textManages;
|
|
31
6
|
}
|
|
32
7
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1mbGF2b3VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9jb3JlL2VsZW1lbnQtZmxhdm91ci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUE0QixNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEQsTUFBTSxPQUFPLG9CQUlYLFNBQVEsY0FBdUI7SUFDN0IsWUFBWSxVQUFVLEdBQUcsSUFBSSxxQkFBcUIsRUFBRTtRQUNoRCxLQUFLLENBQUMsVUFBZSxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudEZsYXZvdXIsIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IFBsYWl0Q29tbW9uRWxlbWVudFJlZiB9IGZyb20gJy4vZWxlbWVudC1yZWYnO1xuXG5leHBvcnQgY2xhc3MgQ29tbW9uRWxlbWVudEZsYXZvdXI8XG4gICAgVCBleHRlbmRzIFBsYWl0RWxlbWVudCA9IFBsYWl0RWxlbWVudCxcbiAgICBLIGV4dGVuZHMgUGxhaXRCb2FyZCA9IFBsYWl0Qm9hcmQsXG4gICAgUiBleHRlbmRzIFBsYWl0Q29tbW9uRWxlbWVudFJlZiA9IFBsYWl0Q29tbW9uRWxlbWVudFJlZlxuPiBleHRlbmRzIEVsZW1lbnRGbGF2b3VyPFQsIEssIFI+IHtcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmID0gbmV3IFBsYWl0Q29tbW9uRWxlbWVudFJlZigpKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYgYXMgUik7XG4gICAgfVxufVxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export class PlaitCommonElementRef {
|
|
2
2
|
constructor() {
|
|
3
|
+
this.textManages = [];
|
|
3
4
|
this.generatorMap = new Map();
|
|
4
5
|
}
|
|
5
6
|
addGenerator(key, generator) {
|
|
@@ -8,5 +9,23 @@ export class PlaitCommonElementRef {
|
|
|
8
9
|
getGenerator(key) {
|
|
9
10
|
return this.generatorMap.get(key);
|
|
10
11
|
}
|
|
12
|
+
initializeTextManage(textManage) {
|
|
13
|
+
this.textManages = [];
|
|
14
|
+
if (Array.isArray(textManage)) {
|
|
15
|
+
this.textManages.push(...textManage);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
this.textManages.push(textManage);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
getTextManages() {
|
|
22
|
+
return this.textManages;
|
|
23
|
+
}
|
|
24
|
+
destroyTextManage() {
|
|
25
|
+
this.textManages.forEach(textManage => {
|
|
26
|
+
textManage.destroy();
|
|
27
|
+
});
|
|
28
|
+
this.textManages = [];
|
|
29
|
+
}
|
|
11
30
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2NvcmUvZWxlbWVudC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLHFCQUFxQjtJQUFsQztRQUNZLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUUvQixpQkFBWSxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO0lBNkJqRSxDQUFDO0lBM0JHLFlBQVksQ0FBK0IsR0FBVyxFQUFFLFNBQVk7UUFDaEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxZQUFZLENBQStCLEdBQVc7UUFDbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQU0sQ0FBQztJQUMzQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsVUFBcUM7UUFDdEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDbEMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7SUFDMUIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRFbGVtZW50UmVmIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgR2VuZXJhdG9yIH0gZnJvbSAnLi4vZ2VuZXJhdG9ycyc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlIH0gZnJvbSAnLi4vdGV4dCc7XG5cbmV4cG9ydCBjbGFzcyBQbGFpdENvbW1vbkVsZW1lbnRSZWYgaW1wbGVtZW50cyBQbGFpdEVsZW1lbnRSZWYge1xuICAgIHByaXZhdGUgdGV4dE1hbmFnZXM6IFRleHRNYW5hZ2VbXSA9IFtdO1xuXG4gICAgcHJpdmF0ZSBnZW5lcmF0b3JNYXAgPSBuZXcgTWFwPHN0cmluZywgR2VuZXJhdG9yIHwgT2JqZWN0PigpO1xuXG4gICAgYWRkR2VuZXJhdG9yPFQgZXh0ZW5kcyBPYmplY3QgPSBHZW5lcmF0b3I+KGtleTogc3RyaW5nLCBnZW5lcmF0b3I6IFQpIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0b3JNYXAuc2V0KGtleSwgZ2VuZXJhdG9yKTtcbiAgICB9XG5cbiAgICBnZXRHZW5lcmF0b3I8VCBleHRlbmRzIE9iamVjdCA9IEdlbmVyYXRvcj4oa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdG9yTWFwLmdldChrZXkpIGFzIFQ7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZVRleHRNYW5hZ2UodGV4dE1hbmFnZTogVGV4dE1hbmFnZSB8IFRleHRNYW5hZ2VbXSkge1xuICAgICAgICB0aGlzLnRleHRNYW5hZ2VzID0gW107XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRleHRNYW5hZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLnRleHRNYW5hZ2VzLnB1c2goLi4udGV4dE1hbmFnZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRleHRNYW5hZ2VzLnB1c2godGV4dE1hbmFnZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRUZXh0TWFuYWdlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGV4dE1hbmFnZXM7XG4gICAgfVxuXG4gICAgZGVzdHJveVRleHRNYW5hZ2UoKSB7XG4gICAgICAgIHRoaXMudGV4dE1hbmFnZXMuZm9yRWFjaCh0ZXh0TWFuYWdlID0+IHtcbiAgICAgICAgICAgIHRleHRNYW5hZ2UuZGVzdHJveSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy50ZXh0TWFuYWdlcyA9IFtdO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { idCreator, Transforms } from '@plait/core';
|
|
2
|
+
export const buildClipboardData = (board, elements, startPoint, elementBuilder) => {
|
|
3
|
+
return elements.map(element => {
|
|
4
|
+
const newElement = elementBuilder && elementBuilder(element);
|
|
5
|
+
if (newElement) {
|
|
6
|
+
return newElement;
|
|
7
|
+
}
|
|
8
|
+
if (element.points) {
|
|
9
|
+
const points = element.points.map(point => [point[0] - startPoint[0], point[1] - startPoint[1]]);
|
|
10
|
+
return { ...element, points };
|
|
11
|
+
}
|
|
12
|
+
return element;
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
export const insertClipboardData = (board, elements, startPoint, elementHandler) => {
|
|
16
|
+
const idsMap = {};
|
|
17
|
+
elements.forEach(element => {
|
|
18
|
+
idsMap[element.id] = idCreator();
|
|
19
|
+
});
|
|
20
|
+
elements.forEach(element => {
|
|
21
|
+
element.id = idsMap[element.id];
|
|
22
|
+
elementHandler && elementHandler(element, idsMap);
|
|
23
|
+
if (element.points) {
|
|
24
|
+
element.points = element.points.map(point => [startPoint[0] + point[0], startPoint[1] + point[1]]);
|
|
25
|
+
}
|
|
26
|
+
Transforms.insertNode(board, element, [board.children.length]);
|
|
27
|
+
});
|
|
28
|
+
Transforms.addSelectionWithTemporaryElements(board, elements);
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy91dGlscy9jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBbUMsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXJGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQzlCLEtBQWlCLEVBQ2pCLFFBQXdCLEVBQ3hCLFVBQWlCLEVBQ2pCLGNBQW9FLEVBQ3RFLEVBQUU7SUFDQSxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDMUIsTUFBTSxVQUFVLEdBQUcsY0FBYyxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RCxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pHLE9BQU8sRUFBRSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUMvQixLQUFpQixFQUNqQixRQUF3QixFQUN4QixVQUFpQixFQUNqQixjQUFnRixFQUNsRixFQUFFO0lBQ0EsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztJQUMxQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDckMsQ0FBQyxDQUFDLENBQUM7SUFDSCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ3ZCLE9BQU8sQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxjQUFjLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixPQUFPLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBbUIsQ0FBQztRQUN6SCxDQUFDO1FBQ0QsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUMsQ0FBQyxDQUFDO0lBQ0gsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpZENyZWF0b3IsIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFRyYW5zZm9ybXMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBidWlsZENsaXBib2FyZERhdGEgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdLFxuICAgIHN0YXJ0UG9pbnQ6IFBvaW50LFxuICAgIGVsZW1lbnRCdWlsZGVyPzogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gUGxhaXRFbGVtZW50IHwgdW5kZWZpbmVkXG4pID0+IHtcbiAgICByZXR1cm4gZWxlbWVudHMubWFwKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBuZXdFbGVtZW50ID0gZWxlbWVudEJ1aWxkZXIgJiYgZWxlbWVudEJ1aWxkZXIoZWxlbWVudCk7XG4gICAgICAgIGlmIChuZXdFbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3RWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZWxlbWVudC5wb2ludHMpIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50cyA9IGVsZW1lbnQucG9pbnRzLm1hcChwb2ludCA9PiBbcG9pbnRbMF0gLSBzdGFydFBvaW50WzBdLCBwb2ludFsxXSAtIHN0YXJ0UG9pbnRbMV1dKTtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLmVsZW1lbnQsIHBvaW50cyB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGluc2VydENsaXBib2FyZERhdGEgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdLFxuICAgIHN0YXJ0UG9pbnQ6IFBvaW50LFxuICAgIGVsZW1lbnRIYW5kbGVyPzogKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCwgaWRzTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KSA9PiB2b2lkXG4pID0+IHtcbiAgICBjb25zdCBpZHNNYXA6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBpZHNNYXBbZWxlbWVudC5pZF0gPSBpZENyZWF0b3IoKTtcbiAgICB9KTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBlbGVtZW50LmlkID0gaWRzTWFwW2VsZW1lbnQuaWRdO1xuICAgICAgICBlbGVtZW50SGFuZGxlciAmJiBlbGVtZW50SGFuZGxlcihlbGVtZW50LCBpZHNNYXApO1xuICAgICAgICBpZiAoZWxlbWVudC5wb2ludHMpIHtcbiAgICAgICAgICAgIGVsZW1lbnQucG9pbnRzID0gZWxlbWVudC5wb2ludHMubWFwKHBvaW50ID0+IFtzdGFydFBvaW50WzBdICsgcG9pbnRbMF0sIHN0YXJ0UG9pbnRbMV0gKyBwb2ludFsxXV0pIGFzIFtQb2ludCwgUG9pbnRdO1xuICAgICAgICB9XG4gICAgICAgIFRyYW5zZm9ybXMuaW5zZXJ0Tm9kZShib2FyZCwgZWxlbWVudCwgW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF0pO1xuICAgIH0pO1xuICAgIFRyYW5zZm9ybXMuYWRkU2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkLCBlbGVtZW50cyk7XG59O1xuIl19
|
package/esm2022/utils/index.mjs
CHANGED
|
@@ -14,4 +14,6 @@ export * from './drawing';
|
|
|
14
14
|
export * from './rotate';
|
|
15
15
|
export * from './elements';
|
|
16
16
|
export * from './animate';
|
|
17
|
-
|
|
17
|
+
export * from './stroke';
|
|
18
|
+
export * from './clipboard';
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXNpemUnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5lLXBhdGgnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZhdWx0LW9ydGhvZ29uYWwtcm91dGluZyc7XG5leHBvcnQgKiBmcm9tICcuL2hvdC1rZXknO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGlvbi1tb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dCc7XG5leHBvcnQgKiBmcm9tICcuL2ltYWdlJztcbmV4cG9ydCAqIGZyb20gJy4vZWxib3ctbGluZS1yb3V0ZSc7XG5leHBvcnQgKiBmcm9tICcuL21lbW9yaXplJztcbmV4cG9ydCAqIGZyb20gJy4vdmVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbWF0aCc7XG5leHBvcnQgKiBmcm9tICcuL2RyYXdpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9yb3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9lbGVtZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2FuaW1hdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJva2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGlwYm9hcmQnO1xuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { StrokeStyle } from '../constants';
|
|
2
|
+
export const getStrokeLineDash = (strokeStyle, strokeWidth) => {
|
|
3
|
+
switch (strokeStyle) {
|
|
4
|
+
case StrokeStyle.dashed:
|
|
5
|
+
return [8, 8 + strokeWidth];
|
|
6
|
+
case StrokeStyle.dotted:
|
|
7
|
+
return [2, 4 + strokeWidth];
|
|
8
|
+
default:
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Ryb2tlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy91dGlscy9zdHJva2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFdBQXdCLEVBQUUsV0FBbUIsRUFBRSxFQUFFO0lBQy9FLFFBQVEsV0FBVyxFQUFFLENBQUM7UUFDbEIsS0FBSyxXQUFXLENBQUMsTUFBTTtZQUNuQixPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQztRQUNoQyxLQUFLLFdBQVcsQ0FBQyxNQUFNO1lBQ25CLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDO1FBQ2hDO1lBQ0ksT0FBTyxTQUFTLENBQUM7SUFDekIsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0cm9rZVN0eWxlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcblxuZXhwb3J0IGNvbnN0IGdldFN0cm9rZUxpbmVEYXNoID0gKHN0cm9rZVN0eWxlOiBTdHJva2VTdHlsZSwgc3Ryb2tlV2lkdGg6IG51bWJlcikgPT4ge1xuICAgIHN3aXRjaCAoc3Ryb2tlU3R5bGUpIHtcbiAgICAgICAgY2FzZSBTdHJva2VTdHlsZS5kYXNoZWQ6XG4gICAgICAgICAgICByZXR1cm4gWzgsIDggKyBzdHJva2VXaWR0aF07XG4gICAgICAgIGNhc2UgU3Ryb2tlU3R5bGUuZG90dGVkOlxuICAgICAgICAgICAgcmV0dXJuIFsyLCA0ICsgc3Ryb2tlV2lkdGhdO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59O1xuIl19
|
package/esm2022/utils/text.mjs
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { getSelectedElements } from '@plait/core';
|
|
1
|
+
import { PlaitElement, getSelectedElements } from '@plait/core';
|
|
2
2
|
import { Node } from 'slate';
|
|
3
3
|
export const getTextManages = (element) => {
|
|
4
|
-
|
|
4
|
+
const ref = PlaitElement.getElementRef(element);
|
|
5
|
+
return ref?.getTextManages() || [];
|
|
5
6
|
};
|
|
6
7
|
export const getFirstTextManage = (element) => {
|
|
7
8
|
const textManage = getTextManages(element)[0];
|
|
@@ -101,5 +102,4 @@ export const getLineHeightByFontSize = (fontSize) => {
|
|
|
101
102
|
}
|
|
102
103
|
return fontSize * 1.5;
|
|
103
104
|
};
|
|
104
|
-
export const ELEMENT_TO_TEXT_MANAGES = new WeakMap();
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvdXRpbHMvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBVSxJQUFJLEVBQVcsTUFBTSxPQUFPLENBQUM7QUFZOUMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFO0lBQ3BELE9BQU8sdUJBQXVCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN0RCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQXFCLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBNkMsQ0FBQyxPQUFxQixFQUFFLEVBQUU7SUFDdkcsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3hDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUF3QyxDQUFDLE9BQXFCLEVBQUUsRUFBRTtJQUM3RixNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RCxJQUFJLENBQUMsVUFBVSxFQUFFLENB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dUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUN4RCxJQUFJLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxPQUFPLFFBQVEsR0FBRyxHQUFHLENBQUM7QUFDMUIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQXdDLElBQUksT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBFZGl0b3IsIE5vZGUsIEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUZXh0TWFuYWdlIH0gZnJvbSAnLi4vdGV4dC90ZXh0LW1hbmFnZSc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIEN1c3RvbVRleHQsIFBhcmFncmFwaEVsZW1lbnQgfSBmcm9tICcuLi90ZXh0L3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUZXh0SW50ZXJmYWNlIHtcbiAgICBnZXRUZXh0RWRpdG9yczogKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50cz86IFBsYWl0RWxlbWVudFtdKSA9PiBFZGl0b3JbXSB8IHVuZGVmaW5lZDtcbiAgICBmaW5kRmlyc3RUZXh0RWRpdG9yOiAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IG51bGw7XG4gICAgZ2V0Rmlyc3RUZXh0RWRpdG9yOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBFZGl0b3I7XG4gICAgZ2V0VGV4dEVkaXRvcnNCeUVsZW1lbnQ6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IEVkaXRvcltdO1xuICAgIGdldEVkaXRpbmdUZXh0RWRpdG9yOiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzPzogUGxhaXRFbGVtZW50W10pID0+IEVkaXRvciB8IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgY29uc3QgZ2V0VGV4dE1hbmFnZXMgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgcmV0dXJuIEVMRU1FTlRfVE9fVEVYVF9NQU5BR0VTLmdldChlbGVtZW50KSB8fCBbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdFRleHRNYW5hZ2UgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgdGV4dE1hbmFnZSA9IGdldFRleHRNYW5hZ2VzKGVsZW1lbnQpWzBdO1xuICAgIGlmICghdGV4dE1hbmFnZSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ2NhbiBub3QgZmluZCB0ZXh0TWFuYWdlJyk7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0TWFuYWdlO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRleHRFZGl0b3JzQnlFbGVtZW50OiBUZXh0SW50ZXJmYWNlWydnZXRUZXh0RWRpdG9yc0J5RWxlbWVudCddID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIHJldHVybiBnZXRUZXh0TWFuYWdlcyhlbGVtZW50KS5tYXAobWFuYWdlID0+IHtcbiAgICAgICAgcmV0dXJuIG1hbmFnZS5lZGl0b3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmlyc3RUZXh0RWRpdG9yOiBUZXh0SW50ZXJmYWNlWydnZXRGaXJzdFRleHRFZGl0b3InXSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB0ZXh0RWRpdG9yID0gZ2V0VGV4dEVkaXRvcnNCeUVsZW1lbnQoZWxlbWVudClbMF07XG4gICAgaWYgKCF0ZXh0RWRpdG9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignY2FuIG5vdCBmaW5kIHRleHRNYW5hZ2UnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRleHRFZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZEZpcnN0VGV4dEVkaXRvcjogVGV4dEludGVyZmFjZVsnZmluZEZpcnN0VGV4dEVkaXRvciddID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGxldCBmaXJzdEVkaXRvcjogRWRpdG9yIHwgbnVsbCA9IG51bGw7XG4gICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBlZGl0b3JzID0gZ2V0VGV4dEVkaXRvcnNCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGlmICghZmlyc3RFZGl0b3IgJiYgZWRpdG9ycyAmJiBlZGl0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZpcnN0RWRpdG9yID0gZWRpdG9yc1swXTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBmaXJzdEVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbGVtZW50c1RleHQgPSAoZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRzXG4gICAgICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVkaXRvcnMgPSBnZXRUZXh0RWRpdG9yc0J5RWxlbWVudChpdGVtKTtcbiAgICAgICAgICAgICAgICBpZiAoZWRpdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVkaXRvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoZWRpdG9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0c0VudHJ5ID0gTm9kZS50ZXh0cyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRleHRzRW50cnkpLnJlZHVjZSgodG90YWwsIHRleHQpID0+ICh0b3RhbCArPSB0ZXh0WzBdLnRleHQpLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJyAnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtKVxuICAgICAgICAuam9pbignICcpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRleHRFZGl0b3JzOiBUZXh0SW50ZXJmYWNlWydnZXRUZXh0RWRpdG9ycyddID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50cz86IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGVsZW1lbnRzIHx8IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCB0ZXh0TWFuYWdlczogVGV4dE1hbmFnZVtdID0gW107XG4gICAgICAgIHNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIHRleHRNYW5hZ2VzLnB1c2goLi4uZ2V0VGV4dE1hbmFnZXMoaXRlbSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZWRpdGluZ1RleHRNYW5hZ2UgPSB0ZXh0TWFuYWdlcy5maW5kKHRleHRNYW5hZ2UgPT4gdGV4dE1hbmFnZS5pc0VkaXRpbmcpO1xuICAgICAgICBpZiAoZWRpdGluZ1RleHRNYW5hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBbZWRpdGluZ1RleHRNYW5hZ2UuZWRpdG9yXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGV4dE1hbmFnZXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZWRpdG9yO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFZGl0aW5nVGV4dEVkaXRvcjogVGV4dEludGVyZmFjZVsnZ2V0RWRpdGluZ1RleHRFZGl0b3InXSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM/OiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBlbGVtZW50cyB8fCBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICBjb25zdCB0ZXh0TWFuYWdlczogVGV4dE1hbmFnZVtdID0gW107XG4gICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICB0ZXh0TWFuYWdlcy5wdXNoKC4uLmdldFRleHRNYW5hZ2VzKGl0ZW0pKTtcbiAgICB9KTtcbiAgICBjb25zdCBlZGl0aW5nVGV4dE1hbmFnZSA9IHRleHRNYW5hZ2VzLmZpbmQodGV4dE1hbmFnZSA9PiB0ZXh0TWFuYWdlLmlzRWRpdGluZyk7XG4gICAgaWYgKGVkaXRpbmdUZXh0TWFuYWdlKSB7XG4gICAgICAgIHJldHVybiBlZGl0aW5nVGV4dE1hbmFnZS5lZGl0b3I7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRUZXh0ID0gKHRleHQ6IHN0cmluZyB8IEVsZW1lbnQsIGFsaWduPzogQWxpZ25tZW50LCBwcm9wZXJ0aWVzPzogUGFydGlhbDxDdXN0b21UZXh0PikgPT4ge1xuICAgIHByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzIHx8IHt9O1xuICAgIGNvbnN0IHBsYWl0VGV4dCA9IHR5cGVvZiB0ZXh0ID09PSAnc3RyaW5nJyA/IHsgY2hpbGRyZW46IFt7IHRleHQsIC4uLnByb3BlcnRpZXMgfV0gfSA6IHRleHQ7XG4gICAgaWYgKGFsaWduKSB7XG4gICAgICAgIChwbGFpdFRleHQgYXMgUGFyYWdyYXBoRWxlbWVudCkuYWxpZ24gPSBhbGlnbjtcbiAgICB9XG4gICAgcmV0dXJuIHBsYWl0VGV4dDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMaW5lSGVpZ2h0QnlGb250U2l6ZSA9IChmb250U2l6ZTogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGZvbnRTaXplID09PSAxNCkge1xuICAgICAgICByZXR1cm4gMjA7XG4gICAgfVxuICAgIGlmIChmb250U2l6ZSA9PT0gMTgpIHtcbiAgICAgICAgcmV0dXJuIDI1O1xuICAgIH1cbiAgICByZXR1cm4gZm9udFNpemUgKiAxLjU7XG59O1xuXG5leHBvcnQgY29uc3QgRUxFTUVOVF9UT19URVhUX01BTkFHRVM6IFdlYWtNYXA8UGxhaXRFbGVtZW50LCBUZXh0TWFuYWdlW10+ID0gbmV3IFdlYWtNYXAoKTtcbiJdfQ==
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvdXRpbHMvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBVSxJQUFJLEVBQVcsTUFBTSxPQUFPLENBQUM7QUFhOUMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFO0lBQ3BELE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQXdCLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sR0FBRyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUN2QyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQXFCLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBNkMsQ0FBQyxPQUFxQixFQUFFLEVBQUU7SUFDdkcsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3hDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN6QixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUF3QyxDQUFDLE9BQXFCLEVBQUUsRUFBRTtJQUM3RixNQUFNLFVBQVUsR0FBRyx1QkFBdUIsQ0FBQyxPQUFP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QUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUN4RCxJQUFJLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxPQUFPLFFBQVEsR0FBRyxHQUFHLENBQUM7QUFDMUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yLCBOb2RlLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgVGV4dE1hbmFnZSB9IGZyb20gJy4uL3RleHQvdGV4dC1tYW5hZ2UnO1xuaW1wb3J0IHsgQWxpZ25tZW50LCBDdXN0b21UZXh0LCBQYXJhZ3JhcGhFbGVtZW50IH0gZnJvbSAnLi4vdGV4dC90eXBlcyc7XG5pbXBvcnQgeyBQbGFpdENvbW1vbkVsZW1lbnRSZWYgfSBmcm9tICcuLi9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBUZXh0SW50ZXJmYWNlIHtcbiAgICBnZXRUZXh0RWRpdG9yczogKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50cz86IFBsYWl0RWxlbWVudFtdKSA9PiBFZGl0b3JbXSB8IHVuZGVmaW5lZDtcbiAgICBmaW5kRmlyc3RUZXh0RWRpdG9yOiAoYm9hcmQ6IFBsYWl0Qm9hcmQpID0+IG51bGw7XG4gICAgZ2V0Rmlyc3RUZXh0RWRpdG9yOiAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiBFZGl0b3I7XG4gICAgZ2V0VGV4dEVkaXRvcnNCeUVsZW1lbnQ6IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IEVkaXRvcltdO1xuICAgIGdldEVkaXRpbmdUZXh0RWRpdG9yOiAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzPzogUGxhaXRFbGVtZW50W10pID0+IEVkaXRvciB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGNvbnN0IGdldFRleHRNYW5hZ2VzID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHJlZiA9IFBsYWl0RWxlbWVudC5nZXRFbGVtZW50UmVmPFBsYWl0Q29tbW9uRWxlbWVudFJlZj4oZWxlbWVudCk7XG4gICAgcmV0dXJuIHJlZj8uZ2V0VGV4dE1hbmFnZXMoKSB8fCBbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdFRleHRNYW5hZ2UgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgdGV4dE1hbmFnZSA9IGdldFRleHRNYW5hZ2VzKGVsZW1lbnQpWzBdO1xuICAgIGlmICghdGV4dE1hbmFnZSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ2NhbiBub3QgZmluZCB0ZXh0TWFuYWdlJyk7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0TWFuYWdlO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRleHRFZGl0b3JzQnlFbGVtZW50OiBUZXh0SW50ZXJmYWNlWydnZXRUZXh0RWRpdG9yc0J5RWxlbWVudCddID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIHJldHVybiBnZXRUZXh0TWFuYWdlcyhlbGVtZW50KS5tYXAobWFuYWdlID0+IHtcbiAgICAgICAgcmV0dXJuIG1hbmFnZS5lZGl0b3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmlyc3RUZXh0RWRpdG9yOiBUZXh0SW50ZXJmYWNlWydnZXRGaXJzdFRleHRFZGl0b3InXSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB0ZXh0RWRpdG9yID0gZ2V0VGV4dEVkaXRvcnNCeUVsZW1lbnQoZWxlbWVudClbMF07XG4gICAgaWYgKCF0ZXh0RWRpdG9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignY2FuIG5vdCBmaW5kIHRleHRNYW5hZ2UnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRleHRFZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZEZpcnN0VGV4dEVkaXRvcjogVGV4dEludGVyZmFjZVsnZmluZEZpcnN0VGV4dEVkaXRvciddID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGxldCBmaXJzdEVkaXRvcjogRWRpdG9yIHwgbnVsbCA9IG51bGw7XG4gICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBlZGl0b3JzID0gZ2V0VGV4dEVkaXRvcnNCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGlmICghZmlyc3RFZGl0b3IgJiYgZWRpdG9ycyAmJiBlZGl0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZpcnN0RWRpdG9yID0gZWRpdG9yc1swXTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBmaXJzdEVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbGVtZW50c1RleHQgPSAoZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRzXG4gICAgICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVkaXRvcnMgPSBnZXRUZXh0RWRpdG9yc0J5RWxlbWVudChpdGVtKTtcbiAgICAgICAgICAgICAgICBpZiAoZWRpdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVkaXRvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoZWRpdG9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0c0VudHJ5ID0gTm9kZS50ZXh0cyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRleHRzRW50cnkpLnJlZHVjZSgodG90YWwsIHRleHQpID0+ICh0b3RhbCArPSB0ZXh0WzBdLnRleHQpLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJyAnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtKVxuICAgICAgICAuam9pbignICcpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRleHRFZGl0b3JzOiBUZXh0SW50ZXJmYWNlWydnZXRUZXh0RWRpdG9ycyddID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBlbGVtZW50cz86IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGVsZW1lbnRzIHx8IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCB0ZXh0TWFuYWdlczogVGV4dE1hbmFnZVtdID0gW107XG4gICAgICAgIHNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgIHRleHRNYW5hZ2VzLnB1c2goLi4uZ2V0VGV4dE1hbmFnZXMoaXRlbSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZWRpdGluZ1RleHRNYW5hZ2UgPSB0ZXh0TWFuYWdlcy5maW5kKHRleHRNYW5hZ2UgPT4gdGV4dE1hbmFnZS5pc0VkaXRpbmcpO1xuICAgICAgICBpZiAoZWRpdGluZ1RleHRNYW5hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBbZWRpdGluZ1RleHRNYW5hZ2UuZWRpdG9yXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGV4dE1hbmFnZXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uZWRpdG9yO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFZGl0aW5nVGV4dEVkaXRvcjogVGV4dEludGVyZmFjZVsnZ2V0RWRpdGluZ1RleHRFZGl0b3InXSA9IChib2FyZDogUGxhaXRCb2FyZCwgZWxlbWVudHM/OiBQbGFpdEVsZW1lbnRbXSkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBlbGVtZW50cyB8fCBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICBjb25zdCB0ZXh0TWFuYWdlczogVGV4dE1hbmFnZVtdID0gW107XG4gICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICB0ZXh0TWFuYWdlcy5wdXNoKC4uLmdldFRleHRNYW5hZ2VzKGl0ZW0pKTtcbiAgICB9KTtcbiAgICBjb25zdCBlZGl0aW5nVGV4dE1hbmFnZSA9IHRleHRNYW5hZ2VzLmZpbmQodGV4dE1hbmFnZSA9PiB0ZXh0TWFuYWdlLmlzRWRpdGluZyk7XG4gICAgaWYgKGVkaXRpbmdUZXh0TWFuYWdlKSB7XG4gICAgICAgIHJldHVybiBlZGl0aW5nVGV4dE1hbmFnZS5lZGl0b3I7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgYnVpbGRUZXh0ID0gKHRleHQ6IHN0cmluZyB8IEVsZW1lbnQsIGFsaWduPzogQWxpZ25tZW50LCBwcm9wZXJ0aWVzPzogUGFydGlhbDxDdXN0b21UZXh0PikgPT4ge1xuICAgIHByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzIHx8IHt9O1xuICAgIGNvbnN0IHBsYWl0VGV4dCA9IHR5cGVvZiB0ZXh0ID09PSAnc3RyaW5nJyA/IHsgY2hpbGRyZW46IFt7IHRleHQsIC4uLnByb3BlcnRpZXMgfV0gfSA6IHRleHQ7XG4gICAgaWYgKGFsaWduKSB7XG4gICAgICAgIChwbGFpdFRleHQgYXMgUGFyYWdyYXBoRWxlbWVudCkuYWxpZ24gPSBhbGlnbjtcbiAgICB9XG4gICAgcmV0dXJuIHBsYWl0VGV4dDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMaW5lSGVpZ2h0QnlGb250U2l6ZSA9IChmb250U2l6ZTogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGZvbnRTaXplID09PSAxNCkge1xuICAgICAgICByZXR1cm4gMjA7XG4gICAgfVxuICAgIGlmIChmb250U2l6ZSA9PT0gMTgpIHtcbiAgICAgICAgcmV0dXJuIDI1O1xuICAgIH1cbiAgICByZXR1cm4gZm9udFNpemUgKiAxLjU7XG59O1xuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PlaitGroupElement, getSelectionAngle, getElementsInGroup, setAngleForG, RectangleClient, drawCircle, PlaitBoard, RESIZE_HANDLE_CLASS_NAME, DEFAULT_COLOR, createG, setStrokeLinecap, drawRectangle, SELECTION_RECTANGLE_CLASS_NAME, ResizeCursorClass, RESIZE_CURSORS, setDragging, rotatePoints, isSelectionMoving, getSelectedElements, distanceBetweenPointAndPoint, Point, Direction, hotkeys, createDebugGenerator, createForeignObject, ACTIVE_STROKE_WIDTH, updateForeignObject,
|
|
1
|
+
import { PlaitGroupElement, getSelectionAngle, getElementsInGroup, setAngleForG, RectangleClient, drawCircle, PlaitBoard, RESIZE_HANDLE_CLASS_NAME, DEFAULT_COLOR, createG, setStrokeLinecap, drawRectangle, SELECTION_RECTANGLE_CLASS_NAME, ResizeCursorClass, RESIZE_CURSORS, setDragging, rotatePoints, isSelectionMoving, getSelectedElements, distanceBetweenPointAndPoint, Point, Direction, hotkeys, PlaitElement, createDebugGenerator, idCreator, Transforms, createForeignObject, ACTIVE_STROKE_WIDTH, updateForeignObject, getHighestSelectedElements, getRectangleByElements, MERGING, PlaitPointerType, isMainPointer, toViewBoxPoint, toHostPoint, PRESS_AND_MOVE_BUFFER, isDragging, throttleRAF, getRectangleByGroup, ElementFlavour, isSelectedElementOrGroup, Selection, isMovingElements, getHitElementsBySelection, createGroupRectangleG, getSelectedGroups, getHighestSelectedGroups, getSelectedIsolatedElements, getSelectedIsolatedElementsCanAddToGroup, getGroupByElement, updateForeignObjectWidth, IS_TEXT_EDITABLE } from '@plait/core';
|
|
2
2
|
import { isKeyHotkey } from 'is-hotkey';
|
|
3
3
|
import { Node, Operation, Transforms as Transforms$1, Range, Editor } from 'slate';
|
|
4
4
|
import { fromEvent, timer } from 'rxjs';
|
|
@@ -34,6 +34,13 @@ var ResizeHandle;
|
|
|
34
34
|
ResizeHandle["w"] = "7";
|
|
35
35
|
})(ResizeHandle || (ResizeHandle = {}));
|
|
36
36
|
|
|
37
|
+
var StrokeStyle;
|
|
38
|
+
(function (StrokeStyle) {
|
|
39
|
+
StrokeStyle["solid"] = "solid";
|
|
40
|
+
StrokeStyle["dashed"] = "dashed";
|
|
41
|
+
StrokeStyle["dotted"] = "dotted";
|
|
42
|
+
})(StrokeStyle || (StrokeStyle = {}));
|
|
43
|
+
|
|
37
44
|
class Generator {
|
|
38
45
|
constructor(board, options) {
|
|
39
46
|
this.board = board;
|
|
@@ -682,7 +689,8 @@ const isDrawingMode = (board) => {
|
|
|
682
689
|
};
|
|
683
690
|
|
|
684
691
|
const getTextManages = (element) => {
|
|
685
|
-
|
|
692
|
+
const ref = PlaitElement.getElementRef(element);
|
|
693
|
+
return ref?.getTextManages() || [];
|
|
686
694
|
};
|
|
687
695
|
const getFirstTextManage = (element) => {
|
|
688
696
|
const textManage = getTextManages(element)[0];
|
|
@@ -782,7 +790,6 @@ const getLineHeightByFontSize = (fontSize) => {
|
|
|
782
790
|
}
|
|
783
791
|
return fontSize * 1.5;
|
|
784
792
|
};
|
|
785
|
-
const ELEMENT_TO_TEXT_MANAGES = new WeakMap();
|
|
786
793
|
|
|
787
794
|
const selectImage = (board, defaultImageWidth, handle, acceptImageTypes = ['png', 'jpeg', 'gif', 'bmp']) => {
|
|
788
795
|
const inputFile = document.createElement('input');
|
|
@@ -1283,6 +1290,46 @@ function linear(t) {
|
|
|
1283
1290
|
return t;
|
|
1284
1291
|
}
|
|
1285
1292
|
|
|
1293
|
+
const getStrokeLineDash = (strokeStyle, strokeWidth) => {
|
|
1294
|
+
switch (strokeStyle) {
|
|
1295
|
+
case StrokeStyle.dashed:
|
|
1296
|
+
return [8, 8 + strokeWidth];
|
|
1297
|
+
case StrokeStyle.dotted:
|
|
1298
|
+
return [2, 4 + strokeWidth];
|
|
1299
|
+
default:
|
|
1300
|
+
return undefined;
|
|
1301
|
+
}
|
|
1302
|
+
};
|
|
1303
|
+
|
|
1304
|
+
const buildClipboardData = (board, elements, startPoint, elementBuilder) => {
|
|
1305
|
+
return elements.map(element => {
|
|
1306
|
+
const newElement = elementBuilder && elementBuilder(element);
|
|
1307
|
+
if (newElement) {
|
|
1308
|
+
return newElement;
|
|
1309
|
+
}
|
|
1310
|
+
if (element.points) {
|
|
1311
|
+
const points = element.points.map(point => [point[0] - startPoint[0], point[1] - startPoint[1]]);
|
|
1312
|
+
return { ...element, points };
|
|
1313
|
+
}
|
|
1314
|
+
return element;
|
|
1315
|
+
});
|
|
1316
|
+
};
|
|
1317
|
+
const insertClipboardData = (board, elements, startPoint, elementHandler) => {
|
|
1318
|
+
const idsMap = {};
|
|
1319
|
+
elements.forEach(element => {
|
|
1320
|
+
idsMap[element.id] = idCreator();
|
|
1321
|
+
});
|
|
1322
|
+
elements.forEach(element => {
|
|
1323
|
+
element.id = idsMap[element.id];
|
|
1324
|
+
elementHandler && elementHandler(element, idsMap);
|
|
1325
|
+
if (element.points) {
|
|
1326
|
+
element.points = element.points.map(point => [startPoint[0] + point[0], startPoint[1] + point[1]]);
|
|
1327
|
+
}
|
|
1328
|
+
Transforms.insertNode(board, element, [board.children.length]);
|
|
1329
|
+
});
|
|
1330
|
+
Transforms.addSelectionWithTemporaryElements(board, elements);
|
|
1331
|
+
};
|
|
1332
|
+
|
|
1286
1333
|
const FOREIGN_OBJECT_IMAGE_CLASS_NAME = 'foreign-object-image';
|
|
1287
1334
|
class ImageGenerator extends Generator {
|
|
1288
1335
|
static { this.key = 'image-generator'; }
|
|
@@ -1674,6 +1721,7 @@ class GroupGenerator extends Generator {
|
|
|
1674
1721
|
|
|
1675
1722
|
class PlaitCommonElementRef {
|
|
1676
1723
|
constructor() {
|
|
1724
|
+
this.textManages = [];
|
|
1677
1725
|
this.generatorMap = new Map();
|
|
1678
1726
|
}
|
|
1679
1727
|
addGenerator(key, generator) {
|
|
@@ -1682,35 +1730,29 @@ class PlaitCommonElementRef {
|
|
|
1682
1730
|
getGenerator(key) {
|
|
1683
1731
|
return this.generatorMap.get(key);
|
|
1684
1732
|
}
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
class CommonElementFlavour extends ElementFlavour {
|
|
1688
|
-
constructor(elementRef = new PlaitCommonElementRef()) {
|
|
1689
|
-
super(elementRef);
|
|
1733
|
+
initializeTextManage(textManage) {
|
|
1690
1734
|
this.textManages = [];
|
|
1735
|
+
if (Array.isArray(textManage)) {
|
|
1736
|
+
this.textManages.push(...textManage);
|
|
1737
|
+
}
|
|
1738
|
+
else {
|
|
1739
|
+
this.textManages.push(textManage);
|
|
1740
|
+
}
|
|
1691
1741
|
}
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
}
|
|
1695
|
-
destroyWeakMap() {
|
|
1696
|
-
ELEMENT_TO_TEXT_MANAGES.delete(this.element);
|
|
1697
|
-
}
|
|
1698
|
-
initializeTextManages(textManages) {
|
|
1699
|
-
this.textManages = textManages;
|
|
1700
|
-
this.initializeWeakMap();
|
|
1701
|
-
}
|
|
1702
|
-
addTextManage(textManage) {
|
|
1703
|
-
this.textManages.push(textManage);
|
|
1742
|
+
getTextManages() {
|
|
1743
|
+
return this.textManages;
|
|
1704
1744
|
}
|
|
1705
|
-
|
|
1706
|
-
this.
|
|
1707
|
-
|
|
1745
|
+
destroyTextManage() {
|
|
1746
|
+
this.textManages.forEach(textManage => {
|
|
1747
|
+
textManage.destroy();
|
|
1708
1748
|
});
|
|
1709
1749
|
this.textManages = [];
|
|
1710
|
-
this.destroyWeakMap();
|
|
1711
1750
|
}
|
|
1712
|
-
|
|
1713
|
-
|
|
1751
|
+
}
|
|
1752
|
+
|
|
1753
|
+
class CommonElementFlavour extends ElementFlavour {
|
|
1754
|
+
constructor(elementRef = new PlaitCommonElementRef()) {
|
|
1755
|
+
super(elementRef);
|
|
1714
1756
|
}
|
|
1715
1757
|
}
|
|
1716
1758
|
|
|
@@ -2185,5 +2227,5 @@ const withImage = (board) => {
|
|
|
2185
2227
|
* Generated bundle index. Do not edit.
|
|
2186
2228
|
*/
|
|
2187
2229
|
|
|
2188
|
-
export { AStar, ActiveGenerator, AlignTransform, Alignment, BASE, BoardCreationMode, CommonElementFlavour, DEFAULT_FILL, DEFAULT_FONT_FAMILY, DEFAULT_ROUTE_MARGIN,
|
|
2230
|
+
export { AStar, ActiveGenerator, AlignTransform, Alignment, BASE, BoardCreationMode, CommonElementFlavour, DEFAULT_FILL, DEFAULT_FONT_FAMILY, DEFAULT_ROUTE_MARGIN, FOREIGN_OBJECT_IMAGE_CLASS_NAME, Generator, GroupComponent, IS_RESIZING, IS_ROTATING, ImageBaseComponent, ImageGenerator, MediaKeys, PICTURE_ACCEPTED_UPLOAD_SIZE, PRIMARY_COLOR, PlaitCommonElementRef, PointGraph, PointNode, PriorityQueue, PropertyTransforms, RESIZE_HANDLE_DIAMETER, ROTATE_HANDLE_DISTANCE_TO_ELEMENT, ROTATE_HANDLE_SIZE, ResizeHandle, StrokeStyle, TRANSPARENT, TextManage, WithCommonPluginKey, WithTextPluginKey, acceptImageTypes, addElementOfFocusedImage, addResizing, addRotating, alignBottom, alignHorizontalCenter, alignLeft, alignRight, alignTop, alignVerticalCenter, animate, buildClipboardData, buildCompositionData, buildImage, buildText, calculatePolylineLength, canResize, createGraph, distributeHorizontal, distributeVertical, drawFillPrimaryHandle, drawHandle, drawPrimaryHandle, drawRotateHandle, findFirstTextEditor, generateElbowLineRoute, getCreationMode, getCrossingPointsBetweenPointAndSegment, getDirectionBetweenPointAndPoint, getDirectionByPointOfRectangle, getDirectionByVector, getDirectionFactor, getDirectionFactorByDirectionComponent, getEditingTextEditor, getElementArea, getElementOfFocusedImage, getElementsText, getExtendPoint, getFirstTextEditor, getFirstTextManage, getGraphPoints, getIndexByResizeHandle, getLineHeightByFontSize, getMemorizedLatest, getNextPoint, getOppositeDirection, getPointByVectorComponent, getPointByVectorDirectionComponent, getPointOnPolyline, getPoints, getRatioByPoint, getRectangleResizeHandleRefs, getResizeHandleByIndex, getResizeHandlePointByIndex, getRotatedResizeCursorClassByAngle, getSourceAndTargetOuterRectangle, getStrokeLineDash, getSymmetricHandleIndex, getTextEditors, getTextEditorsByElement, getTextManages, getTimestamp, getUnitVectorByPointAndPoint, hasAfterDraw, insertClipboardData, isCornerHandle, isDelete, isDndMode, isDrawingMode, isEdgeHandle, isEnterHotkey, isExpandHotkey, isFilled, isPointOnSegment, isResizing, isResizingByCondition, isRotating, isSourceAndTargetIntersect, isSpaceHotkey, isTabHotkey, isVirtualKey, linear, measureElement, memorizeLatest, normalizeShapePoints, reduceRouteMargin, removeDuplicatePoints, removeElementOfFocusedImage, removeResizing, removeRotating, resetPointsAfterResize, rotateVector, rotateVectorAnti90, routeAdjust, selectImage, setCreationMode, setProperty, simplifyOrthogonalPoints, sortElementsByArea, withGroup, withImage, withResize, withText };
|
|
2189
2231
|
//# sourceMappingURL=plait-common.mjs.map
|