UNPKG

1.32 kBJavaScriptView Raw
1/* eslint-disable no-plusplus */
2
3const DIRECTIONAL_FALLBACKS = {
4 Top: ['Vertical', ''],
5 Bottom: ['Vertical', ''],
6 Vertical: [''],
7 Left: ['Horizontal', ''],
8 Right: ['Horizontal', ''],
9 Horizontal: [''],
10};
11
12const DIRECTIONAL_SUFFICES = Object.keys(DIRECTIONAL_FALLBACKS);
13
14export default function getDefaultStyleValue(key, flatStyle) {
15 if (key === 'backgroundColor') {
16 return 'rgba(0,0,0,0)';
17 }
18 if (key === 'color' || key.indexOf('Color') !== -1) {
19 return 'rgba(0,0,0,1)';
20 }
21 if (key.indexOf('rotate') === 0 || key.indexOf('skew') === 0) {
22 return '0deg';
23 }
24 if (key === 'opacity' || key.indexOf('scale') === 0) {
25 return 1;
26 }
27 if (key === 'fontSize') {
28 return 14;
29 }
30 if (key.indexOf('margin') === 0 || key.indexOf('padding') === 0) {
31 for (let suffix, i = 0; i < DIRECTIONAL_SUFFICES.length; i++) {
32 suffix = DIRECTIONAL_SUFFICES[i];
33 if (key.substr(-suffix.length) === suffix) {
34 const prefix = key.substr(0, key.length - suffix.length);
35 const fallbacks = DIRECTIONAL_FALLBACKS[suffix];
36 for (let fallback, j = 0; j < fallbacks.length; j++) {
37 fallback = prefix + fallbacks[j];
38 if (fallback in flatStyle) {
39 return flatStyle[fallback];
40 }
41 }
42 break;
43 }
44 }
45 }
46 return 0;
47}