Skip to content

Commit d8a8df3

Browse files
authored
fix: ensure availability of internal CSS vars (#6393)
1 parent b981202 commit d8a8df3

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

packages/base/src/hooks/useStylesheet.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,19 @@ import { useSyncExternalStore } from 'use-sync-external-store/shim/index.js';
66
import { StyleStore } from '../stores/StyleStore.js';
77
import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js';
88

9-
export function useStylesheet(styles: StyleDataCSP, componentName: string) {
9+
interface UseStyleSheetOptions {
10+
alwaysInject?: boolean;
11+
}
12+
13+
export function useStylesheet(styles: StyleDataCSP, componentName: string, options?: UseStyleSheetOptions) {
1014
const { staticCssInjected, componentsMap } = useSyncExternalStore(
1115
StyleStore.subscribe,
1216
StyleStore.getSnapshot,
1317
StyleStore.getServerSnapshot
1418
);
1519

1620
useIsomorphicLayoutEffect(() => {
17-
const shouldInject = !staticCssInjected;
21+
const shouldInject = options?.alwaysInject || !staticCssInjected;
1822
if (shouldInject) {
1923
createOrUpdateStyle(styles, 'data-ui5wcr-component', componentName);
2024
StyleStore.mountComponent(componentName);

packages/main/package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
"license": "Apache-2.0",
3636
"sideEffects": [
3737
"./dist/Assets.js",
38-
"./dist/json-imports/*"
38+
"./dist/json-imports/*",
39+
"./dist/css/index.css"
3940
],
4041
"scripts": {
4142
"clean": "rimraf dist tmp wrappers",

packages/main/src/components/ThemeProvider/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ let _versionInfoInjected = false;
1616
function ThemeProviderStyles() {
1717
const uniqueId = useId();
1818
useStylesheet(styleData, `${ThemeProvider.displayName}-${uniqueId}`);
19-
useStylesheet(ui5WcVariablesStyleData, `${ThemeProvider.displayName}-css-vars-${uniqueId}`);
19+
useStylesheet(ui5WcVariablesStyleData, `${ThemeProvider.displayName}-css-vars-${uniqueId}`, { alwaysInject: true });
2020
return null;
2121
}
2222

0 commit comments

Comments
 (0)