cupertino static method
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),
);
}