-
Notifications
You must be signed in to change notification settings - Fork 0
/
buttons.go
68 lines (65 loc) · 1.47 KB
/
buttons.go
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
package styles
import (
"github.com/AccentDesign/gcss"
"github.com/AccentDesign/gcss/props"
"github.com/AccentDesign/gcss/variables"
)
// Buttons styles for the stylesheet.
func (ss *StyleSheet) Buttons() Styles {
return Styles{
MergeStyles(
gcss.Style{
Selector: ".button",
Props: gcss.Props{
AlignItems: props.AlignItemsCenter,
BorderRadius: variables.Size1H,
Display: props.DisplayInlineFlex,
FontSize: variables.Size3H,
FontWeight: props.FontWeightMedium,
Height: variables.Size10,
JustifyContent: props.JustifyContentCenter,
LineHeight: variables.Size5,
PaddingTop: variables.Size2,
PaddingRight: variables.Size4,
PaddingBottom: variables.Size2,
PaddingLeft: variables.Size4,
},
},
transitionColors,
),
}
}
// Buttons styles for the theme.
func (t *Theme) Buttons() Styles {
return Styles{
{
Selector: ".button-primary",
Props: gcss.Props{
BackgroundColor: t.Primary,
Color: t.PrimaryForeground,
},
},
{
Selector: ".button-primary:hover",
Props: gcss.Props{
BackgroundColor: t.Primary.Alpha(230),
},
},
{
Selector: ".button-outline",
Props: gcss.Props{
Border: props.Border{
Color: t.Primary,
Style: props.BorderStyleSolid,
Width: props.UnitPx(1),
},
},
},
{
Selector: ".button-outline:hover",
Props: gcss.Props{
BorderColor: t.Primary.Alpha(204),
},
},
}
}