Vista previa#
Rosa polar de proporciones. Demo completa con datos realistas, renderizada en el servidor. Más abajo están las configuraciones, una por una.
Ejemplos#
Todas las configuraciones del componente, cada una viva y con datos propios. Cambia entre Preview y Code en cada tarjeta y copia lo que necesites.
Uso#
Ejemplo mínimo con las props requeridas. Copia, pega y cambia los datos:
import { ChartTooltipPortal, NightingaleChart } from "@carlos-burelo/klin";
import "@carlos-burelo/klin/styles.css";
<ChartTooltipPortal>
<NightingaleChart
data={/* … */}
ariaLabel="Nightingale Chart"
/>
</ChartTooltipPortal>La gráfica es función pura de props a SVG: el HTML llega renderizado y sin JS se ve completa.
Envuelve en ChartTooltipPortal solo si quieres tooltip rico; sin JS queda \<title\> nativo.
Lee la guía /docs/ssr-first una vez y listo.
Código de esta demo#
Ver fuente (src/demos/nightingale-chart.tsx)
import type { NightingaleDatum } from "@carlos-burelo/klin";
import { ChartTooltipPortal, NightingaleChart } from "@carlos-burelo/klin";
const data: NightingaleDatum[] = [
{ label: "Ene", value: 8 },
{ label: "Feb", value: 10 },
{ label: "Mar", value: 18 },
{ label: "Abr", value: 45 },
{ label: "May", value: 110 },
{ label: "Jun", value: 210 },
{ label: "Jul", value: 230 },
{ label: "Ago", value: 220 },
{ label: "Sep", value: 190 },
{ label: "Oct", value: 80 },
{ label: "Nov", value: 20 },
{ label: "Dic", value: 8 },
];
export default function NightingaleChartDemo() {
return (
<ChartTooltipPortal>
<NightingaleChart
data={data}
format={(v: number) => `${v} mm`}
ariaLabel="Lluvia mensual en CDMX en milímetros: se concentra de junio a septiembre con pico en julio y estiaje en invierno"
/>
</ChartTooltipPortal>
);
}Props#
19 props · 2 requeridas
Tipo completo: NightingaleChartProps en nightingale-chart.tsx.
Accesibilidad#
- Toda gráfica exige
ariaLabeldescriptivo; el SVG usarole="img"con\<title\>. - Cada forma lleva
\<title\>nativo (tooltip sin JS) ydata-chart-tippara el portal rico. - Sin datos se renderiza estado vacío homogéneo (
ChartEmpty), nunca SVG roto. - Detalle del contrato en /docs/accesibilidad.
Recursos#
- Fuente del componente:
nightingale-chart.tsx - Guías: SSR-first · Tema · Tooltip