import { TooltipPositionContext, TooltipPositionContextType, } from "@root/src/contexts/TooltipPositionContext"; import React, { useCallback } from "react"; // Local Interfaces interface OverlayButtonContainerProps { children: React.ReactNode; position?: "top-left" | "top-right" | "bottom-left" | "bottom-right"; horizontal?: boolean; tooltipPosition?: TooltipPositionContextType; } const MenuContainer: React.FC = ({ children, position = "top-right", horizontal, tooltipPosition = undefined, }) => { const chooseContainerPosition = useCallback(() => { const commonClasses = `z-50 menu bg-base-300 rounded-box gap-4 absolute ${horizontal ? "menu-horizontal" : ""} `; if (position === "top-left") return commonClasses + "top-2 left-2"; if (position === "top-right") return commonClasses + "top-2 right-2"; if (position === "bottom-left") return commonClasses + "bottom-2 left-2"; if (position === "bottom-right") return commonClasses + "bottom-2 right-2"; }, [horizontal, position]); const overlayButtonContainer = () => { const divProps = { className: chooseContainerPosition(), }; return (
{children}
); }; return overlayButtonContainer(); }; export default MenuContainer;