UIProThemeData constructor
const
UIProThemeData({
- Color primaryColor = const Color(0xFF2196F3),
- Color secondaryColor = const Color(0xFF9C27B0),
- Color backgroundColor = const Color(0xFFFFFFFF),
- Color surfaceColor = const Color(0xFFF5F5F5),
- Color textColor = const Color(0xFF212121),
- Color textSecondaryColor = const Color(0xFF757575),
- Color errorColor = const Color(0xFFE53935),
- Color successColor = const Color(0xFF43A047),
- Color warningColor = const Color(0xFFFFA726),
- Color dividerColor = const Color(0xFFE0E0E0),
- Color disabledColor = const Color(0xFFBDBDBD),
- String? fontFamily,
- double fontSizeBase = 14,
- double fontSizeSmall = 12,
- double fontSizeLarge = 16,
- double fontSizeXLarge = 20,
- FontWeight fontWeightRegular = FontWeight.w400,
- FontWeight fontWeightMedium = FontWeight.w500,
- FontWeight fontWeightBold = FontWeight.w700,
- double letterSpacing = 0.0,
- double lineHeight = 1.4,
- double spacingXS = 4,
- double spacingSM = 8,
- double spacingMD = 16,
- double spacingLG = 24,
- double spacingXL = 32,
- double borderRadius = 12,
- double borderRadiusSmall = 8,
- double borderRadiusLarge = 16,
- double borderWidth = 1,
- double buttonHeight = 48,
- double buttonPaddingHorizontal = 24,
- double buttonPaddingVertical = 12,
- double buttonElevation = 0,
- Color? buttonTextColor,
- Color? buttonDisabledColor,
- Color? buttonDisabledTextColor,
- Color? textFieldBackgroundColor,
- Color? textFieldBorderColor,
- Color? textFieldFocusedBorderColor,
- Color? textFieldHintColor,
- EdgeInsets? textFieldContentPadding,
- Color shimmerBaseColor = const Color(0xFFE0E0E0),
- Color shimmerHighlightColor = const Color(0xFFF5F5F5),
- Duration shimmerDuration = const Duration(milliseconds: 1500),
- double? shimmerBorderRadius,
- Color? appBarBackgroundColor,
- Color? appBarForegroundColor,
- double appBarElevation = 0,
- TextStyle? appBarTitleStyle,
- bool appBarCenterTitle = true,
- Duration animationDuration = const Duration(milliseconds: 300),
- Duration animationDurationFast = const Duration(milliseconds: 150),
- Duration animationDurationSlow = const Duration(milliseconds: 500),
- Curve animationCurve = Curves.easeInOut,
Implementation
const UIProThemeData({
// Core colors
this.primaryColor = const Color(0xFF2196F3),
this.secondaryColor = const Color(0xFF9C27B0),
this.backgroundColor = const Color(0xFFFFFFFF),
this.surfaceColor = const Color(0xFFF5F5F5),
this.textColor = const Color(0xFF212121),
this.textSecondaryColor = const Color(0xFF757575),
this.errorColor = const Color(0xFFE53935),
this.successColor = const Color(0xFF43A047),
this.warningColor = const Color(0xFFFFA726),
this.dividerColor = const Color(0xFFE0E0E0),
this.disabledColor = const Color(0xFFBDBDBD),
// Typography
this.fontFamily,
this.fontSizeBase = 14,
this.fontSizeSmall = 12,
this.fontSizeLarge = 16,
this.fontSizeXLarge = 20,
this.fontWeightRegular = FontWeight.w400,
this.fontWeightMedium = FontWeight.w500,
this.fontWeightBold = FontWeight.w700,
this.letterSpacing = 0.0,
this.lineHeight = 1.4,
// Spacing
this.spacingXS = 4,
this.spacingSM = 8,
this.spacingMD = 16,
this.spacingLG = 24,
this.spacingXL = 32,
this.borderRadius = 12,
this.borderRadiusSmall = 8,
this.borderRadiusLarge = 16,
this.borderWidth = 1,
// Button
this.buttonHeight = 48,
this.buttonPaddingHorizontal = 24,
this.buttonPaddingVertical = 12,
this.buttonElevation = 0,
this.buttonTextColor,
this.buttonDisabledColor,
this.buttonDisabledTextColor,
// Text field
this.textFieldBackgroundColor,
this.textFieldBorderColor,
this.textFieldFocusedBorderColor,
this.textFieldHintColor,
this.textFieldContentPadding,
// Shimmer
this.shimmerBaseColor = const Color(0xFFE0E0E0),
this.shimmerHighlightColor = const Color(0xFFF5F5F5),
this.shimmerDuration = const Duration(milliseconds: 1500),
this.shimmerBorderRadius,
// App bar
this.appBarBackgroundColor,
this.appBarForegroundColor,
this.appBarElevation = 0,
this.appBarTitleStyle,
this.appBarCenterTitle = true,
// Bottom navigation
this.bottomNavBackgroundColor,
this.bottomNavSelectedColor,
this.bottomNavUnselectedColor,
this.bottomNavElevation = 8,
this.bottomNavIconSize = 24,
this.bottomNavShowLabels = true,
this.bottomNavIndicatorHeight = 3,
// Animation
this.animationDuration = const Duration(milliseconds: 300),
this.animationDurationFast = const Duration(milliseconds: 150),
this.animationDurationSlow = const Duration(milliseconds: 500),
this.animationCurve = Curves.easeInOut,
});