import React, { HTMLAttributes, useState, useEffect, useRef } from 'react' import { DropDown } from '../DropDown/DropDown' import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faChevronDown, faChevronRight } from '@fortawesome/free-solid-svg-icons' import '../styles.css' export interface Props extends HTMLAttributes { items: { icon?: any title: string style?: object submenu?: any action?: any }, depthLevel: number } export const MenuItems = ({items, depthLevel, ...props}: Props): JSX.Element => { //console.log(items) const ref = useRef(null) const [dropdown, setDropdown] = useState(false) useEffect(()=> { const handler = (event: MouseEvent|TouchEvent ) => { if (dropdown && ref.current && !ref.current.contains(event.target as Node)) { setDropdown(false) } } document.addEventListener("mousedown", handler); document.addEventListener("touchstart", handler); return () => { document.removeEventListener("mousedown", handler); document.removeEventListener("touchstart", handler); } }, [dropdown]) return (
  • { items.submenu ? ( <> ) : ( ) }
  • ) }