Saltar al contenido principal

Snackbar

Paquetes: @tiendana/utils @tiendana/web-foundation

Sistema de notificaciones con cola automática, animaciones suaves y múltiples expresiones.

Características​

✅ Cola automática - Máximo 3 snackbars visibles, resto en cola
✅ Stacking visual - Escalado y sombras para profundidad
✅ 13 expresiones - Iconos faciales personalizados
✅ Auto-dismiss - Duración configurable o permanente
✅ CTA buttons - Botones de acción con callbacks
✅ Variante accent - Fondo --color-green-neon con texto oscuro

Demos Visuales​

Snackbar Básico​

Cargando demo...
Ver código

Con CTA Button​

Cargando demo...
Ver código

Variante Accent​

Cargando demo...
Ver código

Explorador de Expresiones​

Cargando demo...
Ver código

Props / API​

openSnackbar(options)​

ParámetroTipoDefaultDescripción
msjstringrequiredMensaje a mostrar
iconExpressionstring'done_light'Nombre de la expresión/ícono
durationnumber4000Duración en ms (0 = no auto-dismiss)
showClosebooleantrueMostrar botón cerrar
accentbooleanfalseUsar variante accent
ctaTextstringundefinedTexto del botón de acción
ctaCallbackfunctionundefinedCallback del botón de acción

CSS Classes​

ClaseDescripción
.snackbarContenedor base: posición fija centrada abajo (bottom: 24px), fondo --snackbar-bg (por defecto --color-forrest), z-index: var(--z-index-snackbar) (2000)
.snackbar--accentVariante accent: fondo --color-green-neon y texto --color-dark-forrest
.snackbar--show-textEstado que expande el snackbar y revela mensaje, CTA y botón cerrar
.snackbar--hideEstado de salida: colapsa el snackbar y lo desplaza fuera de pantalla
.snackbar__expressionImagen de expresión (40x40px) con animación de entrada
.snackbar__contentContenedor del mensaje y el CTA: columna en móvil, fila desde 768px
.snackbar__messageTexto del mensaje (una línea con elipsis)
.snackbar__ctaBotón de acción (CTA); se combina con .bttn
.snackbar__spacerSeparador vertical entre el contenido y el botón cerrar
.snackbar__closeBotón de cerrar

Propiedades CSS personalizadas​

PropiedadDescripción
--snackbar-bgColor de fondo; si no se define usa --color-forrest
--snackbar-scaleEscala del snackbar (1 por defecto); openSnackbar la reduce en los apilados
--snackbar-bottomPosición inferior final de la animación de entrada (24px por defecto)
Apilado

openSnackbar asigna en línea bottom, --snackbar-bottom, z-index (desde 9000) y --snackbar-scale a cada snackbar visible. Si montas el markup a mano, esas propiedades quedan a tu cargo.


Uso Rápido​

// Importar función
import { openSnackbar } from '@tiendana/utils';

// Básico
openSnackbar({
msj: 'Operación completada'
});

// Con opciones
openSnackbar({
msj: 'Guardado exitoso',
iconExpression: 'done_light',
duration: 4000,
showClose: true
});

// Con CTA
openSnackbar({
msj: 'Archivo listo',
ctaText: 'Descargar',
ctaCallback: () => { /* acción */ },
duration: 0 // No auto-dismiss
});

// Variante accent
openSnackbar({
msj: 'Notificación especial',
accent: true,
iconExpression: 'smile_dark'
});

Expresiones Disponibles​

ExpresiónTemaUso Recomendado
done_light / done_darkSuccessOperaciones exitosas
congrat_light / congrat_forrest / congrat_darkCelebrationLogros, completados
error_light / error_darkErrorErrores, fallos
error_green_neon_light / error_green_neon_darkWarningAdvertencias importantes
smile_light / smile_darkPositiveMensajes positivos
play_light / play_darkActionInicios, reproducciones

Documentación Detallada​

Ver También​