13860-process-statuses-filters
[arvados.git] / src / common / custom-theme.ts
index 0850f8815a7c6bb712b4c8f935f3f0da7f38c9bf..20790100dcf2012f7f12ec6912aa30d0f56ca875 100644 (file)
@@ -8,27 +8,58 @@ import purple from '@material-ui/core/colors/purple';
 import blue from '@material-ui/core/colors/blue';
 import grey from '@material-ui/core/colors/grey';
 import green from '@material-ui/core/colors/green';
+import yellow from '@material-ui/core/colors/yellow';
+import red from '@material-ui/core/colors/red';
 
-interface ArvadosThemeOptions extends ThemeOptions {
+export interface ArvadosThemeOptions extends ThemeOptions {
     customs: any;
 }
 
 export interface ArvadosTheme extends Theme {
-    customs: any;
+    customs: {
+        colors: Colors
+    };
+}
+
+interface Colors {
+    green700: string;
+    yellow700: string;
+    red900: string;
+    blue500: string;
+    grey500: string;
+    grey700: string;
 }
 
-const purple900 = purple["900"];
+const red900 = red["900"];
+const purple800 = purple["800"];
+const grey200 = grey["200"];
+const grey300 = grey["300"];
+const grey500 = grey["500"];
 const grey600 = grey["600"];
-const themeOptions: ArvadosThemeOptions = {
+const grey700 = grey["700"];
+const grey900 = grey["900"];
+const rocheBlue = '#06C';
+
+export const themeOptions: ArvadosThemeOptions = {
     customs: {
         colors: {
-            green700: green["700"]
+            green700: green["700"],
+            yellow700: yellow["700"],
+            red900: red['900'],
+            blue500: blue['500'],
+            grey500,
+            grey700
         }
     },
     overrides: {
+        MuiTypography: {
+            body1: {
+                fontSize: '0.8125rem'
+            }
+        },
         MuiAppBar: {
             colorPrimary: {
-                backgroundColor: purple900
+                backgroundColor: purple800
             }
         },
         MuiTabs: {
@@ -36,13 +67,66 @@ const themeOptions: ArvadosThemeOptions = {
                 color: grey600
             },
             indicator: {
-                backgroundColor: purple900
+                backgroundColor: purple800
             }
         },
         MuiTab: {
             selected: {
                 fontWeight: 700,
-                color: purple900
+                color: purple800
+            }
+        },
+        MuiList: {
+            root: {
+                color: grey900
+            }
+        },
+        MuiListItemText: {
+            root: {
+                padding: 0
+            }
+        },
+        MuiListItemIcon: {
+            root: {
+                fontSize: '1.25rem'
+            }
+        },
+        MuiCardHeader: {
+            avatar: {
+                display: 'flex',
+                alignItems: 'center'
+            },
+            title: {
+                color: grey700,
+                fontSize: '1.25rem'
+            }
+        },
+        MuiMenuItem: {
+            root: {
+                padding: '8px 16px'
+            }
+        },
+        MuiInput: {
+            root: {
+                fontSize: '0.875rem'
+            },
+            underline: {
+                '&:after': {
+                    borderBottomColor: purple800
+                },
+                '&:hover:not($disabled):not($focused):not($error):before': {
+                    borderBottom: '1px solid inherit'
+                }
+            }
+        },
+        MuiFormLabel: {
+            root: {
+                fontSize: '0.875rem'
+            },
+            focused: {
+                "&$focused:not($error)": {
+                    color: purple800
+                }
             }
         }
     },
@@ -53,7 +137,7 @@ const themeOptions: ArvadosThemeOptions = {
     },
     palette: {
         primary: {
-            main: '#06C',
+            main: rocheBlue,
             dark: blue.A100
         }
     }