ngx-vflow 1.0.6 → 1.1.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 (52) hide show
  1. package/esm2022/lib/vflow/components/node/node.component.mjs +24 -54
  2. package/esm2022/lib/vflow/components/vflow/vflow.component.mjs +5 -11
  3. package/esm2022/lib/vflow/directives/changes-controller.directive.mjs +55 -1
  4. package/esm2022/lib/vflow/directives/connection-controller.directive.mjs +37 -47
  5. package/esm2022/lib/vflow/directives/node-handles-controller.directive.mjs +33 -0
  6. package/esm2022/lib/vflow/directives/node-resize-controller.directive.mjs +35 -0
  7. package/esm2022/lib/vflow/directives/selectable.directive.mjs +2 -2
  8. package/esm2022/lib/vflow/models/handle.model.mjs +33 -33
  9. package/esm2022/lib/vflow/models/node.model.mjs +30 -67
  10. package/esm2022/lib/vflow/public-components/handle/handle.component.mjs +3 -3
  11. package/esm2022/lib/vflow/public-components/resizable/resizable.component.mjs +4 -3
  12. package/esm2022/lib/vflow/services/draggable.service.mjs +2 -2
  13. package/esm2022/lib/vflow/services/flow-status.service.mjs +1 -15
  14. package/esm2022/lib/vflow/services/handle.service.mjs +1 -1
  15. package/esm2022/lib/vflow/testing-utils/component-mocks/handle-mock.component.mjs +22 -0
  16. package/esm2022/lib/vflow/testing-utils/component-mocks/minimap-mock.component.mjs +22 -0
  17. package/esm2022/lib/vflow/testing-utils/component-mocks/node-toolbar-mock.component.mjs +19 -0
  18. package/esm2022/lib/vflow/testing-utils/component-mocks/resizable-mock.component.mjs +21 -0
  19. package/esm2022/lib/vflow/testing-utils/component-mocks/vflow-mock.component.mjs +251 -0
  20. package/esm2022/lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive.mjs +15 -0
  21. package/esm2022/lib/vflow/testing-utils/directive-mocks/drag-handle-mock.directive.mjs +11 -0
  22. package/esm2022/lib/vflow/testing-utils/directive-mocks/selectable-mock.directive.mjs +14 -0
  23. package/esm2022/lib/vflow/testing-utils/directive-mocks/template-mock.directive.mjs +87 -0
  24. package/esm2022/lib/vflow/testing-utils/provide-custom-node-mocks.mjs +9 -8
  25. package/esm2022/lib/vflow/testing-utils/vflow-mocks.mjs +26 -0
  26. package/esm2022/lib/vflow/vflow.mjs +3 -1
  27. package/esm2022/public-api.mjs +11 -1
  28. package/fesm2022/ngx-vflow.mjs +857 -378
  29. package/fesm2022/ngx-vflow.mjs.map +1 -1
  30. package/lib/vflow/components/node/node.component.d.ts +6 -12
  31. package/lib/vflow/components/vflow/vflow.component.d.ts +4 -5
  32. package/lib/vflow/directives/changes-controller.directive.d.ts +54 -0
  33. package/lib/vflow/directives/connection-controller.directive.d.ts +4 -5
  34. package/lib/vflow/directives/node-handles-controller.directive.d.ts +11 -0
  35. package/lib/vflow/directives/node-resize-controller.directive.d.ts +11 -0
  36. package/lib/vflow/models/handle.model.d.ts +8 -23
  37. package/lib/vflow/models/node.model.d.ts +17 -13
  38. package/lib/vflow/services/flow-status.service.d.ts +0 -6
  39. package/lib/vflow/services/handle.service.d.ts +1 -1
  40. package/lib/vflow/testing-utils/component-mocks/handle-mock.component.d.ts +11 -0
  41. package/lib/vflow/testing-utils/component-mocks/minimap-mock.component.d.ts +10 -0
  42. package/lib/vflow/testing-utils/component-mocks/node-toolbar-mock.component.d.ts +7 -0
  43. package/lib/vflow/testing-utils/component-mocks/resizable-mock.component.d.ts +8 -0
  44. package/lib/vflow/testing-utils/component-mocks/vflow-mock.component.d.ts +48 -0
  45. package/lib/vflow/testing-utils/directive-mocks/connection-controller-mock.directive.d.ts +7 -0
  46. package/lib/vflow/testing-utils/directive-mocks/drag-handle-mock.directive.d.ts +5 -0
  47. package/lib/vflow/testing-utils/directive-mocks/selectable-mock.directive.d.ts +5 -0
  48. package/lib/vflow/testing-utils/directive-mocks/template-mock.directive.d.ts +32 -0
  49. package/lib/vflow/testing-utils/vflow-mocks.d.ts +10 -0
  50. package/lib/vflow/vflow.d.ts +2 -1
  51. package/package.json +1 -1
  52. package/public-api.d.ts +10 -0
@@ -27,4 +27,4 @@ __decorate([
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleService, decorators: [{
28
28
  type: Injectable
29
29
  }], propDecorators: { createHandle: [] } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvc2VydmljZXMvaGFuZGxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFXOUQsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFFa0IsU0FBSSxHQUFHLE1BQU0sQ0FBbUIsSUFBSSxDQUFDLENBQUM7S0FnQnZEO0lBYlEsWUFBWSxDQUFDLFNBQXNCO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxjQUEyQjtRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDO0lBQ0gsQ0FBQzsrR0FoQlUsYUFBYTttSEFBYixhQUFhOztBQUlqQjtJQUROLFNBQVMsQ0FBQyxnREFBZ0Q7aURBTTFEOzRGQVRVLGFBQWE7a0JBRHpCLFVBQVU7OEJBS0YsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFRlbXBsYXRlUmVmLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vdHlwZXMvcG9zaXRpb24udHlwZSc7XG5pbXBvcnQgeyBIYW5kbGVUeXBlIH0gZnJvbSAnLi4vdHlwZXMvaGFuZGxlLXR5cGUudHlwZSc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBIYW5kbGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9oYW5kbGUubW9kZWwnO1xuaW1wb3J0IHsgTWljcm90YXNrIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9taWNyb3Rhc2suZGVjb3JhdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBOb2RlSGFuZGxlIHtcbiAgcG9zaXRpb246IFBvc2l0aW9uO1xuICB0eXBlOiBIYW5kbGVUeXBlO1xuICBpZD86IHN0cmluZztcbiAgcGFyZW50UmVmZXJlbmNlPzogRWxlbWVudDtcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSGFuZGxlU2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBub2RlID0gc2lnbmFsPE5vZGVNb2RlbCB8IG51bGw+KG51bGwpO1xuXG4gIEBNaWNyb3Rhc2sgLy8gVE9ETyBmaXhlcyByZW5kZXJpbmcgb2YgaGFuZGxlIGZvciBncm91cCBub2RlXG4gIHB1YmxpYyBjcmVhdGVIYW5kbGUobmV3SGFuZGxlOiBIYW5kbGVNb2RlbCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLm5vZGUoKTtcbiAgICBpZiAobm9kZSkge1xuICAgICAgbm9kZS5oYW5kbGVzLnVwZGF0ZSgoaGFuZGxlcykgPT4gWy4uLmhhbmRsZXMsIG5ld0hhbmRsZV0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95SGFuZGxlKGhhbmRsZVRvRGVzdG95OiBIYW5kbGVNb2RlbCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLm5vZGUoKTtcbiAgICBpZiAobm9kZSkge1xuICAgICAgbm9kZS5oYW5kbGVzLnVwZGF0ZSgoaGFuZGxlcykgPT4gaGFuZGxlcy5maWx0ZXIoKGhhbmRsZSkgPT4gaGFuZGxlICE9PSBoYW5kbGVUb0Rlc3RveSkpO1xuICAgIH1cbiAgfVxufVxuIl19
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvc2VydmljZXMvaGFuZGxlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFXOUQsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFFa0IsU0FBSSxHQUFHLE1BQU0sQ0FBbUIsSUFBSSxDQUFDLENBQUM7S0FnQnZEO0lBYlEsWUFBWSxDQUFDLFNBQXNCO1FBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxjQUEyQjtRQUM5QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQztRQUMxRixDQUFDO0lBQ0gsQ0FBQzsrR0FoQlUsYUFBYTttSEFBYixhQUFhOztBQUlqQjtJQUROLFNBQVMsQ0FBQyxnREFBZ0Q7aURBTTFEOzRGQVRVLGFBQWE7a0JBRHpCLFVBQVU7OEJBS0YsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFRlbXBsYXRlUmVmLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vdHlwZXMvcG9zaXRpb24udHlwZSc7XG5pbXBvcnQgeyBIYW5kbGVUeXBlIH0gZnJvbSAnLi4vdHlwZXMvaGFuZGxlLXR5cGUudHlwZSc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBIYW5kbGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9oYW5kbGUubW9kZWwnO1xuaW1wb3J0IHsgTWljcm90YXNrIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9taWNyb3Rhc2suZGVjb3JhdG9yJztcblxuZXhwb3J0IGludGVyZmFjZSBOb2RlSGFuZGxlIHtcbiAgcG9zaXRpb246IFBvc2l0aW9uO1xuICB0eXBlOiBIYW5kbGVUeXBlO1xuICBpZD86IHN0cmluZztcbiAgaG9zdFJlZmVyZW5jZT86IEVsZW1lbnQ7XG4gIHRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55Pjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEhhbmRsZVNlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgbm9kZSA9IHNpZ25hbDxOb2RlTW9kZWwgfCBudWxsPihudWxsKTtcblxuICBATWljcm90YXNrIC8vIFRPRE8gZml4ZXMgcmVuZGVyaW5nIG9mIGhhbmRsZSBmb3IgZ3JvdXAgbm9kZVxuICBwdWJsaWMgY3JlYXRlSGFuZGxlKG5ld0hhbmRsZTogSGFuZGxlTW9kZWwpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5ub2RlKCk7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIG5vZGUuaGFuZGxlcy51cGRhdGUoKGhhbmRsZXMpID0+IFsuLi5oYW5kbGVzLCBuZXdIYW5kbGVdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVzdHJveUhhbmRsZShoYW5kbGVUb0Rlc3RveTogSGFuZGxlTW9kZWwpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5ub2RlKCk7XG4gICAgaWYgKG5vZGUpIHtcbiAgICAgIG5vZGUuaGFuZGxlcy51cGRhdGUoKGhhbmRsZXMpID0+IGhhbmRsZXMuZmlsdGVyKChoYW5kbGUpID0+IGhhbmRsZSAhPT0gaGFuZGxlVG9EZXN0b3kpKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,22 @@
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ 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 }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleMockComponent, decorators: [{
14
+ type: Component,
15
+ args: [{
16
+ selector: 'handle',
17
+ template: '',
18
+ changeDetection: ChangeDetectionStrategy.OnPush,
19
+ standalone: true,
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvY29tcG9uZW50LW1vY2tzL2hhbmRsZS1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQzs7QUFTdkYsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQU9TLGFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFZLENBQUM7UUFDdEMsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXVCLENBQUM7UUFDN0MsT0FBRSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQ3JCLGFBQVEsR0FBRyxLQUFLLEVBQW9CLENBQUM7S0FDN0M7K0dBTFksbUJBQW1CO21HQUFuQixtQkFBbUIsa2pCQUpwQixFQUFFOzs0RkFJRCxtQkFBbUI7a0JBTi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvcG9zaXRpb24udHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hhbmRsZScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEhhbmRsZU1vY2tDb21wb25lbnQge1xuICBwdWJsaWMgcG9zaXRpb24gPSBpbnB1dC5yZXF1aXJlZDxQb3NpdGlvbj4oKTtcbiAgcHVibGljIHR5cGUgPSBpbnB1dC5yZXF1aXJlZDwnc291cmNlJyB8ICd0YXJnZXQnPigpO1xuICBwdWJsaWMgaWQgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHB1YmxpYyB0ZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG59XG4iXX0=
@@ -0,0 +1,22 @@
1
+ import { ChangeDetectionStrategy, Component, input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class MiniMapMockComponent {
4
+ constructor() {
5
+ this.maskColor = input(`rgba(215, 215, 215, 0.6)`);
6
+ this.strokeColor = input(`rgb(200, 200, 200)`);
7
+ this.position = input('bottom-right');
8
+ this.scaleOnHover = input(false);
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MiniMapMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: MiniMapMockComponent, isStandalone: true, selector: "mini-map", inputs: { maskColor: { classPropertyName: "maskColor", publicName: "maskColor", isSignal: true, isRequired: false, transformFunction: null }, strokeColor: { classPropertyName: "strokeColor", publicName: "strokeColor", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, scaleOnHover: { classPropertyName: "scaleOnHover", publicName: "scaleOnHover", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: MiniMapMockComponent, decorators: [{
14
+ type: Component,
15
+ args: [{
16
+ selector: 'mini-map',
17
+ template: '',
18
+ standalone: true,
19
+ changeDetection: ChangeDetectionStrategy.OnPush,
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluaW1hcC1tb2NrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90ZXN0aW5nLXV0aWxzL2NvbXBvbmVudC1tb2Nrcy9taW5pbWFwLW1vY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMxRSxNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBT1MsY0FBUyxHQUFHLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRTlDLGdCQUFXLEdBQUcsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFMUMsYUFBUSxHQUFHLEtBQUssQ0FBa0IsY0FBYyxDQUFDLENBQUM7UUFFbEQsaUJBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDcEM7K0dBUlksb0JBQW9CO21HQUFwQixvQkFBb0IsNG1CQUpyQixFQUFFOzs0RkFJRCxvQkFBb0I7a0JBTmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRSxFQUFFO29CQUNaLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWluaU1hcFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vcHVibGljLWNvbXBvbmVudHMvbWluaW1hcC9taW5pbWFwLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21pbmktbWFwJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTWluaU1hcE1vY2tDb21wb25lbnQge1xuICBwdWJsaWMgbWFza0NvbG9yID0gaW5wdXQoYHJnYmEoMjE1LCAyMTUsIDIxNSwgMC42KWApO1xuXG4gIHB1YmxpYyBzdHJva2VDb2xvciA9IGlucHV0KGByZ2IoMjAwLCAyMDAsIDIwMClgKTtcblxuICBwdWJsaWMgcG9zaXRpb24gPSBpbnB1dDxNaW5pTWFwUG9zaXRpb24+KCdib3R0b20tcmlnaHQnKTtcblxuICBwdWJsaWMgc2NhbGVPbkhvdmVyID0gaW5wdXQoZmFsc2UpO1xufVxuIl19
@@ -0,0 +1,19 @@
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeToolbarMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ 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 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeToolbarMockComponent, decorators: [{
11
+ type: Component,
12
+ args: [{
13
+ selector: 'node-toolbar',
14
+ template: '<ng-content />',
15
+ standalone: true,
16
+ changeDetection: ChangeDetectionStrategy.OnPush,
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10b29sYmFyLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvY29tcG9uZW50LW1vY2tzL25vZGUtdG9vbGJhci1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTMUUsTUFBTSxPQUFPLHdCQUF3QjtJQU5yQztRQU9TLGFBQVEsR0FBRyxLQUFLLENBQVcsS0FBSyxDQUFDLENBQUM7S0FDMUM7K0dBRlksd0JBQXdCO21HQUF4Qix3QkFBd0IscU5BSnpCLGdCQUFnQjs7NEZBSWYsd0JBQXdCO2tCQU5wQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdHlwZXMvcG9zaXRpb24udHlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25vZGUtdG9vbGJhcicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZVRvb2xiYXJNb2NrQ29tcG9uZW50IHtcbiAgcHVibGljIHBvc2l0aW9uID0gaW5wdXQ8UG9zaXRpb24+KCd0b3AnKTtcbn1cbiJdfQ==
@@ -0,0 +1,21 @@
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
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizableMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ 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 }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ResizableMockComponent, decorators: [{
13
+ type: Component,
14
+ args: [{
15
+ selector: '[resizable]',
16
+ template: '<ng-content />',
17
+ standalone: true,
18
+ changeDetection: ChangeDetectionStrategy.OnPush,
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLW1vY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvY29tcG9uZW50LW1vY2tzL3Jlc2l6YWJsZS1tb2NrLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRMUUsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQU9TLGNBQVMsR0FBRyxLQUFLLEVBQWdCLENBQUM7UUFDbEMsaUJBQVksR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsUUFBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztLQUN6QjsrR0FKWSxzQkFBc0I7bUdBQXRCLHNCQUFzQixzZEFKdkIsZ0JBQWdCOzs0RkFJZixzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdbcmVzaXphYmxlXScsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQgLz4nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlTW9ja0NvbXBvbmVudCB7XG4gIHB1YmxpYyByZXNpemFibGUgPSBpbnB1dDxib29sZWFuIHwgJyc+KCk7XG4gIHB1YmxpYyByZXNpemVyQ29sb3IgPSBpbnB1dCgnIzJlNDE0YycpO1xuICBwdWJsaWMgZ2FwID0gaW5wdXQoMS41KTtcbn1cbiJdfQ==
@@ -0,0 +1,251 @@
1
+ import { ChangeDetectionStrategy, Component, contentChild, input, output, signal } from '@angular/core';
2
+ import { NgTemplateOutlet } from '@angular/common';
3
+ import { toObservable } from '@angular/core/rxjs-interop';
4
+ import { ConnectionTemplateMockDirective, EdgeLabelHtmlTemplateMockDirective, EdgeTemplateMockDirective, GroupNodeTemplateMockDirective, NodeHtmlTemplateMockDirective, } from '../directive-mocks/template-mock.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class VflowMockComponent {
7
+ constructor() {
8
+ this.nodes = input.required();
9
+ this.edges = input.required();
10
+ this.view = input([400, 400]);
11
+ this.minZoom = input(0.5);
12
+ this.maxZoom = input(3);
13
+ this.background = input('#fff');
14
+ this.optimization = input({
15
+ detachedGroupsLayer: false,
16
+ });
17
+ this.entitiesSelectable = input(true);
18
+ this.keyboardShortcuts = input({
19
+ multiSelection: null,
20
+ });
21
+ this.connection = input();
22
+ // eslint-disable-next-line @angular-eslint/no-output-on-prefix
23
+ this.onComponentNodeEvent = output();
24
+ this.nodeTemplateDirective = contentChild(NodeHtmlTemplateMockDirective);
25
+ this.groupNodeTemplateDirective = contentChild(GroupNodeTemplateMockDirective);
26
+ this.edgeTemplateDirective = contentChild(EdgeTemplateMockDirective);
27
+ this.edgeLabelHtmlDirective = contentChild(EdgeLabelHtmlTemplateMockDirective);
28
+ this.connectionTemplateDirective = contentChild(ConnectionTemplateMockDirective);
29
+ this.viewport = signal({
30
+ x: 0,
31
+ y: 0,
32
+ zoom: 1,
33
+ });
34
+ this.nodesChange = signal([]);
35
+ this.edgesChange = signal([]);
36
+ this.viewportChange$ = toObservable(this.viewport);
37
+ this.nodesChange$ = toObservable(this.nodesChange);
38
+ this.edgesChange$ = toObservable(this.edgesChange);
39
+ }
40
+ viewportTo(viewport) {
41
+ this.viewport.set(viewport);
42
+ }
43
+ zoomTo(zoom) {
44
+ this.viewport.update((prev) => ({ ...prev, zoom }));
45
+ }
46
+ panTo(point) {
47
+ this.viewport.update((prev) => ({ ...prev, x: point.x, y: point.y }));
48
+ }
49
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
50
+ fitView(options) { }
51
+ documentPointToFlowPoint(point) {
52
+ return point;
53
+ }
54
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
55
+ getNode(id) {
56
+ return this.nodes().find((node) => node.id === id);
57
+ }
58
+ getDetachedEdges() {
59
+ return [];
60
+ }
61
+ createSignal(value) {
62
+ return signal(value);
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VflowMockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
65
+ 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: true, isRequired: true, transformFunction: null }, edges: { classPropertyName: "edges", publicName: "edges", isSignal: true, isRequired: true, transformFunction: null }, view: { classPropertyName: "view", publicName: "view", isSignal: true, isRequired: false, transformFunction: null }, minZoom: { classPropertyName: "minZoom", publicName: "minZoom", isSignal: true, isRequired: false, transformFunction: null }, maxZoom: { classPropertyName: "maxZoom", publicName: "maxZoom", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, optimization: { classPropertyName: "optimization", publicName: "optimization", isSignal: true, isRequired: false, transformFunction: null }, entitiesSelectable: { classPropertyName: "entitiesSelectable", publicName: "entitiesSelectable", isSignal: true, isRequired: false, transformFunction: null }, keyboardShortcuts: { classPropertyName: "keyboardShortcuts", publicName: "keyboardShortcuts", isSignal: true, isRequired: false, transformFunction: null }, connection: { classPropertyName: "connection", publicName: "connection", isSignal: true, 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: `
66
+ <ng-content />
67
+
68
+ @for (node of nodes(); track $index) {
69
+ @if (node.type === 'html-template') {
70
+ <ng-component
71
+ [ngTemplateOutlet]="nodeTemplateDirective()?.templateRef ?? null"
72
+ [ngTemplateOutletContext]="{
73
+ $implicit: {
74
+ node: node,
75
+ selected: createSignal(false),
76
+ },
77
+ }" />
78
+ }
79
+
80
+ @if (node.type === 'template-group') {
81
+ <ng-component
82
+ [ngTemplateOutlet]="groupNodeTemplateDirective()?.templateRef ?? null"
83
+ [ngTemplateOutletContext]="{
84
+ $implicit: {
85
+ node: node,
86
+ selected: createSignal(false),
87
+ width: createSignal(node.width),
88
+ height: createSignal(node.height),
89
+ },
90
+ }" />
91
+ }
92
+ }
93
+
94
+ @for (edge of edges(); track $index) {
95
+ @if (edge.type === 'template') {
96
+ <ng-component
97
+ [ngTemplateOutlet]="edgeTemplateDirective()?.templateRef ?? null"
98
+ [ngTemplateOutletContext]="{
99
+ $implicit: {
100
+ edge: edge,
101
+ selected: createSignal(false),
102
+ path: createSignal(''),
103
+ markerStart: createSignal(''),
104
+ markerEnd: createSignal(''),
105
+ },
106
+ }" />
107
+
108
+ @if (edge.edgeLabels?.start) {
109
+ <ng-component
110
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
111
+ [ngTemplateOutletContext]="{
112
+ $implicit: {
113
+ edge: edge,
114
+ },
115
+ }" />
116
+ }
117
+
118
+ @if (edge.edgeLabels?.center) {
119
+ <ng-component
120
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
121
+ [ngTemplateOutletContext]="{
122
+ $implicit: {
123
+ edge: edge,
124
+ label: edge.edgeLabels?.center,
125
+ },
126
+ }" />
127
+ }
128
+
129
+ @if (edge.edgeLabels?.end) {
130
+ <ng-component
131
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
132
+ [ngTemplateOutletContext]="{
133
+ $implicit: {
134
+ edge: edge,
135
+ label: edge.edgeLabels?.end,
136
+ },
137
+ }" />
138
+ }
139
+ }
140
+ }
141
+
142
+ @if (connection()?.type === 'template') {
143
+ <ng-component
144
+ [ngTemplateOutlet]="connectionTemplateDirective()?.templateRef ?? null"
145
+ [ngTemplateOutletContext]="{
146
+ $implicit: {
147
+ path: createSignal(''),
148
+ marker: createSignal(''),
149
+ },
150
+ }" />
151
+ }
152
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
153
+ }
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: VflowMockComponent, decorators: [{
155
+ type: Component,
156
+ args: [{
157
+ selector: 'vflow',
158
+ template: `
159
+ <ng-content />
160
+
161
+ @for (node of nodes(); track $index) {
162
+ @if (node.type === 'html-template') {
163
+ <ng-component
164
+ [ngTemplateOutlet]="nodeTemplateDirective()?.templateRef ?? null"
165
+ [ngTemplateOutletContext]="{
166
+ $implicit: {
167
+ node: node,
168
+ selected: createSignal(false),
169
+ },
170
+ }" />
171
+ }
172
+
173
+ @if (node.type === 'template-group') {
174
+ <ng-component
175
+ [ngTemplateOutlet]="groupNodeTemplateDirective()?.templateRef ?? null"
176
+ [ngTemplateOutletContext]="{
177
+ $implicit: {
178
+ node: node,
179
+ selected: createSignal(false),
180
+ width: createSignal(node.width),
181
+ height: createSignal(node.height),
182
+ },
183
+ }" />
184
+ }
185
+ }
186
+
187
+ @for (edge of edges(); track $index) {
188
+ @if (edge.type === 'template') {
189
+ <ng-component
190
+ [ngTemplateOutlet]="edgeTemplateDirective()?.templateRef ?? null"
191
+ [ngTemplateOutletContext]="{
192
+ $implicit: {
193
+ edge: edge,
194
+ selected: createSignal(false),
195
+ path: createSignal(''),
196
+ markerStart: createSignal(''),
197
+ markerEnd: createSignal(''),
198
+ },
199
+ }" />
200
+
201
+ @if (edge.edgeLabels?.start) {
202
+ <ng-component
203
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
204
+ [ngTemplateOutletContext]="{
205
+ $implicit: {
206
+ edge: edge,
207
+ },
208
+ }" />
209
+ }
210
+
211
+ @if (edge.edgeLabels?.center) {
212
+ <ng-component
213
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
214
+ [ngTemplateOutletContext]="{
215
+ $implicit: {
216
+ edge: edge,
217
+ label: edge.edgeLabels?.center,
218
+ },
219
+ }" />
220
+ }
221
+
222
+ @if (edge.edgeLabels?.end) {
223
+ <ng-component
224
+ [ngTemplateOutlet]="edgeLabelHtmlDirective()?.templateRef ?? null"
225
+ [ngTemplateOutletContext]="{
226
+ $implicit: {
227
+ edge: edge,
228
+ label: edge.edgeLabels?.end,
229
+ },
230
+ }" />
231
+ }
232
+ }
233
+ }
234
+
235
+ @if (connection()?.type === 'template') {
236
+ <ng-component
237
+ [ngTemplateOutlet]="connectionTemplateDirective()?.templateRef ?? null"
238
+ [ngTemplateOutletContext]="{
239
+ $implicit: {
240
+ path: createSignal(''),
241
+ marker: createSignal(''),
242
+ },
243
+ }" />
244
+ }
245
+ `,
246
+ changeDetection: ChangeDetectionStrategy.OnPush,
247
+ standalone: true,
248
+ imports: [NgTemplateOutlet],
249
+ }]
250
+ }] });
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmZsb3ctbW9jay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdGVzdGluZy11dGlscy9jb21wb25lbnQtbW9ja3MvdmZsb3ctbW9jay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBV25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUxRCxPQUFPLEVBQ0wsK0JBQStCLEVBQy9CLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDekIsOEJBQThCLEVBQzlCLDZCQUE2QixHQUM5QixNQUFNLDRDQUE0QyxDQUFDOztBQStGcEQsTUFBTSxPQUFPLGtCQUFrQjtJQTlGL0I7UUErRmtCLFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUEwQixDQUFDO1FBQ2pELFVBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFFakMsU0FBSSxHQUFHLEtBQUssQ0FBNEIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNwRCxZQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsZUFBVSxHQUFHLEtBQUssQ0FBc0IsTUFBTSxDQUFDLENBQUM7UUFDaEQsaUJBQVksR0FBRyxLQUFLLENBQWU7WUFDakQsbUJBQW1CLEVBQUUsS0FBSztTQUMzQixDQUFDLENBQUM7UUFDYSx1QkFBa0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsS0FBSyxDQUFvQjtZQUMzRCxjQUFjLEVBQUUsSUFBSTtTQUNyQixDQUFDLENBQUM7UUFDYSxlQUFVLEdBQUcsS0FBSyxFQUFzQixDQUFDO1FBRXpELCtEQUErRDtRQUMvQyx5QkFBb0IsR0FBRyxNQUFNLEVBQU8sQ0FBQztRQUUzQywwQkFBcUIsR0FBRyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUVwRSwrQkFBMEIsR0FBRyxZQUFZLENBQUMsOEJBQThCLENBQUMsQ0FBQztRQUUxRSwwQkFBcUIsR0FBRyxZQUFZLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUVoRSwyQkFBc0IsR0FBRyxZQUFZLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUUxRSxnQ0FBMkIsR0FBRyxZQUFZLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUUvRSxhQUFRLEdBQUcsTUFBTSxDQUFnQjtZQUN0QyxDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osSUFBSSxFQUFFLENBQUM7U0FDUixDQUFDLENBQUM7UUFFSSxnQkFBVyxHQUFHLE1BQU0sQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUN2QyxnQkFBVyxHQUFHLE1BQU0sQ0FBZSxFQUFFLENBQUMsQ0FBQztRQUV2QyxvQkFBZSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFOUMsaUJBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLGlCQUFZLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztLQWlDdEQ7SUEvQlEsVUFBVSxDQUFDLFFBQXVCO1FBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxNQUFNLENBQUMsSUFBWTtRQUN4QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQVk7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsNkRBQTZEO0lBQ3RELE9BQU8sQ0FBQyxPQUF3QixJQUFTLENBQUM7SUFFMUMsd0JBQXdCLENBQUMsS0FBWTtRQUMxQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCw2REFBNkQ7SUFDdEQsT0FBTyxDQUFjLEVBQVU7UUFDcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRVMsWUFBWSxDQUFJLEtBQVE7UUFDaEMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzsrR0ExRVUsa0JBQWtCO21HQUFsQixrQkFBa0IsZy9DQW9Ca0IsNkJBQTZCLDZHQUV4Qiw4QkFBOEIsd0dBRW5DLHlCQUF5Qix5R0FFeEIsa0NBQWtDLDhHQUU3QiwrQkFBK0IsZ0VBeEgxRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUZULDREQUdTLGdCQUFnQjs7NEZBRWYsa0JBQWtCO2tCQTlGOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsT0FBTztvQkFDakIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1RlQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb250ZW50Q2hpbGQsIGlucHV0LCBvdXRwdXQsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTm9kZSwgRHluYW1pY05vZGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL25vZGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEVkZ2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2VkZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9wb2ludC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFja2dyb3VuZCB9IGZyb20gJy4uLy4uL3R5cGVzL2JhY2tncm91bmQudHlwZSc7XG5pbXBvcnQgeyBPcHRpbWl6YXRpb24gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL29wdGltaXphdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgS2V5Ym9hcmRTaG9ydGN1dHMgfSBmcm9tICcuLi8uLi90eXBlcy9rZXlib2FyZC1hY3Rpb24udHlwZSc7XG5pbXBvcnQgeyBDb25uZWN0aW9uU2V0dGluZ3MgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Nvbm5lY3Rpb24tc2V0dGluZ3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFZpZXdwb3J0U3RhdGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3ZpZXdwb3J0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBOb2RlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvbm9kZS1jaGFuZ2UudHlwZSc7XG5pbXBvcnQgeyBFZGdlQ2hhbmdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvZWRnZS1jaGFuZ2UudHlwZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGaXRWaWV3T3B0aW9ucyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZml0LXZpZXctb3B0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvblRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgRWRnZUxhYmVsSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgRWRnZVRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbiAgR3JvdXBOb2RlVGVtcGxhdGVNb2NrRGlyZWN0aXZlLFxuICBOb2RlSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSxcbn0gZnJvbSAnLi4vZGlyZWN0aXZlLW1vY2tzL3RlbXBsYXRlLW1vY2suZGlyZWN0aXZlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZmbG93JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGVudCAvPlxuXG4gICAgQGZvciAobm9kZSBvZiBub2RlcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIEBpZiAobm9kZS50eXBlID09PSAnaHRtbC10ZW1wbGF0ZScpIHtcbiAgICAgICAgPG5nLWNvbXBvbmVudFxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vZGVUZW1wbGF0ZURpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgICAgICAgIHNlbGVjdGVkOiBjcmVhdGVTaWduYWwoZmFsc2UpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XCIgLz5cbiAgICAgIH1cblxuICAgICAgQGlmIChub2RlLnR5cGUgPT09ICd0ZW1wbGF0ZS1ncm91cCcpIHtcbiAgICAgICAgPG5nLWNvbXBvbmVudFxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImdyb3VwTm9kZVRlbXBsYXRlRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGNyZWF0ZVNpZ25hbChmYWxzZSksXG4gICAgICAgICAgICAgIHdpZHRoOiBjcmVhdGVTaWduYWwobm9kZS53aWR0aCksXG4gICAgICAgICAgICAgIGhlaWdodDogY3JlYXRlU2lnbmFsKG5vZGUuaGVpZ2h0KSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVwiIC8+XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAoZWRnZSBvZiBlZGdlcygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIEBpZiAoZWRnZS50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICAgIDxuZy1jb21wb25lbnRcbiAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlVGVtcGxhdGVEaXJlY3RpdmUoKT8udGVtcGxhdGVSZWYgPz8gbnVsbFwiXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICBlZGdlOiBlZGdlLFxuICAgICAgICAgICAgICBzZWxlY3RlZDogY3JlYXRlU2lnbmFsKGZhbHNlKSxcbiAgICAgICAgICAgICAgcGF0aDogY3JlYXRlU2lnbmFsKCcnKSxcbiAgICAgICAgICAgICAgbWFya2VyU3RhcnQ6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgICAgIG1hcmtlckVuZDogY3JlYXRlU2lnbmFsKCcnKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVwiIC8+XG5cbiAgICAgICAgQGlmIChlZGdlLmVkZ2VMYWJlbHM/LnN0YXJ0KSB7XG4gICAgICAgICAgPG5nLWNvbXBvbmVudFxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRnZUxhYmVsSHRtbERpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAgICRpbXBsaWNpdDoge1xuICAgICAgICAgICAgICAgIGVkZ2U6IGVkZ2UsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIpIHtcbiAgICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlTGFiZWxIdG1sRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgZWRnZTogZWRnZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5lZGdlTGFiZWxzPy5jZW50ZXIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAoZWRnZS5lZGdlTGFiZWxzPy5lbmQpIHtcbiAgICAgICAgICA8bmctY29tcG9uZW50XG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJlZGdlTGFiZWxIdG1sRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmID8/IG51bGxcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAgICAgJGltcGxpY2l0OiB7XG4gICAgICAgICAgICAgICAgZWRnZTogZWRnZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogZWRnZS5lZGdlTGFiZWxzPy5lbmQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XCIgLz5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoY29ubmVjdGlvbigpPy50eXBlID09PSAndGVtcGxhdGUnKSB7XG4gICAgICA8bmctY29tcG9uZW50XG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbm5lY3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZiA/PyBudWxsXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICAkaW1wbGljaXQ6IHtcbiAgICAgICAgICAgIHBhdGg6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgICBtYXJrZXI6IGNyZWF0ZVNpZ25hbCgnJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfVwiIC8+XG4gICAgfVxuICBgLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBWZmxvd01vY2tDb21wb25lbnQge1xuICBwdWJsaWMgcmVhZG9ubHkgbm9kZXMgPSBpbnB1dC5yZXF1aXJlZDxOb2RlW10gfCBEeW5hbWljTm9kZVtdPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgZWRnZXMgPSBpbnB1dC5yZXF1aXJlZDxFZGdlW10+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHZpZXcgPSBpbnB1dDxbbnVtYmVyLCBudW1iZXJdIHwgJ2F1dG8nPihbNDAwLCA0MDBdKTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblpvb20gPSBpbnB1dCgwLjUpO1xuICBwdWJsaWMgcmVhZG9ubHkgbWF4Wm9vbSA9IGlucHV0KDMpO1xuICBwdWJsaWMgcmVhZG9ubHkgYmFja2dyb3VuZCA9IGlucHV0PEJhY2tncm91bmQgfCBzdHJpbmc+KCcjZmZmJyk7XG4gIHB1YmxpYyByZWFkb25seSBvcHRpbWl6YXRpb24gPSBpbnB1dDxPcHRpbWl6YXRpb24+KHtcbiAgICBkZXRhY2hlZEdyb3Vwc0xheWVyOiBmYWxzZSxcbiAgfSk7XG4gIHB1YmxpYyByZWFkb25seSBlbnRpdGllc1NlbGVjdGFibGUgPSBpbnB1dCh0cnVlKTtcbiAgcHVibGljIHJlYWRvbmx5IGtleWJvYXJkU2hvcnRjdXRzID0gaW5wdXQ8S2V5Ym9hcmRTaG9ydGN1dHM+KHtcbiAgICBtdWx0aVNlbGVjdGlvbjogbnVsbCxcbiAgfSk7XG4gIHB1YmxpYyByZWFkb25seSBjb25uZWN0aW9uID0gaW5wdXQ8Q29ubmVjdGlvblNldHRpbmdzPigpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW9uLXByZWZpeFxuICBwdWJsaWMgcmVhZG9ubHkgb25Db21wb25lbnROb2RlRXZlbnQgPSBvdXRwdXQ8YW55PigpO1xuXG4gIHByb3RlY3RlZCBub2RlVGVtcGxhdGVEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoTm9kZUh0bWxUZW1wbGF0ZU1vY2tEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBncm91cE5vZGVUZW1wbGF0ZURpcmVjdGl2ZSA9IGNvbnRlbnRDaGlsZChHcm91cE5vZGVUZW1wbGF0ZU1vY2tEaXJlY3RpdmUpO1xuXG4gIHByb3RlY3RlZCBlZGdlVGVtcGxhdGVEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoRWRnZVRlbXBsYXRlTW9ja0RpcmVjdGl2ZSk7XG5cbiAgcHJvdGVjdGVkIGVkZ2VMYWJlbEh0bWxEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoRWRnZUxhYmVsSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSk7XG5cbiAgcHJvdGVjdGVkIGNvbm5lY3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSA9IGNvbnRlbnRDaGlsZChDb25uZWN0aW9uVGVtcGxhdGVNb2NrRGlyZWN0aXZlKTtcblxuICBwdWJsaWMgdmlld3BvcnQgPSBzaWduYWw8Vmlld3BvcnRTdGF0ZT4oe1xuICAgIHg6IDAsXG4gICAgeTogMCxcbiAgICB6b29tOiAxLFxuICB9KTtcblxuICBwdWJsaWMgbm9kZXNDaGFuZ2UgPSBzaWduYWw8Tm9kZUNoYW5nZVtdPihbXSk7XG4gIHB1YmxpYyBlZGdlc0NoYW5nZSA9IHNpZ25hbDxFZGdlQ2hhbmdlW10+KFtdKTtcblxuICBwdWJsaWMgdmlld3BvcnRDaGFuZ2UkID0gdG9PYnNlcnZhYmxlKHRoaXMudmlld3BvcnQpO1xuXG4gIHB1YmxpYyBub2Rlc0NoYW5nZSQgPSB0b09ic2VydmFibGUodGhpcy5ub2Rlc0NoYW5nZSk7XG4gIHB1YmxpYyBlZGdlc0NoYW5nZSQgPSB0b09ic2VydmFibGUodGhpcy5lZGdlc0NoYW5nZSk7XG5cbiAgcHVibGljIHZpZXdwb3J0VG8odmlld3BvcnQ6IFZpZXdwb3J0U3RhdGUpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdwb3J0LnNldCh2aWV3cG9ydCk7XG4gIH1cblxuICBwdWJsaWMgem9vbVRvKHpvb206IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMudmlld3BvcnQudXBkYXRlKChwcmV2KSA9PiAoeyAuLi5wcmV2LCB6b29tIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBwYW5Ubyhwb2ludDogUG9pbnQpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdwb3J0LnVwZGF0ZSgocHJldikgPT4gKHsgLi4ucHJldiwgeDogcG9pbnQueCwgeTogcG9pbnQueSB9KSk7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBmaXRWaWV3KG9wdGlvbnM/OiBGaXRWaWV3T3B0aW9ucyk6IHZvaWQge31cblxuICBwdWJsaWMgZG9jdW1lbnRQb2ludFRvRmxvd1BvaW50KHBvaW50OiBQb2ludCk6IFBvaW50IHtcbiAgICByZXR1cm4gcG9pbnQ7XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIHB1YmxpYyBnZXROb2RlPFQgPSB1bmtub3duPihpZDogc3RyaW5nKTogTm9kZTxUPiB8IER5bmFtaWNOb2RlPFQ+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlcygpLmZpbmQoKG5vZGUpID0+IG5vZGUuaWQgPT09IGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREZXRhY2hlZEVkZ2VzKCk6IEVkZ2VbXSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZVNpZ25hbDxUPih2YWx1ZTogVCk6IFdyaXRhYmxlU2lnbmFsPFQ+IHtcbiAgICByZXR1cm4gc2lnbmFsKHZhbHVlKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,15 @@
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
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConnectionControllerMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ConnectionControllerMockDirective, isStandalone: true, selector: "[onConnect]", outputs: { onConnect: "onConnect" }, ngImport: i0 }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConnectionControllerMockDirective, decorators: [{
12
+ type: Directive,
13
+ args: [{ selector: '[onConnect]', standalone: true }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi1jb250cm9sbGVyLW1vY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZmbG93LWxpYi9zcmMvbGliL3ZmbG93L3Rlc3RpbmctdXRpbHMvZGlyZWN0aXZlLW1vY2tzL2Nvbm5lY3Rpb24tY29udHJvbGxlci1tb2NrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJbEQsTUFBTSxPQUFPLGlDQUFpQztJQUQ5QztRQUVFLCtEQUErRDtRQUMvQyxjQUFTLEdBQUcsTUFBTSxFQUFjLENBQUM7S0FDbEQ7K0dBSFksaUNBQWlDO21HQUFqQyxpQ0FBaUM7OzRGQUFqQyxpQ0FBaUM7a0JBRDdDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29ubmVjdGlvbiB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29ubmVjdGlvbi5pbnRlcmZhY2UnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbb25Db25uZWN0XScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uQ29udHJvbGxlck1vY2tEaXJlY3RpdmUge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1vbi1wcmVmaXhcbiAgcHVibGljIHJlYWRvbmx5IG9uQ29ubmVjdCA9IG91dHB1dDxDb25uZWN0aW9uPigpO1xufVxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1oYW5kbGUtbW9jay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdGVzdGluZy11dGlscy9kaXJlY3RpdmUtbW9ja3MvZHJhZy1oYW5kbGUtbW9jay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHMUMsTUFBTSxPQUFPLHVCQUF1QjsrR0FBdkIsdUJBQXVCO21HQUF2Qix1QkFBdUI7OzRGQUF2Qix1QkFBdUI7a0JBRG5DLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2RyYWdIYW5kbGVdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIERyYWdIYW5kbGVNb2NrRGlyZWN0aXZlIHt9XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SelectableMockDirective {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectableMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: SelectableMockDirective, isStandalone: true, selector: "[selectable]", ngImport: i0 }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SelectableMockDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[selectable]',
11
+ standalone: true,
12
+ }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0YWJsZS1tb2NrLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90ZXN0aW5nLXV0aWxzL2RpcmVjdGl2ZS1tb2Nrcy9zZWxlY3RhYmxlLW1vY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFDLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUpuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NlbGVjdGFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0YWJsZU1vY2tEaXJlY3RpdmUge31cbiJdfQ==
@@ -0,0 +1,87 @@
1
+ import { Directive, TemplateRef, inject } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class EdgeTemplateMockDirective {
4
+ constructor() {
5
+ this.templateRef = inject(TemplateRef);
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: EdgeTemplateMockDirective, isStandalone: true, selector: "ng-template[edge]", ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeTemplateMockDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ standalone: true,
14
+ selector: 'ng-template[edge]',
15
+ }]
16
+ }] });
17
+ export class ConnectionTemplateMockDirective {
18
+ constructor() {
19
+ this.templateRef = inject(TemplateRef);
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConnectionTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: ConnectionTemplateMockDirective, isStandalone: true, selector: "ng-template[connection]", ngImport: i0 }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ConnectionTemplateMockDirective, decorators: [{
25
+ type: Directive,
26
+ args: [{
27
+ standalone: true,
28
+ selector: 'ng-template[connection]',
29
+ }]
30
+ }] });
31
+ export class EdgeLabelHtmlTemplateMockDirective {
32
+ constructor() {
33
+ this.templateRef = inject(TemplateRef);
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeLabelHtmlTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: EdgeLabelHtmlTemplateMockDirective, isStandalone: true, selector: "ng-template[edgeLabelHtml]", ngImport: i0 }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EdgeLabelHtmlTemplateMockDirective, decorators: [{
39
+ type: Directive,
40
+ args: [{
41
+ standalone: true,
42
+ selector: 'ng-template[edgeLabelHtml]',
43
+ }]
44
+ }] });
45
+ export class NodeHtmlTemplateMockDirective {
46
+ constructor() {
47
+ this.templateRef = inject(TemplateRef);
48
+ }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeHtmlTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
50
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: NodeHtmlTemplateMockDirective, isStandalone: true, selector: "ng-template[nodeHtml]", ngImport: i0 }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NodeHtmlTemplateMockDirective, decorators: [{
53
+ type: Directive,
54
+ args: [{
55
+ standalone: true,
56
+ selector: 'ng-template[nodeHtml]',
57
+ }]
58
+ }] });
59
+ export class GroupNodeTemplateMockDirective {
60
+ constructor() {
61
+ this.templateRef = inject(TemplateRef);
62
+ }
63
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GroupNodeTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
64
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: GroupNodeTemplateMockDirective, isStandalone: true, selector: "ng-template[groupNode]", ngImport: i0 }); }
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GroupNodeTemplateMockDirective, decorators: [{
67
+ type: Directive,
68
+ args: [{
69
+ standalone: true,
70
+ selector: 'ng-template[groupNode]',
71
+ }]
72
+ }] });
73
+ export class HandleTemplateMockDirective {
74
+ constructor() {
75
+ this.templateRef = inject(TemplateRef);
76
+ }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleTemplateMockDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
78
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: HandleTemplateMockDirective, isStandalone: true, selector: "ng-template[handle]", ngImport: i0 }); }
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: HandleTemplateMockDirective, decorators: [{
81
+ type: Directive,
82
+ args: [{
83
+ standalone: true,
84
+ selector: 'ng-template[handle]',
85
+ }]
86
+ }] });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtbW9jay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmZsb3ctbGliL3NyYy9saWIvdmZsb3cvdGVzdGluZy11dGlscy9kaXJlY3RpdmUtbW9ja3MvdGVtcGxhdGUtbW9jay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vRCxNQUFNLE9BQU8seUJBQXlCO0lBSnRDO1FBS1MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDMUM7K0dBRlkseUJBQXlCO21HQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOztBQVNELE1BQU0sT0FBTywrQkFBK0I7SUFKNUM7UUFLUyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMxQzsrR0FGWSwrQkFBK0I7bUdBQS9CLCtCQUErQjs7NEZBQS9CLCtCQUErQjtrQkFKM0MsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHlCQUF5QjtpQkFDcEM7O0FBU0QsTUFBTSxPQUFPLGtDQUFrQztJQUovQztRQUtTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFDOytHQUZZLGtDQUFrQzttR0FBbEMsa0NBQWtDOzs0RkFBbEMsa0NBQWtDO2tCQUo5QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsNEJBQTRCO2lCQUN2Qzs7QUFTRCxNQUFNLE9BQU8sNkJBQTZCO0lBSjFDO1FBS1MsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7S0FDMUM7K0dBRlksNkJBQTZCO21HQUE3Qiw2QkFBNkI7OzRGQUE3Qiw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ2xDOztBQVNELE1BQU0sT0FBTyw4QkFBOEI7SUFKM0M7UUFLUyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUMxQzsrR0FGWSw4QkFBOEI7bUdBQTlCLDhCQUE4Qjs7NEZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7O0FBU0QsTUFBTSxPQUFPLDJCQUEyQjtJQUp4QztRQUtTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQzFDOytHQUZZLDJCQUEyQjttR0FBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQUp2QyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUscUJBQXFCO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtlZGdlXScsXG59KVxuZXhwb3J0IGNsYXNzIEVkZ2VUZW1wbGF0ZU1vY2tEaXJlY3RpdmUge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtjb25uZWN0aW9uXScsXG59KVxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25UZW1wbGF0ZU1vY2tEaXJlY3RpdmUge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtlZGdlTGFiZWxIdG1sXScsXG59KVxuZXhwb3J0IGNsYXNzIEVkZ2VMYWJlbEh0bWxUZW1wbGF0ZU1vY2tEaXJlY3RpdmUge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtub2RlSHRtbF0nLFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlSHRtbFRlbXBsYXRlTW9ja0RpcmVjdGl2ZSB7XG4gIHB1YmxpYyB0ZW1wbGF0ZVJlZiA9IGluamVjdChUZW1wbGF0ZVJlZik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2dyb3VwTm9kZV0nLFxufSlcbmV4cG9ydCBjbGFzcyBHcm91cE5vZGVUZW1wbGF0ZU1vY2tEaXJlY3RpdmUge1xuICBwdWJsaWMgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWYpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtoYW5kbGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgSGFuZGxlVGVtcGxhdGVNb2NrRGlyZWN0aXZlIHtcbiAgcHVibGljIHRlbXBsYXRlUmVmID0gaW5qZWN0KFRlbXBsYXRlUmVmKTtcbn1cbiJdfQ==
@@ -19,6 +19,14 @@ export function provideCustomNodeMocks() {
19
19
  pushEvent: () => { },
20
20
  },
21
21
  },
22
+ {
23
+ provide: NodeAccessorService,
24
+ useFactory: () => ({
25
+ model: signal(mockModel()),
26
+ }),
27
+ },
28
+ FlowEntitiesService,
29
+ // TODO: mocks below should be removed after the major release
22
30
  {
23
31
  provide: HandleService,
24
32
  useFactory: () => ({
@@ -47,12 +55,6 @@ export function provideCustomNodeMocks() {
47
55
  documentPointToFlowPoint: (point) => point,
48
56
  },
49
57
  },
50
- {
51
- provide: NodeAccessorService,
52
- useFactory: () => ({
53
- model: signal(mockModel()),
54
- }),
55
- },
56
58
  {
57
59
  provide: SelectionService,
58
60
  useValue: {
@@ -60,8 +62,7 @@ export function provideCustomNodeMocks() {
60
62
  },
61
63
  },
62
64
  FlowSettingsService,
63
- FlowEntitiesService,
64
65
  ViewportService,
65
66
  ];
66
67
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jdXN0b20tbm9kZS1tb2Nrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90ZXN0aW5nLXV0aWxzL3Byb3ZpZGUtY3VzdG9tLW5vZGUtbW9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUU5RixNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsUUFBUSxFQUFFO2dCQUNSLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2FBQ3BCO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN6QixZQUFZLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztnQkFDdEIsYUFBYSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7YUFDeEIsQ0FBQztTQUNIO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRTtnQkFDUixnQkFBZ0IsRUFBRSxFQUFFLENBQUM7b0JBQ25CLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLFNBQVMsRUFBRSxDQUFDO29CQUNaLFNBQVMsRUFBRSxDQUFDO29CQUNaLE1BQU0sRUFBRSxJQUFJO29CQUNaLGFBQWEsRUFBRSxJQUFJO2lCQUNwQixDQUFDO2dCQUNGLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDOUI7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUU7Z0JBQ1Isd0JBQXdCLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUs7YUFDbEQ7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDakIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUMzQixDQUFDO1NBQ0g7UUFDRDtZQUNFLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsUUFBUSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2FBQ2pCO1NBQ0Y7UUFDRCxtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLGVBQWU7S0FDaEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRFdmVudEJ1c1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb21wb25lbnQtZXZlbnQtYnVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGFuZGxlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2hhbmRsZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9ub2RlLm1vZGVsJztcbmltcG9ydCB7IEZsb3dTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mbG93LXNldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmxvd0VudGl0aWVzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Zsb3ctZW50aXRpZXMuc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlQWNjZXNzb3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbm9kZS1hY2Nlc3Nvci5zZXJ2aWNlJztcbmltcG9ydCB7IFJvb3RQb2ludGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9yb290LXBvaW50ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBWaWV3cG9ydFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlJztcbmltcG9ydCB7IFNwYWNlUG9pbnRDb250ZXh0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9zcGFjZS1wb2ludC1jb250ZXh0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQb2ludCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcG9pbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zZWxlY3Rpb24uc2VydmljZSc7XG5cbmNvbnN0IG1vY2tNb2RlbCA9ICgpID0+IG5ldyBOb2RlTW9kZWwoeyBpZDogJ21vY2snLCB0eXBlOiAnZGVmYXVsdCcsIHBvaW50OiB7IHg6IDAsIHk6IDAgfSB9KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDdXN0b21Ob2RlTW9ja3MoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogQ29tcG9uZW50RXZlbnRCdXNTZXJ2aWNlLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgcHVzaEV2ZW50OiAoKSA9PiB7fSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBIYW5kbGVTZXJ2aWNlLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gKHtcbiAgICAgICAgbm9kZTogc2lnbmFsKG1vY2tNb2RlbCgpKSxcbiAgICAgICAgY3JlYXRlSGFuZGxlOiAoKSA9PiB7fSxcbiAgICAgICAgZGVzdHJveUhhbmRsZTogKCkgPT4ge30sXG4gICAgICB9KSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJvb3RQb2ludGVyRGlyZWN0aXZlLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgcG9pbnRlck1vdmVtZW50JDogb2Yoe1xuICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgeTogMCxcbiAgICAgICAgICBtb3ZlbWVudFg6IDAsXG4gICAgICAgICAgbW92ZW1lbnRZOiAwLFxuICAgICAgICAgIHRhcmdldDogbnVsbCxcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBudWxsLFxuICAgICAgICB9KSxcbiAgICAgICAgZG9jdW1lbnRQb2ludGVyRW5kJDogb2YobnVsbCksXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU3BhY2VQb2ludENvbnRleHREaXJlY3RpdmUsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBkb2N1bWVudFBvaW50VG9GbG93UG9pbnQ6IChwb2ludDogUG9pbnQpID0+IHBvaW50LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5vZGVBY2Nlc3NvclNlcnZpY2UsXG4gICAgICB1c2VGYWN0b3J5OiAoKSA9PiAoe1xuICAgICAgICBtb2RlbDogc2lnbmFsKG1vY2tNb2RlbCgpKSxcbiAgICAgIH0pLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU2VsZWN0aW9uU2VydmljZSxcbiAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgIHNlbGVjdDogKCkgPT4ge30sXG4gICAgICB9LFxuICAgIH0sXG4gICAgRmxvd1NldHRpbmdzU2VydmljZSxcbiAgICBGbG93RW50aXRpZXNTZXJ2aWNlLFxuICAgIFZpZXdwb3J0U2VydmljZSxcbiAgXTtcbn1cbiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jdXN0b20tbm9kZS1tb2Nrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12Zmxvdy1saWIvc3JjL2xpYi92Zmxvdy90ZXN0aW5nLXV0aWxzL3Byb3ZpZGUtY3VzdG9tLW5vZGUtbW9ja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFZLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXpGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWpFLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUU5RixNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSx3QkFBd0I7WUFDakMsUUFBUSxFQUFFO2dCQUNSLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDO2FBQ3BCO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxtQkFBbUI7WUFDNUIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDM0IsQ0FBQztTQUNIO1FBQ0QsbUJBQW1CO1FBRW5CLDhEQUE4RDtRQUM5RDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUN6QixZQUFZLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztnQkFDdEIsYUFBYSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7YUFDeEIsQ0FBQztTQUNIO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRTtnQkFDUixnQkFBZ0IsRUFBRSxFQUFFLENBQUM7b0JBQ25CLENBQUMsRUFBRSxDQUFDO29CQUNKLENBQUMsRUFBRSxDQUFDO29CQUNKLFNBQVMsRUFBRSxDQUFDO29CQUNaLFNBQVMsRUFBRSxDQUFDO29CQUNaLE1BQU0sRUFBRSxJQUFJO29CQUNaLGFBQWEsRUFBRSxJQUFJO2lCQUNwQixDQUFDO2dCQUNGLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDOUI7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUU7Z0JBQ1Isd0JBQXdCLEVBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLEtBQUs7YUFDbEQ7U0FDRjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUU7Z0JBQ1IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7YUFDakI7U0FDRjtRQUNELG1CQUFtQjtRQUNuQixlQUFlO0tBQ2hCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50RXZlbnRCdXNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29tcG9uZW50LWV2ZW50LWJ1cy5zZXJ2aWNlJztcbmltcG9ydCB7IEhhbmRsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9oYW5kbGUuc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvbm9kZS5tb2RlbCc7XG5pbXBvcnQgeyBGbG93U2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZmxvdy1zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IEZsb3dFbnRpdGllc1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9mbG93LWVudGl0aWVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZUFjY2Vzc29yU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL25vZGUtYWNjZXNzb3Iuc2VydmljZSc7XG5pbXBvcnQgeyBSb290UG9pbnRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvcm9vdC1wb2ludGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVmlld3BvcnRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdmlld3BvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTcGFjZVBvaW50Q29udGV4dERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvc3BhY2UtcG9pbnQtY29udGV4dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BvaW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvc2VsZWN0aW9uLnNlcnZpY2UnO1xuXG5jb25zdCBtb2NrTW9kZWwgPSAoKSA9PiBuZXcgTm9kZU1vZGVsKHsgaWQ6ICdtb2NrJywgdHlwZTogJ2RlZmF1bHQnLCBwb2ludDogeyB4OiAwLCB5OiAwIH0gfSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ3VzdG9tTm9kZU1vY2tzKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbXBvbmVudEV2ZW50QnVzU2VydmljZSxcbiAgICAgIHVzZVZhbHVlOiB7XG4gICAgICAgIHB1c2hFdmVudDogKCkgPT4ge30sXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTm9kZUFjY2Vzc29yU2VydmljZSxcbiAgICAgIHVzZUZhY3Rvcnk6ICgpID0+ICh7XG4gICAgICAgIG1vZGVsOiBzaWduYWwobW9ja01vZGVsKCkpLFxuICAgICAgfSksXG4gICAgfSxcbiAgICBGbG93RW50aXRpZXNTZXJ2aWNlLFxuXG4gICAgLy8gVE9ETzogbW9ja3MgYmVsb3cgc2hvdWxkIGJlIHJlbW92ZWQgYWZ0ZXIgdGhlIG1ham9yIHJlbGVhc2VcbiAgICB7XG4gICAgICBwcm92aWRlOiBIYW5kbGVTZXJ2aWNlLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4gKHtcbiAgICAgICAgbm9kZTogc2lnbmFsKG1vY2tNb2RlbCgpKSxcbiAgICAgICAgY3JlYXRlSGFuZGxlOiAoKSA9PiB7fSxcbiAgICAgICAgZGVzdHJveUhhbmRsZTogKCkgPT4ge30sXG4gICAgICB9KSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJvb3RQb2ludGVyRGlyZWN0aXZlLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgcG9pbnRlck1vdmVtZW50JDogb2Yoe1xuICAgICAgICAgIHg6IDAsXG4gICAgICAgICAgeTogMCxcbiAgICAgICAgICBtb3ZlbWVudFg6IDAsXG4gICAgICAgICAgbW92ZW1lbnRZOiAwLFxuICAgICAgICAgIHRhcmdldDogbnVsbCxcbiAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBudWxsLFxuICAgICAgICB9KSxcbiAgICAgICAgZG9jdW1lbnRQb2ludGVyRW5kJDogb2YobnVsbCksXG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogU3BhY2VQb2ludENvbnRleHREaXJlY3RpdmUsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBkb2N1bWVudFBvaW50VG9GbG93UG9pbnQ6IChwb2ludDogUG9pbnQpID0+IHBvaW50LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNlbGVjdGlvblNlcnZpY2UsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBzZWxlY3Q6ICgpID0+IHt9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIEZsb3dTZXR0aW5nc1NlcnZpY2UsXG4gICAgVmlld3BvcnRTZXJ2aWNlLFxuICBdO1xufVxuIl19