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
  restActiveTrackColorLight = colors.accentColorLight;
  restInactiveTrackColorLight = colors.restBaseColorLight;
  restThumbColorLight = colors.restBaseColorLight;
  restActiveTrackColorDark = colors.accentColorDark;
  restInactiveTrackColorDark = colors.restBaseColorDark;
  restThumbColorDark = colors.restBaseColorDark;

  // Hover state
  hoverActiveTrackColorLight = colors.accentColorLight;
  hoverInactiveTrackColorLight = colors.hoverBaseColorLight;
  hoverThumbColorLight = colors.hoverBaseColorLight;
  hoverActiveTrackColorDark = colors.accentColorDark;
  hoverInactiveTrackColorDark = colors.hoverBaseColorDark;
  hoverThumbColorDark = colors.hoverBaseColorDark;

  // Pressed state
  pressedActiveTrackColorLight = colors.accentColorLight;
  pressedInactiveTrackColorLight = colors.pressedBaseColorLight;
  pressedThumbColorLight = colors.pressedBaseColorLight;
  pressedActiveTrackColorDark = colors.accentColorDark;
  pressedInactiveTrackColorDark = colors.pressedBaseColorDark;
  pressedThumbColorDark = colors.pressedBaseColorDark;

  // Disabled state
  disabledActiveTrackColorLight = colors.disabledIconColorLight;
  disabledInactiveTrackColorLight = colors.disabledBaseColorLight;
  disabledThumbColorLight = colors.disabledBaseColorLight;
  disabledActiveTrackColorDark = colors.disabledIconColorDark;
  disabledInactiveTrackColorDark = colors.disabledBaseColorDark;
  disabledThumbColorDark = colors.disabledBaseColorDark;
}