// Sizing shortcuts

.size(@width; @height) {
  width: @width;
  height: @height;
}

.fixedWidth(@width) {
  width: @width;
  min-width: @width;
  max-width: @width;
}

.square(@size) {
  .size(@size; @size);
}

.button-size(
  @padding-y,
  @padding-x,
  @font-size,
  @line-height,
  @border-radius,
  @height: auto,
  @iconWdith: 20px,
  @icon-rightMargin: @Button-icon-rightMargin
) {
  padding: @padding-y @padding-x;
  font-size: @font-size;
  line-height: @line-height;
  border-radius: @border-radius;
  height: @height;

  .@{ns}-Icon:first-child:not(:last-child):not(.pull-right),
  > svg.icon:not(:last-child):not(.pull-right),
  > .pull-left {
    margin-right: @icon-rightMargin;
  }

  .@{ns}-Icon:last-child:not(:first-child):not(.pull-left),
  > .pull-right {
    margin-left: @icon-rightMargin;
  }

  .@{ns}--loading:first-child:not(:last-child):not(.pull-right),
  > svg.Icon:not(:last-child):not(.pull-right),
  > .pull-left {
    margin-right: @icon-rightMargin;
  }

  .@{ns}--loading:last-child:not(:first-child):not(.pull-left),
  > .pull-right {
    margin-left: @icon-rightMargin;
  }

  // img 需要加一下高度限制
  img.@{ns}-Icon {
    height: @Button-fontSize;
    vertical-align: middle;
  }
  // icon属性传入icon 需要加一下高度限制
  .@{ns}-Button-icon:not(.@{ns}-Button--iconOnly svg) {
    height: calc(@Button-lineHeight * @Button-fontSize / 2);
  }
}
