ngx-vflow 0.15.0 → 1.0.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 (113) hide show
  1. package/README.md +8 -1
  2. package/esm2022/lib/vflow/components/background/background.component.mjs +75 -8
  3. package/esm2022/lib/vflow/components/connection/connection.component.mjs +67 -49
  4. package/esm2022/lib/vflow/components/custom-node-base/custom-node-base.component.mjs +32 -25
  5. package/esm2022/lib/vflow/components/default-node/default-node.component.mjs +9 -11
  6. package/esm2022/lib/vflow/components/defs/defs.component.mjs +9 -12
  7. package/esm2022/lib/vflow/components/edge/edge.component.mjs +21 -24
  8. package/esm2022/lib/vflow/components/edge-label/edge-label.component.mjs +26 -31
  9. package/esm2022/lib/vflow/components/node/node.component.mjs +54 -50
  10. package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +95 -90
  11. package/esm2022/lib/vflow/decorators/run-in-injection-context.decorator.mjs +1 -1
  12. package/esm2022/lib/vflow/directives/changes-controller.directive.mjs +41 -125
  13. package/esm2022/lib/vflow/directives/connection-controller.directive.mjs +16 -16
  14. package/esm2022/lib/vflow/directives/drag-handle.directive.mjs +7 -6
  15. package/esm2022/lib/vflow/directives/flow-size-controller.directive.mjs +7 -6
  16. package/esm2022/lib/vflow/directives/handle-size-controller.directive.mjs +15 -12
  17. package/esm2022/lib/vflow/directives/map-context.directive.mjs +8 -5
  18. package/esm2022/lib/vflow/directives/pointer.directive.mjs +18 -19
  19. package/esm2022/lib/vflow/directives/reference.directive.mjs +6 -5
  20. package/esm2022/lib/vflow/directives/root-pointer.directive.mjs +8 -5
  21. package/esm2022/lib/vflow/directives/root-svg-context.directive.mjs +8 -5
  22. package/esm2022/lib/vflow/directives/selectable.directive.mjs +10 -7
  23. package/esm2022/lib/vflow/directives/space-point-context.directive.mjs +8 -5
  24. package/esm2022/lib/vflow/directives/template.directive.mjs +43 -25
  25. package/esm2022/lib/vflow/interfaces/component-node-event.interface.mjs +1 -1
  26. package/esm2022/lib/vflow/interfaces/edge.interface.mjs +1 -1
  27. package/esm2022/lib/vflow/interfaces/node.interface.mjs +1 -1
  28. package/esm2022/lib/vflow/interfaces/optimization.interface.mjs +1 -1
  29. package/esm2022/lib/vflow/math/edge-path/bezier-path.mjs +1 -1
  30. package/esm2022/lib/vflow/math/edge-path/smooth-step-path.mjs +170 -0
  31. package/esm2022/lib/vflow/models/connection.model.mjs +1 -1
  32. package/esm2022/lib/vflow/models/edge.model.mjs +6 -1
  33. package/esm2022/lib/vflow/models/handle.model.mjs +2 -2
  34. package/esm2022/lib/vflow/models/node.model.mjs +4 -10
  35. package/esm2022/lib/vflow/models/toolbar.model.mjs +1 -1
  36. package/esm2022/lib/vflow/public-components/custom-dynamic-node/custom-dynamic-node.component.mjs +16 -10
  37. package/esm2022/lib/vflow/public-components/custom-node/custom-node.component.mjs +15 -10
  38. package/esm2022/lib/vflow/public-components/handle/handle.component.mjs +52 -0
  39. package/esm2022/lib/vflow/public-components/minimap/minimap.component.mjs +42 -45
  40. package/esm2022/lib/vflow/public-components/node-toolbar/node-toolbar.component.mjs +24 -27
  41. package/esm2022/lib/vflow/public-components/resizable/resizable.component.mjs +60 -45
  42. package/esm2022/lib/vflow/services/component-event-bus.service.mjs +3 -3
  43. package/esm2022/lib/vflow/services/draggable.service.mjs +4 -4
  44. package/esm2022/lib/vflow/services/edge-changes.service.mjs +3 -3
  45. package/esm2022/lib/vflow/services/flow-entities.service.mjs +4 -4
  46. package/esm2022/lib/vflow/services/flow-settings.service.mjs +4 -10
  47. package/esm2022/lib/vflow/services/flow-status.service.mjs +4 -4
  48. package/esm2022/lib/vflow/services/handle.service.mjs +4 -4
  49. package/esm2022/lib/vflow/services/keyboard.service.mjs +5 -5
  50. package/esm2022/lib/vflow/services/node-accessor.service.mjs +3 -3
  51. package/esm2022/lib/vflow/services/node-changes.service.mjs +3 -3
  52. package/esm2022/lib/vflow/services/node-rendering.service.mjs +11 -4
  53. package/esm2022/lib/vflow/services/overlays.service.mjs +3 -3
  54. package/esm2022/lib/vflow/services/selection.service.mjs +4 -4
  55. package/esm2022/lib/vflow/services/viewport.service.mjs +3 -3
  56. package/esm2022/lib/vflow/types/background.type.mjs +1 -1
  57. package/esm2022/lib/vflow/utils/adjust-direction.mjs +1 -1
  58. package/esm2022/lib/vflow/utils/get-os.mjs +1 -1
  59. package/esm2022/lib/vflow/utils/is-group-node.mjs +4 -0
  60. package/esm2022/lib/vflow/utils/nodes.mjs +1 -1
  61. package/esm2022/lib/vflow/vflow.mjs +24 -0
  62. package/esm2022/public-api.mjs +4 -5
  63. package/fesm2022/ngx-vflow.mjs +1160 -1005
  64. package/fesm2022/ngx-vflow.mjs.map +1 -1
  65. package/lib/vflow/components/background/background.component.d.ts +14 -1
  66. package/lib/vflow/components/connection/connection.component.d.ts +3 -3
  67. package/lib/vflow/components/custom-node-base/custom-node-base.component.d.ts +4 -9
  68. package/lib/vflow/components/default-node/default-node.component.d.ts +2 -2
  69. package/lib/vflow/components/defs/defs.component.d.ts +2 -2
  70. package/lib/vflow/components/edge/edge.component.d.ts +7 -7
  71. package/lib/vflow/components/edge-label/edge-label.component.d.ts +9 -8
  72. package/lib/vflow/components/node/node.component.d.ts +5 -6
  73. package/lib/vflow/components/vflow/vflow.component.d.ts +19 -27
  74. package/lib/vflow/directives/changes-controller.directive.d.ts +29 -30
  75. package/lib/vflow/directives/connection-controller.directive.d.ts +1 -2
  76. package/lib/vflow/directives/drag-handle.directive.d.ts +1 -1
  77. package/lib/vflow/directives/flow-size-controller.directive.d.ts +1 -1
  78. package/lib/vflow/directives/handle-size-controller.directive.d.ts +2 -2
  79. package/lib/vflow/directives/map-context.directive.d.ts +1 -1
  80. package/lib/vflow/directives/pointer.directive.d.ts +9 -6
  81. package/lib/vflow/directives/reference.directive.d.ts +1 -1
  82. package/lib/vflow/directives/root-pointer.directive.d.ts +1 -1
  83. package/lib/vflow/directives/root-svg-context.directive.d.ts +1 -1
  84. package/lib/vflow/directives/selectable.directive.d.ts +1 -1
  85. package/lib/vflow/directives/space-point-context.directive.d.ts +1 -1
  86. package/lib/vflow/directives/template.directive.d.ts +6 -6
  87. package/lib/vflow/interfaces/component-node-event.interface.d.ts +3 -3
  88. package/lib/vflow/interfaces/edge.interface.d.ts +1 -1
  89. package/lib/vflow/interfaces/node.interface.d.ts +14 -14
  90. package/lib/vflow/interfaces/optimization.interface.d.ts +7 -1
  91. package/lib/vflow/math/edge-path/smooth-step-path.d.ts +5 -0
  92. package/lib/vflow/models/edge.model.d.ts +1 -17
  93. package/lib/vflow/models/handle.model.d.ts +4 -4
  94. package/lib/vflow/models/node.model.d.ts +2 -5
  95. package/lib/vflow/public-components/custom-dynamic-node/custom-dynamic-node.component.d.ts +3 -3
  96. package/lib/vflow/public-components/custom-node/custom-node.component.d.ts +3 -3
  97. package/lib/vflow/{components → public-components}/handle/handle.component.d.ts +5 -5
  98. package/lib/vflow/public-components/minimap/minimap.component.d.ts +8 -10
  99. package/lib/vflow/public-components/node-toolbar/node-toolbar.component.d.ts +6 -5
  100. package/lib/vflow/public-components/resizable/resizable.component.d.ts +5 -4
  101. package/lib/vflow/services/flow-settings.service.d.ts +0 -7
  102. package/lib/vflow/services/node-rendering.service.d.ts +2 -0
  103. package/lib/vflow/types/background.type.d.ts +24 -1
  104. package/lib/vflow/utils/is-group-node.d.ts +2 -0
  105. package/lib/vflow/utils/reference-keeper.d.ts +1 -1
  106. package/lib/vflow/vflow.d.ts +9 -0
  107. package/package.json +3 -3
  108. package/public-api.d.ts +2 -3
  109. package/esm2022/lib/vflow/components/handle/handle.component.mjs +0 -49
  110. package/esm2022/lib/vflow/interfaces/handle-positions.interface.mjs +0 -2
  111. package/esm2022/lib/vflow/vflow.module.mjs +0 -121
  112. package/lib/vflow/interfaces/handle-positions.interface.d.ts +0 -5
  113. package/lib/vflow/vflow.module.d.ts +0 -30
@@ -9,9 +9,22 @@ export declare class BackgroundComponent {
9
9
  protected y: import("@angular/core").Signal<number>;
10
10
  protected patternColor: import("@angular/core").Signal<string>;
11
11
  protected patternSize: import("@angular/core").Signal<number>;
12
+ protected bgImageSrc: import("@angular/core").Signal<string>;
13
+ protected imageSize: import("@angular/core").Signal<{
14
+ width: number;
15
+ height: number;
16
+ } | {
17
+ readonly width: 0;
18
+ readonly height: 0;
19
+ }>;
20
+ protected scaledImageWidth: import("@angular/core").Signal<number>;
21
+ protected scaledImageHeight: import("@angular/core").Signal<number>;
22
+ protected imageX: import("@angular/core").Signal<number>;
23
+ protected imageY: import("@angular/core").Signal<number>;
24
+ protected repeated: import("@angular/core").Signal<boolean>;
12
25
  protected patternId: string;
13
26
  protected patternUrl: string;
14
27
  constructor();
15
28
  static ɵfac: i0.ɵɵFactoryDeclaration<BackgroundComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<BackgroundComponent, "g[background]", never, {}, {}, never, never, false, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<BackgroundComponent, "g[background]", never, {}, {}, never, never, true, never>;
17
30
  }
@@ -2,8 +2,8 @@ import { TemplateRef } from '@angular/core';
2
2
  import { ConnectionModel } from '../../models/connection.model';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class ConnectionComponent {
5
- model: ConnectionModel;
6
- template?: TemplateRef<any>;
5
+ model: import("@angular/core").InputSignal<ConnectionModel>;
6
+ template: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
7
7
  private flowStatusService;
8
8
  private spacePointContext;
9
9
  protected path: import("@angular/core").Signal<string | null>;
@@ -16,5 +16,5 @@ export declare class ConnectionComponent {
16
16
  };
17
17
  };
18
18
  static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<ConnectionComponent, "g[connection]", never, { "model": { "alias": "model"; "required": true; }; "template": { "alias": "template"; "required": false; }; }, {}, never, never, false, never>;
19
+ 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>;
20
20
  }
@@ -1,14 +1,9 @@
1
- import { DestroyRef, OnInit } from "@angular/core";
2
- import { ComponentDynamicNode, ComponentNode } from "../../interfaces/node.interface";
1
+ import { DestroyRef, OnInit } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
- export declare abstract class CustomNodeBaseComponent<T = unknown> implements OnInit {
3
+ export declare abstract class CustomNodeBaseComponent<T = any> implements OnInit {
5
4
  private eventBus;
5
+ private nodeService;
6
6
  protected destroyRef: DestroyRef;
7
- /**
8
- * Reference to node bound to this component
9
- */
10
- protected node: ComponentNode | ComponentDynamicNode;
11
- set _selected(value: boolean);
12
7
  /**
13
8
  * Signal with selected state of node
14
9
  */
@@ -17,5 +12,5 @@ export declare abstract class CustomNodeBaseComponent<T = unknown> implements On
17
12
  ngOnInit(): void;
18
13
  private trackEvents;
19
14
  static ɵfac: i0.ɵɵFactoryDeclaration<CustomNodeBaseComponent<any>, never>;
20
- static ɵdir: i0.ɵɵDirectiveDeclaration<CustomNodeBaseComponent<any>, never, never, { "_selected": { "alias": "_selected"; "required": false; }; }, {}, never, never, false, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CustomNodeBaseComponent<any>, never, never, {}, {}, never, never, false, never>;
21
16
  }
@@ -1,6 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class DefaultNodeComponent {
3
- selected: boolean;
3
+ selected: import("@angular/core").InputSignal<boolean>;
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<DefaultNodeComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<DefaultNodeComponent, "default-node", never, { "selected": { "alias": "selected"; "required": false; }; }, {}, never, ["*"], false, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<DefaultNodeComponent, "default-node", never, { "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
6
6
  }
@@ -1,8 +1,8 @@
1
1
  import { Marker } from '../../interfaces/marker.interface';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class DefsComponent {
4
- markers: Map<number, Marker>;
4
+ markers: import("@angular/core").InputSignal<Map<number, Marker>>;
5
5
  protected readonly defaultColor = "rgb(177, 177, 183)";
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<DefsComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<DefsComponent, "defs[flowDefs]", never, { "markers": { "alias": "markers"; "required": true; }; }, {}, never, never, false, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<DefsComponent, "defs[flowDefs]", never, { "markers": { "alias": "markers"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8
8
  }
@@ -1,4 +1,4 @@
1
- import { Injector, OnInit, Signal, TemplateRef } from '@angular/core';
1
+ import { Injector, OnInit, TemplateRef } from '@angular/core';
2
2
  import { EdgeModel } from '../../models/edge.model';
3
3
  import { EdgeContext } from '../../interfaces/template-context.interface';
4
4
  import * as i0 from "@angular/core";
@@ -6,14 +6,14 @@ export declare class EdgeComponent implements OnInit {
6
6
  protected injector: Injector;
7
7
  private selectionService;
8
8
  private flowSettingsService;
9
- model: EdgeModel;
10
- edgeTemplate?: TemplateRef<EdgeContext>;
11
- edgeLabelHtmlTemplate?: TemplateRef<any>;
12
- protected markerStartUrl: Signal<string>;
13
- protected markerEndUrl: Signal<string>;
9
+ model: import("@angular/core").InputSignal<EdgeModel>;
10
+ edgeTemplate: import("@angular/core").InputSignal<TemplateRef<EdgeContext> | undefined>;
11
+ edgeLabelHtmlTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
12
+ protected markerStartUrl: import("@angular/core").Signal<string>;
13
+ protected markerEndUrl: import("@angular/core").Signal<string>;
14
14
  protected edgeContext: EdgeContext;
15
15
  ngOnInit(): void;
16
16
  onEdgeMouseDown(): void;
17
17
  static ɵfac: i0.ɵɵFactoryDeclaration<EdgeComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<EdgeComponent, "g[edge]", never, { "model": { "alias": "model"; "required": false; }; "edgeTemplate": { "alias": "edgeTemplate"; "required": false; }; "edgeLabelHtmlTemplate": { "alias": "edgeLabelHtmlTemplate"; "required": false; }; }, {}, never, never, false, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<EdgeComponent, "g[edge]", never, { "model": { "alias": "model"; "required": true; "isSignal": true; }; "edgeTemplate": { "alias": "edgeTemplate"; "required": false; "isSignal": true; }; "edgeLabelHtmlTemplate": { "alias": "edgeLabelHtmlTemplate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
19
19
  }
@@ -1,14 +1,16 @@
1
1
  import { AfterViewInit, ElementRef, TemplateRef } from '@angular/core';
2
2
  import { EdgeLabelModel } from '../../models/edge-label.model';
3
3
  import { EdgeModel } from '../../models/edge.model';
4
- import { Point } from '../../interfaces/point.interface';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class EdgeLabelComponent implements AfterViewInit {
7
- model: EdgeLabelModel;
8
- edgeModel: EdgeModel;
9
- set point(point: Point);
10
- htmlTemplate?: TemplateRef<any>;
11
- edgeLabelWrapperRef: ElementRef<HTMLDivElement>;
6
+ model: import("@angular/core").InputSignal<EdgeLabelModel>;
7
+ edgeModel: import("@angular/core").InputSignal<EdgeModel>;
8
+ point: import("@angular/core").InputSignal<{
9
+ x: number;
10
+ y: number;
11
+ }>;
12
+ htmlTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
13
+ edgeLabelWrapperRef: import("@angular/core").Signal<ElementRef<HTMLDivElement>>;
12
14
  /**
13
15
  * Centered point of label
14
16
  *
@@ -18,7 +20,6 @@ export declare class EdgeLabelComponent implements AfterViewInit {
18
20
  x: number;
19
21
  y: number;
20
22
  }>;
21
- private pointSignal;
22
23
  ngAfterViewInit(): void;
23
24
  protected getLabelContext(): {
24
25
  $implicit: {
@@ -27,5 +28,5 @@ export declare class EdgeLabelComponent implements AfterViewInit {
27
28
  };
28
29
  };
29
30
  static ɵfac: i0.ɵɵFactoryDeclaration<EdgeLabelComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<EdgeLabelComponent, "g[edgeLabel]", never, { "model": { "alias": "model"; "required": false; }; "edgeModel": { "alias": "edgeModel"; "required": false; }; "point": { "alias": "point"; "required": false; }; "htmlTemplate": { "alias": "htmlTemplate"; "required": false; }; }, {}, never, never, false, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<EdgeLabelComponent, "g[edgeLabel]", never, { "model": { "alias": "model"; "required": true; "isSignal": true; }; "edgeModel": { "alias": "edgeModel"; "required": true; "isSignal": true; }; "point": { "alias": "point"; "required": false; "isSignal": true; }; "htmlTemplate": { "alias": "htmlTemplate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
31
32
  }
@@ -17,11 +17,10 @@ export declare class NodeComponent implements OnInit, AfterViewInit, OnDestroy,
17
17
  private nodeAccessor;
18
18
  private overlaysService;
19
19
  private zone;
20
- nodeModel: NodeModel;
21
- nodeTemplate?: TemplateRef<any>;
22
- groupNodeTemplate?: TemplateRef<any>;
23
- nodeContentRef: ElementRef<SVGGraphicsElement>;
24
- htmlWrapperRef: ElementRef<HTMLDivElement>;
20
+ nodeModel: import("@angular/core").InputSignal<NodeModel<unknown>>;
21
+ nodeTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
22
+ groupNodeTemplate: import("@angular/core").InputSignal<TemplateRef<any> | undefined>;
23
+ htmlWrapperRef: import("@angular/core").Signal<ElementRef<HTMLDivElement>>;
25
24
  protected showMagnet: import("@angular/core").Signal<boolean>;
26
25
  protected styleWidth: import("@angular/core").Signal<string>;
27
26
  protected styleHeight: import("@angular/core").Signal<string>;
@@ -36,5 +35,5 @@ export declare class NodeComponent implements OnInit, AfterViewInit, OnDestroy,
36
35
  protected pullNode(): void;
37
36
  protected selectNode(): void;
38
37
  static ɵfac: i0.ɵɵFactoryDeclaration<NodeComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<NodeComponent, "g[node]", never, { "nodeModel": { "alias": "nodeModel"; "required": false; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; }; "groupNodeTemplate": { "alias": "groupNodeTemplate"; "required": false; }; }, {}, never, never, false, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<NodeComponent, "g[node]", never, { "nodeModel": { "alias": "nodeModel"; "required": true; "isSignal": true; }; "nodeTemplate": { "alias": "nodeTemplate"; "required": false; "isSignal": true; }; "groupNodeTemplate": { "alias": "groupNodeTemplate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
40
39
  }
@@ -1,11 +1,10 @@
1
- import { OnInit, Signal } from '@angular/core';
1
+ import { OnInit } from '@angular/core';
2
2
  import { DynamicNode, Node } from '../../interfaces/node.interface';
3
3
  import { MapContextDirective } from '../../directives/map-context.directive';
4
4
  import { NodeModel } from '../../models/node.model';
5
5
  import { Edge } from '../../interfaces/edge.interface';
6
6
  import { EdgeModel } from '../../models/edge.model';
7
7
  import { ConnectionTemplateDirective, EdgeLabelHtmlTemplateDirective, EdgeTemplateDirective, GroupNodeTemplateDirective, NodeHtmlTemplateDirective } from '../../directives/template.directive';
8
- import { HandlePositions } from '../../interfaces/handle-positions.interface';
9
8
  import { Point } from '../../interfaces/point.interface';
10
9
  import { ViewportState } from '../../interfaces/viewport.interface';
11
10
  import { ConnectionModel } from '../../models/connection.model';
@@ -49,20 +48,11 @@ export declare class VflowComponent implements OnInit {
49
48
  * Maximum zoom value
50
49
  */
51
50
  set maxZoom(value: number);
52
- /**
53
- * Object that controls flow direction.
54
- *
55
- * For example, if you want to archieve right to left direction
56
- * then you need to pass these positions { source: 'left', target: 'right' }
57
- *
58
- * @deprecated
59
- */
60
- set handlePositions(handlePositions: HandlePositions);
61
51
  /**
62
52
  * Background for flow
63
53
  */
64
54
  set background(value: Background | string);
65
- optimization: Optimization;
55
+ optimization: import("@angular/core").InputSignal<Optimization>;
66
56
  /**
67
57
  * Global rule if you can or can't select entities
68
58
  */
@@ -79,37 +69,39 @@ export declare class VflowComponent implements OnInit {
79
69
  * Nodes to render
80
70
  */
81
71
  set nodes(newNodes: Node[] | DynamicNode[]);
82
- protected nodeModels: Signal<NodeModel<unknown>[]>;
72
+ protected nodeModels: import("@angular/core").Signal<NodeModel<unknown>[]>;
73
+ protected groups: import("@angular/core").Signal<NodeModel<unknown>[]>;
74
+ protected nonGroups: import("@angular/core").Signal<NodeModel<unknown>[]>;
83
75
  /**
84
76
  * Edges to render
85
77
  */
86
78
  set edges(newEdges: Edge[]);
87
- protected edgeModels: Signal<EdgeModel[]>;
79
+ protected edgeModels: import("@angular/core").Signal<EdgeModel[]>;
88
80
  /**
89
81
  * Event that accumulates all custom node events
90
82
  *
91
83
  * @experimental
92
84
  */
93
- onComponentNodeEvent: any;
94
- protected nodeTemplateDirective?: NodeHtmlTemplateDirective;
95
- protected groupNodeTemplateDirective?: GroupNodeTemplateDirective;
96
- protected edgeTemplateDirective?: EdgeTemplateDirective;
97
- protected edgeLabelHtmlDirective?: EdgeLabelHtmlTemplateDirective;
98
- protected connectionTemplateDirective?: ConnectionTemplateDirective;
99
- protected mapContext: MapContextDirective;
100
- protected spacePointContext: SpacePointContextDirective;
85
+ onComponentNodeEvent: import("@angular/core").OutputRef<any>;
86
+ protected nodeTemplateDirective: import("@angular/core").Signal<NodeHtmlTemplateDirective | undefined>;
87
+ protected groupNodeTemplateDirective: import("@angular/core").Signal<GroupNodeTemplateDirective | undefined>;
88
+ protected edgeTemplateDirective: import("@angular/core").Signal<EdgeTemplateDirective | undefined>;
89
+ protected edgeLabelHtmlDirective: import("@angular/core").Signal<EdgeLabelHtmlTemplateDirective | undefined>;
90
+ protected connectionTemplateDirective: import("@angular/core").Signal<ConnectionTemplateDirective | undefined>;
91
+ protected mapContext: import("@angular/core").Signal<MapContextDirective | undefined>;
92
+ protected spacePointContext: import("@angular/core").Signal<SpacePointContextDirective>;
101
93
  /**
102
94
  * Signal for reading viewport change
103
95
  */
104
- readonly viewport: Signal<ViewportState>;
96
+ readonly viewport: import("@angular/core").Signal<ViewportState>;
105
97
  /**
106
98
  * Signal for reading nodes change
107
99
  */
108
- readonly nodesChange: Signal<NodeChange[]>;
100
+ readonly nodesChange: import("@angular/core").Signal<NodeChange[]>;
109
101
  /**
110
102
  * Signal to reading edges change
111
103
  */
112
- readonly edgesChange: Signal<EdgeChange[]>;
104
+ readonly edgesChange: import("@angular/core").Signal<EdgeChange[]>;
113
105
  /**
114
106
  * Observable with viewport change
115
107
  */
@@ -122,7 +114,7 @@ export declare class VflowComponent implements OnInit {
122
114
  * Observable with edges change
123
115
  */
124
116
  readonly edgesChange$: import("rxjs").Observable<EdgeChange[]>;
125
- protected markers: Signal<Map<number, import("ngx-vflow").Marker>>;
117
+ protected markers: import("@angular/core").Signal<Map<number, import("ngx-vflow").Marker>>;
126
118
  protected minimap: import("@angular/core").WritableSignal<import("../../models/minimap.model").MinimapModel | null>;
127
119
  ngOnInit(): void;
128
120
  /**
@@ -162,6 +154,6 @@ export declare class VflowComponent implements OnInit {
162
154
  protected trackEdges(idx: number, { edge }: EdgeModel): Edge<unknown>;
163
155
  private setInitialNodesOrder;
164
156
  static ɵfac: i0.ɵɵFactoryDeclaration<VflowComponent, never>;
165
- static ɵcmp: i0.ɵɵComponentDeclaration<VflowComponent, "vflow", never, { "view": { "alias": "view"; "required": false; }; "minZoom": { "alias": "minZoom"; "required": false; }; "maxZoom": { "alias": "maxZoom"; "required": false; }; "handlePositions": { "alias": "handlePositions"; "required": false; }; "background": { "alias": "background"; "required": false; }; "optimization": { "alias": "optimization"; "required": false; }; "entitiesSelectable": { "alias": "entitiesSelectable"; "required": false; }; "keyboardShortcuts": { "alias": "keyboardShortcuts"; "required": false; }; "connection": { "alias": "connection"; "required": false; }; "nodes": { "alias": "nodes"; "required": true; }; "edges": { "alias": "edges"; "required": false; }; }, { "onComponentNodeEvent": "onComponentNodeEvent"; }, ["nodeTemplateDirective", "groupNodeTemplateDirective", "edgeTemplateDirective", "edgeLabelHtmlDirective", "connectionTemplateDirective"], never, false, [{ directive: typeof i1.ConnectionControllerDirective; inputs: {}; outputs: { "onConnect": "onConnect"; }; }, { directive: typeof i2.ChangesControllerDirective; inputs: {}; outputs: { "onNodesChange": "onNodesChange"; "onNodesChange.position": "onNodesChange.position"; "onNodesChange.position.single": "onNodesChange.position.single"; "onNodesChange.position.many": "onNodesChange.position.many"; "onNodesChange.size": "onNodesChange.size"; "onNodesChange.size.single": "onNodesChange.size.single"; "onNodesChange.size.many": "onNodesChange.size.many"; "onNodesChange.add": "onNodesChange.add"; "onNodesChange.add.single": "onNodesChange.add.single"; "onNodesChange.add.many": "onNodesChange.add.many"; "onNodesChange.remove": "onNodesChange.remove"; "onNodesChange.remove.single": "onNodesChange.remove.single"; "onNodesChange.remove.many": "onNodesChange.remove.many"; "onNodesChange.select": "onNodesChange.select"; "onNodesChange.select.single": "onNodesChange.select.single"; "onNodesChange.select.many": "onNodesChange.select.many"; "onEdgesChange": "onEdgesChange"; "onEdgesChange.detached": "onEdgesChange.detached"; "onEdgesChange.detached.single": "onEdgesChange.detached.single"; "onEdgesChange.detached.many": "onEdgesChange.detached.many"; "onEdgesChange.add": "onEdgesChange.add"; "onEdgesChange.add.single": "onEdgesChange.add.single"; "onEdgesChange.add.many": "onEdgesChange.add.many"; "onEdgesChange.remove": "onEdgesChange.remove"; "onEdgesChange.remove.single": "onEdgesChange.remove.single"; "onEdgesChange.remove.many": "onEdgesChange.remove.many"; "onEdgesChange.select": "onEdgesChange.select"; "onEdgesChange.select.single": "onEdgesChange.select.single"; "onEdgesChange.select.many": "onEdgesChange.select.many"; }; }]>;
157
+ static ɵcmp: i0.ɵɵComponentDeclaration<VflowComponent, "vflow", never, { "view": { "alias": "view"; "required": false; }; "minZoom": { "alias": "minZoom"; "required": false; }; "maxZoom": { "alias": "maxZoom"; "required": false; }; "background": { "alias": "background"; "required": false; }; "optimization": { "alias": "optimization"; "required": false; "isSignal": true; }; "entitiesSelectable": { "alias": "entitiesSelectable"; "required": false; }; "keyboardShortcuts": { "alias": "keyboardShortcuts"; "required": false; }; "connection": { "alias": "connection"; "required": false; }; "nodes": { "alias": "nodes"; "required": true; }; "edges": { "alias": "edges"; "required": false; }; }, { "onComponentNodeEvent": "onComponentNodeEvent"; }, ["nodeTemplateDirective", "groupNodeTemplateDirective", "edgeTemplateDirective", "edgeLabelHtmlDirective", "connectionTemplateDirective"], never, true, [{ directive: typeof i1.ConnectionControllerDirective; inputs: {}; outputs: { "onConnect": "onConnect"; }; }, { directive: typeof i2.ChangesControllerDirective; inputs: {}; outputs: { "onNodesChange": "onNodesChange"; "onNodesChange.position": "onNodesChange.position"; "onNodesChange.position.single": "onNodesChange.position.single"; "onNodesChange.position.many": "onNodesChange.position.many"; "onNodesChange.size": "onNodesChange.size"; "onNodesChange.size.single": "onNodesChange.size.single"; "onNodesChange.size.many": "onNodesChange.size.many"; "onNodesChange.add": "onNodesChange.add"; "onNodesChange.add.single": "onNodesChange.add.single"; "onNodesChange.add.many": "onNodesChange.add.many"; "onNodesChange.remove": "onNodesChange.remove"; "onNodesChange.remove.single": "onNodesChange.remove.single"; "onNodesChange.remove.many": "onNodesChange.remove.many"; "onNodesChange.select": "onNodesChange.select"; "onNodesChange.select.single": "onNodesChange.select.single"; "onNodesChange.select.many": "onNodesChange.select.many"; "onEdgesChange": "onEdgesChange"; "onEdgesChange.detached": "onEdgesChange.detached"; "onEdgesChange.detached.single": "onEdgesChange.detached.single"; "onEdgesChange.detached.many": "onEdgesChange.detached.many"; "onEdgesChange.add": "onEdgesChange.add"; "onEdgesChange.add.single": "onEdgesChange.add.single"; "onEdgesChange.add.many": "onEdgesChange.add.many"; "onEdgesChange.remove": "onEdgesChange.remove"; "onEdgesChange.remove.single": "onEdgesChange.remove.single"; "onEdgesChange.remove.many": "onEdgesChange.remove.many"; "onEdgesChange.select": "onEdgesChange.select"; "onEdgesChange.select.single": "onEdgesChange.select.single"; "onEdgesChange.select.many": "onEdgesChange.select.many"; }; }]>;
166
158
  static ngAcceptInputType_connection: i3.ConnectionSettings;
167
159
  }
@@ -1,7 +1,6 @@
1
1
  import { NodeAddChange, NodeChange, NodePositionChange, NodeRemoveChange, NodeSelectedChange, NodeSizeChange } from '../types/node-change.type';
2
2
  import { EdgeChangesService } from '../services/edge-changes.service';
3
3
  import { NodesChangeService } from '../services/node-changes.service';
4
- import { Observable } from 'rxjs';
5
4
  import { EdgeAddChange, EdgeChange, EdgeDetachedChange, EdgeRemoveChange, EdgeSelectChange } from '../types/edge-change.type';
6
5
  import * as i0 from "@angular/core";
7
6
  export declare class ChangesControllerDirective {
@@ -10,38 +9,38 @@ export declare class ChangesControllerDirective {
10
9
  /**
11
10
  * Watch nodes change
12
11
  */
13
- onNodesChange: Observable<NodeChange[]>;
14
- onNodesChangePosition: Observable<NodePositionChange[]>;
15
- onNodesChangePositionSignle: Observable<NodePositionChange>;
16
- onNodesChangePositionMany: Observable<NodePositionChange[]>;
17
- onNodesChangeSize: Observable<NodeSizeChange[]>;
18
- onNodesChangeSizeSingle: Observable<NodeSizeChange>;
19
- onNodesChangeSizeMany: Observable<NodeSizeChange[]>;
20
- onNodesChangeAdd: Observable<NodeAddChange[]>;
21
- onNodesChangeAddSingle: Observable<NodeAddChange>;
22
- onNodesChangeAddMany: Observable<NodeAddChange[]>;
23
- onNodesChangeRemove: Observable<NodeRemoveChange[]>;
24
- onNodesChangeRemoveSingle: Observable<NodeRemoveChange>;
25
- onNodesChangeRemoveMany: Observable<NodeRemoveChange[]>;
26
- onNodesChangeSelect: Observable<NodeSelectedChange[]>;
27
- onNodesChangeSelectSingle: Observable<NodeSelectedChange>;
28
- onNodesChangeSelectMany: Observable<NodeSelectedChange[]>;
12
+ onNodesChange: import("@angular/core").OutputRef<NodeChange[]>;
13
+ onNodesChangePosition: import("@angular/core").OutputRef<NodePositionChange[]>;
14
+ onNodesChangePositionSignle: import("@angular/core").OutputRef<NodePositionChange>;
15
+ onNodesChangePositionMany: import("@angular/core").OutputRef<NodePositionChange[]>;
16
+ onNodesChangeSize: import("@angular/core").OutputRef<NodeSizeChange[]>;
17
+ onNodesChangeSizeSingle: import("@angular/core").OutputRef<NodeSizeChange>;
18
+ onNodesChangeSizeMany: import("@angular/core").OutputRef<NodeSizeChange[]>;
19
+ onNodesChangeAdd: import("@angular/core").OutputRef<NodeAddChange[]>;
20
+ onNodesChangeAddSingle: import("@angular/core").OutputRef<NodeAddChange>;
21
+ onNodesChangeAddMany: import("@angular/core").OutputRef<NodeAddChange[]>;
22
+ onNodesChangeRemove: import("@angular/core").OutputRef<NodeRemoveChange[]>;
23
+ onNodesChangeRemoveSingle: import("@angular/core").OutputRef<NodeRemoveChange>;
24
+ onNodesChangeRemoveMany: import("@angular/core").OutputRef<NodeRemoveChange[]>;
25
+ onNodesChangeSelect: import("@angular/core").OutputRef<NodeSelectedChange[]>;
26
+ onNodesChangeSelectSingle: import("@angular/core").OutputRef<NodeSelectedChange>;
27
+ onNodesChangeSelectMany: import("@angular/core").OutputRef<NodeSelectedChange[]>;
29
28
  /**
30
29
  * Watch edges change
31
30
  */
32
- onEdgesChange: Observable<EdgeChange[]>;
33
- onNodesChangeDetached: Observable<EdgeDetachedChange[]>;
34
- onNodesChangeDetachedSingle: Observable<EdgeDetachedChange>;
35
- onNodesChangeDetachedMany: Observable<EdgeDetachedChange[]>;
36
- onEdgesChangeAdd: Observable<EdgeAddChange[]>;
37
- onEdgeChangeAddSingle: Observable<EdgeAddChange>;
38
- onEdgeChangeAddMany: Observable<EdgeAddChange[]>;
39
- onEdgeChangeRemove: Observable<EdgeRemoveChange[]>;
40
- onEdgeChangeRemoveSingle: Observable<EdgeRemoveChange>;
41
- onEdgeChangeRemoveMany: Observable<EdgeRemoveChange[]>;
42
- onEdgeChangeSelect: Observable<EdgeSelectChange[]>;
43
- onEdgeChangeSelectSingle: Observable<EdgeSelectChange>;
44
- onEdgeChangeSelectMany: Observable<EdgeSelectChange[]>;
31
+ onEdgesChange: import("@angular/core").OutputRef<EdgeChange[]>;
32
+ onNodesChangeDetached: import("@angular/core").OutputRef<EdgeDetachedChange[]>;
33
+ onNodesChangeDetachedSingle: import("@angular/core").OutputRef<EdgeDetachedChange>;
34
+ onNodesChangeDetachedMany: import("@angular/core").OutputRef<EdgeDetachedChange[]>;
35
+ onEdgesChangeAdd: import("@angular/core").OutputRef<EdgeAddChange[]>;
36
+ onEdgeChangeAddSingle: import("@angular/core").OutputRef<EdgeAddChange>;
37
+ onEdgeChangeAddMany: import("@angular/core").OutputRef<EdgeAddChange[]>;
38
+ onEdgeChangeRemove: import("@angular/core").OutputRef<EdgeRemoveChange[]>;
39
+ onEdgeChangeRemoveSingle: import("@angular/core").OutputRef<EdgeRemoveChange>;
40
+ onEdgeChangeRemoveMany: import("@angular/core").OutputRef<EdgeRemoveChange[]>;
41
+ onEdgeChangeSelect: import("@angular/core").OutputRef<EdgeSelectChange[]>;
42
+ onEdgeChangeSelectSingle: import("@angular/core").OutputRef<EdgeSelectChange>;
43
+ onEdgeChangeSelectMany: import("@angular/core").OutputRef<EdgeSelectChange[]>;
45
44
  private nodeChangesOfType;
46
45
  private edgeChangesOfType;
47
46
  private singleChange;
@@ -1,4 +1,3 @@
1
- import { EventEmitter } from '@angular/core';
2
1
  import { Connection } from '../interfaces/connection.interface';
3
2
  import { HandleModel } from '../models/handle.model';
4
3
  import * as i0 from "@angular/core";
@@ -11,7 +10,7 @@ export declare class ConnectionControllerDirective {
11
10
  * Also it's important to note, that this event only fires when connection is valid by validator function in `ConnectionSettings`,
12
11
  * by default without passing the validator every connection concidered valid.
13
12
  */
14
- onConnect: EventEmitter<Connection>;
13
+ onConnect: import("@angular/core").OutputEmitterRef<Connection>;
15
14
  private statusService;
16
15
  private flowEntitiesService;
17
16
  protected connectEffect: import("@angular/core").EffectRef;
@@ -4,5 +4,5 @@ export declare class DragHandleDirective {
4
4
  private get model();
5
5
  constructor();
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<DragHandleDirective, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<DragHandleDirective, "[dragHandle]", never, {}, {}, never, never, false, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DragHandleDirective, "[dragHandle]", never, {}, {}, never, never, true, never>;
8
8
  }
@@ -7,5 +7,5 @@ export declare class FlowSizeControllerDirective {
7
7
  flowHeight: Signal<string | number>;
8
8
  constructor();
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<FlowSizeControllerDirective, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<FlowSizeControllerDirective, "svg[flowSizeController]", never, {}, {}, never, never, false, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FlowSizeControllerDirective, "svg[flowSizeController]", never, {}, {}, never, never, true, never>;
11
11
  }
@@ -2,9 +2,9 @@ import { AfterViewInit } from '@angular/core';
2
2
  import { HandleModel } from '../models/handle.model';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class HandleSizeControllerDirective implements AfterViewInit {
5
- handleModel: HandleModel;
5
+ handleModel: import("@angular/core").InputSignal<HandleModel>;
6
6
  private handleWrapper;
7
7
  ngAfterViewInit(): void;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<HandleSizeControllerDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<HandleSizeControllerDirective, "[handleSizeController]", never, { "handleModel": { "alias": "handleSizeController"; "required": true; }; }, {}, never, never, false, never>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HandleSizeControllerDirective, "[handleSizeController]", never, { "handleModel": { "alias": "handleSizeController"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
10
10
  }
@@ -21,7 +21,7 @@ export declare class MapContextDirective implements OnInit {
21
21
  private handleZoomEnd;
22
22
  private filterCondition;
23
23
  static ɵfac: i0.ɵɵFactoryDeclaration<MapContextDirective, never>;
24
- static ɵdir: i0.ɵɵDirectiveDeclaration<MapContextDirective, "g[mapContext]", never, {}, {}, never, never, false, never>;
24
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MapContextDirective, "g[mapContext]", never, {}, {}, never, never, true, never>;
25
25
  }
26
26
  declare module 'd3-selection' {
27
27
  interface Selection<GElement extends BaseType, Datum, PElement extends BaseType, PDatum> {
@@ -1,13 +1,16 @@
1
- import { EventEmitter } from '@angular/core';
2
1
  import { RootPointerDirective } from './root-pointer.directive';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class PointerDirective {
5
4
  protected hostElement: Element;
6
5
  protected pointerMovementDirective: RootPointerDirective;
7
- protected pointerOver: EventEmitter<Event>;
8
- protected pointerOut: EventEmitter<Event>;
9
- protected pointerStart: EventEmitter<Event>;
10
- protected pointerEnd: EventEmitter<Event>;
6
+ protected pointerOver: import("@angular/core").OutputEmitterRef<Event>;
7
+ protected pointerOut: import("@angular/core").OutputEmitterRef<Event>;
8
+ /**
9
+ * @todo the Angular may somehow ignore the event.
10
+ * reproduced here: https://www.ngx-vflow.org/workshops/layout/vizdom-layout
11
+ */
12
+ protected pointerStart: import("@angular/core").OutputEmitterRef<Event>;
13
+ protected pointerEnd: import("@angular/core").OutputEmitterRef<Event>;
11
14
  protected onPointerStart(event: Event): void;
12
15
  protected onPointerEnd(event: Event): void;
13
16
  protected onMouseOver(event: Event): void;
@@ -17,5 +20,5 @@ export declare class PointerDirective {
17
20
  protected touchOverOut: import("rxjs").Subscription;
18
21
  private handleTouchOverAndOut;
19
22
  static ɵfac: i0.ɵɵFactoryDeclaration<PointerDirective, never>;
20
- static ɵdir: i0.ɵɵDirectiveDeclaration<PointerDirective, "[pointerStart], [pointerEnd], [pointerOver], [pointerOut]", never, {}, { "pointerOver": "pointerOver"; "pointerOut": "pointerOut"; "pointerStart": "pointerStart"; "pointerEnd": "pointerEnd"; }, never, never, false, never>;
23
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PointerDirective, "[pointerStart], [pointerEnd], [pointerOver], [pointerOut]", never, {}, { "pointerOver": "pointerOver"; "pointerOut": "pointerOut"; "pointerStart": "pointerStart"; "pointerEnd": "pointerEnd"; }, never, never, true, never>;
21
24
  }
@@ -2,5 +2,5 @@ import * as i0 from "@angular/core";
2
2
  export declare class RootSvgReferenceDirective {
3
3
  readonly element: SVGSVGElement;
4
4
  static ɵfac: i0.ɵɵFactoryDeclaration<RootSvgReferenceDirective, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<RootSvgReferenceDirective, "svg[rootSvgRef]", never, {}, {}, never, never, false, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RootSvgReferenceDirective, "svg[rootSvgRef]", never, {}, {}, never, never, true, never>;
6
6
  }
@@ -48,5 +48,5 @@ export declare class RootPointerDirective {
48
48
  */
49
49
  setInitialTouch(event: TouchEvent): void;
50
50
  static ɵfac: i0.ɵɵFactoryDeclaration<RootPointerDirective, never>;
51
- static ɵdir: i0.ɵɵDirectiveDeclaration<RootPointerDirective, "svg[rootPointer]", never, {}, {}, never, never, false, never>;
51
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RootPointerDirective, "svg[rootPointer]", never, {}, {}, never, never, true, never>;
52
52
  }
@@ -3,5 +3,5 @@ export declare class RootSvgContextDirective {
3
3
  private flowStatusService;
4
4
  protected resetConnection(): void;
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<RootSvgContextDirective, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<RootSvgContextDirective, "svg[rootSvgContext]", never, {}, {}, never, never, false, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RootSvgContextDirective, "svg[rootSvgContext]", never, {}, {}, never, never, true, never>;
7
7
  }
@@ -7,5 +7,5 @@ export declare class SelectableDirective {
7
7
  protected onMousedown(): void;
8
8
  private entity;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectableDirective, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<SelectableDirective, "[selectable]", never, {}, {}, never, never, false, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectableDirective, "[selectable]", never, {}, {}, never, never, true, never>;
11
11
  }
@@ -12,5 +12,5 @@ export declare class SpacePointContextDirective {
12
12
  pointerMovement: Signal<import("./root-pointer.directive").PointerEvent | undefined>;
13
13
  documentPointToFlowPoint(documentPoint: Point): DOMPoint;
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<SpacePointContextDirective, never>;
15
- static ɵdir: i0.ɵɵDirectiveDeclaration<SpacePointContextDirective, "g[spacePointContext]", never, {}, {}, never, never, false, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SpacePointContextDirective, "g[spacePointContext]", never, {}, {}, never, never, true, never>;
16
16
  }
@@ -4,30 +4,30 @@ import * as i0 from "@angular/core";
4
4
  export declare class EdgeTemplateDirective {
5
5
  templateRef: TemplateRef<EdgeContext>;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<EdgeTemplateDirective, never>;
7
- static ɵdir: i0.ɵɵDirectiveDeclaration<EdgeTemplateDirective, "ng-template[edge]", never, {}, {}, never, never, false, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EdgeTemplateDirective, "ng-template[edge]", never, {}, {}, never, never, true, never>;
8
8
  }
9
9
  export declare class ConnectionTemplateDirective {
10
10
  templateRef: TemplateRef<any>;
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionTemplateDirective, never>;
12
- static ɵdir: i0.ɵɵDirectiveDeclaration<ConnectionTemplateDirective, "ng-template[connection]", never, {}, {}, never, never, false, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ConnectionTemplateDirective, "ng-template[connection]", never, {}, {}, never, never, true, never>;
13
13
  }
14
14
  export declare class EdgeLabelHtmlTemplateDirective {
15
15
  templateRef: TemplateRef<any>;
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<EdgeLabelHtmlTemplateDirective, never>;
17
- static ɵdir: i0.ɵɵDirectiveDeclaration<EdgeLabelHtmlTemplateDirective, "ng-template[edgeLabelHtml]", never, {}, {}, never, never, false, never>;
17
+ static ɵdir: i0.ɵɵDirectiveDeclaration<EdgeLabelHtmlTemplateDirective, "ng-template[edgeLabelHtml]", never, {}, {}, never, never, true, never>;
18
18
  }
19
19
  export declare class NodeHtmlTemplateDirective {
20
20
  templateRef: TemplateRef<any>;
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<NodeHtmlTemplateDirective, never>;
22
- static ɵdir: i0.ɵɵDirectiveDeclaration<NodeHtmlTemplateDirective, "ng-template[nodeHtml]", never, {}, {}, never, never, false, never>;
22
+ static ɵdir: i0.ɵɵDirectiveDeclaration<NodeHtmlTemplateDirective, "ng-template[nodeHtml]", never, {}, {}, never, never, true, never>;
23
23
  }
24
24
  export declare class GroupNodeTemplateDirective {
25
25
  templateRef: TemplateRef<any>;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<GroupNodeTemplateDirective, never>;
27
- static ɵdir: i0.ɵɵDirectiveDeclaration<GroupNodeTemplateDirective, "ng-template[groupNode]", never, {}, {}, never, never, false, never>;
27
+ static ɵdir: i0.ɵɵDirectiveDeclaration<GroupNodeTemplateDirective, "ng-template[groupNode]", never, {}, {}, never, never, true, never>;
28
28
  }
29
29
  export declare class HandleTemplateDirective {
30
30
  templateRef: TemplateRef<any>;
31
31
  static ɵfac: i0.ɵɵFactoryDeclaration<HandleTemplateDirective, never>;
32
- static ɵdir: i0.ɵɵDirectiveDeclaration<HandleTemplateDirective, "ng-template[handle]", never, {}, {}, never, never, false, never>;
32
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HandleTemplateDirective, "ng-template[handle]", never, {}, {}, never, never, true, never>;
33
33
  }
@@ -1,9 +1,9 @@
1
- import { EventEmitter } from "@angular/core";
1
+ import { EventEmitter, OutputRef } from "@angular/core";
2
2
  import { CustomNodeComponent } from "../public-components/custom-node/custom-node.component";
3
3
  import { CustomDynamicNodeComponent } from "../public-components/custom-dynamic-node/custom-dynamic-node.component";
4
- type EventInfo<T> = T extends EventEmitter<infer U> ? U : never;
4
+ type EventInfo<T> = T extends (EventEmitter<infer U> | OutputRef<infer U>) ? U : never;
5
5
  type EventKeys<T> = {
6
- [K in keyof T]: T[K] extends EventEmitter<any> ? K : never;
6
+ [K in keyof T]: T[K] extends (EventEmitter<any> | OutputRef<any>) ? K : never;
7
7
  }[keyof T];
8
8
  type EventShape<T, K extends keyof T> = {
9
9
  [P in K]: {
@@ -2,7 +2,7 @@ import { Connection } from "./connection.interface";
2
2
  import { EdgeLabel, EdgeLabelPosition } from "./edge-label.interface";
3
3
  import { Marker } from "./marker.interface";
4
4
  export type EdgeType = 'default' | 'template';
5
- export type Curve = 'straight' | 'bezier';
5
+ export type Curve = 'straight' | 'bezier' | 'smooth-step' | 'step';
6
6
  export interface Edge<T = unknown> extends Connection {
7
7
  id: string;
8
8
  type?: EdgeType;