@progress/kendo-angular-conversational-ui 17.0.0-develop.8 → 17.0.0
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/README.md +36 -17
- package/ai-prompt/aiprompt.component.d.ts +1 -1
- package/ai-prompt/common/output-card.component.d.ts +1 -1
- package/ai-prompt/localization/messages.d.ts +1 -1
- package/ai-prompt/models/prompt-output.interface.d.ts +1 -1
- package/ai-prompt/models/view-type.d.ts +1 -1
- package/ai-prompt/views/base-view.d.ts +1 -1
- package/ai-prompt/views/custom-view.component.d.ts +1 -1
- package/chat/api/action.interface.d.ts +1 -1
- package/chat/api/attachment.interface.d.ts +1 -1
- package/chat/attachment.component.d.ts +1 -1
- package/chat/builtin-actions.d.ts +1 -1
- package/chat/cards/hero-card.component.d.ts +1 -1
- package/chat/chat-view.d.ts +1 -1
- package/chat/chat.component.d.ts +1 -1
- package/chat/common/models/message-box-options.d.ts +1 -1
- package/chat/common/scroll-anchor.directive.d.ts +1 -1
- package/chat/l10n/messages.d.ts +1 -1
- package/chat/message-attachments.component.d.ts +1 -1
- package/chat/message-box.component.d.ts +1 -1
- package/chat/message-list.component.d.ts +1 -1
- package/chat/message.component.d.ts +1 -1
- package/chat/suggested-actions.component.d.ts +1 -2
- package/{esm2020 → esm2022}/ai-prompt/aiprompt.component.mjs +61 -48
- package/{esm2020 → esm2022}/ai-prompt/aiprompt.module.mjs +4 -4
- package/{esm2020 → esm2022}/ai-prompt/common/aiprompt.service.mjs +13 -11
- package/{esm2020 → esm2022}/ai-prompt/common/output-card.component.mjs +19 -16
- package/{esm2020 → esm2022}/ai-prompt/common/toolbar-focusable.directive.mjs +28 -25
- package/{esm2020 → esm2022}/ai-prompt/common/toolbar-navigation.service.mjs +6 -5
- package/{esm2020 → esm2022}/ai-prompt/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/ai-prompt/localization/localized-messages.directive.mjs +9 -8
- package/esm2022/ai-prompt/localization/messages.mjs +71 -0
- package/{esm2020 → esm2022}/ai-prompt/templates/toolbar-actions.template.mjs +4 -3
- package/{esm2020 → esm2022}/ai-prompt/views/base-view.mjs +13 -4
- package/{esm2020 → esm2022}/ai-prompt/views/command-view.component.mjs +12 -11
- package/{esm2020 → esm2022}/ai-prompt/views/custom-view.component.mjs +10 -6
- package/{esm2020 → esm2022}/ai-prompt/views/output-view.component.mjs +8 -7
- package/{esm2020 → esm2022}/ai-prompt/views/prompt-view.component.mjs +18 -17
- package/{esm2020 → esm2022}/chat/api/execute-action-event.mjs +8 -0
- package/{esm2020 → esm2022}/chat/api/post-message-event.mjs +7 -0
- package/{esm2020 → esm2022}/chat/api/preventable-event.mjs +1 -3
- package/{esm2020 → esm2022}/chat/attachment-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/chat/attachment.component.mjs +7 -4
- package/{esm2020 → esm2022}/chat/cards/hero-card.component.mjs +25 -11
- package/{esm2020 → esm2022}/chat/chat-item.mjs +1 -0
- package/{esm2020 → esm2022}/chat/chat.component.mjs +67 -44
- package/{esm2020 → esm2022}/chat/chat.module.mjs +4 -4
- package/{esm2020 → esm2022}/chat/common/scroll-anchor.directive.mjs +11 -7
- package/{esm2020 → esm2022}/chat/l10n/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/chat/l10n/localized-messages.directive.mjs +9 -8
- package/esm2022/chat/l10n/messages.mjs +64 -0
- package/{esm2020 → esm2022}/chat/message-attachments.component.mjs +42 -31
- package/{esm2020 → esm2022}/chat/message-box.component.mjs +16 -12
- package/{esm2020 → esm2022}/chat/message-box.directive.mjs +4 -3
- package/{esm2020 → esm2022}/chat/message-list.component.mjs +32 -22
- package/{esm2020 → esm2022}/chat/message-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/chat/message.component.mjs +17 -11
- package/{esm2020 → esm2022}/chat/suggested-actions.component.mjs +18 -18
- package/{esm2020 → esm2022}/conversational-ui.module.mjs +4 -4
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/{fesm2020 → fesm2022}/progress-kendo-angular-conversational-ui.mjs +578 -378
- package/package.json +18 -24
- package/schematics/ngAdd/index.js +1 -1
- package/esm2020/ai-prompt/localization/messages.mjs +0 -35
- package/esm2020/chat/l10n/messages.mjs +0 -35
- package/fesm2015/progress-kendo-angular-conversational-ui.mjs +0 -3242
- /package/{esm2020 → esm2022}/ai-prompt/models/command-execute-event.mjs +0 -0
- /package/{esm2020 → esm2022}/ai-prompt/models/command.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/ai-prompt/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/ai-prompt/models/output-rating-change-event.mjs +0 -0
- /package/{esm2020 → esm2022}/ai-prompt/models/prompt-output.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/ai-prompt/models/prompt-request-event.mjs +0 -0
- /package/{esm2020 → esm2022}/ai-prompt/models/view-type.mjs +0 -0
- /package/{esm2020 → esm2022}/ai-prompt/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/ai-prompt/views/index.mjs +0 -0
- /package/{esm2020 → esm2022}/chat/api/action.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/chat/api/attachment.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/chat/api/index.mjs +0 -0
- /package/{esm2020 → esm2022}/chat/api/message.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/chat/api/user.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/chat/builtin-actions.mjs +0 -0
- /package/{esm2020 → esm2022}/chat/chat-view.mjs +0 -0
- /package/{esm2020 → esm2022}/chat/chat.directives.mjs +0 -0
- /package/{esm2020 → esm2022}/chat/common/models/message-box-options.mjs +0 -0
- /package/{esm2020 → esm2022}/chat/common/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/directives.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-conversational-ui.mjs +0 -0
@@ -11,32 +11,13 @@ import * as i1 from "./toolbar-navigation.service";
|
|
11
11
|
* @hidden
|
12
12
|
*/
|
13
13
|
export class AIPromptToolbarFocusableDirective {
|
14
|
+
host;
|
15
|
+
navigationService;
|
16
|
+
renderer;
|
14
17
|
constructor(host, navigationService, renderer) {
|
15
18
|
this.host = host;
|
16
19
|
this.navigationService = navigationService;
|
17
20
|
this.renderer = renderer;
|
18
|
-
this.keyDownHandler = (e) => {
|
19
|
-
const targetsSelf = e.target === this.element;
|
20
|
-
const isLeftArrow = e.keyCode === Keys.ArrowLeft;
|
21
|
-
const isRightArrow = e.keyCode === Keys.ArrowRight;
|
22
|
-
const isArrow = isLeftArrow || isRightArrow;
|
23
|
-
if (!targetsSelf || !isArrow) {
|
24
|
-
return;
|
25
|
-
}
|
26
|
-
this.renderer.setAttribute(this.element, 'tabindex', '-1');
|
27
|
-
this.element.querySelectorAll(focusableSelector).forEach(el => {
|
28
|
-
this.renderer.setAttribute(el, 'tabindex', '-1');
|
29
|
-
});
|
30
|
-
if (isRightArrow) {
|
31
|
-
this.navigationService.move('right');
|
32
|
-
}
|
33
|
-
else if (isLeftArrow) {
|
34
|
-
this.navigationService.move('left');
|
35
|
-
}
|
36
|
-
};
|
37
|
-
this.clickHandler = () => {
|
38
|
-
this.navigationService.setActiveIndex(this);
|
39
|
-
};
|
40
21
|
navigationService.register(this);
|
41
22
|
}
|
42
23
|
get element() {
|
@@ -56,10 +37,32 @@ export class AIPromptToolbarFocusableDirective {
|
|
56
37
|
this.renderer.setAttribute(this.element, 'tabindex', '0');
|
57
38
|
this.element.focus();
|
58
39
|
}
|
40
|
+
keyDownHandler = (e) => {
|
41
|
+
const targetsSelf = e.target === this.element;
|
42
|
+
const isLeftArrow = e.keyCode === Keys.ArrowLeft;
|
43
|
+
const isRightArrow = e.keyCode === Keys.ArrowRight;
|
44
|
+
const isArrow = isLeftArrow || isRightArrow;
|
45
|
+
if (!targetsSelf || !isArrow) {
|
46
|
+
return;
|
47
|
+
}
|
48
|
+
this.renderer.setAttribute(this.element, 'tabindex', '-1');
|
49
|
+
this.element.querySelectorAll(focusableSelector).forEach(el => {
|
50
|
+
this.renderer.setAttribute(el, 'tabindex', '-1');
|
51
|
+
});
|
52
|
+
if (isRightArrow) {
|
53
|
+
this.navigationService.move('right');
|
54
|
+
}
|
55
|
+
else if (isLeftArrow) {
|
56
|
+
this.navigationService.move('left');
|
57
|
+
}
|
58
|
+
};
|
59
|
+
clickHandler = () => {
|
60
|
+
this.navigationService.setActiveIndex(this);
|
61
|
+
};
|
62
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptToolbarFocusableDirective, deps: [{ token: i0.ElementRef }, { token: i1.ToolbarNavigationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
63
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AIPromptToolbarFocusableDirective, isStandalone: true, selector: "[kendoAIPromptToolbarFocusable]", ngImport: i0 });
|
59
64
|
}
|
60
|
-
|
61
|
-
AIPromptToolbarFocusableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AIPromptToolbarFocusableDirective, isStandalone: true, selector: "[kendoAIPromptToolbarFocusable]", ngImport: i0 });
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AIPromptToolbarFocusableDirective, decorators: [{
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptToolbarFocusableDirective, decorators: [{
|
63
66
|
type: Directive,
|
64
67
|
args: [{
|
65
68
|
selector: '[kendoAIPromptToolbarFocusable]',
|
@@ -10,10 +10,11 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
10
10
|
* @hidden
|
11
11
|
*/
|
12
12
|
export class ToolbarNavigationService {
|
13
|
+
localizationService;
|
14
|
+
focusableElements = [];
|
15
|
+
currentFocusedIndex = 0;
|
13
16
|
constructor(localizationService) {
|
14
17
|
this.localizationService = localizationService;
|
15
|
-
this.focusableElements = [];
|
16
|
-
this.currentFocusedIndex = 0;
|
17
18
|
}
|
18
19
|
register(tool) {
|
19
20
|
if (!this.focusableElements.some(el => el === tool)) {
|
@@ -47,9 +48,9 @@ export class ToolbarNavigationService {
|
|
47
48
|
focusFirst() {
|
48
49
|
this.focusableElements[this.currentFocusedIndex].activate();
|
49
50
|
}
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarNavigationService, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
|
52
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarNavigationService });
|
50
53
|
}
|
51
|
-
|
52
|
-
ToolbarNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarNavigationService });
|
53
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarNavigationService, decorators: [{
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ToolbarNavigationService, decorators: [{
|
54
55
|
type: Injectable
|
55
56
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
|
@@ -12,6 +12,7 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
12
12
|
* ([see example]({% slug globalization_chat %}#toc-custom-messages)).
|
13
13
|
*/
|
14
14
|
export class AIPromptCustomMessagesComponent extends Messages {
|
15
|
+
service;
|
15
16
|
constructor(service) {
|
16
17
|
super();
|
17
18
|
this.service = service;
|
@@ -19,15 +20,15 @@ export class AIPromptCustomMessagesComponent extends Messages {
|
|
19
20
|
get override() {
|
20
21
|
return true;
|
21
22
|
}
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
24
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AIPromptCustomMessagesComponent, isStandalone: true, selector: "kendo-aiprompt-messages", providers: [
|
25
|
+
{
|
26
|
+
provide: Messages,
|
27
|
+
useExisting: forwardRef(() => AIPromptCustomMessagesComponent)
|
28
|
+
}
|
29
|
+
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
22
30
|
}
|
23
|
-
|
24
|
-
AIPromptCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AIPromptCustomMessagesComponent, isStandalone: true, selector: "kendo-aiprompt-messages", providers: [
|
25
|
-
{
|
26
|
-
provide: Messages,
|
27
|
-
useExisting: forwardRef(() => AIPromptCustomMessagesComponent)
|
28
|
-
}
|
29
|
-
], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AIPromptCustomMessagesComponent, decorators: [{
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptCustomMessagesComponent, decorators: [{
|
31
32
|
type: Component,
|
32
33
|
args: [{
|
33
34
|
providers: [
|
@@ -11,19 +11,20 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
11
11
|
* @hidden
|
12
12
|
*/
|
13
13
|
export class LocalizedMessagesDirective extends Messages {
|
14
|
+
service;
|
14
15
|
constructor(service) {
|
15
16
|
super();
|
16
17
|
this.service = service;
|
17
18
|
}
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
20
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoAIPromptLocalizedMessages]", providers: [
|
21
|
+
{
|
22
|
+
provide: Messages,
|
23
|
+
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
24
|
+
}
|
25
|
+
], usesInheritance: true, ngImport: i0 });
|
18
26
|
}
|
19
|
-
|
20
|
-
LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedMessagesDirective, isStandalone: true, selector: "[kendoAIPromptLocalizedMessages]", providers: [
|
21
|
-
{
|
22
|
-
provide: Messages,
|
23
|
-
useExisting: forwardRef(() => LocalizedMessagesDirective)
|
24
|
-
}
|
25
|
-
], usesInheritance: true, ngImport: i0 });
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
|
27
28
|
type: Directive,
|
28
29
|
args: [{
|
29
30
|
providers: [
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/**-----------------------------------------------------------------------------------------
|
2
|
+
* Copyright © 2024 Progress Software Corporation. All rights reserved.
|
3
|
+
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
4
|
+
*-------------------------------------------------------------------------------------------*/
|
5
|
+
import { Directive, Input } from '@angular/core';
|
6
|
+
import { ComponentMessages } from '@progress/kendo-angular-l10n';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
/**
|
9
|
+
* @hidden
|
10
|
+
*/
|
11
|
+
export class Messages extends ComponentMessages {
|
12
|
+
/**
|
13
|
+
* The Toolbar button text for the Prompt view.
|
14
|
+
*/
|
15
|
+
promptView;
|
16
|
+
/**
|
17
|
+
* The Toolbar button text for the Output view.
|
18
|
+
*/
|
19
|
+
outputView;
|
20
|
+
/**
|
21
|
+
* The text for the Generate button in the Prompt view.
|
22
|
+
*/
|
23
|
+
generateOutput;
|
24
|
+
/**
|
25
|
+
* The placeholder text for the Prompt View text area.
|
26
|
+
*/
|
27
|
+
promptPlaceholder;
|
28
|
+
/**
|
29
|
+
* The Copy button text in each Output view card.
|
30
|
+
*/
|
31
|
+
copyOutput;
|
32
|
+
/**
|
33
|
+
* The Retry button text in each Output view card.
|
34
|
+
*/
|
35
|
+
retryGeneration;
|
36
|
+
/**
|
37
|
+
* The title of each Output view card.
|
38
|
+
*/
|
39
|
+
outputTitle;
|
40
|
+
/**
|
41
|
+
* The title of each Output view retry card.
|
42
|
+
*/
|
43
|
+
outputRetryTitle;
|
44
|
+
/**
|
45
|
+
* The title of the Prompt suggestions button.
|
46
|
+
*/
|
47
|
+
promptSuggestions;
|
48
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
49
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: Messages, inputs: { promptView: "promptView", outputView: "outputView", generateOutput: "generateOutput", promptPlaceholder: "promptPlaceholder", copyOutput: "copyOutput", retryGeneration: "retryGeneration", outputTitle: "outputTitle", outputRetryTitle: "outputRetryTitle", promptSuggestions: "promptSuggestions" }, usesInheritance: true, ngImport: i0 });
|
50
|
+
}
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, decorators: [{
|
52
|
+
type: Directive
|
53
|
+
}], propDecorators: { promptView: [{
|
54
|
+
type: Input
|
55
|
+
}], outputView: [{
|
56
|
+
type: Input
|
57
|
+
}], generateOutput: [{
|
58
|
+
type: Input
|
59
|
+
}], promptPlaceholder: [{
|
60
|
+
type: Input
|
61
|
+
}], copyOutput: [{
|
62
|
+
type: Input
|
63
|
+
}], retryGeneration: [{
|
64
|
+
type: Input
|
65
|
+
}], outputTitle: [{
|
66
|
+
type: Input
|
67
|
+
}], outputRetryTitle: [{
|
68
|
+
type: Input
|
69
|
+
}], promptSuggestions: [{
|
70
|
+
type: Input
|
71
|
+
}] } });
|
@@ -11,13 +11,14 @@ import * as i0 from "@angular/core";
|
|
11
11
|
* with the `kendoAIPromptToolbarActionsTemplate` directive inside the `<kendo-aiprompt>` tag.
|
12
12
|
*/
|
13
13
|
export class AIPromptToolbarActionsDirective {
|
14
|
+
templateRef;
|
14
15
|
constructor(templateRef) {
|
15
16
|
this.templateRef = templateRef;
|
16
17
|
}
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptToolbarActionsDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
19
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AIPromptToolbarActionsDirective, isStandalone: true, selector: "[kendoAIPromptToolbarActionsTemplate]", ngImport: i0 });
|
17
20
|
}
|
18
|
-
|
19
|
-
AIPromptToolbarActionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AIPromptToolbarActionsDirective, isStandalone: true, selector: "[kendoAIPromptToolbarActionsTemplate]", ngImport: i0 });
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AIPromptToolbarActionsDirective, decorators: [{
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AIPromptToolbarActionsDirective, decorators: [{
|
21
22
|
type: Directive,
|
22
23
|
args: [{
|
23
24
|
selector: '[kendoAIPromptToolbarActionsTemplate]',
|
@@ -12,10 +12,16 @@ import * as i1 from "@progress/kendo-angular-l10n";
|
|
12
12
|
* @hidden
|
13
13
|
*/
|
14
14
|
export class BaseView {
|
15
|
+
viewType;
|
16
|
+
localization;
|
17
|
+
hostClasses = true;
|
18
|
+
/**
|
19
|
+
* @hidden
|
20
|
+
*/
|
21
|
+
template;
|
15
22
|
constructor(viewType, localization) {
|
16
23
|
this.viewType = viewType;
|
17
24
|
this.localization = localization;
|
18
|
-
this.hostClasses = true;
|
19
25
|
if (this.viewType !== 'custom') {
|
20
26
|
this.icon = DEFAULT_ICONS[this.viewType];
|
21
27
|
this.svgIcon = DEFAULT_SVG_ICONS[this.viewType];
|
@@ -66,10 +72,13 @@ export class BaseView {
|
|
66
72
|
messageFor(text) {
|
67
73
|
return this.localization.get(text);
|
68
74
|
}
|
75
|
+
_buttonText;
|
76
|
+
_icon;
|
77
|
+
_svgIcon;
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseView, deps: [{ token: MY_TOKEN }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
|
79
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: BaseView, inputs: { buttonText: "buttonText", icon: "icon", svgIcon: "svgIcon" }, host: { properties: { "class.k-prompt-view": "this.hostClasses" } }, viewQueries: [{ propertyName: "template", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0 });
|
69
80
|
}
|
70
|
-
|
71
|
-
BaseView.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: BaseView, inputs: { buttonText: "buttonText", icon: "icon", svgIcon: "svgIcon" }, host: { properties: { "class.k-prompt-view": "this.hostClasses" } }, viewQueries: [{ propertyName: "template", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0 });
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseView, decorators: [{
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseView, decorators: [{
|
73
82
|
type: Directive
|
74
83
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
75
84
|
type: Inject,
|
@@ -14,14 +14,15 @@ import * as i2 from "../common/aiprompt.service";
|
|
14
14
|
* The component for rendering the AIPrompt Command View.
|
15
15
|
*/
|
16
16
|
export class CommandViewComponent extends BaseView {
|
17
|
+
service;
|
17
18
|
constructor(localization, service) {
|
18
19
|
super('command', localization);
|
19
20
|
this.service = service;
|
20
|
-
/**
|
21
|
-
* @hidden
|
22
|
-
*/
|
23
|
-
this.panelBarItems = [];
|
24
21
|
}
|
22
|
+
/**
|
23
|
+
* @hidden
|
24
|
+
*/
|
25
|
+
panelBarItems = [];
|
25
26
|
ngOnInit() {
|
26
27
|
if (this.service.promptCommands) {
|
27
28
|
this.panelBarItems = this.getPanelBarItems(this.service.promptCommands);
|
@@ -53,12 +54,11 @@ export class CommandViewComponent extends BaseView {
|
|
53
54
|
children: c.children ? this.getPanelBarItems(c.children) : null
|
54
55
|
}));
|
55
56
|
}
|
56
|
-
}
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
}], usesInheritance: true, ngImport: i0, template: `
|
57
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommandViewComponent, deps: [{ token: i1.LocalizationService }, { token: i2.AIPromptService }], target: i0.ɵɵFactoryTarget.Component });
|
58
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CommandViewComponent, isStandalone: true, selector: "kendo-aiprompt-command-view", providers: [{
|
59
|
+
provide: BaseView,
|
60
|
+
useExisting: forwardRef(() => CommandViewComponent)
|
61
|
+
}], usesInheritance: true, ngImport: i0, template: `
|
62
62
|
<ng-template #content>
|
63
63
|
<kendo-panelbar
|
64
64
|
[items]="panelBarItems"
|
@@ -68,7 +68,8 @@ CommandViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
68
68
|
></kendo-panelbar>
|
69
69
|
</ng-template>
|
70
70
|
`, isInline: true, dependencies: [{ kind: "component", type: PanelBarComponent, selector: "kendo-panelbar", inputs: ["expandMode", "selectable", "animate", "height", "keepItemContent", "items"], outputs: ["stateChange", "select", "expand", "collapse", "itemClick"], exportAs: ["kendoPanelbar"] }] });
|
71
|
-
|
71
|
+
}
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CommandViewComponent, decorators: [{
|
72
73
|
type: Component,
|
73
74
|
args: [{
|
74
75
|
selector: 'kendo-aiprompt-command-view',
|
@@ -14,13 +14,17 @@ export class CustomViewComponent extends BaseView {
|
|
14
14
|
constructor(localization) {
|
15
15
|
super('custom', localization);
|
16
16
|
}
|
17
|
+
/**
|
18
|
+
* Sets the content of the Custom view as a template reference.
|
19
|
+
*/
|
20
|
+
viewTemplate;
|
21
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomViewComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
22
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomViewComponent, isStandalone: true, selector: "kendo-aiprompt-custom-view", inputs: { viewTemplate: "viewTemplate" }, providers: [{
|
23
|
+
provide: BaseView,
|
24
|
+
useExisting: forwardRef(() => CustomViewComponent)
|
25
|
+
}], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
17
26
|
}
|
18
|
-
|
19
|
-
CustomViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomViewComponent, isStandalone: true, selector: "kendo-aiprompt-custom-view", inputs: { viewTemplate: "viewTemplate" }, providers: [{
|
20
|
-
provide: BaseView,
|
21
|
-
useExisting: forwardRef(() => CustomViewComponent)
|
22
|
-
}], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomViewComponent, decorators: [{
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomViewComponent, decorators: [{
|
24
28
|
type: Component,
|
25
29
|
args: [{
|
26
30
|
selector: 'kendo-aiprompt-custom-view',
|
@@ -15,6 +15,7 @@ import * as i2 from "../common/aiprompt.service";
|
|
15
15
|
* The component for rendering the AIPrompt Output View.
|
16
16
|
*/
|
17
17
|
export class OutputViewComponent extends BaseView {
|
18
|
+
service;
|
18
19
|
constructor(localization, service) {
|
19
20
|
super('output', localization);
|
20
21
|
this.service = service;
|
@@ -25,12 +26,11 @@ export class OutputViewComponent extends BaseView {
|
|
25
26
|
get promptOutputs() {
|
26
27
|
return this.service.promptOutputs;
|
27
28
|
}
|
28
|
-
}
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
}], usesInheritance: true, ngImport: i0, template: `
|
29
|
+
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 });
|
30
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OutputViewComponent, isStandalone: true, selector: "kendo-aiprompt-output-view", providers: [{
|
31
|
+
provide: BaseView,
|
32
|
+
useExisting: forwardRef(() => OutputViewComponent)
|
33
|
+
}], usesInheritance: true, ngImport: i0, template: `
|
34
34
|
<ng-template #content>
|
35
35
|
<div
|
36
36
|
class="k-card-list"
|
@@ -42,7 +42,8 @@ OutputViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
42
42
|
</div>
|
43
43
|
</ng-template>
|
44
44
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: AIPromptOutputCardComponent, selector: "[kendoAIPromptOutputCard]", inputs: ["promptOutput"] }] });
|
45
|
-
|
45
|
+
}
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutputViewComponent, decorators: [{
|
46
47
|
type: Component,
|
47
48
|
args: [{
|
48
49
|
selector: 'kendo-aiprompt-output-view',
|
@@ -18,17 +18,10 @@ import * as i2 from "../common/aiprompt.service";
|
|
18
18
|
* The component for rendering the AIPrompt Prompt View.
|
19
19
|
*/
|
20
20
|
export class PromptViewComponent extends BaseView {
|
21
|
+
service;
|
21
22
|
constructor(localization, service) {
|
22
23
|
super('prompt', localization);
|
23
24
|
this.service = service;
|
24
|
-
/**
|
25
|
-
* @hidden
|
26
|
-
*/
|
27
|
-
this.showSuggestions = true;
|
28
|
-
/**
|
29
|
-
* @hidden
|
30
|
-
*/
|
31
|
-
this.contentId = `k-prompt-suggestions-${guid()}`;
|
32
25
|
}
|
33
26
|
/**
|
34
27
|
* @hidden
|
@@ -38,6 +31,14 @@ export class PromptViewComponent extends BaseView {
|
|
38
31
|
{ font: 'chevron-up', svg: chevronUpIcon } :
|
39
32
|
{ font: 'chevron-down', svg: chevronDownIcon };
|
40
33
|
}
|
34
|
+
/**
|
35
|
+
* @hidden
|
36
|
+
*/
|
37
|
+
showSuggestions = true;
|
38
|
+
/**
|
39
|
+
* @hidden
|
40
|
+
*/
|
41
|
+
contentId = `k-prompt-suggestions-${guid()}`;
|
41
42
|
/**
|
42
43
|
* @hidden
|
43
44
|
*/
|
@@ -60,14 +61,13 @@ export class PromptViewComponent extends BaseView {
|
|
60
61
|
suggestionClick(suggestion) {
|
61
62
|
this.textAreaValue = this.service.promptValue = suggestion;
|
62
63
|
}
|
63
|
-
}
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
], usesInheritance: true, ngImport: i0, template: `
|
64
|
+
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 });
|
65
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PromptViewComponent, isStandalone: true, selector: "kendo-aiprompt-prompt-view", providers: [
|
66
|
+
{
|
67
|
+
provide: BaseView,
|
68
|
+
useExisting: forwardRef(() => PromptViewComponent)
|
69
|
+
}
|
70
|
+
], usesInheritance: true, ngImport: i0, template: `
|
71
71
|
<ng-template #content>
|
72
72
|
<kendo-textarea
|
73
73
|
[placeholder]="messageFor('promptPlaceholder')"
|
@@ -100,7 +100,8 @@ PromptViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
100
100
|
</div>
|
101
101
|
</ng-template>
|
102
102
|
`, 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"] }] });
|
103
|
-
|
103
|
+
}
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PromptViewComponent, decorators: [{
|
104
105
|
type: Component,
|
105
106
|
args: [{
|
106
107
|
selector: 'kendo-aiprompt-prompt-view',
|
@@ -8,6 +8,14 @@ import { PreventableEvent } from "./preventable-event";
|
|
8
8
|
* a quick action button. Calling `preventDefault()` suppresses the built-in action handler.
|
9
9
|
*/
|
10
10
|
export class ExecuteActionEvent extends PreventableEvent {
|
11
|
+
/**
|
12
|
+
* The action that will be executed.
|
13
|
+
*/
|
14
|
+
action;
|
15
|
+
/**
|
16
|
+
* The message that contains the action.
|
17
|
+
*/
|
18
|
+
message;
|
11
19
|
/**
|
12
20
|
* @hidden
|
13
21
|
*/
|
@@ -7,6 +7,13 @@
|
|
7
7
|
*
|
8
8
|
*/
|
9
9
|
export class SendMessageEvent {
|
10
|
+
/**
|
11
|
+
* The message which contains the metadata and the user input.
|
12
|
+
*
|
13
|
+
* > The Chat does not automatically append the message to its data.
|
14
|
+
* > For more information, refer to the article on [data binding]({% slug databinding_chat %}).
|
15
|
+
*/
|
16
|
+
message;
|
10
17
|
/**
|
11
18
|
* @hidden
|
12
19
|
*/
|
@@ -17,13 +17,14 @@ import * as i0 from "@angular/core";
|
|
17
17
|
* {% endmeta %}
|
18
18
|
*/
|
19
19
|
export class AttachmentTemplateDirective {
|
20
|
+
templateRef;
|
20
21
|
constructor(templateRef) {
|
21
22
|
this.templateRef = templateRef;
|
22
23
|
}
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AttachmentTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
25
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AttachmentTemplateDirective, isStandalone: true, selector: "[kendoChatAttachmentTemplate]", ngImport: i0 });
|
23
26
|
}
|
24
|
-
|
25
|
-
AttachmentTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: AttachmentTemplateDirective, isStandalone: true, selector: "[kendoChatAttachmentTemplate]", ngImport: i0 });
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AttachmentTemplateDirective, decorators: [{
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AttachmentTemplateDirective, decorators: [{
|
27
28
|
type: Directive,
|
28
29
|
args: [{
|
29
30
|
selector: '[kendoChatAttachmentTemplate]',
|
@@ -19,18 +19,20 @@ export class AttachmentComponent {
|
|
19
19
|
get attachment() {
|
20
20
|
return this._attachment;
|
21
21
|
}
|
22
|
+
template;
|
22
23
|
get image() {
|
23
24
|
return this.contentType.indexOf('image/') === 0;
|
24
25
|
}
|
25
26
|
get unknown() {
|
26
27
|
return !this.image;
|
27
28
|
}
|
29
|
+
context;
|
28
30
|
get contentType() {
|
29
31
|
return this.attachment.contentType || '';
|
30
32
|
}
|
31
|
-
|
32
|
-
|
33
|
-
|
33
|
+
_attachment;
|
34
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AttachmentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
35
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AttachmentComponent, isStandalone: true, selector: "kendo-chat-attachment", inputs: { attachment: "attachment", template: "template" }, ngImport: i0, template: `
|
34
36
|
<ng-container *ngIf="template">
|
35
37
|
<ng-container *ngTemplateOutlet="template.templateRef; context: context;">
|
36
38
|
</ng-container>
|
@@ -51,7 +53,8 @@ AttachmentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
51
53
|
</div>
|
52
54
|
</div>
|
53
55
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
54
|
-
|
56
|
+
}
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AttachmentComponent, decorators: [{
|
55
58
|
type: Component,
|
56
59
|
args: [{
|
57
60
|
selector: 'kendo-chat-attachment',
|
@@ -11,19 +11,32 @@ import * as i0 from "@angular/core";
|
|
11
11
|
* Hero cards host a single large image and action buttons with text content.
|
12
12
|
*/
|
13
13
|
export class HeroCardComponent {
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
14
|
+
/**
|
15
|
+
* The URL of the hero card image.
|
16
|
+
*/
|
17
|
+
imageUrl;
|
18
|
+
/**
|
19
|
+
* The title of the hero card.
|
20
|
+
*/
|
21
|
+
title;
|
22
|
+
/**
|
23
|
+
* The subtitle of the hero card.
|
24
|
+
*/
|
25
|
+
subtitle;
|
26
|
+
/**
|
27
|
+
* An array with the possible quick actions for this hero card.
|
28
|
+
*/
|
29
|
+
actions;
|
30
|
+
cssClass = true;
|
31
|
+
/**
|
32
|
+
* Fires when the user clicks a button.
|
33
|
+
*/
|
34
|
+
executeAction = new EventEmitter();
|
21
35
|
onClick(action) {
|
22
36
|
this.executeAction.next(action);
|
23
37
|
}
|
24
|
-
}
|
25
|
-
|
26
|
-
HeroCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: HeroCardComponent, isStandalone: true, selector: "kendo-chat-hero-card", inputs: { imageUrl: "imageUrl", title: "title", subtitle: "subtitle", actions: "actions" }, outputs: { executeAction: "executeAction" }, host: { properties: { "class.k-card": "this.cssClass" } }, ngImport: i0, template: `
|
38
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeroCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
39
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeroCardComponent, isStandalone: true, selector: "kendo-chat-hero-card", inputs: { imageUrl: "imageUrl", title: "title", subtitle: "subtitle", actions: "actions" }, outputs: { executeAction: "executeAction" }, host: { properties: { "class.k-card": "this.cssClass" } }, ngImport: i0, template: `
|
27
40
|
<img class="k-card-image" [src]="imageUrl" *ngIf="imageUrl" />
|
28
41
|
<div class="k-card-body">
|
29
42
|
<h5 class="k-card-title" *ngIf="title">
|
@@ -46,7 +59,8 @@ HeroCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
46
59
|
</span>
|
47
60
|
</div>
|
48
61
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }] });
|
49
|
-
|
62
|
+
}
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeroCardComponent, decorators: [{
|
50
64
|
type: Component,
|
51
65
|
args: [{
|
52
66
|
selector: 'kendo-chat-hero-card',
|