@hydro-project/hydroscope
Version:
React-based graph visualization library for Hydro dataflow programs
52 lines • 2.03 kB
TypeScript
/**
* @fileoverview Utilities for bridges
*/
import type { VisualizationState } from '../core/VisualizationState';
/** Build parent-child relationship map for visible elements */
export declare function buildParentMap(visState: VisualizationState): Map<string, string>;
/** Sort containers by hierarchy level so parents appear before children */
export declare function sortContainersByHierarchy(containers: any[], parentMap: Map<string, string>): any[];
/** Ensure a coordinate is a finite number, else 0 */
export declare function safeNum(n: any): number;
/** Check if ELK layout has meaningful non-zero coordinates */
export declare function hasMeaningfulELKPosition(layout: any | undefined): boolean;
/** Compute relative (child) position from absolute child and parent absolute */
export declare function toRelativePosition(childAbs: {
x: any;
y: any;
}, parentAbs: {
x: any;
y: any;
}): {
x: number;
y: number;
};
/** Compute absolute/root position safely */
export declare function toAbsolutePosition(abs: {
x: any;
y: any;
}): {
x: number;
y: number;
};
/** Compute child-container position using ELK when available, else grid fallback */
export declare function computeChildContainerPosition(visState: VisualizationState, container: any, parentId: string): {
x: number;
y: number;
};
/** Compute root container absolute position safely */
export declare function computeRootContainerPosition(visState: VisualizationState, container: any): {
x: number;
y: number;
};
/** Compute node position from ELK; relative to parent if nested */
export declare function computeNodePosition(visState: VisualizationState, node: any, parentId: string | undefined): {
x: number;
y: number;
};
/** Get adjusted container dimensions, falling back to defaults when invalid */
export declare function getAdjustedContainerDimensionsSafe(visState: VisualizationState, containerId: string): {
width: number;
height: number;
};
//# sourceMappingURL=ReactFlowUtils.d.ts.map