part of 'mw_theme.dart'; class MoonWellDecorations extends ThemeExtension { final Gradient goldBevel; // for gilded headers/buttons final Shadow textGlow; // subtle moonlight glow final List cardGlow; const MoonWellDecorations({ required this.goldBevel, required this.textGlow, required this.cardGlow, }); @override MoonWellDecorations copyWith({ Gradient? goldBevel, Shadow? textGlow, List? cardGlow, }) => MoonWellDecorations( goldBevel: goldBevel ?? this.goldBevel, textGlow: textGlow ?? this.textGlow, cardGlow: cardGlow ?? this.cardGlow, ); @override ThemeExtension lerp( ThemeExtension? other, double t, ) { if (other is! MoonWellDecorations) return this; return MoonWellDecorations( goldBevel: Gradient.lerp(goldBevel, other.goldBevel, t)!, textGlow: Shadow.lerp(textGlow, other.textGlow, t)!, cardGlow: [ for (int i = 0; i < cardGlow.length; i++) BoxShadow.lerp(cardGlow[i], other.cardGlow[i], t)!, ], ); } }