Tab
El componente Tab permite la creación de pestañas con contenidos asociados, personalizables en clases CSS y comportamiento.
Ejemplo
Importación
Para importar el componente Tab, se puede hacer desde fenextjs
import { Tab } from "fenextjs";
Parámetros
Parámetro | Tipo | Requerido | Default | Descripcion |
---|---|---|---|---|
className | string | no | "" | Clase CSS para el contenedor del componente. |
classNameContentHead | string | no | "" | Clase CSS para el contenedor del encabezado del contenido de las pestañas. |
classNameHead | string | no | "" | Clase CSS para el encabezado de la pestaña. |
classNameHeadItem | string | no | "" | Clase CSS para cada elemento del encabezado de la pestaña. |
classNameHeadItemActive | string | no | "" | Clase CSS para el elemento activo del encabezado de la pestaña. |
classNameBody | string | no | "" | Clase CSS para el contenedor del cuerpo de las pestañas. |
classNameBodyItem | string | no | "" | Clase CSS para cada elemento del cuerpo de la pestaña. |
items | TabItemProps[] | no | [] | Lista de objetos que representan las pestañas con encabezado y cuerpo. |
defaultTab | number | no | 0 | Índice de la pestaña a mostrar por defecto. |
activeTab | number | no | undefined | Índice de la pestaña actualmente activa. |
onChange | (item: TabItemProps) => void | no | undefined | Función a ejecutar al cambiar de pestaña. |
tabScrollActive | boolean | no | false | Determina si las pestañas deben estar en modo de desplazamiento al seleccionar. |
validataTabOneHiddenHeader | boolean | no | true | Oculta el encabezado de las pestañas si solo hay una pestaña presente. |
useCount | boolean | no | false | Permite mostrar un contador de elementos en el encabezado de la pestaña. |
Storybook
Para ver el storybook del componente lo puede hacer con este link (opens in a new tab)
Usos
- Ejemplo básico
<Tab
items={[
{ id: "tab1", head: "Tab 1", body: "Contenido 1" },
{ id: "tab2", head: "Tab 2", body: "Contenido 2" },
]}
/>
- Con clase personalizada y función de cambio
<Tab
className="custom-tab"
onChange={(item) => console.log("Pestaña seleccionada:", item)}
/>
- Con contador de elementos en el encabezado
<Tab
items={[
{
id: "tab1",
head: "Tab 1",
body: "Contenido 1",
useCount: true,
count: 3,
singular: "elemento",
plural: "elementos",
},
]}
useCount={true}
/>