cupertino static method

EnhancedLocationTheme cupertino([
  1. BuildContext? context
])

iOS-style Cupertino theme

Implementation

static EnhancedLocationTheme cupertino([BuildContext? context]) {
  return EnhancedLocationTheme(
    // Input styling
    inputTextStyle: const TextStyle(fontSize: 17),
    inputHintStyle: TextStyle(fontSize: 17, color: Colors.grey[600]),
    inputPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
    inputBorderRadius: BorderRadius.circular(10),
    inputBorderWidth: 1,
    inputBorderColor: Colors.grey[300],
    inputFocusedBorderColor: Colors.blue,
    inputErrorBorderColor: Colors.red,
    inputFillColor: Colors.grey[50],
    inputFilled: true,

    // Dropdown styling
    dropdownBackgroundColor: Colors.white,
    dropdownHoverColor: Colors.grey[100],
    dropdownSelectedColor: Colors.blue.withValues(alpha: 0.1),
    dropdownBorderRadius: BorderRadius.circular(10),
    dropdownElevation: 4,
    dropdownPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 10),
    dropdownMaxHeight: 300,

    // Text styling
    primaryTextStyle: const TextStyle(fontSize: 17, color: Colors.black87),
    secondaryTextStyle: TextStyle(fontSize: 15, color: Colors.grey[600]),
    hintTextStyle: TextStyle(fontSize: 17, color: Colors.grey[600]),
    errorTextStyle: const TextStyle(fontSize: 13, color: Colors.red),
    labelTextStyle: const TextStyle(fontSize: 15, fontWeight: FontWeight.w600),

    // Icon styling
    iconColor: Colors.grey[600],
    primaryIconColor: Colors.blue,
    iconSize: 20,
    smallIconSize: 16,
    largeIconSize: 24,

    // Colors
    primaryColor: Colors.blue,
    backgroundColor: Colors.grey[50],
    surfaceColor: Colors.white,
    errorColor: Colors.red,
    dividerColor: Colors.grey[200],

    // Spacing
    defaultPadding: const EdgeInsets.all(16),
    compactPadding: const EdgeInsets.all(8),
    expansivePadding: const EdgeInsets.all(20),
    defaultSpacing: 16,
    compactSpacing: 8,
    expansiveSpacing: 20,
    defaultBorderRadius: BorderRadius.circular(10),

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

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