@trycourier/courier-ui-inbox
Version:
Inbox components for the Courier web UI
33 lines (32 loc) • 1.27 kB
TypeScript
import { CourierInboxThemeManager } from '../types/courier-inbox-theme-manager';
import { CourierInboxHeaderMenuItemId } from './courier-inbox-header';
import { CourierInboxIcon } from '../types/courier-inbox-theme';
export type CourierInboxMenuOptionType = 'filters' | 'actions';
export type CourierInboxMenuOption = {
id: CourierInboxHeaderMenuItemId;
text: string;
icon: CourierInboxIcon;
selectionIcon?: CourierInboxIcon | null;
onClick: (option: CourierInboxMenuOption) => void;
};
export declare class CourierInboxOptionMenu extends HTMLElement {
private _themeSubscription;
private _type;
private _selectedIndex;
private _options;
private _selectable;
private _onMenuOpen;
private _menuButton;
private _menu;
private _style;
constructor(themeManager: CourierInboxThemeManager, type: CourierInboxMenuOptionType, selectable: boolean, options: CourierInboxMenuOption[], onMenuOpen: () => void);
private getStyles;
private refreshTheme;
setOptions(options: CourierInboxMenuOption[]): void;
private refreshMenuItems;
private toggleMenu;
private handleOutsideClick;
closeMenu(): void;
selectOption(option: CourierInboxMenuOption): void;
disconnectedCallback(): void;
}