vibrant static method

EnhancedLocationTheme vibrant([
  1. BuildContext? context
])

Vibrant colorful theme

Implementation

static EnhancedLocationTheme vibrant([BuildContext? context]) {
  return EnhancedLocationTheme(
    // Input styling
    inputTextStyle: const TextStyle(fontSize: 16, color: Colors.white, fontWeight: FontWeight.w500),
    inputHintStyle: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: 0.7)),
    inputPadding: const EdgeInsets.symmetric(horizontal: 20, vertical: 16),
    inputBorderRadius: BorderRadius.circular(25),
    inputBorderWidth: 2,
    inputBorderColor: Colors.transparent,
    inputFocusedBorderColor: Colors.white,
    inputErrorBorderColor: Colors.orange,
    inputFillColor: Colors.deepPurple.withValues(alpha: 0.8),
    inputFilled: true,

    // Dropdown styling
    dropdownBackgroundColor: Colors.deepPurple[700],
    dropdownHoverColor: Colors.deepPurple[600],
    dropdownSelectedColor: Colors.deepPurple[500],
    dropdownBorderRadius: BorderRadius.circular(15),
    dropdownElevation: 12,
    dropdownPadding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12),
    dropdownMaxHeight: 320,

    // Text styling
    primaryTextStyle: const TextStyle(fontSize: 16, color: Colors.white, fontWeight: FontWeight.w500),
    secondaryTextStyle: TextStyle(fontSize: 14, color: Colors.white.withValues(alpha: 0.8)),
    hintTextStyle: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: 0.7)),
    errorTextStyle: const TextStyle(fontSize: 12, color: Colors.orange),
    labelTextStyle: const TextStyle(fontSize: 14, fontWeight: FontWeight.w700, color: Colors.white),

    // Icon styling
    iconColor: Colors.white.withValues(alpha: 0.8),
    primaryIconColor: Colors.white,
    iconSize: 22,
    smallIconSize: 18,
    largeIconSize: 26,

    // Colors
    primaryColor: Colors.deepPurple,
    secondaryColor: Colors.pink,
    backgroundColor: LinearGradient(
      colors: [Colors.deepPurple, Colors.pink],
    ) as Color,
    surfaceColor: Colors.deepPurple[700],
    errorColor: Colors.orange,
    successColor: Colors.green,
    dividerColor: Colors.white.withValues(alpha: 0.2),

    // Spacing
    defaultPadding: const EdgeInsets.all(20),
    compactPadding: const EdgeInsets.all(12),
    expansivePadding: const EdgeInsets.all(28),
    defaultSpacing: 20,
    compactSpacing: 12,
    expansiveSpacing: 28,
    defaultBorderRadius: BorderRadius.circular(25),

    // Animation
    animationDuration: const Duration(milliseconds: 300),
    fastAnimationDuration: const Duration(milliseconds: 150),
    slowAnimationDuration: const Duration(milliseconds: 450),
    animationCurve: Curves.elasticOut,

    // Interaction
    debounceDelay: const Duration(milliseconds: 250),
  );
}