ElevarmTertiaryNeutralButton.text constructor

ElevarmTertiaryNeutralButton.text({
  1. required String text,
  2. double height = ElevarmButtonHeights.md,
  3. VoidCallback? onPressed,
  4. bool isDestructive = false,
  5. Key? key,
})

Creates ElevarmTertiaryNeutralButton with only text as content.

Implementation

factory ElevarmTertiaryNeutralButton.text({
  required String text,
  double height = ElevarmButtonHeights.md,
  VoidCallback? onPressed,
  bool isDestructive = false,
  Key? key,
}) {
  return ElevarmTertiaryNeutralButton(
    key: key,
    height: height,
    onPressed: onPressed,
    isDestructive: isDestructive,
    builder: (context, isFocused, isHovered) {
      Color textColor;
      if (!isDestructive) {
        if (!isHovered) {
          textColor = onPressed != null
              ? ElevarmColors.neutral500
              : ElevarmColors.neutral100;
        } else {
          textColor = ElevarmColors.neutral;
        }
      } else {
        if (!isHovered) {
          textColor = onPressed != null
              ? ElevarmColors.danger
              : ElevarmColors.danger300;
        } else {
          textColor = ElevarmColors.danger800;
        }
      }
      return Text(
        text,
        textAlign: TextAlign.center,
        style: ElevarmFontFamilies.inter(
          color: textColor,
          fontSize: ElevarmButtonTextFontSize.fromButtonHeights(height),
          fontWeight: ElevarmFontWeights.semibold,
        ),
      );
    },
  );
}