@foblex/flow 17.9.1 → 17.9.21

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.
@@ -13,4 +13,4 @@ import { CalculateConnectableSideByConnectedPositions, CalculateConnectableSideB
13
13
  /**
14
14
  * This file exports all the node-related executions that can be used in the F-Flow domain.
15
15
  */
16
- export declare const F_NODE_FEATURES: (typeof UpdateNodeWhenStateOrSizeChanged | typeof AddNodeToStore | typeof CalculateConnectableSideByConnectedPositions | typeof CalculateConnectableSideByInternalPosition | typeof CalculateInputConnections | typeof CalculateConnectorsConnectableSides | typeof CalculateNodesBoundingBox | typeof CalculateNodesBoundingBoxNormalizedPosition | typeof CalculateOutputConnections | typeof FitToChildNodesAndGroups | typeof GetChildNodeIds | typeof GetNodePadding | typeof GetParentNodes | typeof RemoveNodeFromStore)[];
16
+ export declare const F_NODE_FEATURES: (typeof AddNodeToStore | typeof CalculateConnectableSideByConnectedPositions | typeof CalculateConnectableSideByInternalPosition | typeof CalculateInputConnections | typeof CalculateConnectorsConnectableSides | typeof CalculateNodesBoundingBox | typeof CalculateNodesBoundingBoxNormalizedPosition | typeof CalculateOutputConnections | typeof FitToChildNodesAndGroups | typeof GetChildNodeIds | typeof GetNodePadding | typeof GetParentNodes | typeof UpdateNodeWhenStateOrSizeChanged | typeof RemoveNodeFromStore)[];
@@ -11,4 +11,4 @@ import { GetNormalizedConnectorRectExecution } from './get-normalized-connector-
11
11
  * draggable elements, flow, line alignment, nodes, selection, zoom,
12
12
  * and various utility executions.
13
13
  */
14
- export declare const COMMON_PROVIDERS: (typeof import("./f-node").UpdateNodeWhenStateOrSizeChanged | 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").CalculateSourceConnectorsToConnect | typeof import("./f-connectors").CalculateTargetConnectorsToConnect | 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").AddLineAlignmentToStore | typeof import("./f-node").AddNodeToStore | typeof import("./f-node").CalculateConnectableSideByConnectedPositions | typeof import("./f-node").CalculateConnectableSideByInternalPosition | typeof import("./f-node").CalculateInputConnections | typeof import("./f-node").CalculateConnectorsConnectableSides | 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").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 SortItemsByParentExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElement)[];
14
+ 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").CalculateSourceConnectorsToConnect | typeof import("./f-connectors").CalculateTargetConnectorsToConnect | 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").AddLineAlignmentToStore | typeof import("./f-node").AddNodeToStore | typeof import("./f-node").CalculateConnectableSideByConnectedPositions | typeof import("./f-node").CalculateConnectableSideByInternalPosition | typeof import("./f-node").CalculateInputConnections | typeof import("./f-node").CalculateConnectorsConnectableSides | 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 SortItemsByParentExecution | typeof UpdateItemAndChildrenLayersExecution | typeof MoveFrontElementsBeforeTargetElement)[];
@@ -64,7 +64,7 @@ export class FConnectionComponent extends FConnectionBase {
64
64
  this._mediator.execute(new RemoveConnectionFromStoreRequest(this));
65
65
  }
66
66
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
67
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: true, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: true, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: true, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, 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 }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: block; vertical-align: middle;\"\n>\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 @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none}:host svg{overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i1.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i2.FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i3.FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i4.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i5.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i6.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: true, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: true, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: true, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, 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 }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: block; vertical-align: middle;\"\n>\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 @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n\n @if (fConnectionContents().length) {\n <foreignObject height=\"100%\" width=\"100%\" style=\"overflow: visible\">\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n </foreignObject>\n }\n\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n\n", styles: [":host{pointer-events:none}:host svg{overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i1.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i2.FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i3.FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i4.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i5.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i6.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
68
68
  }
69
69
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, decorators: [{
70
70
  type: Component,
@@ -73,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
73
73
  class: 'f-component f-connection',
74
74
  '[class.f-connection-selection-disabled]': 'fSelectionDisabled()',
75
75
  '[class.f-connection-reassign-disabled]': 'fDraggingDisabled()',
76
- }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: block; vertical-align: middle;\"\n>\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 @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none}:host svg{overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"] }]
76
+ }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: block; vertical-align: middle;\"\n>\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 @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n\n @if (fConnectionContents().length) {\n <foreignObject height=\"100%\" width=\"100%\" style=\"overflow: visible\">\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n </foreignObject>\n }\n\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n\n", styles: [":host{pointer-events:none}:host svg{overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"] }]
77
77
  }], propDecorators: { fText: [{
78
78
  type: Input
79
79
  }], fTextStartOffset: [{
@@ -90,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
90
90
  }], fType: [{
91
91
  type: Input
92
92
  }] } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsZUFBZSxHQUloQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLGdIQUFnSDtBQUNoSCx3RUFBd0U7QUFDeEUsZ0RBQWdEO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7QUFFOUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBZ0JqQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQUN2QyxHQUFHLEdBQUcsS0FBSyxDQUFT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QUssRUFBRSwwQkFBMEI7d0JBQ2pDLHlDQUF5QyxFQUFFLHNCQUFzQjt3QkFDakUsd0NBQXdDLEVBQUUscUJBQXFCO3FCQUNoRSxhQUNVLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBQzs4QkFPekQsS0FBSztzQkFEcEIsS0FBSztnQkFLVSxnQkFBZ0I7c0JBRC9CLEtBQUs7Z0JBWVUsT0FBTztzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLE9BQU87c0JBRHRCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUlyQixTQUFTO3NCQUR4QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUk5RSxLQUFLO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciwgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLCBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IE5vdGlmeURhdGFDaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG4vL1RPRE86IE5lZWQgdG8gZGVhbCB3aXRoIGN5Y2xpYyBkZXBlbmRlbmNpZXMsIHNpbmNlIGluIHNvbWUgY2FzZXMgYW4gZXJyb3Igb2NjdXJzIHdoZW4gaW1wb3J0aW5nIHRoZW0gLi4vY29tbW9uXG4vLyBUeXBlRXJyb3I6IENsYXNzIGV4dGVuZHMgdmFsdWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcbi8vIGF0IGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlLmNvbXBvbmVudC50czozNDoxMVxuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi1iYXNlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQWRkQ29ubmVjdGlvblRvU3RvcmVSZXF1ZXN0LCBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBzdHJpbmdBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY29ubmVjdGlvbicsXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZJZCgpJyxcbiAgICBjbGFzczogJ2YtY29tcG9uZW50IGYtY29ubmVjdGlvbicsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQoKScsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tcmVhc3NpZ24tZGlzYWJsZWRdJzogJ2ZEcmFnZ2luZ0Rpc2FibGVkKCknLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfQ09OTkVDVElPTiwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkNvbXBvbmVudCBleHRlbmRzIEZDb25uZWN0aW9uQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgb3ZlcnJpZGUgZklkID0gaW5wdXQ8c3RyaW5nPihgZi1jb25uZWN0aW9uLSR7dW5pcXVlSWQrK31gLCB7IGFsaWFzOiAnZkNvbm5lY3Rpb25JZCcgfSk7XG5cbiAgLyoqIEBkZXByZWNhdGVkIFtmVGV4dF0gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHYxOC4wLjAuIFVzZSBGQ29ubmVjdGlvbkNvbnRlbnQgZGlyZWN0aXZlIGluc3RlYWQuICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEBkZXByZWNhdGVkIFtmVGV4dFN0YXJ0T2Zmc2V0XSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdjE4LjAuMC4gVXNlIEZDb25uZWN0aW9uQ29udGVudCBkaXJlY3RpdmUgaW5zdGVhZC4gKi9cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0U3RhcnRPZmZzZXQ6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0SWQgPSBpbnB1dDxzdHJpbmcsIHVua25vd24+KCcnLCB7XG4gICAgdHJhbnNmb3JtOiAodmFsdWUpID0+IHN0cmluZ0F0dHJpYnV0ZSh2YWx1ZSkgfHwgJycsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZCA9IGlucHV0PHN0cmluZywgdW5rbm93bj4oJycsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gc3RyaW5nQXR0cmlidXRlKHZhbHVlKSB8fCAnJyxcbiAgfSk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZSYWRpdXM6IG51bWJlciA9IDg7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZPZmZzZXQ6IG51bWJlciA9IDEyO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmUmVhc3NpZ25hYmxlU3RhcnQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnZ2luZ0Rpc2FibGVkID0gaW5wdXQoZmFsc2UsIHtcbiAgICBhbGlhczogJ2ZSZWFzc2lnbkRpc2FibGVkJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRTaWRlID0gaW5wdXQoRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkRFRkFVTFQsIHtcbiAgICB0cmFuc2Zvcm06ICh4KSA9PiB7XG4gICAgICByZXR1cm4gY2FzdFRvRW51bSh4LCAnZklucHV0U2lkZScsIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgfSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZPdXRwdXRTaWRlID0gaW5wdXQoRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkRFRkFVTFQsIHtcbiAgICB0cmFuc2Zvcm06ICh4KSA9PiB7XG4gICAgICByZXR1cm4gY2FzdFRvRW51bSh4LCAnZk91dHB1dFNpZGUnLCBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUpO1xuICAgIH0sXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgYm91bmRpbmdFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZlBhdGgoKS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIiwiPHN2Z1xuICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgc3R5bGU9XCJkaXNwbGF5OiBibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcIlxuPlxuICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICA8bGluZWFyR3JhZGllbnQgZkNvbm5lY3Rpb25HcmFkaWVudD48L2xpbmVhckdyYWRpZW50PlxuICAgIDxwYXRoIGZDb25uZWN0aW9uU2VsZWN0aW9uIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICA8Zz5cbiAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICAgIEBpZiAoZlJlYXNzaWduYWJsZVN0YXJ0KCkpIHtcbiAgICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUtc3RhcnQgcj1cIjhcIj48L2NpcmNsZT5cbiAgICAgIH1cbiAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlLWVuZCByPVwiOFwiPjwvY2lyY2xlPlxuICAgIDwvZz5cbiAgICA8dGV4dCBmLWNvbm5lY3Rpb24tdGV4dD48L3RleHQ+XG4gIDwvZz5cbjwvc3ZnPlxuQGlmIChmQ29ubmVjdGlvbkNlbnRlcnMoKS5sZW5ndGgpIHtcbiAgPGRpdiAjZkNvbm5lY3Rpb25DZW50ZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb24tY2VudGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZDb25uZWN0aW9uQ2VudGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG59XG5cbkBpZiAoZkNvbm5lY3Rpb25Db250ZW50cygpLmxlbmd0aCkge1xuICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25Db250ZW50XVwiPjwvbmctY29udGVudD5cbn1cbiJdfQ==
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsZUFBZSxHQUloQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLGdIQUFnSDtBQUNoSCx3RUFBd0U7QUFDeEUsZ0RBQWdEO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDN0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7QUFFOUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBZ0JqQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBZTtJQUN2QyxHQUFHLEdBQUcsS0FBSyxDQUFT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QUssRUFBRSwwQkFBMEI7d0JBQ2pDLHlDQUF5QyxFQUFFLHNCQUFzQjt3QkFDakUsd0NBQXdDLEVBQUUscUJBQXFCO3FCQUNoRSxhQUNVLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBQzs4QkFPekQsS0FBSztzQkFEcEIsS0FBSztnQkFLVSxnQkFBZ0I7c0JBRC9CLEtBQUs7Z0JBWVUsT0FBTztzQkFEdEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBSXJCLE9BQU87c0JBRHRCLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO2dCQUlyQixTQUFTO3NCQUR4QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFO2dCQUk5RSxLQUFLO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgSW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFRkNvbm5lY3Rpb25CZWhhdmlvciwgRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLCBFRkNvbm5lY3Rpb25UeXBlIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IE5vdGlmeURhdGFDaGFuZ2VkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGX0NPTk5FQ1RJT04gfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG4vL1RPRE86IE5lZWQgdG8gZGVhbCB3aXRoIGN5Y2xpYyBkZXBlbmRlbmNpZXMsIHNpbmNlIGluIHNvbWUgY2FzZXMgYW4gZXJyb3Igb2NjdXJzIHdoZW4gaW1wb3J0aW5nIHRoZW0gLi4vY29tbW9uXG4vLyBUeXBlRXJyb3I6IENsYXNzIGV4dGVuZHMgdmFsdWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcbi8vIGF0IGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlLmNvbXBvbmVudC50czozNDoxMVxuaW1wb3J0IHsgRkNvbm5lY3Rpb25CYXNlIH0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi1iYXNlJztcbmltcG9ydCB7IGNhc3RUb0VudW0gfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgQWRkQ29ubmVjdGlvblRvU3RvcmVSZXF1ZXN0LCBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBzdHJpbmdBdHRyaWJ1dGUgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY29ubmVjdGlvbicsXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZJZCgpJyxcbiAgICBjbGFzczogJ2YtY29tcG9uZW50IGYtY29ubmVjdGlvbicsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQoKScsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tcmVhc3NpZ24tZGlzYWJsZWRdJzogJ2ZEcmFnZ2luZ0Rpc2FibGVkKCknLFxuICB9LFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEZfQ09OTkVDVElPTiwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uQ29tcG9uZW50IH1dLFxufSlcbmV4cG9ydCBjbGFzcyBGQ29ubmVjdGlvbkNvbXBvbmVudCBleHRlbmRzIEZDb25uZWN0aW9uQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgb3ZlcnJpZGUgZklkID0gaW5wdXQ8c3RyaW5nPihgZi1jb25uZWN0aW9uLSR7dW5pcXVlSWQrK31gLCB7IGFsaWFzOiAnZkNvbm5lY3Rpb25JZCcgfSk7XG5cbiAgLyoqIEBkZXByZWNhdGVkIFtmVGV4dF0gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHYxOC4wLjAuIFVzZSBGQ29ubmVjdGlvbkNvbnRlbnQgZGlyZWN0aXZlIGluc3RlYWQuICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dDogc3RyaW5nID0gJyc7XG5cbiAgLyoqIEBkZXByZWNhdGVkIFtmVGV4dFN0YXJ0T2Zmc2V0XSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdjE4LjAuMC4gVXNlIEZDb25uZWN0aW9uQ29udGVudCBkaXJlY3RpdmUgaW5zdGVhZC4gKi9cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0U3RhcnRPZmZzZXQ6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0SWQgPSBpbnB1dDxzdHJpbmcsIHVua25vd24+KCcnLCB7XG4gICAgdHJhbnNmb3JtOiAodmFsdWUpID0+IHN0cmluZ0F0dHJpYnV0ZSh2YWx1ZSkgfHwgJycsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZCA9IGlucHV0PHN0cmluZywgdW5rbm93bj4oJycsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gc3RyaW5nQXR0cmlidXRlKHZhbHVlKSB8fCAnJyxcbiAgfSk7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZSYWRpdXM6IG51bWJlciA9IDg7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSlcbiAgcHVibGljIG92ZXJyaWRlIGZPZmZzZXQ6IG51bWJlciA9IDEyO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogKHZhbHVlOiB1bmtub3duKSA9PiBjYXN0VG9FbnVtKHZhbHVlLCAnZkJlaGF2aW9yJywgRUZDb25uZWN0aW9uQmVoYXZpb3IpIH0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkID0gaW5wdXQoZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmUmVhc3NpZ25hYmxlU3RhcnQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnZ2luZ0Rpc2FibGVkID0gaW5wdXQoZmFsc2UsIHtcbiAgICBhbGlhczogJ2ZSZWFzc2lnbkRpc2FibGVkJyxcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRTaWRlID0gaW5wdXQoRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkRFRkFVTFQsIHtcbiAgICB0cmFuc2Zvcm06ICh4KSA9PiB7XG4gICAgICByZXR1cm4gY2FzdFRvRW51bSh4LCAnZklucHV0U2lkZScsIEVGQ29ubmVjdGlvbkNvbm5lY3RhYmxlU2lkZSk7XG4gICAgfSxcbiAgfSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZPdXRwdXRTaWRlID0gaW5wdXQoRUZDb25uZWN0aW9uQ29ubmVjdGFibGVTaWRlLkRFRkFVTFQsIHtcbiAgICB0cmFuc2Zvcm06ICh4KSA9PiB7XG4gICAgICByZXR1cm4gY2FzdFRvRW51bSh4LCAnZk91dHB1dFNpZGUnLCBFRkNvbm5lY3Rpb25Db25uZWN0YWJsZVNpZGUpO1xuICAgIH0sXG4gIH0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgYm91bmRpbmdFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZlBhdGgoKS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIiwiPHN2Z1xuICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgc3R5bGU9XCJkaXNwbGF5OiBibG9jazsgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcIlxuPlxuICA8ZGVmcyAjZGVmcz48L2RlZnM+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGcgY2xhc3M9XCJmLWNvbm5lY3Rpb24tZ3JvdXBcIj5cbiAgICA8bGluZWFyR3JhZGllbnQgZkNvbm5lY3Rpb25HcmFkaWVudD48L2xpbmVhckdyYWRpZW50PlxuICAgIDxwYXRoIGZDb25uZWN0aW9uU2VsZWN0aW9uIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICA8Zz5cbiAgICAgIDxwYXRoIGYtY29ubmVjdGlvbi1wYXRoIFthdHRyLmRdPVwicGF0aFwiPjwvcGF0aD5cbiAgICAgIEBpZiAoZlJlYXNzaWduYWJsZVN0YXJ0KCkpIHtcbiAgICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUtc3RhcnQgcj1cIjhcIj48L2NpcmNsZT5cbiAgICAgIH1cbiAgICAgIDxjaXJjbGUgZi1jb25uZWN0aW9uLWRyYWctaGFuZGxlLWVuZCByPVwiOFwiPjwvY2lyY2xlPlxuICAgIDwvZz5cbiAgICA8dGV4dCBmLWNvbm5lY3Rpb24tdGV4dD48L3RleHQ+XG4gIDwvZz5cblxuICBAaWYgKGZDb25uZWN0aW9uQ29udGVudHMoKS5sZW5ndGgpIHtcbiAgICA8Zm9yZWlnbk9iamVjdCBoZWlnaHQ9XCIxMDAlXCIgd2lkdGg9XCIxMDAlXCIgc3R5bGU9XCJvdmVyZmxvdzogdmlzaWJsZVwiPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZDb25uZWN0aW9uQ29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9mb3JlaWduT2JqZWN0PlxuICB9XG5cbjwvc3ZnPlxuQGlmIChmQ29ubmVjdGlvbkNlbnRlcnMoKS5sZW5ndGgpIHtcbiAgPGRpdiAjZkNvbm5lY3Rpb25DZW50ZXIgY2xhc3M9XCJmLWNvbm5lY3Rpb24tY2VudGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZDb25uZWN0aW9uQ2VudGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG59XG5cblxuIl19
@@ -103,7 +103,7 @@ export class FFlowComponent extends FFlowBase {
103
103
  ...COMMON_PROVIDERS,
104
104
  ...F_DRAGGABLE_PROVIDERS,
105
105
  { provide: F_FLOW, useExisting: FFlowComponent },
106
- ], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:absolute;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform}::ng-deep .f-node,::ng-deep .f-group{position:absolute!important;transform-origin:center;-webkit-user-select:none;user-select:none;pointer-events:all;left:0!important;top:0!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
106
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:absolute;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform;z-index:1}::ng-deep .f-node,::ng-deep .f-group{position:absolute!important;transform-origin:center;-webkit-user-select:none;user-select:none;pointer-events:all;left:0!important;top:0!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
107
107
  }
108
108
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FFlowComponent, decorators: [{
109
109
  type: Component,
@@ -118,6 +118,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
118
118
  ...COMMON_PROVIDERS,
119
119
  ...F_DRAGGABLE_PROVIDERS,
120
120
  { provide: F_FLOW, useExisting: FFlowComponent },
121
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:absolute;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform}::ng-deep .f-node,::ng-deep .f-group{position:absolute!important;transform-origin:center;-webkit-user-select:none;user-select:none;pointer-events:all;left:0!important;top:0!important}\n"] }]
121
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:absolute;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform;z-index:1}::ng-deep .f-node,::ng-deep .f-group{position:absolute!important;transform-origin:center;-webkit-user-select:none;user-select:none;pointer-events:all;left:0!important;top:0!important}\n"] }]
122
122
  }] });
123
123
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1mbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1mbG93L2YtZmxvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtZmxvdy9mLWZsb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixNQUFNLEdBQzVFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsa0RBQWtELEVBQ2xELHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLGdCQUFnQixFQUNoQixhQUFhLEVBRWIsbUJBQW1CLEVBQUUsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUscUJBQXFCLEdBQzlGLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wscUJBQXFCLEdBQ3RCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLHdCQUF3QixHQUN6QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUd2RCxJQUFJ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QUFrQjt3QkFDbEIsR0FBRyxnQkFBZ0I7d0JBQ25CLEdBQUcscUJBQXFCO3dCQUN4QixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRTtxQkFDakQsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBEZXN0cm95UmVmLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgb3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfRkxPVywgRkZsb3dCYXNlIH0gZnJvbSAnLi9mLWZsb3ctYmFzZSc7XG5pbXBvcnQge1xuICBDbGVhclNlbGVjdGlvblJlcXVlc3QsXG4gIENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hOb3JtYWxpemVkUG9zaXRpb25SZXF1ZXN0LFxuICBHZXROb3JtYWxpemVkUG9pbnRSZXF1ZXN0LFxuICBHZXRDdXJyZW50U2VsZWN0aW9uUmVxdWVzdCxcbiAgUmVkcmF3Q29ubmVjdGlvbnNSZXF1ZXN0LFxuICBTZWxlY3RBbGxSZXF1ZXN0LFxuICBTZWxlY3RSZXF1ZXN0LFxuICBJRkZsb3dTdGF0ZSxcbiAgR2V0Rmxvd1N0YXRlUmVxdWVzdCwgUmVtb3ZlRmxvd0Zyb21TdG9yZVJlcXVlc3QsIEFkZEZsb3dUb1N0b3JlUmVxdWVzdCwgU29ydEl0ZW1MYXllcnNSZXF1ZXN0LCBJQ3VycmVudFNlbGVjdGlvbixcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IElQb2ludCwgSVJlY3QgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZNZWRpYXRvciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgRkRyYWdnYWJsZURhdGFDb250ZXh0LFxufSBmcm9tICcuLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGQ29ubmVjdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mLWNvbm5lY3Rpb24nO1xuaW1wb3J0IHtcbiAgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0LFxuICBGX1NUT1JBR0VfUFJPVklERVJTLFxuICBMaXN0ZW5Db3VudENoYW5nZXNSZXF1ZXN0LFxuICBMaXN0ZW5EYXRhQ2hhbmdlc1JlcXVlc3QsXG59IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQ09NTU9OX1BST1ZJREVSUyB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGX0RSQUdHQUJMRV9QUk9WSURFUlMgfSBmcm9tICcuLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBGQ2hhbm5lbEh1YiB9IGZyb20gJy4uL3JlYWN0aXZpdHknO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLWZsb3cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1mbG93LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZi1mbG93LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZJZCgpJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWZsb3dcIixcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRk1lZGlhdG9yLFxuICAgIC4uLkZfU1RPUkFHRV9QUk9WSURFUlMsXG4gICAgRkRyYWdnYWJsZURhdGFDb250ZXh0LFxuICAgIEZDb25uZWN0aW9uRmFjdG9yeSxcbiAgICAuLi5DT01NT05fUFJPVklERVJTLFxuICAgIC4uLkZfRFJBR0dBQkxFX1BST1ZJREVSUyxcbiAgICB7IHByb3ZpZGU6IEZfRkxPVywgdXNlRXhpc3Rpbmc6IEZGbG93Q29tcG9uZW50IH0sXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGRmxvd0NvbXBvbmVudCBleHRlbmRzIEZGbG93QmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mTWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlclNlcnZpY2UgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmSWQgPSBpbnB1dDxzdHJpbmc+KGBmLWZsb3ctJHt1bmlxdWVJZCsrfWAsIHsgYWxpYXM6ICdmRmxvd0lkJyB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZMb2FkZWQgPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG4gIHByaXZhdGUgX2lzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBBZGRGbG93VG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2Jyb3dzZXJTZXJ2aWNlLmlzQnJvd3NlcigpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2xpc3RlbkNvdW50Q2hhbmdlcygpO1xuICAgIHRoaXMuX2xpc3RlbkRhdGFDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5Db3VudENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGU8RkNoYW5uZWxIdWI+KFxuICAgICAgbmV3IExpc3RlbkNvdW50Q2hhbmdlc1JlcXVlc3QoKSxcbiAgICApLmxpc3Rlbih0aGlzLl9kZXN0cm95UmVmLCAoKSA9PiB7XG4gICAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZShuZXcgU29ydEl0ZW1MYXllcnNSZXF1ZXN0KCkpXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5EYXRhQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTxGQ2hhbm5lbEh1Yj4oXG4gICAgICBuZXcgTGlzdGVuRGF0YUNoYW5nZXNSZXF1ZXN0KCksXG4gICAgKS5saXN0ZW4odGhpcy5fZGVzdHJveVJlZiwgKCkgPT4ge1xuICAgICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFJlZHJhd0Nvbm5lY3Rpb25zUmVxdWVzdCgpKTtcblxuICAgICAgdGhpcy5fZW1pdExvYWRlZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdExvYWRlZCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzTG9hZGVkKSB7XG4gICAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XG4gICAgICB0aGlzLmZMb2FkZWQuZW1pdCh0aGlzLmZJZCgpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy5faXNMb2FkZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROb2Rlc0JvdW5kaW5nQm94KCk6IElSZWN0IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElSZWN0IHwgbnVsbD4obmV3IENhbGN1bGF0ZU5vZGVzQm91bmRpbmdCb3hOb3JtYWxpemVkUG9zaXRpb25SZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIGdldFNlbGVjdGlvbigpOiBJQ3VycmVudFNlbGVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPElDdXJyZW50U2VsZWN0aW9uPihuZXcgR2V0Q3VycmVudFNlbGVjdGlvblJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UG9zaXRpb25JbkZsb3cocG9zaXRpb246IElQb2ludCk6IElSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEdldE5vcm1hbGl6ZWRQb2ludFJlcXVlc3QocG9zaXRpb24pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdGF0ZSgpOiBJRkZsb3dTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBHZXRGbG93U3RhdGVSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBTZWxlY3RBbGxSZXF1ZXN0KCkpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2dyYW1tYXRpY2FsbHkgc2VsZWN0cyBub2RlcyBhbmQgY29ubmVjdGlvbnMgYnkgdGhlaXIgSURzLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBhbGxvd3MgZXh0ZXJuYWwgY29tcG9uZW50cyB0byBjb250cm9sIHRoZSBzZWxlY3Rpb24gc3RhdGUgb2YgdGhlIGNhbnZhcy5cbiAgICogU2VsZWN0ZWQgZWxlbWVudHMgd2lsbCBhcHBlYXIgdmlzdWFsbHkgaGlnaGxpZ2h0ZWQuIElmIGBpc1NlbGVjdGVkQ2hhbmdlZGAgaXMgdHJ1ZSxcbiAgICogdGhlIG5leHQgdXNlciBpbnRlcmFjdGlvbiAoZS5nLiwgY2xpY2tpbmcgdGhlIGNhbnZhcykgd2lsbCBlbWl0IGEgc2VsZWN0aW9uIGNoYW5nZSBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIG5vZGVzIC0gQW4gYXJyYXkgb2Ygbm9kZSBJRHMgdG8gc2VsZWN0LlxuICAgKiBAcGFyYW0gY29ubmVjdGlvbnMgLSBBbiBhcnJheSBvZiBjb25uZWN0aW9uIElEcyB0byBzZWxlY3QuXG4gICAqIEBwYXJhbSBpc1NlbGVjdGVkQ2hhbmdlZCAtIE9wdGlvbmFsLiBJZiB0cnVlIChkZWZhdWx0KSwgbWFya3MgdGhlIHNlbGVjdGlvbiBzdGF0ZSBhcyBjaGFuZ2VkLFxuICAgKiB0cmlnZ2VyaW5nIGEgYGZTZWxlY3Rpb25DaGFuZ2VgIGV2ZW50IG9uIHRoZSBuZXh0IHVzZXIgaW50ZXJhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgc2VsZWN0KG5vZGVzOiBzdHJpbmdbXSwgY29ubmVjdGlvbnM6IHN0cmluZ1tdLCBpc1NlbGVjdGVkQ2hhbmdlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlPHZvaWQ+KG5ldyBTZWxlY3RSZXF1ZXN0KG5vZGVzLCBjb25uZWN0aW9ucywgaXNTZWxlY3RlZENoYW5nZWQpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9mTWVkaWF0b3IuZXhlY3V0ZTx2b2lkPihuZXcgQ2xlYXJTZWxlY3Rpb25SZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBSZW1vdmVGbG93RnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZEZWZpbml0aW9uc11cIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1iYWNrZ3JvdW5kXCI+PC9uZy1jb250ZW50PlxuXG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImYtbGluZS1hbGlnbm1lbnRcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jYW52YXNcIj48L25nLWNvbnRlbnQ+XG5cbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1zZWxlY3Rpb24tYXJlYVwiPjwvbmctY29udGVudD5cblxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -25,7 +25,7 @@ export declare class FConnectionComponent extends FConnectionBase implements OnI
25
25
  ngOnChanges(): void;
26
26
  ngOnDestroy(): void;
27
27
  static ɵfac: i0.ɵɵFactoryDeclaration<FConnectionComponent, never>;
28
- static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionComponent, "f-connection", ["fComponent"], { "fId": { "alias": "fConnectionId"; "required": false; "isSignal": true; }; "fText": { "alias": "fText"; "required": false; }; "fTextStartOffset": { "alias": "fTextStartOffset"; "required": false; }; "fOutputId": { "alias": "fOutputId"; "required": false; "isSignal": true; }; "fInputId": { "alias": "fInputId"; "required": false; "isSignal": true; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; "fSelectionDisabled": { "alias": "fSelectionDisabled"; "required": false; "isSignal": true; }; "fReassignableStart": { "alias": "fReassignableStart"; "required": false; "isSignal": true; }; "fDraggingDisabled": { "alias": "fReassignDisabled"; "required": false; "isSignal": true; }; "fInputSide": { "alias": "fInputSide"; "required": false; "isSignal": true; }; "fOutputSide": { "alias": "fOutputSide"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[fConnectionCenter]", "[fConnectionContent]"], false, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<FConnectionComponent, "f-connection", ["fComponent"], { "fId": { "alias": "fConnectionId"; "required": false; "isSignal": true; }; "fText": { "alias": "fText"; "required": false; }; "fTextStartOffset": { "alias": "fTextStartOffset"; "required": false; }; "fOutputId": { "alias": "fOutputId"; "required": false; "isSignal": true; }; "fInputId": { "alias": "fInputId"; "required": false; "isSignal": true; }; "fRadius": { "alias": "fRadius"; "required": false; }; "fOffset": { "alias": "fOffset"; "required": false; }; "fBehavior": { "alias": "fBehavior"; "required": false; }; "fType": { "alias": "fType"; "required": false; }; "fSelectionDisabled": { "alias": "fSelectionDisabled"; "required": false; "isSignal": true; }; "fReassignableStart": { "alias": "fReassignableStart"; "required": false; "isSignal": true; }; "fDraggingDisabled": { "alias": "fReassignDisabled"; "required": false; "isSignal": true; }; "fInputSide": { "alias": "fInputSide"; "required": false; "isSignal": true; }; "fOutputSide": { "alias": "fOutputSide"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[fConnectionContent]", "[fConnectionCenter]"], false, never>;
29
29
  static ngAcceptInputType_fRadius: unknown;
30
30
  static ngAcceptInputType_fOffset: unknown;
31
31
  static ngAcceptInputType_fBehavior: unknown;
@@ -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 FConnectionTextPathDirective | typeof FConnectionTextComponent | typeof FConnectionGradientComponent | typeof FConnectionPathComponent | typeof FConnectionForCreateComponent | typeof FConnectionComponent | typeof FMarkerDirective | typeof FSnapConnectionComponent)[];
7
+ export declare const F_CONNECTION_PROVIDERS: (typeof FConnectionTextPathDirective | typeof FConnectionTextComponent | typeof FConnectionDragHandleStartComponent | typeof FConnectionDragHandleEndComponent | typeof FConnectionGradientComponent | typeof FConnectionPathComponent | typeof FConnectionSelectionComponent | typeof FConnectionCenterDirective | typeof FConnectionForCreateComponent | typeof FConnectionComponent | typeof FMarkerDirective | typeof FSnapConnectionComponent)[];
@@ -1 +1 @@
1
- export declare const F_DRAGGABLE_PROVIDERS: (typeof import("../f-external-item").PreventDefaultIsExternalItemExecution | typeof import("./f-single-select").FSingleSelectExecution | 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").CreateConnectionFromOutputPreparation | 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-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").CreateConnectionPreparation | 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("@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)[];
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").CreateConnectionFromOutputPreparation | 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").CreateConnectionPreparation | 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)[];
@@ -3,4 +3,4 @@ import { FExternalItemFinalizeExecution } from './finalize';
3
3
  import { PreventDefaultIsExternalItemExecution } from './prevent-default-is-external-item';
4
4
  import { FExternalItemCreatePreviewExecution } from './create-preview';
5
5
  import { FExternalItemCreatePlaceholderExecution } from './create-placeholder';
6
- export declare const F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS: (typeof PreventDefaultIsExternalItemExecution | typeof FExternalItemCreatePlaceholderExecution | typeof FExternalItemCreatePreviewExecution | typeof FExternalItemFinalizeExecution | typeof FExternalItemPreparationExecution)[];
6
+ export declare const F_EXTERNAL_ITEM_DRAG_AND_DROP_PROVIDERS: (typeof FExternalItemCreatePlaceholderExecution | typeof FExternalItemCreatePreviewExecution | typeof FExternalItemFinalizeExecution | typeof FExternalItemPreparationExecution | typeof PreventDefaultIsExternalItemExecution)[];
@@ -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 ListenDataChangesExecution | typeof ListenCountChangesExecution | typeof ListenTransformChangesExecution | typeof NotifyTransformChangedExecution)[];
7
+ export declare const F_STORAGE_PROVIDERS: (typeof NotifyDataChangedExecution | typeof FComponentsStore | typeof ListenDataChangesExecution | typeof ListenCountChangesExecution | typeof ListenTransformChangesExecution | typeof NotifyTransformChangedExecution)[];
@@ -3326,7 +3326,7 @@ class FConnectionComponent extends FConnectionBase {
3326
3326
  this._mediator.execute(new RemoveConnectionFromStoreRequest(this));
3327
3327
  }
3328
3328
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3329
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: true, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: true, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: true, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, 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 }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: block; vertical-align: middle;\"\n>\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 @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none}:host svg{overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { 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 });
3329
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: true, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: true, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: true, isRequired: false, transformFunction: null }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, 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 }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: block; vertical-align: middle;\"\n>\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 @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n\n @if (fConnectionContents().length) {\n <foreignObject height=\"100%\" width=\"100%\" style=\"overflow: visible\">\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n </foreignObject>\n }\n\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n\n", styles: [":host{pointer-events:none}:host svg{overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { 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 });
3330
3330
  }
3331
3331
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, decorators: [{
3332
3332
  type: Component,
@@ -3335,7 +3335,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3335
3335
  class: 'f-component f-connection',
3336
3336
  '[class.f-connection-selection-disabled]': 'fSelectionDisabled()',
3337
3337
  '[class.f-connection-reassign-disabled]': 'fDraggingDisabled()',
3338
- }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: block; vertical-align: middle;\"\n>\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 @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n@if (fConnectionContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none}:host svg{overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"] }]
3338
+ }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n style=\"display: block; vertical-align: middle;\"\n>\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 @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n\n @if (fConnectionContents().length) {\n <foreignObject height=\"100%\" width=\"100%\" style=\"overflow: visible\">\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n </foreignObject>\n }\n\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n\n\n", styles: [":host{pointer-events:none}:host svg{overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center,:host .f-connection-content{pointer-events:all}\n"] }]
3339
3339
  }], propDecorators: { fText: [{
3340
3340
  type: Input
3341
3341
  }], fTextStartOffset: [{
@@ -12780,7 +12780,7 @@ class FFlowComponent extends FFlowBase {
12780
12780
  ...COMMON_PROVIDERS,
12781
12781
  ...F_DRAGGABLE_PROVIDERS,
12782
12782
  { provide: F_FLOW, useExisting: FFlowComponent },
12783
- ], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:absolute;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform}::ng-deep .f-node,::ng-deep .f-group{position:absolute!important;transform-origin:center;-webkit-user-select:none;user-select:none;pointer-events:all;left:0!important;top:0!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12783
+ ], usesInheritance: true, ngImport: i0, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:absolute;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform;z-index:1}::ng-deep .f-node,::ng-deep .f-group{position:absolute!important;transform-origin:center;-webkit-user-select:none;user-select:none;pointer-events:all;left:0!important;top:0!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12784
12784
  }
12785
12785
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FFlowComponent, decorators: [{
12786
12786
  type: Component,
@@ -12795,7 +12795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
12795
12795
  ...COMMON_PROVIDERS,
12796
12796
  ...F_DRAGGABLE_PROVIDERS,
12797
12797
  { provide: F_FLOW, useExisting: FFlowComponent },
12798
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:absolute;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform}::ng-deep .f-node,::ng-deep .f-group{position:absolute!important;transform-origin:center;-webkit-user-select:none;user-select:none;pointer-events:all;left:0!important;top:0!important}\n"] }]
12798
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <ng-content select=\"[fDefinitions]\"></ng-content>\n\n <ng-content select=\"f-background\"></ng-content>\n\n <ng-content select=\"f-line-alignment\"></ng-content>\n\n <ng-content select=\"f-canvas\"></ng-content>\n\n <ng-content select=\"f-selection-area\"></ng-content>\n\n <ng-content></ng-content>\n</ng-container>\n", styles: [":host{display:block;position:relative;width:100%;height:100%;overflow:hidden;pointer-events:all;-webkit-user-select:none;user-select:none;touch-action:none}::ng-deep .f-connection-content{position:absolute;left:0;top:0;pointer-events:all;transform-origin:50% 50%;will-change:transform;z-index:1}::ng-deep .f-node,::ng-deep .f-group{position:absolute!important;transform-origin:center;-webkit-user-select:none;user-select:none;pointer-events:all;left:0!important;top:0!important}\n"] }]
12799
12799
  }] });
12800
12800
 
12801
12801
  const F_FLOW_PROVIDERS = [