open-consul/ui-v2/app/styles/base/components/buttons/skin.scss
John Cowen dfb1b16f72
ui: Misc amends for Safari and Firefox (#7907)
1. Ensure dropdown menus function correctly in Safari
2. Ensure default grey color for buttons is not used
3. Ensure IntersectionObservers are cleaned up properly in Safari
2020-05-18 17:21:10 +01:00

136 lines
2.6 KiB
SCSS

/* decor */
%button,
%internal-button {
@extend %user-select-none;
cursor: pointer;
white-space: nowrap;
}
%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;
background-color: $gray-300;
width: 1px;
top: 0;
height: 100%;
margin-left: 8px;
}
%split-button::before {
@extend %as-pseudo;
height: 16px;
}
%sort-button::before {
@extend %with-sort-icon;
margin-top: 8px;
width: 16px;
height: 16px;
}