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) {
// Call base implementation to set common colors and palette
super.applyTheme(palette);
// Get colors for toggle-specific mapping
final colors = ThemeColorMapper.forComponent(palette, componentName);
// Rest state - Track OFF uses base color, Track ON uses accent
restTrackColorOffLight = colors.restBaseColorLight;
restTrackColorOnLight = colors.accentColorLight;
restKnobColorLight = colors.restBaseColorLight;
restTrackColorOffDark = colors.restBaseColorDark;
restTrackColorOnDark = colors.accentColorDark;
restKnobColorDark = colors.hoverBaseColorDark;
// Hover state
hoverTrackColorOffLight = colors.hoverBaseColorLight;
hoverTrackColorOnLight = colors.accentColorLight;
hoverKnobColorLight = colors.hoverBaseColorLight;
hoverTrackColorOffDark = colors.hoverBaseColorDark;
hoverTrackColorOnDark = colors.accentColorDark;
hoverKnobColorDark = colors.pressedBaseColorDark;
// Pressed state
pressedTrackColorOffLight = colors.pressedBaseColorLight;
pressedTrackColorOnLight = colors.accentColorLight;
pressedKnobColorLight = colors.pressedBaseColorLight;
pressedTrackColorOffDark = colors.pressedBaseColorDark;
pressedTrackColorOnDark = colors.accentColorDark;
pressedKnobColorDark = colors.restBaseColorDark;
// Disabled state
disabledTrackColorLight = colors.disabledBaseColorLight;
disabledKnobColorLight = colors.disabledIconColorLight;
disabledTrackColorDark = colors.disabledBaseColorDark;
disabledKnobColorDark = colors.disabledIconColorDark;
}