diff --git a/packages/grafana-ui/src/themes/ThemeContext.tsx b/packages/grafana-ui/src/themes/ThemeContext.tsx index e2d91ce3671..11b3d79481a 100644 --- a/packages/grafana-ui/src/themes/ThemeContext.tsx +++ b/packages/grafana-ui/src/themes/ThemeContext.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { getTheme } from './index'; +import { getTheme } from './getTheme'; import { GrafanaThemeType, Themeable } from '../types/theme'; type Omit = Pick>; diff --git a/packages/grafana-ui/src/themes/getTheme.ts b/packages/grafana-ui/src/themes/getTheme.ts new file mode 100644 index 00000000000..9962f1a9a90 --- /dev/null +++ b/packages/grafana-ui/src/themes/getTheme.ts @@ -0,0 +1,15 @@ +import darkTheme from './dark'; +import lightTheme from './light'; +import { GrafanaTheme } from '../types/theme'; + +let themeMock: ((name?: string) => GrafanaTheme) | null; + +export const getTheme = (name?: string) => + (themeMock && themeMock(name)) || (name === 'light' ? lightTheme : darkTheme); + +export const mockTheme = (mock: (name?: string) => GrafanaTheme) => { + themeMock = mock; + return () => { + themeMock = null; + }; +}; diff --git a/packages/grafana-ui/src/themes/index.ts b/packages/grafana-ui/src/themes/index.ts index cc8d9335e4c..2d29576d968 100644 --- a/packages/grafana-ui/src/themes/index.ts +++ b/packages/grafana-ui/src/themes/index.ts @@ -1,17 +1,4 @@ -import darkTheme from './dark'; -import lightTheme from './light'; -import { GrafanaTheme } from '../types/theme'; import { ThemeContext, withTheme } from './ThemeContext'; +import { getTheme, mockTheme } from './getTheme'; -let themeMock: ((name?: string) => GrafanaTheme) | null; - -export let getTheme = (name?: string) => (themeMock && themeMock(name)) || (name === 'light' ? lightTheme : darkTheme); - -export const mockTheme = (mock: (name?: string) => GrafanaTheme) => { - themeMock = mock; - return () => { - themeMock = null; - }; -}; - -export { ThemeContext, withTheme }; +export { ThemeContext, withTheme, mockTheme, getTheme };