Skip to content

Commit 26dc650

Browse files
authored
Merge pull request #7 from contentful/feature/button-active-state
Add active state to Button component
2 parents 7acf75a + 245e8b1 commit 26dc650

1 file changed

Lines changed: 39 additions & 8 deletions

File tree

  • packages/forma-36-react-components/src/components/Button

packages/forma-36-react-components/src/components/Button/Button.css

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
font-size: calc(1rem * (14 / var(--rem-base)));
1919
overflow: hidden;
2020
transition: all var(--transition-duration-default)
21-
var(--transition-easing-default);
21+
var(--transition-easing-default),
22+
background-image 0ms, background-color 0ms;
2223
vertical-align: middle;
2324
text-decoration: none;
2425

@@ -36,31 +37,46 @@
3637
}
3738

3839
.Button--muted {
39-
background: var(--color-element-light);
40+
transition: all var(--transition-duration-default)
41+
var(--transition-easing-default);
42+
background-color: var(--color-element-light);
4043

4144
&:hover:not(.Button--disabled),
4245
&:focus:not(.Button--disabled) {
43-
background: var(--color-element-mid);
46+
background-color: var(--color-element-mid);
47+
}
48+
49+
&:active:not(.Button--disabled) {
50+
transition: none;
51+
background-color: var(--color-element-dark);
4452
}
4553
}
4654

4755
.Button--naked {
48-
background: transparent;
56+
background-color: transparent;
4957
border: none;
58+
transition: all var(--transition-duration-default)
59+
var(--transition-easing-default);
5060

5161
&:hover:not(.Button--disabled),
5262
&:focus:not(.Button--disabled) {
53-
background: var(--color-element-light);
63+
background-color: var(--color-element-light);
64+
}
65+
66+
&:active:not(.Button--disabled) {
67+
transition: none;
68+
background-color: var(--color-element-mid);
5469
}
5570
}
5671

5772
.Button--primary {
5873
border-color: var(--color-blue-dark);
59-
background: linear-gradient(
74+
background-image: linear-gradient(
6075
to top,
6176
var(--color-blue-base),
6277
var(--color-blue-light)
6378
);
79+
background-color: var(---color-blue-base);
6480
background-size: 100% 200%;
6581

6682
&:hover:not(.Button--disabled),
@@ -73,14 +89,19 @@
7389
box-shadow: 0px 0px 5px var(--color-blue-dark);
7490
}
7591

92+
&:active:not(.Button--disabled) {
93+
background-image: none;
94+
background-color: var(--color-blue-dark);
95+
}
96+
7697
& .Button__label {
7798
color: var(--color-element-lightest);
7899
}
79100
}
80101

81102
.Button--positive {
82103
border-color: var(--color-green-dark);
83-
background: linear-gradient(
104+
background-image: linear-gradient(
84105
to top,
85106
var(--color-green-base),
86107
var(--color-green-light)
@@ -97,14 +118,19 @@
97118
box-shadow: 0px 0px 5px var(--color-green-dark);
98119
}
99120

121+
&:active:not(.Button--disabled) {
122+
background-image: none;
123+
background-color: var(--color-green-dark);
124+
}
125+
100126
& .Button__label {
101127
color: var(--color-element-lightest);
102128
}
103129
}
104130

105131
.Button--negative {
106132
border-color: var(--color-red-dark);
107-
background: linear-gradient(
133+
background-image: linear-gradient(
108134
to top,
109135
var(--color-red-base),
110136
var(--color-red-light)
@@ -121,6 +147,11 @@
121147
box-shadow: 0px 0px 5px var(--color-red-dark);
122148
}
123149

150+
&:active:not(.Button--disabled) {
151+
background-image: none;
152+
background-color: var(--color-red-dark);
153+
}
154+
124155
& .Button__label {
125156
color: var(--color-element-lightest);
126157
}

0 commit comments

Comments
 (0)