@foblex/flow 17.8.1 → 17.8.2

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.
@@ -10,4 +10,4 @@ import { GetNormalizedConnectorRectExecution } from "./get-normalized-connector-
10
10
  * draggable elements, flow, line alignment, nodes, selection, zoom,
11
11
  * and various utility executions.
12
12
  */
13
- export declare const COMMON_PROVIDERS: (typeof import("./f-canvas").AddCanvasToStoreExecution | typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").RedrawCanvasWithAnimationExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-connection").AddConnectionForCreateToStoreExecution | typeof import("./f-connection").AddConnectionMarkerToStoreExecution | typeof import("./f-connection").AddConnectionToStoreExecution | typeof import("./f-connection").AddSnapConnectionToStoreExecution | typeof import("./f-connection").CreateConnectionMarkersExecution | typeof import("./f-connection").CalculateConnectionLineByBehavior | typeof import("./f-connection").RemoveConnectionFromStoreExecution | typeof import("./f-connection").RemoveConnectionMarkerFromStoreExecution | typeof import("./f-background").AddBackgroundToStoreExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof import("./f-background").RemoveBackgroundFromStoreExecution | typeof import("./f-background").SetBackgroundTransformExecution | typeof import("./f-connectors").AddInputToStore | typeof import("./f-connectors").AddOutletToStore | typeof import("./f-connectors").AddOutputToStore | typeof import("./f-connectors").CalculateClosestConnector | typeof import("./f-connectors").FindConnectableConnectorUsingPriorityAndPositionExecution | typeof import("./f-connectors").GetAllCanBeConnectedSourceConnectorsAndRectsExecution | typeof import("./f-connectors").GetAllCanBeConnectedInputsAndRectsExecution | typeof import("./f-connectors").GetConnectorAndRect | typeof import("./f-connectors").MarkConnectableConnectors | typeof import("./f-connectors").RemoveInputFromStore | typeof import("./f-connectors").RemoveOutletFromStoreExecution | typeof import("./f-connectors").RemoveOutputFromStoreExecution | typeof import("./f-connectors").UnmarkConnectableConnectors | typeof import("./f-draggable").AddDndToStoreExecution | typeof import("./f-draggable").OnPointerMoveExecution | typeof import("./f-flow").AddFlowToStoreExecution | typeof import("./f-flow").GetFlowStateNodesExecution | typeof import("./f-line-alignment").AddLineAlignmentToStoreExecution | typeof import("./f-node").AddNodeToStore | typeof import("./f-node").CalculateInputConnections | typeof import("./f-node").CalculateNodesBoundingBoxNormalizedPosition | typeof import("./f-node").CalculateOutputConnections | typeof import("./f-node").FitToChildNodesAndGroups | typeof import("./f-node").GetChildNodeIds | typeof import("./f-node").GetNodePadding | typeof import("./f-node").GetParentNodes | typeof import("./f-node").UpdateNodeWhenStateOrSizeChanged | typeof import("./f-node").RemoveNodeFromStore | typeof GetElementRoundedRectExecution | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof import("./f-zoom").AddZoomToStoreExecution | typeof import("./f-zoom").SetZoomExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetNormalizedConnectorRectExecution | typeof GetNormalizedElementRectExecution | typeof GetNormalizedPointExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElementExecution)[];
13
+ export declare const COMMON_PROVIDERS: (typeof GetElementRoundedRectExecution | typeof import("./f-canvas").AddCanvasToStoreExecution | typeof import("./f-canvas").CenterGroupOrNodeExecution | typeof import("./f-canvas").FitToFlowExecution | typeof import("./f-canvas").InputCanvasPositionExecution | typeof import("./f-canvas").InputCanvasScaleExecution | typeof import("./f-canvas").RedrawCanvasWithAnimationExecution | typeof import("./f-canvas").ResetScaleAndCenterExecution | typeof import("./f-canvas").UpdateScaleExecution | typeof import("./f-connection").AddConnectionForCreateToStoreExecution | typeof import("./f-connection").AddConnectionMarkerToStoreExecution | typeof import("./f-connection").AddConnectionToStoreExecution | typeof import("./f-connection").AddSnapConnectionToStoreExecution | typeof import("./f-connection").CreateConnectionMarkersExecution | typeof import("./f-connection").CalculateConnectionLineByBehavior | typeof import("./f-connection").RemoveConnectionFromStoreExecution | typeof import("./f-connection").RemoveConnectionMarkerFromStoreExecution | typeof import("./f-background").AddBackgroundToStoreExecution | typeof import("./f-background").AddPatternToBackgroundExecution | typeof import("./f-background").RemoveBackgroundFromStoreExecution | typeof import("./f-background").SetBackgroundTransformExecution | typeof import("./f-connectors").AddInputToStore | typeof import("./f-connectors").AddOutletToStore | typeof import("./f-connectors").AddOutputToStore | typeof import("./f-connectors").CalculateClosestConnector | typeof import("./f-connectors").FindConnectableConnectorUsingPriorityAndPositionExecution | typeof import("./f-connectors").GetAllCanBeConnectedSourceConnectorsAndRectsExecution | typeof import("./f-connectors").GetAllCanBeConnectedInputsAndRectsExecution | typeof import("./f-connectors").GetConnectorAndRect | typeof import("./f-connectors").MarkConnectableConnectors | typeof import("./f-connectors").RemoveInputFromStore | typeof import("./f-connectors").RemoveOutletFromStoreExecution | typeof import("./f-connectors").RemoveOutputFromStoreExecution | typeof import("./f-connectors").UnmarkConnectableConnectors | typeof import("./f-draggable").AddDndToStoreExecution | typeof import("./f-draggable").OnPointerMoveExecution | typeof import("./f-flow").AddFlowToStoreExecution | typeof import("./f-flow").GetFlowStateNodesExecution | typeof import("./f-line-alignment").AddLineAlignmentToStoreExecution | typeof import("./f-node").AddNodeToStore | typeof import("./f-node").CalculateInputConnections | typeof import("./f-node").CalculateNodesBoundingBoxNormalizedPosition | typeof import("./f-node").CalculateOutputConnections | typeof import("./f-node").FitToChildNodesAndGroups | typeof import("./f-node").GetChildNodeIds | typeof import("./f-node").GetNodePadding | typeof import("./f-node").GetParentNodes | typeof import("./f-node").UpdateNodeWhenStateOrSizeChanged | typeof import("./f-node").RemoveNodeFromStore | typeof import("./f-selection").SelectExecution | typeof import("./f-selection").SelectAndUpdateNodeLayerExecution | typeof import("./f-zoom").AddZoomToStoreExecution | typeof import("./f-zoom").SetZoomExecution | typeof GetDeepChildrenNodesAndGroupsExecution | typeof GetNormalizedConnectorRectExecution | typeof GetNormalizedElementRectExecution | typeof GetNormalizedPointExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElementExecution)[];
@@ -8,7 +8,7 @@ import { CONNECTION_TEXT } from './f-connection-text';
8
8
  import { FConnectionFactory } from '../f-connection-builder';
9
9
  import { mixinChangeSelection, mixinChangeVisibility, } from '../../mixins';
10
10
  import { FConnectionCenterDirective } from '../f-connection-center';
11
- import { ConnectionContentLayoutEngine, FConnectionContent, } from '../f-connection-content';
11
+ import { ConnectionContentLayoutEngine, FConnectionContent } from '../f-connection-content';
12
12
  import * as i0 from "@angular/core";
13
13
  const MIXIN_BASE = mixinChangeSelection(mixinChangeVisibility(class {
14
14
  hostElement;
@@ -73,7 +73,7 @@ export class FConnectionBase extends MIXIN_BASE {
73
73
  });
74
74
  }
75
75
  _createTransformString(position, rotate = 0) {
76
- return `position: fixed; pointer-events: all; transform: translate(-50%, -50%) rotate(${rotate}deg); left: ${position.x}px; top: ${position.y}px`;
76
+ return `position: absolute; pointer-events: all; transform: translate(-50%, -50%) rotate(${rotate}deg); left: ${position.x}px; top: ${position.y}px`;
77
77
  }
78
78
  markChildrenAsSelected() {
79
79
  this.fPath().select();
@@ -95,4 +95,4 @@ export class FConnectionBase extends MIXIN_BASE {
95
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, decorators: [{
96
96
  type: Directive
97
97
  }], ctorParameters: () => [] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWlCLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNNUUsT0FBTyxFQUFFLGVBQWUsRUFBbUIsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2pDLG1DQUFtQyxHQUNwQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFHTCxvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0Isa0JBQWtCLEdBQ25CLE1BQU0seUJBQXlCLENBQUM7O0FBRWpDLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUNyQyxxQkFBcUIsQ0FDbkI7SUFDcUI7SUFBbkIsWUFBbUIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0NBQ2hELENBQ0YsQ0FDRixDQUFDO0FBR0YsTUFB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QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzt3R0FqSm1CLGVBQWU7NEZBQWYsZUFBZSx1VkE4RGtCLDBCQUEwQix5RkFJekIsa0JBQWtCLHVNQXRCWixlQUFlLDRGQUVQLG1CQUFtQixtR0FFMUMsbUNBQW1DLGlHQUU1QixpQ0FBaUMsNkZBRXJDLDZCQUE2QixpR0FFUixlQUFlOzs0RkF0RGhFLGVBQWU7a0JBRHBDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgc2lnbmFsLFxuICBTaWduYWwsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTGluZSwgSVBvaW50LCBMaW5lRXh0ZW5zaW9ucywgUG9pbnRFeHRlbnNpb25zIH0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tYmVoYXZpb3InO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uVHlwZSB9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkNvbG9yIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uRnJvbVRvIH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLWZyb20tdG8nO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9QQVRILCBJQ29ubmVjdGlvblBhdGggfSBmcm9tICcuL2YtcGF0aCc7XG5pbXBvcnQgeyBDT05ORUNUSU9OX0dSQURJRU5ULCBJQ29ubmVjdGlvbkdyYWRpZW50IH0gZnJvbSAnLi9mLWdyYWRpZW50JztcbmltcG9ydCB7XG4gIEZDb25uZWN0aW9uRHJhZ0hhbmRsZUVuZENvbXBvbmVudCxcbiAgRkNvbm5lY3Rpb25EcmFnSGFuZGxlU3RhcnRDb21wb25lbnQsXG59IGZyb20gJy4vZi1kcmFnLWhhbmRsZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZi1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9URVhULCBJQ29ubmVjdGlvblRleHQgfSBmcm9tICcuL2YtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IEVGQ29ubmVjdGFibGVTaWRlIH0gZnJvbSAnLi4vLi4vZi1jb25uZWN0b3JzJztcbmltcG9ydCB7IEZDb25uZWN0aW9uRmFjdG9yeSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1idWlsZGVyJztcbmltcG9ydCB7IElIYXNIb3N0RWxlbWVudCB9IGZyb20gJy4uLy4uL2ktaGFzLWhvc3QtZWxlbWVudCc7XG5pbXBvcnQge1xuICBJU2VsZWN0YWJsZSxcbiAgSUNhbkNoYW5nZVZpc2liaWxpdHksXG4gIG1peGluQ2hhbmdlU2VsZWN0aW9uLFxuICBtaXhpbkNoYW5nZVZpc2liaWxpdHksXG59IGZyb20gJy4uLy4uL21peGlucyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1jZW50ZXInO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbkNvbnRlbnRMYXlvdXRFbmdpbmUsXG4gIEZDb25uZWN0aW9uQ29udGVudCxcbn0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWNvbnRlbnQnO1xuXG5jb25zdCBNSVhJTl9CQVNFID0gbWl4aW5DaGFuZ2VTZWxlY3Rpb24oXG4gIG1peGluQ2hhbmdlVmlzaWJpbGl0eShcbiAgICBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7fVxuICAgIH0sXG4gICksXG4pO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ29ubmVjdGlvbkJhc2VcbiAgZXh0ZW5kcyBNSVhJTl9CQVNFXG4gIGltcGxlbWVudHNcbiAgICBJSGFzSG9zdEVsZW1lbnQsXG4gICAgSVNlbGVjdGFibGUsXG4gICAgSUNhbkNoYW5nZVZpc2liaWxpdHksXG4gICAgSUhhc0Nvbm5lY3Rpb25Db2xvcixcbiAgICBJSGFzQ29ubmVjdGlvbkZyb21UbyxcbiAgICBJSGFzQ29ubmVjdGlvblRleHRcbntcbiAgcHJpdmF0ZSByZWFkb25seSBfY29ubmVjdGlvbkZhY3RvcnkgPSBpbmplY3QoRkNvbm5lY3Rpb25GYWN0b3J5KTtcblxuICBwdWJsaWMgYWJzdHJhY3Qgb3ZlcnJpZGUgZklkOiBTaWduYWw8c3RyaW5nPjtcblxuICBwdWJsaWMgcmVhZG9ubHkgZlN0YXJ0Q29sb3IgPSBpbnB1dDxzdHJpbmc+KCdibGFjaycpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmRW5kQ29sb3IgPSBpbnB1dDxzdHJpbmc+KCdibGFjaycpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmT3V0cHV0SWQ6IFNpZ25hbDxzdHJpbmc+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmSW5wdXRJZDogU2lnbmFsPHN0cmluZz47XG5cbiAgcHVibGljIGFic3RyYWN0IGZSYWRpdXM6IG51bWJlcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk9mZnNldDogbnVtYmVyO1xuXG4gIHB1YmxpYyBwYXRoOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgbGluZSA9IExpbmVFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZlJlYXNzaWduYWJsZVN0YXJ0OiBTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmRHJhZ2dpbmdEaXNhYmxlZDogU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgcmVhZG9ubHkgZlNlbGVjdGlvbkRpc2FibGVkOiBTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBib3VuZGluZ0VsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkJlaGF2aW9yOiBFRkNvbm5lY3Rpb25CZWhhdmlvcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlR5cGU6IEVGQ29ubmVjdGlvblR5cGUgfCBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZEZWZzID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8U1ZHRGVmc0VsZW1lbnQ+PignZGVmcycpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmUGF0aCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxJQ29ubmVjdGlvblBhdGg+KENPTk5FQ1RJT05fUEFUSCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZHcmFkaWVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxJQ29ubmVjdGlvbkdyYWRpZW50PihDT05ORUNUSU9OX0dSQURJRU5UKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkRyYWdIYW5kbGVTdGFydCA9IHZpZXdDaGlsZChGQ29ubmVjdGlvbkRyYWdIYW5kbGVTdGFydENvbXBvbmVudCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZEcmFnSGFuZGxlRW5kID0gdmlld0NoaWxkLnJlcXVpcmVkKEZDb25uZWN0aW9uRHJhZ0hhbmRsZUVuZENvbXBvbmVudCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZTZWxlY3Rpb24gPSB2aWV3Q2hpbGQucmVxdWlyZWQoRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmVGV4dENvbXBvbmVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxJQ29ubmVjdGlvblRleHQ+KENPTk5FQ1RJT05fVEVYVCk7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUZXh0OiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUZXh0U3RhcnRPZmZzZXQ6IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgZkNvbm5lY3Rpb25DZW50ZXIgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCdmQ29ubmVjdGlvbkNlbnRlcicpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmQ29ubmVjdGlvbkNlbnRlcnMgPSBjb250ZW50Q2hpbGRyZW4oRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUsIHtcbiAgICBkZXNjZW5kYW50czogdHJ1ZSxcbiAgfSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZDb25uZWN0aW9uQ29udGVudHMgPSBjb250ZW50Q2hpbGRyZW4oRkNvbm5lY3Rpb25Db250ZW50LCB7XG4gICAgZGVzY2VuZGFudHM6IHRydWUsXG4gIH0pO1xuXG4gIHByaXZhdGUgX3BlbnVsdGltYXRlUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIF9zZWNvbmRQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKGluamVjdChFbGVtZW50UmVmPEhUTUxFbGVtZW50PikubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoKCkuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMuZkdyYWRpZW50KCkuaW5pdGlhbGl6ZSgpO1xuICAgIHRoaXMucmVkcmF3KCk7XG4gIH1cblxuICBwdWJsaWMgaXNDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuaG9zdEVsZW1lbnQuZmlyc3RDaGlsZD8ubGFzdENoaWxkIGFzIEhUTUxFbGVtZW50KS5jb250YWlucyhlbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRMaW5lKFxuICAgIHsgcG9pbnQxLCBwb2ludDIgfTogSUxpbmUsXG4gICAgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gICAgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gICk6IHZvaWQge1xuICAgIHRoaXMubGluZSA9IExpbmVFeHRlbnNpb25zLmluaXRpYWxpemUocG9pbnQxLCBwb2ludDIpO1xuICAgIGNvbnN0IHBhdGhSZXN1bHQgPSB0aGlzLl9nZXRQYXRoUmVzdWx0KHBvaW50MSwgc291cmNlU2lkZSwgcG9pbnQyLCB0YXJnZXRTaWRlKTtcblxuICAgIHRoaXMucGF0aCA9IHBhdGhSZXN1bHQucGF0aDtcbiAgICB0aGlzLl9wZW51bHRpbWF0ZVBvaW50ID0gcGF0aFJlc3VsdC5wZW51bHRpbWF0ZVBvaW50IHx8IHBvaW50MTtcbiAgICB0aGlzLl9zZWNvbmRQb2ludCA9IHBhdGhSZXN1bHQuc2Vjb25kUG9pbnQgfHwgcG9pbnQyO1xuXG4gICAgbmV3IENvbm5lY3Rpb25Db250ZW50TGF5b3V0RW5naW5lKCkubGF5b3V0KHRoaXMubGluZSwgcGF0aFJlc3VsdCwgdGhpcy5fY29udGVudHMoKSk7XG5cbiAgICB0aGlzLmZDb25uZWN0aW9uQ2VudGVyKCk/Lm5hdGl2ZUVsZW1lbnQ/LnNldEF0dHJpYnV0ZShcbiAgICAgICdzdHlsZScsXG4gICAgICB0aGlzLl9jcmVhdGVUcmFuc2Zvcm1TdHJpbmcocGF0aFJlc3VsdC5jb25uZWN0aW9uQ2VudGVyKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY29udGVudHMoKTogRkNvbm5lY3Rpb25Db250ZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZkNvbm5lY3Rpb25Db250ZW50cygpPy52YWx1ZXMoKSA/PyBbXSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRQYXRoUmVzdWx0KFxuICAgIHNvdXJjZTogSVBvaW50LFxuICAgIHNvdXJjZVNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICAgIHRhcmdldDogSVBvaW50LFxuICAgIHRhcmdldFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlLFxuICApIHtcbiAgICBjb25zdCByYWRpdXMgPSB0aGlzLmZSYWRpdXMgPiAwID8gdGhpcy5mUmFkaXVzIDogMDtcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmZPZmZzZXQgPiAwID8gdGhpcy5mT2Zmc2V0IDogMTtcblxuICAgIHJldHVybiB0aGlzLl9jb25uZWN0aW9uRmFjdG9yeS5oYW5kbGUoe1xuICAgICAgdHlwZTogdGhpcy5mVHlwZSxcbiAgICAgIHBheWxvYWQ6IHsgc291cmNlLCBzb3VyY2VTaWRlLCB0YXJnZXQsIHRhcmdldFNpZGUsIHJhZGl1cywgb2Zmc2V0IH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVUcmFuc2Zvcm1TdHJpbmcocG9zaXRpb246IElQb2ludCwgcm90YXRlOiBudW1iZXIgPSAwKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHBvc2l0aW9uOiBmaXhlZDsgcG9pbnRlci1ldmVudHM6IGFsbDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKCR7cm90YXRlfWRlZyk7IGxlZnQ6ICR7cG9zaXRpb24ueH1weDsgdG9wOiAke3Bvc2l0aW9uLnl9cHhgO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG1hcmtDaGlsZHJlbkFzU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aCgpLnNlbGVjdCgpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHVubWFya0NoaWxkcmVuQXNTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoKCkuZGVzZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aCgpLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZTZWxlY3Rpb24oKS5zZXRQYXRoKHRoaXMucGF0aCk7XG4gICAgdGhpcy5mR3JhZGllbnQoKS5yZWRyYXcodGhpcy5saW5lKTtcbiAgICB0aGlzLmZEcmFnSGFuZGxlRW5kKCkucmVkcmF3KHRoaXMuX3BlbnVsdGltYXRlUG9pbnQsIHRoaXMubGluZS5wb2ludDIpO1xuICAgIHRoaXMuZkRyYWdIYW5kbGVTdGFydCgpPy5yZWRyYXcodGhpcy5fc2Vjb25kUG9pbnQsIHRoaXMubGluZS5wb2ludDEpO1xuICAgIHRoaXMuZlRleHRDb21wb25lbnQoKS5yZWRyYXcodGhpcy5saW5lKTtcbiAgfVxufVxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGVBQWUsRUFDZixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWlCLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFNNUUsT0FBTyxFQUFFLGVBQWUsRUFBbUIsTUFBTSxVQUFVLENBQUM7QUFDNUQsT0FBTyxFQUFFLG1CQUFtQixFQUF1QixNQUFNLGNBQWMsQ0FBQztBQUN4RSxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2pDLG1DQUFtQyxHQUNwQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFtQixNQUFNLHFCQUFxQixDQUFDO0FBRXZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFHTCxvQkFBb0IsRUFDcEIscUJBQXFCLEdBQ3RCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU1RixNQUFNLFVBQVUsR0FBRyxvQkFBb0IsQ0FDckMscUJBQXFCLENBQ25CO0lBQ3FCO0lBQW5CLFlBQW1CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQztDQUNoRCxDQUNGLENBQ0YsQ0FBQztBQUdGLE1BQU0s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SUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7d0dBakptQixlQUFlOzRGQUFmLGVBQWUsdVZBOERrQiwwQkFBMEIseUZBSXpCLGtCQUFrQix1TUF0QlosZUFBZSw0RkFFUCxtQkFBbUIsbUdBRTFDLG1DQUFtQyxpR0FFNUIsaUNBQWlDLDZGQUVyQyw2QkFBNkIsaUdBRVIsZUFBZTs7NEZBdERoRSxlQUFlO2tCQURwQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgU2lnbmFsLFxuICB2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUxpbmUsIElQb2ludCwgTGluZUV4dGVuc2lvbnMsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuL2UtZi1jb25uZWN0aW9uLWJlaGF2aW9yJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvblR5cGUgfSBmcm9tICcuL2UtZi1jb25uZWN0aW9uLXR5cGUnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4vaS1oYXMtY29ubmVjdGlvbi1jb2xvcic7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkZyb21UbyB9IGZyb20gJy4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4vaS1oYXMtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IENPTk5FQ1RJT05fUEFUSCwgSUNvbm5lY3Rpb25QYXRoIH0gZnJvbSAnLi9mLXBhdGgnO1xuaW1wb3J0IHsgQ09OTkVDVElPTl9HUkFESUVOVCwgSUNvbm5lY3Rpb25HcmFkaWVudCB9IGZyb20gJy4vZi1ncmFkaWVudCc7XG5pbXBvcnQge1xuICBGQ29ubmVjdGlvbkRyYWdIYW5kbGVFbmRDb21wb25lbnQsXG4gIEZDb25uZWN0aW9uRHJhZ0hhbmRsZVN0YXJ0Q29tcG9uZW50LFxufSBmcm9tICcuL2YtZHJhZy1oYW5kbGUnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uJztcbmltcG9ydCB7IENPTk5FQ1RJT05fVEVYVCwgSUNvbm5lY3Rpb25UZXh0IH0gZnJvbSAnLi9mLWNvbm5lY3Rpb24tdGV4dCc7XG5pbXBvcnQgeyBFRkNvbm5lY3RhYmxlU2lkZSB9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQgeyBJSGFzSG9zdEVsZW1lbnQgfSBmcm9tICcuLi8uLi9pLWhhcy1ob3N0LWVsZW1lbnQnO1xuaW1wb3J0IHtcbiAgSVNlbGVjdGFibGUsXG4gIElDYW5DaGFuZ2VWaXNpYmlsaXR5LFxuICBtaXhpbkNoYW5nZVNlbGVjdGlvbixcbiAgbWl4aW5DaGFuZ2VWaXNpYmlsaXR5LFxufSBmcm9tICcuLi8uLi9taXhpbnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tY2VudGVyJztcbmltcG9ydCB7IENvbm5lY3Rpb25Db250ZW50TGF5b3V0RW5naW5lLCBGQ29ubmVjdGlvbkNvbnRlbnQgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tY29udGVudCc7XG5cbmNvbnN0IE1JWElOX0JBU0UgPSBtaXhpbkNoYW5nZVNlbGVjdGlvbihcbiAgbWl4aW5DaGFuZ2VWaXNpYmlsaXR5KFxuICAgIGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQpIHt9XG4gICAgfSxcbiAgKSxcbik7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZDb25uZWN0aW9uQmFzZVxuICBleHRlbmRzIE1JWElOX0JBU0VcbiAgaW1wbGVtZW50c1xuICAgIElIYXNIb3N0RWxlbWVudCxcbiAgICBJU2VsZWN0YWJsZSxcbiAgICBJQ2FuQ2hhbmdlVmlzaWJpbGl0eSxcbiAgICBJSGFzQ29ubmVjdGlvbkNvbG9yLFxuICAgIElIYXNDb25uZWN0aW9uRnJvbVRvLFxuICAgIElIYXNDb25uZWN0aW9uVGV4dFxue1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb25uZWN0aW9uRmFjdG9yeSA9IGluamVjdChGQ29ubmVjdGlvbkZhY3RvcnkpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBvdmVycmlkZSBmSWQ6IFNpZ25hbDxzdHJpbmc+O1xuXG4gIHB1YmxpYyByZWFkb25seSBmU3RhcnRDb2xvciA9IGlucHV0PHN0cmluZz4oJ2JsYWNrJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZFbmRDb2xvciA9IGlucHV0PHN0cmluZz4oJ2JsYWNrJyk7XG5cbiAgcHVibGljIGFic3RyYWN0IGZPdXRwdXRJZDogU2lnbmFsPHN0cmluZz47XG5cbiAgcHVibGljIGFic3RyYWN0IGZJbnB1dElkOiBTaWduYWw8c3RyaW5nPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlJhZGl1czogbnVtYmVyO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmT2Zmc2V0OiBudW1iZXI7XG5cbiAgcHVibGljIHBhdGg6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBsaW5lID0gTGluZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmUmVhc3NpZ25hYmxlU3RhcnQ6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZEcmFnZ2luZ0Rpc2FibGVkOiBTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSByZWFkb25seSBmU2VsZWN0aW9uRGlzYWJsZWQ6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIGFic3RyYWN0IGJvdW5kaW5nRWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVHlwZTogRUZDb25uZWN0aW9uVHlwZSB8IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgZkRlZnMgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD4+KCdkZWZzJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZQYXRoID0gdmlld0NoaWxkLnJlcXVpcmVkPElDb25uZWN0aW9uUGF0aD4oQ09OTkVDVElPTl9QQVRIKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkdyYWRpZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkPElDb25uZWN0aW9uR3JhZGllbnQ+KENPTk5FQ1RJT05fR1JBRElFTlQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmRHJhZ0hhbmRsZVN0YXJ0ID0gdmlld0NoaWxkKEZDb25uZWN0aW9uRHJhZ0hhbmRsZVN0YXJ0Q29tcG9uZW50KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkRyYWdIYW5kbGVFbmQgPSB2aWV3Q2hpbGQucmVxdWlyZWQoRkNvbm5lY3Rpb25EcmFnSGFuZGxlRW5kQ29tcG9uZW50KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZlNlbGVjdGlvbiA9IHZpZXdDaGlsZC5yZXF1aXJlZChGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZUZXh0Q29tcG9uZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkPElDb25uZWN0aW9uVGV4dD4oQ09OTkVDVElPTl9URVhUKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZlRleHQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZlRleHRTdGFydE9mZnNldDogc3RyaW5nO1xuXG4gIHB1YmxpYyByZWFkb25seSBmQ29ubmVjdGlvbkNlbnRlciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oJ2ZDb25uZWN0aW9uQ2VudGVyJyk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZDb25uZWN0aW9uQ2VudGVycyA9IGNvbnRlbnRDaGlsZHJlbihGQ29ubmVjdGlvbkNlbnRlckRpcmVjdGl2ZSwge1xuICAgIGRlc2NlbmRhbnRzOiB0cnVlLFxuICB9KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkNvbm5lY3Rpb25Db250ZW50cyA9IGNvbnRlbnRDaGlsZHJlbihGQ29ubmVjdGlvbkNvbnRlbnQsIHtcbiAgICBkZXNjZW5kYW50czogdHJ1ZSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfcGVudWx0aW1hdGVQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIHByaXZhdGUgX3NlY29uZFBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoaW5qZWN0KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KS5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGgoKS5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5mR3JhZGllbnQoKS5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0NvbnRhaW5zKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5ob3N0RWxlbWVudC5maXJzdENoaWxkPy5sYXN0Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLmNvbnRhaW5zKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHNldExpbmUoXG4gICAgeyBwb2ludDEsIHBvaW50MiB9OiBJTGluZSxcbiAgICBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgICB0YXJnZXRTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5saW5lID0gTGluZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZShwb2ludDEsIHBvaW50Mik7XG4gICAgY29uc3QgcGF0aFJlc3VsdCA9IHRoaXMuX2dldFBhdGhSZXN1bHQocG9pbnQxLCBzb3VyY2VTaWRlLCBwb2ludDIsIHRhcmdldFNpZGUpO1xuXG4gICAgdGhpcy5wYXRoID0gcGF0aFJlc3VsdC5wYXRoO1xuICAgIHRoaXMuX3BlbnVsdGltYXRlUG9pbnQgPSBwYXRoUmVzdWx0LnBlbnVsdGltYXRlUG9pbnQgfHwgcG9pbnQxO1xuICAgIHRoaXMuX3NlY29uZFBvaW50ID0gcGF0aFJlc3VsdC5zZWNvbmRQb2ludCB8fCBwb2ludDI7XG5cbiAgICBuZXcgQ29ubmVjdGlvbkNvbnRlbnRMYXlvdXRFbmdpbmUoKS5sYXlvdXQodGhpcy5saW5lLCBwYXRoUmVzdWx0LCB0aGlzLl9jb250ZW50cygpKTtcblxuICAgIHRoaXMuZkNvbm5lY3Rpb25DZW50ZXIoKT8ubmF0aXZlRWxlbWVudD8uc2V0QXR0cmlidXRlKFxuICAgICAgJ3N0eWxlJyxcbiAgICAgIHRoaXMuX2NyZWF0ZVRyYW5zZm9ybVN0cmluZyhwYXRoUmVzdWx0LmNvbm5lY3Rpb25DZW50ZXIpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9jb250ZW50cygpOiBGQ29ubmVjdGlvbkNvbnRlbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5mQ29ubmVjdGlvbkNvbnRlbnRzKCk/LnZhbHVlcygpID8/IFtdKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFBhdGhSZXN1bHQoXG4gICAgc291cmNlOiBJUG9pbnQsXG4gICAgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gICAgdGFyZ2V0OiBJUG9pbnQsXG4gICAgdGFyZ2V0U2lkZTogRUZDb25uZWN0YWJsZVNpZGUsXG4gICkge1xuICAgIGNvbnN0IHJhZGl1cyA9IHRoaXMuZlJhZGl1cyA+IDAgPyB0aGlzLmZSYWRpdXMgOiAwO1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuZk9mZnNldCA+IDAgPyB0aGlzLmZPZmZzZXQgOiAxO1xuXG4gICAgcmV0dXJuIHRoaXMuX2Nvbm5lY3Rpb25GYWN0b3J5LmhhbmRsZSh7XG4gICAgICB0eXBlOiB0aGlzLmZUeXBlLFxuICAgICAgcGF5bG9hZDogeyBzb3VyY2UsIHNvdXJjZVNpZGUsIHRhcmdldCwgdGFyZ2V0U2lkZSwgcmFkaXVzLCBvZmZzZXQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVRyYW5zZm9ybVN0cmluZyhwb3NpdGlvbjogSVBvaW50LCByb3RhdGU6IG51bWJlciA9IDApOiBzdHJpbmcge1xuICAgIHJldHVybiBgcG9zaXRpb246IGFic29sdXRlOyBwb2ludGVyLWV2ZW50czogYWxsOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoJHtyb3RhdGV9ZGVnKTsgbGVmdDogJHtwb3NpdGlvbi54fXB4OyB0b3A6ICR7cG9zaXRpb24ueX1weGA7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgbWFya0NoaWxkcmVuQXNTZWxlY3RlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoKCkuc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgdW5tYXJrQ2hpbGRyZW5Bc1NlbGVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGgoKS5kZXNlbGVjdCgpO1xuICB9XG5cbiAgcHVibGljIHJlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLmZQYXRoKCkuc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZlNlbGVjdGlvbigpLnNldFBhdGgodGhpcy5wYXRoKTtcbiAgICB0aGlzLmZHcmFkaWVudCgpLnJlZHJhdyh0aGlzLmxpbmUpO1xuICAgIHRoaXMuZkRyYWdIYW5kbGVFbmQoKS5yZWRyYXcodGhpcy5fcGVudWx0aW1hdGVQb2ludCwgdGhpcy5saW5lLnBvaW50Mik7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZVN0YXJ0KCk/LnJlZHJhdyh0aGlzLl9zZWNvbmRQb2ludCwgdGhpcy5saW5lLnBvaW50MSk7XG4gICAgdGhpcy5mVGV4dENvbXBvbmVudCgpLnJlZHJhdyh0aGlzLmxpbmUpO1xuICB9XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  import { FBackgroundComponent } from './f-background.component';
2
2
  import { FRectPatternComponent } from './f-rect-pattern';
3
3
  import { FCirclePatternComponent } from './f-circle-pattern';
4
- export declare const F_BACKGROUND_PROVIDERS: (typeof FBackgroundComponent | typeof FRectPatternComponent | typeof FCirclePatternComponent)[];
4
+ export declare const F_BACKGROUND_PROVIDERS: (typeof FRectPatternComponent | typeof FCirclePatternComponent | typeof FBackgroundComponent)[];
@@ -4,4 +4,4 @@ import { FConnectionCenterDirective } from './f-connection-center';
4
4
  import { FConnectionForCreateComponent } from './f-connection-for-create';
5
5
  import { FMarkerDirective } from './f-marker';
6
6
  import { FSnapConnectionComponent } from './f-snap-connection';
7
- export declare const F_CONNECTION_PROVIDERS: (typeof FConnectionDragHandleStartComponent | typeof FConnectionDragHandleEndComponent | typeof FConnectionSelectionComponent | typeof FConnectionCenterDirective | typeof FConnectionTextComponent | typeof FConnectionTextPathDirective | typeof FConnectionGradientComponent | typeof FConnectionPathComponent | typeof FConnectionComponent | typeof FConnectionForCreateComponent | typeof FMarkerDirective | typeof FSnapConnectionComponent)[];
7
+ export declare const F_CONNECTION_PROVIDERS: (typeof FConnectionDragHandleStartComponent | typeof FConnectionDragHandleEndComponent | typeof FConnectionSelectionComponent | typeof FConnectionCenterDirective | typeof FConnectionTextPathDirective | typeof FConnectionTextComponent | typeof FConnectionGradientComponent | typeof FConnectionPathComponent | typeof FConnectionForCreateComponent | typeof FConnectionComponent | typeof FMarkerDirective | typeof FSnapConnectionComponent)[];
@@ -1,4 +1,4 @@
1
1
  import { IsArrayHasParentNodeExecution } from './is-array-has-parent-node';
2
2
  import { GetNormalizedParentNodeRectExecution } from './get-normalized-parent-node-rect';
3
3
  import { IsConnectionUnderNodeExecution } from './is-connection-under-node';
4
- export declare const DRAG_AND_DROP_COMMON_PROVIDERS: (typeof IsConnectionUnderNodeExecution | typeof GetNormalizedParentNodeRectExecution | typeof IsArrayHasParentNodeExecution)[];
4
+ export declare const DRAG_AND_DROP_COMMON_PROVIDERS: (typeof GetNormalizedParentNodeRectExecution | typeof IsArrayHasParentNodeExecution | typeof IsConnectionUnderNodeExecution)[];
@@ -1,3 +1,3 @@
1
1
  import { FCreateConnectionDragHandlerPreparationExecution, FCreateConnectionFinalizeExecution, FCreateConnectionFromOutletPreparationExecution, FCreateConnectionFromOutputPreparationExecution, FCreateConnectionPreparationExecution, GetFirstConnectableOutputExecution } from './f-create-connection';
2
2
  import { FReassignConnectionFinalizeExecution, FReassignConnectionPreparationExecution } from './f-reassign-connection';
3
- export declare const CONNECTIONS_PROVIDERS: (typeof FCreateConnectionPreparationExecution | typeof FReassignConnectionFinalizeExecution | typeof FReassignConnectionPreparationExecution | typeof FCreateConnectionFromOutputPreparationExecution | typeof FCreateConnectionFromOutletPreparationExecution | typeof FCreateConnectionFinalizeExecution | typeof FCreateConnectionDragHandlerPreparationExecution | typeof GetFirstConnectableOutputExecution)[];
3
+ export declare const CONNECTIONS_PROVIDERS: (typeof GetFirstConnectableOutputExecution | typeof FCreateConnectionFinalizeExecution | typeof FCreateConnectionDragHandlerPreparationExecution | typeof FCreateConnectionFromOutletPreparationExecution | typeof FCreateConnectionFromOutputPreparationExecution | typeof FReassignConnectionFinalizeExecution | typeof FReassignConnectionPreparationExecution | typeof FCreateConnectionPreparationExecution)[];
@@ -1,4 +1,4 @@
1
1
  import { DropToGroupPreparation } from './drop-to-group-preparation';
2
2
  import { DropToGroupFinalize } from './drop-to-group-finalize';
3
3
  import { SortContainersForDropByLayer } from './sort-containers-for-drop-by-layer';
4
- export declare const NODE_DROP_TO_GROUP_PROVIDERS: (typeof SortContainersForDropByLayer | typeof DropToGroupPreparation | typeof DropToGroupFinalize)[];
4
+ export declare const NODE_DROP_TO_GROUP_PROVIDERS: (typeof DropToGroupFinalize | typeof SortContainersForDropByLayer | typeof DropToGroupPreparation)[];
@@ -5,4 +5,4 @@ import { BuildDragHierarchy } from "./build-drag-hierarchy";
5
5
  import { CalculateDragLimits } from "./calculate-drag-limits";
6
6
  import { CreateSummaryDragHandler } from "./create-summary-drag-handler";
7
7
  import { GetNodeBoundingIncludePaddings } from "./get-node-bounding-include-paddings";
8
- export declare const CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS: (typeof CalculateDragLimits | typeof BuildDragHierarchy | typeof CreateSummaryDragHandler | typeof CreateInputConnectionHandlerAndSetToNodeHandler | typeof CreateOutputConnectionHandlerAndSetToNodeHandler | typeof GetNodeBoundingIncludePaddings | typeof CreateDragModelFromSelection)[];
8
+ export declare const CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS: (typeof BuildDragHierarchy | typeof GetNodeBoundingIncludePaddings | typeof CalculateDragLimits | typeof CreateSummaryDragHandler | typeof CreateInputConnectionHandlerAndSetToNodeHandler | typeof CreateOutputConnectionHandlerAndSetToNodeHandler | typeof CreateDragModelFromSelection)[];
@@ -1,4 +1,4 @@
1
1
  import { FNodeMoveFinalizeExecution } from './move-finalize';
2
2
  import { FNodeMovePreparationExecution } from './move-preparation';
3
3
  import { CreateSnapLines } from './create-snap-lines';
4
- export declare const NODE_PROVIDERS: (typeof import("./create-drag-model-from-selection").CalculateDragLimits | typeof import("./create-drag-model-from-selection").BuildDragHierarchy | typeof import("./create-drag-model-from-selection").CreateSummaryDragHandler | typeof import("./create-drag-model-from-selection").CreateInputConnectionHandlerAndSetToNodeHandler | typeof import("./create-drag-model-from-selection").CreateOutputConnectionHandlerAndSetToNodeHandler | typeof import("./create-drag-model-from-selection").GetNodeBoundingIncludePaddings | typeof import("./create-drag-model-from-selection").CreateDragModelFromSelection | typeof CreateSnapLines | typeof FNodeMoveFinalizeExecution | typeof FNodeMovePreparationExecution)[];
4
+ export declare const NODE_PROVIDERS: (typeof import("./create-drag-model-from-selection").BuildDragHierarchy | typeof import("./create-drag-model-from-selection").GetNodeBoundingIncludePaddings | typeof import("./create-drag-model-from-selection").CalculateDragLimits | typeof import("./create-drag-model-from-selection").CreateSummaryDragHandler | typeof import("./create-drag-model-from-selection").CreateInputConnectionHandlerAndSetToNodeHandler | typeof import("./create-drag-model-from-selection").CreateOutputConnectionHandlerAndSetToNodeHandler | typeof import("./create-drag-model-from-selection").CreateDragModelFromSelection | typeof CreateSnapLines | typeof FNodeMovePreparationExecution | typeof FNodeMoveFinalizeExecution)[];
@@ -1 +1 @@
1
- export declare const F_DRAGGABLE_PROVIDERS: (typeof import("./f-connection").FCreateConnectionPreparationExecution | typeof import("./f-connection").FReassignConnectionFinalizeExecution | typeof import("./f-connection").FReassignConnectionPreparationExecution | typeof import("./f-connection").FCreateConnectionFromOutputPreparationExecution | typeof import("./f-connection").FCreateConnectionFromOutletPreparationExecution | typeof import("./f-connection").FCreateConnectionFinalizeExecution | typeof import("./f-connection").FCreateConnectionDragHandlerPreparationExecution | typeof import("./f-connection").GetFirstConnectableOutputExecution | typeof import("./domain").IsConnectionUnderNodeExecution | typeof import("./f-node-move").CalculateDragLimits | typeof import("./f-canvas").FCanvasMoveFinalizeExecution | typeof import("./f-canvas").FCanvasMovePreparationExecution | typeof import("./domain").GetNormalizedParentNodeRectExecution | typeof import("./domain").IsArrayHasParentNodeExecution | typeof import("./f-single-select").FSingleSelectExecution | typeof import("../f-external-item").FExternalItemCreatePlaceholderExecution | typeof import("../f-external-item").FExternalItemCreatePreviewExecution | typeof import("../f-external-item").FExternalItemFinalizeExecution | typeof import("../f-external-item").FExternalItemPreparationExecution | typeof import("../f-external-item").PreventDefaultIsExternalItemExecution | typeof import("./f-node-move").BuildDragHierarchy | typeof import("./f-node-move").CreateSummaryDragHandler | typeof import("./f-node-move").CreateInputConnectionHandlerAndSetToNodeHandler | typeof import("./f-node-move").CreateOutputConnectionHandlerAndSetToNodeHandler | typeof import("./f-node-move").GetNodeBoundingIncludePaddings | typeof import("./f-node-move").CreateDragModelFromSelection | typeof import("./f-node-move").CreateSnapLines | typeof import("./f-node-move").FNodeMoveFinalizeExecution | typeof import("./f-node-move").FNodeMovePreparationExecution | typeof import("./f-drop-to-group").SortContainersForDropByLayer | typeof import("./f-drop-to-group").DropToGroupPreparation | typeof import("./f-drop-to-group").DropToGroupFinalize | typeof import("./f-node-resize").ApplyChildResizeConstraints | typeof import("./f-node-resize").ApplyParentResizeConstraints | typeof import("./f-node-resize").CalculateChangedRectFromDifference | typeof import("./f-node-resize").CalculateDirectChildrenUnionRect | typeof import("./f-node-resize").CalculateResizeLimits | typeof import("./f-node-resize").NodeResizeFinalize | typeof import("./f-node-resize").NodeResizePreparation | typeof import("./f-node-rotate").FNodeRotateFinalizeExecution | typeof import("./f-node-rotate").FNodeRotatePreparationExecution | typeof import("../f-selection-area").SelectionAreaPreparationExecution | typeof import("../f-selection-area").SelectionAreaFinalizeExecution | typeof import("@foblex/flow").CalculateFlowPointFromMinimapPointExecution | typeof import("@foblex/flow").MinimapDragFinalizeExecution | typeof import("@foblex/flow").MinimapDragPreparationExecution | typeof import("@foblex/flow").MinimapDrawNodesExecution | typeof import("@foblex/flow").MinimapCalculateSvgScaleAndViewBoxExecution | typeof import("@foblex/flow").MinimapCalculateViewBoxExecution)[];
1
+ export declare const F_DRAGGABLE_PROVIDERS: (typeof import("./domain").GetNormalizedParentNodeRectExecution | typeof import("./domain").IsArrayHasParentNodeExecution | typeof import("./domain").IsConnectionUnderNodeExecution | typeof import("./f-canvas").FCanvasMoveFinalizeExecution | typeof import("./f-canvas").FCanvasMovePreparationExecution | typeof import("./f-connection").GetFirstConnectableOutputExecution | typeof import("./f-connection").FCreateConnectionFinalizeExecution | typeof import("./f-connection").FCreateConnectionDragHandlerPreparationExecution | typeof import("./f-connection").FCreateConnectionFromOutletPreparationExecution | typeof import("./f-connection").FCreateConnectionFromOutputPreparationExecution | typeof import("../f-external-item").FExternalItemCreatePlaceholderExecution | typeof import("../f-external-item").FExternalItemCreatePreviewExecution | typeof import("../f-external-item").FExternalItemFinalizeExecution | typeof import("../f-external-item").FExternalItemPreparationExecution | typeof import("../f-external-item").PreventDefaultIsExternalItemExecution | typeof import("./f-node-move").BuildDragHierarchy | typeof import("./f-node-move").GetNodeBoundingIncludePaddings | typeof import("./f-node-move").CalculateDragLimits | typeof import("./f-node-move").CreateSummaryDragHandler | typeof import("./f-node-move").CreateInputConnectionHandlerAndSetToNodeHandler | typeof import("./f-node-move").CreateOutputConnectionHandlerAndSetToNodeHandler | typeof import("./f-node-move").CreateDragModelFromSelection | typeof import("./f-node-move").CreateSnapLines | typeof import("./f-node-move").FNodeMovePreparationExecution | typeof import("./f-node-move").FNodeMoveFinalizeExecution | typeof import("./f-drop-to-group").DropToGroupFinalize | typeof import("./f-drop-to-group").SortContainersForDropByLayer | typeof import("./f-drop-to-group").DropToGroupPreparation | typeof import("./f-connection").FReassignConnectionFinalizeExecution | typeof import("./f-connection").FReassignConnectionPreparationExecution | typeof import("./f-connection").FCreateConnectionPreparationExecution | typeof import("./f-node-resize").ApplyChildResizeConstraints | typeof import("./f-node-resize").ApplyParentResizeConstraints | typeof import("./f-node-resize").CalculateChangedRectFromDifference | typeof import("./f-node-resize").CalculateDirectChildrenUnionRect | typeof import("./f-node-resize").CalculateResizeLimits | typeof import("./f-node-resize").NodeResizeFinalize | typeof import("./f-node-resize").NodeResizePreparation | typeof import("./f-node-rotate").FNodeRotateFinalizeExecution | typeof import("./f-node-rotate").FNodeRotatePreparationExecution | typeof import("./f-single-select").FSingleSelectExecution | typeof import("@foblex/flow").CalculateFlowPointFromMinimapPointExecution | typeof import("@foblex/flow").MinimapDragPreparationExecution | typeof import("@foblex/flow").MinimapDragFinalizeExecution | typeof import("@foblex/flow").MinimapDrawNodesExecution | typeof import("@foblex/flow").MinimapCalculateViewBoxExecution | typeof import("@foblex/flow").MinimapCalculateSvgScaleAndViewBoxExecution | typeof import("../f-selection-area").SelectionAreaFinalizeExecution | typeof import("../f-selection-area").SelectionAreaPreparationExecution)[];
@@ -2,4 +2,4 @@ import { CalculateFlowPointFromMinimapPointExecution } from './calculate-flow-po
2
2
  import { MinimapDrawNodesExecution } from './minimap-draw-nodes';
3
3
  import { MinimapCalculateViewBoxExecution } from './minimap-calculate-view-box';
4
4
  import { MinimapCalculateSvgScaleAndViewBoxExecution } from './minimap-calculate-svg-scale-and-view-box';
5
- export declare const F_MINIMAP_DRAG_AND_DROP_PROVIDERS: (typeof CalculateFlowPointFromMinimapPointExecution | typeof import("./minimap-drag-finalize").MinimapDragFinalizeExecution | typeof import("./minimap-drag-preparation").MinimapDragPreparationExecution | typeof MinimapDrawNodesExecution | typeof MinimapCalculateSvgScaleAndViewBoxExecution | typeof MinimapCalculateViewBoxExecution)[];
5
+ export declare const F_MINIMAP_DRAG_AND_DROP_PROVIDERS: (typeof CalculateFlowPointFromMinimapPointExecution | typeof import("./minimap-drag-preparation").MinimapDragPreparationExecution | typeof import("./minimap-drag-finalize").MinimapDragFinalizeExecution | typeof MinimapDrawNodesExecution | typeof MinimapCalculateViewBoxExecution | typeof MinimapCalculateSvgScaleAndViewBoxExecution)[];
@@ -2,4 +2,4 @@ import { FMinimapComponent } from './f-minimap.component';
2
2
  import { FMinimapViewDirective } from './f-minimap-view.directive';
3
3
  import { FMinimapFlowDirective } from './f-minimap-flow.directive';
4
4
  import { FMinimapCanvasDirective } from './f-minimap-canvas.directive';
5
- export declare const F_MINIMAP_PROVIDERS: (typeof FMinimapComponent | typeof FMinimapCanvasDirective | typeof FMinimapViewDirective | typeof FMinimapFlowDirective)[];
5
+ export declare const F_MINIMAP_PROVIDERS: (typeof FMinimapFlowDirective | typeof FMinimapCanvasDirective | typeof FMinimapViewDirective | typeof FMinimapComponent)[];
@@ -1,4 +1,4 @@
1
1
  import { FNodeDirective } from './f-node.directive';
2
2
  import { FGroupDirective } from './f-group.directive';
3
- import { FDragHandleDirective } from './f-drag-handle.directive';
4
- export declare const F_NODE_PROVIDERS: (typeof FGroupDirective | typeof FNodeDirective | typeof FDragHandleDirective)[];
3
+ import { FRotateHandleDirective } from './f-rotate-handle';
4
+ export declare const F_NODE_PROVIDERS: (typeof FRotateHandleDirective | typeof FGroupDirective | typeof FNodeDirective)[];
@@ -1,3 +1,3 @@
1
1
  import { SelectionAreaPreparationExecution } from './selection-area-preparation';
2
2
  import { SelectionAreaFinalizeExecution } from './selection-area-finalize';
3
- export declare const F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS: (typeof SelectionAreaPreparationExecution | typeof SelectionAreaFinalizeExecution)[];
3
+ export declare const F_SELECTION_AREA_DRAG_AND_DROP_PROVIDERS: (typeof SelectionAreaFinalizeExecution | typeof SelectionAreaPreparationExecution)[];
@@ -4,4 +4,4 @@ import { FComponentsStore } from './f-components-store';
4
4
  import { ListenCountChangesExecution } from './features/listen-count-changes';
5
5
  import { ListenTransformChangesExecution } from './features/listen-transform-changes';
6
6
  import { NotifyTransformChangedExecution } from './features/notify-transform-changed';
7
- export declare const F_STORAGE_PROVIDERS: (typeof FComponentsStore | typeof NotifyDataChangedExecution | typeof ListenCountChangesExecution | typeof ListenDataChangesExecution | typeof ListenTransformChangesExecution | typeof NotifyTransformChangedExecution)[];
7
+ export declare const F_STORAGE_PROVIDERS: (typeof NotifyDataChangedExecution | typeof FComponentsStore | typeof ListenDataChangesExecution | typeof ListenCountChangesExecution | typeof ListenTransformChangesExecution | typeof NotifyTransformChangedExecution)[];
@@ -2924,7 +2924,7 @@ class FConnectionBase extends MIXIN_BASE {
2924
2924
  });
2925
2925
  }
2926
2926
  _createTransformString(position, rotate = 0) {
2927
- return `position: fixed; pointer-events: all; transform: translate(-50%, -50%) rotate(${rotate}deg); left: ${position.x}px; top: ${position.y}px`;
2927
+ return `position: absolute; pointer-events: all; transform: translate(-50%, -50%) rotate(${rotate}deg); left: ${position.x}px; top: ${position.y}px`;
2928
2928
  }
2929
2929
  markChildrenAsSelected() {
2930
2930
  this.fPath().select();