import * as React from "react"; import styles from "./PopupLayoutContainer.module.scss"; import { getPopupPositionStyle } from "../utility/getPopupPositionStyle"; import { BasePopupPosition } from "./BasePopup"; import classNames from "classnames"; export interface PopupLayoutContainerProps extends React.ComponentPropsWithoutRef<"div"> { /** * If the Popup has an indicator */ hasIndicator: boolean; /** * The position for the Popup */ position: BasePopupPosition; /** * The trigger ref for the Popup */ triggerRef: React.RefObject; } export const PopupLayoutContainer: React.FC = (props) => { const { className, hasIndicator, position, triggerRef, ...rest } = props; const [rootStyle, setRootStyle] = React.useState({ visibility: "hidden" }); const referrerRef = React.useRef(null); React.useEffect(() => { setRootStyle( getPopupPositionStyle({ position, referrerRef, targetRef: triggerRef, }) ); }, [position, referrerRef, triggerRef]); return (
); }; PopupLayoutContainer.displayName = "PopupLayoutContainer";