@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.
@@ -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, xIcon, moreVerticalIcon, chevronLeftIcon, chevronRightIcon, warningTriangleIcon, pinIcon, arrowDownIcon, cancelIcon, menuIcon, paperPlaneIcon } from '@progress/kendo-svg-icons';
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: 1784618893,
219
- version: '25.0.0-develop.7',
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 k-toolbar-md"
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 k-toolbar-md"
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
- * The aria-label for the internal input/textarea element.
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 = xIcon;
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-typing-indicator" [attr.tabindex]="'-1'">
7608
- <span></span>
7609
- <span></span>
7610
- <span></span>
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-typing-indicator" [attr.tabindex]="'-1'">
7825
- <span></span>
7826
- <span></span>
7827
- <span></span>
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 = xIcon;
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
- * The aria-label for the internal input/textarea element.
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
  /**
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1784618893,
11
- "version": "25.0.0-develop.7",
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.7",
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": 1784618893,
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.7",
111
- "@progress/kendo-angular-inputs": "25.0.0-develop.7",
112
- "@progress/kendo-angular-layout": "25.0.0-develop.7",
113
- "@progress/kendo-angular-icons": "25.0.0-develop.7",
114
- "@progress/kendo-angular-common": "25.0.0-develop.7",
115
- "@progress/kendo-angular-intl": "25.0.0-develop.7",
116
- "@progress/kendo-angular-l10n": "25.0.0-develop.7",
117
- "@progress/kendo-angular-menu": "25.0.0-develop.7",
118
- "@progress/kendo-angular-popup": "25.0.0-develop.7",
119
- "@progress/kendo-angular-toolbar": "25.0.0-develop.7",
120
- "@progress/kendo-angular-upload": "25.0.0-develop.7",
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.7"
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",