@foblex/flow 19.0.0 → 19.1.1

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.
package/index.d.ts CHANGED
@@ -228,7 +228,8 @@ declare enum EFFlowFeatureKind {
228
228
  CANVAS = "canvas",
229
229
  CONTROL_SCHEME = "control-scheme",
230
230
  CONNECTION_FLOW = "connection-flow",
231
- A11Y = "a11y"
231
+ A11Y = "a11y",
232
+ STATE = "state"
232
233
  }
233
234
  /**
234
235
  * Feature envelope returned by `with*()` helpers.
@@ -350,6 +351,7 @@ declare class FCanvasComponent extends FCanvasBase implements OnInit, OnDestroy
350
351
  * Centers the specified group or node on the canvas.
351
352
  * @param groupOrNodeId - The ID of the group or node to center.
352
353
  * @param animated - If true, the centering will be animated; otherwise, it will be instantaneous.
354
+ * @param emitCanvasChange - If false, does not emit `fCanvasChange` for this programmatic move.
353
355
  */
354
356
  /**
355
357
  * FF1009 — viewport helpers compute from the nodes bounding box, so calling them
@@ -358,21 +360,23 @@ declare class FCanvasComponent extends FCanvasBase implements OnInit, OnDestroy
358
360
  * Warned once per method.
359
361
  */
360
362
  private _warnWhenCalledBeforeNodesRender;
361
- centerGroupOrNode(groupOrNodeId: string, animated?: boolean): void;
363
+ centerGroupOrNode(groupOrNodeId: string, animated?: boolean, emitCanvasChange?: boolean): void;
362
364
  /**
363
365
  * Fits the canvas to the screen by adjusting the scale and position.
364
366
  * @param padding - paddings from the bounds of the canvas
365
367
  * @param animated - If true, the fit will be animated; otherwise, it will be instantaneous.
368
+ * @param emitCanvasChange - If false, does not emit `fCanvasChange` for this programmatic move.
366
369
  */
367
- fitToScreen(padding?: IPoint, animated?: boolean): void;
370
+ fitToScreen(padding?: IPoint, animated?: boolean, emitCanvasChange?: boolean): void;
368
371
  /**
369
372
  * Resets the scale and center all nodes and groups on the canvas.
370
373
  * This method is used to restore the canvas to its default scale and position,
371
374
  * allowing users to quickly return to a standard view of the canvas content.
372
375
  * @param animated - If true, the reset will be animated; otherwise, it will be instantaneous.
376
+ * @param emitCanvasChange - If false, does not emit `fCanvasChange` for this programmatic move.
373
377
  * This is useful for providing a smooth user experience when resetting the view.
374
378
  */
375
- resetScaleAndCenter(animated?: boolean): void;
379
+ resetScaleAndCenter(animated?: boolean, emitCanvasChange?: boolean): void;
376
380
  /**
377
381
  * Gets the current scale of the canvas.
378
382
  */
@@ -458,8 +462,9 @@ declare class AddCanvasToStore implements IExecution<AddCanvasToStoreRequest, vo
458
462
  declare class CenterGroupOrNodeRequest {
459
463
  id: string;
460
464
  animated: boolean;
465
+ emitCanvasChange: boolean;
461
466
  static readonly fToken: unique symbol;
462
- constructor(id: string, animated: boolean);
467
+ constructor(id: string, animated: boolean, emitCanvasChange?: boolean);
463
468
  }
464
469
 
465
470
  /**
@@ -469,7 +474,7 @@ declare class CenterGroupOrNode implements IExecution<CenterGroupOrNodeRequest,
469
474
  private readonly _store;
470
475
  private readonly _mediator;
471
476
  private get _transform();
472
- handle({ id, animated }: CenterGroupOrNodeRequest): void;
477
+ handle({ id, animated, emitCanvasChange }: CenterGroupOrNodeRequest): void;
473
478
  private _toCenter;
474
479
  private _getNodeRect;
475
480
  private _getFlowRect;
@@ -480,8 +485,9 @@ declare class CenterGroupOrNode implements IExecution<CenterGroupOrNodeRequest,
480
485
  declare class FitToFlowRequest {
481
486
  readonly toCenter: IPoint;
482
487
  readonly animated: boolean;
488
+ readonly emitCanvasChange: boolean;
483
489
  static readonly fToken: unique symbol;
484
- constructor(toCenter: IPoint, animated: boolean);
490
+ constructor(toCenter: IPoint, animated: boolean, emitCanvasChange?: boolean);
485
491
  }
486
492
 
487
493
  /**
@@ -491,7 +497,7 @@ declare class FitToFlow implements IExecution<FitToFlowRequest, void> {
491
497
  private readonly _store;
492
498
  private get _transform();
493
499
  private readonly _mediator;
494
- handle({ toCenter, animated }: FitToFlowRequest): void;
500
+ handle({ toCenter, animated, emitCanvasChange }: FitToFlowRequest): void;
495
501
  fitToParent(rect: IRect, parentRect: IRect, points: IPoint[], toCenter: IPoint): void;
496
502
  private _getZeroPositionWithoutScale;
497
503
  static ɵfac: i0.ɵɵFactoryDeclaration<FitToFlow, never>;
@@ -542,8 +548,9 @@ declare enum ECanvasRedrawContext {
542
548
  declare class RedrawCanvasWithAnimationRequest {
543
549
  readonly animated: boolean;
544
550
  readonly context: ECanvasRedrawContext;
551
+ readonly emitCanvasChange: boolean;
545
552
  static readonly fToken: unique symbol;
546
- constructor(animated: boolean, context?: ECanvasRedrawContext);
553
+ constructor(animated: boolean, context?: ECanvasRedrawContext, emitCanvasChange?: boolean);
547
554
  }
548
555
 
549
556
  /**
@@ -592,8 +599,9 @@ declare class ResetScale implements IExecution<ResetScaleRequest, void> {
592
599
 
593
600
  declare class ResetScaleAndCenterRequest {
594
601
  readonly animated: boolean;
602
+ readonly emitCanvasChange: boolean;
595
603
  static readonly fToken: unique symbol;
596
- constructor(animated: boolean);
604
+ constructor(animated: boolean, emitCanvasChange?: boolean);
597
605
  }
598
606
 
599
607
  /**
@@ -603,7 +611,7 @@ declare class ResetScaleAndCenter implements IExecution<ResetScaleAndCenterReque
603
611
  private readonly _mediator;
604
612
  private readonly _store;
605
613
  private get _transform();
606
- handle({ animated }: ResetScaleAndCenterRequest): void;
614
+ handle({ animated, emitCanvasChange }: ResetScaleAndCenterRequest): void;
607
615
  _oneToOneCentering(rect: IRect, parentRect: IRect, points: IPoint[]): void;
608
616
  private _getZeroPositionWithoutScale;
609
617
  static ɵfac: i0.ɵɵFactoryDeclaration<ResetScaleAndCenter, never>;
@@ -1770,6 +1778,14 @@ interface FHasId {
1770
1778
  declare abstract class FIdRegistryBase<TInstance extends FHasId> {
1771
1779
  private readonly _items;
1772
1780
  private readonly _byId;
1781
+ /**
1782
+ * Removals are collected here and compacted out of `_items` in one pass on
1783
+ * the next ordered read. A large teardown is O(n) total instead of the
1784
+ * O(n^2) that per-removal indexOf+splice cost; `_byId` reflects removals
1785
+ * immediately, so id lookups never see removed instances.
1786
+ */
1787
+ private readonly _pendingRemovals;
1788
+ private _isCompactionScheduled;
1773
1789
  /** Used only for error messages. Example: "node", "connection", "input". */
1774
1790
  protected abstract readonly kind: string;
1775
1791
  get(id: string): TInstance | undefined;
@@ -1797,6 +1813,10 @@ declare abstract class FIdRegistryBase<TInstance extends FHasId> {
1797
1813
  * Clears registry (does NOT touch other state outside).
1798
1814
  */
1799
1815
  clear(): void;
1816
+ /** Compacts in place so `getAll()` keeps one array identity across reads. */
1817
+ private _compact;
1818
+ /** Settles a removal batch before coalesced registry notifications run. */
1819
+ private _scheduleCompaction;
1800
1820
  }
1801
1821
 
1802
1822
  type FInstanceKey<T> = {
@@ -1970,9 +1990,9 @@ declare abstract class FNodeBase extends MIXIN_BASE implements ISelectable, IHas
1970
1990
  }
1971
1991
 
1972
1992
  declare class FGroupDirective extends FNodeBase implements OnInit, AfterViewInit, IHasHostElement, OnDestroy {
1973
- private _debounceTimer;
1974
1993
  private readonly _destroyRef;
1975
1994
  private readonly _mediator;
1995
+ private readonly _sidesScheduler;
1976
1996
  readonly fId: i0.InputSignal<string>;
1977
1997
  readonly fParentId: i0.InputSignal<string | null | undefined>;
1978
1998
  readonly position: i0.ModelSignal<_foblex_2d.IPoint>;
@@ -1992,7 +2012,6 @@ declare class FGroupDirective extends FNodeBase implements OnInit, AfterViewInit
1992
2012
  protected removeStyle(styleName: string): void;
1993
2013
  redraw(): void;
1994
2014
  protected _updateConnectorsSides(): void;
1995
- private _calculateNodeConnectorsConnectableSides;
1996
2015
  ngAfterViewInit(): void;
1997
2016
  private _listenStateSizeChanges;
1998
2017
  refresh(): void;
@@ -2002,9 +2021,9 @@ declare class FGroupDirective extends FNodeBase implements OnInit, AfterViewInit
2002
2021
  }
2003
2022
 
2004
2023
  declare class FNodeDirective extends FNodeBase implements OnInit, AfterViewInit, IHasHostElement, OnDestroy {
2005
- private _debounceTimer;
2006
2024
  private readonly _destroyRef;
2007
2025
  private readonly _mediator;
2026
+ private readonly _sidesScheduler;
2008
2027
  readonly fId: i0.InputSignalWithTransform<string, unknown>;
2009
2028
  readonly fParentId: i0.InputSignal<string | null | undefined>;
2010
2029
  readonly position: i0.ModelSignal<_foblex_2d.IPoint>;
@@ -2024,7 +2043,6 @@ declare class FNodeDirective extends FNodeBase implements OnInit, AfterViewInit,
2024
2043
  protected removeStyle(styleName: string): void;
2025
2044
  redraw(): void;
2026
2045
  protected _updateConnectorsSides(): void;
2027
- private _calculateNodeConnectorsConnectableSides;
2028
2046
  ngAfterViewInit(): void;
2029
2047
  private _listenStateSizeChanges;
2030
2048
  refresh(): void;
@@ -2033,6 +2051,17 @@ declare class FNodeDirective extends FNodeBase implements OnInit, AfterViewInit,
2033
2051
  static ɵdir: i0.ɵɵDirectiveDeclaration<FNodeDirective, "[fNode]", ["fComponent"], { "fId": { "alias": "fNodeId"; "required": false; "isSignal": true; }; "fParentId": { "alias": "fNodeParentId"; "required": false; "isSignal": true; }; "position": { "alias": "fNodePosition"; "required": false; "isSignal": true; }; "size": { "alias": "fNodeSize"; "required": false; "isSignal": true; }; "rotate": { "alias": "fNodeRotate"; "required": false; "isSignal": true; }; "fConnectOnNode": { "alias": "fConnectOnNode"; "required": false; "isSignal": true; }; "fMinimapClass": { "alias": "fMinimapClass"; "required": false; "isSignal": true; }; "fDraggingDisabled": { "alias": "fNodeDraggingDisabled"; "required": false; "isSignal": true; }; "fSelectionDisabled": { "alias": "fNodeSelectionDisabled"; "required": false; "isSignal": true; }; "fIncludePadding": { "alias": "fIncludePadding"; "required": false; "isSignal": true; }; "fAutoExpandOnChildHit": { "alias": "fAutoExpandOnChildHit"; "required": false; "isSignal": true; }; "fAutoSizeToFitChildren": { "alias": "fAutoSizeToFitChildren"; "required": false; "isSignal": true; }; }, { "position": "fNodePositionChange"; "sizeChange": "fNodeSizeChange"; "rotate": "fNodeRotateChange"; }, never, never, false, never>;
2034
2052
  }
2035
2053
 
2054
+ /**
2055
+ * Resolves the node or group whose host contains the given element in
2056
+ * O(DOM depth) via the host id attributes, instead of scanning every
2057
+ * registered node with `hostElement.contains` on each pointerdown.
2058
+ *
2059
+ * Node and group hosts are siblings inside their layer containers, so an
2060
+ * element belongs to at most one host; the instance check keeps the lookup
2061
+ * correct when several flows share the page and reuse ids.
2062
+ */
2063
+ declare function findNodeOrGroupContaining(store: FComponentsStore, element: HTMLElement | SVGElement): FNodeBase | undefined;
2064
+
2036
2065
  declare function isNode(element: HTMLElement | SVGElement): boolean;
2037
2066
 
2038
2067
  declare const F_NODE_PROVIDERS: (typeof FRotateHandleDirective | typeof FGroupDirective | typeof FNodeDirective)[];
@@ -2077,12 +2106,19 @@ declare class ListenTransformChanges implements IExecution<ListenTransformChange
2077
2106
  }
2078
2107
 
2079
2108
  declare class EmitConnectionsChangesRequest {
2109
+ readonly dirtyNodeId?: string | undefined;
2080
2110
  static readonly fToken: unique symbol;
2111
+ /**
2112
+ * When set, only connections touching this node need a redraw; omitted
2113
+ * means "redraw everything" — the safe default every caller keeps unless
2114
+ * it knows the change is local to one node.
2115
+ */
2116
+ constructor(dirtyNodeId?: string | undefined);
2081
2117
  }
2082
2118
 
2083
2119
  declare class EmitConnectionsChanges implements IExecution<EmitConnectionsChangesRequest, void> {
2084
2120
  private readonly _store;
2085
- handle(_: EmitConnectionsChangesRequest): void;
2121
+ handle({ dirtyNodeId }: EmitConnectionsChangesRequest): void;
2086
2122
  static ɵfac: i0.ɵɵFactoryDeclaration<EmitConnectionsChanges, never>;
2087
2123
  static ɵprov: i0.ɵɵInjectableDeclaration<EmitConnectionsChanges>;
2088
2124
  }
@@ -2143,7 +2179,13 @@ declare abstract class FFlowBase implements IHasHostElement {
2143
2179
  */
2144
2180
  abstract fLoaded: OutputEmitterRef<string>;
2145
2181
  abstract redraw(): void;
2182
+ /**
2183
+ * Re-runs the full-render lifecycle so `fFullRendered` fires again — e.g. to
2184
+ * re-trigger a `resetScaleAndCenter` the app runs from that output.
2185
+ */
2186
+ abstract reset(): void;
2146
2187
  abstract getState(options?: IFFlowStateOptions): IFFlowState;
2188
+ abstract select(nodes: string[], connections: string[], isSelectedChanged?: boolean): void;
2147
2189
  }
2148
2190
 
2149
2191
  declare class FFlowComponent extends FFlowBase implements OnInit, AfterContentInit, OnDestroy {
@@ -2155,6 +2197,7 @@ declare class FFlowComponent extends FFlowBase implements OnInit, AfterContentIn
2155
2197
  private readonly _injector;
2156
2198
  private readonly _flowConfig;
2157
2199
  private readonly _a11y;
2200
+ private readonly _flowState;
2158
2201
  fId: i0.InputSignal<string>;
2159
2202
  fCache: i0.InputSignalWithTransform<boolean, unknown>;
2160
2203
  readonly hostElement: any;
@@ -2404,12 +2447,12 @@ declare const DRAG_AUTO_PAN_PROVIDERS: (typeof StopAutoPan | typeof ScheduleAuto
2404
2447
 
2405
2448
  declare abstract class IPointerEvent {
2406
2449
  private readonly _event;
2407
- private _target?;
2408
2450
  get originalEvent(): MouseEvent | TouchEvent;
2409
2451
  get targetElement(): HTMLElement;
2410
2452
  get touchEvent(): TouchEvent;
2411
2453
  get touches(): TouchList;
2412
- protected constructor(_event: MouseEvent | TouchEvent, _target?: HTMLElement | undefined);
2454
+ private _target;
2455
+ protected constructor(_event: MouseEvent | TouchEvent, target?: HTMLElement);
2413
2456
  setTarget(target: HTMLElement): void;
2414
2457
  abstract isMouseLeftButton(): boolean;
2415
2458
  abstract isMouseMiddleButton(): boolean;
@@ -3596,6 +3639,7 @@ declare class DropToGroupPreparation implements IExecution<DropToGroupPreparatio
3596
3639
  private readonly _dragInjector;
3597
3640
  private get _allNodes();
3598
3641
  handle({ event }: DropToGroupPreparationRequest): void;
3642
+ private _isDropToGroupEnabled;
3599
3643
  private _canPrepare;
3600
3644
  private _hasMoveDrag;
3601
3645
  private _hasExternalDrag;
@@ -4963,6 +5007,14 @@ declare class FSelectionChangeEvent implements ICurrentSelection {
4963
5007
 
4964
5008
  declare abstract class FDraggableBase extends DragAndDropBase {
4965
5009
  readonly hostElement: any;
5010
+ /**
5011
+ * Enables the drop-to-group gesture (`fDropToGroup` input, `true` by default).
5012
+ * While on, the flow carries the `f-drop-to-group` CSS class (so the grouping
5013
+ * styles apply), dragging a node onto a group reparents it, and a dropped
5014
+ * external item nests into the group under the pointer. Set it to `false` and
5015
+ * none of that happens — the class is absent and no `fDropToGroup` is emitted.
5016
+ */
5017
+ abstract dropToGroup: InputSignalWithTransform<boolean, unknown>;
4966
5018
  abstract fSelectionChange: EventEmitter<FSelectionChangeEvent>;
4967
5019
  /**
4968
5020
  * Emitted when the user requests removal of the current selection (keyboard
@@ -5004,6 +5056,8 @@ declare class FDraggableDirective extends FDraggableBase implements OnInit, Afte
5004
5056
  private _nodeMoveTrigger;
5005
5057
  private _canvasMoveTrigger;
5006
5058
  disabled: boolean;
5059
+ /** Turns the drop-to-group gesture on/off. See `FDraggableBase.dropToGroup`. */
5060
+ dropToGroup: i0.InputSignalWithTransform<boolean, unknown>;
5007
5061
  fMultiSelectTrigger: FEventTrigger;
5008
5062
  set fReassignConnectionTrigger(value: FEventTrigger);
5009
5063
  get fReassignConnectionTrigger(): FEventTrigger;
@@ -5057,6 +5111,18 @@ declare class FDraggableDirective extends FDraggableBase implements OnInit, Afte
5057
5111
  private readonly _dragHandlerInjector;
5058
5112
  ngOnInit(): void;
5059
5113
  ngAfterViewInit(): void;
5114
+ /**
5115
+ * Gesture claim chain, phase by phase. WITHIN EACH LIST THE ORDER IS THE
5116
+ * PRIORITY CONTRACT: every preparation guards itself with
5117
+ * `FDraggableDataContext.isEmpty()`, so the first entry that claims the
5118
+ * pointer wins and everything after it backs off. The three phases are
5119
+ * intentionally ordered independently — finalization is not a mirror of
5120
+ * preparation (e.g. pinch-to-zoom finalizes last so slower gestures settle
5121
+ * first).
5122
+ */
5123
+ private readonly _pointerDownClaimants;
5124
+ private readonly _thresholdClaimants;
5125
+ private readonly _pointerUpFinalizers;
5060
5126
  onPointerDown(event: IPointerEvent): boolean;
5061
5127
  protected prepareDragSequence(event: IPointerEvent): void;
5062
5128
  protected onSelect(event: Event): void;
@@ -5065,7 +5131,7 @@ declare class FDraggableDirective extends FDraggableBase implements OnInit, Afte
5065
5131
  protected finalizeDragSequence(): void;
5066
5132
  ngOnDestroy(): void;
5067
5133
  static ɵfac: i0.ɵɵFactoryDeclaration<FDraggableDirective, never>;
5068
- static ɵdir: i0.ɵɵDirectiveDeclaration<FDraggableDirective, "f-flow[fDraggable]", ["fDraggable"], { "disabled": { "alias": "fDraggableDisabled"; "required": false; }; "fMultiSelectTrigger": { "alias": "fMultiSelectTrigger"; "required": false; }; "fReassignConnectionTrigger": { "alias": "fReassignConnectionTrigger"; "required": false; }; "fCreateConnectionTrigger": { "alias": "fCreateConnectionTrigger"; "required": false; }; "fConnectionWaypointsTrigger": { "alias": "fConnectionWaypointsTrigger"; "required": false; "isSignal": true; }; "fMoveControlPointTrigger": { "alias": "fMoveControlPointTrigger"; "required": false; }; "fNodeResizeTrigger": { "alias": "fNodeResizeTrigger"; "required": false; }; "fNodeRotateTrigger": { "alias": "fNodeRotateTrigger"; "required": false; }; "fNodeMoveTrigger": { "alias": "fNodeMoveTrigger"; "required": false; }; "fCanvasMoveTrigger": { "alias": "fCanvasMoveTrigger"; "required": false; }; "fExternalItemTrigger": { "alias": "fExternalItemTrigger"; "required": false; }; "fEmitOnNodeIntersect": { "alias": "fEmitOnNodeIntersect"; "required": false; }; "vCellSize": { "alias": "vCellSize"; "required": false; "isSignal": true; }; "hCellSize": { "alias": "hCellSize"; "required": false; "isSignal": true; }; "fCellSizeWhileDragging": { "alias": "fCellSizeWhileDragging"; "required": false; "isSignal": true; }; }, { "fSelectionChange": "fSelectionChange"; "fDeleteSelected": "fDeleteSelected"; "fNodeIntersectedWithConnections": "fNodeIntersectedWithConnections"; "fNodeConnectionsIntersection": "fNodeConnectionsIntersection"; "fCreateNode": "fCreateNode"; "fMoveNodes": "fMoveNodes"; "fReassignConnection": "fReassignConnection"; "fCreateConnection": "fCreateConnection"; "fConnectionWaypointsChanged": "fConnectionWaypointsChanged"; "fDropToGroup": "fDropToGroup"; "fDragStarted": "fDragStarted"; "fDragEnded": "fDragEnded"; }, never, never, false, never>;
5134
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FDraggableDirective, "f-flow[fDraggable]", ["fDraggable"], { "disabled": { "alias": "fDraggableDisabled"; "required": false; }; "dropToGroup": { "alias": "fDropToGroup"; "required": false; "isSignal": true; }; "fMultiSelectTrigger": { "alias": "fMultiSelectTrigger"; "required": false; }; "fReassignConnectionTrigger": { "alias": "fReassignConnectionTrigger"; "required": false; }; "fCreateConnectionTrigger": { "alias": "fCreateConnectionTrigger"; "required": false; }; "fConnectionWaypointsTrigger": { "alias": "fConnectionWaypointsTrigger"; "required": false; "isSignal": true; }; "fMoveControlPointTrigger": { "alias": "fMoveControlPointTrigger"; "required": false; }; "fNodeResizeTrigger": { "alias": "fNodeResizeTrigger"; "required": false; }; "fNodeRotateTrigger": { "alias": "fNodeRotateTrigger"; "required": false; }; "fNodeMoveTrigger": { "alias": "fNodeMoveTrigger"; "required": false; }; "fCanvasMoveTrigger": { "alias": "fCanvasMoveTrigger"; "required": false; }; "fExternalItemTrigger": { "alias": "fExternalItemTrigger"; "required": false; }; "fEmitOnNodeIntersect": { "alias": "fEmitOnNodeIntersect"; "required": false; }; "vCellSize": { "alias": "vCellSize"; "required": false; "isSignal": true; }; "hCellSize": { "alias": "hCellSize"; "required": false; "isSignal": true; }; "fCellSizeWhileDragging": { "alias": "fCellSizeWhileDragging"; "required": false; "isSignal": true; }; }, { "fSelectionChange": "fSelectionChange"; "fDeleteSelected": "fDeleteSelected"; "fNodeIntersectedWithConnections": "fNodeIntersectedWithConnections"; "fNodeConnectionsIntersection": "fNodeConnectionsIntersection"; "fCreateNode": "fCreateNode"; "fMoveNodes": "fMoveNodes"; "fReassignConnection": "fReassignConnection"; "fCreateConnection": "fCreateConnection"; "fConnectionWaypointsChanged": "fConnectionWaypointsChanged"; "fDropToGroup": "fDropToGroup"; "fDragStarted": "fDragStarted"; "fDragEnded": "fDragEnded"; }, never, never, false, never>;
5069
5135
  static ngAcceptInputType_disabled: unknown;
5070
5136
  static ngAcceptInputType_fEmitOnNodeIntersect: unknown;
5071
5137
  }
@@ -5087,7 +5153,7 @@ declare class FDraggableDataContext {
5087
5153
  static ɵprov: i0.ɵɵInjectableDeclaration<FDraggableDataContext>;
5088
5154
  }
5089
5155
 
5090
- declare function isDragBlocker(element: HTMLElement): boolean;
5156
+ declare function isDragBlocker(element: HTMLElement | SVGElement): boolean;
5091
5157
 
5092
5158
  declare const F_DRAGGABLE_PROVIDERS: (typeof _foblex_flow.EmitEndDragSequenceEvent | typeof _foblex_flow.EmitStartDragSequenceEvent | typeof _foblex_flow.DragCanvasFinalize | typeof _foblex_flow.DragCanvasPreparation | typeof _foblex_flow.ResolveConnectableOutputForOutlet | typeof _foblex_flow.FCreateConnectionSession | typeof _foblex_flow.CreateConnectionFinalize | typeof _foblex_flow.CreateConnectionCreateDragHandler | typeof _foblex_flow.CreateConnectionFromConnectorPreparation | typeof _foblex_flow.CreateConnectionFromOutletPreparation | typeof _foblex_flow.CreateConnectionFromOutputPreparation | typeof _foblex_flow.CreateConnectionPreparation | typeof _foblex_flow.MagneticLinesPreparation | typeof _foblex_flow.MagneticRectsPreparation | typeof _foblex_flow.CreateDragNodeHierarchy | typeof _foblex_flow.ReadNodeBoundsWithPaddings | typeof _foblex_flow.BuildDragNodeConstraints | typeof _foblex_flow.AttachSoftParentConnectionDragHandlersToNode | typeof _foblex_flow.CreateDragNodeHandler | typeof _foblex_flow.AttachTargetConnectionDragHandlersToNode | typeof _foblex_flow.AttachSourceConnectionDragHandlersToNode | typeof _foblex_flow.AttachDragNodeHandlerFromSelection | typeof _foblex_flow.DragNodeFinalize | typeof _foblex_flow.DragNodePreparation | typeof _foblex_flow.DropToGroupFinalize | typeof _foblex_flow.SortDropCandidatesByLayer | typeof _foblex_flow.DragExternalItemCreatePlaceholder | typeof _foblex_flow.DragExternalItemCreatePreview | typeof _foblex_flow.DragExternalItemFinalize | typeof _foblex_flow.DragExternalItemPreparation | typeof _foblex_flow.PreventDefaultIsExternalItem | typeof _foblex_flow.DropToGroupPreparation | typeof _foblex_flow.ReassignConnectionFinalize | typeof _foblex_flow.ReassignConnectionPreparation | typeof _foblex_flow.DragConnectionWaypointFinalize | typeof _foblex_flow.DragConnectionWaypointPreparation | typeof _foblex_flow.PinchToZoomFinalize | typeof _foblex_flow.PinchToZoomPreparation | typeof _foblex_flow.SelectionAreaFinalize | typeof _foblex_flow.SelectionAreaPreparation | typeof _foblex_flow.ApplyChildResizeConstraints | typeof _foblex_flow.ApplyParentResizeConstraints | typeof _foblex_flow.CalculateChangedRectFromDifference | typeof _foblex_flow.CalculateDirectChildrenUnionRect | typeof _foblex_flow.CalculateResizeLimits | typeof _foblex_flow.ResizeNodeFinalize | typeof _foblex_flow.AttachResizeConnectionDragHandlersToNode | typeof _foblex_flow.ResizeNodePreparation | typeof _foblex_flow.RotateNodeFinalize | typeof _foblex_flow.RotateNodePreparation | typeof _foblex_flow.CalculateFlowPointFromMinimapPoint | typeof _foblex_flow.DragMinimapFinalize | typeof _foblex_flow.DragMinimapPreparation | typeof _foblex_flow.EmitSelectionChangeEvent | typeof _foblex_flow.GetNormalizedParentNodeRect | typeof _foblex_flow.IsArrayHasParentNode | typeof _foblex_flow.DetectConnectionsUnderDragNode | typeof _foblex_flow.StopAutoPan | typeof _foblex_flow.ScheduleAutoPanFrame | typeof _foblex_flow.RunAutoPanFrame | typeof _foblex_flow.SelectByPointer)[];
5093
5159
 
@@ -5276,6 +5342,13 @@ declare class FMinimapComponent extends FMinimapBase implements AfterViewInit, O
5276
5342
  readonly _flow: i0.Signal<FMinimapFlowDirective>;
5277
5343
  readonly _minimapView: i0.Signal<FMinimapViewDirective>;
5278
5344
  readonly fMinSize: i0.InputSignal<number>;
5345
+ /**
5346
+ * Above this node count the minimap stops rendering node rects. The limit
5347
+ * guards against extreme graphs; since node rects are now computed from the
5348
+ * model and reused between frames (no per-frame DOM measurement), the
5349
+ * default is an order of magnitude higher than the old DOM-measured path
5350
+ * allowed.
5351
+ */
5279
5352
  readonly fNodeRenderLimit: i0.InputSignalWithTransform<number, unknown>;
5280
5353
  get state(): _foblex_flow.FMinimapState;
5281
5354
  ngOnInit(): void;
@@ -5327,8 +5400,25 @@ declare class FComponentsStore {
5327
5400
  readonly connectors: FConnectorRegistry<FConnectorBase>;
5328
5401
  readonly instances: FSingleRegistryBase;
5329
5402
  fDraggable: FDraggableBase | undefined;
5403
+ private _isNodesNotifyScheduled;
5404
+ private _isConnectionsNotifyScheduled;
5405
+ /**
5406
+ * Change notifications are coalesced to one per microtask: mounting a node
5407
+ * with K connectors used to fire K+1 synchronous notifications, each running
5408
+ * every listener (semantics rebuild, layout, minimap) — O(N^2) work across
5409
+ * an N-node initial render. Revisions still increment synchronously, so code
5410
+ * comparing revisions never observes stale values.
5411
+ */
5330
5412
  emitNodeChanges(): void;
5331
- emitConnectionChanges(): void;
5413
+ /**
5414
+ * Node ids whose connections need a redraw; `null` means "everything".
5415
+ * Only the single-node resize/state path narrows the scope — every other
5416
+ * emitter keeps today's full-redraw semantics.
5417
+ */
5418
+ private _dirtyConnectionNodeIds;
5419
+ emitConnectionChanges(dirtyNodeId?: string): void;
5420
+ /** Returns the accumulated scope and starts collecting a fresh one. */
5421
+ takeConnectionsDirtyScope(): ReadonlySet<string> | null;
5332
5422
  completeConnectionsRender(revision: number, nodesRevision: number): void;
5333
5423
  beginProgressiveRender(): void;
5334
5424
  endProgressiveRender(): void;
@@ -5501,6 +5591,13 @@ declare const F_CONNECTORS_PROVIDERS: (typeof FConnectorDirective | typeof FNode
5501
5591
 
5502
5592
  declare class ConnectionRedrawState {
5503
5593
  renderTicket: number;
5594
+ /**
5595
+ * False while a (possibly sliced/worker-async) pass is still running. A
5596
+ * scoped redraw starting now would invalidate that pass mid-flight and leave
5597
+ * its remaining connections undrawn, so pending scopes escalate to a full
5598
+ * pass until the previous one completed.
5599
+ */
5600
+ isPassCompleted: boolean;
5504
5601
  private readonly _connectedInPreviousRender;
5505
5602
  beginRender(): number;
5506
5603
  resetConnectedConnectors(): void;
@@ -5678,6 +5775,7 @@ declare class CompleteConnectionRedrawRequest {
5678
5775
  declare class CompleteConnectionRedraw implements IExecution<CompleteConnectionRedrawRequest, void> {
5679
5776
  private readonly _mediator;
5680
5777
  private readonly _store;
5778
+ private readonly _state;
5681
5779
  handle({ session }: CompleteConnectionRedrawRequest): void;
5682
5780
  static ɵfac: i0.ɵɵFactoryDeclaration<CompleteConnectionRedraw, never>;
5683
5781
  static ɵprov: i0.ɵɵInjectableDeclaration<CompleteConnectionRedraw>;
@@ -5721,13 +5819,19 @@ declare class RunConnectionRedrawSlice implements IExecution<RunConnectionRedraw
5721
5819
  }
5722
5820
 
5723
5821
  declare class StartConnectionRedrawRequest {
5822
+ readonly resetConnectedState: boolean;
5724
5823
  static readonly fToken: unique symbol;
5824
+ /**
5825
+ * Scoped passes keep the connected state of untouched connections intact,
5826
+ * so they must not reset the whole graph's connected connectors.
5827
+ */
5828
+ constructor(resetConnectedState?: boolean);
5725
5829
  }
5726
5830
 
5727
5831
  declare class StartConnectionRedraw implements IExecution<StartConnectionRedrawRequest, IConnectionRedrawSession> {
5728
5832
  private readonly _store;
5729
5833
  private readonly _state;
5730
- handle(_: StartConnectionRedrawRequest): IConnectionRedrawSession;
5834
+ handle({ resetConnectedState }: StartConnectionRedrawRequest): IConnectionRedrawSession;
5731
5835
  static ɵfac: i0.ɵɵFactoryDeclaration<StartConnectionRedraw, never>;
5732
5836
  static ɵprov: i0.ɵɵInjectableDeclaration<StartConnectionRedraw>;
5733
5837
  }
@@ -5744,7 +5848,18 @@ declare class RedrawConnectionsRequest {
5744
5848
  declare class RedrawConnections implements IExecution<RedrawConnectionsRequest, void> {
5745
5849
  private readonly _mediator;
5746
5850
  private readonly _store;
5851
+ private readonly _state;
5747
5852
  handle(_: RedrawConnectionsRequest): void;
5853
+ /**
5854
+ * A pass narrowed to the nodes whose geometry actually changed (single-node
5855
+ * resizes/state changes); `null` = redraw everything. Escalates to a full
5856
+ * pass while a previous pass is still in flight, because starting a new
5857
+ * session aborts the running one mid-slice.
5858
+ */
5859
+ private _resolveScope;
5860
+ private _connectionsTouching;
5861
+ /** A group geometry change also moves every endpoint owned by its descendants. */
5862
+ private _isNodeHierarchyDirty;
5748
5863
  private _createMarkersForCreate;
5749
5864
  private _createMarkersForSnap;
5750
5865
  private _shouldUseConnectionWorker;
@@ -6869,6 +6984,23 @@ declare class CalculateConnectorsConnectableSides implements IExecution<Calculat
6869
6984
  static ɵprov: i0.ɵɵInjectableDeclaration<CalculateConnectorsConnectableSides>;
6870
6985
  }
6871
6986
 
6987
+ /**
6988
+ * Debounces connectable-side recalculation for all nodes through ONE timer.
6989
+ * Every node used to own a clearTimeout+setTimeout pair re-armed on each
6990
+ * redraw — a multi-node drag churned N timers per pointer event. Nodes are
6991
+ * collected into a set and flushed together 3ms after the last redraw.
6992
+ */
6993
+ declare class ConnectableSidesScheduler {
6994
+ private readonly _mediator;
6995
+ private readonly _store;
6996
+ private readonly _pending;
6997
+ private _timer;
6998
+ schedule(node: FNodeBase): void;
6999
+ private _flush;
7000
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConnectableSidesScheduler, never>;
7001
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConnectableSidesScheduler>;
7002
+ }
7003
+
6872
7004
  declare class CalculateNodesBoundingBoxRequest {
6873
7005
  static readonly fToken: unique symbol;
6874
7006
  }
@@ -6941,6 +7073,8 @@ declare class FitToChildNodesAndGroups implements IExecution<FitToChildNodesAndG
6941
7073
  private _boundingRect;
6942
7074
  private _paddings;
6943
7075
  private _calculateChildrenBounding;
7076
+ private _storedRect;
7077
+ private _isSameRect;
6944
7078
  static ɵfac: i0.ɵɵFactoryDeclaration<FitToChildNodesAndGroups, never>;
6945
7079
  static ɵprov: i0.ɵɵInjectableDeclaration<FitToChildNodesAndGroups>;
6946
7080
  }
@@ -7023,6 +7157,7 @@ declare class UpdateNodeWhenStateOrSizeChangedRequest {
7023
7157
  declare class UpdateNodeWhenStateOrSizeChanged implements IExecution<UpdateNodeWhenStateOrSizeChangedRequest, void> {
7024
7158
  private readonly _mediator;
7025
7159
  private readonly _reflowOrchestrator;
7160
+ private readonly _injector;
7026
7161
  /**
7027
7162
  * Handles the request to update the node's connectors based on state or size changes.
7028
7163
  * It listens for resize events and recalculates the connectable sides of the connectors.
@@ -7054,7 +7189,7 @@ declare class RemoveNodeFromStore implements IExecution<RemoveNodeFromStoreReque
7054
7189
  /**
7055
7190
  * This file exports all the node-related executions that can be used in the F-Flow domain.
7056
7191
  */
7057
- declare const F_NODE_FEATURES: (typeof AddNodeToStore | typeof CalculateConnectableSideByConnectedPositions | typeof CalculateConnectableSideByInternalPosition | typeof CalculateInputConnections | typeof CalculateConnectorsConnectableSides | typeof CalculateNodesBoundingBox | typeof CalculateNodesBoundingBoxNormalizedPosition | typeof CalculateOutputConnections | typeof FitToChildNodesAndGroups | typeof GetChildNodeIds | typeof GetNodePadding | typeof GetParentNodes | typeof UpdateNodeWhenStateOrSizeChanged | typeof RemoveNodeFromStore)[];
7192
+ declare const F_NODE_FEATURES: (typeof ConnectableSidesScheduler | typeof AddNodeToStore | typeof CalculateConnectableSideByConnectedPositions | typeof CalculateConnectableSideByInternalPosition | typeof CalculateInputConnections | typeof CalculateConnectorsConnectableSides | typeof CalculateNodesBoundingBox | typeof CalculateNodesBoundingBoxNormalizedPosition | typeof CalculateOutputConnections | typeof FitToChildNodesAndGroups | typeof GetChildNodeIds | typeof GetNodePadding | typeof GetParentNodes | typeof UpdateNodeWhenStateOrSizeChanged | typeof RemoveNodeFromStore)[];
7058
7193
 
7059
7194
  declare class ClearSelectionRequest {
7060
7195
  static readonly fToken: unique symbol;
@@ -7240,20 +7375,66 @@ declare class SetZoom implements IExecution<SetZoomRequest, void> {
7240
7375
  declare const F_ZOOM_FEATURES: (typeof ResetZoom | typeof SetZoom)[];
7241
7376
 
7242
7377
  declare class MinimapDrawNodesRequest {
7378
+ readonly hostElement: SVGGElement;
7243
7379
  static readonly fToken: unique symbol;
7380
+ constructor(hostElement: SVGGElement);
7244
7381
  }
7245
7382
 
7246
- declare class MinimapDrawNodes implements IExecution<MinimapDrawNodesRequest, SVGRectElement[]> {
7383
+ /**
7384
+ * Keeps one `<rect>` per node and updates it in place. Rects live in flow
7385
+ * coordinates; panning/zooming only moves the group transform, so a transform
7386
+ * change writes ONE attribute instead of rebuilding N elements — the previous
7387
+ * implementation re-measured (2 x getBoundingClientRect) and re-created every
7388
+ * node rect on every animation frame.
7389
+ */
7390
+ declare class MinimapDrawNodes implements IExecution<MinimapDrawNodesRequest, void> {
7247
7391
  private readonly _browser;
7248
7392
  private readonly _store;
7249
- handle(_: MinimapDrawNodesRequest): SVGRectElement[];
7250
- private _renderNode;
7251
- private _nodeRect;
7393
+ private readonly _rects;
7394
+ private readonly _entries;
7395
+ private _membershipRevision;
7396
+ handle({ hostElement }: MinimapDrawNodesRequest): void;
7397
+ private _updateNode;
7398
+ private _removeStaleEntries;
7399
+ private _className;
7252
7400
  private _minimapClasses;
7401
+ private _isSameRect;
7253
7402
  static ɵfac: i0.ɵɵFactoryDeclaration<MinimapDrawNodes, never>;
7254
7403
  static ɵprov: i0.ɵɵInjectableDeclaration<MinimapDrawNodes>;
7255
7404
  }
7256
7405
 
7406
+ /**
7407
+ * Flow-space node rects for the minimap, computed from the model instead of
7408
+ * per-frame DOM measurement.
7409
+ *
7410
+ * Positions come straight from `node._position`; sizes are read from layout
7411
+ * once (offsetWidth/offsetHeight are unaffected by the canvas CSS transform)
7412
+ * and cached until a node resize invalidates them via `connectionsRevision` —
7413
+ * the same signal every node's ResizeObserver already bumps. Pan/zoom therefore
7414
+ * costs zero DOM reads per node, which is what previously forced the minimap
7415
+ * to bail out above `fNodeRenderLimit`.
7416
+ */
7417
+ declare class MinimapNodeRects {
7418
+ private readonly _store;
7419
+ private _sizes;
7420
+ private _sizesRevision;
7421
+ /** Drops stale cached sizes when any node resized since the last pass. */
7422
+ ensureFresh(): void;
7423
+ /**
7424
+ * The minimap draws nodes in flow coordinates and shifts the whole layer by
7425
+ * this offset, so panning moves one `<g>` transform instead of every rect.
7426
+ */
7427
+ viewOffset(): IPoint;
7428
+ /** Rotation-aware AABB of a node in flow coordinates. */
7429
+ rectOf(node: FNodeBase): IRect;
7430
+ /** Union of all node rects in flow coordinates; null when there are no nodes. */
7431
+ contentRect(): IRect | null;
7432
+ private _sizeOf;
7433
+ private _measure;
7434
+ static ɵfac: i0.ɵɵFactoryDeclaration<MinimapNodeRects, never>;
7435
+ static ɵprov: i0.ɵɵInjectableDeclaration<MinimapNodeRects>;
7436
+ }
7437
+
7257
7438
  interface IMinimapViewport {
7258
7439
  scale: number;
7259
7440
  viewBox: IRect;
@@ -7267,11 +7448,15 @@ declare class MinimapCalculateViewportRequest {
7267
7448
  }
7268
7449
 
7269
7450
  declare class MinimapCalculateViewport implements IExecution<MinimapCalculateViewportRequest, IMinimapViewport> {
7270
- private readonly _mediator;
7271
7451
  private readonly _store;
7452
+ private readonly _rects;
7272
7453
  handle({ svg, minSize }: MinimapCalculateViewportRequest): IMinimapViewport;
7454
+ /**
7455
+ * Model-space union of node rects shifted by the view offset — numerically
7456
+ * the same rect the old DOM path produced (screen union normalized into the
7457
+ * flow and divided by scale), without measuring a single element.
7458
+ */
7273
7459
  private _contentRectInMinimapSpace;
7274
- private _nodesBoundingBox;
7275
7460
  private _minimapRectInFlowSpace;
7276
7461
  private _viewportScale;
7277
7462
  private _viewportViewBox;
@@ -7298,7 +7483,7 @@ declare class FMinimapState {
7298
7483
  constructor(element: SVGSVGElement, scale?: number, viewBox?: IRect);
7299
7484
  }
7300
7485
 
7301
- declare const F_MINIMAP_FEATURES: (typeof MinimapDrawNodes | typeof MinimapCalculateViewport | typeof MinimapCalculateViewRect)[];
7486
+ declare const F_MINIMAP_FEATURES: (typeof MinimapDrawNodes | typeof MinimapCalculateViewport | typeof MinimapCalculateViewRect | typeof MinimapNodeRects)[];
7302
7487
 
7303
7488
  declare class GetDeepChildrenNodesAndGroupsRequest {
7304
7489
  readonly nodeOrGroupId: string;
@@ -7336,11 +7521,20 @@ declare class GetNormalizedConnectorRect implements IExecution<GetNormalizedConn
7336
7521
  private readonly _browser;
7337
7522
  private get _transform();
7338
7523
  handle({ element, cache }: GetNormalizedConnectorRectRequest): IRoundedRect;
7524
+ /**
7525
+ * Border radii are read through getComputedStyle — by far the priciest part
7526
+ * of a connector measurement — yet they practically never change. They are
7527
+ * cached per element and re-read only after the resize signal every node's
7528
+ * ResizeObserver already bumps, which also covers font-size/percentage-based
7529
+ * radii (those can only change alongside a layout change).
7530
+ */
7531
+ private _rawRadiiCache;
7532
+ private _radiiRevision;
7339
7533
  private _getElementRoundedRect;
7340
7534
  private _getRoundedRect;
7535
+ private _resolveRawRadii;
7341
7536
  private _getComputedStyle;
7342
7537
  private _toPixels;
7343
- private _getSystemRadius;
7344
7538
  /**
7345
7539
  * Mirrors CSS border-radius normalization so oversized values like `999px`
7346
7540
  * collapse to the largest valid circular radii for the current rect.
@@ -7587,9 +7781,9 @@ declare function LogExecutionTime(label?: string): MethodDecorator;
7587
7781
  * draggable elements, flow, line alignment, nodes, selection, zoom,
7588
7782
  * and various utility executions.
7589
7783
  */
7590
- declare const COMMON_PROVIDERS: (typeof _foblex_flow.FCache | typeof _foblex_flow.InvalidateFCacheNode | typeof _foblex_flow.RegisterFCacheNode | typeof _foblex_flow.UnregisterFCacheNode | typeof _foblex_flow.RegisterFCacheConnector | typeof _foblex_flow.UnregisterFCacheConnector | typeof _foblex_flow.GetCachedFCacheRect | typeof _foblex_flow.SetFCacheConnectorRect | typeof _foblex_flow.SetFCacheNodeRect | typeof _foblex_flow.UpdateFCacheRectByElement | typeof _foblex_flow.RenderLifecycleState | typeof GetNormalizedElementRect | typeof _foblex_flow.AddCanvasToStore | typeof _foblex_flow.CenterGroupOrNode | typeof _foblex_flow.FitToFlow | typeof _foblex_flow.InputCanvasPosition | typeof _foblex_flow.InputCanvasScale | typeof _foblex_flow.RedrawCanvasWithAnimation | typeof _foblex_flow.ResetScaleAndCenter | typeof _foblex_flow.ScrollCanvas | typeof _foblex_flow.UpdateScale | typeof _foblex_flow.ConnectionRedrawState | typeof _foblex_flow.ConnectionWorkerState | typeof _foblex_flow.AddConnectionForCreateToStore | typeof _foblex_flow.AddConnectionMarkerToStore | typeof _foblex_flow.AddConnectionToStore | typeof _foblex_flow.AddSnapConnectionToStore | typeof _foblex_flow.CreateConnectionMarkers | typeof _foblex_flow.ApplyConnectionWorkerResult | typeof _foblex_flow.ApplyConnectionRender | typeof _foblex_flow.BuildConnectionLine | typeof _foblex_flow.BuildConnectionWorkerBatch | typeof _foblex_flow.BuildConnectionWorkerPayloadItem | typeof _foblex_flow.CompleteConnectionRedraw | typeof _foblex_flow.DisableConnectionWorker | typeof _foblex_flow.HandleConnectionWorkerMessage | typeof _foblex_flow.IsConnectionRedrawCurrent | typeof _foblex_flow.MarkConnectionConnectorsAsConnected | typeof _foblex_flow.RenderConnection | typeof _foblex_flow.RenderConnectionFromGeometry | typeof _foblex_flow.RenderConnectionWithLine | typeof _foblex_flow.ResolveConnectionEndpointRect | typeof _foblex_flow.ResolveConnectionEndpointRotationContext | typeof _foblex_flow.ResolveConnectionEndpoints | typeof _foblex_flow.ResolveConnectionGeometry | typeof _foblex_flow.ResetConnectionWorkerRuntime | typeof _foblex_flow.RunConnectionRedrawSlice | typeof _foblex_flow.RunConnectionWorker | typeof _foblex_flow.RunConnectionWorkerBatch | typeof _foblex_flow.ShouldUseConnectionWorker | typeof _foblex_flow.StartConnectionWorkerRedraw | typeof _foblex_flow.RemoveConnectionFromStore | typeof _foblex_flow.RemoveConnectionMarkerFromStore | typeof _foblex_flow.RemoveConnectionWaypoint | typeof _foblex_flow.AddPatternToBackground | typeof _foblex_flow.SetBackgroundTransform | typeof _foblex_flow.AddConnectorToStore | typeof _foblex_flow.RemoveConnectorFromStore | typeof _foblex_flow.CalculateClosestConnector | typeof _foblex_flow.FindConnectableConnectorUsingPriorityAndPosition | typeof _foblex_flow.CalculateSourceConnectorsToConnect | typeof _foblex_flow.CalculateTargetConnectorsToConnect | typeof _foblex_flow.GetConnectorRectReference | typeof _foblex_flow.MarkConnectableConnectors | typeof _foblex_flow.UnmarkConnectableConnectors | typeof _foblex_flow.AddDndToStore | typeof _foblex_flow.OnPointerMove | typeof _foblex_flow.AddFlowToStore | typeof _foblex_flow.CalculateFlowState | typeof _foblex_flow.CalculateNodesState | typeof _foblex_flow.RemoveFlowFromStore | typeof _foblex_flow.WaitForConnectionsRendered | typeof _foblex_flow.QueueConnectionRedrawState | typeof _foblex_flow.QueueConnectionRedraw | typeof _foblex_flow.AddNodeToStore | typeof _foblex_flow.CalculateConnectableSideByConnectedPositions | typeof _foblex_flow.CalculateConnectableSideByInternalPosition | typeof _foblex_flow.CalculateInputConnections | typeof _foblex_flow.CalculateConnectorsConnectableSides | typeof _foblex_flow.CalculateNodesBoundingBoxNormalizedPosition | typeof _foblex_flow.CalculateOutputConnections | typeof _foblex_flow.FitToChildNodesAndGroups | typeof _foblex_flow.GetChildNodeIds | typeof _foblex_flow.GetNodePadding | typeof _foblex_flow.GetParentNodes | typeof _foblex_flow.UpdateNodeWhenStateOrSizeChanged | typeof _foblex_flow.RemoveNodeFromStore | typeof _foblex_flow.Select | typeof _foblex_flow.SelectAndUpdateNodeLayer | typeof _foblex_flow.SetZoom | typeof _foblex_flow.MinimapCalculateViewport | typeof GetDeepChildrenNodesAndGroups | typeof GetNormalizedConnectorRect | typeof GetNormalizedPoint | typeof SortItemsByParent | typeof UpdateItemAndChildrenLayers | typeof MoveFrontElementsBeforeTargetElement)[];
7784
+ declare const COMMON_PROVIDERS: (typeof _foblex_flow.ConnectableSidesScheduler | typeof _foblex_flow.FCache | typeof _foblex_flow.InvalidateFCacheNode | typeof _foblex_flow.RegisterFCacheNode | typeof _foblex_flow.UnregisterFCacheNode | typeof _foblex_flow.RegisterFCacheConnector | typeof _foblex_flow.UnregisterFCacheConnector | typeof _foblex_flow.GetCachedFCacheRect | typeof _foblex_flow.SetFCacheConnectorRect | typeof _foblex_flow.SetFCacheNodeRect | typeof _foblex_flow.UpdateFCacheRectByElement | typeof _foblex_flow.RenderLifecycleState | typeof GetNormalizedElementRect | typeof _foblex_flow.AddCanvasToStore | typeof _foblex_flow.CenterGroupOrNode | typeof _foblex_flow.FitToFlow | typeof _foblex_flow.InputCanvasPosition | typeof _foblex_flow.InputCanvasScale | typeof _foblex_flow.RedrawCanvasWithAnimation | typeof _foblex_flow.ResetScaleAndCenter | typeof _foblex_flow.ScrollCanvas | typeof _foblex_flow.UpdateScale | typeof _foblex_flow.ConnectionRedrawState | typeof _foblex_flow.ConnectionWorkerState | typeof _foblex_flow.AddConnectionForCreateToStore | typeof _foblex_flow.AddConnectionMarkerToStore | typeof _foblex_flow.AddConnectionToStore | typeof _foblex_flow.AddSnapConnectionToStore | typeof _foblex_flow.CreateConnectionMarkers | typeof _foblex_flow.ApplyConnectionWorkerResult | typeof _foblex_flow.ApplyConnectionRender | typeof _foblex_flow.BuildConnectionLine | typeof _foblex_flow.BuildConnectionWorkerBatch | typeof _foblex_flow.BuildConnectionWorkerPayloadItem | typeof _foblex_flow.CompleteConnectionRedraw | typeof _foblex_flow.DisableConnectionWorker | typeof _foblex_flow.HandleConnectionWorkerMessage | typeof _foblex_flow.IsConnectionRedrawCurrent | typeof _foblex_flow.MarkConnectionConnectorsAsConnected | typeof _foblex_flow.RenderConnection | typeof _foblex_flow.RenderConnectionFromGeometry | typeof _foblex_flow.RenderConnectionWithLine | typeof _foblex_flow.ResolveConnectionEndpointRect | typeof _foblex_flow.ResolveConnectionEndpointRotationContext | typeof _foblex_flow.ResolveConnectionEndpoints | typeof _foblex_flow.ResolveConnectionGeometry | typeof _foblex_flow.ResetConnectionWorkerRuntime | typeof _foblex_flow.RunConnectionRedrawSlice | typeof _foblex_flow.RunConnectionWorker | typeof _foblex_flow.RunConnectionWorkerBatch | typeof _foblex_flow.ShouldUseConnectionWorker | typeof _foblex_flow.StartConnectionRedraw | typeof _foblex_flow.StartConnectionWorkerRedraw | typeof _foblex_flow.RemoveConnectionFromStore | typeof _foblex_flow.RemoveConnectionMarkerFromStore | typeof _foblex_flow.RemoveConnectionWaypoint | typeof _foblex_flow.AddPatternToBackground | typeof _foblex_flow.SetBackgroundTransform | typeof _foblex_flow.AddConnectorToStore | typeof _foblex_flow.RemoveConnectorFromStore | typeof _foblex_flow.CalculateClosestConnector | typeof _foblex_flow.FindConnectableConnectorUsingPriorityAndPosition | typeof _foblex_flow.CalculateSourceConnectorsToConnect | typeof _foblex_flow.CalculateTargetConnectorsToConnect | typeof _foblex_flow.GetConnectorRectReference | typeof _foblex_flow.MarkConnectableConnectors | typeof _foblex_flow.UnmarkConnectableConnectors | typeof _foblex_flow.AddDndToStore | typeof _foblex_flow.OnPointerMove | typeof _foblex_flow.AddFlowToStore | typeof _foblex_flow.CalculateFlowState | typeof _foblex_flow.CalculateNodesState | typeof _foblex_flow.RemoveFlowFromStore | typeof _foblex_flow.WaitForConnectionsRendered | typeof _foblex_flow.QueueConnectionRedrawState | typeof _foblex_flow.QueueConnectionRedraw | typeof _foblex_flow.AddNodeToStore | typeof _foblex_flow.CalculateConnectableSideByConnectedPositions | typeof _foblex_flow.CalculateConnectableSideByInternalPosition | typeof _foblex_flow.CalculateInputConnections | typeof _foblex_flow.CalculateConnectorsConnectableSides | typeof _foblex_flow.CalculateNodesBoundingBoxNormalizedPosition | typeof _foblex_flow.CalculateOutputConnections | typeof _foblex_flow.FitToChildNodesAndGroups | typeof _foblex_flow.GetChildNodeIds | typeof _foblex_flow.GetNodePadding | typeof _foblex_flow.GetParentNodes | typeof _foblex_flow.UpdateNodeWhenStateOrSizeChanged | typeof _foblex_flow.RemoveNodeFromStore | typeof _foblex_flow.Select | typeof _foblex_flow.SelectAndUpdateNodeLayer | typeof _foblex_flow.SetZoom | typeof _foblex_flow.MinimapDrawNodes | typeof _foblex_flow.MinimapCalculateViewport | typeof _foblex_flow.MinimapNodeRects | typeof GetDeepChildrenNodesAndGroups | typeof GetNormalizedConnectorRect | typeof GetNormalizedPoint | typeof SortItemsByParent | typeof UpdateItemAndChildrenLayers | typeof MoveFrontElementsBeforeTargetElement)[];
7591
7785
 
7592
- declare function transitionEnd(element: HTMLElement, callback: (event: TransitionEvent) => void): void;
7786
+ declare function transitionEnd(element: HTMLElement, callback: () => void): void;
7593
7787
 
7594
7788
  /**
7595
7789
  * Speaks editor feedback to assistive technology through a live region (WCAG 4.1.3 —
@@ -9017,6 +9211,494 @@ declare class FLineAlignmentComponent extends FMagneticLinesBase implements OnIn
9017
9211
 
9018
9212
  declare const F_LINE_ALIGNMENT_PROVIDERS: (typeof FLineAlignmentComponent)[];
9019
9213
 
9214
+ /**
9215
+ * The framework fields the state plugin needs on a node — they map 1:1 onto
9216
+ * `fNode` inputs. Add your own fields by extending it; the store carries them
9217
+ * through untouched.
9218
+ *
9219
+ * ```typescript
9220
+ * interface MyNode extends IFStateNode {
9221
+ * text: string;
9222
+ * }
9223
+ * ```
9224
+ */
9225
+ interface IFStateNode {
9226
+ id: string;
9227
+ position: IPoint;
9228
+ size?: ISize;
9229
+ rotate?: number;
9230
+ parentId?: string | null;
9231
+ }
9232
+ /**
9233
+ * The framework fields for a group — a container rendered with `fGroup`.
9234
+ * Extend it to attach your own fields.
9235
+ */
9236
+ interface IFStateGroup {
9237
+ id: string;
9238
+ position: IPoint;
9239
+ size?: ISize;
9240
+ rotate?: number;
9241
+ parentId?: string | null;
9242
+ }
9243
+ /**
9244
+ * The framework fields for a connection. `sourceId`/`targetId` are CONNECTOR
9245
+ * ids — the same values `fSourceId`/`fTargetId` bind to. Extend it to attach
9246
+ * your own fields.
9247
+ */
9248
+ interface IFStateConnection {
9249
+ id: string;
9250
+ sourceId: string;
9251
+ targetId: string;
9252
+ }
9253
+ /**
9254
+ * The canvas viewport transform — its pan position and zoom scale. Maps onto
9255
+ * the `f-canvas` `[position]`/`[scale]` inputs. `position` is `undefined` until
9256
+ * the canvas is actually panned (the default), which leaves `[position]` free
9257
+ * so the canvas can center itself on first render.
9258
+ */
9259
+ interface IFStateTransform {
9260
+ position?: IPoint;
9261
+ scale: number;
9262
+ }
9263
+ /** The whole graph, as it goes in (`load`) and comes out (`snapshot`). */
9264
+ interface IFStateData<TNode extends IFStateNode = IFStateNode, TConnection extends IFStateConnection = IFStateConnection, TGroup extends IFStateGroup = IFStateGroup> {
9265
+ nodes: TNode[];
9266
+ connections: TConnection[];
9267
+ groups: TGroup[];
9268
+ /**
9269
+ * The canvas pan/zoom. Restored on `load` and present in every `snapshot`.
9270
+ * Omitted on load resets it to the identity transform.
9271
+ */
9272
+ transform?: IFStateTransform;
9273
+ }
9274
+
9275
+ /** The selected items, mirrored from the flow. */
9276
+ interface IFStateSelection {
9277
+ nodeIds: string[];
9278
+ groupIds: string[];
9279
+ connectionIds: string[];
9280
+ }
9281
+ /** The whole graph at one point in time; records are updated immutably. */
9282
+ interface IFStateShape<TNode extends IFStateNode = IFStateNode, TConnection extends IFStateConnection = IFStateConnection, TGroup extends IFStateGroup = IFStateGroup> {
9283
+ nodes: Record<string, TNode>;
9284
+ groups: Record<string, TGroup>;
9285
+ connections: Record<string, TConnection>;
9286
+ /** Selection is part of the shape only when `selectionInHistory` is on. */
9287
+ selection: IFStateSelection;
9288
+ /** Canvas pan/zoom; part of the shape only when `canvasTransformInHistory` is on. */
9289
+ transform: IFStateTransform;
9290
+ }
9291
+ /**
9292
+ * The data store of the state plugin (`provideFFlow(withFlowState())`).
9293
+ *
9294
+ * Holds the whole graph as plain records behind the signals `nodes`,
9295
+ * `groups` and `connections` that the template renders with `@for`. Records
9296
+ * are your own shape — extend `IFStateNode`/`IFStateGroup`/`IFStateConnection`
9297
+ * with any fields and type them through `injectFlowState<MyNode>()`; the store
9298
+ * only reads the framework keys and carries the rest through untouched.
9299
+ *
9300
+ * Every mutation — its own methods or the gestures `FFlowStateController`
9301
+ * forwards into the `apply*` handlers — is ONE undoable history step: records
9302
+ * are updated immutably, so a history entry is just the previous shape
9303
+ * reference. `undo`/`redo` with `canUndo`/`canRedo` signals come built in;
9304
+ * `changes` ticks once when a standalone mutation or outer batch settles, so a
9305
+ * single effect can persist the graph. Load data with `load(...)`, take it back
9306
+ * with `snapshot()`.
9307
+ *
9308
+ * EVERY method is designed for overriding. Subclass the store, override any
9309
+ * CRUD method, any `apply*` gesture handler or any protected building block,
9310
+ * and install the subclass via `withFlowState({ stateClass: MyFlowState })` —
9311
+ * the auto-wiring and the templates then use your behavior.
9312
+ */
9313
+ declare class FFlowState<TNode extends IFStateNode = IFStateNode, TConnection extends IFStateConnection = IFStateConnection, TGroup extends IFStateGroup = IFStateGroup> {
9314
+ protected readonly config: _foblex_flow.IFFlowStateResolvedConfig | null;
9315
+ /**
9316
+ * Resolves the node owning a connector; installed by the controller from
9317
+ * the live registries so node removal can cascade to attached connections.
9318
+ */
9319
+ _connectorOwnerResolver: ((connectorId: string) => string | undefined) | null;
9320
+ private readonly _shape;
9321
+ private readonly _undoStack;
9322
+ private readonly _redoStack;
9323
+ private readonly _canUndo;
9324
+ private readonly _canRedo;
9325
+ private readonly _changes;
9326
+ /** Live selection when `selectionInHistory` is off (kept out of history). */
9327
+ private readonly _liveSelection;
9328
+ /** Live transform when `canvasTransformInHistory` is off (kept out of history). */
9329
+ private readonly _liveTransform;
9330
+ /** Called when `undo` empties the history; the controller may reset the view. */
9331
+ _onUndoToStart: (() => void) | null;
9332
+ /**
9333
+ * Establishes the actual canvas transform before its first user-driven
9334
+ * change. Programmatic centering can intentionally suppress fCanvasChange,
9335
+ * so the state may still hold an unset transform while the rendered canvas
9336
+ * is already centered. This updates that baseline without history or a
9337
+ * changes() tick.
9338
+ */
9339
+ _initializeTransform(transform: IFStateTransform): void;
9340
+ /** Open-transaction depth; commits inside a batch collapse into one step. */
9341
+ private _batchDepth;
9342
+ private _batchOpen;
9343
+ /** A mutation occurred inside the current outer batch. */
9344
+ private _batchDirty;
9345
+ private readonly _nodesRecord;
9346
+ private readonly _groupsRecord;
9347
+ private readonly _connectionsRecord;
9348
+ /** All nodes, re-emitted after every mutation, undo and redo. */
9349
+ readonly nodes: i0.Signal<TNode[]>;
9350
+ /** All groups, re-emitted after every mutation, undo and redo. */
9351
+ readonly groups: i0.Signal<TGroup[]>;
9352
+ /** All connections, re-emitted after every mutation, undo and redo. */
9353
+ readonly connections: i0.Signal<TConnection[]>;
9354
+ /** The current selection; historized only when `selectionInHistory` is on. */
9355
+ readonly selection: i0.Signal<IFStateSelection>;
9356
+ /** The current canvas transform; historized only when `canvasTransformInHistory` is on. */
9357
+ readonly transform: i0.Signal<IFStateTransform>;
9358
+ /** Ticks when a standalone mutation or outer batch settles, and on `load`. */
9359
+ readonly changes: i0.Signal<number>;
9360
+ readonly canUndo: i0.Signal<boolean>;
9361
+ readonly canRedo: i0.Signal<boolean>;
9362
+ /** Replaces the whole graph and resets the undo history. */
9363
+ load(data: Partial<IFStateData<TNode, TConnection, TGroup>>): void;
9364
+ /**
9365
+ * The whole graph as plain arrays — safe to persist. Records and their
9366
+ * geometry are copied; nested payloads stay yours by reference.
9367
+ */
9368
+ snapshot(): IFStateData<TNode, TConnection, TGroup>;
9369
+ getNode(id: string): TNode | undefined;
9370
+ getGroup(id: string): TGroup | undefined;
9371
+ getConnection(id: string): TConnection | undefined;
9372
+ addNodes(...nodes: TNode[]): void;
9373
+ /** Shallow-merges the patch into the node: provided keys replace as a whole. */
9374
+ updateNode(id: string, patch: Partial<Omit<TNode, 'id'>>): void;
9375
+ /**
9376
+ * Applies new positions to known nodes and groups as ONE history step. A
9377
+ * dragged group arrives here alongside nodes, so both maps are updated.
9378
+ */
9379
+ moveNodes(positions: {
9380
+ id: string;
9381
+ position: IPoint;
9382
+ }[]): void;
9383
+ /**
9384
+ * Removes nodes and, when the connector-owner resolver is available (the
9385
+ * plugin is attached to a rendered flow), every connection attached to them
9386
+ * — all as ONE history step.
9387
+ */
9388
+ removeNodes(ids: string[]): void;
9389
+ addGroups(...groups: TGroup[]): void;
9390
+ /** Shallow-merges the patch into the group. */
9391
+ updateGroup(id: string, patch: Partial<Omit<TGroup, 'id'>>): void;
9392
+ /** Removes groups (with connection cascade and child un-parenting) as ONE step. */
9393
+ removeGroups(ids: string[]): void;
9394
+ addConnections(...connections: TConnection[]): void;
9395
+ /** Shallow-merges the patch into the connection. */
9396
+ updateConnection(id: string, patch: Partial<Omit<TConnection, 'id'>>): void;
9397
+ removeConnections(ids: string[]): void;
9398
+ /** Removes nodes (with connection cascade) and explicit connections as ONE history step. */
9399
+ removeItems(nodeIds: string[], connectionIds: string[]): void;
9400
+ undo(): void;
9401
+ redo(): void;
9402
+ clearHistory(): void;
9403
+ /**
9404
+ * Opens a transaction: every `commit` until the matching `endBatch` records
9405
+ * only ONE history step (the shape before the batch). Used by the controller
9406
+ * to fold the events of a single drag session (e.g. move + drop-to-group, or
9407
+ * a historized selection + move) into one undoable action. Nestable.
9408
+ */
9409
+ beginBatch(): void;
9410
+ /** Closes the transaction opened by `beginBatch`. */
9411
+ endBatch(): void;
9412
+ /** Runs `work` inside a transaction so all its mutations are one step. */
9413
+ batch<T>(work: () => T): T;
9414
+ /** A create-connection gesture finished. Default: add unless dropped to nowhere. */
9415
+ applyCreateConnection(event: FCreateConnectionEvent): void;
9416
+ /** A reassign gesture finished. Default: update the moved endpoint. */
9417
+ applyReassignConnection(event: FReassignConnectionEvent): void;
9418
+ /** A node drag finished. Default: apply all positions as one step. */
9419
+ applyMoveNodes(event: FMoveNodesEvent): void;
9420
+ /** The user requested removal of the selection. Default: remove with cascade. */
9421
+ applyDeleteSelected(event: FDeleteSelectedEvent): void;
9422
+ /**
9423
+ * Nodes/groups were dropped into a group. Reparents them as one step when
9424
+ * `dropToGroup` is enabled; a no-op otherwise (it's off by default). This
9425
+ * only touches items that already exist — a brand-new item from a palette is
9426
+ * created by `applyCreateNode`, not here.
9427
+ */
9428
+ applyDropToGroup(event: FDropToGroupEvent): void;
9429
+ /** An external item was dropped onto the canvas. Default: add a node for it. */
9430
+ applyCreateNode(event: FCreateNodeEvent): void;
9431
+ /** The flow selection changed. Historized only when `selectionInHistory` is on. */
9432
+ applySelectionChange(event: FSelectionChangeEvent): void;
9433
+ /**
9434
+ * The canvas was panned or zoomed (`fCanvasChange`). Historized as its own
9435
+ * step when `canvasTransformInHistory` is on; otherwise tracked live, out of
9436
+ * history. A no-op when the transform is unchanged, so a binding pushing the
9437
+ * current value back can't create a redundant step.
9438
+ */
9439
+ applyTransform(transform: IFStateTransform): void;
9440
+ /**
9441
+ * A node or group reported a new measured rect (`fNodeSizeChange` /
9442
+ * `fGroupSizeChange`) — e.g. a group auto-fitting after a child was added.
9443
+ * Folded into the CURRENT shape WITHOUT its own history step, so the resize
9444
+ * rides along with the action that triggered it (one `undo` reverts both).
9445
+ */
9446
+ applyResize(id: string, rect: IRect): void;
9447
+ /** Builds the record for a gesture-created connection. */
9448
+ protected createConnectionRecord(event: FCreateConnectionEvent): IFStateConnection | null;
9449
+ /**
9450
+ * Builds the record for an external-item drop. The item's `fData` is spread
9451
+ * onto the node, so a palette payload becomes the node's own fields. The
9452
+ * drop target nests the node only when `dropToGroup` is enabled (off by
9453
+ * default); otherwise the node lands at the top level.
9454
+ *
9455
+ * Position comes from `externalItemRect`, which is already in flow
9456
+ * coordinates (pan/zoom corrected) for every drop — over empty canvas or
9457
+ * over a node/group alike. (`dropPosition` is the raw pointer position and
9458
+ * only present on container drops, so it isn't used here.)
9459
+ */
9460
+ protected createNodeRecord(event: FCreateNodeEvent): IFStateNode | null;
9461
+ /**
9462
+ * Removes nodes, groups and connections as ONE history step: cascades the
9463
+ * connections attached to removed nodes/groups, un-parents any child that
9464
+ * pointed at a removed group, and prunes the removed ids from the selection.
9465
+ */
9466
+ protected applyRemoval(items: {
9467
+ nodeIds?: string[];
9468
+ groupIds?: string[];
9469
+ connectionIds?: string[];
9470
+ }): void;
9471
+ /** The current shape, for custom mutations in subclasses. */
9472
+ protected currentShape(): IFStateShape<TNode, TConnection, TGroup>;
9473
+ /**
9474
+ * Records the current shape into the history and applies the next one.
9475
+ * Route custom subclass mutations through here to make them undoable.
9476
+ * Inside a `beginBatch`/`endBatch` transaction only the first commit records
9477
+ * a history step, so the whole batch undoes in one go.
9478
+ */
9479
+ protected commit(next: IFStateShape<TNode, TConnection, TGroup>): void;
9480
+ /**
9481
+ * Replaces the current shape WITHOUT recording a history step, so the change
9482
+ * folds into the last committed step. Used by `applyResize`.
9483
+ */
9484
+ protected amendCurrent(next: IFStateShape<TNode, TConnection, TGroup>): void;
9485
+ /** Connections attached to the given nodes/groups, per the connector-owner resolver. */
9486
+ protected cascadeConnectionIds(ownerIds: string[], shape: IFStateShape<TNode, TConnection, TGroup>): string[];
9487
+ private _syncHistorySignals;
9488
+ private _markChanged;
9489
+ private _bumpChanges;
9490
+ static ɵfac: i0.ɵɵFactoryDeclaration<FFlowState<any, any, any>, never>;
9491
+ static ɵprov: i0.ɵɵInjectableDeclaration<FFlowState<any, any, any>>;
9492
+ }
9493
+ /**
9494
+ * Typed accessor for the state store provided by `withFlowState()`.
9495
+ *
9496
+ * ```typescript
9497
+ * protected readonly state = injectFlowState<MyNode, MyConnection>();
9498
+ * ```
9499
+ */
9500
+ declare function injectFlowState<TNode extends IFStateNode = IFStateNode, TConnection extends IFStateConnection = IFStateConnection, TGroup extends IFStateGroup = IFStateGroup>(): FFlowState<TNode, TConnection, TGroup>;
9501
+
9502
+ /**
9503
+ * Auto-wiring between the flow's gesture events and `FFlowState` (active only
9504
+ * when `withFlowState()` is installed).
9505
+ *
9506
+ * This is what removes the handler boilerplate: every finished gesture is
9507
+ * forwarded into the state's overridable `apply*` methods — the application
9508
+ * only loads data and reads it back. Subclass `FFlowState` to change what any
9509
+ * gesture means for your data; this controller stays a thin dispatcher.
9510
+ */
9511
+ declare class FFlowStateController {
9512
+ private readonly _config;
9513
+ private readonly _state;
9514
+ private readonly _store;
9515
+ private readonly _browser;
9516
+ private readonly _injector;
9517
+ private readonly _disposers;
9518
+ private readonly _subscriptions;
9519
+ /** Per-node/group `sizeChange` subscriptions, keyed by id. */
9520
+ private readonly _sizeSubscriptions;
9521
+ private _isWired;
9522
+ /** The canvas `fCanvasChange` subscription is in place. */
9523
+ private _isCanvasWired;
9524
+ /** A state transaction is currently open (beginBatch without endBatch). */
9525
+ private _batchActive;
9526
+ /** Inside a drag session (fDragStarted → fDragEnded). */
9527
+ private _dragActive;
9528
+ /** Canvas transform captured at drag start, to detect a change during the drag. */
9529
+ private _dragStartTransform;
9530
+ /** Latest canvas transform awaiting a (possibly debounced) capture. */
9531
+ private _pendingTransform;
9532
+ private _transformDebounceTimer;
9533
+ /** A microtask is queued to close a non-drag batch at the end of the tick. */
9534
+ private _closeScheduled;
9535
+ /** Called once by `FFlowComponent` after content init (browser only). */
9536
+ initialize(): void;
9537
+ destroy(): void;
9538
+ private _wireDraggableEvents;
9539
+ /**
9540
+ * Captures canvas pan/zoom (`fCanvasChange`) into the state. Routed through
9541
+ * `_dispatch` so a pan-drag folds into one step. Restore is binding-driven:
9542
+ * bind the canvas `[position]`/`[scale]` to `state.transform()` and undo/redo
9543
+ * flows back through the guarded input path — no imperative push needed.
9544
+ */
9545
+ private _wireCanvasEvents;
9546
+ /**
9547
+ * Records a canvas pan/zoom, optionally debounced (`canvasTransformDebounce`)
9548
+ * so a zoom/pan burst collapses into one step once it settles.
9549
+ */
9550
+ private _onCanvasChange;
9551
+ private _flushCanvasChange;
9552
+ /**
9553
+ * Subscribes to every node's and group's `sizeChange` (a per-directive
9554
+ * output, not a draggable event) so a resize — most often a group
9555
+ * auto-fitting after a child was added — is folded into the last history
9556
+ * step via `applyResize`. Re-runs as nodes/groups register; drops removed.
9557
+ */
9558
+ private _wireSizeChanges;
9559
+ /**
9560
+ * Folds every event of one drag session into a single undoable step.
9561
+ *
9562
+ * The events don't share a tick: the selection change is emitted at drag
9563
+ * START (before `fDragStarted`), while the move / drop-to-group land at drag
9564
+ * END (pointer-up). So the batch opens on the first event of the tick and,
9565
+ * once `fDragStarted` marks a drag in progress, stays open until `fDragEnded`
9566
+ * — spanning the whole drag. Outside a drag (e.g. a keyboard delete) it
9567
+ * closes on the next microtask, so unrelated same-tick bursts still collapse.
9568
+ * Programmatic app mutations don't run through here, so they stay separate.
9569
+ */
9570
+ private _dispatch;
9571
+ private _onDragStarted;
9572
+ private _onDragEnded;
9573
+ /** The canvas transform right now, or `null` when there is no canvas. */
9574
+ private _readCanvasTransform;
9575
+ /**
9576
+ * Folds a drag's canvas transform into its step, but only when the transform
9577
+ * actually moved during the drag. A plain node drag leaves the canvas alone,
9578
+ * so we must NOT capture it — that would solidify an as-yet-unset (undefined)
9579
+ * position to the origin.
9580
+ */
9581
+ private _captureCanvasTransform;
9582
+ private _openBatch;
9583
+ private _closeBatch;
9584
+ /**
9585
+ * When selection is part of the history, `undo`/`redo` land on a shape with
9586
+ * its own selection — push it back into the flow so the highlight follows.
9587
+ * `isSelectedChanged: false` keeps this from re-emitting a selection change.
9588
+ */
9589
+ private _wireSelectionRestore;
9590
+ private _restoreSelection;
9591
+ /** Resets lifecycle flags and starts a render pass for the restored initial state. */
9592
+ private _resetAndRenderFlow;
9593
+ private _resolveOwnerNode;
9594
+ static ɵfac: i0.ɵɵFactoryDeclaration<FFlowStateController, never>;
9595
+ static ɵprov: i0.ɵɵInjectableDeclaration<FFlowStateController>;
9596
+ }
9597
+
9598
+ /**
9599
+ * Configuration of the state plugin, installed via
9600
+ * `provideFFlow(withFlowState(...))`.
9601
+ */
9602
+ interface IFFlowStateConfig {
9603
+ /** How many steps the undo history keeps. Default `50`. */
9604
+ historyLimit?: number;
9605
+ /**
9606
+ * Whether a selection change is its own undoable step. On by default —
9607
+ * `undo`/`redo` also walk selection (Figma/Photoshop style), and a drag's
9608
+ * leading selection folds into the same step as the move. Set `false` to
9609
+ * keep selection out of the history (like xyflow or tldraw);
9610
+ * `state.selection()` reflects the current selection either way.
9611
+ */
9612
+ selectionInHistory?: boolean;
9613
+ /**
9614
+ * Whether a canvas pan/zoom is its own undoable step. On by default —
9615
+ * `undo`/`redo` also walk the viewport. Set `false` to keep the transform out
9616
+ * of history; `state.transform()` still tracks it and it's still saved in
9617
+ * `snapshot()` / restored by `load()` either way. Bind the canvas
9618
+ * `[position]`/`[scale]` to `state.transform()` for the restore to show.
9619
+ */
9620
+ canvasTransformInHistory?: boolean;
9621
+ /**
9622
+ * Debounce (ms) for recording canvas pan/zoom into history. Default `0`. A
9623
+ * zoom or pan fires a burst of `fCanvasChange` events; a non-zero value
9624
+ * collapses the burst into a single undoable step once it settles. A drag pan
9625
+ * still folds into one step regardless (captured at drag end).
9626
+ */
9627
+ canvasTransformDebounce?: number;
9628
+ /**
9629
+ * Whether dropping into a group reparents the dropped item (or nests an
9630
+ * external item). Off by default — the state ignores group membership: a
9631
+ * drop-to-group gesture is a no-op and an external item dropped over a group
9632
+ * lands at the top level instead of nested. Set `true` to opt into grouping.
9633
+ */
9634
+ dropToGroup?: boolean;
9635
+ /**
9636
+ * Your own store subclass. Every `FFlowState` method — CRUD, the `apply*`
9637
+ * gesture handlers, the protected building blocks — is overridable, and the
9638
+ * auto-wiring dispatches through this class, so an override changes what a
9639
+ * gesture means for your data.
9640
+ */
9641
+ stateClass?: Type<FFlowState<any, any, any>>;
9642
+ /**
9643
+ * Builds the connection record when the user finishes a create-connection
9644
+ * gesture. Return `null` to reject the connection. Defaults to a generated
9645
+ * id with the gesture's endpoints.
9646
+ */
9647
+ connectionFactory?: (event: FCreateConnectionEvent) => IFStateConnection | null;
9648
+ /**
9649
+ * Builds the node record when an external item is dropped onto the canvas.
9650
+ * Return `null` to reject the drop. Defaults to a generated id at the drop
9651
+ * position with the external item's payload spread onto the record.
9652
+ */
9653
+ nodeFactory?: (event: FCreateNodeEvent) => IFStateNode | null;
9654
+ }
9655
+ interface IFFlowStateResolvedConfig extends IFFlowStateConfig {
9656
+ historyLimit: number;
9657
+ selectionInHistory: boolean;
9658
+ canvasTransformInHistory: boolean;
9659
+ canvasTransformDebounce: number;
9660
+ dropToGroup: boolean;
9661
+ }
9662
+ declare function mergeFlowStateConfig(config?: IFFlowStateConfig): IFFlowStateResolvedConfig;
9663
+ /**
9664
+ * Resolved state-plugin configuration. Present in the injector only when
9665
+ * `withFlowState()` is installed — its absence keeps `FFlowStateController`
9666
+ * inert.
9667
+ */
9668
+ declare const F_FLOW_STATE_CONFIG: InjectionToken<IFFlowStateResolvedConfig>;
9669
+
9670
+ /**
9671
+ * Turns on the managed graph state inside `provideFFlow(...)`.
9672
+ *
9673
+ * ```typescript
9674
+ * @Component({
9675
+ * providers: [provideFFlow(withFlowState())],
9676
+ * })
9677
+ * export class MyFlow {
9678
+ * protected readonly state = injectFlowState<MyNodeData>();
9679
+ *
9680
+ * constructor() {
9681
+ * this.state.load({ nodes: [...], connections: [...] });
9682
+ * }
9683
+ * }
9684
+ * ```
9685
+ *
9686
+ * The template renders `state.nodes()` / `state.connections()` with `@for`,
9687
+ * and that is the whole integration: finished gestures (create/reassign
9688
+ * connection, node moves, drops into groups, external-item drops, delete
9689
+ * requests) are applied to the state automatically, each as one undoable
9690
+ * step. `undo()`/`redo()` with `canUndo`/`canRedo` signals come built in;
9691
+ * `snapshot()` returns the graph as plain arrays for persistence.
9692
+ *
9693
+ * Every store behavior is overridable: subclass `FFlowState` (any CRUD
9694
+ * method, any `apply*` gesture handler, any protected building block) and
9695
+ * install it via `withFlowState({ stateClass: MyFlowState })`.
9696
+ *
9697
+ * The classic event-driven API keeps working unchanged — this plugin is for
9698
+ * apps that would rather hand the data bookkeeping to the library.
9699
+ */
9700
+ declare function withFlowState(config?: IFFlowStateConfig): IFFlowFeature<EFFlowFeatureKind.STATE>;
9701
+
9020
9702
  interface ICacheOptions {
9021
9703
  enabled: boolean;
9022
9704
  }
@@ -9241,5 +9923,5 @@ declare class FFlowModule {
9241
9923
  static ɵinj: i0.ɵɵInjectorDeclaration<FFlowModule>;
9242
9924
  }
9243
9925
 
9244
- export { AddCanvasToStore, AddCanvasToStoreRequest, AddConnectionForCreateToStore, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStore, AddConnectionMarkerToStoreRequest, AddConnectionToStore, AddConnectionToStoreRequest, AddConnectorToStore, AddConnectorToStoreRequest, AddDndToStore, AddDndToStoreRequest, AddFlowToStore, AddFlowToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddPatternToBackground, AddPatternToBackgroundRequest, AddSnapConnectionToStore, AddSnapConnectionToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyConnectionRender, ApplyConnectionRenderRequest, ApplyConnectionWorkerResult, ApplyConnectionWorkerResultRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, AttachDragNodeHandlerFromSelection, AttachDragNodeHandlerFromSelectionRequest, AttachResizeConnectionDragHandlersToNode, AttachResizeConnectionDragHandlersToNodeRequest, AttachSoftParentConnectionDragHandlersToNode, AttachSoftParentConnectionDragHandlersToNodeRequest, AttachSourceConnectionDragHandlersToNode, AttachSourceConnectionDragHandlersToNodeRequest, AttachTargetConnectionDragHandlersToNode, AttachTargetConnectionDragHandlersToNodeRequest, BuildConnectionLine, BuildConnectionLineRequest, BuildConnectionWorkerBatch, BuildConnectionWorkerBatchRequest, BuildConnectionWorkerPayloadItem, BuildConnectionWorkerPayloadItemRequest, 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, CalculateConnectionsState, CalculateConnectionsStateRequest, 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, CenterBasedDeltaCalculator, CenterGroupOrNode, CenterGroupOrNodeRequest, CenterOfMassSelectionStrategy, ChainPushCollisionResolver, ClearSelection, ClearSelectionRequest, CompleteConnectionRedraw, CompleteConnectionRedrawRequest, ConnectedSubgraphScopeFilter, ConnectionBehaviourBuilder, ConnectionBehaviourBuilderRequest, ConnectionContentLayoutEngine, ConnectionLineBuilder, ConnectionLineBuilderRequest, ConnectionRedrawState, ConnectionWorkerState, CreateConnectionCreateDragHandler, CreateConnectionCreateDragHandlerRequest, CreateConnectionFinalize, CreateConnectionFinalizeRequest, CreateConnectionFromConnectorPreparation, CreateConnectionFromConnectorPreparationRequest, CreateConnectionFromOutletPreparation, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparation, CreateConnectionFromOutputPreparationRequest, CreateConnectionHandler, CreateConnectionMarkers, CreateConnectionMarkersRequest, CreateConnectionPreparation, CreateConnectionPreparationRequest, CreateDragNodeHandler, CreateDragNodeHandlerRequest, CreateDragNodeHierarchy, CreateDragNodeHierarchyRequest, DRAG_AND_DROP_COMMON_PROVIDERS, DRAG_AUTO_PAN_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, DownstreamConnectionsSelectionStrategy, 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, ECanvasRedrawContext, EFCanvasLayer, EFConnectableSide, EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, EFFlowFeatureKind, EFLayoutDirection, EFLayoutMode, EFMarkerType, EFReflowAxis, EFReflowCollision, EFReflowDeltaSource, EFReflowMode, EFReflowScope, EFResizeHandleType, EFZoomDirection, EMPTY_REFLOW_PLAN, EdgeBasedDeltaCalculator, EmitConnectionsChanges, EmitConnectionsChangesRequest, EmitEndDragSequenceEvent, EmitEndDragSequenceEventRequest, EmitSelectionChangeEvent, EmitSelectionChangeEventRequest, EmitStartDragSequenceEvent, EmitStartDragSequenceEventRequest, EnsureConnectionWorker, EnsureConnectionWorkerRequest, EventExtensions, ExternalRectConstraint, FA11yAnnouncer, FA11yController, FAutoPan, FAutoPanBase, FBackgroundBase, FBackgroundComponent, FCache, FCacheConnector, FCacheConnectorKeyFactory, FCacheNode, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FClickConnectFlow, FComponentsStore, FConnectionBase, FConnectionComponent, FConnectionComponentsParent, FConnectionContent, FConnectionContentBase, FConnectionDragHandleBase, FConnectionDragHandleEnd, FConnectionDragHandleStart, FConnectionForCreateComponent, FConnectionGradient, FConnectionGradientBase, FConnectionGradientRenderer, FConnectionGradientRendererBase, FConnectionMarker, FConnectionMarkerArrow, FConnectionMarkerBase, FConnectionMarkerCircle, FConnectionMarkerRegistry, FConnectionPath, FConnectionPathBase, FConnectionRegistry, FConnectionSelection, FConnectionSelectionBase, FConnectionWaypoints, FConnectionWaypointsBase, FConnectionWaypointsChangedEvent, FConnectorBase, FConnectorDirective, FConnectorRegistry, FControlSchemeController, FCreateConnectionEvent, FCreateConnectionSession, FCreateNodeEvent, FDeleteSelectedEvent, FDragBlockerDirective, FDragExternalItemStartEventData, FDragHandleDirective, FDragHandlerResult, FDragNodeStartEventData, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItem, FExternalItemBase, FExternalItemPlaceholder, FExternalItemPreview, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FGroupDirective, FIdRegistryBase, FLayoutController, FLayoutEngine, 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, FReflowBaselineTracker, FReflowController, FReflowCycleGuard, FReflowIgnore, FReflowIgnoreRegistry, FReflowOrchestrator, FReflowPlanner, FResizeChannel, FResizeHandleDirective, FResizeNodeStartEventData, FRotateHandleDirective, FRotateNodeStartEventData, FSelectionArea, FSelectionAreaBase, FSelectionChangeEvent, FSingleRegistryBase, FSnapConnectionComponent, FSourceConnectorBase, FVirtualFor, FZoomBase, FZoomDirective, F_A11Y_CONFIG, F_AUTO_PAN_PROVIDERS, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CACHE_FEATURES, F_CACHE_OPTIONS, F_CANVAS, F_CANVAS_CONFIG, 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_FLOW, F_CONNECTION_GRADIENT, F_CONNECTION_IMPORTS_EXPORTS, F_CONNECTION_MARKER, F_CONNECTION_PATH, F_CONNECTION_PROVIDERS, F_CONNECTION_SELECTION, F_CONNECTION_WAYPOINTS, F_CONNECTOR, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CONTROL_SCHEME_CONFIG, F_CSS_CLASS, F_DEFAULT_A11Y_CONFIG, F_DEFAULT_A11Y_KEYS, F_DEFAULT_A11Y_MESSAGES, F_DEFAULT_CONTROL_SCHEME, F_DEFAULT_LAYER_ORDER, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_SELECT_CONTROL_SCHEME, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_CONFIG, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_LAYOUT, F_LAYOUT_OPTIONS, 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_REFLOW_CONFIG, F_REFLOW_PROVIDERS, F_SCROLL_PAN_CONTROL_SCHEME, 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, GlobalScopeFilter, GridSnapper, GroupScopeFilter, HandleConnectionWorkerMessage, HandleConnectionWorkerMessageRequest, IMouseEvent, INSTANCES, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequence, InitializeDragSequenceRequest, InputCanvasPosition, InputCanvasPositionRequest, InputCanvasScale, InputCanvasScaleRequest, InvalidateFCacheNode, InvalidateFCacheNodeRequest, IsArrayHasParentNode, IsArrayHasParentNodeRequest, IsConnectionRedrawCurrent, IsConnectionRedrawCurrentRequest, 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, MarkConnectionConnectorsAsConnected, MarkConnectionConnectorsAsConnectedRequest, MinimapCalculateViewRect, MinimapCalculateViewRectRequest, MinimapCalculateViewport, MinimapCalculateViewportRequest, MinimapDrawNodes, MinimapDrawNodesRequest, MoveFrontElementsBeforeTargetElement, MoveFrontElementsBeforeTargetElementRequest, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NotifyFullRendered, NotifyFullRenderedRequest, NotifyNodesRendered, NotifyNodesRenderedRequest, NotifyTransformChanged, NotifyTransformChangedRequest, OnPointerMove, OnPointerMoveRequest, PINCH_TO_ZOOM_PROVIDERS, PinchToZoomFinalize, PinchToZoomFinalizeRequest, PinchToZoomHandler, PinchToZoomPreparation, PinchToZoomPreparationRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequence, PrepareDragSequenceRequest, PreventDefaultIsExternalItem, PreventDefaultIsExternalItemRequest, QueueConnectionRedraw, QueueConnectionRedrawRequest, QueueConnectionRedrawState, 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, RenderConnection, RenderConnectionFromGeometry, RenderConnectionFromGeometryRequest, RenderConnectionRequest, RenderConnectionWithLine, RenderConnectionWithLineRequest, RenderLifecycleState, ResetConnectionWorkerRuntime, ResetConnectionWorkerRuntimeRequest, ResetRenderLifecycle, ResetRenderLifecycleRequest, ResetScale, ResetScaleAndCenter, ResetScaleAndCenterRequest, ResetScaleRequest, ResetZoom, ResetZoomRequest, ResizeNodeConnectionBothSidesHandler, ResizeNodeConnectionHandlerBase, ResizeNodeConnectionSourceHandler, ResizeNodeConnectionTargetHandler, ResizeNodeFinalize, ResizeNodeFinalizeRequest, ResizeNodeHandler, ResizeNodePreparation, ResizeNodePreparationRequest, ResolveConnectableOutputForOutlet, ResolveConnectableOutputForOutletRequest, ResolveConnectionEndpointRect, ResolveConnectionEndpointRectRequest, ResolveConnectionEndpointRotationContext, ResolveConnectionEndpointRotationContextRequest, ResolveConnectionEndpoints, ResolveConnectionEndpointsRequest, ResolveConnectionGeometry, ResolveConnectionGeometryRequest, RotateNodeFinalize, RotateNodeFinalizeRequest, RotateNodeHandler, RotateNodePreparation, RotateNodePreparationRequest, RunAutoPanFrame, RunAutoPanFrameRequest, RunConnectionRedrawSlice, RunConnectionRedrawSliceRequest, RunConnectionWorker, RunConnectionWorkerBatch, RunConnectionWorkerBatchRequest, RunConnectionWorkerRequest, RunDevDiagnostics, RunDevDiagnosticsRequest, ScheduleAutoPanFrame, ScheduleAutoPanFrameRequest, ScrollCanvas, ScrollCanvasRequest, 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, StartConnectionRedraw, StartConnectionRedrawRequest, StartConnectionWorkerRedraw, StartConnectionWorkerRedrawRequest, StopAutoPan, StopAutoPanRequest, StopCollisionResolver, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UnregisterFCacheConnector, UnregisterFCacheConnectorRequest, UnregisterFCacheNode, UnregisterFCacheNodeRequest, UpdateFCacheRectByElement, UpdateFCacheRectByElementRequest, UpdateItemAndChildrenLayers, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScale, UpdateScaleRequest, WaitForConnectionsRendered, WaitForConnectionsRenderedRequest, XRangeSelectionStrategy, afterNextPaint, buildConnectionAnchors, buildCornerMidPointsAndApplyOffsets, calculateAutoPanAxisDelta, calculateAutoPanDelta, calculateCenterBetweenPoints, calculateCurveCandidates, calculateDifferenceAfterRotation, calculateMagneticGuides, calculateMagneticRects, calculatePointerInFlow, calculatePolylineCandidates, calculatePositionAfterRotation, castToConnectorType, coerceMarkerType, computeEdgeDeltas, createConnectionDomIdentifier, createConnectionSelectionDomIdentifier, createConnectionWorkerUrl, createGradientDomIdentifier, createGradientDomUrl, createMultiCubicPath, createSVGElement, createSegmentLinePath, cubicBezierAtT, debounceAnimationFrame, debounceMicrotask, debounceTime, defaultEventTrigger, determineSide, expandRectByOverflow, fDiagnosticMessage, fInstanceKey, fProvideCache, fSuppressDevWarnings, fWarnOnce, filterConnectableTargets, findExistingWaypoint, findSourceConnector, findSpatialNeighbor, findTargetConnector, findWaypointCandidate, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getAllSourceConnectors, getAllTargetConnectors, getExternalItemHost, infinityMinMax, isCalculateMode, isConnectionWorkerRuntimeSupported, isConnector, isDragBlocker, isDragExternalItemHandler, isDragHandleEnd, isDragHandleStart, isDragMinimapHandler, isDragNodeHandler, isExternalItem, isFDevMode, isMobile, isNode, isNodeOutlet, isNodeOutput, isOnFlowBackground, isOutletConnector, isPointerInsidePoint, isPointerInsideStartOrEndDragHandles, isResizeNodeHandler, isRotateHandle, isRotateNodeHandler, isSourceConnector, isTargetConnector, isValidEventTrigger, mergeA11yConfig, mergeControlSchemeConfig, mergeFCanvasConfig, mergeLayoutNodes, mergePointChains, mergeReflowConfig, middleButtonEventTrigger, mixinChangeSelection, mixinChangeVisibility, normalizeFlowLayoutData, normalizePolyline, notifyOnStart, pickWaypoint, primaryButtonEventTrigger, provideFFlow, provideFLayout, rebaseAutoPanPointerDownPosition, rectFromPoint, requireSourceConnector, requireTargetConnector, resolveAutoPanMode, resolveConnectionWorkerRuntime, resolveLayerOrder, revokeConnectionWorkerUrl, sampleCubicBezierUniform, sampleMultiCubicUniform, stringAttribute, takeOne, transitionEnd, withA11y, withConnectionFlow, withControlScheme, withFCanvas, withReflowOnResize, withinSnapThreshold };
9245
- export type { AbstractConstructor, Constructor, FA11yDirection, FCacheConnectorKey, FChannelListener, FChannelOperator, FConnectionEndpoint, FConnectorKind, FConnectorType, FEventTrigger, FHasId, FInstanceKey, FMoveNodePosition, FTriggerEvent, ICacheOptions, ICalculateBehaviorRequest, ICanBeSelectedElementAndRect, ICanChangeVisibility, IClosestConnectorRef, IConnectionBuilders, IConnectionEndpointRotationContext, IConnectionEndpoints, IConnectionGeometry, IConnectionRedrawSession, IConnectionWorkerBatch, IConnectionWorkerBatchItem, IConnectionWorkerPayloadItem, IConnectionWorkerRect, IConnectionWorkerResponse, IConnectionWorkerResultItem, IConnectorRectRef, IConstraintEdges, ICreateConnectionDragResult, ICreateConnectionEventData, ICubicSegment, ICurrentSelection, IDeltaClampResult, IDestroyable, IDragExternalItemDragResult, IDragNodeDeltaConstraints, IDragNodeDeltaConstraintsResult, IDragNodeSoftConstraint, IDragSessionContext, IDragSessionFeature, IFA11yConfig, IFA11yKeys, IFA11yMessages, IFA11yNavigable, IFA11yResolvedConfig, IFBackgroundPattern, IFCacheNodeRef, IFCanvasResolvedConfig, IFConnectionBuilder, IFConnectionBuilderRequest, IFConnectionBuilderResponse, IFConnectionFlow, IFControlScheme, IFControlSchemeConfig, IFFlowConfig, IFFlowFeature, IFFlowState, IFFlowStateConnection, IFFlowStateConnector, IFFlowStateNode, IFFlowStateOptions, IFLayoutAlgorithmOptions, IFLayoutCalculationOptions, IFLayoutConnection, IFLayoutGraph, IFLayoutNode, IFLayoutNodePosition, IFLayoutOptions, IFLayoutProviderConfig, IFLayoutResult, IFLayoutWritebackPayload, IFReflowCollisionResolver, IFReflowDeltaCalculator, IFReflowOnResizeConfig, IFReflowOnResizeResolvedConfig, IFReflowScopeFilter, IFReflowSelectionStrategy, IFReflowSpacingConfig, IFlowLayoutNormalizationResult, IHasHostElement, IMagneticAxisGuide, IMagneticGapRect, IMagneticGuidesResult, IMagneticRectsResult, IMinimapViewport, INodeWithRect, IParentConnectionEndpointHandler, IParentConnectionHandlers, IPolylineContent, IReassignConnectionDragResult, IReassignConnectionEventData, IReassignHandler, IReflowCandidate, IReflowConnection, IReflowPlan, IReflowPlannerInput, IReflowRawShift, IReflowResolvedShift, IReflowShift, IResizeConstraint, IResizeEdgeDeltas, IResizeLimit, IResizeLimits, IResizeNodeConnectionEndpointHandler, IResizeNodeConnectionHandlers, IResizeOverflow, ISamplerResult, ISelectable, ITangent, MagneticRectsAlignMode, MagneticRectsAxis, MergeFCanvasConfig, TAutoPanMode, TCalculateMode, TConnectionWorkerPendingRequest, TFLayoutWritebackHandler, TResolveConnectionEndpointRotationContextResponse, WaypointPick };
9926
+ export { AddCanvasToStore, AddCanvasToStoreRequest, AddConnectionForCreateToStore, AddConnectionForCreateToStoreRequest, AddConnectionMarkerToStore, AddConnectionMarkerToStoreRequest, AddConnectionToStore, AddConnectionToStoreRequest, AddConnectorToStore, AddConnectorToStoreRequest, AddDndToStore, AddDndToStoreRequest, AddFlowToStore, AddFlowToStoreRequest, AddNodeToStore, AddNodeToStoreRequest, AddPatternToBackground, AddPatternToBackgroundRequest, AddSnapConnectionToStore, AddSnapConnectionToStoreRequest, ApplyChildResizeConstraints, ApplyChildResizeConstraintsRequest, ApplyConnectionRender, ApplyConnectionRenderRequest, ApplyConnectionWorkerResult, ApplyConnectionWorkerResultRequest, ApplyParentResizeConstraints, ApplyParentResizeConstraintsRequest, AttachDragNodeHandlerFromSelection, AttachDragNodeHandlerFromSelectionRequest, AttachResizeConnectionDragHandlersToNode, AttachResizeConnectionDragHandlersToNodeRequest, AttachSoftParentConnectionDragHandlersToNode, AttachSoftParentConnectionDragHandlersToNodeRequest, AttachSourceConnectionDragHandlersToNode, AttachSourceConnectionDragHandlersToNodeRequest, AttachTargetConnectionDragHandlersToNode, AttachTargetConnectionDragHandlersToNodeRequest, BuildConnectionLine, BuildConnectionLineRequest, BuildConnectionWorkerBatch, BuildConnectionWorkerBatchRequest, BuildConnectionWorkerPayloadItem, BuildConnectionWorkerPayloadItemRequest, 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, CalculateConnectionsState, CalculateConnectionsStateRequest, 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, CenterBasedDeltaCalculator, CenterGroupOrNode, CenterGroupOrNodeRequest, CenterOfMassSelectionStrategy, ChainPushCollisionResolver, ClearSelection, ClearSelectionRequest, CompleteConnectionRedraw, CompleteConnectionRedrawRequest, ConnectableSidesScheduler, ConnectedSubgraphScopeFilter, ConnectionBehaviourBuilder, ConnectionBehaviourBuilderRequest, ConnectionContentLayoutEngine, ConnectionLineBuilder, ConnectionLineBuilderRequest, ConnectionRedrawState, ConnectionWorkerState, CreateConnectionCreateDragHandler, CreateConnectionCreateDragHandlerRequest, CreateConnectionFinalize, CreateConnectionFinalizeRequest, CreateConnectionFromConnectorPreparation, CreateConnectionFromConnectorPreparationRequest, CreateConnectionFromOutletPreparation, CreateConnectionFromOutletPreparationRequest, CreateConnectionFromOutputPreparation, CreateConnectionFromOutputPreparationRequest, CreateConnectionHandler, CreateConnectionMarkers, CreateConnectionMarkersRequest, CreateConnectionPreparation, CreateConnectionPreparationRequest, CreateDragNodeHandler, CreateDragNodeHandlerRequest, CreateDragNodeHierarchy, CreateDragNodeHierarchyRequest, DRAG_AND_DROP_COMMON_PROVIDERS, DRAG_AUTO_PAN_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, DownstreamConnectionsSelectionStrategy, 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, ECanvasRedrawContext, EFCanvasLayer, EFConnectableSide, EFConnectionBehavior, EFConnectionConnectableSide, EFConnectionType, EFFlowFeatureKind, EFLayoutDirection, EFLayoutMode, EFMarkerType, EFReflowAxis, EFReflowCollision, EFReflowDeltaSource, EFReflowMode, EFReflowScope, EFResizeHandleType, EFZoomDirection, EMPTY_REFLOW_PLAN, EdgeBasedDeltaCalculator, EmitConnectionsChanges, EmitConnectionsChangesRequest, EmitEndDragSequenceEvent, EmitEndDragSequenceEventRequest, EmitSelectionChangeEvent, EmitSelectionChangeEventRequest, EmitStartDragSequenceEvent, EmitStartDragSequenceEventRequest, EnsureConnectionWorker, EnsureConnectionWorkerRequest, EventExtensions, ExternalRectConstraint, FA11yAnnouncer, FA11yController, FAutoPan, FAutoPanBase, FBackgroundBase, FBackgroundComponent, FCache, FCacheConnector, FCacheConnectorKeyFactory, FCacheNode, FCanvasBase, FCanvasChangeEvent, FCanvasComponent, FChannel, FChannelHub, FCirclePatternComponent, FClickConnectFlow, FComponentsStore, FConnectionBase, FConnectionComponent, FConnectionComponentsParent, FConnectionContent, FConnectionContentBase, FConnectionDragHandleBase, FConnectionDragHandleEnd, FConnectionDragHandleStart, FConnectionForCreateComponent, FConnectionGradient, FConnectionGradientBase, FConnectionGradientRenderer, FConnectionGradientRendererBase, FConnectionMarker, FConnectionMarkerArrow, FConnectionMarkerBase, FConnectionMarkerCircle, FConnectionMarkerRegistry, FConnectionPath, FConnectionPathBase, FConnectionRegistry, FConnectionSelection, FConnectionSelectionBase, FConnectionWaypoints, FConnectionWaypointsBase, FConnectionWaypointsChangedEvent, FConnectorBase, FConnectorDirective, FConnectorRegistry, FControlSchemeController, FCreateConnectionEvent, FCreateConnectionSession, FCreateNodeEvent, FDeleteSelectedEvent, FDragBlockerDirective, FDragExternalItemStartEventData, FDragHandleDirective, FDragHandlerResult, FDragNodeStartEventData, FDragStartedEvent, FDraggableBase, FDraggableDataContext, FDraggableDirective, FDropToGroupEvent, FExternalItem, FExternalItemBase, FExternalItemPlaceholder, FExternalItemPreview, FExternalItemService, FFlowBase, FFlowComponent, FFlowModule, FFlowState, FFlowStateController, FGroupDirective, FIdRegistryBase, FLayoutController, FLayoutEngine, 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, FReflowBaselineTracker, FReflowController, FReflowCycleGuard, FReflowIgnore, FReflowIgnoreRegistry, FReflowOrchestrator, FReflowPlanner, FResizeChannel, FResizeHandleDirective, FResizeNodeStartEventData, FRotateHandleDirective, FRotateNodeStartEventData, FSelectionArea, FSelectionAreaBase, FSelectionChangeEvent, FSingleRegistryBase, FSnapConnectionComponent, FSourceConnectorBase, FVirtualFor, FZoomBase, FZoomDirective, F_A11Y_CONFIG, F_AUTO_PAN_PROVIDERS, F_BACKGROUND, F_BACKGROUND_FEATURES, F_BACKGROUND_PATTERN, F_BACKGROUND_PROVIDERS, F_CACHE_FEATURES, F_CACHE_OPTIONS, F_CANVAS, F_CANVAS_CONFIG, 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_FLOW, F_CONNECTION_GRADIENT, F_CONNECTION_IMPORTS_EXPORTS, F_CONNECTION_MARKER, F_CONNECTION_PATH, F_CONNECTION_PROVIDERS, F_CONNECTION_SELECTION, F_CONNECTION_WAYPOINTS, F_CONNECTOR, F_CONNECTORS_FEATURES, F_CONNECTORS_PROVIDERS, F_CONTROL_SCHEME_CONFIG, F_CSS_CLASS, F_DEFAULT_A11Y_CONFIG, F_DEFAULT_A11Y_KEYS, F_DEFAULT_A11Y_MESSAGES, F_DEFAULT_CONTROL_SCHEME, F_DEFAULT_LAYER_ORDER, F_DRAGGABLE_FEATURES, F_DRAGGABLE_PROVIDERS, F_DRAG_SELECT_CONTROL_SCHEME, F_EXTERNAL_ITEM, F_EXTERNAL_ITEM_PROVIDERS, F_FLOW, F_FLOW_CONFIG, F_FLOW_FEATURES, F_FLOW_PROVIDERS, F_FLOW_STATE_CONFIG, F_LAYOUT, F_LAYOUT_OPTIONS, 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_REFLOW_CONFIG, F_REFLOW_PROVIDERS, F_SCROLL_PAN_CONTROL_SCHEME, 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, GlobalScopeFilter, GridSnapper, GroupScopeFilter, HandleConnectionWorkerMessage, HandleConnectionWorkerMessageRequest, IMouseEvent, INSTANCES, IPointerEvent, IPointerUpEvent, ITouchDownEvent, ITouchMoveEvent, InitializeDragSequence, InitializeDragSequenceRequest, InputCanvasPosition, InputCanvasPositionRequest, InputCanvasScale, InputCanvasScaleRequest, InvalidateFCacheNode, InvalidateFCacheNodeRequest, IsArrayHasParentNode, IsArrayHasParentNodeRequest, IsConnectionRedrawCurrent, IsConnectionRedrawCurrentRequest, 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, MarkConnectionConnectorsAsConnected, MarkConnectionConnectorsAsConnectedRequest, MinimapCalculateViewRect, MinimapCalculateViewRectRequest, MinimapCalculateViewport, MinimapCalculateViewportRequest, MinimapDrawNodes, MinimapDrawNodesRequest, MinimapNodeRects, MoveFrontElementsBeforeTargetElement, MoveFrontElementsBeforeTargetElementRequest, NODE_PROVIDERS, NODE_RESIZE_PROVIDERS, NODE_ROTATE_PROVIDERS, NotifyFullRendered, NotifyFullRenderedRequest, NotifyNodesRendered, NotifyNodesRenderedRequest, NotifyTransformChanged, NotifyTransformChangedRequest, OnPointerMove, OnPointerMoveRequest, PINCH_TO_ZOOM_PROVIDERS, PinchToZoomFinalize, PinchToZoomFinalizeRequest, PinchToZoomHandler, PinchToZoomPreparation, PinchToZoomPreparationRequest, Polyline, PolylineContentAlign, PolylineContentPlace, PolylineSampler, PrepareDragSequence, PrepareDragSequenceRequest, PreventDefaultIsExternalItem, PreventDefaultIsExternalItemRequest, QueueConnectionRedraw, QueueConnectionRedrawRequest, QueueConnectionRedrawState, 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, RenderConnection, RenderConnectionFromGeometry, RenderConnectionFromGeometryRequest, RenderConnectionRequest, RenderConnectionWithLine, RenderConnectionWithLineRequest, RenderLifecycleState, ResetConnectionWorkerRuntime, ResetConnectionWorkerRuntimeRequest, ResetRenderLifecycle, ResetRenderLifecycleRequest, ResetScale, ResetScaleAndCenter, ResetScaleAndCenterRequest, ResetScaleRequest, ResetZoom, ResetZoomRequest, ResizeNodeConnectionBothSidesHandler, ResizeNodeConnectionHandlerBase, ResizeNodeConnectionSourceHandler, ResizeNodeConnectionTargetHandler, ResizeNodeFinalize, ResizeNodeFinalizeRequest, ResizeNodeHandler, ResizeNodePreparation, ResizeNodePreparationRequest, ResolveConnectableOutputForOutlet, ResolveConnectableOutputForOutletRequest, ResolveConnectionEndpointRect, ResolveConnectionEndpointRectRequest, ResolveConnectionEndpointRotationContext, ResolveConnectionEndpointRotationContextRequest, ResolveConnectionEndpoints, ResolveConnectionEndpointsRequest, ResolveConnectionGeometry, ResolveConnectionGeometryRequest, RotateNodeFinalize, RotateNodeFinalizeRequest, RotateNodeHandler, RotateNodePreparation, RotateNodePreparationRequest, RunAutoPanFrame, RunAutoPanFrameRequest, RunConnectionRedrawSlice, RunConnectionRedrawSliceRequest, RunConnectionWorker, RunConnectionWorkerBatch, RunConnectionWorkerBatchRequest, RunConnectionWorkerRequest, RunDevDiagnostics, RunDevDiagnosticsRequest, ScheduleAutoPanFrame, ScheduleAutoPanFrameRequest, ScrollCanvas, ScrollCanvasRequest, 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, StartConnectionRedraw, StartConnectionRedrawRequest, StartConnectionWorkerRedraw, StartConnectionWorkerRedrawRequest, StopAutoPan, StopAutoPanRequest, StopCollisionResolver, UnmarkConnectableConnectors, UnmarkConnectableConnectorsRequest, UnregisterFCacheConnector, UnregisterFCacheConnectorRequest, UnregisterFCacheNode, UnregisterFCacheNodeRequest, UpdateFCacheRectByElement, UpdateFCacheRectByElementRequest, UpdateItemAndChildrenLayers, UpdateItemAndChildrenLayersRequest, UpdateNodeWhenStateOrSizeChanged, UpdateNodeWhenStateOrSizeChangedRequest, UpdateScale, UpdateScaleRequest, WaitForConnectionsRendered, WaitForConnectionsRenderedRequest, XRangeSelectionStrategy, afterNextPaint, buildConnectionAnchors, buildCornerMidPointsAndApplyOffsets, calculateAutoPanAxisDelta, calculateAutoPanDelta, calculateCenterBetweenPoints, calculateCurveCandidates, calculateDifferenceAfterRotation, calculateMagneticGuides, calculateMagneticRects, calculatePointerInFlow, calculatePolylineCandidates, calculatePositionAfterRotation, castToConnectorType, coerceMarkerType, computeEdgeDeltas, createConnectionDomIdentifier, createConnectionSelectionDomIdentifier, createConnectionWorkerUrl, createGradientDomIdentifier, createGradientDomUrl, createMultiCubicPath, createSVGElement, createSegmentLinePath, cubicBezierAtT, debounceAnimationFrame, debounceMicrotask, debounceTime, defaultEventTrigger, determineSide, expandRectByOverflow, fDiagnosticMessage, fInstanceKey, fProvideCache, fSuppressDevWarnings, fWarnOnce, filterConnectableTargets, findExistingWaypoint, findNodeOrGroupContaining, findSourceConnector, findSpatialNeighbor, findTargetConnector, findWaypointCandidate, fixedCenterBehavior, fixedOutboundBehavior, floatingBehavior, getAllSourceConnectors, getAllTargetConnectors, getExternalItemHost, infinityMinMax, injectFlowState, isCalculateMode, isConnectionWorkerRuntimeSupported, isConnector, isDragBlocker, isDragExternalItemHandler, isDragHandleEnd, isDragHandleStart, isDragMinimapHandler, isDragNodeHandler, isExternalItem, isFDevMode, isMobile, isNode, isNodeOutlet, isNodeOutput, isOnFlowBackground, isOutletConnector, isPointerInsidePoint, isPointerInsideStartOrEndDragHandles, isResizeNodeHandler, isRotateHandle, isRotateNodeHandler, isSourceConnector, isTargetConnector, isValidEventTrigger, mergeA11yConfig, mergeControlSchemeConfig, mergeFCanvasConfig, mergeFlowStateConfig, mergeLayoutNodes, mergePointChains, mergeReflowConfig, middleButtonEventTrigger, mixinChangeSelection, mixinChangeVisibility, normalizeFlowLayoutData, normalizePolyline, notifyOnStart, pickWaypoint, primaryButtonEventTrigger, provideFFlow, provideFLayout, rebaseAutoPanPointerDownPosition, rectFromPoint, requireSourceConnector, requireTargetConnector, resolveAutoPanMode, resolveConnectionWorkerRuntime, resolveLayerOrder, revokeConnectionWorkerUrl, sampleCubicBezierUniform, sampleMultiCubicUniform, stringAttribute, takeOne, transitionEnd, withA11y, withConnectionFlow, withControlScheme, withFCanvas, withFlowState, withReflowOnResize, withinSnapThreshold };
9927
+ export type { AbstractConstructor, Constructor, FA11yDirection, FCacheConnectorKey, FChannelListener, FChannelOperator, FConnectionEndpoint, FConnectorKind, FConnectorType, FEventTrigger, FHasId, FInstanceKey, FMoveNodePosition, FTriggerEvent, ICacheOptions, ICalculateBehaviorRequest, ICanBeSelectedElementAndRect, ICanChangeVisibility, IClosestConnectorRef, IConnectionBuilders, IConnectionEndpointRotationContext, IConnectionEndpoints, IConnectionGeometry, IConnectionRedrawSession, IConnectionWorkerBatch, IConnectionWorkerBatchItem, IConnectionWorkerPayloadItem, IConnectionWorkerRect, IConnectionWorkerResponse, IConnectionWorkerResultItem, IConnectorRectRef, IConstraintEdges, ICreateConnectionDragResult, ICreateConnectionEventData, ICubicSegment, ICurrentSelection, IDeltaClampResult, IDestroyable, IDragExternalItemDragResult, IDragNodeDeltaConstraints, IDragNodeDeltaConstraintsResult, IDragNodeSoftConstraint, IDragSessionContext, IDragSessionFeature, IFA11yConfig, IFA11yKeys, IFA11yMessages, IFA11yNavigable, IFA11yResolvedConfig, IFBackgroundPattern, IFCacheNodeRef, IFCanvasResolvedConfig, IFConnectionBuilder, IFConnectionBuilderRequest, IFConnectionBuilderResponse, IFConnectionFlow, IFControlScheme, IFControlSchemeConfig, IFFlowConfig, IFFlowFeature, IFFlowState, IFFlowStateConfig, IFFlowStateConnection, IFFlowStateConnector, IFFlowStateNode, IFFlowStateOptions, IFFlowStateResolvedConfig, IFLayoutAlgorithmOptions, IFLayoutCalculationOptions, IFLayoutConnection, IFLayoutGraph, IFLayoutNode, IFLayoutNodePosition, IFLayoutOptions, IFLayoutProviderConfig, IFLayoutResult, IFLayoutWritebackPayload, IFReflowCollisionResolver, IFReflowDeltaCalculator, IFReflowOnResizeConfig, IFReflowOnResizeResolvedConfig, IFReflowScopeFilter, IFReflowSelectionStrategy, IFReflowSpacingConfig, IFStateConnection, IFStateData, IFStateGroup, IFStateNode, IFStateSelection, IFStateShape, IFStateTransform, IFlowLayoutNormalizationResult, IHasHostElement, IMagneticAxisGuide, IMagneticGapRect, IMagneticGuidesResult, IMagneticRectsResult, IMinimapViewport, INodeWithRect, IParentConnectionEndpointHandler, IParentConnectionHandlers, IPolylineContent, IReassignConnectionDragResult, IReassignConnectionEventData, IReassignHandler, IReflowCandidate, IReflowConnection, IReflowPlan, IReflowPlannerInput, IReflowRawShift, IReflowResolvedShift, IReflowShift, IResizeConstraint, IResizeEdgeDeltas, IResizeLimit, IResizeLimits, IResizeNodeConnectionEndpointHandler, IResizeNodeConnectionHandlers, IResizeOverflow, ISamplerResult, ISelectable, ITangent, MagneticRectsAlignMode, MagneticRectsAxis, MergeFCanvasConfig, TAutoPanMode, TCalculateMode, TConnectionWorkerPendingRequest, TFLayoutWritebackHandler, TResolveConnectionEndpointRotationContextResponse, WaypointPick };