All files / src/components/common/Menu/hooks useDropdownMenu.tsx

87.5% Statements 7/8
100% Branches 0/0
75% Functions 3/4
87.5% Lines 7/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32      34x 49x   49x       49x 13x     49x         49x                        
import React, { useState } from "react";
import NewDropdownMenu, { NewDropdownMenuProps } from "../NewDropdownMenu";
 
export const useDropdownMenu = () => {
  const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);
 
  const closeMenu = () => {
    setAnchorEl(null);
  };
 
  const openMenu = (event: React.MouseEvent<HTMLElement>) => {
    setAnchorEl(event.currentTarget);
  };
 
  return {
    DropdownMenu: ({
      items,
      ...rest
    }: Omit<NewDropdownMenuProps, "anchorEl" | "setAnchorEl">) => (
      <NewDropdownMenu
        items={items}
        anchorEl={anchorEl}
        setAnchorEl={setAnchorEl}
        {...rest}
      />
    ),
    openMenu,
    closeMenu,
    anchorEl
  };
};