import { UIMenuGroup } from './ui-menu-group';
import { UIMenu } from './ui-menu';
import { UIMenuItem } from './ui-menu-item';
import { UINavbarMenu } from './ui-navbar-menu';

export interface IMenuItem {
  id?: string;
  label?: string;
  href?: string;
  badge?: string;
  icon?: string;
  iconColor?: string;
  color?: string;
  classes?: string;
  active?: boolean | (() => boolean);
  hidden?: boolean | (() => boolean);
  disabled?: boolean | (() => boolean);
  handler?: (data?) => void;

  items?: IMenuItems[];
}
export interface IMenuGroup {
  group: string;
  hiddenLabel: boolean;
  items: IMenuItems[];
}
export type IMenuItems = "-" | IMenuItem | IMenuGroup;

export const Menus = [UINavbarMenu, UIMenu, UIMenuItem, UIMenuGroup];
