@gravity-ui/graph
Version:
Modern graph editor component
84 lines (83 loc) • 2.28 kB
TypeScript
export type TGraphColors = {
canvas?: Partial<TCanvasColors>;
block?: Partial<TBlockColors>;
anchor?: Partial<TAnchorColors>;
connection?: Partial<TConnectionColors>;
connectionLabel?: Partial<TConnectionLabelColors>;
selection?: Partial<TSelectionColors>;
};
export type TSelectionColors = {
background: string;
border: string;
};
export type TConnectionLabelColors = {
background: string;
hoverBackground: string;
selectedBackground: string;
text: string;
hoverText: string;
selectedText: string;
};
export type TConnectionColors = {
background: string;
selectedBackground: string;
};
export type TAnchorColors = {
background: string;
selectedBorder: string;
};
export type TBlockColors = {
background: string;
border: string;
text: string;
selectedBorder: string;
};
export type TCanvasColors = {
belowLayerBackground: string;
layerBackground: string;
dots: string;
border: string;
};
export declare const initGraphColors: TGraphColors;
export type TGraphConstants = {
system: {
GRID_SIZE: number;
PIXEL_RATIO: number;
USABLE_RECT_GAP: number;
/** For preload blocks on the html layer (camera dimensions * (1 + this value)) */
CAMERA_VIEWPORT_TRESHOLD: number;
};
camera: {
SPEED: number;
STEP: number;
};
block: {
WIDTH_MIN: number;
HEAD_HEIGHT: number;
BODY_PADDING: number;
SCALES: [number, number, number];
DEFAULT_Z_INDEX: number;
INCRIMENT_Z_INDEX: number;
GHOST_BLOCK_OPACITY: number;
WIDTH: number;
HEIGHT: number;
SNAPPING_GRID_SIZE: number;
};
connection: {
MUTED_CANVAS_CONNECTION_WIDTH: number;
SCALES: [number, number, number];
DEFAULT_Z_INDEX: number;
THRESHOLD_LINE_HIT: number;
MIN_ZOOM_FOR_CONNECTION_ARROW_AND_LABEL: number;
/** Size of Path2D chunks for batch rendering */
PATH2D_CHUNK_SIZE: number;
LABEL: {
INNER_PADDINGS: [number, number, number, number];
};
};
text: {
BASE_FONT_SIZE: number;
PADDING: number;
};
};
export declare const initGraphConstants: TGraphConstants;