getEffectiveLightIntensity method

double getEffectiveLightIntensity(
  1. dynamic state, [
  2. bool isDarkMode = false
])

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.

Implementation

double getEffectiveLightIntensity(dynamic state, [bool isDarkMode = false]) {
  final stateStr = _normalizeState(state);
  final baseValue = isDarkMode ? 0.05 : 0.7;

  switch (stateStr) {
    case 'rest':
      return restOverrideEnabled && restLightIntensityOverride != null
          ? restLightIntensityOverride!
          : baseValue;
    case 'hover':
      return hoverOverrideEnabled && hoverLightIntensityOverride != null
          ? hoverLightIntensityOverride!
          : baseValue;
    case 'pressed':
      return pressedOverrideEnabled && pressedLightIntensityOverride != null
          ? pressedLightIntensityOverride!
          : baseValue;
    case 'disabled':
      return disabledOverrideEnabled && disabledLightIntensityOverride != null
          ? disabledLightIntensityOverride!
          : (isDarkMode ? 0.03 : 0.5);
    default:
      return baseValue;
  }
}