deriveDarkTemplate method

M3EThemeData deriveDarkTemplate()

Builds a dark template from this light-oriented M3EThemeData.

Preserves non-color tokens (type scale, spacing, component themes) while swapping in a dark M3EColorScheme seeded from colorScheme.primary.

Implementation

M3EThemeData deriveDarkTemplate() {
  return M3EThemeData.dark(seedColor: colorScheme.primary).copyWith(
    typeScale: typeScale,
    iconTheme: iconTheme,
    spacing: spacing,
    visualDensity: visualDensity,
    platform: platform,
    useMaterial3: useMaterial3,
    splashColor: splashColor,
    highlightColor: highlightColor,
    appBarTheme: appBarTheme,
    badgeTheme: badgeTheme,
    bottomSheetTheme: bottomSheetTheme,
    buttonTheme: buttonTheme,
    cardTheme: cardTheme,
    carouselTheme: carouselTheme,
    checkboxTheme: checkboxTheme,
    chipTheme: chipTheme,
    datePickerTheme: datePickerTheme,
    dialogTheme: dialogTheme,
    dividerTheme: dividerTheme,
    dropdownMenuTheme: dropdownMenuTheme,
    fabTheme: fabTheme,
    fabMenuTheme: fabMenuTheme,
    iconButtonTheme: iconButtonTheme,
    listTheme: listTheme,
    loadingIndicatorTheme: loadingIndicatorTheme,
    menuTheme: menuTheme,
    navigationBarTheme: navigationBarTheme,
    navigationDrawerTheme: navigationDrawerTheme,
    navigationRailTheme: navigationRailTheme,
    progressIndicatorTheme: progressIndicatorTheme,
    radioTheme: radioTheme,
    refreshIndicatorTheme: refreshIndicatorTheme,
    searchBarTheme: searchBarTheme,
    searchViewTheme: searchViewTheme,
    segmentedButtonTheme: segmentedButtonTheme,
    sideSheetTheme: sideSheetTheme,
    sliderTheme: sliderTheme,
    snackBarTheme: snackBarTheme,
    splitButtonTheme: splitButtonTheme,
    switchTheme: switchTheme,
    tabTheme: tabTheme,
    textFieldTheme: textFieldTheme,
    timePickerTheme: timePickerTheme,
    toggleButtonTheme: toggleButtonTheme,
    toggleButtonGroupTheme: toggleButtonGroupTheme,
    toolbarTheme: toolbarTheme,
    tooltipTheme: tooltipTheme,
  );
}