Button

El componente Button es un componente versátil que representa un botón interactivo. Puede renderizarse como un elemento "button" o como un contenedor "div", y proporciona varias opciones de personalización, incluyendo tamaño, icono y estado de carga.

Ejemplo

Importacion

Para importar el componente Button, se puede hacer desde fenextjs o fenextjs-component

import { Button, ButtonProps } from "fenextjs/cjs/component/Button";

o

import { Button, ButtonProps } from "fenextjs-component/cjs/Button";

Parametros

ParametroTipoRequeridoDefaultDescripcion
loaderbooleannofalseSi el componente esta en estado loader, con un indicardor de spiner y deshabilitada su funcionalidad
disabledbooleannofalseSi el componente esta en estado disabled, por ende se deshabilita su funcionalidad
onClickfunctionnoFuncion que se ejecuta por onClick en el componente, (solo se ejecuta si loader y disabled son false)
iconReactNodeno""Icono del componente
childrenReactNodenoContenido del componente
isBtnbooleannotrueSi es false se usara la etiquera "div" y no la "button"
size"extra-small"| "small" |"normal" |"strong" |"extra-strong"no"normal"Tamaño del bottom, es posible personalizar los tamaños
fullbooleannofalseSi es true el botton tendra width:100%
classNamestringno""Clase personalizada del componente
classNameLoaderstringno""Clase personalizada del loader

Storybook

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

Usos

  • Uso básico del componente Button
const handleButtonClick = () => {
  console.log("Button clicked!");
};
<Button onClick={handleButtonClick}>Click Me</Button>;
  • Button con clase de estilo personalizada
<Button className="custom-button">Custom Button</Button>
  • Button con loadding
<Button loader={true}>Loadding....</Button>
  • Button deshabilitado
<Button disabled={true}>Disabled Button</Button>
  • Button como un contenedor "div"
<Button isBtn={false}>Div Button</Button>
  • Button con tamaño personalizado
<Button size="extra-strong">Extra Strong Button</Button>
  • Button a lo ancho
<Button full={true}>Full Width Button</Button>