/v1.0

EmailButton

EmailButton construye una URL mailto: y redirige a ella al hacer clic, abriendo el cliente de correo predeterminado del dispositivo con los campos email, subject y body pre-poblados. Envuelve el componente base Button y usa por defecto un color de advertencia con un ícono de correo. Úsalo en páginas de contacto, confirmaciones de pedidos o vistas de detalles de proveedores.

Props

| Prop | Tipo | Requerido | Por defecto | Descripción | |------|------|-----------|-------------|-------------| | email | string | Sí | — | Dirección de correo electrónico del destinatario. | | subject | string | No | "" | Asunto pre-completado para el correo. | | body | string | No | "" | Cuerpo de texto pre-completado para el correo. | | title | string | No | "Enviar correo" | Etiqueta que se muestra en el botón. | | icon | string | No | "email" | Identificador del ícono mostrado antes de la etiqueta. | | color | string | No | "warning" | Clave de color del tema o cualquier color CSS (hex o nombre). | | type | "clear" \| "outline" \| "solid" | No | "solid" | Variante visual del botón. | | size | "xs" \| "sm" \| "md" \| "lg" \| "xl" | No | "md" | Controla el padding, tamaño de fuente y tamaño del ícono. | | borderRadius | number | No | 4 | Radio del borde en píxeles. | | disabled | boolean | No | false | Deshabilita la interacción y reduce la opacidad. | | style | React.CSSProperties | No | — | Estilos en línea aplicados al botón. |

Uso

Básico

import EmailButton from '@/components/buttons/EmailButton';

export default function Example() {
  return (
    <EmailButton email="soporte@ejemplo.com" />
  );
}

Con asunto y cuerpo

import EmailButton from '@/components/buttons/EmailButton';

export default function Example({ orderId }: { orderId: string }) {
  return (
    <EmailButton
      email="pedidos@ejemplo.com"
      subject={`Consulta sobre pedido #${orderId}`}
      body={`Hola, tengo una pregunta sobre el pedido #${orderId}.`}
      title="Contactar soporte"
      size="sm"
    />
  );
}