Button

El componente Button es un botón interactivo que puede ser configurado para mostrar íconos, estar en estado de carga (loader), deshabilitarse y adaptarse a diferentes tamaños. Permite a los usuarios interactuar con la aplicación ejecutando acciones al hacer clic.

Ejemplo

Importación

Para importar el componente Button, se puede hacer desde fenextjs

import { Button } from "fenextjs";

Parámetros

ParámetroTipoRequeridoDefaultDescripcion
loaderbooleannofalseSi el botón está en estado de carga, mostrando un indicador de carga (spinner) y deshabilitado para otras acciones.
disabledbooleannofalseSi el botón está deshabilitado, impidiendo cualquier interacción.
onClickfunctionnoFunción que se ejecuta cuando se hace click en el botón (solo si no está deshabilitado o en estado de carga).
onClickDisabledfunctionnoFunción que se ejecuta cuando se hace click en el botón estando deshabilitado.
iconReactNodenoundefinedEl ícono que se mostrará dentro del botón.
isBtnbooleannotrueSi se renderiza el componente como un botón (\<button\>) o como un \<div\>.
size"extra-small" | "small" | "normal" | "strong" | "extra-strong"no"normal"El tamaño del botón.
fullbooleannofalseSi el botón debe ocupar todo el ancho disponible.
classNamestringno""Clase personalizada para el componente Button.
classNameLoaderstringno""Clase personalizada para el componente Loader dentro del botón cuando está en estado de carga.

Storybook

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

Usos

  • Botón básico
<Button>Click me</Button>
  • Botón con ícono
<Button icon={<img src="/icon.svg" alt="Icon" />}>Click me</Button>
  • Botón en estado de carga
<Button loader={true}>Loading...</Button>
  • Botón deshabilitado
<Button disabled={true}>Disabled</Button>
  • Botón con tamaño personalizado
<Button size="strong">Strong Button</Button>
  • Botón con ancho completo
<Button full={true}>Full Width Button</Button>