Treemap
A squarified treemap with 2px gaps, each cell a grey step by its value.
$149 once · every Pro piece
Point at a cell and it lifts while the readout rolls to its value and share; click a group to zoom in and every cell springs to its new rectangle while the rest fly out with the camera. The breadcrumb zooms back out. Options on the viz-kit: a group legend (hover isolates a group, click hides it and the others re-flow on springs, hold locks), a texture per group shared with the legend, round corners, a tooltip panel, an opt-in accent hover, keyboard reading and zoom, and loading and empty states.
Install
npx shadcn@latest add @obsyde/treemapNeeds your licence key · Get Pro
Usage
Import it from where the CLI puts it, or copy the files below by hand.
import { Treemap } from '@/components/obsyde/ember/treemap/Treemap';
export function Example() {
return (
<Treemap />
);
}
Files
What you get with Pro: plain React, TypeScript and CSS, with no dependencies.
ember/treemap/Treemap.tsxcomponentember/treemap/treemap.cssstylesember/treemap/TreemapDemo.tsxdemoember/viz-kit/viz-kit.csssharedember/viz-kit/Tooltip.tsxsharedember/viz-kit/focus.tssharedember/viz-kit/patterns.tsxsharedember/viz-kit/roll.tssharedember/shared/rolling-number.csssharedember/shared/spring.tssharedember/shared/accent.tssharedember/viz-kit/scale.tssharedember/viz-kit/motion.tssharedember/viz-kit/chart.tsxsharedember/shared/ember.csssharedember/viz-kit/touch.tssharedember/viz-kit/keyboard.tssharedember/viz-kit/size.tssharedember/viz-kit/Legend.tsxsharedember/viz-kit/demo.tsxsharedember/viz-kit/demo.cssshared
API
| Prop | Type | Default |
|---|---|---|
accentAccent | 'ember' | 'volt' | 'arc' | 'ember' |
groupedGrouped | boolean | true |
countGroups / cells | number | 6 |
zoomStart zoomed into | 'none' | 'Alpha' | 'Beta' | 'Gamma' | 'Delta' | 'Epsilon' | 'Zeta' | 'none' |
fillFill | 'steps' | 'pattern' | 'steps' |
cornersCorners | 'tight' | 'round' | 'tight' |
legendLegend | 'row' | 'none' | 'row' |
hoverHover | 'soft' | 'hot' | 'soft' |
tooltipTooltip | 'none' | 'panel' | 'none' |
statusStatus | 'ready' | 'loading' | 'empty' | 'ready' |
heightHeight | number | 320 |
seedSeed | number | 4 |