Bladeren bron

Support changing TopTabs font size (#2449)

* Currently doesn't work - need to implement custom TopTab view
Guy Carmeli 6 jaren geleden
bovenliggende
commit
9f1337c2a1
No account linked to committer's email address
23 gewijzigde bestanden met toevoegingen van 127 en 63 verwijderingen
  1. 1
    0
      docs/_sidebar.md
  2. 1
    0
      docs/docs/Container.md
  3. 3
    3
      docs/docs/Navigation.md
  4. 1
    0
      docs/docs/options/BottomTabs.md
  5. 1
    0
      docs/docs/options/NavigationOptions.md
  6. 1
    0
      docs/docs/options/TopBar.md
  7. 10
    0
      docs/docs/options/TopTabs.md
  8. 16
    0
      lib/android/app/src/main/java/com/reactnativenavigation/parse/Color.java
  9. 0
    3
      lib/android/app/src/main/java/com/reactnativenavigation/parse/ColorParser.java
  10. 4
    4
      lib/android/app/src/main/java/com/reactnativenavigation/parse/NullColor.java
  11. 12
    0
      lib/android/app/src/main/java/com/reactnativenavigation/parse/NullNumber.java
  12. 8
    0
      lib/android/app/src/main/java/com/reactnativenavigation/parse/Number.java
  13. 9
    0
      lib/android/app/src/main/java/com/reactnativenavigation/parse/NumberParser.java
  14. 20
    0
      lib/android/app/src/main/java/com/reactnativenavigation/parse/Param.java
  15. 8
    15
      lib/android/app/src/main/java/com/reactnativenavigation/parse/TopTabsOptions.java
  16. 1
    0
      lib/android/app/src/main/java/com/reactnativenavigation/presentation/OptionsPresenter.java
  17. 6
    1
      lib/android/app/src/main/java/com/reactnativenavigation/views/TopBar.java
  18. 6
    1
      lib/android/app/src/main/java/com/reactnativenavigation/views/TopTabs.java
  19. 12
    4
      lib/android/app/src/main/java/com/reactnativenavigation/views/TopTabsStyleHelper.java
  20. 0
    30
      lib/android/app/src/main/java/com/reactnativenavigation/views/style/Color.java
  21. 2
    0
      lib/src/params/options/TopTabs.js
  22. 3
    1
      lib/src/params/options/TopTabs.test.js
  23. 2
    1
      playground/src/containers/WelcomeScreen.js

+ 1
- 0
docs/_sidebar.md Bestand weergeven

11
 - Options
11
 - Options
12
  - [NavigationOptions](/docs/options/NavigationOptions)
12
  - [NavigationOptions](/docs/options/NavigationOptions)
13
  - [TopBar](/docs/options/TopBar)
13
  - [TopBar](/docs/options/TopBar)
14
+ - [TopTabs](/docs/options/TopTabs)
14
  - [TopTab](/docs/options/TopTab)
15
  - [TopTab](/docs/options/TopTab)
15
  - [Button](/docs/options/Button)
16
  - [Button](/docs/options/Button)
16
  - [BottomTabs](/docs/options/BottomTabs)
17
  - [BottomTabs](/docs/options/BottomTabs)

+ 1
- 0
docs/docs/Container.md Bestand weergeven

5
 | Name | Type | Description |
5
 | Name | Type | Description |
6
 | --- | --- | --- |
6
 | --- | --- | --- |
7
 | name | <code>string</code> | The container's registered name |
7
 | name | <code>string</code> | The container's registered name |
8
+| topTabs | [<code>Array.&lt;Container&gt;</code>](#Container) |  |
8
 | passProps | <code>object</code> | props |
9
 | passProps | <code>object</code> | props |
9
 | navigationOptions | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/NavigationOptions">NavigationOptions</a> |  |
10
 | navigationOptions | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/NavigationOptions">NavigationOptions</a> |  |
10
 
11
 

+ 3
- 3
docs/docs/Navigation.md Bestand weergeven

10
     * [.showModal(params)](#Navigation+showModal)
10
     * [.showModal(params)](#Navigation+showModal)
11
     * [.dismissModal(containerId)](#Navigation+dismissModal)
11
     * [.dismissModal(containerId)](#Navigation+dismissModal)
12
     * [.dismissAllModals()](#Navigation+dismissAllModals)
12
     * [.dismissAllModals()](#Navigation+dismissAllModals)
13
-    * [.push(containerId, params)](#Navigation+push)
13
+    * [.push(containerId, container)](#Navigation+push)
14
     * [.pop(containerId, params)](#Navigation+pop)
14
     * [.pop(containerId, params)](#Navigation+pop)
15
     * [.popTo(containerId)](#Navigation+popTo)
15
     * [.popTo(containerId)](#Navigation+popTo)
16
     * [.popToRoot(containerId)](#Navigation+popToRoot)
16
     * [.popToRoot(containerId)](#Navigation+popToRoot)
109
 
109
 
110
 <a name="Navigation+push"></a>
110
 <a name="Navigation+push"></a>
111
 
111
 
112
-## navigation.push(containerId, params)
112
+## navigation.push(containerId, container)
113
 Push a new screen into this screen's navigation stack.
113
 Push a new screen into this screen's navigation stack.
114
 
114
 
115
 
115
 
116
 | Param | Type | Description |
116
 | Param | Type | Description |
117
 | --- | --- | --- |
117
 | --- | --- | --- |
118
 | containerId | <code>string</code> | The container's id. |
118
 | containerId | <code>string</code> | The container's id. |
119
-| params | <code>*</code> |  |
119
+| container | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/Container">Container</a> |  |
120
 
120
 
121
 
121
 
122
 * * *
122
 * * *

+ 1
- 0
docs/docs/options/BottomTabs.md Bestand weergeven

9
 | hidden | <code>boolean</code> | 
9
 | hidden | <code>boolean</code> | 
10
 | animateHide | <code>boolean</code> | 
10
 | animateHide | <code>boolean</code> | 
11
 | testID | <code>string</code> | 
11
 | testID | <code>string</code> | 
12
+| drawUnder | <code>boolean</code> | 
12
 
13
 

+ 1
- 0
docs/docs/options/NavigationOptions.md Bestand weergeven

8
 | bottomTabs | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/options/BottomTabs">BottomTabs</a> | 
8
 | bottomTabs | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/options/BottomTabs">BottomTabs</a> | 
9
 | bottomTab | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/options/BottomTab">BottomTab</a> | 
9
 | bottomTab | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/options/BottomTab">BottomTab</a> | 
10
 | orientation | <code>string</code> | 
10
 | orientation | <code>string</code> | 
11
+| topTabs | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/options/TopTabs">TopTabs</a> | 
11
 | rightButtons | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/options/Button">Button[]</a> | 
12
 | rightButtons | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/options/Button">Button[]</a> | 
12
 | leftButtons | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/options/Button">Button[]</a> | 
13
 | leftButtons | <a href="https://wix.github.io/react-native-navigation/v2/#/docs/options/Button">Button[]</a> | 
13
 
14
 

+ 1
- 0
docs/docs/options/TopBar.md Bestand weergeven

19
 | blur | <code>boolean</code> | 
19
 | blur | <code>boolean</code> | 
20
 | noBorder | <code>boolean</code> | 
20
 | noBorder | <code>boolean</code> | 
21
 | largeTitle | <code>boolean</code> | 
21
 | largeTitle | <code>boolean</code> | 
22
+| drawUnder | <code>boolean</code> | 
22
 
23
 

+ 10
- 0
docs/docs/options/TopTabs.md Bestand weergeven

1
+<h1>TopTabs</h1>
2
+
3
+**Properties**
4
+
5
+| Name | Type | Description |
6
+| --- | --- | --- |
7
+| selectedTabColor | <code>string</code> | Selected tab color |
8
+| unselectedTabColor | <code>string</code> | Unselected tab color |
9
+| fontSize | <code>int</code> |  |
10
+

+ 16
- 0
lib/android/app/src/main/java/com/reactnativenavigation/parse/Color.java Bestand weergeven

1
+package com.reactnativenavigation.parse;
2
+
3
+import android.support.annotation.ColorInt;
4
+
5
+public class Color extends Param<Integer>{
6
+
7
+    public Color(@ColorInt int color) {
8
+        super(color);
9
+    }
10
+
11
+    @SuppressWarnings("MagicNumber")
12
+    @Override
13
+    public String toString() {
14
+        return String.format("#%06X", (0xFFFFFF & get()));
15
+    }
16
+}

+ 0
- 3
lib/android/app/src/main/java/com/reactnativenavigation/parse/ColorParser.java Bestand weergeven

1
 package com.reactnativenavigation.parse;
1
 package com.reactnativenavigation.parse;
2
 
2
 
3
-import com.reactnativenavigation.views.style.Color;
4
-import com.reactnativenavigation.views.style.NullColor;
5
-
6
 import org.json.JSONObject;
3
 import org.json.JSONObject;
7
 
4
 
8
 public class ColorParser {
5
 public class ColorParser {

lib/android/app/src/main/java/com/reactnativenavigation/views/style/NullColor.java → lib/android/app/src/main/java/com/reactnativenavigation/parse/NullColor.java Bestand weergeven

1
-package com.reactnativenavigation.views.style;
1
+package com.reactnativenavigation.parse;
2
 
2
 
3
 public class NullColor extends Color {
3
 public class NullColor extends Color {
4
 
4
 
5
-    public NullColor() {
5
+    NullColor() {
6
         super(0);
6
         super(0);
7
     }
7
     }
8
 
8
 
9
-    public boolean hasColor() {
9
+    @Override
10
+    public boolean hasValue() {
10
         return false;
11
         return false;
11
     }
12
     }
12
 
13
 
13
-    @SuppressWarnings("MagicNumber")
14
     @Override
14
     @Override
15
     public String toString() {
15
     public String toString() {
16
         return "Null Color";
16
         return "Null Color";

+ 12
- 0
lib/android/app/src/main/java/com/reactnativenavigation/parse/NullNumber.java Bestand weergeven

1
+package com.reactnativenavigation.parse;
2
+
3
+public class NullNumber extends Number {
4
+    public NullNumber() {
5
+        super(0);
6
+    }
7
+
8
+    @Override
9
+    public boolean hasValue() {
10
+        return false;
11
+    }
12
+}

+ 8
- 0
lib/android/app/src/main/java/com/reactnativenavigation/parse/Number.java Bestand weergeven

1
+package com.reactnativenavigation.parse;
2
+
3
+public class Number extends Param<Integer> {
4
+
5
+    public Number(int value) {
6
+        super(value);
7
+    }
8
+}

+ 9
- 0
lib/android/app/src/main/java/com/reactnativenavigation/parse/NumberParser.java Bestand weergeven

1
+package com.reactnativenavigation.parse;
2
+
3
+import org.json.JSONObject;
4
+
5
+public class NumberParser {
6
+    public static Number parse(JSONObject json, String number) {
7
+        return json.has(number) ? new Number(json.optInt(number)) : new NullNumber();
8
+    }
9
+}

+ 20
- 0
lib/android/app/src/main/java/com/reactnativenavigation/parse/Param.java Bestand weergeven

1
+package com.reactnativenavigation.parse;
2
+
3
+public abstract class Param<T> {
4
+    protected T value;
5
+
6
+    public Param(T value) {
7
+        this.value = value;
8
+    }
9
+
10
+    public T get() {
11
+        if (hasValue()) {
12
+            return value;
13
+        }
14
+        throw new RuntimeException("Tried to get null value!");
15
+    }
16
+
17
+    public boolean hasValue() {
18
+        return value != null;
19
+    }
20
+}

+ 8
- 15
lib/android/app/src/main/java/com/reactnativenavigation/parse/TopTabsOptions.java Bestand weergeven

3
 import android.support.annotation.NonNull;
3
 import android.support.annotation.NonNull;
4
 import android.support.annotation.Nullable;
4
 import android.support.annotation.Nullable;
5
 
5
 
6
-import com.reactnativenavigation.views.style.Color;
7
-import com.reactnativenavigation.views.style.NullColor;
8
-
9
 import org.json.JSONObject;
6
 import org.json.JSONObject;
10
 
7
 
11
 public class TopTabsOptions implements DEFAULT_VALUES {
8
 public class TopTabsOptions implements DEFAULT_VALUES {
12
 
9
 
13
     @NonNull public Color selectedTabColor = new NullColor();
10
     @NonNull public Color selectedTabColor = new NullColor();
14
     @NonNull public Color unselectedTabColor = new NullColor();
11
     @NonNull public Color unselectedTabColor = new NullColor();
12
+    @NonNull public Number fontSize = new NullNumber();
15
 
13
 
16
     public static TopTabsOptions parse(@Nullable JSONObject json) {
14
     public static TopTabsOptions parse(@Nullable JSONObject json) {
17
         TopTabsOptions result = new TopTabsOptions();
15
         TopTabsOptions result = new TopTabsOptions();
18
         if (json == null) return result;
16
         if (json == null) return result;
19
         result.selectedTabColor = ColorParser.parse(json, "selectedTabColor");
17
         result.selectedTabColor = ColorParser.parse(json, "selectedTabColor");
20
         result.unselectedTabColor = ColorParser.parse(json, "unselectedTabColor");
18
         result.unselectedTabColor = ColorParser.parse(json, "unselectedTabColor");
19
+        result.fontSize = NumberParser.parse(json, "fontSize");
21
         return result;
20
         return result;
22
     }
21
     }
23
 
22
 
24
     void mergeWith(TopTabsOptions other) {
23
     void mergeWith(TopTabsOptions other) {
25
-        if (other.selectedTabColor.hasColor()) {
26
-            selectedTabColor = other.selectedTabColor;
27
-        }
28
-        if (other.unselectedTabColor.hasColor()) {
29
-            unselectedTabColor = other.unselectedTabColor;
30
-        }
24
+        if (other.selectedTabColor.hasValue()) selectedTabColor = other.selectedTabColor;
25
+        if (other.unselectedTabColor.hasValue()) unselectedTabColor = other.unselectedTabColor;
26
+        if (other.fontSize.hasValue()) fontSize = other.fontSize;
31
     }
27
     }
32
 
28
 
33
     void mergeWithDefault(TopTabsOptions defaultOptions) {
29
     void mergeWithDefault(TopTabsOptions defaultOptions) {
34
-        if (!selectedTabColor.hasColor()) {
35
-            selectedTabColor = defaultOptions.selectedTabColor;
36
-        }
37
-        if (!unselectedTabColor.hasColor()) {
38
-            unselectedTabColor = defaultOptions.unselectedTabColor;
39
-        }
30
+        if (!selectedTabColor.hasValue()) selectedTabColor = defaultOptions.selectedTabColor;
31
+        if (!unselectedTabColor.hasValue()) unselectedTabColor = defaultOptions.unselectedTabColor;
32
+        if (!fontSize.hasValue()) fontSize = defaultOptions.fontSize;
40
     }
33
     }
41
 }
34
 }

+ 1
- 0
lib/android/app/src/main/java/com/reactnativenavigation/presentation/OptionsPresenter.java Bestand weergeven

74
 
74
 
75
     private void applyTopTabsOptions(TopTabsOptions options) {
75
     private void applyTopTabsOptions(TopTabsOptions options) {
76
         topBar.applyTopTabsColors(options.selectedTabColor, options.unselectedTabColor);
76
         topBar.applyTopTabsColors(options.selectedTabColor, options.unselectedTabColor);
77
+        topBar.applyTopTabsFontSize(options.fontSize);
77
     }
78
     }
78
 
79
 
79
     private void applyTopTabOptions(TopTabOptions topTabOptions) {
80
     private void applyTopTabOptions(TopTabOptions topTabOptions) {

+ 6
- 1
lib/android/app/src/main/java/com/reactnativenavigation/views/TopBar.java Bestand weergeven

14
 import android.widget.TextView;
14
 import android.widget.TextView;
15
 
15
 
16
 import com.reactnativenavigation.parse.Button;
16
 import com.reactnativenavigation.parse.Button;
17
+import com.reactnativenavigation.parse.Number;
17
 import com.reactnativenavigation.viewcontrollers.toptabs.TopTabsViewPager;
18
 import com.reactnativenavigation.viewcontrollers.toptabs.TopTabsViewPager;
18
-import com.reactnativenavigation.views.style.Color;
19
+import com.reactnativenavigation.parse.Color;
19
 
20
 
20
 import java.util.ArrayList;
21
 import java.util.ArrayList;
21
 
22
 
67
         topTabs.applyTopTabsColors(selectedTabColor, unselectedTabColor);
68
         topTabs.applyTopTabsColors(selectedTabColor, unselectedTabColor);
68
     }
69
     }
69
 
70
 
71
+    public void applyTopTabsFontSize(Number fontSize) {
72
+        topTabs.applyTopTabsFontSize(fontSize);
73
+    }
74
+
70
 	public void setButtons(ArrayList<Button> leftButtons, ArrayList<Button> rightButtons) {
75
 	public void setButtons(ArrayList<Button> leftButtons, ArrayList<Button> rightButtons) {
71
 		setLeftButtons(leftButtons);
76
 		setLeftButtons(leftButtons);
72
 		setRightButtons(rightButtons);
77
 		setRightButtons(rightButtons);

+ 6
- 1
lib/android/app/src/main/java/com/reactnativenavigation/views/TopTabs.java Bestand weergeven

4
 import android.graphics.Typeface;
4
 import android.graphics.Typeface;
5
 import android.support.design.widget.TabLayout;
5
 import android.support.design.widget.TabLayout;
6
 
6
 
7
-import com.reactnativenavigation.views.style.Color;
7
+import com.reactnativenavigation.parse.Color;
8
+import com.reactnativenavigation.parse.Number;
8
 
9
 
9
 public class TopTabs extends TabLayout {
10
 public class TopTabs extends TabLayout {
10
     private final TopTabsStyleHelper styleHelper;
11
     private final TopTabsStyleHelper styleHelper;
29
     public void applyTopTabsColors(Color selectedTabColor, Color unselectedTabColor) {
30
     public void applyTopTabsColors(Color selectedTabColor, Color unselectedTabColor) {
30
         styleHelper.applyTopTabsColors(selectedTabColor, unselectedTabColor);
31
         styleHelper.applyTopTabsColors(selectedTabColor, unselectedTabColor);
31
     }
32
     }
33
+
34
+    public void applyTopTabsFontSize(Number fontSize) {
35
+        styleHelper.applyTopTabsFontSize(fontSize);
36
+    }
32
 }
37
 }

+ 12
- 4
lib/android/app/src/main/java/com/reactnativenavigation/views/TopTabsStyleHelper.java Bestand weergeven

5
 import android.view.ViewGroup;
5
 import android.view.ViewGroup;
6
 import android.widget.TextView;
6
 import android.widget.TextView;
7
 
7
 
8
+import com.reactnativenavigation.parse.Color;
9
+import com.reactnativenavigation.parse.Number;
8
 import com.reactnativenavigation.utils.Task;
10
 import com.reactnativenavigation.utils.Task;
9
 import com.reactnativenavigation.utils.ViewUtils;
11
 import com.reactnativenavigation.utils.ViewUtils;
10
-import com.reactnativenavigation.views.style.Color;
11
 
12
 
12
 class TopTabsStyleHelper {
13
 class TopTabsStyleHelper {
13
     private TopTabs topTabs;
14
     private TopTabs topTabs;
16
         this.topTabs = topTabs;
17
         this.topTabs = topTabs;
17
     }
18
     }
18
 
19
 
20
+    void applyTopTabsFontSize(Number fontSize) {
21
+        if (!fontSize.hasValue()) return;
22
+        for (int i = 0; i < topTabs.getTabCount(); i++) {
23
+            applyOnTabTitle(i, (title) -> title.setTextSize(fontSize.get()));
24
+        }
25
+    }
26
+
19
     void applyTopTabsColors(Color selected, Color unselected) {
27
     void applyTopTabsColors(Color selected, Color unselected) {
20
-        if (!selected.hasColor() && !unselected.hasColor()) return;
28
+        if (!selected.hasValue() && !unselected.hasValue()) return;
21
 
29
 
22
         ColorStateList originalColors = topTabs.getTabTextColors();
30
         ColorStateList originalColors = topTabs.getTabTextColors();
23
         int selectedTabColor = originalColors != null ? originalColors.getColorForState(topTabs.getSelectedTabColors(), -1) : -1;
31
         int selectedTabColor = originalColors != null ? originalColors.getColorForState(topTabs.getSelectedTabColors(), -1) : -1;
24
         int tabTextColor = originalColors != null ? originalColors.getColorForState(topTabs.getDefaultTabColors(), -1) : -1;
32
         int tabTextColor = originalColors != null ? originalColors.getColorForState(topTabs.getDefaultTabColors(), -1) : -1;
25
 
33
 
26
-        if (selected.hasColor()) {
34
+        if (selected.hasValue()) {
27
             tabTextColor = selected.get();
35
             tabTextColor = selected.get();
28
         }
36
         }
29
 
37
 
30
-        if (unselected.hasColor()) {
38
+        if (unselected.hasValue()) {
31
             selectedTabColor = unselected.get();
39
             selectedTabColor = unselected.get();
32
         }
40
         }
33
 
41
 

+ 0
- 30
lib/android/app/src/main/java/com/reactnativenavigation/views/style/Color.java Bestand weergeven

1
-package com.reactnativenavigation.views.style;
2
-
3
-import android.support.annotation.ColorInt;
4
-
5
-public class Color {
6
-
7
-    private Integer color;
8
-
9
-    public Color(@ColorInt int color) {
10
-        this.color = color;
11
-    }
12
-
13
-    public boolean hasColor() {
14
-        return color != null;
15
-    }
16
-
17
-    @ColorInt
18
-    public int get() {
19
-        if (hasColor()) {
20
-            return color;
21
-        }
22
-        throw new RuntimeException("Tried to get null color!");
23
-    }
24
-
25
-    @SuppressWarnings("MagicNumber")
26
-    @Override
27
-    public String toString() {
28
-        return String.format("#%06X", (0xFFFFFF & get()));
29
-    }
30
-}

+ 2
- 0
lib/src/params/options/TopTabs.js Bestand weergeven

2
   /**
2
   /**
3
    * @property {string} [selectedTabColor] Selected tab color
3
    * @property {string} [selectedTabColor] Selected tab color
4
    * @property {string} unselectedTabColor Unselected tab color
4
    * @property {string} unselectedTabColor Unselected tab color
5
+   * @property {int} fontSize
5
    */
6
    */
6
   constructor(topTabs) {
7
   constructor(topTabs) {
7
     this.selectedTabColor = topTabs.selectedTabColor;
8
     this.selectedTabColor = topTabs.selectedTabColor;
8
     this.unselectedTabColor = topTabs.unselectedTabColor;
9
     this.unselectedTabColor = topTabs.unselectedTabColor;
10
+    this.fontSize = topTabs.fontSize;
9
   }
11
   }
10
 }
12
 }
11
 
13
 

+ 3
- 1
lib/src/params/options/TopTabs.test.js Bestand weergeven

2
 
2
 
3
 const TOP_TABS = {
3
 const TOP_TABS = {
4
   selectedTabColor: 'red',
4
   selectedTabColor: 'red',
5
-  unselectedTabColor: 'blue'
5
+  unselectedTabColor: 'blue',
6
+  fontSize: 11
6
 };
7
 };
7
 
8
 
8
 describe('TopTabs', () => {
9
 describe('TopTabs', () => {
10
     const uut = new TopTabs(TOP_TABS);
11
     const uut = new TopTabs(TOP_TABS);
11
     expect(uut.selectedTabColor).toEqual('red');
12
     expect(uut.selectedTabColor).toEqual('red');
12
     expect(uut.unselectedTabColor).toEqual('blue');
13
     expect(uut.unselectedTabColor).toEqual('blue');
14
+    expect(uut.fontSize).toEqual(11);
13
   });
15
   });
14
 });
16
 });

+ 2
- 1
playground/src/containers/WelcomeScreen.js Bestand weergeven

203
       navigationOptions: {
203
       navigationOptions: {
204
         topTabs: {
204
         topTabs: {
205
           selectedTabColor: '#12766b',
205
           selectedTabColor: '#12766b',
206
-          unselectedTabColor: 'red'
206
+          unselectedTabColor: 'red',
207
+          fontSize: 6
207
         }
208
         }
208
       }
209
       }
209
     });
210
     });