@progress/kendo-angular-conversational-ui 19.3.0-develop.15 → 19.3.0-develop.16

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.
@@ -9,8 +9,8 @@ import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/k
9
9
  import { validatePackage } from '@progress/kendo-licensing';
10
10
  import { NgIf, NgTemplateOutlet, NgFor, NgSwitch, NgSwitchCase } from '@angular/common';
11
11
  import { Keys, ResizeSensorComponent, isPresent, focusableSelector, guid, ResizeBatchService } from '@progress/kendo-angular-common';
12
- import { paperPlaneIcon, chevronLeftIcon, chevronRightIcon, sparklesIcon, commentIcon, moreHorizontalIcon, thumbUpIcon, thumbDownOutlineIcon, thumbDownIcon, thumbUpOutlineIcon, copyIcon, arrowRotateCwIcon, chevronUpIcon, chevronDownIcon } from '@progress/kendo-svg-icons';
13
- import { ButtonComponent } from '@progress/kendo-angular-buttons';
12
+ import { paperPlaneIcon, chevronLeftIcon, chevronRightIcon, sparklesIcon, commentIcon, moreHorizontalIcon, stopSmIcon, thumbUpIcon, thumbDownOutlineIcon, thumbDownIcon, thumbUpOutlineIcon, copyIcon, arrowRotateCwIcon, chevronUpIcon, chevronDownIcon } from '@progress/kendo-svg-icons';
13
+ import { ButtonComponent, FloatingActionButtonComponent, SpeechToTextButtonComponent } from '@progress/kendo-angular-buttons';
14
14
  import { TextBoxComponent, TextAreaComponent, InputSeparatorComponent, TextBoxSuffixTemplateDirective, TextAreaSuffixComponent } from '@progress/kendo-angular-inputs';
15
15
  import * as i1 from '@progress/kendo-angular-intl';
16
16
  import { fromEvent, Subscription, Subject } from 'rxjs';
@@ -136,8 +136,8 @@ const packageMetadata = {
136
136
  productName: 'Kendo UI for Angular',
137
137
  productCode: 'KENDOUIANGULAR',
138
138
  productCodes: ['KENDOUIANGULAR'],
139
- publishDate: 1753347836,
140
- version: '19.3.0-develop.15',
139
+ publishDate: 1753436095,
140
+ version: '19.3.0-develop.16',
141
141
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
142
142
  };
143
143
 
@@ -2003,6 +2003,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2003
2003
  type: Input
2004
2004
  }] } });
2005
2005
 
2006
+ /**
2007
+ * @hidden
2008
+ * Default settings for the Speech to Text button.
2009
+ * These settings can be overridden by the user.
2010
+ */
2011
+ const STB_DEFAULT_SETTINGS = {
2012
+ continuous: false,
2013
+ disabled: false,
2014
+ fillMode: 'flat',
2015
+ integrationMode: 'webSpeech',
2016
+ interimResults: false,
2017
+ lang: 'en-US',
2018
+ maxAlternatives: 1,
2019
+ rounded: 'medium',
2020
+ size: 'medium',
2021
+ themeColor: 'base'
2022
+ };
2006
2023
  /**
2007
2024
  * @hidden
2008
2025
  */
@@ -2017,6 +2034,24 @@ class AIPromptService {
2017
2034
  promptCommands;
2018
2035
  promptOutputs;
2019
2036
  promptSuggestions;
2037
+ textAreaSettings;
2038
+ outputTemplate;
2039
+ outputBodyTemplate;
2040
+ _speechToTextButton;
2041
+ get speechToTextButton() {
2042
+ return this._speechToTextButton;
2043
+ }
2044
+ set speechToTextButton(settings) {
2045
+ if (settings === true) {
2046
+ this._speechToTextButton = STB_DEFAULT_SETTINGS;
2047
+ }
2048
+ else if (settings === false) {
2049
+ this._speechToTextButton = null;
2050
+ }
2051
+ else {
2052
+ this._speechToTextButton = { ...settings };
2053
+ }
2054
+ }
2020
2055
  getFlattenPromptCommands(commands = this.promptCommands) {
2021
2056
  let newArr = [];
2022
2057
  commands.forEach(c => {
@@ -2279,6 +2314,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2279
2314
  }]
2280
2315
  }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }]; } });
2281
2316
 
2317
+ /**
2318
+ * Represents the template for the response in the AIPrompt component. The template context is set to the current output object.
2319
+ *
2320
+ * @example
2321
+ * ```html
2322
+ * <kendo-aiprompt>
2323
+ * <ng-template kendoAIPromptOutputTemplate let-output>
2324
+ * <div>{{output.prompt}}</div>
2325
+ * </ng-template>
2326
+ * </kendo-aiprompt>
2327
+ * ```
2328
+ */
2329
+ class AIPromptOutputTemplateDirective {
2330
+ templateRef;
2331
+ constructor(templateRef) {
2332
+ this.templateRef = templateRef;
2333
+ }
2334
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptOutputTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
2335
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AIPromptOutputTemplateDirective, isStandalone: true, selector: "[kendoAIPromptOutputTemplate]", ngImport: i0 });
2336
+ }
2337
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptOutputTemplateDirective, decorators: [{
2338
+ type: Directive,
2339
+ args: [{
2340
+ selector: '[kendoAIPromptOutputTemplate]',
2341
+ standalone: true
2342
+ }]
2343
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
2344
+
2345
+ /**
2346
+ * Represents the template for the body of the response in the AIPrompt component. The template context is set to the current output object.
2347
+ *
2348
+ * @example
2349
+ * ```html
2350
+ * <kendo-aiprompt>
2351
+ * <ng-template kendoAIPromptOutputBodyTemplate let-output>
2352
+ * <div>{{output.prompt}}</div>
2353
+ * </ng-template>
2354
+ * </kendo-aiprompt>
2355
+ * ```
2356
+ */
2357
+ class AIPromptOutputBodyTemplateDirective {
2358
+ templateRef;
2359
+ constructor(templateRef) {
2360
+ this.templateRef = templateRef;
2361
+ }
2362
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptOutputBodyTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
2363
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AIPromptOutputBodyTemplateDirective, isStandalone: true, selector: "[kendoAIPromptOutputBodyTemplate]", ngImport: i0 });
2364
+ }
2365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptOutputBodyTemplateDirective, decorators: [{
2366
+ type: Directive,
2367
+ args: [{
2368
+ selector: '[kendoAIPromptOutputBodyTemplate]',
2369
+ standalone: true
2370
+ }]
2371
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
2372
+
2282
2373
  /**
2283
2374
  * Represents the [Kendo UI AIPrompt component for Angular](slug:overview_aiprompt).
2284
2375
  *
@@ -2324,6 +2415,14 @@ class AIPromptComponent {
2324
2415
  * @hidden
2325
2416
  */
2326
2417
  toolbarActionsTemplate;
2418
+ /**
2419
+ * @hidden
2420
+ */
2421
+ outputTemplate;
2422
+ /**
2423
+ * @hidden
2424
+ */
2425
+ outputBodyTemplate;
2327
2426
  /**
2328
2427
  * The active view index of the AIPrompt component.
2329
2428
  */
@@ -2337,54 +2436,100 @@ class AIPromptComponent {
2337
2436
  return this._activeView;
2338
2437
  }
2339
2438
  /**
2340
- * Sets the collection of commands to render in the **Command** view.
2439
+ * Sets the collection of commands to render in the Command view.
2341
2440
  */
2342
2441
  set promptCommands(value) {
2343
2442
  this.service.promptCommands = value;
2344
2443
  }
2345
2444
  /**
2346
- * Sets the collection of suggestions to render in the **Prompt** view.
2445
+ * Sets the collection of suggestions to render in the Prompt view.
2347
2446
  */
2348
2447
  set promptSuggestions(value) {
2349
2448
  this.service.promptSuggestions = value;
2350
2449
  }
2351
2450
  /**
2352
- * Sets the collection of generated prompt outputs to render in the **Output** view.
2451
+ * Sets the collection of generated prompt outputs to render in the Output view.
2353
2452
  */
2354
2453
  set promptOutputs(value) {
2355
2454
  this.service.promptOutputs = value;
2356
2455
  }
2357
2456
  /**
2358
- * Specifies if the rating buttons appear in each **Output** view card.
2359
- * By default, the rating buttons do not appear.
2457
+ * Specifies whether the rating buttons appear in each Output view card.
2458
+ * The rating buttons do not appear by default.
2360
2459
  * @default false
2361
2460
  */
2362
2461
  set showOutputRating(value) {
2363
2462
  this.service.showOutputRating = value;
2364
2463
  }
2464
+ /**
2465
+ * Specifies whether the Stop generation button appears in the Output view.
2466
+ * The Stop generation button does not appear by default.
2467
+ * @default false
2468
+ */
2469
+ streaming = false;
2470
+ /**
2471
+ * Sets the settings for the Speech to Text button in the Prompt view.
2472
+ */
2473
+ set speechToTextButton(settings) {
2474
+ if (settings) {
2475
+ this.service.speechToTextButton = settings;
2476
+ }
2477
+ else {
2478
+ this.service.speechToTextButton = false;
2479
+ }
2480
+ }
2481
+ /**
2482
+ * Sets the settings for the TextArea in the Prompt view.
2483
+ * Use this property to customize the TextArea appearance.
2484
+ */
2485
+ set textAreaSettings(settings) {
2486
+ this.service.textAreaSettings = settings;
2487
+ }
2488
+ /**
2489
+ * Sets the SVG icon for the Generate button in the Prompt view.
2490
+ */
2491
+ generateButtonSVGIcon = sparklesIcon;
2492
+ /**
2493
+ * Sets the icon for the Generate button in the Prompt view.
2494
+ * @default 'sparkles'
2495
+ */
2496
+ generateButtonIcon = 'sparkles';
2497
+ /**
2498
+ * Sets the disabled state for the Generate button in the Prompt view.
2499
+ * @default false
2500
+ */
2501
+ disabledGenerateButton = false;
2365
2502
  /**
2366
2503
  * Fires when the `activeView` property is updated.
2367
2504
  * Use this event for two-way binding of the `activeView` property.
2368
2505
  */
2369
2506
  activeViewChange = new EventEmitter();
2370
2507
  /**
2371
- * Fires when the user clicks the **Generate** button in the **Prompt** view or the **Retry** button in the **Output** view.
2508
+ * Fires when you click the Generate button in the Prompt view or the Retry button in the Output view.
2372
2509
  * Use the event's `isRetry` field to determine the source element.
2373
2510
  */
2374
2511
  promptRequest = new EventEmitter();
2375
2512
  /**
2376
- * Fires when the user clicks a **Command** view command.
2513
+ * Fires when you click a Command view command.
2377
2514
  * The event data contains the selected command.
2378
2515
  */
2379
2516
  commandExecute = new EventEmitter();
2380
2517
  /**
2381
- * Fires when the user clicks a **Copy** button in any **Output** view card.
2518
+ * Fires when you click a Copy button in any Output view card.
2382
2519
  */
2383
2520
  outputCopy = new EventEmitter();
2384
2521
  /**
2385
- * Fires when the user clicks a rating button in any **Output** view card.
2522
+ * Fires when you click a rating button in any Output view card.
2386
2523
  */
2387
2524
  outputRatingChange = new EventEmitter();
2525
+ /**
2526
+ * Fires when you click the Stop Generation button in the Output view.
2527
+ */
2528
+ promptRequestCancel = new EventEmitter();
2529
+ ngAfterContentInit() {
2530
+ this.service.outputTemplate = this.outputTemplate;
2531
+ this.service.outputBodyTemplate = this.outputBodyTemplate;
2532
+ }
2388
2533
  ngAfterViewInit() {
2389
2534
  this.ngZone.runOutsideAngular(() => {
2390
2535
  this.service.aiPrompt = this;
@@ -2418,12 +2563,24 @@ class AIPromptComponent {
2418
2563
  * @hidden
2419
2564
  */
2420
2565
  outputIcon = commentIcon;
2566
+ /**
2567
+ * @hidden
2568
+ */
2569
+ fabStopGenerationSVGIcon = stopSmIcon;
2421
2570
  /**
2422
2571
  * @hidden
2423
2572
  */
2424
2573
  get viewsArray() {
2425
2574
  return this.views?.toArray();
2426
2575
  }
2576
+ /**
2577
+ * @hidden
2578
+ */
2579
+ fabPositionMode = 'absolute';
2580
+ /**
2581
+ * @hidden
2582
+ */
2583
+ fabAlignment = { vertical: 'bottom', horizontal: 'end' };
2427
2584
  direction;
2428
2585
  _activeView = 0;
2429
2586
  /**
@@ -2460,7 +2617,7 @@ class AIPromptComponent {
2460
2617
  this.promptRequest.emit(eventArgs);
2461
2618
  }
2462
2619
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptComponent, deps: [{ token: i1$1.LocalizationService }, { token: AIPromptService }, { token: ToolbarNavigationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
2463
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AIPromptComponent, isStandalone: true, selector: "kendo-aiprompt", inputs: { activeView: "activeView", promptCommands: "promptCommands", promptSuggestions: "promptSuggestions", promptOutputs: "promptOutputs", showOutputRating: "showOutputRating" }, outputs: { activeViewChange: "activeViewChange", promptRequest: "promptRequest", commandExecute: "commandExecute", outputCopy: "outputCopy", outputRatingChange: "outputRatingChange" }, host: { properties: { "class.k-prompt": "this.hostClasses", "attr.dir": "this.dirAttr" } }, providers: [
2620
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AIPromptComponent, isStandalone: true, selector: "kendo-aiprompt", inputs: { activeView: "activeView", promptCommands: "promptCommands", promptSuggestions: "promptSuggestions", promptOutputs: "promptOutputs", showOutputRating: "showOutputRating", streaming: "streaming", speechToTextButton: "speechToTextButton", textAreaSettings: "textAreaSettings", generateButtonSVGIcon: "generateButtonSVGIcon", generateButtonIcon: "generateButtonIcon", disabledGenerateButton: "disabledGenerateButton" }, outputs: { activeViewChange: "activeViewChange", promptRequest: "promptRequest", commandExecute: "commandExecute", outputCopy: "outputCopy", outputRatingChange: "outputRatingChange", promptRequestCancel: "promptRequestCancel" }, host: { properties: { "class.k-prompt": "this.hostClasses", "attr.dir": "this.dirAttr" } }, providers: [
2464
2621
  LocalizationService,
2465
2622
  AIPromptService,
2466
2623
  ToolbarNavigationService,
@@ -2468,7 +2625,7 @@ class AIPromptComponent {
2468
2625
  provide: L10N_PREFIX,
2469
2626
  useValue: 'kendo.aiprompt'
2470
2627
  }
2471
- ], queries: [{ propertyName: "toolbarActionsTemplate", first: true, predicate: AIPromptToolbarActionsDirective, descendants: true }, { propertyName: "views", predicate: BaseView }], exportAs: ["kendoAIPrompt"], ngImport: i0, template: `
2628
+ ], queries: [{ propertyName: "toolbarActionsTemplate", first: true, predicate: AIPromptToolbarActionsDirective, descendants: true }, { propertyName: "outputTemplate", first: true, predicate: AIPromptOutputTemplateDirective, descendants: true }, { propertyName: "outputBodyTemplate", first: true, predicate: AIPromptOutputBodyTemplateDirective, descendants: true }, { propertyName: "views", predicate: BaseView }], exportAs: ["kendoAIPrompt"], ngImport: i0, template: `
2472
2629
  <ng-container kendoAIPromptLocalizedMessages
2473
2630
  i18n-promptView="kendo.aiprompt.promptView|The Toolbar button text for the Prompt view."
2474
2631
  promptView="Ask AI"
@@ -2512,6 +2669,16 @@ class AIPromptComponent {
2512
2669
  </div>
2513
2670
  </div>
2514
2671
  <div class="k-prompt-content">
2672
+ <kendo-floatingactionbutton *ngIf="streaming && selectedView?.viewType === 'output'"
2673
+ class="k-prompt-stop-fab"
2674
+ buttonClass="k-generating k-active"
2675
+ [positionMode]="fabPositionMode"
2676
+ [align]="fabAlignment"
2677
+ [svgIcon]="fabStopGenerationSVGIcon"
2678
+ icon="stop"
2679
+ (click)="promptRequestCancel.emit()"
2680
+ >
2681
+ </kendo-floatingactionbutton>
2515
2682
  <div class="k-prompt-view">
2516
2683
  <ng-container *ngTemplateOutlet="viewTemplate">
2517
2684
  </ng-container>
@@ -2524,12 +2691,14 @@ class AIPromptComponent {
2524
2691
  type="button"
2525
2692
  themeColor="primary"
2526
2693
  rounded="full"
2527
- [svgIcon]="sparklesIcon"
2528
- icon="sparkles"
2694
+ [attr.title]="messageFor('generateOutput')"
2695
+ [svgIcon]="generateButtonSVGIcon"
2696
+ [icon]="generateButtonIcon"
2697
+ [disabled]="disabledGenerateButton"
2529
2698
  (click)="handleGenerateOutput()">{{messageFor('generateOutput')}}</button>
2530
2699
  </div>
2531
2700
  </div>
2532
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoAIPromptLocalizedMessages]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: AIPromptToolbarFocusableDirective, selector: "[kendoAIPromptToolbarFocusable]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
2701
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoAIPromptLocalizedMessages]" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: AIPromptToolbarFocusableDirective, selector: "[kendoAIPromptToolbarFocusable]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FloatingActionButtonComponent, selector: "kendo-floatingactionbutton", inputs: ["themeColor", "size", "rounded", "disabled", "align", "offset", "positionMode", "icon", "svgIcon", "iconClass", "buttonClass", "dialClass", "text", "dialItemAnimation", "tabIndex", "dialItems"], outputs: ["blur", "focus", "dialItemClick", "open", "close"] }] });
2533
2702
  }
2534
2703
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptComponent, decorators: [{
2535
2704
  type: Component,
@@ -2589,6 +2758,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2589
2758
  </div>
2590
2759
  </div>
2591
2760
  <div class="k-prompt-content">
2761
+ <kendo-floatingactionbutton *ngIf="streaming && selectedView?.viewType === 'output'"
2762
+ class="k-prompt-stop-fab"
2763
+ buttonClass="k-generating k-active"
2764
+ [positionMode]="fabPositionMode"
2765
+ [align]="fabAlignment"
2766
+ [svgIcon]="fabStopGenerationSVGIcon"
2767
+ icon="stop"
2768
+ (click)="promptRequestCancel.emit()"
2769
+ >
2770
+ </kendo-floatingactionbutton>
2592
2771
  <div class="k-prompt-view">
2593
2772
  <ng-container *ngTemplateOutlet="viewTemplate">
2594
2773
  </ng-container>
@@ -2601,14 +2780,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2601
2780
  type="button"
2602
2781
  themeColor="primary"
2603
2782
  rounded="full"
2604
- [svgIcon]="sparklesIcon"
2605
- icon="sparkles"
2783
+ [attr.title]="messageFor('generateOutput')"
2784
+ [svgIcon]="generateButtonSVGIcon"
2785
+ [icon]="generateButtonIcon"
2786
+ [disabled]="disabledGenerateButton"
2606
2787
  (click)="handleGenerateOutput()">{{messageFor('generateOutput')}}</button>
2607
2788
  </div>
2608
2789
  </div>
2609
2790
  `,
2610
2791
  standalone: true,
2611
- imports: [LocalizedMessagesDirective, NgFor, ButtonComponent, AIPromptToolbarFocusableDirective, NgIf, NgTemplateOutlet]
2792
+ imports: [LocalizedMessagesDirective, NgFor, ButtonComponent, AIPromptToolbarFocusableDirective, NgIf, NgTemplateOutlet, FloatingActionButtonComponent]
2612
2793
  }]
2613
2794
  }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }, { type: ToolbarNavigationService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
2614
2795
  type: HostBinding,
@@ -2622,6 +2803,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2622
2803
  }], toolbarActionsTemplate: [{
2623
2804
  type: ContentChild,
2624
2805
  args: [AIPromptToolbarActionsDirective]
2806
+ }], outputTemplate: [{
2807
+ type: ContentChild,
2808
+ args: [AIPromptOutputTemplateDirective]
2809
+ }], outputBodyTemplate: [{
2810
+ type: ContentChild,
2811
+ args: [AIPromptOutputBodyTemplateDirective]
2625
2812
  }], activeView: [{
2626
2813
  type: Input
2627
2814
  }], promptCommands: [{
@@ -2632,6 +2819,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2632
2819
  type: Input
2633
2820
  }], showOutputRating: [{
2634
2821
  type: Input
2822
+ }], streaming: [{
2823
+ type: Input
2824
+ }], speechToTextButton: [{
2825
+ type: Input
2826
+ }], textAreaSettings: [{
2827
+ type: Input
2828
+ }], generateButtonSVGIcon: [{
2829
+ type: Input
2830
+ }], generateButtonIcon: [{
2831
+ type: Input
2832
+ }], disabledGenerateButton: [{
2833
+ type: Input
2635
2834
  }], activeViewChange: [{
2636
2835
  type: Output
2637
2836
  }], promptRequest: [{
@@ -2642,6 +2841,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2642
2841
  type: Output
2643
2842
  }], outputRatingChange: [{
2644
2843
  type: Output
2844
+ }], promptRequestCancel: [{
2845
+ type: Output
2645
2846
  }] } });
2646
2847
 
2647
2848
  /**
@@ -2906,6 +3107,12 @@ class AIPromptOutputCardComponent {
2906
3107
  this.positiveRatingIcon = thumbUpOutlineIcon;
2907
3108
  }
2908
3109
  }
3110
+ /**
3111
+ * @hidden
3112
+ */
3113
+ get customBodyTemplate() {
3114
+ return this.service.outputBodyTemplate?.templateRef;
3115
+ }
2909
3116
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptOutputCardComponent, deps: [{ token: i1$1.LocalizationService }, { token: AIPromptService }], target: i0.ɵɵFactoryTarget.Component });
2910
3117
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AIPromptOutputCardComponent, isStandalone: true, selector: "[kendoAIPromptOutputCard]", inputs: { promptOutput: "promptOutput" }, host: { properties: { "class.k-card": "this.hostClass", "attr.role": "this.listItemRole", "attr.tabindex": "this.tabIndex", "attr.aria-describedby": "this.ariaDescribedBy", "attr.aria-keyshortcuts": "this.ariaKeyShortcuts" } }, ngImport: i0, template: `
2911
3118
  <div class="k-card-header">
@@ -2916,7 +3123,13 @@ class AIPromptOutputCardComponent {
2916
3123
  <div class="k-card-subtitle">{{promptOutput.prompt}}</div>
2917
3124
  </div>
2918
3125
  <div class="k-card-body">
2919
- <p>{{promptOutput.output}}</p>
3126
+ <ng-container *ngIf="customBodyTemplate; else defaultTemplate">
3127
+ <ng-container *ngTemplateOutlet="customBodyTemplate; context: { $implicit: promptOutput }">
3128
+ </ng-container>
3129
+ </ng-container>
3130
+ <ng-template #defaultTemplate>
3131
+ <p>{{promptOutput.output}}</p>
3132
+ </ng-template>
2920
3133
  </div>
2921
3134
  <div class="k-actions k-actions-start k-actions-horizontal k-card-actions">
2922
3135
  <button kendoButton
@@ -2950,7 +3163,7 @@ class AIPromptOutputCardComponent {
2950
3163
  </button>
2951
3164
  </ng-container>
2952
3165
  </div>
2953
- `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3166
+ `, isInline: true, dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
2954
3167
  }
2955
3168
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptOutputCardComponent, decorators: [{
2956
3169
  type: Component,
@@ -2965,7 +3178,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
2965
3178
  <div class="k-card-subtitle">{{promptOutput.prompt}}</div>
2966
3179
  </div>
2967
3180
  <div class="k-card-body">
2968
- <p>{{promptOutput.output}}</p>
3181
+ <ng-container *ngIf="customBodyTemplate; else defaultTemplate">
3182
+ <ng-container *ngTemplateOutlet="customBodyTemplate; context: { $implicit: promptOutput }">
3183
+ </ng-container>
3184
+ </ng-container>
3185
+ <ng-template #defaultTemplate>
3186
+ <p>{{promptOutput.output}}</p>
3187
+ </ng-template>
2969
3188
  </div>
2970
3189
  <div class="k-actions k-actions-start k-actions-horizontal k-card-actions">
2971
3190
  <button kendoButton
@@ -3001,7 +3220,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3001
3220
  </div>
3002
3221
  `,
3003
3222
  standalone: true,
3004
- imports: [ButtonComponent, NgIf]
3223
+ imports: [ButtonComponent, NgIf, NgTemplateOutlet]
3005
3224
  }]
3006
3225
  }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }]; }, propDecorators: { hostClass: [{
3007
3226
  type: HostBinding,
@@ -3044,6 +3263,12 @@ class OutputViewComponent extends BaseView {
3044
3263
  get promptOutputs() {
3045
3264
  return this.service.promptOutputs;
3046
3265
  }
3266
+ /**
3267
+ * @hidden
3268
+ */
3269
+ get customTemplate() {
3270
+ return this.service.outputTemplate?.templateRef;
3271
+ }
3047
3272
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutputViewComponent, deps: [{ token: i1$1.LocalizationService }, { token: AIPromptService }], target: i0.ɵɵFactoryTarget.Component });
3048
3273
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OutputViewComponent, isStandalone: true, selector: "kendo-aiprompt-output-view", providers: [{
3049
3274
  provide: BaseView,
@@ -3053,13 +3278,18 @@ class OutputViewComponent extends BaseView {
3053
3278
  <div
3054
3279
  class="k-card-list"
3055
3280
  role="list">
3056
- <div *ngFor="let output of promptOutputs"
3057
- kendoAIPromptOutputCard
3058
- [promptOutput]="output">
3059
- </div>
3281
+ <ng-container *ngFor="let output of promptOutputs">
3282
+ <ng-container *ngIf="customTemplate; else defaultTemplate">
3283
+ <ng-container *ngTemplateOutlet="customTemplate; context: { $implicit: output }">
3284
+ </ng-container>
3285
+ </ng-container>
3286
+ <ng-template #defaultTemplate>
3287
+ <div kendoAIPromptOutputCard [promptOutput]="output"></div>
3288
+ </ng-template>
3289
+ </ng-container>
3060
3290
  </div>
3061
3291
  </ng-template>
3062
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AIPromptOutputCardComponent, selector: "[kendoAIPromptOutputCard]", inputs: ["promptOutput"] }] });
3292
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AIPromptOutputCardComponent, selector: "[kendoAIPromptOutputCard]", inputs: ["promptOutput"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
3063
3293
  }
3064
3294
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutputViewComponent, decorators: [{
3065
3295
  type: Component,
@@ -3074,15 +3304,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3074
3304
  <div
3075
3305
  class="k-card-list"
3076
3306
  role="list">
3077
- <div *ngFor="let output of promptOutputs"
3078
- kendoAIPromptOutputCard
3079
- [promptOutput]="output">
3080
- </div>
3307
+ <ng-container *ngFor="let output of promptOutputs">
3308
+ <ng-container *ngIf="customTemplate; else defaultTemplate">
3309
+ <ng-container *ngTemplateOutlet="customTemplate; context: { $implicit: output }">
3310
+ </ng-container>
3311
+ </ng-container>
3312
+ <ng-template #defaultTemplate>
3313
+ <div kendoAIPromptOutputCard [promptOutput]="output"></div>
3314
+ </ng-template>
3315
+ </ng-container>
3081
3316
  </div>
3082
3317
  </ng-template>
3083
3318
  `,
3084
3319
  standalone: true,
3085
- imports: [NgFor, AIPromptOutputCardComponent]
3320
+ imports: [NgFor, AIPromptOutputCardComponent, NgIf, NgTemplateOutlet]
3086
3321
  }]
3087
3322
  }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }]; } });
3088
3323
 
@@ -3140,6 +3375,34 @@ class PromptViewComponent extends BaseView {
3140
3375
  suggestionClick(suggestion) {
3141
3376
  this.textAreaValue = this.service.promptValue = suggestion;
3142
3377
  }
3378
+ /**
3379
+ * @hidden
3380
+ */
3381
+ get speechToTextButtonSettings() {
3382
+ return this.service.speechToTextButton;
3383
+ }
3384
+ /**
3385
+ * @hidden
3386
+ */
3387
+ get textareaSettings() {
3388
+ return this.service.textAreaSettings;
3389
+ }
3390
+ /**
3391
+ * @hidden
3392
+ */
3393
+ onSpeechToTextResult(event) {
3394
+ if (event.alternatives && event.alternatives.length > 0) {
3395
+ this.textAreaValue += event.alternatives[0].transcript + ' ';
3396
+ }
3397
+ }
3398
+ /**
3399
+ * @hidden
3400
+ */
3401
+ onSpeechToTextError(event) {
3402
+ if (isDevMode()) {
3403
+ console.error('Speech to Text error:', event.errorMessage);
3404
+ }
3405
+ }
3143
3406
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PromptViewComponent, deps: [{ token: i1$1.LocalizationService }, { token: AIPromptService }], target: i0.ɵɵFactoryTarget.Component });
3144
3407
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PromptViewComponent, isStandalone: true, selector: "kendo-aiprompt-prompt-view", providers: [
3145
3408
  {
@@ -3149,9 +3412,40 @@ class PromptViewComponent extends BaseView {
3149
3412
  ], usesInheritance: true, ngImport: i0, template: `
3150
3413
  <ng-template #content>
3151
3414
  <kendo-textarea
3152
- [placeholder]="messageFor('promptPlaceholder')"
3153
- [rows]="1"
3154
- [(value)]="textAreaValue">
3415
+ [cols]="textareaSettings?.cols"
3416
+ [disabled]="textareaSettings?.disabled"
3417
+ [fillMode]="textareaSettings?.fillMode"
3418
+ [flow]="textareaSettings?.flow ?? 'vertical'"
3419
+ [inputAttributes]="textareaSettings?.inputAttributes"
3420
+ [maxlength]="textareaSettings?.maxlength"
3421
+ [placeholder]="textareaSettings?.placeholder ?? messageFor('promptPlaceholder')"
3422
+ [readonly]="textareaSettings?.readonly"
3423
+ [resizable]="textareaSettings?.resizable ?? 'vertical'"
3424
+ [rounded]="textareaSettings?.rounded"
3425
+ [rows]="textareaSettings?.rows ?? 1"
3426
+ [selectOnFocus]="textareaSettings?.selectOnFocus"
3427
+ [showSuffixSeparator]="textareaSettings?.showSuffixSeparator ?? true"
3428
+ [size]="textareaSettings?.size"
3429
+ [tabIndex]="textareaSettings?.tabindex"
3430
+ [title]="textareaSettings?.title"
3431
+ [(value)]="textAreaValue"
3432
+ >
3433
+ <kendo-textarea-suffix *ngIf="speechToTextButtonSettings">
3434
+ <button kendoSpeechToTextButton
3435
+ [continuous]="speechToTextButtonSettings?.continuous"
3436
+ [disabled]="speechToTextButtonSettings?.disabled"
3437
+ [fillMode]="speechToTextButtonSettings?.fillMode ?? 'flat'"
3438
+ [integrationMode]="speechToTextButtonSettings?.integrationMode ?? 'webSpeech'"
3439
+ [interimResults]="speechToTextButtonSettings?.interimResults"
3440
+ [lang]="speechToTextButtonSettings?.lang"
3441
+ [maxAlternatives]="speechToTextButtonSettings?.maxAlternatives"
3442
+ [rounded]="speechToTextButtonSettings?.rounded"
3443
+ [size]="speechToTextButtonSettings?.size"
3444
+ [themeColor]="speechToTextButtonSettings?.themeColor"
3445
+ (error)="onSpeechToTextError($event)"
3446
+ (result)="onSpeechToTextResult($event)"
3447
+ ></button>
3448
+ </kendo-textarea-suffix>
3155
3449
  </kendo-textarea>
3156
3450
  <div *ngIf="promptSuggestions"
3157
3451
  class="k-prompt-expander">
@@ -3169,16 +3463,18 @@ class PromptViewComponent extends BaseView {
3169
3463
  class="k-prompt-expander-content"
3170
3464
  role="list"
3171
3465
  [attr.id]="contentId">
3172
- <div *ngFor="let suggestion of promptSuggestions"
3173
- class="k-prompt-suggestion"
3174
- role="listitem"
3175
- (click)="suggestionClick(suggestion)">
3176
- {{suggestion}}
3466
+ <div class="k-suggestion-group">
3467
+ <div *ngFor="let suggestion of promptSuggestions"
3468
+ class="k-suggestion"
3469
+ role="listitem"
3470
+ (click)="suggestionClick(suggestion)">
3471
+ {{suggestion}}
3472
+ </div>
3177
3473
  </div>
3178
3474
  </div>
3179
3475
  </div>
3180
3476
  </ng-template>
3181
- `, isInline: true, dependencies: [{ kind: "component", type: TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "inputAttributes", "adornmentsOrientation", "rows", "cols", "maxlength", "tabindex", "tabIndex", "resizable", "size", "rounded", "fillMode", "showPrefixSeparator", "showSuffixSeparator"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoTextArea"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
3477
+ `, isInline: true, dependencies: [{ kind: "component", type: TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "inputAttributes", "adornmentsOrientation", "rows", "cols", "maxlength", "tabindex", "tabIndex", "resizable", "size", "rounded", "fillMode", "showPrefixSeparator", "showSuffixSeparator"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoTextArea"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TextAreaSuffixComponent, selector: "kendo-textarea-suffix", inputs: ["flow", "orientation"], exportAs: ["kendoTextAreaSuffix"] }, { kind: "component", type: SpeechToTextButtonComponent, selector: "button[kendoSpeechToTextButton]", inputs: ["disabled", "size", "rounded", "fillMode", "themeColor", "integrationMode", "lang", "continuous", "interimResults", "maxAlternatives"], outputs: ["start", "end", "result", "error", "click"], exportAs: ["kendoSpeechToTextButton"] }] });
3182
3478
  }
3183
3479
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PromptViewComponent, decorators: [{
3184
3480
  type: Component,
@@ -3193,9 +3489,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3193
3489
  template: `
3194
3490
  <ng-template #content>
3195
3491
  <kendo-textarea
3196
- [placeholder]="messageFor('promptPlaceholder')"
3197
- [rows]="1"
3198
- [(value)]="textAreaValue">
3492
+ [cols]="textareaSettings?.cols"
3493
+ [disabled]="textareaSettings?.disabled"
3494
+ [fillMode]="textareaSettings?.fillMode"
3495
+ [flow]="textareaSettings?.flow ?? 'vertical'"
3496
+ [inputAttributes]="textareaSettings?.inputAttributes"
3497
+ [maxlength]="textareaSettings?.maxlength"
3498
+ [placeholder]="textareaSettings?.placeholder ?? messageFor('promptPlaceholder')"
3499
+ [readonly]="textareaSettings?.readonly"
3500
+ [resizable]="textareaSettings?.resizable ?? 'vertical'"
3501
+ [rounded]="textareaSettings?.rounded"
3502
+ [rows]="textareaSettings?.rows ?? 1"
3503
+ [selectOnFocus]="textareaSettings?.selectOnFocus"
3504
+ [showSuffixSeparator]="textareaSettings?.showSuffixSeparator ?? true"
3505
+ [size]="textareaSettings?.size"
3506
+ [tabIndex]="textareaSettings?.tabindex"
3507
+ [title]="textareaSettings?.title"
3508
+ [(value)]="textAreaValue"
3509
+ >
3510
+ <kendo-textarea-suffix *ngIf="speechToTextButtonSettings">
3511
+ <button kendoSpeechToTextButton
3512
+ [continuous]="speechToTextButtonSettings?.continuous"
3513
+ [disabled]="speechToTextButtonSettings?.disabled"
3514
+ [fillMode]="speechToTextButtonSettings?.fillMode ?? 'flat'"
3515
+ [integrationMode]="speechToTextButtonSettings?.integrationMode ?? 'webSpeech'"
3516
+ [interimResults]="speechToTextButtonSettings?.interimResults"
3517
+ [lang]="speechToTextButtonSettings?.lang"
3518
+ [maxAlternatives]="speechToTextButtonSettings?.maxAlternatives"
3519
+ [rounded]="speechToTextButtonSettings?.rounded"
3520
+ [size]="speechToTextButtonSettings?.size"
3521
+ [themeColor]="speechToTextButtonSettings?.themeColor"
3522
+ (error)="onSpeechToTextError($event)"
3523
+ (result)="onSpeechToTextResult($event)"
3524
+ ></button>
3525
+ </kendo-textarea-suffix>
3199
3526
  </kendo-textarea>
3200
3527
  <div *ngIf="promptSuggestions"
3201
3528
  class="k-prompt-expander">
@@ -3213,18 +3540,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3213
3540
  class="k-prompt-expander-content"
3214
3541
  role="list"
3215
3542
  [attr.id]="contentId">
3216
- <div *ngFor="let suggestion of promptSuggestions"
3217
- class="k-prompt-suggestion"
3218
- role="listitem"
3219
- (click)="suggestionClick(suggestion)">
3220
- {{suggestion}}
3543
+ <div class="k-suggestion-group">
3544
+ <div *ngFor="let suggestion of promptSuggestions"
3545
+ class="k-suggestion"
3546
+ role="listitem"
3547
+ (click)="suggestionClick(suggestion)">
3548
+ {{suggestion}}
3549
+ </div>
3221
3550
  </div>
3222
3551
  </div>
3223
3552
  </div>
3224
3553
  </ng-template>
3225
3554
  `,
3226
3555
  standalone: true,
3227
- imports: [TextAreaComponent, NgIf, ButtonComponent, NgFor]
3556
+ imports: [TextAreaComponent, NgIf, ButtonComponent, NgFor, TextAreaSuffixComponent, SpeechToTextButtonComponent]
3228
3557
  }]
3229
3558
  }], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }]; } });
3230
3559
 
@@ -3411,7 +3740,9 @@ const KENDO_AIPROMPT = [
3411
3740
  CustomViewComponent,
3412
3741
  AIPromptCustomMessagesComponent,
3413
3742
  AIPromptToolbarActionsDirective,
3414
- AIPromptToolbarFocusableDirective
3743
+ AIPromptToolbarFocusableDirective,
3744
+ AIPromptOutputTemplateDirective,
3745
+ AIPromptOutputBodyTemplateDirective,
3415
3746
  ];
3416
3747
  /**
3417
3748
  * Utility array that contains all Chat related components and directives.
@@ -3484,7 +3815,7 @@ const KENDO_CONVERSATIONALUI = [
3484
3815
  */
3485
3816
  class AIPromptModule {
3486
3817
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3487
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AIPromptModule, imports: [AIPromptComponent, PromptViewComponent, OutputViewComponent, CommandViewComponent, CustomViewComponent, AIPromptCustomMessagesComponent, AIPromptToolbarActionsDirective, AIPromptToolbarFocusableDirective], exports: [AIPromptComponent, PromptViewComponent, OutputViewComponent, CommandViewComponent, CustomViewComponent, AIPromptCustomMessagesComponent, AIPromptToolbarActionsDirective, AIPromptToolbarFocusableDirective] });
3818
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AIPromptModule, imports: [AIPromptComponent, PromptViewComponent, OutputViewComponent, CommandViewComponent, CustomViewComponent, AIPromptCustomMessagesComponent, AIPromptToolbarActionsDirective, AIPromptToolbarFocusableDirective, AIPromptOutputTemplateDirective, AIPromptOutputBodyTemplateDirective], exports: [AIPromptComponent, PromptViewComponent, OutputViewComponent, CommandViewComponent, CustomViewComponent, AIPromptCustomMessagesComponent, AIPromptToolbarActionsDirective, AIPromptToolbarFocusableDirective, AIPromptOutputTemplateDirective, AIPromptOutputBodyTemplateDirective] });
3488
3819
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptModule, providers: [IconsService, PopupService, ResizeBatchService, DialogContainerService, DialogService, WindowService, WindowContainerService], imports: [AIPromptComponent, PromptViewComponent, OutputViewComponent, CommandViewComponent] });
3489
3820
  }
3490
3821
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptModule, decorators: [{
@@ -3553,7 +3884,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3553
3884
  */
3554
3885
  class ConversationalUIModule {
3555
3886
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3556
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, imports: [AIPromptComponent, PromptViewComponent, OutputViewComponent, CommandViewComponent, CustomViewComponent, AIPromptCustomMessagesComponent, AIPromptToolbarActionsDirective, AIPromptToolbarFocusableDirective, ChatComponent, CustomMessagesComponent, AttachmentTemplateDirective, MessageTemplateDirective, HeroCardComponent, ChatMessageBoxTemplateDirective], exports: [AIPromptComponent, PromptViewComponent, OutputViewComponent, CommandViewComponent, CustomViewComponent, AIPromptCustomMessagesComponent, AIPromptToolbarActionsDirective, AIPromptToolbarFocusableDirective, ChatComponent, CustomMessagesComponent, AttachmentTemplateDirective, MessageTemplateDirective, HeroCardComponent, ChatMessageBoxTemplateDirective] });
3887
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, imports: [AIPromptComponent, PromptViewComponent, OutputViewComponent, CommandViewComponent, CustomViewComponent, AIPromptCustomMessagesComponent, AIPromptToolbarActionsDirective, AIPromptToolbarFocusableDirective, AIPromptOutputTemplateDirective, AIPromptOutputBodyTemplateDirective, ChatComponent, CustomMessagesComponent, AttachmentTemplateDirective, MessageTemplateDirective, HeroCardComponent, ChatMessageBoxTemplateDirective], exports: [AIPromptComponent, PromptViewComponent, OutputViewComponent, CommandViewComponent, CustomViewComponent, AIPromptCustomMessagesComponent, AIPromptToolbarActionsDirective, AIPromptToolbarFocusableDirective, AIPromptOutputTemplateDirective, AIPromptOutputBodyTemplateDirective, ChatComponent, CustomMessagesComponent, AttachmentTemplateDirective, MessageTemplateDirective, HeroCardComponent, ChatMessageBoxTemplateDirective] });
3557
3888
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, providers: [IconsService, PopupService, ResizeBatchService, DialogContainerService, DialogService, WindowService, WindowContainerService], imports: [AIPromptComponent, PromptViewComponent, OutputViewComponent, CommandViewComponent, ChatComponent, HeroCardComponent] });
3558
3889
  }
3559
3890
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, decorators: [{
@@ -3569,5 +3900,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
3569
3900
  * Generated bundle index. Do not edit.
3570
3901
  */
3571
3902
 
3572
- export { AIPromptComponent, AIPromptCustomMessagesComponent, AIPromptModule, AIPromptToolbarActionsDirective, AIPromptToolbarFocusableDirective, AttachmentTemplateDirective, ChatComponent, ChatMessageBoxTemplateDirective, ChatModule, CommandViewComponent, ConversationalUIModule, CustomMessagesComponent, CustomViewComponent, ExecuteActionEvent, HeroCardComponent, KENDO_AIPROMPT, KENDO_CHAT, KENDO_CONVERSATIONALUI, MessageTemplateDirective, OutputViewComponent, PromptViewComponent, SendMessageEvent };
3903
+ export { AIPromptComponent, AIPromptCustomMessagesComponent, AIPromptModule, AIPromptOutputBodyTemplateDirective, AIPromptOutputTemplateDirective, AIPromptToolbarActionsDirective, AIPromptToolbarFocusableDirective, AttachmentTemplateDirective, ChatComponent, ChatMessageBoxTemplateDirective, ChatModule, CommandViewComponent, ConversationalUIModule, CustomMessagesComponent, CustomViewComponent, ExecuteActionEvent, HeroCardComponent, KENDO_AIPROMPT, KENDO_CHAT, KENDO_CONVERSATIONALUI, MessageTemplateDirective, OutputViewComponent, PromptViewComponent, SendMessageEvent };
3573
3904