@progress/kendo-angular-conversational-ui 19.3.0-develop.2 → 19.3.0-develop.21
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 +71 -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/models/ai-prompt-settings.d.ts +60 -0
- package/ai-prompt/models/index.d.ts +1 -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 +136 -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/models/ai-prompt-settings.mjs +5 -0
- 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 +393 -57
- package/index.d.ts +2 -0
- package/package.json +12 -12
@@ -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: 1754395802,
|
140
|
+
version: '19.3.0-develop.21',
|
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,105 @@ 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
|
+
* ([see example](slug:configuration_aiprompt#enabling-speech-to-text)).
|
2473
|
+
*/
|
2474
|
+
set speechToTextButton(settings) {
|
2475
|
+
if (settings) {
|
2476
|
+
this.service.speechToTextButton = settings;
|
2477
|
+
}
|
2478
|
+
else {
|
2479
|
+
this.service.speechToTextButton = false;
|
2480
|
+
}
|
2481
|
+
}
|
2482
|
+
/**
|
2483
|
+
* Sets the settings for the TextArea in the Prompt view
|
2484
|
+
* ([see example](slug:configuration_aiprompt#configuring-the-prompt-text-area)).
|
2485
|
+
*/
|
2486
|
+
set textAreaSettings(settings) {
|
2487
|
+
this.service.textAreaSettings = settings;
|
2488
|
+
}
|
2489
|
+
/**
|
2490
|
+
* Sets the SVG icon for the Generate button in the Prompt view.
|
2491
|
+
*/
|
2492
|
+
generateButtonSVGIcon = sparklesIcon;
|
2493
|
+
/**
|
2494
|
+
* Sets the icon for the Generate button in the Prompt view.
|
2495
|
+
* @default 'sparkles'
|
2496
|
+
*/
|
2497
|
+
generateButtonIcon = 'sparkles';
|
2498
|
+
/**
|
2499
|
+
* Sets the disabled state for the Generate button in the Prompt view.
|
2500
|
+
* @default false
|
2501
|
+
*/
|
2502
|
+
disabledGenerateButton = false;
|
2365
2503
|
/**
|
2366
2504
|
* Fires when the `activeView` property is updated.
|
2367
2505
|
* Use this event for two-way binding of the `activeView` property.
|
2368
2506
|
*/
|
2369
2507
|
activeViewChange = new EventEmitter();
|
2370
2508
|
/**
|
2371
|
-
* Fires when
|
2509
|
+
* Fires when you click the Generate button in the Prompt view or the Retry button in the Output view.
|
2372
2510
|
* Use the event's `isRetry` field to determine the source element.
|
2373
2511
|
*/
|
2374
2512
|
promptRequest = new EventEmitter();
|
2375
2513
|
/**
|
2376
|
-
* Fires when
|
2514
|
+
* Fires when you click a Command view command.
|
2377
2515
|
* The event data contains the selected command.
|
2378
2516
|
*/
|
2379
2517
|
commandExecute = new EventEmitter();
|
2380
2518
|
/**
|
2381
|
-
* Fires when
|
2519
|
+
* Fires when you click a Copy button in any Output view card.
|
2382
2520
|
*/
|
2383
2521
|
outputCopy = new EventEmitter();
|
2384
2522
|
/**
|
2385
|
-
* Fires when
|
2523
|
+
* Fires when you click a rating button in any Output view card.
|
2386
2524
|
*/
|
2387
2525
|
outputRatingChange = new EventEmitter();
|
2526
|
+
/**
|
2527
|
+
* Fires when you click the Stop Generation button in the Output view.
|
2528
|
+
*/
|
2529
|
+
promptRequestCancel = new EventEmitter();
|
2530
|
+
ngAfterContentChecked() {
|
2531
|
+
if (this.outputTemplate !== this.service.outputTemplate) {
|
2532
|
+
this.service.outputTemplate = this.outputTemplate;
|
2533
|
+
}
|
2534
|
+
if (this.outputBodyTemplate !== this.service.outputBodyTemplate) {
|
2535
|
+
this.service.outputBodyTemplate = this.outputBodyTemplate;
|
2536
|
+
}
|
2537
|
+
}
|
2388
2538
|
ngAfterViewInit() {
|
2389
2539
|
this.ngZone.runOutsideAngular(() => {
|
2390
2540
|
this.service.aiPrompt = this;
|
@@ -2418,12 +2568,24 @@ class AIPromptComponent {
|
|
2418
2568
|
* @hidden
|
2419
2569
|
*/
|
2420
2570
|
outputIcon = commentIcon;
|
2571
|
+
/**
|
2572
|
+
* @hidden
|
2573
|
+
*/
|
2574
|
+
fabStopGenerationSVGIcon = stopSmIcon;
|
2421
2575
|
/**
|
2422
2576
|
* @hidden
|
2423
2577
|
*/
|
2424
2578
|
get viewsArray() {
|
2425
2579
|
return this.views?.toArray();
|
2426
2580
|
}
|
2581
|
+
/**
|
2582
|
+
* @hidden
|
2583
|
+
*/
|
2584
|
+
fabPositionMode = 'absolute';
|
2585
|
+
/**
|
2586
|
+
* @hidden
|
2587
|
+
*/
|
2588
|
+
fabAlignment = { vertical: 'bottom', horizontal: 'end' };
|
2427
2589
|
direction;
|
2428
2590
|
_activeView = 0;
|
2429
2591
|
/**
|
@@ -2460,7 +2622,7 @@ class AIPromptComponent {
|
|
2460
2622
|
this.promptRequest.emit(eventArgs);
|
2461
2623
|
}
|
2462
2624
|
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: [
|
2625
|
+
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
2626
|
LocalizationService,
|
2465
2627
|
AIPromptService,
|
2466
2628
|
ToolbarNavigationService,
|
@@ -2468,7 +2630,7 @@ class AIPromptComponent {
|
|
2468
2630
|
provide: L10N_PREFIX,
|
2469
2631
|
useValue: 'kendo.aiprompt'
|
2470
2632
|
}
|
2471
|
-
], queries: [{ propertyName: "toolbarActionsTemplate", first: true, predicate: AIPromptToolbarActionsDirective, descendants: true }, { propertyName: "views", predicate: BaseView }], exportAs: ["kendoAIPrompt"], ngImport: i0, template: `
|
2633
|
+
], 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
2634
|
<ng-container kendoAIPromptLocalizedMessages
|
2473
2635
|
i18n-promptView="kendo.aiprompt.promptView|The Toolbar button text for the Prompt view."
|
2474
2636
|
promptView="Ask AI"
|
@@ -2512,6 +2674,16 @@ class AIPromptComponent {
|
|
2512
2674
|
</div>
|
2513
2675
|
</div>
|
2514
2676
|
<div class="k-prompt-content">
|
2677
|
+
<kendo-floatingactionbutton *ngIf="streaming && selectedView?.viewType === 'output'"
|
2678
|
+
class="k-prompt-stop-fab"
|
2679
|
+
buttonClass="k-generating k-active"
|
2680
|
+
[positionMode]="fabPositionMode"
|
2681
|
+
[align]="fabAlignment"
|
2682
|
+
[svgIcon]="fabStopGenerationSVGIcon"
|
2683
|
+
icon="stop"
|
2684
|
+
(click)="promptRequestCancel.emit()"
|
2685
|
+
>
|
2686
|
+
</kendo-floatingactionbutton>
|
2515
2687
|
<div class="k-prompt-view">
|
2516
2688
|
<ng-container *ngTemplateOutlet="viewTemplate">
|
2517
2689
|
</ng-container>
|
@@ -2524,12 +2696,14 @@ class AIPromptComponent {
|
|
2524
2696
|
type="button"
|
2525
2697
|
themeColor="primary"
|
2526
2698
|
rounded="full"
|
2527
|
-
[
|
2528
|
-
|
2699
|
+
[attr.title]="messageFor('generateOutput')"
|
2700
|
+
[svgIcon]="generateButtonSVGIcon"
|
2701
|
+
[icon]="generateButtonIcon"
|
2702
|
+
[disabled]="disabledGenerateButton"
|
2529
2703
|
(click)="handleGenerateOutput()">{{messageFor('generateOutput')}}</button>
|
2530
2704
|
</div>
|
2531
2705
|
</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"] }] });
|
2706
|
+
`, 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
2707
|
}
|
2534
2708
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptComponent, decorators: [{
|
2535
2709
|
type: Component,
|
@@ -2589,6 +2763,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2589
2763
|
</div>
|
2590
2764
|
</div>
|
2591
2765
|
<div class="k-prompt-content">
|
2766
|
+
<kendo-floatingactionbutton *ngIf="streaming && selectedView?.viewType === 'output'"
|
2767
|
+
class="k-prompt-stop-fab"
|
2768
|
+
buttonClass="k-generating k-active"
|
2769
|
+
[positionMode]="fabPositionMode"
|
2770
|
+
[align]="fabAlignment"
|
2771
|
+
[svgIcon]="fabStopGenerationSVGIcon"
|
2772
|
+
icon="stop"
|
2773
|
+
(click)="promptRequestCancel.emit()"
|
2774
|
+
>
|
2775
|
+
</kendo-floatingactionbutton>
|
2592
2776
|
<div class="k-prompt-view">
|
2593
2777
|
<ng-container *ngTemplateOutlet="viewTemplate">
|
2594
2778
|
</ng-container>
|
@@ -2601,14 +2785,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2601
2785
|
type="button"
|
2602
2786
|
themeColor="primary"
|
2603
2787
|
rounded="full"
|
2604
|
-
[
|
2605
|
-
|
2788
|
+
[attr.title]="messageFor('generateOutput')"
|
2789
|
+
[svgIcon]="generateButtonSVGIcon"
|
2790
|
+
[icon]="generateButtonIcon"
|
2791
|
+
[disabled]="disabledGenerateButton"
|
2606
2792
|
(click)="handleGenerateOutput()">{{messageFor('generateOutput')}}</button>
|
2607
2793
|
</div>
|
2608
2794
|
</div>
|
2609
2795
|
`,
|
2610
2796
|
standalone: true,
|
2611
|
-
imports: [LocalizedMessagesDirective, NgFor, ButtonComponent, AIPromptToolbarFocusableDirective, NgIf, NgTemplateOutlet]
|
2797
|
+
imports: [LocalizedMessagesDirective, NgFor, ButtonComponent, AIPromptToolbarFocusableDirective, NgIf, NgTemplateOutlet, FloatingActionButtonComponent]
|
2612
2798
|
}]
|
2613
2799
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }, { type: ToolbarNavigationService }, { type: i0.NgZone }]; }, propDecorators: { hostClasses: [{
|
2614
2800
|
type: HostBinding,
|
@@ -2622,6 +2808,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2622
2808
|
}], toolbarActionsTemplate: [{
|
2623
2809
|
type: ContentChild,
|
2624
2810
|
args: [AIPromptToolbarActionsDirective]
|
2811
|
+
}], outputTemplate: [{
|
2812
|
+
type: ContentChild,
|
2813
|
+
args: [AIPromptOutputTemplateDirective]
|
2814
|
+
}], outputBodyTemplate: [{
|
2815
|
+
type: ContentChild,
|
2816
|
+
args: [AIPromptOutputBodyTemplateDirective]
|
2625
2817
|
}], activeView: [{
|
2626
2818
|
type: Input
|
2627
2819
|
}], promptCommands: [{
|
@@ -2632,6 +2824,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2632
2824
|
type: Input
|
2633
2825
|
}], showOutputRating: [{
|
2634
2826
|
type: Input
|
2827
|
+
}], streaming: [{
|
2828
|
+
type: Input
|
2829
|
+
}], speechToTextButton: [{
|
2830
|
+
type: Input
|
2831
|
+
}], textAreaSettings: [{
|
2832
|
+
type: Input
|
2833
|
+
}], generateButtonSVGIcon: [{
|
2834
|
+
type: Input
|
2835
|
+
}], generateButtonIcon: [{
|
2836
|
+
type: Input
|
2837
|
+
}], disabledGenerateButton: [{
|
2838
|
+
type: Input
|
2635
2839
|
}], activeViewChange: [{
|
2636
2840
|
type: Output
|
2637
2841
|
}], promptRequest: [{
|
@@ -2642,6 +2846,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2642
2846
|
type: Output
|
2643
2847
|
}], outputRatingChange: [{
|
2644
2848
|
type: Output
|
2849
|
+
}], promptRequestCancel: [{
|
2850
|
+
type: Output
|
2645
2851
|
}] } });
|
2646
2852
|
|
2647
2853
|
/**
|
@@ -2906,6 +3112,12 @@ class AIPromptOutputCardComponent {
|
|
2906
3112
|
this.positiveRatingIcon = thumbUpOutlineIcon;
|
2907
3113
|
}
|
2908
3114
|
}
|
3115
|
+
/**
|
3116
|
+
* @hidden
|
3117
|
+
*/
|
3118
|
+
get customBodyTemplate() {
|
3119
|
+
return this.service.outputBodyTemplate?.templateRef;
|
3120
|
+
}
|
2909
3121
|
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
3122
|
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
3123
|
<div class="k-card-header">
|
@@ -2916,7 +3128,13 @@ class AIPromptOutputCardComponent {
|
|
2916
3128
|
<div class="k-card-subtitle">{{promptOutput.prompt}}</div>
|
2917
3129
|
</div>
|
2918
3130
|
<div class="k-card-body">
|
2919
|
-
<
|
3131
|
+
<ng-container *ngIf="customBodyTemplate; else defaultTemplate">
|
3132
|
+
<ng-container *ngTemplateOutlet="customBodyTemplate; context: { $implicit: promptOutput }">
|
3133
|
+
</ng-container>
|
3134
|
+
</ng-container>
|
3135
|
+
<ng-template #defaultTemplate>
|
3136
|
+
<p>{{promptOutput.output}}</p>
|
3137
|
+
</ng-template>
|
2920
3138
|
</div>
|
2921
3139
|
<div class="k-actions k-actions-start k-actions-horizontal k-card-actions">
|
2922
3140
|
<button kendoButton
|
@@ -2950,7 +3168,7 @@ class AIPromptOutputCardComponent {
|
|
2950
3168
|
</button>
|
2951
3169
|
</ng-container>
|
2952
3170
|
</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"] }] });
|
3171
|
+
`, 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
3172
|
}
|
2955
3173
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptOutputCardComponent, decorators: [{
|
2956
3174
|
type: Component,
|
@@ -2965,7 +3183,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
2965
3183
|
<div class="k-card-subtitle">{{promptOutput.prompt}}</div>
|
2966
3184
|
</div>
|
2967
3185
|
<div class="k-card-body">
|
2968
|
-
<
|
3186
|
+
<ng-container *ngIf="customBodyTemplate; else defaultTemplate">
|
3187
|
+
<ng-container *ngTemplateOutlet="customBodyTemplate; context: { $implicit: promptOutput }">
|
3188
|
+
</ng-container>
|
3189
|
+
</ng-container>
|
3190
|
+
<ng-template #defaultTemplate>
|
3191
|
+
<p>{{promptOutput.output}}</p>
|
3192
|
+
</ng-template>
|
2969
3193
|
</div>
|
2970
3194
|
<div class="k-actions k-actions-start k-actions-horizontal k-card-actions">
|
2971
3195
|
<button kendoButton
|
@@ -3001,7 +3225,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3001
3225
|
</div>
|
3002
3226
|
`,
|
3003
3227
|
standalone: true,
|
3004
|
-
imports: [ButtonComponent, NgIf]
|
3228
|
+
imports: [ButtonComponent, NgIf, NgTemplateOutlet]
|
3005
3229
|
}]
|
3006
3230
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }]; }, propDecorators: { hostClass: [{
|
3007
3231
|
type: HostBinding,
|
@@ -3044,6 +3268,12 @@ class OutputViewComponent extends BaseView {
|
|
3044
3268
|
get promptOutputs() {
|
3045
3269
|
return this.service.promptOutputs;
|
3046
3270
|
}
|
3271
|
+
/**
|
3272
|
+
* @hidden
|
3273
|
+
*/
|
3274
|
+
get customTemplate() {
|
3275
|
+
return this.service.outputTemplate?.templateRef;
|
3276
|
+
}
|
3047
3277
|
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
3278
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OutputViewComponent, isStandalone: true, selector: "kendo-aiprompt-output-view", providers: [{
|
3049
3279
|
provide: BaseView,
|
@@ -3053,13 +3283,18 @@ class OutputViewComponent extends BaseView {
|
|
3053
3283
|
<div
|
3054
3284
|
class="k-card-list"
|
3055
3285
|
role="list">
|
3056
|
-
<
|
3057
|
-
|
3058
|
-
|
3059
|
-
|
3286
|
+
<ng-container *ngFor="let output of promptOutputs">
|
3287
|
+
<ng-container *ngIf="customTemplate; else defaultTemplate">
|
3288
|
+
<ng-container *ngTemplateOutlet="customTemplate; context: { $implicit: output }">
|
3289
|
+
</ng-container>
|
3290
|
+
</ng-container>
|
3291
|
+
<ng-template #defaultTemplate>
|
3292
|
+
<div kendoAIPromptOutputCard [promptOutput]="output"></div>
|
3293
|
+
</ng-template>
|
3294
|
+
</ng-container>
|
3060
3295
|
</div>
|
3061
3296
|
</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"] }] });
|
3297
|
+
`, 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
3298
|
}
|
3064
3299
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutputViewComponent, decorators: [{
|
3065
3300
|
type: Component,
|
@@ -3074,15 +3309,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3074
3309
|
<div
|
3075
3310
|
class="k-card-list"
|
3076
3311
|
role="list">
|
3077
|
-
<
|
3078
|
-
|
3079
|
-
|
3080
|
-
|
3312
|
+
<ng-container *ngFor="let output of promptOutputs">
|
3313
|
+
<ng-container *ngIf="customTemplate; else defaultTemplate">
|
3314
|
+
<ng-container *ngTemplateOutlet="customTemplate; context: { $implicit: output }">
|
3315
|
+
</ng-container>
|
3316
|
+
</ng-container>
|
3317
|
+
<ng-template #defaultTemplate>
|
3318
|
+
<div kendoAIPromptOutputCard [promptOutput]="output"></div>
|
3319
|
+
</ng-template>
|
3320
|
+
</ng-container>
|
3081
3321
|
</div>
|
3082
3322
|
</ng-template>
|
3083
3323
|
`,
|
3084
3324
|
standalone: true,
|
3085
|
-
imports: [NgFor, AIPromptOutputCardComponent]
|
3325
|
+
imports: [NgFor, AIPromptOutputCardComponent, NgIf, NgTemplateOutlet]
|
3086
3326
|
}]
|
3087
3327
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }]; } });
|
3088
3328
|
|
@@ -3140,6 +3380,34 @@ class PromptViewComponent extends BaseView {
|
|
3140
3380
|
suggestionClick(suggestion) {
|
3141
3381
|
this.textAreaValue = this.service.promptValue = suggestion;
|
3142
3382
|
}
|
3383
|
+
/**
|
3384
|
+
* @hidden
|
3385
|
+
*/
|
3386
|
+
get speechToTextButtonSettings() {
|
3387
|
+
return this.service.speechToTextButton;
|
3388
|
+
}
|
3389
|
+
/**
|
3390
|
+
* @hidden
|
3391
|
+
*/
|
3392
|
+
get textareaSettings() {
|
3393
|
+
return this.service.textAreaSettings;
|
3394
|
+
}
|
3395
|
+
/**
|
3396
|
+
* @hidden
|
3397
|
+
*/
|
3398
|
+
onSpeechToTextResult(event) {
|
3399
|
+
if (event.alternatives && event.alternatives.length > 0) {
|
3400
|
+
this.textAreaValue += event.alternatives[0].transcript + ' ';
|
3401
|
+
}
|
3402
|
+
}
|
3403
|
+
/**
|
3404
|
+
* @hidden
|
3405
|
+
*/
|
3406
|
+
onSpeechToTextError(event) {
|
3407
|
+
if (isDevMode()) {
|
3408
|
+
console.error('Speech to Text error:', event.errorMessage);
|
3409
|
+
}
|
3410
|
+
}
|
3143
3411
|
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
3412
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PromptViewComponent, isStandalone: true, selector: "kendo-aiprompt-prompt-view", providers: [
|
3145
3413
|
{
|
@@ -3149,9 +3417,40 @@ class PromptViewComponent extends BaseView {
|
|
3149
3417
|
], usesInheritance: true, ngImport: i0, template: `
|
3150
3418
|
<ng-template #content>
|
3151
3419
|
<kendo-textarea
|
3152
|
-
[
|
3153
|
-
[
|
3154
|
-
[
|
3420
|
+
[cols]="textareaSettings?.cols"
|
3421
|
+
[disabled]="textareaSettings?.disabled"
|
3422
|
+
[fillMode]="textareaSettings?.fillMode"
|
3423
|
+
[flow]="textareaSettings?.flow ?? 'vertical'"
|
3424
|
+
[inputAttributes]="textareaSettings?.inputAttributes"
|
3425
|
+
[maxlength]="textareaSettings?.maxlength"
|
3426
|
+
[placeholder]="textareaSettings?.placeholder ?? messageFor('promptPlaceholder')"
|
3427
|
+
[readonly]="textareaSettings?.readonly"
|
3428
|
+
[resizable]="textareaSettings?.resizable ?? 'vertical'"
|
3429
|
+
[rounded]="textareaSettings?.rounded"
|
3430
|
+
[rows]="textareaSettings?.rows ?? 1"
|
3431
|
+
[selectOnFocus]="textareaSettings?.selectOnFocus"
|
3432
|
+
[showSuffixSeparator]="textareaSettings?.showSuffixSeparator ?? true"
|
3433
|
+
[size]="textareaSettings?.size"
|
3434
|
+
[tabIndex]="textareaSettings?.tabindex"
|
3435
|
+
[title]="textareaSettings?.title"
|
3436
|
+
[(value)]="textAreaValue"
|
3437
|
+
>
|
3438
|
+
<kendo-textarea-suffix *ngIf="speechToTextButtonSettings">
|
3439
|
+
<button kendoSpeechToTextButton
|
3440
|
+
[continuous]="speechToTextButtonSettings?.continuous"
|
3441
|
+
[disabled]="speechToTextButtonSettings?.disabled"
|
3442
|
+
[fillMode]="speechToTextButtonSettings?.fillMode ?? 'flat'"
|
3443
|
+
[integrationMode]="speechToTextButtonSettings?.integrationMode ?? 'webSpeech'"
|
3444
|
+
[interimResults]="speechToTextButtonSettings?.interimResults"
|
3445
|
+
[lang]="speechToTextButtonSettings?.lang"
|
3446
|
+
[maxAlternatives]="speechToTextButtonSettings?.maxAlternatives"
|
3447
|
+
[rounded]="speechToTextButtonSettings?.rounded"
|
3448
|
+
[size]="speechToTextButtonSettings?.size"
|
3449
|
+
[themeColor]="speechToTextButtonSettings?.themeColor"
|
3450
|
+
(error)="onSpeechToTextError($event)"
|
3451
|
+
(result)="onSpeechToTextResult($event)"
|
3452
|
+
></button>
|
3453
|
+
</kendo-textarea-suffix>
|
3155
3454
|
</kendo-textarea>
|
3156
3455
|
<div *ngIf="promptSuggestions"
|
3157
3456
|
class="k-prompt-expander">
|
@@ -3169,16 +3468,18 @@ class PromptViewComponent extends BaseView {
|
|
3169
3468
|
class="k-prompt-expander-content"
|
3170
3469
|
role="list"
|
3171
3470
|
[attr.id]="contentId">
|
3172
|
-
<div
|
3173
|
-
|
3174
|
-
|
3175
|
-
|
3176
|
-
|
3471
|
+
<div class="k-suggestion-group">
|
3472
|
+
<div *ngFor="let suggestion of promptSuggestions"
|
3473
|
+
class="k-suggestion"
|
3474
|
+
role="listitem"
|
3475
|
+
(click)="suggestionClick(suggestion)">
|
3476
|
+
{{suggestion}}
|
3477
|
+
</div>
|
3177
3478
|
</div>
|
3178
3479
|
</div>
|
3179
3480
|
</div>
|
3180
3481
|
</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"] }] });
|
3482
|
+
`, 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
3483
|
}
|
3183
3484
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PromptViewComponent, decorators: [{
|
3184
3485
|
type: Component,
|
@@ -3193,9 +3494,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3193
3494
|
template: `
|
3194
3495
|
<ng-template #content>
|
3195
3496
|
<kendo-textarea
|
3196
|
-
[
|
3197
|
-
[
|
3198
|
-
[
|
3497
|
+
[cols]="textareaSettings?.cols"
|
3498
|
+
[disabled]="textareaSettings?.disabled"
|
3499
|
+
[fillMode]="textareaSettings?.fillMode"
|
3500
|
+
[flow]="textareaSettings?.flow ?? 'vertical'"
|
3501
|
+
[inputAttributes]="textareaSettings?.inputAttributes"
|
3502
|
+
[maxlength]="textareaSettings?.maxlength"
|
3503
|
+
[placeholder]="textareaSettings?.placeholder ?? messageFor('promptPlaceholder')"
|
3504
|
+
[readonly]="textareaSettings?.readonly"
|
3505
|
+
[resizable]="textareaSettings?.resizable ?? 'vertical'"
|
3506
|
+
[rounded]="textareaSettings?.rounded"
|
3507
|
+
[rows]="textareaSettings?.rows ?? 1"
|
3508
|
+
[selectOnFocus]="textareaSettings?.selectOnFocus"
|
3509
|
+
[showSuffixSeparator]="textareaSettings?.showSuffixSeparator ?? true"
|
3510
|
+
[size]="textareaSettings?.size"
|
3511
|
+
[tabIndex]="textareaSettings?.tabindex"
|
3512
|
+
[title]="textareaSettings?.title"
|
3513
|
+
[(value)]="textAreaValue"
|
3514
|
+
>
|
3515
|
+
<kendo-textarea-suffix *ngIf="speechToTextButtonSettings">
|
3516
|
+
<button kendoSpeechToTextButton
|
3517
|
+
[continuous]="speechToTextButtonSettings?.continuous"
|
3518
|
+
[disabled]="speechToTextButtonSettings?.disabled"
|
3519
|
+
[fillMode]="speechToTextButtonSettings?.fillMode ?? 'flat'"
|
3520
|
+
[integrationMode]="speechToTextButtonSettings?.integrationMode ?? 'webSpeech'"
|
3521
|
+
[interimResults]="speechToTextButtonSettings?.interimResults"
|
3522
|
+
[lang]="speechToTextButtonSettings?.lang"
|
3523
|
+
[maxAlternatives]="speechToTextButtonSettings?.maxAlternatives"
|
3524
|
+
[rounded]="speechToTextButtonSettings?.rounded"
|
3525
|
+
[size]="speechToTextButtonSettings?.size"
|
3526
|
+
[themeColor]="speechToTextButtonSettings?.themeColor"
|
3527
|
+
(error)="onSpeechToTextError($event)"
|
3528
|
+
(result)="onSpeechToTextResult($event)"
|
3529
|
+
></button>
|
3530
|
+
</kendo-textarea-suffix>
|
3199
3531
|
</kendo-textarea>
|
3200
3532
|
<div *ngIf="promptSuggestions"
|
3201
3533
|
class="k-prompt-expander">
|
@@ -3213,18 +3545,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3213
3545
|
class="k-prompt-expander-content"
|
3214
3546
|
role="list"
|
3215
3547
|
[attr.id]="contentId">
|
3216
|
-
<div
|
3217
|
-
|
3218
|
-
|
3219
|
-
|
3220
|
-
|
3548
|
+
<div class="k-suggestion-group">
|
3549
|
+
<div *ngFor="let suggestion of promptSuggestions"
|
3550
|
+
class="k-suggestion"
|
3551
|
+
role="listitem"
|
3552
|
+
(click)="suggestionClick(suggestion)">
|
3553
|
+
{{suggestion}}
|
3554
|
+
</div>
|
3221
3555
|
</div>
|
3222
3556
|
</div>
|
3223
3557
|
</div>
|
3224
3558
|
</ng-template>
|
3225
3559
|
`,
|
3226
3560
|
standalone: true,
|
3227
|
-
imports: [TextAreaComponent, NgIf, ButtonComponent, NgFor]
|
3561
|
+
imports: [TextAreaComponent, NgIf, ButtonComponent, NgFor, TextAreaSuffixComponent, SpeechToTextButtonComponent]
|
3228
3562
|
}]
|
3229
3563
|
}], ctorParameters: function () { return [{ type: i1$1.LocalizationService }, { type: AIPromptService }]; } });
|
3230
3564
|
|
@@ -3411,7 +3745,9 @@ const KENDO_AIPROMPT = [
|
|
3411
3745
|
CustomViewComponent,
|
3412
3746
|
AIPromptCustomMessagesComponent,
|
3413
3747
|
AIPromptToolbarActionsDirective,
|
3414
|
-
AIPromptToolbarFocusableDirective
|
3748
|
+
AIPromptToolbarFocusableDirective,
|
3749
|
+
AIPromptOutputTemplateDirective,
|
3750
|
+
AIPromptOutputBodyTemplateDirective,
|
3415
3751
|
];
|
3416
3752
|
/**
|
3417
3753
|
* Utility array that contains all Chat related components and directives.
|
@@ -3484,7 +3820,7 @@ const KENDO_CONVERSATIONALUI = [
|
|
3484
3820
|
*/
|
3485
3821
|
class AIPromptModule {
|
3486
3822
|
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] });
|
3823
|
+
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
3824
|
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
3825
|
}
|
3490
3826
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptModule, decorators: [{
|
@@ -3553,7 +3889,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3553
3889
|
*/
|
3554
3890
|
class ConversationalUIModule {
|
3555
3891
|
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] });
|
3892
|
+
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
3893
|
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
3894
|
}
|
3559
3895
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, decorators: [{
|
@@ -3569,5 +3905,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
3569
3905
|
* Generated bundle index. Do not edit.
|
3570
3906
|
*/
|
3571
3907
|
|
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 };
|
3908
|
+
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
3909
|
|