Implementation
@override
CustomThemeExtension get themeExtension {
final neutral = SmartColor(
main: const Color(0xFF000000),
v90: const Color(0xFF424242),
v80: const Color(0xFF616161),
v70: const Color(0xFF757575),
v60: const Color(0xFF9E9E9E),
v50: const Color(0xFFC2C2C2),
v40: const Color(0xFFE0E0E0),
v30: const Color(0xFFEDEDED),
v20: const Color(0xFFF5F5F5),
v10: const Color(0xFFFFFFFF),
);
return CustomThemeExtension(
contrast: SmartContrastColor(onDark: Colors.white, onLight: Colors.black),
neutral: neutral,
primary: SmartColor(
main: const Color(0xFF6200EE),
v90: const Color(0xFF3700B3),
v80: const Color(0xFF6200EE),
v70: const Color(0xFF7A00FF),
v60: const Color(0xFF8E24AA),
v50: const Color(0xFF9C27B0),
v40: const Color(0xFFAB47BC),
v30: const Color(0xFFBA68C8),
v20: const Color(0xFFCE93D8),
v10: const Color(0xFFE1BEE7),
),
secondary: SmartColor(
main: const Color(0xFF03DAC6),
v90: const Color(0xFF00BFA5),
v80: const Color(0xFF03DAC6),
v70: const Color(0xFF26A69A),
v60: const Color(0xFF4DB6AC),
v50: const Color(0xFF26A69A),
v40: const Color(0xFF80CBC4),
v30: const Color(0xFF80CBC4),
v20: const Color(0xFF80CBC4),
v10: const Color(0xFF80CBC4),
),
success: SmartColor(
main: const Color(0xFF00C853),
v90: const Color(0xFF00B248),
v80: const Color(0xFF00C853),
v70: const Color(0xFF00E676),
v60: const Color(0xFF00E676),
v50: const Color(0xFF00E676),
v40: const Color(0xFF00E676),
v30: const Color(0xFF00E676),
v20: const Color(0xFF00E676),
v10: const Color(0xFF00E676),
),
danger: SmartColor(
main: const Color(0xFFA84025),
v90: const Color(0xFFA82624),
v80: const Color(0xFF9F3C31),
v70: const Color(0xFFA84B41),
v60: const Color(0xFFD16F5D),
v50: const Color(0xFFD47361),
v40: const Color(0xFFB6897C),
v30: const Color(0xFFBA8F83),
v20: const Color(0xFFCAA398),
v10: const Color(0xFFFFE8E8),
),
info: SmartColor(
main: const Color(0xFF2196F3),
v90: const Color(0xFF1E88E5),
v80: const Color(0xFF2196F3),
v70: const Color(0xFF42A5F5),
v60: const Color(0xFF64B5F6),
v50: const Color(0xFF90CAF9),
v40: const Color(0xFFBBDEFB),
v30: const Color(0xFFE3F2FD),
v20: const Color(0xFFBBDEFB),
v10: const Color(0xFFE3F2FD),
),
warning: SmartColor(
main: const Color(0xFFFFAB00),
v90: const Color(0xFFFF8F00),
v80: const Color(0xFFFFAB00),
v70: const Color(0xFFFFC107),
v60: const Color(0xFFFFD54F),
v50: const Color(0xFFFFEB3B),
v40: const Color(0xFFFFEE58),
v30: const Color(0xFFFFF176),
v20: const Color(0xFFFFF59D),
v10: const Color(0xFFFFF9C4),
),
textStyles: SmartTextStyles(
displayL: _buildStyle(neutral: neutral, fontSize: 53, lineHeight: 64),
displayM: _buildStyle(neutral: neutral, fontSize: 42, lineHeight: 52),
displayS: _buildStyle(neutral: neutral, fontSize: 33, lineHeight: 40),
titleL: _buildStyle(neutral: neutral, fontSize: 26, lineHeight: 32),
titleM: _buildStyle(neutral: neutral, fontSize: 20, lineHeight: 24),
titleS: _buildStyle(neutral: neutral, fontSize: 16, lineHeight: 20),
highlightL: _buildStyle(neutral: neutral, fontSize: 14, lineHeight: 20),
highlightM: _buildStyle(neutral: neutral, fontSize: 12, lineHeight: 16),
highlightS: _buildStyle(neutral: neutral, fontSize: 11, lineHeight: 16),
baseL: _buildStyle(neutral: neutral, fontSize: 14, lineHeight: 16),
baseM: _buildStyle(neutral: neutral, fontSize: 12, lineHeight: 16, fontWeight: FontWeight.w400),
baseS: _buildStyle(neutral: neutral, fontSize: 11, lineHeight: 16),
utilityM: _buildStyle(neutral: neutral, fontSize: 14, lineHeight: 20),
utilityS: _buildStyle(neutral: neutral, fontSize: 12, lineHeight: 16),
utilityStrikethrough: _buildStyle(neutral: neutral, fontSize: 12, decoration: TextDecoration.lineThrough),
),
);
}