Implementation
TextTheme textTheme() {
final displayFont = GoogleFonts.spaceGrotesk;
final bodyFont = GoogleFonts.notoSans;
return TextTheme(
// Headlines - M3 Expressive
displayLarge: displayFont(
fontSize: 57, fontWeight: FontWeight.normal, color: kTextPrimaryLight),
displayMedium: displayFont(
fontSize: 45, fontWeight: FontWeight.normal, color: kTextPrimaryLight),
displaySmall: displayFont(
fontSize: 36, fontWeight: FontWeight.normal, color: kTextPrimaryLight),
headlineLarge: displayFont(
fontSize: 32, fontWeight: FontWeight.bold, color: kTextPrimaryLight),
headlineMedium: displayFont(
fontSize: 28, fontWeight: FontWeight.bold, color: kTextPrimaryLight),
headlineSmall: displayFont(
fontSize: 24, fontWeight: FontWeight.bold, color: kTextPrimaryLight),
// Titles - M3 Expressive
titleLarge: bodyFont(
fontSize: 22, fontWeight: FontWeight.w600, color: kTextPrimaryLight),
titleMedium: bodyFont(
fontSize: 16, fontWeight: FontWeight.w600, color: kTextPrimaryLight),
titleSmall: bodyFont(
fontSize: 14, fontWeight: FontWeight.w600, color: kTextPrimaryLight),
// Body Text - M3 Expressive
bodyLarge: bodyFont(fontSize: 16, color: kTextPrimaryLight),
bodyMedium: bodyFont(fontSize: 14, color: kTextSecondaryLight),
bodySmall: bodyFont(fontSize: 12, color: kTextSecondaryLight),
// Labels - M3 Expressive
labelLarge: bodyFont(
fontSize: 14, fontWeight: FontWeight.bold, color: kTextPrimaryLight),
labelMedium: bodyFont(
fontSize: 12, fontWeight: FontWeight.w600, color: kTextPrimaryLight),
labelSmall: bodyFont(
fontSize: 11, fontWeight: FontWeight.normal, color: kTextPrimaryLight),
);
}