61 lines
1.7 KiB
Dart
61 lines
1.7 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
/// 两端品牌主题。安全语义色始终共享,不能被品牌色覆盖。
|
|
enum HeqiBrand { consumer, service }
|
|
|
|
abstract final class HeqiColors {
|
|
static const consumerPrimary = Color(0xFF2563EB);
|
|
static const servicePrimary = Color(0xFF4F46E5);
|
|
static const success = Color(0xFF16875D);
|
|
static const warning = Color(0xFFB86400);
|
|
static const danger = Color(0xFFC7352A);
|
|
|
|
static const lightBackground = Color(0xFFF7F8FA);
|
|
static const darkBackground = Color(0xFF0B1220);
|
|
static const darkSurface = Color(0xFF111827);
|
|
}
|
|
|
|
/// 4dp 基础网格。页面不得新增不属于本表的随意间距。
|
|
abstract final class HeqiSpacing {
|
|
static const x1 = 4.0;
|
|
static const x2 = 8.0;
|
|
static const x3 = 12.0;
|
|
static const x4 = 16.0;
|
|
static const x5 = 20.0;
|
|
static const x6 = 24.0;
|
|
static const x7 = 28.0;
|
|
static const x8 = 32.0;
|
|
static const x10 = 40.0;
|
|
static const x12 = 48.0;
|
|
}
|
|
|
|
abstract final class HeqiRadius {
|
|
static const small = 10.0;
|
|
static const medium = 12.0;
|
|
static const large = 16.0;
|
|
static const extraLarge = 20.0;
|
|
static const sheet = 24.0;
|
|
}
|
|
|
|
abstract final class HeqiSize {
|
|
static const minTouchTarget = 48.0;
|
|
static const buttonHeight = 52.0;
|
|
static const navigationBarHeight = 72.0;
|
|
static const contentMaxWidth = 720.0;
|
|
static const iconSmall = 16.0;
|
|
static const iconMedium = 24.0;
|
|
static const iconLarge = 32.0;
|
|
}
|
|
|
|
abstract final class HeqiMotion {
|
|
static const fast = Duration(milliseconds: 150);
|
|
static const standard = Duration(milliseconds: 220);
|
|
static const emphasized = Duration(milliseconds: 300);
|
|
}
|
|
|
|
abstract final class HeqiBreakpoints {
|
|
static const compact = 600.0;
|
|
static const medium = 840.0;
|
|
static const expanded = 1024.0;
|
|
}
|