ngx-vflow 1.8.2 → 1.10.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.
Files changed (75) hide show
  1. package/esm2022/lib/vflow/components/connection/connection.component.mjs +33 -13
  2. package/esm2022/lib/vflow/components/edge/edge.component.mjs +3 -3
  3. package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +12 -8
  4. package/esm2022/lib/vflow/interfaces/curve-factory.interface.mjs +2 -0
  5. package/esm2022/lib/vflow/interfaces/edge.interface.mjs +1 -1
  6. package/esm2022/lib/vflow/math/edge-path/bezier-path.mjs +12 -14
  7. package/esm2022/lib/vflow/math/edge-path/smooth-step-path.mjs +5 -5
  8. package/esm2022/lib/vflow/math/edge-path/straigh-path.mjs +7 -9
  9. package/esm2022/lib/vflow/models/edge.model.mjs +24 -8
  10. package/esm2022/lib/vflow/services/edge-rendering.service.mjs +3 -1
  11. package/esm2022/lib/vflow/services/flow-entities.service.mjs +3 -1
  12. package/esm2022/lib/vflow/services/node-rendering.service.mjs +5 -1
  13. package/esm2022/lib/vflow/utils/entities-per-frame.mjs +2 -0
  14. package/esm2022/public-api.mjs +15 -13
  15. package/esm2022/testing/component-mocks/custom-template-edge-mock.component.mjs +16 -0
  16. package/esm2022/testing/component-mocks/handle-mock.component.mjs +24 -0
  17. package/esm2022/{lib/vflow/testing-utils → testing}/component-mocks/minimap-mock.component.mjs +1 -1
  18. package/esm2022/testing/component-mocks/node-toolbar-mock.component.mjs +23 -0
  19. package/esm2022/testing/component-mocks/resizable-mock.component.mjs +25 -0
  20. package/esm2022/testing/component-mocks/vflow-mock.component.mjs +296 -0
  21. package/esm2022/testing/directive-mocks/connection-controller-mock.directive.mjs +27 -0
  22. package/esm2022/testing/directive-mocks/drag-handle-mock.directive.mjs +11 -0
  23. package/esm2022/{lib/vflow/testing-utils → testing}/directive-mocks/selectable-mock.directive.mjs +1 -1
  24. package/esm2022/{lib/vflow/testing-utils → testing}/directive-mocks/template-mock.directive.mjs +1 -1
  25. package/esm2022/testing/ngx-vflow-testing.mjs +5 -0
  26. package/esm2022/testing/provide-custom-node-mocks.mjs +59 -0
  27. package/esm2022/testing/public-api.mjs +13 -0
  28. package/esm2022/testing/types.mjs +2 -0
  29. package/esm2022/testing/vflow-mocks.mjs +28 -0
  30. package/fesm2022/ngx-vflow-testing.mjs +626 -0
  31. package/fesm2022/ngx-vflow-testing.mjs.map +1 -0
  32. package/fesm2022/ngx-vflow.mjs +94 -648
  33. package/fesm2022/ngx-vflow.mjs.map +1 -1
  34. package/lib/vflow/components/connection/connection.component.d.ts +4 -2
  35. package/lib/vflow/components/vflow/vflow.component.d.ts +4 -0
  36. package/lib/vflow/interfaces/curve-factory.interface.d.ts +44 -0
  37. package/lib/vflow/interfaces/edge.interface.d.ts +2 -1
  38. package/lib/vflow/math/edge-path/bezier-path.d.ts +2 -5
  39. package/lib/vflow/math/edge-path/smooth-step-path.d.ts +2 -3
  40. package/lib/vflow/math/edge-path/straigh-path.d.ts +2 -4
  41. package/lib/vflow/models/edge.model.d.ts +6 -4
  42. package/lib/vflow/services/edge-rendering.service.d.ts +1 -0
  43. package/lib/vflow/services/flow-entities.service.d.ts +3 -0
  44. package/lib/vflow/services/node-rendering.service.d.ts +3 -0
  45. package/lib/vflow/utils/entities-per-frame.d.ts +1 -0
  46. package/package.json +9 -3
  47. package/public-api.d.ts +13 -11
  48. package/testing/component-mocks/custom-template-edge-mock.component.d.ts +7 -0
  49. package/{lib/vflow/testing-utils → testing}/component-mocks/handle-mock.component.d.ts +2 -3
  50. package/{lib/vflow/testing-utils → testing}/component-mocks/minimap-mock.component.d.ts +1 -1
  51. package/{lib/vflow/testing-utils → testing}/component-mocks/node-toolbar-mock.component.d.ts +1 -2
  52. package/{lib/vflow/testing-utils → testing}/component-mocks/resizable-mock.component.d.ts +1 -1
  53. package/{lib/vflow/testing-utils → testing}/component-mocks/vflow-mock.component.d.ts +2 -14
  54. package/{lib/vflow/testing-utils → testing}/directive-mocks/connection-controller-mock.directive.d.ts +2 -3
  55. package/{lib/vflow/testing-utils → testing}/directive-mocks/drag-handle-mock.directive.d.ts +1 -1
  56. package/{lib/vflow/testing-utils → testing}/directive-mocks/selectable-mock.directive.d.ts +1 -1
  57. package/{lib/vflow/testing-utils → testing}/directive-mocks/template-mock.directive.d.ts +1 -1
  58. package/testing/index.d.ts +5 -0
  59. package/testing/public-api.d.ts +11 -0
  60. package/{lib/vflow/testing-utils → testing}/vflow-mocks.d.ts +2 -1
  61. package/esm2022/lib/vflow/interfaces/path-data.interface.mjs +0 -2
  62. package/esm2022/lib/vflow/testing-utils/component-mocks/handle-mock.component.mjs +0 -24
  63. package/esm2022/lib/vflow/testing-utils/component-mocks/node-toolbar-mock.component.mjs +0 -23
  64. package/esm2022/lib/vflow/testing-utils/component-mocks/resizable-mock.component.mjs +0 -25
  65. package/esm2022/lib/vflow/testing-utils/component-mocks/vflow-mock.component.mjs +0 -296
  66. package/esm2022/lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive.mjs +0 -27
  67. package/esm2022/lib/vflow/testing-utils/directive-mocks/drag-handle-mock.directive.mjs +0 -11
  68. package/esm2022/lib/vflow/testing-utils/provide-custom-node-mocks.mjs +0 -68
  69. package/esm2022/lib/vflow/testing-utils/types.mjs +0 -2
  70. package/esm2022/lib/vflow/testing-utils/vflow-mocks.mjs +0 -26
  71. package/esm2022/lib/vflow/types/using-points.type.mjs +0 -2
  72. package/lib/vflow/interfaces/path-data.interface.d.ts +0 -8
  73. package/lib/vflow/types/using-points.type.d.ts +0 -5
  74. /package/{lib/vflow/testing-utils → testing}/provide-custom-node-mocks.d.ts +0 -0
  75. /package/{lib/vflow/testing-utils → testing}/types.d.ts +0 -0
@@ -3,14 +3,16 @@ import { ConnectionModel } from '../../models/connection.model';
3
3
  import { ConnectionContext } from '../../interfaces/template-context.interface';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ConnectionComponent {
6
+ private readonly flowStatusService;
7
+ private readonly spacePointContext;
8
+ private readonly flowEntitiesService;
6
9
  model: import("@angular/core").InputSignal<ConnectionModel>;
7
10
  template: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
8
- private flowStatusService;
9
- private spacePointContext;
10
11
  protected path: import("@angular/core").Signal<string | null>;
11
12
  protected markerUrl: import("@angular/core").Signal<string>;
12
13
  protected readonly defaultColor = "rgb(177, 177, 183)";
13
14
  protected getContext(): ConnectionContext;
15
+ private getPathFactoryParams;
14
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionComponent, never>;
15
17
  static ɵcmp: i0.ɵɵComponentDeclaration<ConnectionComponent, "g[connection]", never, { "model": { "alias": "model"; "required": true; "isSignal": true; }; "template": { "alias": "template"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
18
  }
@@ -85,13 +85,17 @@ export declare class VflowComponent {
85
85
  */
86
86
  set nodes(newNodes: Node[] | DynamicNode[]);
87
87
  protected nodeModels: import("@angular/core").Signal<NodeModel<unknown>[]>;
88
+ protected nodesPerFrame: import("@angular/core").Signal<number>;
88
89
  protected groups: import("@angular/core").Signal<NodeModel<unknown>[]>;
90
+ protected groupsPerFrame: import("@angular/core").Signal<number>;
89
91
  protected nonGroups: import("@angular/core").Signal<NodeModel<unknown>[]>;
92
+ protected nonGroupsPerFrame: import("@angular/core").Signal<number>;
90
93
  /**
91
94
  * Edges to render
92
95
  */
93
96
  set edges(newEdges: Edge[]);
94
97
  protected edgeModels: import("@angular/core").Signal<EdgeModel[]>;
98
+ protected edgesPerFrame: import("@angular/core").Signal<number>;
95
99
  /**
96
100
  * Event that accumulates all custom node events
97
101
  *
@@ -0,0 +1,44 @@
1
+ import { Position } from '../types/position.type';
2
+ import { EdgeLabelPosition } from './edge-label.interface';
3
+ import { Edge } from './edge.interface';
4
+ import { DynamicNode, Node } from './node.interface';
5
+ import { Point } from './point.interface';
6
+ export interface CurveFactorySharedParams {
7
+ /** Starting point coordinates of the curve */
8
+ sourcePoint: Point;
9
+ /** Ending point coordinates of the curve */
10
+ targetPoint: Point;
11
+ /** Position of the source handle relative to the source node */
12
+ sourcePosition: Position;
13
+ /** Position of the target handle relative to the target node */
14
+ targetPosition: Position;
15
+ /** Array of all edges in the flow */
16
+ allEdges: Edge[];
17
+ /** Array of all nodes in the flow */
18
+ allNodes: Node[] | DynamicNode[];
19
+ }
20
+ export interface ConnectionCurveFactoryParams extends CurveFactorySharedParams {
21
+ /** Indicates this is a temporary connection being drawn */
22
+ mode: 'connection';
23
+ }
24
+ export interface EdgeCurveFactoryParams extends CurveFactorySharedParams {
25
+ /** Indicates this is a permanent edge */
26
+ mode: 'edge';
27
+ /** The edge instance this curve belongs to */
28
+ edge: Edge;
29
+ }
30
+ /**
31
+ * Layout information for a curve
32
+ * */
33
+ export interface CurveLayout {
34
+ /** SVG path string defining the curve
35
+ * (d attribute - https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/d)
36
+ * */
37
+ path: string;
38
+ /** Optional points for label placement along the curve */
39
+ labelPoints?: {
40
+ [key in EdgeLabelPosition]: Point;
41
+ };
42
+ }
43
+ export type CurveFactoryParams = ConnectionCurveFactoryParams | EdgeCurveFactoryParams;
44
+ export type CurveFactory = (params: CurveFactoryParams) => CurveLayout;
@@ -1,8 +1,9 @@
1
1
  import { Connection } from './connection.interface';
2
+ import { CurveFactory } from './curve-factory.interface';
2
3
  import { EdgeLabel, EdgeLabelPosition } from './edge-label.interface';
3
4
  import { Marker } from './marker.interface';
4
5
  export type EdgeType = 'default' | 'template';
5
- export type Curve = 'straight' | 'bezier' | 'smooth-step' | 'step';
6
+ export type Curve = 'straight' | 'bezier' | 'smooth-step' | 'step' | CurveFactory;
6
7
  export interface Edge<T = unknown> extends Connection {
7
8
  id: string;
8
9
  type?: EdgeType;
@@ -1,5 +1,2 @@
1
- import { PathData } from '../../interfaces/path-data.interface';
2
- import { Point } from '../../interfaces/point.interface';
3
- import { UsingPoints } from '../../types/using-points.type';
4
- import { Position } from '../../types/position.type';
5
- export declare function bezierPath(source: Point, target: Point, sourcePosition: Position, targetPosition: Position, usingPoints?: UsingPoints): PathData;
1
+ import { CurveFactoryParams, CurveLayout } from '../../interfaces/curve-factory.interface';
2
+ export declare function bezierPath({ sourcePoint, targetPoint, sourcePosition, targetPosition, }: CurveFactoryParams): CurveLayout;
@@ -1,5 +1,4 @@
1
- import { PathData } from '../../interfaces/path-data.interface';
1
+ import { CurveFactoryParams, CurveLayout } from '../../interfaces/curve-factory.interface';
2
2
  import { Point } from '../../interfaces/point.interface';
3
- import { Position } from '../../types/position.type';
4
3
  export declare function getEdgeCenter(source: Point, target: Point): [number, number, number, number];
5
- export declare function smoothStepPath(source: Point, target: Point, sourcePosition: Position, targetPosition: Position, borderRadius?: number): PathData;
4
+ export declare function smoothStepPath({ sourcePoint, targetPoint, sourcePosition, targetPosition }: CurveFactoryParams, borderRadius?: number): CurveLayout;
@@ -1,4 +1,2 @@
1
- import { PathData } from '../../interfaces/path-data.interface';
2
- import { Point } from '../../interfaces/point.interface';
3
- import { UsingPoints } from '../../types/using-points.type';
4
- export declare function straightPath(source: Point, target: Point, usingPoints?: UsingPoints): PathData;
1
+ import { CurveFactoryParams, CurveLayout } from '../../interfaces/curve-factory.interface';
2
+ export declare function straightPath({ sourcePoint, targetPoint }: CurveFactoryParams): CurveLayout;
@@ -5,8 +5,10 @@ import { NodeModel } from './node.model';
5
5
  import { FlowEntity } from '../interfaces/flow-entity.interface';
6
6
  import { Contextable } from '../interfaces/contextable.interface';
7
7
  import { EdgeContext } from '../interfaces/template-context.interface';
8
+ import { HandleModel } from './handle.model';
8
9
  export declare class EdgeModel implements FlowEntity, Contextable<EdgeContext> {
9
10
  edge: Edge;
11
+ private readonly flowEntitiesService;
10
12
  source: import("@angular/core").WritableSignal<NodeModel<unknown> | undefined>;
11
13
  target: import("@angular/core").WritableSignal<NodeModel<unknown> | undefined>;
12
14
  curve: Curve;
@@ -17,9 +19,9 @@ export declare class EdgeModel implements FlowEntity, Contextable<EdgeContext> {
17
19
  renderOrder: import("@angular/core").WritableSignal<number>;
18
20
  detached: import("@angular/core").Signal<boolean>;
19
21
  detached$: import("rxjs").Observable<boolean>;
20
- path: import("@angular/core").Signal<import("../interfaces/path-data.interface").PathData>;
21
- sourceHandle: import("@angular/core").Signal<import("./handle.model").HandleModel | null>;
22
- targetHandle: import("@angular/core").Signal<import("./handle.model").HandleModel | null>;
22
+ path: import("@angular/core").Signal<import("../interfaces/curve-factory.interface").CurveLayout>;
23
+ sourceHandle: import("@angular/core").Signal<HandleModel | null>;
24
+ targetHandle: import("@angular/core").Signal<HandleModel | null>;
23
25
  /**
24
26
  * TODO: not reactive
25
27
  */
@@ -40,6 +42,6 @@ export declare class EdgeModel implements FlowEntity, Contextable<EdgeContext> {
40
42
  edgeLabels: {
41
43
  [position in EdgeLabelPosition]?: EdgeLabelModel;
42
44
  };
43
- private usingPoints;
44
45
  constructor(edge: Edge);
46
+ private getPathFactoryParams;
45
47
  }
@@ -3,6 +3,7 @@ import * as i0 from "@angular/core";
3
3
  export declare class EdgeRenderingService {
4
4
  private flowEntitiesService;
5
5
  readonly edges: import("@angular/core").Signal<EdgeModel[]>;
6
+ readonly edgesPerFrame: import("@angular/core").Signal<number>;
6
7
  private maxOrder;
7
8
  pull(edge: EdgeModel): void;
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<EdgeRenderingService, never>;
@@ -5,10 +5,13 @@ import { ConnectionModel } from '../models/connection.model';
5
5
  import { Marker } from '../interfaces/marker.interface';
6
6
  import { FlowEntity } from '../interfaces/flow-entity.interface';
7
7
  import { MinimapModel } from '../models/minimap.model';
8
+ import { DynamicNode, Node } from '../interfaces/node.interface';
8
9
  import * as i0 from "@angular/core";
9
10
  export declare class FlowEntitiesService {
10
11
  readonly nodes: WritableSignal<NodeModel<unknown>[]>;
12
+ readonly rawNodes: Signal<Node[] | DynamicNode[]>;
11
13
  readonly edges: WritableSignal<EdgeModel[]>;
14
+ readonly rawEdges: Signal<import("ngx-vflow").Edge<unknown>[]>;
12
15
  readonly validEdges: Signal<EdgeModel[]>;
13
16
  readonly connection: WritableSignal<ConnectionModel>;
14
17
  readonly markers: Signal<Map<number, Marker>>;
@@ -5,6 +5,9 @@ export declare class NodeRenderingService {
5
5
  readonly nodes: import("@angular/core").Signal<NodeModel<unknown>[]>;
6
6
  readonly groups: import("@angular/core").Signal<NodeModel<unknown>[]>;
7
7
  readonly nonGroups: import("@angular/core").Signal<NodeModel<unknown>[]>;
8
+ readonly nodesPerFrame: import("@angular/core").Signal<number>;
9
+ readonly groupsPerFrame: import("@angular/core").Signal<number>;
10
+ readonly nonGroupsPerFrame: import("@angular/core").Signal<number>;
8
11
  private maxOrder;
9
12
  pullNode(node: NodeModel): void;
10
13
  static ɵfac: i0.ɵɵFactoryDeclaration<NodeRenderingService, never>;
@@ -0,0 +1 @@
1
+ export declare const entitiesPerFrame: (total: number, perFrame: number) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-vflow",
3
- "version": "1.8.2",
3
+ "version": "1.10.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://www.ngx-vflow.org/",
6
6
  "author": "Artem Mangilev",
@@ -16,8 +16,8 @@
16
16
  "type": "git"
17
17
  },
18
18
  "peerDependencies": {
19
- "@angular/common": "^17.3.12 || 18.x || 19.x",
20
- "@angular/core": "^17.3.12 || 18.x || 19.x",
19
+ "@angular/common": "^17.3.12 || 18.x || 19.x || 20.x",
20
+ "@angular/core": "^17.3.12 || 18.x || 19.x || 20.x",
21
21
  "d3-drag": "^3.0.0",
22
22
  "d3-selection": "^3.0.0",
23
23
  "d3-zoom": "^3.0.0",
@@ -40,6 +40,12 @@
40
40
  "esm2022": "./esm2022/ngx-vflow.mjs",
41
41
  "esm": "./esm2022/ngx-vflow.mjs",
42
42
  "default": "./fesm2022/ngx-vflow.mjs"
43
+ },
44
+ "./testing": {
45
+ "types": "./testing/index.d.ts",
46
+ "esm2022": "./esm2022/testing/ngx-vflow-testing.mjs",
47
+ "esm": "./esm2022/testing/ngx-vflow-testing.mjs",
48
+ "default": "./fesm2022/ngx-vflow-testing.mjs"
43
49
  }
44
50
  }
45
51
  }
package/public-api.d.ts CHANGED
@@ -12,6 +12,7 @@ export * from './lib/vflow/interfaces/component-node-event.interface';
12
12
  export * from './lib/vflow/interfaces/fit-view-options.interface';
13
13
  export * from './lib/vflow/interfaces/optimization.interface';
14
14
  export * from './lib/vflow/interfaces/intersecting-nodes-options.interface';
15
+ export * from './lib/vflow/interfaces/curve-factory.interface';
15
16
  export * from './lib/vflow/types/node-change.type';
16
17
  export * from './lib/vflow/types/edge-change.type';
17
18
  export * from './lib/vflow/types/position.type';
@@ -31,14 +32,15 @@ export * from './lib/vflow/directives/connection-controller.directive';
31
32
  export * from './lib/vflow/directives/changes-controller.directive';
32
33
  export * from './lib/vflow/directives/selectable.directive';
33
34
  export * from './lib/vflow/directives/drag-handle.directive';
34
- export * from './lib/vflow/testing-utils/provide-custom-node-mocks';
35
- export * from './lib/vflow/testing-utils/component-mocks/vflow-mock.component';
36
- export * from './lib/vflow/testing-utils/component-mocks/handle-mock.component';
37
- export * from './lib/vflow/testing-utils/component-mocks/resizable-mock.component';
38
- export * from './lib/vflow/testing-utils/component-mocks/minimap-mock.component';
39
- export * from './lib/vflow/testing-utils/component-mocks/node-toolbar-mock.component';
40
- export * from './lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive';
41
- export * from './lib/vflow/testing-utils/directive-mocks/drag-handle-mock.directive';
42
- export * from './lib/vflow/testing-utils/directive-mocks/selectable-mock.directive';
43
- export * from './lib/vflow/testing-utils/directive-mocks/template-mock.directive';
44
- export * from './lib/vflow/testing-utils/vflow-mocks';
35
+ export { ConnectionModel as ɵConnectionModel } from './lib/vflow/models/connection.model';
36
+ export { HandleModel as ɵHandleModel } from './lib/vflow/models/handle.model';
37
+ export { NodeModel as ɵNodeModel } from './lib/vflow/models/node.model';
38
+ export { ComponentEventBusService as ɵComponentEventBusService } from './lib/vflow/services/component-event-bus.service';
39
+ export { HandleService as ɵHandleService } from './lib/vflow/services/handle.service';
40
+ export { FlowSettingsService as ɵFlowSettingsService } from './lib/vflow/services/flow-settings.service';
41
+ export { FlowEntitiesService as ɵFlowEntitiesService } from './lib/vflow/services/flow-entities.service';
42
+ export { NodeAccessorService as ɵNodeAccessorService } from './lib/vflow/services/node-accessor.service';
43
+ export { ViewportService as ɵViewportService } from './lib/vflow/services/viewport.service';
44
+ export { SelectionService as ɵSelectionService } from './lib/vflow/services/selection.service';
45
+ export { RootPointerDirective as ɵRootPointerDirective } from './lib/vflow/directives/root-pointer.directive';
46
+ export { SpacePointContextDirective as ɵSpacePointContextDirective } from './lib/vflow/directives/space-point-context.directive';
@@ -0,0 +1,7 @@
1
+ import { AsInterface } from '../types';
2
+ import type { CustomTemplateEdgeComponent } from 'ngx-vflow';
3
+ import * as i0 from "@angular/core";
4
+ export declare class CustomTemplateEdgeMockComponent implements AsInterface<CustomTemplateEdgeComponent> {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<CustomTemplateEdgeMockComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<CustomTemplateEdgeMockComponent, "g[customTemplateEdge]", never, {}, {}, never, never, true, never>;
7
+ }
@@ -1,11 +1,10 @@
1
1
  import { TemplateRef, OnInit } from '@angular/core';
2
- import { Position } from '../../types/position.type';
3
- import { HandleComponent } from '../../public-components/handle/handle.component';
2
+ import type { HandleComponent, Position } from 'ngx-vflow';
4
3
  import { AsInterface } from '../types';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class HandleMockComponent implements AsInterface<HandleComponent>, OnInit {
7
6
  position: import("@angular/core").InputSignal<Position>;
8
- type: import("@angular/core").InputSignal<"source" | "target">;
7
+ type: import("@angular/core").InputSignal<"target" | "source">;
9
8
  id: import("@angular/core").InputSignal<string | undefined>;
10
9
  template: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
11
10
  ngOnInit(): void;
@@ -1,5 +1,5 @@
1
1
  import { OnInit } from '@angular/core';
2
- import { MiniMapComponent, MiniMapPosition } from '../../public-components/minimap/minimap.component';
2
+ import type { MiniMapComponent, MiniMapPosition } from 'ngx-vflow';
3
3
  import { AsInterface } from '../types';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class MiniMapMockComponent implements AsInterface<MiniMapComponent>, OnInit {
@@ -1,6 +1,5 @@
1
1
  import { OnInit, OnDestroy } from '@angular/core';
2
- import { Position } from '../../types/position.type';
3
- import { NodeToolbarComponent } from '../../public-components/node-toolbar/node-toolbar.component';
2
+ import type { Position, NodeToolbarComponent } from 'ngx-vflow';
4
3
  import { AsInterface } from '../types';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class NodeToolbarMockComponent implements AsInterface<NodeToolbarComponent>, OnInit, OnDestroy {
@@ -1,5 +1,5 @@
1
1
  import { OnInit, AfterViewInit } from '@angular/core';
2
- import { ResizableComponent } from '../../public-components/resizable/resizable.component';
2
+ import type { ResizableComponent } from 'ngx-vflow';
3
3
  import { AsInterface } from '../types';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class ResizableMockComponent implements AsInterface<ResizableComponent>, OnInit, AfterViewInit {
@@ -1,21 +1,9 @@
1
1
  import { WritableSignal, OnInit } from '@angular/core';
2
- import { Node, DynamicNode } from '../../interfaces/node.interface';
3
- import { Edge } from '../../interfaces/edge.interface';
4
- import { SpacePoint, Point } from '../../interfaces/point.interface';
5
- import { Background } from '../../types/background.type';
6
- import { Optimization } from '../../interfaces/optimization.interface';
7
- import { KeyboardShortcuts } from '../../types/keyboard-action.type';
8
- import { ViewportState } from '../../interfaces/viewport.interface';
9
- import { NodeChange } from '../../types/node-change.type';
10
- import { EdgeChange } from '../../types/edge-change.type';
11
- import { FitViewOptions } from '../../interfaces/fit-view-options.interface';
2
+ import { Node, DynamicNode, Edge, SpacePoint, Point, Background, Optimization, KeyboardShortcuts, ViewportState, NodeChange, EdgeChange, FitViewOptions, VflowComponent, IntersectingNodesOptions, ɵConnectionModel as ConnectionModel } from 'ngx-vflow';
12
3
  import { ConnectionTemplateMockDirective, EdgeLabelHtmlTemplateMockDirective, EdgeTemplateMockDirective, GroupNodeTemplateMockDirective, NodeHtmlTemplateMockDirective } from '../directive-mocks/template-mock.directive';
13
- import { VflowComponent } from '../../components/vflow/vflow.component';
14
- import { ConnectionModel } from '../../models/connection.model';
15
4
  import { AsInterface } from '../types';
16
- import { IntersectingNodesOptions } from '../../interfaces/intersecting-nodes-options.interface';
17
5
  import * as i0 from "@angular/core";
18
- import * as i1 from "../../interfaces/connection-settings.interface";
6
+ import * as i1 from "ngx-vflow";
19
7
  export declare class VflowMockComponent implements AsInterface<VflowComponent>, OnInit {
20
8
  readonly nodes: Node[] | DynamicNode[];
21
9
  readonly edges: Edge[];
@@ -1,7 +1,6 @@
1
- import { Connection, ReconnectionEvent } from '../../interfaces/connection.interface';
1
+ import { Connection, ReconnectionEvent } from 'ngx-vflow';
2
2
  import { AsInterface } from '../types';
3
- import { ConnectionControllerDirective } from '../../directives/connection-controller.directive';
4
- import { HandleModel } from '../../models/handle.model';
3
+ import type { ConnectionControllerDirective, ɵHandleModel as HandleModel } from 'ngx-vflow';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class ConnectionControllerMockDirective implements AsInterface<ConnectionControllerDirective> {
7
6
  readonly onConnect: import("@angular/core").OutputEmitterRef<Connection>;
@@ -1,5 +1,5 @@
1
1
  import { AsInterface } from '../types';
2
- import { DragHandleDirective } from '../../directives/drag-handle.directive';
2
+ import type { DragHandleDirective } from 'ngx-vflow';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class DragHandleMockDirective implements AsInterface<DragHandleDirective> {
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<DragHandleMockDirective, never>;
@@ -1,5 +1,5 @@
1
1
  import { AsInterface } from '../types';
2
- import { SelectableDirective } from '../../directives/selectable.directive';
2
+ import type { SelectableDirective } from 'ngx-vflow';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class SelectableMockDirective implements AsInterface<SelectableDirective> {
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectableMockDirective, never>;
@@ -1,5 +1,5 @@
1
1
  import { TemplateRef } from '@angular/core';
2
- import { ConnectionTemplateDirective, EdgeLabelHtmlTemplateDirective, EdgeTemplateDirective, GroupNodeTemplateDirective, HandleTemplateDirective, NodeHtmlTemplateDirective } from '../../directives/template.directive';
2
+ import type { ConnectionTemplateDirective, EdgeLabelHtmlTemplateDirective, EdgeTemplateDirective, GroupNodeTemplateDirective, HandleTemplateDirective, NodeHtmlTemplateDirective } from 'ngx-vflow';
3
3
  import { AsInterface } from '../types';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class EdgeTemplateMockDirective implements AsInterface<EdgeTemplateDirective> {
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="ngx-vflow/testing" />
5
+ export * from './public-api';
@@ -0,0 +1,11 @@
1
+ export * from './provide-custom-node-mocks';
2
+ export * from './component-mocks/vflow-mock.component';
3
+ export * from './component-mocks/handle-mock.component';
4
+ export * from './component-mocks/resizable-mock.component';
5
+ export * from './component-mocks/minimap-mock.component';
6
+ export * from './component-mocks/node-toolbar-mock.component';
7
+ export * from './directive-mocks/connection-controller-mock.directive';
8
+ export * from './directive-mocks/drag-handle-mock.directive';
9
+ export * from './directive-mocks/selectable-mock.directive';
10
+ export * from './directive-mocks/template-mock.directive';
11
+ export * from './vflow-mocks';
@@ -1,3 +1,4 @@
1
+ import { CustomTemplateEdgeMockComponent } from './component-mocks/custom-template-edge-mock.component';
1
2
  import { HandleMockComponent } from './component-mocks/handle-mock.component';
2
3
  import { MiniMapMockComponent } from './component-mocks/minimap-mock.component';
3
4
  import { NodeToolbarMockComponent } from './component-mocks/node-toolbar-mock.component';
@@ -7,4 +8,4 @@ import { ConnectionControllerMockDirective } from './directive-mocks/connection-
7
8
  import { DragHandleMockDirective } from './directive-mocks/drag-handle-mock.directive';
8
9
  import { SelectableMockDirective } from './directive-mocks/selectable-mock.directive';
9
10
  import { ConnectionTemplateMockDirective, EdgeLabelHtmlTemplateMockDirective, EdgeTemplateMockDirective, GroupNodeTemplateMockDirective, HandleTemplateMockDirective, NodeHtmlTemplateMockDirective } from './directive-mocks/template-mock.directive';
10
- export declare const VflowMocks: readonly [typeof VflowMockComponent, typeof HandleMockComponent, typeof ResizableMockComponent, typeof SelectableMockDirective, typeof MiniMapMockComponent, typeof NodeToolbarMockComponent, typeof DragHandleMockDirective, typeof ConnectionControllerMockDirective, typeof NodeHtmlTemplateMockDirective, typeof GroupNodeTemplateMockDirective, typeof EdgeLabelHtmlTemplateMockDirective, typeof EdgeTemplateMockDirective, typeof ConnectionTemplateMockDirective, typeof HandleTemplateMockDirective];
11
+ export declare const VflowMocks: readonly [typeof VflowMockComponent, typeof HandleMockComponent, typeof ResizableMockComponent, typeof SelectableMockDirective, typeof MiniMapMockComponent, typeof NodeToolbarMockComponent, typeof DragHandleMockDirective, typeof ConnectionControllerMockDirective, typeof CustomTemplateEdgeMockComponent, typeof NodeHtmlTemplateMockDirective, typeof GroupNodeTemplateMockDirective, typeof EdgeLabelHtmlTemplateMockDirective, typeof EdgeTemplateMockDirective, typeof ConnectionTemplateMockDirective, typeof HandleTemplateMockDirective];
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC1kYXRhLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy9pbnRlcmZhY2VzL3BhdGgtZGF0YS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkZ2VMYWJlbFBvc2l0aW9uIH0gZnJvbSAnLi9lZGdlLWxhYmVsLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4vcG9pbnQuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBQYXRoRGF0YSB7XG4gIHBhdGg6IHN0cmluZztcbiAgcG9pbnRzOiB7IFtrZXkgaW4gRWRnZUxhYmVsUG9zaXRpb25dOiBQb2ludCB9O1xufVxuIl19
@@ -1,24 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class HandleMockComponent {
4
- constructor() {
5
- this.position = input.required();
6
- this.type = input.required();
7
- this.id = input();
8
- this.template = input();
9
- }
10
- // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method
11
- ngOnInit() { }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: HandleMockComponent, isStandalone: true, selector: "handle", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleMockComponent, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'handle',
19
- template: '',
20
- changeDetection: ChangeDetectionStrategy.OnPush,
21
- standalone: true,
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvY29tcG9uZW50LW1vY2tzL2hhbmRsZS1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBdUIsTUFBTSxlQUFlLENBQUM7O0FBVy9GLE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFPUyxhQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBWSxDQUFDO1FBQ3RDLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF1QixDQUFDO1FBQzdDLE9BQUUsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNyQixhQUFRLEdBQUcsS0FBSyxFQUFvQixDQUFDO0tBSTdDO0lBRkMscUVBQXFFO0lBQzlELFFBQVEsS0FBVSxDQUFDOytHQVBmLG1CQUFtQjttR0FBbkIsbUJBQW1CLGtqQkFKcEIsRUFBRTs7NEZBSUQsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxRQUFRO29CQUNsQixRQUFRLEVBQUUsRUFBRTtvQkFDWixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIFRlbXBsYXRlUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvcG9zaXRpb24udHlwZSc7XG5pbXBvcnQgeyBIYW5kbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wdWJsaWMtY29tcG9uZW50cy9oYW5kbGUvaGFuZGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc0ludGVyZmFjZSB9IGZyb20gJy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGFuZGxlJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSGFuZGxlTW9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIEFzSW50ZXJmYWNlPEhhbmRsZUNvbXBvbmVudD4sIE9uSW5pdCB7XG4gIHB1YmxpYyBwb3NpdGlvbiA9IGlucHV0LnJlcXVpcmVkPFBvc2l0aW9uPigpO1xuICBwdWJsaWMgdHlwZSA9IGlucHV0LnJlcXVpcmVkPCdzb3VyY2UnIHwgJ3RhcmdldCc+KCk7XG4gIHB1YmxpYyBpZCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHVibGljIHRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWVtcHR5LWxpZmVjeWNsZS1tZXRob2RcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class NodeToolbarMockComponent {
4
- constructor() {
5
- this.position = input('top');
6
- }
7
- // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method
8
- ngOnInit() { }
9
- // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method
10
- ngOnDestroy() { }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeToolbarMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: NodeToolbarMockComponent, isStandalone: true, selector: "node-toolbar", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeToolbarMockComponent, decorators: [{
15
- type: Component,
16
- args: [{
17
- selector: 'node-toolbar',
18
- template: '<ng-content />',
19
- standalone: true,
20
- changeDetection: ChangeDetectionStrategy.OnPush,
21
- }]
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10b29sYmFyLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvY29tcG9uZW50LW1vY2tzL25vZGUtdG9vbGJhci1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7O0FBVzdGLE1BQU0sT0FBTyx3QkFBd0I7SUFOckM7UUFPUyxhQUFRLEdBQUcsS0FBSyxDQUFXLEtBQUssQ0FBQyxDQUFDO0tBTzFDO0lBTEMscUVBQXFFO0lBQzlELFFBQVEsS0FBSSxDQUFDO0lBRXBCLHFFQUFxRTtJQUM5RCxXQUFXLEtBQUksQ0FBQzsrR0FQWix3QkFBd0I7bUdBQXhCLHdCQUF3QixxTkFKekIsZ0JBQWdCOzs0RkFJZix3QkFBd0I7a0JBTnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvcG9zaXRpb24udHlwZSc7XG5pbXBvcnQgeyBOb2RlVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3B1YmxpYy1jb21wb25lbnRzL25vZGUtdG9vbGJhci9ub2RlLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEFzSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdub2RlLXRvb2xiYXInLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVUb29sYmFyTW9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIEFzSW50ZXJmYWNlPE5vZGVUb29sYmFyQ29tcG9uZW50PiwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcG9zaXRpb24gPSBpbnB1dDxQb3NpdGlvbj4oJ3RvcCcpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tZW1wdHktbGlmZWN5Y2xlLW1ldGhvZFxuICBwdWJsaWMgbmdPbkluaXQoKSB7fVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tZW1wdHktbGlmZWN5Y2xlLW1ldGhvZFxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7fVxufVxuIl19
@@ -1,25 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class ResizableMockComponent {
4
- constructor() {
5
- this.resizable = input();
6
- this.resizerColor = input('#2e414c');
7
- this.gap = input(1.5);
8
- }
9
- // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method
10
- ngOnInit() { }
11
- // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method
12
- ngAfterViewInit() { }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizableMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: ResizableMockComponent, isStandalone: true, selector: "[resizable]", inputs: { resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, resizerColor: { classPropertyName: "resizerColor", publicName: "resizerColor", isSignal: true, isRequired: false, transformFunction: null }, gap: { classPropertyName: "gap", publicName: "gap", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizableMockComponent, decorators: [{
17
- type: Component,
18
- args: [{
19
- selector: '[resizable]',
20
- template: '<ng-content />',
21
- standalone: true,
22
- changeDetection: ChangeDetectionStrategy.OnPush,
23
- }]
24
- }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvY29tcG9uZW50LW1vY2tzL3Jlc2l6YWJsZS1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBeUIsTUFBTSxlQUFlLENBQUM7O0FBVWpHLE1BQU0sT0FBTyxzQkFBc0I7SUFObkM7UUFPUyxjQUFTLEdBQUcsS0FBSyxFQUFnQixDQUFDO1FBQ2xDLGlCQUFZLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLFFBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7S0FPekI7SUFMQyxxRUFBcUU7SUFDOUQsUUFBUSxLQUFJLENBQUM7SUFFcEIscUVBQXFFO0lBQzlELGVBQWUsS0FBSSxDQUFDOytHQVRoQixzQkFBc0I7bUdBQXRCLHNCQUFzQixzZEFKdkIsZ0JBQWdCOzs0RkFJZixzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgT25Jbml0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZXNpemFibGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wdWJsaWMtY29tcG9uZW50cy9yZXNpemFibGUvcmVzaXphYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBc0ludGVyZmFjZSB9IGZyb20gJy4uL3R5cGVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3Jlc2l6YWJsZV0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IC8+JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZU1vY2tDb21wb25lbnQgaW1wbGVtZW50cyBBc0ludGVyZmFjZTxSZXNpemFibGVDb21wb25lbnQ+LCBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgcmVzaXphYmxlID0gaW5wdXQ8Ym9vbGVhbiB8ICcnPigpO1xuICBwdWJsaWMgcmVzaXplckNvbG9yID0gaW5wdXQoJyMyZTQxNGMnKTtcbiAgcHVibGljIGdhcCA9IGlucHV0KDEuNSk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1lbXB0eS1saWZlY3ljbGUtbWV0aG9kXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHt9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1lbXB0eS1saWZlY3ljbGUtbWV0aG9kXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7fVxufVxuIl19