Button
Desencadena una acción o un evento, como enviar un formulario o mostrar un diálogo.
Variante: Primary (Por defecto)
<Button>
Primary Button
</Button> Variante: Secondary
<Button variant="secondary">
Secondary Button
</Button> Estados: Disabled
<Button disabled>
Disabled Button
</Button> Botón como Enlace (Polimórfico)
El componente Astro acepta la propiedad as. Puedes usarlo como un enlace pasando as="a" y sus respectivos atributos como href. Gracias al tipado avanzado, si usas as="a", TypeScript te sugerirá el atributo href.
Variante: Enlace
<Button as="a" href="/docs/installation" variant="outline">
Ver Instalación
</Button> Uso en React (ReactButton)
Si necesitas interactividad del lado del cliente en un componente React (por ejemplo, usar onClick), Astro no permite inyectar componentes nativos dentro de React. Para ello, el sistema de diseño exporta una versión exacta hecha en React llamada ReactButton.
import { ReactButton as Button } from '@rubenvillar/design-system-astro';
export default function LoginForm() {
return (
<Button onClick={() => alert('Hola')} className="w-full">
Iniciar Sesión
</Button>
);
}