resolveStyle<T extends App<T>> static method
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,
),
};
}