@kui-shell/core
Version:
An Electron-based shell for cloud-native development
37 lines (36 loc) • 949 B
TypeScript
import { Entity } from './entity';
import { Mode } from './mmr/types';
export interface Breadcrumb {
label: string;
command?: string;
}
/**
* A `NavResponse` is a collection of `MultiModalResponse` with menu navigation
*
*/
export type NavResponse = {
apiVersion: 'kui-shell/v1';
kind: 'NavResponse';
menus: Menu[];
links?: Link[];
breadcrumbs?: Breadcrumb[];
};
export type Menu = Label & MenuItems;
type MenuItems = {
items: Mode[];
};
type Label = {
label: string;
};
type Command = {
command: string;
};
type Href = {
href: string;
};
export type Link = Label & (Command | Href);
export declare function isLinkWithCommand(link: Link): link is Label & Command;
export declare function isLinkWithHref(link: Link): link is Label & Href;
export declare function isLink(link: Link): link is Link;
export declare function isNavResponse(entity: Entity): entity is NavResponse;
export default NavResponse;