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) {
super.applyTheme(palette);
final colors = ThemeColorMapper.forComponent(palette, componentName);
// Title colors (secondary text)
restTitleColorLight =
ThemeColorMapper.getSecondaryTextColor(palette, Brightness.light);
restTitleColorDark =
ThemeColorMapper.getSecondaryTextColor(palette, Brightness.dark);
hoverTitleColorLight =
ThemeColorMapper.getSecondaryTextColor(palette, Brightness.light);
hoverTitleColorDark =
ThemeColorMapper.getSecondaryTextColor(palette, Brightness.dark);
pressedTitleColorLight =
ThemeColorMapper.getSecondaryTextColor(palette, Brightness.light);
pressedTitleColorDark =
ThemeColorMapper.getSecondaryTextColor(palette, Brightness.dark);
disabledTitleColorLight = colors.disabledTextColorLight;
disabledTitleColorDark = colors.disabledTextColorDark;
// Value colors (primary text)
restValueColorLight = colors.restTextColorLight;
restValueColorDark = colors.restTextColorDark;
hoverValueColorLight = colors.hoverTextColorLight;
hoverValueColorDark = colors.hoverTextColorDark;
pressedValueColorLight = colors.pressedTextColorLight;
pressedValueColorDark = colors.pressedTextColorDark;
disabledValueColorLight = colors.disabledTextColorLight;
disabledValueColorDark = colors.disabledTextColorDark;
// Status colors kept semantic (green for "Normal")
// Icon colors kept semantic (red for heart)
// Disabled icon colors from theme
disabledIconColorLight = colors.disabledIconColorLight;
disabledIconColorDark = colors.disabledIconColorDark;
// Disabled status colors from theme
disabledStatusColorLight = colors.disabledTextColorLight;
disabledStatusColorDark = colors.disabledTextColorDark;
}