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
@@ -0,0 +1,16 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CustomTemplateEdgeMockComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomTemplateEdgeMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CustomTemplateEdgeMockComponent, isStandalone: true, selector: "g[customTemplateEdge]", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomTemplateEdgeMockComponent, decorators: [{
8
+ type: Component,
9
+ args: [{
10
+ selector: 'g[customTemplateEdge]',
11
+ template: '',
12
+ changeDetection: ChangeDetectionStrategy.OnPush,
13
+ standalone: true,
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRlbXBsYXRlLWVkZ2UtbW9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3Rlc3Rpbmcvc3JjL2NvbXBvbmVudC1tb2Nrcy9jdXN0b20tdGVtcGxhdGUtZWRnZS1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVuRSxNQUFNLE9BQU8sK0JBQStCOytHQUEvQiwrQkFBK0I7bUdBQS9CLCtCQUErQixpRkFKaEMsRUFBRTs7NEZBSUQsK0JBQStCO2tCQU4zQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBc0ludGVyZmFjZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB0eXBlIHsgQ3VzdG9tVGVtcGxhdGVFZGdlQ29tcG9uZW50IH0gZnJvbSAnbmd4LXZmbG93JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ1tjdXN0b21UZW1wbGF0ZUVkZ2VdJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tVGVtcGxhdGVFZGdlTW9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIEFzSW50ZXJmYWNlPEN1c3RvbVRlbXBsYXRlRWRnZUNvbXBvbmVudD4ge31cbiJdfQ==
@@ -0,0 +1,24 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi90ZXN0aW5nL3NyYy9jb21wb25lbnQtbW9ja3MvaGFuZGxlLW1vY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF1QixNQUFNLGVBQWUsQ0FBQzs7QUFVL0YsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQU9TLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFZLENBQUM7UUFDdEMsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7UUFDN0MsT0FBRSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxLQUFLLEVBQW9CLENBQUM7S0FJN0M7SUFGQyxxRUFBcUU7SUFDOUQsUUFBUSxLQUFVLENBQUM7K0dBUGYsbUJBQW1CO21HQUFuQixtQkFBbUIsa2pCQUpwQixFQUFFOzs0RkFJRCxtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgVGVtcGxhdGVSZWYsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBIYW5kbGVDb21wb25lbnQsIFBvc2l0aW9uIH0gZnJvbSAnbmd4LXZmbG93JztcbmltcG9ydCB7IEFzSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoYW5kbGUnLFxuICB0ZW1wbGF0ZTogJycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBIYW5kbGVNb2NrQ29tcG9uZW50IGltcGxlbWVudHMgQXNJbnRlcmZhY2U8SGFuZGxlQ29tcG9uZW50PiwgT25Jbml0IHtcbiAgcHVibGljIHBvc2l0aW9uID0gaW5wdXQucmVxdWlyZWQ8UG9zaXRpb24+KCk7XG4gIHB1YmxpYyB0eXBlID0gaW5wdXQucmVxdWlyZWQ8J3NvdXJjZScgfCAndGFyZ2V0Jz4oKTtcbiAgcHVibGljIGlkID0gaW5wdXQ8c3RyaW5nPigpO1xuICBwdWJsaWMgdGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxhbnk+PigpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tZW1wdHktbGlmZWN5Y2xlLW1ldGhvZFxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7fVxufVxuIl19
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
21
21
  changeDetection: ChangeDetectionStrategy.OnPush,
22
22
  }]
23
23
  }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1tb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90ZXN0aW5nLXV0aWxzL2NvbXBvbmVudC1tb2Nrcy9taW5pbWFwLW1vY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQVVsRixNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBT1MsY0FBUyxHQUFHLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRTlDLGdCQUFXLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFMUMsYUFBUSxHQUFHLEtBQUssQ0FBa0IsY0FBYyxDQUFDLENBQUM7UUFFbEQsaUJBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7S0FJcEM7SUFGQyxxRUFBcUU7SUFDOUQsUUFBUSxLQUFJLENBQUM7K0dBVlQsb0JBQW9CO21HQUFwQixvQkFBb0IsNG1CQUpyQixFQUFFOzs0RkFJRCxvQkFBb0I7a0JBTmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNaW5pTWFwQ29tcG9uZW50LCBNaW5pTWFwUG9zaXRpb24gfSBmcm9tICcuLi8uLi9wdWJsaWMtY29tcG9uZW50cy9taW5pbWFwL21pbmltYXAuY29tcG9uZW50JztcbmltcG9ydCB7IEFzSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtaW5pLW1hcCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1pbmlNYXBNb2NrQ29tcG9uZW50IGltcGxlbWVudHMgQXNJbnRlcmZhY2U8TWluaU1hcENvbXBvbmVudD4sIE9uSW5pdCB7XG4gIHB1YmxpYyBtYXNrQ29sb3IgPSBpbnB1dChgcmdiYSgyMTUsIDIxNSwgMjE1LCAwLjYpYCk7XG5cbiAgcHVibGljIHN0cm9rZUNvbG9yID0gaW5wdXQoYHJnYigyMDAsIDIwMCwgMjAwKWApO1xuXG4gIHB1YmxpYyBwb3NpdGlvbiA9IGlucHV0PE1pbmlNYXBQb3NpdGlvbj4oJ2JvdHRvbS1yaWdodCcpO1xuXG4gIHB1YmxpYyBzY2FsZU9uSG92ZXIgPSBpbnB1dChmYWxzZSk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1lbXB0eS1saWZlY3ljbGUtbWV0aG9kXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHt9XG59XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1tb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvdGVzdGluZy9zcmMvY29tcG9uZW50LW1vY2tzL21pbmltYXAtbW9jay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBVWxGLE1BQU0sT0FBTyxvQkFBb0I7SUFOakM7UUFPUyxjQUFTLEdBQUcsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFOUMsZ0JBQVcsR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUUxQyxhQUFRLEdBQUcsS0FBSyxDQUFrQixjQUFjLENBQUMsQ0FBQztRQUVsRCxpQkFBWSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUlwQztJQUZDLHFFQUFxRTtJQUM5RCxRQUFRLEtBQUksQ0FBQzsrR0FWVCxvQkFBb0I7bUdBQXBCLG9CQUFvQiw0bUJBSnJCLEVBQUU7OzRGQUlELG9CQUFvQjtrQkFOaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTWluaU1hcENvbXBvbmVudCwgTWluaU1hcFBvc2l0aW9uIH0gZnJvbSAnbmd4LXZmbG93JztcbmltcG9ydCB7IEFzSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtaW5pLW1hcCcsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1pbmlNYXBNb2NrQ29tcG9uZW50IGltcGxlbWVudHMgQXNJbnRlcmZhY2U8TWluaU1hcENvbXBvbmVudD4sIE9uSW5pdCB7XG4gIHB1YmxpYyBtYXNrQ29sb3IgPSBpbnB1dChgcmdiYSgyMTUsIDIxNSwgMjE1LCAwLjYpYCk7XG5cbiAgcHVibGljIHN0cm9rZUNvbG9yID0gaW5wdXQoYHJnYigyMDAsIDIwMCwgMjAwKWApO1xuXG4gIHB1YmxpYyBwb3NpdGlvbiA9IGlucHV0PE1pbmlNYXBQb3NpdGlvbj4oJ2JvdHRvbS1yaWdodCcpO1xuXG4gIHB1YmxpYyBzY2FsZU9uSG92ZXIgPSBpbnB1dChmYWxzZSk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1lbXB0eS1saWZlY3ljbGUtbWV0aG9kXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHt9XG59XG4iXX0=
@@ -0,0 +1,23 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10b29sYmFyLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi90ZXN0aW5nL3NyYy9jb21wb25lbnQtbW9ja3Mvbm9kZS10b29sYmFyLW1vY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7QUFVN0YsTUFBTSxPQUFPLHdCQUF3QjtJQU5yQztRQU9TLGFBQVEsR0FBRyxLQUFLLENBQVcsS0FBSyxDQUFDLENBQUM7S0FPMUM7SUFMQyxxRUFBcUU7SUFDOUQsUUFBUSxLQUFJLENBQUM7SUFFcEIscUVBQXFFO0lBQzlELFdBQVcsS0FBSSxDQUFDOytHQVBaLHdCQUF3QjttR0FBeEIsd0JBQXdCLHFOQUp6QixnQkFBZ0I7OzRGQUlmLHdCQUF3QjtrQkFOcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBQb3NpdGlvbiwgTm9kZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICduZ3gtdmZsb3cnO1xuaW1wb3J0IHsgQXNJbnRlcmZhY2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vZGUtdG9vbGJhcicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZVRvb2xiYXJNb2NrQ29tcG9uZW50IGltcGxlbWVudHMgQXNJbnRlcmZhY2U8Tm9kZVRvb2xiYXJDb21wb25lbnQ+LCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyBwb3NpdGlvbiA9IGlucHV0PFBvc2l0aW9uPigndG9wJyk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1lbXB0eS1saWZlY3ljbGUtbWV0aG9kXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHt9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1lbXB0eS1saWZlY3ljbGUtbWV0aG9kXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHt9XG59XG4iXX0=
@@ -0,0 +1,25 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi90ZXN0aW5nL3NyYy9jb21wb25lbnQtbW9ja3MvcmVzaXphYmxlLW1vY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUF5QixNQUFNLGVBQWUsQ0FBQzs7QUFVakcsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQU9TLGNBQVMsR0FBRyxLQUFLLEVBQWdCLENBQUM7UUFDbEMsaUJBQVksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsUUFBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztLQU96QjtJQUxDLHFFQUFxRTtJQUM5RCxRQUFRLEtBQUksQ0FBQztJQUVwQixxRUFBcUU7SUFDOUQsZUFBZSxLQUFJLENBQUM7K0dBVGhCLHNCQUFzQjttR0FBdEIsc0JBQXNCLHNkQUp2QixnQkFBZ0I7OzRGQUlmLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGlucHV0LCBPbkluaXQsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgUmVzaXphYmxlQ29tcG9uZW50IH0gZnJvbSAnbmd4LXZmbG93JztcbmltcG9ydCB7IEFzSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbcmVzaXphYmxlXScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlTW9ja0NvbXBvbmVudCBpbXBsZW1lbnRzIEFzSW50ZXJmYWNlPFJlc2l6YWJsZUNvbXBvbmVudD4sIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyByZXNpemFibGUgPSBpbnB1dDxib29sZWFuIHwgJyc+KCk7XG4gIHB1YmxpYyByZXNpemVyQ29sb3IgPSBpbnB1dCgnIzJlNDE0YycpO1xuICBwdWJsaWMgZ2FwID0gaW5wdXQoMS41KTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWVtcHR5LWxpZmVjeWNsZS1tZXRob2RcbiAgcHVibGljIG5nT25Jbml0KCkge31cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWVtcHR5LWxpZmVjeWNsZS1tZXRob2RcbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHt9XG59XG4iXX0=
@@ -0,0 +1,296 @@
1
+ import { ChangeDetectionStrategy, Component, contentChild, Input, input, output, signal, } from '@angular/core';
2
+ import { NgTemplateOutlet } from '@angular/common';
3
+ import { ɵConnectionModel as ConnectionModel, } from 'ngx-vflow';
4
+ import { toObservable } from '@angular/core/rxjs-interop';
5
+ import { ConnectionTemplateMockDirective, EdgeLabelHtmlTemplateMockDirective, EdgeTemplateMockDirective, GroupNodeTemplateMockDirective, NodeHtmlTemplateMockDirective, } from '../directive-mocks/template-mock.directive';
6
+ import * as i0 from "@angular/core";
7
+ export class VflowMockComponent {
8
+ constructor() {
9
+ this.view = [400, 400];
10
+ this.minZoom = 0.5;
11
+ this.maxZoom = 3;
12
+ this.background = '#fff';
13
+ this.optimization = input({
14
+ detachedGroupsLayer: false,
15
+ });
16
+ this.entitiesSelectable = true;
17
+ this.keyboardShortcuts = {
18
+ multiSelection: null,
19
+ };
20
+ this.connection = new ConnectionModel({});
21
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
22
+ this.onComponentNodeEvent = output();
23
+ this.nodeTemplateDirective = contentChild(NodeHtmlTemplateMockDirective);
24
+ this.groupNodeTemplateDirective = contentChild(GroupNodeTemplateMockDirective);
25
+ this.edgeTemplateDirective = contentChild(EdgeTemplateMockDirective);
26
+ this.edgeLabelHtmlDirective = contentChild(EdgeLabelHtmlTemplateMockDirective);
27
+ this.connectionTemplateDirective = contentChild(ConnectionTemplateMockDirective);
28
+ this.viewport = signal({
29
+ x: 0,
30
+ y: 0,
31
+ zoom: 1,
32
+ });
33
+ this.nodesChange = signal([]);
34
+ this.edgesChange = signal([]);
35
+ this.viewportChange$ = toObservable(this.viewport);
36
+ this.nodesChange$ = toObservable(this.nodesChange);
37
+ this.edgesChange$ = toObservable(this.edgesChange);
38
+ }
39
+ // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method
40
+ ngOnInit() { }
41
+ viewportTo(viewport) {
42
+ this.viewport.set(viewport);
43
+ }
44
+ zoomTo(zoom) {
45
+ this.viewport.update((prev) => ({ ...prev, zoom }));
46
+ }
47
+ panTo(point) {
48
+ this.viewport.update((prev) => ({ ...prev, x: point.x, y: point.y }));
49
+ }
50
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
+ fitView(options) { }
52
+ documentPointToFlowPoint(point, options) {
53
+ if (options?.spaces) {
54
+ return [
55
+ {
56
+ nodeId: null,
57
+ x: point.x,
58
+ y: point.y,
59
+ },
60
+ ];
61
+ }
62
+ return point;
63
+ }
64
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
65
+ getIntesectingNodes(nodeId, options) {
66
+ return [];
67
+ }
68
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
69
+ toNodeSpace(nodeId, spaceNodeId) {
70
+ return { x: 0, y: 0 };
71
+ }
72
+ getNode(id) {
73
+ return this.nodes.find((node) => node.id === id);
74
+ }
75
+ getDetachedEdges() {
76
+ return [];
77
+ }
78
+ createSignal(value) {
79
+ return signal(value);
80
+ }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VflowMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: VflowMockComponent, isStandalone: true, selector: "vflow", inputs: { nodes: { classPropertyName: "nodes", publicName: "nodes", isSignal: false, isRequired: true, transformFunction: null }, edges: { classPropertyName: "edges", publicName: "edges", isSignal: false, isRequired: false, transformFunction: null }, view: { classPropertyName: "view", publicName: "view", isSignal: false, isRequired: false, transformFunction: null }, minZoom: { classPropertyName: "minZoom", publicName: "minZoom", isSignal: false, isRequired: false, transformFunction: null }, maxZoom: { classPropertyName: "maxZoom", publicName: "maxZoom", isSignal: false, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: false, isRequired: false, transformFunction: null }, optimization: { classPropertyName: "optimization", publicName: "optimization", isSignal: true, isRequired: false, transformFunction: null }, entitiesSelectable: { classPropertyName: "entitiesSelectable", publicName: "entitiesSelectable", isSignal: false, isRequired: false, transformFunction: null }, keyboardShortcuts: { classPropertyName: "keyboardShortcuts", publicName: "keyboardShortcuts", isSignal: false, isRequired: false, transformFunction: null }, connection: { classPropertyName: "connection", publicName: "connection", isSignal: false, isRequired: false, transformFunction: (settings) => new ConnectionModel(settings) }, snapGrid: { classPropertyName: "snapGrid", publicName: "snapGrid", isSignal: false, isRequired: false, transformFunction: null }, elevateNodesOnSelect: { classPropertyName: "elevateNodesOnSelect", publicName: "elevateNodesOnSelect", isSignal: false, isRequired: false, transformFunction: null }, elevateEdgesOnSelect: { classPropertyName: "elevateEdgesOnSelect", publicName: "elevateEdgesOnSelect", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onComponentNodeEvent: "onComponentNodeEvent" }, queries: [{ propertyName: "nodeTemplateDirective", first: true, predicate: NodeHtmlTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "groupNodeTemplateDirective", first: true, predicate: GroupNodeTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "edgeTemplateDirective", first: true, predicate: EdgeTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "edgeLabelHtmlDirective", first: true, predicate: EdgeLabelHtmlTemplateMockDirective, descendants: true, isSignal: true }, { propertyName: "connectionTemplateDirective", first: true, predicate: ConnectionTemplateMockDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
83
+ <ng-content />
84
+
85
+ @for (node of nodes; track $index) {
86
+ @if (node.type === 'html-template') {
87
+ <ng-component
88
+ [ngTemplateOutlet]="nodeTemplateDirective()?.templateRef ?? null"
89
+ [ngTemplateOutletContext]="{
90
+ $implicit: {
91
+ node: node,
92
+ selected: createSignal(false),
93
+ },
94
+ }" />
95
+ }
96
+
97
+ @if (node.type === 'template-group') {
98
+ <ng-component
99
+ [ngTemplateOutlet]="groupNodeTemplateDirective()?.templateRef ?? null"
100
+ [ngTemplateOutletContext]="{
101
+ $implicit: {
102
+ node: node,
103
+ selected: createSignal(false),
104
+ width: createSignal(node.width),
105
+ height: createSignal(node.height),
106
+ },
107
+ }" />
108
+ }
109
+ }
110
+
111
+ @for (edge of edges; track $index) {
112
+ @if (edge.type === 'template') {
113
+ <ng-component
114
+ [ngTemplateOutlet]="edgeTemplateDirective()?.templateRef ?? null"
115
+ [ngTemplateOutletContext]="{
116
+ $implicit: {
117
+ edge: edge,
118
+ selected: createSignal(false),
119
+ path: createSignal(''),
120
+ markerStart: createSignal(''),
121
+ markerEnd: createSignal(''),
122
+ },
123
+ }" />
124
+
125
+ @if (edge.edgeLabels?.start) {
126
+ <ng-component
127
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
128
+ [ngTemplateOutletContext]="{
129
+ $implicit: {
130
+ edge: edge,
131
+ },
132
+ }" />
133
+ }
134
+
135
+ @if (edge.edgeLabels?.center) {
136
+ <ng-component
137
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
138
+ [ngTemplateOutletContext]="{
139
+ $implicit: {
140
+ edge: edge,
141
+ label: edge.edgeLabels?.center,
142
+ },
143
+ }" />
144
+ }
145
+
146
+ @if (edge.edgeLabels?.end) {
147
+ <ng-component
148
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
149
+ [ngTemplateOutletContext]="{
150
+ $implicit: {
151
+ edge: edge,
152
+ label: edge.edgeLabels?.end,
153
+ },
154
+ }" />
155
+ }
156
+ }
157
+ }
158
+
159
+ @if (connection.type === 'template') {
160
+ <ng-component
161
+ [ngTemplateOutlet]="connectionTemplateDirective()?.templateRef ?? null"
162
+ [ngTemplateOutletContext]="{
163
+ $implicit: {
164
+ path: createSignal(''),
165
+ marker: createSignal(''),
166
+ },
167
+ }" />
168
+ }
169
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
170
+ }
171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VflowMockComponent, decorators: [{
172
+ type: Component,
173
+ args: [{
174
+ selector: 'vflow',
175
+ template: `
176
+ <ng-content />
177
+
178
+ @for (node of nodes; track $index) {
179
+ @if (node.type === 'html-template') {
180
+ <ng-component
181
+ [ngTemplateOutlet]="nodeTemplateDirective()?.templateRef ?? null"
182
+ [ngTemplateOutletContext]="{
183
+ $implicit: {
184
+ node: node,
185
+ selected: createSignal(false),
186
+ },
187
+ }" />
188
+ }
189
+
190
+ @if (node.type === 'template-group') {
191
+ <ng-component
192
+ [ngTemplateOutlet]="groupNodeTemplateDirective()?.templateRef ?? null"
193
+ [ngTemplateOutletContext]="{
194
+ $implicit: {
195
+ node: node,
196
+ selected: createSignal(false),
197
+ width: createSignal(node.width),
198
+ height: createSignal(node.height),
199
+ },
200
+ }" />
201
+ }
202
+ }
203
+
204
+ @for (edge of edges; track $index) {
205
+ @if (edge.type === 'template') {
206
+ <ng-component
207
+ [ngTemplateOutlet]="edgeTemplateDirective()?.templateRef ?? null"
208
+ [ngTemplateOutletContext]="{
209
+ $implicit: {
210
+ edge: edge,
211
+ selected: createSignal(false),
212
+ path: createSignal(''),
213
+ markerStart: createSignal(''),
214
+ markerEnd: createSignal(''),
215
+ },
216
+ }" />
217
+
218
+ @if (edge.edgeLabels?.start) {
219
+ <ng-component
220
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
221
+ [ngTemplateOutletContext]="{
222
+ $implicit: {
223
+ edge: edge,
224
+ },
225
+ }" />
226
+ }
227
+
228
+ @if (edge.edgeLabels?.center) {
229
+ <ng-component
230
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
231
+ [ngTemplateOutletContext]="{
232
+ $implicit: {
233
+ edge: edge,
234
+ label: edge.edgeLabels?.center,
235
+ },
236
+ }" />
237
+ }
238
+
239
+ @if (edge.edgeLabels?.end) {
240
+ <ng-component
241
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
242
+ [ngTemplateOutletContext]="{
243
+ $implicit: {
244
+ edge: edge,
245
+ label: edge.edgeLabels?.end,
246
+ },
247
+ }" />
248
+ }
249
+ }
250
+ }
251
+
252
+ @if (connection.type === 'template') {
253
+ <ng-component
254
+ [ngTemplateOutlet]="connectionTemplateDirective()?.templateRef ?? null"
255
+ [ngTemplateOutletContext]="{
256
+ $implicit: {
257
+ path: createSignal(''),
258
+ marker: createSignal(''),
259
+ },
260
+ }" />
261
+ }
262
+ `,
263
+ changeDetection: ChangeDetectionStrategy.OnPush,
264
+ standalone: true,
265
+ imports: [NgTemplateOutlet],
266
+ }]
267
+ }], propDecorators: { nodes: [{
268
+ type: Input,
269
+ args: [{ required: true }]
270
+ }], edges: [{
271
+ type: Input
272
+ }], view: [{
273
+ type: Input
274
+ }], minZoom: [{
275
+ type: Input
276
+ }], maxZoom: [{
277
+ type: Input
278
+ }], background: [{
279
+ type: Input
280
+ }], entitiesSelectable: [{
281
+ type: Input
282
+ }], keyboardShortcuts: [{
283
+ type: Input
284
+ }], connection: [{
285
+ type: Input,
286
+ args: [{
287
+ transform: (settings) => new ConnectionModel(settings),
288
+ }]
289
+ }], snapGrid: [{
290
+ type: Input
291
+ }], elevateNodesOnSelect: [{
292
+ type: Input
293
+ }], elevateEdgesOnSelect: [{
294
+ type: Input
295
+ }] } });
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmZsb3ctbW9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3Rlc3Rpbmcvc3JjL2NvbXBvbmVudC1tb2Nrcy92Zmxvdy1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFnQkwsZ0JBQWdCLElBQUksZUFBZSxHQUNwQyxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUNMLCtCQUErQixFQUMvQixrQ0FBa0MsRUFDbEMseUJBQXlCLEVBQ3pCLDhCQUE4QixFQUM5Qiw2QkFBNkIsR0FDOUIsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFpR3BELE1BQU0sT0FBTyxrQkFBa0I7SUE5Ri9CO1FBc0drQixTQUFJLEdBQThCLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRzdDLFlBQU8sR0FBRyxHQUFHLENBQUM7UUFHZCxZQUFPLEdBQUcsQ0FBQyxDQUFDO1FBR1osZUFBVSxHQUF3QixNQUFNLENBQUM7UUFFekMsaUJBQVksR0FBRyxLQUFLLENBQWU7WUFDakQsbUJBQW1CLEVBQUUsS0FBSztTQUMzQixDQUFDLENBQUM7UUFHYSx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFHMUIsc0JBQWlCLEdBQXNCO1lBQ3JELGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUM7UUFLYyxlQUFVLEdBQW9CLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBV3RFLCtEQUErRDtRQUMvQyx5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IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbnRlbnRDaGlsZCxcbiAgSW5wdXQsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgV3JpdGFibGVTaWduYWwsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIE5vZGUsXG4gIER5bmFtaWNOb2RlLFxuICBFZGdlLFxuICBTcGFjZVBvaW50LFxuICBQb2ludCxcbiAgQmFja2dyb3VuZCxcbiAgT3B0aW1pemF0aW9uLFxuICBLZXlib2FyZFNob3J0Y3V0cyxcbiAgQ29ubmVjdGlvblNldHRpbmdzLFxuICBWaWV3cG9ydFN0YXRlLFxuICBOb2RlQ2hhbmdlLFxuICBFZGdlQ2hhbmdlLFxuICBGaXRWaWV3T3B0aW9ucyxcbiAgVmZsb3dDb21wb25lbnQsXG4gIEludGVyc2VjdGluZ05vZGVzT3B0aW9ucyxcbiAgybVDb25uZWN0aW9uTW9kZWwgYXMgQ29ubmVjdGlvbk1vZGVsLFxufSBmcm9tICduZ3gtdmZsb3cnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvblRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgRWRnZUxhYmVsSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgRWRnZVRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgR3JvdXBOb2RlVGVtcGxhdGVNb2NrRGlyZWN0aXZlLFxuICBOb2RlSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbn0gZnJvbSAnLi4vZGlyZWN0aXZlLW1vY2tzL3RlbXBsYXRlLW1vY2suZGlyZWN0aXZlJztcbmltcG9ydCB7IEFzSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZmxvdycsXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQgLz5cblxuICAgIEBmb3IgKG5vZGUgb2Ygbm9kZXM7IHRyYWNrICRpbmRleCkge1xuICAgICAgQGlmIChub2RlLnR5cGUgPT09ICdodG1sLXRlbXBsYXRlJykge1xuICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9kZVRlbXBsYXRlRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGNyZWF0ZVNpZ25hbChmYWxzZSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cIiAvPlxuICAgICAgfVxuXG4gICAgICBAaWYgKG5vZGUudHlwZSA9PT0gJ3RlbXBsYXRlLWdyb3VwJykge1xuICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZ3JvdXBOb2RlVGVtcGxhdGVEaXJlY3RpdmUoKT8udGVtcGxhdGVSZWYgPz8gbnVsbFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICBub2RlOiBub2RlLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogY3JlYXRlU2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICAgICAgd2lkdGg6IGNyZWF0ZVNpZ25hbChub2RlLndpZHRoKSxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjcmVhdGVTaWduYWwobm9kZS5oZWlnaHQpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XCIgLz5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yIChlZGdlIG9mIGVkZ2VzOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIEBpZiAoZWRnZS50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgIDxuZy1jb21wb25lbnRcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlVGVtcGxhdGVEaXJlY3RpdmUoKT8udGVtcGxhdGVSZWYgPz8gbnVsbFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICBlZGdlOiBlZGdlLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogY3JlYXRlU2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICAgICAgcGF0aDogY3JlYXRlU2lnbmFsKCcnKSxcbiAgICAgICAgICAgICAgbWFya2VyU3RhcnQ6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgICAgIG1hcmtlckVuZDogY3JlYXRlU2lnbmFsKCcnKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVwiIC8+XG5cbiAgICAgICAgQGlmIChlZGdlLmVkZ2VMYWJlbHM/LnN0YXJ0KSB7XG4gICAgICAgICAgPG5nLWNvbXBvbmVudFxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRnZUxhYmVsSHRtbERpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgIGVkZ2U6IGVkZ2UsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIpIHtcbiAgICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlTGFiZWxIdG1sRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgZWRnZTogZWRnZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZWRnZS5lZGdlTGFiZWxzPy5lbmQpIHtcbiAgICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlTGFiZWxIdG1sRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgZWRnZTogZWRnZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5lZGdlTGFiZWxzPy5lbmQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoY29ubmVjdGlvbi50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICA8bmctY29tcG9uZW50XG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbm5lY3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgIHBhdGg6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgICBtYXJrZXI6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfVwiIC8+XG4gICAgfVxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBWZmxvd01vY2tDb21wb25lbnQgaW1wbGVtZW50cyBBc0ludGVyZmFjZTxWZmxvd0NvbXBvbmVudD4sIE9uSW5pdCB7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyByZWFkb25seSBub2RlcyE6IE5vZGVbXSB8IER5bmFtaWNOb2RlW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGVkZ2VzITogRWRnZVtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkb25seSB2aWV3OiBbbnVtYmVyLCBudW1iZXJdIHwgJ2F1dG8nID0gWzQwMCwgNDAwXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgbWluWm9vbSA9IDAuNTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgbWF4Wm9vbSA9IDM7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRvbmx5IGJhY2tncm91bmQ6IEJhY2tncm91bmQgfCBzdHJpbmcgPSAnI2ZmZic7XG5cbiAgcHVibGljIHJlYWRvbmx5IG9wdGltaXphdGlvbiA9IGlucHV0PE9wdGltaXphdGlvbj4oe1xuICAgIGRldGFjaGVkR3JvdXBzTGF5ZXI6IGZhbHNlLFxuICB9KTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgZW50aXRpZXNTZWxlY3RhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkga2V5Ym9hcmRTaG9ydGN1dHM6IEtleWJvYXJkU2hvcnRjdXRzID0ge1xuICAgIG11bHRpU2VsZWN0aW9uOiBudWxsLFxuICB9O1xuXG4gIEBJbnB1dCh7XG4gICAgdHJhbnNmb3JtOiAoc2V0dGluZ3M6IENvbm5lY3Rpb25TZXR0aW5ncykgPT4gbmV3IENvbm5lY3Rpb25Nb2RlbChzZXR0aW5ncyksXG4gIH0pXG4gIHB1YmxpYyByZWFkb25seSBjb25uZWN0aW9uOiBDb25uZWN0aW9uTW9kZWwgPSBuZXcgQ29ubmVjdGlvbk1vZGVsKHt9KTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVhZG9ubHkgc25hcEdyaWQhOiBbbnVtYmVyLCBudW1iZXJdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbGV2YXRlTm9kZXNPblNlbGVjdCE6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGVsZXZhdGVFZGdlc09uU2VsZWN0ITogYm9vbGVhbjtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgcHVibGljIHJlYWRvbmx5IG9uQ29tcG9uZW50Tm9kZUV2ZW50ID0gb3V0cHV0PGFueT4oKTtcblxuICBwcm90ZWN0ZWQgbm9kZVRlbXBsYXRlRGlyZWN0aXZlID0gY29udGVudENoaWxkKE5vZGVIdG1sVGVtcGxhdGVNb2NrRGlyZWN0aXZlKTtcblxuICBwcm90ZWN0ZWQgZ3JvdXBOb2RlVGVtcGxhdGVEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoR3JvdXBOb2RlVGVtcGxhdGVNb2NrRGlyZWN0aXZlKTtcblxuICBwcm90ZWN0ZWQgZWRnZVRlbXBsYXRlRGlyZWN0aXZlID0gY29udGVudENoaWxkKEVkZ2VUZW1wbGF0ZU1vY2tEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBlZGdlTGFiZWxIdG1sRGlyZWN0aXZlID0gY29udGVudENoaWxkKEVkZ2VMYWJlbEh0bWxUZW1wbGF0ZU1vY2tEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBjb25uZWN0aW9uVGVtcGxhdGVEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoQ29ubmVjdGlvblRlbXBsYXRlTW9ja0RpcmVjdGl2ZSk7XG5cbiAgcHVibGljIHZpZXdwb3J0ID0gc2lnbmFsPFZpZXdwb3J0U3RhdGU+KHtcbiAgICB4OiAwLFxuICAgIHk6IDAsXG4gICAgem9vbTogMSxcbiAgfSk7XG5cbiAgcHVibGljIG5vZGVzQ2hhbmdlID0gc2lnbmFsPE5vZGVDaGFuZ2VbXT4oW10pO1xuICBwdWJsaWMgZWRnZXNDaGFuZ2UgPSBzaWduYWw8RWRnZUNoYW5nZVtdPihbXSk7XG5cbiAgcHVibGljIHZpZXdwb3J0Q2hhbmdlJCA9IHRvT2JzZXJ2YWJsZSh0aGlzLnZpZXdwb3J0KTtcblxuICBwdWJsaWMgbm9kZXNDaGFuZ2UkID0gdG9PYnNlcnZhYmxlKHRoaXMubm9kZXNDaGFuZ2UpO1xuICBwdWJsaWMgZWRnZXNDaGFuZ2UkID0gdG9PYnNlcnZhYmxlKHRoaXMuZWRnZXNDaGFuZ2UpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tZW1wdHktbGlmZWN5Y2xlLW1ldGhvZFxuICBwdWJsaWMgbmdPbkluaXQoKSB7fVxuXG4gIHB1YmxpYyB2aWV3cG9ydFRvKHZpZXdwb3J0OiBWaWV3cG9ydFN0YXRlKTogdm9pZCB7XG4gICAgdGhpcy52aWV3cG9ydC5zZXQodmlld3BvcnQpO1xuICB9XG5cbiAgcHVibGljIHpvb21Ubyh6b29tOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdwb3J0LnVwZGF0ZSgocHJldikgPT4gKHsgLi4ucHJldiwgem9vbSB9KSk7XG4gIH1cblxuICBwdWJsaWMgcGFuVG8ocG9pbnQ6IFBvaW50KTogdm9pZCB7XG4gICAgdGhpcy52aWV3cG9ydC51cGRhdGUoKHByZXYpID0+ICh7IC4uLnByZXYsIHg6IHBvaW50LngsIHk6IHBvaW50LnkgfSkpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBwdWJsaWMgZml0VmlldyhvcHRpb25zPzogRml0Vmlld09wdGlvbnMpOiB2b2lkIHt9XG5cbiAgcHVibGljIGRvY3VtZW50UG9pbnRUb0Zsb3dQb2ludChwb2ludDogUG9pbnQsIG9wdGlvbnM/OiB7IHNwYWNlczogZmFsc2UgfSk6IFBvaW50O1xuICBwdWJsaWMgZG9jdW1lbnRQb2ludFRvRmxvd1BvaW50KHBvaW50OiBQb2ludCwgb3B0aW9uczogeyBzcGFjZXM6IHRydWUgfSk6IFNwYWNlUG9pbnRbXTtcbiAgcHVibGljIGRvY3VtZW50UG9pbnRUb0Zsb3dQb2ludChwb2ludDogUG9pbnQsIG9wdGlvbnM/OiB7IHNwYWNlczogYm9vbGVhbiB9KTogdW5rbm93biB7XG4gICAgaWYgKG9wdGlvbnM/LnNwYWNlcykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIG5vZGVJZDogbnVsbCxcbiAgICAgICAgICB4OiBwb2ludC54LFxuICAgICAgICAgIHk6IHBvaW50LnksXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cblxuICAgIHJldHVybiBwb2ludDtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcHVibGljIGdldEludGVzZWN0aW5nTm9kZXMobm9kZUlkOiBzdHJpbmcsIG9wdGlvbnM/OiBJbnRlcnNlY3RpbmdOb2Rlc09wdGlvbnMpOiBOb2RlW10gfCBEeW5hbWljTm9kZVtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyB0b05vZGVTcGFjZShub2RlSWQ6IHN0cmluZywgc3BhY2VOb2RlSWQ6IHN0cmluZyk6IFBvaW50IHtcbiAgICByZXR1cm4geyB4OiAwLCB5OiAwIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Tm9kZTxUID0gdW5rbm93bj4oaWQ6IHN0cmluZyk6IE5vZGU8VD4gfCBEeW5hbWljTm9kZTxUPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXMuZmluZCgobm9kZSkgPT4gbm9kZS5pZCA9PT0gaWQpO1xuICB9XG5cbiAgcHVibGljIGdldERldGFjaGVkRWRnZXMoKTogRWRnZVtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlU2lnbmFsPFQ+KHZhbHVlOiBUKTogV3JpdGFibGVTaWduYWw8VD4ge1xuICAgIHJldHVybiBzaWduYWwodmFsdWUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Directive, output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ConnectionControllerMockDirective {
4
+ constructor() {
5
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
6
+ this.onConnect = output();
7
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
8
+ this.onReconnect = output();
9
+ }
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ startConnection(handle) { }
12
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
+ startReconnection(handle) { }
14
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
15
+ validateConnection(handle) { }
16
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
+ resetValidateConnection(targetHandle) { }
18
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
19
+ endConnection() { }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConnectionControllerMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ConnectionControllerMockDirective, isStandalone: true, selector: "[onConnect]", outputs: { onConnect: "onConnect", onReconnect: "onReconnect" }, ngImport: i0 }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConnectionControllerMockDirective, decorators: [{
24
+ type: Directive,
25
+ args: [{ selector: '[onConnect]', standalone: true }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1jb250cm9sbGVyLW1vY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi90ZXN0aW5nL3NyYy9kaXJlY3RpdmUtbW9ja3MvY29ubmVjdGlvbi1jb250cm9sbGVyLW1vY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1sRCxNQUFNLE9BQU8saUNBQWlDO0lBRDlDO1FBRUUsK0RBQStEO1FBQy9DLGNBQVMsR0FBRyxNQUFNLEVBQWMsQ0FBQztRQUVqRCwrREFBK0Q7UUFDL0MsZ0JBQVcsR0FBRyxNQUFNLEVBQXFCLENBQUM7S0FnQjNEO0lBZEMsNkRBQTZEO0lBQ3RELGVBQWUsQ0FBQyxNQUFtQixJQUFTLENBQUM7SUFFcEQsNkRBQTZEO0lBQ3RELGlCQUFpQixDQUFDLE1BQW1CLElBQVMsQ0FBQztJQUV0RCw2REFBNkQ7SUFDdEQsa0JBQWtCLENBQUMsTUFBbUIsSUFBUyxDQUFDO0lBRXZELDZEQUE2RDtJQUN0RCx1QkFBdUIsQ0FBQyxZQUF5QixJQUFTLENBQUM7SUFFbEUsNkRBQTZEO0lBQ3RELGFBQWEsS0FBVSxDQUFDOytHQXBCcEIsaUNBQWlDO21HQUFqQyxpQ0FBaUM7OzRGQUFqQyxpQ0FBaUM7a0JBRDdDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGlvbiwgUmVjb25uZWN0aW9uRXZlbnQgfSBmcm9tICduZ3gtdmZsb3cnO1xuaW1wb3J0IHsgQXNJbnRlcmZhY2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IENvbm5lY3Rpb25Db250cm9sbGVyRGlyZWN0aXZlLCDJtUhhbmRsZU1vZGVsIGFzIEhhbmRsZU1vZGVsIH0gZnJvbSAnbmd4LXZmbG93JztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW29uQ29ubmVjdF0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvbkNvbnRyb2xsZXJNb2NrRGlyZWN0aXZlIGltcGxlbWVudHMgQXNJbnRlcmZhY2U8Q29ubmVjdGlvbkNvbnRyb2xsZXJEaXJlY3RpdmU+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtb24tcHJlZml4XG4gIHB1YmxpYyByZWFkb25seSBvbkNvbm5lY3QgPSBvdXRwdXQ8Q29ubmVjdGlvbj4oKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgcHVibGljIHJlYWRvbmx5IG9uUmVjb25uZWN0ID0gb3V0cHV0PFJlY29ubmVjdGlvbkV2ZW50PigpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcHVibGljIHN0YXJ0Q29ubmVjdGlvbihoYW5kbGU6IEhhbmRsZU1vZGVsKTogdm9pZCB7fVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgcHVibGljIHN0YXJ0UmVjb25uZWN0aW9uKGhhbmRsZTogSGFuZGxlTW9kZWwpOiB2b2lkIHt9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBwdWJsaWMgdmFsaWRhdGVDb25uZWN0aW9uKGhhbmRsZTogSGFuZGxlTW9kZWwpOiB2b2lkIHt9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBwdWJsaWMgcmVzZXRWYWxpZGF0ZUNvbm5lY3Rpb24odGFyZ2V0SGFuZGxlOiBIYW5kbGVNb2RlbCk6IHZvaWQge31cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBlbmRDb25uZWN0aW9uKCk6IHZvaWQge31cbn1cbiJdfQ==
@@ -0,0 +1,11 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DragHandleMockDirective {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DragHandleMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: DragHandleMockDirective, isStandalone: true, selector: "[dragHandle]", ngImport: i0 }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DragHandleMockDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{ selector: '[dragHandle]', standalone: true }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1oYW5kbGUtbW9jay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3Rlc3Rpbmcvc3JjL2RpcmVjdGl2ZS1tb2Nrcy9kcmFnLWhhbmRsZS1tb2NrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsxQyxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1Qjs7NEZBQXZCLHVCQUF1QjtrQkFEbkMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXNJbnRlcmZhY2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IERyYWdIYW5kbGVEaXJlY3RpdmUgfSBmcm9tICduZ3gtdmZsb3cnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbZHJhZ0hhbmRsZV0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgRHJhZ0hhbmRsZU1vY2tEaXJlY3RpdmUgaW1wbGVtZW50cyBBc0ludGVyZmFjZTxEcmFnSGFuZGxlRGlyZWN0aXZlPiB7fVxuIl19
@@ -11,4 +11,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
11
11
  standalone: true,
12
12
  }]
13
13
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1tb2NrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90ZXN0aW5nLXV0aWxzL2RpcmVjdGl2ZS1tb2Nrcy9zZWxlY3RhYmxlLW1vY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFDLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFzSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgU2VsZWN0YWJsZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvc2VsZWN0YWJsZS5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2VsZWN0YWJsZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RhYmxlTW9ja0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFzSW50ZXJmYWNlPFNlbGVjdGFibGVEaXJlY3RpdmU+IHt9XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1tb2NrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvdGVzdGluZy9zcmMvZGlyZWN0aXZlLW1vY2tzL3NlbGVjdGFibGUtbW9jay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUMsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO21HQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXNJbnRlcmZhY2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdGFibGVEaXJlY3RpdmUgfSBmcm9tICduZ3gtdmZsb3cnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc2VsZWN0YWJsZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RhYmxlTW9ja0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFzSW50ZXJmYWNlPFNlbGVjdGFibGVEaXJlY3RpdmU+IHt9XG4iXX0=
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
98
98
  selector: 'ng-template[handle]',
99
99
  }]
100
100
  }] });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbW9jay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdGVzdGluZy11dGlscy9kaXJlY3RpdmUtbW9ja3MvdGVtcGxhdGUtbW9jay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWUvRCxNQUFNLE9BQU8seUJBQXlCO0lBSnRDO1FBS1MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDMUM7K0dBRlkseUJBQXlCO21HQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOztBQVNELE1BQU0sT0FBTywrQkFBK0I7SUFKNUM7UUFLUyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMxQzsrR0FGWSwrQkFBK0I7bUdBQS9CLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFKM0MsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHlCQUF5QjtpQkFDcEM7O0FBU0QsTUFBTSxPQUFPLGtDQUFrQztJQUovQztRQUtTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFDOytHQUZZLGtDQUFrQzttR0FBbEMsa0NBQWtDOzs0RkFBbEMsa0NBQWtDO2tCQUo5QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsNEJBQTRCO2lCQUN2Qzs7QUFTRCxNQUFNLE9BQU8sNkJBQTZCO0lBSjFDO1FBS1MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDMUM7K0dBRlksNkJBQTZCO21HQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ2xDOztBQVNELE1BQU0sT0FBTyw0QkFBNEI7SUFKekM7UUFLUyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMxQzsrR0FGWSw0QkFBNEI7bUdBQTVCLDRCQUE0Qjs7NEZBQTVCLDRCQUE0QjtrQkFKeEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakM7O0FBU0QsTUFBTSxPQUFPLDhCQUE4QjtJQUozQztRQUtTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFDOytHQUZZLDhCQUE4QjttR0FBOUIsOEJBQThCOzs0RkFBOUIsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQzs7QUFTRCxNQUFNLE9BQU8sMkJBQTJCO0lBSnhDO1FBS1MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDMUM7K0dBRlksMkJBQTJCO21HQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7aUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25uZWN0aW9uVGVtcGxhdGVEaXJlY3RpdmUsXG4gIEVkZ2VMYWJlbEh0bWxUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgRWRnZVRlbXBsYXRlRGlyZWN0aXZlLFxuICBHcm91cE5vZGVUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgSGFuZGxlVGVtcGxhdGVEaXJlY3RpdmUsXG4gIE5vZGVIdG1sVGVtcGxhdGVEaXJlY3RpdmUsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdGVtcGxhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IEFzSW50ZXJmYWNlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtlZGdlXScsXG59KVxuZXhwb3J0IGNsYXNzIEVkZ2VUZW1wbGF0ZU1vY2tEaXJlY3RpdmUgaW1wbGVtZW50cyBBc0ludGVyZmFjZTxFZGdlVGVtcGxhdGVEaXJlY3RpdmU+IHtcbiAgcHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbY29ubmVjdGlvbl0nLFxufSlcbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uVGVtcGxhdGVNb2NrRGlyZWN0aXZlIGltcGxlbWVudHMgQXNJbnRlcmZhY2U8Q29ubmVjdGlvblRlbXBsYXRlRGlyZWN0aXZlPiB7XG4gIHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2VkZ2VMYWJlbEh0bWxdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWRnZUxhYmVsSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFzSW50ZXJmYWNlPEVkZ2VMYWJlbEh0bWxUZW1wbGF0ZURpcmVjdGl2ZT4ge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtub2RlSHRtbF0nLFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFzSW50ZXJmYWNlPE5vZGVIdG1sVGVtcGxhdGVEaXJlY3RpdmU+IHtcbiAgcHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbbm9kZVN2Z10nLFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlU3ZnVGVtcGxhdGVNb2NrRGlyZWN0aXZlIGltcGxlbWVudHMgQXNJbnRlcmZhY2U8Tm9kZVN2Z1RlbXBsYXRlTW9ja0RpcmVjdGl2ZT4ge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtncm91cE5vZGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgR3JvdXBOb2RlVGVtcGxhdGVNb2NrRGlyZWN0aXZlIGltcGxlbWVudHMgQXNJbnRlcmZhY2U8R3JvdXBOb2RlVGVtcGxhdGVEaXJlY3RpdmU+IHtcbiAgcHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbaGFuZGxlXScsXG59KVxuZXhwb3J0IGNsYXNzIEhhbmRsZVRlbXBsYXRlTW9ja0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFzSW50ZXJmYWNlPEhhbmRsZVRlbXBsYXRlRGlyZWN0aXZlPiB7XG4gIHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG4iXX0=
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbW9jay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3Rlc3Rpbmcvc3JjL2RpcmVjdGl2ZS1tb2Nrcy90ZW1wbGF0ZS1tb2NrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBZS9ELE1BQU0sT0FBTyx5QkFBeUI7SUFKdEM7UUFLUyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMxQzsrR0FGWSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG1CQUFtQjtpQkFDOUI7O0FBU0QsTUFBTSxPQUFPLCtCQUErQjtJQUo1QztRQUtTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFDOytHQUZZLCtCQUErQjttR0FBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQUozQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUseUJBQXlCO2lCQUNwQzs7QUFTRCxNQUFNLE9BQU8sa0NBQWtDO0lBSi9DO1FBS1MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDMUM7K0dBRlksa0NBQWtDO21HQUFsQyxrQ0FBa0M7OzRGQUFsQyxrQ0FBa0M7a0JBSjlDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSw0QkFBNEI7aUJBQ3ZDOztBQVNELE1BQU0sT0FBTyw2QkFBNkI7SUFKMUM7UUFLUyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMxQzsrR0FGWSw2QkFBNkI7bUdBQTdCLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEM7O0FBU0QsTUFBTSxPQUFPLDRCQUE0QjtJQUp6QztRQUtTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFDOytHQUZZLDRCQUE0QjttR0FBNUIsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQUp4QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzs7QUFTRCxNQUFNLE9BQU8sOEJBQThCO0lBSjNDO1FBS1MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDMUM7K0dBRlksOEJBQThCO21HQUE5Qiw4QkFBOEI7OzRGQUE5Qiw4QkFBOEI7a0JBSjFDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx3QkFBd0I7aUJBQ25DOztBQVNELE1BQU0sT0FBTywyQkFBMkI7SUFKeEM7UUFLUyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMxQzsrR0FGWSwyQkFBMkI7bUdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtcbiAgQ29ubmVjdGlvblRlbXBsYXRlRGlyZWN0aXZlLFxuICBFZGdlTGFiZWxIdG1sVGVtcGxhdGVEaXJlY3RpdmUsXG4gIEVkZ2VUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgR3JvdXBOb2RlVGVtcGxhdGVEaXJlY3RpdmUsXG4gIEhhbmRsZVRlbXBsYXRlRGlyZWN0aXZlLFxuICBOb2RlSHRtbFRlbXBsYXRlRGlyZWN0aXZlLFxufSBmcm9tICduZ3gtdmZsb3cnO1xuaW1wb3J0IHsgQXNJbnRlcmZhY2UgfSBmcm9tICcuLi90eXBlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2VkZ2VdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWRnZVRlbXBsYXRlTW9ja0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEFzSW50ZXJmYWNlPEVkZ2VUZW1wbGF0ZURpcmVjdGl2ZT4ge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtjb25uZWN0aW9uXScsXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25UZW1wbGF0ZU1vY2tEaXJlY3RpdmUgaW1wbGVtZW50cyBBc0ludGVyZmFjZTxDb25uZWN0aW9uVGVtcGxhdGVEaXJlY3RpdmU+IHtcbiAgcHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbZWRnZUxhYmVsSHRtbF0nLFxufSlcbmV4cG9ydCBjbGFzcyBFZGdlTGFiZWxIdG1sVGVtcGxhdGVNb2NrRGlyZWN0aXZlIGltcGxlbWVudHMgQXNJbnRlcmZhY2U8RWRnZUxhYmVsSHRtbFRlbXBsYXRlRGlyZWN0aXZlPiB7XG4gIHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW25vZGVIdG1sXScsXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVIdG1sVGVtcGxhdGVNb2NrRGlyZWN0aXZlIGltcGxlbWVudHMgQXNJbnRlcmZhY2U8Tm9kZUh0bWxUZW1wbGF0ZURpcmVjdGl2ZT4ge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtub2RlU3ZnXScsXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVTdmdUZW1wbGF0ZU1vY2tEaXJlY3RpdmUgaW1wbGVtZW50cyBBc0ludGVyZmFjZTxOb2RlU3ZnVGVtcGxhdGVNb2NrRGlyZWN0aXZlPiB7XG4gIHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2dyb3VwTm9kZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBHcm91cE5vZGVUZW1wbGF0ZU1vY2tEaXJlY3RpdmUgaW1wbGVtZW50cyBBc0ludGVyZmFjZTxHcm91cE5vZGVUZW1wbGF0ZURpcmVjdGl2ZT4ge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtoYW5kbGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgSGFuZGxlVGVtcGxhdGVNb2NrRGlyZWN0aXZlIGltcGxlbWVudHMgQXNJbnRlcmZhY2U8SGFuZGxlVGVtcGxhdGVEaXJlY3RpdmU+IHtcbiAgcHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXZmbG93LXRlc3RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3Rlc3Rpbmcvc3JjL25neC12Zmxvdy10ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,59 @@
1
+ import { signal } from '@angular/core';
2
+ import { ɵNodeModel as NodeModel, ɵComponentEventBusService as ComponentEventBusService, ɵHandleService as HandleService, ɵFlowSettingsService as FlowSettingsService, ɵFlowEntitiesService as FlowEntitiesService, ɵNodeAccessorService as NodeAccessorService, ɵRootPointerDirective as RootPointerDirective, ɵSpacePointContextDirective as SpacePointContextDirective, ɵViewportService as ViewportService, ɵSelectionService as SelectionService, } from 'ngx-vflow';
3
+ import { of } from 'rxjs';
4
+ const mockModel = () => new NodeModel({ id: 'mock', type: 'default', point: { x: 0, y: 0 } });
5
+ export function provideCustomNodeMocks() {
6
+ return [
7
+ {
8
+ provide: ComponentEventBusService,
9
+ useValue: {
10
+ pushEvent: () => { },
11
+ },
12
+ },
13
+ {
14
+ provide: NodeAccessorService,
15
+ useFactory: () => ({
16
+ model: signal(mockModel()),
17
+ }),
18
+ },
19
+ FlowEntitiesService,
20
+ // TODO: mocks below should be removed after the major release
21
+ {
22
+ provide: HandleService,
23
+ useFactory: () => ({
24
+ node: signal(mockModel()),
25
+ createHandle: () => { },
26
+ destroyHandle: () => { },
27
+ }),
28
+ },
29
+ {
30
+ provide: RootPointerDirective,
31
+ useValue: {
32
+ pointerMovement$: of({
33
+ x: 0,
34
+ y: 0,
35
+ movementX: 0,
36
+ movementY: 0,
37
+ target: null,
38
+ originalEvent: null,
39
+ }),
40
+ documentPointerEnd$: of(null),
41
+ },
42
+ },
43
+ {
44
+ provide: SpacePointContextDirective,
45
+ useValue: {
46
+ documentPointToFlowPoint: (point) => point,
47
+ },
48
+ },
49
+ {
50
+ provide: SelectionService,
51
+ useValue: {
52
+ select: () => { },
53
+ },
54
+ },
55
+ FlowSettingsService,
56
+ ViewportService,
57
+ ];
58
+ }
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jdXN0b20tbm9kZS1tb2Nrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvdGVzdGluZy9zcmMvcHJvdmlkZS1jdXN0b20tbm9kZS1tb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFDTCxVQUFVLElBQUksU0FBUyxFQUN2Qix5QkFBeUIsSUFBSSx3QkFBd0IsRUFDckQsY0FBYyxJQUFJLGFBQWEsRUFDL0Isb0JBQW9CLElBQUksbUJBQW1CLEVBQzNDLG9CQUFvQixJQUFJLG1CQUFtQixFQUMzQyxvQkFBb0IsSUFBSSxtQkFBbUIsRUFDM0MscUJBQXFCLElBQUksb0JBQW9CLEVBQzdDLDJCQUEyQixJQUFJLDBCQUEwQixFQUN6RCxnQkFBZ0IsSUFBSSxlQUFlLEVBQ25DLGlCQUFpQixJQUFJLGdCQUFnQixHQUV0QyxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFCLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUU5RixNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsUUFBUSxFQUFFO2dCQUNSLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2FBQ3BCO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDM0IsQ0FBQztTQUNIO1FBQ0QsbUJBQW1CO1FBRW5CLDhEQUE4RDtRQUM5RDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN6QixZQUFZLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztnQkFDdEIsYUFBYSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7YUFDeEIsQ0FBQztTQUNIO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRTtnQkFDUixnQkFBZ0IsRUFBRSxFQUFFLENBQUM7b0JBQ25CLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLFNBQVMsRUFBRSxDQUFDO29CQUNaLFNBQVMsRUFBRSxDQUFDO29CQUNaLE1BQU0sRUFBRSxJQUFJO29CQUNaLGFBQWEsRUFBRSxJQUFJO2lCQUNwQixDQUFDO2dCQUNGLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDOUI7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUU7Z0JBQ1Isd0JBQXdCLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUs7YUFDbEQ7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7YUFDakI7U0FDRjtRQUNELG1CQUFtQjtRQUNuQixlQUFlO0tBQ2hCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgybVOb2RlTW9kZWwgYXMgTm9kZU1vZGVsLFxuICDJtUNvbXBvbmVudEV2ZW50QnVzU2VydmljZSBhcyBDb21wb25lbnRFdmVudEJ1c1NlcnZpY2UsXG4gIMm1SGFuZGxlU2VydmljZSBhcyBIYW5kbGVTZXJ2aWNlLFxuICDJtUZsb3dTZXR0aW5nc1NlcnZpY2UgYXMgRmxvd1NldHRpbmdzU2VydmljZSxcbiAgybVGbG93RW50aXRpZXNTZXJ2aWNlIGFzIEZsb3dFbnRpdGllc1NlcnZpY2UsXG4gIMm1Tm9kZUFjY2Vzc29yU2VydmljZSBhcyBOb2RlQWNjZXNzb3JTZXJ2aWNlLFxuICDJtVJvb3RQb2ludGVyRGlyZWN0aXZlIGFzIFJvb3RQb2ludGVyRGlyZWN0aXZlLFxuICDJtVNwYWNlUG9pbnRDb250ZXh0RGlyZWN0aXZlIGFzIFNwYWNlUG9pbnRDb250ZXh0RGlyZWN0aXZlLFxuICDJtVZpZXdwb3J0U2VydmljZSBhcyBWaWV3cG9ydFNlcnZpY2UsXG4gIMm1U2VsZWN0aW9uU2VydmljZSBhcyBTZWxlY3Rpb25TZXJ2aWNlLFxuICBQb2ludCxcbn0gZnJvbSAnbmd4LXZmbG93JztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IG1vY2tNb2RlbCA9ICgpID0+IG5ldyBOb2RlTW9kZWwoeyBpZDogJ21vY2snLCB0eXBlOiAnZGVmYXVsdCcsIHBvaW50OiB7IHg6IDAsIHk6IDAgfSB9KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDdXN0b21Ob2RlTW9ja3MoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQ29tcG9uZW50RXZlbnRCdXNTZXJ2aWNlLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgcHVzaEV2ZW50OiAoKSA9PiB7fSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOb2RlQWNjZXNzb3JTZXJ2aWNlLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gKHtcbiAgICAgICAgbW9kZWw6IHNpZ25hbChtb2NrTW9kZWwoKSksXG4gICAgICB9KSxcbiAgICB9LFxuICAgIEZsb3dFbnRpdGllc1NlcnZpY2UsXG5cbiAgICAvLyBUT0RPOiBtb2NrcyBiZWxvdyBzaG91bGQgYmUgcmVtb3ZlZCBhZnRlciB0aGUgbWFqb3IgcmVsZWFzZVxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEhhbmRsZVNlcnZpY2UsXG4gICAgICB1c2VGYWN0b3J5OiAoKSA9PiAoe1xuICAgICAgICBub2RlOiBzaWduYWwobW9ja01vZGVsKCkpLFxuICAgICAgICBjcmVhdGVIYW5kbGU6ICgpID0+IHt9LFxuICAgICAgICBkZXN0cm95SGFuZGxlOiAoKSA9PiB7fSxcbiAgICAgIH0pLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUm9vdFBvaW50ZXJEaXJlY3RpdmUsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBwb2ludGVyTW92ZW1lbnQkOiBvZih7XG4gICAgICAgICAgeDogMCxcbiAgICAgICAgICB5OiAwLFxuICAgICAgICAgIG1vdmVtZW50WDogMCxcbiAgICAgICAgICBtb3ZlbWVudFk6IDAsXG4gICAgICAgICAgdGFyZ2V0OiBudWxsLFxuICAgICAgICAgIG9yaWdpbmFsRXZlbnQ6IG51bGwsXG4gICAgICAgIH0pLFxuICAgICAgICBkb2N1bWVudFBvaW50ZXJFbmQkOiBvZihudWxsKSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBTcGFjZVBvaW50Q29udGV4dERpcmVjdGl2ZSxcbiAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgIGRvY3VtZW50UG9pbnRUb0Zsb3dQb2ludDogKHBvaW50OiBQb2ludCkgPT4gcG9pbnQsXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0aW9uU2VydmljZSxcbiAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgIHNlbGVjdDogKCkgPT4ge30sXG4gICAgICB9LFxuICAgIH0sXG4gICAgRmxvd1NldHRpbmdzU2VydmljZSxcbiAgICBWaWV3cG9ydFNlcnZpY2UsXG4gIF07XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ // Testing
2
+ export * from './provide-custom-node-mocks';
3
+ export * from './component-mocks/vflow-mock.component';
4
+ export * from './component-mocks/handle-mock.component';
5
+ export * from './component-mocks/resizable-mock.component';
6
+ export * from './component-mocks/minimap-mock.component';
7
+ export * from './component-mocks/node-toolbar-mock.component';
8
+ export * from './directive-mocks/connection-controller-mock.directive';
9
+ export * from './directive-mocks/drag-handle-mock.directive';
10
+ export * from './directive-mocks/selectable-mock.directive';
11
+ export * from './directive-mocks/template-mock.directive';
12
+ export * from './vflow-mocks';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvdGVzdGluZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx3REFBd0QsQ0FBQztBQUN2RSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRlc3RpbmdcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZS1jdXN0b20tbm9kZS1tb2Nrcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC1tb2Nrcy92Zmxvdy1tb2NrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudC1tb2Nrcy9oYW5kbGUtbW9jay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQtbW9ja3MvcmVzaXphYmxlLW1vY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50LW1vY2tzL21pbmltYXAtbW9jay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnQtbW9ja3Mvbm9kZS10b29sYmFyLW1vY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlLW1vY2tzL2Nvbm5lY3Rpb24tY29udHJvbGxlci1tb2NrLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZS1tb2Nrcy9kcmFnLWhhbmRsZS1tb2NrLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZS1tb2Nrcy9zZWxlY3RhYmxlLW1vY2suZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlLW1vY2tzL3RlbXBsYXRlLW1vY2suZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdmZsb3ctbW9ja3MnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3Rlc3Rpbmcvc3JjL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBBc0ludGVyZmFjZTxUPiA9IFBpY2s8VCwga2V5b2YgVD47XG4iXX0=