@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.
- package/chat/api/index.d.ts +1 -0
- package/chat/api/message-settings.interface.d.ts +8 -0
- package/chat/api/message-width-mode.d.ts +1 -1
- package/chat/api/timestamp-visibility.d.ts +10 -0
- package/chat/chat.component.d.ts +24 -3
- package/chat/common/chat.service.d.ts +4 -0
- package/chat/message-list.component.d.ts +2 -0
- package/codemods/utils.js +477 -375
- package/codemods/v20/chat-user.js +7 -5
- package/codemods/v21/chat-messagetoolbarvisibility.js +53 -0
- package/codemods/v21/chat-pinnedbyfield.js +19 -0
- package/esm2022/chat/api/index.mjs +1 -0
- package/esm2022/chat/api/timestamp-visibility.mjs +5 -0
- package/esm2022/chat/chat.component.mjs +35 -3
- package/esm2022/chat/common/chat.service.mjs +3 -0
- package/esm2022/chat/message-list.component.mjs +23 -25
- package/esm2022/chat/message.component.mjs +2 -2
- package/esm2022/package-metadata.mjs +2 -2
- package/fesm2022/progress-kendo-angular-conversational-ui.mjs +64 -31
- package/package.json +26 -14
package/chat/api/index.d.ts
CHANGED
|
@@ -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
|
|
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';
|
package/chat/chat.component.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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;
|