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>
45 * 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
48 const arvadosDarkBlue = '#052a3c';
49 const arvadosGreyLight = '#737373';
50 const arvadosGreyDark = '#212121';
51 const grey500 = grey["500"];
52 const grey600 = grey["600"];
53 const grey700 = grey["700"];
54 const grey800 = grey["800"];
55 const grey900 = grey["900"];
57 export const themeOptions: ArvadosThemeOptions = {
60 green700: green["700"],
61 green800: green["800"],
62 yellow100: yellow["100"],
63 yellow700: yellow["700"],
64 yellow900: yellow["900"],
74 darkblue: arvadosDarkBlue,
76 greyL: arvadosGreyLight,
77 greyD: arvadosGreyDark,
88 backgroundColor: arvadosDarkBlue
96 backgroundColor: arvadosDarkBlue
127 color: arvadosGreyDark,
138 MuiAccordionDetails: {
141 paddingBottom: '4px',
144 MuiAccordionSummary: {
166 borderBottomColor: arvadosDarkBlue
168 '&:hover:not($disabled):not($focused):not($error):before': {
169 borderBottom: '1px solid inherit'
175 fontSize: '0.875rem',
177 "&$focused:not($error)": {
178 color: arvadosDarkBlue
186 color: arvadosDarkBlue
195 backgroundColor: red['700']
214 export const CustomTheme = createTheme(adaptV4Theme(themeOptions));