import type { ElementType } from 'react'; export type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'; export type ToastColor = 'default' | 'zinc' | 'red' | 'orange' | 'amber' | 'yellow' | 'lime' | 'green' | 'emerald' | 'teal' | 'cyan' | 'sky' | 'blue' | 'indigo' | 'violet' | 'purple' | 'fuchsia' | 'pink' | 'rose' | 'primary' | 'secondary' | 'tertiary'; export interface ToastProps { /** * Posición del Toast en la pantalla * @default 'bottom-right' */ position?: ToastPosition; /** * Color del Toast * @default 'default' */ color?: ToastColor; /** * Icono opcional para mostrar (Componente SVG, por ejemplo de @heroicons/react) */ icon?: ElementType; /** * Tiempo en milisegundos que el toast permanece visible antes de cerrarse * @default 5000 */ duration?: number; /** * Si es true, el toast se cerrará automáticamente. * Si es false, solo se cerrará cuando el usuario haga clic en la X. * @default true */ autoClose?: boolean; /** * Determina si el Toast está visible */ isVisible?: boolean; /** * Función ejecutada cuando el toast debe cerrarse (por timeout o clic en la X) */ onClose?: () => void; /** * Título principal del Toast (en negrita) */ title?: string; /** * Mensaje o contenido detallado del toast */ message: string; /** * Clases CSS adicionales para el contenedor del toast */ className?: string; /** * Nombre accesible del botón de cerrar (`aria-label` y texto para lectores de pantalla). * * El componente es presentacional y no resuelve traducciones, así que el texto lo aporta quien * lo monta. El valor por defecto se deja en inglés para no cambiar el comportamiento de quien * ya lo usa, pero una app en español debe pasar el suyo: antes era un literal `"Close"` * incrustado, y salía tal cual en toda notificación de toda pantalla. * @default 'Close' */ closeLabel?: string; } //# sourceMappingURL=Toast.types.d.ts.map