resolveStyle<T extends App<T>> static method

FButtonTheme<T> resolveStyle<T extends App<T>>(
  1. FButtonStyle style,
  2. FButtonVariant variant
)

Implementation

static FButtonTheme<T> resolveStyle<T extends App<T>>(FButtonStyle style, FButtonVariant variant) {
  final colors = _fButtonVariantColors[variant]!;
  return switch (style) {
    .flat || .pill => .new(
      bg:             colors.solid,
      bgHovered:      colors.solidHover,
      bgClicked:      colors.solidActive,
      bgDisabled:     .color(0xF0, 0xF0, 0xF0, 0xFF),
      fg:             .WHITE,
      fgHovered:      .WHITE,
      fgClicked:      .WHITE,
      fgDisabled:     .color(0xA0, 0xA0, 0xA0, 0xFF),
      border:         .BLANK,
      borderHovered:  .BLANK,
      borderClicked:  .BLANK,
      borderDisabled: .BLANK,
    ),
    .outlined => .new(
      bg:             .BLANK,
      bgHovered:      colors.tintLight,
      bgClicked:      colors.tintMid,
      bgDisabled:     .BLANK,
      fg:             colors.solid,
      fgHovered:      colors.solid,
      fgClicked:      colors.solidActive,
      fgDisabled:     .color(0xB0, 0xB0, 0xB0, 0xFF),
      border:         colors.solid,
      borderHovered:  colors.solid,
      borderClicked:  colors.solidActive,
      borderDisabled: .color(0xD0, 0xD0, 0xD0, 0xFF),
    ),
    .ghost => .new(
      bg:             .BLANK,
      bgHovered:      colors.tintLight,
      bgClicked:      colors.tintMid,
      bgDisabled:     .BLANK,
      fg:             colors.solid,
      fgHovered:      colors.solid,
      fgClicked:      colors.solidActive,
      fgDisabled:     .color(0xB0, 0xB0, 0xB0, 0xFF),
      border:         .BLANK,
      borderHovered:  .BLANK,
      borderClicked:  .BLANK,
      borderDisabled: .BLANK,
    ),
  };
}