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ámetro | Tipo | Requerido | Default | Descripcion |
|---|---|---|---|---|
| loader | boolean | no | false | Indica si el componente está en estado de carga, mostrando un indicador de carga (spinner) y deshabilitando su funcionalidad. |
| disabled | boolean | no | false | Desactiva el botón del menú. |
| defaultActive | boolean | no | true | Determina si el menú está activo por defecto o no. |
| target | string | no | 'fenext-btn-menu-checkbox' | ID objetivo del checkbox asociado al botón del menú. |
| className | string | no | '' | Clase CSS para personalizar el contenedor del menú. |
| classNameIcon | string | no | '' | Clase CSS para personalizar el icono del menú. |
| classNameIconBarClose | string | no | '' | Clase CSS para personalizar la barra de cierre del icono. |
| classNameContent | string | no | '' | 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.
| Propiedad | Uso | Descripción |
|---|---|---|
| defaultActive | Determina 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. |
| loader | Muestra 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>