ToggleState class

State management for Toggle component Category 1: Simple Interactive (No Animations) States: Rest, Hover, Pressed, Disabled

Toggle is a binary control that switches between ON and OFF states. The visual design shows a sliding knob that moves left/right.

Extends BaseComponentState which provides:

  • Neumorphic shadows (distance, blur, intensities, borderRadius)
  • Animated border (showAnimatedBorder, borderColor, borderWidth)
  • 20 override flags (4 states × 5 overrides)
  • Shadow color helpers (getLightShadowColor, getDarkShadowColor)
  • Effective property helpers (getEffectiveDistance, etc.)

Note: Toggle uses custom track/knob colors instead of base/text/icon colors.

Inheritance

Constructors

ToggleState()

Properties

blur double
getter/setter pairinherited
borderColor Color
getter/setter pairinherited
borderRadius double
getter/setter pairinherited
borderWidth double
getter/setter pairinherited
componentNameGetter String
Component identifier for theme color resolution. Each component should have a unique name like 'button', 'toggle', 'card'. Named componentNameGetter to avoid conflict with static componentName that some subclasses expose for external access.
no setteroverride
darkIntensity double
getter/setter pairinherited
disabledBaseColorDark Color
getter/setter pairinherited
disabledBaseColorLight Color
getter/setter pairinherited
disabledBlurOverride double?
getter/setter pairinherited
disabledDarkIntensityOverride double?
getter/setter pairinherited
disabledDistanceOverride double?
getter/setter pairinherited
disabledIconColorDark Color
getter/setter pairinherited
disabledIconColorLight Color
getter/setter pairinherited
disabledKnobColorDark Color
getter/setter pair
disabledKnobColorLight Color
getter/setter pair
disabledLightIntensityOverride double?
getter/setter pairinherited
disabledOverrideEnabled bool
getter/setter pairinherited
disabledTextColorDark Color
getter/setter pairinherited
disabledTextColorLight Color
getter/setter pairinherited
disabledTrackColorDark Color
getter/setter pair
disabledTrackColorLight Color
getter/setter pair
distance double
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
Whether any listeners are currently registered.
no setterinherited
height double
getter/setter pairinherited
hoverBaseColorDark Color
getter/setter pairinherited
hoverBaseColorLight Color
getter/setter pairinherited
hoverBlurOverride double?
getter/setter pairinherited
hoverDarkIntensityOverride double?
getter/setter pairinherited
hoverDistanceOverride double?
getter/setter pairinherited
hoverIconColorDark Color
getter/setter pairinherited
hoverIconColorLight Color
getter/setter pairinherited
hoverKnobColorDark Color
getter/setter pair
hoverKnobColorLight Color
getter/setter pair
hoverLightIntensityOverride double?
getter/setter pairinherited
hoverOverrideEnabled bool
getter/setter pairinherited
hoverTextColorDark Color
getter/setter pairinherited
hoverTextColorLight Color
getter/setter pairinherited
hoverTrackColorOffDark Color
getter/setter pair
hoverTrackColorOffLight Color
getter/setter pair
hoverTrackColorOnDark Color
getter/setter pair
hoverTrackColorOnLight Color
getter/setter pair
isOn bool
Toggle state (ON/OFF)
getter/setter pair
knobSize double
Knob diameter (not inherited from base - toggle-specific)
getter/setter pair
lightIntensity double
getter/setter pairinherited
paddingH double
getter/setter pairinherited
paddingV double
getter/setter pairinherited
palette GeneratedPalette?
Get the stored palette, if any.
no setterinherited
pressedBaseColorDark Color
getter/setter pairinherited
pressedBaseColorLight Color
getter/setter pairinherited
pressedBlurOverride double?
getter/setter pairinherited
pressedDarkIntensityOverride double?
getter/setter pairinherited
pressedDistanceOverride double?
getter/setter pairinherited
pressedIconColorDark Color
getter/setter pairinherited
pressedIconColorLight Color
getter/setter pairinherited
pressedKnobColorDark Color
getter/setter pair
pressedKnobColorLight Color
getter/setter pair
pressedLightIntensityOverride double?
getter/setter pairinherited
pressedOverrideEnabled bool
getter/setter pairinherited
pressedTextColorDark Color
getter/setter pairinherited
pressedTextColorLight Color
getter/setter pairinherited
pressedTrackColorOffDark Color
getter/setter pair
pressedTrackColorOffLight Color
getter/setter pair
pressedTrackColorOnDark Color
getter/setter pair
pressedTrackColorOnLight Color
getter/setter pair
restBaseColorDark Color
getter/setter pairinherited
restBaseColorLight Color
getter/setter pairinherited
restBlurOverride double?
getter/setter pairinherited
restDarkIntensityOverride double?
getter/setter pairinherited
restDistanceOverride double?
getter/setter pairinherited
restIconColorDark Color
getter/setter pairinherited
restIconColorLight Color
getter/setter pairinherited
restKnobColorDark Color
getter/setter pair
restKnobColorLight Color
getter/setter pair
restLightIntensityOverride double?
getter/setter pairinherited
restOverrideEnabled bool
getter/setter pairinherited
restTextColorDark Color
getter/setter pairinherited
restTextColorLight Color
getter/setter pairinherited
restTrackColorOffDark Color
getter/setter pair
restTrackColorOffLight Color
getter/setter pair
restTrackColorOnDark Color
getter/setter pair
restTrackColorOnLight Color
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showAnimatedBorder bool
getter/setter pairinherited
width double
getter/setter pairinherited

Methods

addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
applyTheme(GeneratedPalette palette) → void
Apply colors from a GeneratedPalette to this component's state.
override
dispose() → void
Discards any resources used by the object. After this is called, the object is not in a usable state and should be discarded (calls to addListener will throw after the object is disposed).
inherited
getComponentSpecificModifiedProperties() Set<String>
Get set of component-specific modified properties. Called by getModifiedProperties() to include custom property tracking.
override
getDarkShadowColor(bool isDarkMode) Color
Get the dark shadow color for neumorphic effects. Uses palette colors when available, falls back to defaults otherwise.
inherited
getDefaultDimensions() → ({double height, double paddingH, double paddingV, double width})
Get component-specific default dimensions. Returns a record with (width, height, paddingH, paddingV).
override
getEffectiveBlur(dynamic state) double
Get effective blur for a given state (applies overrides if enabled). Accepts either String ('rest', 'hover', 'pressed', 'disabled') or ComponentState enum.
inherited
getEffectiveBorderColor(dynamic state) Color
Get effective border color for a given state. Returns the animated border color. Override in subclasses for state-specific border colors. Accepts ComponentState enum or component-specific enum types.
inherited
getEffectiveBorderRadius(dynamic state) double
Get effective border radius for a given state. Most components use the same border radius for all states. Override in subclasses for state-specific border radius. Accepts ComponentState enum or component-specific enum types.
inherited
getEffectiveBorderWidth(dynamic state) double
Get effective border width for a given state. Returns the animated border width. Override in subclasses for state-specific border widths. Accepts ComponentState enum or component-specific enum types.
inherited
getEffectiveDarkIntensity(dynamic state, [bool isDarkMode = false]) double
Get effective dark intensity for a given state. Single argument version - assumes light mode for backward compatibility. Accepts either String ('rest', 'hover', 'pressed', 'disabled') or ComponentState enum.
inherited
getEffectiveDistance(dynamic state) double
Get effective distance for a given state (applies overrides if enabled). Accepts either String ('rest', 'hover', 'pressed', 'disabled') or ComponentState enum.
inherited
getEffectiveHeight(dynamic state) double
Get effective height for a given state. Most components use the same height for all states, so this defaults to height. Override in subclasses for state-specific sizing. Accepts ComponentState enum or component-specific enum types.
inherited
getEffectiveLightIntensity(dynamic state, [bool isDarkMode = false]) double
Get effective light intensity for a given state. Single argument version - assumes light mode for backward compatibility. Accepts either String ('rest', 'hover', 'pressed', 'disabled') or ComponentState enum.
inherited
getEffectiveWidth(dynamic state) double
Get effective width for a given state. Most components use the same width for all states, so this defaults to width. Override in subclasses for state-specific sizing. Accepts ComponentState enum or component-specific enum types.
inherited
getKnobColor(String state, bool isDarkMode) Color
getLightShadowColor(bool isDarkMode) Color
Get the light shadow color for neumorphic effects. Uses palette colors when available, falls back to defaults otherwise.
inherited
getModifiedProperties() Set<String>
Get the set of property names that have been modified from defaults.
inherited
getTrackColor(String state, bool isDarkMode) Color
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
resetComponentSpecificProperties() → void
Reset component-specific properties to defaults. Called by resetToDefaults() after resetting common properties.
override
resetToDefaults() → void
Reset all properties to their default values.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Constants

componentName → const String
Component identifier for theme overrides and external access.