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.
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.