@hydro-project/hydroscope
Version:
React-based graph visualization library for Hydro dataflow programs
207 lines • 6.64 kB
TypeScript
/**
* @fileoverview Unified Configuration and Constants
*
* All configuration constants, styling, colors, typography, and layout settings
* for the visualizer-v4 system. This replaces the previous split between
* config.ts and constants.ts for better organization.
*/
export declare const NODE_STYLES: {
readonly DEFAULT: "default";
readonly HIGHLIGHTED: "highlighted";
readonly SELECTED: "selected";
readonly WARNING: "warning";
readonly ERROR: "error";
};
export declare const EDGE_STYLES: {
readonly DEFAULT: "default";
readonly HIGHLIGHTED: "highlighted";
readonly DASHED: "dashed";
readonly THICK: "thick";
readonly WARNING: "warning";
};
export declare const CONTAINER_STYLES: {
readonly DEFAULT: "default";
readonly HIGHLIGHTED: "highlighted";
readonly SELECTED: "selected";
readonly MINIMIZED: "minimized";
};
export declare const LAYOUT_CONSTANTS: {
readonly DEFAULT_NODE_WIDTH: 180;
readonly DEFAULT_NODE_HEIGHT: 60;
readonly DEFAULT_CONTAINER_PADDING: 20;
readonly MIN_CONTAINER_WIDTH: 200;
readonly MIN_CONTAINER_HEIGHT: 150;
readonly CHILD_CONTAINER_WIDTH: 200;
readonly CHILD_CONTAINER_HEIGHT: 120;
readonly MAX_PARENT_CONTAINER_WIDTH: 500;
readonly MAX_PARENT_CONTAINER_HEIGHT: 350;
readonly DEFAULT_PARENT_CONTAINER_WIDTH: 250;
readonly DEFAULT_PARENT_CONTAINER_HEIGHT: 150;
readonly FALLBACK_CONTAINER_WIDTH: 200;
readonly FALLBACK_CONTAINER_HEIGHT: 120;
readonly FALLBACK_CONTAINER_MAX_WIDTH: 250;
readonly FALLBACK_CONTAINER_MAX_HEIGHT: 150;
readonly NODE_GRID_PADDING: 8;
readonly NODE_CONTAINER_TITLE_HEIGHT: 30;
readonly NODE_GRID_WIDTH: 100;
readonly NODE_GRID_HEIGHT: 40;
readonly NODE_GRID_COLUMNS: 2;
readonly CONTAINER_GRID_PADDING: 10;
readonly CONTAINER_TITLE_HEIGHT: 30;
readonly CONTAINER_GRID_COLUMNS: 2;
readonly CONTAINER_LABEL_HEIGHT: 32;
readonly CONTAINER_LABEL_PADDING: 12;
readonly CONTAINER_LABEL_FONT_SIZE: 12;
readonly MAX_HYPEREDGE_WARNINGS: 10;
readonly LARGE_CONTAINER_WIDTH_THRESHOLD: number;
readonly LARGE_CONTAINER_HEIGHT_THRESHOLD: number;
};
export declare const HYPEREDGE_CONSTANTS: {
readonly PREFIX: "hyper_";
readonly SEPARATOR: "_to_";
};
export type NodeStyle = typeof NODE_STYLES[keyof typeof NODE_STYLES];
export type EdgeStyle = typeof EDGE_STYLES[keyof typeof EDGE_STYLES];
export type ContainerStyle = typeof CONTAINER_STYLES[keyof typeof CONTAINER_STYLES];
export declare const COMPONENT_COLORS: {
BACKGROUND_PRIMARY: string;
BACKGROUND_SECONDARY: string;
PANEL_BACKGROUND: string;
PANEL_HEADER_BACKGROUND: string;
BORDER_LIGHT: string;
BORDER_MEDIUM: string;
TEXT_PRIMARY: string;
TEXT_SECONDARY: string;
TEXT_TERTIARY: string;
TEXT_DISABLED: string;
BUTTON_HOVER_BACKGROUND: string;
};
export declare const COLOR_PALETTES: {
Set2: {
primary: string;
secondary: string;
name: string;
}[];
Set3: {
primary: string;
secondary: string;
name: string;
}[];
Pastel1: {
primary: string;
secondary: string;
name: string;
}[];
Dark2: {
primary: string;
secondary: string;
name: string;
}[];
};
export declare const SIZES: {
SMALL: string;
MEDIUM: string;
LARGE: string;
BORDER_RADIUS_DEFAULT: string;
COLLAPSED_CONTAINER_WIDTH: number;
COLLAPSED_CONTAINER_HEIGHT: number;
};
export declare const TYPOGRAPHY: {
INFOPANEL_BASE: string;
INFOPANEL_TITLE: string;
INFOPANEL_HIERARCHY_NODE: string;
INFOPANEL_HIERARCHY_DETAILS: string;
INFOPANEL_LEGEND: string;
UI_SMALL: string;
UI_MEDIUM: string;
UI_LARGE: string;
UI_HEADING: string;
PAGE_TITLE: string;
PAGE_SUBTITLE: string;
BUTTON_SMALL: string;
BUTTON_MEDIUM: string;
};
export declare const SHADOWS: {
LIGHT: string;
MEDIUM: string;
LARGE: string;
PANEL_DEFAULT: string;
PANEL_DRAGGING: string;
};
export declare const ELK_ALGORITHMS: {
MRTREE: string;
LAYERED: string;
FORCE: string;
STRESS: string;
RADIAL: string;
};
export declare const LAYOUT_SPACING: {
NODE_NODE: number;
NODE_EDGE: number;
EDGE_EDGE: number;
NODE_TO_NODE_NORMAL: number;
EDGE_TO_EDGE: number;
EDGE_TO_NODE: number;
COMPONENT_TO_COMPONENT: number;
ROOT_PADDING: number;
CONTAINER_PADDING: number;
};
export declare const ELK_LAYOUT_OPTIONS: {
'elk.algorithm': string;
'elk.direction': string;
'elk.spacing.nodeNode': string;
'elk.spacing.edgeNode': string;
'elk.spacing.edgeEdge': string;
'elk.spacing.componentComponent': string;
'elk.layered.spacing.nodeNodeBetweenLayers': string;
'elk.nodeSize.options': string;
};
export type ELKAlgorithm = typeof ELK_ALGORITHMS[keyof typeof ELK_ALGORITHMS];
export declare function getELKLayoutOptions(algorithm?: string): {
'elk.algorithm': string;
'elk.hierarchyHandling': string;
'elk.json.shapeCoords': string;
'elk.json.edgeCoords': string;
'elk.direction': string;
'elk.spacing.nodeNode': string;
'elk.spacing.edgeNode': string;
'elk.spacing.edgeEdge': string;
'elk.spacing.componentComponent': string;
'elk.layered.spacing.nodeNodeBetweenLayers': string;
'elk.nodeSize.options': string;
};
export declare function createFixedPositionOptions(x?: number, y?: number): {
'elk.position': string;
'elk.algorithm': string;
'elk.direction': string;
'elk.spacing.nodeNode': string;
'elk.spacing.edgeNode': string;
'elk.spacing.edgeEdge': string;
'elk.spacing.componentComponent': string;
'elk.layered.spacing.nodeNodeBetweenLayers': string;
'elk.nodeSize.options': string;
} | {
'elk.position.x': string;
'elk.position.y': string;
'elk.position': string;
'elk.algorithm': string;
'elk.direction': string;
'elk.spacing.nodeNode': string;
'elk.spacing.edgeNode': string;
'elk.spacing.edgeEdge': string;
'elk.spacing.componentComponent': string;
'elk.layered.spacing.nodeNodeBetweenLayers': string;
'elk.nodeSize.options': string;
};
export declare function createFreePositionOptions(): {
'elk.position': string;
'elk.algorithm': string;
'elk.direction': string;
'elk.spacing.nodeNode': string;
'elk.spacing.edgeNode': string;
'elk.spacing.edgeEdge': string;
'elk.spacing.componentComponent': string;
'elk.layered.spacing.nodeNodeBetweenLayers': string;
'elk.nodeSize.options': string;
};
//# sourceMappingURL=config.d.ts.map