Saltar al contenido
El Muestrario

componente · @solu30/ui-kit/navigation

Tabs

Pestañas a partir de una lista de ítems, en tres variantes visuales y con indicador animado.

52 sitios de import en 7 de 15 verticales — un archivo que la importa cuenta una vez, monte una instancia o veinte.

  • TheCharterPanel
  • carlosmartinpavon
  • cmp-packages
  • dietaly
  • gestorsalon
  • luigi
  • raquetea

El componente, montado

Cargando el espécimen…

Éste es el conjunto completo. Abajo, los mismos casos por separado, cada uno con su código.

Cómo se usa

import { Tabs } from '@solu30/ui-kit/navigation'
<Tabs
  items={[
    { key: "reservas", label: "Reservas" },
    { key: "salones", label: "Salones" },
  ]}
  active={solapa}
  onChange={setSolapa}
/>

Props

7 props declaradas en los tipos de la versión instalada.
PropRequeridaTipoQué hace
itemssíTabItem$1[]—
activesístring—
onChangesí(key: string) => void—
sizeopcional"sm" | "md"—
variantopcional"underline" | "pills" | "elevated"—
divideropcionalbooleanFull-width baseline under the tab list (underline variant only). `false` removes the track — the animated per-tab indicator stays. Default `true` (unchanged look for existing consumers).
classNameopcionalstring—

Variantes

Cuando alcanza con un array de ítems y un estado activo — la forma más directa de armar pestañas, sin componer el árbol a mano.

Cargando el espécimen…

Composición

Cuando cada contenido de pestaña necesita más control sobre su propio render — la API estilo Radix, un segundo sistema de tabs del kit con vocabulario distinto al del componente plano.

Cargando el espécimen…

Ejemplo del paquete

// La versión por DATOS, sin composición: una lista y el activo controlado desde afuera.
const [activo, setActivo] = useState('datos')

<Tabs
  items={[{ key: 'datos', label: 'Datos' }, { key: 'pagos', label: 'Pagos', count: 3 }]}
  active={activo}
  onChange={setActivo}
/>

Del @example del JSDoc de @solu30/ui-kit, sin editar: son 65 de los 541 símbolos. La sangría y los renglones en blanco son los del paquete.