@foblex/flow 17.8.2 → 17.8.4

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 (48) hide show
  1. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.d.ts +9 -0
  2. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.d.ts +48 -0
  3. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/index.d.ts +2 -0
  4. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.d.ts +6 -0
  5. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.d.ts +20 -0
  6. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/index.d.ts +2 -0
  7. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides-request.d.ts +6 -0
  8. package/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides.d.ts +28 -0
  9. package/domain/f-node/calculate-node-connectors-connectable-sides/index.d.ts +4 -0
  10. package/domain/f-node/index.d.ts +1 -0
  11. package/domain/f-node/providers.d.ts +4 -3
  12. package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.d.ts +2 -2
  13. package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.d.ts +0 -23
  14. package/domain/providers.d.ts +1 -1
  15. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions-request.mjs +16 -0
  16. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/calculate-connectable-side-by-connected-positions.mjs +181 -0
  17. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-connected-positions/index.mjs +3 -0
  18. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position-request.mjs +8 -0
  19. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/calculate-connectable-side-by-internal-position.mjs +55 -0
  20. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-connectable-side-by-internal-position/index.mjs +3 -0
  21. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides-request.mjs +8 -0
  22. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/calculate-node-connectors-connectable-sides.mjs +90 -0
  23. package/esm2022/domain/f-node/calculate-node-connectors-connectable-sides/index.mjs +5 -0
  24. package/esm2022/domain/f-node/index.mjs +2 -1
  25. package/esm2022/domain/f-node/providers.mjs +8 -4
  26. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.mjs +1 -1
  27. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +10 -67
  28. package/esm2022/f-connectors/e-f-connectable-side.mjs +4 -1
  29. package/esm2022/f-connectors/f-connector-base.mjs +1 -1
  30. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +4 -1
  31. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +4 -1
  32. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +4 -1
  33. package/esm2022/f-node/f-group.directive.mjs +20 -12
  34. package/esm2022/f-node/f-node-base.mjs +2 -2
  35. package/esm2022/f-node/f-node.directive.mjs +15 -3
  36. package/f-connection/providers.d.ts +1 -1
  37. package/f-connectors/e-f-connectable-side.d.ts +3 -0
  38. package/f-connectors/f-connector-base.d.ts +1 -0
  39. package/f-connectors/f-node-input/f-node-input.directive.d.ts +1 -0
  40. package/f-connectors/f-node-outlet/f-node-outlet.directive.d.ts +1 -0
  41. package/f-connectors/f-node-output/f-node-output.directive.d.ts +1 -0
  42. package/f-connectors/providers.d.ts +1 -1
  43. package/f-node/f-group.directive.d.ts +4 -1
  44. package/f-node/f-node-base.d.ts +1 -1
  45. package/f-node/f-node.directive.d.ts +3 -0
  46. package/fesm2022/foblex-flow.mjs +381 -71
  47. package/fesm2022/foblex-flow.mjs.map +1 -1
  48. package/package.json +1 -1
@@ -0,0 +1,90 @@
1
+ import { __decorate } from "tslib";
2
+ import { inject, Injectable } from '@angular/core';
3
+ import { FExecutionRegister, FMediator } from '@foblex/mediator';
4
+ import { CalculateNodeConnectorsConnectableSidesRequest } from './calculate-node-connectors-connectable-sides-request';
5
+ import { EFConnectableSide } from '../../../f-connectors';
6
+ import { CalculateConnectableSideByConnectedPositionsRequest, } from './calculate-connectable-side-by-connected-positions';
7
+ import { CalculateConnectableSideByInternalPositionRequest } from './calculate-connectable-side-by-internal-position';
8
+ import * as i0 from "@angular/core";
9
+ /** Fast predicate: whether the user side is a calculate mode. */
10
+ function isCalculateMode(side) {
11
+ return (side === EFConnectableSide.CALCULATE ||
12
+ side === EFConnectableSide.CALCULATE_HORIZONTAL ||
13
+ side === EFConnectableSide.CALCULATE_VERTICAL);
14
+ }
15
+ /**
16
+ * Execution that calculates connectable sides for all connectors of a node.
17
+ *
18
+ * Performance goals:
19
+ * - Single-pass loops (no `forEach`).
20
+ * - Unique target recomputation (avoid repeated mediator calls for the same target).
21
+ * - Fast checks for "calculate" modes (bit mask instead of `includes`).
22
+ */
23
+ let CalculateNodeConnectorsConnectableSides = class CalculateNodeConnectorsConnectableSides {
24
+ _mediator = inject(FMediator);
25
+ /**
26
+ * Orchestrates side calculation for all connectors of the given node.
27
+ * Two-phase approach:
28
+ * 1) Update each connector's own side.
29
+ * 2) Collect unique `toConnector` with calculate modes and recompute once.
30
+ */
31
+ handle({ node }) {
32
+ const mediator = this._mediator;
33
+ const connectors = node.connectors;
34
+ const len = connectors.length;
35
+ for (let i = 0; i < len; i++) {
36
+ const connection = connectors[i];
37
+ connection.fConnectableSide = this._resolveSideForConnectorFast(mediator, connection);
38
+ }
39
+ const toRecalc = new Set();
40
+ for (let i = 0; i < len; i++) {
41
+ const source = connectors[i];
42
+ const outs = source.toConnector;
43
+ if (outs && outs.length) {
44
+ for (let j = 0, m = outs.length; j < m; j++) {
45
+ const target = outs[j];
46
+ const userSide = target.userFConnectableSide;
47
+ if (isCalculateMode(userSide)) {
48
+ toRecalc.add(target);
49
+ }
50
+ }
51
+ }
52
+ }
53
+ if (toRecalc.size > 0) {
54
+ toRecalc.forEach((target) => {
55
+ target.fConnectableSide = mediator.execute(new CalculateConnectableSideByConnectedPositionsRequest(target, userSideToTCalculateMode(target.userFConnectableSide)));
56
+ });
57
+ }
58
+ }
59
+ /**
60
+ * Fast resolver for a single connector.
61
+ * Uses switch and avoids array operations.
62
+ */
63
+ _resolveSideForConnectorFast(mediator, connector) {
64
+ const preference = connector.userFConnectableSide;
65
+ if (preference !== EFConnectableSide.AUTO && !isCalculateMode(preference)) {
66
+ return preference;
67
+ }
68
+ if (preference === EFConnectableSide.AUTO) {
69
+ return mediator.execute(new CalculateConnectableSideByInternalPositionRequest(connector));
70
+ }
71
+ return mediator.execute(new CalculateConnectableSideByConnectedPositionsRequest(connector, userSideToTCalculateMode(preference)));
72
+ }
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodeConnectorsConnectableSides, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
74
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodeConnectorsConnectableSides });
75
+ };
76
+ CalculateNodeConnectorsConnectableSides = __decorate([
77
+ FExecutionRegister(CalculateNodeConnectorsConnectableSidesRequest)
78
+ ], CalculateNodeConnectorsConnectableSides);
79
+ export { CalculateNodeConnectorsConnectableSides };
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodeConnectorsConnectableSides, decorators: [{
81
+ type: Injectable
82
+ }] });
83
+ /**
84
+ * Utility: maps EFConnectableSide user value to TCalculateMode safely.
85
+ * If your enums are distinct, implement the exact mapping here.
86
+ */
87
+ function userSideToTCalculateMode(side) {
88
+ return side;
89
+ }
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLW5vZGUtY29ubmVjdG9ycy1jb25uZWN0YWJsZS1zaWRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytbm9kZS9jYWxjdWxhdGUtbm9kZS1jb25uZWN0b3JzLWNvbm5lY3RhYmxlLXNpZGVzL2NhbGN1bGF0ZS1ub2RlLWNvbm5lY3RvcnMtY29ubmVjdGFibGUtc2lkZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN2SCxPQUFPLEVBQUUsaUJBQWlCLEVBQWtCLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUNMLG1EQUFtRCxHQUVwRCxNQUFNLHFEQUFxRCxDQUFDO0FBQzdELE9BQU8sRUFBRSxpREFBaUQsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQUV0SCxpRUFBaUU7QUFDakUsU0FBUyxlQUFlLENBQUMsSUFBdUI7SUFDOUMsT0FBTyxDQUNMLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxTQUFTO1FBQ3BDLElBQUksS0FBSyxpQkFBaUIsQ0FBQyxvQkFBb0I7UUFDL0MsSUFBSSxLQUFLLGlCQUFpQixDQUFDLGtCQUFrQixDQUM5QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFHSSxJQUFNLHVDQUF1QyxHQUE3QyxNQUFNLHVDQUF1QztJQUdqQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRS9DOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFrRDtRQUNwRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FB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Y3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQ2FsY3VsYXRlTm9kZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLW5vZGUtY29ubmVjdG9ycy1jb25uZWN0YWJsZS1zaWRlcy1yZXF1ZXN0JztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlLCBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQge1xuICBDYWxjdWxhdGVDb25uZWN0YWJsZVNpZGVCeUNvbm5lY3RlZFBvc2l0aW9uc1JlcXVlc3QsXG4gIFRDYWxjdWxhdGVNb2RlLFxufSBmcm9tICcuL2NhbGN1bGF0ZS1jb25uZWN0YWJsZS1zaWRlLWJ5LWNvbm5lY3RlZC1wb3NpdGlvbnMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlQ29ubmVjdGFibGVTaWRlQnlJbnRlcm5hbFBvc2l0aW9uUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWNvbm5lY3RhYmxlLXNpZGUtYnktaW50ZXJuYWwtcG9zaXRpb24nO1xuXG4vKiogRmFzdCBwcmVkaWNhdGU6IHdoZXRoZXIgdGhlIHVzZXIgc2lkZSBpcyBhIGNhbGN1bGF0ZSBtb2RlLiAqL1xuZnVuY3Rpb24gaXNDYWxjdWxhdGVNb2RlKHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgc2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFIHx8XG4gICAgc2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuQ0FMQ1VMQVRFX0hPUklaT05UQUwgfHxcbiAgICBzaWRlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5DQUxDVUxBVEVfVkVSVElDQUxcbiAgKTtcbn1cblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCBjYWxjdWxhdGVzIGNvbm5lY3RhYmxlIHNpZGVzIGZvciBhbGwgY29ubmVjdG9ycyBvZiBhIG5vZGUuXG4gKlxuICogUGVyZm9ybWFuY2UgZ29hbHM6XG4gKiAtIFNpbmdsZS1wYXNzIGxvb3BzIChubyBgZm9yRWFjaGApLlxuICogLSBVbmlxdWUgdGFyZ2V0IHJlY29tcHV0YXRpb24gKGF2b2lkIHJlcGVhdGVkIG1lZGlhdG9yIGNhbGxzIGZvciB0aGUgc2FtZSB0YXJnZXQpLlxuICogLSBGYXN0IGNoZWNrcyBmb3IgXCJjYWxjdWxhdGVcIiBtb2RlcyAoYml0IG1hc2sgaW5zdGVhZCBvZiBgaW5jbHVkZXNgKS5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihDYWxjdWxhdGVOb2RlQ29ubmVjdG9yc0Nvbm5lY3RhYmxlU2lkZXNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZU5vZGVDb25uZWN0b3JzQ29ubmVjdGFibGVTaWRlc1xuICBpbXBsZW1lbnRzIElFeGVjdXRpb248Q2FsY3VsYXRlTm9kZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzUmVxdWVzdCwgdm9pZD5cbntcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICAvKipcbiAgICogT3JjaGVzdHJhdGVzIHNpZGUgY2FsY3VsYXRpb24gZm9yIGFsbCBjb25uZWN0b3JzIG9mIHRoZSBnaXZlbiBub2RlLlxuICAgKiBUd28tcGhhc2UgYXBwcm9hY2g6XG4gICAqICAxKSBVcGRhdGUgZWFjaCBjb25uZWN0b3IncyBvd24gc2lkZS5cbiAgICogIDIpIENvbGxlY3QgdW5pcXVlIGB0b0Nvbm5lY3RvcmAgd2l0aCBjYWxjdWxhdGUgbW9kZXMgYW5kIHJlY29tcHV0ZSBvbmNlLlxuICAgKi9cbiAgcHVibGljIGhhbmRsZSh7IG5vZGUgfTogQ2FsY3VsYXRlTm9kZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IG1lZGlhdG9yID0gdGhpcy5fbWVkaWF0b3I7XG4gICAgY29uc3QgY29ubmVjdG9ycyA9IG5vZGUuY29ubmVjdG9ycztcbiAgICBjb25zdCBsZW4gPSBjb25uZWN0b3JzLmxlbmd0aDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBjb25uZWN0b3JzW2ldO1xuICAgICAgY29ubmVjdGlvbi5mQ29ubmVjdGFibGVTaWRlID0gdGhpcy5fcmVzb2x2ZVNpZGVGb3JDb25uZWN0b3JGYXN0KG1lZGlhdG9yLCBjb25uZWN0aW9uKTtcbiAgICB9XG5cbiAgICBjb25zdCB0b1JlY2FsYyA9IG5ldyBTZXQ8RkNvbm5lY3RvckJhc2U+KCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBjb25zdCBzb3VyY2UgPSBjb25uZWN0b3JzW2ldO1xuICAgICAgY29uc3Qgb3V0cyA9IHNvdXJjZS50b0Nvbm5lY3RvcjtcbiAgICAgIGlmIChvdXRzICYmIG91dHMubGVuZ3RoKSB7XG4gICAgICAgIGZvciAobGV0IGogPSAwLCBtID0gb3V0cy5sZW5ndGg7IGogPCBtOyBqKyspIHtcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBvdXRzW2pdO1xuICAgICAgICAgIGNvbnN0IHVzZXJTaWRlID0gdGFyZ2V0LnVzZXJGQ29ubmVjdGFibGVTaWRlO1xuICAgICAgICAgIGlmIChpc0NhbGN1bGF0ZU1vZGUodXNlclNpZGUpKSB7XG4gICAgICAgICAgICB0b1JlY2FsYy5hZGQodGFyZ2V0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodG9SZWNhbGMuc2l6ZSA+IDApIHtcbiAgICAgIHRvUmVjYWxjLmZvckVhY2goKHRhcmdldCkgPT4ge1xuICAgICAgICB0YXJnZXQuZkNvbm5lY3RhYmxlU2lkZSA9IG1lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICAgICAgbmV3IENhbGN1bGF0ZUNvbm5lY3RhYmxlU2lkZUJ5Q29ubmVjdGVkUG9zaXRpb25zUmVxdWVzdChcbiAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgIHVzZXJTaWRlVG9UQ2FsY3VsYXRlTW9kZSh0YXJnZXQudXNlckZDb25uZWN0YWJsZVNpZGUpLFxuICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmFzdCByZXNvbHZlciBmb3IgYSBzaW5nbGUgY29ubmVjdG9yLlxuICAgKiBVc2VzIHN3aXRjaCBhbmQgYXZvaWRzIGFycmF5IG9wZXJhdGlvbnMuXG4gICAqL1xuICBwcml2YXRlIF9yZXNvbHZlU2lkZUZvckNvbm5lY3RvckZhc3QoXG4gICAgbWVkaWF0b3I6IEZNZWRpYXRvcixcbiAgICBjb25uZWN0b3I6IEZDb25uZWN0b3JCYXNlLFxuICApOiBFRkNvbm5lY3RhYmxlU2lkZSB7XG4gICAgY29uc3QgcHJlZmVyZW5jZSA9IGNvbm5lY3Rvci51c2VyRkNvbm5lY3RhYmxlU2lkZTtcblxuICAgIGlmIChwcmVmZXJlbmNlICE9PSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPICYmICFpc0NhbGN1bGF0ZU1vZGUocHJlZmVyZW5jZSkpIHtcbiAgICAgIHJldHVybiBwcmVmZXJlbmNlO1xuICAgIH1cblxuICAgIGlmIChwcmVmZXJlbmNlID09PSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPKSB7XG4gICAgICByZXR1cm4gbWVkaWF0b3IuZXhlY3V0ZShuZXcgQ2FsY3VsYXRlQ29ubmVjdGFibGVTaWRlQnlJbnRlcm5hbFBvc2l0aW9uUmVxdWVzdChjb25uZWN0b3IpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVkaWF0b3IuZXhlY3V0ZShcbiAgICAgIG5ldyBDYWxjdWxhdGVDb25uZWN0YWJsZVNpZGVCeUNvbm5lY3RlZFBvc2l0aW9uc1JlcXVlc3QoXG4gICAgICAgIGNvbm5lY3RvcixcbiAgICAgICAgdXNlclNpZGVUb1RDYWxjdWxhdGVNb2RlKHByZWZlcmVuY2UpLFxuICAgICAgKSxcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogVXRpbGl0eTogbWFwcyBFRkNvbm5lY3RhYmxlU2lkZSB1c2VyIHZhbHVlIHRvIFRDYWxjdWxhdGVNb2RlIHNhZmVseS5cbiAqIElmIHlvdXIgZW51bXMgYXJlIGRpc3RpbmN0LCBpbXBsZW1lbnQgdGhlIGV4YWN0IG1hcHBpbmcgaGVyZS5cbiAqL1xuZnVuY3Rpb24gdXNlclNpZGVUb1RDYWxjdWxhdGVNb2RlKHNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogVENhbGN1bGF0ZU1vZGUge1xuICByZXR1cm4gc2lkZSBhcyB1bmtub3duIGFzIFRDYWxjdWxhdGVNb2RlO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './calculate-connectable-side-by-connected-positions';
2
+ export * from './calculate-connectable-side-by-internal-position';
3
+ export * from './calculate-node-connectors-connectable-sides';
4
+ export * from './calculate-node-connectors-connectable-sides-request';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvY2FsY3VsYXRlLW5vZGUtY29ubmVjdG9ycy1jb25uZWN0YWJsZS1zaWRlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFLGNBQWMsbURBQW1ELENBQUM7QUFFbEUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHVEQUF1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGFibGUtc2lkZS1ieS1jb25uZWN0ZWQtcG9zaXRpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtY29ubmVjdGFibGUtc2lkZS1ieS1pbnRlcm5hbC1wb3NpdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLW5vZGUtY29ubmVjdG9ycy1jb25uZWN0YWJsZS1zaWRlcyc7XG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1ub2RlLWNvbm5lY3RvcnMtY29ubmVjdGFibGUtc2lkZXMtcmVxdWVzdCc7XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  export * from './add-node-to-store';
2
2
  export * from './calculate-input-connections';
3
+ export * from './calculate-node-connectors-connectable-sides';
3
4
  export * from './calculate-nodes-bounding-box';
4
5
  export * from './calculate-nodes-bounding-box-normalized-position';
5
6
  export * from './calculate-output-connections';
@@ -11,4 +12,4 @@ export * from './get-parent-nodes';
11
12
  export * from './update-node-when-state-or-size-changed';
12
13
  export * from './remove-node-from-store';
13
14
  export * from './providers';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyxvREFBb0QsQ0FBQztBQUVuRSxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLG9CQUFvQixDQUFDO0FBRW5DLGNBQWMsYUFBYSxDQUFDO0FBRTVCLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxjQUFjLDBCQUEwQixDQUFDO0FBRXpDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZGQtbm9kZS10by1zdG9yZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLWlucHV0LWNvbm5lY3Rpb25zJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94JztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94LW5vcm1hbGl6ZWQtcG9zaXRpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1vdXRwdXQtY29ubmVjdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ZpdC10by1jaGlsZC1ub2Rlcy1hbmQtZ3JvdXBzJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtY2hpbGQtbm9kZS1pZHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub2RlLXBhZGRpbmcnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1ub2Rlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXBhcmVudC1ub2Rlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQnO1xuXG5leHBvcnQgKiBmcm9tICcuL3JlbW92ZS1ub2RlLWZyb20tc3RvcmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGVycyc7XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsK0NBQStDLENBQUM7QUFFOUQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxjQUFjLG9EQUFvRCxDQUFDO0FBRW5FLGNBQWMsZ0NBQWdDLENBQUM7QUFFL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyxhQUFhLENBQUM7QUFFNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUVuQyxjQUFjLDBDQUEwQyxDQUFDO0FBRXpELGNBQWMsMEJBQTBCLENBQUM7QUFFekMsY0FBYyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FkZC1ub2RlLXRvLXN0b3JlJztcblxuZXhwb3J0ICogZnJvbSAnLi9jYWxjdWxhdGUtaW5wdXQtY29ubmVjdGlvbnMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1ub2RlLWNvbm5lY3RvcnMtY29ubmVjdGFibGUtc2lkZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1ub2Rlcy1ib3VuZGluZy1ib3gnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1ub2Rlcy1ib3VuZGluZy1ib3gtbm9ybWFsaXplZC1wb3NpdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vY2FsY3VsYXRlLW91dHB1dC1jb25uZWN0aW9ucyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZml0LXRvLWNoaWxkLW5vZGVzLWFuZC1ncm91cHMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1jaGlsZC1ub2RlLWlkcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vZGUtcGFkZGluZyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZ2V0LW5vZGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtcGFyZW50LW5vZGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi91cGRhdGUtbm9kZS13aGVuLXN0YXRlLW9yLXNpemUtY2hhbmdlZCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlLW5vZGUtZnJvbS1zdG9yZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcbiJdfQ==
@@ -3,19 +3,23 @@ import { RemoveNodeFromStore } from './remove-node-from-store';
3
3
  import { UpdateNodeWhenStateOrSizeChanged } from './update-node-when-state-or-size-changed';
4
4
  import { GetNodes } from './get-nodes';
5
5
  import { CalculateNodesBoundingBox } from './calculate-nodes-bounding-box';
6
- import { CalculateNodesBoundingBoxNormalizedPosition, } from './calculate-nodes-bounding-box-normalized-position';
6
+ import { CalculateNodesBoundingBoxNormalizedPosition } from './calculate-nodes-bounding-box-normalized-position';
7
7
  import { GetNodePadding } from './get-node-padding';
8
8
  import { GetParentNodes } from './get-parent-nodes';
9
9
  import { CalculateInputConnections } from './calculate-input-connections';
10
10
  import { CalculateOutputConnections } from './calculate-output-connections';
11
- import { GetChildNodeIds } from "./get-child-node-ids";
12
- import { FitToChildNodesAndGroups } from "./fit-to-child-nodes-and-groups";
11
+ import { GetChildNodeIds } from './get-child-node-ids';
12
+ import { FitToChildNodesAndGroups } from './fit-to-child-nodes-and-groups';
13
+ import { CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByInternalPosition, CalculateNodeConnectorsConnectableSides, } from './calculate-node-connectors-connectable-sides';
13
14
  /**
14
15
  * This file exports all the node-related executions that can be used in the F-Flow domain.
15
16
  */
16
17
  export const F_NODE_FEATURES = [
17
18
  AddNodeToStore,
19
+ CalculateConnectableSideByConnectedPositions,
20
+ CalculateConnectableSideByInternalPosition,
18
21
  CalculateInputConnections,
22
+ CalculateNodeConnectorsConnectableSides,
19
23
  CalculateNodesBoundingBox,
20
24
  CalculateNodesBoundingBoxNormalizedPosition,
21
25
  CalculateOutputConnections,
@@ -27,4 +31,4 @@ export const F_NODE_FEATURES = [
27
31
  UpdateNodeWhenStateOrSizeChanged,
28
32
  RemoveNodeFromStore,
29
33
  ];
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1ub2RlL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDNUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsMkNBQTJDLEdBQzVDLE1BQU0sb0RBQW9ELENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0U7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFFN0IsY0FBYztJQUVkLHlCQUF5QjtJQUV6Qix5QkFBeUI7SUFFekIsMkNBQTJDO0lBRTNDLDBCQUEwQjtJQUUxQix3QkFBd0I7SUFFeEIsZUFBZTtJQUVmLGNBQWM7SUFFZCxRQUFRO0lBRVIsY0FBYztJQUVkLGdDQUFnQztJQUVoQyxtQkFBbUI7Q0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZE5vZGVUb1N0b3JlIH0gZnJvbSAnLi9hZGQtbm9kZS10by1zdG9yZSc7XG5pbXBvcnQgeyBSZW1vdmVOb2RlRnJvbVN0b3JlIH0gZnJvbSAnLi9yZW1vdmUtbm9kZS1mcm9tLXN0b3JlJztcbmltcG9ydCB7IFVwZGF0ZU5vZGVXaGVuU3RhdGVPclNpemVDaGFuZ2VkIH0gZnJvbSAnLi91cGRhdGUtbm9kZS13aGVuLXN0YXRlLW9yLXNpemUtY2hhbmdlZCc7XG5pbXBvcnQgeyBHZXROb2RlcyB9IGZyb20gJy4vZ2V0LW5vZGVzJztcbmltcG9ydCB7IENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3ggfSBmcm9tICcuL2NhbGN1bGF0ZS1ub2Rlcy1ib3VuZGluZy1ib3gnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveE5vcm1hbGl6ZWRQb3NpdGlvbixcbn0gZnJvbSAnLi9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94LW5vcm1hbGl6ZWQtcG9zaXRpb24nO1xuaW1wb3J0IHsgR2V0Tm9kZVBhZGRpbmcgfSBmcm9tICcuL2dldC1ub2RlLXBhZGRpbmcnO1xuaW1wb3J0IHsgR2V0UGFyZW50Tm9kZXMgfSBmcm9tICcuL2dldC1wYXJlbnQtbm9kZXMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlSW5wdXRDb25uZWN0aW9ucyB9IGZyb20gJy4vY2FsY3VsYXRlLWlucHV0LWNvbm5lY3Rpb25zJztcbmltcG9ydCB7IENhbGN1bGF0ZU91dHB1dENvbm5lY3Rpb25zIH0gZnJvbSAnLi9jYWxjdWxhdGUtb3V0cHV0LWNvbm5lY3Rpb25zJztcbmltcG9ydCB7IEdldENoaWxkTm9kZUlkcyB9IGZyb20gXCIuL2dldC1jaGlsZC1ub2RlLWlkc1wiO1xuaW1wb3J0IHsgRml0VG9DaGlsZE5vZGVzQW5kR3JvdXBzIH0gZnJvbSBcIi4vZml0LXRvLWNoaWxkLW5vZGVzLWFuZC1ncm91cHNcIjtcblxuLyoqXG4gKiBUaGlzIGZpbGUgZXhwb3J0cyBhbGwgdGhlIG5vZGUtcmVsYXRlZCBleGVjdXRpb25zIHRoYXQgY2FuIGJlIHVzZWQgaW4gdGhlIEYtRmxvdyBkb21haW4uXG4gKi9cbmV4cG9ydCBjb25zdCBGX05PREVfRkVBVFVSRVMgPSBbXG5cbiAgQWRkTm9kZVRvU3RvcmUsXG5cbiAgQ2FsY3VsYXRlSW5wdXRDb25uZWN0aW9ucyxcblxuICBDYWxjdWxhdGVOb2Rlc0JvdW5kaW5nQm94LFxuXG4gIENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hOb3JtYWxpemVkUG9zaXRpb24sXG5cbiAgQ2FsY3VsYXRlT3V0cHV0Q29ubmVjdGlvbnMsXG5cbiAgRml0VG9DaGlsZE5vZGVzQW5kR3JvdXBzLFxuXG4gIEdldENoaWxkTm9kZUlkcyxcblxuICBHZXROb2RlUGFkZGluZyxcblxuICBHZXROb2RlcyxcblxuICBHZXRQYXJlbnROb2RlcyxcblxuICBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZCxcblxuICBSZW1vdmVOb2RlRnJvbVN0b3JlLFxuXTtcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vZi1ub2RlL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDNUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMkNBQTJDLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNqSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLDBDQUEwQyxFQUMxQyx1Q0FBdUMsR0FDeEMsTUFBTSwrQ0FBK0MsQ0FBQztBQUV2RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUM3QixjQUFjO0lBRWQsNENBQTRDO0lBRTVDLDBDQUEwQztJQUUxQyx5QkFBeUI7SUFFekIsdUNBQXVDO0lBRXZDLHlCQUF5QjtJQUV6QiwyQ0FBMkM7SUFFM0MsMEJBQTBCO0lBRTFCLHdCQUF3QjtJQUV4QixlQUFlO0lBRWYsY0FBYztJQUVkLFFBQVE7SUFFUixjQUFjO0lBRWQsZ0NBQWdDO0lBRWhDLG1CQUFtQjtDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWRkTm9kZVRvU3RvcmUgfSBmcm9tICcuL2FkZC1ub2RlLXRvLXN0b3JlJztcbmltcG9ydCB7IFJlbW92ZU5vZGVGcm9tU3RvcmUgfSBmcm9tICcuL3JlbW92ZS1ub2RlLWZyb20tc3RvcmUnO1xuaW1wb3J0IHsgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWQgfSBmcm9tICcuL3VwZGF0ZS1ub2RlLXdoZW4tc3RhdGUtb3Itc2l6ZS1jaGFuZ2VkJztcbmltcG9ydCB7IEdldE5vZGVzIH0gZnJvbSAnLi9nZXQtbm9kZXMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveCB9IGZyb20gJy4vY2FsY3VsYXRlLW5vZGVzLWJvdW5kaW5nLWJveCc7XG5pbXBvcnQgeyBDYWxjdWxhdGVOb2Rlc0JvdW5kaW5nQm94Tm9ybWFsaXplZFBvc2l0aW9uIH0gZnJvbSAnLi9jYWxjdWxhdGUtbm9kZXMtYm91bmRpbmctYm94LW5vcm1hbGl6ZWQtcG9zaXRpb24nO1xuaW1wb3J0IHsgR2V0Tm9kZVBhZGRpbmcgfSBmcm9tICcuL2dldC1ub2RlLXBhZGRpbmcnO1xuaW1wb3J0IHsgR2V0UGFyZW50Tm9kZXMgfSBmcm9tICcuL2dldC1wYXJlbnQtbm9kZXMnO1xuaW1wb3J0IHsgQ2FsY3VsYXRlSW5wdXRDb25uZWN0aW9ucyB9IGZyb20gJy4vY2FsY3VsYXRlLWlucHV0LWNvbm5lY3Rpb25zJztcbmltcG9ydCB7IENhbGN1bGF0ZU91dHB1dENvbm5lY3Rpb25zIH0gZnJvbSAnLi9jYWxjdWxhdGUtb3V0cHV0LWNvbm5lY3Rpb25zJztcbmltcG9ydCB7IEdldENoaWxkTm9kZUlkcyB9IGZyb20gJy4vZ2V0LWNoaWxkLW5vZGUtaWRzJztcbmltcG9ydCB7IEZpdFRvQ2hpbGROb2Rlc0FuZEdyb3VwcyB9IGZyb20gJy4vZml0LXRvLWNoaWxkLW5vZGVzLWFuZC1ncm91cHMnO1xuaW1wb3J0IHtcbiAgQ2FsY3VsYXRlQ29ubmVjdGFibGVTaWRlQnlDb25uZWN0ZWRQb3NpdGlvbnMsXG4gIENhbGN1bGF0ZUNvbm5lY3RhYmxlU2lkZUJ5SW50ZXJuYWxQb3NpdGlvbixcbiAgQ2FsY3VsYXRlTm9kZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzLFxufSBmcm9tICcuL2NhbGN1bGF0ZS1ub2RlLWNvbm5lY3RvcnMtY29ubmVjdGFibGUtc2lkZXMnO1xuXG4vKipcbiAqIFRoaXMgZmlsZSBleHBvcnRzIGFsbCB0aGUgbm9kZS1yZWxhdGVkIGV4ZWN1dGlvbnMgdGhhdCBjYW4gYmUgdXNlZCBpbiB0aGUgRi1GbG93IGRvbWFpbi5cbiAqL1xuZXhwb3J0IGNvbnN0IEZfTk9ERV9GRUFUVVJFUyA9IFtcbiAgQWRkTm9kZVRvU3RvcmUsXG5cbiAgQ2FsY3VsYXRlQ29ubmVjdGFibGVTaWRlQnlDb25uZWN0ZWRQb3NpdGlvbnMsXG5cbiAgQ2FsY3VsYXRlQ29ubmVjdGFibGVTaWRlQnlJbnRlcm5hbFBvc2l0aW9uLFxuXG4gIENhbGN1bGF0ZUlucHV0Q29ubmVjdGlvbnMsXG5cbiAgQ2FsY3VsYXRlTm9kZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGVzLFxuXG4gIENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3gsXG5cbiAgQ2FsY3VsYXRlTm9kZXNCb3VuZGluZ0JveE5vcm1hbGl6ZWRQb3NpdGlvbixcblxuICBDYWxjdWxhdGVPdXRwdXRDb25uZWN0aW9ucyxcblxuICBGaXRUb0NoaWxkTm9kZXNBbmRHcm91cHMsXG5cbiAgR2V0Q2hpbGROb2RlSWRzLFxuXG4gIEdldE5vZGVQYWRkaW5nLFxuXG4gIEdldE5vZGVzLFxuXG4gIEdldFBhcmVudE5vZGVzLFxuXG4gIFVwZGF0ZU5vZGVXaGVuU3RhdGVPclNpemVDaGFuZ2VkLFxuXG4gIFJlbW92ZU5vZGVGcm9tU3RvcmUsXG5dO1xuIl19
@@ -7,4 +7,4 @@ export class UpdateNodeWhenStateOrSizeChangedRequest {
7
7
  this.destroyRef = destroyRef;
8
8
  }
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytbm9kZS91cGRhdGUtbm9kZS13aGVuLXN0YXRlLW9yLXNpemUtY2hhbmdlZC91cGRhdGUtbm9kZS13aGVuLXN0YXRlLW9yLXNpemUtY2hhbmdlZC1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyx1Q0FBdUM7SUFJekM7SUFDQTtJQUpULE1BQU0sQ0FBVSxNQUFNLEdBQUcsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFFM0UsWUFDUyxXQUFzQixFQUN0QixVQUFzQjtRQUR0QixnQkFBVyxHQUFYLFdBQVcsQ0FBVztRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRS9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG5leHBvcnQgY2xhc3MgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRSZXF1ZXN0Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG5vZGVPckdyb3VwOiBGTm9kZUJhc2UsXG4gICAgcHVibGljIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICkge1xuICB9XG59XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQtcmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytbm9kZS91cGRhdGUtbm9kZS13aGVuLXN0YXRlLW9yLXNpemUtY2hhbmdlZC91cGRhdGUtbm9kZS13aGVuLXN0YXRlLW9yLXNpemUtY2hhbmdlZC1yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyx1Q0FBdUM7SUFJaEM7SUFDQTtJQUpsQixNQUFNLENBQVUsTUFBTSxHQUFHLE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBRTNFLFlBQ2tCLFdBQXNCLEVBQ3RCLFVBQXNCO1FBRHRCLGdCQUFXLEdBQVgsV0FBVyxDQUFXO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5cbmV4cG9ydCBjbGFzcyBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3Qge1xuICBzdGF0aWMgcmVhZG9ubHkgZlRva2VuID0gU3ltYm9sKCdVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgbm9kZU9yR3JvdXA6IEZOb2RlQmFzZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveVJlZjogRGVzdHJveVJlZixcbiAgKSB7fVxufVxuIl19
@@ -2,92 +2,35 @@ import { __decorate } from "tslib";
2
2
  import { inject, Injectable } from '@angular/core';
3
3
  import { FExecutionRegister, FMediator } from '@foblex/mediator';
4
4
  import { UpdateNodeWhenStateOrSizeChangedRequest } from './update-node-when-state-or-size-changed-request';
5
- import { EFConnectableSide } from '../../../f-connectors';
6
- import { FComponentsStore, NotifyDataChangedRequest } from '../../../f-storage';
5
+ import { NotifyDataChangedRequest } from '../../../f-storage';
7
6
  import { debounceTime, FChannelHub, notifyOnStart } from '../../../reactivity';
8
7
  import { FResizeChannel } from '../../../reactivity';
9
- import { RectExtensions } from '@foblex/2d';
10
- import { FitToChildNodesAndGroupsRequest } from "../fit-to-child-nodes-and-groups";
11
- import { IsDragStartedRequest } from "../../f-draggable";
8
+ import { FitToChildNodesAndGroupsRequest } from '../fit-to-child-nodes-and-groups';
9
+ import { IsDragStartedRequest } from '../../f-draggable';
10
+ import { CalculateNodeConnectorsConnectableSidesRequest } from '../calculate-node-connectors-connectable-sides';
12
11
  import * as i0 from "@angular/core";
13
12
  /**
14
13
  * Execution that updates a node's connectors when its state or size changes.
15
14
  */
16
15
  let UpdateNodeWhenStateOrSizeChanged = class UpdateNodeWhenStateOrSizeChanged {
17
16
  _mediator = inject(FMediator);
18
- _store = inject(FComponentsStore);
19
17
  /**
20
18
  * Handles the request to update the node's connectors based on state or size changes.
21
19
  * It listens for resize events and recalculates the connectable sides of the connectors.
22
20
  * @param request
23
21
  */
24
22
  handle({ nodeOrGroup, destroyRef }) {
25
- const { hostElement, connectors, stateChanges } = nodeOrGroup;
26
- new FChannelHub(new FResizeChannel(hostElement), stateChanges).pipe(notifyOnStart(), debounceTime(10)).listen(destroyRef, () => {
27
- this._calculateConnectorsConnectableSide(connectors, hostElement);
23
+ const { hostElement, stateChanges } = nodeOrGroup;
24
+ new FChannelHub(new FResizeChannel(hostElement), stateChanges)
25
+ .pipe(notifyOnStart(), debounceTime(10))
26
+ .listen(destroyRef, () => {
28
27
  this._mediator.execute(new NotifyDataChangedRequest());
29
28
  if (!this._isDragging()) {
29
+ this._mediator.execute(new CalculateNodeConnectorsConnectableSidesRequest(nodeOrGroup));
30
30
  this._mediator.execute(new FitToChildNodesAndGroupsRequest(nodeOrGroup));
31
31
  }
32
32
  });
33
33
  }
34
- /**
35
- * Calculates the connectable side for each connector based on its position relative to the node host.
36
- * @param fConnectors
37
- * @param fNodeHost
38
- * @private
39
- */
40
- _calculateConnectorsConnectableSide(fConnectors, fNodeHost) {
41
- fConnectors.forEach((x) => {
42
- x.fConnectableSide = this._calculateConnectorConnectableSide(x, fNodeHost);
43
- });
44
- }
45
- /**
46
- * Calculates the connectable side of a connector based on its user-defined side or its position relative to the node host.
47
- * @param fConnector
48
- * @param fNodeHost
49
- * @returns {EFConnectableSide}
50
- * @private
51
- */
52
- _calculateConnectorConnectableSide(fConnector, fNodeHost) {
53
- let result;
54
- if (fConnector.userFConnectableSide === EFConnectableSide.AUTO) {
55
- result = this._getSideByDelta(fConnector.hostElement, fNodeHost);
56
- }
57
- else {
58
- result = fConnector.userFConnectableSide;
59
- }
60
- return result;
61
- }
62
- /**
63
- * Determines the side of the connector relative to the node host based on the minimum distance.
64
- * @param fConnectorHost
65
- * @param fNodeHost
66
- * @private
67
- */
68
- _getSideByDelta(fConnectorHost, fNodeHost) {
69
- let result;
70
- const childRect = RectExtensions.fromElement(fConnectorHost);
71
- const parentRect = fNodeHost.getBoundingClientRect();
72
- const deltaLeft = childRect.gravityCenter.x - parentRect.left;
73
- const deltaRight = parentRect.right - childRect.gravityCenter.x;
74
- const deltaTop = childRect.gravityCenter.y - parentRect.top;
75
- const deltaBottom = parentRect.bottom - childRect.gravityCenter.y;
76
- const minDelta = Math.min(deltaLeft, deltaRight, deltaTop, deltaBottom);
77
- if (minDelta === deltaLeft) {
78
- result = EFConnectableSide.LEFT;
79
- }
80
- else if (minDelta === deltaRight) {
81
- result = EFConnectableSide.RIGHT;
82
- }
83
- else if (minDelta === deltaTop) {
84
- result = EFConnectableSide.TOP;
85
- }
86
- else {
87
- result = EFConnectableSide.BOTTOM;
88
- }
89
- return result;
90
- }
91
34
  _isDragging() {
92
35
  return this._mediator.execute(new IsDragStartedRequest());
93
36
  }
@@ -101,4 +44,4 @@ export { UpdateNodeWhenStateOrSizeChanged };
101
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateNodeWhenStateOrSizeChanged, decorators: [{
102
45
  type: Injectable
103
46
  }] });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvdXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQvdXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsaUJBQWlCLEVBQWtCLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEYsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBRXpEOztHQUVHO0FBR0ksSUFBTSxnQ0FBZ0MsR0FBdEMsTUFBTSxnQ0FBZ0M7SUFHMUIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFbkQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FB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Q0FBQztRQUNqQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7UUFDcEMsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQzt3R0E1RlUsZ0NBQWdDOzRHQUFoQyxnQ0FBZ0M7O0FBQWhDLGdDQUFnQztJQUQ1QyxrQkFBa0IsQ0FBQyx1Q0FBdUMsQ0FBQztHQUMvQyxnQ0FBZ0MsQ0E2RjVDOzs0RkE3RlksZ0NBQWdDO2tCQUY1QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRSZXF1ZXN0IH0gZnJvbSAnLi91cGRhdGUtbm9kZS13aGVuLXN0YXRlLW9yLXNpemUtY2hhbmdlZC1yZXF1ZXN0JztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlLCBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uLy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlLCBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBGQ2hhbm5lbEh1Yiwgbm90aWZ5T25TdGFydCB9IGZyb20gJy4uLy4uLy4uL3JlYWN0aXZpdHknO1xuaW1wb3J0IHsgRlJlc2l6ZUNoYW5uZWwgfSBmcm9tICcuLi8uLi8uLi9yZWFjdGl2aXR5JztcbmltcG9ydCB7IFJlY3RFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGaXRUb0NoaWxkTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSBcIi4uL2ZpdC10by1jaGlsZC1ub2Rlcy1hbmQtZ3JvdXBzXCI7XG5pbXBvcnQgeyBJc0RyYWdTdGFydGVkUmVxdWVzdCB9IGZyb20gXCIuLi8uLi9mLWRyYWdnYWJsZVwiO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IHVwZGF0ZXMgYSBub2RlJ3MgY29ubmVjdG9ycyB3aGVuIGl0cyBzdGF0ZSBvciBzaXplIGNoYW5nZXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFVwZGF0ZU5vZGVXaGVuU3RhdGVPclNpemVDaGFuZ2VkXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgcmVxdWVzdCB0byB1cGRhdGUgdGhlIG5vZGUncyBjb25uZWN0b3JzIGJhc2VkIG9uIHN0YXRlIG9yIHNpemUgY2hhbmdlcy5cbiAgICogSXQgbGlzdGVucyBmb3IgcmVzaXplIGV2ZW50cyBhbmQgcmVjYWxjdWxhdGVzIHRoZSBjb25uZWN0YWJsZSBzaWRlcyBvZiB0aGUgY29ubmVjdG9ycy5cbiAgICogQHBhcmFtIHJlcXVlc3RcbiAgICovXG4gIHB1YmxpYyBoYW5kbGUoeyBub2RlT3JHcm91cCwgZGVzdHJveVJlZiB9OiBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCB7IGhvc3RFbGVtZW50LCBjb25uZWN0b3JzLCBzdGF0ZUNoYW5nZXMgfSA9IG5vZGVPckdyb3VwO1xuXG4gICAgbmV3IEZDaGFubmVsSHViKFxuICAgICAgbmV3IEZSZXNpemVDaGFubmVsKGhvc3RFbGVtZW50KSxcbiAgICAgIHN0YXRlQ2hhbmdlcyxcbiAgICApLnBpcGUobm90aWZ5T25TdGFydCgpLCBkZWJvdW5jZVRpbWUoMTApKS5saXN0ZW4oZGVzdHJveVJlZiwgKCkgPT4ge1xuICAgICAgdGhpcy5fY2FsY3VsYXRlQ29ubmVjdG9yc0Nvbm5lY3RhYmxlU2lkZShjb25uZWN0b3JzLCBob3N0RWxlbWVudCk7XG4gICAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QoKSk7XG5cbiAgICAgIGlmICghdGhpcy5faXNEcmFnZ2luZygpKSB7XG4gICAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4obmV3IEZpdFRvQ2hpbGROb2Rlc0FuZEdyb3Vwc1JlcXVlc3Qobm9kZU9yR3JvdXApKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBjb25uZWN0YWJsZSBzaWRlIGZvciBlYWNoIGNvbm5lY3RvciBiYXNlZCBvbiBpdHMgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIG5vZGUgaG9zdC5cbiAgICogQHBhcmFtIGZDb25uZWN0b3JzXG4gICAqIEBwYXJhbSBmTm9kZUhvc3RcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUNvbm5lY3RvcnNDb25uZWN0YWJsZVNpZGUoZkNvbm5lY3RvcnM6IEZDb25uZWN0b3JCYXNlW10sIGZOb2RlSG9zdDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogdm9pZCB7XG4gICAgZkNvbm5lY3RvcnMuZm9yRWFjaCgoeDogRkNvbm5lY3RvckJhc2UpID0+IHtcbiAgICAgIHguZkNvbm5lY3RhYmxlU2lkZSA9IHRoaXMuX2NhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZSh4LCBmTm9kZUhvc3QpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgdGhlIGNvbm5lY3RhYmxlIHNpZGUgb2YgYSBjb25uZWN0b3IgYmFzZWQgb24gaXRzIHVzZXItZGVmaW5lZCBzaWRlIG9yIGl0cyBwb3NpdGlvbiByZWxhdGl2ZSB0byB0aGUgbm9kZSBob3N0LlxuICAgKiBAcGFyYW0gZkNvbm5lY3RvclxuICAgKiBAcGFyYW0gZk5vZGVIb3N0XG4gICAqIEByZXR1cm5zIHtFRkNvbm5lY3RhYmxlU2lkZX1cbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgX2NhbGN1bGF0ZUNvbm5lY3RvckNvbm5lY3RhYmxlU2lkZShmQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSwgZk5vZGVIb3N0OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBFRkNvbm5lY3RhYmxlU2lkZSB7XG4gICAgbGV0IHJlc3VsdDogRUZDb25uZWN0YWJsZVNpZGUgfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAoZkNvbm5lY3Rvci51c2VyRkNvbm5lY3RhYmxlU2lkZSA9PT0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTykge1xuICAgICAgcmVzdWx0ID0gdGhpcy5fZ2V0U2lkZUJ5RGVsdGEoZkNvbm5lY3Rvci5ob3N0RWxlbWVudCwgZk5vZGVIb3N0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gZkNvbm5lY3Rvci51c2VyRkNvbm5lY3RhYmxlU2lkZTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgdGhlIHNpZGUgb2YgdGhlIGNvbm5lY3RvciByZWxhdGl2ZSB0byB0aGUgbm9kZSBob3N0IGJhc2VkIG9uIHRoZSBtaW5pbXVtIGRpc3RhbmNlLlxuICAgKiBAcGFyYW0gZkNvbm5lY3Rvckhvc3RcbiAgICogQHBhcmFtIGZOb2RlSG9zdFxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBfZ2V0U2lkZUJ5RGVsdGEoZkNvbm5lY3Rvckhvc3Q6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCwgZk5vZGVIb3N0OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBFRkNvbm5lY3RhYmxlU2lkZSB7XG4gICAgbGV0IHJlc3VsdDogRUZDb25uZWN0YWJsZVNpZGUgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBjaGlsZFJlY3QgPSBSZWN0RXh0ZW5zaW9ucy5mcm9tRWxlbWVudChmQ29ubmVjdG9ySG9zdCk7XG4gICAgY29uc3QgcGFyZW50UmVjdCA9IGZOb2RlSG9zdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIGNvbnN0IGRlbHRhTGVmdCA9IGNoaWxkUmVjdC5ncmF2aXR5Q2VudGVyLnggLSBwYXJlbnRSZWN0LmxlZnQ7XG4gICAgY29uc3QgZGVsdGFSaWdodCA9IHBhcmVudFJlY3QucmlnaHQgLSBjaGlsZFJlY3QuZ3Jhdml0eUNlbnRlci54O1xuICAgIGNvbnN0IGRlbHRhVG9wID0gY2hpbGRSZWN0LmdyYXZpdHlDZW50ZXIueSAtIHBhcmVudFJlY3QudG9wO1xuICAgIGNvbnN0IGRlbHRhQm90dG9tID0gcGFyZW50UmVjdC5ib3R0b20gLSBjaGlsZFJlY3QuZ3Jhdml0eUNlbnRlci55O1xuXG4gICAgY29uc3QgbWluRGVsdGEgPSBNYXRoLm1pbihkZWx0YUxlZnQsIGRlbHRhUmlnaHQsIGRlbHRhVG9wLCBkZWx0YUJvdHRvbSk7XG5cbiAgICBpZiAobWluRGVsdGEgPT09IGRlbHRhTGVmdCkge1xuICAgICAgcmVzdWx0ID0gRUZDb25uZWN0YWJsZVNpZGUuTEVGVDtcbiAgICB9IGVsc2UgaWYgKG1pbkRlbHRhID09PSBkZWx0YVJpZ2h0KSB7XG4gICAgICByZXN1bHQgPSBFRkNvbm5lY3RhYmxlU2lkZS5SSUdIVDtcbiAgICB9IGVsc2UgaWYgKG1pbkRlbHRhID09PSBkZWx0YVRvcCkge1xuICAgICAgcmVzdWx0ID0gRUZDb25uZWN0YWJsZVNpZGUuVE9QO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBFRkNvbm5lY3RhYmxlU2lkZS5CT1RUT007XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgX2lzRHJhZ2dpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IElzRHJhZ1N0YXJ0ZWRSZXF1ZXN0KCkpO1xuICB9XG59XG5cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLW5vZGUvdXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQvdXBkYXRlLW5vZGUtd2hlbi1zdGF0ZS1vci1zaXplLWNoYW5nZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLE1BQU0sZ0RBQWdELENBQUM7O0FBRWhIOztHQUVHO0FBR0ksSUFBTSxnQ0FBZ0MsR0FBdEMsTUFBTSxnQ0FBZ0M7SUFHMUIsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUvQzs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBMkM7UUFDaEYsTUFBTSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFFbEQsSUFBSSxXQUFXLENBQUMsSUFBSSxjQUFjLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWSxDQUFDO2FBQzNELElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdkMsTUFBTSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQU8sSUFBSSx3QkFBd0IsRUFBRSxDQUFDLENBQUM7WUFFN0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDcEIsSUFBSSw4Q0FBOEMsQ0FBQyxXQUFXLENBQUMsQ0FDaEUsQ0FBQztnQkFFRixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBTyxJQUFJLCtCQUErQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDakYsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO3dHQTlCVSxnQ0FBZ0M7NEdBQWhDLGdDQUFnQzs7QUFBaEMsZ0NBQWdDO0lBRDVDLGtCQUFrQixDQUFDLHVDQUF1QyxDQUFDO0dBQy9DLGdDQUFnQyxDQStCNUM7OzRGQS9CWSxnQ0FBZ0M7a0JBRjVDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QgfSBmcm9tICcuL3VwZGF0ZS1ub2RlLXdoZW4tc3RhdGUtb3Itc2l6ZS1jaGFuZ2VkLXJlcXVlc3QnO1xuaW1wb3J0IHsgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgRkNoYW5uZWxIdWIsIG5vdGlmeU9uU3RhcnQgfSBmcm9tICcuLi8uLi8uLi9yZWFjdGl2aXR5JztcbmltcG9ydCB7IEZSZXNpemVDaGFubmVsIH0gZnJvbSAnLi4vLi4vLi4vcmVhY3Rpdml0eSc7XG5pbXBvcnQgeyBGaXRUb0NoaWxkTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSAnLi4vZml0LXRvLWNoaWxkLW5vZGVzLWFuZC1ncm91cHMnO1xuaW1wb3J0IHsgSXNEcmFnU3RhcnRlZFJlcXVlc3QgfSBmcm9tICcuLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBDYWxjdWxhdGVOb2RlQ29ubmVjdG9yc0Nvbm5lY3RhYmxlU2lkZXNSZXF1ZXN0IH0gZnJvbSAnLi4vY2FsY3VsYXRlLW5vZGUtY29ubmVjdG9ycy1jb25uZWN0YWJsZS1zaWRlcyc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgdXBkYXRlcyBhIG5vZGUncyBjb25uZWN0b3JzIHdoZW4gaXRzIHN0YXRlIG9yIHNpemUgY2hhbmdlcy5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgVXBkYXRlTm9kZVdoZW5TdGF0ZU9yU2l6ZUNoYW5nZWRcbiAgaW1wbGVtZW50cyBJRXhlY3V0aW9uPFVwZGF0ZU5vZGVXaGVuU3RhdGVPclNpemVDaGFuZ2VkUmVxdWVzdCwgdm9pZD5cbntcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgcmVxdWVzdCB0byB1cGRhdGUgdGhlIG5vZGUncyBjb25uZWN0b3JzIGJhc2VkIG9uIHN0YXRlIG9yIHNpemUgY2hhbmdlcy5cbiAgICogSXQgbGlzdGVucyBmb3IgcmVzaXplIGV2ZW50cyBhbmQgcmVjYWxjdWxhdGVzIHRoZSBjb25uZWN0YWJsZSBzaWRlcyBvZiB0aGUgY29ubmVjdG9ycy5cbiAgICogQHBhcmFtIHJlcXVlc3RcbiAgICovXG4gIHB1YmxpYyBoYW5kbGUoeyBub2RlT3JHcm91cCwgZGVzdHJveVJlZiB9OiBVcGRhdGVOb2RlV2hlblN0YXRlT3JTaXplQ2hhbmdlZFJlcXVlc3QpOiB2b2lkIHtcbiAgICBjb25zdCB7IGhvc3RFbGVtZW50LCBzdGF0ZUNoYW5nZXMgfSA9IG5vZGVPckdyb3VwO1xuXG4gICAgbmV3IEZDaGFubmVsSHViKG5ldyBGUmVzaXplQ2hhbm5lbChob3N0RWxlbWVudCksIHN0YXRlQ2hhbmdlcylcbiAgICAgIC5waXBlKG5vdGlmeU9uU3RhcnQoKSwgZGVib3VuY2VUaW1lKDEwKSlcbiAgICAgIC5saXN0ZW4oZGVzdHJveVJlZiwgKCkgPT4ge1xuICAgICAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QoKSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLl9pc0RyYWdnaW5nKCkpIHtcbiAgICAgICAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgICAgICAgbmV3IENhbGN1bGF0ZU5vZGVDb25uZWN0b3JzQ29ubmVjdGFibGVTaWRlc1JlcXVlc3Qobm9kZU9yR3JvdXApLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBGaXRUb0NoaWxkTm9kZXNBbmRHcm91cHNSZXF1ZXN0KG5vZGVPckdyb3VwKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNEcmFnZ2luZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSXNEcmFnU3RhcnRlZFJlcXVlc3QoKSk7XG4gIH1cbn1cbiJdfQ==
@@ -4,6 +4,9 @@ export var EFConnectableSide;
4
4
  EFConnectableSide["TOP"] = "top";
5
5
  EFConnectableSide["RIGHT"] = "right";
6
6
  EFConnectableSide["BOTTOM"] = "bottom";
7
+ EFConnectableSide["CALCULATE"] = "calculate";
8
+ EFConnectableSide["CALCULATE_HORIZONTAL"] = "calculate_horizontal";
9
+ EFConnectableSide["CALCULATE_VERTICAL"] = "calculate_vertical";
7
10
  EFConnectableSide["AUTO"] = "auto";
8
11
  })(EFConnectableSide || (EFConnectableSide = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3RhYmxlLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9lLWYtY29ubmVjdGFibGUtc2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFXWDtBQVhELFdBQVksaUJBQWlCO0lBRTNCLGtDQUFhLENBQUE7SUFFYixnQ0FBVyxDQUFBO0lBRVgsb0NBQWUsQ0FBQTtJQUVmLHNDQUFpQixDQUFBO0lBRWpCLGtDQUFhLENBQUE7QUFDZixDQUFDLEVBWFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVc1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVGQ29ubmVjdGFibGVTaWRlIHtcblxuICBMRUZUID0gJ2xlZnQnLFxuXG4gIFRPUCA9ICd0b3AnLFxuXG4gIFJJR0hUID0gJ3JpZ2h0JyxcblxuICBCT1RUT00gPSAnYm90dG9tJyxcblxuICBBVVRPID0gJ2F1dG8nLFxufVxuIl19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZS1mLWNvbm5lY3RhYmxlLXNpZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9lLWYtY29ubmVjdGFibGUtc2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxpQkFnQlg7QUFoQkQsV0FBWSxpQkFBaUI7SUFDM0Isa0NBQWEsQ0FBQTtJQUViLGdDQUFXLENBQUE7SUFFWCxvQ0FBZSxDQUFBO0lBRWYsc0NBQWlCLENBQUE7SUFFakIsNENBQXVCLENBQUE7SUFFdkIsa0VBQTZDLENBQUE7SUFFN0MsOERBQXlDLENBQUE7SUFFekMsa0NBQWEsQ0FBQTtBQUNmLENBQUMsRUFoQlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQWdCNUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBFRkNvbm5lY3RhYmxlU2lkZSB7XG4gIExFRlQgPSAnbGVmdCcsXG5cbiAgVE9QID0gJ3RvcCcsXG5cbiAgUklHSFQgPSAncmlnaHQnLFxuXG4gIEJPVFRPTSA9ICdib3R0b20nLFxuXG4gIENBTENVTEFURSA9ICdjYWxjdWxhdGUnLFxuXG4gIENBTENVTEFURV9IT1JJWk9OVEFMID0gJ2NhbGN1bGF0ZV9ob3Jpem9udGFsJyxcblxuICBDQUxDVUxBVEVfVkVSVElDQUwgPSAnY2FsY3VsYXRlX3ZlcnRpY2FsJyxcblxuICBBVVRPID0gJ2F1dG8nLFxufVxuIl19
@@ -20,4 +20,4 @@ export class FConnectorBase {
20
20
  this.toConnector = [];
21
21
  }
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0b3ItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2YtY29ubmVjdG9yLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJM0QsTUFBTSxPQUFnQixjQUFjO0lBVzFCLFlBQVksR0FBWSxLQUFLLENBQUM7SUFFdEMsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRU0sV0FBVyxHQUFxQixFQUFFLENBQUM7SUFFbkMsaUJBQWlCLEdBQVksSUFBSSxDQUFDO0lBRWxDLGdCQUFnQixHQUFzQixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFFN0Qsb0JBQW9CLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUVqRSxVQUFVLENBQUMsT0FBaUM7UUFDakQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sWUFBWSxDQUFDLFdBQTJCO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi9lLWYtY29ubmVjdGFibGUtc2lkZSc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ29ubmVjdG9yQmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG4gIHB1YmxpYyBhYnN0cmFjdCBmSWQ6IFNpZ25hbDxzdHJpbmc+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmTm9kZUlkOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGRpc2FibGVkOiBTaWduYWw8Ym9vbGVhbj47XG5cbiAgcHVibGljIGFic3RyYWN0IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGNhbkJlQ29ubmVjdGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgX2lzQ29ubmVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBpc0Nvbm5lY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNDb25uZWN0ZWQ7XG4gIH1cblxuICBwdWJsaWMgdG9Db25uZWN0b3I6IEZDb25uZWN0b3JCYXNlW10gPSBbXTtcblxuICBwdWJsaWMgaXNTZWxmQ29ubmVjdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyBmQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIHVzZXJGQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIGlzQ29udGFpbnMoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdEVsZW1lbnQuY29udGFpbnMoZWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29ubmVjdGVkKHRvQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIHRoaXMuX2lzQ29ubmVjdGVkID0gdHJ1ZTtcbiAgICB0aGlzLnRvQ29ubmVjdG9yLnB1c2godG9Db25uZWN0b3IpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0Q29ubmVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuX2lzQ29ubmVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy50b0Nvbm5lY3RvciA9IFtdO1xuICB9XG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0b3ItYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2YtY29ubmVjdG9yLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJM0QsTUFBTSxPQUFnQixjQUFjO0lBYTFCLFlBQVksR0FBWSxLQUFLLENBQUM7SUFFdEMsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRU0sV0FBVyxHQUFxQixFQUFFLENBQUM7SUFFbkMsaUJBQWlCLEdBQVksSUFBSSxDQUFDO0lBRWxDLGdCQUFnQixHQUFzQixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFFN0Qsb0JBQW9CLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUVqRSxVQUFVLENBQUMsT0FBaUM7UUFDakQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sWUFBWSxDQUFDLFdBQTJCO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi9lLWYtY29ubmVjdGFibGUtc2lkZSc7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ29ubmVjdG9yQmFzZSBpbXBsZW1lbnRzIElIYXNIb3N0RWxlbWVudCB7XG4gIHB1YmxpYyBhYnN0cmFjdCBmSWQ6IFNpZ25hbDxzdHJpbmc+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmTm9kZUlkOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZOb2RlSG9zdDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBkaXNhYmxlZDogU2lnbmFsPGJvb2xlYW4+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBjYW5CZUNvbm5lY3RlZDogYm9vbGVhbjtcblxuICBwcml2YXRlIF9pc0Nvbm5lY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgaXNDb25uZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzQ29ubmVjdGVkO1xuICB9XG5cbiAgcHVibGljIHRvQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZVtdID0gW107XG5cbiAgcHVibGljIGlzU2VsZkNvbm5lY3RhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgZkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIHB1YmxpYyB1c2VyRkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIHB1YmxpYyBpc0NvbnRhaW5zKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHNldENvbm5lY3RlZCh0b0Nvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkIHtcbiAgICB0aGlzLl9pc0Nvbm5lY3RlZCA9IHRydWU7XG4gICAgdGhpcy50b0Nvbm5lY3Rvci5wdXNoKHRvQ29ubmVjdG9yKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMudG9Db25uZWN0b3IgPSBbXTtcbiAgfVxufVxuIl19
@@ -32,6 +32,9 @@ export class FNodeInputDirective extends FNodeInputBase {
32
32
  get fNodeId() {
33
33
  return this._node.fId();
34
34
  }
35
+ get fNodeHost() {
36
+ return this._node.hostElement;
37
+ }
35
38
  ngOnInit() {
36
39
  this._mediator.execute(new AddInputToStoreRequest(this));
37
40
  this._node.addConnector(this);
@@ -78,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
78
81
  transform: (value) => castToEnum(value, 'fInputConnectableSide', EFConnectableSide),
79
82
  }]
80
83
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2Ytbm9kZS1pbnB1dC9mLW5vZGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVoRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUU5QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFhakIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7SUFDckMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFOUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhCLEdBQUcsR0FBRyxLQUFLLENBQWtCLGdCQUFnQixRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQ3pFLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFNBQVMsRUFBRSxD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O29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLHFCQUFxQixFQUFFLENBQUM7aUJBQ3pFOzhCQStCaUIsb0JBQW9CO3NCQUpuQyxLQUFLO3VCQUFDO3dCQUNMLEtBQUssRUFBRSx1QkFBdUI7d0JBQzlCLFNBQVMsRUFBRSxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsQ0FBQztxQkFDN0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfTk9ERV9JTlBVVCwgRk5vZGVJbnB1dEJhc2UgfSBmcm9tICcuL2Ytbm9kZS1pbnB1dC1iYXNlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3RhYmxlLXNpZGUnO1xuaW1wb3J0IHsgRl9OT0RFIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQWRkSW5wdXRUb1N0b3JlUmVxdWVzdCwgRl9DU1NfQ0xBU1MsIFJlbW92ZUlucHV0RnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdG9yLWJhc2UnO1xuaW1wb3J0IHsgc3RyaW5nQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZk5vZGVJbnB1dF0nLFxuICBleHBvcnRBczogJ2ZOb2RlSW5wdXQnLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtZi1pbnB1dC1pZF0nOiAnZklkKCknLFxuICAgIGNsYXNzOiAnZi1jb21wb25lbnQgZi1ub2RlLWlucHV0JyxcbiAgICAnW2NsYXNzLmYtbm9kZS1pbnB1dC1tdWx0aXBsZV0nOiAnbXVsdGlwbGUnLFxuICAgICdbY2xhc3MuZi1ub2RlLWlucHV0LWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGX05PREVfSU5QVVQsIHVzZUV4aXN0aW5nOiBGTm9kZUlucHV0RGlyZWN0aXZlIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBGTm9kZUlucHV0RGlyZWN0aXZlIGV4dGVuZHMgRk5vZGVJbnB1dEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm9kZSA9IGluamVjdChGX05PREUpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQgPSBpbnB1dDxzdHJpbmcsIHVua25vd24+KGBmLW5vZGUtaW5wdXQtJHt1bmlxdWVJZCsrfWAsIHtcbiAgICBhbGlhczogJ2ZJbnB1dElkJyxcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gc3RyaW5nQXR0cmlidXRlKHZhbHVlKSB8fCBgZi1ub2RlLWlucHV0LSR7dW5pcXVlSWQrK31gLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgY2F0ZWdvcnkgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQsIHVua25vd24+KHVuZGVmaW5lZCwge1xuICAgIGFsaWFzOiAnZklucHV0Q2F0ZWdvcnknLFxuICAgIHRyYW5zZm9ybTogc3RyaW5nQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgbXVsdGlwbGUgPSBpbnB1dDxib29sZWFuLCB1bmtub3duPih0cnVlLCB7XG4gICAgYWxpYXM6ICdmSW5wdXRNdWx0aXBsZScsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCB1bmtub3duPihmYWxzZSwge1xuICAgIGFsaWFzOiAnZklucHV0RGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgQElucHV0KHtcbiAgICBhbGlhczogJ2ZJbnB1dENvbm5lY3RhYmxlU2lkZScsXG4gICAgdHJhbnNmb3JtOiAodmFsdWU6IHVua25vd24pID0+IGNhc3RUb0VudW0odmFsdWUsICdmSW5wdXRDb25uZWN0YWJsZVNpZGUnLCBFRkNvbm5lY3RhYmxlU2lkZSksXG4gIH0pXG4gIHB1YmxpYyBvdmVycmlkZSB1c2VyRkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk5vZGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9ub2RlLmZJZCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZElucHV0VG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICAgIHRoaXMuX25vZGUuYWRkQ29ubmVjdG9yKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sndXNlckZDb25uZWN0YWJsZVNpZGUnXSkge1xuICAgICAgdGhpcy5fbm9kZS5yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldENvbm5lY3RlZCh0b0Nvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRDb25uZWN0ZWQodG9Db25uZWN0b3IpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShGX0NTU19DTEFTUy5DT05ORUNUT1IuSU5QVVRfQ09OTkVDVEVELCB0cnVlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICBGX0NTU19DTEFTUy5DT05ORUNUT1IuSU5QVVRfTk9UX0NPTk5FQ1RBQkxFLFxuICAgICAgIXRoaXMuY2FuQmVDb25uZWN0ZWQsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXNldENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBzdXBlci5yZXNldENvbm5lY3RlZCgpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShGX0NTU19DTEFTUy5DT05ORUNUT1IuSU5QVVRfQ09OTkVDVEVELCBmYWxzZSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFxuICAgICAgRl9DU1NfQ0xBU1MuQ09OTkVDVE9SLklOUFVUX05PVF9DT05ORUNUQUJMRSxcbiAgICAgICF0aGlzLmNhbkJlQ29ubmVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbm9kZS5yZW1vdmVDb25uZWN0b3IodGhpcyk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlSW5wdXRGcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLWlucHV0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0b3JzL2Ytbm9kZS1pbnB1dC9mLW5vZGUtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVoRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUU5QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFhakIsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGNBQWM7SUFDckMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFOUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhCLEdBQUcsR0FBRyxLQUFLLENBQWtCLGdCQUFnQixRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQ3pFLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFNBQVMsRUFBRSxD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SyxFQUFFLDBCQUEwQjt3QkFDakMsK0JBQStCLEVBQUUsVUFBVTt3QkFDM0MsK0JBQStCLEVBQUUsWUFBWTtxQkFDOUM7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcscUJBQXFCLEVBQUUsQ0FBQztpQkFDekU7OEJBK0JpQixvQkFBb0I7c0JBSm5DLEtBQUs7dUJBQUM7d0JBQ0wsS0FBSyxFQUFFLHVCQUF1Qjt3QkFDOUIsU0FBUyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixDQUFDO3FCQUM3RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9OT0RFX0lOUFVULCBGTm9kZUlucHV0QmFzZSB9IGZyb20gJy4vZi1ub2RlLWlucHV0LWJhc2UnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi9lLWYtY29ubmVjdGFibGUtc2lkZSc7XG5pbXBvcnQgeyBGX05PREUgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgY2FzdFRvRW51bSB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBBZGRJbnB1dFRvU3RvcmVSZXF1ZXN0LCBGX0NTU19DTEFTUywgUmVtb3ZlSW5wdXRGcm9tU3RvcmVSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEZDb25uZWN0b3JCYXNlIH0gZnJvbSAnLi4vZi1jb25uZWN0b3ItYmFzZSc7XG5pbXBvcnQgeyBzdHJpbmdBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmTm9kZUlucHV0XScsXG4gIGV4cG9ydEFzOiAnZk5vZGVJbnB1dCcsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1mLWlucHV0LWlkXSc6ICdmSWQoKScsXG4gICAgY2xhc3M6ICdmLWNvbXBvbmVudCBmLW5vZGUtaW5wdXQnLFxuICAgICdbY2xhc3MuZi1ub2RlLWlucHV0LW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgJ1tjbGFzcy5mLW5vZGUtaW5wdXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfTk9ERV9JTlBVVCwgdXNlRXhpc3Rpbmc6IEZOb2RlSW5wdXREaXJlY3RpdmUgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlSW5wdXREaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZUlucHV0QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcmVhZG9ubHkgaG9zdEVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlID0gaW5qZWN0KEZfTk9ERSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZJZCA9IGlucHV0PHN0cmluZywgdW5rbm93bj4oYGYtbm9kZS1pbnB1dC0ke3VuaXF1ZUlkKyt9YCwge1xuICAgIGFsaWFzOiAnZklucHV0SWQnLFxuICAgIHRyYW5zZm9ybTogKHZhbHVlKSA9PiBzdHJpbmdBdHRyaWJ1dGUodmFsdWUpIHx8IGBmLW5vZGUtaW5wdXQtJHt1bmlxdWVJZCsrfWAsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjYXRlZ29yeSA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZCwgdW5rbm93bj4odW5kZWZpbmVkLCB7XG4gICAgYWxpYXM6ICdmSW5wdXRDYXRlZ29yeScsXG4gICAgdHJhbnNmb3JtOiBzdHJpbmdBdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBtdWx0aXBsZSA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KHRydWUsIHtcbiAgICBhbGlhczogJ2ZJbnB1dE11bHRpcGxlJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdmSW5wdXREaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBASW5wdXQoe1xuICAgIGFsaWFzOiAnZklucHV0Q29ubmVjdGFibGVTaWRlJyxcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZJbnB1dENvbm5lY3RhYmxlU2lkZScsIEVGQ29ubmVjdGFibGVTaWRlKSxcbiAgfSlcbiAgcHVibGljIG92ZXJyaWRlIHVzZXJGQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmTm9kZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGUuZklkKCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZOb2RlSG9zdCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9ub2RlLmhvc3RFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZElucHV0VG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICAgIHRoaXMuX25vZGUuYWRkQ29ubmVjdG9yKHRoaXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1sndXNlckZDb25uZWN0YWJsZVNpZGUnXSkge1xuICAgICAgdGhpcy5fbm9kZS5yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHNldENvbm5lY3RlZCh0b0Nvbm5lY3RvcjogRkNvbm5lY3RvckJhc2UpOiB2b2lkIHtcbiAgICBzdXBlci5zZXRDb25uZWN0ZWQodG9Db25uZWN0b3IpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShGX0NTU19DTEFTUy5DT05ORUNUT1IuSU5QVVRfQ09OTkVDVEVELCB0cnVlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICBGX0NTU19DTEFTUy5DT05ORUNUT1IuSU5QVVRfTk9UX0NPTk5FQ1RBQkxFLFxuICAgICAgIXRoaXMuY2FuQmVDb25uZWN0ZWQsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSByZXNldENvbm5lY3RlZCgpOiB2b2lkIHtcbiAgICBzdXBlci5yZXNldENvbm5lY3RlZCgpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShGX0NTU19DTEFTUy5DT05ORUNUT1IuSU5QVVRfQ09OTkVDVEVELCBmYWxzZSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFxuICAgICAgRl9DU1NfQ0xBU1MuQ09OTkVDVE9SLklOUFVUX05PVF9DT05ORUNUQUJMRSxcbiAgICAgICF0aGlzLmNhbkJlQ29ubmVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbm9kZS5yZW1vdmVDb25uZWN0b3IodGhpcyk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlSW5wdXRGcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIl19
@@ -26,6 +26,9 @@ export class FNodeOutletDirective extends FNodeOutletBase {
26
26
  get fNodeId() {
27
27
  return this._node.fId();
28
28
  }
29
+ get fNodeHost() {
30
+ return this._node.hostElement;
31
+ }
29
32
  ngOnInit() {
30
33
  this._mediator.execute(new AddOutletToStoreRequest(this));
31
34
  }
@@ -53,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
53
56
  type: Input,
54
57
  args: [{ alias: 'fCanBeConnectedInputs' }]
55
58
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dGxldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0bGV0L2Ytbm9kZS1vdXRsZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUU5QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFZakIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFOUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhCLEdBQUcsR0FBRyxLQUFLLENBQWtCLGlCQUFpQixRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQzFFLEtBQUssRUFBRSxXQUFXO1FBQ2xCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixRQUFRLEVBQUUsRUFBRTtLQUM5RSxDQUFDLENBQUM7SUFFYSxRQUFRLEdBQUcsS0FBSyxDQUFtQixLQUFLLEVBQUU7UUFDeEQsS0FBSyxFQUFFLGlCQUFpQjtRQUN4QixTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCLENBQUMsQ0FBQztJQUVhLGdCQUFnQixHQUFzQixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFFN0Qsb0JBQW9CLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUdqRSxzQkFBc0IsR0FBWSxLQUFLLENBQUM7SUFHeEMsb0JBQW9CLEdBQWEsRUFBRSxDQUFDO0lBRXBELElBQW9CLE9BQU87UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO3dHQXBDVSxvQkFBb0I7NEZBQXBCLG9CQUFvQiw4eEJBRnBCLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxDQUFDOzs0RkFFL0Qsb0JBQW9CO2tCQVZoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtvQkFDdkIsSUFBSSxFQUFFO3dCQUNKLHlCQUF5QixFQUFFLE9BQU87d0JBQ2xDLEtBQUssRUFBRSwyQkFBMkI7d0JBQ2xDLGdDQUFnQyxFQUFFLFlBQVk7cUJBQy9DO29CQUNELFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLHNCQUFzQixFQUFFLENBQUM7aUJBQzNFOzhCQXNCaUIsc0JBQXNCO3NCQURyQyxLQUFLO2dCQUlVLG9CQUFvQjtzQkFEbkMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfTk9ERV9PVVRMRVQsIEZOb2RlT3V0bGV0QmFzZSB9IGZyb20gJy4vZi1ub2RlLW91dGxldC1iYXNlJztcbmltcG9ydCB7IEZfTk9ERSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL2UtZi1jb25uZWN0YWJsZS1zaWRlJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQWRkT3V0bGV0VG9TdG9yZVJlcXVlc3QsIFJlbW92ZU91dGxldEZyb21TdG9yZVJlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgc3RyaW5nQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZk5vZGVPdXRsZXRdJyxcbiAgZXhwb3J0QXM6ICdmTm9kZU91dGxldCcsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1mLW91dGxldC1pZF0nOiAnZklkKCknLFxuICAgIGNsYXNzOiAnZi1jb21wb25lbnQgZi1ub2RlLW91dGxldCcsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0bGV0LWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGX05PREVfT1VUTEVULCB1c2VFeGlzdGluZzogRk5vZGVPdXRsZXREaXJlY3RpdmUgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlT3V0bGV0RGlyZWN0aXZlIGV4dGVuZHMgRk5vZGVPdXRsZXRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcmVhZG9ubHkgaG9zdEVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9ub2RlID0gaW5qZWN0KEZfTk9ERSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZJZCA9IGlucHV0PHN0cmluZywgdW5rbm93bj4oYGYtbm9kZS1vdXRsZXQtJHt1bmlxdWVJZCsrfWAsIHtcbiAgICBhbGlhczogJ2ZPdXRsZXRJZCcsXG4gICAgdHJhbnNmb3JtOiAodmFsdWUpID0+IHN0cmluZ0F0dHJpYnV0ZSh2YWx1ZSkgfHwgYGYtbm9kZS1vdXRsZXQtJHt1bmlxdWVJZCsrfWAsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdmT3V0bGV0RGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBwdWJsaWMgb3ZlcnJpZGUgdXNlckZDb25uZWN0YWJsZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlID0gRUZDb25uZWN0YWJsZVNpZGUuQVVUTztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgaXNDb25uZWN0aW9uRnJvbU91dGxldDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IGFsaWFzOiAnZkNhbkJlQ29ubmVjdGVkSW5wdXRzJyB9KVxuICBwdWJsaWMgb3ZlcnJpZGUgY2FuQmVDb25uZWN0ZWRJbnB1dHM6IHN0cmluZ1tdID0gW107XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmTm9kZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGUuZklkKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgQWRkT3V0bGV0VG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZU91dGxldEZyb21TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dGxldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0bGV0L2Ytbm9kZS1vdXRsZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUU5QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFZakIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFOUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhCLEdBQUcsR0FBRyxLQUFLLENBQWtCLGlCQUFpQixRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQzFFLEtBQUssRUFBRSxXQUFXO1FBQ2xCLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLGlCQUFpQixRQUFRLEVBQUUsRUFBRTtLQUM5RSxDQUFDLENBQUM7SUFFYSxRQUFRLEdBQUcsS0FBSyxDQUFtQixLQUFLLEVBQUU7UUFDeEQsS0FBSyxFQUFFLGlCQUFpQjtRQUN4QixTQUFTLEVBQUUsZ0JBQWdCO0tBQzVCLENBQUMsQ0FBQztJQUVhLGdCQUFnQixHQUFzQixpQkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFFN0Qsb0JBQW9CLEdBQXNCLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUdqRSxzQkFBc0IsR0FBWSxLQUFLLENBQUM7SUFHeEMsb0JBQW9CLEdBQWEsRUFBRSxDQUFDO0lBRXBELElBQW9CLE9BQU87UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFvQixTQUFTO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDaEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7d0dBeENVLG9CQUFvQjs0RkFBcEIsb0JBQW9CLDh4QkFGcEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUM7OzRGQUUvRCxvQkFBb0I7a0JBVmhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO29CQUN2QixJQUFJLEVBQUU7d0JBQ0oseUJBQXlCLEVBQUUsT0FBTzt3QkFDbEMsS0FBSyxFQUFFLDJCQUEyQjt3QkFDbEMsZ0NBQWdDLEVBQUUsWUFBWTtxQkFDL0M7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBQztpQkFDM0U7OEJBc0JpQixzQkFBc0I7c0JBRHJDLEtBQUs7Z0JBSVUsb0JBQW9CO3NCQURuQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9OT0RFX09VVExFVCwgRk5vZGVPdXRsZXRCYXNlIH0gZnJvbSAnLi9mLW5vZGUtb3V0bGV0LWJhc2UnO1xuaW1wb3J0IHsgRl9OT0RFIH0gZnJvbSAnLi4vLi4vZi1ub2RlJztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vZS1mLWNvbm5lY3RhYmxlLXNpZGUnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBBZGRPdXRsZXRUb1N0b3JlUmVxdWVzdCwgUmVtb3ZlT3V0bGV0RnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBzdHJpbmdBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmTm9kZU91dGxldF0nLFxuICBleHBvcnRBczogJ2ZOb2RlT3V0bGV0JyxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWYtb3V0bGV0LWlkXSc6ICdmSWQoKScsXG4gICAgY2xhc3M6ICdmLWNvbXBvbmVudCBmLW5vZGUtb3V0bGV0JyxcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRsZXQtZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfTk9ERV9PVVRMRVQsIHVzZUV4aXN0aW5nOiBGTm9kZU91dGxldERpcmVjdGl2ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVPdXRsZXREaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZU91dGxldEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkb25seSBob3N0RWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGUgPSBpbmplY3QoRl9OT0RFKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZklkID0gaW5wdXQ8c3RyaW5nLCB1bmtub3duPihgZi1ub2RlLW91dGxldC0ke3VuaXF1ZUlkKyt9YCwge1xuICAgIGFsaWFzOiAnZk91dGxldElkJyxcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gc3RyaW5nQXR0cmlidXRlKHZhbHVlKSB8fCBgZi1ub2RlLW91dGxldC0ke3VuaXF1ZUlkKyt9YCxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgdW5rbm93bj4oZmFsc2UsIHtcbiAgICBhbGlhczogJ2ZPdXRsZXREaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIHB1YmxpYyBvdmVycmlkZSB1c2VyRkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBpc0Nvbm5lY3Rpb25Gcm9tT3V0bGV0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KHsgYWxpYXM6ICdmQ2FuQmVDb25uZWN0ZWRJbnB1dHMnIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBjYW5CZUNvbm5lY3RlZElucHV0czogc3RyaW5nW10gPSBbXTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZOb2RlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZS5mSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk5vZGVIb3N0KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX25vZGUuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgQWRkT3V0bGV0VG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZU91dGxldEZyb21TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG59XG4iXX0=
@@ -30,6 +30,9 @@ export class FNodeOutputDirective extends FNodeOutputBase {
30
30
  get fNodeId() {
31
31
  return this._node.fId();
32
32
  }
33
+ get fNodeHost() {
34
+ return this._node.hostElement;
35
+ }
33
36
  ngOnInit() {
34
37
  this._mediator.execute(new AddOutputToStoreRequest(this));
35
38
  this._node.addConnector(this);
@@ -82,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
82
85
  type: Input,
83
86
  args: [{ alias: 'fCanBeConnectedInputs' }]
84
87
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2Ytbm9kZS1vdXRwdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUU5QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFjakIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFOUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhCLEdBQUcsR0FBRyxLQUFLLENBQWtCLGlCQUFpQixRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQzFFLEtBQUssRUFBRSxXQUFXO1FBQ2xCLFNBQVMsRUFB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LFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLHNCQUFzQixFQUFFLENBQUM7aUJBQzNFOzhCQTBCaUIsb0JBQW9CO3NCQUpuQyxLQUFLO3VCQUFDO3dCQUNMLEtBQUssRUFBRSx3QkFBd0I7d0JBQy9CLFNBQVMsRUFBRSxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxpQkFBaUIsQ0FBQztxQkFDOUY7Z0JBSWUsaUJBQWlCO3NCQURoQyxLQUFLO2dCQUlVLG9CQUFvQjtzQkFEbkMsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRk5vZGVPdXRwdXRCYXNlLCBGX05PREVfT1VUUFVUIH0gZnJvbSAnLi9mLW5vZGUtb3V0cHV0LWJhc2UnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi9lLWYtY29ubmVjdGFibGUtc2lkZSc7XG5pbXBvcnQgeyBGX05PREUgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgY2FzdFRvRW51bSB9IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBBZGRPdXRwdXRUb1N0b3JlUmVxdWVzdCwgRl9DU1NfQ0xBU1MsIFJlbW92ZU91dHB1dEZyb21TdG9yZVJlcXVlc3QgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNvbm5lY3RvckJhc2UgfSBmcm9tICcuLi9mLWNvbm5lY3Rvci1iYXNlJztcbmltcG9ydCB7IHN0cmluZ0F0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZOb2RlT3V0cHV0XScsXG4gIGV4cG9ydEFzOiAnZk5vZGVPdXRwdXQnLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtZi1vdXRwdXQtaWRdJzogJ2ZJZCgpJyxcbiAgICBjbGFzczogJ2YtY29tcG9uZW50IGYtbm9kZS1vdXRwdXQnLFxuICAgICdbY2xhc3MuZi1ub2RlLW91dHB1dC1tdWx0aXBsZV0nOiAnbXVsdGlwbGUnLFxuICAgICdbY2xhc3MuZi1ub2RlLW91dHB1dC1kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKScsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0cHV0LXNlbGYtY29ubmVjdGFibGVdJzogJ2lzU2VsZkNvbm5lY3RhYmxlJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBGX05PREVfT1VUUFVULCB1c2VFeGlzdGluZzogRk5vZGVPdXRwdXREaXJlY3RpdmUgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEZOb2RlT3V0cHV0RGlyZWN0aXZlIGV4dGVuZHMgRk5vZGVPdXRwdXRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkb25seSBob3N0RWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX25vZGUgPSBpbmplY3QoRl9OT0RFKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZklkID0gaW5wdXQ8c3RyaW5nLCB1bmtub3duPihgZi1ub2RlLW91dHB1dC0ke3VuaXF1ZUlkKyt9YCwge1xuICAgIGFsaWFzOiAnZk91dHB1dElkJyxcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gc3RyaW5nQXR0cmlidXRlKHZhbHVlKSB8fCBgZi1ub2RlLW91dHB1dC0ke3VuaXF1ZUlkKyt9YCxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIG11bHRpcGxlID0gaW5wdXQ8Ym9vbGVhbiwgdW5rbm93bj4oZmFsc2UsIHtcbiAgICBhbGlhczogJ2ZPdXRwdXRNdWx0aXBsZScsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCB1bmtub3duPihmYWxzZSwge1xuICAgIGFsaWFzOiAnZk91dHB1dERpc2FibGVkJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIEBJbnB1dCh7XG4gICAgYWxpYXM6ICdmT3V0cHV0Q29ubmVjdGFibGVTaWRlJyxcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZPdXRwdXRDb25uZWN0YWJsZVNpZGUnLCBFRkNvbm5lY3RhYmxlU2lkZSksXG4gIH0pXG4gIHB1YmxpYyBvdmVycmlkZSB1c2VyRkNvbm5lY3RhYmxlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUgPSBFRkNvbm5lY3RhYmxlU2lkZS5BVVRPO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBpc1NlbGZDb25uZWN0YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KHsgYWxpYXM6ICdmQ2FuQmVDb25uZWN0ZWRJbnB1dHMnIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBjYW5CZUNvbm5lY3RlZElucHV0czogc3RyaW5nW10gPSBbXTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGZOb2RlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZS5mSWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRPdXRwdXRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gICAgdGhpcy5fbm9kZS5hZGRDb25uZWN0b3IodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWyd1c2VyRkNvbm5lY3RhYmxlU2lkZSddKSB7XG4gICAgICB0aGlzLl9ub2RlLnJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0Q29ubmVjdGVkKHRvQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIHN1cGVyLnNldENvbm5lY3RlZCh0b0Nvbm5lY3Rvcik7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKEZfQ1NTX0NMQVNTLkNPTk5FQ1RPUi5PVVRQVVRfQ09OTkVDVEVELCB0cnVlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICBGX0NTU19DTEFTUy5DT05ORUNUT1IuT1VUUFVUX05PVF9DT05ORUNUQUJMRSxcbiAgICAgICF0aGlzLmNhbkJlQ29ubmVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVzZXRDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgc3VwZXIucmVzZXRDb25uZWN0ZWQoKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoRl9DU1NfQ0xBU1MuQ09OTkVDVE9SLk9VVFBVVF9DT05ORUNURUQsIGZhbHNlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICBGX0NTU19DTEFTUy5DT05ORUNUT1IuT1VUUFVUX05PVF9DT05ORUNUQUJMRSxcbiAgICAgICF0aGlzLmNhbkJlQ29ubmVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbm9kZS5yZW1vdmVDb25uZWN0b3IodGhpcyk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlT3V0cHV0RnJvbVN0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1ub2RlLW91dHB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdG9ycy9mLW5vZGUtb3V0cHV0L2Ytbm9kZS1vdXRwdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssR0FLTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVsRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUU5QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFjakIsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGVBQWU7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFFOUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixLQUFLLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXhCLEdBQUcsR0FBRyxLQUFLLENBQWtCLGlCQUFpQixRQUFRLEVBQUUsRUFBRSxFQUFFO1FBQzFFLEtBQUssRUFBRSxXQUFXO1FBQ2xCLFNBQVMsRUFB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LFVBQVU7d0JBQzVDLGdDQUFnQyxFQUFFLFlBQVk7d0JBQzlDLHdDQUF3QyxFQUFFLG1CQUFtQjtxQkFDOUQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBQztpQkFDM0U7OEJBMEJpQixvQkFBb0I7c0JBSm5DLEtBQUs7dUJBQUM7d0JBQ0wsS0FBSyxFQUFFLHdCQUF3Qjt3QkFDL0IsU0FBUyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLHdCQUF3QixFQUFFLGlCQUFpQixDQUFDO3FCQUM5RjtnQkFJZSxpQkFBaUI7c0JBRGhDLEtBQUs7Z0JBSVUsb0JBQW9CO3NCQURuQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGTm9kZU91dHB1dEJhc2UsIEZfTk9ERV9PVVRQVVQgfSBmcm9tICcuL2Ytbm9kZS1vdXRwdXQtYmFzZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uL2UtZi1jb25uZWN0YWJsZS1zaWRlJztcbmltcG9ydCB7IEZfTk9ERSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBjYXN0VG9FbnVtIH0gZnJvbSAnQGZvYmxleC91dGlscyc7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEFkZE91dHB1dFRvU3RvcmVSZXF1ZXN0LCBGX0NTU19DTEFTUywgUmVtb3ZlT3V0cHV0RnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ29ubmVjdG9yQmFzZSB9IGZyb20gJy4uL2YtY29ubmVjdG9yLWJhc2UnO1xuaW1wb3J0IHsgc3RyaW5nQXR0cmlidXRlIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZk5vZGVPdXRwdXRdJyxcbiAgZXhwb3J0QXM6ICdmTm9kZU91dHB1dCcsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuZGF0YS1mLW91dHB1dC1pZF0nOiAnZklkKCknLFxuICAgIGNsYXNzOiAnZi1jb21wb25lbnQgZi1ub2RlLW91dHB1dCcsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0cHV0LW11bHRpcGxlXSc6ICdtdWx0aXBsZScsXG4gICAgJ1tjbGFzcy5mLW5vZGUtb3V0cHV0LWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAnW2NsYXNzLmYtbm9kZS1vdXRwdXQtc2VsZi1jb25uZWN0YWJsZV0nOiAnaXNTZWxmQ29ubmVjdGFibGUnLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfTk9ERV9PVVRQVVQsIHVzZUV4aXN0aW5nOiBGTm9kZU91dHB1dERpcmVjdGl2ZSB9XSxcbn0pXG5leHBvcnQgY2xhc3MgRk5vZGVPdXRwdXREaXJlY3RpdmUgZXh0ZW5kcyBGTm9kZU91dHB1dEJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHVibGljIHJlYWRvbmx5IGhvc3RFbGVtZW50ID0gaW5qZWN0KEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbm9kZSA9IGluamVjdChGX05PREUpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQgPSBpbnB1dDxzdHJpbmcsIHVua25vd24+KGBmLW5vZGUtb3V0cHV0LSR7dW5pcXVlSWQrK31gLCB7XG4gICAgYWxpYXM6ICdmT3V0cHV0SWQnLFxuICAgIHRyYW5zZm9ybTogKHZhbHVlKSA9PiBzdHJpbmdBdHRyaWJ1dGUodmFsdWUpIHx8IGBmLW5vZGUtb3V0cHV0LSR7dW5pcXVlSWQrK31gLFxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgbXVsdGlwbGUgPSBpbnB1dDxib29sZWFuLCB1bmtub3duPihmYWxzZSwge1xuICAgIGFsaWFzOiAnZk91dHB1dE11bHRpcGxlJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIHVua25vd24+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICdmT3V0cHV0RGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgQElucHV0KHtcbiAgICBhbGlhczogJ2ZPdXRwdXRDb25uZWN0YWJsZVNpZGUnLFxuICAgIHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBjYXN0VG9FbnVtKHZhbHVlLCAnZk91dHB1dENvbm5lY3RhYmxlU2lkZScsIEVGQ29ubmVjdGFibGVTaWRlKSxcbiAgfSlcbiAgcHVibGljIG92ZXJyaWRlIHVzZXJGQ29ubmVjdGFibGVTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSA9IEVGQ29ubmVjdGFibGVTaWRlLkFVVE87XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGlzU2VsZkNvbm5lY3RhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoeyBhbGlhczogJ2ZDYW5CZUNvbm5lY3RlZElucHV0cycgfSlcbiAgcHVibGljIG92ZXJyaWRlIGNhbkJlQ29ubmVjdGVkSW5wdXRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgZk5vZGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9ub2RlLmZJZCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBmTm9kZUhvc3QoKTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fbm9kZS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRPdXRwdXRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gICAgdGhpcy5fbm9kZS5hZGRDb25uZWN0b3IodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWyd1c2VyRkNvbm5lY3RhYmxlU2lkZSddKSB7XG4gICAgICB0aGlzLl9ub2RlLnJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgc2V0Q29ubmVjdGVkKHRvQ29ubmVjdG9yOiBGQ29ubmVjdG9yQmFzZSk6IHZvaWQge1xuICAgIHN1cGVyLnNldENvbm5lY3RlZCh0b0Nvbm5lY3Rvcik7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKEZfQ1NTX0NMQVNTLkNPTk5FQ1RPUi5PVVRQVVRfQ09OTkVDVEVELCB0cnVlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICBGX0NTU19DTEFTUy5DT05ORUNUT1IuT1VUUFVUX05PVF9DT05ORUNUQUJMRSxcbiAgICAgICF0aGlzLmNhbkJlQ29ubmVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVzZXRDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgc3VwZXIucmVzZXRDb25uZWN0ZWQoKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoRl9DU1NfQ0xBU1MuQ09OTkVDVE9SLk9VVFBVVF9DT05ORUNURUQsIGZhbHNlKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoXG4gICAgICBGX0NTU19DTEFTUy5DT05ORUNUT1IuT1VUUFVUX05PVF9DT05ORUNUQUJMRSxcbiAgICAgICF0aGlzLmNhbkJlQ29ubmVjdGVkLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbm9kZS5yZW1vdmVDb25uZWN0b3IodGhpcyk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlT3V0cHV0RnJvbVN0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cbn1cbiJdfQ==