applyTheme method

  1. @override
void applyTheme(
  1. GeneratedPalette palette
)
override

Apply colors from a GeneratedPalette to this component's state.

This method is called when the theme changes or when a new palette is generated. It should update all color properties based on the palette's values.

Implementation should use ThemeColorMapper.forComponent() for component-specific color resolution.

Implementation

@override
void applyTheme(GeneratedPalette palette) {
  super.applyTheme(palette);

  final colors = ThemeColorMapper.forComponent(palette, componentName);

  // Rest state (track/background)
  restBackgroundColorLight =
      colors.restIconColorLight; // Slightly darker for sunken track
  restTrackColorLight = colors.restBaseColorLight;
  restBackgroundColorDark = colors.restIconColorDark;
  restTrackColorDark = colors.restBaseColorDark;

  // Filled state (progress fill uses accent)
  filledColorLight = colors.accentColorLight;
  filledTextColorLight =
      colors.restBaseColorLight; // Text on accent needs contrast
  filledColorDark = colors.accentColorDark;
  filledTextColorDark = colors.restBaseColorDark;

  // Border color
  borderColor = colors.accentColorLight;
}