@plait/draw 0.52.0 → 0.53.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plait/draw",
3
- "version": "0.52.0",
3
+ "version": "0.53.1",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.2.4",
6
6
  "@angular/core": "^17.2.4",
@@ -1,6 +1,12 @@
1
1
  import { ResizeRef, ResizeState } from '@plait/common';
2
2
  import { PlaitBoard, Point } from '@plait/core';
3
3
  import { PlaitDrawElement } from '../interfaces';
4
+ export interface BulkRotationRef {
5
+ angle: number;
6
+ offsetX: number;
7
+ offsetY: number;
8
+ newCenterPoint: Point;
9
+ }
4
10
  export declare function withDrawResize(board: PlaitBoard): PlaitBoard;
5
11
  export declare const getResizeOriginPointAndHandlePoint: (board: PlaitBoard, resizeRef: ResizeRef<PlaitDrawElement | PlaitDrawElement[]>) => {
6
12
  originPoint: Point;
@@ -1,4 +1,4 @@
1
1
  import { PlaitBoard, Point } from '@plait/core';
2
2
  import { PlaitDrawElement, PlaitGeometry, PlaitLine } from '../interfaces';
3
- export declare const buildClipboardData: (board: PlaitBoard, elements: PlaitDrawElement[], startPoint: Point) => (PlaitGeometry | PlaitLine)[];
3
+ export declare const buildClipboardData: (board: PlaitBoard, elements: PlaitDrawElement[], startPoint: Point) => (PlaitLine | PlaitGeometry)[];
4
4
  export declare const insertClipboardData: (board: PlaitBoard, elements: PlaitDrawElement[], startPoint: Point) => void;
@@ -40,7 +40,7 @@ export declare const getDefaultFlowchartProperty: (symbol: FlowchartSymbols) =>
40
40
  width: number;
41
41
  height: number;
42
42
  };
43
- export declare const createDefaultFlowchart: (point: Point) => (PlaitGeometry | import("../interfaces").PlaitLine)[];
43
+ export declare const createDefaultFlowchart: (point: Point) => (import("../interfaces").PlaitLine | PlaitGeometry)[];
44
44
  export declare const getAutoCompletePoints: (element: PlaitShape) => [Point, Point, Point, Point];
45
45
  export declare const getHitIndexOfAutoCompletePoint: (movingPoint: Point, points: Point[]) => number;
46
46
  export declare const getDrawDefaultStrokeColor: (theme: ThemeColorMode) => string;
@@ -1,19 +1,9 @@
1
- import { Point, PlaitBoard } from '@plait/core';
1
+ import { Point, PlaitBoard, RectangleClient } from '@plait/core';
2
2
  import { LineHandleRefPair, PlaitLine } from '../../interfaces';
3
3
  export declare const getElbowPoints: (board: PlaitBoard, element: PlaitLine) => Point[];
4
4
  export declare const getNextSourceAndTargetPoints: (board: PlaitBoard, element: PlaitLine) => Point[];
5
5
  export declare const getSourceAndTargetRectangle: (board: PlaitBoard, element: PlaitLine, handleRefPair: LineHandleRefPair) => {
6
- sourceRectangle: {
7
- x: number;
8
- y: number;
9
- width: number;
10
- height: number;
11
- };
12
- targetRectangle: {
13
- x: number;
14
- y: number;
15
- width: number;
16
- height: number;
17
- };
6
+ sourceRectangle: RectangleClient;
7
+ targetRectangle: RectangleClient;
18
8
  };
19
9
  export declare function getNextRenderPoints(board: PlaitBoard, element: PlaitLine, renderPoints?: Point[]): Point[];
@@ -1,4 +1,4 @@
1
- import { Point, PlaitBoard, PointOfRectangle, Direction, Vector } from '@plait/core';
1
+ import { Point, PlaitBoard, RectangleClient, PointOfRectangle, Direction, Vector } from '@plait/core';
2
2
  import { LineHandleRefPair, PlaitGeometry, PlaitLine } from '../../interfaces';
3
3
  export declare const getLineHandleRefPair: (board: PlaitBoard, element: PlaitLine) => LineHandleRefPair;
4
4
  export declare const getConnectionPoint: (geometry: PlaitGeometry, connection: Point, direction?: Direction, delta?: number) => Point;
@@ -6,12 +6,7 @@ export declare const getVectorByConnection: (boundElement: PlaitGeometry, connec
6
6
  export declare const getElbowLineRouteOptions: (board: PlaitBoard, element: PlaitLine, handleRefPair?: LineHandleRefPair) => {
7
7
  sourcePoint: PointOfRectangle;
8
8
  nextSourcePoint: Point;
9
- sourceRectangle: {
10
- x: number;
11
- y: number;
12
- width: number;
13
- height: number;
14
- };
9
+ sourceRectangle: RectangleClient;
15
10
  sourceOuterRectangle: {
16
11
  x: number;
17
12
  y: number;
@@ -20,12 +15,7 @@ export declare const getElbowLineRouteOptions: (board: PlaitBoard, element: Plai
20
15
  };
21
16
  targetPoint: PointOfRectangle;
22
17
  nextTargetPoint: Point;
23
- targetRectangle: {
24
- x: number;
25
- y: number;
26
- width: number;
27
- height: number;
28
- };
18
+ targetRectangle: RectangleClient;
29
19
  targetOuterRectangle: {
30
20
  x: number;
31
21
  y: number;
@@ -1,14 +1,13 @@
1
1
  import { PlaitBoard, Point, RectangleClient } from '@plait/core';
2
2
  import { PlaitGeometry } from '../../interfaces';
3
- import { ResizeHandle } from '@plait/common';
4
- export declare const getHitRectangleResizeHandleRef: (board: PlaitBoard, rectangle: RectangleClient, point: Point) => {
3
+ export declare const getHitRectangleResizeHandleRef: (board: PlaitBoard, rectangle: RectangleClient, point: Point, angle?: number) => {
5
4
  rectangle: {
6
5
  x: number;
7
6
  y: number;
8
7
  width: number;
9
8
  height: number;
10
9
  };
11
- handle: ResizeHandle;
10
+ handle: import("@plait/common").ResizeHandle;
12
11
  cursorClass: import("@plait/core").ResizeCursorClass;
13
12
  } | undefined;
14
13
  export declare const getHitOutlineGeometry: (board: PlaitBoard, point: Point, offset?: number) => PlaitGeometry | null;
@@ -1,20 +0,0 @@
1
- import { Generator } from '@plait/common';
2
- import { ACTIVE_STROKE_WIDTH, drawRectangle, getRectangleByGroup } from '@plait/core';
3
- export class GroupGenerator extends Generator {
4
- canDraw(element) {
5
- return true;
6
- }
7
- draw(element, partialSelected) {
8
- const options = {
9
- stroke: '',
10
- strokeWidth: ACTIVE_STROKE_WIDTH,
11
- strokeLineDash: [5]
12
- };
13
- if (partialSelected) {
14
- options.stroke = '#999';
15
- }
16
- const rectangle = getRectangleByGroup(this.board, element, true);
17
- return drawRectangle(this.board, rectangle, options);
18
- }
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ2VuZXJhdG9ycy9ncm91cC5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQWMsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xHLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBcUI7SUFDckQsT0FBTyxDQUFDLE9BQW1CO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBbUIsRUFBRSxlQUF3QjtRQUM5QyxNQUFNLE9BQU8sR0FBWTtZQUNyQixNQUFNLEVBQUUsRUFBRTtZQUNWLFdBQVcsRUFBRSxtQkFBbUI7WUFDaEMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RCLENBQUM7UUFDRixJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQzVCLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHZW5lcmF0b3IgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IEFDVElWRV9TVFJPS0VfV0lEVEgsIFBsYWl0R3JvdXAsIGRyYXdSZWN0YW5nbGUsIGdldFJlY3RhbmdsZUJ5R3JvdXAgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBPcHRpb25zIH0gZnJvbSAncm91Z2hqcy9iaW4vY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBHcm91cEdlbmVyYXRvciBleHRlbmRzIEdlbmVyYXRvcjxQbGFpdEdyb3VwPiB7XG4gICAgY2FuRHJhdyhlbGVtZW50OiBQbGFpdEdyb3VwKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGRyYXcoZWxlbWVudDogUGxhaXRHcm91cCwgcGFydGlhbFNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gICAgICAgICAgICBzdHJva2U6ICcnLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IEFDVElWRV9TVFJPS0VfV0lEVEgsXG4gICAgICAgICAgICBzdHJva2VMaW5lRGFzaDogWzVdXG4gICAgICAgIH07XG4gICAgICAgIGlmIChwYXJ0aWFsU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuc3Ryb2tlID0gJyM5OTknO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlY3RhbmdsZSA9IGdldFJlY3RhbmdsZUJ5R3JvdXAodGhpcy5ib2FyZCwgZWxlbWVudCwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBkcmF3UmVjdGFuZ2xlKHRoaXMuYm9hcmQsIHJlY3RhbmdsZSwgb3B0aW9ucyk7XG4gICAgfVxufVxuIl19
@@ -1,47 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { ActiveGenerator, CommonPluginElement } from '@plait/common';
3
- import { getElementsInGroup, getRectangleByGroup, isSelectedElementOrGroup, isSelectionMoving } from '@plait/core';
4
- import { GroupGenerator } from './generators/group.generator';
5
- import * as i0 from "@angular/core";
6
- export class GroupComponent extends CommonPluginElement {
7
- constructor(viewContainerRef, cdr) {
8
- super(cdr);
9
- this.viewContainerRef = viewContainerRef;
10
- this.cdr = cdr;
11
- }
12
- initializeGenerator() {
13
- this.activeGenerator = new ActiveGenerator(this.board, {
14
- getRectangle: (element) => {
15
- return getRectangleByGroup(this.board, element);
16
- },
17
- getStrokeWidth: () => 0,
18
- getStrokeOpacity: () => 0,
19
- hasResizeHandle: () => {
20
- return !isSelectionMoving(this.board);
21
- }
22
- });
23
- this.groupGenerator = new GroupGenerator(this.board);
24
- }
25
- ngOnInit() {
26
- super.ngOnInit();
27
- this.initializeGenerator();
28
- }
29
- onContextChanged(value, previous) {
30
- const elementsInGroup = getElementsInGroup(this.board, value.element, false, true);
31
- const isPartialSelectGroup = elementsInGroup.some(item => isSelectedElementOrGroup(this.board, item)) &&
32
- !elementsInGroup.every(item => isSelectedElementOrGroup(this.board, item));
33
- this.groupGenerator.processDrawing(value.element, this.g, isPartialSelectGroup);
34
- }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: GroupComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
36
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: GroupComponent, isStandalone: true, selector: "plait-group", usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: GroupComponent, decorators: [{
39
- type: Component,
40
- args: [{
41
- selector: 'plait-group',
42
- template: ``,
43
- changeDetection: ChangeDetectionStrategy.OnPush,
44
- standalone: true
45
- }]
46
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvZHJhdy9zcmMvZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEQsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNILE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUtILGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNwQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBUTlELE1BQU0sT0FBTyxjQUFlLFNBQVEsbUJBQTJDO0lBRTNFLFlBQW9CLGdCQUFrQyxFQUFZLEdBQXNCO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURLLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBWSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUV4RixDQUFDO0lBTUQsbUJBQW1CO1FBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBYSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQy9ELFlBQVksRUFBRSxDQUFDLE9BQW1CLEVBQUUsRUFBRTtnQkFDbEMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFDRCxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN2QixnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3pCLGVBQWUsRUFBRSxHQUFHLEVBQUU7Z0JBQ2xCLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUMsQ0FBQztTQUNKLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxnQkFBZ0IsQ0FDWixLQUF3RCxFQUN4RCxRQUEyRDtRQUUzRCxNQUFNLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25GLE1BQU0sb0JBQW9CLEdBQ3RCLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3hFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUNwRixDQUFDOzhHQXRDUSxjQUFjO2tHQUFkLGNBQWMsOEZBSmIsRUFBRTs7MkZBSUgsY0FBYztrQkFOMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgT25EZXN0cm95LCBWaWV3Q29udGFpbmVyUmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZlR2VuZXJhdG9yLCBDb21tb25QbHVnaW5FbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQge1xuICAgIE9uQ29udGV4dENoYW5nZWQsXG4gICAgUGxhaXRCb2FyZCxcbiAgICBQbGFpdEdyb3VwLFxuICAgIFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQsXG4gICAgZ2V0RWxlbWVudHNJbkdyb3VwLFxuICAgIGdldFJlY3RhbmdsZUJ5R3JvdXAsXG4gICAgaXNTZWxlY3RlZEVsZW1lbnRPckdyb3VwLFxuICAgIGlzU2VsZWN0aW9uTW92aW5nXG59IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEdyb3VwR2VuZXJhdG9yIH0gZnJvbSAnLi9nZW5lcmF0b3JzL2dyb3VwLmdlbmVyYXRvcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGxhaXQtZ3JvdXAnLFxuICAgIHRlbXBsYXRlOiBgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEdyb3VwQ29tcG9uZW50IGV4dGVuZHMgQ29tbW9uUGx1Z2luRWxlbWVudDxQbGFpdEdyb3VwLCBQbGFpdEJvYXJkPlxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ29udGV4dENoYW5nZWQ8UGxhaXRHcm91cCwgUGxhaXRCb2FyZD4ge1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoY2RyKTtcbiAgICB9XG5cbiAgICBhY3RpdmVHZW5lcmF0b3IhOiBBY3RpdmVHZW5lcmF0b3I8UGxhaXRHcm91cD47XG5cbiAgICBncm91cEdlbmVyYXRvciE6IEdyb3VwR2VuZXJhdG9yO1xuXG4gICAgaW5pdGlhbGl6ZUdlbmVyYXRvcigpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVHZW5lcmF0b3IgPSBuZXcgQWN0aXZlR2VuZXJhdG9yPFBsYWl0R3JvdXA+KHRoaXMuYm9hcmQsIHtcbiAgICAgICAgICAgIGdldFJlY3RhbmdsZTogKGVsZW1lbnQ6IFBsYWl0R3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0UmVjdGFuZ2xlQnlHcm91cCh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRTdHJva2VXaWR0aDogKCkgPT4gMCxcbiAgICAgICAgICAgIGdldFN0cm9rZU9wYWNpdHk6ICgpID0+IDAsXG4gICAgICAgICAgICBoYXNSZXNpemVIYW5kbGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gIWlzU2VsZWN0aW9uTW92aW5nKHRoaXMuYm9hcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5ncm91cEdlbmVyYXRvciA9IG5ldyBHcm91cEdlbmVyYXRvcih0aGlzLmJvYXJkKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplR2VuZXJhdG9yKCk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlZChcbiAgICAgICAgdmFsdWU6IFBsYWl0UGx1Z2luRWxlbWVudENvbnRleHQ8UGxhaXRHcm91cCwgUGxhaXRCb2FyZD4sXG4gICAgICAgIHByZXZpb3VzOiBQbGFpdFBsdWdpbkVsZW1lbnRDb250ZXh0PFBsYWl0R3JvdXAsIFBsYWl0Qm9hcmQ+XG4gICAgKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzSW5Hcm91cCA9IGdldEVsZW1lbnRzSW5Hcm91cCh0aGlzLmJvYXJkLCB2YWx1ZS5lbGVtZW50LCBmYWxzZSwgdHJ1ZSk7XG4gICAgICAgIGNvbnN0IGlzUGFydGlhbFNlbGVjdEdyb3VwID1cbiAgICAgICAgICAgIGVsZW1lbnRzSW5Hcm91cC5zb21lKGl0ZW0gPT4gaXNTZWxlY3RlZEVsZW1lbnRPckdyb3VwKHRoaXMuYm9hcmQsIGl0ZW0pKSAmJlxuICAgICAgICAgICAgIWVsZW1lbnRzSW5Hcm91cC5ldmVyeShpdGVtID0+IGlzU2VsZWN0ZWRFbGVtZW50T3JHcm91cCh0aGlzLmJvYXJkLCBpdGVtKSk7XG4gICAgICAgIHRoaXMuZ3JvdXBHZW5lcmF0b3IucHJvY2Vzc0RyYXdpbmcodmFsdWUuZWxlbWVudCwgdGhpcy5nLCBpc1BhcnRpYWxTZWxlY3RHcm91cCk7XG4gICAgfVxufVxuIl19
@@ -1,6 +0,0 @@
1
- import { Generator } from '@plait/common';
2
- import { PlaitGroup } from '@plait/core';
3
- export declare class GroupGenerator extends Generator<PlaitGroup> {
4
- canDraw(element: PlaitGroup): boolean;
5
- draw(element: PlaitGroup, partialSelected: boolean): SVGGElement;
6
- }
@@ -1,17 +0,0 @@
1
- import { OnInit, OnDestroy, ViewContainerRef, ChangeDetectorRef } from '@angular/core';
2
- import { ActiveGenerator, CommonPluginElement } from '@plait/common';
3
- import { OnContextChanged, PlaitBoard, PlaitGroup, PlaitPluginElementContext } from '@plait/core';
4
- import { GroupGenerator } from './generators/group.generator';
5
- import * as i0 from "@angular/core";
6
- export declare class GroupComponent extends CommonPluginElement<PlaitGroup, PlaitBoard> implements OnInit, OnDestroy, OnContextChanged<PlaitGroup, PlaitBoard> {
7
- private viewContainerRef;
8
- protected cdr: ChangeDetectorRef;
9
- constructor(viewContainerRef: ViewContainerRef, cdr: ChangeDetectorRef);
10
- activeGenerator: ActiveGenerator<PlaitGroup>;
11
- groupGenerator: GroupGenerator;
12
- initializeGenerator(): void;
13
- ngOnInit(): void;
14
- onContextChanged(value: PlaitPluginElementContext<PlaitGroup, PlaitBoard>, previous: PlaitPluginElementContext<PlaitGroup, PlaitBoard>): void;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<GroupComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<GroupComponent, "plait-group", never, {}, {}, never, never, true, never>;
17
- }