import 'package:eatvio_app/theme/theme_helper.dart'; import 'package:flutter/material.dart'; /// A collection of pre-defined text styles for customizing text appearance, /// categorized by different font families and weights. /// Additionally, this class includes extensions on [TextStyle] to easily apply specific font families to text. class CustomTextStyles { // Headline style static get headlineSmallMulish => theme.textTheme.headlineSmall!.mulish; // Title text style static get titleMediumSegoeUI => theme.textTheme.titleMedium!.segoeUI.copyWith( fontWeight: FontWeight.w600, ); static get bodyMediumBlack900 => theme.textTheme.bodyMedium!.copyWith( color: appTheme.black900, ); static get bodyMediumBlack90013 => theme.textTheme.bodyMedium!.copyWith( color: appTheme.black900, fontSize: 13, ); static get bodyMediumBluegray800 => theme.textTheme.bodyMedium!.copyWith( color: appTheme.black, ); static get bodyMediumBluegray800_1 => theme.textTheme.bodyMedium!.copyWith( color: appTheme.black, ); static get bodyMediumBluegray800_2 => theme.textTheme.bodyMedium!.copyWith( color: appTheme.black, ); static get bodyMediumWhiteA700 => theme.textTheme.bodyMedium!.copyWith( color: appTheme.whiteA700, ); static get bodySmallMulishBlack900 => theme.textTheme.bodySmall!.mulish.copyWith( color: appTheme.black900, fontSize: 12, ); static get bodySmallMulishBluegray800 => theme.textTheme.bodySmall!.mulish.copyWith( color: appTheme.black, fontSize: 12, ); static get bodySmallMulishBluegray80012 => theme.textTheme.bodySmall!.mulish.copyWith( color: appTheme.black, fontSize: 12, ); static get bodySmallMulishBluegray80012_1 => theme.textTheme.bodySmall!.mulish.copyWith( color: appTheme.black, fontSize: 12, ); static get bodySmallMulishBluegray900 => theme.textTheme.bodySmall!.mulish.copyWith( color: appTheme.blueGray900, fontSize: 12, ); static get bodySmallMulishGray600 => theme.textTheme.bodySmall!.mulish.copyWith( color: appTheme.gray600, ); static get bodySmallMulishPrimary => theme.textTheme.bodySmall!.mulish.copyWith( color: theme.colorScheme.primary, fontSize: 12, ); static get bodySmallSegoeUIBlack900 => theme.textTheme.bodySmall!.segoeUI.copyWith( color: appTheme.black900, fontSize: 12, ); // Label text style static get labelLargeGray60003 => theme.textTheme.labelLarge!.copyWith( color: appTheme.gray60003, ); static get labelLargeWhiteA700 => theme.textTheme.labelLarge!.copyWith( color: appTheme.whiteA700, ); // Title text style static get titleMedium16 => theme.textTheme.titleMedium!.copyWith( fontSize: 16, ); static get titleMediumBlack => theme.textTheme.titleMedium!.copyWith( fontSize: 17, fontWeight: FontWeight.w900, ); static get titleMediumBlack900 => theme.textTheme.titleMedium!.copyWith( color: appTheme.black900, ); static get titleMediumSemiBold => theme.textTheme.titleMedium!.copyWith( fontWeight: FontWeight.w600, ); static get titleMediumWhiteA700 => theme.textTheme.titleMedium!.copyWith( color: appTheme.whiteA700, fontWeight: FontWeight.w600, ); static get titleSmallBlue800 => theme.textTheme.titleSmall!.copyWith( color: appTheme.blue800, fontWeight: FontWeight.w800, ); static get titleSmallBluegray800 => theme.textTheme.titleSmall!.copyWith( color: appTheme.black, ); static get titleSmallBluegray800Bold => theme.textTheme.titleSmall!.copyWith( color: appTheme.black, fontWeight: FontWeight.w700, ); static get titleSmallBluegray800ExtraBold => theme.textTheme.titleSmall!.copyWith( color: appTheme.black, fontWeight: FontWeight.w800, ); static get titleSmallBold => theme.textTheme.titleSmall!.copyWith( fontSize: 15, fontWeight: FontWeight.w700, ); static get titleSmallGreenA70001 => theme.textTheme.titleSmall!.copyWith( color: appTheme.greenA70001, ); static get titleSmallGreenA70001ExtraBold => theme.textTheme.titleSmall!.copyWith( color: appTheme.greenA70001, fontWeight: FontWeight.w800, ); static get titleSmallLightgreen300 => theme.textTheme.titleSmall!.copyWith( color: appTheme.lightGreen300, fontWeight: FontWeight.w800, ); static get titleSmallRed200 => theme.textTheme.titleSmall!.copyWith( color: appTheme.red200, fontWeight: FontWeight.w800, ); static get titleSmallSecondaryContainer => theme.textTheme.titleSmall!.copyWith( color: theme.colorScheme.secondaryContainer, fontWeight: FontWeight.w800, ); static get titleSmallSecondaryContainer_1 => theme.textTheme.titleSmall!.copyWith( color: theme.colorScheme.secondaryContainer, ); static get titleSmallSegoeUIOnPrimary => theme.textTheme.titleSmall!.segoeUI.copyWith( color: theme.colorScheme.onPrimary, ); } extension on TextStyle { TextStyle get mulish { return copyWith(); } TextStyle get segoeUI { return copyWith(); } } abstract class TextStyles { static const headingXLSemibold = TextStyle( fontSize: 20, fontWeight: FontWeight.w600, height: 1.255, ); static const textLSemibold = TextStyle( fontSize: 18, fontWeight: FontWeight.w600, height: 1.255, ); static const textMSemibold = TextStyle( fontSize: 16, fontWeight: FontWeight.w600, height: 1.255, ); static const textMMedium = TextStyle( fontSize: 16, fontWeight: FontWeight.w500, height: 1, ); static const textMMediumAuto = TextStyle( fontSize: 16, fontWeight: FontWeight.w500, height: 1.255, ); static const textSSemibold = TextStyle( fontSize: 14, fontWeight: FontWeight.w600, height: 1.255, ); static const textSMedium = TextStyle( fontSize: 14, fontWeight: FontWeight.w500, height: 1.255, ); static const textXSSemibold = TextStyle( fontSize: 12, fontWeight: FontWeight.w500, height: 1.255, ); }