blob: 79ec2751b7b428d33b5508d83d1bbccb1cd08cfb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
@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;
}
}
|