/* eslint-disable @typescript-eslint/no-explicit-any */ import { createElement, memo } from "react"; import { Flex } from "../Box"; import isTouchDevice from "../../util/isTouchDevice"; import DropdownMenu from "../DropdownMenu/DropdownMenu"; import MenuItem from "../MenuItem/MenuItem"; import { MenuItemsProps } from "./types"; const MenuItems: React.FC> = ({ items = [], activeItem, activeSubItem, ...props }) => { return ( {items.map(({ label, items: menuItems = [], href, icon, disabled }) => { const statusColor = menuItems?.find((menuItem) => menuItem.status !== undefined)?.status?.color; const isActive = activeItem === href; const linkProps = isTouchDevice() && menuItems && menuItems.length > 0 ? {} : { href }; const Icon = icon; return ( {label || (icon && createElement(Icon as any, { color: isActive ? "secondary" : "textSubtle" }))} ); })} ); }; export default memo(MenuItems);