mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 13:37:30 +00:00
- Replace uses of deprecated Bourbon helpers with raw CSS
- Add autoprefixer into the build chain to prefix the now removed helpers
This process was achieved by running through each of the deprecation warnings and using the following bash function to replace it in all files:
```
function bourbon-deprecate() {
grep -rl "@include $1" ./frontend --exclude-dir=.git | xargs sed -i '' -E "s/@include $1[(](.*)[)]/$1: \1/g"
}
```
For some helpers, this did not result in valid CSS, so manual modifications were made.
Closes #1189 #1274
165 lines
2.9 KiB
SCSS
165 lines
2.9 KiB
SCSS
$gradient-start: $brand-dark;
|
|
$gradient-end: $brand;
|
|
$inverse-hover: #fafbff;
|
|
$base-class: 'button';
|
|
|
|
@mixin button-variant($color, $hover: null, $shadow: null) {
|
|
@if not $shadow {
|
|
$shadow: adjust-color($color, $lightness: -20%, $saturation: 20%);
|
|
}
|
|
|
|
@if not $hover {
|
|
$hover: darken($color, 5%);
|
|
}
|
|
|
|
background-color: $color;
|
|
|
|
&.#{$base-class}--disabled {
|
|
&:hover {
|
|
background-color: $color;
|
|
}
|
|
}
|
|
|
|
&:hover {
|
|
background-color: $hover;
|
|
}
|
|
}
|
|
|
|
.#{$base-class} {
|
|
@include button-variant($link);
|
|
user-select: none;
|
|
transition: color 150ms ease-in-out, background 150ms ease-in-out, top 50ms ease-in-out, box-shadow 50ms ease-in-out, border 50ms ease-in-out;
|
|
position: relative;
|
|
height: 38px;
|
|
text-align: center;
|
|
color: $white;
|
|
line-height: 36px;
|
|
text-decoration: none;
|
|
text-transform: uppercase;
|
|
letter-spacing: 1px;
|
|
border-radius: 0;
|
|
font-size: $medium;
|
|
font-family: 'Oxygen', $helvetica;
|
|
font-weight: $bold;
|
|
display: inline-block;
|
|
padding: 0 $pad-large;
|
|
top: 0;
|
|
border: 0;
|
|
cursor: pointer;
|
|
box-sizing: border-box;
|
|
|
|
&:focus {
|
|
outline: none;
|
|
}
|
|
|
|
&--brand {
|
|
@include button-variant($brand);
|
|
}
|
|
|
|
&--success {
|
|
@include button-variant($success);
|
|
}
|
|
|
|
&--alert {
|
|
@include button-variant($alert);
|
|
}
|
|
|
|
&--muted {
|
|
@include button-variant(#eceef1, null, $footer-accent);
|
|
|
|
color: $footer-accent;
|
|
}
|
|
|
|
&--warning {
|
|
@include button-variant($warning);
|
|
}
|
|
|
|
&--link {
|
|
@include button-variant($link);
|
|
}
|
|
|
|
&--inverse {
|
|
@include button-variant($white, $inverse-hover, $brand);
|
|
color: $brand;
|
|
border: 1px solid $brand;
|
|
border-bottom-color: $brand;
|
|
|
|
&:active {
|
|
border-bottom-color: $brand;
|
|
}
|
|
}
|
|
|
|
&--inverse-alert {
|
|
@include button-variant($white, $inverse-hover, $alert);
|
|
color: $alert;
|
|
border: 1px solid $alert;
|
|
border-bottom-color: $white;
|
|
|
|
&:active {
|
|
border-bottom-color: $alert;
|
|
}
|
|
}
|
|
|
|
&--block {
|
|
display: block;
|
|
width: 100%;
|
|
}
|
|
|
|
&--disabled {
|
|
opacity: 0.4;
|
|
cursor: default;
|
|
|
|
&:hover {
|
|
cursor: default;
|
|
}
|
|
}
|
|
|
|
&--small {
|
|
height: 28px;
|
|
line-height: 26px;
|
|
padding: 0 $pad-medium;
|
|
}
|
|
|
|
&--large {
|
|
height: 48px;
|
|
line-height: 46px;
|
|
}
|
|
|
|
&--gradient {
|
|
background-color: transparent;
|
|
background-image: linear-gradient(134deg, $gradient-start 0%, $gradient-end 0%);
|
|
color: $white;
|
|
font-size: $large;
|
|
font-weight: $light;
|
|
letter-spacing: 4px;
|
|
padding: $medium;
|
|
width: 100%;
|
|
height: auto;
|
|
}
|
|
|
|
&--unstyled {
|
|
@include button-variant(transparent);
|
|
border: 0;
|
|
box-shadow: none;
|
|
color: $text-dark;
|
|
cursor: pointer;
|
|
margin: 0;
|
|
padding: 0;
|
|
height: auto;
|
|
line-height: normal;
|
|
|
|
&:active {
|
|
box-shadow: none;
|
|
top: 0;
|
|
}
|
|
|
|
&:focus {
|
|
outline: none;
|
|
}
|
|
|
|
&:hover {
|
|
background-color: transparent;
|
|
box-shadow: none;
|
|
}
|
|
}
|
|
}
|