Vista previa#
Espina causa-efecto. 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, FishboneDiagram } from "@carlos-burelo/klin";
import "@carlos-burelo/klin/styles.css";
<ChartTooltipPortal>
<FishboneDiagram
effect={/* … */}
causes={/* … */}
ariaLabel="Fishbone Diagram"
/>
</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/fishbone-diagram.tsx)
import { ChartTooltipPortal, FishboneDiagram } from "@carlos-burelo/klin";
export default function FishboneDiagramDemo() {
return (
<ChartTooltipPortal>
<FishboneDiagram
ariaLabel="Causas de la caída de ventas en la tienda del Centro, personal y procesos concentran las subcausas principales"
effect="Caída de ventas en tienda Centro"
causes={[
{
label: "Personal",
subcauses: [
"Rotación alta",
"Falta de capacitación",
"Turnos sin cubrir",
],
},
{
label: "Procesos",
subcauses: [
"Cobro lento",
"Devoluciones tardadas",
"Inventario desactualizado",
],
},
{
label: "Proveedores",
subcauses: ["Entregas incompletas", "Precios al alza"],
},
{
label: "Entorno",
subcauses: [
"Obra en la calle",
"Competencia nueva",
"Menos foot traffic",
],
},
{
label: "Equipo",
subcauses: ["Terminales viejas", "Aire acondicionado fallando"],
},
{
label: "Marketing",
subcauses: ["Sin promo local", "Redes desactualizadas"],
},
]}
/>
</ChartTooltipPortal>
);
}Props#
16 props · 3 requeridas
Tipo completo: FishboneDiagramProps en fishbone-diagram.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:
fishbone-diagram.tsx - Guías: SSR-first · Tema · Tooltip