-
Notifications
You must be signed in to change notification settings - Fork 0
/
border-radius.js
40 lines (32 loc) · 919 Bytes
/
border-radius.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
import Declaration from "../declaration.js";
class BorderRadius extends Declaration {
/**
* Change syntax, when add Mozilla prefix
*/
prefixed(prop, prefix) {
if (prefix === "-moz-") {
return prefix + (BorderRadius.toMozilla[prop] || prop);
}
return super.prefixed(prop, prefix);
}
/**
* Return unprefixed version of property
*/
normalize(prop) {
return BorderRadius.toNormal[prop] || prop;
}
}
BorderRadius.names = ["border-radius"];
BorderRadius.toMozilla = {};
BorderRadius.toNormal = {};
for (let ver of ["top", "bottom"]) {
for (let hor of ["left", "right"]) {
let normal = `border-${ver}-${hor}-radius`;
let mozilla = `border-radius-${ver}${hor}`;
BorderRadius.names.push(normal);
BorderRadius.names.push(mozilla);
BorderRadius.toMozilla[normal] = mozilla;
BorderRadius.toNormal[mozilla] = normal;
}
}
export default BorderRadius;