53 lines
1.6 KiB
Dart
53 lines
1.6 KiB
Dart
|
|
/// UI-related constants for consistent design
|
|
class UIConstants {
|
|
UIConstants._();
|
|
|
|
// Spacing
|
|
static const double spacingXS = 4.0;
|
|
static const double spacingS = 8.0;
|
|
static const double spacingM = 16.0;
|
|
static const double spacingL = 24.0;
|
|
static const double spacingXL = 32.0;
|
|
|
|
// Border Radius
|
|
static const double borderRadiusS = 8.0;
|
|
static const double borderRadiusM = 12.0;
|
|
static const double borderRadiusL = 16.0;
|
|
|
|
// Icon Sizes
|
|
static const double iconSizeS = 16.0;
|
|
static const double iconSizeM = 24.0;
|
|
static const double iconSizeL = 32.0;
|
|
static const double iconSizeXL = 48.0;
|
|
|
|
// Button Heights
|
|
static const double buttonHeightS = 36.0;
|
|
static const double buttonHeightM = 48.0;
|
|
static const double buttonHeightL = 56.0;
|
|
|
|
// Grid
|
|
static const int gridCrossAxisCountMobile = 2;
|
|
static const int gridCrossAxisCountTablet = 4;
|
|
static const double gridChildAspectRatio = 0.75;
|
|
static const double gridSpacing = 12.0;
|
|
|
|
// Animation Durations
|
|
static const Duration animationDurationShort = Duration(milliseconds: 200);
|
|
static const Duration animationDurationMedium = Duration(milliseconds: 300);
|
|
static const Duration animationDurationLong = Duration(milliseconds: 500);
|
|
|
|
// Debounce
|
|
static const Duration searchDebounce = Duration(milliseconds: 300);
|
|
|
|
// Image
|
|
static const double productImageHeight = 200.0;
|
|
static const double thumbnailSize = 60.0;
|
|
static const double categoryIconSize = 64.0;
|
|
|
|
// Elevation
|
|
static const double elevationLow = 2.0;
|
|
static const double elevationMedium = 4.0;
|
|
static const double elevationHigh = 8.0;
|
|
}
|