@trycourier/courier-ui-inbox
Version:
Inbox components for the Courier web UI
43 lines (42 loc) • 1.48 kB
TypeScript
import { CourierBaseElement } from '@trycourier/courier-ui-core';
import { CourierInboxThemeManager } from '../types/courier-inbox-theme-manager';
import { CourierInboxIconTheme } from '../types/courier-inbox-theme';
export type CourierInboxMenuOption = {
id: string;
text: string;
icon: CourierInboxIconTheme;
onClick: (option: CourierInboxMenuOption) => void;
};
export type CourierInboxOptionMenuType = 'feed' | 'action';
export declare class CourierInboxOptionMenu extends CourierBaseElement {
static get id(): string;
private _themeSubscription;
private _selectedIndex;
private _options;
private _selectable;
private _onMenuOpen?;
private _isOpen;
private _menuType;
private _style?;
private _shadowRoot?;
private _container?;
constructor(themeManager: CourierInboxThemeManager, selectable: boolean, options: CourierInboxMenuOption[], menuType: CourierInboxOptionMenuType, onMenuOpen?: () => void);
onComponentMounted(): void;
onComponentUnmounted(): void;
private attachElements;
private getStyles;
setPosition(position: {
right?: string;
left?: string;
top?: string;
}): void;
private refreshTheme;
setOptions(options: CourierInboxMenuOption[]): void;
private refreshMenuItems;
toggleMenu(): void;
private showMenu;
private hideMenu;
closeMenu(): void;
private handleOutsideClick;
selectionItemAtIndex(index: number): void;
}