Toast
Notificaciones no intrusivas para feedback de acciones. Aparecen brevemente y desaparecen automáticamente.
Variantes
Tipos de toast
Proyecto guardado
Los cambios se aplicaron correctamente.
Error al guardar
No se pudo conectar con el servidor.
Conexión inestable
Algunos cambios podrían no sincronizarse.
Nueva versión disponible
Actualiza para obtener mejoras.
Acción completada
Uso
import { Toast, ToastContainer } from '@codeway/ui';
function App() {
const [toasts, setToasts] = useState([]);
const addToast = (toast) => {
const id = Date.now();
setToasts(prev => [...prev, { ...toast, id }]);
setTimeout(() => {
setToasts(prev => prev.filter(t => t.id !== id));
}, 4000); // Auto-dismiss en 4s
};
return (
<>
<Button onClick={() => addToast({
title: 'Guardado',
variant: 'success'
})}>
Guardar
</Button>
<ToastContainer>
{toasts.map(toast => (
<Toast
key={toast.id}
{...toast}
onClose={() => setToasts(prev =>
prev.filter(t => t.id !== toast.id)
)}
/>
))}
</ToastContainer>
</>
);
}Notas por plataforma
🌐 Web
- • Posición: bottom-right (fixed)
- • Auto-dismiss: 4 segundos
- • Max 3 visibles simultáneamente
- •
aria-live="polite"
📱 Mobile (iOS / Android)
- • Posición: top con safe area
- • Swipe-to-dismiss
- • Haptic feedback en aparición
- • Respetar notch/dynamic island