IconButtonState class

State management for Icon Button component Category 2: Simple Interactive with Animations States: Rest, Hover, Pressed, Disabled

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: IconButton uses size instead of width/height, and has animation presets.

Inheritance

Constructors

IconButtonState()

Properties

animationPreset ↔ AnimationPreset
getter/setter pair
blur ↔ double
getter/setter pairinherited
borderColor ↔ Color
getter/setter pairinherited
borderRadius ↔ double
getter/setter pairinherited
borderWidth ↔ double
getter/setter pairinherited
bounceDuration ↔ double
getter/setter pair
bounceIntensity ↔ double
getter/setter pair
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
disabledLightIntensityOverride ↔ double?
getter/setter pairinherited
disabledOverrideEnabled ↔ bool
getter/setter pairinherited
disabledTextColorDark ↔ Color
getter/setter pairinherited
disabledTextColorLight ↔ Color
getter/setter pairinherited
distance ↔ double
getter/setter pairinherited
fadeScaleDuration ↔ double
getter/setter pair
fadeScaleFadeIntensity ↔ double
getter/setter pair
fadeScaleScaleIntensity ↔ double
getter/setter pair
glowColor ↔ Color
Glow color (uses icon color if transparent)
getter/setter pair
glowIntensity ↔ double
Glow effect intensity
getter/setter pair
growWiggleAngle ↔ double
getter/setter pair
growWiggleGrowDuration ↔ double
getter/setter pair
growWiggleScaleIntensity ↔ double
getter/setter pair
growWiggleSpeed ↔ double
getter/setter pair
growWiggleWiggleDuration ↔ double
getter/setter pair
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
hoverLightIntensityOverride ↔ double?
getter/setter pairinherited
hoverOverrideEnabled ↔ bool
getter/setter pairinherited
hoverTextColorDark ↔ Color
getter/setter pairinherited
hoverTextColorLight ↔ Color
getter/setter pairinherited
icon ↔ IconData
Icon to display
getter/setter pair
iconSize ↔ double
Icon size within the button
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
pressedLightIntensityOverride ↔ double?
getter/setter pairinherited
pressedOverrideEnabled ↔ bool
getter/setter pairinherited
pressedTextColorDark ↔ Color
getter/setter pairinherited
pressedTextColorLight ↔ Color
getter/setter pairinherited
pulseDuration ↔ double
getter/setter pair
pulseIntensity ↔ double
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
restLightIntensityOverride ↔ double?
getter/setter pairinherited
restOverrideEnabled ↔ bool
getter/setter pairinherited
restTextColorDark ↔ Color
getter/setter pairinherited
restTextColorLight ↔ Color
getter/setter pairinherited
rotateAngle ↔ double
getter/setter pair
rotateDuration ↔ double
getter/setter pair
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
scaleDuration ↔ double
getter/setter pair
scaleIntensity ↔ double
getter/setter pair
shakeDuration ↔ double
getter/setter pair
shakeIntensity ↔ double
getter/setter pair
showAnimatedBorder ↔ bool
getter/setter pairinherited
size ↔ double
Icon button size (used instead of width/height)
getter/setter pair
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
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
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.