import React, { HTMLProps } from "react"; import { MenuWrapper, StyledMenu, TitleWrapper } from "./style"; import { BodyText } from "../../typography"; import { Separator } from "../Separator"; import { ArrowIcon } from "../../iconography"; type TMenuMode = "section" | "withArrow"; export interface MenuItemsProps { checkGreen?: boolean; checkBlack?: boolean; icon: React.ReactNode; mode?: TMenuMode | TMenuMode[]; onClick?: () => void; title: string; descriptions?: React.ReactNode[]; } export interface MenuProps extends Omit, "ref" | "as"> { menuItems: MenuItemsProps[]; menuIconProps?: React.SVGProps; topSpace: number; rightSpace: number; showMenu: boolean; rightAsLeft?: boolean; } export const Menu = ({ menuItems, topSpace, rightSpace, showMenu, rightAsLeft, ...props }: MenuProps) => { const getMenuItemMode = (mode: TMenuMode | null) => { switch (mode) { case "section": return ; case "withArrow": return ; default: return; } }; return ( {showMenu && (
    {menuItems.map((menuItem, index) => (
  • {menuItem.icon} {menuItem.title} {Array.isArray(menuItem.mode) ? menuItem.mode.map(mode => { return getMenuItemMode(mode); }) : getMenuItemMode(menuItem.mode)} {menuItem.descriptions?.map((description, index) => ( {description} ))}
  • ))}
)}
); };