MihrButtonDefaults class

Single source of truth for button styles.

Contains two categories:

Structural — baseStyle provides shape, size, padding, splash, animation, and cursor. No colors. This feeds both Mihr buttons and Material button themes.

Color — primaryColors, secondaryColors, etc. provide backgroundColor, foregroundColor, side, and elevation using semantic tokens. Mihr buttons merge baseStyle + colorStyle. Material buttons use only baseStyle and get colors from ColorScheme.

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

baseStyle({required MihrButtonSize size, OutlinedBorder? shape, bool isSquare = false}) → ButtonStyle
Structural-only ButtonStyle for a regular (non-link) button.
destructiveLinkColors({required ForegroundColors fg}) → ButtonStyle
Destructive link — text-only with error color.
destructivePrimaryColors({required BackgroundColors bg, required ForegroundColors fg}) → ButtonStyle
Destructive primary — solid error fill.
destructiveSecondaryColors({required BackgroundColors bg, required ForegroundColors fg, required BorderColors border}) → ButtonStyle
Destructive secondary — outlined with error border.
destructiveSoftPrimaryColors({required BackgroundColors bg, required ForegroundColors fg, required UtilityScale errorScale}) → ButtonStyle
Destructive soft primary — tinted error bg with error text.
destructiveTertiaryColors({required BackgroundColors bg, required ForegroundColors fg}) → ButtonStyle
Destructive tertiary — ghost with error text.
linkBaseStyle({required MihrButtonSize size, required Color hoverDecorationColor, OutlinedBorder? shape}) → ButtonStyle
Structural style for link-style buttons (no padding, underline on hover).
linkBrandColors({required ForegroundColors fg}) → ButtonStyle
Link button colors — brand-colored text, no background.
linkGrayColors({required ForegroundColors fg}) → ButtonStyle
Link button colors — gray text variant.
primaryColors({required BackgroundColors bg, required ForegroundColors fg}) → ButtonStyle
Primary button colors — solid brand fill.
secondaryColors({required BackgroundColors bg, required ForegroundColors fg, required BorderColors border}) → ButtonStyle
Secondary button colors — outlined with gray border.
softPrimaryColors({required BackgroundColors bg, required ForegroundColors fg, required UtilityScale brandScale}) → ButtonStyle
Soft primary — tinted brand bg with brand text, no border.
tertiaryColors({required BackgroundColors bg, required ForegroundColors fg}) → ButtonStyle
Tertiary button colors — ghost, transparent background.