getIconTheme function

IconTheme getIconTheme({
  1. required ThemeData theme,
  2. required S360fButtonSize size,
  3. required S360fButtonVariant variant,
  4. S360fWidgetColorVariant color = S360fWidgetColorVariant.primary,
  5. bool isDisable = false,
  6. IconThemeData? data,
  7. Widget? icon,
})

Implementation

IconTheme getIconTheme({
  required ThemeData theme,
  required S360fButtonSize size,
  required S360fButtonVariant variant,
  S360fWidgetColorVariant color = S360fWidgetColorVariant.primary,
  bool isDisable = false,
  IconThemeData? data,
  Widget? icon,
}) {
  final iconSize = data?.size ?? getIconSize(size);
  final iconColor =
      data?.color ??
      getButtonForegroundColor(
        theme,
        variant: variant,
        isDisable: isDisable,
        color: color,
      );

  return IconTheme(
    data: (data ?? const IconThemeData()).copyWith(
      size: iconSize,
      color: iconColor,
    ),
    child: icon ?? const Icon(Icons.add),
  );
}