/
borderRadius.js
44 lines (41 loc) · 1.51 KB
/
borderRadius.js
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
import _ from 'lodash'
import nameClass from '../util/nameClass'
export default function() {
return function({ addUtilities, theme, variants }) {
const generators = [
(value, modifier) => ({
[nameClass('rounded', modifier)]: { borderRadius: `${value}` },
}),
(value, modifier) => ({
[nameClass('rounded-t', modifier)]: {
borderTopLeftRadius: `${value}`,
borderTopRightRadius: `${value}`,
},
[nameClass('rounded-r', modifier)]: {
borderTopRightRadius: `${value}`,
borderBottomRightRadius: `${value}`,
},
[nameClass('rounded-b', modifier)]: {
borderBottomRightRadius: `${value}`,
borderBottomLeftRadius: `${value}`,
},
[nameClass('rounded-l', modifier)]: {
borderTopLeftRadius: `${value}`,
borderBottomLeftRadius: `${value}`,
},
}),
(value, modifier) => ({
[nameClass('rounded-tl', modifier)]: { borderTopLeftRadius: `${value}` },
[nameClass('rounded-tr', modifier)]: { borderTopRightRadius: `${value}` },
[nameClass('rounded-br', modifier)]: { borderBottomRightRadius: `${value}` },
[nameClass('rounded-bl', modifier)]: { borderBottomLeftRadius: `${value}` },
}),
]
const utilities = _.flatMap(generators, generator => {
return _.flatMap(theme('borderRadius'), (value, modifier) => {
return generator(value, modifier)
})
})
addUtilities(utilities, variants('borderRadius'))
}
}