153 lines
3.3 KiB
SCSS
Executable File
153 lines
3.3 KiB
SCSS
Executable File
@import "functions";
|
|
@import "global";
|
|
|
|
|
|
/*********
|
|
! Buttons
|
|
**********/
|
|
|
|
@mixin linked_button($bg, $shadow) {
|
|
border: 1px solid border_normal($bg);
|
|
border-radius: 0;
|
|
border-right-style: none;
|
|
border-left-style: none;
|
|
box-shadow: inset -1px 0 border_normal($bg),
|
|
0 1px 2px -1px alpha($shadow, .3);
|
|
|
|
&:first-child {
|
|
border-width: 1px;
|
|
border-radius: $roundness;
|
|
border-left-style: solid;
|
|
border-right-style: none;
|
|
border-top-right-radius: 0;
|
|
border-bottom-right-radius: 0;
|
|
|
|
&:dir(rtl) {
|
|
border-left-style: none;
|
|
border-right-style: solid;
|
|
}
|
|
}
|
|
|
|
&:last-child {
|
|
border-width: 1px;
|
|
border-radius: $roundness;
|
|
border-left-style: none;
|
|
border-right-style: solid;
|
|
border-top-left-radius: 0;
|
|
border-bottom-left-radius: 0;
|
|
|
|
&:dir(rtl) {
|
|
border-left-style: solid;
|
|
border-right-style: none;
|
|
}
|
|
}
|
|
|
|
&:only-child {
|
|
border-width: 1px;
|
|
border-radius: $roundness;
|
|
}
|
|
|
|
&:focus, &:hover {
|
|
box-shadow: inset -1px 0 border_focus($bg),
|
|
0 1px 2px -1px alpha($shadow, .3);
|
|
}
|
|
|
|
&:active, &:active:hover,
|
|
&:active:focus, &:active:hover:focus,
|
|
&:checked, &:checked:hover,
|
|
&:checked:focus, &:checked:hover:focus {
|
|
box-shadow: inset -1px 0 border_active($bg),
|
|
inset 1px 0 alpha($shadow, .07),
|
|
inset 0 1px alpha($shadow, .08),
|
|
inset 0 -1px alpha($shadow, .05);
|
|
}
|
|
|
|
&:insensitive { box-shadow: inset -1px 0 border_insensitive($bg); }
|
|
|
|
&:last-child, &:only-child,
|
|
&:insensitive:last-child, &:insensitive:only-child,
|
|
&:active:insensitive:last-child, &:active:insensitive:only-child,
|
|
&:checked:insensitive:last-child, &:checked:insensitive:only-child { box-shadow: none; }
|
|
|
|
&:active:last-child, &:active:only-child,
|
|
&:checked:last-child, &:checked:only-child {
|
|
box-shadow: inset 1px 0 alpha($shadow, .07),
|
|
inset 0 1px alpha($shadow, .08),
|
|
inset -1px 0 alpha($shadow, .07);
|
|
}
|
|
}
|
|
|
|
@mixin button($bg, $fg) {
|
|
@include linear-gradient(shade($bg, 1.05));
|
|
@include border(shade($bg, 1.05));
|
|
|
|
padding: ($spacing - 1px) ($spacing + 1px);
|
|
border-width: 1px;
|
|
border-radius: $roundness;
|
|
border-style: solid;
|
|
color: $fg;
|
|
transition: 100ms ease;
|
|
box-shadow: 0 1px 2px -1px alpha($dark_shadow, .3);
|
|
|
|
-GtkWidget-focus-padding: 1;
|
|
-GtkWidget-focus-line-width: 0;
|
|
|
|
&:focus, &:hover {
|
|
@include linear-gradient(shade($bg, 1.1));
|
|
|
|
box-shadow: 0 1px 3px -1px alpha($dark_shadow, .5);
|
|
}
|
|
|
|
&:checked, &:active {
|
|
@include linear-gradient(shade($bg, .95));
|
|
|
|
box-shadow: inset 1px 0 alpha($dark_shadow, .07),
|
|
inset 0 1px alpha($dark_shadow, .08),
|
|
inset -1px 0 alpha($dark_shadow, .07),
|
|
inset 0 -1px alpha($dark_shadow, .05);
|
|
}
|
|
|
|
&:insensitive {
|
|
@include linear-gradient(shade($bg, .95));
|
|
|
|
color: mix($bg, $fg, .5);
|
|
box-shadow: none;
|
|
}
|
|
|
|
&:active:insensitive,
|
|
&:checked:insensitive {
|
|
@include linear-gradient(shade($bg, .8));
|
|
|
|
box-shadow: none;
|
|
}
|
|
|
|
&.flat {
|
|
color: inherit;
|
|
|
|
&, &:hover, &:focus,
|
|
&:active, &:active:hover, &:active:focus,
|
|
&:checked, &:checked:hover, &:checked:focus {
|
|
border: none;
|
|
background-color: transparent;
|
|
background-image: none;
|
|
}
|
|
|
|
// TODO
|
|
}
|
|
|
|
&.separator, .separator {
|
|
color: shade($bg, .95);
|
|
border: 1px solid currentColor;
|
|
|
|
&:insensitive { color: shade($bg, .85); }
|
|
}
|
|
|
|
.linked & { @include linked_button($bg, $dark_shadow); }
|
|
}
|
|
|
|
.button {
|
|
@include button($bg_color, $fg_color);
|
|
|
|
&.default { @include button($selected_bg_color, $selected_fg_color); }
|
|
}
|