Skip to content

Commit 3cc1904

Browse files
committed
Merge remote-tracking branch 'origin/master' into next
2 parents 9518a7d + e421805 commit 3cc1904

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/components/Overlay/Overlay.tsx

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,19 @@ function generateOverlayLayer() {
1313
const elements = new Set<number>();
1414
const classes: { [className: string]: number } = {};
1515

16-
const overlayRoot = document.createElement('div');
17-
overlayRoot.classList.add('ui__base', 'ui__overlay');
16+
const overlayRoot = document ? document.createElement('div') : undefined;
17+
overlayRoot?.classList.add('ui__base', 'ui__overlay');
1818

19-
const appendElement = () => document.body.appendChild(overlayRoot);
20-
const removeElement = () => document.body.removeChild(overlayRoot);
19+
const appendElement = () => {
20+
if (document && overlayRoot) document.body.appendChild(overlayRoot);
21+
};
22+
const removeElement = () => {
23+
if (document && overlayRoot) document.body.removeChild(overlayRoot);
24+
};
2125

2226
const addClass = (className?: string) => {
2327
if (!className) return;
24-
overlayRoot.classList.add(className);
28+
overlayRoot?.classList.add(className);
2529
classes[className] = (classes[className] || 0) + 1;
2630
};
2731

@@ -30,7 +34,7 @@ function generateOverlayLayer() {
3034
classes[className] = (classes[className] || 0) - 1;
3135
if (classes[className] <= 0) {
3236
delete classes[className];
33-
overlayRoot.classList.remove(className);
37+
overlayRoot?.classList.remove(className);
3438
}
3539
};
3640

@@ -50,6 +54,7 @@ function generateOverlayLayer() {
5054

5155
return (({ children, className }) => {
5256
useEffect(() => add({ className }), [className]);
57+
if (!overlayRoot) return null;
5358
return createPortal(children, overlayRoot);
5459
}) as FC<OverlayProps>;
5560
}

0 commit comments

Comments
 (0)