NomoButton.text constructor

NomoButton.text(
  1. {required dynamic onPressed,
  2. required String text,
  3. ButtonSize? size,
  4. dynamic leading,
  5. dynamic trailing,
  6. dynamic color,
  7. dynamic disabledColor,
  8. dynamic highlightColor,
  9. dynamic splashColor,
  10. dynamic textStyle,
  11. dynamic padding = ButtonConstants.padding,
  12. dynamic margin = ButtonConstants.margin,
  13. dynamic borderRadius = ButtonConstants.borderRadius,
  14. dynamic border = ButtonConstants.border,
  15. double elevation = ButtonConstants.elevation,
  16. bool isEnabled = ButtonConstants.isEnabled,
  17. bool isLoading = ButtonConstants.isLoading,
  18. dynamic loadingWidget}
)

Implementation

factory NomoButton.text({
  required VoidCallback onPressed,
  required String text,
  ButtonSize? size,
  Widget? leading,
  Widget? trailing,
  Color? color,
  Color? disabledColor,
  Color? highlightColor,
  Color? splashColor,
  TextStyle? textStyle,
  EdgeInsetsGeometry padding = ButtonConstants.padding,
  EdgeInsetsGeometry margin = ButtonConstants.margin,
  BorderRadiusGeometry borderRadius = ButtonConstants.borderRadius,
  BorderSide border = ButtonConstants.border,
  double elevation = ButtonConstants.elevation,
  bool isEnabled = ButtonConstants.isEnabled,
  bool isLoading = ButtonConstants.isLoading,
  Widget? loadingWidget,
}) {
  double? width;
  double? height;

  switch (size) {
    case ButtonSize.small:
      width = ButtonConstants.smallTextButtonWidth;
      height = ButtonConstants.smallTextButtonHeight;
      break;
    case ButtonSize.medium:
      width = ButtonConstants.mediumTextButtonWidth;
      height = ButtonConstants.mediumTextButtonHeight;
      break;
    case ButtonSize.large:
      width = ButtonConstants.largeTextButtonWidth;
      height = ButtonConstants.largeTextButtonHeight;
      break;
    default:
      break;
  }

  return NomoButton(
    onPressed: onPressed,
    color: color,
    disabledColor: disabledColor,
    highlightColor: highlightColor,
    splashColor: splashColor,
    padding: padding,
    margin: margin,
    borderRadius: borderRadius,
    border: border,
    elevation: elevation,
    isEnabled: isEnabled,
    width: width,
    height: height,
    isLoading: isLoading,
    loadingWidget: loadingWidget,
    leading: leading,
    trailing: trailing,
    child: NomoText(text, style: textStyle),
  );
}