Vista previa#
Columnas con límite WIP. 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, KanbanBoard } from "@carlos-burelo/klin";
import "@carlos-burelo/klin/styles.css";
<ChartTooltipPortal>
<KanbanBoard
columns={/* … */}
ariaLabel="Kanban Board"
/>
</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/kanban-board.tsx)
import type { KanbanColumn } from "@carlos-burelo/klin";
import { ChartTooltipPortal, KanbanBoard } from "@carlos-burelo/klin";
const columns: KanbanColumn[] = [
{
title: "Por hacer",
cards: [
{
title: "Redactar guía de publicación",
tag: "Docs",
tagColor: "var(--chart-3)",
},
{
title: "Auditar accesibilidad del catálogo",
tag: "Calidad",
tagColor: "var(--chart-4)",
},
],
},
{
title: "En curso",
limit: 3,
cards: [
{
title: "Migrar fichas de producto al nuevo tema",
tag: "Frontend",
tagColor: "var(--chart-1)",
},
{
title: "Conciliar inventario con el almacén norte",
tag: "Operación",
tagColor: "var(--chart-2)",
},
],
},
{
title: "En revisión",
limit: 2,
cards: [
{
title: "Validar precios de mayoreo con finanzas",
tag: "Revisión",
tagColor: "var(--chart-5)",
},
],
},
{
title: "Hecho",
cards: [
{ title: "Publicar catálogo de primavera" },
{ title: "Respaldar base de clientes" },
],
},
];
export default function KanbanBoardDemo() {
return (
<ChartTooltipPortal>
<KanbanBoard
columns={columns}
ariaLabel="Tablero kanban del sprint de lanzamiento"
/>
</ChartTooltipPortal>
);
}Props#
11 props · 2 requeridas
Tipo completo: KanbanBoardProps en kanban-board.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:
kanban-board.tsx - Guías: SSR-first · Tema · Tooltip