@progress/kendo-angular-conversational-ui 19.3.0-develop.15 → 19.3.0-develop.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai-prompt/aiprompt.component.d.ts +70 -12
- package/ai-prompt/aiprompt.module.d.ts +3 -1
- package/ai-prompt/common/aiprompt.service.d.ts +10 -0
- package/ai-prompt/common/output-card.component.d.ts +4 -0
- package/ai-prompt/templates/aiprompt-output-body-template.directive.d.ts +24 -0
- package/ai-prompt/templates/aiprompt-output-template.directive.d.ts +24 -0
- package/ai-prompt/views/output-view.component.d.ts +4 -0
- package/ai-prompt/views/prompt-view.component.d.ts +19 -1
- package/conversational-ui.module.d.ts +9 -7
- package/directives.d.ts +4 -2
- package/esm2022/ai-prompt/aiprompt.component.mjs +135 -19
- package/esm2022/ai-prompt/aiprompt.module.mjs +3 -1
- package/esm2022/ai-prompt/common/aiprompt.service.mjs +35 -0
- package/esm2022/ai-prompt/common/output-card.component.mjs +23 -5
- package/esm2022/ai-prompt/templates/aiprompt-output-body-template.directive.mjs +33 -0
- package/esm2022/ai-prompt/templates/aiprompt-output-template.directive.mjs +33 -0
- package/esm2022/ai-prompt/views/output-view.component.mjs +27 -11
- package/esm2022/ai-prompt/views/prompt-view.component.mjs +115 -21
- package/esm2022/conversational-ui.module.mjs +10 -8
- package/esm2022/directives.mjs +5 -1
- package/esm2022/index.mjs +2 -0
- package/esm2022/package-metadata.mjs +2 -2
- package/fesm2022/progress-kendo-angular-conversational-ui.mjs +392 -57
- package/index.d.ts +2 -0
- package/package.json +11 -11
@@ -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:
|
140
|
-
version: '19.3.0-develop.
|
139
|
+
publishDate: 1753856987,
|
140
|
+
version: '19.3.0-develop.17',
|
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,104 @@ class AIPromptComponent {
|
|
2337
2436
|
return this._activeView;
|
2338
2437
|
}
|
2339
2438
|
/**
|
2340
|
-
* Sets the collection of commands to render in the
|
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
|
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
|
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
|
2359
|
-
*
|
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
|
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
|
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
|
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
|
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
|
+
ngAfterContentChecked() {
|
2530
|
+
if (this.outputTemplate !== this.service.outputTemplate) {
|
2531
|
+
this.service.outputTemplate = this.outputTemplate;
|
2532
|
+
}
|
2533
|
+
if (this.outputBodyTemplate !== this.service.outputBodyTemplate) {
|
2534
|
+
this.service.outputBodyTemplate = this.outputBodyTemplate;
|
2535
|
+
}
|
2536
|
+
}
|
2388
2537
|
ngAfterViewInit() {
|
2389
2538
|
this.ngZone.runOutsideAngular(() => {
|
2390
2539
|
this.service.aiPrompt = this;
|
@@ -2418,12 +2567,24 @@ class AIPromptComponent {
|
|
2418
2567
|
* @hidden
|
2419
2568
|
*/
|
2420
2569
|
outputIcon = commentIcon;
|
2570
|
+
/**
|
2571
|
+
* @hidden
|
2572
|
+
*/
|
2573
|
+
fabStopGenerationSVGIcon = stopSmIcon;
|
2421
2574
|
/**
|
2422
2575
|
* @hidden
|
2423
2576
|
*/
|
2424
2577
|
get viewsArray() {
|
2425
2578
|
return this.views?.toArray();
|
2426
2579
|
}
|
2580
|
+
/**
|
2581
|
+
* @hidden
|
2582
|
+
*/
|
2583
|
+
fabPositionMode = 'absolute';
|
2584
|
+
/**
|
2585
|
+
* @hidden
|
2586
|
+
*/
|
2587
|
+
fabAlignment = { vertical: 'bottom', horizontal: 'end' };
|
2427
2588
|
direction;
|
2428
2589
|
_activeView = 0;
|
2429
2590
|
/**
|
@@ -2460,7 +2621,7 @@ class AIPromptComponent {
|
|
2460
2621
|
this.promptRequest.emit(eventArgs);
|
2461
2622
|
}
|
2462
2623
|
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: [
|
2624
|
+
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
2625
|
LocalizationService,
|
2465
2626
|
AIPromptService,
|
2466
2627
|
ToolbarNavigationService,
|
@@ -2468,7 +2629,7 @@ class AIPromptComponent {
|
|
2468
2629
|
provide: L10N_PREFIX,
|
2469
2630
|
useValue: 'kendo.aiprompt'
|
2470
2631
|
}
|
2471
|
-
], queries: [{ propertyName: "toolbarActionsTemplate", first: true, predicate: AIPromptToolbarActionsDirective, descendants: true }, { propertyName: "views", predicate: BaseView }], exportAs: ["kendoAIPrompt"], ngImport: i0, template: `
|
2632
|
+
], 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
2633
|
<ng-container kendoAIPromptLocalizedMessages
|
2473
2634
|
i18n-promptView="kendo.aiprompt.promptView|The Toolbar button text for the Prompt view."
|
2474
2635
|
promptView="Ask AI"
|
@@ -2512,6 +2673,16 @@ class AIPromptComponent {
|
|
2512
2673
|
</div>
|
2513
2674
|
</div>
|
2514
2675
|
<div class="k-prompt-content">
|
2676
|
+
<kendo-floatingactionbutton *ngIf="streaming && selectedView?.viewType === 'output'"
|
2677
|
+
class="k-prompt-stop-fab"
|
2678
|
+
buttonClass="k-generating k-active"
|
2679
|
+
[positionMode]="fabPositionMode"
|
2680
|
+
[align]="fabAlignment"
|
2681
|
+
[svgIcon]="fabStopGenerationSVGIcon"
|
2682
|
+
icon="stop"
|
2683
|
+
(click)="promptRequestCancel.emit()"
|
2684
|
+
>
|
2685
|
+
</kendo-floatingactionbutton>
|
2515
2686
|
<div class="k-prompt-view">
|
2516
2687
|
<ng-container *ngTemplateOutlet="viewTemplate">
|
2517
2688
|
</ng-container>
|
@@ -2524,12 +2695,14 @@ class AIPromptComponent {
|
|
2524
2695
|
type="button"
|
2525
2696
|
themeColor="primary"
|
2526
2697
|
rounded="full"
|
2527
|
-
[
|
2528
|
-
|
2698
|
+
[attr.title]="messageFor('generateOutput')"
|
2699
|
+
[svgIcon]="generateButtonSVGIcon"
|
2700
|
+
[icon]="generateButtonIcon"
|
2701
|
+
[disabled]="disabledGenerateButton"
|
2529
2702
|
(click)="handleGenerateOutput()">{{messageFor('generateOutput')}}</button>
|
2530
2703
|
</div>
|
2531
2704
|
</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"] }] });
|
2705
|
+
`, 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
2706
|
}
|
2534
2707
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptComponent, decorators: [{
|
2535
2708
|
type: Component,
|
@@ -2589,6 +2762,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2589
2762
|
</div>
|
2590
2763
|
</div>
|
2591
2764
|
<div class="k-prompt-content">
|
2765
|
+
<kendo-floatingactionbutton *ngIf="streaming && selectedView?.viewType === 'output'"
|
2766
|
+
class="k-prompt-stop-fab"
|
2767
|
+
buttonClass="k-generating k-active"
|
2768
|
+
[positionMode]="fabPositionMode"
|
2769
|
+
[align]="fabAlignment"
|
2770
|
+
[svgIcon]="fabStopGenerationSVGIcon"
|
2771
|
+
icon="stop"
|
2772
|
+
(click)="promptRequestCancel.emit()"
|
2773
|
+
>
|
2774
|
+
</kendo-floatingactionbutton>
|
2592
2775
|
<div class="k-prompt-view">
|
2593
2776
|
<ng-container *ngTemplateOutlet="viewTemplate">
|
2594
2777
|
</ng-container>
|
@@ -2601,14 +2784,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2601
2784
|
type="button"
|
2602
2785
|
themeColor="primary"
|
2603
2786
|
rounded="full"
|
2604
|
-
[
|
2605
|
-
|
2787
|
+
[attr.title]="messageFor('generateOutput')"
|
2788
|
+
[svgIcon]="generateButtonSVGIcon"
|
2789
|
+
[icon]="generateButtonIcon"
|
2790
|
+
[disabled]="disabledGenerateButton"
|
2606
2791
|
(click)="handleGenerateOutput()">{{messageFor('generateOutput')}}</button>
|
2607
2792
|
</div>
|
2608
2793
|
</div>
|
2609
2794
|
`,
|
2610
2795
|
standalone: true,
|
2611
|
-
imports: [LocalizedMessagesDirective, NgFor, ButtonComponent, AIPromptToolbarFocusableDirective, NgIf, NgTemplateOutlet]
|
2796
|
+
imports: [LocalizedMessagesDirective, NgFor, ButtonComponent, AIPromptToolbarFocusableDirective, NgIf, NgTemplateOutlet, FloatingActionButtonComponent]
|
2612
2797
|
}]
|
2613
2798
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }, { type: ToolbarNavigationService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
|
2614
2799
|
type: HostBinding,
|
@@ -2622,6 +2807,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2622
2807
|
}], toolbarActionsTemplate: [{
|
2623
2808
|
type: ContentChild,
|
2624
2809
|
args: [AIPromptToolbarActionsDirective]
|
2810
|
+
}], outputTemplate: [{
|
2811
|
+
type: ContentChild,
|
2812
|
+
args: [AIPromptOutputTemplateDirective]
|
2813
|
+
}], outputBodyTemplate: [{
|
2814
|
+
type: ContentChild,
|
2815
|
+
args: [AIPromptOutputBodyTemplateDirective]
|
2625
2816
|
}], activeView: [{
|
2626
2817
|
type: Input
|
2627
2818
|
}], promptCommands: [{
|
@@ -2632,6 +2823,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2632
2823
|
type: Input
|
2633
2824
|
}], showOutputRating: [{
|
2634
2825
|
type: Input
|
2826
|
+
}], streaming: [{
|
2827
|
+
type: Input
|
2828
|
+
}], speechToTextButton: [{
|
2829
|
+
type: Input
|
2830
|
+
}], textAreaSettings: [{
|
2831
|
+
type: Input
|
2832
|
+
}], generateButtonSVGIcon: [{
|
2833
|
+
type: Input
|
2834
|
+
}], generateButtonIcon: [{
|
2835
|
+
type: Input
|
2836
|
+
}], disabledGenerateButton: [{
|
2837
|
+
type: Input
|
2635
2838
|
}], activeViewChange: [{
|
2636
2839
|
type: Output
|
2637
2840
|
}], promptRequest: [{
|
@@ -2642,6 +2845,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2642
2845
|
type: Output
|
2643
2846
|
}], outputRatingChange: [{
|
2644
2847
|
type: Output
|
2848
|
+
}], promptRequestCancel: [{
|
2849
|
+
type: Output
|
2645
2850
|
}] } });
|
2646
2851
|
|
2647
2852
|
/**
|
@@ -2906,6 +3111,12 @@ class AIPromptOutputCardComponent {
|
|
2906
3111
|
this.positiveRatingIcon = thumbUpOutlineIcon;
|
2907
3112
|
}
|
2908
3113
|
}
|
3114
|
+
/**
|
3115
|
+
* @hidden
|
3116
|
+
*/
|
3117
|
+
get customBodyTemplate() {
|
3118
|
+
return this.service.outputBodyTemplate?.templateRef;
|
3119
|
+
}
|
2909
3120
|
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
3121
|
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
3122
|
<div class="k-card-header">
|
@@ -2916,7 +3127,13 @@ class AIPromptOutputCardComponent {
|
|
2916
3127
|
<div class="k-card-subtitle">{{promptOutput.prompt}}</div>
|
2917
3128
|
</div>
|
2918
3129
|
<div class="k-card-body">
|
2919
|
-
<
|
3130
|
+
<ng-container *ngIf="customBodyTemplate; else defaultTemplate">
|
3131
|
+
<ng-container *ngTemplateOutlet="customBodyTemplate; context: { $implicit: promptOutput }">
|
3132
|
+
</ng-container>
|
3133
|
+
</ng-container>
|
3134
|
+
<ng-template #defaultTemplate>
|
3135
|
+
<p>{{promptOutput.output}}</p>
|
3136
|
+
</ng-template>
|
2920
3137
|
</div>
|
2921
3138
|
<div class="k-actions k-actions-start k-actions-horizontal k-card-actions">
|
2922
3139
|
<button kendoButton
|
@@ -2950,7 +3167,7 @@ class AIPromptOutputCardComponent {
|
|
2950
3167
|
</button>
|
2951
3168
|
</ng-container>
|
2952
3169
|
</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"] }] });
|
3170
|
+
`, 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
3171
|
}
|
2955
3172
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptOutputCardComponent, decorators: [{
|
2956
3173
|
type: Component,
|
@@ -2965,7 +3182,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2965
3182
|
<div class="k-card-subtitle">{{promptOutput.prompt}}</div>
|
2966
3183
|
</div>
|
2967
3184
|
<div class="k-card-body">
|
2968
|
-
<
|
3185
|
+
<ng-container *ngIf="customBodyTemplate; else defaultTemplate">
|
3186
|
+
<ng-container *ngTemplateOutlet="customBodyTemplate; context: { $implicit: promptOutput }">
|
3187
|
+
</ng-container>
|
3188
|
+
</ng-container>
|
3189
|
+
<ng-template #defaultTemplate>
|
3190
|
+
<p>{{promptOutput.output}}</p>
|
3191
|
+
</ng-template>
|
2969
3192
|
</div>
|
2970
3193
|
<div class="k-actions k-actions-start k-actions-horizontal k-card-actions">
|
2971
3194
|
<button kendoButton
|
@@ -3001,7 +3224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3001
3224
|
</div>
|
3002
3225
|
`,
|
3003
3226
|
standalone: true,
|
3004
|
-
imports: [ButtonComponent, NgIf]
|
3227
|
+
imports: [ButtonComponent, NgIf, NgTemplateOutlet]
|
3005
3228
|
}]
|
3006
3229
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }]; }, propDecorators: { hostClass: [{
|
3007
3230
|
type: HostBinding,
|
@@ -3044,6 +3267,12 @@ class OutputViewComponent extends BaseView {
|
|
3044
3267
|
get promptOutputs() {
|
3045
3268
|
return this.service.promptOutputs;
|
3046
3269
|
}
|
3270
|
+
/**
|
3271
|
+
* @hidden
|
3272
|
+
*/
|
3273
|
+
get customTemplate() {
|
3274
|
+
return this.service.outputTemplate?.templateRef;
|
3275
|
+
}
|
3047
3276
|
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
3277
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OutputViewComponent, isStandalone: true, selector: "kendo-aiprompt-output-view", providers: [{
|
3049
3278
|
provide: BaseView,
|
@@ -3053,13 +3282,18 @@ class OutputViewComponent extends BaseView {
|
|
3053
3282
|
<div
|
3054
3283
|
class="k-card-list"
|
3055
3284
|
role="list">
|
3056
|
-
<
|
3057
|
-
|
3058
|
-
|
3059
|
-
|
3285
|
+
<ng-container *ngFor="let output of promptOutputs">
|
3286
|
+
<ng-container *ngIf="customTemplate; else defaultTemplate">
|
3287
|
+
<ng-container *ngTemplateOutlet="customTemplate; context: { $implicit: output }">
|
3288
|
+
</ng-container>
|
3289
|
+
</ng-container>
|
3290
|
+
<ng-template #defaultTemplate>
|
3291
|
+
<div kendoAIPromptOutputCard [promptOutput]="output"></div>
|
3292
|
+
</ng-template>
|
3293
|
+
</ng-container>
|
3060
3294
|
</div>
|
3061
3295
|
</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"] }] });
|
3296
|
+
`, 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
3297
|
}
|
3064
3298
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutputViewComponent, decorators: [{
|
3065
3299
|
type: Component,
|
@@ -3074,15 +3308,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3074
3308
|
<div
|
3075
3309
|
class="k-card-list"
|
3076
3310
|
role="list">
|
3077
|
-
<
|
3078
|
-
|
3079
|
-
|
3080
|
-
|
3311
|
+
<ng-container *ngFor="let output of promptOutputs">
|
3312
|
+
<ng-container *ngIf="customTemplate; else defaultTemplate">
|
3313
|
+
<ng-container *ngTemplateOutlet="customTemplate; context: { $implicit: output }">
|
3314
|
+
</ng-container>
|
3315
|
+
</ng-container>
|
3316
|
+
<ng-template #defaultTemplate>
|
3317
|
+
<div kendoAIPromptOutputCard [promptOutput]="output"></div>
|
3318
|
+
</ng-template>
|
3319
|
+
</ng-container>
|
3081
3320
|
</div>
|
3082
3321
|
</ng-template>
|
3083
3322
|
`,
|
3084
3323
|
standalone: true,
|
3085
|
-
imports: [NgFor, AIPromptOutputCardComponent]
|
3324
|
+
imports: [NgFor, AIPromptOutputCardComponent, NgIf, NgTemplateOutlet]
|
3086
3325
|
}]
|
3087
3326
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }]; } });
|
3088
3327
|
|
@@ -3140,6 +3379,34 @@ class PromptViewComponent extends BaseView {
|
|
3140
3379
|
suggestionClick(suggestion) {
|
3141
3380
|
this.textAreaValue = this.service.promptValue = suggestion;
|
3142
3381
|
}
|
3382
|
+
/**
|
3383
|
+
* @hidden
|
3384
|
+
*/
|
3385
|
+
get speechToTextButtonSettings() {
|
3386
|
+
return this.service.speechToTextButton;
|
3387
|
+
}
|
3388
|
+
/**
|
3389
|
+
* @hidden
|
3390
|
+
*/
|
3391
|
+
get textareaSettings() {
|
3392
|
+
return this.service.textAreaSettings;
|
3393
|
+
}
|
3394
|
+
/**
|
3395
|
+
* @hidden
|
3396
|
+
*/
|
3397
|
+
onSpeechToTextResult(event) {
|
3398
|
+
if (event.alternatives && event.alternatives.length > 0) {
|
3399
|
+
this.textAreaValue += event.alternatives[0].transcript + ' ';
|
3400
|
+
}
|
3401
|
+
}
|
3402
|
+
/**
|
3403
|
+
* @hidden
|
3404
|
+
*/
|
3405
|
+
onSpeechToTextError(event) {
|
3406
|
+
if (isDevMode()) {
|
3407
|
+
console.error('Speech to Text error:', event.errorMessage);
|
3408
|
+
}
|
3409
|
+
}
|
3143
3410
|
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
3411
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PromptViewComponent, isStandalone: true, selector: "kendo-aiprompt-prompt-view", providers: [
|
3145
3412
|
{
|
@@ -3149,9 +3416,40 @@ class PromptViewComponent extends BaseView {
|
|
3149
3416
|
], usesInheritance: true, ngImport: i0, template: `
|
3150
3417
|
<ng-template #content>
|
3151
3418
|
<kendo-textarea
|
3152
|
-
[
|
3153
|
-
[
|
3154
|
-
[
|
3419
|
+
[cols]="textareaSettings?.cols"
|
3420
|
+
[disabled]="textareaSettings?.disabled"
|
3421
|
+
[fillMode]="textareaSettings?.fillMode"
|
3422
|
+
[flow]="textareaSettings?.flow ?? 'vertical'"
|
3423
|
+
[inputAttributes]="textareaSettings?.inputAttributes"
|
3424
|
+
[maxlength]="textareaSettings?.maxlength"
|
3425
|
+
[placeholder]="textareaSettings?.placeholder ?? messageFor('promptPlaceholder')"
|
3426
|
+
[readonly]="textareaSettings?.readonly"
|
3427
|
+
[resizable]="textareaSettings?.resizable ?? 'vertical'"
|
3428
|
+
[rounded]="textareaSettings?.rounded"
|
3429
|
+
[rows]="textareaSettings?.rows ?? 1"
|
3430
|
+
[selectOnFocus]="textareaSettings?.selectOnFocus"
|
3431
|
+
[showSuffixSeparator]="textareaSettings?.showSuffixSeparator ?? true"
|
3432
|
+
[size]="textareaSettings?.size"
|
3433
|
+
[tabIndex]="textareaSettings?.tabindex"
|
3434
|
+
[title]="textareaSettings?.title"
|
3435
|
+
[(value)]="textAreaValue"
|
3436
|
+
>
|
3437
|
+
<kendo-textarea-suffix *ngIf="speechToTextButtonSettings">
|
3438
|
+
<button kendoSpeechToTextButton
|
3439
|
+
[continuous]="speechToTextButtonSettings?.continuous"
|
3440
|
+
[disabled]="speechToTextButtonSettings?.disabled"
|
3441
|
+
[fillMode]="speechToTextButtonSettings?.fillMode ?? 'flat'"
|
3442
|
+
[integrationMode]="speechToTextButtonSettings?.integrationMode ?? 'webSpeech'"
|
3443
|
+
[interimResults]="speechToTextButtonSettings?.interimResults"
|
3444
|
+
[lang]="speechToTextButtonSettings?.lang"
|
3445
|
+
[maxAlternatives]="speechToTextButtonSettings?.maxAlternatives"
|
3446
|
+
[rounded]="speechToTextButtonSettings?.rounded"
|
3447
|
+
[size]="speechToTextButtonSettings?.size"
|
3448
|
+
[themeColor]="speechToTextButtonSettings?.themeColor"
|
3449
|
+
(error)="onSpeechToTextError($event)"
|
3450
|
+
(result)="onSpeechToTextResult($event)"
|
3451
|
+
></button>
|
3452
|
+
</kendo-textarea-suffix>
|
3155
3453
|
</kendo-textarea>
|
3156
3454
|
<div *ngIf="promptSuggestions"
|
3157
3455
|
class="k-prompt-expander">
|
@@ -3169,16 +3467,18 @@ class PromptViewComponent extends BaseView {
|
|
3169
3467
|
class="k-prompt-expander-content"
|
3170
3468
|
role="list"
|
3171
3469
|
[attr.id]="contentId">
|
3172
|
-
<div
|
3173
|
-
|
3174
|
-
|
3175
|
-
|
3176
|
-
|
3470
|
+
<div class="k-suggestion-group">
|
3471
|
+
<div *ngFor="let suggestion of promptSuggestions"
|
3472
|
+
class="k-suggestion"
|
3473
|
+
role="listitem"
|
3474
|
+
(click)="suggestionClick(suggestion)">
|
3475
|
+
{{suggestion}}
|
3476
|
+
</div>
|
3177
3477
|
</div>
|
3178
3478
|
</div>
|
3179
3479
|
</div>
|
3180
3480
|
</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"] }] });
|
3481
|
+
`, 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
3482
|
}
|
3183
3483
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PromptViewComponent, decorators: [{
|
3184
3484
|
type: Component,
|
@@ -3193,9 +3493,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3193
3493
|
template: `
|
3194
3494
|
<ng-template #content>
|
3195
3495
|
<kendo-textarea
|
3196
|
-
[
|
3197
|
-
[
|
3198
|
-
[
|
3496
|
+
[cols]="textareaSettings?.cols"
|
3497
|
+
[disabled]="textareaSettings?.disabled"
|
3498
|
+
[fillMode]="textareaSettings?.fillMode"
|
3499
|
+
[flow]="textareaSettings?.flow ?? 'vertical'"
|
3500
|
+
[inputAttributes]="textareaSettings?.inputAttributes"
|
3501
|
+
[maxlength]="textareaSettings?.maxlength"
|
3502
|
+
[placeholder]="textareaSettings?.placeholder ?? messageFor('promptPlaceholder')"
|
3503
|
+
[readonly]="textareaSettings?.readonly"
|
3504
|
+
[resizable]="textareaSettings?.resizable ?? 'vertical'"
|
3505
|
+
[rounded]="textareaSettings?.rounded"
|
3506
|
+
[rows]="textareaSettings?.rows ?? 1"
|
3507
|
+
[selectOnFocus]="textareaSettings?.selectOnFocus"
|
3508
|
+
[showSuffixSeparator]="textareaSettings?.showSuffixSeparator ?? true"
|
3509
|
+
[size]="textareaSettings?.size"
|
3510
|
+
[tabIndex]="textareaSettings?.tabindex"
|
3511
|
+
[title]="textareaSettings?.title"
|
3512
|
+
[(value)]="textAreaValue"
|
3513
|
+
>
|
3514
|
+
<kendo-textarea-suffix *ngIf="speechToTextButtonSettings">
|
3515
|
+
<button kendoSpeechToTextButton
|
3516
|
+
[continuous]="speechToTextButtonSettings?.continuous"
|
3517
|
+
[disabled]="speechToTextButtonSettings?.disabled"
|
3518
|
+
[fillMode]="speechToTextButtonSettings?.fillMode ?? 'flat'"
|
3519
|
+
[integrationMode]="speechToTextButtonSettings?.integrationMode ?? 'webSpeech'"
|
3520
|
+
[interimResults]="speechToTextButtonSettings?.interimResults"
|
3521
|
+
[lang]="speechToTextButtonSettings?.lang"
|
3522
|
+
[maxAlternatives]="speechToTextButtonSettings?.maxAlternatives"
|
3523
|
+
[rounded]="speechToTextButtonSettings?.rounded"
|
3524
|
+
[size]="speechToTextButtonSettings?.size"
|
3525
|
+
[themeColor]="speechToTextButtonSettings?.themeColor"
|
3526
|
+
(error)="onSpeechToTextError($event)"
|
3527
|
+
(result)="onSpeechToTextResult($event)"
|
3528
|
+
></button>
|
3529
|
+
</kendo-textarea-suffix>
|
3199
3530
|
</kendo-textarea>
|
3200
3531
|
<div *ngIf="promptSuggestions"
|
3201
3532
|
class="k-prompt-expander">
|
@@ -3213,18 +3544,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3213
3544
|
class="k-prompt-expander-content"
|
3214
3545
|
role="list"
|
3215
3546
|
[attr.id]="contentId">
|
3216
|
-
<div
|
3217
|
-
|
3218
|
-
|
3219
|
-
|
3220
|
-
|
3547
|
+
<div class="k-suggestion-group">
|
3548
|
+
<div *ngFor="let suggestion of promptSuggestions"
|
3549
|
+
class="k-suggestion"
|
3550
|
+
role="listitem"
|
3551
|
+
(click)="suggestionClick(suggestion)">
|
3552
|
+
{{suggestion}}
|
3553
|
+
</div>
|
3221
3554
|
</div>
|
3222
3555
|
</div>
|
3223
3556
|
</div>
|
3224
3557
|
</ng-template>
|
3225
3558
|
`,
|
3226
3559
|
standalone: true,
|
3227
|
-
imports: [TextAreaComponent, NgIf, ButtonComponent, NgFor]
|
3560
|
+
imports: [TextAreaComponent, NgIf, ButtonComponent, NgFor, TextAreaSuffixComponent, SpeechToTextButtonComponent]
|
3228
3561
|
}]
|
3229
3562
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }]; } });
|
3230
3563
|
|
@@ -3411,7 +3744,9 @@ const KENDO_AIPROMPT = [
|
|
3411
3744
|
CustomViewComponent,
|
3412
3745
|
AIPromptCustomMessagesComponent,
|
3413
3746
|
AIPromptToolbarActionsDirective,
|
3414
|
-
AIPromptToolbarFocusableDirective
|
3747
|
+
AIPromptToolbarFocusableDirective,
|
3748
|
+
AIPromptOutputTemplateDirective,
|
3749
|
+
AIPromptOutputBodyTemplateDirective,
|
3415
3750
|
];
|
3416
3751
|
/**
|
3417
3752
|
* Utility array that contains all Chat related components and directives.
|
@@ -3484,7 +3819,7 @@ const KENDO_CONVERSATIONALUI = [
|
|
3484
3819
|
*/
|
3485
3820
|
class AIPromptModule {
|
3486
3821
|
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] });
|
3822
|
+
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
3823
|
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
3824
|
}
|
3490
3825
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptModule, decorators: [{
|
@@ -3553,7 +3888,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3553
3888
|
*/
|
3554
3889
|
class ConversationalUIModule {
|
3555
3890
|
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] });
|
3891
|
+
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
3892
|
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
3893
|
}
|
3559
3894
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, decorators: [{
|
@@ -3569,5 +3904,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3569
3904
|
* Generated bundle index. Do not edit.
|
3570
3905
|
*/
|
3571
3906
|
|
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 };
|
3907
|
+
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
3908
|
|