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 ? (
<>
>
) : (
)
}
)
}