UNPKG

@trycourier/courier-ui-inbox

Version:

Inbox components for the Courier web UI

72 lines (71 loc) 3.43 kB
import { InboxAction, InboxMessage } from '@trycourier/courier-js'; import { CourierBaseElement } from '@trycourier/courier-ui-core'; import { InboxDataSet } from '../types/inbox-data-set'; import { CourierInboxFeedType } from '../types/feed-type'; import { CourierInboxStateErrorFactoryProps, CourierInboxStateEmptyFactoryProps, CourierInboxStateLoadingFactoryProps, CourierInboxListItemFactoryProps, CourierInboxPaginationItemFactoryProps } from '../types/factories'; import { CourierInboxTheme } from '../types/courier-inbox-theme'; import { CourierInboxThemeManager } from '../types/courier-inbox-theme-manager'; export declare class CourierInboxList extends CourierBaseElement { static get id(): string; private _themeSubscription; private _messages; private _feedType; private _isLoading; private _error; private _canPaginate; private _canClickListItems; private _canLongPressListItems; 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; canClickListItems: boolean; canLongPressListItems: boolean; 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; }); onComponentMounted(): void; onComponentUnmounted(): void; setCanClickListItems(canClick: boolean): void; setCanLongPressListItems(canLongPress: boolean): 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; setFeedType(feedType: CourierInboxFeedType): void; setLoading(isLoading: boolean): void; setError(error: Error | null): void; setErrorNoClient(): void; private handleRetry; private handleRefresh; 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; }