@import "rocket-button/build/sass/import";

@mixin button($color: color(button-default), $style: gradient) {
  @extend button;
  @include mod-button-setup;
  @include mod-button-shape(rounded);
  @include mod-button-size(normal);
  @include mod-button-size-custom($height: 28px, $padding: 0.75rem);
  @include mod-button-style($style, $color);
  font: {
    family: $system-font;
    weight: bolder;
  }
  margin: 2px 0px;

  &:hover {
    @if $style == line {
      @include mod-button-style(gradient, $color);
    }
  }
}

@mixin button-create {
  @include button($color: color(button-create));
}

@mixin button-edit($style: null) {
  @include button($color: color(button-edit), $style: $style);
}

@mixin button-save {
  @include button($color: color(button-save));
}

.button {
  @include button;

  &.new {
    @include button-create;
  }

  &.edit {
    @include button-edit;

    &.payment {
      @include button-edit($style: line);
    }
  }

  &.save {
    @include button-save;
  }
}

@import "rocket-button/build/sass/import";

@mixin button($color: color(button-default), $style: gradient) {
  $style: if($style, $style, gradient); // TODO: file a bug on this: nulls don't propagate properly from caller
  @extend button;
  @include mod-button-setup;
  @include mod-button-shape(rounded);
  @include mod-button-size(normal);
  @include mod-button-size-custom($height: 28px, $padding: 0.75rem);
  @include mod-button-style($style, $color);
  font: {
    family: $system-font;
    weight: bolder;
  }
  margin: 2px 0px;

  &:hover {
    @if $style == line {
      @include mod-button-style(gradient, $color);
    }
  }
}

@mixin button-create {
  @include button($color: color(button-create));
}

@mixin button-edit($style: null) {
  @include button($color: color(button-edit), $style: $style);
}

@mixin button-save {
  @include button($color: color(button-save));
}

.button {
  @include button;

  &.new {
    @include button-create;
  }

  &.edit {
    @include button-edit;

    &.payment {
      @include button-edit($style: line);
    }
  }

  &.save {
    @include button-save;
  }
}

Work around a Sass bug.
Work around a Sass bug.
