UNPKG

@trycourier/courier-ui-inbox

Version:

Inbox components for the Courier web UI

54 lines (53 loc) 2.7 kB
import { InboxAction, InboxMessage } from '../../@trycourier/courier-js/src'; import { InboxDataSet } from '../types/inbox-data-set'; import { CourierInboxFeedType } from '../types/feed-type'; import { CourierInboxStateErrorFactoryProps, CourierInboxStateEmptyFactoryProps, CourierInboxStateLoadingFactoryProps, CourierInboxListItemFactoryProps, CourierInboxPaginationItemFactoryProps } from '../types/factories'; import { CourierInboxThemeManager } from '../types/courier-inbox-theme-manager'; export declare class CourierInboxList extends HTMLElement { private _themeSubscription; private _messages; private _feedType; private _isLoading; private _error; private _canPaginate; private _onMessageClick; private _onMessageActionClick; private _onMessageLongPress; private _onRefresh; private _onPaginationTrigger?; private _listItemFactory?; private _paginationItemFactory?; private _loadingStateFactory?; private _emptyStateFactory?; private _errorStateFactory?; get messages(): InboxMessage[]; constructor(props: { themeManager: CourierInboxThemeManager; onRefresh: () => void; onPaginationTrigger: (feedType: CourierInboxFeedType) => void; onMessageClick: (message: InboxMessage, index: number) => void; onMessageActionClick: (message: InboxMessage, action: InboxAction, index: number) => void; onMessageLongPress: (message: InboxMessage, index: number) => void; }); private getStyles; private reset; setDataSet(dataSet: InboxDataSet): void; addPage(dataSet: InboxDataSet): void; addMessage(message: InboxMessage, index?: number): void; removeMessage(index?: number): void; updateMessage(message: InboxMessage, index?: number): void; setFeedType(feedType: CourierInboxFeedType): void; setLoading(isLoading: boolean): void; setError(error: Error | null): void; setErrorNoClient(): void; private handleRetry; private handleRefresh; private render; 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; refreshTheme(): void; disconnectedCallback(): void; }