1 // Copyright (C) The Arvados Authors. All rights reserved.
3 // SPDX-License-Identifier: AGPL-3.0
5 import { createTheme, adaptV4Theme } from '@mui/material/styles';
6 import { StyleRulesCallback } from '@mui/styles';
7 import { DeprecatedThemeOptions, Theme } from '@mui/material/styles';
8 import { blue, grey, green, yellow, red } from '@mui/material/colors';
10 export interface ArvadosThemeOptions extends DeprecatedThemeOptions {
14 export interface ArvadosTheme extends Theme {
20 export type CustomStyleRulesCallback<ClassKey extends string = string> =
21 StyleRulesCallback<Theme, {}, ClassKey>
46 * 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
49 const arvadosDarkBlue = '#052a3c';
50 const arvadosGreyLight = '#737373';
51 const arvadosGreyVeryLight = '#fafafa';
52 const arvadosGreyDark = '#212121';
53 const grey500 = grey["500"];
54 const grey600 = grey["600"];
55 const grey700 = grey["700"];
56 const grey800 = grey["800"];
57 const grey900 = grey["900"];
59 export const themeOptions: ArvadosThemeOptions = {
62 green700: green["700"],
63 green800: green["800"],
64 yellow100: yellow["100"],
65 yellow700: yellow["700"],
66 yellow900: yellow["900"],
76 darkblue: arvadosDarkBlue,
78 darkOrange: '#9A6E31',
79 greyL: arvadosGreyLight,
80 greyD: arvadosGreyDark,
87 paddingBottom: '12px',
97 backgroundColor: arvadosDarkBlue
105 backgroundColor: arvadosDarkBlue
128 paddingBottom: '2px',
144 color: arvadosGreyDark,
150 backgroundColor: arvadosGreyVeryLight,
153 MuiAccordionDetails: {
156 paddingBottom: '4px',
159 MuiAccordionSummary: {
180 borderBottomColor: arvadosDarkBlue
182 '&:hover:not($disabled):not($focused):not($error):before': {
183 borderBottom: '1px solid inherit'
189 fontSize: '0.875rem',
191 "&$focused:not($error)": {
192 color: arvadosDarkBlue
200 color: arvadosDarkBlue
214 backgroundColor: red['700']
236 export const CustomTheme = createTheme(adaptV4Theme(themeOptions));