@foblex/flow 17.0.6 → 17.0.7

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 (61) hide show
  1. package/domain/f-connection/find-closest-input/find-closest-input.execution.d.ts +11 -0
  2. package/domain/f-connection/{find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.d.ts → find-closest-input/find-closest-input.request.d.ts} +2 -3
  3. package/domain/f-connection/find-closest-input/i-closest-input.d.ts +7 -0
  4. package/domain/f-connection/find-closest-input/index.d.ts +3 -0
  5. package/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.d.ts +2 -3
  6. package/domain/f-connection/index.d.ts +1 -1
  7. package/domain/f-connection/providers.d.ts +2 -2
  8. package/domain/get-normalized-element-rect/get-normalized-element-rect-request.d.ts +2 -1
  9. package/domain/providers.d.ts +1 -1
  10. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/calculate-connection-line-by-behavior.request.mjs +1 -1
  11. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +5 -3
  12. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +19 -29
  13. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +6 -3
  14. package/esm2022/domain/f-connection/find-closest-input/find-closest-input.execution.mjs +42 -0
  15. package/esm2022/domain/f-connection/find-closest-input/find-closest-input.request.mjs +9 -0
  16. package/esm2022/domain/f-connection/find-closest-input/i-closest-input.mjs +2 -0
  17. package/esm2022/domain/f-connection/find-closest-input/index.mjs +4 -0
  18. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect-request.mjs +1 -1
  19. package/esm2022/domain/f-connection/get-connector-with-rect/get-connector-with-rect.execution.mjs +7 -11
  20. package/esm2022/domain/f-connection/index.mjs +2 -2
  21. package/esm2022/domain/f-connection/providers.mjs +3 -3
  22. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +2 -2
  23. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +3 -3
  24. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +4 -2
  25. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +5 -5
  26. package/esm2022/f-connection/f-connection/f-connection.component.mjs +6 -5
  27. package/esm2022/f-draggable/connections/create-connection/create-connection.drag-handler.mjs +33 -19
  28. package/esm2022/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.mjs +29 -21
  29. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +2 -2
  30. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +2 -2
  31. package/esm2022/f-draggable/node/connection-base-drag-handler.mjs +2 -2
  32. package/esm2022/f-draggable/node/connection-source.drag-handler.mjs +2 -2
  33. package/esm2022/f-draggable/node/connection-target.drag-handler.mjs +2 -2
  34. package/esm2022/f-draggable/node/connection.drag-handler.mjs +2 -2
  35. package/esm2022/f-draggable/node/create-move-nodes-drag-model-from-selection/domain/get-node-move-restrictions/get-node-move-restrictions.execution.mjs +2 -2
  36. package/esm2022/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.mjs +15 -8
  37. package/esm2022/f-draggable/node/node-drag-to-parent.drag-handler.mjs +32 -17
  38. package/esm2022/f-draggable/node/node-move-finalize/node-move-finalize.execution.mjs +1 -1
  39. package/esm2022/f-draggable/node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +2 -2
  40. package/esm2022/f-draggable/node-resize/node-resize.drag-handler.mjs +2 -2
  41. package/esm2022/f-external-item/domain/external-item-finalize/external-item-finalize.execution.mjs +2 -2
  42. package/esm2022/f-line-alignment/domain/index.mjs +1 -2
  43. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +17 -12
  44. package/f-connection/f-connection/f-connection.component.d.ts +4 -2
  45. package/f-draggable/connections/create-connection/create-connection.drag-handler.d.ts +8 -4
  46. package/f-draggable/connections/reassign-connection/reassign-connection.drag-handler.d.ts +7 -4
  47. package/f-draggable/node/connection-base-drag-handler.d.ts +1 -1
  48. package/f-draggable/node/node-drag-to-parent-preparation/node-drag-to-parent-preparation.execution.d.ts +4 -3
  49. package/f-draggable/node/node-drag-to-parent.drag-handler.d.ts +9 -4
  50. package/f-line-alignment/domain/index.d.ts +0 -1
  51. package/f-line-alignment/f-line-alignment.component.d.ts +2 -1
  52. package/fesm2022/foblex-flow.mjs +185 -242
  53. package/fesm2022/foblex-flow.mjs.map +1 -1
  54. package/package.json +3 -3
  55. package/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.d.ts +0 -11
  56. package/domain/f-connection/find-closest-input-using-snap-threshold/index.d.ts +0 -2
  57. package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.execution.mjs +0 -39
  58. package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/find-closest-input-using-snap-threshold.request.mjs +0 -11
  59. package/esm2022/domain/f-connection/find-closest-input-using-snap-threshold/index.mjs +0 -3
  60. package/esm2022/f-line-alignment/domain/nearest-coordinate.mjs +0 -104
  61. package/f-line-alignment/domain/nearest-coordinate.d.ts +0 -27
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, inject, Injectable, Directive, ElementRef, Input, HostBinding, EventEmitter, DestroyRef, Output, booleanAttribute, Inject, Component, ChangeDetectionStrategy, ViewChild, Optional, ContentChildren, NgZone, ContentChild, NgModule } from '@angular/core';
3
- import { RectExtensions, RoundedRect, TransformModelExtensions, PointExtensions, Point, SizeExtensions, LineExtensions, GetIntersections, Line, setRectToElement, adjustRectToMinSize, setRectToViewBox } from '@foblex/2d';
3
+ import { RectExtensions, RoundedRect, TransformModelExtensions, PointExtensions, Point, SizeExtensions, LineExtensions, GetIntersections, setRectToElement, adjustRectToMinSize, findClosestAlignment, setRectToViewBox } from '@foblex/2d';
4
4
  import { __decorate } from 'tslib';
5
5
  import * as i2 from '@foblex/mediator';
6
6
  import { FExecutionRegister, FMediator, FValidatorRegister } from '@foblex/mediator';
@@ -918,18 +918,16 @@ function createSVGElement$1(tag, fBrowser) {
918
918
  return fBrowser.document.createElementNS('http://www.w3.org/2000/svg', tag);
919
919
  }
920
920
 
921
- class FindClosestInputUsingSnapThresholdRequest {
921
+ class FindClosestInputRequest {
922
922
  position;
923
923
  canBeConnectedInputs;
924
- snapThreshold;
925
- constructor(position, canBeConnectedInputs, snapThreshold) {
924
+ constructor(position, canBeConnectedInputs) {
926
925
  this.position = position;
927
926
  this.canBeConnectedInputs = canBeConnectedInputs;
928
- this.snapThreshold = snapThreshold;
929
927
  }
930
928
  }
931
929
 
932
- let FindClosestInputUsingSnapThresholdExecution = class FindClosestInputUsingSnapThresholdExecution {
930
+ let FindClosestInputExecution = class FindClosestInputExecution {
933
931
  handle(payload) {
934
932
  let result;
935
933
  let minDistance = Infinity;
@@ -940,7 +938,10 @@ let FindClosestInputUsingSnapThresholdExecution = class FindClosestInputUsingSna
940
938
  result = element;
941
939
  }
942
940
  }
943
- return minDistance < payload.snapThreshold ? result : undefined;
941
+ return result ? {
942
+ ...result,
943
+ distance: minDistance,
944
+ } : undefined;
944
945
  }
945
946
  distanceToRectangle(point, inputWithRect) {
946
947
  const closestX = this.clamp(point.x, inputWithRect.fRect.x, inputWithRect.fRect.x + inputWithRect.fRect.width);
@@ -952,13 +953,13 @@ let FindClosestInputUsingSnapThresholdExecution = class FindClosestInputUsingSna
952
953
  clamp(value, min, max) {
953
954
  return Math.max(min, Math.min(max, value));
954
955
  }
955
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputUsingSnapThresholdExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
956
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputUsingSnapThresholdExecution });
956
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
957
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputExecution });
957
958
  };
958
- FindClosestInputUsingSnapThresholdExecution = __decorate([
959
- FExecutionRegister(FindClosestInputUsingSnapThresholdRequest)
960
- ], FindClosestInputUsingSnapThresholdExecution);
961
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputUsingSnapThresholdExecution, decorators: [{
959
+ FindClosestInputExecution = __decorate([
960
+ FExecutionRegister(FindClosestInputRequest)
961
+ ], FindClosestInputExecution);
962
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FindClosestInputExecution, decorators: [{
962
963
  type: Injectable
963
964
  }] });
964
965
 
@@ -978,8 +979,10 @@ class GetConnectorWithRectRequest {
978
979
 
979
980
  class GetNormalizedElementRectRequest {
980
981
  element;
981
- constructor(element) {
982
+ isRoundedRect;
983
+ constructor(element, isRoundedRect = true) {
982
984
  this.element = element;
985
+ this.isRoundedRect = isRoundedRect;
983
986
  }
984
987
  }
985
988
 
@@ -990,13 +993,13 @@ let GetNormalizedElementRectExecution = class GetNormalizedElementRectExecution
990
993
  return this._fComponentsStore.fCanvas.transform;
991
994
  }
992
995
  handle(request) {
993
- const systemRect = this._getElementRoundedRect(request.element);
996
+ const systemRect = this._getElementRoundedRect(request);
994
997
  const position = this._normalizePosition(systemRect);
995
998
  const size = this._normalizeSize(systemRect);
996
999
  return new RoundedRect(position.x, position.y, size.width, size.height, systemRect.radius1, systemRect.radius2, systemRect.radius3, systemRect.radius4);
997
1000
  }
998
- _getElementRoundedRect(element) {
999
- return this._fMediator.send(new GetElementRoundedRectRequest(element));
1001
+ _getElementRoundedRect(request) {
1002
+ return request.isRoundedRect ? this._fMediator.send(new GetElementRoundedRectRequest(request.element)) : RoundedRect.fromRect(RectExtensions.fromElement(request.element));
1000
1003
  }
1001
1004
  _normalizePosition(rect) {
1002
1005
  return Point.fromPoint(rect).elementTransform(this._fComponentsStore.flowHost).sub(this._transform.scaledPosition).sub(this._transform.position).div(this._transform.scale);
@@ -1015,17 +1018,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
1015
1018
  }] });
1016
1019
 
1017
1020
  let GetConnectorWithRectExecution = class GetConnectorWithRectExecution {
1018
- fMediator;
1019
- constructor(fMediator) {
1020
- this.fMediator = fMediator;
1021
- }
1021
+ _fMediator = inject(FMediator);
1022
1022
  handle(request) {
1023
1023
  return {
1024
1024
  fConnector: request.connector,
1025
- fRect: this.fMediator.send(new GetNormalizedElementRectRequest(request.connector.hostElement))
1025
+ fRect: this._fMediator.send(new GetNormalizedElementRectRequest(request.connector.hostElement, true))
1026
1026
  };
1027
1027
  }
1028
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorWithRectExecution, deps: [{ token: i2.FMediator }], target: i0.ɵɵFactoryTarget.Injectable });
1028
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorWithRectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1029
1029
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorWithRectExecution });
1030
1030
  };
1031
1031
  GetConnectorWithRectExecution = __decorate([
@@ -1033,7 +1033,7 @@ GetConnectorWithRectExecution = __decorate([
1033
1033
  ], GetConnectorWithRectExecution);
1034
1034
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: GetConnectorWithRectExecution, decorators: [{
1035
1035
  type: Injectable
1036
- }], ctorParameters: () => [{ type: i2.FMediator }] });
1036
+ }] });
1037
1037
 
1038
1038
  let GetAllCanBeConnectedInputPositionsExecution = class GetAllCanBeConnectedInputPositionsExecution {
1039
1039
  fComponentsStore;
@@ -2690,7 +2690,7 @@ class FConnectionComponent extends FConnectionBase {
2690
2690
  this._fMediator.send(new RemoveConnectionFromStoreRequest(this));
2691
2691
  }
2692
2692
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: FConnectionFactory }], target: i0.ɵɵFactoryTarget.Component });
2693
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.4", type: FConnectionComponent, selector: "f-connection", inputs: { fId: ["fConnectionId", "fId"], fText: "fText", fTextStartOffset: "fTextStartOffset", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: ["fBehavior", "fBehavior", (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior)], fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled"], fSelectionDisabled: "fSelectionDisabled" }, host: { properties: { "attr.id": "fId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2693
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.4", type: FConnectionComponent, selector: "f-connection", inputs: { fId: ["fConnectionId", "fId"], fText: "fText", fTextStartOffset: "fTextStartOffset", fStartColor: "fStartColor", fEndColor: "fEndColor", fOutputId: "fOutputId", fInputId: "fInputId", fRadius: "fRadius", fOffset: "fOffset", fBehavior: ["fBehavior", "fBehavior", (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior)], fType: "fType", fDraggingDisabled: ["fReassignDisabled", "fDraggingDisabled", booleanAttribute], fSelectionDisabled: ["fSelectionDisabled", "fSelectionDisabled", booleanAttribute] }, host: { properties: { "attr.id": "fId", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, static: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, static: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, static: true }, { propertyName: "fDragHandle", first: true, predicate: FConnectionDragHandleComponent, descendants: true, static: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, static: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, static: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n<div #fConnectionCenter class=\"f-connection-center\" *ngIf=\"fConnectionCenters.length\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n</div>\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionDragHandleComponent, selector: "circle[f-connection-drag-handle]" }, { kind: "component", type: FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2694
2694
  }
2695
2695
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FConnectionComponent, decorators: [{
2696
2696
  type: Component,
@@ -2726,9 +2726,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
2726
2726
  type: Input
2727
2727
  }], fDraggingDisabled: [{
2728
2728
  type: Input,
2729
- args: ['fReassignDisabled']
2729
+ args: [{ alias: 'fReassignDisabled', transform: booleanAttribute }]
2730
2730
  }], fSelectionDisabled: [{
2731
- type: Input
2731
+ type: Input,
2732
+ args: [{ transform: booleanAttribute }]
2732
2733
  }], fDefs: [{
2733
2734
  type: ViewChild,
2734
2735
  args: ['defs', { static: true }]
@@ -2942,42 +2943,39 @@ function _toRoundedRectIntersections(payload) {
2942
2943
  return GetIntersections.getRoundedRectIntersections(payload.inputRect.gravityCenter, payload.outputRect.gravityCenter, payload.inputRect)[0];
2943
2944
  }
2944
2945
  function _getIntersectionsLine(from, to, payload) {
2945
- return new Line(from ? from : payload.outputRect.gravityCenter, to ? to : payload.inputRect.gravityCenter);
2946
+ return {
2947
+ point1: from ? from : payload.outputRect.gravityCenter,
2948
+ point2: to ? to : payload.inputRect.gravityCenter
2949
+ };
2946
2950
  }
2947
2951
 
2948
2952
  function fixedCenterBehavior(payload) {
2949
- return new Line(payload.outputRect.gravityCenter, payload.inputRect.gravityCenter);
2953
+ return {
2954
+ point1: payload.outputRect.gravityCenter,
2955
+ point2: payload.inputRect.gravityCenter
2956
+ };
2950
2957
  }
2951
2958
 
2952
2959
  function fixedOutboundBehavior(payload) {
2953
- return new Line(positions[payload.outputSide === EFConnectableSide.AUTO ? EFConnectableSide.BOTTOM : payload.outputSide](payload.outputRect), positions[payload.inputSide === EFConnectableSide.AUTO ? EFConnectableSide.TOP : payload.inputSide](payload.inputRect));
2960
+ return {
2961
+ point1: _getPosition(payload.outputRect, payload.outputSide === EFConnectableSide.AUTO ? EFConnectableSide.BOTTOM : payload.outputSide),
2962
+ point2: _getPosition(payload.inputRect, payload.inputSide === EFConnectableSide.AUTO ? EFConnectableSide.TOP : payload.inputSide)
2963
+ };
2964
+ }
2965
+ function _getPosition(rect, side) {
2966
+ switch (side) {
2967
+ case EFConnectableSide.TOP:
2968
+ return { x: rect.x + rect.width / 2, y: rect.y };
2969
+ case EFConnectableSide.BOTTOM:
2970
+ return { x: rect.x + rect.width / 2, y: rect.y + rect.height };
2971
+ case EFConnectableSide.LEFT:
2972
+ return { x: rect.x, y: rect.y + rect.height / 2 };
2973
+ case EFConnectableSide.RIGHT:
2974
+ return { x: rect.x + rect.width, y: rect.y + rect.height / 2 };
2975
+ default:
2976
+ throw new Error(`Unknown side: ${side}`);
2977
+ }
2954
2978
  }
2955
- const positions = {
2956
- [EFConnectableSide.TOP]: (rect) => {
2957
- const result = new Point();
2958
- result.y = rect.y;
2959
- result.x = rect.x + rect.width / 2;
2960
- return result;
2961
- },
2962
- [EFConnectableSide.BOTTOM]: (rect) => {
2963
- const result = new Point();
2964
- result.y = rect.y + rect.height;
2965
- result.x = rect.x + rect.width / 2;
2966
- return result;
2967
- },
2968
- [EFConnectableSide.LEFT]: (rect) => {
2969
- const result = new Point();
2970
- result.x = rect.x;
2971
- result.y = rect.y + rect.height / 2;
2972
- return result;
2973
- },
2974
- [EFConnectableSide.RIGHT]: (rect) => {
2975
- const result = new Point();
2976
- result.x = rect.x + rect.width;
2977
- result.y = rect.y + rect.height / 2;
2978
- return result;
2979
- },
2980
- };
2981
2979
 
2982
2980
  let CalculateConnectionLineByBehaviorExecution = class CalculateConnectionLineByBehaviorExecution {
2983
2981
  _handlers = {
@@ -3038,7 +3036,7 @@ let RedrawConnectionsExecution = class RedrawConnectionsExecution {
3038
3036
  connection.isSelected() ? connection.select() : null;
3039
3037
  }
3040
3038
  getLine(output, input, connection) {
3041
- return this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fMediator.send(new GetNormalizedElementRectRequest(output.hostElement)), this.fMediator.send(new GetNormalizedElementRectRequest(input.hostElement)), connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
3039
+ return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this.fMediator.execute(new GetNormalizedElementRectRequest(output.hostElement, true)), this.fMediator.execute(new GetNormalizedElementRectRequest(input.hostElement, true)), connection.fBehavior, output.fConnectableSide, input.fConnectableSide));
3042
3040
  }
3043
3041
  setMarkers(connection) {
3044
3042
  this.fMediator.send(new CreateConnectionMarkersRequest(connection));
@@ -3147,7 +3145,7 @@ const F_CONNECTION_FEATURES = [
3147
3145
  AddConnectionToStoreExecution,
3148
3146
  AddSnapConnectionToStoreExecution,
3149
3147
  CreateConnectionMarkersExecution,
3150
- FindClosestInputUsingSnapThresholdExecution,
3148
+ FindClosestInputExecution,
3151
3149
  GetAllCanBeConnectedInputPositionsExecution,
3152
3150
  CalculateConnectionLineByBehaviorExecution,
3153
3151
  GetConnectorWithRectExecution,
@@ -3789,34 +3787,42 @@ class CreateConnectionDragHandler {
3789
3787
  this.onPointerDownPosition = onPointerDownPosition;
3790
3788
  }
3791
3789
  prepareDragSequence() {
3792
- if (this.fSnapConnection) {
3793
- this.fSnapConnection.fOutputId = this.fOutput.fId;
3794
- this.fSnapConnection.initialize();
3795
- this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fOutput.fId));
3796
- }
3797
- this.fConnection.fOutputId = this.fOutput.fId;
3798
- this.fConnection.initialize();
3790
+ this._initializeSnapConnection();
3791
+ this._initializeConnectionForCreate();
3792
+ this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fOutput.fId));
3799
3793
  this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.fOutput));
3800
3794
  this.toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this.onPointerDownPosition.x, this.onPointerDownPosition.y));
3801
3795
  this.fConnection.show();
3802
3796
  this.onPointerMove(PointExtensions.initialize());
3803
3797
  }
3798
+ _initializeSnapConnection() {
3799
+ if (!this.fSnapConnection) {
3800
+ return;
3801
+ }
3802
+ this.fSnapConnection.fOutputId = this.fOutput.fId;
3803
+ this.fSnapConnection.initialize();
3804
+ }
3805
+ _initializeConnectionForCreate() {
3806
+ this.fConnection.fOutputId = this.fOutput.fId;
3807
+ this.fConnection.initialize();
3808
+ }
3804
3809
  onPointerMove(difference) {
3805
- this.drawTempConnection(this.toConnectorRect.addPoint(difference));
3810
+ const fClosestInput = this._findClosestInput(difference);
3811
+ this._drawConnectionForCreate(this.toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || EFConnectableSide.TOP);
3806
3812
  if (this.fSnapConnection) {
3807
- this.drawSnapConnection(this.getClosetInput(difference));
3813
+ this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
3808
3814
  }
3809
3815
  }
3810
- drawTempConnection(fInputRect) {
3811
- const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, EFConnectableSide.TOP));
3812
- this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, EFConnectableSide.TOP);
3816
+ _drawConnectionForCreate(fInputRect, fSide) {
3817
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fSide));
3818
+ this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
3813
3819
  this.fConnection.redraw();
3814
3820
  }
3815
- drawSnapConnection(fInputWithRect) {
3816
- if (fInputWithRect) {
3817
- const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
3821
+ _drawSnapConnection(fClosestInput) {
3822
+ if (fClosestInput) {
3823
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fClosestInput.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
3818
3824
  this.fSnapConnection.show();
3819
- this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fInputWithRect.fConnector.fConnectableSide);
3825
+ this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
3820
3826
  this.fSnapConnection.redraw();
3821
3827
  }
3822
3828
  else {
@@ -3827,7 +3833,13 @@ class CreateConnectionDragHandler {
3827
3833
  if (!this.fSnapConnection) {
3828
3834
  return undefined;
3829
3835
  }
3830
- return this.fMediator.send(new FindClosestInputUsingSnapThresholdRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs, this.fSnapConnection.fSnapThreshold));
3836
+ return this._getClosestInputForSnapConnection(this._findClosestInput(difference));
3837
+ }
3838
+ _findClosestInput(difference) {
3839
+ return this.fMediator.send(new FindClosestInputRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs));
3840
+ }
3841
+ _getClosestInputForSnapConnection(fClosestInput) {
3842
+ return fClosestInput && fClosestInput.distance < this.fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
3831
3843
  }
3832
3844
  onPointerUp() {
3833
3845
  this.fConnection.redraw();
@@ -4168,15 +4180,19 @@ class ReassignConnectionDragHandler {
4168
4180
  this.fConnection = fConnection;
4169
4181
  }
4170
4182
  prepareDragSequence() {
4171
- if (this.fSnapConnection) {
4172
- this.fSnapConnection.fOutputId = this.fConnection.fOutputId;
4173
- this.fSnapConnection.initialize();
4174
- this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fConnection.fOutputId));
4175
- }
4183
+ this._initializeSnapConnection();
4184
+ this.canBeConnectedInputs = this.fMediator.send(new GetAllCanBeConnectedInputPositionsRequest(this.fConnection.fOutputId));
4176
4185
  this.fOutputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.getOutput()));
4177
4186
  this.fInputWithRect = this.fMediator.send(new GetConnectorWithRectRequest(this.getInput()));
4178
4187
  this.toConnectorRect = RoundedRect.fromRect(RectExtensions.initialize(this.fConnection.line.point2.x, this.fConnection.line.point2.y));
4179
4188
  }
4189
+ _initializeSnapConnection() {
4190
+ if (!this.fSnapConnection) {
4191
+ return;
4192
+ }
4193
+ this.fSnapConnection.fOutputId = this.fConnection.fOutputId;
4194
+ this.fSnapConnection.initialize();
4195
+ }
4180
4196
  getOutput() {
4181
4197
  return this.fComponentsStore.fOutputs.find((x) => x.fId === this.fConnection.fOutputId);
4182
4198
  }
@@ -4184,24 +4200,22 @@ class ReassignConnectionDragHandler {
4184
4200
  return this.fComponentsStore.fInputs.find((x) => x.fId === this.fConnection.fInputId);
4185
4201
  }
4186
4202
  onPointerMove(difference) {
4187
- this.drawConnection({
4188
- fRect: this.toConnectorRect.addPoint(difference),
4189
- fConnector: this.fInputWithRect.fConnector
4190
- });
4203
+ const fClosestInput = this._findClosestInput(difference);
4204
+ this._drawConnection(this.toConnectorRect.addPoint(difference), fClosestInput?.fConnector.fConnectableSide || this.fInputWithRect.fConnector.fConnectableSide);
4191
4205
  if (this.fSnapConnection) {
4192
- this.drawSnapConnection(this.getClosetInput(difference));
4206
+ this._drawSnapConnection(this._getClosestInputForSnapConnection(fClosestInput));
4193
4207
  }
4194
4208
  }
4195
- drawConnection(fInputWithRect) {
4196
- const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
4197
- this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fInputWithRect.fConnector.fConnectableSide);
4209
+ _drawConnection(fInputRect, fSide) {
4210
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputRect, this.fConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fSide));
4211
+ this.fConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fSide);
4198
4212
  this.fConnection.redraw();
4199
4213
  }
4200
- drawSnapConnection(fInputWithRect) {
4201
- if (fInputWithRect) {
4202
- const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fInputWithRect.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fInputWithRect.fConnector.fConnectableSide));
4214
+ _drawSnapConnection(fClosestInput) {
4215
+ if (fClosestInput) {
4216
+ const line = this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, fClosestInput.fRect, this.fSnapConnection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, fClosestInput.fConnector.fConnectableSide));
4203
4217
  this.fSnapConnection.show();
4204
- this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fInputWithRect.fConnector.fConnectableSide);
4218
+ this.fSnapConnection.setLine(line.point1, this.fOutputWithRect.fConnector.fConnectableSide, line.point2, fClosestInput.fConnector.fConnectableSide);
4205
4219
  this.fSnapConnection.redraw();
4206
4220
  }
4207
4221
  else {
@@ -4212,10 +4226,16 @@ class ReassignConnectionDragHandler {
4212
4226
  if (!this.fSnapConnection) {
4213
4227
  return undefined;
4214
4228
  }
4215
- return this.fMediator.send(new FindClosestInputUsingSnapThresholdRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs, this.fSnapConnection.fSnapThreshold));
4229
+ return this._getClosestInputForSnapConnection(this._findClosestInput(difference));
4230
+ }
4231
+ _findClosestInput(difference) {
4232
+ return this.fMediator.send(new FindClosestInputRequest(Point.fromPoint(this.toConnectorRect).add(difference), this.canBeConnectedInputs));
4233
+ }
4234
+ _getClosestInputForSnapConnection(fClosestInput) {
4235
+ return fClosestInput && fClosestInput.distance < this.fSnapConnection.fSnapThreshold ? fClosestInput : undefined;
4216
4236
  }
4217
4237
  onPointerUp() {
4218
- this.drawConnection(this.fInputWithRect);
4238
+ this._drawConnection(this.fInputWithRect.fRect, this.fInputWithRect.fConnector.fConnectableSide);
4219
4239
  this.fSnapConnection?.hide();
4220
4240
  }
4221
4241
  }
@@ -4386,7 +4406,7 @@ let GetNormalizedParentNodeRectExecution = class GetNormalizedParentNodeRectExec
4386
4406
  return RectExtensions.initialize(rect.x + padding[0], rect.y + padding[1], rect.width - padding[0] - padding[2], rect.height - padding[1] - padding[3]);
4387
4407
  }
4388
4408
  _getNodeRect(fNode) {
4389
- return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
4409
+ return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
4390
4410
  }
4391
4411
  getNodePadding(node, rect) {
4392
4412
  return this.fMediator.send(new GetNodePaddingRequest(node, rect));
@@ -4529,7 +4549,7 @@ let IsConnectionUnderNodeExecution = class IsConnectionUnderNodeExecution {
4529
4549
  return connectors.map((x) => x.fId);
4530
4550
  }
4531
4551
  _calculateConnectionsUnderNode(fNode) {
4532
- const fNodeRect = this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
4552
+ const fNodeRect = this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, true));
4533
4553
  return this._fComponentsStore.fConnections.filter((x) => {
4534
4554
  return this._isConnectionHasIntersectionsWithNode(x, fNodeRect);
4535
4555
  });
@@ -4631,7 +4651,7 @@ class ConnectionBaseDragHandler {
4631
4651
  connectorNotFoundPrefix(message) {
4632
4652
  return `ConnectionDragHandler Error: Connection From (fOutput)${this.connection.fOutputId} To (fInput)${this.connection.fInputId}. ${message}. Please ensure that all f-connections are associated with existing connectors`;
4633
4653
  }
4634
- getDifference(difference, restrictions) {
4654
+ getRestrictedDifference(difference, restrictions) {
4635
4655
  return {
4636
4656
  x: Math.min(Math.max(difference.x, restrictions.min.x), restrictions.max.x),
4637
4657
  y: Math.min(Math.max(difference.y, restrictions.min.y), restrictions.max.y)
@@ -4664,7 +4684,7 @@ class ConnectionDragHandler extends ConnectionBaseDragHandler {
4664
4684
  this.redrawConnection(this.getNewLineValue(difference));
4665
4685
  }
4666
4686
  getNewLineValue(difference) {
4667
- return this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getDifference({ ...difference }, this.sourceRestrictions)), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getDifference({ ...difference }, this.targetRestrictions)), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4687
+ return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, this.sourceRestrictions)), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, this.targetRestrictions)), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4668
4688
  }
4669
4689
  }
4670
4690
 
@@ -4680,7 +4700,7 @@ class ConnectionTargetDragHandler extends ConnectionBaseDragHandler {
4680
4700
  this.redrawConnection(this.getNewLineValue(difference));
4681
4701
  }
4682
4702
  getNewLineValue(difference) {
4683
- return this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4703
+ return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(this.fOutputWithRect.fRect, RoundedRect.fromRoundedRect(this.fInputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4684
4704
  }
4685
4705
  }
4686
4706
 
@@ -4769,7 +4789,7 @@ class ConnectionSourceDragHandler extends ConnectionBaseDragHandler {
4769
4789
  this.redrawConnection(this.getNewLineValue(difference));
4770
4790
  }
4771
4791
  getNewLineValue(difference) {
4772
- return this.fMediator.send(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), RoundedRect.fromRoundedRect(this.fInputWithRect.fRect), this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4792
+ return this.fMediator.execute(new CalculateConnectionLineByBehaviorRequest(RoundedRect.fromRoundedRect(this.fOutputWithRect.fRect).addPoint(this.getRestrictedDifference({ ...difference }, { min: this.minDistance, max: this.maxDistance })), this.fInputWithRect.fRect, this.connection.fBehavior, this.fOutputWithRect.fConnector.fConnectableSide, this.fInputWithRect.fConnector.fConnectableSide));
4773
4793
  }
4774
4794
  }
4775
4795
 
@@ -4858,7 +4878,7 @@ let GetNodeMoveRestrictionsExecution = class GetNodeMoveRestrictionsExecution {
4858
4878
  return { ...DEFAULT_RESTRICTIONS };
4859
4879
  }
4860
4880
  _getNodeRect(fNode) {
4861
- return this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
4881
+ return this._fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
4862
4882
  }
4863
4883
  getParentNodeRect(fNode) {
4864
4884
  return this._fMediator.send(new GetNormalizedParentNodeRectRequest(fNode));
@@ -5044,40 +5064,55 @@ class NodeDragToParentDragHandler {
5044
5064
  fComponentsStore;
5045
5065
  fDraggableDataContext;
5046
5066
  notDraggedNodesRects;
5047
- get transform() {
5067
+ DEBOUNCE_TIME = 15;
5068
+ get _transform() {
5048
5069
  return this.fComponentsStore.fCanvas.transform;
5049
5070
  }
5050
- onPointerDownPosition = PointExtensions.initialize();
5071
+ _onPointerDownPosition = PointExtensions.initialize();
5072
+ _debounceTimer = null;
5051
5073
  fNodeWithRect = null;
5052
5074
  constructor(fComponentsStore, fDraggableDataContext, notDraggedNodesRects) {
5053
5075
  this.fComponentsStore = fComponentsStore;
5054
5076
  this.fDraggableDataContext = fDraggableDataContext;
5055
5077
  this.notDraggedNodesRects = notDraggedNodesRects;
5056
- this.onPointerDownPosition = this.fDraggableDataContext.onPointerDownPosition;
5078
+ this._onPointerDownPosition = this.fDraggableDataContext.onPointerDownPosition;
5057
5079
  }
5058
- onPointerMove(difference) {
5059
- let point = Point.fromPoint(this.onPointerDownPosition).add(difference).mult(this.transform.scale);
5060
- const isInclude = this.notDraggedNodesRects.findIndex((x) => RectExtensions.isIncludePoint(x.rect, point));
5061
- if (isInclude !== -1) {
5062
- this.markIncludeNode(this.notDraggedNodesRects[isInclude]);
5080
+ _toggleParentNode(difference) {
5081
+ const isInclude = this._isNodeInsideAnotherNode(this._getNewPosition(difference));
5082
+ if (isInclude) {
5083
+ this._markIncludeNode(isInclude);
5063
5084
  }
5064
5085
  else {
5065
- this.unmarkIncludeNode();
5086
+ this._unmarkIncludeNode();
5087
+ }
5088
+ }
5089
+ _getNewPosition(difference) {
5090
+ return Point.fromPoint(this._onPointerDownPosition).add(difference).mult(this._transform.scale);
5091
+ }
5092
+ _isNodeInsideAnotherNode(point) {
5093
+ return this.notDraggedNodesRects.find((x) => RectExtensions.isIncludePoint(x.rect, point));
5094
+ }
5095
+ onPointerMove(difference) {
5096
+ if (this._debounceTimer) {
5097
+ clearTimeout(this._debounceTimer);
5066
5098
  }
5099
+ this._debounceTimer = setTimeout(() => this._toggleParentNode(difference), this.DEBOUNCE_TIME);
5067
5100
  }
5068
- markIncludeNode(nodeWithRect) {
5069
- this.unmarkIncludeNode();
5101
+ _markIncludeNode(nodeWithRect) {
5102
+ this._unmarkIncludeNode();
5070
5103
  this.fNodeWithRect = nodeWithRect;
5071
5104
  nodeWithRect.node.setClass('f-parent-for-drop');
5072
5105
  }
5073
- unmarkIncludeNode() {
5074
- if (this.fNodeWithRect) {
5075
- this.fNodeWithRect.node.removeClass('f-parent-for-drop');
5076
- }
5106
+ _unmarkIncludeNode() {
5107
+ this.fNodeWithRect?.node.removeClass('f-parent-for-drop');
5077
5108
  this.fNodeWithRect = null;
5078
5109
  }
5079
5110
  onPointerUp() {
5080
- this.unmarkIncludeNode();
5111
+ this._unmarkIncludeNode();
5112
+ if (this._debounceTimer) {
5113
+ clearTimeout(this._debounceTimer);
5114
+ this._debounceTimer = null;
5115
+ }
5081
5116
  }
5082
5117
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentDragHandler, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
5083
5118
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: NodeDragToParentDragHandler, ngImport: i0 });
@@ -5195,23 +5230,30 @@ let NodeDragToParentPreparationExecution = class NodeDragToParentPreparationExec
5195
5230
  if (!fNode) {
5196
5231
  throw new Error('Node not found');
5197
5232
  }
5198
- this.fDraggableDataContext.draggableItems.push(new NodeDragToParentDragHandler(this.fComponentsStore, this.fDraggableDataContext, this.getNotDraggedNodesRects()));
5233
+ this.fDraggableDataContext.draggableItems.push(new NodeDragToParentDragHandler(this.fComponentsStore, this.fDraggableDataContext, this._getNotDraggedNodesRects()));
5199
5234
  }
5200
- getNotDraggedNodesRects() {
5201
- return this.getNotDraggedNodes(this.getDraggedNodes()).map((x) => {
5202
- const rect = this.fMediator.send(new GetNormalizedElementRectRequest(x.hostElement));
5235
+ _getNotDraggedNodesRects() {
5236
+ const draggedNodes = this._addParentNodes(this._getNodesBeingDragged());
5237
+ return this._getNotDraggedNodes(draggedNodes).map((x) => {
5238
+ const rect = this.fMediator.send(new GetNormalizedElementRectRequest(x.hostElement, false));
5203
5239
  return {
5204
5240
  node: x,
5205
5241
  rect: RectExtensions.initialize(rect.x + this.fCanvasPosition.x, rect.y + this.fCanvasPosition.y, rect.width * this.transform.scale, rect.height * this.transform.scale)
5206
5242
  };
5207
5243
  });
5208
5244
  }
5209
- getDraggedNodes() {
5245
+ _getNodesBeingDragged() {
5210
5246
  return this.fDraggableDataContext.draggableItems
5211
5247
  .filter((x) => x instanceof NodeDragHandler)
5212
5248
  .map((x) => x.fNode);
5213
5249
  }
5214
- getNotDraggedNodes(draggedNodes) {
5250
+ _addParentNodes(fNodes) {
5251
+ return fNodes.reduce((result, x) => {
5252
+ result.push(x, ...this.fMediator.send(new GetParentNodesRequest(x)));
5253
+ return result;
5254
+ }, []);
5255
+ }
5256
+ _getNotDraggedNodes(draggedNodes) {
5215
5257
  return this.fNodes.filter((x) => !draggedNodes.includes(x));
5216
5258
  }
5217
5259
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NodeDragToParentPreparationExecution, deps: [{ token: i2.FMediator }, { token: FDraggableDataContext }, { token: FComponentsStore }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -5641,7 +5683,7 @@ let GetNormalizedChildrenNodesRectExecution = class GetNormalizedChildrenNodesRe
5641
5683
  return this.fMediator.send(new GetDeepChildrenNodesAndGroupsRequest(fId));
5642
5684
  }
5643
5685
  normalizeRect(fNode) {
5644
- return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement));
5686
+ return this.fMediator.send(new GetNormalizedElementRectRequest(fNode.hostElement, false));
5645
5687
  }
5646
5688
  concatRectWithParentPadding(rect, padding) {
5647
5689
  return RectExtensions.initialize(rect.x - padding[0], rect.y - padding[1], rect.width + padding[0] + padding[2], rect.height + +padding[1] + padding[3]);
@@ -5734,7 +5776,7 @@ class NodeResizeDragHandler {
5734
5776
  this.fResizeHandleType = fResizeHandleType;
5735
5777
  }
5736
5778
  prepareDragSequence() {
5737
- this.originalRect = this.fMediator.send(new GetNormalizedElementRectRequest(this.fNode.hostElement));
5779
+ this.originalRect = this.fMediator.send(new GetNormalizedElementRectRequest(this.fNode.hostElement, false));
5738
5780
  this.restrictions = this.fMediator.send(new GetNodeResizeRestrictionsRequest(this.fNode, this.originalRect));
5739
5781
  if (this.restrictions.childRect) {
5740
5782
  this.childRestrictions = (rect, restrictionsRect) => {
@@ -6075,7 +6117,7 @@ let ExternalItemFinalizeExecution = class ExternalItemFinalizeExecution {
6075
6117
  return elements.length ? this.flowHost.contains(elements[0]) : false;
6076
6118
  }
6077
6119
  getRectInCanvas() {
6078
- return this.fMediator.send(new GetNormalizedElementRectRequest(this.dragHandler.placeholder));
6120
+ return this.fMediator.send(new GetNormalizedElementRectRequest(this.dragHandler.placeholder, false));
6079
6121
  }
6080
6122
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution, deps: [{ token: FComponentsStore }, { token: FDraggableDataContext }, { token: i2.FMediator }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Injectable });
6081
6123
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ExternalItemFinalizeExecution });
@@ -7153,7 +7195,7 @@ let GetCanBeSelectedItemsExecution = class GetCanBeSelectedItemsExecution {
7153
7195
  return this.fNodes.filter((x) => !x.fSelectionDisabled).map((x) => {
7154
7196
  return {
7155
7197
  element: x,
7156
- rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement)), this.transform.scale)
7198
+ rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement, false)), this.transform.scale)
7157
7199
  };
7158
7200
  });
7159
7201
  }
@@ -7161,7 +7203,7 @@ let GetCanBeSelectedItemsExecution = class GetCanBeSelectedItemsExecution {
7161
7203
  return this.fConnections.filter((x) => !x.fSelectionDisabled).map((x) => {
7162
7204
  return {
7163
7205
  element: x,
7164
- rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.boundingElement)), this.transform.scale)
7206
+ rect: RectExtensions.mult(this._fMediator.send(new GetNormalizedElementRectRequest(x.boundingElement, false)), this.transform.scale)
7165
7207
  };
7166
7208
  });
7167
7209
  }
@@ -8758,110 +8800,6 @@ class LineService {
8758
8800
  }
8759
8801
  }
8760
8802
 
8761
- /**
8762
- * A class to find the nearest coordinate.
8763
- */
8764
- class NearestCoordinateFinder {
8765
- alignThreshold;
8766
- elements;
8767
- target;
8768
- /**
8769
- * Constructor to initialize the NearestCoordinateFinder.
8770
- * @param elements - The array of IRect elements.
8771
- * @param target - The target IRect element.
8772
- * @param alignThreshold - The threshold to align the elements.
8773
- */
8774
- constructor(elements, target, alignThreshold = 10) {
8775
- this.alignThreshold = alignThreshold;
8776
- this.elements = elements;
8777
- this.target = target;
8778
- }
8779
- /**
8780
- * Finds the nearest coordinate on a specified axis.
8781
- * @returns The nearest coordinate and its distance.
8782
- */
8783
- findNearestCoordinateByX() {
8784
- let nearest;
8785
- let minDistance;
8786
- for (const element of this.elements) {
8787
- const distanceLeftLeft = this.target.x - element.x;
8788
- const distanceLeftRight = this.target.x - (element.x + element.width);
8789
- const distanceCenterCenter = this.target.gravityCenter.x - element.gravityCenter.x;
8790
- const distanceRightLeft = (this.target.x + this.target.width) - element.x;
8791
- const distanceRightRight = (this.target.x + this.target.width) - (element.x + element.width);
8792
- if (Math.abs(distanceLeftLeft) <= this.alignThreshold ||
8793
- Math.abs(distanceLeftRight) <= this.alignThreshold ||
8794
- Math.abs(distanceCenterCenter) <= this.alignThreshold ||
8795
- Math.abs(distanceRightLeft) <= this.alignThreshold ||
8796
- Math.abs(distanceRightRight) <= this.alignThreshold) {
8797
- if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
8798
- minDistance = distanceCenterCenter;
8799
- nearest = element.gravityCenter.x;
8800
- }
8801
- if (Math.abs(distanceLeftLeft) < Math.abs(minDistance)) {
8802
- minDistance = distanceLeftLeft;
8803
- nearest = element.x;
8804
- }
8805
- if (Math.abs(distanceRightRight) < Math.abs(minDistance)) {
8806
- minDistance = distanceRightRight;
8807
- nearest = element.x + element.width;
8808
- }
8809
- if (Math.abs(distanceLeftRight) < Math.abs(minDistance)) {
8810
- minDistance = distanceLeftRight;
8811
- nearest = element.x + element.width;
8812
- }
8813
- if (Math.abs(distanceRightLeft) < Math.abs(minDistance)) {
8814
- minDistance = distanceRightLeft;
8815
- nearest = element.x;
8816
- }
8817
- }
8818
- }
8819
- return { value: nearest, distance: minDistance };
8820
- }
8821
- /**
8822
- * Finds the nearest coordinate on a specified axis.
8823
- * @returns The nearest coordinate and its distance.
8824
- */
8825
- findNearestCoordinateByY() {
8826
- let nearest;
8827
- let minDistance;
8828
- for (const element of this.elements) {
8829
- const distanceTopTop = this.target.y - element.y;
8830
- const distanceTopBottom = this.target.y - (element.y + element.height);
8831
- const distanceCenterCenter = this.target.gravityCenter.y - element.gravityCenter.y;
8832
- const distanceBottomTop = (this.target.y + this.target.height) - element.y;
8833
- const distanceBottomBottom = (this.target.y + this.target.height) - (element.y + element.height);
8834
- if (Math.abs(distanceTopTop) <= this.alignThreshold ||
8835
- Math.abs(distanceTopBottom) <= this.alignThreshold ||
8836
- Math.abs(distanceCenterCenter) <= this.alignThreshold ||
8837
- Math.abs(distanceBottomTop) <= this.alignThreshold ||
8838
- Math.abs(distanceBottomBottom) <= this.alignThreshold) {
8839
- if (minDistance === undefined || Math.abs(distanceCenterCenter) < Math.abs(minDistance)) {
8840
- minDistance = distanceCenterCenter;
8841
- nearest = element.gravityCenter.y;
8842
- }
8843
- if (Math.abs(distanceTopTop) < Math.abs(minDistance)) {
8844
- minDistance = distanceTopTop;
8845
- nearest = element.y;
8846
- }
8847
- if (Math.abs(distanceBottomBottom) < Math.abs(minDistance)) {
8848
- minDistance = distanceBottomBottom;
8849
- nearest = element.y + element.height;
8850
- }
8851
- if (Math.abs(distanceTopBottom) < Math.abs(minDistance)) {
8852
- minDistance = distanceTopBottom;
8853
- nearest = element.y + element.height;
8854
- }
8855
- if (Math.abs(distanceBottomTop) < Math.abs(minDistance)) {
8856
- minDistance = distanceBottomTop;
8857
- nearest = element.y;
8858
- }
8859
- }
8860
- }
8861
- return { value: nearest, distance: minDistance };
8862
- }
8863
- }
8864
-
8865
8803
  const F_LINE_ALIGNMENT = new InjectionToken('F_LINE_ALIGNMENT');
8866
8804
  class FLineAlignmentBase {
8867
8805
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FLineAlignmentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -8874,6 +8812,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
8874
8812
  class FLineAlignmentComponent extends FLineAlignmentBase {
8875
8813
  elementReference;
8876
8814
  fDraggableDataContext;
8815
+ DEBOUNCE_TIME = 10;
8877
8816
  fAlignThreshold = 10;
8878
8817
  get hostElement() {
8879
8818
  return this.elementReference.nativeElement;
@@ -8884,12 +8823,10 @@ class FLineAlignmentComponent extends FLineAlignmentBase {
8884
8823
  rects = [];
8885
8824
  _fMediator = inject(FMediator);
8886
8825
  _fCanvas;
8826
+ _debounceTimer = null;
8887
8827
  get _transform() {
8888
8828
  return this._fCanvas.transform;
8889
8829
  }
8890
- get _fFlowHostElement() {
8891
- return this._fMediator.send(new GetFlowHostElementRequest());
8892
- }
8893
8830
  constructor(elementReference, fDraggableDataContext, fBrowser) {
8894
8831
  super();
8895
8832
  this.elementReference = elementReference;
@@ -8901,21 +8838,24 @@ class FLineAlignmentComponent extends FLineAlignmentBase {
8901
8838
  this.fDraggableDataContext.fLineAlignment = this;
8902
8839
  }
8903
8840
  initialize(allNodes, currentNodes) {
8904
- this.size = this._fFlowHostElement.getBoundingClientRect();
8841
+ this.size = this._fMediator.send(new GetFlowHostElementRequest()).getBoundingClientRect();
8905
8842
  this.rects = [];
8906
8843
  const draggedNodeRects = currentNodes.map((x) => {
8907
- return this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement));
8844
+ return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
8908
8845
  });
8909
8846
  this.draggedNodeRect = RectExtensions.union(draggedNodeRects) || RectExtensions.initialize();
8910
8847
  const allNodesExcludeCurrents = allNodes.filter((x) => {
8911
8848
  return !currentNodes.includes(x);
8912
8849
  });
8913
8850
  this.rects = allNodesExcludeCurrents.map((x) => {
8914
- return this._fMediator.send(new GetNormalizedElementRectRequest(x.hostElement));
8851
+ return this._fMediator.execute(new GetNormalizedElementRectRequest(x.hostElement, false));
8915
8852
  });
8916
8853
  }
8917
8854
  handle(difference) {
8918
- this.drawIntersectingLines(difference);
8855
+ if (this._debounceTimer) {
8856
+ clearTimeout(this._debounceTimer);
8857
+ }
8858
+ this._debounceTimer = setTimeout(() => this.drawIntersectingLines(difference), this.DEBOUNCE_TIME);
8919
8859
  }
8920
8860
  drawIntersectingLines(difference) {
8921
8861
  const intersect = this.findNearestCoordinate(difference);
@@ -8934,12 +8874,15 @@ class FLineAlignmentComponent extends FLineAlignmentBase {
8934
8874
  }
8935
8875
  findNearestCoordinate(difference) {
8936
8876
  const rect = RectExtensions.addPoint(this.draggedNodeRect, difference);
8937
- const finder = new NearestCoordinateFinder(this.rects, rect, this.fAlignThreshold);
8938
- return { xResult: finder.findNearestCoordinateByX(), yResult: finder.findNearestCoordinateByY() };
8877
+ return findClosestAlignment(this.rects, rect, this.fAlignThreshold);
8939
8878
  }
8940
8879
  complete() {
8941
8880
  this.lineService.hideVerticalLine();
8942
8881
  this.lineService.hideHorizontalLine();
8882
+ if (this._debounceTimer) {
8883
+ clearTimeout(this._debounceTimer);
8884
+ this._debounceTimer = null;
8885
+ }
8943
8886
  }
8944
8887
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FLineAlignmentComponent, deps: [{ token: i0.ElementRef }, { token: FDraggableDataContext }, { token: i1.BrowserService }], target: i0.ɵɵFactoryTarget.Component });
8945
8888
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FLineAlignmentComponent, selector: "f-line-alignment", inputs: { fAlignThreshold: "fAlignThreshold" }, host: { classAttribute: "f-line-alignment f-component" }, providers: [
@@ -9413,5 +9356,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
9413
9356
  * Generated bundle index. Do not edit.
9414
9357
  */
9415
9358
 
9416
- export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStoreExecution, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStoreExecution, AddNodeToStoreRequest, AddOutletToStoreExecution, AddOutletToStoreRequest, AddOutputToStoreExecution, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, ApplyChildResizeRestrictionsExecution, ApplyChildResizeRestrictionsRequest, ApplyParentResizeRestrictionsExecution, ApplyParentResizeRestrictionsRequest, CANVAS_MOVE_FINALIZE_PROVIDERS, CANVAS_MOVE_PREPARATION_PROVIDERS, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedPositionExecution, CalculateChangedPositionRequest, CalculateChangedSizeExecution, CalculateChangedSizeRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehaviorExecution, CalculateConnectionLineByBehaviorRequest, CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateNodesBoundingBoxExecution, CalculateNodesBoundingBoxNormalizedPositionExecution, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CanvasDragHandler, CanvasMoveFinalizeExecution, CanvasMoveFinalizeRequest, CanvasMoveFinalizeValidator, CanvasMovePreparationExecution, CanvasMovePreparationRequest, CanvasMovePreparationValidator, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionBaseDragHandler, ConnectionDragHandler, ConnectionSourceDragHandler, ConnectionTargetDragHandler, CreateConnectionDragHandler, CreateConnectionDragHandlerExecution, CreateConnectionDragHandlerRequest, CreateConnectionFinalizeExecution, CreateConnectionFinalizeRequest, CreateConnectionFinalizeValidator, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationRequest, CreateConnectionFromOutputPreparationValidator, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparationExecution, CreateConnectionPreparationRequest, CreateConnectionPreparationValidator, CreateMoveNodesDragModelFromSelectionExecution, CreateMoveNodesDragModelFromSelectionRequest, DRAG_AND_DROP_COMMON_PROVIDERS, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EXTERNAL_ITEM_FINALIZE_PROVIDERS, EXTERNAL_ITEM_PREPARATION_PROVIDERS, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, ExternalItemDragHandler, ExternalItemFinalizeExecution, ExternalItemFinalizeRequest, ExternalItemFinalizeValidator, ExternalItemPreparationExecution, ExternalItemPreparationRequest, ExternalItemPreparationValidator, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionEvent, FCreateNodeEvent, FDragHandleDirective, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSnapConnectionComponent, FStraightPathBuilder, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_DRAG_HANDLE_CLASS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_AND_DROP_PLUGIN, F_DRAG_HANDLE, 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_RESIZE_HANDLE, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_PROVIDERS, FindClosestInputUsingSnapThresholdExecution, FindClosestInputUsingSnapThresholdRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputPositionsExecution, GetAllCanBeConnectedInputPositionsRequest, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletRequest, GetCanBeConnectedOutputByOutletValidator, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetConnectorWithRectExecution, GetConnectorWithRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetInputUnderPointerExecution, GetInputUnderPointerRequest, GetInputUnderPointerValidator, GetNodeMoveRestrictionsExecution, GetNodeMoveRestrictionsRequest, GetNodePaddingExecution, GetNodePaddingRequest, GetNodeResizeRestrictionsExecution, GetNodeResizeRestrictionsRequest, GetNodesExecution, GetNodesRequest, GetNormalizedChildrenNodesRectExecution, GetNormalizedChildrenNodesRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodesExecution, GetParentNodesRequest, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsConnectionUnderNodeValidator, IsDragStartedExecution, IsDragStartedRequest, LineElement, LineService, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragFinalizeValidator, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDragPreparationValidator, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS, NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS, NODE_MOVE_FINALIZE_PROVIDERS, NODE_MOVE_PREPARATION_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_FINALIZE_PROVIDERS, NODE_RESIZE_PREPARATION_PROVIDERS, NODE_RESIZE_PROVIDERS, NearestCoordinateFinder, NodeDragHandler, NodeDragToParentDragHandler, NodeDragToParentFinalizeExecution, NodeDragToParentFinalizeRequest, NodeDragToParentFinalizeValidator, NodeDragToParentPreparationExecution, NodeDragToParentPreparationRequest, NodeDragToParentPreparationValidator, NodeMoveFinalizeExecution, NodeMoveFinalizeRequest, NodeMoveFinalizeValidator, NodeMovePreparationExecution, NodeMovePreparationRequest, NodeMovePreparationValidator, NodeResizeByChildDragHandler, NodeResizeDragHandler, NodeResizeFinalizeExecution, NodeResizeFinalizeRequest, NodeResizeFinalizeValidator, NodeResizePreparationExecution, NodeResizePreparationRequest, NodeResizePreparationValidator, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, PutInputConnectionHandlersToArrayExecution, PutInputConnectionHandlersToArrayRequest, PutOutputConnectionHandlersToArrayExecution, PutOutputConnectionHandlersToArrayRequest, RESIZE_DIRECTIONS, ReassignConnectionDragHandler, ReassignConnectionFinalizeExecution, ReassignConnectionFinalizeRequest, ReassignConnectionFinalizeValidator, ReassignConnectionPreparationExecution, ReassignConnectionPreparationRequest, ReassignConnectionPreparationValidator, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStoreExecution, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStoreExecution, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, SELECTION_AREA_FINALIZE_PROVIDERS, SELECTION_AREA_PREPARATION_PROVIDERS, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaFinalizeValidator, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SelectionAreaPreparationValidator, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SingleSelectExecution, SingleSelectRequest, SingleSelectValidator, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, StartDragSequenceExecution, StartDragSequenceRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChangedExecution, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, transitionEnd };
9359
+ export { AddBackgroundToStoreExecution, AddBackgroundToStoreRequest, AddCanvasToStoreExecution, AddCanvasToStoreRequest, AddConnectionForCreateToStoreExecution, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStoreExecution, AddConnectionMarkerToStoreRequest, AddConnectionToStoreExecution, AddConnectionToStoreRequest, AddDndToStoreExecution, AddDndToStoreRequest, AddFlowToStoreExecution, AddFlowToStoreRequest, AddInputToStoreExecution, AddInputToStoreRequest, AddLineAlignmentToStoreExecution, AddLineAlignmentToStoreRequest, AddNodeToStoreExecution, AddNodeToStoreRequest, AddOutletToStoreExecution, AddOutletToStoreRequest, AddOutputToStoreExecution, AddOutputToStoreRequest, AddPatternToBackgroundExecution, AddPatternToBackgroundRequest, AddSnapConnectionToStoreExecution, AddSnapConnectionToStoreRequest, ApplyChildResizeRestrictionsExecution, ApplyChildResizeRestrictionsRequest, ApplyParentResizeRestrictionsExecution, ApplyParentResizeRestrictionsRequest, CANVAS_MOVE_FINALIZE_PROVIDERS, CANVAS_MOVE_PREPARATION_PROVIDERS, CANVAS_PROVIDERS, COMMON_PROVIDERS, CONNECTIONS_PROVIDERS, CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateCenterBetweenPointsHandler, CalculateCenterBetweenPointsRequest, CalculateChangedPositionExecution, CalculateChangedPositionRequest, CalculateChangedSizeExecution, CalculateChangedSizeRequest, CalculateConnectionCenterHandler, CalculateConnectionCenterRequest, CalculateConnectionLineByBehaviorExecution, CalculateConnectionLineByBehaviorRequest, CalculateConnectorConnectableSideHandler, CalculateConnectorConnectableSideRequest, CalculateFlowPointFromMinimapPointExecution, CalculateFlowPointFromMinimapPointRequest, CalculateNodesBoundingBoxExecution, CalculateNodesBoundingBoxNormalizedPositionExecution, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CanvasDragHandler, CanvasMoveFinalizeExecution, CanvasMoveFinalizeRequest, CanvasMoveFinalizeValidator, CanvasMovePreparationExecution, CanvasMovePreparationRequest, CanvasMovePreparationValidator, CenterGroupOrNodeExecution, CenterGroupOrNodeRequest, ClearSelectionExecution, ClearSelectionRequest, ConnectionBaseDragHandler, ConnectionDragHandler, ConnectionSourceDragHandler, ConnectionTargetDragHandler, CreateConnectionDragHandler, CreateConnectionDragHandlerExecution, CreateConnectionDragHandlerRequest, CreateConnectionFinalizeExecution, CreateConnectionFinalizeRequest, CreateConnectionFinalizeValidator, CreateConnectionFromOutletPreparationExecution, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparationExecution, CreateConnectionFromOutputPreparationRequest, CreateConnectionFromOutputPreparationValidator, CreateConnectionMarkersExecution, CreateConnectionMarkersRequest, CreateConnectionPreparationExecution, CreateConnectionPreparationRequest, CreateConnectionPreparationValidator, CreateMoveNodesDragModelFromSelectionExecution, CreateMoveNodesDragModelFromSelectionRequest, DRAG_AND_DROP_COMMON_PROVIDERS, EFConnectableSide, EFConnectionBehavior, EFConnectionType, EFMarkerType, EFResizeHandleType, EXTERNAL_ITEM_FINALIZE_PROVIDERS, EXTERNAL_ITEM_PREPARATION_PROVIDERS, EmitSelectionChangeEventExecution, EmitSelectionChangeEventRequest, EndDragSequenceExecution, EndDragSequenceRequest, ExternalItemDragHandler, ExternalItemFinalizeExecution, ExternalItemFinalizeRequest, ExternalItemFinalizeValidator, ExternalItemPreparationExecution, ExternalItemPreparationRequest, ExternalItemPreparationValidator, FBackgroundBase, FBackgroundComponent, FBezierPathBuilder, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionCenterDirective, FConnectionComponent, FConnectionDragHandleComponent, FConnectionFactory, FConnectionForCreateComponent, FConnectionGradientComponent, FConnectionPathComponent, FConnectionSelectionComponent, FConnectionTextComponent, FConnectionTextPathDirective, FConnectorBase, FCreateConnectionEvent, FCreateNodeEvent, FDragHandleDirective, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItemBase, FExternalItemDirective, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FLineAlignmentBase, FLineAlignmentComponent, FMarkerBase, FMarkerDirective, FMinimapCanvasDirective, FMinimapComponent, FMinimapData, FMinimapDragHandler, FMinimapFlowDirective, FMinimapViewDirective, FNodeBase, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FRotateHandleDirective, FSegmentPathBuilder, FSelectionAreaBase, FSelectionAreaComponent, FSelectionChangeEvent, FSnapConnectionComponent, FStraightPathBuilder, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_DRAG_HANDLE_CLASS, F_CONNECTION_FEATURES, F_CONNECTION_IDENTIFIERS, F_CONNECTION_PROVIDERS, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_AND_DROP_PLUGIN, F_DRAG_HANDLE, 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_RESIZE_HANDLE, F_SELECTED_CLASS, F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_ZOOM, F_ZOOM_PROVIDERS, FindClosestInputExecution, FindClosestInputRequest, FitToFlowExecution, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetAllCanBeConnectedInputPositionsExecution, GetAllCanBeConnectedInputPositionsRequest, GetCanBeConnectedOutputByOutletExecution, GetCanBeConnectedOutputByOutletRequest, GetCanBeConnectedOutputByOutletValidator, GetCanBeSelectedItemsExecution, GetCanBeSelectedItemsRequest, GetCanvasExecution, GetCanvasRequest, GetConnectorWithRectExecution, GetConnectorWithRectRequest, GetCurrentSelectionExecution, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroupsExecution, GetDeepChildrenNodesAndGroupsRequest, GetElementRoundedRectExecution, GetElementRoundedRectRequest, GetFlowExecution, GetFlowHostElementExecution, GetFlowHostElementRequest, GetFlowRequest, GetFlowStateConnectionsExecution, GetFlowStateConnectionsRequest, GetFlowStateExecution, GetFlowStateNodesExecution, GetFlowStateNodesRequest, GetFlowStateRequest, GetInputUnderPointerExecution, GetInputUnderPointerRequest, GetInputUnderPointerValidator, GetNodeMoveRestrictionsExecution, GetNodeMoveRestrictionsRequest, GetNodePaddingExecution, GetNodePaddingRequest, GetNodeResizeRestrictionsExecution, GetNodeResizeRestrictionsRequest, GetNodesExecution, GetNodesRequest, GetNormalizedChildrenNodesRectExecution, GetNormalizedChildrenNodesRectRequest, GetNormalizedElementRectExecution, GetNormalizedElementRectRequest, GetNormalizedParentNodeRectExecution, GetNormalizedParentNodeRectRequest, GetNormalizedPointExecution, GetNormalizedPointRequest, GetParentNodesExecution, GetParentNodesRequest, InitializeDragSequenceExecution, InitializeDragSequenceRequest, InputCanvasPositionExecution, InputCanvasPositionRequest, InputCanvasScaleExecution, InputCanvasScaleRequest, IsArrayHasParentNodeExecution, IsArrayHasParentNodeRequest, IsConnectionUnderNodeExecution, IsConnectionUnderNodeRequest, IsConnectionUnderNodeValidator, IsDragStartedExecution, IsDragStartedRequest, LineElement, LineService, ListenCountChangesExecution, ListenCountChangesRequest, ListenDataChangesExecution, ListenDataChangesRequest, ListenTransformChangesExecution, ListenTransformChangesRequest, MINIMAP_DRAG_FINALIZE_PROVIDERS, MINIMAP_DRAG_PREPARATION_PROVIDERS, MinimapCalculateSvgScaleAndViewBoxExecution, MinimapCalculateSvgScaleAndViewBoxRequest, MinimapCalculateViewBoxExecution, MinimapCalculateViewBoxRequest, MinimapDragFinalizeExecution, MinimapDragFinalizeRequest, MinimapDragFinalizeValidator, MinimapDragPreparationExecution, MinimapDragPreparationRequest, MinimapDragPreparationValidator, MinimapDrawNodesExecution, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElementExecution, MoveFrontElementsBeforeTargetElementRequest, NODE_DRAG_TO_PARENT_FINALIZE_PROVIDERS, NODE_DRAG_TO_PARENT_PREPARATION_PROVIDERS, NODE_MOVE_FINALIZE_PROVIDERS, NODE_MOVE_PREPARATION_PROVIDERS, NODE_PROVIDERS, NODE_RESIZE_FINALIZE_PROVIDERS, NODE_RESIZE_PREPARATION_PROVIDERS, NODE_RESIZE_PROVIDERS, NodeDragHandler, NodeDragToParentDragHandler, NodeDragToParentFinalizeExecution, NodeDragToParentFinalizeRequest, NodeDragToParentFinalizeValidator, NodeDragToParentPreparationExecution, NodeDragToParentPreparationRequest, NodeDragToParentPreparationValidator, NodeMoveFinalizeExecution, NodeMoveFinalizeRequest, NodeMoveFinalizeValidator, NodeMovePreparationExecution, NodeMovePreparationRequest, NodeMovePreparationValidator, NodeResizeByChildDragHandler, NodeResizeDragHandler, NodeResizeFinalizeExecution, NodeResizeFinalizeRequest, NodeResizeFinalizeValidator, NodeResizePreparationExecution, NodeResizePreparationRequest, NodeResizePreparationValidator, NotifyDataChangedExecution, NotifyDataChangedRequest, NotifyTransformChangedExecution, NotifyTransformChangedRequest, OnPointerMoveExecution, OnPointerMoveRequest, PrepareDragSequenceExecution, PrepareDragSequenceRequest, PreventDefaultIsExternalItemExecution, PreventDefaultIsExternalItemRequest, PutInputConnectionHandlersToArrayExecution, PutInputConnectionHandlersToArrayRequest, PutOutputConnectionHandlersToArrayExecution, PutOutputConnectionHandlersToArrayRequest, RESIZE_DIRECTIONS, ReassignConnectionDragHandler, ReassignConnectionFinalizeExecution, ReassignConnectionFinalizeRequest, ReassignConnectionFinalizeValidator, ReassignConnectionPreparationExecution, ReassignConnectionPreparationRequest, ReassignConnectionPreparationValidator, RedrawCanvasWithAnimationExecution, RedrawCanvasWithAnimationRequest, RedrawConnectionsExecution, RedrawConnectionsRequest, RemoveBackgroundFromStoreExecution, RemoveBackgroundFromStoreRequest, RemoveCanvasFromStoreExecution, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStoreExecution, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStoreExecution, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStoreExecution, RemoveConnectionMarkerFromStoreRequest, RemoveDndFromStoreExecution, RemoveDndFromStoreRequest, RemoveFlowFromStoreExecution, RemoveFlowFromStoreRequest, RemoveInputFromStoreExecution, RemoveInputFromStoreRequest, RemoveLineAlignmentFromStoreExecution, RemoveLineAlignmentFromStoreRequest, RemoveNodeFromStoreExecution, RemoveNodeFromStoreRequest, RemoveOutletFromStoreExecution, RemoveOutletFromStoreRequest, RemoveOutputFromStoreExecution, RemoveOutputFromStoreRequest, RemoveSnapConnectionFromStoreExecution, RemoveSnapConnectionFromStoreRequest, ResetScaleAndCenterExecution, ResetScaleAndCenterRequest, ResetScaleExecution, ResetScaleRequest, SELECTION_AREA_FINALIZE_PROVIDERS, SELECTION_AREA_PREPARATION_PROVIDERS, SINGLE_SELECT_PROVIDERS, SelectAllExecution, SelectAllRequest, SelectAndUpdateNodeLayerExecution, SelectAndUpdateNodeLayerRequest, SelectExecution, SelectRequest, SelectionAreaDragHandle, SelectionAreaFinalizeExecution, SelectionAreaFinalizeRequest, SelectionAreaFinalizeValidator, SelectionAreaPreparationExecution, SelectionAreaPreparationRequest, SelectionAreaPreparationValidator, SetBackgroundTransformExecution, SetBackgroundTransformRequest, SingleSelectExecution, SingleSelectRequest, SingleSelectValidator, SortItemLayersExecution, SortItemLayersRequest, SortItemsByParentExecution, SortItemsByParentRequest, SortNodeLayersExecution, SortNodeLayersRequest, StartDragSequenceExecution, StartDragSequenceRequest, UpdateItemAndChildrenLayersExecution, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChangedExecution, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScaleExecution, UpdateScaleRequest, createSVGElement, debounceTime, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getExternalItem, getMarkerEndId, getMarkerSelectedEndId, getMarkerSelectedStartId, getMarkerStartId, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, mixinChangeSelection, mixinChangeVisibility, notifyOnStart, transitionEnd };
9417
9360
  //# sourceMappingURL=foblex-flow.mjs.map