DS
Published-package documentation wired to the real DS runtime so the same routes reveal how tenant and engine reshape identical component contracts.
Rottay / modernPublished package
Premium Docs

Design System Showroom

Primary
#FFFFFF
Rottay
Radius
14px
Surface shape
DensitynormalPlatform Flagship
NavigatorLibrary map
8 sections212 routes
Foundations first, then primitives, patterns, structures, and surfaces. Keep this rail legible enough to scan without hunting.
Foundations4 documented routes
4
Tokens
Themes
109
93
24
36
3
1
2
Runtime fingerprintToken readout from the active provider chain.
Live DS
Runtime
PlatformRottay
Rottay / ModernPlatform Flagship
Primary
#FFFFFFSecondary #A0A0A5
Radius
Compact runtime evidence across 3+ token signals.
Published DS package · Pattern Library · Rottay / modernShared route metadata for the active runtime, kept inline so the shell reads like a thin header band.
Palette
#FFFFFFRottay
Chrome
Modernrenderer posture
Radius
14pxsurface shape
Density
normalPlatform Flagship
Patterns/Charts/SankeyChart
FlowRuntime-driven docs

SankeyChart

Flow diagram showing weighted relationships between nodes
Ordered transitions or stage weights where movement matters more than isolated points.
How to read this page
Use the sidebar showroom controls to change engine and tenant, then judge whether the chart still reads clearly without extra editorial staging around it.
TierChartA specialized visualization pattern.
Live preview

Validate the chart in the active showroom runtime

Sidebar engine and tenant drive thisFlow
This preview should stand on the chart itself: legibility, token use, spacing, and interaction rhythm all need to hold without extra local storytelling chrome.
Loading chart preview...The interactive chart canvas mounts client-side so the docs page stays stable while the preview runtime boots.
ImportPublished package entrypoint, ready to copy.
tsx
1 line
Consumption
Runtime-aware snippet
import { SankeyChart } from '@rottay/design-system';
UsagePaste-ready example that shows the base contract first.
tsx
13 lines
Consumption
Runtime-aware snippet
API surface

Props

25 rows
SankeyChart propsProp contracts stay readable across dark-first and light-first tenants.
25 props2 required23 optional
Fast readStart with required props, then scan defaults before dropping to per-row details.
Contract postureThis reference stays intentionally concise so the primitive contract remains scannable.
nodes
Required
Required
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Optional
Related charts

Continue within Flow

Browse all
FunnelChartFlow
Stage-based funnel for conversion pipelines
WaterfallChartFlow
Running total chart with increase, decrease, and total bars
Engines
Icons
Primitives93 documented routes
Display
Inputs
Feedback
Layout
Navigation
Overlay
PatternsCurrent section
49
Data
Forms
Visualization
Calendar View
Structures24 documented routes
Headers
Workspace
Shell
Record
Dashboard
Feedback
Surfaces36 documented routes
Admin
Data
Experience
Forms
Operations
Workspace
Verticals3 documented routes
Platform
Bit Hire
Evnto
Playground1 documented routes
Playground
Developers2 documented routes
Developers
14pxxl 18px
Density
normalBorder-light cards
Accent
Badge
roundedtop bar · solid dividers
PatternsVisualizationChartsSankey

Sankey

Active profilePlatform Flagship
Runtime postureRottay / modern
D3-backed chart recipes with token-aware styling.
Runtime controls
TenantRottay
EngineModern
FamilyFlowStart with step continuity.
Best forexplaining stagesCompare against basic charts.

Choose this when

3 items
explaining stages
showing deltas
mapping transitions

Review checklist

3 items
step continuity
loss visibility
cumulative reasoning

Compare against

2 items
basic charts
temporal charts
ImportTSX
Quick copy
UsageTSX
Quick copy
<SankeyChart nodes={[ { id: 'applied', label: 'Applied' }, { id: 'screening', label: 'Screening' }, { id: 'hired', label: 'Hired' }, ]} links={[ { source: 'applied', target: 'screening', value: 500 }, { source: 'screening', target: 'hired', value: 300 }, ]} height={350} animate />
Name
Type
Default
Required
Description
SankeyNode[]
none
Source and target entities.
links
SankeyLink[]
none
Weighted directed connections.
nodeWidth
number
20
Node width in pixels.
nodePadding
number
16
Vertical gap between nodes.
linkOpacity
number
0.4
Base link opacity.
linkHoverOpacity
number
0.7
Hovered-link opacity.
align
"left" | "right" | "center" | "justify"
"justify"
Node-column alignment.
showLinkValues
boolean
false
Displays values on links.
showNodeLabels
boolean
true
Displays node labels.
formatValue
(value: number) => string
none
Formats link values.
onNodeClick
(node: SankeyNode) => void
none
Runs when a node is clicked.
onLinkClick
(link: SankeyLink) => void
none
Runs when a link is clicked.
legend
boolean
none
Displays the family legend.
colors
string[]
none
Explicit palette; otherwise inherits the active tenant chart personality.
margin
ChartMargin
none
Insets around the SVG drawing area.
width
number | string
none
Chart container width; falls back to the family default.
height
number
none
Chart height; falls back to the family default.
className
string
none
Additional class name applied to the chart wrapper.
style
CSSProperties
none
Inline styles applied to the chart wrapper.
loading
boolean
false
Displays the governed loading state.
title
string
none
Accessible chart title displayed above the plot.
subtitle
string
none
Supporting text displayed below the title.
animate
boolean
none
Overrides the active tenant animation personality.
responsive
boolean
true
Measures and follows the container width.
tooltip
boolean
none
Enables the family tooltip behavior.
nodesRequired
SankeyNode[]none
Source and target entities.
linksRequired
SankeyLink[]none
Weighted directed connections.
nodeWidthOptional
number20
Node width in pixels.
nodePaddingOptional
number16
Vertical gap between nodes.
linkOpacityOptional
number0.4
Base link opacity.
linkHoverOpacityOptional
number0.7
Hovered-link opacity.
alignOptional
"left" | "right" | "center" | "justify""justify"
Node-column alignment.
showLinkValuesOptional
booleanfalse
Displays values on links.
showNodeLabelsOptional
booleantrue
Displays node labels.
formatValueOptional
(value: number) => stringnone
Formats link values.
onNodeClickOptional
(node: SankeyNode) => voidnone
Runs when a node is clicked.
onLinkClickOptional
(link: SankeyLink) => voidnone
Runs when a link is clicked.
legendOptional
booleannone
Displays the family legend.
colorsOptional
string[]none
Explicit palette; otherwise inherits the active tenant chart personality.
marginOptional
ChartMarginnone
Insets around the SVG drawing area.
widthOptional
number | stringnone
Chart container width; falls back to the family default.
heightOptional
numbernone
Chart height; falls back to the family default.
classNameOptional
stringnone
Additional class name applied to the chart wrapper.
styleOptional
CSSPropertiesnone
Inline styles applied to the chart wrapper.
loadingOptional
booleanfalse
Displays the governed loading state.
titleOptional
stringnone
Accessible chart title displayed above the plot.
subtitleOptional
stringnone
Supporting text displayed below the title.
animateOptional
booleannone
Overrides the active tenant animation personality.
responsiveOptional
booleantrue
Measures and follows the container width.
tooltipOptional
booleannone
Enables the family tooltip behavior.
Charts
18
Kanban Board
Map View
Timeline
Tree View
Communication
Feedback
Workflow
Navigation
Commerce
Customization
Identity
Shell