UNPKG

@cometchat/chat-uikit-angular

Version:

Ready-to-use Chat UI Components for Angular (JavaScript/Web)

814 lines (813 loc) 33.8 kB
import { ChangeDetectorRef, ElementRef, NgZone, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges, TemplateRef } from "@angular/core"; import { AvatarStyle, BackdropStyle, BaseStyle, CallscreenStyle, ConfirmDialogStyle, DateStyle, DocumentBubbleStyle, EmojiKeyboardStyle, FullScreenViewerStyle, MenuListStyle, PanelStyle, ReceiptStyle } from "@cometchat/uikit-elements"; import { CardBubbleStyle, FormBubbleStyle, ImageModerationStyle, MessageInformationConfiguration, MessageListStyle, MessageTranslationStyle, PollsBubbleStyle, SchedulerBubbleStyle, SmartRepliesConfiguration, SmartRepliesStyle, ReactionsStyle, ReactionListConfiguration, ReactionInfoConfiguration, ReactionsConfiguration, CometChatTextFormatter } from "@cometchat/uikit-shared"; import { CometChatMessageOption, CometChatMessageTemplate, CometChatTheme, CometChatUIKitConstants, DatePatterns, DocumentIconAlignment, MessageBubbleAlignment, MessageListAlignment, SchedulerMessage, States, TimestampAlignment, localize } from "@cometchat/uikit-resources"; import { LinkPreviewStyle } from "@cometchat/uikit-shared"; import { CometChat } from "@cometchat/chat-sdk-javascript"; import { CometChatThemeService } from "../../CometChatTheme.service"; import { Subscription } from "rxjs"; import * as i0 from "@angular/core"; /** * * CometChatMessageList is a wrapper component for messageBubble * * @version 1.0.0 * @author CometChatTeam * @copyright © 2022 CometChat Inc. * */ export declare class CometChatMessageListComponent implements OnInit, OnDestroy, OnChanges { private ngZone; private ref; private themeService; listScroll: ElementRef; bottom: ElementRef; top: ElementRef; textBubble: TemplateRef<any>; threadMessageBubble: TemplateRef<any>; fileBubble: TemplateRef<any>; audioBubble: TemplateRef<any>; videoBubble: TemplateRef<any>; imageBubble: TemplateRef<any>; formBubble: TemplateRef<any>; cardBubble: TemplateRef<any>; stickerBubble: TemplateRef<any>; documentBubble: TemplateRef<any>; whiteboardBubble: TemplateRef<any>; popoverRef: any; directCalling: TemplateRef<any>; schedulerBubble: TemplateRef<any>; pollBubble: TemplateRef<any>; messageBubbleRef: QueryList<ElementRef>; hideError: boolean; hideDateSeparator: boolean; errorStateView: TemplateRef<any>; loadingStateView: TemplateRef<any>; emptyStateView: TemplateRef<any>; errorStateText: string; emptyStateText: string; loadingIconURL: string; user: CometChat.User; group: CometChat.Group; /** * @deprecated * * This property is deprecated as of version 4.3.16 due to newer property 'hideReceipt'. It will be removed in subsequent versions. */ disableReceipt: boolean; hideReceipt: boolean; disableSoundForMessages: boolean; customSoundForMessages: string; readIcon: string; deliveredIcon: string; sentIcon: string; waitIcon: string; errorIcon: string; aiErrorIcon: string; aiEmptyIcon: string; alignment: MessageListAlignment; showAvatar: boolean; datePattern: DatePatterns; timestampAlignment: TimestampAlignment; DateSeparatorPattern: DatePatterns; templates: CometChatMessageTemplate[]; messagesRequestBuilder: CometChat.MessagesRequestBuilder; newMessageIndicatorText: string; scrollToBottomOnNewMessages: boolean; thresholdValue: number; unreadMessageThreshold: number; reactionsConfiguration: ReactionsConfiguration; disableReactions: Boolean; emojiKeyboardStyle: EmojiKeyboardStyle; apiConfiguration?: (user?: CometChat.User, group?: CometChat.Group) => Promise<Object>; onThreadRepliesClick: ((message: CometChat.BaseMessage, view: TemplateRef<any>) => void) | null; headerView: TemplateRef<any>; footerView: TemplateRef<any>; parentMessageId: number; threadIndicatorIcon: string; avatarStyle: AvatarStyle; backdropStyle: BackdropStyle; dateSeparatorStyle: DateStyle; messageListStyle: MessageListStyle; onError: ((error: CometChat.CometChatException) => void) | null; messageInformationConfiguration: MessageInformationConfiguration; disableMentions: boolean; state: States; optionsStyle: MenuListStyle; receiptStyle: ReceiptStyle; documentBubbleAlignment: DocumentIconAlignment; callBubbleAlignment: DocumentIconAlignment; imageModerationStyle: ImageModerationStyle; timestampEnum: typeof TimestampAlignment; chatChanged: boolean; starterErrorStateText: string; starterEmptyStateText: string; starterLoadingStateText: string; summaryErrorStateText: string; summaryEmptyStateText: string; summaryLoadingStateText: string; requestBuilder: any; closeImageModeration: any; timeStampColor: string; timeStampFont: string; smartReplyStyle: SmartRepliesStyle; conversationStarterStyle: SmartRepliesStyle; conversationSummaryStyle: PanelStyle; showSmartReply: boolean; enableConversationStarter: boolean; showConversationStarter: boolean; conversationStarterState: States; conversationStarterReplies: string[]; enableConversationSummary: boolean; showConversationSummary: boolean; conversationSummaryState: States; conversationSummary: string[]; getUnreadCount: any; ccHidePanel: Subscription; ccShowPanel: Subscription; smartReplyMessage: CometChat.BaseMessage | null; enableSmartReply: boolean; smartReplyConfig: SmartRepliesConfiguration; timeStampBackground: string; linkPreviewStyle: LinkPreviewStyle; unreadMessagesStyle: {}; modalStyle: { height: string; width: string; closeIconTint: string; }; dividerStyle: BaseStyle; pollBubbleStyle: PollsBubbleStyle; labelStyle: any; imageBubbleStyle: any; messagesList: CometChat.BaseMessage[]; bubbleDateStyle: DateStyle; whiteboardIconURL: string; documentIconURL: string; directCallIconURL: string; placeholderIconURL: string; downloadIconURL: string; translationStyle: MessageTranslationStyle; documentBubbleStyle: DocumentBubbleStyle; callBubbleStyle: DocumentBubbleStyle; whiteboardTitle: string; whiteboardSubitle: string; whiteboardButtonText: string; documentTitle: string; documentSubitle: string; documentButtonText: string; joinCallButtonText: string; topObserver: IntersectionObserver; bottomObserver: IntersectionObserver; localize: typeof localize; reinitialized: boolean; addReactionIconURL: string; MessageTypesConstant: typeof CometChatUIKitConstants.MessageTypes; callConstant: string; typesMap: any; messageTypesMap: any; theme: CometChatTheme; groupListenerId: string; callListenerId: string; loggedInUser: CometChat.User; states: typeof States; MessageCategory: Readonly<{ message: string; custom: string; action: string; call: string; interactive: string; }>; numberOfTopScroll: number; keepRecentMessages: boolean; messageTemplate: CometChatMessageTemplate[]; openContactsView: boolean; messageCount: number; isOnBottom: boolean; UnreadCount: CometChat.BaseMessage[]; newMessageCount: number | string; type: string; confirmText: string; cancelText: string; warningText: string; ccMessageDelete: Subscription; ccMessageReact: Subscription; ccMessageRead: Subscription; ccMessageEdit: Subscription; ccLiveReaction: Subscription; ccMessageSent: Subscription; ccMessageEdited: Subscription; ccGroupMemberAdded: Subscription; ccGroupLeft: Subscription; ccGroupMemberJoined: Subscription; ccGroupMemberKicked: Subscription; ccGroupMemberBanned: Subscription; ccOwnershipChanged: Subscription; ccGroupDeleted: Subscription; ccGroupCreated: Subscription; ccOutgoingCall: Subscription; ccCallRejected: Subscription; ccCallEnded: Subscription; ccCallAccepted: Subscription; ccGroupMemberScopeChanged: Subscription; onTextMessageReceived: Subscription; onMessageReactionAdded: Subscription; onMessageReactionRemoved: Subscription; onCustomMessageReceived: Subscription; onFormMessageReceived: Subscription; onSchedulerMessageReceived: Subscription; onCardMessageReceived: Subscription; onCustomInteractiveMessageReceived: Subscription; onMediaMessageReceived: Subscription; onMessagesDelivered: Subscription; onMessagesRead: Subscription; onMessagesReadByAll: Subscription; onMessagesDeliveredToAll: Subscription; onMessageDeleted: Subscription; onMessageEdited: Subscription; onTransientMessageReceived: Subscription; onInteractionGoalCompleted: Subscription; threadedAlignment: MessageBubbleAlignment; messageInfoAlignment: MessageBubbleAlignment; openEmojiKeyboard: boolean; keyboardAlignment: string; popoverStyle: any; videoBubbleStyle: BaseStyle; threadViewAlignment: MessageBubbleAlignment; whiteboardURL: string | URL | undefined; enableDataMasking: boolean; enableThumbnailGeneration: boolean; enableLinkPreview: boolean; enablePolls: boolean; enableReactions: boolean; enableImageModeration: boolean; enableStickers: boolean; enableWhiteboard: boolean; enableDocument: boolean; showOngoingCall: boolean; enableCalling: boolean; ongoingCallStyle: CallscreenStyle; sessionId: string; openMessageInfoPage: boolean; messageInfoObject: CometChat.BaseMessage; firstReload: boolean; isWebsocketReconnected: boolean; connectionListenerId: string; lastMessageId: number; isConnectionReestablished: boolean; textFormatters?: Array<CometChatTextFormatter>; closeIconURL: string; threadOpenIcon: string; confirmDialogStyle: ConfirmDialogStyle; messageToReact: CometChat.BaseMessage | null; limit: number; types: string[]; categories: string[]; callbacks: Map<string, (sessionId: string) => void>; constructor(ngZone: NgZone, ref: ChangeDetectorRef, themeService: CometChatThemeService); ngOnChanges(changes: SimpleChanges): void; sendMessage(message: CometChat.BaseMessage, receiverId: string, receiverType: string): Promise<unknown>; closeContactsPage: () => void; addReaction: (event: any) => void; getCallBubbleTitle(message: CometChat.BaseMessage): any; getCallActionMessage: (call: CometChat.Call) => string; ngOnDestroy(): void; /** * Creates a new ReactionsStyle object with the defined or default styles. * * @returns {ReactionsStyle} Returns an instance of ReactionsStyle with the set or default styles. */ getReactionsStyle(): ReactionsStyle; isMobileView: () => boolean; getBubbleById(id: string): ElementRef | undefined; showEmojiKeyboard: (id: number, event: any) => void; setBubbleView: () => void; openThreadView: (message: CometChat.BaseMessage) => void; threadCallback: (id: number) => void; deleteCallback: (id: number) => void; editCallback: (id: number) => void; copyCallback: (id: number) => void; messagePrivatelyCallback: (id: number) => void; messageInfoCallback: (id: number) => void; openMessageInfo(messageObject: CometChat.BaseMessage): void; closeMessageInfoPage: () => void; sendMessagePrivately(messageObject: CometChat.BaseMessage): void; getMessageById(id: number | string): false | import("@cometchat/chat-sdk-javascript").BaseMessage; isTranslated(message: CometChat.TextMessage): any; updateTranslatedMessage: (translation: any) => void; translateMessage: (id: number) => void; setOptionsCallback(options: CometChatMessageOption[], id: number): CometChatMessageOption[]; /** * send message options based on type * @param {CometChat.BaseMessage} msgObject */ setMessageOptions(msgObject: CometChat.BaseMessage): CometChatMessageOption[]; /** * Reacts to a message by either adding or removing the reaction. * * @param {string} emoji - The emoji used for the reaction. * @param {CometChat.BaseMessage} message - The message that was reacted to. */ reactToMessage(emoji: string, message: CometChat.BaseMessage): void; /** * Filters out the 'add reaction' option if reactions are disabled. * * @param {CometChatMessageOption[]} options - The original set of message options. * @returns {CometChatMessageOption[]} The filtered set of message options. */ filterEmojiOptions: (options: CometChatMessageOption[]) => CometChatMessageOption[]; getClonedReactionObject(message: CometChat.BaseMessage): import("@cometchat/chat-sdk-javascript").BaseMessage; /** * passing style based on message object * @param {CometChat.BaseMessage} messageObject */ setMessageBubbleStyle(msg: CometChat.BaseMessage): BaseStyle; getSessionId(message: CometChat.CustomMessage): any; getWhiteboardDocument(message: CometChat.CustomMessage): any; openLinkURL(event: any): void; getSticker(message: CometChat.CustomMessage): any; /** * Checks if the 'statusInfoView' is present in the default template provided by the user * If present, returns the user-defined template, otherwise returns null. * * @param message Message object for which the status info view needs to be fetched * @returns User-defined TemplateRef if present, otherwise null */ getContentView: (message: CometChat.BaseMessage) => TemplateRef<any> | null; /** * Checks if the 'headerView' is present in the default template provided by the user * If present, returns the user-defined template, otherwise returns null. * * @param message Message object for which the status info view needs to be fetched * @returns User-defined TemplateRef if present, otherwise null */ getHeaderView(message: CometChat.BaseMessage): TemplateRef<any> | null; /** * Checks if the 'footerView' is present in the default template provided by the user * If present, returns the user-defined template, otherwise returns null. * * @param message Message object for which the status info view needs to be fetched * @returns User-defined TemplateRef if present, otherwise null */ getFooterView(message: CometChat.BaseMessage): TemplateRef<any> | null; /** * Checks if the 'bottomView' is present in the default template provided by the user * If present, returns the user-defined template, otherwise returns null. * * @param message Message object for which the status info view needs to be fetched * @returns User-defined TemplateRef if present, otherwise null */ getBottomView(message: CometChat.BaseMessage): TemplateRef<any> | null; /** * Checks if the 'statusInfoView' is present in the default template provided by the user * If present, returns the user-defined template, otherwise returns null. * * @param message Message object for which the status info view needs to be fetched * @returns User-defined TemplateRef if present, otherwise null */ getStatusInfoView(message: CometChat.BaseMessage): TemplateRef<any> | null; isAudioOrVideoMessage(message: CometChat.BaseMessage): boolean; setBubbleAlignment: (message: CometChat.BaseMessage) => MessageBubbleAlignment; getFormMessageBubbleStyle(): FormBubbleStyle; getCardMessageBubbleStyle(): CardBubbleStyle; getCallBubbleStyle(message: CometChat.BaseMessage): { titleFont: string; titleColor: string | undefined; iconTint: string | undefined; buttonTextFont: string; buttonTextColor: string | undefined; buttonBackground: string | undefined; width: string; }; getBubbleWrapper: (message: CometChat.BaseMessage) => TemplateRef<any> | null; getBubbleAlignment(message: CometChat.BaseMessage): MessageBubbleAlignment.left | MessageBubbleAlignment.right; setTranslationStyle: (message: CometChat.BaseMessage) => MessageTranslationStyle; getCallTypeIcon(message: CometChat.BaseMessage): "assets/Audio-Call.svg" | "assets/Video-call.svg"; callStatusStyle(message: CometChat.BaseMessage): { buttonTextFont: string; buttonTextColor: string | undefined; borderRadius: string; border: string; buttonIconTint: string | undefined; background: string; iconBackground: string; padding: string; gap: string; height: string; justifyContent: string; } | null; setTextBubbleStyle: (message: CometChat.BaseMessage) => { textFont: string; textColor: string | undefined; bubblePadding: string; } | { textFont: string; textColor: string | undefined; bubblePadding?: undefined; }; isPartOfCurrentChatForUIEvent: (message: CometChat.BaseMessage) => boolean; isPartOfCurrentChatForSDKEvent: (message: CometChat.BaseMessage) => boolean; isThreadOfCurrentChatForUIEvent: (message: CometChat.BaseMessage) => boolean; isThreadOfCurrentChatForSDKEvent: (message: CometChat.BaseMessage) => boolean; setFileBubbleStyle(message: CometChat.BaseMessage): any; ngAfterViewInit(): void; getStartCallFunction(message: CometChat.CustomMessage): (sessionId: string) => void; startDirectCall: (sessionId: string, message: any) => void; launchCollaborativeWhiteboardDocument: (url: string) => void; /** * Extracting types and categories from template * */ checkMessageTemplate(): void; getPollBubbleData(message: CometChat.CustomMessage, type?: string): any; getThreadCount(message: CometChat.BaseMessage): string; showEnabledExtensions(): void; openConfirmDialog: boolean; openFullscreenView: boolean; imageurlToOpen: string; fullScreenViewerStyle: FullScreenViewerStyle; openImageInFullScreen(message: any): void; closeImageInFullScreen(): void; openWarningDialog(event: any): void; onConfirmClick: () => void; onCancelClick(): void; getTextMessage(message: CometChat.TextMessage): string; getLinkPreview(message: CometChat.TextMessage): any; getImageThumbnail(msg: CometChat.MediaMessage): string; getLinkPreviewDetails(key: string, message: CometChat.TextMessage): string; ngOnInit(): void; setOngoingCallStyle: () => void; setAvatarStyle(): void; setDateStyle(): void; setMessagesStyle(): void; getReceiptStyle(message: CometChat.BaseMessage): { waitIconTint?: string | undefined; sentIconTint?: string | undefined; deliveredIconTint?: string | undefined; readIconTint?: string | undefined; errorIconTint?: string | undefined; height?: string | undefined; width?: string | undefined; border?: string | undefined; borderRadius?: string | undefined; background?: string | undefined; }; createRequestBuilder(): void; computeUnreadCount(): void; /** * Listener To Receive Messages in Real Time * @param */ fetchPreviousMessages: () => void; fetchActionMessages(): void; fetchNextMessage: () => void; appendMessages: (messages: CometChat.BaseMessage[]) => void; attachConnectionListener(): void; addMessageEventListeners(): void; /** * * @param */ /** * Updates messageList on basis of user activity or group activity or calling activity * @param {any=null} key * @param {CometChat.MessageReceipt | CometChat.BaseMessage} message * @param {CometChat.Group | null=null} group * @param {any=null} options */ messageUpdate(key?: string | null, message?: CometChat.MessageReceipt | CometChat.BaseMessage | any, group?: CometChat.Group | null, options?: any): void; /** * Updates a message's reactions based on a new reaction. * * @param {CometChat.ReactionEvent} message - The new message reaction. * @param {boolean} isAdded - True if the reaction was added, false if it was removed. * @returns {boolean} Returns false if the message was not found, true otherwise. */ onReactionUpdated(message: CometChat.ReactionEvent, isAdded: boolean): boolean; /** * translate message then call update message * @param {CometChat.BaseMessage} message */ /** * @param {CometChat.BaseMessage} message */ markMessageAsDelivered: (message: CometChat.BaseMessage) => void; /** * When Message is Received * @param message */ /** * @param {CometChat.BaseMessage} message */ messageReceived(message: CometChat.BaseMessage): void; /** * Updating the reply count of Thread Parent Message * @param {CometChat.BaseMessage} messages */ updateReplyCount(messages: CometChat.BaseMessage): void; /** * @param {CometChat.BaseMessage} message * @param {string} type */ messageReceivedHandler: (message: CometChat.BaseMessage) => void; playAudio(): void; getCallBuilder: () => any; reInitializeMessageList(): void; reInitializeMessageBuilder: () => void; getMessageReceipt(message: CometChat.BaseMessage): import("@cometchat/uikit-shared/dist/Utils/MessageReceiptUtils").receipts; messageReadAndDelivered(message: CometChat.MessageReceipt, isGroupReceipt?: boolean): void; /** * @param {CometChat.BaseMessage} readMessage */ markAllMessagAsRead(messageKey: number): void; markAllMessagAsDelivered(messageKey: number): void; /** * Emits an Action Indicating that a message was deleted by the user/person you are chatting with * @param {CometChat.BaseMessage} message */ /** * Detects if the message that was edit is your current open conversation window * @param {CometChat.BaseMessage} message */ messageEdited: (message: CometChat.BaseMessage) => void; updateInteractiveMessage: (receipt: CometChat.InteractionReceipt) => void; /** * Emits an Action Indicating that a message was deleted by the user/person you are chatting with * @param {CometChat.BaseMessage} message */ updateEditedMessage: (message: CometChat.BaseMessage) => void; /** * Emits an Action Indicating that Group Data has been updated * @param */ /** * When custom messages are received eg. Poll, Stickers emits action to update message list * @param message */ /** * @param {CometChat.BaseMessage} message */ customMessageReceived(message: CometChat.BaseMessage): any; /** * @param {CometChat.BaseMessage} message * @param {string} type */ customMessageReceivedHandler: (message: CometChat.BaseMessage) => void; /** * Compares two dates and sets Date on a a new day */ /** * @param {number} firstDate * @param {number} secondDate */ isDateDifferent(firstDate: number | undefined, secondDate: number | undefined): boolean; /** * Returns formatters for the text bubbles * * @param {CometChat.BaseMessage} message * @returns */ getTextFormatters: (message: CometChat.BaseMessage) => CometChatTextFormatter[]; /** * prepend Fetched Messages * @param {CometChat.BaseMessage} messages */ prependMessages(messages: CometChat.BaseMessage[]): void; /** * listening to bottom scroll using intersection observer */ ioBottom(): void; /** * listening to top scroll using intersection observer */ ioTop(): void; addMessage: (message: CometChat.BaseMessage) => void; /** * callback for copy message * @param {CometChat.TextMessage} object */ onCopyMessage: (object: CometChat.TextMessage) => void; /** * This is to ensure that the uid doesn't get copied when clicking on the copy option. * This function changes the uid regex to '@userName' without formatting * * @param {CometChat.TextMessage} message * @returns */ getMentionsTextWithoutStyle(message: CometChat.TextMessage): string; /** * callback for deleteMessage * @param {CometChat.BaseMessage} object */ /** * @param {CometChat.BaseMessage} messages */ messageSent(messages: CometChat.BaseMessage): void; /** * callback for editMessage option * @param {CometChat.BaseMessage} object */ onEditMessage: (object: CometChat.BaseMessage) => void; updateMessage(message: CometChat.BaseMessage, muid?: boolean): void; removeMessage: (message: CometChat.BaseMessage) => void; /** * Returns the style configuration for the thread view of a message. * * @param {CometChat.BaseMessage} message - The message that the style configuration is for. * @returns {Object} The style configuration object. */ getThreadViewStyle(message: CometChat.BaseMessage): { height: string; width: string; border: string; borderRadius: string; background: string; buttonIconTint: string | undefined; display: string; flexFlow: string; alignItems: string; buttonTextColor: string | undefined; buttonTextFont: string | undefined; iconHeight: string; iconWidth: string; gap: string; }; /** * Checks if a message was sent by the currently logged in user. * * @param {CometChat.BaseMessage} message - The message to check. * @returns {boolean} Returns true if the message is sent by the logged in user, false otherwise. */ isSentByMe(message: CometChat.BaseMessage): boolean; deleteMessage: (message: CometChat.BaseMessage) => void; scrollToBottom: () => void; showHeaderTitle(message: CometChat.BaseMessage): boolean; /** * Updates the count of unread reply messages for a given message. * * @param {CometChat.BaseMessage} message - The message for which the reply count is being updated. */ updateUnreadReplyCount: (message: CometChat.BaseMessage) => void; /** * Method to subscribe the required Rxjs events when the CometChatMessageListComponent loads */ subscribeToEvents(): void; closeSmartReply: () => void; closeConversationSummary: () => void; showStatusInfo(message: CometChat.BaseMessage): boolean; shouldShowMessage(message: CometChat.BaseMessage, disableReceipt: boolean, hideReceipt: boolean): boolean; sendReply: (event: any) => void; sendConversationStarter: (event: any) => void; fetchConversationStarter(): void; fetchConversationSummary(): string[]; getReplies(): string[] | null; /** * Method to unsubscribe all the Rxjs events when the CometChatMessageListComponent gets destroy */ unsubscribeToEvents(): void; /** * Returns the appropriate thread icon based on the sender of the message. * * @param {CometChat.BaseMessage} message - The message for which the thread icon is being determined. * @returns {boolean} The icon for the thread. If the message was sent by the logged in user, returns 'threadRightArrow'. Otherwise, returns 'threadIndicatorIcon'. */ getThreadIconAlignment(message: CometChat.BaseMessage): boolean; /** * styling part */ getBubbleDateStyle: (message: CometChat.BaseMessage) => { textColor: string | undefined; textFont: string; padding: string; display: string; }; chatsListStyle: () => { height: string | undefined; background: string | undefined; }; messageContainerStyle: () => { width: string | undefined; }; errorStyle: () => { textFont: string | undefined; textColor: string | undefined; }; conversationStarterStateStyle: () => { textFont: string; textColor: string | undefined; }; conversationSummaryStateStyle: () => { textFont: string; textColor: string | undefined; }; emptyStyle: () => { textFont: string | undefined; textColor: string | undefined; }; loadingStyle: { iconTint: string | undefined; }; conversationStarterLoader: () => { iconTint: string | undefined; }; conversationSummaryLoader: () => { iconTint: string | undefined; }; getSchedulerBubbleStyle: (messgae: SchedulerMessage) => SchedulerBubbleStyle; /** * Configuration for the reaction list. * This includes styles for the avatar, list items, and reaction history. * @returns {ReactionListConfiguration} - The configured reaction list. */ getReactionListConfiguration(): ReactionListConfiguration; /** * Handles when a reaction item is clicked. * @param {CometChat.Reaction} reaction - The clicked reaction. * @param {CometChat.BaseMessage} message - The message the reaction is associated with. */ onReactionItemClicked?: ((reaction: CometChat.Reaction, message: CometChat.BaseMessage) => void) | undefined; /** * Handles adding a reaction when clicked. * @param {CometChat.ReactionCount} reaction - The clicked reaction. * @param {CometChat.BaseMessage} message - The message the reaction is associated with. */ addReactionOnClick: (reaction: CometChat.ReactionCount, message: CometChat.BaseMessage) => void; /** * Configuration for the reaction info. * This includes styles for the reaction info display. * @returns {ReactionInfoConfiguration} - The configured reaction info. */ getReactionInfoConfiguration(): ReactionInfoConfiguration; /** * Get style object based on message type. * @param {CometChat.BaseMessage} message - The message object. * @return {object} The style object. */ getStatusInfoStyle: (message: CometChat.BaseMessage) => { justifyContent: string; height: string; borderRadius: string; padding: string; paddingTop: string; position: string; marginTop: string; marginRight: string; background: string | undefined; width: string; alignSelf: string; marginBottom: string; display: string; alignItems: string; gap: string; } | { justifyContent: string; alignItems: string; padding: string; display: string; gap: string; }; wrapperStyle: () => { height: string | undefined; width: string | undefined; background: string | undefined; border: string | undefined; borderRadius: string | undefined; }; listStyle: () => { height: string; }; /** * Styling for reactions component * */ getReactionsWrapperStyle(message: CometChat.BaseMessage): { width: string; paddingTop: string; boxSizing: string; display: string; marginTop: string; justifyContent: string; }; /** * Styling for unread thread replies * @returns LabelStyle */ getUnreadRepliesCountStyle: () => { borderRadius: string; width: string; height: string; border: string; background: string | undefined; color: string | undefined; font: string | undefined; display: string; justifyContent: string; alignItems: string; }; getThreadViewAlignment(message: CometChat.BaseMessage): { display: string; justifyContent: string; }; static ɵfac: i0.ɵɵFactoryDeclaration<CometChatMessageListComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<CometChatMessageListComponent, "cometchat-message-list", never, { "hideError": "hideError"; "hideDateSeparator": "hideDateSeparator"; "errorStateView": "errorStateView"; "loadingStateView": "loadingStateView"; "emptyStateView": "emptyStateView"; "errorStateText": "errorStateText"; "emptyStateText": "emptyStateText"; "loadingIconURL": "loadingIconURL"; "user": "user"; "group": "group"; "disableReceipt": "disableReceipt"; "hideReceipt": "hideReceipt"; "disableSoundForMessages": "disableSoundForMessages"; "customSoundForMessages": "customSoundForMessages"; "readIcon": "readIcon"; "deliveredIcon": "deliveredIcon"; "sentIcon": "sentIcon"; "waitIcon": "waitIcon"; "errorIcon": "errorIcon"; "aiErrorIcon": "aiErrorIcon"; "aiEmptyIcon": "aiEmptyIcon"; "alignment": "alignment"; "showAvatar": "showAvatar"; "datePattern": "datePattern"; "timestampAlignment": "timestampAlignment"; "DateSeparatorPattern": "DateSeparatorPattern"; "templates": "templates"; "messagesRequestBuilder": "messagesRequestBuilder"; "newMessageIndicatorText": "newMessageIndicatorText"; "scrollToBottomOnNewMessages": "scrollToBottomOnNewMessages"; "thresholdValue": "thresholdValue"; "unreadMessageThreshold": "unreadMessageThreshold"; "reactionsConfiguration": "reactionsConfiguration"; "disableReactions": "disableReactions"; "emojiKeyboardStyle": "emojiKeyboardStyle"; "apiConfiguration": "apiConfiguration"; "onThreadRepliesClick": "onThreadRepliesClick"; "headerView": "headerView"; "footerView": "footerView"; "parentMessageId": "parentMessageId"; "threadIndicatorIcon": "threadIndicatorIcon"; "avatarStyle": "avatarStyle"; "backdropStyle": "backdropStyle"; "dateSeparatorStyle": "dateSeparatorStyle"; "messageListStyle": "messageListStyle"; "onError": "onError"; "messageInformationConfiguration": "messageInformationConfiguration"; "disableMentions": "disableMentions"; "textFormatters": "textFormatters"; }, {}, never, never>; }