@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
@@ -1097,6 +1097,9 @@ var EFConnectableSide;
1097
1097
  EFConnectableSide["TOP"] = "top";
1098
1098
  EFConnectableSide["RIGHT"] = "right";
1099
1099
  EFConnectableSide["BOTTOM"] = "bottom";
1100
+ EFConnectableSide["CALCULATE"] = "calculate";
1101
+ EFConnectableSide["CALCULATE_HORIZONTAL"] = "calculate_horizontal";
1102
+ EFConnectableSide["CALCULATE_VERTICAL"] = "calculate_vertical";
1100
1103
  EFConnectableSide["AUTO"] = "auto";
1101
1104
  })(EFConnectableSide || (EFConnectableSide = {}));
1102
1105
 
@@ -1349,7 +1352,9 @@ class FNodeBase extends MIXIN_BASE$1 {
1349
1352
  }
1350
1353
 
1351
1354
  let uniqueId$b = 0;
1355
+ const _DEBOUNCE_TIME$2 = 3;
1352
1356
  class FGroupDirective extends FNodeBase {
1357
+ _debounceTimer = null;
1353
1358
  _destroyRef = inject(DestroyRef);
1354
1359
  _mediator = inject(FMediator);
1355
1360
  fId = input(`f-group-${uniqueId$b++}`, { alias: 'fGroupId' });
@@ -1415,6 +1420,16 @@ class FGroupDirective extends FNodeBase {
1415
1420
  redraw() {
1416
1421
  super.redraw();
1417
1422
  this._mediator.execute(new NotifyTransformChangedRequest());
1423
+ this._updateConnectorsSides();
1424
+ }
1425
+ _updateConnectorsSides() {
1426
+ if (this._debounceTimer) {
1427
+ clearTimeout(this._debounceTimer);
1428
+ }
1429
+ this._debounceTimer = setTimeout(() => this._calculateNodeConnectorsConnectableSides(), _DEBOUNCE_TIME$2);
1430
+ }
1431
+ _calculateNodeConnectorsConnectableSides() {
1432
+ this._mediator.execute(new CalculateNodeConnectorsConnectableSidesRequest(this));
1418
1433
  }
1419
1434
  ngAfterViewInit() {
1420
1435
  if (!this.browser.isBrowser()) {
@@ -1432,24 +1447,20 @@ class FGroupDirective extends FNodeBase {
1432
1447
  this._mediator.execute(new RemoveNodeFromStoreRequest(this));
1433
1448
  }
1434
1449
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FGroupDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1435
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: FGroupDirective, selector: "[fGroup]", inputs: { fId: { classPropertyName: "fId", publicName: "fGroupId", isSignal: true, isRequired: false, transformFunction: null }, fParentId: { classPropertyName: "fParentId", publicName: "fGroupParentId", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "fGroupPosition", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "fGroupSize", isSignal: true, isRequired: false, transformFunction: null }, rotate: { classPropertyName: "rotate", publicName: "fGroupRotate", isSignal: true, isRequired: false, transformFunction: null }, fConnectOnNode: { classPropertyName: "fConnectOnNode", publicName: "fConnectOnNode", isSignal: true, isRequired: false, transformFunction: null }, fMinimapClass: { classPropertyName: "fMinimapClass", publicName: "fMinimapClass", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fGroupDraggingDisabled", isSignal: true, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fGroupSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fIncludePadding: { classPropertyName: "fIncludePadding", publicName: "fIncludePadding", isSignal: true, isRequired: false, transformFunction: null }, fAutoExpandOnChildHit: { classPropertyName: "fAutoExpandOnChildHit", publicName: "fAutoExpandOnChildHit", isSignal: true, isRequired: false, transformFunction: null }, fAutoSizeToFitChildren: { classPropertyName: "fAutoSizeToFitChildren", publicName: "fAutoSizeToFitChildren", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { position: "fGroupPositionChange", sizeChange: "fGroupSizeChange", rotate: "fGroupRotateChange" }, host: { properties: { "attr.data-f-group-id": "fId()", "class.f-group-dragging-disabled": "fDraggingDisabled()", "class.f-group-selection-disabled": "fSelectionDisabled()" }, classAttribute: "f-group f-component" }, providers: [
1436
- { provide: F_NODE, useExisting: FGroupDirective },
1437
- ], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 });
1450
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: FGroupDirective, selector: "[fGroup]", inputs: { fId: { classPropertyName: "fId", publicName: "fGroupId", isSignal: true, isRequired: false, transformFunction: null }, fParentId: { classPropertyName: "fParentId", publicName: "fGroupParentId", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "fGroupPosition", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "fGroupSize", isSignal: true, isRequired: false, transformFunction: null }, rotate: { classPropertyName: "rotate", publicName: "fGroupRotate", isSignal: true, isRequired: false, transformFunction: null }, fConnectOnNode: { classPropertyName: "fConnectOnNode", publicName: "fConnectOnNode", isSignal: true, isRequired: false, transformFunction: null }, fMinimapClass: { classPropertyName: "fMinimapClass", publicName: "fMinimapClass", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fGroupDraggingDisabled", isSignal: true, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fGroupSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fIncludePadding: { classPropertyName: "fIncludePadding", publicName: "fIncludePadding", isSignal: true, isRequired: false, transformFunction: null }, fAutoExpandOnChildHit: { classPropertyName: "fAutoExpandOnChildHit", publicName: "fAutoExpandOnChildHit", isSignal: true, isRequired: false, transformFunction: null }, fAutoSizeToFitChildren: { classPropertyName: "fAutoSizeToFitChildren", publicName: "fAutoSizeToFitChildren", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { position: "fGroupPositionChange", sizeChange: "fGroupSizeChange", rotate: "fGroupRotateChange" }, host: { properties: { "attr.data-f-group-id": "fId()", "class.f-group-dragging-disabled": "fDraggingDisabled()", "class.f-group-selection-disabled": "fSelectionDisabled()" }, classAttribute: "f-group f-component" }, providers: [{ provide: F_NODE, useExisting: FGroupDirective }], exportAs: ["fComponent"], usesInheritance: true, ngImport: i0 });
1438
1451
  }
1439
1452
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FGroupDirective, decorators: [{
1440
1453
  type: Directive,
1441
1454
  args: [{
1442
- selector: "[fGroup]",
1443
- exportAs: "fComponent",
1455
+ selector: '[fGroup]',
1456
+ exportAs: 'fComponent',
1444
1457
  host: {
1445
1458
  '[attr.data-f-group-id]': 'fId()',
1446
- class: "f-group f-component",
1459
+ class: 'f-group f-component',
1447
1460
  '[class.f-group-dragging-disabled]': 'fDraggingDisabled()',
1448
1461
  '[class.f-group-selection-disabled]': 'fSelectionDisabled()',
1449
1462
  },
1450
- providers: [
1451
- { provide: F_NODE, useExisting: FGroupDirective },
1452
- ],
1463
+ providers: [{ provide: F_NODE, useExisting: FGroupDirective }],
1453
1464
  }]
1454
1465
  }], ctorParameters: () => [{ type: i0.ElementRef }] });
1455
1466
 
@@ -1465,7 +1476,9 @@ function stringAttribute(value) {
1465
1476
  }
1466
1477
 
1467
1478
  let uniqueId$a = 0;
1479
+ const _DEBOUNCE_TIME$1 = 3;
1468
1480
  class FNodeDirective extends FNodeBase {
1481
+ _debounceTimer = null;
1469
1482
  _destroyRef = inject(DestroyRef);
1470
1483
  _mediator = inject(FMediator);
1471
1484
  fId = input(`f-node-${uniqueId$a++}`, {
@@ -1534,6 +1547,16 @@ class FNodeDirective extends FNodeBase {
1534
1547
  redraw() {
1535
1548
  super.redraw();
1536
1549
  this._mediator.execute(new NotifyTransformChangedRequest());
1550
+ this._updateConnectorsSides();
1551
+ }
1552
+ _updateConnectorsSides() {
1553
+ if (this._debounceTimer) {
1554
+ clearTimeout(this._debounceTimer);
1555
+ }
1556
+ this._debounceTimer = setTimeout(() => this._calculateNodeConnectorsConnectableSides(), _DEBOUNCE_TIME$1);
1557
+ }
1558
+ _calculateNodeConnectorsConnectableSides() {
1559
+ this._mediator.execute(new CalculateNodeConnectorsConnectableSidesRequest(this));
1537
1560
  }
1538
1561
  ngAfterViewInit() {
1539
1562
  if (!this.browser.isBrowser()) {
@@ -1605,6 +1628,9 @@ class FNodeInputDirective extends FNodeInputBase {
1605
1628
  get fNodeId() {
1606
1629
  return this._node.fId();
1607
1630
  }
1631
+ get fNodeHost() {
1632
+ return this._node.hostElement;
1633
+ }
1608
1634
  ngOnInit() {
1609
1635
  this._mediator.execute(new AddInputToStoreRequest(this));
1610
1636
  this._node.addConnector(this);
@@ -1702,6 +1728,9 @@ class FNodeOutletDirective extends FNodeOutletBase {
1702
1728
  get fNodeId() {
1703
1729
  return this._node.fId();
1704
1730
  }
1731
+ get fNodeHost() {
1732
+ return this._node.hostElement;
1733
+ }
1705
1734
  ngOnInit() {
1706
1735
  this._mediator.execute(new AddOutletToStoreRequest(this));
1707
1736
  }
@@ -1769,6 +1798,9 @@ class FNodeOutputDirective extends FNodeOutputBase {
1769
1798
  get fNodeId() {
1770
1799
  return this._node.fId();
1771
1800
  }
1801
+ get fNodeHost() {
1802
+ return this._node.hostElement;
1803
+ }
1772
1804
  ngOnInit() {
1773
1805
  this._mediator.execute(new AddOutputToStoreRequest(this));
1774
1806
  this._node.addConnector(this);
@@ -10515,6 +10547,337 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
10515
10547
  type: Injectable
10516
10548
  }] });
10517
10549
 
10550
+ const CALCULATE_MODES = [
10551
+ EFConnectableSide.CALCULATE,
10552
+ EFConnectableSide.CALCULATE_HORIZONTAL,
10553
+ EFConnectableSide.CALCULATE_VERTICAL,
10554
+ ];
10555
+ class CalculateConnectableSideByConnectedPositionsRequest {
10556
+ connector;
10557
+ mode;
10558
+ static fToken = Symbol('CalculateConnectableSideByConnectedPositionsRequest');
10559
+ constructor(connector, mode) {
10560
+ this.connector = connector;
10561
+ this.mode = mode;
10562
+ }
10563
+ }
10564
+
10565
+ class CalculateConnectableSideByInternalPositionRequest {
10566
+ connector;
10567
+ static fToken = Symbol('CalculateConnectableSideByInternalPositionRequest');
10568
+ constructor(connector) {
10569
+ this.connector = connector;
10570
+ }
10571
+ }
10572
+
10573
+ /**
10574
+ * Execution that calculates the connectable side for a connector
10575
+ * based on the internal position of the connector relative to its node host.
10576
+ */
10577
+ let CalculateConnectableSideByInternalPosition = class CalculateConnectableSideByInternalPosition {
10578
+ handle({ connector, }) {
10579
+ return this._getSideByDelta(connector.hostElement, connector.fNodeHost);
10580
+ }
10581
+ /**
10582
+ * Determines the side of the connector relative to the node host based on the minimum distance.
10583
+ * @param connectorHost
10584
+ * @param nodeHost
10585
+ * @private
10586
+ */
10587
+ _getSideByDelta(connectorHost, nodeHost) {
10588
+ let result;
10589
+ const childRect = RectExtensions.fromElement(connectorHost);
10590
+ const parentRect = nodeHost.getBoundingClientRect();
10591
+ const deltaLeft = childRect.gravityCenter.x - parentRect.left;
10592
+ const deltaRight = parentRect.right - childRect.gravityCenter.x;
10593
+ const deltaTop = childRect.gravityCenter.y - parentRect.top;
10594
+ const deltaBottom = parentRect.bottom - childRect.gravityCenter.y;
10595
+ const minDelta = Math.min(deltaLeft, deltaRight, deltaTop, deltaBottom);
10596
+ if (minDelta === deltaLeft) {
10597
+ result = EFConnectableSide.LEFT;
10598
+ }
10599
+ else if (minDelta === deltaRight) {
10600
+ result = EFConnectableSide.RIGHT;
10601
+ }
10602
+ else if (minDelta === deltaTop) {
10603
+ result = EFConnectableSide.TOP;
10604
+ }
10605
+ else {
10606
+ result = EFConnectableSide.BOTTOM;
10607
+ }
10608
+ return result;
10609
+ }
10610
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectableSideByInternalPosition, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10611
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectableSideByInternalPosition });
10612
+ };
10613
+ CalculateConnectableSideByInternalPosition = __decorate([
10614
+ FExecutionRegister(CalculateConnectableSideByInternalPositionRequest)
10615
+ ], CalculateConnectableSideByInternalPosition);
10616
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectableSideByInternalPosition, decorators: [{
10617
+ type: Injectable
10618
+ }] });
10619
+
10620
+ const SNAP_EPS = 2;
10621
+ const CALCULATE_SIDES = {
10622
+ [EFConnectableSide.CALCULATE]: [
10623
+ EFConnectableSide.TOP,
10624
+ EFConnectableSide.BOTTOM,
10625
+ EFConnectableSide.LEFT,
10626
+ EFConnectableSide.RIGHT,
10627
+ ],
10628
+ [EFConnectableSide.CALCULATE_HORIZONTAL]: [EFConnectableSide.LEFT, EFConnectableSide.RIGHT],
10629
+ [EFConnectableSide.CALCULATE_VERTICAL]: [EFConnectableSide.TOP, EFConnectableSide.BOTTOM],
10630
+ };
10631
+ /**
10632
+ * Execution that calculates the connectable side for a connector
10633
+ * based on positions of connected connectors and allowed sides.
10634
+ */
10635
+ let CalculateConnectableSideByConnectedPositions = class CalculateConnectableSideByConnectedPositions {
10636
+ _mediator = inject(FMediator);
10637
+ /**
10638
+ * Entry point (hot path). Avoids intermediate arrays and redundant allocations.
10639
+ *
10640
+ * @param request - Contains the connector and optionally allowed sides.
10641
+ * @returns {EFConnectableSide} - The chosen connectable side.
10642
+ */
10643
+ handle({ connector, mode, }) {
10644
+ const selfCenter = RectExtensions.fromElement(connector.hostElement).gravityCenter;
10645
+ const acc = this._accumulateConnectedCenters(connector.hostElement, connector.toConnector);
10646
+ if (acc.count === 0) {
10647
+ return this._mediator.execute(new CalculateConnectableSideByInternalPositionRequest(connector));
10648
+ }
10649
+ const avgX = acc.sumX / acc.count;
10650
+ const avgY = acc.sumY / acc.count;
10651
+ const mask = this._toSideMask(CALCULATE_SIDES[mode]);
10652
+ return this._determineSide(selfCenter.x, selfCenter.y, avgX, avgY, mask);
10653
+ }
10654
+ /**
10655
+ * Accumulates sum of gravity centers and count, excluding the current host.
10656
+ * Single pass, minimal allocations.
10657
+ */
10658
+ _accumulateConnectedCenters(selfHost, connected) {
10659
+ let sumX = 0;
10660
+ let sumY = 0;
10661
+ let count = 0;
10662
+ if (connected && connected.length) {
10663
+ for (let i = 0; i < connected.length; i++) {
10664
+ const el = connected[i]?.hostElement;
10665
+ if (!el || el === selfHost)
10666
+ continue;
10667
+ const c = RectExtensions.fromElement(el).gravityCenter;
10668
+ sumX += c.x;
10669
+ sumY += c.y;
10670
+ count++;
10671
+ }
10672
+ }
10673
+ return { sumX, sumY, count };
10674
+ }
10675
+ /**
10676
+ * Converts allowed sides array to a compact bit mask.
10677
+ * If not provided or empty -> all sides allowed.
10678
+ */
10679
+ _toSideMask(allowed) {
10680
+ if (!allowed || allowed.length === 0)
10681
+ return 15 /* SideMask.ALL */;
10682
+ let mask = 0 /* SideMask.NONE */;
10683
+ for (let i = 0; i < allowed.length; i++) {
10684
+ switch (allowed[i]) {
10685
+ case EFConnectableSide.LEFT:
10686
+ mask |= 1 /* SideMask.LEFT */;
10687
+ break;
10688
+ case EFConnectableSide.RIGHT:
10689
+ mask |= 2 /* SideMask.RIGHT */;
10690
+ break;
10691
+ case EFConnectableSide.TOP:
10692
+ mask |= 4 /* SideMask.TOP */;
10693
+ break;
10694
+ case EFConnectableSide.BOTTOM:
10695
+ mask |= 8 /* SideMask.BOTTOM */;
10696
+ break;
10697
+ }
10698
+ }
10699
+ return mask || 15 /* SideMask.ALL */;
10700
+ }
10701
+ /**
10702
+ * Determines final side using ideal side first; if disallowed, picks best fallback.
10703
+ * Inputs are numbers to avoid object wrappers on hot path.
10704
+ */
10705
+ _determineSide(selfX, selfY, avgX, avgY, allowedMask) {
10706
+ const dx = avgX - selfX;
10707
+ const dy = avgY - selfY;
10708
+ const ideal = this._pickIdealSide(dx, dy);
10709
+ if (this._isAllowed(ideal, allowedMask)) {
10710
+ return ideal;
10711
+ }
10712
+ return this._pickFallbackSide(dx, dy, allowedMask, ideal);
10713
+ }
10714
+ /**
10715
+ * Picks the "ideal" side based on vector (dx, dy) with hysteresis.
10716
+ */
10717
+ _pickIdealSide(dx, dy) {
10718
+ const ax = dx < 0 ? -dx : dx;
10719
+ const ay = dy < 0 ? -dy : dy;
10720
+ if (ax - ay > SNAP_EPS) {
10721
+ return dx < 0 ? EFConnectableSide.LEFT : EFConnectableSide.RIGHT;
10722
+ }
10723
+ if (ay - ax > SNAP_EPS) {
10724
+ return dy < 0 ? EFConnectableSide.TOP : EFConnectableSide.BOTTOM;
10725
+ }
10726
+ return dy < 0 ? EFConnectableSide.TOP : EFConnectableSide.BOTTOM;
10727
+ }
10728
+ /**
10729
+ * Quick membership check via bit mask.
10730
+ */
10731
+ _isAllowed(side, mask) {
10732
+ switch (side) {
10733
+ case EFConnectableSide.LEFT:
10734
+ return (mask & 1 /* SideMask.LEFT */) !== 0;
10735
+ case EFConnectableSide.RIGHT:
10736
+ return (mask & 2 /* SideMask.RIGHT */) !== 0;
10737
+ case EFConnectableSide.TOP:
10738
+ return (mask & 4 /* SideMask.TOP */) !== 0;
10739
+ case EFConnectableSide.BOTTOM:
10740
+ return (mask & 8 /* SideMask.BOTTOM */) !== 0;
10741
+ default:
10742
+ return true;
10743
+ }
10744
+ }
10745
+ /**
10746
+ * Picks the best available side from allowed mask by maximizing directional score.
10747
+ * No intermediate objects, constant-time operations.
10748
+ */
10749
+ _pickFallbackSide(dx, dy, allowedMask, ideal) {
10750
+ let bestSide = ideal;
10751
+ let bestScore = -Infinity;
10752
+ if (allowedMask & 2 /* SideMask.RIGHT */) {
10753
+ const s = dx;
10754
+ if (s > bestScore) {
10755
+ bestScore = s;
10756
+ bestSide = EFConnectableSide.RIGHT;
10757
+ }
10758
+ }
10759
+ if (allowedMask & 1 /* SideMask.LEFT */) {
10760
+ const s = -dx;
10761
+ if (s > bestScore) {
10762
+ bestScore = s;
10763
+ bestSide = EFConnectableSide.LEFT;
10764
+ }
10765
+ }
10766
+ if (allowedMask & 8 /* SideMask.BOTTOM */) {
10767
+ const s = dy;
10768
+ if (s > bestScore) {
10769
+ bestScore = s;
10770
+ bestSide = EFConnectableSide.BOTTOM;
10771
+ }
10772
+ }
10773
+ if (allowedMask & 4 /* SideMask.TOP */) {
10774
+ const s = -dy;
10775
+ if (s > bestScore) {
10776
+ bestScore = s;
10777
+ bestSide = EFConnectableSide.TOP;
10778
+ }
10779
+ }
10780
+ return bestSide;
10781
+ }
10782
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectableSideByConnectedPositions, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10783
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectableSideByConnectedPositions });
10784
+ };
10785
+ CalculateConnectableSideByConnectedPositions = __decorate([
10786
+ FExecutionRegister(CalculateConnectableSideByConnectedPositionsRequest)
10787
+ ], CalculateConnectableSideByConnectedPositions);
10788
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateConnectableSideByConnectedPositions, decorators: [{
10789
+ type: Injectable
10790
+ }] });
10791
+
10792
+ class CalculateNodeConnectorsConnectableSidesRequest {
10793
+ node;
10794
+ static fToken = Symbol('CalculateNodeConnectorsConnectableSidesRequest');
10795
+ constructor(node) {
10796
+ this.node = node;
10797
+ }
10798
+ }
10799
+
10800
+ /** Fast predicate: whether the user side is a calculate mode. */
10801
+ function isCalculateMode(side) {
10802
+ return (side === EFConnectableSide.CALCULATE ||
10803
+ side === EFConnectableSide.CALCULATE_HORIZONTAL ||
10804
+ side === EFConnectableSide.CALCULATE_VERTICAL);
10805
+ }
10806
+ /**
10807
+ * Execution that calculates connectable sides for all connectors of a node.
10808
+ *
10809
+ * Performance goals:
10810
+ * - Single-pass loops (no `forEach`).
10811
+ * - Unique target recomputation (avoid repeated mediator calls for the same target).
10812
+ * - Fast checks for "calculate" modes (bit mask instead of `includes`).
10813
+ */
10814
+ let CalculateNodeConnectorsConnectableSides = class CalculateNodeConnectorsConnectableSides {
10815
+ _mediator = inject(FMediator);
10816
+ /**
10817
+ * Orchestrates side calculation for all connectors of the given node.
10818
+ * Two-phase approach:
10819
+ * 1) Update each connector's own side.
10820
+ * 2) Collect unique `toConnector` with calculate modes and recompute once.
10821
+ */
10822
+ handle({ node }) {
10823
+ const mediator = this._mediator;
10824
+ const connectors = node.connectors;
10825
+ const len = connectors.length;
10826
+ for (let i = 0; i < len; i++) {
10827
+ const connection = connectors[i];
10828
+ connection.fConnectableSide = this._resolveSideForConnectorFast(mediator, connection);
10829
+ }
10830
+ const toRecalc = new Set();
10831
+ for (let i = 0; i < len; i++) {
10832
+ const source = connectors[i];
10833
+ const outs = source.toConnector;
10834
+ if (outs && outs.length) {
10835
+ for (let j = 0, m = outs.length; j < m; j++) {
10836
+ const target = outs[j];
10837
+ const userSide = target.userFConnectableSide;
10838
+ if (isCalculateMode(userSide)) {
10839
+ toRecalc.add(target);
10840
+ }
10841
+ }
10842
+ }
10843
+ }
10844
+ if (toRecalc.size > 0) {
10845
+ toRecalc.forEach((target) => {
10846
+ target.fConnectableSide = mediator.execute(new CalculateConnectableSideByConnectedPositionsRequest(target, userSideToTCalculateMode(target.userFConnectableSide)));
10847
+ });
10848
+ }
10849
+ }
10850
+ /**
10851
+ * Fast resolver for a single connector.
10852
+ * Uses switch and avoids array operations.
10853
+ */
10854
+ _resolveSideForConnectorFast(mediator, connector) {
10855
+ const preference = connector.userFConnectableSide;
10856
+ if (preference !== EFConnectableSide.AUTO && !isCalculateMode(preference)) {
10857
+ return preference;
10858
+ }
10859
+ if (preference === EFConnectableSide.AUTO) {
10860
+ return mediator.execute(new CalculateConnectableSideByInternalPositionRequest(connector));
10861
+ }
10862
+ return mediator.execute(new CalculateConnectableSideByConnectedPositionsRequest(connector, userSideToTCalculateMode(preference)));
10863
+ }
10864
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodeConnectorsConnectableSides, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
10865
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodeConnectorsConnectableSides });
10866
+ };
10867
+ CalculateNodeConnectorsConnectableSides = __decorate([
10868
+ FExecutionRegister(CalculateNodeConnectorsConnectableSidesRequest)
10869
+ ], CalculateNodeConnectorsConnectableSides);
10870
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalculateNodeConnectorsConnectableSides, decorators: [{
10871
+ type: Injectable
10872
+ }] });
10873
+ /**
10874
+ * Utility: maps EFConnectableSide user value to TCalculateMode safely.
10875
+ * If your enums are distinct, implement the exact mapping here.
10876
+ */
10877
+ function userSideToTCalculateMode(side) {
10878
+ return side;
10879
+ }
10880
+
10518
10881
  class CalculateNodesBoundingBoxRequest {
10519
10882
  static fToken = Symbol('CalculateNodesBoundingBoxRequest');
10520
10883
  }
@@ -10833,79 +11196,23 @@ class UpdateNodeWhenStateOrSizeChangedRequest {
10833
11196
  */
10834
11197
  let UpdateNodeWhenStateOrSizeChanged = class UpdateNodeWhenStateOrSizeChanged {
10835
11198
  _mediator = inject(FMediator);
10836
- _store = inject(FComponentsStore);
10837
11199
  /**
10838
11200
  * Handles the request to update the node's connectors based on state or size changes.
10839
11201
  * It listens for resize events and recalculates the connectable sides of the connectors.
10840
11202
  * @param request
10841
11203
  */
10842
11204
  handle({ nodeOrGroup, destroyRef }) {
10843
- const { hostElement, connectors, stateChanges } = nodeOrGroup;
10844
- new FChannelHub(new FResizeChannel(hostElement), stateChanges).pipe(notifyOnStart(), debounceTime(10)).listen(destroyRef, () => {
10845
- this._calculateConnectorsConnectableSide(connectors, hostElement);
11205
+ const { hostElement, stateChanges } = nodeOrGroup;
11206
+ new FChannelHub(new FResizeChannel(hostElement), stateChanges)
11207
+ .pipe(notifyOnStart(), debounceTime(10))
11208
+ .listen(destroyRef, () => {
10846
11209
  this._mediator.execute(new NotifyDataChangedRequest());
10847
11210
  if (!this._isDragging()) {
11211
+ this._mediator.execute(new CalculateNodeConnectorsConnectableSidesRequest(nodeOrGroup));
10848
11212
  this._mediator.execute(new FitToChildNodesAndGroupsRequest(nodeOrGroup));
10849
11213
  }
10850
11214
  });
10851
11215
  }
10852
- /**
10853
- * Calculates the connectable side for each connector based on its position relative to the node host.
10854
- * @param fConnectors
10855
- * @param fNodeHost
10856
- * @private
10857
- */
10858
- _calculateConnectorsConnectableSide(fConnectors, fNodeHost) {
10859
- fConnectors.forEach((x) => {
10860
- x.fConnectableSide = this._calculateConnectorConnectableSide(x, fNodeHost);
10861
- });
10862
- }
10863
- /**
10864
- * Calculates the connectable side of a connector based on its user-defined side or its position relative to the node host.
10865
- * @param fConnector
10866
- * @param fNodeHost
10867
- * @returns {EFConnectableSide}
10868
- * @private
10869
- */
10870
- _calculateConnectorConnectableSide(fConnector, fNodeHost) {
10871
- let result;
10872
- if (fConnector.userFConnectableSide === EFConnectableSide.AUTO) {
10873
- result = this._getSideByDelta(fConnector.hostElement, fNodeHost);
10874
- }
10875
- else {
10876
- result = fConnector.userFConnectableSide;
10877
- }
10878
- return result;
10879
- }
10880
- /**
10881
- * Determines the side of the connector relative to the node host based on the minimum distance.
10882
- * @param fConnectorHost
10883
- * @param fNodeHost
10884
- * @private
10885
- */
10886
- _getSideByDelta(fConnectorHost, fNodeHost) {
10887
- let result;
10888
- const childRect = RectExtensions.fromElement(fConnectorHost);
10889
- const parentRect = fNodeHost.getBoundingClientRect();
10890
- const deltaLeft = childRect.gravityCenter.x - parentRect.left;
10891
- const deltaRight = parentRect.right - childRect.gravityCenter.x;
10892
- const deltaTop = childRect.gravityCenter.y - parentRect.top;
10893
- const deltaBottom = parentRect.bottom - childRect.gravityCenter.y;
10894
- const minDelta = Math.min(deltaLeft, deltaRight, deltaTop, deltaBottom);
10895
- if (minDelta === deltaLeft) {
10896
- result = EFConnectableSide.LEFT;
10897
- }
10898
- else if (minDelta === deltaRight) {
10899
- result = EFConnectableSide.RIGHT;
10900
- }
10901
- else if (minDelta === deltaTop) {
10902
- result = EFConnectableSide.TOP;
10903
- }
10904
- else {
10905
- result = EFConnectableSide.BOTTOM;
10906
- }
10907
- return result;
10908
- }
10909
11216
  _isDragging() {
10910
11217
  return this._mediator.execute(new IsDragStartedRequest());
10911
11218
  }
@@ -10950,7 +11257,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
10950
11257
  */
10951
11258
  const F_NODE_FEATURES = [
10952
11259
  AddNodeToStore,
11260
+ CalculateConnectableSideByConnectedPositions,
11261
+ CalculateConnectableSideByInternalPosition,
10953
11262
  CalculateInputConnections,
11263
+ CalculateNodeConnectorsConnectableSides,
10954
11264
  CalculateNodesBoundingBox,
10955
11265
  CalculateNodesBoundingBoxNormalizedPosition,
10956
11266
  CalculateOutputConnections,
@@ -12212,5 +12522,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
12212
12522
  * Generated bundle index. Do not edit.
12213
12523
  */
12214
12524
 
12215
- export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStore, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddOutletToStore, AddOutletToStoreRequest, AddOutputToStore, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, AddZoomToStoreExecution, AddZoomToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, BaseConnectionDragHandler, BuildDragHierarchy, BuildDragHierarchyRequest, BuildDragHierarchyResponse, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedRectFromDifference, CalculateChangedRectFromDifferenceRequest, CalculateClosestConnector, CalculateClosestConnectorRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehavior, CalculateConnectionLineByBehaviorRequest, CalculateDirectChildrenUnionRect, CalculateDirectChildrenUnionRectRequest, CalculateDragLimits, CalculateDragLimitsRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateInputConnections, CalculateInputConnectionsRequest, CalculateNodesBoundingBox, CalculateNodesBoundingBoxNormalizedPosition, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CalculateOutputConnections, CalculateOutputConnectionsRequest, CalculateResizeLimits, CalculateResizeLimitsRequest, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionContentLayoutEngine, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateDragModelFromSelection, CreateDragModelFromSelectionRequest, CreateInputConnectionHandlerAndSetToNodeHandler, CreateInputConnectionHandlerAndSetToNodeHandlerRequest, CreateOutputConnectionHandlerAndSetToNodeHandler, CreateOutputConnectionHandlerAndSetToNodeHandlerRequest, CreateSnapLines, CreateSnapLinesRequest, CreateSummaryDragHandler, CreateSummaryDragHandlerRequest, DRAG_AND_DROP_COMMON_PROVIDERS, Deprecated, DragAndDropBase, DragConstraintPipeline, DropToGroupFinalize, DropToGroupFinalizeRequest, DropToGroupPreparation, DropToGroupPreparationRequest, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EFZoomDirection, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, EventExtensions, ExternalRectConstraint, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FCanvasDragHandler, FCanvasMoveFinalizeExecution, FCanvasMoveFinalizeRequest, FCanvasMovePreparationExecution, FCanvasMovePreparationRequest, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionContent, FConnectionDragHandleEndComponent, FConnectionDragHandleStartComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionDragHandler, FCreateConnectionDragHandlerPreparationExecution, FCreateConnectionDragHandlerPreparationRequest, FCreateConnectionEvent, FCreateConnectionFinalizeExecution, FCreateConnectionFinalizeRequest, FCreateConnectionFromOutletPreparationExecution, FCreateConnectionFromOutletPreparationRequest, FCreateConnectionFromOutputPreparationExecution, FCreateConnectionFromOutputPreparationRequest, FCreateConnectionPreparationExecution, FCreateConnectionPreparationRequest, FCreateNodeEvent, FDragBlockerDirective, FDragHandleDirective, FDragHandlerResult, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemCreatePlaceholderExecution, FExternalItemCreatePlaceholderRequest, FExternalItemCreatePreviewExecution, FExternalItemCreatePreviewRequest, FExternalItemDirective, FExternalItemDragHandler, FExternalItemFinalizeExecution, FExternalItemFinalizeRequest, FExternalItemPlaceholderDirective, FExternalItemPreparationExecution, FExternalItemPreparationRequest, FExternalItemPreviewDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FMoveNodesEvent, FNodeBase, FNodeDirective, FNodeDropToGroupDragHandler, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeMoveFinalizeExecution, FNodeMoveFinalizeRequest, FNodeMovePreparationExecution, FNodeMovePreparationRequest, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FNodeRotateDragHandler, FNodeRotateFinalizeExecution, FNodeRotateFinalizeRequest, FNodeRotatePreparationExecution, FNodeRotatePreparationRequest, FReassignConnectionDragHandler, FReassignConnectionEvent, FReassignConnectionFinalizeExecution, FReassignConnectionFinalizeRequest, FReassignConnectionPreparationExecution, FReassignConnectionPreparationRequest, FReassignSourceDragHandler, FReassignTargetDragHandler, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSingleSelectExecution, FSingleSelectRequest, FSnapConnectionComponent, FSourceConnectorBase, FStraightPathBuilder, FZoomBase, FZoomDirective, F_AFTER_MAIN_PLUGIN, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_BEFORE_MAIN_PLUGIN, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CSS_CLASS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT, F_LINE_ALIGNMENT_FEATURES, F_LINE_ALIGNMENT_PROVIDERS, F_MARKER, F_MINIMAP_DRAG_AND_DROP_PROVIDERS, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_FEATURES, F_ZOOM_PROVIDERS, F_ZOOM_TAG, FindConnectableConnectorUsingPriorityAndPositionExecution, FindConnectableConnectorUsingPriorityAndPositionRequest, FitToChildNodesAndGroups, FitToChildNodesAndGroupsRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputsAndRectsExecution, GetAllCanBeConnectedInputsAndRectsRequest, GetAllCanBeConnectedSourceConnectorsAndRectsExecution, GetAllCanBeConnectedSourceConnectorsAndRectsRequest, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetChildNodeIds, GetChildNodeIdsRequest, GetConnectorAndRect, GetConnectorAndRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFirstConnectableOutputExecution, GetFirstConnectableOutputRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetNodeBoundingIncludePaddings, GetNodeBoundingIncludePaddingsRequest, GetNodeBoundingIncludePaddingsResponse, GetNodePadding, GetNodePaddingRequest, GetNodes, GetNodesRequest, GetNormalizedConnectorRectExecution, GetNormalizedConnectorRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodes, GetParentNodesRequest, IMouseEvent, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsDragStarted, IsDragStartedRequest, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, LogExecutionTime, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MOUSE_EVENT_IGNORE_TIME, MarkConnectableConnectors, MarkConnectableConnectorsRequest, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveDragHandler, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, MoveSummaryDragHandler, NODE_DROP_TO_GROUP_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NodeResizeDragHandler, NodeResizeFinalize, NodeResizeFinalizeRequest, NodeResizePreparation, NodeResizePreparationRequest, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, RESIZE_DIRECTIONS, RectConstraint, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStore, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStore, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, RemoveZoomFromStoreExecution, RemoveZoomFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, ResetZoomExecution, ResetZoomRequest, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SetZoomExecution, SetZoomRequest, SnapLineElement, SnapLineService, SnapLinesDragHandler, SnapToGrid, SortContainersForDropByLayer, SortContainersForDropByLayerRequest, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, SourceConnectionDragHandler, SourceTargetConnectionDragHandler, StartDragSequenceExecution, StartDragSequenceRequest, TargetConnectionDragHandler, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, defaultEventTrigger, expandRectFromBaseline, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, infinityMinMax, isClosestConnectorInsideSnapThreshold, isDragBlocker, isDragHandleEnd, isDragHandleStart, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, isPointerInsideStartOrEndDragHandles, isRotateHandle, isValidEventTrigger, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, roundedRectFromPoint, stringAttribute, transitionEnd };
12525
+ export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStore, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddOutletToStore, AddOutletToStoreRequest, AddOutputToStore, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, AddZoomToStoreExecution, AddZoomToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, BaseConnectionDragHandler, BuildDragHierarchy, BuildDragHierarchyRequest, BuildDragHierarchyResponse, CALCULATE_MODES, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedRectFromDifference, CalculateChangedRectFromDifferenceRequest, CalculateClosestConnector, CalculateClosestConnectorRequest, CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByConnectedPositionsRequest, CalculateConnectableSideByInternalPosition, CalculateConnectableSideByInternalPositionRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehavior, CalculateConnectionLineByBehaviorRequest, CalculateDirectChildrenUnionRect, CalculateDirectChildrenUnionRectRequest, CalculateDragLimits, CalculateDragLimitsRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateInputConnections, CalculateInputConnectionsRequest, CalculateNodeConnectorsConnectableSides, CalculateNodeConnectorsConnectableSidesRequest, CalculateNodesBoundingBox, CalculateNodesBoundingBoxNormalizedPosition, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CalculateOutputConnections, CalculateOutputConnectionsRequest, CalculateResizeLimits, CalculateResizeLimitsRequest, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionContentLayoutEngine, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateDragModelFromSelection, CreateDragModelFromSelectionRequest, CreateInputConnectionHandlerAndSetToNodeHandler, CreateInputConnectionHandlerAndSetToNodeHandlerRequest, CreateOutputConnectionHandlerAndSetToNodeHandler, CreateOutputConnectionHandlerAndSetToNodeHandlerRequest, CreateSnapLines, CreateSnapLinesRequest, CreateSummaryDragHandler, CreateSummaryDragHandlerRequest, DRAG_AND_DROP_COMMON_PROVIDERS, Deprecated, DragAndDropBase, DragConstraintPipeline, DropToGroupFinalize, DropToGroupFinalizeRequest, DropToGroupPreparation, DropToGroupPreparationRequest, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EFZoomDirection, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, EventExtensions, ExternalRectConstraint, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FCanvasDragHandler, FCanvasMoveFinalizeExecution, FCanvasMoveFinalizeRequest, FCanvasMovePreparationExecution, FCanvasMovePreparationRequest, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionContent, FConnectionDragHandleEndComponent, FConnectionDragHandleStartComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionDragHandler, FCreateConnectionDragHandlerPreparationExecution, FCreateConnectionDragHandlerPreparationRequest, FCreateConnectionEvent, FCreateConnectionFinalizeExecution, FCreateConnectionFinalizeRequest, FCreateConnectionFromOutletPreparationExecution, FCreateConnectionFromOutletPreparationRequest, FCreateConnectionFromOutputPreparationExecution, FCreateConnectionFromOutputPreparationRequest, FCreateConnectionPreparationExecution, FCreateConnectionPreparationRequest, FCreateNodeEvent, FDragBlockerDirective, FDragHandleDirective, FDragHandlerResult, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemCreatePlaceholderExecution, FExternalItemCreatePlaceholderRequest, FExternalItemCreatePreviewExecution, FExternalItemCreatePreviewRequest, FExternalItemDirective, FExternalItemDragHandler, FExternalItemFinalizeExecution, FExternalItemFinalizeRequest, FExternalItemPlaceholderDirective, FExternalItemPreparationExecution, FExternalItemPreparationRequest, FExternalItemPreviewDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FMoveNodesEvent, FNodeBase, FNodeDirective, FNodeDropToGroupDragHandler, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeMoveFinalizeExecution, FNodeMoveFinalizeRequest, FNodeMovePreparationExecution, FNodeMovePreparationRequest, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FNodeRotateDragHandler, FNodeRotateFinalizeExecution, FNodeRotateFinalizeRequest, FNodeRotatePreparationExecution, FNodeRotatePreparationRequest, FReassignConnectionDragHandler, FReassignConnectionEvent, FReassignConnectionFinalizeExecution, FReassignConnectionFinalizeRequest, FReassignConnectionPreparationExecution, FReassignConnectionPreparationRequest, FReassignSourceDragHandler, FReassignTargetDragHandler, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSingleSelectExecution, FSingleSelectRequest, FSnapConnectionComponent, FSourceConnectorBase, FStraightPathBuilder, FZoomBase, FZoomDirective, F_AFTER_MAIN_PLUGIN, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_BEFORE_MAIN_PLUGIN, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CSS_CLASS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT, F_LINE_ALIGNMENT_FEATURES, F_LINE_ALIGNMENT_PROVIDERS, F_MARKER, F_MINIMAP_DRAG_AND_DROP_PROVIDERS, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_FEATURES, F_ZOOM_PROVIDERS, F_ZOOM_TAG, FindConnectableConnectorUsingPriorityAndPositionExecution, FindConnectableConnectorUsingPriorityAndPositionRequest, FitToChildNodesAndGroups, FitToChildNodesAndGroupsRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputsAndRectsExecution, GetAllCanBeConnectedInputsAndRectsRequest, GetAllCanBeConnectedSourceConnectorsAndRectsExecution, GetAllCanBeConnectedSourceConnectorsAndRectsRequest, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetChildNodeIds, GetChildNodeIdsRequest, GetConnectorAndRect, GetConnectorAndRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFirstConnectableOutputExecution, GetFirstConnectableOutputRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetNodeBoundingIncludePaddings, GetNodeBoundingIncludePaddingsRequest, GetNodeBoundingIncludePaddingsResponse, GetNodePadding, GetNodePaddingRequest, GetNodes, GetNodesRequest, GetNormalizedConnectorRectExecution, GetNormalizedConnectorRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodes, GetParentNodesRequest, IMouseEvent, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsDragStarted, IsDragStartedRequest, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, LogExecutionTime, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MOUSE_EVENT_IGNORE_TIME, MarkConnectableConnectors, MarkConnectableConnectorsRequest, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveDragHandler, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, MoveSummaryDragHandler, NODE_DROP_TO_GROUP_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NodeResizeDragHandler, NodeResizeFinalize, NodeResizeFinalizeRequest, NodeResizePreparation, NodeResizePreparationRequest, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, RESIZE_DIRECTIONS, RectConstraint, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStore, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStore, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, RemoveZoomFromStoreExecution, RemoveZoomFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, ResetZoomExecution, ResetZoomRequest, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SetZoomExecution, SetZoomRequest, SnapLineElement, SnapLineService, SnapLinesDragHandler, SnapToGrid, SortContainersForDropByLayer, SortContainersForDropByLayerRequest, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, SourceConnectionDragHandler, SourceTargetConnectionDragHandler, StartDragSequenceExecution, StartDragSequenceRequest, TargetConnectionDragHandler, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, defaultEventTrigger, expandRectFromBaseline, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, infinityMinMax, isClosestConnectorInsideSnapThreshold, isDragBlocker, isDragHandleEnd, isDragHandleStart, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, isPointerInsideStartOrEndDragHandles, isRotateHandle, isValidEventTrigger, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, roundedRectFromPoint, stringAttribute, transitionEnd };
12216
12526
  //# sourceMappingURL=foblex-flow.mjs.map