glassmorphic static method

EnhancedLocationTheme glassmorphic([
  1. BuildContext? context
])

Glass morphism theme

Implementation

static EnhancedLocationTheme glassmorphic([BuildContext? context]) {
  return EnhancedLocationTheme(
    // Input styling
    inputTextStyle: const TextStyle(fontSize: 16, color: Colors.white, fontWeight: FontWeight.w400),
    inputHintStyle: TextStyle(fontSize: 16, color: Colors.white.withValues(alpha: 0.6)),
    inputPadding: const EdgeInsets.symmetric(horizontal: 20, vertical: 16),
    inputBorderRadius: BorderRadius.circular(20),
    inputBorderWidth: 1,
    inputBorderColor: Colors.white.withValues(alpha: 0.2),
    inputFocusedBorderColor: Colors.white.withValues(alpha: 0.4),
    inputErrorBorderColor: Colors.red.withValues(alpha: 0.6),
    inputFillColor: Colors.white.withValues(alpha: 0.1),
    inputFilled: true,

    // Dropdown styling
    dropdownBackgroundColor: Colors.white.withValues(alpha: 0.15),
    dropdownHoverColor: Colors.white.withValues(alpha: 0.1),
    dropdownSelectedColor: Colors.white.withValues(alpha: 0.2),
    dropdownBorderRadius: BorderRadius.circular(15),
    dropdownElevation: 0,
    dropdownPadding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12),
    dropdownMaxHeight: 300,

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

    // Icon styling
    iconColor: Colors.white.withValues(alpha: 0.7),
    primaryIconColor: Colors.white,
    iconSize: 20,
    smallIconSize: 16,
    largeIconSize: 24,

    // Colors
    primaryColor: Colors.white,
    backgroundColor: Colors.transparent,
    surfaceColor: Colors.white.withValues(alpha: 0.1),
    errorColor: Colors.red.withValues(alpha: 0.8),
    dividerColor: Colors.white.withValues(alpha: 0.1),

    // 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(20),

    // Animation
    animationDuration: const Duration(milliseconds: 250),
    animationCurve: Curves.easeInOutCubic,

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