Vista previa#
Cadena de valor vs evolución. 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, WardleyMap } from "@carlos-burelo/klin";
import "@carlos-burelo/klin/styles.css";
<ChartTooltipPortal>
<WardleyMap
nodes={/* … */}
edges={/* … */}
ariaLabel="Wardley Map"
/>
</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/wardley-map.tsx)
import type { WardleyEdge, WardleyNode } from "@carlos-burelo/klin";
import { ChartTooltipPortal, WardleyMap } from "@carlos-burelo/klin";
const nodes: WardleyNode[] = [
{ id: "portal", label: "Portal ciudadano", x: 0.72, y: 0.92 },
{ id: "citas", label: "Motor de citas", x: 0.55, y: 0.68 },
{ id: "api", label: "API de trámites", x: 0.48, y: 0.5 },
{ id: "compute", label: "Cómputo", x: 0.82, y: 0.28 },
{ id: "datos", label: "Base de datos", x: 0.86, y: 0.14 },
];
const edges: WardleyEdge[] = [
{ from: "portal", to: "citas" },
{ from: "citas", to: "api" },
{ from: "api", to: "compute" },
{ from: "api", to: "datos" },
];
export default function WardleyMapDemo() {
return (
<ChartTooltipPortal>
<WardleyMap
nodes={nodes}
edges={edges}
ariaLabel="Mapa Wardley de la plataforma de trámites digitales"
/>
</ChartTooltipPortal>
);
}Props#
11 props · 3 requeridas
Tipo completo: WardleyMapProps en wardley-map.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:
wardley-map.tsx - Guías: SSR-first · Tema · Tooltip