Merge branch '21128-toolbar-context-menu'
[arvados-workbench2.git] / src / common / custom-theme.ts
index c4d3dbc35894537d2d66cda9926a2e56f74fb7cc..135204a066da6ba0734139061bc0378fdbc94e4e 100644 (file)
@@ -4,7 +4,6 @@
 
 import { createMuiTheme } from '@material-ui/core/styles';
 import { ThemeOptions, Theme } from '@material-ui/core/styles/createMuiTheme';
-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';
@@ -23,30 +22,62 @@ export interface ArvadosTheme extends Theme {
 
 interface Colors {
     green700: string;
+    green800: string;
+    yellow100: string;
     yellow700: string;
+    yellow900: string;
+    red100: string;
     red900: string;
     blue500: string;
+    blue700: string;
     grey500: string;
+    grey600: string;
+    grey700: string;
+    grey900: string;
+    purple: string;
+    orange: string; 
+    greyL: string;
+    greyD: string;
+    darkblue: string;
 }
 
-const red900 = red["900"];
-const purple800 = purple["800"];
-const grey200 = grey["200"];
-const grey300 = grey["300"];
+/**
+* arvadosGreyLight is the hex equivalent of rgba(0,0,0,0.87) on #fafafa background and arvadosGreyDark is the hex equivalent of rgab(0,0,0,0.54) on #fafafa background  
+*/
+
+const arvadosDarkBlue = '#052a3c';
+const arvadosGreyLight = '#737373'; 
+const arvadosGreyDark = '#212121'; 
 const grey500 = grey["500"];
 const grey600 = grey["600"];
 const grey700 = grey["700"];
+const grey800 = grey["800"];
 const grey900 = grey["900"];
-const rocheBlue = '#06C';
 
 export const themeOptions: ArvadosThemeOptions = {
+    typography: {
+        useNextVariants: true,
+    },
     customs: {
         colors: {
             green700: green["700"],
+            green800: green["800"],
+            yellow100: yellow["100"],
             yellow700: yellow["700"],
+            yellow900: yellow["900"],
+            red100: red["100"],
             red900: red['900'],
             blue500: blue['500'],
-            grey500,
+            blue700: blue['700'],
+            grey500: grey500,
+            grey600: grey600,
+            grey700: grey700,
+            grey800: grey800,
+            grey900: grey900,
+            darkblue: arvadosDarkBlue,
+            orange: '#f0ad4e',
+            greyL: arvadosGreyLight,
+            greyD: arvadosGreyDark,
         }
     },
     overrides: {
@@ -57,7 +88,7 @@ export const themeOptions: ArvadosThemeOptions = {
         },
         MuiAppBar: {
             colorPrimary: {
-                backgroundColor: purple800
+                backgroundColor: arvadosDarkBlue
             }
         },
         MuiTabs: {
@@ -65,13 +96,14 @@ export const themeOptions: ArvadosThemeOptions = {
                 color: grey600
             },
             indicator: {
-                backgroundColor: purple800
+                backgroundColor: arvadosDarkBlue
             }
         },
         MuiTab: {
-            selected: {
-                fontWeight: 700,
-                color: purple800
+            root: {
+                '&$selected': {
+                    fontWeight: 700,
+                }
             }
         },
         MuiList: {
@@ -86,7 +118,7 @@ export const themeOptions: ArvadosThemeOptions = {
         },
         MuiListItemIcon: {
             root: {
-                fontSize: '1.25rem'
+                fontSize: '1.25rem',
             }
         },
         MuiCardHeader: {
@@ -95,10 +127,32 @@ export const themeOptions: ArvadosThemeOptions = {
                 alignItems: 'center'
             },
             title: {
-                color: grey700,
+                color: arvadosGreyDark, 
                 fontSize: '1.25rem'
             }
         },
+        MuiExpansionPanel: {
+            expanded: {
+                marginTop: '8px',
+            }
+        },
+        MuiExpansionPanelDetails: {
+            root: {
+                marginBottom: 0,
+                paddingBottom: '4px',
+            }
+        },
+        MuiExpansionPanelSummary: {
+            content: {
+                '&$expanded': {
+                    margin: 0,
+                },
+                color: grey700,
+                fontSize: '1.25rem',
+                margin: 0,
+            },
+            expanded: {},
+        },
         MuiMenuItem: {
             root: {
                 padding: '8px 16px'
@@ -110,7 +164,7 @@ export const themeOptions: ArvadosThemeOptions = {
             },
             underline: {
                 '&:after': {
-                    borderBottomColor: purple800
+                    borderBottomColor: arvadosDarkBlue
                 },
                 '&:hover:not($disabled):not($focused):not($error):before': {
                     borderBottom: '1px solid inherit'
@@ -119,13 +173,23 @@ export const themeOptions: ArvadosThemeOptions = {
         },
         MuiFormLabel: {
             root: {
-                fontSize: '0.875rem'
-            },
-            focused: {
-                "&$focused:not($error)": {
-                    color: purple800
+                fontSize: '0.875rem',
+                "&$focused": {
+                    "&$focused:not($error)": {
+                        color: arvadosDarkBlue
+                    }
                 }
             }
+        },
+        MuiStepIcon: {
+            root: {
+                '&$active': {
+                    color: arvadosDarkBlue
+                },
+                '&$completed': {
+                    color: 'inherited'
+                },
+            }
         }
     },
     mixins: {
@@ -135,10 +199,12 @@ export const themeOptions: ArvadosThemeOptions = {
     },
     palette: {
         primary: {
-            main: rocheBlue,
-            dark: blue.A100
+            main: '#017ead',
+            dark: '#015272',
+            light: '#82cffd',
+            contrastText: '#fff'
         }
-    }
+    },
 };
 
-export const CustomTheme = createMuiTheme(themeOptions);
\ No newline at end of file
+export const CustomTheme = createMuiTheme(themeOptions);