@plait/core 0.0.56 → 0.0.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/board/board.component.d.ts +19 -41
  2. package/board/board.component.interface.d.ts +5 -0
  3. package/core/element/before-context-change.d.ts +6 -0
  4. package/core/element/context.d.ts +7 -0
  5. package/core/element/element.component.d.ts +11 -3
  6. package/core/element/plugin-element.d.ts +22 -0
  7. package/core/toolbar/toolbar.component.d.ts +7 -8
  8. package/esm2020/board/board.component.interface.mjs +2 -0
  9. package/esm2020/board/board.component.mjs +215 -230
  10. package/esm2020/core/element/before-context-change.mjs +7 -0
  11. package/esm2020/core/element/context.mjs +2 -0
  12. package/esm2020/core/element/element.component.mjs +48 -12
  13. package/esm2020/core/element/plugin-element.mjs +60 -0
  14. package/esm2020/core/toolbar/toolbar.component.mjs +14 -22
  15. package/esm2020/interfaces/board.mjs +1 -1
  16. package/esm2020/interfaces/element.mjs +1 -1
  17. package/esm2020/interfaces/index.mjs +3 -3
  18. package/esm2020/interfaces/node.mjs +1 -1
  19. package/esm2020/interfaces/pointer.mjs +6 -0
  20. package/esm2020/interfaces/viewport.mjs +2 -2
  21. package/esm2020/plugins/create-board.mjs +6 -7
  22. package/esm2020/plugins/with-hand.mjs +68 -0
  23. package/esm2020/plugins/with-selection.mjs +4 -2
  24. package/esm2020/public-api.mjs +3 -1
  25. package/esm2020/transforms/board.mjs +10 -0
  26. package/esm2020/transforms/general.mjs +1 -1
  27. package/esm2020/transforms/index.mjs +2 -1
  28. package/esm2020/utils/board.mjs +1 -9
  29. package/esm2020/utils/matrix.mjs +131 -78
  30. package/esm2020/utils/weak-maps.mjs +1 -1
  31. package/fesm2015/plait-core.mjs +645 -509
  32. package/fesm2015/plait-core.mjs.map +1 -1
  33. package/fesm2020/plait-core.mjs +668 -537
  34. package/fesm2020/plait-core.mjs.map +1 -1
  35. package/interfaces/board.d.ts +18 -8
  36. package/interfaces/element.d.ts +5 -2
  37. package/interfaces/index.d.ts +2 -2
  38. package/interfaces/node.d.ts +0 -1
  39. package/interfaces/pointer.d.ts +4 -0
  40. package/interfaces/viewport.d.ts +1 -1
  41. package/package.json +1 -1
  42. package/plugins/with-hand.d.ts +2 -0
  43. package/public-api.d.ts +2 -0
  44. package/transforms/board.d.ts +6 -0
  45. package/transforms/index.d.ts +1 -0
  46. package/utils/board.d.ts +2 -3
  47. package/utils/matrix.d.ts +66 -16
  48. package/utils/weak-maps.d.ts +2 -2
  49. package/esm2020/interfaces/cursor.mjs +0 -7
  50. package/esm2020/interfaces/element-context.mjs +0 -2
  51. package/esm2020/plugins/with-move.mjs +0 -66
  52. package/interfaces/cursor.d.ts +0 -6
  53. package/interfaces/element-context.d.ts +0 -4
  54. package/plugins/with-move.d.ts +0 -2
@@ -1,18 +1,18 @@
1
- import { SimpleChanges } from '@angular/core';
2
- import { CursorStatus } from './cursor';
3
- import { PlaitElement } from './element';
4
- import { PlaitElementContext } from './element-context';
1
+ import { PlaitPointerType } from './pointer';
2
+ import { ComponentType, PlaitElement } from './element';
3
+ import { PlaitPluginElementContext } from '../core/element/context';
5
4
  import { PlaitHistory } from './history';
6
5
  import { PlaitOperation } from './operation';
7
6
  import { Selection } from './selection';
8
7
  import { Viewport } from './viewport';
8
+ import { PlaitPluginElementComponent } from '../core/element/plugin-element';
9
9
  export interface PlaitBoard {
10
10
  host: SVGElement;
11
11
  viewport: Viewport;
12
12
  children: PlaitElement[];
13
13
  operations: PlaitOperation[];
14
14
  selection: Selection | null;
15
- cursor: CursorStatus;
15
+ pointer: PlaitPointerType;
16
16
  history: PlaitHistory;
17
17
  options: PlaitBoardOptions;
18
18
  undo: () => void;
@@ -28,9 +28,9 @@ export interface PlaitBoard {
28
28
  insertFragment: (data: DataTransfer | null) => void;
29
29
  deleteFragment: (data: DataTransfer | null) => void;
30
30
  dblclick: (event: MouseEvent) => void;
31
- drawElement: (context: PlaitElementContext) => SVGGElement[];
32
- redrawElement: (context: PlaitElementContext, changes: SimpleChanges) => SVGGElement[];
33
- destroyElement: () => void;
31
+ drawElement: (context: PlaitPluginElementContext) => SVGGElement[] | ComponentType<PlaitPluginElementComponent>;
32
+ redrawElement: (context: PlaitPluginElementContext, previousContext?: PlaitPluginElementContext) => SVGGElement[] | void;
33
+ destroyElement: (context: PlaitPluginElementContext) => void;
34
34
  }
35
35
  export interface PlaitBoardChangeEvent {
36
36
  children: PlaitElement[];
@@ -47,3 +47,13 @@ export interface PlaitBoardMove {
47
47
  x: number;
48
48
  y: number;
49
49
  }
50
+ export interface PlaitBoardViewport {
51
+ zoom: number;
52
+ autoFitPadding: number;
53
+ focusPoint?: number[];
54
+ viewBox?: number[];
55
+ viewportWidth?: number;
56
+ viewportHeight?: number;
57
+ scrollLeft?: number;
58
+ scrollTop?: number;
59
+ }
@@ -1,6 +1,9 @@
1
1
  import { PlaitNode } from './node';
2
2
  import { Point } from './point';
3
3
  export interface PlaitElement extends PlaitNode {
4
- points: Point[];
5
- type: string;
4
+ points?: Point[];
5
+ type?: string;
6
+ }
7
+ export interface ComponentType<T> {
8
+ new (...args: any[]): T;
6
9
  }
@@ -1,6 +1,6 @@
1
1
  export * from './board';
2
- export * from './cursor';
3
- export * from './element-context';
2
+ export * from './pointer';
3
+ export * from '../core/element/context';
4
4
  export * from './custom-types';
5
5
  export * from './element';
6
6
  export * from './graph';
@@ -3,7 +3,6 @@ import { Path } from './path';
3
3
  export interface PlaitNode {
4
4
  [key: string]: any;
5
5
  children?: PlaitNode[];
6
- id?: string;
7
6
  }
8
7
  export declare type Ancestor = PlaitBoard | PlaitNode;
9
8
  export interface PlaitNodeInterface {
@@ -0,0 +1,4 @@
1
+ export declare enum PlaitPointerType {
2
+ 'hand' = "hand",
3
+ 'selection' = "selection"
4
+ }
@@ -3,7 +3,7 @@ export interface BaseViewport {
3
3
  [key: string]: any;
4
4
  zoom: number;
5
5
  viewBackgroundColor: string;
6
- canvasPoint: number[];
6
+ originationCoord?: number[];
7
7
  }
8
8
  export declare type Viewport = ExtendedType<'Viewport', BaseViewport>;
9
9
  export interface ViewportInterface {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plait/core",
3
- "version": "0.0.56",
3
+ "version": "0.0.58",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^12.2.0",
6
6
  "@angular/core": "^12.2.0"
@@ -0,0 +1,2 @@
1
+ import { PlaitBoard } from '../interfaces';
2
+ export declare function withHandPointer<T extends PlaitBoard>(board: T): T;
package/public-api.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  export * from './board/board.component';
2
2
  export * from './constants';
3
3
  export * from './core/base/detector';
4
+ export * from './core/element/plugin-element';
4
5
  export * from './core/element/element.component';
6
+ export * from './core/element/before-context-change';
5
7
  export * from './core/toolbar/toolbar.component';
6
8
  export * from './interfaces';
7
9
  export * from './plait.module';
@@ -0,0 +1,6 @@
1
+ import { PlaitBoard } from '../interfaces/board';
2
+ import { PlaitPointerType } from '../interfaces/pointer';
3
+ export declare const updatePointerType: (board: PlaitBoard, pointer: PlaitPointerType) => void;
4
+ export declare const BoardTransforms: {
5
+ updatePointerType: (board: PlaitBoard, pointer: PlaitPointerType) => void;
6
+ };
@@ -2,4 +2,5 @@ import { GeneralTransforms } from './general';
2
2
  import { NodeTransforms } from './node';
3
3
  import { SelectionTransforms } from './selection';
4
4
  import { ViewportTransforms } from './viewport';
5
+ export { BoardTransforms } from './board';
5
6
  export declare const Transforms: GeneralTransforms & ViewportTransforms & SelectionTransforms & NodeTransforms;
package/utils/board.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { BaseCursorStatus, PlaitBoard, Point } from '../interfaces';
1
+ import { PlaitBoard } from '../interfaces/board';
2
+ import { Point } from '../interfaces/point';
2
3
  export declare type ViewBox = {
3
4
  minX: number;
4
5
  minY: number;
@@ -9,6 +10,4 @@ export declare type ViewBox = {
9
10
  };
10
11
  export declare function transformPoints(board: PlaitBoard, points: Point[]): Point[];
11
12
  export declare function transformPoint(board: PlaitBoard, point: Point): Point;
12
- export declare function calculateZoom(zoom: number, minZoom?: number, maxZoom?: number): number;
13
13
  export declare function isNoSelectionElement(e: Event): Element | null;
14
- export declare const updateCursorStatus: (board: PlaitBoard, cursor: BaseCursorStatus) => void;
package/utils/matrix.d.ts CHANGED
@@ -1,14 +1,50 @@
1
1
  import { PlaitBoard } from '../interfaces';
2
- export declare function invert(oldMatrix: number[], newMatrix: number[]): number[] | null;
3
- export declare function transformMat3(e: number[], t: number[], n: number[]): number[];
4
- export declare function convertPoint(arr: number[]): {
2
+ /**
3
+ * 逆矩阵
4
+ * [a c e]
5
+ * [b d f]
6
+ * [0 0 1]
7
+ * @param newMatrix 输出返回矩阵
8
+ * @param matrix 新矩阵
9
+ * @returns 逆矩阵
10
+ */
11
+ export declare function invertMatrix(newMatrix: number[], matrix: number[]): number[] | null;
12
+ /**
13
+ * 将视图坐标与反转矩阵相乘,以得到原始坐标
14
+ * 使用给定的矩阵进行转换
15
+ * 矩阵与向量乘法,3 维向量与3x3矩阵的乘积
16
+ * [m11 m12 m13][v1]
17
+ * [m21 m22 m23][v2]
18
+ * [m31 m32 m33][v3]
19
+ * @param out 输出结果向量
20
+ * @param t 要转换的向量
21
+ * @param n 矩阵转换
22
+ * @returns [v1 * m11 + v2 * m12 + v3 * m13, v1 * m21 + v2 * m22 + v3 * m23, v1 * m31 + v2 * m32 + v3 * m33];
23
+ */
24
+ export declare function transformMat3(out: number[], vector: number[], matrix: number[]): number[];
25
+ /**
26
+ * 规范 point
27
+ * @param point
28
+ * @returns point
29
+ */
30
+ export declare function normalizePoint(point: number[]): {
5
31
  x: number;
6
32
  y: number;
7
33
  };
8
- export declare function invertClient(board: PlaitBoard, point: number[], matrix: number[]): number[];
9
- export declare function invertViewport(point: number[], matrix: number[]): number[];
10
- export declare function convertViewport(point: number[], matrix: number[]): number[];
11
- export declare function getViewportCanvasBox(board: PlaitBoard, matrix: number[]): {
34
+ /**
35
+ * 将一个点坐标反转回它的原始坐标
36
+ * @param point 表示要反转的点的视图坐标,它是一个长度为 2 的数组,存储点的 x 和 y 坐标
37
+ * @param matrix 表示视图矩阵,是在视图中对图形进行缩放和平移时使用的矩阵
38
+ * @returns 最终结果是一个长度为 3 的数组,存储点的 x,y 和 w 坐标(w 坐标是点的齐次坐标)
39
+ */
40
+ export declare function invertViewportCoordinates(point: number[], matrix: number[]): number[];
41
+ export declare function convertToViewportCoordinates(point: number[], matrix: number[]): number[];
42
+ /**
43
+ * 获取 contentContainer 的 clientBox
44
+ * @param board
45
+ * @returns
46
+ */
47
+ export declare function getViewportContainerBox(board: PlaitBoard): {
12
48
  minX: number;
13
49
  minY: number;
14
50
  maxX: number;
@@ -18,15 +54,29 @@ export declare function getViewportCanvasBox(board: PlaitBoard, matrix: number[]
18
54
  width: number;
19
55
  height: number;
20
56
  };
21
- export declare function getViewportClientBox(board: PlaitBoard): {
22
- minX: number;
23
- minY: number;
24
- maxX: number;
25
- maxY: number;
26
- x: number;
27
- y: number;
57
+ /**
58
+ * 获取 board.plait-board 的 clientBox
59
+ * @param board
60
+ * @returns
61
+ */
62
+ export declare function getBoardClientBox(board: PlaitBoard): {
28
63
  width: number;
29
64
  height: number;
30
65
  };
31
- export declare function getGraphicsBBox(board: PlaitBoard): DOMRect;
32
- export declare function calculateBBox(board: PlaitBoard, zoom: number): any;
66
+ /**
67
+ * 获取 rootGroup 相对于当前 svg 空间的最小矩阵坐标
68
+ */
69
+ export declare function getRootGroupBBox(board: PlaitBoard, zoom: number): {
70
+ left: number;
71
+ right: number;
72
+ top: number;
73
+ bottom: number;
74
+ };
75
+ /**
76
+ * 验证缩放比是否符合限制,如果超出限制,则返回合适的缩放比
77
+ * @param zoom 缩放比
78
+ * @param minZoom 最小缩放比
79
+ * @param maxZoom 最大缩放比
80
+ * @returns 正确的缩放比
81
+ */
82
+ export declare function clampZoomLevel(zoom: number, minZoom?: number, maxZoom?: number): number;
@@ -1,8 +1,8 @@
1
1
  import { RoughSVG } from 'roughjs/bin/svg';
2
- import { PlaitBoardComponent } from '../board/board.component';
2
+ import { BoardComponentInterface } from '../board/board.component.interface';
3
3
  import { PlaitBoard } from '../interfaces/board';
4
4
  export declare const FLUSHING: WeakMap<PlaitBoard, boolean>;
5
5
  export declare const IS_TEXT_EDITABLE: WeakMap<PlaitBoard, boolean>;
6
6
  export declare const BOARD_TO_ON_CHANGE: WeakMap<PlaitBoard, () => void>;
7
7
  export declare const HOST_TO_ROUGH_SVG: WeakMap<SVGElement, RoughSVG>;
8
- export declare const PLAIT_BOARD_TO_COMPONENT: WeakMap<PlaitBoard, PlaitBoardComponent>;
8
+ export declare const PLAIT_BOARD_TO_COMPONENT: WeakMap<PlaitBoard, BoardComponentInterface>;
@@ -1,7 +0,0 @@
1
- export var BaseCursorStatus;
2
- (function (BaseCursorStatus) {
3
- BaseCursorStatus["move"] = "move";
4
- BaseCursorStatus["select"] = "select";
5
- BaseCursorStatus["drag"] = "drag";
6
- })(BaseCursorStatus || (BaseCursorStatus = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Vyc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhaXQvc3JjL2ludGVyZmFjZXMvY3Vyc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDeEIsaUNBQWUsQ0FBQTtJQUNmLHFDQUFtQixDQUFBO0lBQ25CLGlDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDdXJzb3JTdGF0dXMgPSBCYXNlQ3Vyc29yU3RhdHVzIHwgc3RyaW5nO1xuZXhwb3J0IGVudW0gQmFzZUN1cnNvclN0YXR1cyB7XG4gICAgJ21vdmUnID0gJ21vdmUnLFxuICAgICdzZWxlY3QnID0gJ3NlbGVjdCcsXG4gICAgJ2RyYWcnID0gJ2RyYWcnXG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhaXQvc3JjL2ludGVyZmFjZXMvZWxlbWVudC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2VsZW1lbnQvZWxlbWVudC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBsYWl0RWxlbWVudENvbnRleHQge1xuICAgIGVsZW1lbnRJbnN0YW5jZTogUGxhaXRFbGVtZW50Q29tcG9uZW50O1xufVxuIl19
@@ -1,66 +0,0 @@
1
- import { BaseCursorStatus } from '../interfaces';
2
- import { PLAIT_BOARD_TO_COMPONENT, updateCursorStatus } from '../utils';
3
- export function withMove(board) {
4
- const { mousedown, mousemove, globalMouseup, keydown, keyup } = board;
5
- const plaitBoardMove = {
6
- x: 0,
7
- y: 0
8
- };
9
- board.mousedown = (event) => {
10
- if (board.options.readonly) {
11
- updateCursorStatus(board, BaseCursorStatus.move);
12
- }
13
- else if (!board.selection) {
14
- updateCursorStatus(board, BaseCursorStatus.select);
15
- }
16
- if (board.cursor === BaseCursorStatus.move && board.selection) {
17
- const boardComponent = PLAIT_BOARD_TO_COMPONENT.get(board);
18
- boardComponent.movingChange(true);
19
- plaitBoardMove.x = event.x;
20
- plaitBoardMove.y = event.y;
21
- boardComponent.cdr.markForCheck();
22
- }
23
- mousedown(event);
24
- };
25
- board.mousemove = (event) => {
26
- const boardComponent = PLAIT_BOARD_TO_COMPONENT.get(board);
27
- if (board.cursor === BaseCursorStatus.move && board.selection && boardComponent.isMoving) {
28
- const left = event.x - plaitBoardMove.x;
29
- const top = event.y - plaitBoardMove.y;
30
- boardComponent.setScroll(boardComponent.scrollLeft - left, boardComponent.scrollTop - top);
31
- plaitBoardMove.x = event.x;
32
- plaitBoardMove.y = event.y;
33
- }
34
- mousemove(event);
35
- };
36
- board.globalMouseup = (event) => {
37
- if (board.selection) {
38
- const boardComponent = PLAIT_BOARD_TO_COMPONENT.get(board);
39
- boardComponent.movingChange(false);
40
- plaitBoardMove.x = 0;
41
- plaitBoardMove.y = 0;
42
- }
43
- globalMouseup(event);
44
- };
45
- board.keydown = (event) => {
46
- if (board.selection && event.code === 'Space') {
47
- if (board.cursor !== BaseCursorStatus.move) {
48
- updateCursorStatus(board, BaseCursorStatus.move);
49
- const boardComponent = PLAIT_BOARD_TO_COMPONENT.get(board);
50
- boardComponent.cdr.markForCheck();
51
- }
52
- event.preventDefault();
53
- }
54
- keydown(event);
55
- };
56
- board.keyup = (event) => {
57
- if (board.selection && !board.options.readonly && event.code === 'Space') {
58
- updateCursorStatus(board, BaseCursorStatus.select);
59
- const boardComponent = PLAIT_BOARD_TO_COMPONENT.get(board);
60
- boardComponent.cdr.markForCheck();
61
- }
62
- keyup(event);
63
- };
64
- return board;
65
- }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1tb3ZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcGxhaXQvc3JjL3BsdWdpbnMvd2l0aC1tb3ZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBOEIsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhFLE1BQU0sVUFBVSxRQUFRLENBQXVCLEtBQVE7SUFDbkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFdEUsTUFBTSxjQUFjLEdBQW1CO1FBQ25DLENBQUMsRUFBRSxDQUFDO1FBQ0osQ0FBQyxFQUFFLENBQUM7S0FDUCxDQUFDO0lBRUYsS0FBSyxDQUFDLFNBQVMsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtRQUNwQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3hCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNwRDthQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQ3pCLGtCQUFrQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0RDtRQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUMzRCxNQUFNLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUF3QixDQUFDO1lBQ2xGLGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsY0FBYyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzNCLGNBQWMsQ0FB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dEJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi4vYm9hcmQvYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEJhc2VDdXJzb3JTdGF0dXMsIFBsYWl0Qm9hcmQsIFBsYWl0Qm9hcmRNb3ZlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQTEFJVF9CT0FSRF9UT19DT01QT05FTlQsIHVwZGF0ZUN1cnNvclN0YXR1cyB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhNb3ZlPFQgZXh0ZW5kcyBQbGFpdEJvYXJkPihib2FyZDogVCkge1xuICAgIGNvbnN0IHsgbW91c2Vkb3duLCBtb3VzZW1vdmUsIGdsb2JhbE1vdXNldXAsIGtleWRvd24sIGtleXVwIH0gPSBib2FyZDtcblxuICAgIGNvbnN0IHBsYWl0Qm9hcmRNb3ZlOiBQbGFpdEJvYXJkTW92ZSA9IHtcbiAgICAgICAgeDogMCxcbiAgICAgICAgeTogMFxuICAgIH07XG5cbiAgICBib2FyZC5tb3VzZWRvd24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKGJvYXJkLm9wdGlvbnMucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIHVwZGF0ZUN1cnNvclN0YXR1cyhib2FyZCwgQmFzZUN1cnNvclN0YXR1cy5tb3ZlKTtcbiAgICAgICAgfSBlbHNlIGlmICghYm9hcmQuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICB1cGRhdGVDdXJzb3JTdGF0dXMoYm9hcmQsIEJhc2VDdXJzb3JTdGF0dXMuc2VsZWN0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYm9hcmQuY3Vyc29yID09PSBCYXNlQ3Vyc29yU3RhdHVzLm1vdmUgJiYgYm9hcmQuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBib2FyZENvbXBvbmVudCA9IFBMQUlUX0JPQVJEX1RPX0NPTVBPTkVOVC5nZXQoYm9hcmQpIGFzIFBsYWl0Qm9hcmRDb21wb25lbnQ7XG4gICAgICAgICAgICBib2FyZENvbXBvbmVudC5tb3ZpbmdDaGFuZ2UodHJ1ZSk7XG4gICAgICAgICAgICBwbGFpdEJvYXJkTW92ZS54ID0gZXZlbnQueDtcbiAgICAgICAgICAgIHBsYWl0Qm9hcmRNb3ZlLnkgPSBldmVudC55O1xuICAgICAgICAgICAgYm9hcmRDb21wb25lbnQuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICAgIG1vdXNlZG93bihldmVudCk7XG4gICAgfTtcblxuICAgIGJvYXJkLm1vdXNlbW92ZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCBib2FyZENvbXBvbmVudCA9IFBMQUlUX0JPQVJEX1RPX0NPTVBPTkVOVC5nZXQoYm9hcmQpIGFzIFBsYWl0Qm9hcmRDb21wb25lbnQ7XG4gICAgICAgIGlmIChib2FyZC5jdXJzb3IgPT09IEJhc2VDdXJzb3JTdGF0dXMubW92ZSAmJiBib2FyZC5zZWxlY3Rpb24gJiYgYm9hcmRDb21wb25lbnQuaXNNb3ZpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IGxlZnQgPSBldmVudC54IC0gcGxhaXRCb2FyZE1vdmUueDtcbiAgICAgICAgICAgIGNvbnN0IHRvcCA9IGV2ZW50LnkgLSBwbGFpdEJvYXJkTW92ZS55O1xuICAgICAgICAgICAgYm9hcmRDb21wb25lbnQuc2V0U2Nyb2xsKGJvYXJkQ29tcG9uZW50LnNjcm9sbExlZnQgLSBsZWZ0LCBib2FyZENvbXBvbmVudC5zY3JvbGxUb3AgLSB0b3ApO1xuICAgICAgICAgICAgcGxhaXRCb2FyZE1vdmUueCA9IGV2ZW50Lng7XG4gICAgICAgICAgICBwbGFpdEJvYXJkTW92ZS55ID0gZXZlbnQueTtcbiAgICAgICAgfVxuICAgICAgICBtb3VzZW1vdmUoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5nbG9iYWxNb3VzZXVwID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChib2FyZC5zZWxlY3Rpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IGJvYXJkQ29tcG9uZW50ID0gUExBSVRfQk9BUkRfVE9fQ09NUE9ORU5ULmdldChib2FyZCkgYXMgUGxhaXRCb2FyZENvbXBvbmVudDtcbiAgICAgICAgICAgIGJvYXJkQ29tcG9uZW50Lm1vdmluZ0NoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICBwbGFpdEJvYXJkTW92ZS54ID0gMDtcbiAgICAgICAgICAgIHBsYWl0Qm9hcmRNb3ZlLnkgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGdsb2JhbE1vdXNldXAoZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5rZXlkb3duID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChib2FyZC5zZWxlY3Rpb24gJiYgZXZlbnQuY29kZSA9PT0gJ1NwYWNlJykge1xuICAgICAgICAgICAgaWYgKGJvYXJkLmN1cnNvciAhPT0gQmFzZUN1cnNvclN0YXR1cy5tb3ZlKSB7XG4gICAgICAgICAgICAgICAgdXBkYXRlQ3Vyc29yU3RhdHVzKGJvYXJkLCBCYXNlQ3Vyc29yU3RhdHVzLm1vdmUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvYXJkQ29tcG9uZW50ID0gUExBSVRfQk9BUkRfVE9fQ09NUE9ORU5ULmdldChib2FyZCkgYXMgUGxhaXRCb2FyZENvbXBvbmVudDtcbiAgICAgICAgICAgICAgICBib2FyZENvbXBvbmVudC5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGtleWRvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICBib2FyZC5rZXl1cCA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoYm9hcmQuc2VsZWN0aW9uICYmICFib2FyZC5vcHRpb25zLnJlYWRvbmx5ICYmIGV2ZW50LmNvZGUgPT09ICdTcGFjZScpIHtcbiAgICAgICAgICAgIHVwZGF0ZUN1cnNvclN0YXR1cyhib2FyZCwgQmFzZUN1cnNvclN0YXR1cy5zZWxlY3QpO1xuICAgICAgICAgICAgY29uc3QgYm9hcmRDb21wb25lbnQgPSBQTEFJVF9CT0FSRF9UT19DT01QT05FTlQuZ2V0KGJvYXJkKSBhcyBQbGFpdEJvYXJkQ29tcG9uZW50O1xuICAgICAgICAgICAgYm9hcmRDb21wb25lbnQuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICAgIGtleXVwKGV2ZW50KTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvYXJkO1xufVxuIl19
@@ -1,6 +0,0 @@
1
- export declare type CursorStatus = BaseCursorStatus | string;
2
- export declare enum BaseCursorStatus {
3
- 'move' = "move",
4
- 'select' = "select",
5
- 'drag' = "drag"
6
- }
@@ -1,4 +0,0 @@
1
- import { PlaitElementComponent } from '../core/element/element.component';
2
- export interface PlaitElementContext {
3
- elementInstance: PlaitElementComponent;
4
- }
@@ -1,2 +0,0 @@
1
- import { PlaitBoard } from '../interfaces';
2
- export declare function withMove<T extends PlaitBoard>(board: T): T;