03 · Components

Navigation

Orientación y desplazamiento dentro del producto: Tabs, Accordion, Breadcrumbs, Pagination, Tree. Pensados para la densidad de backoffice pero válidos en todos los productos.

Tabs

<Tabs />

Conmutación entre vistas de un mismo contexto. Tres variantes: underline (default, para navegación de página), pill (para filtros suaves) y solid (segmented, para alternar modos de vista).

Underline (default)
Pill
Solid (segmented)
<Tabs value={tab} onChange={setTab} variant="underline">
  <Tabs.Tab value="articulos" count={128}>Artículos</Tabs.Tab>
  <Tabs.Tab value="familias" count={12}>Familias</Tabs.Tab>
</Tabs>
PropTipoDefaultDescripción
valuestring—Tab activa (controlado).
onChange(value) => void—Handler de cambio.
variant'underline' | 'pill' | 'solid''underline'Estilo visual.
Tabs.Tab
valuestring—Identificador de la tab.
countnumber—Contador opcional.
disabledbooleanfalseDesactiva la tab.

Accordion

<Accordion />

Secciones colapsables para organizar contenido extenso (configuración de artículo, FAQs, filtros agrupados). Modo single (solo una abierta) o multiple.

Modo single
Nombre, SKU, descripción y categoría del artículo. Estos datos aparecen en la ficha pública y en el catálogo exportado.
<Accordion type="single" defaultValue="general">
  <Accordion.Item value="general" title="Información general">
    {/* contenido */}
  </Accordion.Item>
</Accordion>
PropTipoDefaultDescripción
type'single' | 'multiple''single'Cuántos paneles abiertos a la vez.
defaultValuestring | string[]—Panel(es) abierto(s) al inicio.
collapsiblebooleantruePermite cerrar todos (solo single).
Accordion.Item
valuestring—Identificador del panel.
titlestring—Texto del trigger.

Pagination

<Pagination />

Navegación entre páginas de resultados. Muestra primera/última, vecinas y elipsis para rangos largos. Acompañar con el rango de resultados visible.

Numerada con info
1–24 de 312
Tamaño sm
<Pagination
  page={1}
  pageCount={13}
  onPageChange={setPage}
  siblingCount={1}
/>
PropTipoDefaultDescripción
pagenumber1Página actual.
pageCountnumber—Total de páginas.
onPageChange(page) => void—Handler de cambio.
siblingCountnumber1Vecinas a cada lado de la actual.
size'sm' | 'md''md'28 o 32 px por botón.

Tree

<Tree />

Navegación jerárquica expandible. Es la columna vertebral del backoffice de catálogos: árbol de catálogos › familias › subfamilias. Nodo activo con barra accent a la izquierda.

Árbol de catálogo
Primavera 2026 128
Camisetas 42
Pantalones 31
Chinos 12
Vaqueros 19
Accesorios 55
<Tree value={selectedId} onSelect={setSelected}>
  <Tree.Node id="primavera" label="Primavera 2026" count={128}>
    <Tree.Node id="camisetas" label="Camisetas" count={42} />
    <Tree.Node id="pantalones" label="Pantalones">…</Tree.Node>
  </Tree.Node>
</Tree>
PropTipoDefaultDescripción
valuestring—Id del nodo seleccionado.
onSelect(id) => void—Handler de selección.
defaultExpandedstring[]—Nodos abiertos al inicio.
Tree.Node
idstring—Identificador único.
labelstring—Texto del nodo.
iconReactNode—Icono a la izquierda.
countnumber—Contador a la derecha.