File tree Expand file tree Collapse file tree 5 files changed +53
-39
lines changed
Expand file tree Collapse file tree 5 files changed +53
-39
lines changed Original file line number Diff line number Diff line change 1+ import React , { createContext , type ReactNode } from 'react' ;
2+
3+ import type { Theme } from '../theme/theme.types' ;
4+ import { LightTheme } from '../theme/build-theme' ;
5+ import { materialTypography } from '../typography/typography.styles' ;
6+ import type { MaterialTypography } from '../typography/typography.types' ;
7+
8+ interface MaterialComponentsContextType {
9+ theme : Theme ;
10+ typography : MaterialTypography ;
11+ }
12+
13+ export const MaterialComponentsContext = createContext < MaterialComponentsContextType > ( { theme : LightTheme , typography : materialTypography } ) ;
14+
15+ export interface MaterialComponentsProviderProps {
16+ children : ReactNode ;
17+
18+ theme ?: Theme ;
19+ typography ?: MaterialTypography ;
20+ }
21+
22+ export const MaterialComponentsProvider : React . FC < MaterialComponentsProviderProps > = ( {
23+ children,
24+ theme = LightTheme ,
25+ typography = materialTypography ,
26+ } ) => < MaterialComponentsContext . Provider value = { { theme, typography} } > { children } </ MaterialComponentsContext . Provider > ;
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ import { MaterialTheme } from './theme' ;
2+ import { getPalette } from './get-palette' ;
3+ import type { ThemeColors } from './theme.types' ;
4+
5+ export const defaultThemeColors : ThemeColors = {
6+ primary : '#6750A4' ,
7+ secondary : '#625B71' ,
8+ tertiary : '#7D5260' ,
9+ error : '#B3261E' ,
10+ neutral : '#605D64' ,
11+ neutralVariant : '#605D66' ,
12+ } ;
13+
14+ export const buildThemesFromColors = ( themeColors : ThemeColors ) => {
15+ const palette = getPalette ( themeColors ) ;
16+
17+ const lightTheme = MaterialTheme . generateLightTheme ( palette ) ;
18+ const darkTheme = MaterialTheme . generateDarkTheme ( palette ) ;
19+
20+ return { lightTheme, darkTheme} ;
21+ } ;
22+
23+ export const { lightTheme : LightTheme , darkTheme : DarkTheme } = buildThemesFromColors ( defaultThemeColors ) ;
Original file line number Diff line number Diff line change 1- import { getPalette } from './get-palette ' ;
1+ import { type Theme } from './theme.types ' ;
22import { type Palette } from './palette.types' ;
3- import { type Theme , type ThemeColors } from './theme.types' ;
43
5- export const buildThemesFromColors = ( themeColors : ThemeColors ) => {
6- const palette = getPalette ( themeColors ) ;
7-
8- const lightTheme = MaterialTheme . generateLightTheme ( palette ) ;
9- const darkTheme = MaterialTheme . generateDarkTheme ( palette ) ;
10-
11- return { lightTheme, darkTheme} ;
12- } ;
13-
14- class MaterialTheme {
4+ export class MaterialTheme {
155 public static readonly generateLightTheme = ( palette : Palette ) : Theme => ( {
166 primary : {
177 background : palette . primary40 ,
Original file line number Diff line number Diff line change 11import { useContext } from 'react' ;
22
3- import { ThemeContext } from './Theme .context' ;
3+ import { MaterialComponentsContext } from '../provider/MaterialComponents .context' ;
44
55export const useTheme = ( ) => {
6- const theme = useContext ( ThemeContext ) ;
6+ const { theme} = useContext ( MaterialComponentsContext ) ;
77
88 return theme ;
99} ;
You can’t perform that action at this time.
0 commit comments