withBorder method

AbstractButtonStyle withBorder({
  1. Border? border,
  2. Border? hoverBorder,
  3. Border? focusBorder,
  4. Border? disabledBorder,
})

Implementation

AbstractButtonStyle withBorder(
    {Border? border,
    Border? hoverBorder,
    Border? focusBorder,
    Border? disabledBorder}) {
  return copyWith(
    decoration: (context, states, decoration) {
      if (decoration is BoxDecoration) {
        return decoration.copyWith(
          border: states.disabled
              ? disabledBorder ?? decoration.border
              : states.hovered
                  ? hoverBorder ?? decoration.border
                  : states.focused
                      ? focusBorder ?? decoration.border
                      : border,
        );
      }
      return decoration;
    },
  );
}