Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
import Popover from "@paprika/popover";
import extractChildren from "@paprika/helpers/lib/extractChildren";
import Divider from "./components/Divider";
import Trigger from "./components/Trigger";
import LinkItem from "./components/LinkItem";
import Item from "./components/Item";
import { contentStyles } from "./DropdownMenu.styles";
const propTypes = {
/** Alignment of the dropdown menu */
align: PropTypes.oneOf(AlignTypes.ALL),
/** Children should consist of */
children: PropTypes.node.isRequired,
edge: PropTypes.oneOf([AlignTypes.LEFT, AlignTypes.RIGHT, null]),
};
const defaultProps = {
align: AlignTypes.BOTTOM,
edge: AlignTypes.LEFT,
};
const popoverOffset = 4;
function DropdownMenu(props) {
const { align, children, edge, ...moreProps } = props;
const [isOpen, setIsOpen] = React.useState(false);
const [isConfirming, setIsConfirming] = React.useState(false);
const [renderConfirmation, setRenderConfirmation] = React.useState(null);
const [currentFocusIndex, setFocusIndex] = React.useState(0);
const triggerRef = React.useRef(null);