CalendarHeatmap

Calendario de intensidad estilo GitHub en SVG puro. Agrupa los datos cronológicos automáticamente en 53 semanas y 7 filas correspondientes a los días de la semana, asignando opacidades según la carga de actividad.

JunAgoSepOctNovDicEneFebMarAbrMayJunLunMiéVie
Menos
Más

Instalación#

bash
pnpm add @tsukira/ui

Uso#

tsx
import { CalendarHeatmap } from "@tsukira/ui"; const data = [  { date: "2026-01-01", value: 3 },  { date: "2026-01-02", value: 8 },  { date: "2026-01-03", value: 0 },]; <CalendarHeatmap  data={data}  tone="success"/>

Ejemplos#

Playground

Prueba distintos tonos semánticos
JunAgoSepOctNovDicEneFebMarAbrMayJunLunMiéVie
Menos
Más

tono de intensidad

Opciones

Uso en Muro de Actividad de Usuario (Color Marea)

Combina con tonos brand del template para visualizaciones integradas
JunAgoSepOctNovDicEneFebMarAbrMayJunLunMiéVie
Menos
Más

API#

CalendarHeatmapPropsextends Omit<HTMLAttributes<HTMLDivElement>, 'data'>
PropTipoDefaultDescripción
data*{ date: string; value: number }[]Dataset con formato [{ date: 'YYYY-MM-DD', value: number }]
startDateDate | stringFecha inicial (por defecto hace 1 año)
endDateDate | stringFecha final (por defecto hoy)
toneChartToneTono de color para representar la intensidad
valueFormatter(value: number) => stringFormateador para los valores en tooltip
showLegendbooleanMostrar leyenda (Menos -> Más)