Vista previa#
Vista anidada con details. 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 { TreeView } from "@carlos-burelo/klin";
import "@carlos-burelo/klin/styles.css";
<TreeView
items={/* … */}
ariaLabel="Tree View"
/>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/tree-view.tsx)
import type { TreeItem } from "@carlos-burelo/klin";
import { TreeView } from "@carlos-burelo/klin";
const items: TreeItem[] = [
{
label: "Registro civil",
detail: "Oficialía 01",
badge: 3,
children: [
{ label: "Acta de nacimiento", detail: "Copia certificada", badge: 45 },
{ label: "Acta de matrimonio", detail: "Registro y copias", badge: 18 },
{ label: "CURP", detail: "Trámite gratuito", badge: 120 },
],
},
{
label: "Catastro",
detail: "Dirección de ingresos",
badge: 2,
children: [
{ label: "Predial", detail: "Pago anual y parcialidades", badge: 340 },
{
label: "Traslado de dominio",
detail: "Requiere avalúo vigente",
badge: 27,
},
],
},
{
label: "Obras públicas",
detail: "Ventanilla técnica",
badge: 2,
children: [
{ label: "Licencia de construcción", detail: "Obra menor y mayor" },
{ label: "Permiso de banqueta", detail: "Reparación y rampas" },
],
},
];
export default function TreeViewDemo() {
return (
<TreeView
items={items}
ariaLabel="Catálogo de trámites municipales por dependencia"
/>
);
}Props#
8 props · 2 requeridas
Tipo completo: TreeViewProps en tree-view.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:
tree-view.tsx - Guías: SSR-first · Tema · Tooltip