kLightFastTheme top-level property

ThemeData kLightFastTheme
final

Implementation

final kLightFastTheme = kBaseFastTheme.copyWith(
  scaffoldBackgroundColor: kFastLightPrimaryBackgroundColor,
  backgroundColor: kFastLightSecondaryBackgroundColor,
  dialogBackgroundColor: kFastLightSecondaryBackgroundColor,
  hintColor: kFastLightHintLabelColor,
  textTheme: _baseTextTheme.copyWith(
    headline4: _baseTextTheme.headline4!.copyWith(
      color: kFastLightLabelColor,
    ),
    headline5: _baseTextTheme.headline5!.copyWith(
      color: kFastLightLabelColor,
    ),
    headline3: _baseTextTheme.subtitle1!.copyWith(
      color: kFastLightSecondaryLabelColor,
    ),
    headline6: _baseTextTheme.headline6!.copyWith(
      color: kFastLightLabelColor,
    ),
    subtitle1: _baseTextTheme.subtitle1!.copyWith(
      color: kFastLightSecondaryLabelColor,
    ),
    subtitle2: _baseTextTheme.subtitle2!.copyWith(
      color: kFastLightTertiaryLabelColor,
    ),
    bodyText1: _baseTextTheme.bodyText1!.copyWith(
      color: kFastLightSecondaryLabelColor,
    ),
    bodyText2: _baseTextTheme.bodyText2!.copyWith(
      color: kFastLightTertiaryLabelColor,
    ),
    button: _baseTextTheme.button!.copyWith(
      color: kFastLightLabelColor,
    ),
    caption: _baseTextTheme.caption!.copyWith(
      color: kFastLightSecondaryLabelColor,
    ),
    overline: _baseTextTheme.overline!.copyWith(
      color: kFastLightSecondaryLabelColor,
    ),
  ),
  cardTheme: CardTheme(color: kFastLightSecondaryBackgroundColor),
  iconTheme: IconThemeData(color: kFastLightLabelColor),
  tabBarTheme: _baseTabBarTheme.copyWith(
    labelColor: kFastLightLabelColor,
    unselectedLabelColor: kFastLightSecondaryLabelColor,
  ),
  dividerColor: kFastLightSeparatorColor,
  dividerTheme: DividerThemeData(
    color: kFastLightSeparatorColor,
    thickness: kFastDividerSize,
    indent: kFastDividerIndent,
  ),
  inputDecorationTheme: kInputDecorationTheme.copyWith(
    hintStyle: TextStyle(color: kFastLightHintLabelColor),
    enabledBorder: UnderlineInputBorder(
      borderSide: BorderSide(
        color: kFastLightSeparatorColor,
        width: kFastBorderSize,
      ),
    ),
  ),
  popupMenuTheme: PopupMenuThemeData(
    color: kFastLightSecondaryBackgroundColor,
  ),
  scrollbarTheme: ScrollbarThemeData(
    thumbColor: MaterialStateProperty.resolveWith((states) {
      const interactiveStates = <MaterialState>{
        MaterialState.hovered,
        MaterialState.dragged,
      };

      if (states.any(interactiveStates.contains)) {
        return kFastLightGrayPaletteColors.mid;
      }

      return kFastLightGrayPaletteColors.light;
    }),
  ),
  shadowColor: kFastLightShadowColor,
  navigationBarTheme: kFastNavigationBarTheme.copyWith(
    surfaceTintColor: kFastLightWhiteColor,
    iconTheme: MaterialStateProperty.resolveWith<IconThemeData>((states) {
      if (states.contains(MaterialState.disabled)) {
        return IconThemeData(color: kFastLightTertiaryLabelColor);
      } else if (states.contains(MaterialState.selected)) {
        return IconThemeData(color: kFastLightWhiteColor);
      }

      return IconThemeData(color: kFastLightSecondaryLabelColor);
    }),
    labelTextStyle: MaterialStateProperty.resolveWith<TextStyle>(
      (
        Set<MaterialState> states,
      ) {
        var base = GoogleFonts.barlowSemiCondensed(
          fontWeight: kFastFontWeightRegular,
          fontSize: kFastFontSize16,
        );

        if (states.contains(MaterialState.disabled)) {
          return base.copyWith(color: kFastLightTertiaryLabelColor);
        } else if (states.contains(MaterialState.selected)) {
          return base.copyWith(color: kFastLightLabelColor);
        }

        return base.copyWith(color: kFastLightSecondaryLabelColor);
      },
    ),
  ),
  navigationRailTheme: kFastNavigationRailTheme.copyWith(
    backgroundColor: kFastLightWhiteColor,
    selectedIconTheme: IconThemeData(color: kFastLightWhiteColor),
    unselectedIconTheme: IconThemeData(color: kFastLightSecondaryLabelColor),
    selectedLabelTextStyle: GoogleFonts.barlowSemiCondensed(
      fontWeight: kFastFontWeightRegular,
      fontSize: kFastFontSize16,
      color: kFastLightLabelColor,
    ),
    unselectedLabelTextStyle: GoogleFonts.barlowSemiCondensed(
      fontWeight: kFastFontWeightRegular,
      fontSize: kFastFontSize16,
      color: kFastLightSecondaryLabelColor,
    ),
  ),
);