collapse
Simple

Collapse

El componente Collapse permite mostrar u ocultar contenido dentro de un contenedor colapsable con opciones de personalización como control de estado activo, íconos, y estados de carga.

Ejemplo

Importación

Para importar el componente Collapse, se puede hacer desde fenextjs

import { Collapse } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
loaderbooleannofalseIndica si el componente está en estado de carga, mostrando un ícono de cargando.
disabledbooleannofalseDetermina si el componente está deshabilitado, evitando que el usuario lo pueda interactuar.
defaultActivebooleannofalseDetermina si el Collapse estará activado de manera predeterminada.
activebooleannoundefinedEstado activo controlado externamente.
idstringnoID único del componente.
namestringno''Nombre del componente.
status'none' | 'error' | 'ok'no'none'Estado del Collapse, puede ser 'none', 'error' o 'ok'.
type'radio' | 'checkbox'no'checkbox'Define el tipo de interacción del componente, ya sea tipo 'radio' o 'checkbox'.
show'checked' | 'focus'no'checked'Controla cómo se muestra el contenido del Collapse, ya sea cuando está 'checked' o 'focus'.
headerReactNodeEl contenido del encabezado del Collapse.
onChange(value: boolean) => voidnoFunción que se ejecuta cuando el estado activo del Collapse cambia.
iconArrowReactNodeno<Arrow />Ícono que se mostrará como la flecha de colapso.
rotateIconbooleannotrueIndica si el ícono debe rotar al expandirse el Collapse.
useActiveForShowChildrenbooleannofalseSi está habilitado, el contenido solo se cargara cuando el Collapse esté activo.
childrenReactNodenoEl contenido dentro del cuerpo del Collapse.
classNamestringno''Clase CSS personalizada para el componente Collapse.
classNameHeaderstringno''Clase CSS personalizada para el encabezado del Collapse.
classNameHeaderContentstringno''Clase CSS personalizada para el contenido del encabezado del Collapse.
classNameHeaderIconstringno''Clase CSS personalizada para el ícono del encabezado del Collapse.
classNameBodystringno''Clase CSS personalizada para el cuerpo del Collapse.

Storybook

Para ver el storybook del componente lo puede hacer con este link (opens in a new tab)

Usos

  • Collapse básico
<Collapse header={<h3>Encabezado</h3>}>Contenido del collapse</Collapse>
  • Collapse con estado de carga
<Collapse header={<h3>Encabezado</h3>} loader={true}>
  Cargando...
</Collapse>
  • Collapse controlado externamente
const [active, setActive] = useState(false);
<Collapse
  header={<h3>Encabezado</h3>}
  active={active}
  onChange={(value) => setActive(value)}
>
  Contenido controlado
</Collapse>;