@foblex/flow 18.2.1 → 18.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/domain/f-connection/create-connection-markers/create-connection-markers.d.ts +3 -2
  2. package/domain/f-connection/redraw-connections/redraw-connections.d.ts +2 -0
  3. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.mjs +33 -6
  4. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.mjs +46 -3
  5. package/esm2022/f-connection/f-connection/f-connection.component.mjs +6 -6
  6. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +6 -7
  7. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +6 -7
  8. package/esm2022/f-connection/providers.mjs +8 -4
  9. package/esm2022/f-connection-v2/components/connection-gradient/components/index.mjs +2 -0
  10. package/esm2022/f-connection-v2/components/connection-gradient/components/render/f-connection-gradient-renderer.mjs +17 -0
  11. package/esm2022/f-connection-v2/components/connection-gradient/components/render/index.mjs +3 -0
  12. package/esm2022/f-connection-v2/components/connection-gradient/components/render/models/f-connection-gradient-renderer-base.mjs +81 -0
  13. package/esm2022/f-connection-v2/components/connection-gradient/components/render/models/index.mjs +2 -0
  14. package/esm2022/f-connection-v2/components/connection-gradient/f-connection-gradient.mjs +14 -46
  15. package/esm2022/f-connection-v2/components/connection-gradient/index.mjs +2 -1
  16. package/esm2022/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.mjs +2 -3
  17. package/esm2022/f-connection-v2/components/connection-path/f-connection-path.mjs +11 -7
  18. package/esm2022/f-connection-v2/components/f-connection-base.mjs +13 -9
  19. package/esm2022/f-connection-v2/models/f-connection-components-parent.mjs +1 -1
  20. package/esm2022/f-connection-v2/utils/create-gradient-dom-identifier.mjs +3 -3
  21. package/esm2022/f-connection-v2/utils/create-gradient-dom-url.mjs +3 -3
  22. package/esm2022/f-connection-worker/features/ensure-connection-worker/ensure-connection-worker.mjs +11 -4
  23. package/esm2022/f-connection-worker/features/is-connection-worker-enabled/is-connection-worker-enabled.mjs +3 -2
  24. package/esm2022/f-connection-worker/model/f-connection-worker.mjs +5 -1
  25. package/esm2022/f-connection-worker/worker/connection-worker-runtime.mjs +235 -0
  26. package/esm2022/f-flow.module.mjs +37 -36
  27. package/f-connection/f-connection/f-connection.component.d.ts +1 -1
  28. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +1 -1
  29. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +1 -1
  30. package/f-connection/providers.d.ts +3 -3
  31. package/f-connection-v2/components/connection-gradient/components/index.d.ts +1 -0
  32. package/f-connection-v2/components/connection-gradient/components/render/f-connection-gradient-renderer.d.ts +8 -0
  33. package/f-connection-v2/components/connection-gradient/components/render/index.d.ts +2 -0
  34. package/f-connection-v2/components/connection-gradient/components/render/models/f-connection-gradient-renderer-base.d.ts +25 -0
  35. package/f-connection-v2/components/connection-gradient/components/render/models/index.d.ts +1 -0
  36. package/f-connection-v2/components/connection-gradient/f-connection-gradient.d.ts +3 -11
  37. package/f-connection-v2/components/connection-gradient/index.d.ts +1 -0
  38. package/f-connection-v2/components/connection-gradient/models/f-connection-gradient-base.d.ts +3 -5
  39. package/f-connection-v2/components/connection-path/f-connection-path.d.ts +3 -2
  40. package/f-connection-v2/components/f-connection-base.d.ts +7 -4
  41. package/f-connection-v2/models/f-connection-components-parent.d.ts +0 -2
  42. package/f-connection-v2/utils/create-gradient-dom-identifier.d.ts +1 -1
  43. package/f-connection-v2/utils/create-gradient-dom-url.d.ts +1 -1
  44. package/f-connection-worker/model/f-connection-worker.d.ts +1 -0
  45. package/f-connection-worker/worker/connection-worker-runtime.d.ts +11 -0
  46. package/f-flow.module.d.ts +38 -37
  47. package/fesm2022/foblex-flow.mjs +457 -71
  48. package/fesm2022/foblex-flow.mjs.map +1 -1
  49. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Injectable, ElementRef, Injector, input, effect, untracked, Directive, signal, numberAttribute, model, booleanAttribute, Component, ChangeDetectionStrategy, Input, viewChild, contentChildren, contentChild, computed, Renderer2, DestroyRef, output, ViewContainerRef, TemplateRef, runInInjectionContext, NgZone, EventEmitter, Output, afterNextRender, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, ElementRef, Injector, input, effect, untracked, Directive, signal, numberAttribute, model, booleanAttribute, Component, ChangeDetectionStrategy, Input, computed, viewChild, contentChildren, contentChild, Renderer2, DestroyRef, output, ViewContainerRef, TemplateRef, runInInjectionContext, NgZone, EventEmitter, Output, afterNextRender, NgModule } from '@angular/core';
3
3
  import { TransformModelExtensions, PointExtensions, RectExtensions, GetIntersections, Point, LineExtensions, RoundedRect, SizeExtensions, setRectToElement, adjustRectToMinSize, setRectToViewBox } from '@foblex/2d';
4
4
  import { __decorate } from 'tslib';
5
5
  import { FExecutionRegister, FMediator } from '@foblex/mediator';
@@ -1268,9 +1268,20 @@ class CreateConnectionMarkersRequest {
1268
1268
  let CreateConnectionMarkers = class CreateConnectionMarkers {
1269
1269
  _browser = inject(BrowserService);
1270
1270
  _store = inject(FComponentsStore);
1271
+ _markerCache = new WeakMap();
1271
1272
  handle({ connection }) {
1273
+ const markers = this._findConnectionMarkers(connection);
1274
+ const defs = connection.fDefs();
1275
+ if (!defs) {
1276
+ return false;
1277
+ }
1278
+ const signature = createConnectionMarkersSignature(markers);
1279
+ const cached = this._markerCache.get(connection);
1280
+ if (cached?.signature === signature && cached.defsElement === defs.nativeElement) {
1281
+ return false;
1282
+ }
1272
1283
  const element = createSVGElement$1('defs', this._browser);
1273
- this._findConnectionMarkers(connection).forEach((marker) => {
1284
+ markers.forEach((marker) => {
1274
1285
  const markerElement = createMarkerElement(marker, connection.fId(), this._browser);
1275
1286
  const clone = marker.hostElement.cloneNode(true);
1276
1287
  clone.setAttribute('height', `${marker.height}`);
@@ -1280,11 +1291,13 @@ let CreateConnectionMarkers = class CreateConnectionMarkers {
1280
1291
  markerElement.append(clone);
1281
1292
  element.append(markerElement);
1282
1293
  });
1283
- const defs = connection.fDefs();
1284
- if (defs) {
1285
- defs.nativeElement.innerHTML = element.innerHTML;
1286
- }
1294
+ defs.nativeElement.innerHTML = element.innerHTML;
1295
+ this._markerCache.set(connection, {
1296
+ signature,
1297
+ defsElement: defs.nativeElement,
1298
+ });
1287
1299
  this._makeSafariCompatible(connection);
1300
+ return true;
1288
1301
  }
1289
1302
  _findConnectionMarkers(connection) {
1290
1303
  return this._store.connectionMarkers
@@ -1304,6 +1317,20 @@ CreateConnectionMarkers = __decorate([
1304
1317
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CreateConnectionMarkers, decorators: [{
1305
1318
  type: Injectable
1306
1319
  }] });
1320
+ function createConnectionMarkersSignature(markers) {
1321
+ return markers
1322
+ .map((marker) => [
1323
+ marker.type,
1324
+ marker.width,
1325
+ marker.height,
1326
+ marker.refX,
1327
+ marker.refY,
1328
+ marker.orient,
1329
+ marker.markerUnits,
1330
+ marker.hostElement.outerHTML,
1331
+ ].join('|'))
1332
+ .join('||');
1333
+ }
1307
1334
  function createMarkerElement(marker, connectionId, browser) {
1308
1335
  const markerElement = createSVGElement$1('marker', browser);
1309
1336
  markerElement.setAttribute('id', normalizeDomElementId(marker.type + '-' + connectionId));
@@ -1867,11 +1894,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
1867
1894
  type: Input
1868
1895
  }] } });
1869
1896
 
1870
- const F_CONNECTION_GRADIENT = new InjectionToken('F_CONNECTION_GRADIENT');
1871
- class FConnectionGradientBase {
1872
- hostElement = inject((ElementRef)).nativeElement;
1873
- }
1874
-
1875
1897
  var EFConnectionBehavior;
1876
1898
  (function (EFConnectionBehavior) {
1877
1899
  EFConnectionBehavior["FIXED"] = "fixed";
@@ -2690,60 +2712,125 @@ function createConnectionSelectionDomIdentifier(componentId, sourceId, targetId)
2690
2712
  return normalizeDomElementId('connection_for_selection_' + componentId + sourceId + targetId);
2691
2713
  }
2692
2714
 
2693
- function createGradientDomIdentifier(componentId, sourceId, targetId) {
2694
- return normalizeDomElementId('connection_gradient_' + componentId + sourceId + targetId);
2715
+ function createGradientDomIdentifier(componentId) {
2716
+ return normalizeDomElementId('connection_gradient_' + componentId);
2695
2717
  }
2696
2718
 
2697
- function createGradientDomUrl(componentId, sourceId, targetId) {
2698
- return `url(#${createGradientDomIdentifier(componentId, sourceId, targetId)})`;
2719
+ function createGradientDomUrl(componentId) {
2720
+ return `url(#${createGradientDomIdentifier(componentId)})`;
2699
2721
  }
2700
2722
 
2701
- class FConnectionGradient extends FConnectionGradientBase {
2723
+ class FConnectionGradientRendererBase {
2702
2724
  _connection = inject(F_CONNECTION_COMPONENTS_PARENT);
2703
- get gradientId() {
2704
- return createGradientDomIdentifier(this._connection.fId(), this._connection.fOutputId(), this._connection.fInputId());
2725
+ _hostElement = inject((ElementRef)).nativeElement;
2726
+ _injector = inject(Injector);
2727
+ _hostAttributes = new Map();
2728
+ _startColor;
2729
+ _endColor;
2730
+ gradientId = computed(() => createGradientDomIdentifier(this._connection.fId()));
2731
+ ngOnInit() {
2732
+ this._listenColorChanges();
2733
+ }
2734
+ _listenColorChanges() {
2735
+ effect(() => {
2736
+ this.gradient().fStartColor();
2737
+ this.gradient().fEndColor();
2738
+ untracked(() => {
2739
+ this._updateGradient();
2740
+ });
2741
+ }, { injector: this._injector });
2705
2742
  }
2706
2743
  get stop1Element() {
2707
- return this.hostElement.children.item(0);
2744
+ return this._hostElement.children.item(0);
2708
2745
  }
2709
2746
  get stop2Element() {
2710
- return this.hostElement.children.item(1);
2711
- }
2712
- initialize() {
2713
- this.stop1Element.setAttribute('offset', '0%');
2714
- this.stop2Element.setAttribute('offset', '100%');
2715
- }
2716
- _updateGradient() {
2717
- this._setFromColor(this._connection.fStartColor());
2718
- this._setToColor(this._connection.fEndColor());
2719
- }
2720
- _setFromColor(color) {
2721
- this.stop1Element.setAttribute('stop-color', color || 'transparent');
2722
- }
2723
- _setToColor(color) {
2724
- this.stop2Element.setAttribute('stop-color', color || 'transparent');
2747
+ return this._hostElement.children.item(1);
2725
2748
  }
2726
2749
  redraw(line) {
2727
2750
  const x = line.point2.x - line.point1.x;
2728
2751
  const y = line.point2.y - line.point1.y;
2729
2752
  const distance = Math.sqrt(x * x + y * y) || 0.01;
2730
2753
  const from = new Point(0.5 - (0.5 * x) / distance, 0.5 - (0.5 * y) / distance);
2731
- this.hostElement.setAttribute('x1', from.x.toString());
2732
- this.hostElement.setAttribute('y1', from.y.toString());
2754
+ this._setHostAttribute('x1', from.x.toString());
2755
+ this._setHostAttribute('y1', from.y.toString());
2733
2756
  const to = new Point(0.5 + (0.5 * x) / distance, 0.5 + (0.5 * y) / distance);
2734
- this.hostElement.setAttribute('x2', to.x.toString());
2735
- this.hostElement.setAttribute('y2', to.y.toString());
2757
+ this._setHostAttribute('x2', to.x.toString());
2758
+ this._setHostAttribute('y2', to.y.toString());
2736
2759
  this._updateGradient();
2737
2760
  }
2761
+ _updateGradient() {
2762
+ const gradient = this.gradient();
2763
+ this._setFromColor(gradient.fStartColor());
2764
+ this._setToColor(gradient.fEndColor());
2765
+ }
2766
+ _setFromColor(color) {
2767
+ const nextColor = color || 'transparent';
2768
+ if (this._startColor === nextColor) {
2769
+ return;
2770
+ }
2771
+ this._startColor = nextColor;
2772
+ this.stop1Element.setAttribute('stop-color', nextColor);
2773
+ this.stop1Element.style.setProperty('stop-color', nextColor);
2774
+ }
2775
+ _setToColor(color) {
2776
+ const nextColor = color || 'transparent';
2777
+ if (this._endColor === nextColor) {
2778
+ return;
2779
+ }
2780
+ this._endColor = nextColor;
2781
+ this.stop2Element.setAttribute('stop-color', nextColor);
2782
+ this.stop2Element.style.setProperty('stop-color', nextColor);
2783
+ }
2784
+ _setHostAttribute(name, value) {
2785
+ if (this._hostAttributes.get(name) === value) {
2786
+ return;
2787
+ }
2788
+ this._hostAttributes.set(name, value);
2789
+ this._hostElement.setAttribute(name, value);
2790
+ }
2791
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradientRendererBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2792
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FConnectionGradientRendererBase, ngImport: i0 });
2793
+ }
2794
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradientRendererBase, decorators: [{
2795
+ type: Directive,
2796
+ args: [{}]
2797
+ }] });
2798
+
2799
+ class FConnectionGradientRenderer extends FConnectionGradientRendererBase {
2800
+ gradient = input.required({
2801
+ alias: 'fConnectionGradientRendererFor',
2802
+ });
2803
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradientRenderer, deps: null, target: i0.ɵɵFactoryTarget.Component });
2804
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FConnectionGradientRenderer, isStandalone: true, selector: "linearGradient[fConnectionGradientRenderer]", inputs: { gradient: { classPropertyName: "gradient", publicName: "fConnectionGradientRendererFor", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.id": "gradientId()" } }, usesInheritance: true, ngImport: i0, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:stop offset=\"0%\" />\n <svg:stop offset=\"100%\" />\n</ng-container>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
2805
+ }
2806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradientRenderer, decorators: [{
2807
+ type: Component,
2808
+ args: [{ selector: 'linearGradient[fConnectionGradientRenderer]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
2809
+ '[attr.id]': 'gradientId()',
2810
+ }, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:stop offset=\"0%\" />\n <svg:stop offset=\"100%\" />\n</ng-container>\n" }]
2811
+ }] });
2812
+
2813
+ const F_CONNECTION_GRADIENT = new InjectionToken('F_CONNECTION_GRADIENT');
2814
+ class FConnectionGradientBase {
2815
+ }
2816
+
2817
+ class FConnectionGradient extends FConnectionGradientBase {
2818
+ fStartColor = input.required();
2819
+ fEndColor = input.required();
2738
2820
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradient, deps: null, target: i0.ɵɵFactoryTarget.Component });
2739
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FConnectionGradient, selector: "linearGradient[fConnectionGradient]", host: { properties: { "attr.id": "gradientId" }, classAttribute: "f-component f-connection-gradient" }, providers: [{ provide: F_CONNECTION_GRADIENT, useExisting: FConnectionGradient }], usesInheritance: true, ngImport: i0, template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:stop />\n <svg:stop />\n</ng-container>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
2821
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FConnectionGradient, isStandalone: true, selector: "f-connection-gradient", inputs: { fStartColor: { classPropertyName: "fStartColor", publicName: "fStartColor", isSignal: true, isRequired: true, transformFunction: null }, fEndColor: { classPropertyName: "fEndColor", publicName: "fEndColor", isSignal: true, isRequired: true, transformFunction: null } }, host: { styleAttribute: "display: none;" }, providers: [{ provide: F_CONNECTION_GRADIENT, useExisting: FConnectionGradient }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
2740
2822
  }
2741
2823
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionGradient, decorators: [{
2742
2824
  type: Component,
2743
- args: [{ selector: 'linearGradient[fConnectionGradient]', changeDetection: ChangeDetectionStrategy.OnPush, host: {
2744
- class: 'f-component f-connection-gradient',
2745
- '[attr.id]': 'gradientId',
2746
- }, providers: [{ provide: F_CONNECTION_GRADIENT, useExisting: FConnectionGradient }], template: "<ng-container xmlns:svg=\"http://www.w3.org/2000/svg\">\n <svg:stop />\n <svg:stop />\n</ng-container>\n" }]
2825
+ args: [{
2826
+ selector: 'f-connection-gradient',
2827
+ template: '',
2828
+ standalone: true,
2829
+ host: {
2830
+ style: 'display: none;',
2831
+ },
2832
+ providers: [{ provide: F_CONNECTION_GRADIENT, useExisting: FConnectionGradient }],
2833
+ }]
2747
2834
  }] });
2748
2835
 
2749
2836
  const F_CONNECTION_PATH = new InjectionToken('F_CONNECTION_PATH');
@@ -2753,12 +2840,16 @@ class FConnectionPathBase {
2753
2840
 
2754
2841
  class FConnectionPath extends FConnectionPathBase {
2755
2842
  _connection = inject(F_CONNECTION_COMPONENTS_PARENT);
2843
+ useGradient = input(false);
2844
+ linkToGradient = computed(() => {
2845
+ if (!this.useGradient()) {
2846
+ return null;
2847
+ }
2848
+ return createGradientDomUrl(this._connection.fId());
2849
+ });
2756
2850
  get fPathId() {
2757
2851
  return this._connection.fId();
2758
2852
  }
2759
- get linkToGradient() {
2760
- return createGradientDomUrl(this._connection.fId(), this._connection.fOutputId(), this._connection.fInputId());
2761
- }
2762
2853
  get attrConnectionId() {
2763
2854
  return createConnectionDomIdentifier(this._connection.fId(), this._connection.fOutputId(), this._connection.fInputId());
2764
2855
  }
@@ -2777,7 +2868,7 @@ class FConnectionPath extends FConnectionPathBase {
2777
2868
  this.hostElement.setAttribute('marker-end', `url(#${getMarkerEndId(this._connection.fId())})`);
2778
2869
  }
2779
2870
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionPath, deps: null, target: i0.ɵɵFactoryTarget.Component });
2780
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FConnectionPath, selector: "path[f-connection-path]", host: { properties: { "attr.id": "attrConnectionId", "attr.data-f-path-id": "fPathId", "attr.stroke": "linkToGradient" }, classAttribute: "f-component f-connection-path" }, providers: [
2871
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FConnectionPath, selector: "path[f-connection-path]", inputs: { useGradient: { classPropertyName: "useGradient", publicName: "useGradient", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "attrConnectionId", "attr.data-f-path-id": "fPathId", "style.stroke": "linkToGradient()" }, classAttribute: "f-component f-connection-path" }, providers: [
2781
2872
  {
2782
2873
  provide: F_CONNECTION_PATH,
2783
2874
  useExisting: FConnectionPath,
@@ -2790,7 +2881,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2790
2881
  class: 'f-component f-connection-path',
2791
2882
  '[attr.id]': 'attrConnectionId',
2792
2883
  '[attr.data-f-path-id]': 'fPathId',
2793
- '[attr.stroke]': 'linkToGradient',
2884
+ '[style.stroke]': 'linkToGradient()',
2794
2885
  }, providers: [
2795
2886
  {
2796
2887
  provide: F_CONNECTION_PATH,
@@ -2974,8 +3065,6 @@ const MIXIN_BASE$1 = mixinChangeSelection(mixinChangeVisibility(class {
2974
3065
  }));
2975
3066
  class FConnectionBase extends MIXIN_BASE$1 {
2976
3067
  _fConnectionBuilder = inject(ConnectionLineBuilder);
2977
- fStartColor = input('black');
2978
- fEndColor = input('black');
2979
3068
  path = '';
2980
3069
  line = LineExtensions.initialize();
2981
3070
  fReassignableStart = signal(false);
@@ -2983,13 +3072,14 @@ class FConnectionBase extends MIXIN_BASE$1 {
2983
3072
  fSelectionDisabled = signal(false);
2984
3073
  fDefs = viewChild.required('defs');
2985
3074
  fPath = viewChild.required(F_CONNECTION_PATH);
2986
- fGradient = viewChild.required(F_CONNECTION_GRADIENT);
2987
3075
  fDragHandleStart = viewChild(F_CONNECTION_DRAG_HANDLE_START);
2988
3076
  fDragHandleEnd = viewChild.required(F_CONNECTION_DRAG_HANDLE_END);
2989
3077
  fSelection = viewChild.required(F_CONNECTION_SELECTION);
2990
3078
  fContents = contentChildren(F_CONNECTION_CONTENT, {
2991
3079
  descendants: true,
2992
3080
  });
3081
+ fGradient = contentChild(F_CONNECTION_GRADIENT);
3082
+ _fGradientRenderer = viewChild(FConnectionGradientRenderer);
2993
3083
  fWaypoints = contentChild(F_CONNECTION_WAYPOINTS);
2994
3084
  fInputSide = signal(EFConnectionConnectableSide.DEFAULT);
2995
3085
  _sourceSide = EFConnectableSide.AUTO;
@@ -3002,7 +3092,6 @@ class FConnectionBase extends MIXIN_BASE$1 {
3002
3092
  }
3003
3093
  initialize() {
3004
3094
  this.fPath().initialize();
3005
- this.fGradient().initialize();
3006
3095
  this.redraw();
3007
3096
  }
3008
3097
  isContains(element) {
@@ -3045,9 +3134,15 @@ class FConnectionBase extends MIXIN_BASE$1 {
3045
3134
  redraw() {
3046
3135
  this.fPath().setPath(this.path);
3047
3136
  this.fSelection().setPath(this.path);
3048
- this.fGradient().redraw(this.line);
3049
3137
  this.fDragHandleEnd().redraw(this._penultimatePoint, this.line.point2);
3050
3138
  this.fDragHandleStart()?.redraw(this._secondPoint, this.line.point1);
3139
+ this._fGradientRenderer()?.redraw(this.line);
3140
+ }
3141
+ getResolvedSides() {
3142
+ return {
3143
+ sourceSide: this._sourceSide,
3144
+ targetSide: this._targetSide,
3145
+ };
3051
3146
  }
3052
3147
  /**
3053
3148
  * Applies the resolved sides to the connection. Don't call this method directly; it's used internally.
@@ -3060,14 +3155,250 @@ class FConnectionBase extends MIXIN_BASE$1 {
3060
3155
  this._targetSide = targetSide;
3061
3156
  }
3062
3157
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3063
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: FConnectionBase, inputs: { fStartColor: { classPropertyName: "fStartColor", publicName: "fStartColor", isSignal: true, isRequired: false, transformFunction: null }, fEndColor: { classPropertyName: "fEndColor", publicName: "fEndColor", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "fContents", predicate: F_CONNECTION_CONTENT, descendants: true, isSignal: true }, { propertyName: "fWaypoints", first: true, predicate: F_CONNECTION_WAYPOINTS, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, isSignal: true }, { propertyName: "fPath", first: true, predicate: F_CONNECTION_PATH, descendants: true, isSignal: true }, { propertyName: "fGradient", first: true, predicate: F_CONNECTION_GRADIENT, descendants: true, isSignal: true }, { propertyName: "fDragHandleStart", first: true, predicate: F_CONNECTION_DRAG_HANDLE_START, descendants: true, isSignal: true }, { propertyName: "fDragHandleEnd", first: true, predicate: F_CONNECTION_DRAG_HANDLE_END, descendants: true, isSignal: true }, { propertyName: "fSelection", first: true, predicate: F_CONNECTION_SELECTION, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
3158
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: FConnectionBase, queries: [{ propertyName: "fContents", predicate: F_CONNECTION_CONTENT, descendants: true, isSignal: true }, { propertyName: "fGradient", first: true, predicate: F_CONNECTION_GRADIENT, descendants: true, isSignal: true }, { propertyName: "fWaypoints", first: true, predicate: F_CONNECTION_WAYPOINTS, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, isSignal: true }, { propertyName: "fPath", first: true, predicate: F_CONNECTION_PATH, descendants: true, isSignal: true }, { propertyName: "fDragHandleStart", first: true, predicate: F_CONNECTION_DRAG_HANDLE_START, descendants: true, isSignal: true }, { propertyName: "fDragHandleEnd", first: true, predicate: F_CONNECTION_DRAG_HANDLE_END, descendants: true, isSignal: true }, { propertyName: "fSelection", first: true, predicate: F_CONNECTION_SELECTION, descendants: true, isSignal: true }, { propertyName: "_fGradientRenderer", first: true, predicate: FConnectionGradientRenderer, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
3064
3159
  }
3065
3160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, decorators: [{
3066
3161
  type: Directive
3067
3162
  }], ctorParameters: () => [] });
3068
3163
 
3164
+ const F_CONNECTION_WORKER_SOURCE = String.raw `
3165
+ const EPSILON = 0.5;
3166
+
3167
+ addEventListener('message', (event) => {
3168
+ const data = event?.data;
3169
+ const requestId = data?.requestId;
3170
+ const items = Array.isArray(data?.items) ? data.items : [];
3171
+
3172
+ try {
3173
+ const results = items.map((item) => calculateItem(item));
3174
+ postMessage({ requestId, results });
3175
+ } catch (error) {
3176
+ const message = error instanceof Error ? error.message : 'Connection worker failed.';
3177
+ postMessage({ requestId, error: message });
3178
+ }
3179
+ });
3180
+
3181
+ function calculateItem(item) {
3182
+ const sourceCenterX = item.sourceRect.x + item.sourceRect.width / 2;
3183
+ const sourceCenterY = item.sourceRect.y + item.sourceRect.height / 2;
3184
+ const targetCenterX = item.targetRect.x + item.targetRect.width / 2;
3185
+ const targetCenterY = item.targetRect.y + item.targetRect.height / 2;
3186
+
3187
+ const sourceSide = resolveConnectableSide(
3188
+ item.outputSide,
3189
+ targetCenterX - sourceCenterX,
3190
+ targetCenterY - sourceCenterY,
3191
+ item.sourceConnectableSide,
3192
+ );
3193
+
3194
+ const targetSide = resolveConnectableSide(
3195
+ item.inputSide,
3196
+ sourceCenterX - targetCenterX,
3197
+ sourceCenterY - targetCenterY,
3198
+ item.targetConnectableSide,
3199
+ );
3200
+
3201
+ if (item.behavior === 'fixed_center') {
3202
+ return {
3203
+ originalIndex: item.originalIndex,
3204
+ supported: true,
3205
+ sourceSide,
3206
+ targetSide,
3207
+ line: {
3208
+ point1: { x: sourceCenterX, y: sourceCenterY },
3209
+ point2: { x: targetCenterX, y: targetCenterY },
3210
+ },
3211
+ };
3212
+ }
3213
+
3214
+ if (item.behavior !== 'fixed') {
3215
+ if (item.behavior !== 'floating') {
3216
+ return { originalIndex: item.originalIndex, supported: false };
3217
+ }
3218
+
3219
+ return {
3220
+ originalIndex: item.originalIndex,
3221
+ supported: true,
3222
+ sourceSide,
3223
+ targetSide,
3224
+ line: buildFloatingLine(item.sourceRect, item.targetRect),
3225
+ };
3226
+ }
3227
+
3228
+ const line = buildFixedLine(item.sourceRect, item.targetRect, sourceSide, targetSide);
3229
+ if (!line) {
3230
+ return { originalIndex: item.originalIndex, supported: false };
3231
+ }
3232
+
3233
+ return {
3234
+ originalIndex: item.originalIndex,
3235
+ supported: true,
3236
+ sourceSide,
3237
+ targetSide,
3238
+ line,
3239
+ };
3240
+ }
3241
+
3242
+ function resolveConnectableSide(requestedSide, deltaX, deltaY, fallbackSide) {
3243
+ if (requestedSide === 'default') {
3244
+ return fallbackSide;
3245
+ }
3246
+
3247
+ const absX = Math.abs(deltaX);
3248
+ const absY = Math.abs(deltaY);
3249
+ const nearZero = absX < EPSILON && absY < EPSILON;
3250
+
3251
+ if (nearZero) {
3252
+ return fallbackSide;
3253
+ }
3254
+
3255
+ const horizontalDominant = absX >= absY;
3256
+
3257
+ switch (requestedSide) {
3258
+ case 'calculate':
3259
+ return horizontalDominant ? (deltaX >= 0 ? 'right' : 'left') : deltaY >= 0 ? 'bottom' : 'top';
3260
+
3261
+ case 'calculate_horizontal':
3262
+ if (absX < EPSILON) {
3263
+ return fallbackSide;
3264
+ }
3265
+
3266
+ return deltaX >= 0 ? 'right' : 'left';
3267
+
3268
+ case 'calculate_vertical':
3269
+ if (absY < EPSILON) {
3270
+ return fallbackSide;
3271
+ }
3272
+
3273
+ return deltaY >= 0 ? 'bottom' : 'top';
3274
+
3275
+ case 'top':
3276
+ case 'bottom':
3277
+ case 'left':
3278
+ case 'right':
3279
+ return requestedSide;
3280
+
3281
+ default:
3282
+ return fallbackSide;
3283
+ }
3284
+ }
3285
+
3286
+ function buildFixedLine(sourceRect, targetRect, sourceSide, targetSide) {
3287
+ const sourceAnchor = sourceSide === 'auto' ? 'bottom' : sourceSide;
3288
+ const targetAnchor = targetSide === 'auto' ? 'top' : targetSide;
3289
+
3290
+ const point1 = getSidePoint(sourceRect, sourceAnchor);
3291
+ const point2 = getSidePoint(targetRect, targetAnchor);
3292
+
3293
+ if (!point1 || !point2) {
3294
+ return null;
3295
+ }
3296
+
3297
+ return { point1, point2 };
3298
+ }
3299
+
3300
+ function buildFloatingLine(sourceRect, targetRect) {
3301
+ const sourceCenter = getRectCenter(sourceRect);
3302
+ const targetCenter = getRectCenter(targetRect);
3303
+
3304
+ return {
3305
+ point1: getRectBorderIntersection(sourceRect, sourceCenter, targetCenter),
3306
+ point2: getRectBorderIntersection(targetRect, targetCenter, sourceCenter),
3307
+ };
3308
+ }
3309
+
3310
+ function getRectCenter(rect) {
3311
+ return {
3312
+ x: rect.x + rect.width / 2,
3313
+ y: rect.y + rect.height / 2,
3314
+ };
3315
+ }
3316
+
3317
+ function getRectBorderIntersection(rect, from, to) {
3318
+ const halfWidth = rect.width / 2;
3319
+ const halfHeight = rect.height / 2;
3320
+ const center = getRectCenter(rect);
3321
+
3322
+ const dx = to.x - from.x;
3323
+ const dy = to.y - from.y;
3324
+
3325
+ if (Math.abs(dx) < EPSILON && Math.abs(dy) < EPSILON) {
3326
+ return center;
3327
+ }
3328
+
3329
+ const scaleX = Math.abs(dx) < EPSILON ? Number.POSITIVE_INFINITY : halfWidth / Math.abs(dx);
3330
+ const scaleY = Math.abs(dy) < EPSILON ? Number.POSITIVE_INFINITY : halfHeight / Math.abs(dy);
3331
+ const scale = Math.min(scaleX, scaleY);
3332
+
3333
+ return {
3334
+ x: center.x + dx * scale,
3335
+ y: center.y + dy * scale,
3336
+ };
3337
+ }
3338
+
3339
+ function getSidePoint(rect, side) {
3340
+ const centerX = rect.x + rect.width / 2;
3341
+ const centerY = rect.y + rect.height / 2;
3342
+
3343
+ switch (side) {
3344
+ case 'top':
3345
+ return { x: centerX, y: rect.y };
3346
+
3347
+ case 'right':
3348
+ return { x: rect.x + rect.width, y: centerY };
3349
+
3350
+ case 'bottom':
3351
+ return { x: centerX, y: rect.y + rect.height };
3352
+
3353
+ case 'left':
3354
+ return { x: rect.x, y: centerY };
3355
+
3356
+ default:
3357
+ return null;
3358
+ }
3359
+ }
3360
+ `.trim();
3361
+ function isConnectionWorkerRuntimeSupported(windowRef) {
3362
+ return !!resolveConnectionWorkerRuntime(windowRef);
3363
+ }
3364
+ function resolveConnectionWorkerRuntime(windowRef) {
3365
+ const runtimeWindow = windowRef;
3366
+ const blobCtor = runtimeWindow?.Blob;
3367
+ const workerCtor = runtimeWindow?.Worker;
3368
+ const urlApi = runtimeWindow?.URL;
3369
+ if (!blobCtor || !workerCtor) {
3370
+ return null;
3371
+ }
3372
+ if (typeof urlApi?.createObjectURL !== 'function' ||
3373
+ typeof urlApi.revokeObjectURL !== 'function') {
3374
+ return null;
3375
+ }
3376
+ return {
3377
+ blobCtor,
3378
+ workerCtor,
3379
+ urlApi,
3380
+ };
3381
+ }
3382
+ function createConnectionWorkerUrl(runtime) {
3383
+ const blob = new runtime.blobCtor([F_CONNECTION_WORKER_SOURCE], {
3384
+ type: 'text/javascript',
3385
+ });
3386
+ return runtime.urlApi.createObjectURL(blob);
3387
+ }
3388
+ function revokeConnectionWorkerUrl(workerUrl, urlApi) {
3389
+ if (!workerUrl) {
3390
+ return;
3391
+ }
3392
+ const resolvedUrlApi = urlApi ?? (typeof URL === 'undefined' ? null : URL);
3393
+ if (typeof resolvedUrlApi?.revokeObjectURL !== 'function') {
3394
+ return;
3395
+ }
3396
+ resolvedUrlApi.revokeObjectURL(workerUrl);
3397
+ }
3398
+
3069
3399
  class FConnectionWorker {
3070
3400
  worker = null;
3401
+ workerUrl = null;
3071
3402
  nextRequestId = 0;
3072
3403
  isDisabled = false;
3073
3404
  pending = new Map();
@@ -3076,6 +3407,8 @@ class FConnectionWorker {
3076
3407
  this.pending.clear();
3077
3408
  this.worker?.terminate();
3078
3409
  this.worker = null;
3410
+ revokeConnectionWorkerUrl(this.workerUrl);
3411
+ this.workerUrl = null;
3079
3412
  }
3080
3413
  dispose() {
3081
3414
  this.resetRuntime(new Error('Connection worker was destroyed.'));
@@ -3183,12 +3516,16 @@ let EnsureConnectionWorker = class EnsureConnectionWorker {
3183
3516
  return this._state.worker;
3184
3517
  }
3185
3518
  const windowRef = this._browser.document.defaultView;
3186
- if (!windowRef?.Worker) {
3519
+ if (!isConnectionWorkerRuntimeSupported(windowRef)) {
3187
3520
  return null;
3188
3521
  }
3522
+ const runtime = resolveConnectionWorkerRuntime(windowRef);
3523
+ if (!runtime) {
3524
+ return null;
3525
+ }
3526
+ const workerUrl = createConnectionWorkerUrl(runtime);
3189
3527
  try {
3190
- const worker = new windowRef.Worker(new URL('../../worker/f-connection.worker.ts', import.meta.url), {
3191
- type: 'module',
3528
+ const worker = new runtime.workerCtor(workerUrl, {
3192
3529
  name: 'f-flow-connection-worker',
3193
3530
  });
3194
3531
  worker.onmessage = (event) => {
@@ -3200,10 +3537,12 @@ let EnsureConnectionWorker = class EnsureConnectionWorker {
3200
3537
  worker.onmessageerror = () => {
3201
3538
  this._resetWorkerAfterRuntimeError(new Error('Connection worker message deserialization error.'));
3202
3539
  };
3540
+ this._state.workerUrl = workerUrl;
3203
3541
  this._state.worker = worker;
3204
3542
  return worker;
3205
3543
  }
3206
3544
  catch (error) {
3545
+ revokeConnectionWorkerUrl(workerUrl, runtime.urlApi);
3207
3546
  this._disableWorker(error instanceof Error ? error : new Error('Connection worker initialization failed.'));
3208
3547
  return null;
3209
3548
  }
@@ -3239,7 +3578,7 @@ let IsConnectionWorkerEnabled = class IsConnectionWorkerEnabled {
3239
3578
  return false;
3240
3579
  }
3241
3580
  const windowRef = this._browser.document.defaultView;
3242
- return !!windowRef?.Worker;
3581
+ return isConnectionWorkerRuntimeSupported(windowRef);
3243
3582
  }
3244
3583
  _isWorkerAvailable() {
3245
3584
  return this._browser.isBrowser();
@@ -3556,6 +3895,7 @@ let RedrawConnections = class RedrawConnections {
3556
3895
  _browser = inject(BrowserService);
3557
3896
  _renderTicket = 0;
3558
3897
  _connectedInPreviousRender = new Set();
3898
+ _connectionRenderCache = new WeakMap();
3559
3899
  handle(_request) {
3560
3900
  const renderTicket = ++this._renderTicket;
3561
3901
  const nodesRevision = this._store.nodesRevision;
@@ -3598,7 +3938,10 @@ let RedrawConnections = class RedrawConnections {
3598
3938
  target.setConnected(source);
3599
3939
  this._connectedInPreviousRender.add(source);
3600
3940
  this._connectedInPreviousRender.add(target);
3601
- this._createMarkers(connection);
3941
+ const markersChanged = this._createMarkers(connection);
3942
+ if (!markersChanged && !this._shouldRedrawConnection(connection, line)) {
3943
+ return;
3944
+ }
3602
3945
  connection.setLine(line);
3603
3946
  connection.initialize();
3604
3947
  connection.isSelected() ? connection.markAsSelected() : null;
@@ -3613,7 +3956,17 @@ let RedrawConnections = class RedrawConnections {
3613
3956
  return this._mediator.execute(new ResolveConnectionWorkerContextRequest(connection, cache));
3614
3957
  }
3615
3958
  _createMarkers(connection) {
3616
- this._mediator.execute(new CreateConnectionMarkersRequest(connection));
3959
+ return this._mediator.execute(new CreateConnectionMarkersRequest(connection));
3960
+ }
3961
+ _shouldRedrawConnection(connection, line) {
3962
+ const pathElement = connection.fPath().hostElement;
3963
+ const signature = createConnectionRenderSignature(connection, line);
3964
+ const cached = this._connectionRenderCache.get(connection);
3965
+ if (cached?.signature === signature && cached.pathElement === pathElement) {
3966
+ return false;
3967
+ }
3968
+ this._connectionRenderCache.set(connection, { signature, pathElement });
3969
+ return true;
3617
3970
  }
3618
3971
  _setupConnectionsUsingWorker(connections, connectorRectCache, renderTicket, nodesRevision) {
3619
3972
  this._mediator
@@ -3752,6 +4105,35 @@ RedrawConnections = __decorate([
3752
4105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RedrawConnections, decorators: [{
3753
4106
  type: Injectable
3754
4107
  }] });
4108
+ function createConnectionRenderSignature(connection, line) {
4109
+ const { sourceSide, targetSide } = connection.getResolvedSides();
4110
+ return [
4111
+ connection.fBehavior,
4112
+ connection.fType,
4113
+ connection.fRadius,
4114
+ connection.fOffset,
4115
+ connection.fReassignableStart(),
4116
+ serializeContents(connection.fContents() || []),
4117
+ sourceSide,
4118
+ targetSide,
4119
+ serializePoint(line.point1),
4120
+ serializePoint(line.point2),
4121
+ serializeWaypoints(connection.fWaypoints()?.waypoints() || []),
4122
+ ].join('|');
4123
+ }
4124
+ function serializePoint(point) {
4125
+ return `${point.x}:${point.y}`;
4126
+ }
4127
+ function serializeWaypoints(waypoints) {
4128
+ return waypoints.map(serializePoint).join(';');
4129
+ }
4130
+ function serializeContents(contents) {
4131
+ return contents
4132
+ .map((content) => {
4133
+ return [content.position(), content.offset(), content.align()].join(':');
4134
+ })
4135
+ .join(';');
4136
+ }
3755
4137
 
3756
4138
  class RemoveConnectionForCreateFromStoreRequest {
3757
4139
  static fToken = Symbol('RemoveConnectionForCreateFromStoreRequest');
@@ -15628,7 +16010,7 @@ class FConnectionComponent extends FConnectionBase {
15628
16010
  this._mediator.execute(new RemoveConnectionFromStoreRequest(this));
15629
16011
  }
15630
16012
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15631
- 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 }, 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_COMPONENTS_PARENT, useExisting: FConnectionComponent }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <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 </g>\n</svg>\n<ng-content select=\"f-connection-waypoints\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none}:host svg{display:block;vertical-align:middle;overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionDragHandleStart, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionGradient, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPath, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16013
+ 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 }, 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_COMPONENTS_PARENT, useExisting: FConnectionComponent }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [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 </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n<ng-content select=\"f-connection-waypoints\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none}:host svg{display:block;vertical-align:middle;overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionGradientRenderer, selector: "linearGradient[fConnectionGradientRenderer]", inputs: ["fConnectionGradientRendererFor"] }, { kind: "component", type: FConnectionDragHandleStart, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionPath, selector: "path[f-connection-path]", inputs: ["useGradient"] }, { kind: "component", type: FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15632
16014
  }
15633
16015
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, decorators: [{
15634
16016
  type: Component,
@@ -15637,7 +16019,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
15637
16019
  class: 'f-component f-connection',
15638
16020
  '[class.f-connection-selection-disabled]': 'fSelectionDisabled()',
15639
16021
  '[class.f-connection-reassign-disabled]': 'fDraggingDisabled()',
15640
- }, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <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 </g>\n</svg>\n<ng-content select=\"f-connection-waypoints\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none}:host svg{display:block;vertical-align:middle;overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
16022
+ }, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [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 </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n<ng-content select=\"f-connection-waypoints\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none}:host svg{display:block;vertical-align:middle;overflow:visible!important;position:absolute}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
15641
16023
  }], propDecorators: { fRadius: [{
15642
16024
  type: Input,
15643
16025
  args: [{ transform: numberAttribute }]
@@ -15689,7 +16071,7 @@ class FConnectionForCreateComponent extends FConnectionBase {
15689
16071
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionForCreateComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15690
16072
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionForCreateComponent, selector: "f-connection-for-create", inputs: { 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 }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "f-component f-connection f-connection-for-create" }, providers: [
15691
16073
  { provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionForCreateComponent },
15692
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionDragHandleStart, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionGradient, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPath, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16074
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionGradientRenderer, selector: "linearGradient[fConnectionGradientRenderer]", inputs: ["fConnectionGradientRendererFor"] }, { kind: "component", type: FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionPath, selector: "path[f-connection-path]", inputs: ["useGradient"] }, { kind: "component", type: FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15693
16075
  }
15694
16076
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionForCreateComponent, decorators: [{
15695
16077
  type: Component,
@@ -15697,7 +16079,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
15697
16079
  class: 'f-component f-connection f-connection-for-create',
15698
16080
  }, providers: [
15699
16081
  { provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FConnectionForCreateComponent },
15700
- ], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
16082
+ ], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
15701
16083
  }], propDecorators: { fRadius: [{
15702
16084
  type: Input,
15703
16085
  args: [{ transform: numberAttribute }]
@@ -15748,13 +16130,13 @@ class FSnapConnectionComponent extends FConnectionBase {
15748
16130
  this._mediator.execute(new RemoveSnapConnectionFromStoreRequest());
15749
16131
  }
15750
16132
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FSnapConnectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
15751
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FSnapConnectionComponent, selector: "f-snap-connection", inputs: { fSnapThreshold: { classPropertyName: "fSnapThreshold", publicName: "fSnapThreshold", isSignal: false, isRequired: false, transformFunction: numberAttribute }, 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 }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "f-component f-connection f-snap-connection" }, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FSnapConnectionComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionDragHandleStart, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionGradient, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: FConnectionPath, selector: "path[f-connection-path]" }, { kind: "component", type: FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16133
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FSnapConnectionComponent, selector: "f-snap-connection", inputs: { fSnapThreshold: { classPropertyName: "fSnapThreshold", publicName: "fSnapThreshold", isSignal: false, isRequired: false, transformFunction: numberAttribute }, 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 }, fInputSide: { classPropertyName: "fInputSide", publicName: "fInputSide", isSignal: true, isRequired: false, transformFunction: null }, fOutputSide: { classPropertyName: "fOutputSide", publicName: "fOutputSide", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "f-component f-connection f-snap-connection" }, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FSnapConnectionComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"], dependencies: [{ kind: "component", type: FConnectionGradientRenderer, selector: "linearGradient[fConnectionGradientRenderer]", inputs: ["fConnectionGradientRendererFor"] }, { kind: "component", type: FConnectionDragHandleEnd, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: FConnectionPath, selector: "path[f-connection-path]", inputs: ["useGradient"] }, { kind: "component", type: FConnectionSelection, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15752
16134
  }
15753
16135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FSnapConnectionComponent, decorators: [{
15754
16136
  type: Component,
15755
16137
  args: [{ selector: 'f-snap-connection', changeDetection: ChangeDetectionStrategy.OnPush, host: {
15756
16138
  class: 'f-component f-connection f-snap-connection',
15757
- }, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FSnapConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content />\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\"></ng-content>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
16139
+ }, providers: [{ provide: F_CONNECTION_COMPONENTS_PARENT, useExisting: FSnapConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\">\n <defs #defs></defs>\n <ng-content select=\"svg[fMarker]\" />\n <g class=\"f-connection-group\">\n @if (fGradient(); as gradient) {\n <linearGradient\n fConnectionGradientRenderer\n [fConnectionGradientRendererFor]=\"gradient\"\n ></linearGradient>\n }\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [useGradient]=\"!!fGradient()\" [attr.d]=\"path\"></path>\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n </g>\n</svg>\n<ng-content select=\"f-connection-gradient\" />\n\n@if (fContents().length) {\n <ng-content select=\"[fConnectionContent]\" />\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-content{pointer-events:all}\n"] }]
15758
16140
  }], propDecorators: { fSnapThreshold: [{
15759
16141
  type: Input,
15760
16142
  args: [{ transform: numberAttribute }]
@@ -15774,7 +16156,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
15774
16156
  const F_CONNECTION_PROVIDERS = [
15775
16157
  FConnectionDragHandleStart,
15776
16158
  FConnectionDragHandleEnd,
15777
- FConnectionGradient,
15778
16159
  FConnectionPath,
15779
16160
  FConnectionSelection,
15780
16161
  FConnectionMarker,
@@ -15782,7 +16163,12 @@ const F_CONNECTION_PROVIDERS = [
15782
16163
  FConnectionForCreateComponent,
15783
16164
  FSnapConnectionComponent,
15784
16165
  ];
15785
- const F_CONNECTION_IMPORTS_EXPORTS = [FConnectionContent, FConnectionWaypoints];
16166
+ const F_CONNECTION_IMPORTS_EXPORTS = [
16167
+ FConnectionContent,
16168
+ FConnectionGradient,
16169
+ FConnectionGradientRenderer,
16170
+ FConnectionWaypoints,
16171
+ ];
15786
16172
 
15787
16173
  const F_MAGNETIC_LINES = new InjectionToken('F_MAGNETIC_LINES');
15788
16174
  class FMagneticLinesBase {
@@ -16970,8 +17356,8 @@ function createSpyObj(baseName, methodNames) {
16970
17356
 
16971
17357
  class FFlowModule {
16972
17358
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FFlowModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16973
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FFlowModule, declarations: [FConnectionDragHandleStart, FConnectionDragHandleEnd, FConnectionGradient, FConnectionPath, FConnectionSelection, FConnectionMarker, FConnectionComponent, FConnectionForCreateComponent, FSnapConnectionComponent, FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective, FLineAlignmentComponent, FGroupDirective, FNodeDirective, FDragHandleDirective, FResizeHandleDirective, FRotateHandleDirective, FDragBlockerDirective,
16974
- FDraggableDirective], imports: [FFlowComponent, FCanvasComponent, FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FZoomDirective, FExternalItem, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FSelectionArea, FMagneticLines, FMagneticRects, FConnectionContent, FConnectionWaypoints, FVirtualFor, CommonModule], exports: [FFlowComponent, FCanvasComponent, FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FZoomDirective, FExternalItem, FSelectionArea, FMagneticLines, FMagneticRects, FConnectionContent, FConnectionWaypoints, FConnectionDragHandleStart, FConnectionDragHandleEnd, FConnectionGradient, FConnectionPath, FConnectionSelection, FConnectionMarker, FConnectionComponent, FConnectionForCreateComponent, FSnapConnectionComponent, FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective, FLineAlignmentComponent, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FGroupDirective, FNodeDirective, FDragHandleDirective, FResizeHandleDirective, FRotateHandleDirective, FVirtualFor, FDragBlockerDirective,
17359
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FFlowModule, declarations: [FConnectionDragHandleStart, FConnectionDragHandleEnd, FConnectionPath, FConnectionSelection, FConnectionMarker, FConnectionComponent, FConnectionForCreateComponent, FSnapConnectionComponent, FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective, FLineAlignmentComponent, FGroupDirective, FNodeDirective, FDragHandleDirective, FResizeHandleDirective, FRotateHandleDirective, FDragBlockerDirective,
17360
+ FDraggableDirective], imports: [FFlowComponent, FCanvasComponent, FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FZoomDirective, FExternalItem, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FSelectionArea, FMagneticLines, FMagneticRects, FConnectionContent, FConnectionGradient, FConnectionGradientRenderer, FConnectionWaypoints, FVirtualFor, CommonModule], exports: [FFlowComponent, FCanvasComponent, FBackgroundComponent, FRectPatternComponent, FCirclePatternComponent, FZoomDirective, FExternalItem, FSelectionArea, FMagneticLines, FMagneticRects, FConnectionContent, FConnectionGradient, FConnectionGradientRenderer, FConnectionWaypoints, FConnectionDragHandleStart, FConnectionDragHandleEnd, FConnectionPath, FConnectionSelection, FConnectionMarker, FConnectionComponent, FConnectionForCreateComponent, FSnapConnectionComponent, FNodeInputDirective, FNodeOutletDirective, FNodeOutputDirective, FLineAlignmentComponent, FMinimapComponent, FMinimapCanvasDirective, FMinimapViewDirective, FMinimapFlowDirective, FGroupDirective, FNodeDirective, FDragHandleDirective, FResizeHandleDirective, FRotateHandleDirective, FVirtualFor, FDragBlockerDirective,
16975
17361
  FDraggableDirective] });
16976
17362
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FFlowModule, imports: [CommonModule] });
16977
17363
  }
@@ -17026,5 +17412,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
17026
17412
  * Generated bundle index. Do not edit.
17027
17413
  */
17028
17414
 
17029
- export { AddCanvasToStore, AddCanvasToStoreRequest, AddConnectionForCreateToStore, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStore, AddConnectionMarkerToStoreRequest, AddConnectionToStore, AddConnectionToStoreRequest, AddConnectorToStore, AddConnectorToStoreRequest, AddDndToStore, AddDndToStoreRequest, AddFlowToStore, AddFlowToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddPatternToBackground, AddPatternToBackgroundRequest, AddSnapConnectionToStore, AddSnapConnectionToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, AttachDragNodeHandlerFromSelection, AttachDragNodeHandlerFromSelectionRequest, AttachResizeConnectionDragHandlersToNode, AttachResizeConnectionDragHandlersToNodeRequest, AttachSoftParentConnectionDragHandlersToNode, AttachSoftParentConnectionDragHandlersToNodeRequest, AttachSourceConnectionDragHandlersToNode, AttachSourceConnectionDragHandlersToNodeRequest, AttachTargetConnectionDragHandlersToNode, AttachTargetConnectionDragHandlersToNodeRequest, BuildDragNodeConstraints, BuildDragNodeConstraintsRequest, CALCULATABLE_SIDES, COMMON_PROVIDERS, CONNECTABLE_SIDE_EPSILON, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateAdaptiveCurveData, CalculateBezierCurveData, CalculateChangedRectFromDifference, CalculateChangedRectFromDifferenceRequest, CalculateClosestConnector, CalculateClosestConnectorRequest, CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByConnectedPositionsRequest, CalculateConnectableSideByInternalPosition, CalculateConnectableSideByInternalPositionRequest, CalculateConnectionWorkerConnectorRect, CalculateConnectionWorkerConnectorRectRequest, CalculateConnectionWorkerPayloadItem, CalculateConnectionWorkerPayloadItemRequest, CalculateConnectionsState, CalculateConnectionsStateRequest, CalculateConnectionsUsingConnectionWorker, CalculateConnectionsUsingConnectionWorkerRequest, CalculateConnectorsConnectableSides, CalculateConnectorsConnectableSidesRequest, CalculateDirectChildrenUnionRect, CalculateDirectChildrenUnionRectRequest, CalculateFlowPointFromMinimapPoint, CalculateFlowPointFromMinimapPointRequest, CalculateFlowState, CalculateFlowStateRequest, CalculateInputConnections, CalculateInputConnectionsRequest, CalculateNodesBoundingBox, CalculateNodesBoundingBoxNormalizedPosition, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CalculateNodesState, CalculateNodesStateRequest, CalculateOutputConnections, CalculateOutputConnectionsRequest, CalculateResizeLimits, CalculateResizeLimitsRequest, CalculateSegmentLineData, CalculateSelectableItems, CalculateSelectableItemsRequest, CalculateSourceConnectorsToConnect, CalculateSourceConnectorsToConnectRequest, CalculateStraightLineData, CalculateTargetConnectorsToConnect, CalculateTargetConnectorsToConnectRequest, CenterGroupOrNode, CenterGroupOrNodeRequest, ClearSelection, ClearSelectionRequest, ConnectionBehaviourBuilder, ConnectionBehaviourBuilderRequest, ConnectionContentLayoutEngine, ConnectionLineBuilder, ConnectionLineBuilderRequest, ConnectionWorkerRun, ConnectionWorkerRunRequest, CreateConnectionCreateDragHandler, CreateConnectionCreateDragHandlerRequest, CreateConnectionFinalize, CreateConnectionFinalizeRequest, CreateConnectionFromOutletPreparation, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparation, CreateConnectionFromOutputPreparationRequest, CreateConnectionHandler, CreateConnectionMarkers, CreateConnectionMarkersRequest, CreateConnectionPreparation, CreateConnectionPreparationRequest, CreateDragNodeHandler, CreateDragNodeHandlerRequest, CreateDragNodeHierarchy, CreateDragNodeHierarchyRequest, DRAG_AND_DROP_COMMON_PROVIDERS, DRAG_CANVAS_PROVIDERS, DRAG_CONNECTIONS_PROVIDERS, DRAG_DROP_TO_GROUP_PROVIDERS, DRAG_EXTERNAL_ITEM_HANDLER_KIND, DRAG_EXTERNAL_ITEM_HANDLER_TYPE, DRAG_EXTERNAL_ITEM_PROVIDERS, DRAG_MINIMAP_HANDLER_KIND, DRAG_MINIMAP_HANDLER_TYPE, DRAG_MINIMAP_PROVIDERS, DRAG_NODE_HANDLER_KIND, DRAG_NODE_HANDLER_TYPE, DRAG_SELECTION_AREA_PROVIDERS, DRAG_SELECT_BY_POINTER_PROVIDERS, DeltaClamp, Deprecated, DetectConnectionsUnderDragNode, DetectConnectionsUnderDragNodeRequest, DisableConnectionWorker, DisableConnectionWorkerRequest, DragAndDropBase, DragCanvasFinalize, DragCanvasFinalizeRequest, DragCanvasHandler, DragCanvasPreparation, DragCanvasPreparationRequest, DragConnectionWaypointFinalize, DragConnectionWaypointFinalizeRequest, DragConnectionWaypointHandler, DragConnectionWaypointPreparation, DragConnectionWaypointPreparationRequest, DragExternalItemCreatePlaceholder, DragExternalItemCreatePlaceholderRequest, DragExternalItemCreatePreview, DragExternalItemCreatePreviewRequest, DragExternalItemFinalize, DragExternalItemFinalizeRequest, DragExternalItemHandler, DragExternalItemPreparation, DragExternalItemPreparationRequest, DragHandlerBase, DragHandlerInjector, DragMinimapFinalize, DragMinimapFinalizeRequest, DragMinimapHandler, DragMinimapPreparation, DragMinimapPreparationRequest, DragNodeConnectionBothSidesHandler, DragNodeConnectionHandlerBase, DragNodeConnectionSourceHandler, DragNodeConnectionTargetHandler, DragNodeDeltaConstraints, DragNodeFinalize, DragNodeFinalizeRequest, DragNodeHandler, DragNodeHierarchy, DragNodeItemHandler, DragNodePreparation, DragNodePreparationRequest, DropToGroupFinalize, DropToGroupFinalizeRequest, DropToGroupHandler, DropToGroupPreparation, DropToGroupPreparationRequest, EFConnectableSide, EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, EFMarkerType, EFResizeHandleType, EFZoomDirection, EmitConnectionsChanges, EmitConnectionsChangesRequest, EmitEndDragSequenceEvent, EmitEndDragSequenceEventRequest, EmitSelectionChangeEvent, EmitSelectionChangeEventRequest, EmitStartDragSequenceEvent, EmitStartDragSequenceEventRequest, EnsureConnectionWorker, EnsureConnectionWorkerRequest, EventExtensions, ExternalRectConstraint, FBackgroundBase, FBackgroundComponent, FCache, FCacheConnector, FCacheConnectorKeyFactory, FCacheNode, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionComponent, FConnectionComponentsParent, FConnectionContent, FConnectionContentBase, FConnectionDragHandleBase, FConnectionDragHandleEnd, FConnectionDragHandleStart, FConnectionForCreateComponent, FConnectionGradient, FConnectionGradientBase, FConnectionMarker, FConnectionMarkerBase, FConnectionMarkerRegistry, FConnectionPath, FConnectionPathBase, FConnectionRegistry, FConnectionSelection, FConnectionSelectionBase, FConnectionWaypoints, FConnectionWaypointsBase, FConnectionWaypointsChangedEvent, FConnectionWorker, FConnectorBase, FConnectorRegistry, FCreateConnectionEvent, FCreateNodeEvent, FDragBlockerDirective, FDragExternalItemStartEventData, FDragHandleDirective, FDragHandlerResult, FDragNodeStartEventData, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItem, FExternalItemBase, FExternalItemPlaceholder, FExternalItemPreview, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FIdRegistryBase, FLineAlignmentComponent, FMagneticLines, FMagneticLinesBase, FMagneticRects, FMagneticRectsBase, FMinimapBase, FMinimapCanvasDirective, FMinimapComponent, FMinimapFlowDirective, FMinimapState, FMinimapViewDirective, FMoveNodesEvent, FNodeBase, FNodeConnectionsIntersectionEvent, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FNodeRegistry, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FResizeNodeStartEventData, FRotateHandleDirective, FRotateNodeStartEventData, FSelectionArea, FSelectionAreaBase, FSelectionChangeEvent, FSingleRegistryBase, FSnapConnectionComponent, FSourceConnectorBase, FVirtualFor, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CACHE_FEATURES, F_CACHE_OPTIONS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_COMPONENTS_PARENT, F_CONNECTION_CONTENT, F_CONNECTION_DRAG_HANDLE_END, F_CONNECTION_DRAG_HANDLE_START, F_CONNECTION_FEATURES, F_CONNECTION_GRADIENT, F_CONNECTION_IMPORTS_EXPORTS, F_CONNECTION_MARKER, F_CONNECTION_PATH, F_CONNECTION_PROVIDERS, F_CONNECTION_SELECTION, F_CONNECTION_WAYPOINTS, F_CONNECTION_WORKER_FEATURES, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CSS_CLASS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT_PROVIDERS, F_MAGNETIC_LINES, F_MAGNETIC_LINES_PROVIDERS, F_MAGNETIC_RECTS, F_MAGNETIC_RECTS_PROVIDERS, F_MINIMAP_BASE, F_MINIMAP_FEATURES, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_SELECTED_CLASS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_VIRTUAL_FOR_PROVIDERS, F_ZOOM, F_ZOOM_FEATURES, F_ZOOM_PROVIDERS, FindConnectableConnectorUsingPriorityAndPosition, FindConnectableConnectorUsingPriorityAndPositionRequest, FitToChildNodesAndGroups, FitToChildNodesAndGroupsRequest, FitToFlow, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetCachedFCacheRect, GetCachedFCacheRectRequest, GetChildNodeIds, GetChildNodeIdsRequest, GetConnectorRectReference, GetConnectorRectReferenceRequest, GetCurrentSelection, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroups, GetDeepChildrenNodesAndGroupsRequest, GetFlow, GetFlowRequest, GetNodePadding, GetNodePaddingRequest, GetNormalizedConnectorRect, GetNormalizedConnectorRectRequest, GetNormalizedElementRect, GetNormalizedElementRectRequest, GetNormalizedParentNodeRect, GetNormalizedParentNodeRectRequest, GetNormalizedPoint, GetNormalizedPointRequest, GetParentNodes, GetParentNodesRequest, GridSnapper, HandleConnectionWorkerMessage, HandleConnectionWorkerMessageRequest, IMouseEvent, INSTANCES, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequence, InitializeDragSequenceRequest, InputCanvasPosition, InputCanvasPositionRequest, InputCanvasScale, InputCanvasScaleRequest, InvalidateFCacheNode, InvalidateFCacheNodeRequest, IsArrayHasParentNode, IsArrayHasParentNodeRequest, IsConnectionWorkerEnabled, IsConnectionWorkerEnabledRequest, IsDragStarted, IsDragStartedRequest, ListenConnectionsChanges, ListenConnectionsChangesRequest, ListenNodesChanges, ListenNodesChangesRequest, ListenTransformChanges, ListenTransformChangesRequest, LogExecutionTime, MOUSE_EVENT_IGNORE_TIME, MagneticLineElement, MagneticLineRenderer, MagneticLinesHandler, MagneticLinesPreparation, MagneticLinesPreparationRequest, MagneticRectElement, MagneticRectsHandler, MagneticRectsPreparation, MagneticRectsPreparationRequest, MagneticRectsRenderer, MarkConnectableConnectors, MarkConnectableConnectorsRequest, MinimapCalculateViewRect, MinimapCalculateViewRectRequest, MinimapCalculateViewport, MinimapCalculateViewportRequest, MinimapDrawNodes, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElement, MoveFrontElementsBeforeTargetElementRequest, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NotifyTransformChanged, NotifyTransformChangedRequest, OnPointerMove, OnPointerMoveRequest, PINCH_TO_ZOOM_PROVIDERS, PinchToZoomFinalize, PinchToZoomFinalizeRequest, PinchToZoomHandler, PinchToZoomPreparation, PinchToZoomPreparationRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequence, PrepareDragSequenceRequest, PreventDefaultIsExternalItem, PreventDefaultIsExternalItemRequest, RESIZE_DIRECTIONS, RESIZE_NODE_HANDLER_KIND, RESIZE_NODE_HANDLER_TYPE, ROTATE_NODE_HANDLER_KIND, ROTATE_NODE_HANDLER_TYPE, ReadNodeBoundsWithPaddings, ReadNodeBoundsWithPaddingsRequest, ReadNodeBoundsWithPaddingsResponse, ReassignConnectionFinalize, ReassignConnectionFinalizeRequest, ReassignConnectionHandler, ReassignConnectionPreparation, ReassignConnectionPreparationRequest, ReassignConnectionSourceHandler, ReassignConnectionTargetHandler, RedrawCanvasWithAnimation, RedrawCanvasWithAnimationRequest, RedrawConnections, RedrawConnectionsRequest, RegisterFCacheConnector, RegisterFCacheConnectorRequest, RegisterFCacheNode, RegisterFCacheNodeRequest, RegisterPluginInstance, RegisterPluginInstanceRequest, RemoveCanvasFromStore, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStore, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStore, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStore, RemoveConnectionMarkerFromStoreRequest, RemoveConnectionWaypoint, RemoveConnectionWaypointRequest, RemoveConnectorFromStore, RemoveConnectorFromStoreRequest, RemoveDndFromStore, RemoveDndFromStoreRequest, RemoveFlowFromStore, RemoveFlowFromStoreRequest, RemoveNodeFromStore, RemoveNodeFromStoreRequest, RemovePluginInstance, RemovePluginInstanceRequest, RemoveSnapConnectionFromStore, RemoveSnapConnectionFromStoreRequest, ResetConnectionWorkerRuntime, ResetConnectionWorkerRuntimeRequest, ResetScale, ResetScaleAndCenter, ResetScaleAndCenterRequest, ResetScaleRequest, ResetZoom, ResetZoomRequest, ResizeNodeConnectionBothSidesHandler, ResizeNodeConnectionHandlerBase, ResizeNodeConnectionSourceHandler, ResizeNodeConnectionTargetHandler, ResizeNodeFinalize, ResizeNodeFinalizeRequest, ResizeNodeHandler, ResizeNodePreparation, ResizeNodePreparationRequest, ResolveConnectableOutputForOutlet, ResolveConnectableOutputForOutletRequest, ResolveConnectionWorkerConnectors, ResolveConnectionWorkerConnectorsRequest, ResolveConnectionWorkerContext, ResolveConnectionWorkerContextRequest, RotateNodeFinalize, RotateNodeFinalizeRequest, RotateNodeHandler, RotateNodePreparation, RotateNodePreparationRequest, Select, SelectAll, SelectAllRequest, SelectAndUpdateNodeLayer, SelectAndUpdateNodeLayerRequest, SelectByPointer, SelectByPointerRequest, SelectRequest, SelectionAreaFinalize, SelectionAreaFinalizeRequest, SelectionAreaHandler, SelectionAreaPreparation, SelectionAreaPreparationRequest, SetBackgroundTransform, SetBackgroundTransformRequest, SetFCacheConnectorRect, SetFCacheConnectorRectRequest, SetFCacheNodeRect, SetFCacheNodeRectRequest, SetZoom, SetZoomRequest, ShouldUseConnectionWorker, ShouldUseConnectionWorkerRequest, SortDropCandidatesByLayer, SortDropCandidatesByLayerRequest, SortItemLayers, SortItemLayersRequest, SortItemsByParent, SortItemsByParentRequest, SortNodeLayers, SortNodeLayersRequest, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UnregisterFCacheConnector, UnregisterFCacheConnectorRequest, UnregisterFCacheNode, UnregisterFCacheNodeRequest, UpdateFCacheRectByElement, UpdateFCacheRectByElementRequest, UpdateItemAndChildrenLayers, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScale, UpdateScaleRequest, afterNextPaint, assertRegistryIds, buildConnectionAnchors, buildCornerMidPointsAndApplyOffsets, calculateCenterBetweenPoints, calculateCurveCandidates, calculateDifferenceAfterRotation, calculateMagneticGuides, calculateMagneticRects, calculatePointerInFlow, calculatePolylineCandidates, calculatePositionAfterRotation, canvasFactory, configureComponentTest, configureDiTest, connectionFactory, connectorFactory, createConnectionDomIdentifier, createConnectionSelectionDomIdentifier, createGradientDomIdentifier, createGradientDomUrl, createMediatorHarness, createMultiCubicPath, createPureHarness, createSVGElement, createSegmentLinePath, createSpy, createSpyObj, cubicBezierAtT, debounceAnimationFrame, debounceMicrotask, debounceTime, defaultEventTrigger, determineSide, diBaseProviders, executeRequest, expandRectByOverflow, fInstanceKey, fProvideCache, findExistingWaypoint, findWaypointCandidate, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, flowFactory, getExternalItemHost, infinityMinMax, injectFromDi, isCalculateMode, isDragBlocker, isDragExternalItemHandler, isDragHandleEnd, isDragHandleStart, isDragMinimapHandler, isDragNodeHandler, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, isPointerInsidePoint, isPointerInsideStartOrEndDragHandles, isResizeNodeHandler, isRotateHandle, isRotateNodeHandler, isValidEventTrigger, mergePointChains, mixinChangeSelection, mixinChangeVisibility, nodeFactory, normalizePolyline, notifyOnStart, pickWaypoint, rectFromPoint, registryAdd, registryAddMany, registryGet, registryRequire, sampleCubicBezierUniform, sampleMultiCubicUniform, selectableFactory, stringAttribute, takeOne, transitionEnd, valueProvider, withinSnapThreshold };
17415
+ export { AddCanvasToStore, AddCanvasToStoreRequest, AddConnectionForCreateToStore, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStore, AddConnectionMarkerToStoreRequest, AddConnectionToStore, AddConnectionToStoreRequest, AddConnectorToStore, AddConnectorToStoreRequest, AddDndToStore, AddDndToStoreRequest, AddFlowToStore, AddFlowToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddPatternToBackground, AddPatternToBackgroundRequest, AddSnapConnectionToStore, AddSnapConnectionToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, AttachDragNodeHandlerFromSelection, AttachDragNodeHandlerFromSelectionRequest, AttachResizeConnectionDragHandlersToNode, AttachResizeConnectionDragHandlersToNodeRequest, AttachSoftParentConnectionDragHandlersToNode, AttachSoftParentConnectionDragHandlersToNodeRequest, AttachSourceConnectionDragHandlersToNode, AttachSourceConnectionDragHandlersToNodeRequest, AttachTargetConnectionDragHandlersToNode, AttachTargetConnectionDragHandlersToNodeRequest, BuildDragNodeConstraints, BuildDragNodeConstraintsRequest, CALCULATABLE_SIDES, COMMON_PROVIDERS, CONNECTABLE_SIDE_EPSILON, CREATE_MOVE_NODE_DRAG_MODEL_FROM_SELECTION_PROVIDERS, CalculateAdaptiveCurveData, CalculateBezierCurveData, CalculateChangedRectFromDifference, CalculateChangedRectFromDifferenceRequest, CalculateClosestConnector, CalculateClosestConnectorRequest, CalculateConnectableSideByConnectedPositions, CalculateConnectableSideByConnectedPositionsRequest, CalculateConnectableSideByInternalPosition, CalculateConnectableSideByInternalPositionRequest, CalculateConnectionWorkerConnectorRect, CalculateConnectionWorkerConnectorRectRequest, CalculateConnectionWorkerPayloadItem, CalculateConnectionWorkerPayloadItemRequest, CalculateConnectionsState, CalculateConnectionsStateRequest, CalculateConnectionsUsingConnectionWorker, CalculateConnectionsUsingConnectionWorkerRequest, CalculateConnectorsConnectableSides, CalculateConnectorsConnectableSidesRequest, CalculateDirectChildrenUnionRect, CalculateDirectChildrenUnionRectRequest, CalculateFlowPointFromMinimapPoint, CalculateFlowPointFromMinimapPointRequest, CalculateFlowState, CalculateFlowStateRequest, CalculateInputConnections, CalculateInputConnectionsRequest, CalculateNodesBoundingBox, CalculateNodesBoundingBoxNormalizedPosition, CalculateNodesBoundingBoxNormalizedPositionRequest, CalculateNodesBoundingBoxRequest, CalculateNodesState, CalculateNodesStateRequest, CalculateOutputConnections, CalculateOutputConnectionsRequest, CalculateResizeLimits, CalculateResizeLimitsRequest, CalculateSegmentLineData, CalculateSelectableItems, CalculateSelectableItemsRequest, CalculateSourceConnectorsToConnect, CalculateSourceConnectorsToConnectRequest, CalculateStraightLineData, CalculateTargetConnectorsToConnect, CalculateTargetConnectorsToConnectRequest, CenterGroupOrNode, CenterGroupOrNodeRequest, ClearSelection, ClearSelectionRequest, ConnectionBehaviourBuilder, ConnectionBehaviourBuilderRequest, ConnectionContentLayoutEngine, ConnectionLineBuilder, ConnectionLineBuilderRequest, ConnectionWorkerRun, ConnectionWorkerRunRequest, CreateConnectionCreateDragHandler, CreateConnectionCreateDragHandlerRequest, CreateConnectionFinalize, CreateConnectionFinalizeRequest, CreateConnectionFromOutletPreparation, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparation, CreateConnectionFromOutputPreparationRequest, CreateConnectionHandler, CreateConnectionMarkers, CreateConnectionMarkersRequest, CreateConnectionPreparation, CreateConnectionPreparationRequest, CreateDragNodeHandler, CreateDragNodeHandlerRequest, CreateDragNodeHierarchy, CreateDragNodeHierarchyRequest, DRAG_AND_DROP_COMMON_PROVIDERS, DRAG_CANVAS_PROVIDERS, DRAG_CONNECTIONS_PROVIDERS, DRAG_DROP_TO_GROUP_PROVIDERS, DRAG_EXTERNAL_ITEM_HANDLER_KIND, DRAG_EXTERNAL_ITEM_HANDLER_TYPE, DRAG_EXTERNAL_ITEM_PROVIDERS, DRAG_MINIMAP_HANDLER_KIND, DRAG_MINIMAP_HANDLER_TYPE, DRAG_MINIMAP_PROVIDERS, DRAG_NODE_HANDLER_KIND, DRAG_NODE_HANDLER_TYPE, DRAG_SELECTION_AREA_PROVIDERS, DRAG_SELECT_BY_POINTER_PROVIDERS, DeltaClamp, Deprecated, DetectConnectionsUnderDragNode, DetectConnectionsUnderDragNodeRequest, DisableConnectionWorker, DisableConnectionWorkerRequest, DragAndDropBase, DragCanvasFinalize, DragCanvasFinalizeRequest, DragCanvasHandler, DragCanvasPreparation, DragCanvasPreparationRequest, DragConnectionWaypointFinalize, DragConnectionWaypointFinalizeRequest, DragConnectionWaypointHandler, DragConnectionWaypointPreparation, DragConnectionWaypointPreparationRequest, DragExternalItemCreatePlaceholder, DragExternalItemCreatePlaceholderRequest, DragExternalItemCreatePreview, DragExternalItemCreatePreviewRequest, DragExternalItemFinalize, DragExternalItemFinalizeRequest, DragExternalItemHandler, DragExternalItemPreparation, DragExternalItemPreparationRequest, DragHandlerBase, DragHandlerInjector, DragMinimapFinalize, DragMinimapFinalizeRequest, DragMinimapHandler, DragMinimapPreparation, DragMinimapPreparationRequest, DragNodeConnectionBothSidesHandler, DragNodeConnectionHandlerBase, DragNodeConnectionSourceHandler, DragNodeConnectionTargetHandler, DragNodeDeltaConstraints, DragNodeFinalize, DragNodeFinalizeRequest, DragNodeHandler, DragNodeHierarchy, DragNodeItemHandler, DragNodePreparation, DragNodePreparationRequest, DropToGroupFinalize, DropToGroupFinalizeRequest, DropToGroupHandler, DropToGroupPreparation, DropToGroupPreparationRequest, EFConnectableSide, EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, EFMarkerType, EFResizeHandleType, EFZoomDirection, EmitConnectionsChanges, EmitConnectionsChangesRequest, EmitEndDragSequenceEvent, EmitEndDragSequenceEventRequest, EmitSelectionChangeEvent, EmitSelectionChangeEventRequest, EmitStartDragSequenceEvent, EmitStartDragSequenceEventRequest, EnsureConnectionWorker, EnsureConnectionWorkerRequest, EventExtensions, ExternalRectConstraint, FBackgroundBase, FBackgroundComponent, FCache, FCacheConnector, FCacheConnectorKeyFactory, FCacheNode, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FComponentsStore, FConnectionBase, FConnectionComponent, FConnectionComponentsParent, FConnectionContent, FConnectionContentBase, FConnectionDragHandleBase, FConnectionDragHandleEnd, FConnectionDragHandleStart, FConnectionForCreateComponent, FConnectionGradient, FConnectionGradientBase, FConnectionGradientRenderer, FConnectionGradientRendererBase, FConnectionMarker, FConnectionMarkerBase, FConnectionMarkerRegistry, FConnectionPath, FConnectionPathBase, FConnectionRegistry, FConnectionSelection, FConnectionSelectionBase, FConnectionWaypoints, FConnectionWaypointsBase, FConnectionWaypointsChangedEvent, FConnectionWorker, FConnectorBase, FConnectorRegistry, FCreateConnectionEvent, FCreateNodeEvent, FDragBlockerDirective, FDragExternalItemStartEventData, FDragHandleDirective, FDragHandlerResult, FDragNodeStartEventData, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItem, FExternalItemBase, FExternalItemPlaceholder, FExternalItemPreview, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FIdRegistryBase, FLineAlignmentComponent, FMagneticLines, FMagneticLinesBase, FMagneticRects, FMagneticRectsBase, FMinimapBase, FMinimapCanvasDirective, FMinimapComponent, FMinimapFlowDirective, FMinimapState, FMinimapViewDirective, FMoveNodesEvent, FNodeBase, FNodeConnectionsIntersectionEvent, FNodeDirective, FNodeInputBase, FNodeInputDirective, FNodeIntersectedWithConnections, FNodeOutletBase, FNodeOutletDirective, FNodeOutputBase, FNodeOutputDirective, FNodeRegistry, FReassignConnectionEvent, FRectPatternComponent, FResizeChannel, FResizeHandleDirective, FResizeNodeStartEventData, FRotateHandleDirective, FRotateNodeStartEventData, FSelectionArea, FSelectionAreaBase, FSelectionChangeEvent, FSingleRegistryBase, FSnapConnectionComponent, FSourceConnectorBase, FVirtualFor, FZoomBase, FZoomDirective, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CACHE_FEATURES, F_CACHE_OPTIONS, F_CANVAS, F_CANVAS_FEATURES, F_CANVAS_PROVIDERS, F_CONNECTION_BUILDERS, F_CONNECTION_COMPONENTS_PARENT, F_CONNECTION_CONTENT, F_CONNECTION_DRAG_HANDLE_END, F_CONNECTION_DRAG_HANDLE_START, F_CONNECTION_FEATURES, F_CONNECTION_GRADIENT, F_CONNECTION_IMPORTS_EXPORTS, F_CONNECTION_MARKER, F_CONNECTION_PATH, F_CONNECTION_PROVIDERS, F_CONNECTION_SELECTION, F_CONNECTION_WAYPOINTS, F_CONNECTION_WORKER_FEATURES, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CSS_CLASS, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LINE_ALIGNMENT_PROVIDERS, F_MAGNETIC_LINES, F_MAGNETIC_LINES_PROVIDERS, F_MAGNETIC_RECTS, F_MAGNETIC_RECTS_PROVIDERS, F_MINIMAP_BASE, F_MINIMAP_FEATURES, F_MINIMAP_PROVIDERS, F_NODE, F_NODE_FEATURES, F_NODE_INPUT, F_NODE_OUTLET, F_NODE_OUTPUT, F_NODE_PROVIDERS, F_SELECTED_CLASS, F_SELECTION_AREA_PROVIDERS, F_SELECTION_FEATURES, F_STORAGE_PROVIDERS, F_VIRTUAL_FOR_PROVIDERS, F_ZOOM, F_ZOOM_FEATURES, F_ZOOM_PROVIDERS, FindConnectableConnectorUsingPriorityAndPosition, FindConnectableConnectorUsingPriorityAndPositionRequest, FitToChildNodesAndGroups, FitToChildNodesAndGroupsRequest, FitToFlow, FitToFlowRequest, GET_FLOW_STATE_PROVIDERS, GetCachedFCacheRect, GetCachedFCacheRectRequest, GetChildNodeIds, GetChildNodeIdsRequest, GetConnectorRectReference, GetConnectorRectReferenceRequest, GetCurrentSelection, GetCurrentSelectionRequest, GetDeepChildrenNodesAndGroups, GetDeepChildrenNodesAndGroupsRequest, GetFlow, GetFlowRequest, GetNodePadding, GetNodePaddingRequest, GetNormalizedConnectorRect, GetNormalizedConnectorRectRequest, GetNormalizedElementRect, GetNormalizedElementRectRequest, GetNormalizedParentNodeRect, GetNormalizedParentNodeRectRequest, GetNormalizedPoint, GetNormalizedPointRequest, GetParentNodes, GetParentNodesRequest, GridSnapper, HandleConnectionWorkerMessage, HandleConnectionWorkerMessageRequest, IMouseEvent, INSTANCES, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequence, InitializeDragSequenceRequest, InputCanvasPosition, InputCanvasPositionRequest, InputCanvasScale, InputCanvasScaleRequest, InvalidateFCacheNode, InvalidateFCacheNodeRequest, IsArrayHasParentNode, IsArrayHasParentNodeRequest, IsConnectionWorkerEnabled, IsConnectionWorkerEnabledRequest, IsDragStarted, IsDragStartedRequest, ListenConnectionsChanges, ListenConnectionsChangesRequest, ListenNodesChanges, ListenNodesChangesRequest, ListenTransformChanges, ListenTransformChangesRequest, LogExecutionTime, MOUSE_EVENT_IGNORE_TIME, MagneticLineElement, MagneticLineRenderer, MagneticLinesHandler, MagneticLinesPreparation, MagneticLinesPreparationRequest, MagneticRectElement, MagneticRectsHandler, MagneticRectsPreparation, MagneticRectsPreparationRequest, MagneticRectsRenderer, MarkConnectableConnectors, MarkConnectableConnectorsRequest, MinimapCalculateViewRect, MinimapCalculateViewRectRequest, MinimapCalculateViewport, MinimapCalculateViewportRequest, MinimapDrawNodes, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElement, MoveFrontElementsBeforeTargetElementRequest, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NotifyTransformChanged, NotifyTransformChangedRequest, OnPointerMove, OnPointerMoveRequest, PINCH_TO_ZOOM_PROVIDERS, PinchToZoomFinalize, PinchToZoomFinalizeRequest, PinchToZoomHandler, PinchToZoomPreparation, PinchToZoomPreparationRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequence, PrepareDragSequenceRequest, PreventDefaultIsExternalItem, PreventDefaultIsExternalItemRequest, RESIZE_DIRECTIONS, RESIZE_NODE_HANDLER_KIND, RESIZE_NODE_HANDLER_TYPE, ROTATE_NODE_HANDLER_KIND, ROTATE_NODE_HANDLER_TYPE, ReadNodeBoundsWithPaddings, ReadNodeBoundsWithPaddingsRequest, ReadNodeBoundsWithPaddingsResponse, ReassignConnectionFinalize, ReassignConnectionFinalizeRequest, ReassignConnectionHandler, ReassignConnectionPreparation, ReassignConnectionPreparationRequest, ReassignConnectionSourceHandler, ReassignConnectionTargetHandler, RedrawCanvasWithAnimation, RedrawCanvasWithAnimationRequest, RedrawConnections, RedrawConnectionsRequest, RegisterFCacheConnector, RegisterFCacheConnectorRequest, RegisterFCacheNode, RegisterFCacheNodeRequest, RegisterPluginInstance, RegisterPluginInstanceRequest, RemoveCanvasFromStore, RemoveCanvasFromStoreRequest, RemoveConnectionForCreateFromStore, RemoveConnectionForCreateFromStoreRequest, RemoveConnectionFromStore, RemoveConnectionFromStoreRequest, RemoveConnectionMarkerFromStore, RemoveConnectionMarkerFromStoreRequest, RemoveConnectionWaypoint, RemoveConnectionWaypointRequest, RemoveConnectorFromStore, RemoveConnectorFromStoreRequest, RemoveDndFromStore, RemoveDndFromStoreRequest, RemoveFlowFromStore, RemoveFlowFromStoreRequest, RemoveNodeFromStore, RemoveNodeFromStoreRequest, RemovePluginInstance, RemovePluginInstanceRequest, RemoveSnapConnectionFromStore, RemoveSnapConnectionFromStoreRequest, ResetConnectionWorkerRuntime, ResetConnectionWorkerRuntimeRequest, ResetScale, ResetScaleAndCenter, ResetScaleAndCenterRequest, ResetScaleRequest, ResetZoom, ResetZoomRequest, ResizeNodeConnectionBothSidesHandler, ResizeNodeConnectionHandlerBase, ResizeNodeConnectionSourceHandler, ResizeNodeConnectionTargetHandler, ResizeNodeFinalize, ResizeNodeFinalizeRequest, ResizeNodeHandler, ResizeNodePreparation, ResizeNodePreparationRequest, ResolveConnectableOutputForOutlet, ResolveConnectableOutputForOutletRequest, ResolveConnectionWorkerConnectors, ResolveConnectionWorkerConnectorsRequest, ResolveConnectionWorkerContext, ResolveConnectionWorkerContextRequest, RotateNodeFinalize, RotateNodeFinalizeRequest, RotateNodeHandler, RotateNodePreparation, RotateNodePreparationRequest, Select, SelectAll, SelectAllRequest, SelectAndUpdateNodeLayer, SelectAndUpdateNodeLayerRequest, SelectByPointer, SelectByPointerRequest, SelectRequest, SelectionAreaFinalize, SelectionAreaFinalizeRequest, SelectionAreaHandler, SelectionAreaPreparation, SelectionAreaPreparationRequest, SetBackgroundTransform, SetBackgroundTransformRequest, SetFCacheConnectorRect, SetFCacheConnectorRectRequest, SetFCacheNodeRect, SetFCacheNodeRectRequest, SetZoom, SetZoomRequest, ShouldUseConnectionWorker, ShouldUseConnectionWorkerRequest, SortDropCandidatesByLayer, SortDropCandidatesByLayerRequest, SortItemLayers, SortItemLayersRequest, SortItemsByParent, SortItemsByParentRequest, SortNodeLayers, SortNodeLayersRequest, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UnregisterFCacheConnector, UnregisterFCacheConnectorRequest, UnregisterFCacheNode, UnregisterFCacheNodeRequest, UpdateFCacheRectByElement, UpdateFCacheRectByElementRequest, UpdateItemAndChildrenLayers, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScale, UpdateScaleRequest, afterNextPaint, assertRegistryIds, buildConnectionAnchors, buildCornerMidPointsAndApplyOffsets, calculateCenterBetweenPoints, calculateCurveCandidates, calculateDifferenceAfterRotation, calculateMagneticGuides, calculateMagneticRects, calculatePointerInFlow, calculatePolylineCandidates, calculatePositionAfterRotation, canvasFactory, configureComponentTest, configureDiTest, connectionFactory, connectorFactory, createConnectionDomIdentifier, createConnectionSelectionDomIdentifier, createGradientDomIdentifier, createGradientDomUrl, createMediatorHarness, createMultiCubicPath, createPureHarness, createSVGElement, createSegmentLinePath, createSpy, createSpyObj, cubicBezierAtT, debounceAnimationFrame, debounceMicrotask, debounceTime, defaultEventTrigger, determineSide, diBaseProviders, executeRequest, expandRectByOverflow, fInstanceKey, fProvideCache, findExistingWaypoint, findWaypointCandidate, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, flowFactory, getExternalItemHost, infinityMinMax, injectFromDi, isCalculateMode, isDragBlocker, isDragExternalItemHandler, isDragHandleEnd, isDragHandleStart, isDragMinimapHandler, isDragNodeHandler, isExternalItem, isMobile, isNode, isNodeOutlet, isNodeOutput, isPointerInsidePoint, isPointerInsideStartOrEndDragHandles, isResizeNodeHandler, isRotateHandle, isRotateNodeHandler, isValidEventTrigger, mergePointChains, mixinChangeSelection, mixinChangeVisibility, nodeFactory, normalizePolyline, notifyOnStart, pickWaypoint, rectFromPoint, registryAdd, registryAddMany, registryGet, registryRequire, sampleCubicBezierUniform, sampleMultiCubicUniform, selectableFactory, stringAttribute, takeOne, transitionEnd, valueProvider, withinSnapThreshold };
17030
17416
  //# sourceMappingURL=foblex-flow.mjs.map