Pestañas
Paneles alternables para contenido mutuamente excluyente como gestores de paquetes o lenguajes. Los títulos coincidentes se sincronizan en toda la página.
Cuando tu página ofrece alternativas paralelas (gestores de paquetes, lenguajes de programación, instrucciones específicas de SO), Tabs permite a los lectores elegir una vez y mantener el contexto. Los títulos de pestañas coincidentes se sincronizan automáticamente en toda la página, de modo que seleccionar "yarn" en un grupo cambia todos los demás grupos npm/yarn/pnpm para que coincidan.
Usa Tabs cuando:
- Existen múltiples implementaciones del mismo concepto (npm/yarn/pnpm, JavaScript/Python)
- Las opciones paralelas son mutuamente excluyentes (los usuarios eligen una, no ambas)
- La consistencia importa - la elección del lector debe persistir en toda la página
Uso
<Tabs>
<Tab title="npm">npm install jamdesk</Tab>
<Tab title="pnpm">pnpm add jamdesk</Tab>
</Tabs>
Pestañas básicas
Contenido de la primera pestaña.
<Tabs>
<Tab title="First Tab">
Content for the first tab.
</Tab>
<Tab title="Second Tab">
Content for the second tab.
</Tab>
<Tab title="Third Tab">
Content for the third tab.
</Tab>
</Tabs>
Tabs frente a CodeGroup y Accordion
| Componente | Ideal para | Sincroniza |
|---|---|---|
| Tabs | Opciones de contenido mutuamente excluyentes | Sí (en toda la página) |
| CodeGroup | Bloques de código en varios lenguajes | No |
| Accordion | Secciones colapsables, FAQs | No |
Regla general: Usa Tabs cuando la elección del lector (como el gestor de paquetes preferido) deba persistir en toda la página. Usa CodeGroup para comparaciones solo de código. Usa Accordion para contenido que puede ser relevante en su totalidad.
Pestañas con iconos
Agrega iconos a los títulos de pestañas usando iconos de Font Awesome:
function App() {
return <h1>Hello React</h1>;
}<Tabs>
<Tab title="React" icon="react" iconType="brands">
```jsx
function App() {
return <h1>Hello React</h1>;
}
```
</Tab>
<Tab title="Vue" icon="vuejs" iconType="brands">
```vue
<template>
<h1>Hello Vue</h1>
</template>
```
</Tab>
</Tabs>
Borde inferior
Usa la prop borderBottom para agregar un separador visual debajo del contenido de la pestaña:
Este grupo de pestañas tiene un borde inferior para separación visual.
<Tabs borderBottom>
<Tab title="Overview">
This tab group has a bottom border for visual separation.
</Tab>
<Tab title="Details">
Useful when tabs contain varying content lengths.
</Tab>
</Tabs>
Pestañas sincronizadas
Las pestañas con títulos coincidentes se sincronizan en toda la página automáticamente. Haz clic en "yarn" en un grupo y todas las pestañas npm/yarn/pnpm de la página cambian juntas:
Instalar:
npm install my-packageEjecutar:
npm run devLa sincronización ocurre cuando los títulos de las pestañas coinciden (sin distinguir mayúsculas y minúsculas).
Props
Tabs
booleandefault: falseAgrega un borde inferior y relleno al contenedor de contenido de la pestaña. Útil para separar visualmente el contenido con pestañas del resto de la página.
Tab
stringrequiredLa etiqueta mostrada en la barra de pestañas. Las pestañas con títulos coincidentes sincronizan automáticamente su selección en toda la página.
stringNombre del icono de Font Awesome para mostrar antes del título (p. ej., "react", "code", "terminal").
stringdefault: solidEstilo de icono de Font Awesome. Opciones: regular, solid, light, thin, sharp-solid, duotone, brands.
