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}
))}
))}
)}
);
};