@hydro-project/hydroscope
Version:
React-based graph visualization library for Hydro dataflow programs
92 lines • 2.76 kB
TypeScript
/**
* @fileoverview Hydroscope public API - Three-Tier Architecture
*
* TIER 1: Hydroscope (Basic)
* - Minimal, read-only graph rendering
* - Just pass data, get visualization
*
* TIER 2: HydroscopeMini (Interactive)
* - Built-in container collapse/expand on click
* - Pack/Unpack all controls
* - Zero configuration required
*
* TIER 3: HydroscopeFull (Complete)
* - Full /vis experience with all UI panels
* - File upload, layout controls, style tuning
* - Complete graph exploration environment
*
* DIY TOOLKIT: Individual components for custom layouts
*/
export { Hydroscope } from './components/Hydroscope';
export type { HydroscopeProps, HydroscopeRef } from './components/Hydroscope';
export { HydroscopeMini } from './components/HydroscopeMini';
export type { HydroscopeMiniProps } from './components/HydroscopeMini';
export { HydroscopeFull } from './components/HydroscopeFull';
export type { HydroscopeFullProps } from './components/HydroscopeFull';
export * from './components';
export { FileDropZone } from './components/FileDropZone';
export { FlowGraph } from './render/FlowGraph';
export type { VisualizationState } from './core/VisualizationState';
export type { RenderConfig, LayoutConfig, FlowGraphEventHandlers } from './core/types';
export { parseGraphJSON, createRenderConfig } from './core/JSONParser';
export { generateCompleteExample, SCHEMA_VERSION, LAST_UPDATED } from './docs/generateJSONSchema';
export { VisualizationEngine, createVisualizationEngine } from './core/VisualizationEngine';
export declare const VERSION: "1.0.0-alpha.1";
/**
* TIER 1 - Basic Usage:
*
* import { Hydroscope } from 'hydroscope';
*
* <Hydroscope data={graphJSON} />
*
*
* TIER 2 - Interactive Usage:
*
* import { HydroscopeMini } from 'hydroscope';
*
* <HydroscopeMini
* data={graphJSON}
* showControls={true}
* enableCollapse={true}
* />
*
*
* TIER 3 - Full-Featured Usage:
*
* import { HydroscopeFull } from 'hydroscope';
*
* <HydroscopeFull
* data={graphJSON}
* showFileUpload={true}
* showSidebar={true}
* onFileUpload={(data, filename) => console.log('Uploaded:', filename)}
* />
*
*
* DIY TOOLKIT - Custom Layout:
*
* import {
* Hydroscope,
* LayoutControls,
* StyleTunerPanel,
* InfoPanel,
* createContainerClickHandler
* } from 'hydroscope';
*
* function CustomVisualizer() {
* return (
* <div style={{ display: 'flex' }}>
* <Hydroscope
* data={data}
* eventHandlers={{ onNodeClick: createContainerClickHandler(...) }}
* />
* <div>
* <LayoutControls ... />
* <StyleTunerPanel ... />
* <InfoPanel ... />
* </div>
* </div>
* );
* }
*/
//# sourceMappingURL=index.d.ts.map