leulit_flutter_fullresponsive 2.0.0 copy "leulit_flutter_fullresponsive: ^2.0.0" to clipboard
leulit_flutter_fullresponsive: ^2.0.0 copied to clipboard

Librería agnóstica de alto rendimiento para responsividad usando InheritedWidget y Extension Methods. Nueva API v2.0 sin context!

Changelog #

2.0.0 - 2024-12-28 #

🎉 Added #

  • Nueva API sin context: Ahora todas las extensiones funcionan sin necesidad de pasar BuildContext

    • .w - Ancho responsive (antes .w(context))
    • .h - Alto responsive (antes .h(context))
    • .sp - Tamaño de fuente responsive (antes .sp(context))
    • .size - Tamaño para iconos/padding (antes .size(context))
    • .radius - Border radius responsive (antes .radius(context))
    • .flexValue - Valores flex adaptativos (antes .flexValue(context))
  • ScreenInfoManager singleton: Gestor global que mantiene el ScreenInfo accesible sin context

  • MIGRATION_GUIDE.md: Guía completa de migración de v1.x a v2.0.0

⚠️ Deprecated #

  • Métodos con context renombrados con sufijo WithContext (serán eliminados en v3.0.0):
    • .wWithContext(context, ...) - Usar .w en su lugar
    • .hWithContext(context, ...) - Usar .h en su lugar
    • .spWithContext(context, ...) - Usar .sp en su lugar
    • .sizeWithContext(context, ...) - Usar .size en su lugar
    • .radiusWithContext(context, ...) - Usar .radius en su lugar
    • .flexValueWithContext(context, ...) - Usar .flexValue en su lugar

🔄 Changed #

  • La API con parámetros multi-plataforma ahora solo está disponible a través de los métodos WithContext (deprecated)
  • ScreenSizeInitializer ahora actualiza automáticamente el singleton ScreenInfoManager

📖 Documentation #

  • README.md actualizado con ejemplos de la nueva API
  • Ejemplos en example_usage.dart migrados a la nueva API
  • Documentación completa de migración en MIGRATION_GUIDE.md

🔧 Technical #

  • Sin breaking changes en funcionalidad - código anterior sigue funcionando con warnings
  • Mejor rendimiento al eliminar la necesidad de acceso al context en cada llamada
  • Mantiene compatibilidad hacia atrás con métodos deprecated

1.5.1 - 2024-12-19 #

Fixed #

  • CRITICAL FIX: Factor de conversión en .size() corregido de 0.025% a 0.1%
  • Improved Multi-Platform Detection: Lógica de fallback mejorada para iOS/Android
  • Added Debug Helpers: ResponsiveDebug class para debugging de valores responsive

Details #

  • Valores típicos ahora son visibles: 24.size(context) produce ~9.6px en iPhone (375px width)
  • Parámetros multi-plataforma ahora respetan correctamente la precedencia iOS > mobile > fallback
  • Nueva clase ResponsiveDebug para diagnosticar problemas de detección de dispositivo

1.5.0 - 2024-12-19 #

BREAKING CHANGES #

  • API Unificada: Eliminadas todas las funciones globales w(), h(), sp()
  • Extension Methods Unificados: Todos los métodos .w(), .h(), .sp() ahora aceptan parámetros opcionales multi-plataforma
  • Sintaxis Simplificada: Un solo patrón de uso para todos los casos: value.method(context, plataforma: valor)

Added #

  • Parámetros Multi-Plataforma Unificados: Todos los extension methods ahora soportan:
    • web: Valores específicos para aplicaciones web
    • ios: Valores específicos para iOS
    • android: Valores específicos para Android
    • mobile: Valores para móviles (iOS + Android)
    • tablet: Valores para tablets (>= 600px)
    • desktop: Valores para aplicaciones desktop
  • ResponsiveSize Unificado: .size() ahora acepta parámetros multi-plataforma
  • ResponsiveRadius Unificado: .radius() ahora acepta parámetros multi-plataforma
  • ResponsiveFlex Unificado: .flexValue() ahora acepta parámetros multi-plataforma

Enhanced #

  • Consistencia Total: Un solo patrón de API para toda la librería
  • Mejor Developer Experience: IntelliSense más limpio sin funciones globales
  • Precedencia Inteligente: Plataforma específica > Categoría > Valor base
  • Performance Mantenida: Misma optimización DeviceType con nueva API

Removed #

  • ❌ Funciones globales w(context, ...), h(context, ...), sp(context, ...)
  • ❌ Métodos sizeFor(), radiusFor(), flexFor() (reemplazados por parámetros opcionales)

Migration Guide #

// ❌ v1.4.x (API inconsistente)
width: w(context, web: 30, mobile: 80)
width: 50.w(context)
size: 24.sizeFor(context, tablet: 28)

// ✅ v1.5.0 (API unificada)  
width: 50.w(context, web: 30, mobile: 80)
width: 50.w(context)
size: 24.size(context, tablet: 28)

1.4.1 - 2024-12-19 #

Documentation #

  • Added Comprehensive Example App: Complete 4-page demonstration app showcasing all library features
  • Improved pub.dev Score: Enhanced documentation score from 10/20 to 20/20 with proper examples
  • Example README: Detailed guide for understanding and using all responsive features
  • Code Samples: Real-world usage patterns and best practices demonstration

Example Features #

  • Basic Examples: Fundamental .w(), .h(), .sp() usage patterns
  • Multi-Platform Demo: Platform-specific responsive implementations
  • Specialized Extensions: Complete showcase of ResponsiveSize, ResponsiveRadius, ResponsiveFlex
  • Practical Implementation: Real dashboard example with complex responsive layouts

1.4.0 - 2024-12-19 #

Added #

  • ResponsiveSize Extension: Nueva extensión .size() para iconos, padding, margins
    • Método .size(context) para valores responsive automáticos
    • Método .sizeFor(context) para valores específicos por plataforma
  • ResponsiveRadius Extension: Nueva extensión .radius() para border radius
    • Método .radius(context) para esquinas redondeadas responsive
    • Método .radiusFor(context) para radius específicos por plataforma
  • ResponsiveFlex Extension: Nueva extensión .flexValue() para layouts flexibles
    • Método .flexValue(context) con ajuste automático por tipo de dispositivo
    • Método .flexFor(context) para flex específicos por plataforma

Enhanced #

  • Casos de uso ampliados: iconos, padding, margins, border radius, flex layouts
  • Documentación extendida con ejemplos prácticos de los nuevos casos de uso
  • 17 tests total incluyendo las nuevas extensiones

Examples #

  • Ejemplos prácticos de iconos responsive en AppBar
  • Cards con padding y esquinas responsive
  • Layouts con flex values adaptativos
  • Botones con estilos completamente responsive

1.3.0 - 2024-12-19 #

Performance #

  • OPTIMIZACIÓN MAYOR: DeviceType ahora se calcula una sola vez en ScreenSizeInitializer
  • Eliminada redundancia en cálculo de tipo de dispositivo en funciones multi-plataforma
  • Mejora significativa en rendimiento: 1000 llamadas ejecutan en <100ms
  • DeviceType ahora se almacena en ScreenInfo para acceso inmediato

Changed #

  • _getValueForDevice() ahora usa ScreenInfo.deviceType en lugar de recalcular
  • Refactorizada arquitectura para mejor eficiencia en operaciones repetitivas

Tests #

  • Añadido test de rendimiento específico para validar optimizaciones
  • Verificación automática de que 1000 operaciones se ejecuten bajo 100ms

1.2.0 - 2024-12-19 #

Added #

  • Funciones globales w(), h(), y sp() con soporte para múltiples plataformas
  • Parámetros específicos por plataforma: web, ios, android, mobile, tablet, desktop
  • Sistema de detección automática de dispositivos usando defaultTargetPlatform
  • Tests exhaustivos para funcionalidad multi-plataforma

Enhanced #

  • Mejor cobertura de casos de uso para diferentes tipos de dispositivos
  • Documentación actualizada con ejemplos de uso multi-plataforma

1.1.0 - 2024-12-19 #

[1.1.0] - 2024-10-14 #

Added #

  • 🎯 Doble formato de valores: Ahora soporta tanto valores tradicionales (0-100) como decimales (0-1)
  • 📏 Ultra precisión: Posibilidad de usar valores como 0.076543.w(context) para dimensiones exactas
  • 🔄 Detección automática: El sistema detecta automáticamente si usas formato porcentaje o decimal
  • Nuevos tests unitarios para validar ambos formatos
  • Documentación actualizada con ejemplos de ambos formatos

Enhanced #

  • Extension methods .w(), .h(), y .sp() ahora aceptan valores decimales para mayor precisión
  • Mejor documentación con ejemplos de uso avanzado

1.0.0 - 2024-10-14 #

Added #

  • Librería agnóstica de alto rendimiento para responsividad usando InheritedWidget y Extension Methods
  • Widget ScreenSizeInitializer para inicializar el sistema de responsividad
  • Extension methods .w(), .h(), y .sp() para dimensiones responsive
  • Soporte completo para accesibilidad con respeto a la configuración de escala de texto del usuario
  • API type-safe aprovechando null safety de Dart
  • Documentación completa con ejemplos de uso
  • Tests unitarios incluidos
0
likes
160
points
151
downloads

Publisher

unverified uploader

Weekly Downloads

Librería agnóstica de alto rendimiento para responsividad usando InheritedWidget y Extension Methods. Nueva API v2.0 sin context!

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on leulit_flutter_fullresponsive