21720:
[arvados.git] / services / workbench2 / src / components / default-code-snippet / default-code-snippet.tsx
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import React from 'react';
6 import { ThemeProvider, Theme, StyledEngineProvider, createTheme, adaptV4Theme } from '@mui/material/styles';
7 import { CodeSnippet, CodeSnippetDataProps } from 'components/code-snippet/code-snippet';
8 import { themeOptions } from 'common/custom-theme';
9 import { grey } from '@mui/material/colors';
10
11
12 declare module '@mui/styles/defaultTheme' {
13   // eslint-disable-next-line @typescript-eslint/no-empty-interface
14   interface DefaultTheme extends Theme {}
15 }
16
17
18 const theme = createTheme(adaptV4Theme(Object.assign({}, themeOptions, {
19     overrides: {
20         MuiTypography: {
21             body1: {
22                 color: grey["900"]
23             },
24             root: {
25                 backgroundColor: grey["200"]
26             }
27         }
28     },
29     typography: {
30         fontFamily: 'monospace',
31     }
32 })));
33
34 export const DefaultCodeSnippet = (props: CodeSnippetDataProps) =>
35     <StyledEngineProvider injectFirst>
36         <ThemeProvider theme={theme}>
37             <CodeSnippet {...props} />
38         </ThemeProvider>
39     </StyledEngineProvider>;