MCPcopy Index your code
hub / github.com/callstack/react-theme-provider / createTheming

Function createTheming

src/createTheming.js:17–49  ·  view source on GitHub ↗
(
  defaultTheme: T
)

Source from the content-addressed store, hash-verified

15};
16
17export default function createTheming<T: Object>(
18 defaultTheme: T
19): ThemingType<T> {
20 const ThemeContext: React.Context<T> = React.createContext(defaultTheme);
21
22 const ThemeProvider: ThemeProviderType<T> = createThemeProvider(
23 defaultTheme,
24 ThemeContext
25 );
26
27 const withTheme: WithThemeType<T> = createWithTheme(
28 ThemeProvider,
29 ThemeContext
30 );
31
32 const useTheme = (overrides?: $DeepShape<T>): T => {
33 const theme = React.useContext(ThemeContext);
34 const result = React.useMemo(
35 () =>
36 theme && overrides ? deepmerge(theme, overrides) : theme || overrides,
37 [theme, overrides]
38 );
39
40 return result;
41 };
42
43 return {
44 ThemeContext,
45 ThemeProvider,
46 withTheme,
47 useTheme,
48 };
49}

Callers 3

theming.jsFile · 0.85
index.test.tsxFile · 0.85

Calls 1

createThemeProviderFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…