# Sankey flow

Flows between stages as ribbons with drifting particles; hover any node or ribbon to pour its share through the whole journey.

- ID: `sankey-flow`
- Import: `animui/sankey-flow`
- Category: Data
- Runtime exports: `SankeyFlow`
- Declaration: `types/pro/sankey-flow.d.ts`
- Type provenance: reconstructed-from-docs-and-runtime
- Related: sunburst, streamgraph, bar-chart, donut-chart

```tsx
import { SankeyFlow } from 'animui/sankey-flow';
```

This import example is not a complete render recipe: read the declaration below and its local references for required props, data, callbacks and provider context. Use `animui info sankey-flow` to resolve the local declaration graph. Global setup is in `llms.txt`.

```ts
/** Reconstructed from saved Arc documentation and runtime binding evidence; original TypeScript source was unavailable. */
import type { ComponentType, ReactNode, CSSProperties, Ref, ButtonHTMLAttributes, HTMLAttributes, ReactElement } from 'react';

export interface SankeyFlowProps {
  nodes: { id: string; label: string; column?: number }[];
  links: { source: string; target: string; value: number }[];
  label: string;
  columns?: string[];
  unit?: string;
  totalLabel?: string;
  formatValue?: (value: number) => string;
  height?: number;
  particles?: boolean;
  defaultParticles?: boolean;
  onParticlesChange?: (on: boolean) => void;
  particleToggle?: boolean;
  emptyLabel?: string;
  className?: string;
}

export declare const SankeyFlow: ComponentType<SankeyFlowProps>;

export default SankeyFlow;
```
