refactor: make the whole thing more generic

This commit is contained in:
2024-04-02 16:28:57 +02:00
parent 7b648e1955
commit 651f3ad808
193 changed files with 763 additions and 521 deletions

View File

@@ -0,0 +1,69 @@
@mixin button-focus() {
box-shadow: inset 0 0 0 $border-width $accent;
background-color: $hover;
color: $hover-fg;
}
@mixin button-hover() {
box-shadow: inset 0 0 0 $border-width $border-color;
background-color: $hover;
color: $hover-fg;
}
@mixin button-active() {
box-shadow: inset 0 0 0 $border-width $border-color;
background-image: $active-gradient;
background-color: $accent;
color: $accent-fg;
}
@mixin button-disabled() {
box-shadow: none;
background-color: transparent;
color: transparentize($fg-color, 0.7);
}
@mixin button($flat: false, $reactive: true, $radii: $radii, $focusable: true) {
all: unset;
transition: $transition;
border-radius: $radii;
color: $fg-color;
@if $flat {
background-color: transparent;
background-image: none;
box-shadow: none;
} @else {
background-color: $widget-bg;
box-shadow: inset 0 0 0 $border-width $border-color;
}
@if $reactive {
@if $focusable {
&:focus {
@include button-focus;
}
}
&:hover {
@include button-hover;
}
&:active,
&.on,
&.active,
&:checked {
@include button-active;
&:hover {
box-shadow:
inset 0 0 0 $border-width $border-color,
inset 0 0 0 99px $hover;
}
}
}
&:disabled {
@include button-disabled;
}
}