import { clsx } from "clsx"; import { FC, ReactNode } from "react"; import { IconProps } from "../../icons/Icon.js"; import { RefreshIcon } from "../../icons/RefreshIcon.js"; export type ItemLayoutProps = { icon?: FC; title: string | ReactNode; // if title is JSX, you should consider text color in normal and hovered state acting?: boolean; }; const iconDisplay = (icon?: FC, acting?: boolean) => { if (!icon) return null; const Icon = acting ? RefreshIcon : icon; return ( ); }; export const DropdownMenuItemLayout: FC = ({ title, icon, acting, }) => { return (
{iconDisplay(icon, acting)}
{title}
); };