Skip to content

Commit

Permalink
fix: Add AnimatedIconTheme to MoonButton (#46)
Browse files Browse the repository at this point in the history
  • Loading branch information
Kypsis committed Feb 20, 2023
1 parent 57f6751 commit 7c99334
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 5 deletions.
19 changes: 18 additions & 1 deletion example/lib/src/storybook/stories/button.dart
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,24 @@ class ButtonStory extends Story {
description: "Set button to full width.",
);

final resolvedIconVariant = buttonSizesKnob == MoonButtonSize.md ? MoonIcons.frame24 : MoonIcons.frame16;
IconData resolveIconVariant(MoonButtonSize buttonSize) {
switch (buttonSize) {
case MoonButtonSize.xs:
return MoonIcons.frame16;
case MoonButtonSize.sm:
return MoonIcons.frame24;
case MoonButtonSize.md:
return MoonIcons.frame24;
case MoonButtonSize.lg:
return MoonIcons.frame24;
case MoonButtonSize.xl:
return MoonIcons.frame24;
default:
return MoonIcons.frame24;
}
}

final resolvedIconVariant = resolveIconVariant(buttonSizesKnob);

return Directionality(
textDirection: setRtlModeKnob ? TextDirection.rtl : TextDirection.ltr,
Expand Down
12 changes: 8 additions & 4 deletions lib/src/widgets/buttons/button.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import 'package:figma_squircle/figma_squircle.dart';
import 'package:flutter/material.dart';
import 'package:moon_design/src/theme/borders.dart';

import 'package:moon_design/src/theme/borders.dart';
import 'package:moon_design/src/theme/button/button_sizes.dart';
import 'package:moon_design/src/theme/colors.dart';
import 'package:moon_design/src/theme/effects/hover_effects.dart';
import 'package:moon_design/src/theme/theme.dart';
import 'package:moon_design/src/utils/animated_icon_theme.dart';
import 'package:moon_design/src/utils/extensions.dart';
import 'package:moon_design/src/widgets/base_control.dart';

Expand Down Expand Up @@ -193,8 +194,8 @@ class MoonButton extends StatelessWidget {
this.pulseEffectCurve,
this.padding,
this.borderRadius,
this.label,
this.leftIcon,
this.label,
this.rightIcon,
});

Expand Down Expand Up @@ -419,8 +420,11 @@ class MoonButton extends StatelessWidget {
),
),
),
child: IconTheme(
data: IconThemeData(color: effectiveTextColor, size: effectiveMoonButtonSize.iconSizeValue),
child: AnimatedIconTheme(
duration: effectiveHoverEffectDuration,
curve: effectiveHoverEffectCurve,
color: effectiveTextColor,
size: effectiveMoonButtonSize.iconSizeValue,
child: AnimatedDefaultTextStyle(
style: TextStyle(color: effectiveTextColor, fontSize: effectiveMoonButtonSize.textStyle.fontSize),
duration: effectiveHoverEffectDuration,
Expand Down

0 comments on commit 7c99334

Please sign in to comment.