UIProThemeData constructor

const UIProThemeData({
  1. Color primaryColor = const Color(0xFF2196F3),
  2. Color secondaryColor = const Color(0xFF9C27B0),
  3. Color backgroundColor = const Color(0xFFFFFFFF),
  4. Color surfaceColor = const Color(0xFFF5F5F5),
  5. Color textColor = const Color(0xFF212121),
  6. Color textSecondaryColor = const Color(0xFF757575),
  7. Color errorColor = const Color(0xFFE53935),
  8. Color successColor = const Color(0xFF43A047),
  9. Color warningColor = const Color(0xFFFFA726),
  10. Color dividerColor = const Color(0xFFE0E0E0),
  11. Color disabledColor = const Color(0xFFBDBDBD),
  12. String? fontFamily,
  13. double fontSizeBase = 14,
  14. double fontSizeSmall = 12,
  15. double fontSizeLarge = 16,
  16. double fontSizeXLarge = 20,
  17. FontWeight fontWeightRegular = FontWeight.w400,
  18. FontWeight fontWeightMedium = FontWeight.w500,
  19. FontWeight fontWeightBold = FontWeight.w700,
  20. double letterSpacing = 0.0,
  21. double lineHeight = 1.4,
  22. double spacingXS = 4,
  23. double spacingSM = 8,
  24. double spacingMD = 16,
  25. double spacingLG = 24,
  26. double spacingXL = 32,
  27. double borderRadius = 12,
  28. double borderRadiusSmall = 8,
  29. double borderRadiusLarge = 16,
  30. double borderWidth = 1,
  31. double buttonHeight = 48,
  32. double buttonPaddingHorizontal = 24,
  33. double buttonPaddingVertical = 12,
  34. double buttonElevation = 0,
  35. Color? buttonTextColor,
  36. Color? buttonDisabledColor,
  37. Color? buttonDisabledTextColor,
  38. Color? textFieldBackgroundColor,
  39. Color? textFieldBorderColor,
  40. Color? textFieldFocusedBorderColor,
  41. Color? textFieldHintColor,
  42. EdgeInsets? textFieldContentPadding,
  43. Color shimmerBaseColor = const Color(0xFFE0E0E0),
  44. Color shimmerHighlightColor = const Color(0xFFF5F5F5),
  45. Duration shimmerDuration = const Duration(milliseconds: 1500),
  46. double? shimmerBorderRadius,
  47. Color? appBarBackgroundColor,
  48. Color? appBarForegroundColor,
  49. double appBarElevation = 0,
  50. TextStyle? appBarTitleStyle,
  51. bool appBarCenterTitle = true,
  52. Color? bottomNavBackgroundColor,
  53. Color? bottomNavSelectedColor,
  54. Color? bottomNavUnselectedColor,
  55. double bottomNavElevation = 8,
  56. double bottomNavIconSize = 24,
  57. bool bottomNavShowLabels = true,
  58. double bottomNavIndicatorHeight = 3,
  59. Duration animationDuration = const Duration(milliseconds: 300),
  60. Duration animationDurationFast = const Duration(milliseconds: 150),
  61. Duration animationDurationSlow = const Duration(milliseconds: 500),
  62. 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,
});