ngx-vflow 1.0.2 → 1.0.5

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 (140) hide show
  1. package/README.md +10 -10
  2. package/esm2022/lib/vflow/components/background/background.component.mjs +6 -10
  3. package/esm2022/lib/vflow/components/connection/connection.component.mjs +8 -10
  4. package/esm2022/lib/vflow/components/custom-node-base/custom-node-base.component.mjs +2 -2
  5. package/esm2022/lib/vflow/components/default-node/default-node.component.mjs +4 -4
  6. package/esm2022/lib/vflow/components/defs/defs.component.mjs +3 -3
  7. package/esm2022/lib/vflow/components/edge/edge.component.mjs +3 -3
  8. package/esm2022/lib/vflow/components/edge-label/edge-label.component.mjs +5 -7
  9. package/esm2022/lib/vflow/components/node/node.component.mjs +7 -8
  10. package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +5 -8
  11. package/esm2022/lib/vflow/decorators/microtask.decorator.mjs +1 -1
  12. package/esm2022/lib/vflow/decorators/run-in-injection-context.decorator.mjs +2 -2
  13. package/esm2022/lib/vflow/directives/changes-controller.directive.mjs +64 -22
  14. package/esm2022/lib/vflow/directives/connection-controller.directive.mjs +6 -3
  15. package/esm2022/lib/vflow/directives/drag-handle.directive.mjs +3 -3
  16. package/esm2022/lib/vflow/directives/flow-size-controller.directive.mjs +6 -4
  17. package/esm2022/lib/vflow/directives/handle-size-controller.directive.mjs +2 -2
  18. package/esm2022/lib/vflow/directives/map-context.directive.mjs +16 -14
  19. package/esm2022/lib/vflow/directives/pointer.directive.mjs +2 -2
  20. package/esm2022/lib/vflow/directives/reference.directive.mjs +1 -1
  21. package/esm2022/lib/vflow/directives/root-pointer.directive.mjs +7 -11
  22. package/esm2022/lib/vflow/directives/root-svg-context.directive.mjs +1 -1
  23. package/esm2022/lib/vflow/directives/selectable.directive.mjs +1 -1
  24. package/esm2022/lib/vflow/directives/space-point-context.directive.mjs +2 -2
  25. package/esm2022/lib/vflow/directives/template.directive.mjs +6 -6
  26. package/esm2022/lib/vflow/interfaces/box.mjs +1 -1
  27. package/esm2022/lib/vflow/interfaces/component-node-event.interface.mjs +1 -1
  28. package/esm2022/lib/vflow/interfaces/connection-settings.interface.mjs +1 -1
  29. package/esm2022/lib/vflow/interfaces/connection.interface.mjs +1 -1
  30. package/esm2022/lib/vflow/interfaces/connection.internal.interface.mjs +1 -1
  31. package/esm2022/lib/vflow/interfaces/edge-label.interface.mjs +1 -1
  32. package/esm2022/lib/vflow/interfaces/edge.interface.mjs +1 -1
  33. package/esm2022/lib/vflow/interfaces/fit-view-options.interface.mjs +1 -1
  34. package/esm2022/lib/vflow/interfaces/flow-entity.interface.mjs +1 -1
  35. package/esm2022/lib/vflow/interfaces/marker.interface.mjs +1 -1
  36. package/esm2022/lib/vflow/interfaces/node.interface.mjs +5 -5
  37. package/esm2022/lib/vflow/interfaces/optimization.interface.mjs +1 -1
  38. package/esm2022/lib/vflow/interfaces/path-data.interface.mjs +1 -1
  39. package/esm2022/lib/vflow/interfaces/point.interface.mjs +1 -1
  40. package/esm2022/lib/vflow/interfaces/rect.mjs +1 -1
  41. package/esm2022/lib/vflow/interfaces/template-context.interface.mjs +1 -1
  42. package/esm2022/lib/vflow/interfaces/viewport.interface.mjs +1 -1
  43. package/esm2022/lib/vflow/math/edge-path/bezier-path.mjs +4 -10
  44. package/esm2022/lib/vflow/math/edge-path/smooth-step-path.mjs +3 -3
  45. package/esm2022/lib/vflow/math/edge-path/straigh-path.mjs +6 -6
  46. package/esm2022/lib/vflow/math/point-on-line-by-ratio.mjs +1 -1
  47. package/esm2022/lib/vflow/models/connection.model.mjs +1 -1
  48. package/esm2022/lib/vflow/models/edge-label.model.mjs +2 -2
  49. package/esm2022/lib/vflow/models/edge.model.mjs +25 -25
  50. package/esm2022/lib/vflow/models/handle.model.mjs +41 -37
  51. package/esm2022/lib/vflow/models/minimap.model.mjs +2 -2
  52. package/esm2022/lib/vflow/models/node.model.mjs +9 -14
  53. package/esm2022/lib/vflow/models/toolbar.model.mjs +6 -6
  54. package/esm2022/lib/vflow/public-components/custom-dynamic-node/custom-dynamic-node.component.mjs +3 -3
  55. package/esm2022/lib/vflow/public-components/custom-node/custom-node.component.mjs +3 -3
  56. package/esm2022/lib/vflow/public-components/handle/handle.component.mjs +2 -2
  57. package/esm2022/lib/vflow/public-components/minimap/minimap.component.mjs +8 -16
  58. package/esm2022/lib/vflow/public-components/node-toolbar/node-toolbar.component.mjs +3 -3
  59. package/esm2022/lib/vflow/public-components/resizable/resizable.component.mjs +11 -17
  60. package/esm2022/lib/vflow/services/component-event-bus.service.mjs +1 -1
  61. package/esm2022/lib/vflow/services/draggable.service.mjs +10 -12
  62. package/esm2022/lib/vflow/services/edge-changes.service.mjs +14 -20
  63. package/esm2022/lib/vflow/services/flow-entities.service.mjs +7 -10
  64. package/esm2022/lib/vflow/services/flow-settings.service.mjs +1 -1
  65. package/esm2022/lib/vflow/services/flow-status.service.mjs +2 -2
  66. package/esm2022/lib/vflow/services/handle.service.mjs +3 -3
  67. package/esm2022/lib/vflow/services/keyboard.service.mjs +8 -6
  68. package/esm2022/lib/vflow/services/node-accessor.service.mjs +1 -1
  69. package/esm2022/lib/vflow/services/node-changes.service.mjs +13 -21
  70. package/esm2022/lib/vflow/services/node-rendering.service.mjs +6 -7
  71. package/esm2022/lib/vflow/services/overlays.service.mjs +2 -2
  72. package/esm2022/lib/vflow/services/selection.service.mjs +6 -4
  73. package/esm2022/lib/vflow/services/viewport.service.mjs +13 -11
  74. package/esm2022/lib/vflow/testing-utils/provide-custom-node-mocks.mjs +25 -25
  75. package/esm2022/lib/vflow/types/background.type.mjs +1 -1
  76. package/esm2022/lib/vflow/types/connection-mode.type.mjs +1 -1
  77. package/esm2022/lib/vflow/types/edge-change.type.mjs +1 -1
  78. package/esm2022/lib/vflow/types/handle-type.type.mjs +1 -1
  79. package/esm2022/lib/vflow/types/keyboard-action.type.mjs +1 -1
  80. package/esm2022/lib/vflow/types/node-change.type.mjs +1 -1
  81. package/esm2022/lib/vflow/types/position.type.mjs +1 -1
  82. package/esm2022/lib/vflow/types/using-points.type.mjs +1 -1
  83. package/esm2022/lib/vflow/types/viewport-change-type.type.mjs +1 -1
  84. package/esm2022/lib/vflow/utils/add-nodes-to-edges.mjs +2 -2
  85. package/esm2022/lib/vflow/utils/adjust-direction.mjs +1 -1
  86. package/esm2022/lib/vflow/utils/get-os.mjs +6 -6
  87. package/esm2022/lib/vflow/utils/hash.mjs +2 -2
  88. package/esm2022/lib/vflow/utils/id.mjs +1 -1
  89. package/esm2022/lib/vflow/utils/is-defined.mjs +1 -1
  90. package/esm2022/lib/vflow/utils/is-group-node.mjs +1 -1
  91. package/esm2022/lib/vflow/utils/nodes.mjs +2 -2
  92. package/esm2022/lib/vflow/utils/reference-keeper.mjs +7 -7
  93. package/esm2022/lib/vflow/utils/resizable.mjs +4 -4
  94. package/esm2022/lib/vflow/utils/round.mjs +1 -1
  95. package/esm2022/lib/vflow/utils/transform-background.mjs +2 -4
  96. package/esm2022/lib/vflow/utils/viewport.mjs +1 -1
  97. package/esm2022/lib/vflow/vflow.mjs +10 -10
  98. package/esm2022/public-api.mjs +1 -1
  99. package/fesm2022/ngx-vflow.mjs +320 -322
  100. package/fesm2022/ngx-vflow.mjs.map +1 -1
  101. package/lib/vflow/components/node/node.component.d.ts +1 -1
  102. package/lib/vflow/components/vflow/vflow.component.d.ts +1 -1
  103. package/lib/vflow/decorators/run-in-injection-context.decorator.d.ts +1 -1
  104. package/lib/vflow/directives/changes-controller.directive.d.ts +29 -29
  105. package/lib/vflow/directives/connection-controller.directive.d.ts +4 -2
  106. package/lib/vflow/directives/pointer.directive.d.ts +4 -4
  107. package/lib/vflow/interfaces/component-node-event.interface.d.ts +5 -5
  108. package/lib/vflow/interfaces/connection-settings.interface.d.ts +4 -4
  109. package/lib/vflow/interfaces/connection.internal.interface.d.ts +2 -2
  110. package/lib/vflow/interfaces/edge.interface.d.ts +3 -3
  111. package/lib/vflow/interfaces/flow-entity.interface.d.ts +1 -1
  112. package/lib/vflow/interfaces/node.interface.d.ts +4 -4
  113. package/lib/vflow/interfaces/path-data.interface.d.ts +2 -2
  114. package/lib/vflow/interfaces/template-context.interface.d.ts +2 -2
  115. package/lib/vflow/interfaces/viewport.interface.d.ts +2 -2
  116. package/lib/vflow/math/edge-path/straigh-path.d.ts +3 -3
  117. package/lib/vflow/math/point-on-line-by-ratio.d.ts +1 -1
  118. package/lib/vflow/models/connection.model.d.ts +3 -3
  119. package/lib/vflow/models/edge-label.model.d.ts +1 -1
  120. package/lib/vflow/models/edge.model.d.ts +8 -9
  121. package/lib/vflow/models/handle.model.d.ts +2 -2
  122. package/lib/vflow/models/minimap.model.d.ts +1 -1
  123. package/lib/vflow/models/toolbar.model.d.ts +3 -3
  124. package/lib/vflow/public-components/custom-dynamic-node/custom-dynamic-node.component.d.ts +2 -2
  125. package/lib/vflow/public-components/custom-node/custom-node.component.d.ts +2 -2
  126. package/lib/vflow/public-components/handle/handle.component.d.ts +1 -1
  127. package/lib/vflow/services/flow-status.service.d.ts +1 -1
  128. package/lib/vflow/testing-utils/provide-custom-node-mocks.d.ts +1 -1
  129. package/lib/vflow/types/node-change.type.d.ts +1 -1
  130. package/lib/vflow/types/viewport-change-type.type.d.ts +1 -3
  131. package/lib/vflow/utils/add-nodes-to-edges.d.ts +2 -2
  132. package/lib/vflow/utils/adjust-direction.d.ts +1 -1
  133. package/lib/vflow/utils/is-group-node.d.ts +1 -1
  134. package/lib/vflow/utils/nodes.d.ts +2 -2
  135. package/lib/vflow/utils/reference-keeper.d.ts +3 -3
  136. package/lib/vflow/utils/resizable.d.ts +2 -2
  137. package/lib/vflow/utils/transform-background.d.ts +1 -1
  138. package/lib/vflow/utils/viewport.d.ts +2 -2
  139. package/lib/vflow/vflow.d.ts +8 -8
  140. package/package.json +2 -2
@@ -31,7 +31,7 @@ export declare class NodeComponent implements OnInit, AfterViewInit, OnDestroy,
31
31
  protected startConnection(event: Event, handle: HandleModel): void;
32
32
  protected validateConnection(handle: HandleModel): void;
33
33
  protected resetValidateConnection(targetHandle: HandleModel): void;
34
- protected endConnection(handle: HandleModel): void;
34
+ protected endConnection(): void;
35
35
  protected pullNode(): void;
36
36
  protected selectNode(): void;
37
37
  static ɵfac: i0.ɵɵFactoryDeclaration<NodeComponent, never>;
@@ -82,7 +82,7 @@ export declare class VflowComponent implements OnInit {
82
82
  *
83
83
  * @experimental
84
84
  */
85
- onComponentNodeEvent: import("@angular/core").OutputRef<any>;
85
+ readonly onComponentNodeEvent: import("@angular/core").OutputRef<any>;
86
86
  protected nodeTemplateDirective: import("@angular/core").Signal<NodeHtmlTemplateDirective | undefined>;
87
87
  protected groupNodeTemplateDirective: import("@angular/core").Signal<GroupNodeTemplateDirective | undefined>;
88
88
  protected edgeTemplateDirective: import("@angular/core").Signal<EdgeTemplateDirective | undefined>;
@@ -1,4 +1,4 @@
1
- import { Injector } from "@angular/core";
1
+ import { Injector } from '@angular/core';
2
2
  export declare function InjectionContext(target: any, key: string, descriptor: PropertyDescriptor): PropertyDescriptor;
3
3
  export interface WithInjector {
4
4
  injector: Injector;
@@ -9,38 +9,38 @@ export declare class ChangesControllerDirective {
9
9
  /**
10
10
  * Watch nodes change
11
11
  */
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[]>;
12
+ readonly onNodesChange: import("@angular/core").OutputRef<NodeChange[]>;
13
+ readonly onNodesChangePosition: import("@angular/core").OutputRef<NodePositionChange[]>;
14
+ readonly onNodesChangePositionSignle: import("@angular/core").OutputRef<NodePositionChange>;
15
+ readonly onNodesChangePositionMany: import("@angular/core").OutputRef<NodePositionChange[]>;
16
+ readonly onNodesChangeSize: import("@angular/core").OutputRef<NodeSizeChange[]>;
17
+ readonly onNodesChangeSizeSingle: import("@angular/core").OutputRef<NodeSizeChange>;
18
+ readonly onNodesChangeSizeMany: import("@angular/core").OutputRef<NodeSizeChange[]>;
19
+ readonly onNodesChangeAdd: import("@angular/core").OutputRef<NodeAddChange[]>;
20
+ readonly onNodesChangeAddSingle: import("@angular/core").OutputRef<NodeAddChange>;
21
+ readonly onNodesChangeAddMany: import("@angular/core").OutputRef<NodeAddChange[]>;
22
+ readonly onNodesChangeRemove: import("@angular/core").OutputRef<NodeRemoveChange[]>;
23
+ readonly onNodesChangeRemoveSingle: import("@angular/core").OutputRef<NodeRemoveChange>;
24
+ readonly onNodesChangeRemoveMany: import("@angular/core").OutputRef<NodeRemoveChange[]>;
25
+ readonly onNodesChangeSelect: import("@angular/core").OutputRef<NodeSelectedChange[]>;
26
+ readonly onNodesChangeSelectSingle: import("@angular/core").OutputRef<NodeSelectedChange>;
27
+ readonly onNodesChangeSelectMany: import("@angular/core").OutputRef<NodeSelectedChange[]>;
28
28
  /**
29
29
  * Watch edges change
30
30
  */
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[]>;
31
+ readonly onEdgesChange: import("@angular/core").OutputRef<EdgeChange[]>;
32
+ readonly onNodesChangeDetached: import("@angular/core").OutputRef<EdgeDetachedChange[]>;
33
+ readonly onNodesChangeDetachedSingle: import("@angular/core").OutputRef<EdgeDetachedChange>;
34
+ readonly onNodesChangeDetachedMany: import("@angular/core").OutputRef<EdgeDetachedChange[]>;
35
+ readonly onEdgesChangeAdd: import("@angular/core").OutputRef<EdgeAddChange[]>;
36
+ readonly onEdgeChangeAddSingle: import("@angular/core").OutputRef<EdgeAddChange>;
37
+ readonly onEdgeChangeAddMany: import("@angular/core").OutputRef<EdgeAddChange[]>;
38
+ readonly onEdgeChangeRemove: import("@angular/core").OutputRef<EdgeRemoveChange[]>;
39
+ readonly onEdgeChangeRemoveSingle: import("@angular/core").OutputRef<EdgeRemoveChange>;
40
+ readonly onEdgeChangeRemoveMany: import("@angular/core").OutputRef<EdgeRemoveChange[]>;
41
+ readonly onEdgeChangeSelect: import("@angular/core").OutputRef<EdgeSelectChange[]>;
42
+ readonly onEdgeChangeSelectSingle: import("@angular/core").OutputRef<EdgeSelectChange>;
43
+ readonly onEdgeChangeSelectMany: import("@angular/core").OutputRef<EdgeSelectChange[]>;
44
44
  private nodeChangesOfType;
45
45
  private edgeChangesOfType;
46
46
  private singleChange;
@@ -9,8 +9,10 @@ export declare class ConnectionControllerDirective {
9
9
  *
10
10
  * Also it's important to note, that this event only fires when connection is valid by validator function in `ConnectionSettings`,
11
11
  * by default without passing the validator every connection concidered valid.
12
+ *
13
+ * @todo add connect event and deprecate onConnect
12
14
  */
13
- onConnect: import("@angular/core").OutputEmitterRef<Connection>;
15
+ readonly onConnect: import("@angular/core").OutputEmitterRef<Connection>;
14
16
  private statusService;
15
17
  private flowEntitiesService;
16
18
  protected connectEffect: import("@angular/core").EffectRef;
@@ -18,7 +20,7 @@ export declare class ConnectionControllerDirective {
18
20
  startConnection(handle: HandleModel): void;
19
21
  validateConnection(handle: HandleModel): void;
20
22
  resetValidateConnection(targetHandle: HandleModel): void;
21
- endConnection(handle: HandleModel): void;
23
+ endConnection(): void;
22
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ConnectionControllerDirective, never>;
23
25
  static ɵdir: i0.ɵɵDirectiveDeclaration<ConnectionControllerDirective, "[connectionController]", never, {}, { "onConnect": "onConnect"; }, never, never, true, never>;
24
26
  }
@@ -3,14 +3,14 @@ import * as i0 from "@angular/core";
3
3
  export declare class PointerDirective {
4
4
  protected hostElement: Element;
5
5
  protected pointerMovementDirective: RootPointerDirective;
6
- protected pointerOver: import("@angular/core").OutputEmitterRef<Event>;
7
- protected pointerOut: import("@angular/core").OutputEmitterRef<Event>;
6
+ protected readonly pointerOver: import("@angular/core").OutputEmitterRef<Event>;
7
+ protected readonly pointerOut: import("@angular/core").OutputEmitterRef<Event>;
8
8
  /**
9
9
  * @todo the Angular may somehow ignore the event.
10
10
  * reproduced here: https://www.ngx-vflow.org/workshops/layout/vizdom-layout
11
11
  */
12
- protected pointerStart: import("@angular/core").OutputEmitterRef<Event>;
13
- protected pointerEnd: import("@angular/core").OutputEmitterRef<Event>;
12
+ protected readonly pointerStart: import("@angular/core").OutputEmitterRef<Event>;
13
+ protected readonly pointerEnd: import("@angular/core").OutputEmitterRef<Event>;
14
14
  protected onPointerStart(event: Event): void;
15
15
  protected onPointerEnd(event: Event): void;
16
16
  protected onMouseOver(event: Event): void;
@@ -1,9 +1,9 @@
1
- import { EventEmitter, OutputRef } from "@angular/core";
2
- import { CustomNodeComponent } from "../public-components/custom-node/custom-node.component";
3
- import { CustomDynamicNodeComponent } from "../public-components/custom-dynamic-node/custom-dynamic-node.component";
4
- type EventInfo<T> = T extends (EventEmitter<infer U> | OutputRef<infer U>) ? U : never;
1
+ import { EventEmitter, OutputRef } from '@angular/core';
2
+ import { CustomNodeComponent } from '../public-components/custom-node/custom-node.component';
3
+ import { CustomDynamicNodeComponent } from '../public-components/custom-dynamic-node/custom-dynamic-node.component';
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> | OutputRef<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]: {
@@ -1,7 +1,7 @@
1
- import { ConnectionMode } from "../types/connection-mode.type";
2
- import { Connection } from "./connection.interface";
3
- import { Curve, EdgeType } from "./edge.interface";
4
- import { Marker } from "./marker.interface";
1
+ import { ConnectionMode } from '../types/connection-mode.type';
2
+ import { Connection } from './connection.interface';
3
+ import { Curve, EdgeType } from './edge.interface';
4
+ import { Marker } from './marker.interface';
5
5
  export type ConnectionValidatorFn = (connection: Connection) => boolean;
6
6
  export interface ConnectionSettings {
7
7
  curve?: Curve;
@@ -1,5 +1,5 @@
1
- import { HandleModel } from "../models/handle.model";
2
- import { NodeModel } from "../models/node.model";
1
+ import { HandleModel } from '../models/handle.model';
2
+ import { NodeModel } from '../models/node.model';
3
3
  export interface ConnectionInternal {
4
4
  source: NodeModel;
5
5
  target: NodeModel;
@@ -1,6 +1,6 @@
1
- import { Connection } from "./connection.interface";
2
- import { EdgeLabel, EdgeLabelPosition } from "./edge-label.interface";
3
- import { Marker } from "./marker.interface";
1
+ import { Connection } from './connection.interface';
2
+ import { EdgeLabel, EdgeLabelPosition } from './edge-label.interface';
3
+ import { Marker } from './marker.interface';
4
4
  export type EdgeType = 'default' | 'template';
5
5
  export type Curve = 'straight' | 'bezier' | 'smooth-step' | 'step';
6
6
  export interface Edge<T = unknown> extends Connection {
@@ -1,4 +1,4 @@
1
- import { WritableSignal } from "@angular/core";
1
+ import { WritableSignal } from '@angular/core';
2
2
  export interface FlowEntity {
3
3
  selected: WritableSignal<boolean>;
4
4
  }
@@ -1,7 +1,7 @@
1
- import { Type, WritableSignal } from "@angular/core";
2
- import { Point } from "./point.interface";
3
- import { CustomNodeComponent } from "../public-components/custom-node/custom-node.component";
4
- import { CustomDynamicNodeComponent } from "../public-components/custom-dynamic-node/custom-dynamic-node.component";
1
+ import { Type, WritableSignal } from '@angular/core';
2
+ import { Point } from './point.interface';
3
+ import { CustomNodeComponent } from '../public-components/custom-node/custom-node.component';
4
+ import { CustomDynamicNodeComponent } from '../public-components/custom-dynamic-node/custom-dynamic-node.component';
5
5
  export type Node<T = any> = DefaultNode | HtmlTemplateNode<T> | ComponentNode<T> | DefaultGroupNode | TemplateGroupNode<T>;
6
6
  export type DynamicNode<T = any> = DefaultDynamicNode | HtmlTemplateDynamicNode<T> | ComponentDynamicNode<T> | DefaultDynamicGroupNode | TemplateDynamicGroupNode<T>;
7
7
  export interface SharedNode {
@@ -1,5 +1,5 @@
1
- import { EdgeLabelPosition } from "./edge-label.interface";
2
- import { Point } from "./point.interface";
1
+ import { EdgeLabelPosition } from './edge-label.interface';
2
+ import { Point } from './point.interface';
3
3
  export interface PathData {
4
4
  path: string;
5
5
  points: {
@@ -1,5 +1,5 @@
1
- import { Signal } from "@angular/core";
2
- import { Edge } from "./edge.interface";
1
+ import { Signal } from '@angular/core';
2
+ import { Edge } from './edge.interface';
3
3
  export interface EdgeContext {
4
4
  $implicit: {
5
5
  edge: Edge;
@@ -1,5 +1,5 @@
1
- import { ViewportChangeType } from "../types/viewport-change-type.type";
2
- import { Point } from "./point.interface";
1
+ import { ViewportChangeType } from '../types/viewport-change-type.type';
2
+ import { Point } from './point.interface';
3
3
  export interface ViewportState extends Point {
4
4
  zoom: number;
5
5
  }
@@ -1,4 +1,4 @@
1
- import { PathData } from "../../interfaces/path-data.interface";
2
- import { Point } from "../../interfaces/point.interface";
3
- import { UsingPoints } from "../../types/using-points.type";
1
+ import { PathData } from '../../interfaces/path-data.interface';
2
+ import { Point } from '../../interfaces/point.interface';
3
+ import { UsingPoints } from '../../types/using-points.type';
4
4
  export declare function straightPath(source: Point, target: Point, usingPoints?: UsingPoints): PathData;
@@ -1,4 +1,4 @@
1
- import { Point } from "../interfaces/point.interface";
1
+ import { Point } from '../interfaces/point.interface';
2
2
  /**
3
3
  * Get point on line
4
4
  *
@@ -1,6 +1,6 @@
1
- import { ConnectionSettings, ConnectionValidatorFn } from "../interfaces/connection-settings.interface";
2
- import { Curve, EdgeType } from "../interfaces/edge.interface";
3
- import { ConnectionMode } from "../types/connection-mode.type";
1
+ import { ConnectionSettings, ConnectionValidatorFn } from '../interfaces/connection-settings.interface';
2
+ import { Curve, EdgeType } from '../interfaces/edge.interface';
3
+ import { ConnectionMode } from '../types/connection-mode.type';
4
4
  export declare class ConnectionModel {
5
5
  settings: ConnectionSettings;
6
6
  curve: Curve;
@@ -1,4 +1,4 @@
1
- import { EdgeLabel } from "../interfaces/edge-label.interface";
1
+ import { EdgeLabel } from '../interfaces/edge-label.interface';
2
2
  export declare class EdgeLabelModel {
3
3
  edgeLabel: EdgeLabel;
4
4
  size: import("@angular/core").WritableSignal<{
@@ -1,16 +1,15 @@
1
- import { WritableSignal } from "@angular/core";
2
- import { EdgeLabelPosition } from "../interfaces/edge-label.interface";
3
- import { Edge, Curve, EdgeType } from "../interfaces/edge.interface";
4
- import { EdgeLabelModel } from "./edge-label.model";
5
- import { NodeModel } from "./node.model";
6
- import { FlowEntity } from "../interfaces/flow-entity.interface";
1
+ import { EdgeLabelPosition } from '../interfaces/edge-label.interface';
2
+ import { Edge, Curve, EdgeType } from '../interfaces/edge.interface';
3
+ import { EdgeLabelModel } from './edge-label.model';
4
+ import { NodeModel } from './node.model';
5
+ import { FlowEntity } from '../interfaces/flow-entity.interface';
7
6
  export declare class EdgeModel implements FlowEntity {
8
7
  edge: Edge;
9
- source: WritableSignal<NodeModel<unknown> | undefined>;
10
- target: WritableSignal<NodeModel<unknown> | undefined>;
8
+ source: import("@angular/core").WritableSignal<NodeModel<unknown> | undefined>;
9
+ target: import("@angular/core").WritableSignal<NodeModel<unknown> | undefined>;
11
10
  curve: Curve;
12
11
  type: EdgeType;
13
- selected: WritableSignal<boolean>;
12
+ selected: import("@angular/core").WritableSignal<boolean>;
14
13
  selected$: import("rxjs").Observable<boolean>;
15
14
  detached: import("@angular/core").Signal<boolean>;
16
15
  detached$: import("rxjs").Observable<boolean>;
@@ -1,5 +1,5 @@
1
- import { NodeHandle } from "../services/handle.service";
2
- import { NodeModel } from "./node.model";
1
+ import { NodeHandle } from '../services/handle.service';
2
+ import { NodeModel } from './node.model';
3
3
  export type HandleState = 'valid' | 'invalid' | 'idle';
4
4
  export declare class HandleModel {
5
5
  rawHandle: NodeHandle;
@@ -1,4 +1,4 @@
1
- import { TemplateRef } from "@angular/core";
1
+ import { TemplateRef } from '@angular/core';
2
2
  export declare class MinimapModel {
3
3
  template: import("@angular/core").WritableSignal<TemplateRef<unknown> | null>;
4
4
  }
@@ -1,6 +1,6 @@
1
- import { TemplateRef } from "@angular/core";
2
- import { Position } from "../types/position.type";
3
- import { NodeModel } from "./node.model";
1
+ import { TemplateRef } from '@angular/core';
2
+ import { Position } from '../types/position.type';
3
+ import { NodeModel } from './node.model';
4
4
  export declare class ToolbarModel {
5
5
  node: NodeModel;
6
6
  position: import("@angular/core").WritableSignal<Position>;
@@ -1,6 +1,6 @@
1
- import { OnInit } from "@angular/core";
1
+ import { OnInit } from '@angular/core';
2
2
  import { ComponentDynamicNode } from '../../interfaces/node.interface';
3
- import { CustomNodeBaseComponent } from "../../components/custom-node-base/custom-node-base.component";
3
+ import { CustomNodeBaseComponent } from '../../components/custom-node-base/custom-node-base.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare abstract class CustomDynamicNodeComponent<T = any> extends CustomNodeBaseComponent<T> implements OnInit {
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { OnInit } from "@angular/core";
1
+ import { OnInit } from '@angular/core';
2
2
  import { ComponentNode } from '../../interfaces/node.interface';
3
- import { CustomNodeBaseComponent } from "../../components/custom-node-base/custom-node-base.component";
3
+ import { CustomNodeBaseComponent } from '../../components/custom-node-base/custom-node-base.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare abstract class CustomNodeComponent<T = any> extends CustomNodeBaseComponent<T> implements OnInit {
6
6
  /**
@@ -15,7 +15,7 @@ export declare class HandleComponent implements OnInit, WithInjector {
15
15
  /**
16
16
  * Source or target
17
17
  */
18
- type: import("@angular/core").InputSignal<"target" | "source">;
18
+ type: import("@angular/core").InputSignal<"source" | "target">;
19
19
  /**
20
20
  * Should be used if node has more than one source/target
21
21
  */
@@ -35,4 +35,4 @@ export declare class FlowStatusService {
35
35
  *
36
36
  * @param changes list of set[FlowStatus.state]Status() calls
37
37
  */
38
- export declare function batchStatusChanges(...changes: Function[]): void;
38
+ export declare function batchStatusChanges(...changes: (() => void)[]): void;
@@ -1,2 +1,2 @@
1
- import { Provider } from "@angular/core";
1
+ import { Provider } from '@angular/core';
2
2
  export declare function provideCustomNodeMocks(): Provider[];
@@ -1,4 +1,4 @@
1
- import { Point } from "../interfaces/point.interface";
1
+ import { Point } from '../interfaces/point.interface';
2
2
  export type NodeChange = NodePositionChange | NodeSizeChange | NodeAddChange | NodeRemoveChange | NodeSelectedChange;
3
3
  export interface NodePositionChange extends NodeChangeShared {
4
4
  type: 'position';
@@ -1,3 +1 @@
1
- export type ViewportChangeType = 'initial' | // first change, set by library
2
- 'absolute' | // later absolue value changes, set by user
3
- 'relative';
1
+ export type ViewportChangeType = 'initial' | 'absolute' | 'relative';
@@ -1,3 +1,3 @@
1
- import { EdgeModel } from "../models/edge.model";
2
- import { NodeModel } from "../models/node.model";
1
+ import { EdgeModel } from '../models/edge.model';
2
+ import { NodeModel } from '../models/node.model';
3
3
  export declare function addNodesToEdges(nodes: NodeModel[], edges: EdgeModel[]): void;
@@ -1,4 +1,4 @@
1
- import { ConnectionInternal } from "../interfaces/connection.internal.interface";
1
+ import { ConnectionInternal } from '../interfaces/connection.internal.interface';
2
2
  /**
3
3
  * This function contains a hack-y behavior.
4
4
  * If the handles are of the same type (source-source or target-target),
@@ -1,2 +1,2 @@
1
- import { NodeModel } from "../models/node.model";
1
+ import { NodeModel } from '../models/node.model';
2
2
  export declare function isGroupNode(node: NodeModel): boolean;
@@ -1,3 +1,3 @@
1
- import { Rect } from "../interfaces/rect";
2
- import { NodeModel } from "../models/node.model";
1
+ import { Rect } from '../interfaces/rect';
2
+ import { NodeModel } from '../models/node.model';
3
3
  export declare function getNodesBounds(nodes: NodeModel[]): Rect;
@@ -1,7 +1,7 @@
1
- import { NodeModel } from "../models/node.model";
1
+ import { NodeModel } from '../models/node.model';
2
2
  import { DynamicNode, Node } from '../interfaces/node.interface';
3
- import { EdgeModel } from "../models/edge.model";
4
- import { Edge } from "../interfaces/edge.interface";
3
+ import { EdgeModel } from '../models/edge.model';
4
+ import { Edge } from '../interfaces/edge.interface';
5
5
  export declare class ReferenceKeeper {
6
6
  /**
7
7
  * Create new models for new node references and keep old models for old node references
@@ -1,3 +1,3 @@
1
- import { NgZone } from "@angular/core";
2
- import { Observable } from "rxjs";
1
+ import { NgZone } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
3
  export declare function resizable(elems: Element[], zone: NgZone): Observable<ResizeObserverEntry[]>;
@@ -1,2 +1,2 @@
1
- import { Background } from "../types/background.type";
1
+ import { Background } from '../types/background.type';
2
2
  export declare function transformBackground(background: Background | string): Background;
@@ -1,4 +1,4 @@
1
- import { Rect } from "../interfaces/rect";
2
- import { ViewportState } from "../interfaces/viewport.interface";
1
+ import { Rect } from '../interfaces/rect';
2
+ import { ViewportState } from '../interfaces/viewport.interface';
3
3
  export declare function getViewportForBounds(bounds: Rect, width: number, height: number, minZoom: number, maxZoom: number, padding: number): ViewportState;
4
4
  export declare function clamp(value: number, min?: number, max?: number): number;
@@ -1,9 +1,9 @@
1
- import { VflowComponent } from "./components/vflow/vflow.component";
2
- import { DragHandleDirective } from "./directives/drag-handle.directive";
3
- import { SelectableDirective } from "./directives/selectable.directive";
4
- import { ConnectionTemplateDirective, EdgeLabelHtmlTemplateDirective, EdgeTemplateDirective, GroupNodeTemplateDirective, HandleTemplateDirective, NodeHtmlTemplateDirective } from "./directives/template.directive";
5
- import { MiniMapComponent } from "./public-components/minimap/minimap.component";
6
- import { NodeToolbarComponent } from "./public-components/node-toolbar/node-toolbar.component";
7
- import { ResizableComponent } from "./public-components/resizable/resizable.component";
8
- import { HandleComponent } from "./public-components/handle/handle.component";
1
+ import { VflowComponent } from './components/vflow/vflow.component';
2
+ import { DragHandleDirective } from './directives/drag-handle.directive';
3
+ import { SelectableDirective } from './directives/selectable.directive';
4
+ import { ConnectionTemplateDirective, EdgeLabelHtmlTemplateDirective, EdgeTemplateDirective, GroupNodeTemplateDirective, HandleTemplateDirective, NodeHtmlTemplateDirective } from './directives/template.directive';
5
+ import { MiniMapComponent } from './public-components/minimap/minimap.component';
6
+ import { NodeToolbarComponent } from './public-components/node-toolbar/node-toolbar.component';
7
+ import { ResizableComponent } from './public-components/resizable/resizable.component';
8
+ import { HandleComponent } from './public-components/handle/handle.component';
9
9
  export declare const Vflow: readonly [typeof VflowComponent, typeof HandleComponent, typeof ResizableComponent, typeof SelectableDirective, typeof MiniMapComponent, typeof NodeToolbarComponent, typeof DragHandleDirective, typeof NodeHtmlTemplateDirective, typeof GroupNodeTemplateDirective, typeof EdgeLabelHtmlTemplateDirective, typeof EdgeTemplateDirective, typeof ConnectionTemplateDirective, typeof HandleTemplateDirective];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-vflow",
3
- "version": "1.0.2",
3
+ "version": "1.0.5",
4
4
  "license": "MIT",
5
5
  "homepage": "https://www.ngx-vflow.org/",
6
6
  "author": "Artem Mangilev",
@@ -42,4 +42,4 @@
42
42
  "default": "./fesm2022/ngx-vflow.mjs"
43
43
  }
44
44
  }
45
- }
45
+ }