Merge branch '19177-sharing-urls-ui-config'. Closes #19177
[arvados-workbench2.git] / src / common / custom-theme.ts
index ecad39134d1652e07d11b58d8da524fdad7cca29..fc89a4ae216b2790385570f293b74c9ebd3145ba 100644 (file)
@@ -4,14 +4,14 @@
 
 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';
 import yellow from '@material-ui/core/colors/yellow';
 import red from '@material-ui/core/colors/red';
+import teal from '@material-ui/core/colors/teal';
 
-interface ArvadosThemeOptions extends ThemeOptions {
+export interface ArvadosThemeOptions extends ThemeOptions {
     customs: any;
 }
 
@@ -23,23 +23,39 @@ export interface ArvadosTheme extends Theme {
 
 interface Colors {
     green700: string;
+    yellow100: string;
     yellow700: string;
+    yellow900: string;
+    red100: string;
+    red900: string;
+    blue500: string;
+    grey500: string;
+    purple: string;
+    orange: string;
 }
 
-const red900 = red["900"];
-const purple800 = purple["800"];
-const grey200 = grey["200"];
-const grey300 = grey["300"];
+const arvadosPurple = '#361336';
 const grey500 = grey["500"];
 const grey600 = grey["600"];
 const grey700 = grey["700"];
 const grey900 = grey["900"];
 
-const themeOptions: ArvadosThemeOptions = {
+export const themeOptions: ArvadosThemeOptions = {
+    typography: {
+        useNextVariants: true,
+    },
     customs: {
         colors: {
             green700: green["700"],
-            yellow700: yellow["700"]
+            yellow100: yellow["100"],
+            yellow700: yellow["700"],
+            yellow900: yellow["900"],
+            red100: red["100"],
+            red900: red['900'],
+            blue500: blue['500'],
+            grey500: grey500,
+            purple: arvadosPurple,
+            orange: '#f0ad4e',
         }
     },
     overrides: {
@@ -50,7 +66,7 @@ const themeOptions: ArvadosThemeOptions = {
         },
         MuiAppBar: {
             colorPrimary: {
-                backgroundColor: purple800
+                backgroundColor: arvadosPurple
             }
         },
         MuiTabs: {
@@ -58,13 +74,15 @@ const themeOptions: ArvadosThemeOptions = {
                 color: grey600
             },
             indicator: {
-                backgroundColor: purple800
+                backgroundColor: arvadosPurple
             }
         },
         MuiTab: {
-            selected: {
-                fontWeight: 700,
-                color: purple800
+            root: {
+                '&$selected': {
+                    fontWeight: 700,
+                    color: arvadosPurple
+                }
             }
         },
         MuiList: {
@@ -92,15 +110,40 @@ const themeOptions: ArvadosThemeOptions = {
                 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'
             }
         },
         MuiInput: {
+            root: {
+                fontSize: '0.875rem'
+            },
             underline: {
                 '&:after': {
-                    borderBottomColor: purple800
+                    borderBottomColor: arvadosPurple
                 },
                 '&:hover:not($disabled):not($focused):not($error):before': {
                     borderBottom: '1px solid inherit'
@@ -108,11 +151,24 @@ const themeOptions: ArvadosThemeOptions = {
             }
         },
         MuiFormLabel: {
-            focused: {
-                "&$focused:not($error)": {
-                    color: purple800
+            root: {
+                fontSize: '0.875rem',
+                "&$focused": {
+                    "&$focused:not($error)": {
+                        color: arvadosPurple
+                    }
                 }
             }
+        },
+        MuiStepIcon: {
+            root: {
+                '&$active': {
+                    color: arvadosPurple
+                },
+                '&$completed': {
+                    color: 'inherited'
+                },
+            }
         }
     },
     mixins: {
@@ -122,10 +178,11 @@ const themeOptions: ArvadosThemeOptions = {
     },
     palette: {
         primary: {
-            main: '#06C',
-            dark: blue.A100
+            main: teal.A700,
+            dark: teal.A400,
+            contrastText: '#fff'
         }
-    }
+    },
 };
 
 export const CustomTheme = createMuiTheme(themeOptions);
\ No newline at end of file