feat(apps): establish shared mobile design system
This commit is contained in:
60
apps/heqi_design_system/lib/src/tokens.dart
Normal file
60
apps/heqi_design_system/lib/src/tokens.dart
Normal file
@@ -0,0 +1,60 @@
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user