@progress/kendo-angular-conversational-ui 25.0.0-develop.7 → 25.0.0-develop.8
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/fesm2022/progress-kendo-angular-conversational-ui.mjs +132 -50
- package/index.d.ts +23 -4
- package/package-metadata.mjs +2 -2
- package/package.json +14 -14
|
@@ -11,7 +11,7 @@ import { isPresent, normalizeKeys, Keys, focusableSelector, KENDO_WEBMCP_HOST, g
|
|
|
11
11
|
import { DialogContainerService, DialogService, WindowService, WindowContainerService } from '@progress/kendo-angular-dialog';
|
|
12
12
|
import { NgTemplateOutlet, NgClass } from '@angular/common';
|
|
13
13
|
import { Subject, Subscription, fromEvent } from 'rxjs';
|
|
14
|
-
import { moreHorizontalIcon, commentIcon, sparklesIcon, stopIcon, thumbUpIcon, thumbDownIcon, copyIcon, arrowRotateCwIcon, chevronUpIcon, chevronDownIcon, arrowUpIcon, paperclipIcon, undoIcon, downloadIcon,
|
|
14
|
+
import { moreHorizontalIcon, commentIcon, sparklesIcon, stopIcon, thumbUpIcon, thumbDownIcon, copyIcon, arrowRotateCwIcon, chevronUpIcon, chevronDownIcon, arrowUpIcon, paperclipIcon, undoIcon, downloadIcon, xCircleIcon, moreVerticalIcon, xIcon, chevronLeftIcon, chevronRightIcon, warningTriangleIcon, pinIcon, arrowDownIcon, cancelIcon, menuIcon, paperPlaneIcon } from '@progress/kendo-svg-icons';
|
|
15
15
|
import * as i1 from '@progress/kendo-angular-l10n';
|
|
16
16
|
import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
17
17
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
@@ -215,8 +215,8 @@ const packageMetadata = {
|
|
|
215
215
|
productName: 'Kendo UI for Angular',
|
|
216
216
|
productCode: 'KENDOUIANGULAR',
|
|
217
217
|
productCodes: ['KENDOUIANGULAR'],
|
|
218
|
-
publishDate:
|
|
219
|
-
version: '25.0.0-develop.
|
|
218
|
+
publishDate: 1784795981,
|
|
219
|
+
version: '25.0.0-develop.8',
|
|
220
220
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
221
221
|
};
|
|
222
222
|
|
|
@@ -233,9 +233,6 @@ const STB_DEFAULT_SETTINGS$2 = {
|
|
|
233
233
|
interimResults: false,
|
|
234
234
|
lang: 'en-US',
|
|
235
235
|
maxAlternatives: 1,
|
|
236
|
-
rounded: 'medium',
|
|
237
|
-
size: 'medium',
|
|
238
|
-
themeColor: 'base'
|
|
239
236
|
};
|
|
240
237
|
/**
|
|
241
238
|
* @hidden
|
|
@@ -480,8 +477,12 @@ let Messages$3 = class Messages extends ComponentMessages {
|
|
|
480
477
|
* Sets the aria-label for the **Speech to Text** button.
|
|
481
478
|
*/
|
|
482
479
|
speechToTextButton;
|
|
480
|
+
/**
|
|
481
|
+
* Sets the aria-label for the **Toolbar** element.
|
|
482
|
+
*/
|
|
483
|
+
toolbarLabel;
|
|
483
484
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
484
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: Messages, isStandalone: true, inputs: { promptView: "promptView", outputView: "outputView", generateOutput: "generateOutput", promptPlaceholder: "promptPlaceholder", copyOutput: "copyOutput", retryGeneration: "retryGeneration", outputTitle: "outputTitle", outputRetryTitle: "outputRetryTitle", promptSuggestions: "promptSuggestions", speechToTextButton: "speechToTextButton" }, usesInheritance: true, ngImport: i0 });
|
|
485
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: Messages, isStandalone: true, inputs: { promptView: "promptView", outputView: "outputView", generateOutput: "generateOutput", promptPlaceholder: "promptPlaceholder", copyOutput: "copyOutput", retryGeneration: "retryGeneration", outputTitle: "outputTitle", outputRetryTitle: "outputRetryTitle", promptSuggestions: "promptSuggestions", speechToTextButton: "speechToTextButton", toolbarLabel: "toolbarLabel" }, usesInheritance: true, ngImport: i0 });
|
|
485
486
|
};
|
|
486
487
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Messages$3, decorators: [{
|
|
487
488
|
type: Directive
|
|
@@ -505,6 +506,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
505
506
|
type: Input
|
|
506
507
|
}], speechToTextButton: [{
|
|
507
508
|
type: Input
|
|
509
|
+
}], toolbarLabel: [{
|
|
510
|
+
type: Input
|
|
508
511
|
}] } });
|
|
509
512
|
|
|
510
513
|
/**
|
|
@@ -901,11 +904,14 @@ class AIPromptComponent {
|
|
|
901
904
|
i18n-promptSuggestions="kendo.aiprompt.promptSuggestions|The title of the Prompt suggestions button."
|
|
902
905
|
promptSuggestions="Prompt suggestions"
|
|
903
906
|
i18n-speechToTextButton="kendo.aiprompt.speechToTextButton|The aria-label for the Speech to Text button."
|
|
904
|
-
speechToTextButton="Voice input"
|
|
907
|
+
speechToTextButton="Voice input"
|
|
908
|
+
i18n-toolbarLabel="kendo.aiprompt.toolbarLabel|The aria-label for the Toolbar element."
|
|
909
|
+
toolbarLabel="Toolbar">
|
|
905
910
|
</ng-container>
|
|
906
911
|
<div class="k-prompt-header">
|
|
907
|
-
<div class="k-toolbar-flat k-toolbar
|
|
908
|
-
role="toolbar"
|
|
912
|
+
<div class="k-toolbar-flat k-toolbar"
|
|
913
|
+
role="toolbar"
|
|
914
|
+
[attr.aria-label]="messageFor('toolbarLabel')">
|
|
909
915
|
@for (view of viewsArray; track view; let idx = $index) {
|
|
910
916
|
<button
|
|
911
917
|
kendoButton
|
|
@@ -1003,11 +1009,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
1003
1009
|
i18n-promptSuggestions="kendo.aiprompt.promptSuggestions|The title of the Prompt suggestions button."
|
|
1004
1010
|
promptSuggestions="Prompt suggestions"
|
|
1005
1011
|
i18n-speechToTextButton="kendo.aiprompt.speechToTextButton|The aria-label for the Speech to Text button."
|
|
1006
|
-
speechToTextButton="Voice input"
|
|
1012
|
+
speechToTextButton="Voice input"
|
|
1013
|
+
i18n-toolbarLabel="kendo.aiprompt.toolbarLabel|The aria-label for the Toolbar element."
|
|
1014
|
+
toolbarLabel="Toolbar">
|
|
1007
1015
|
</ng-container>
|
|
1008
1016
|
<div class="k-prompt-header">
|
|
1009
|
-
<div class="k-toolbar-flat k-toolbar
|
|
1010
|
-
role="toolbar"
|
|
1017
|
+
<div class="k-toolbar-flat k-toolbar"
|
|
1018
|
+
role="toolbar"
|
|
1019
|
+
[attr.aria-label]="messageFor('toolbarLabel')">
|
|
1011
1020
|
@for (view of viewsArray; track view; let idx = $index) {
|
|
1012
1021
|
<button
|
|
1013
1022
|
kendoButton
|
|
@@ -1417,14 +1426,12 @@ class AIPromptOutputCardComponent {
|
|
|
1417
1426
|
<button kendoButton
|
|
1418
1427
|
fillMode="flat"
|
|
1419
1428
|
themeColor="primary"
|
|
1420
|
-
rounded="full"
|
|
1421
1429
|
icon="copy"
|
|
1422
1430
|
[svgIcon]="copyIcon"
|
|
1423
1431
|
(click)="handleCopy()"
|
|
1424
1432
|
>{{messageFor('copyOutput')}}</button>
|
|
1425
1433
|
<button kendoButton
|
|
1426
1434
|
fillMode="flat"
|
|
1427
|
-
rounded="full"
|
|
1428
1435
|
icon="arrow-rotate-cw"
|
|
1429
1436
|
[svgIcon]="retryIcon"
|
|
1430
1437
|
(click)="handleRetry()"
|
|
@@ -1471,14 +1478,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
1471
1478
|
<button kendoButton
|
|
1472
1479
|
fillMode="flat"
|
|
1473
1480
|
themeColor="primary"
|
|
1474
|
-
rounded="full"
|
|
1475
1481
|
icon="copy"
|
|
1476
1482
|
[svgIcon]="copyIcon"
|
|
1477
1483
|
(click)="handleCopy()"
|
|
1478
1484
|
>{{messageFor('copyOutput')}}</button>
|
|
1479
1485
|
<button kendoButton
|
|
1480
1486
|
fillMode="flat"
|
|
1481
|
-
rounded="full"
|
|
1482
1487
|
icon="arrow-rotate-cw"
|
|
1483
1488
|
[svgIcon]="retryIcon"
|
|
1484
1489
|
(click)="handleRetry()"
|
|
@@ -3510,8 +3515,16 @@ let Messages$2 = class Messages extends ComponentMessages {
|
|
|
3510
3515
|
* Sets the title of the button that unpins a pinned message.
|
|
3511
3516
|
*/
|
|
3512
3517
|
unpinMessageTitle;
|
|
3518
|
+
/**
|
|
3519
|
+
* Sets the aria-label for the button that resends a failed message.
|
|
3520
|
+
*/
|
|
3521
|
+
resendButtonTitle;
|
|
3522
|
+
/**
|
|
3523
|
+
* Sets the aria-label for the attached files list.
|
|
3524
|
+
*/
|
|
3525
|
+
attachedFilesLabel;
|
|
3513
3526
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3514
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: Messages, isStandalone: true, selector: "kendoConversationalUIMessages", inputs: { deletedMessageSenderText: "deletedMessageSenderText", deletedMessageReceiverText: "deletedMessageReceiverText", messageFailedText: "messageFailedText", downloadAllFilesText: "downloadAllFilesText", messagePlaceholder: "messagePlaceholder", messageBoxTitle: "messageBoxTitle", actionButtonTitle: "actionButtonTitle", messageListLabel: "messageListLabel", messageBoxInputLabel: "messageBoxInputLabel", messageAttachmentLeftArrow: "messageAttachmentLeftArrow", messageAttachmentRightArrow: "messageAttachmentRightArrow", speechToTextButtonTitle: "speechToTextButtonTitle", fileSelectButtonTitle: "fileSelectButtonTitle", removeReplyTitle: "removeReplyTitle", removeFileTitle: "removeFileTitle", expandTitle: "expandTitle", collapseTitle: "collapseTitle", fileActionsTitle: "fileActionsTitle", nextSuggestionsButtonTitle: "nextSuggestionsButtonTitle", previousSuggestionsButtonTitle: "previousSuggestionsButtonTitle", unpinMessageTitle: "unpinMessageTitle" }, usesInheritance: true, ngImport: i0 });
|
|
3527
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: Messages, isStandalone: true, selector: "kendoConversationalUIMessages", inputs: { deletedMessageSenderText: "deletedMessageSenderText", deletedMessageReceiverText: "deletedMessageReceiverText", messageFailedText: "messageFailedText", downloadAllFilesText: "downloadAllFilesText", messagePlaceholder: "messagePlaceholder", messageBoxTitle: "messageBoxTitle", actionButtonTitle: "actionButtonTitle", messageListLabel: "messageListLabel", messageBoxInputLabel: "messageBoxInputLabel", messageAttachmentLeftArrow: "messageAttachmentLeftArrow", messageAttachmentRightArrow: "messageAttachmentRightArrow", speechToTextButtonTitle: "speechToTextButtonTitle", fileSelectButtonTitle: "fileSelectButtonTitle", removeReplyTitle: "removeReplyTitle", removeFileTitle: "removeFileTitle", expandTitle: "expandTitle", collapseTitle: "collapseTitle", fileActionsTitle: "fileActionsTitle", nextSuggestionsButtonTitle: "nextSuggestionsButtonTitle", previousSuggestionsButtonTitle: "previousSuggestionsButtonTitle", unpinMessageTitle: "unpinMessageTitle", resendButtonTitle: "resendButtonTitle", attachedFilesLabel: "attachedFilesLabel" }, usesInheritance: true, ngImport: i0 });
|
|
3515
3528
|
};
|
|
3516
3529
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Messages$2, decorators: [{
|
|
3517
3530
|
type: Directive,
|
|
@@ -3560,6 +3573,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3560
3573
|
type: Input
|
|
3561
3574
|
}], unpinMessageTitle: [{
|
|
3562
3575
|
type: Input
|
|
3576
|
+
}], resendButtonTitle: [{
|
|
3577
|
+
type: Input
|
|
3578
|
+
}], attachedFilesLabel: [{
|
|
3579
|
+
type: Input
|
|
3563
3580
|
}] } });
|
|
3564
3581
|
|
|
3565
3582
|
// eslint-disable no-forward-ref
|
|
@@ -3741,11 +3758,15 @@ let Messages$1 = class Messages extends ComponentMessages {
|
|
|
3741
3758
|
*/
|
|
3742
3759
|
removeFileTitle;
|
|
3743
3760
|
/**
|
|
3744
|
-
*
|
|
3761
|
+
* Sets the aria-label for the internal input/textarea element.
|
|
3745
3762
|
*/
|
|
3746
3763
|
messageBoxTitle;
|
|
3764
|
+
/**
|
|
3765
|
+
* Sets the aria-label for the attached files list.
|
|
3766
|
+
*/
|
|
3767
|
+
attachedFilesLabel;
|
|
3747
3768
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3748
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: Messages, isStandalone: true, inputs: { fileSelectButtonTitle: "fileSelectButtonTitle", actionButtonTitle: "actionButtonTitle", stopGeneratingTitle: "stopGeneratingTitle", speechToTextButtonTitle: "speechToTextButtonTitle", removeFileTitle: "removeFileTitle", messageBoxTitle: "messageBoxTitle" }, usesInheritance: true, ngImport: i0 });
|
|
3769
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: Messages, isStandalone: true, inputs: { fileSelectButtonTitle: "fileSelectButtonTitle", actionButtonTitle: "actionButtonTitle", stopGeneratingTitle: "stopGeneratingTitle", speechToTextButtonTitle: "speechToTextButtonTitle", removeFileTitle: "removeFileTitle", messageBoxTitle: "messageBoxTitle", attachedFilesLabel: "attachedFilesLabel" }, usesInheritance: true, ngImport: i0 });
|
|
3749
3770
|
};
|
|
3750
3771
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: Messages$1, decorators: [{
|
|
3751
3772
|
type: Directive
|
|
@@ -3761,6 +3782,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
3761
3782
|
type: Input
|
|
3762
3783
|
}], messageBoxTitle: [{
|
|
3763
3784
|
type: Input
|
|
3785
|
+
}], attachedFilesLabel: [{
|
|
3786
|
+
type: Input
|
|
3764
3787
|
}] } });
|
|
3765
3788
|
|
|
3766
3789
|
/**
|
|
@@ -4042,6 +4065,7 @@ class PromptBoxActionButtonComponent extends PromptBoxBaseTool {
|
|
|
4042
4065
|
kendoButton
|
|
4043
4066
|
[class]="buttonClass"
|
|
4044
4067
|
[class.k-generating]="loading"
|
|
4068
|
+
[class.k-active]="loading"
|
|
4045
4069
|
aria-live="polite"
|
|
4046
4070
|
[attr.aria-label]="loading ? textFor('stopGeneratingTitle') : textFor('actionButtonTitle')"
|
|
4047
4071
|
[attr.title]="title || textFor('actionButtonTitle')"
|
|
@@ -4072,6 +4096,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
4072
4096
|
kendoButton
|
|
4073
4097
|
[class]="buttonClass"
|
|
4074
4098
|
[class.k-generating]="loading"
|
|
4099
|
+
[class.k-active]="loading"
|
|
4075
4100
|
aria-live="polite"
|
|
4076
4101
|
[attr.aria-label]="loading ? textFor('stopGeneratingTitle') : textFor('actionButtonTitle')"
|
|
4077
4102
|
[attr.title]="title || textFor('actionButtonTitle')"
|
|
@@ -4264,8 +4289,12 @@ class PromptBoxFileComponent {
|
|
|
4264
4289
|
removable = false;
|
|
4265
4290
|
fileActions;
|
|
4266
4291
|
disabled = false;
|
|
4292
|
+
role = 'listitem';
|
|
4293
|
+
get ariaLabel() {
|
|
4294
|
+
return `${this.promptBoxFile?.name || ''} ${this.getTotalFilesSizeMessage(this.promptBoxFile)}`.trim();
|
|
4295
|
+
}
|
|
4267
4296
|
remove = new EventEmitter();
|
|
4268
|
-
deleteIcon =
|
|
4297
|
+
deleteIcon = xCircleIcon;
|
|
4269
4298
|
moreIcon = moreVerticalIcon;
|
|
4270
4299
|
constructor(localization) {
|
|
4271
4300
|
this.localization = localization;
|
|
@@ -4284,7 +4313,7 @@ class PromptBoxFileComponent {
|
|
|
4284
4313
|
}
|
|
4285
4314
|
focus() { }
|
|
4286
4315
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PromptBoxFileComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4287
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: PromptBoxFileComponent, isStandalone: true, selector: "li[promptBoxFile]", inputs: { promptBoxFile: "promptBoxFile", removable: "removable", fileActions: "fileActions", disabled: "disabled" }, outputs: { remove: "remove" }, ngImport: i0, template: `
|
|
4316
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: PromptBoxFileComponent, isStandalone: true, selector: "li[promptBoxFile]", inputs: { promptBoxFile: "promptBoxFile", removable: "removable", fileActions: "fileActions", disabled: "disabled" }, outputs: { remove: "remove" }, host: { properties: { "attr.role": "this.role", "attr.aria-label": "this.ariaLabel" } }, ngImport: i0, template: `
|
|
4288
4317
|
<kendo-icon-wrapper
|
|
4289
4318
|
size="xlarge"
|
|
4290
4319
|
[name]="fileGroupClass(promptBoxFile.extension)"
|
|
@@ -4348,6 +4377,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
4348
4377
|
type: Input
|
|
4349
4378
|
}], disabled: [{
|
|
4350
4379
|
type: Input
|
|
4380
|
+
}], role: [{
|
|
4381
|
+
type: HostBinding,
|
|
4382
|
+
args: ['attr.role']
|
|
4383
|
+
}], ariaLabel: [{
|
|
4384
|
+
type: HostBinding,
|
|
4385
|
+
args: ['attr.aria-label']
|
|
4351
4386
|
}], remove: [{
|
|
4352
4387
|
type: Output
|
|
4353
4388
|
}] } });
|
|
@@ -5369,6 +5404,8 @@ class PromptBoxComponent {
|
|
|
5369
5404
|
removeFileTitle="Remove file"
|
|
5370
5405
|
i18n-messageBoxTitle="kendo.promptbox.messageBoxTitle|Sets the aria-label for the input/textarea element."
|
|
5371
5406
|
messageBoxTitle="Message"
|
|
5407
|
+
i18n-attachedFilesLabel="kendo.promptbox.attachedFilesLabel|Sets the aria-label for the attached files list."
|
|
5408
|
+
attachedFilesLabel="Attached files"
|
|
5372
5409
|
>
|
|
5373
5410
|
</ng-container>
|
|
5374
5411
|
|
|
@@ -5436,8 +5473,10 @@ class PromptBoxComponent {
|
|
|
5436
5473
|
class="k-file-box-wrapper"
|
|
5437
5474
|
[class.k-file-box-wrapper-scrollable-start]="hasFilesOverflow && !filesListScrollAtEnd"
|
|
5438
5475
|
[class.k-file-box-wrapper-scrollable-end]="hasFilesOverflow && !filesListScrollAtStart"
|
|
5476
|
+
role="list"
|
|
5477
|
+
[attr.aria-label]="textFor('attachedFilesLabel')"
|
|
5439
5478
|
>
|
|
5440
|
-
<div #filesList class="k-files-scroll" (scroll)="onFilesListScroll(filesList)">
|
|
5479
|
+
<div #filesList class="k-files-scroll" role="presentation" (scroll)="onFilesListScroll(filesList)">
|
|
5441
5480
|
@for (attachment of attachments; track attachment; let i = $index) {
|
|
5442
5481
|
<li
|
|
5443
5482
|
class="k-file-box"
|
|
@@ -5569,6 +5608,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
5569
5608
|
removeFileTitle="Remove file"
|
|
5570
5609
|
i18n-messageBoxTitle="kendo.promptbox.messageBoxTitle|Sets the aria-label for the input/textarea element."
|
|
5571
5610
|
messageBoxTitle="Message"
|
|
5611
|
+
i18n-attachedFilesLabel="kendo.promptbox.attachedFilesLabel|Sets the aria-label for the attached files list."
|
|
5612
|
+
attachedFilesLabel="Attached files"
|
|
5572
5613
|
>
|
|
5573
5614
|
</ng-container>
|
|
5574
5615
|
|
|
@@ -5636,8 +5677,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
5636
5677
|
class="k-file-box-wrapper"
|
|
5637
5678
|
[class.k-file-box-wrapper-scrollable-start]="hasFilesOverflow && !filesListScrollAtEnd"
|
|
5638
5679
|
[class.k-file-box-wrapper-scrollable-end]="hasFilesOverflow && !filesListScrollAtStart"
|
|
5680
|
+
role="list"
|
|
5681
|
+
[attr.aria-label]="textFor('attachedFilesLabel')"
|
|
5639
5682
|
>
|
|
5640
|
-
<div #filesList class="k-files-scroll" (scroll)="onFilesListScroll(filesList)">
|
|
5683
|
+
<div #filesList class="k-files-scroll" role="presentation" (scroll)="onFilesListScroll(filesList)">
|
|
5641
5684
|
@for (attachment of attachments; track attachment; let i = $index) {
|
|
5642
5685
|
<li
|
|
5643
5686
|
class="k-file-box"
|
|
@@ -5857,6 +5900,10 @@ class ChatFileComponent extends ChatItem {
|
|
|
5857
5900
|
chatFile;
|
|
5858
5901
|
removable = false;
|
|
5859
5902
|
fileActions;
|
|
5903
|
+
role = 'listitem';
|
|
5904
|
+
get ariaLabel() {
|
|
5905
|
+
return `${this.chatFile?.name || ''} ${this.getTotalFilesSizeMessage(this.chatFile)}`.trim();
|
|
5906
|
+
}
|
|
5860
5907
|
remove = new EventEmitter();
|
|
5861
5908
|
actionClick = new EventEmitter();
|
|
5862
5909
|
actionsToggle = new EventEmitter();
|
|
@@ -5881,7 +5928,7 @@ class ChatFileComponent extends ChatItem {
|
|
|
5881
5928
|
}
|
|
5882
5929
|
focus() { }
|
|
5883
5930
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChatFileComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
5884
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ChatFileComponent, isStandalone: true, selector: "li[chatFile]", inputs: { chatFile: "chatFile", removable: "removable", fileActions: "fileActions" }, outputs: { remove: "remove", actionClick: "actionClick", actionsToggle: "actionsToggle", actionButtonClick: "actionButtonClick" }, providers: [{
|
|
5931
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ChatFileComponent, isStandalone: true, selector: "li[chatFile]", inputs: { chatFile: "chatFile", removable: "removable", fileActions: "fileActions" }, outputs: { remove: "remove", actionClick: "actionClick", actionsToggle: "actionsToggle", actionButtonClick: "actionButtonClick" }, host: { properties: { "attr.role": "this.role", "attr.aria-label": "this.ariaLabel" } }, providers: [{
|
|
5885
5932
|
provide: ChatItem,
|
|
5886
5933
|
useExisting: forwardRef(() => ChatFileComponent)
|
|
5887
5934
|
}], usesInheritance: true, ngImport: i0, template: `
|
|
@@ -5976,6 +6023,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
5976
6023
|
type: Input
|
|
5977
6024
|
}], fileActions: [{
|
|
5978
6025
|
type: Input
|
|
6026
|
+
}], role: [{
|
|
6027
|
+
type: HostBinding,
|
|
6028
|
+
args: ['attr.role']
|
|
6029
|
+
}], ariaLabel: [{
|
|
6030
|
+
type: HostBinding,
|
|
6031
|
+
args: ['attr.aria-label']
|
|
5979
6032
|
}], remove: [{
|
|
5980
6033
|
type: Output
|
|
5981
6034
|
}], actionClick: [{
|
|
@@ -7604,14 +7657,16 @@ class MessageComponent extends ChatItem {
|
|
|
7604
7657
|
></ng-container>
|
|
7605
7658
|
} @if (!useCustomBubbleTemplate) { @if (message.typing) {
|
|
7606
7659
|
<div class="k-chat-bubble k-bubble">
|
|
7607
|
-
<div class="k-
|
|
7608
|
-
<
|
|
7609
|
-
|
|
7610
|
-
|
|
7660
|
+
<div class="k-bubble-content">
|
|
7661
|
+
<div class="k-typing-indicator" [attr.tabindex]="'-1'">
|
|
7662
|
+
<span></span>
|
|
7663
|
+
<span></span>
|
|
7664
|
+
<span></span>
|
|
7665
|
+
</div>
|
|
7611
7666
|
</div>
|
|
7612
7667
|
</div>
|
|
7613
7668
|
} @if (!message.typing) { @if (useCustomContentTemplate) { @if (message.failed) {
|
|
7614
|
-
<button kendoButton class="k-resend-button" size="xsmall" fillMode="clear" icon="arrow-rotate-cw" [svgIcon]="resendIcon" (click)="onResendMessage($event)"></button>
|
|
7669
|
+
<button kendoButton class="k-resend-button" size="xsmall" fillMode="clear" icon="arrow-rotate-cw" [svgIcon]="resendIcon" [attr.aria-label]="textFor('resendButtonTitle')" (click)="onResendMessage($event)"></button>
|
|
7615
7670
|
}
|
|
7616
7671
|
<div
|
|
7617
7672
|
class="k-chat-bubble k-bubble"
|
|
@@ -7634,6 +7689,7 @@ class MessageComponent extends ChatItem {
|
|
|
7634
7689
|
class="k-bubble-expandable-indicator"
|
|
7635
7690
|
[attr.tabindex]="'0'"
|
|
7636
7691
|
[attr.role]="'button'"
|
|
7692
|
+
[attr.aria-label]="isMessageExpanded ? textFor('collapseTitle') : textFor('expandTitle')"
|
|
7637
7693
|
[attr.title]="isMessageExpanded ? textFor('collapseTitle') : textFor('expandTitle')"
|
|
7638
7694
|
(mousedown)="chatService.toggleMessageState = true"
|
|
7639
7695
|
(click)="toggleMessageState($event)"
|
|
@@ -7641,13 +7697,12 @@ class MessageComponent extends ChatItem {
|
|
|
7641
7697
|
<kendo-icon-wrapper
|
|
7642
7698
|
[name]="isMessageExpanded ? 'chevron-up' : 'chevron-down'"
|
|
7643
7699
|
[svgIcon]="isMessageExpanded ? collapseIcon : expandIcon"
|
|
7644
|
-
>
|
|
7645
|
-
</kendo-icon-wrapper>
|
|
7700
|
+
></kendo-icon-wrapper>
|
|
7646
7701
|
</span>
|
|
7647
7702
|
}
|
|
7648
7703
|
</div>
|
|
7649
7704
|
} @if (!useCustomContentTemplate && hasMessageContent) { @if (message.failed) {
|
|
7650
|
-
<button kendoButton class="k-resend-button" size="xsmall" fillMode="clear" icon="arrow-rotate-cw" [svgIcon]="resendIcon" (click)="onResendMessage($event)"></button>
|
|
7705
|
+
<button kendoButton class="k-resend-button" size="xsmall" fillMode="clear" icon="arrow-rotate-cw" [svgIcon]="resendIcon" [attr.aria-label]="textFor('resendButtonTitle')" (click)="onResendMessage($event)"></button>
|
|
7651
7706
|
}
|
|
7652
7707
|
<div
|
|
7653
7708
|
class="k-chat-bubble k-bubble"
|
|
@@ -7688,6 +7743,8 @@ class MessageComponent extends ChatItem {
|
|
|
7688
7743
|
'k-files-wrap': chatService.messageFilesLayout === 'wrap',
|
|
7689
7744
|
'k-files-vertical': chatService.messageFilesLayout === 'vertical'
|
|
7690
7745
|
}"
|
|
7746
|
+
role="list"
|
|
7747
|
+
[attr.aria-label]="textFor('attachedFilesLabel')"
|
|
7691
7748
|
>
|
|
7692
7749
|
@for (file of message.files; track file.id) {
|
|
7693
7750
|
<li
|
|
@@ -7701,8 +7758,8 @@ class MessageComponent extends ChatItem {
|
|
|
7701
7758
|
}
|
|
7702
7759
|
</ul>
|
|
7703
7760
|
} @else {
|
|
7704
|
-
<ul class="k-file-box-wrapper">
|
|
7705
|
-
<div class="k-files-scroll">
|
|
7761
|
+
<ul class="k-file-box-wrapper" role="list" [attr.aria-label]="textFor('attachedFilesLabel')">
|
|
7762
|
+
<div class="k-files-scroll" role="presentation">
|
|
7706
7763
|
@for (file of message.files; track file.id) {
|
|
7707
7764
|
<li
|
|
7708
7765
|
class="k-file-box"
|
|
@@ -7736,6 +7793,7 @@ class MessageComponent extends ChatItem {
|
|
|
7736
7793
|
class="k-bubble-expandable-indicator"
|
|
7737
7794
|
[attr.tabindex]="'0'"
|
|
7738
7795
|
[attr.role]="'button'"
|
|
7796
|
+
[attr.aria-label]="isMessageExpanded ? textFor('collapseTitle') : textFor('expandTitle')"
|
|
7739
7797
|
[attr.title]="isMessageExpanded ? textFor('collapseTitle') : textFor('expandTitle')"
|
|
7740
7798
|
(mousedown)="chatService.toggleMessageState = true"
|
|
7741
7799
|
(click)="toggleMessageState($event)"
|
|
@@ -7743,8 +7801,7 @@ class MessageComponent extends ChatItem {
|
|
|
7743
7801
|
<kendo-icon-wrapper
|
|
7744
7802
|
[name]="isMessageExpanded ? 'chevron-up' : 'chevron-down'"
|
|
7745
7803
|
[svgIcon]="isMessageExpanded ? collapseIcon : expandIcon"
|
|
7746
|
-
>
|
|
7747
|
-
</kendo-icon-wrapper>
|
|
7804
|
+
></kendo-icon-wrapper>
|
|
7748
7805
|
</span>
|
|
7749
7806
|
}
|
|
7750
7807
|
</div>
|
|
@@ -7821,14 +7878,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
7821
7878
|
></ng-container>
|
|
7822
7879
|
} @if (!useCustomBubbleTemplate) { @if (message.typing) {
|
|
7823
7880
|
<div class="k-chat-bubble k-bubble">
|
|
7824
|
-
<div class="k-
|
|
7825
|
-
<
|
|
7826
|
-
|
|
7827
|
-
|
|
7881
|
+
<div class="k-bubble-content">
|
|
7882
|
+
<div class="k-typing-indicator" [attr.tabindex]="'-1'">
|
|
7883
|
+
<span></span>
|
|
7884
|
+
<span></span>
|
|
7885
|
+
<span></span>
|
|
7886
|
+
</div>
|
|
7828
7887
|
</div>
|
|
7829
7888
|
</div>
|
|
7830
7889
|
} @if (!message.typing) { @if (useCustomContentTemplate) { @if (message.failed) {
|
|
7831
|
-
<button kendoButton class="k-resend-button" size="xsmall" fillMode="clear" icon="arrow-rotate-cw" [svgIcon]="resendIcon" (click)="onResendMessage($event)"></button>
|
|
7890
|
+
<button kendoButton class="k-resend-button" size="xsmall" fillMode="clear" icon="arrow-rotate-cw" [svgIcon]="resendIcon" [attr.aria-label]="textFor('resendButtonTitle')" (click)="onResendMessage($event)"></button>
|
|
7832
7891
|
}
|
|
7833
7892
|
<div
|
|
7834
7893
|
class="k-chat-bubble k-bubble"
|
|
@@ -7851,6 +7910,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
7851
7910
|
class="k-bubble-expandable-indicator"
|
|
7852
7911
|
[attr.tabindex]="'0'"
|
|
7853
7912
|
[attr.role]="'button'"
|
|
7913
|
+
[attr.aria-label]="isMessageExpanded ? textFor('collapseTitle') : textFor('expandTitle')"
|
|
7854
7914
|
[attr.title]="isMessageExpanded ? textFor('collapseTitle') : textFor('expandTitle')"
|
|
7855
7915
|
(mousedown)="chatService.toggleMessageState = true"
|
|
7856
7916
|
(click)="toggleMessageState($event)"
|
|
@@ -7858,13 +7918,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
7858
7918
|
<kendo-icon-wrapper
|
|
7859
7919
|
[name]="isMessageExpanded ? 'chevron-up' : 'chevron-down'"
|
|
7860
7920
|
[svgIcon]="isMessageExpanded ? collapseIcon : expandIcon"
|
|
7861
|
-
>
|
|
7862
|
-
</kendo-icon-wrapper>
|
|
7921
|
+
></kendo-icon-wrapper>
|
|
7863
7922
|
</span>
|
|
7864
7923
|
}
|
|
7865
7924
|
</div>
|
|
7866
7925
|
} @if (!useCustomContentTemplate && hasMessageContent) { @if (message.failed) {
|
|
7867
|
-
<button kendoButton class="k-resend-button" size="xsmall" fillMode="clear" icon="arrow-rotate-cw" [svgIcon]="resendIcon" (click)="onResendMessage($event)"></button>
|
|
7926
|
+
<button kendoButton class="k-resend-button" size="xsmall" fillMode="clear" icon="arrow-rotate-cw" [svgIcon]="resendIcon" [attr.aria-label]="textFor('resendButtonTitle')" (click)="onResendMessage($event)"></button>
|
|
7868
7927
|
}
|
|
7869
7928
|
<div
|
|
7870
7929
|
class="k-chat-bubble k-bubble"
|
|
@@ -7905,6 +7964,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
7905
7964
|
'k-files-wrap': chatService.messageFilesLayout === 'wrap',
|
|
7906
7965
|
'k-files-vertical': chatService.messageFilesLayout === 'vertical'
|
|
7907
7966
|
}"
|
|
7967
|
+
role="list"
|
|
7968
|
+
[attr.aria-label]="textFor('attachedFilesLabel')"
|
|
7908
7969
|
>
|
|
7909
7970
|
@for (file of message.files; track file.id) {
|
|
7910
7971
|
<li
|
|
@@ -7918,8 +7979,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
7918
7979
|
}
|
|
7919
7980
|
</ul>
|
|
7920
7981
|
} @else {
|
|
7921
|
-
<ul class="k-file-box-wrapper">
|
|
7922
|
-
<div class="k-files-scroll">
|
|
7982
|
+
<ul class="k-file-box-wrapper" role="list" [attr.aria-label]="textFor('attachedFilesLabel')">
|
|
7983
|
+
<div class="k-files-scroll" role="presentation">
|
|
7923
7984
|
@for (file of message.files; track file.id) {
|
|
7924
7985
|
<li
|
|
7925
7986
|
class="k-file-box"
|
|
@@ -7953,6 +8014,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
7953
8014
|
class="k-bubble-expandable-indicator"
|
|
7954
8015
|
[attr.tabindex]="'0'"
|
|
7955
8016
|
[attr.role]="'button'"
|
|
8017
|
+
[attr.aria-label]="isMessageExpanded ? textFor('collapseTitle') : textFor('expandTitle')"
|
|
7956
8018
|
[attr.title]="isMessageExpanded ? textFor('collapseTitle') : textFor('expandTitle')"
|
|
7957
8019
|
(mousedown)="chatService.toggleMessageState = true"
|
|
7958
8020
|
(click)="toggleMessageState($event)"
|
|
@@ -7960,8 +8022,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
7960
8022
|
<kendo-icon-wrapper
|
|
7961
8023
|
[name]="isMessageExpanded ? 'chevron-up' : 'chevron-down'"
|
|
7962
8024
|
[svgIcon]="isMessageExpanded ? collapseIcon : expandIcon"
|
|
7963
|
-
>
|
|
7964
|
-
</kendo-icon-wrapper>
|
|
8025
|
+
></kendo-icon-wrapper>
|
|
7965
8026
|
</span>
|
|
7966
8027
|
}
|
|
7967
8028
|
</div>
|
|
@@ -9448,7 +9509,7 @@ class ChatComponent {
|
|
|
9448
9509
|
/**
|
|
9449
9510
|
* @hidden
|
|
9450
9511
|
*/
|
|
9451
|
-
deleteIcon =
|
|
9512
|
+
deleteIcon = xCircleIcon;
|
|
9452
9513
|
/**
|
|
9453
9514
|
* @hidden
|
|
9454
9515
|
*/
|
|
@@ -10168,6 +10229,10 @@ class ChatComponent {
|
|
|
10168
10229
|
nextSuggestionsButtonTitle="Scroll right"
|
|
10169
10230
|
i18n-unpinMessageTitle="kendo.chat.unpinMessageTitle|The title of the button that unpins a pinned message"
|
|
10170
10231
|
unpinMessageTitle="Unpin message"
|
|
10232
|
+
i18n-resendButtonTitle="kendo.chat.resendButtonTitle|The aria-label for the button that resends a failed message"
|
|
10233
|
+
resendButtonTitle="Resend"
|
|
10234
|
+
i18n-attachedFilesLabel="kendo.chat.attachedFilesLabel|The aria-label for the attached files list"
|
|
10235
|
+
attachedFilesLabel="Attached files"
|
|
10171
10236
|
>
|
|
10172
10237
|
</ng-container>
|
|
10173
10238
|
|
|
@@ -10206,6 +10271,7 @@ class ChatComponent {
|
|
|
10206
10271
|
icon="x"
|
|
10207
10272
|
[svgIcon]="deleteIcon"
|
|
10208
10273
|
[attr.title]="textFor('unpinMessageTitle')"
|
|
10274
|
+
[attr.aria-label]="textFor('unpinMessageTitle')"
|
|
10209
10275
|
(click)="unpin.emit(pinnedMessage)"
|
|
10210
10276
|
fillMode="flat"
|
|
10211
10277
|
size="xsmall"
|
|
@@ -10373,6 +10439,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
10373
10439
|
nextSuggestionsButtonTitle="Scroll right"
|
|
10374
10440
|
i18n-unpinMessageTitle="kendo.chat.unpinMessageTitle|The title of the button that unpins a pinned message"
|
|
10375
10441
|
unpinMessageTitle="Unpin message"
|
|
10442
|
+
i18n-resendButtonTitle="kendo.chat.resendButtonTitle|The aria-label for the button that resends a failed message"
|
|
10443
|
+
resendButtonTitle="Resend"
|
|
10444
|
+
i18n-attachedFilesLabel="kendo.chat.attachedFilesLabel|The aria-label for the attached files list"
|
|
10445
|
+
attachedFilesLabel="Attached files"
|
|
10376
10446
|
>
|
|
10377
10447
|
</ng-container>
|
|
10378
10448
|
|
|
@@ -10411,6 +10481,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
10411
10481
|
icon="x"
|
|
10412
10482
|
[svgIcon]="deleteIcon"
|
|
10413
10483
|
[attr.title]="textFor('unpinMessageTitle')"
|
|
10484
|
+
[attr.aria-label]="textFor('unpinMessageTitle')"
|
|
10414
10485
|
(click)="unpin.emit(pinnedMessage)"
|
|
10415
10486
|
fillMode="flat"
|
|
10416
10487
|
size="xsmall"
|
|
@@ -11025,6 +11096,9 @@ class InlineAIPromptContentComponent {
|
|
|
11025
11096
|
contextMenu;
|
|
11026
11097
|
calculateMeasurement = calculateMeasurement;
|
|
11027
11098
|
commandMenuIcon = menuIcon;
|
|
11099
|
+
get textareaAriaAttributes() {
|
|
11100
|
+
return this.placeholder ? { 'aria-label': this.placeholder } : null;
|
|
11101
|
+
}
|
|
11028
11102
|
sendIcon = paperPlaneIcon;
|
|
11029
11103
|
stopGenerationIcon = stopIcon;
|
|
11030
11104
|
isListening = false;
|
|
@@ -11248,6 +11322,7 @@ class InlineAIPromptContentComponent {
|
|
|
11248
11322
|
[showPrefixSeparator]="true"
|
|
11249
11323
|
[selectOnFocus]="true"
|
|
11250
11324
|
[maxResizableRows]="maxRows"
|
|
11325
|
+
[inputAttributes]="textareaAriaAttributes"
|
|
11251
11326
|
(keydown)="handleTextAreaKeydown($event)"
|
|
11252
11327
|
>
|
|
11253
11328
|
<kendo-textarea-prefix>
|
|
@@ -11255,6 +11330,7 @@ class InlineAIPromptContentComponent {
|
|
|
11255
11330
|
<button
|
|
11256
11331
|
kendoButton
|
|
11257
11332
|
#commandMenuButton
|
|
11333
|
+
[attr.aria-label]="messageFor('commandsButtonTitle')"
|
|
11258
11334
|
[attr.title]="messageFor('commandsButtonTitle')"
|
|
11259
11335
|
fillMode="flat"
|
|
11260
11336
|
icon="menu"
|
|
@@ -11265,6 +11341,7 @@ class InlineAIPromptContentComponent {
|
|
|
11265
11341
|
@if (enableSpeechToText) {
|
|
11266
11342
|
<button
|
|
11267
11343
|
kendoSpeechToTextButton
|
|
11344
|
+
[attr.aria-label]="messageFor('speechToTextButtonTitle')"
|
|
11268
11345
|
[attr.title]="messageFor('speechToTextButtonTitle')"
|
|
11269
11346
|
fillMode="flat"
|
|
11270
11347
|
(result)="handleSpeechResult($event)"
|
|
@@ -11276,6 +11353,7 @@ class InlineAIPromptContentComponent {
|
|
|
11276
11353
|
<kendo-textarea-suffix>
|
|
11277
11354
|
<button
|
|
11278
11355
|
kendoButton
|
|
11356
|
+
[attr.aria-label]="messageFor('generateButtonTitle')"
|
|
11279
11357
|
[attr.title]="messageFor('generateButtonTitle')"
|
|
11280
11358
|
fillMode="flat"
|
|
11281
11359
|
class="k-prompt-send"
|
|
@@ -11369,6 +11447,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11369
11447
|
[showPrefixSeparator]="true"
|
|
11370
11448
|
[selectOnFocus]="true"
|
|
11371
11449
|
[maxResizableRows]="maxRows"
|
|
11450
|
+
[inputAttributes]="textareaAriaAttributes"
|
|
11372
11451
|
(keydown)="handleTextAreaKeydown($event)"
|
|
11373
11452
|
>
|
|
11374
11453
|
<kendo-textarea-prefix>
|
|
@@ -11376,6 +11455,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11376
11455
|
<button
|
|
11377
11456
|
kendoButton
|
|
11378
11457
|
#commandMenuButton
|
|
11458
|
+
[attr.aria-label]="messageFor('commandsButtonTitle')"
|
|
11379
11459
|
[attr.title]="messageFor('commandsButtonTitle')"
|
|
11380
11460
|
fillMode="flat"
|
|
11381
11461
|
icon="menu"
|
|
@@ -11386,6 +11466,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11386
11466
|
@if (enableSpeechToText) {
|
|
11387
11467
|
<button
|
|
11388
11468
|
kendoSpeechToTextButton
|
|
11469
|
+
[attr.aria-label]="messageFor('speechToTextButtonTitle')"
|
|
11389
11470
|
[attr.title]="messageFor('speechToTextButtonTitle')"
|
|
11390
11471
|
fillMode="flat"
|
|
11391
11472
|
(result)="handleSpeechResult($event)"
|
|
@@ -11397,6 +11478,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
|
|
|
11397
11478
|
<kendo-textarea-suffix>
|
|
11398
11479
|
<button
|
|
11399
11480
|
kendoButton
|
|
11481
|
+
[attr.aria-label]="messageFor('generateButtonTitle')"
|
|
11400
11482
|
[attr.title]="messageFor('generateButtonTitle')"
|
|
11401
11483
|
fillMode="flat"
|
|
11402
11484
|
class="k-prompt-send"
|
package/index.d.ts
CHANGED
|
@@ -1251,8 +1251,12 @@ declare class Messages$3 extends ComponentMessages {
|
|
|
1251
1251
|
* Sets the aria-label for the **Speech to Text** button.
|
|
1252
1252
|
*/
|
|
1253
1253
|
speechToTextButton: string;
|
|
1254
|
+
/**
|
|
1255
|
+
* Sets the aria-label for the **Toolbar** element.
|
|
1256
|
+
*/
|
|
1257
|
+
toolbarLabel: string;
|
|
1254
1258
|
static ɵfac: i0.ɵɵFactoryDeclaration<Messages$3, never>;
|
|
1255
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<Messages$3, never, never, { "promptView": { "alias": "promptView"; "required": false; }; "outputView": { "alias": "outputView"; "required": false; }; "generateOutput": { "alias": "generateOutput"; "required": false; }; "promptPlaceholder": { "alias": "promptPlaceholder"; "required": false; }; "copyOutput": { "alias": "copyOutput"; "required": false; }; "retryGeneration": { "alias": "retryGeneration"; "required": false; }; "outputTitle": { "alias": "outputTitle"; "required": false; }; "outputRetryTitle": { "alias": "outputRetryTitle"; "required": false; }; "promptSuggestions": { "alias": "promptSuggestions"; "required": false; }; "speechToTextButton": { "alias": "speechToTextButton"; "required": false; }; }, {}, never, never, true, never>;
|
|
1259
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<Messages$3, never, never, { "promptView": { "alias": "promptView"; "required": false; }; "outputView": { "alias": "outputView"; "required": false; }; "generateOutput": { "alias": "generateOutput"; "required": false; }; "promptPlaceholder": { "alias": "promptPlaceholder"; "required": false; }; "copyOutput": { "alias": "copyOutput"; "required": false; }; "retryGeneration": { "alias": "retryGeneration"; "required": false; }; "outputTitle": { "alias": "outputTitle"; "required": false; }; "outputRetryTitle": { "alias": "outputRetryTitle"; "required": false; }; "promptSuggestions": { "alias": "promptSuggestions"; "required": false; }; "speechToTextButton": { "alias": "speechToTextButton"; "required": false; }; "toolbarLabel": { "alias": "toolbarLabel"; "required": false; }; }, {}, never, never, true, never>;
|
|
1256
1260
|
}
|
|
1257
1261
|
|
|
1258
1262
|
/**
|
|
@@ -3279,8 +3283,16 @@ declare class Messages$2 extends ComponentMessages {
|
|
|
3279
3283
|
* Sets the title of the button that unpins a pinned message.
|
|
3280
3284
|
*/
|
|
3281
3285
|
unpinMessageTitle: string;
|
|
3286
|
+
/**
|
|
3287
|
+
* Sets the aria-label for the button that resends a failed message.
|
|
3288
|
+
*/
|
|
3289
|
+
resendButtonTitle: string;
|
|
3290
|
+
/**
|
|
3291
|
+
* Sets the aria-label for the attached files list.
|
|
3292
|
+
*/
|
|
3293
|
+
attachedFilesLabel: string;
|
|
3282
3294
|
static ɵfac: i0.ɵɵFactoryDeclaration<Messages$2, never>;
|
|
3283
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<Messages$2, "kendoConversationalUIMessages", never, { "deletedMessageSenderText": { "alias": "deletedMessageSenderText"; "required": false; }; "deletedMessageReceiverText": { "alias": "deletedMessageReceiverText"; "required": false; }; "messageFailedText": { "alias": "messageFailedText"; "required": false; }; "downloadAllFilesText": { "alias": "downloadAllFilesText"; "required": false; }; "messagePlaceholder": { "alias": "messagePlaceholder"; "required": false; }; "messageBoxTitle": { "alias": "messageBoxTitle"; "required": false; }; "actionButtonTitle": { "alias": "actionButtonTitle"; "required": false; }; "messageListLabel": { "alias": "messageListLabel"; "required": false; }; "messageBoxInputLabel": { "alias": "messageBoxInputLabel"; "required": false; }; "messageAttachmentLeftArrow": { "alias": "messageAttachmentLeftArrow"; "required": false; }; "messageAttachmentRightArrow": { "alias": "messageAttachmentRightArrow"; "required": false; }; "speechToTextButtonTitle": { "alias": "speechToTextButtonTitle"; "required": false; }; "fileSelectButtonTitle": { "alias": "fileSelectButtonTitle"; "required": false; }; "removeReplyTitle": { "alias": "removeReplyTitle"; "required": false; }; "removeFileTitle": { "alias": "removeFileTitle"; "required": false; }; "expandTitle": { "alias": "expandTitle"; "required": false; }; "collapseTitle": { "alias": "collapseTitle"; "required": false; }; "fileActionsTitle": { "alias": "fileActionsTitle"; "required": false; }; "nextSuggestionsButtonTitle": { "alias": "nextSuggestionsButtonTitle"; "required": false; }; "previousSuggestionsButtonTitle": { "alias": "previousSuggestionsButtonTitle"; "required": false; }; "unpinMessageTitle": { "alias": "unpinMessageTitle"; "required": false; }; }, {}, never, never, true, never>;
|
|
3295
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<Messages$2, "kendoConversationalUIMessages", never, { "deletedMessageSenderText": { "alias": "deletedMessageSenderText"; "required": false; }; "deletedMessageReceiverText": { "alias": "deletedMessageReceiverText"; "required": false; }; "messageFailedText": { "alias": "messageFailedText"; "required": false; }; "downloadAllFilesText": { "alias": "downloadAllFilesText"; "required": false; }; "messagePlaceholder": { "alias": "messagePlaceholder"; "required": false; }; "messageBoxTitle": { "alias": "messageBoxTitle"; "required": false; }; "actionButtonTitle": { "alias": "actionButtonTitle"; "required": false; }; "messageListLabel": { "alias": "messageListLabel"; "required": false; }; "messageBoxInputLabel": { "alias": "messageBoxInputLabel"; "required": false; }; "messageAttachmentLeftArrow": { "alias": "messageAttachmentLeftArrow"; "required": false; }; "messageAttachmentRightArrow": { "alias": "messageAttachmentRightArrow"; "required": false; }; "speechToTextButtonTitle": { "alias": "speechToTextButtonTitle"; "required": false; }; "fileSelectButtonTitle": { "alias": "fileSelectButtonTitle"; "required": false; }; "removeReplyTitle": { "alias": "removeReplyTitle"; "required": false; }; "removeFileTitle": { "alias": "removeFileTitle"; "required": false; }; "expandTitle": { "alias": "expandTitle"; "required": false; }; "collapseTitle": { "alias": "collapseTitle"; "required": false; }; "fileActionsTitle": { "alias": "fileActionsTitle"; "required": false; }; "nextSuggestionsButtonTitle": { "alias": "nextSuggestionsButtonTitle"; "required": false; }; "previousSuggestionsButtonTitle": { "alias": "previousSuggestionsButtonTitle"; "required": false; }; "unpinMessageTitle": { "alias": "unpinMessageTitle"; "required": false; }; "resendButtonTitle": { "alias": "resendButtonTitle"; "required": false; }; "attachedFilesLabel": { "alias": "attachedFilesLabel"; "required": false; }; }, {}, never, never, true, never>;
|
|
3284
3296
|
}
|
|
3285
3297
|
|
|
3286
3298
|
/**
|
|
@@ -3626,6 +3638,9 @@ declare class InlineAIPromptContentComponent implements OnDestroy, AfterViewInit
|
|
|
3626
3638
|
contextMenu: ContextMenuComponent;
|
|
3627
3639
|
calculateMeasurement: (value: string | number) => string;
|
|
3628
3640
|
commandMenuIcon: SVGIcon;
|
|
3641
|
+
get textareaAriaAttributes(): {
|
|
3642
|
+
[key: string]: string;
|
|
3643
|
+
} | null;
|
|
3629
3644
|
sendIcon: SVGIcon;
|
|
3630
3645
|
stopGenerationIcon: SVGIcon;
|
|
3631
3646
|
isListening: boolean;
|
|
@@ -3894,11 +3909,15 @@ declare class Messages extends ComponentMessages {
|
|
|
3894
3909
|
*/
|
|
3895
3910
|
removeFileTitle: string;
|
|
3896
3911
|
/**
|
|
3897
|
-
*
|
|
3912
|
+
* Sets the aria-label for the internal input/textarea element.
|
|
3898
3913
|
*/
|
|
3899
3914
|
messageBoxTitle: string;
|
|
3915
|
+
/**
|
|
3916
|
+
* Sets the aria-label for the attached files list.
|
|
3917
|
+
*/
|
|
3918
|
+
attachedFilesLabel: string;
|
|
3900
3919
|
static ɵfac: i0.ɵɵFactoryDeclaration<Messages, never>;
|
|
3901
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<Messages, never, never, { "fileSelectButtonTitle": { "alias": "fileSelectButtonTitle"; "required": false; }; "actionButtonTitle": { "alias": "actionButtonTitle"; "required": false; }; "stopGeneratingTitle": { "alias": "stopGeneratingTitle"; "required": false; }; "speechToTextButtonTitle": { "alias": "speechToTextButtonTitle"; "required": false; }; "removeFileTitle": { "alias": "removeFileTitle"; "required": false; }; "messageBoxTitle": { "alias": "messageBoxTitle"; "required": false; }; }, {}, never, never, true, never>;
|
|
3920
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<Messages, never, never, { "fileSelectButtonTitle": { "alias": "fileSelectButtonTitle"; "required": false; }; "actionButtonTitle": { "alias": "actionButtonTitle"; "required": false; }; "stopGeneratingTitle": { "alias": "stopGeneratingTitle"; "required": false; }; "speechToTextButtonTitle": { "alias": "speechToTextButtonTitle"; "required": false; }; "removeFileTitle": { "alias": "removeFileTitle"; "required": false; }; "messageBoxTitle": { "alias": "messageBoxTitle"; "required": false; }; "attachedFilesLabel": { "alias": "attachedFilesLabel"; "required": false; }; }, {}, never, never, true, never>;
|
|
3902
3921
|
}
|
|
3903
3922
|
|
|
3904
3923
|
/**
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "25.0.0-develop.
|
|
10
|
+
"publishDate": 1784795981,
|
|
11
|
+
"version": "25.0.0-develop.8",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-conversational-ui",
|
|
3
|
-
"version": "25.0.0-develop.
|
|
3
|
+
"version": "25.0.0-develop.8",
|
|
4
4
|
"description": "Kendo UI for Angular Conversational UI components",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
"package": {
|
|
98
98
|
"productName": "Kendo UI for Angular",
|
|
99
99
|
"productCode": "KENDOUIANGULAR",
|
|
100
|
-
"publishDate":
|
|
100
|
+
"publishDate": 1784795981,
|
|
101
101
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
102
102
|
}
|
|
103
103
|
},
|
|
@@ -107,22 +107,22 @@
|
|
|
107
107
|
"@angular/core": "20 - 22",
|
|
108
108
|
"@angular/platform-browser": "20 - 22",
|
|
109
109
|
"@progress/kendo-licensing": "^1.11.0",
|
|
110
|
-
"@progress/kendo-angular-buttons": "25.0.0-develop.
|
|
111
|
-
"@progress/kendo-angular-inputs": "25.0.0-develop.
|
|
112
|
-
"@progress/kendo-angular-layout": "25.0.0-develop.
|
|
113
|
-
"@progress/kendo-angular-icons": "25.0.0-develop.
|
|
114
|
-
"@progress/kendo-angular-common": "25.0.0-develop.
|
|
115
|
-
"@progress/kendo-angular-intl": "25.0.0-develop.
|
|
116
|
-
"@progress/kendo-angular-l10n": "25.0.0-develop.
|
|
117
|
-
"@progress/kendo-angular-menu": "25.0.0-develop.
|
|
118
|
-
"@progress/kendo-angular-popup": "25.0.0-develop.
|
|
119
|
-
"@progress/kendo-angular-toolbar": "25.0.0-develop.
|
|
120
|
-
"@progress/kendo-angular-upload": "25.0.0-develop.
|
|
110
|
+
"@progress/kendo-angular-buttons": "25.0.0-develop.8",
|
|
111
|
+
"@progress/kendo-angular-inputs": "25.0.0-develop.8",
|
|
112
|
+
"@progress/kendo-angular-layout": "25.0.0-develop.8",
|
|
113
|
+
"@progress/kendo-angular-icons": "25.0.0-develop.8",
|
|
114
|
+
"@progress/kendo-angular-common": "25.0.0-develop.8",
|
|
115
|
+
"@progress/kendo-angular-intl": "25.0.0-develop.8",
|
|
116
|
+
"@progress/kendo-angular-l10n": "25.0.0-develop.8",
|
|
117
|
+
"@progress/kendo-angular-menu": "25.0.0-develop.8",
|
|
118
|
+
"@progress/kendo-angular-popup": "25.0.0-develop.8",
|
|
119
|
+
"@progress/kendo-angular-toolbar": "25.0.0-develop.8",
|
|
120
|
+
"@progress/kendo-angular-upload": "25.0.0-develop.8",
|
|
121
121
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
122
122
|
},
|
|
123
123
|
"dependencies": {
|
|
124
124
|
"tslib": "^2.3.1",
|
|
125
|
-
"@progress/kendo-angular-schematics": "25.0.0-develop.
|
|
125
|
+
"@progress/kendo-angular-schematics": "25.0.0-develop.8"
|
|
126
126
|
},
|
|
127
127
|
"schematics": "./schematics/collection.json",
|
|
128
128
|
"module": "fesm2022/progress-kendo-angular-conversational-ui.mjs",
|