@trycourier/courier-ui-inbox
Version:
Inbox components for the Courier web UI
44 lines (43 loc) • 1.76 kB
TypeScript
import { InboxAction, InboxMessage } from '@trycourier/courier-js';
import { CourierBaseElement } from '@trycourier/courier-ui-core';
import { CourierInboxTheme } from '../types/courier-inbox-theme';
import { CourierInboxThemeManager } from '../types/courier-inbox-theme-manager';
import { CourierInboxListItemAction } from '../types/inbox-defaults';
export declare class CourierInboxListItem extends CourierBaseElement {
static get id(): string;
private _themeManager;
private _theme;
private _message;
private _isMobile;
private _canClick;
private _listItemActions;
private _titleElement?;
private _subtitleElement?;
private _timeElement?;
private _menu?;
private _unreadIndicator?;
private _actionsContainer?;
private _longPressTimeout;
private _isLongPress;
private _observer?;
private onItemClick;
private onItemLongPress;
private onItemActionClick;
private onItemVisible;
constructor(themeManager: CourierInboxThemeManager, canClick: boolean, _canLongPress: boolean, listItemActions?: CourierInboxListItemAction[]);
private render;
private _setupIntersectionObserver;
onComponentUnmounted(): void;
static getStyles(theme: CourierInboxTheme): string;
private _setupHoverBehavior;
private _setupLongPressBehavior;
private _getMenuOptions;
private _showMenu;
private _hideMenu;
setMessage(message: InboxMessage): void;
setOnItemClick(cb: (message: InboxMessage) => void): void;
setOnItemActionClick(cb: (message: InboxMessage, action: InboxAction) => void): void;
setOnItemLongPress(cb: (message: InboxMessage) => void): void;
setOnItemVisible(cb: (message: InboxMessage) => void): void;
private _updateContent;
}