UNPKG

@trycourier/courier-ui-inbox

Version:

Inbox components for the Courier web UI

77 lines (76 loc) 3.64 kB
import { InboxAction, InboxMessage } from '@trycourier/courier-js'; import { CourierBaseElement } from '@trycourier/courier-ui-core'; import { InboxDataSet } from '../types/inbox-data-set'; import { CourierInboxStateErrorFactoryProps, CourierInboxStateEmptyFactoryProps, CourierInboxStateLoadingFactoryProps, CourierInboxListItemFactoryProps, CourierInboxPaginationItemFactoryProps } from '../types/factories'; import { CourierInboxTheme } from '../types/courier-inbox-theme'; import { CourierInboxThemeManager } from '../types/courier-inbox-theme-manager'; import { CourierInboxListItemAction } from '../types/inbox-defaults'; export declare class CourierInboxList extends CourierBaseElement { static get id(): string; private _themeSubscription; private _messages; private _datasetId; private _isLoading; private _error; private _canPaginate; private _canClickListItems; private _canLongPressListItems; private _listItemActions; private _onMessageClick; private _onMessageActionClick; private _onMessageLongPress; private _onRefresh; private _onPaginationTrigger?; private _listItemFactory?; private _paginationItemFactory?; private _loadingStateFactory?; private _emptyStateFactory?; private _errorStateFactory?; get messages(): InboxMessage[]; private get theme(); private _listStyles?; private _listItemStyles?; private _listItemMenuStyles?; private _errorContainer?; private _emptyContainer?; constructor(props: { themeManager: CourierInboxThemeManager; listItemActions?: CourierInboxListItemAction[]; canClickListItems: boolean; canLongPressListItems: boolean; onRefresh: () => void; onPaginationTrigger: (datasetId: string) => void; onMessageClick: (message: InboxMessage, index: number) => void; onMessageActionClick: (message: InboxMessage, action: InboxAction, index: number) => void; onMessageLongPress: (message: InboxMessage, index: number) => void; }); onComponentMounted(): void; onComponentUnmounted(): void; setCanClickListItems(canClick: boolean): void; setCanLongPressListItems(canLongPress: boolean): void; setListItemActions(actions: CourierInboxListItemAction[]): void; static getStyles(theme: CourierInboxTheme): string; setDataSet(dataSet: InboxDataSet): void; addPage(dataSet: InboxDataSet): void; addMessage(message: InboxMessage, index?: number): void; removeMessage(index?: number): void; updateMessage(message: InboxMessage, index?: number): void; selectDataset(datasetId: string): void; setLoading(isLoading: boolean): void; setError(error: Error | null): void; setErrorNoClient(): void; private handleRetry; private handleRefresh; private refreshTheme; refreshInfoStateThemes(): void; get errorProps(): any; get emptyProps(): any; private render; private openVisibleMessage; setLoadingStateFactory(factory: (props: CourierInboxStateLoadingFactoryProps | undefined | null) => HTMLElement): void; setEmptyStateFactory(factory: (props: CourierInboxStateEmptyFactoryProps | undefined | null) => HTMLElement): void; setErrorStateFactory(factory: (props: CourierInboxStateErrorFactoryProps | undefined | null) => HTMLElement): void; setListItemFactory(factory: (props: CourierInboxListItemFactoryProps | undefined | null) => HTMLElement): void; setPaginationItemFactory(factory: (props: CourierInboxPaginationItemFactoryProps | undefined | null) => HTMLElement): void; scrollToTop(animate?: boolean): void; }