anchor.diff:      )
       bool? fixTextFieldOutlineLabel,
     }) {
  -    assert(colorScheme?.brightness == null || brightness == null || colorScheme!.brightness == brightness);
  -    final Brightness _brightness = brightness ?? colorScheme?.brightness ?? Brightness.light;
  -    final bool isDark = _brightness == Brightness.dark;
  -    visualDensity ??= VisualDensity.adaptivePlatformDensity;
  -    primarySwatch ??= Colors.blue;
  -    primaryColor ??= isDark ? Colors.grey[900]! : primarySwatch;
  -    primaryColorBrightness ??= estimateBrightnessForColor(primaryColor);
  -    primaryColorLight ??= isDark ? Colors.grey[500]! : primarySwatch[100]!;
  -    primaryColorDark ??= isDark ? Colors.black : primarySwatch[700]!;
  -    final bool primaryIsDark = primaryColorBrightness == Brightness.dark;
  -    toggleableActiveColor ??= isDark ? Colors.tealAccent[200]! : (accentColor ?? primarySwatch[600]!);
  -    accentColor ??= isDark ? Colors.tealAccent[200]! : primarySwatch[500]!;
  -    accentColorBrightness ??= estimateBrightnessForColor(accentColor);
  -    final bool accentIsDark = accentColorBrightness == Brightness.dark;
  -    canvasColor ??= isDark ? Colors.grey[850]! : Colors.grey[50]!;
  -    shadowColor ??= Colors.black;
  -    scaffoldBackgroundColor ??= canvasColor;
  -    bottomAppBarColor ??= isDark ? Colors.grey[800]! : Colors.white;
  -    cardColor ??= isDark ? Colors.grey[800]! : Colors.white;
  -    dividerColor ??= isDark ? const Color(0x1FFFFFFF) : const Color(0x1F000000);
  -
  -    // Create a ColorScheme that is backwards compatible as possible
  -    // with the existing default ThemeData color values.
  -    colorScheme ??= ColorScheme.fromSwatch(
  -      primarySwatch: primarySwatch,
  -      primaryColorDark: primaryColorDark,
  -      accentColor: accentColor,
  -      cardColor: cardColor,
  -      backgroundColor: backgroundColor,
  -      errorColor: errorColor,
  -      brightness: _brightness,
  -    );
  -
  -    splashFactory ??= InkSplash.splashFactory;
  -    selectedRowColor ??= Colors.grey[100]!;
  -    unselectedWidgetColor ??= isDark ? Colors.white70 : Colors.black54;
  -    // Spec doesn't specify a dark theme secondaryHeaderColor, this is a guess.
  -    secondaryHeaderColor ??= isDark ? Colors.grey[700]! : primarySwatch[50]!;
  -    textSelectionColor ??= isDark ? accentColor : primarySwatch[200]!;
  -    cursorColor = cursorColor ?? const Color.fromRGBO(66, 133, 244, 1.0);
  -    textSelectionHandleColor ??= isDark ? Colors.tealAccent[400]! : primarySwatch[300]!;
  -    backgroundColor ??= isDark ? Colors.grey[700]! : primarySwatch[200]!;
  -    dialogBackgroundColor ??= isDark ? Colors.grey[800]! : Colors.white;
  -    indicatorColor ??= accentColor == primaryColor ? Colors.white : accentColor;
  -    hintColor ??= isDark ? Colors.white60 : Colors.black.withOpacity(0.6);
  -    errorColor ??= Colors.red[700]!;
  +    // GENERAL CONFIGURATION
  +    applyElevationOverlayColor ??= false;
  +    cupertinoOverrideTheme = cupertinoOverrideTheme?.noDefault();
       inputDecorationTheme ??= const InputDecorationTheme();
  -    pageTransitionsTheme ??= const PageTransitionsTheme();
  -    primaryIconTheme ??= primaryIsDark ? const IconThemeData(color: Colors.white) : const IconThemeData(color: Colors.black);
  -    accentIconTheme ??= accentIsDark ? const IconThemeData(color: Colors.white) : const IconThemeData(color: Colors.black);
  -    iconTheme ??= isDark ? const IconThemeData(color: Colors.white) : const IconThemeData(color: Colors.black87);
       platform ??= defaultTargetPlatform;
  -    typography ??= Typography.material2014(platform: platform);
  -    TextTheme defaultTextTheme = isDark ? typography.white : typography.black;
  -    TextTheme defaultPrimaryTextTheme = primaryIsDark ? typography.white : typography.black;
  -    TextTheme defaultAccentTextTheme = accentIsDark ? typography.white : typography.black;
  -    if (fontFamily != null) {
  -      defaultTextTheme = defaultTextTheme.apply(fontFamily: fontFamily);
  -      defaultPrimaryTextTheme = defaultPrimaryTextTheme.apply(fontFamily: fontFamily);
  -      defaultAccentTextTheme = defaultAccentTextTheme.apply(fontFamily: fontFamily);
  -    }
  -    textTheme = defaultTextTheme.merge(textTheme);
  -    primaryTextTheme = defaultPrimaryTextTheme.merge(primaryTextTheme);
  -    accentTextTheme = defaultAccentTextTheme.merge(accentTextTheme);
       switch (platform) {
         case TargetPlatform.android:
         case TargetPlatform.fuchsia:
  
positive.code:          materialTapTargetSize ??= MaterialTapTargetSize.shrinkWrap;
          break;
      }
      applyElevationOverlayColor ??= false;
  
      // Used as the default color (fill color) for RaisedButtons. Computing the
      // default for ButtonThemeData for the sake of backwards compatibility.
      buttonColor ??= isDark ? primarySwatch[600]! : Colors.grey[300]!;
      focusColor ??= isDark ? Colors.white.withOpacity(0.12) : Colors.black.withOpacity(0.12);
      hoverColor ??= isDark ? Colors.white.withOpacity(0.04) : Colors.black.withOpacity(0.04);
      buttonTheme ??= ButtonThemeData(
        colorScheme: colorScheme,
        buttonColor: buttonColor,
        disabledColor: disabledColor,
        focusColor: focusColor,
        hoverColor: hoverColor,
  
negative.code:       splashColor: splashColor,
        materialTapTargetSize: materialTapTargetSize,
      );
      disabledColor ??= isDark ? Colors.white38 : Colors.black38;
      highlightColor ??= isDark ? _kDarkThemeHighlightColor : _kLightThemeHighlightColor;
      splashColor ??= isDark ? _kDarkThemeSplashColor : _kLightThemeSplashColor;
  
      // TYPOGRAPHY & ICONOGRAPHY
      typography ??= Typography.material2014(platform: platform);
      TextTheme defaultTextTheme = isDark ? typography.white : typography.black;
      TextTheme defaultPrimaryTextTheme = primaryIsDark ? typography.white : typography.black;
      TextTheme defaultAccentTextTheme = accentIsDark ? typography.white : typography.black;
      if (fontFamily != null) {
        defaultTextTheme = defaultTextTheme.apply(fontFamily: fontFamily);
        defaultPrimaryTextTheme = defaultPrimaryTextTheme.apply(fontFamily: fontFamily);
        defaultAccentTextTheme = defaultAccentTextTheme.apply(fontFamily: fontFamily);
      }
      textTheme = defaultTextTheme.merge(textTheme);
      primaryTextTheme = defaultPrimaryTextTheme.merge(primaryTextTheme);
      iconTheme ??= isDark ? const IconThemeData(color: Colors.white) : const IconThemeData(color: Colors.black87);
      primaryIconTheme ??= primaryIsDark ? const IconThemeData(color: Colors.white) : const IconThemeData(color: Colors.black);
  
      // COMPONENT THEMES
      appBarTheme ??= const AppBarTheme();
      bannerTheme ??= const MaterialBannerThemeData();
      bottomAppBarTheme ??= const BottomAppBarTheme();
      bottomNavigationBarTheme ??= const BottomNavigationBarThemeData();
      bottomSheetTheme ??= const BottomSheetThemeData();
      buttonBarTheme ??= const ButtonBarThemeData();
      cardTheme ??= const CardTheme();
      chipTheme ??= ChipThemeData.fromDefaults(
        secondaryColor: isDark ? Colors.tealAccent[200]! : primaryColor,
        brightness: colorScheme.brightness,
        labelStyle: textTheme.bodyText1!,
      );
      checkboxTheme ??= const CheckboxThemeData();
      dataTableTheme ??= const DataTableThemeData();
      dialogTheme ??= const DialogTheme();
      dividerTheme ??= const DividerThemeData();
      drawerTheme ??= const DrawerThemeData();
      elevatedButtonTheme ??= const ElevatedButtonThemeData();
      floatingActionButtonTheme ??= const FloatingActionButtonThemeData();
      listTileTheme ??= const ListTileThemeData();
      navigationBarTheme ??= const NavigationBarThemeData();
      navigationRailTheme ??= const NavigationRailThemeData();
      outlinedButtonTheme ??= const OutlinedButtonThemeData();
      popupMenuTheme ??= const PopupMenuThemeData();
      progressIndicatorTheme ??= const ProgressIndicatorThemeData();
      radioTheme ??= const RadioThemeData();
      sliderTheme ??= const SliderThemeData();
      snackBarTheme ??= const SnackBarThemeData();
      switchTheme ??= const SwitchThemeData();
      tabBarTheme ??= const TabBarTheme();
      textButtonTheme ??= const TextButtonThemeData();
      textSelectionTheme ??= const TextSelectionThemeData();
      timePickerTheme ??= const TimePickerThemeData();
      toggleButtonsTheme ??= const ToggleButtonsThemeData();
      tooltipTheme ??= const TooltipThemeData();
  
       // DEPRECATED (newest deprecations at the bottom)
      useTextSelectionTheme ??= true;
      textSelectionColor ??= isDark ? accentColor : primarySwatch[200]!;
      cursorColor = cursorColor ?? const Color.fromRGBO(66, 133, 244, 1.0);
      textSelectionHandleColor ??= isDark ? Colors.tealAccent[400]! : primarySwatch[300]!;
      accentTextTheme = defaultAccentTextTheme.merge(accentTextTheme);
      accentIconTheme ??= accentIsDark ? const IconThemeData(color: Colors.white) : const IconThemeData(color: Colors.black);
      buttonColor ??= isDark ? primarySwatch[600]! : Colors.grey[300]!;
      fixTextFieldOutlineLabel ??= true;
  
      return ThemeData.raw(
        // GENERAL CONFIGURATION
  