/**
 *
 * This file may have been modified by Bytedance Inc. (“Bytedance Inc.'s Modifications”). 
 * All Bytedance Inc.'s Modifications are Copyright (year) Bytedance Inc..  
 * 
 * This source code is licensed under the Apache license.
 * See LICENSE file in the project root for license information.
 *
 */
// 按钮 - 尺寸
.sbtn-size(@padding-y, @padding-x, @min-width, @lineH) {
  padding: @padding-y @padding-x;
  min-width: @min-width;
  line-height: @lineH;
}

// 按钮 - icon
.sbtn-icon(@width, @height) {

  .anticon {
    width: @width;
    height: @height;
    font-size: @height;
  }
}

.sbtn-style(
@background,
@border-color,
@color,
@hover-background,
@hover-border-color,
@hover-color,
@active-background,
@active-border-color,
@active-color,
@disable-background,
@disable-border-color,
@disable-color,
) {
  color: @color;
  background: @background;
  border: 1px solid @border-color;

  &:focus,
  &.focus {
    background: @background;
    color: @color;
    border-color: @border-color;
  }

  &:hover {
    background: @hover-background;
    color: @hover-color;
    border-color: @hover-border-color;
    z-index: 3;
  }

  &:active {
    background: @active-background;
    color: @active-color;
    border-color: @active-border-color;
  }

  &[disabled],
  &:disabled,
  &.disabled {
    background: @disable-background;
    color: @disable-color;
    border-color: @disable-border-color;

    &:hover {
      color: @disable-color;
    }
  }
}

// 按钮 - 颜色
.sbtn-style-default() {
  .sbtn-style(
    @btn-style-default-background,
    @btn-style-default-border-color,
    @btn-style-default-color,
    @btn-style-default-hover-background,
    @btn-style-default-hover-border-color,
    @btn-style-default-hover-color,
    @btn-style-default-active-background,
    @btn-style-default-active-border-color,
    @btn-style-default-active-color,
    @btn-style-default-disable-background,
    @btn-style-default-disable-border-color,
    @btn-style-default-disable-color
  );
}

.sbtn-style-primary() {
  .sbtn-style(
    @btn-style-primary-background,
    @btn-style-primary-border-color,
    @btn-style-primary-color,
    @btn-style-primary-hover-background,
    @btn-style-primary-hover-border-color,
    @btn-style-primary-hover-color,
    @btn-style-primary-active-background,
    @btn-style-primary-active-border-color,
    @btn-style-primary-active-color,
    @btn-style-primary-disable-background,
    @btn-style-primary-disable-border-color,
    @btn-style-primary-disable-color
  );
}

.sbtn-style-secondary() {
  .sbtn-style(
    @btn-style-secondary-background,
    @btn-style-secondary-border-color,
    @btn-style-secondary-color,
    @btn-style-secondary-hover-background,
    @btn-style-secondary-hover-border-color,
    @btn-style-secondary-hover-color,
    @btn-style-secondary-active-background,
    @btn-style-secondary-active-border-color,
    @btn-style-secondary-active-color,
    @btn-style-secondary-disable-background,
    @btn-style-secondary-disable-border-color,
    @btn-style-secondary-disable-color
  );
}

.sbtn-style-tertiary() {
  .sbtn-style(
    @btn-style-tertiary-background,
    @btn-style-tertiary-border-color,
    @btn-style-tertiary-color,
    @btn-style-tertiary-hover-background,
    @btn-style-tertiary-hover-border-color,
    @btn-style-tertiary-hover-color,
    @btn-style-tertiary-active-background,
    @btn-style-tertiary-active-border-color,
    @btn-style-tertiary-active-color,
    @btn-style-tertiary-disable-background,
    @btn-style-tertiary-disable-border-color,
    @btn-style-tertiary-disable-color
  );
}


.sbtn-style-dangerous() {
  .sbtn-style(
    @btn-style-dangerous-background,
    @btn-style-dangerous-border-color,
    @btn-style-dangerous-color,
    @btn-style-dangerous-hover-background,
    @btn-style-dangerous-hover-border-color,
    @btn-style-dangerous-hover-color,
    @btn-style-dangerous-active-background,
    @btn-style-dangerous-active-border-color,
    @btn-style-dangerous-active-color,
    @btn-style-dangerous-disable-background,
    @btn-style-dangerous-disable-border-color,
    @btn-style-dangerous-disable-color
  );
}

.sbtn-style-primary-dangerous() {
  .sbtn-style(
    @btn-style-primary-dangerous-background,
    @btn-style-primary-dangerous-border-color,
    @btn-style-primary-dangerous-color,
    @btn-style-primary-dangerous-hover-background,
    @btn-style-primary-dangerous-hover-border-color,
    @btn-style-primary-dangerous-hover-color,
    @btn-style-primary-dangerous-active-background,
    @btn-style-primary-dangerous-active-border-color,
    @btn-style-primary-dangerous-active-color,
    @btn-style-primary-dangerous-disable-background,
    @btn-style-primary-dangerous-disable-border-color,
    @btn-style-primary-dangerous-disable-color
  );
}

.sbtn-style-secondary-dangerous() {
  .sbtn-style(
    @btn-style-secondary-dangerous-background,
    @btn-style-secondary-dangerous-border-color,
    @btn-style-secondary-dangerous-color,
    @btn-style-secondary-dangerous-hover-background,
    @btn-style-secondary-dangerous-hover-border-color,
    @btn-style-secondary-dangerous-hover-color,
    @btn-style-secondary-dangerous-active-background,
    @btn-style-secondary-dangerous-active-border-color,
    @btn-style-secondary-dangerous-active-color,
    @btn-style-secondary-dangerous-disable-background,
    @btn-style-secondary-dangerous-disable-border-color,
    @btn-style-secondary-dangerous-disable-color
  );
}

.sbtn-style-dashed() {
  .sbtn-style(
    @btn-style-dashed-background,
    @btn-style-dashed-border-color,
    @btn-style-dashed-color,
    @btn-style-dashed-hover-background,
    @btn-style-dashed-hover-border-color,
    @btn-style-dashed-hover-color,
    @btn-style-dashed-active-background,
    @btn-style-dashed-active-border-color,
    @btn-style-dashed-active-color,
    @btn-style-dashed-disable-background,
    @btn-style-dashed-disable-border-color,
    @btn-style-dashed-disable-color
  );
}

.sbtn-style-link() {
  .sbtn-style(
    @btn-style-link-background,
    @btn-style-link-border-color,
    @btn-style-link-color,
    @btn-style-link-hover-background,
    @btn-style-link-hover-border-color,
    @btn-style-link-hover-color,
    @btn-style-link-active-background,
    @btn-style-link-active-border-color,
    @btn-style-link-active-color,
    @btn-style-link-disable-background,
    @btn-style-link-disable-border-color,
    @btn-style-link-disable-color
  );
}

.sbtn-style-text() {
  .sbtn-style(
    @btn-style-text-background,
    @btn-style-text-border-color,
    @btn-style-text-color,
    @btn-style-text-hover-background,
    @btn-style-text-hover-border-color,
    @btn-style-text-hover-color,
    @btn-style-text-active-background,
    @btn-style-text-active-border-color,
    @btn-style-text-active-color,
    @btn-style-text-disable-background,
    @btn-style-text-disable-border-color,
    @btn-style-text-disable-color
  );
}
