@progress/kendo-angular-conversational-ui 19.3.0-develop.3 → 19.3.0-develop.31
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 +80 -13
- 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/localization/messages.d.ts +5 -1
- 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 +23 -1
- package/conversational-ui.module.d.ts +12 -7
- package/directives.d.ts +8 -2
- package/esm2022/ai-prompt/aiprompt.component.mjs +177 -25
- 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/localization/messages.mjs +7 -1
- 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 +139 -21
- package/esm2022/chat/message-box.component.mjs +1 -1
- package/esm2022/conversational-ui.module.mjs +13 -8
- package/esm2022/directives.mjs +15 -2
- package/esm2022/index.mjs +7 -0
- package/esm2022/inline-ai-prompt/inlineaiprompt-content.component.mjs +552 -0
- package/esm2022/inline-ai-prompt/inlineaiprompt.component.mjs +342 -0
- package/esm2022/inline-ai-prompt/inlineaiprompt.service.mjs +85 -0
- package/esm2022/inline-ai-prompt/localization/custom-messages.component.mjs +53 -0
- package/esm2022/inline-ai-prompt/localization/localized-messages.directive.mjs +39 -0
- package/esm2022/inline-ai-prompt/localization/messages.mjs +35 -0
- package/esm2022/inline-ai-prompt/models/command.interface.mjs +5 -0
- package/esm2022/inline-ai-prompt/models/index.mjs +5 -0
- package/esm2022/inline-ai-prompt/models/inlineaiprompt-popupsettings.mjs +5 -0
- package/esm2022/inline-ai-prompt/models/inlineaiprompt-settings.mjs +59 -0
- package/esm2022/inline-ai-prompt/models/messages.mjs +8 -0
- package/esm2022/inline-ai-prompt/models/output-action-click-event.mjs +5 -0
- package/esm2022/inline-ai-prompt/models/output-action.interface.mjs +5 -0
- package/esm2022/inline-ai-prompt/models/prompt-output.interface.mjs +5 -0
- package/esm2022/inline-ai-prompt/models/prompt-request-event.mjs +5 -0
- package/esm2022/inline-ai-prompt/output-template.directive.mjs +38 -0
- package/esm2022/inline-ai-prompt/utils.mjs +22 -0
- package/esm2022/package-metadata.mjs +2 -2
- package/fesm2022/progress-kendo-angular-conversational-ui.mjs +1696 -140
- package/index.d.ts +7 -0
- package/inline-ai-prompt/inlineaiprompt-content.component.d.ts +82 -0
- package/inline-ai-prompt/inlineaiprompt.component.d.ts +150 -0
- package/inline-ai-prompt/inlineaiprompt.service.d.ts +41 -0
- package/inline-ai-prompt/localization/custom-messages.component.d.ts +27 -0
- package/inline-ai-prompt/localization/localized-messages.directive.d.ts +16 -0
- package/inline-ai-prompt/localization/messages.d.ts +25 -0
- package/inline-ai-prompt/models/command.interface.d.ts +38 -0
- package/inline-ai-prompt/models/index.d.ts +12 -0
- package/inline-ai-prompt/models/inlineaiprompt-popupsettings.d.ts +10 -0
- package/inline-ai-prompt/models/inlineaiprompt-settings.d.ts +66 -0
- package/inline-ai-prompt/models/messages.d.ts +21 -0
- package/inline-ai-prompt/models/output-action-click-event.d.ts +19 -0
- package/inline-ai-prompt/models/output-action.interface.d.ts +52 -0
- package/inline-ai-prompt/models/prompt-output.interface.d.ts +25 -0
- package/inline-ai-prompt/models/prompt-request-event.d.ts +17 -0
- package/inline-ai-prompt/output-template.directive.d.ts +27 -0
- package/inline-ai-prompt/utils.d.ts +13 -0
- package/package.json +13 -12
@@ -7,7 +7,7 @@ import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
7
7
|
import { BaseView } from './base-view';
|
8
8
|
import { AIPromptService } from '../common/aiprompt.service';
|
9
9
|
import { AIPromptOutputCardComponent } from '../common/output-card.component';
|
10
|
-
import { NgFor } from '@angular/common';
|
10
|
+
import { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';
|
11
11
|
import * as i0 from "@angular/core";
|
12
12
|
import * as i1 from "@progress/kendo-angular-l10n";
|
13
13
|
import * as i2 from "../common/aiprompt.service";
|
@@ -33,6 +33,12 @@ export class OutputViewComponent extends BaseView {
|
|
33
33
|
get promptOutputs() {
|
34
34
|
return this.service.promptOutputs;
|
35
35
|
}
|
36
|
+
/**
|
37
|
+
* @hidden
|
38
|
+
*/
|
39
|
+
get customTemplate() {
|
40
|
+
return this.service.outputTemplate?.templateRef;
|
41
|
+
}
|
36
42
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutputViewComponent, deps: [{ token: i1.LocalizationService }, { token: i2.AIPromptService }], target: i0.ɵɵFactoryTarget.Component });
|
37
43
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OutputViewComponent, isStandalone: true, selector: "kendo-aiprompt-output-view", providers: [{
|
38
44
|
provide: BaseView,
|
@@ -42,13 +48,18 @@ export class OutputViewComponent extends BaseView {
|
|
42
48
|
<div
|
43
49
|
class="k-card-list"
|
44
50
|
role="list">
|
45
|
-
<
|
46
|
-
|
47
|
-
|
48
|
-
|
51
|
+
<ng-container *ngFor="let output of promptOutputs">
|
52
|
+
<ng-container *ngIf="customTemplate; else defaultTemplate">
|
53
|
+
<ng-container *ngTemplateOutlet="customTemplate; context: { $implicit: output }">
|
54
|
+
</ng-container>
|
55
|
+
</ng-container>
|
56
|
+
<ng-template #defaultTemplate>
|
57
|
+
<div kendoAIPromptOutputCard [promptOutput]="output"></div>
|
58
|
+
</ng-template>
|
59
|
+
</ng-container>
|
49
60
|
</div>
|
50
61
|
</ng-template>
|
51
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AIPromptOutputCardComponent, selector: "[kendoAIPromptOutputCard]", inputs: ["promptOutput"] }] });
|
62
|
+
`, 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"] }] });
|
52
63
|
}
|
53
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutputViewComponent, decorators: [{
|
54
65
|
type: Component,
|
@@ -63,14 +74,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
63
74
|
<div
|
64
75
|
class="k-card-list"
|
65
76
|
role="list">
|
66
|
-
<
|
67
|
-
|
68
|
-
|
69
|
-
|
77
|
+
<ng-container *ngFor="let output of promptOutputs">
|
78
|
+
<ng-container *ngIf="customTemplate; else defaultTemplate">
|
79
|
+
<ng-container *ngTemplateOutlet="customTemplate; context: { $implicit: output }">
|
80
|
+
</ng-container>
|
81
|
+
</ng-container>
|
82
|
+
<ng-template #defaultTemplate>
|
83
|
+
<div kendoAIPromptOutputCard [promptOutput]="output"></div>
|
84
|
+
</ng-template>
|
85
|
+
</ng-container>
|
70
86
|
</div>
|
71
87
|
</ng-template>
|
72
88
|
`,
|
73
89
|
standalone: true,
|
74
|
-
imports: [NgFor, AIPromptOutputCardComponent]
|
90
|
+
imports: [NgFor, AIPromptOutputCardComponent, NgIf, NgTemplateOutlet]
|
75
91
|
}]
|
76
92
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.AIPromptService }]; } });
|
@@ -2,13 +2,13 @@
|
|
2
2
|
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
5
|
-
import { Component, forwardRef } from '@angular/core';
|
5
|
+
import { Component, forwardRef, isDevMode } from '@angular/core';
|
6
6
|
import { NgIf, NgFor } from '@angular/common';
|
7
7
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
8
8
|
import { guid } from '@progress/kendo-angular-common';
|
9
9
|
import { chevronDownIcon, chevronUpIcon } from '@progress/kendo-svg-icons';
|
10
|
-
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
11
|
-
import { TextAreaComponent } from '@progress/kendo-angular-inputs';
|
10
|
+
import { ButtonComponent, SpeechToTextButtonComponent } from '@progress/kendo-angular-buttons';
|
11
|
+
import { TextAreaComponent, TextAreaSuffixComponent } from '@progress/kendo-angular-inputs';
|
12
12
|
import { BaseView } from './base-view';
|
13
13
|
import { AIPromptService } from '../common/aiprompt.service';
|
14
14
|
import * as i0 from "@angular/core";
|
@@ -68,6 +68,42 @@ export class PromptViewComponent extends BaseView {
|
|
68
68
|
suggestionClick(suggestion) {
|
69
69
|
this.textAreaValue = this.service.promptValue = suggestion;
|
70
70
|
}
|
71
|
+
/**
|
72
|
+
* @hidden
|
73
|
+
*/
|
74
|
+
suggestionKeydown(event, suggestion) {
|
75
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
76
|
+
this.suggestionClick(suggestion);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
/**
|
80
|
+
* @hidden
|
81
|
+
*/
|
82
|
+
get speechToTextButtonSettings() {
|
83
|
+
return this.service.speechToTextButton;
|
84
|
+
}
|
85
|
+
/**
|
86
|
+
* @hidden
|
87
|
+
*/
|
88
|
+
get textareaSettings() {
|
89
|
+
return this.service.textAreaSettings;
|
90
|
+
}
|
91
|
+
/**
|
92
|
+
* @hidden
|
93
|
+
*/
|
94
|
+
onSpeechToTextResult(event) {
|
95
|
+
if (event.alternatives && event.alternatives.length > 0) {
|
96
|
+
this.textAreaValue += event.alternatives[0].transcript + ' ';
|
97
|
+
}
|
98
|
+
}
|
99
|
+
/**
|
100
|
+
* @hidden
|
101
|
+
*/
|
102
|
+
onSpeechToTextError(event) {
|
103
|
+
if (isDevMode()) {
|
104
|
+
console.error('Speech to Text error:', event.errorMessage);
|
105
|
+
}
|
106
|
+
}
|
71
107
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PromptViewComponent, deps: [{ token: i1.LocalizationService }, { token: i2.AIPromptService }], target: i0.ɵɵFactoryTarget.Component });
|
72
108
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PromptViewComponent, isStandalone: true, selector: "kendo-aiprompt-prompt-view", providers: [
|
73
109
|
{
|
@@ -77,9 +113,44 @@ export class PromptViewComponent extends BaseView {
|
|
77
113
|
], usesInheritance: true, ngImport: i0, template: `
|
78
114
|
<ng-template #content>
|
79
115
|
<kendo-textarea
|
80
|
-
[
|
81
|
-
[
|
82
|
-
[
|
116
|
+
[cols]="textareaSettings?.cols"
|
117
|
+
[disabled]="textareaSettings?.disabled"
|
118
|
+
[fillMode]="textareaSettings?.fillMode"
|
119
|
+
[flow]="textareaSettings?.flow ?? 'vertical'"
|
120
|
+
[inputAttributes]="textareaSettings?.inputAttributes"
|
121
|
+
[maxlength]="textareaSettings?.maxlength"
|
122
|
+
[placeholder]="textareaSettings?.placeholder ?? messageFor('promptPlaceholder')"
|
123
|
+
[readonly]="textareaSettings?.readonly"
|
124
|
+
[resizable]="textareaSettings?.resizable ?? 'vertical'"
|
125
|
+
[rounded]="textareaSettings?.rounded"
|
126
|
+
[rows]="textareaSettings?.rows ?? 1"
|
127
|
+
[selectOnFocus]="textareaSettings?.selectOnFocus"
|
128
|
+
[showSuffixSeparator]="textareaSettings?.showSuffixSeparator ?? true"
|
129
|
+
[size]="textareaSettings?.size"
|
130
|
+
[tabIndex]="textareaSettings?.tabindex"
|
131
|
+
[title]="textareaSettings?.title"
|
132
|
+
[(value)]="textAreaValue"
|
133
|
+
>
|
134
|
+
<kendo-textarea-suffix *ngIf="speechToTextButtonSettings">
|
135
|
+
<button kendoSpeechToTextButton
|
136
|
+
role="button"
|
137
|
+
[continuous]="speechToTextButtonSettings?.continuous"
|
138
|
+
[disabled]="speechToTextButtonSettings?.disabled"
|
139
|
+
[fillMode]="speechToTextButtonSettings?.fillMode ?? 'flat'"
|
140
|
+
[integrationMode]="speechToTextButtonSettings?.integrationMode ?? 'webSpeech'"
|
141
|
+
[interimResults]="speechToTextButtonSettings?.interimResults"
|
142
|
+
[lang]="speechToTextButtonSettings?.lang"
|
143
|
+
[maxAlternatives]="speechToTextButtonSettings?.maxAlternatives"
|
144
|
+
[rounded]="speechToTextButtonSettings?.rounded"
|
145
|
+
[size]="speechToTextButtonSettings?.size"
|
146
|
+
[themeColor]="speechToTextButtonSettings?.themeColor"
|
147
|
+
[attr.aria-label]="messageFor('speechToTextButton')"
|
148
|
+
[attr.title]="messageFor('speechToTextButton')"
|
149
|
+
[attr.aria-disabled]="speechToTextButtonSettings?.disabled"
|
150
|
+
(error)="onSpeechToTextError($event)"
|
151
|
+
(result)="onSpeechToTextResult($event)"
|
152
|
+
></button>
|
153
|
+
</kendo-textarea-suffix>
|
83
154
|
</kendo-textarea>
|
84
155
|
<div *ngIf="promptSuggestions"
|
85
156
|
class="k-prompt-expander">
|
@@ -97,16 +168,22 @@ export class PromptViewComponent extends BaseView {
|
|
97
168
|
class="k-prompt-expander-content"
|
98
169
|
role="list"
|
99
170
|
[attr.id]="contentId">
|
100
|
-
<div
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
171
|
+
<div class="k-suggestion-group" role="group">
|
172
|
+
<div *ngFor="let suggestion of promptSuggestions"
|
173
|
+
class="k-suggestion"
|
174
|
+
role="button"
|
175
|
+
[attr.tabindex]="0"
|
176
|
+
[attr.aria-label]="suggestion"
|
177
|
+
[attr.title]="suggestion"
|
178
|
+
(click)="suggestionClick(suggestion)"
|
179
|
+
(keydown)="suggestionKeydown($event, suggestion)">
|
180
|
+
{{suggestion}}
|
181
|
+
</div>
|
105
182
|
</div>
|
106
183
|
</div>
|
107
184
|
</div>
|
108
185
|
</ng-template>
|
109
|
-
`, 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"] }] });
|
186
|
+
`, isInline: true, dependencies: [{ kind: "component", type: TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "inputAttributes", "adornmentsOrientation", "rows", "cols", "maxlength", "maxResizableRows", "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"] }] });
|
110
187
|
}
|
111
188
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PromptViewComponent, decorators: [{
|
112
189
|
type: Component,
|
@@ -121,9 +198,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
121
198
|
template: `
|
122
199
|
<ng-template #content>
|
123
200
|
<kendo-textarea
|
124
|
-
[
|
125
|
-
[
|
126
|
-
[
|
201
|
+
[cols]="textareaSettings?.cols"
|
202
|
+
[disabled]="textareaSettings?.disabled"
|
203
|
+
[fillMode]="textareaSettings?.fillMode"
|
204
|
+
[flow]="textareaSettings?.flow ?? 'vertical'"
|
205
|
+
[inputAttributes]="textareaSettings?.inputAttributes"
|
206
|
+
[maxlength]="textareaSettings?.maxlength"
|
207
|
+
[placeholder]="textareaSettings?.placeholder ?? messageFor('promptPlaceholder')"
|
208
|
+
[readonly]="textareaSettings?.readonly"
|
209
|
+
[resizable]="textareaSettings?.resizable ?? 'vertical'"
|
210
|
+
[rounded]="textareaSettings?.rounded"
|
211
|
+
[rows]="textareaSettings?.rows ?? 1"
|
212
|
+
[selectOnFocus]="textareaSettings?.selectOnFocus"
|
213
|
+
[showSuffixSeparator]="textareaSettings?.showSuffixSeparator ?? true"
|
214
|
+
[size]="textareaSettings?.size"
|
215
|
+
[tabIndex]="textareaSettings?.tabindex"
|
216
|
+
[title]="textareaSettings?.title"
|
217
|
+
[(value)]="textAreaValue"
|
218
|
+
>
|
219
|
+
<kendo-textarea-suffix *ngIf="speechToTextButtonSettings">
|
220
|
+
<button kendoSpeechToTextButton
|
221
|
+
role="button"
|
222
|
+
[continuous]="speechToTextButtonSettings?.continuous"
|
223
|
+
[disabled]="speechToTextButtonSettings?.disabled"
|
224
|
+
[fillMode]="speechToTextButtonSettings?.fillMode ?? 'flat'"
|
225
|
+
[integrationMode]="speechToTextButtonSettings?.integrationMode ?? 'webSpeech'"
|
226
|
+
[interimResults]="speechToTextButtonSettings?.interimResults"
|
227
|
+
[lang]="speechToTextButtonSettings?.lang"
|
228
|
+
[maxAlternatives]="speechToTextButtonSettings?.maxAlternatives"
|
229
|
+
[rounded]="speechToTextButtonSettings?.rounded"
|
230
|
+
[size]="speechToTextButtonSettings?.size"
|
231
|
+
[themeColor]="speechToTextButtonSettings?.themeColor"
|
232
|
+
[attr.aria-label]="messageFor('speechToTextButton')"
|
233
|
+
[attr.title]="messageFor('speechToTextButton')"
|
234
|
+
[attr.aria-disabled]="speechToTextButtonSettings?.disabled"
|
235
|
+
(error)="onSpeechToTextError($event)"
|
236
|
+
(result)="onSpeechToTextResult($event)"
|
237
|
+
></button>
|
238
|
+
</kendo-textarea-suffix>
|
127
239
|
</kendo-textarea>
|
128
240
|
<div *ngIf="promptSuggestions"
|
129
241
|
class="k-prompt-expander">
|
@@ -141,17 +253,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
141
253
|
class="k-prompt-expander-content"
|
142
254
|
role="list"
|
143
255
|
[attr.id]="contentId">
|
144
|
-
<div
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
256
|
+
<div class="k-suggestion-group" role="group">
|
257
|
+
<div *ngFor="let suggestion of promptSuggestions"
|
258
|
+
class="k-suggestion"
|
259
|
+
role="button"
|
260
|
+
[attr.tabindex]="0"
|
261
|
+
[attr.aria-label]="suggestion"
|
262
|
+
[attr.title]="suggestion"
|
263
|
+
(click)="suggestionClick(suggestion)"
|
264
|
+
(keydown)="suggestionKeydown($event, suggestion)">
|
265
|
+
{{suggestion}}
|
266
|
+
</div>
|
149
267
|
</div>
|
150
268
|
</div>
|
151
269
|
</div>
|
152
270
|
</ng-template>
|
153
271
|
`,
|
154
272
|
standalone: true,
|
155
|
-
imports: [TextAreaComponent, NgIf, ButtonComponent, NgFor]
|
273
|
+
imports: [TextAreaComponent, NgIf, ButtonComponent, NgFor, TextAreaSuffixComponent, SpeechToTextButtonComponent]
|
156
274
|
}]
|
157
275
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.AIPromptService }]; } });
|
@@ -138,7 +138,7 @@ export class MessageBoxComponent {
|
|
138
138
|
</ng-container>
|
139
139
|
|
140
140
|
<ng-template *ngIf="messageBoxTemplate" [ngTemplateOutlet]="messageBoxTemplate?.templateRef"></ng-template>
|
141
|
-
`, isInline: true, dependencies: [{ 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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { 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: "component", type: InputSeparatorComponent, selector: "kendo-input-separator, kendo-textbox-separator", inputs: ["orientation"] }, { kind: "directive", type: TextBoxSuffixTemplateDirective, selector: "[kendoTextBoxSuffixTemplate]", inputs: ["showSeparator"] }, { kind: "component", type: TextAreaSuffixComponent, selector: "kendo-textarea-suffix", inputs: ["flow", "orientation"], exportAs: ["kendoTextAreaSuffix"] }] });
|
141
|
+
`, isInline: true, dependencies: [{ 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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "component", type: TextAreaComponent, selector: "kendo-textarea", inputs: ["focusableId", "flow", "inputAttributes", "adornmentsOrientation", "rows", "cols", "maxlength", "maxResizableRows", "tabindex", "tabIndex", "resizable", "size", "rounded", "fillMode", "showPrefixSeparator", "showSuffixSeparator"], outputs: ["focus", "blur", "valueChange"], exportAs: ["kendoTextArea"] }, { kind: "component", type: InputSeparatorComponent, selector: "kendo-input-separator, kendo-textbox-separator", inputs: ["orientation"] }, { kind: "directive", type: TextBoxSuffixTemplateDirective, selector: "[kendoTextBoxSuffixTemplate]", inputs: ["showSeparator"] }, { kind: "component", type: TextAreaSuffixComponent, selector: "kendo-textarea-suffix", inputs: ["flow", "orientation"], exportAs: ["kendoTextAreaSuffix"] }] });
|
142
142
|
}
|
143
143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MessageBoxComponent, decorators: [{
|
144
144
|
type: Component,
|
@@ -17,12 +17,17 @@ import * as i5 from "./ai-prompt/views/custom-view.component";
|
|
17
17
|
import * as i6 from "./ai-prompt/localization/custom-messages.component";
|
18
18
|
import * as i7 from "./ai-prompt/templates/toolbar-actions.template";
|
19
19
|
import * as i8 from "./ai-prompt/common/toolbar-focusable.directive";
|
20
|
-
import * as i9 from "./
|
21
|
-
import * as i10 from "./
|
22
|
-
import * as i11 from "./chat/
|
23
|
-
import * as i12 from "./chat/
|
24
|
-
import * as i13 from "./chat/
|
25
|
-
import * as i14 from "./chat/message-
|
20
|
+
import * as i9 from "./ai-prompt/templates/aiprompt-output-template.directive";
|
21
|
+
import * as i10 from "./ai-prompt/templates/aiprompt-output-body-template.directive";
|
22
|
+
import * as i11 from "./chat/chat.component";
|
23
|
+
import * as i12 from "./chat/l10n/custom-messages.component";
|
24
|
+
import * as i13 from "./chat/attachment-template.directive";
|
25
|
+
import * as i14 from "./chat/message-template.directive";
|
26
|
+
import * as i15 from "./chat/cards/hero-card.component";
|
27
|
+
import * as i16 from "./chat/message-box.directive";
|
28
|
+
import * as i17 from "./inline-ai-prompt/inlineaiprompt.component";
|
29
|
+
import * as i18 from "./inline-ai-prompt/output-template.directive";
|
30
|
+
import * as i19 from "./inline-ai-prompt/localization/custom-messages.component";
|
26
31
|
// IMPORTANT: NgModule export kept for backwards compatibility
|
27
32
|
/**
|
28
33
|
* Represents the [`NgModule`](link:site.data.urls.angular['ngmodules']) for the Conversational UI components.
|
@@ -44,8 +49,8 @@ import * as i14 from "./chat/message-box.directive";
|
|
44
49
|
*/
|
45
50
|
export class ConversationalUIModule {
|
46
51
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
47
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, imports: [i1.AIPromptComponent, i2.PromptViewComponent, i3.OutputViewComponent, i4.CommandViewComponent, i5.CustomViewComponent, i6.AIPromptCustomMessagesComponent, i7.AIPromptToolbarActionsDirective, i8.AIPromptToolbarFocusableDirective, i9.
|
48
|
-
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: [i1.AIPromptComponent, i2.PromptViewComponent, i3.OutputViewComponent, i4.CommandViewComponent,
|
52
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, imports: [i1.AIPromptComponent, i2.PromptViewComponent, i3.OutputViewComponent, i4.CommandViewComponent, i5.CustomViewComponent, i6.AIPromptCustomMessagesComponent, i7.AIPromptToolbarActionsDirective, i8.AIPromptToolbarFocusableDirective, i9.AIPromptOutputTemplateDirective, i10.AIPromptOutputBodyTemplateDirective, i11.ChatComponent, i12.CustomMessagesComponent, i13.AttachmentTemplateDirective, i14.MessageTemplateDirective, i15.HeroCardComponent, i16.ChatMessageBoxTemplateDirective, i17.InlineAIPromptComponent, i18.InlineAIPromptOutputTemplateDirective, i19.InlineAIPromptCustomMessagesComponent], exports: [i1.AIPromptComponent, i2.PromptViewComponent, i3.OutputViewComponent, i4.CommandViewComponent, i5.CustomViewComponent, i6.AIPromptCustomMessagesComponent, i7.AIPromptToolbarActionsDirective, i8.AIPromptToolbarFocusableDirective, i9.AIPromptOutputTemplateDirective, i10.AIPromptOutputBodyTemplateDirective, i11.ChatComponent, i12.CustomMessagesComponent, i13.AttachmentTemplateDirective, i14.MessageTemplateDirective, i15.HeroCardComponent, i16.ChatMessageBoxTemplateDirective, i17.InlineAIPromptComponent, i18.InlineAIPromptOutputTemplateDirective, i19.InlineAIPromptCustomMessagesComponent] });
|
53
|
+
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: [i1.AIPromptComponent, i2.PromptViewComponent, i3.OutputViewComponent, i4.CommandViewComponent, i11.ChatComponent, i15.HeroCardComponent, i17.InlineAIPromptComponent] });
|
49
54
|
}
|
50
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConversationalUIModule, decorators: [{
|
51
56
|
type: NgModule,
|
package/esm2022/directives.mjs
CHANGED
@@ -15,6 +15,11 @@ import { AttachmentTemplateDirective } from "./chat/attachment-template.directiv
|
|
15
15
|
import { MessageTemplateDirective } from "./chat/message-template.directive";
|
16
16
|
import { HeroCardComponent } from "./chat/cards/hero-card.component";
|
17
17
|
import { ChatMessageBoxTemplateDirective } from "./chat/message-box.directive";
|
18
|
+
import { AIPromptOutputBodyTemplateDirective } from "./ai-prompt/templates/aiprompt-output-body-template.directive";
|
19
|
+
import { AIPromptOutputTemplateDirective } from "./ai-prompt/templates/aiprompt-output-template.directive";
|
20
|
+
import { InlineAIPromptComponent } from "./inline-ai-prompt/inlineaiprompt.component";
|
21
|
+
import { InlineAIPromptOutputTemplateDirective } from "./inline-ai-prompt/output-template.directive";
|
22
|
+
import { InlineAIPromptCustomMessagesComponent } from "./inline-ai-prompt/localization/custom-messages.component";
|
18
23
|
/**
|
19
24
|
* Utility array that contains all AIPrompt related components and directives.
|
20
25
|
*
|
@@ -40,7 +45,9 @@ export const KENDO_AIPROMPT = [
|
|
40
45
|
CustomViewComponent,
|
41
46
|
AIPromptCustomMessagesComponent,
|
42
47
|
AIPromptToolbarActionsDirective,
|
43
|
-
AIPromptToolbarFocusableDirective
|
48
|
+
AIPromptToolbarFocusableDirective,
|
49
|
+
AIPromptOutputTemplateDirective,
|
50
|
+
AIPromptOutputBodyTemplateDirective,
|
44
51
|
];
|
45
52
|
/**
|
46
53
|
* Utility array that contains all Chat related components and directives.
|
@@ -67,6 +74,11 @@ export const KENDO_CHAT = [
|
|
67
74
|
HeroCardComponent,
|
68
75
|
ChatMessageBoxTemplateDirective
|
69
76
|
];
|
77
|
+
export const KENDO_INLINEAIPROMPT = [
|
78
|
+
InlineAIPromptComponent,
|
79
|
+
InlineAIPromptOutputTemplateDirective,
|
80
|
+
InlineAIPromptCustomMessagesComponent
|
81
|
+
];
|
70
82
|
/**
|
71
83
|
* Utility array that contains all `@progress/kendo-angular-conversational-ui` related components and directives.
|
72
84
|
*
|
@@ -89,5 +101,6 @@ export const KENDO_CHAT = [
|
|
89
101
|
*/
|
90
102
|
export const KENDO_CONVERSATIONALUI = [
|
91
103
|
...KENDO_AIPROMPT,
|
92
|
-
...KENDO_CHAT
|
104
|
+
...KENDO_CHAT,
|
105
|
+
...KENDO_INLINEAIPROMPT
|
93
106
|
];
|
package/esm2022/index.mjs
CHANGED
@@ -14,6 +14,13 @@ export { AIPromptComponent } from './ai-prompt/aiprompt.component';
|
|
14
14
|
export { AIPromptCustomMessagesComponent } from './ai-prompt/localization/custom-messages.component';
|
15
15
|
export { AIPromptToolbarActionsDirective } from './ai-prompt/templates/toolbar-actions.template';
|
16
16
|
export { AIPromptToolbarFocusableDirective } from './ai-prompt/common/toolbar-focusable.directive';
|
17
|
+
export { AIPromptOutputTemplateDirective } from './ai-prompt/templates/aiprompt-output-template.directive';
|
18
|
+
export { AIPromptOutputBodyTemplateDirective } from './ai-prompt/templates/aiprompt-output-body-template.directive';
|
17
19
|
export * from './ai-prompt/views';
|
18
20
|
export * from './ai-prompt/models';
|
21
|
+
export { InlineAIPromptComponent } from './inline-ai-prompt/inlineaiprompt.component';
|
22
|
+
export { InlineAIPromptOutputTemplateDirective } from './inline-ai-prompt/output-template.directive';
|
23
|
+
export { InlineAIPromptService } from './inline-ai-prompt/inlineaiprompt.service';
|
24
|
+
export { InlineAIPromptCustomMessagesComponent } from './inline-ai-prompt/localization/custom-messages.component';
|
25
|
+
export * from './inline-ai-prompt/models';
|
19
26
|
export * from './directives';
|