Skip to content

Commit ada6cda

Browse files
committed
feat(theme): export ThemeProvider and remove theme HOC
1 parent 759b2f5 commit ada6cda

3 files changed

Lines changed: 23 additions & 42 deletions

File tree

src/theme/ThemeProvider.tsx

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import * as React from 'react';
2+
import { DeepPartial } from 'ts-essentials';
3+
4+
import { createTheme } from './createTheme';
5+
import { defaultTheme } from './default-theme';
6+
import { ThemeContext } from './ThemeContext';
7+
import { Theme } from './ThemeInterface';
8+
9+
export interface ThemeProviderProps {
10+
children?: React.ReactNode;
11+
value?: DeepPartial<Theme>;
12+
}
13+
14+
export const ThemeProvider = (props: ThemeProviderProps) => {
15+
const { children, value = defaultTheme } = props;
16+
17+
const theme = createTheme(value);
18+
19+
return (
20+
<ThemeContext.Provider value={theme}>{children}</ThemeContext.Provider>
21+
);
22+
};

src/theme/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export { defaultTheme } from './default-theme';
22
export * from './ThemeContext';
33
export * from './ThemeInterface';
4-
export { default as withTheme } from './withTheme';
4+
export * from './ThemeProvider';
55
export { createTheme } from './createTheme';
66
export { useTheme } from './useTheme';

src/theme/withTheme.tsx

Lines changed: 0 additions & 41 deletions
This file was deleted.

0 commit comments

Comments
 (0)