@progress/kendo-angular-conversational-ui 21.0.0-develop.9 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,3 +18,4 @@ export * from './file-download-event.interface';
18
18
  export * from './send-button-settings';
19
19
  export * from './files-layout';
20
20
  export * from './suggestions-layout';
21
+ export * from './timestamp-visibility';
@@ -30,4 +30,12 @@ export interface MessageSettings {
30
30
  * Sets the mode that will be used to determine the message width.
31
31
  */
32
32
  messageWidthMode?: MessageWidthMode;
33
+ /**
34
+ * Sets the visibility of the author's avatar for the message group.
35
+ */
36
+ showAvatar?: boolean;
37
+ /**
38
+ * Sets the visibility of the author's username for the message group.
39
+ */
40
+ showUsername?: boolean;
33
41
  }
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
6
- * Defines the possible modes for message width in the chat component.
6
+ * Defines the possible modes for message width in the Chat component.
7
7
  * - `full`: The message takes the full width of the chat container.
8
8
  * - `standard`: (Default) The message width is standard, allowing for a more compact layout.
9
9
  */
@@ -0,0 +1,10 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Defines the possible modes for timestamp visibility in the Chat component.
7
+ * - `focus`: Timestamps are only visible for selected/focused messages (default Chat behavior).
8
+ * - `hidden`: Timestamps are hidden for all messages.
9
+ */
10
+ export type TimestampVisibilityMode = 'focus' | 'hidden';
@@ -25,6 +25,7 @@ import { ContextMenuComponent, ContextMenuPopupEvent } from '@progress/kendo-ang
25
25
  import { NoDataTemplateDirective, MessageTemplateDirective, AuthorMessageContentTemplateDirective, ReceiverMessageContentTemplateDirective, ReceiverMessageTemplateDirective, AuthorMessageTemplateDirective, MessageContentTemplateDirective } from './chat.directives';
26
26
  import { ChatUserStatusTemplateDirective } from './templates/user-status-template.directive';
27
27
  import { QuickActionsLayoutMode, SuggestionsLayoutMode } from './api/suggestions-layout';
28
+ import { TimestampVisibilityMode } from './api/timestamp-visibility';
28
29
  import * as i0 from "@angular/core";
29
30
  /**
30
31
  * Represents the [Kendo UI Chat component for Angular](slug:overview_convui).
@@ -53,7 +54,7 @@ export declare class ChatComponent implements OnInit, AfterViewInit, OnDestroy {
53
54
  private chatService;
54
55
  /**
55
56
  * Sets the Chat messages.
56
- * Accepts an array of `Message` objects, but can also accept custom data structures.
57
+ * Accepts an array of `Message` objects, but can also accept custom data types.
57
58
  * For more information, check [Data Binding](slug:databinding_chat) section in the documentation.
58
59
  */
59
60
  messages: any[];
@@ -91,6 +92,26 @@ export declare class ChatComponent implements OnInit, AfterViewInit, OnDestroy {
91
92
  * @default 'standard'
92
93
  */
93
94
  messageWidthMode: MessageWidthMode;
95
+ /**
96
+ * Controls the visibility of timestamps in messages.
97
+ *
98
+ * @default 'focus'
99
+ */
100
+ timestampVisibility: TimestampVisibilityMode;
101
+ /**
102
+ * Controls the visibility of usernames in messages.
103
+ * When set to `true`, the username displays above each message bubble.
104
+ *
105
+ * @default true
106
+ */
107
+ showUsername: boolean;
108
+ /**
109
+ * Controls the avatar visibility for the messages.
110
+ * When set to `true`, the user avatar displays next to each message bubble.
111
+ *
112
+ * @default true
113
+ */
114
+ showAvatar: boolean;
94
115
  /**
95
116
  * Enables the expand or collapse functionality for messages.
96
117
  *
@@ -192,7 +213,7 @@ export declare class ChatComponent implements OnInit, AfterViewInit, OnDestroy {
192
213
  sendButtonSettings: SendButtonSettings;
193
214
  /**
194
215
  * Sets the names of the model fields from which the Chat reads its data.
195
- * Lets you map custom data structures to the expected `Message` format.
216
+ * Lets you map custom data types to the expected `Message` format.
196
217
  */
197
218
  set modelFields(value: ConversationalUIModelFields);
198
219
  get modelFields(): ConversationalUIModelFields;
@@ -352,5 +373,5 @@ export declare class ChatComponent implements OnInit, AfterViewInit, OnDestroy {
352
373
  private updateChatServiceProperties;
353
374
  private mergeWithDefaultActions;
354
375
  static ɵfac: i0.ɵɵFactoryDeclaration<ChatComponent, never>;
355
- static ɵcmp: i0.ɵɵComponentDeclaration<ChatComponent, "kendo-chat", never, { "messages": { "alias": "messages"; "required": false; }; "authorId": { "alias": "authorId"; "required": false; }; "messageBoxType": { "alias": "messageBoxType"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "messageWidthMode": { "alias": "messageWidthMode"; "required": false; }; "allowMessageCollapse": { "alias": "allowMessageCollapse"; "required": false; }; "enableSpeechToText": { "alias": "enableSpeechToText"; "required": false; }; "enableFileSelect": { "alias": "enableFileSelect"; "required": false; }; "messageToolbarActions": { "alias": "messageToolbarActions"; "required": false; }; "inputValue": { "alias": "inputValue"; "required": false; }; "authorMessageSettings": { "alias": "authorMessageSettings"; "required": false; }; "receiverMessageSettings": { "alias": "receiverMessageSettings"; "required": false; }; "messageContextMenuActions": { "alias": "messageContextMenuActions"; "required": false; }; "fileActions": { "alias": "fileActions"; "required": false; }; "messageFilesLayout": { "alias": "messageFilesLayout"; "required": false; }; "suggestionsLayout": { "alias": "suggestionsLayout"; "required": false; }; "quickActionsLayout": { "alias": "quickActionsLayout"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "sendButtonSettings": { "alias": "sendButtonSettings"; "required": false; }; "modelFields": { "alias": "modelFields"; "required": false; }; }, { "sendMessage": "sendMessage"; "toolbarActionClick": "toolbarActionClick"; "contextMenuActionClick": "contextMenuActionClick"; "fileActionClick": "fileActionClick"; "download": "download"; "executeAction": "executeAction"; "suggestionExecute": "suggestionExecute"; "fileSelect": "fileSelect"; "fileRemove": "fileRemove"; "unpin": "unpin"; "inputValueChange": "inputValueChange"; }, ["attachmentTemplate", "chatHeaderTemplate", "chatNoDataTemplate", "authorMessageContentTemplate", "receiverMessageContentTemplate", "messageContentTemplate", "authorMessageTemplate", "receiverMessageTemplate", "messageTemplate", "timestampTemplate", "suggestionTemplate", "statusTemplate", "messageBoxTemplate", "userStatusTemplate"], never, true, never>;
376
+ static ɵcmp: i0.ɵɵComponentDeclaration<ChatComponent, "kendo-chat", never, { "messages": { "alias": "messages"; "required": false; }; "authorId": { "alias": "authorId"; "required": false; }; "messageBoxType": { "alias": "messageBoxType"; "required": false; }; "height": { "alias": "height"; "required": false; }; "width": { "alias": "width"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "messageWidthMode": { "alias": "messageWidthMode"; "required": false; }; "timestampVisibility": { "alias": "timestampVisibility"; "required": false; }; "showUsername": { "alias": "showUsername"; "required": false; }; "showAvatar": { "alias": "showAvatar"; "required": false; }; "allowMessageCollapse": { "alias": "allowMessageCollapse"; "required": false; }; "enableSpeechToText": { "alias": "enableSpeechToText"; "required": false; }; "enableFileSelect": { "alias": "enableFileSelect"; "required": false; }; "messageToolbarActions": { "alias": "messageToolbarActions"; "required": false; }; "inputValue": { "alias": "inputValue"; "required": false; }; "authorMessageSettings": { "alias": "authorMessageSettings"; "required": false; }; "receiverMessageSettings": { "alias": "receiverMessageSettings"; "required": false; }; "messageContextMenuActions": { "alias": "messageContextMenuActions"; "required": false; }; "fileActions": { "alias": "fileActions"; "required": false; }; "messageFilesLayout": { "alias": "messageFilesLayout"; "required": false; }; "suggestionsLayout": { "alias": "suggestionsLayout"; "required": false; }; "quickActionsLayout": { "alias": "quickActionsLayout"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "sendButtonSettings": { "alias": "sendButtonSettings"; "required": false; }; "modelFields": { "alias": "modelFields"; "required": false; }; }, { "sendMessage": "sendMessage"; "toolbarActionClick": "toolbarActionClick"; "contextMenuActionClick": "contextMenuActionClick"; "fileActionClick": "fileActionClick"; "download": "download"; "executeAction": "executeAction"; "suggestionExecute": "suggestionExecute"; "fileSelect": "fileSelect"; "fileRemove": "fileRemove"; "unpin": "unpin"; "inputValueChange": "inputValueChange"; }, ["attachmentTemplate", "chatHeaderTemplate", "chatNoDataTemplate", "authorMessageContentTemplate", "receiverMessageContentTemplate", "messageContentTemplate", "authorMessageTemplate", "receiverMessageTemplate", "messageTemplate", "timestampTemplate", "suggestionTemplate", "statusTemplate", "messageBoxTemplate", "userStatusTemplate"], never, true, never>;
356
377
  }
@@ -8,6 +8,7 @@ import { MessageWidthMode } from '../api/message-width-mode';
8
8
  import { FileAction, FileActionEvent, FileDownloadEvent, FilesLayoutMode, Message, MessageAction, MessageActionEvent, MessageSettings, QuickActionsLayoutMode, SendButtonSettings, SuggestionsLayoutMode } from '../api';
9
9
  import { FileSelectSettings } from '@progress/kendo-angular-upload';
10
10
  import { ContextMenuComponent } from '@progress/kendo-angular-menu';
11
+ import { TimestampVisibilityMode } from '../api/timestamp-visibility';
11
12
  import * as i0 from "@angular/core";
12
13
  /**
13
14
  * @hidden
@@ -30,6 +31,9 @@ export declare class ChatService {
30
31
  selectOnMenuClose: boolean;
31
32
  active: boolean;
32
33
  messageFilesLayout: FilesLayoutMode;
34
+ timestampVisibility: TimestampVisibilityMode;
35
+ showUsername: boolean;
36
+ showAvatar: boolean;
33
37
  private _enableSpeechToText;
34
38
  private _enableFileSelect;
35
39
  private _sendButtonSettings;
@@ -59,6 +59,8 @@ export declare class MessageListComponent implements OnInit, AfterViewInit, OnDe
59
59
  ngOnDestroy(): void;
60
60
  onResize(): void;
61
61
  onClick(message: any, event: any): void;
62
+ showGroupAuthor(group: any): boolean;
63
+ showGroupAvatar(group: any): boolean;
62
64
  onContextMenuClick(message: Message, event: MouseEvent, messageElement?: any): void;
63
65
  formatTimeStamp(date: any): string;
64
66
  calculateMessageWidthMode(message: any): boolean;