Skip to content

Commit f81c57f

Browse files
committed
Merge remote-tracking branch 'origin/master' into next
2 parents 24c97b5 + 742939f commit f81c57f

File tree

1 file changed

+15
-12
lines changed

1 file changed

+15
-12
lines changed

src/components/Overlay/Overlay.tsx

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

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

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

2622
const addClass = (className?: string) => {
2723
if (!className) return;
28-
overlayRoot?.classList.add(className);
24+
overlayRoot.classList.add(className);
2925
classes[className] = (classes[className] || 0) + 1;
3026
};
3127

@@ -34,7 +30,7 @@ function generateOverlayLayer() {
3430
classes[className] = (classes[className] || 0) - 1;
3531
if (classes[className] <= 0) {
3632
delete classes[className];
37-
overlayRoot?.classList.remove(className);
33+
overlayRoot.classList.remove(className);
3834
}
3935
};
4036

@@ -54,9 +50,16 @@ function generateOverlayLayer() {
5450

5551
return (({ children, className }) => {
5652
useEffect(() => add({ className }), [className]);
57-
if (!overlayRoot) return null;
5853
return createPortal(children, overlayRoot);
5954
}) as FC<OverlayProps>;
6055
}
6156

62-
export const Overlay = generateOverlayLayer();
57+
let Overlay: FC<OverlayProps>;
58+
59+
if (typeof window !== 'undefined') {
60+
Overlay = generateOverlayLayer();
61+
} else {
62+
Overlay = () => null;
63+
}
64+
65+
export { Overlay };

0 commit comments

Comments
 (0)