@progress/kendo-angular-conversational-ui 21.1.1-develop.2 → 21.2.0-develop.2
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/chat/message-list.component.d.ts +2 -2
- package/esm2022/ai-prompt/aiprompt.component.mjs +155 -139
- package/esm2022/ai-prompt/common/output-card.component.mjs +81 -83
- package/esm2022/ai-prompt/views/output-view.component.mjs +27 -29
- package/esm2022/ai-prompt/views/prompt-view.component.mjs +150 -135
- package/esm2022/chat/attachment.component.mjs +53 -37
- package/esm2022/chat/cards/hero-card.component.mjs +48 -35
- package/esm2022/chat/chat-file.component.mjs +32 -29
- package/esm2022/chat/chat.component.mjs +251 -241
- package/esm2022/chat/message-attachments.component.mjs +58 -53
- package/esm2022/chat/message-box.component.mjs +203 -183
- package/esm2022/chat/message-list.component.mjs +247 -207
- package/esm2022/chat/message-reference-content.component.mjs +30 -19
- package/esm2022/chat/message.component.mjs +307 -279
- package/esm2022/chat/suggested-actions.component.mjs +139 -131
- package/esm2022/inline-ai-prompt/inlineaiprompt-content.component.mjs +205 -179
- package/esm2022/package-metadata.mjs +2 -2
- package/fesm2022/progress-kendo-angular-conversational-ui.mjs +1979 -1767
- package/package.json +14 -14
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
6
|
-
import { NgIf, NgFor } from '@angular/common';
|
|
7
6
|
import { ButtonComponent } from '@progress/kendo-angular-buttons';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
/**
|
|
@@ -48,59 +47,73 @@ export class HeroCardComponent {
|
|
|
48
47
|
this.executeAction.next(action);
|
|
49
48
|
}
|
|
50
49
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeroCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
52
|
-
|
|
50
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", 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: `
|
|
51
|
+
@if (imageUrl) {
|
|
52
|
+
<img class="k-card-image" [src]="imageUrl" />
|
|
53
|
+
}
|
|
53
54
|
<div class="k-card-body">
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
@if (title) {
|
|
56
|
+
<h5 class="k-card-title">
|
|
57
|
+
{{ title }}
|
|
58
|
+
</h5>
|
|
59
|
+
}
|
|
60
|
+
@if (subtitle) {
|
|
61
|
+
<h6 class="k-card-subtitle">
|
|
62
|
+
{{ subtitle }}
|
|
63
|
+
</h6>
|
|
64
|
+
}
|
|
60
65
|
</div>
|
|
61
66
|
<div class="k-card-actions k-card-actions-vertical">
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
67
|
+
@for (act of actions; track act) {
|
|
68
|
+
<span class="k-card-action"
|
|
69
|
+
>
|
|
70
|
+
<button
|
|
66
71
|
kendoButton fillMode="flat"
|
|
67
72
|
(click)="onClick(act)"
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
73
|
+
>
|
|
74
|
+
{{ act.title }}
|
|
75
|
+
</button>
|
|
76
|
+
</span>
|
|
77
|
+
}
|
|
72
78
|
</div>
|
|
73
|
-
|
|
79
|
+
`, 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"] }] });
|
|
74
80
|
}
|
|
75
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeroCardComponent, decorators: [{
|
|
76
82
|
type: Component,
|
|
77
83
|
args: [{
|
|
78
84
|
selector: 'kendo-chat-hero-card',
|
|
79
85
|
template: `
|
|
80
|
-
|
|
86
|
+
@if (imageUrl) {
|
|
87
|
+
<img class="k-card-image" [src]="imageUrl" />
|
|
88
|
+
}
|
|
81
89
|
<div class="k-card-body">
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
90
|
+
@if (title) {
|
|
91
|
+
<h5 class="k-card-title">
|
|
92
|
+
{{ title }}
|
|
93
|
+
</h5>
|
|
94
|
+
}
|
|
95
|
+
@if (subtitle) {
|
|
96
|
+
<h6 class="k-card-subtitle">
|
|
97
|
+
{{ subtitle }}
|
|
98
|
+
</h6>
|
|
99
|
+
}
|
|
88
100
|
</div>
|
|
89
101
|
<div class="k-card-actions k-card-actions-vertical">
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
102
|
+
@for (act of actions; track act) {
|
|
103
|
+
<span class="k-card-action"
|
|
104
|
+
>
|
|
105
|
+
<button
|
|
94
106
|
kendoButton fillMode="flat"
|
|
95
107
|
(click)="onClick(act)"
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
108
|
+
>
|
|
109
|
+
{{ act.title }}
|
|
110
|
+
</button>
|
|
111
|
+
</span>
|
|
112
|
+
}
|
|
100
113
|
</div>
|
|
101
|
-
|
|
114
|
+
`,
|
|
102
115
|
standalone: true,
|
|
103
|
-
imports: [
|
|
116
|
+
imports: [ButtonComponent]
|
|
104
117
|
}]
|
|
105
118
|
}], propDecorators: { imageUrl: [{
|
|
106
119
|
type: Input
|
|
@@ -10,7 +10,6 @@ import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
|
10
10
|
import { moreVerticalIcon, xIcon } from '@progress/kendo-svg-icons';
|
|
11
11
|
import { ButtonComponent, DropDownButtonComponent } from '@progress/kendo-angular-buttons';
|
|
12
12
|
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
13
|
-
import { NgIf } from '@angular/common';
|
|
14
13
|
import * as i0 from "@angular/core";
|
|
15
14
|
import * as i1 from "@progress/kendo-angular-l10n";
|
|
16
15
|
/**
|
|
@@ -45,30 +44,31 @@ export class ChatFileComponent extends ChatItem {
|
|
|
45
44
|
}
|
|
46
45
|
focus() { }
|
|
47
46
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatFileComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
47
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ChatFileComponent, isStandalone: true, selector: "li[chatFile]", inputs: { chatFile: "chatFile", removable: "removable", fileActions: "fileActions" }, outputs: { remove: "remove", actionClick: "actionClick", actionsToggle: "actionsToggle", actionButtonClick: "actionButtonClick" }, providers: [{
|
|
49
48
|
provide: ChatItem,
|
|
50
49
|
useExisting: forwardRef(() => ChatFileComponent)
|
|
51
50
|
}], usesInheritance: true, ngImport: i0, template: `
|
|
52
51
|
<kendo-icon-wrapper
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
size="xlarge"
|
|
53
|
+
[name]="fileGroupClass(chatFile.extension)"
|
|
54
|
+
[svgIcon]="fileThumbnail(chatFile.extension)"
|
|
55
|
+
>
|
|
57
56
|
</kendo-icon-wrapper>
|
|
58
57
|
<div class="k-chat-file-info">
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
<span class="k-chat-file-name">{{chatFile.name}}</span>
|
|
59
|
+
<span class="k-chat-file-size">{{getTotalFilesSizeMessage(chatFile)}}</span>
|
|
61
60
|
</div>
|
|
62
|
-
|
|
61
|
+
@if (removable) {
|
|
62
|
+
<button
|
|
63
63
|
kendoButton
|
|
64
|
-
*ngIf="removable"
|
|
65
64
|
[attr.title]="textFor('removeFileTitle')"
|
|
66
65
|
[svgIcon]="deleteIcon"
|
|
67
66
|
(click)="remove.emit(chatFile)"
|
|
68
67
|
fillMode="flat"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
></button>
|
|
69
|
+
}
|
|
70
|
+
@if (fileActions && fileActions.length > 0) {
|
|
71
|
+
<kendo-dropdownbutton
|
|
72
72
|
[data]="fileActions"
|
|
73
73
|
[attr.title]="textFor('fileActionsTitle')"
|
|
74
74
|
fillMode="flat"
|
|
@@ -78,8 +78,9 @@ export class ChatFileComponent extends ChatItem {
|
|
|
78
78
|
(click)="$event.preventDefault()"
|
|
79
79
|
(open)="actionsToggle.emit(true)"
|
|
80
80
|
(close)="actionsToggle.emit(false)"
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
></kendo-dropdownbutton>
|
|
82
|
+
}
|
|
83
|
+
`, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { 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: "component", type: DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["arrowIcon", "icon", "svgIcon", "iconClass", "imageUrl", "textField", "data", "size", "rounded", "fillMode", "themeColor", "buttonAttributes"], outputs: ["itemClick", "focus", "blur"], exportAs: ["kendoDropDownButton"] }] });
|
|
83
84
|
}
|
|
84
85
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChatFileComponent, decorators: [{
|
|
85
86
|
type: Component,
|
|
@@ -91,25 +92,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
91
92
|
}],
|
|
92
93
|
template: `
|
|
93
94
|
<kendo-icon-wrapper
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
size="xlarge"
|
|
96
|
+
[name]="fileGroupClass(chatFile.extension)"
|
|
97
|
+
[svgIcon]="fileThumbnail(chatFile.extension)"
|
|
98
|
+
>
|
|
98
99
|
</kendo-icon-wrapper>
|
|
99
100
|
<div class="k-chat-file-info">
|
|
100
|
-
|
|
101
|
-
|
|
101
|
+
<span class="k-chat-file-name">{{chatFile.name}}</span>
|
|
102
|
+
<span class="k-chat-file-size">{{getTotalFilesSizeMessage(chatFile)}}</span>
|
|
102
103
|
</div>
|
|
103
|
-
|
|
104
|
+
@if (removable) {
|
|
105
|
+
<button
|
|
104
106
|
kendoButton
|
|
105
|
-
*ngIf="removable"
|
|
106
107
|
[attr.title]="textFor('removeFileTitle')"
|
|
107
108
|
[svgIcon]="deleteIcon"
|
|
108
109
|
(click)="remove.emit(chatFile)"
|
|
109
110
|
fillMode="flat"
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
></button>
|
|
112
|
+
}
|
|
113
|
+
@if (fileActions && fileActions.length > 0) {
|
|
114
|
+
<kendo-dropdownbutton
|
|
113
115
|
[data]="fileActions"
|
|
114
116
|
[attr.title]="textFor('fileActionsTitle')"
|
|
115
117
|
fillMode="flat"
|
|
@@ -119,10 +121,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
119
121
|
(click)="$event.preventDefault()"
|
|
120
122
|
(open)="actionsToggle.emit(true)"
|
|
121
123
|
(close)="actionsToggle.emit(false)"
|
|
122
|
-
|
|
123
|
-
|
|
124
|
+
></kendo-dropdownbutton>
|
|
125
|
+
}
|
|
126
|
+
`,
|
|
124
127
|
standalone: true,
|
|
125
|
-
imports: [
|
|
128
|
+
imports: [IconWrapperComponent, ButtonComponent, DropDownButtonComponent]
|
|
126
129
|
}]
|
|
127
130
|
}], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { chatFile: [{
|
|
128
131
|
type: Input
|