variantStyle property
The ButtonStyle
to be applied to the variant sheet widget
Implementation
@override
get variantStyle => {
ButtonVariant.text: const DrivenButtonStyle(
backgroundOpacity: 0,
borderStyle: BorderStyle.none,
disabledStyle: ButtonStyle(
foregroundAlpha: ButtonStyle.disabledForegroundAlpha,
),
),
ButtonVariant.tonal: const DrivenButtonStyle(
backgroundOpacity: .12,
borderStyle: BorderStyle.none,
disabledStyle: ButtonStyle(
foregroundAlpha: ButtonStyle.disabledForegroundAlpha,
backgroundAlpha: ButtonStyle.disabledBackgroundAlpha,
borderAlpha: ButtonStyle.disabledBorderAlpha,
),
),
ButtonVariant.filled: const DrivenButtonStyle(
backgroundOpacity: 1,
borderStyle: BorderStyle.none,
disabledStyle: ButtonStyle(
foregroundAlpha: ButtonStyle.disabledForegroundAlpha,
backgroundAlpha: ButtonStyle.disabledBackgroundAlpha,
borderAlpha: ButtonStyle.disabledBorderAlpha,
),
hoveredStyle: ButtonStyle(elevation: 1),
pressedStyle: ButtonStyle(elevation: 0),
),
ButtonVariant.elevated: const DrivenButtonStyle(
elevation: 1,
backgroundOpacity: 1,
borderStyle: BorderStyle.none,
disabledStyle: ButtonStyle(
foregroundAlpha: ButtonStyle.disabledForegroundAlpha,
backgroundAlpha: ButtonStyle.disabledBackgroundAlpha,
borderAlpha: ButtonStyle.disabledBorderAlpha,
),
hoveredStyle: ButtonStyle(elevation: 3),
pressedStyle: ButtonStyle(elevation: 1),
),
ButtonVariant.outlined: const DrivenButtonStyle(
backgroundOpacity: 0,
borderOpacity: 1,
borderWidth: 1,
borderStyle: BorderStyle.solid,
disabledStyle: ButtonStyle(
foregroundAlpha: ButtonStyle.disabledForegroundAlpha,
borderAlpha: ButtonStyle.disabledBorderAlpha,
),
),
}.merge(super.variantStyle);