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