/* decor */
%button,
%internal-button {
  @extend %user-select-none;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
}
%button:disabled,
%internal-button:disabled {
  cursor: default;
  box-shadow: none;
}
%copy-button {
  @extend %button;
  min-height: 17px;
}
%copy-button::before {
  @extend %with-copy-action-mask, %as-pseudo;
  background-color: $gray-500;
}
%copy-button:not(:empty)::before {
  margin-right: 10px;
}
%primary-button,
%secondary-button,
%dangerous-button {
  @extend %button;
  border-width: 1px;
  border-radius: $decor-radius-100;
  box-shadow: $decor-elevation-300;
}
/* color */
%copy-button {
  color: $color-action;
  background-color: $color-transparent;
}
%copy-button:hover:not(:disabled):not(:active),
%copy-button:focus {
  /*frame-grey frame-blue*/
  color: $color-action;
  background-color: $gray-050;
}
%copy-button:hover::before {
  background-color: $blue-500;
}
%copy-button:active {
  background-color: $gray-200;
}
%primary-button {
  @extend %frame-blue-800;
}
%primary-button:hover:not(:disabled):not(:active),
%primary-button:focus {
  @extend %frame-blue-700;
}
%primary-button:disabled {
  @extend %frame-blue-600;
}
%primary-button:hover:active {
  @extend %frame-blue-900;
}
/**/
%secondary-button:hover:not(:disabled):not(:active),
%secondary-button:focus {
  @extend %frame-gray-300;
}
%secondary-button {
  @extend %frame-gray-400;
}
%secondary-button:disabled {
  color: $gray-600;
}
%secondary-button:active {
  /* %frame-gray-something */
  @extend %frame-gray-700;
  background-color: $gray-200;
  color: $gray-800;
  border-color: $gray-700;
}
/**/
%dangerous-button {
  @extend %frame-red-300;
}
%dangerous-button:hover:not(:disabled):not(:active),
%dangerous-button:focus {
  @extend %frame-red-700;
}
%dangerous-button:disabled {
  @extend %frame-red-600;
}
%dangerous-button:hover:active {
  @extend %frame-red-900;
}

%internal-button {
  color: $gray-900;
  background-color: $white;
}
%internal-button-dangerous {
  @extend %frame-red-300;
}
%internal-button-dangerous-intent {
  @extend %frame-red-700;
}
%internal-button-intent {
  background-color: $gray-050;
}
%internal-button:focus,
%internal-button:hover {
  @extend %internal-button-intent;
}
%internal-button-dangerous:focus,
%internal-button-dangerous:hover {
  @extend %internal-button-dangerous-intent;
}

%split-button span::after {
  @extend %as-pseudo;
  position: absolute;
  width: 1px;
  top: 0;
  height: 100%;
  margin-left: 8px;
  background-color: $gray-300;
}
%sort-button::before {
  @extend %with-sort-mask, %as-pseudo;
  position: relative;
  top: 4px;
  width: 16px;
  height: 16px;
}
%sort-button::after {
  top: 0 !important;
}
