Skip to content

Commit 4f669d1

Browse files
unstable portal container for react-aria (#6297)
Co-authored-by: Reid Barber <reid@reidbarber.com>
1 parent d2124f6 commit 4f669d1

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

packages/@react-aria/overlays/src/Overlay.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import React, {ReactNode, useContext, useMemo, useState} from 'react';
1616
import ReactDOM from 'react-dom';
1717
import {useIsSSR} from '@react-aria/ssr';
1818
import {useLayoutEffect} from '@react-aria/utils';
19+
import {useUNSTABLE_PortalContext} from './PortalProvider';
1920

2021
export interface OverlayProps {
2122
/**
@@ -50,6 +51,11 @@ export function Overlay(props: OverlayProps) {
5051
let [contain, setContain] = useState(false);
5152
let contextValue = useMemo(() => ({contain, setContain}), [contain, setContain]);
5253

54+
let {getContainer} = useUNSTABLE_PortalContext();
55+
if (!props.portalContainer && getContainer) {
56+
portalContainer = getContainer();
57+
}
58+
5359
if (!portalContainer) {
5460
return null;
5561
}

packages/@react-spectrum/overlays/src/Overlay.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {OpenTransition} from './OpenTransition';
1515
import {OverlayProps} from '@react-types/overlays';
1616
import {Provider} from '@react-spectrum/provider';
1717
import React, {useCallback, useState} from 'react';
18-
import {Overlay as ReactAriaOverlay, useUNSTABLE_PortalContext} from '@react-aria/overlays';
18+
import {Overlay as ReactAriaOverlay} from '@react-aria/overlays';
1919

2020
function Overlay(props: OverlayProps, ref: DOMRef<HTMLDivElement>) {
2121
let {
@@ -32,11 +32,6 @@ function Overlay(props: OverlayProps, ref: DOMRef<HTMLDivElement>) {
3232
nodeRef
3333
} = props;
3434

35-
let {getContainer} = useUNSTABLE_PortalContext();
36-
if (!container && getContainer) {
37-
container = getContainer();
38-
}
39-
4035
let [exited, setExited] = useState(!isOpen);
4136

4237
let handleEntered = useCallback(() => {

0 commit comments

Comments
 (0)