mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 19:46:20 +00:00
71 lines
1.5 KiB
SCSS
71 lines
1.5 KiB
SCSS
@mixin button-focus() {
|
|
box-shadow: inset 0 0 0 $border-width $primary-bg;
|
|
background-color: $hover-bg;
|
|
color: $hover-fg;
|
|
}
|
|
|
|
@mixin button-hover() {
|
|
box-shadow: inset 0 0 0 $border-width $border-color;
|
|
background-color: $hover-bg;
|
|
color: $hover-fg;
|
|
}
|
|
|
|
@mixin button-active() {
|
|
box-shadow: inset 0 0 0 $border-width $border-color;
|
|
background-image: $active-gradient;
|
|
background-color: $primary-bg;
|
|
color: $primary-fg;
|
|
}
|
|
|
|
@mixin button-disabled() {
|
|
box-shadow: none;
|
|
background-color: transparent;
|
|
color: transparentize($fg, 0.7);
|
|
}
|
|
|
|
@mixin button($flat: false, $reactive: true, $radius: $radius, $focusable: true) {
|
|
all: unset;
|
|
transition: $transition;
|
|
border-radius: $radius;
|
|
color: $fg;
|
|
|
|
@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-bg;
|
|
}
|
|
}
|
|
}
|
|
|
|
&:disabled {
|
|
@include button-disabled;
|
|
}
|
|
}
|