badgeTextColor method

Color badgeTextColor(
  1. OptimusTokens tokens, {
  2. required bool isEnabled,
  3. required bool isPressed,
  4. required bool isHovered,
})

Implementation

Color badgeTextColor(
  OptimusTokens tokens, {
  required bool isEnabled,
  required bool isPressed,
  required bool isHovered,
}) {
  switch (this) {
    case OptimusButtonVariant.primary:
      if (!isEnabled) return tokens.backgroundDisabled;
      if (isPressed) return tokens.backgroundInteractivePrimaryActive;
      if (isHovered) return tokens.backgroundInteractivePrimaryHover;

      return tokens.backgroundInteractivePrimaryDefault;
    case OptimusButtonVariant.secondary:
      if (!isEnabled) return tokens.textDisabled;
      if (isPressed) return tokens.backgroundInteractivePrimaryActive;
      if (isHovered) return tokens.backgroundInteractivePrimaryHover;

      return tokens.textStaticInverse;
    case OptimusButtonVariant.tertiary:
      if (!isEnabled) return tokens.textDisabled;
      if (isPressed) return tokens.backgroundInteractiveNeutralSubtleActive;
      if (isHovered) return tokens.backgroundInteractiveNeutralSubtleHover;

      return tokens.backgroundStaticFlat;
    case OptimusButtonVariant.ghost:
      if (!isEnabled) return tokens.textDisabled;
      if (isPressed) return tokens.backgroundInteractiveNeutralSubtleActive;
      if (isHovered) return tokens.backgroundInteractiveNeutralSubtleHover;

      return tokens.textStaticInverse;
    case OptimusButtonVariant.danger:
      if (!isEnabled) return tokens.backgroundDisabled;
      if (isPressed) return tokens.backgroundInteractiveDangerActive;
      if (isHovered) return tokens.backgroundInteractiveDangerHover;

      return tokens.backgroundInteractiveDangerDefault;
  }
}