Rebar UI

1.0

opinion

Heatmap

A grid of shaded cells; a missing figure looks different from a zero.

Tasks done this weekOne row per person, one column per day. Leo is off on Wednesday.
MonTueWedThuFriMaya ChenJonas WeberPriya NairLeo SantosMaya Chen x Mon: 6Maya Chen x Tue: 8Maya Chen x Wed: 7Maya Chen x Thu: 9Maya Chen x Fri: 5Jonas Weber x Mon: 9Jonas Weber x Tue: 7Jonas Weber x Wed: 11Jonas Weber x Thu: 8Jonas Weber x Fri: 6Priya Nair x Mon: 3Priya Nair x Tue: 4Priya Nair x Wed: 5Priya Nair x Thu: 2Priya Nair x Fri: 3Leo Santos x Mon: 5Leo Santos x Tue: 6Leo Santos x Wed: no dataLeo Santos x Thu: 7Leo Santos x Fri: 4
Tasks done this week
No data yet
MonTueWedMaya ChenJonas WeberMaya Chen x Mon: no dataMaya Chen x Tue: no dataMaya Chen x Wed: no dataJonas Weber x Mon: no dataJonas Weber x Tue: no dataJonas Weber x Wed: no data
Tasks done
Compact
MonTueWedThuFriMaya ChenJonas WeberMaya Chen x Mon: 6Maya Chen x Tue: 8Maya Chen x Wed: 7Maya Chen x Thu: 9Maya Chen x Fri: 5Jonas Weber x Mon: 9Jonas Weber x Tue: 7Jonas Weber x Wed: 11Jonas Weber x Thu: 8Jonas Weber x Fri: 6
Tasks done
One row
MonTueWedThuFriMaya ChenMaya Chen x Mon: 6Maya Chen x Tue: 8Maya Chen x Wed: 7Maya Chen x Thu: 9Maya Chen x Fri: 5
Maya Chen

In context

Team loadThe grid on the weekly summary
This weekTasks done, 19 to 23 Oct
Mobile release
MonTueWedThuFriMaya ChenJonas WeberPriya NairLeo SantosMaya Chen x Mon: 6Maya Chen x Tue: 8Maya Chen x Wed: 7Maya Chen x Thu: 9Maya Chen x Fri: 5Jonas Weber x Mon: 9Jonas Weber x Tue: 7Jonas Weber x Wed: 11Jonas Weber x Thu: 8Jonas Weber x Fri: 6Priya Nair x Mon: 3Priya Nair x Tue: 4Priya Nair x Wed: 5Priya Nair x Thu: 2Priya Nair x Fri: 3Leo Santos x Mon: 5Leo Santos x Tue: 6Leo Santos x Wed: no dataLeo Santos x Thu: 7Leo Santos x Fri: 4
Tasks done

Leo was off on Wednesday, so that cell has no figure rather than a zero.

Props

PropTypeRequiredDefault
dataHeatmapCell[]Yes—
rowsstring[] | undefinedNo—
colsstring[] | undefinedNo—
titlestring | undefinedNo—
ariaLabelstring | undefinedNo—
cellSizenumber | undefinedNo32
colorScale((normalizedValue: number) => string) | undefinedNo(normalizedValue: number): string => { const t = Math.max(0, Math.min(1, normalizedValue)); const percent = Math.round(8 + t * 92); // 8% (near-white) through 100% (the true max value) return "color-mix(in srgb, var(--rebar-color-primary, #0066cc) " + percent + "%, transparent)"; }
bionicboolean | undefinedNo—
bionicOptionsBionicOptions | undefinedNo—

data-rebar-* attributes

data-rebar-component="heatmap" on the root <figure>; each cell carries data-rebar-part="cell" or "cell-missing", plus data-row/data-col.

Migrating to Ant Design

Not codemod-covered — AntD ships no chart components of its own (it recommends @ant-design/charts, a separate package built on G2Plot); there's no direct 1:1 antd component mapping for a heatmap.