header
Buttonmenu

ButtonMenu

El componente ButtonMenu proporciona un botón interactivo con un menú desplegable que puede personalizarse con iconos, clases CSS, y configurarse para mostrarse por defecto o estar deshabilitado. También tiene la capacidad de mostrar un indicador de carga.

Ejemplo

Importación

Para importar el componente ButtonMenu, se puede hacer desde fenextjs

import { ButtonMenu } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
loaderbooleannofalseIndica si el componente está en estado de carga, mostrando un indicador de carga (spinner) y deshabilitando su funcionalidad.
disabledbooleannofalseDesactiva el botón del menú.
defaultActivebooleannotrueDetermina si el menú está activo por defecto o no.
targetstringno'fenext-btn-menu-checkbox'ID objetivo del checkbox asociado al botón del menú.
classNamestringno''Clase CSS para personalizar el contenedor del menú.
classNameIconstringno''Clase CSS para personalizar el icono del menú.
classNameIconBarClosestringno''Clase CSS para personalizar la barra de cierre del icono.
classNameContentstringno''Clase CSS para personalizar el contenido del menú desplegable.

Funcionalidad adicional

Este componente incluye un comportamiento reactivo que ajusta la visualización del menú en función del tamaño de la ventana del navegador.

PropiedadUsoDescripción
defaultActiveDetermina si el menú se muestra activo por defecto.El menú se mostrará activado si el ancho de la ventana es mayor a 575px al cargar la página.
loaderMuestra un indicador de carga en lugar del contenido del menú.Cuando 'loader' está en 'true', el componente muestra un spinner en lugar del contenido del menú.

Storybook

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

Usos

  • Uso básico
<ButtonMenu>Contenido del menú</ButtonMenu>
  • Menú con estado de carga
<ButtonMenu loader={true} />
  • Menú deshabilitado
<ButtonMenu disabled={true} />
  • Menú con clases personalizadas
<ButtonMenu
  className="mi-menu"
  classNameIcon="mi-icono"
  classNameContent="mi-contenido"
>
  Contenido
</ButtonMenu>