applyTheme method
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) {
_palette = palette;
final colors = ThemeColorMapper.forComponent(palette, componentNameGetter);
// Rest state colors
restBaseColorLight = colors.restBaseColorLight;
restTextColorLight = colors.restTextColorLight;
restIconColorLight = colors.restIconColorLight;
restBaseColorDark = colors.restBaseColorDark;
restTextColorDark = colors.restTextColorDark;
restIconColorDark = colors.restIconColorDark;
// Hover state colors
hoverBaseColorLight = colors.hoverBaseColorLight;
hoverTextColorLight = colors.hoverTextColorLight;
hoverIconColorLight = colors.hoverIconColorLight;
hoverBaseColorDark = colors.hoverBaseColorDark;
hoverTextColorDark = colors.hoverTextColorDark;
hoverIconColorDark = colors.hoverIconColorDark;
// Pressed state colors
pressedBaseColorLight = colors.pressedBaseColorLight;
pressedTextColorLight = colors.pressedTextColorLight;
pressedIconColorLight = colors.pressedIconColorLight;
pressedBaseColorDark = colors.pressedBaseColorDark;
pressedTextColorDark = colors.pressedTextColorDark;
pressedIconColorDark = colors.pressedIconColorDark;
// Disabled state colors
disabledBaseColorLight = colors.disabledBaseColorLight;
disabledTextColorLight = colors.disabledTextColorLight;
disabledIconColorLight = colors.disabledIconColorLight;
disabledBaseColorDark = colors.disabledBaseColorDark;
disabledTextColorDark = colors.disabledTextColorDark;
disabledIconColorDark = colors.disabledIconColorDark;
// Update border color to match theme accent
borderColor = colors.accentColorLight;
// Notify listeners of theme change
notifyListeners();
}