Skip to content

Commit 0e32fb5

Browse files
authored
[Docs] Fix global Emotion style order in dev mode (elastic#8754)
1 parent f319078 commit 0e32fb5

File tree

1 file changed

+10
-3
lines changed
  • packages/docusaurus-theme/src/components/theme_context

1 file changed

+10
-3
lines changed

packages/docusaurus-theme/src/components/theme_context/index.tsx

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
useState,
77
} from 'react';
88
import useIsBrowser from '@docusaurus/useIsBrowser';
9+
import createCache from '@emotion/cache';
910
import {
1011
EUI_THEME,
1112
EuiProvider,
@@ -49,9 +50,14 @@ const defaultState: AppThemeContextData = {
4950
changeTheme: (themeValue: string) => {},
5051
};
5152

52-
export const AppThemeContext = createContext<AppThemeContextData>(
53-
defaultState,
54-
);
53+
/* creating a cache and passing it to EuiProvider ensures that injected
54+
Emotion style tags dev mode are in an expected order (global css before component css)
55+
This only applies for @emotion/react css styles, @emotion/css styles are separate */
56+
const cssCache = createCache({
57+
key: 'website-css',
58+
});
59+
60+
export const AppThemeContext = createContext<AppThemeContextData>(defaultState);
5561

5662
export const useAppTheme: () => AppThemeContextData = () => {
5763
return useContext(AppThemeContext);
@@ -113,6 +119,7 @@ export const AppThemeProvider: FunctionComponent<PropsWithChildren> = ({
113119
colorMode={colorMode}
114120
theme={theme.provider}
115121
highContrastMode={highContrastMode}
122+
cache={cssCache}
116123
>
117124
{children}
118125
</EuiProvider>

0 commit comments

Comments
 (0)