You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
582 B

export interface BaseContextMenuItem {
type: ContextMenuItemType;
key: string;
title: string;
showDivider?: boolean;
}
export enum ContextMenuItemType {
Action,
Category
}
export interface ContextMenuAction extends BaseContextMenuItem {
type: ContextMenuItemType.Action;
description?: string;
href?: string;
icon?: React.JSX.Element;
onClick?: () => unknown;
}
export interface ContextMenuCategory extends BaseContextMenuItem {
type: ContextMenuItemType.Category;
items: ContextMenuAction[];
}
export type ContextMenuItem = ContextMenuAction | ContextMenuCategory;