AppDurations class

Sistema de duraciones para animaciones y delays en toda la aplicación

Proporciona duraciones estandarizadas para diferentes tipos de animaciones y transiciones, siguiendo las mejores prácticas de UX.

Uso básico:

// Animaciones simples
AnimatedContainer(
  duration: AppDurations.md, // 300ms
  curve: Curves.easeInOut,
);

// Delays y debouncing
Timer(AppDurations.searchDebounce, () {
  // Ejecutar búsqueda después de 300ms
});

// Snackbars
ScaffoldMessenger.of(context).showSnackBar(
  SnackBar(
    content: Text('Mensaje'),
    duration: AppDurations.snackbarDuration,
  ),
);

Guía de uso:

  • xxs a xs (50-100ms): Micro-interacciones instantáneas
  • sm a md (150-300ms): Animaciones estándar (más usadas)
  • lg a xl (400-500ms): Transiciones complejas
  • xxl+ (600ms+): Animaciones especiales o loading states

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

apiSimulatedDelay → const Duration
1500ms - Delay simulado para llamadas API en modo mock/desarrollo
fast → const Duration
@deprecated Use smd instead
filterDebounce → const Duration
400ms - Debounce para filtros (tiempo entre cambios de filtro)
giant → const Duration
2000ms (2 segundos) - Gigante (notificaciones, toasts)
hoverEffect → const Duration
100ms - Duración de hover effects (cambio visual al pasar el cursor)
huge → const Duration
1000ms (1 segundo) - Enorme (loading states, progress)
lg → const Duration
400ms - Lento (animaciones deliberadas)
massive → const Duration
1500ms (1.5 segundos) - Masivo (animaciones largas)
md → const Duration
300ms - Mediano (ideal para la mayoría de animaciones estándar)
mdl → const Duration
350ms - Mediano lento (transiciones más perceptibles)
mds → const Duration
250ms - Mediano rápido (transiciones suaves)
medium → const Duration
@deprecated Use md instead
mega → const Duration
3000ms (3 segundos) - Mega (mensajes importantes)
pageTransition → const Duration
150ms - Duración de transición entre páginas/rutas
quickDebounce → const Duration
200ms - Debounce rápido para inputs simples (validación en tiempo real)
rippleEffect → const Duration
200ms - Duración de ripple effects (Material Design)
searchDebounce → const Duration
300ms - Debounce para búsqueda (evita llamadas API excesivas al escribir)
shimmerAnimation → const Duration
1500ms - Duración de la animación shimmer de carga (skeleton screens)
slow → const Duration
@deprecated Use lg instead
sm → const Duration
150ms - Muy rápido (micro-interacciones)
smd → const Duration
200ms - Rápido (ideal para micro-interacciones y feedback inmediato)
snackbarDuration → const Duration
2000ms - Duración para mostrar snackbars/toasts (tiempo visible)
tooltipDelay → const Duration
500ms - Timeout para mostrar tooltips (hover delay)
ultraFast → const Duration
@deprecated Use xs instead
verySlow → const Duration
@deprecated Use xxxl instead
xl → const Duration
500ms - Extra lento (transiciones importantes)
xs → const Duration
100ms - Extra rápido (cambios de estado rápidos)
xxl → const Duration
600ms - Extra extra lento (animaciones destacadas)
xxs → const Duration
50ms - Ultra rápido (hover effects, ripples instantáneos)
xxxl → const Duration
800ms - Muy lento (animaciones complejas)