@progress/kendo-angular-conversational-ui 14.4.0-develop.2 → 14.4.0-develop.20

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.
Files changed (124) hide show
  1. package/LICENSE.md +1 -1
  2. package/NOTICE.txt +147 -594
  3. package/README.md +1 -1
  4. package/ai-prompt/aiprompt.component.d.ts +120 -0
  5. package/ai-prompt/aiprompt.module.d.ts +25 -0
  6. package/ai-prompt/common/aiprompt.service.d.ts +26 -0
  7. package/ai-prompt/common/output-card.component.d.ts +36 -0
  8. package/ai-prompt/common/toolbar-focusable.directive.d.ts +24 -0
  9. package/ai-prompt/common/toolbar-navigation.service.d.ts +24 -0
  10. package/ai-prompt/localization/custom-messages.component.d.ts +17 -0
  11. package/ai-prompt/localization/localized-messages.directive.d.ts +16 -0
  12. package/ai-prompt/localization/messages.d.ts +49 -0
  13. package/ai-prompt/models/command-execute-event.d.ts +23 -0
  14. package/ai-prompt/models/command.interface.d.ts +30 -0
  15. package/ai-prompt/models/index.d.ts +10 -0
  16. package/ai-prompt/models/output-rating-change-event.d.ts +18 -0
  17. package/ai-prompt/models/prompt-output.interface.d.ts +41 -0
  18. package/ai-prompt/models/prompt-request-event.d.ts +22 -0
  19. package/ai-prompt/models/view-type.d.ts +8 -0
  20. package/ai-prompt/templates/toolbar-actions.template.d.ts +18 -0
  21. package/ai-prompt/utils.d.ts +19 -0
  22. package/ai-prompt/views/base-view.d.ts +46 -0
  23. package/ai-prompt/views/command-view.component.d.ts +23 -0
  24. package/ai-prompt/views/custom-view.component.d.ts +20 -0
  25. package/ai-prompt/views/index.d.ts +8 -0
  26. package/ai-prompt/views/output-view.component.d.ts +22 -0
  27. package/ai-prompt/views/prompt-view.component.d.ts +47 -0
  28. package/api/action.interface.d.ts +1 -1
  29. package/api/attachment.interface.d.ts +1 -1
  30. package/api/execute-action-event.d.ts +1 -1
  31. package/api/index.d.ts +1 -1
  32. package/api/message.interface.d.ts +1 -1
  33. package/api/post-message-event.d.ts +1 -1
  34. package/api/preventable-event.d.ts +1 -1
  35. package/api/user.interface.d.ts +1 -1
  36. package/cards/hero-card.component.d.ts +1 -1
  37. package/chat/attachment-template.directive.d.ts +1 -1
  38. package/chat/attachment.component.d.ts +1 -1
  39. package/chat/builtin-actions.d.ts +1 -1
  40. package/chat/chat-item.d.ts +1 -1
  41. package/chat/chat-view.d.ts +1 -1
  42. package/chat/chat.component.d.ts +1 -1
  43. package/chat/chat.directives.d.ts +1 -1
  44. package/chat/chat.module.d.ts +1 -1
  45. package/chat/l10n/custom-messages.component.d.ts +1 -1
  46. package/chat/l10n/localized-messages.directive.d.ts +1 -1
  47. package/chat/l10n/messages.d.ts +1 -1
  48. package/chat/message-attachments.component.d.ts +1 -1
  49. package/chat/message-box.component.d.ts +1 -1
  50. package/chat/message-box.directive.d.ts +1 -1
  51. package/chat/message-list.component.d.ts +1 -1
  52. package/chat/message-template.directive.d.ts +1 -1
  53. package/chat/message.component.d.ts +1 -1
  54. package/chat/suggested-actions.component.d.ts +1 -1
  55. package/common/focused-state.directive.d.ts +1 -1
  56. package/common/models/message-box-options.d.ts +1 -1
  57. package/common/scroll-anchor.directive.d.ts +1 -1
  58. package/common/utils.d.ts +1 -1
  59. package/conversational-ui.module.d.ts +43 -0
  60. package/esm2020/ai-prompt/aiprompt.component.mjs +348 -0
  61. package/esm2020/ai-prompt/aiprompt.module.mjs +79 -0
  62. package/esm2020/ai-prompt/common/aiprompt.service.mjs +38 -0
  63. package/esm2020/ai-prompt/common/output-card.component.mjs +199 -0
  64. package/esm2020/ai-prompt/common/toolbar-focusable.directive.mjs +67 -0
  65. package/esm2020/ai-prompt/common/toolbar-navigation.service.mjs +55 -0
  66. package/esm2020/ai-prompt/localization/custom-messages.component.mjs +41 -0
  67. package/esm2020/ai-prompt/localization/localized-messages.directive.mjs +37 -0
  68. package/esm2020/ai-prompt/localization/messages.mjs +35 -0
  69. package/esm2020/ai-prompt/models/command-execute-event.mjs +5 -0
  70. package/esm2020/ai-prompt/models/command.interface.mjs +5 -0
  71. package/esm2020/ai-prompt/models/index.mjs +5 -0
  72. package/esm2020/ai-prompt/models/output-rating-change-event.mjs +5 -0
  73. package/esm2020/ai-prompt/models/prompt-output.interface.mjs +5 -0
  74. package/esm2020/ai-prompt/models/prompt-request-event.mjs +5 -0
  75. package/esm2020/ai-prompt/models/view-type.mjs +5 -0
  76. package/esm2020/ai-prompt/templates/toolbar-actions.template.mjs +27 -0
  77. package/esm2020/ai-prompt/utils.mjs +26 -0
  78. package/esm2020/ai-prompt/views/base-view.mjs +89 -0
  79. package/esm2020/ai-prompt/views/command-view.component.mjs +82 -0
  80. package/esm2020/ai-prompt/views/custom-view.component.mjs +35 -0
  81. package/esm2020/ai-prompt/views/index.mjs +8 -0
  82. package/esm2020/ai-prompt/views/output-view.component.mjs +66 -0
  83. package/esm2020/ai-prompt/views/prompt-view.component.mjs +146 -0
  84. package/esm2020/api/action.interface.mjs +1 -1
  85. package/esm2020/api/attachment.interface.mjs +1 -1
  86. package/esm2020/api/execute-action-event.mjs +1 -1
  87. package/esm2020/api/index.mjs +1 -1
  88. package/esm2020/api/message.interface.mjs +1 -1
  89. package/esm2020/api/post-message-event.mjs +1 -1
  90. package/esm2020/api/preventable-event.mjs +1 -1
  91. package/esm2020/api/user.interface.mjs +1 -1
  92. package/esm2020/cards/hero-card.component.mjs +1 -1
  93. package/esm2020/chat/attachment-template.directive.mjs +1 -1
  94. package/esm2020/chat/attachment.component.mjs +1 -1
  95. package/esm2020/chat/builtin-actions.mjs +1 -1
  96. package/esm2020/chat/chat-item.mjs +1 -1
  97. package/esm2020/chat/chat-view.mjs +1 -1
  98. package/esm2020/chat/chat.component.mjs +1 -1
  99. package/esm2020/chat/chat.directives.mjs +1 -1
  100. package/esm2020/chat/chat.module.mjs +1 -1
  101. package/esm2020/chat/l10n/custom-messages.component.mjs +1 -1
  102. package/esm2020/chat/l10n/localized-messages.directive.mjs +1 -1
  103. package/esm2020/chat/l10n/messages.mjs +1 -1
  104. package/esm2020/chat/message-attachments.component.mjs +1 -1
  105. package/esm2020/chat/message-box.component.mjs +1 -1
  106. package/esm2020/chat/message-box.directive.mjs +1 -1
  107. package/esm2020/chat/message-list.component.mjs +1 -1
  108. package/esm2020/chat/message-template.directive.mjs +1 -1
  109. package/esm2020/chat/message.component.mjs +1 -1
  110. package/esm2020/chat/suggested-actions.component.mjs +1 -1
  111. package/esm2020/common/focused-state.directive.mjs +1 -1
  112. package/esm2020/common/models/message-box-options.mjs +1 -1
  113. package/esm2020/common/scroll-anchor.directive.mjs +1 -1
  114. package/esm2020/common/utils.mjs +1 -1
  115. package/esm2020/conversational-ui.module.mjs +50 -0
  116. package/esm2020/index.mjs +9 -1
  117. package/esm2020/package-metadata.mjs +3 -3
  118. package/esm2020/progress-kendo-angular-conversational-ui.mjs +1 -1
  119. package/fesm2015/progress-kendo-angular-conversational-ui.mjs +1412 -150
  120. package/fesm2020/progress-kendo-angular-conversational-ui.mjs +1300 -44
  121. package/index.d.ts +9 -1
  122. package/package-metadata.d.ts +1 -1
  123. package/package.json +9 -7
  124. package/progress-kendo-angular-conversational-ui.d.ts +1 -1
@@ -0,0 +1,67 @@
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, ElementRef, Renderer2 } from '@angular/core';
6
+ import { ToolbarNavigationService } from './toolbar-navigation.service';
7
+ import { Keys, focusableSelector } from '@progress/kendo-angular-common';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./toolbar-navigation.service";
10
+ /**
11
+ * @hidden
12
+ */
13
+ export class AIPromptToolbarFocusableDirective {
14
+ constructor(host, navigationService, renderer) {
15
+ this.host = host;
16
+ this.navigationService = navigationService;
17
+ 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
+ navigationService.register(this);
41
+ }
42
+ get element() {
43
+ return this.host.nativeElement;
44
+ }
45
+ ngAfterViewInit() {
46
+ this.renderer.setAttribute(this.element, 'tabindex', this.navigationService.isActive(this) ? '0' : '-1');
47
+ this.element.addEventListener('keydown', this.keyDownHandler, { capture: true });
48
+ this.element.addEventListener('click', this.clickHandler, { capture: true });
49
+ }
50
+ ngOnDestroy() {
51
+ this.navigationService.unregister(this);
52
+ this.element.removeEventListener('keydown', this.keyDownHandler, { capture: true });
53
+ this.element.removeEventListener('click', this.clickHandler, { capture: true });
54
+ }
55
+ activate() {
56
+ this.renderer.setAttribute(this.element, 'tabindex', '0');
57
+ this.element.focus();
58
+ }
59
+ }
60
+ AIPromptToolbarFocusableDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AIPromptToolbarFocusableDirective, deps: [{ token: i0.ElementRef }, { token: i1.ToolbarNavigationService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
61
+ AIPromptToolbarFocusableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: AIPromptToolbarFocusableDirective, selector: "[kendoAIPromptToolbarFocusable]", ngImport: i0 });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AIPromptToolbarFocusableDirective, decorators: [{
63
+ type: Directive,
64
+ args: [{
65
+ selector: '[kendoAIPromptToolbarFocusable]'
66
+ }]
67
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ToolbarNavigationService }, { type: i0.Renderer2 }]; } });
@@ -0,0 +1,55 @@
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 { Injectable } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@progress/kendo-angular-l10n";
9
+ /**
10
+ * @hidden
11
+ */
12
+ export class ToolbarNavigationService {
13
+ constructor(localizationService) {
14
+ this.localizationService = localizationService;
15
+ this.focusableElements = [];
16
+ this.currentFocusedIndex = 0;
17
+ }
18
+ register(tool) {
19
+ if (!this.focusableElements.some(el => el === tool)) {
20
+ this.focusableElements.push(tool);
21
+ }
22
+ }
23
+ unregister(tool) {
24
+ this.currentFocusedIndex = 0;
25
+ this.focusableElements = this.focusableElements.filter(el => el !== tool);
26
+ }
27
+ isActive(focusable) {
28
+ return this.focusableElements[this.currentFocusedIndex] === focusable;
29
+ }
30
+ setActiveIndex(tool) {
31
+ this.currentFocusedIndex = Math.max(this.focusableElements.indexOf(tool), 0);
32
+ }
33
+ move(direction) {
34
+ let delta = direction === 'right' ? 1 : -1;
35
+ if (this.localizationService.rtl) {
36
+ delta = -delta;
37
+ }
38
+ this.currentFocusedIndex += delta;
39
+ if (this.currentFocusedIndex < 0) {
40
+ this.currentFocusedIndex = this.focusableElements.length - 1;
41
+ }
42
+ else if (this.currentFocusedIndex >= this.focusableElements.length) {
43
+ this.currentFocusedIndex = 0;
44
+ }
45
+ this.focusableElements[this.currentFocusedIndex].activate();
46
+ }
47
+ focusFirst() {
48
+ this.focusableElements[this.currentFocusedIndex].activate();
49
+ }
50
+ }
51
+ ToolbarNavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarNavigationService, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ ToolbarNavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarNavigationService });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ToolbarNavigationService, decorators: [{
54
+ type: Injectable
55
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
@@ -0,0 +1,41 @@
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 { Component, forwardRef } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { Messages } from './messages';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-l10n";
10
+ /**
11
+ * Custom component messages override default component messages.
12
+ */
13
+ export class AIPromptCustomMessagesComponent extends Messages {
14
+ constructor(service) {
15
+ super();
16
+ this.service = service;
17
+ }
18
+ get override() {
19
+ return true;
20
+ }
21
+ }
22
+ AIPromptCustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AIPromptCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
23
+ AIPromptCustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: AIPromptCustomMessagesComponent, selector: "kendo-aiprompt-messages", providers: [
24
+ {
25
+ provide: Messages,
26
+ useExisting: forwardRef(() => AIPromptCustomMessagesComponent)
27
+ }
28
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AIPromptCustomMessagesComponent, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ providers: [
33
+ {
34
+ provide: Messages,
35
+ useExisting: forwardRef(() => AIPromptCustomMessagesComponent)
36
+ }
37
+ ],
38
+ selector: 'kendo-aiprompt-messages',
39
+ template: ``
40
+ }]
41
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
@@ -0,0 +1,37 @@
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, forwardRef } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { Messages } from './messages';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-l10n";
10
+ /**
11
+ * @hidden
12
+ */
13
+ export class LocalizedMessagesDirective extends Messages {
14
+ constructor(service) {
15
+ super();
16
+ this.service = service;
17
+ }
18
+ }
19
+ LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
20
+ LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: LocalizedMessagesDirective, 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: "13.3.12", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ providers: [
30
+ {
31
+ provide: Messages,
32
+ useExisting: forwardRef(() => LocalizedMessagesDirective)
33
+ }
34
+ ],
35
+ selector: '[kendoAIPromptLocalizedMessages]'
36
+ }]
37
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; } });
@@ -0,0 +1,35 @@
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
+ Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
14
+ Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.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 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: Messages, decorators: [{
16
+ type: Directive
17
+ }], propDecorators: { promptView: [{
18
+ type: Input
19
+ }], outputView: [{
20
+ type: Input
21
+ }], generateOutput: [{
22
+ type: Input
23
+ }], promptPlaceholder: [{
24
+ type: Input
25
+ }], copyOutput: [{
26
+ type: Input
27
+ }], retryGeneration: [{
28
+ type: Input
29
+ }], outputTitle: [{
30
+ type: Input
31
+ }], outputRetryTitle: [{
32
+ type: Input
33
+ }], promptSuggestions: [{
34
+ type: Input
35
+ }] } });
@@ -0,0 +1,5 @@
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
+ export {};
@@ -0,0 +1,5 @@
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
+ export {};
@@ -0,0 +1,5 @@
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
+ export {};
@@ -0,0 +1,5 @@
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
+ export {};
@@ -0,0 +1,5 @@
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
+ export {};
@@ -0,0 +1,5 @@
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
+ export {};
@@ -0,0 +1,5 @@
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
+ export {};
@@ -0,0 +1,27 @@
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, Optional, TemplateRef } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * Represents a template that allows you to define additional ToolBar actions.
9
+ * The actions will be rendered right after all views' ToolBar buttons.
10
+ * To define the template, nest an `<ng-template>` tag
11
+ * with the `kendoAIPromptToolbarActionsTemplate` directive inside the `<kendo-aiprompt>` tag.
12
+ */
13
+ export class AIPromptToolbarActionsDirective {
14
+ constructor(templateRef) {
15
+ this.templateRef = templateRef;
16
+ }
17
+ }
18
+ AIPromptToolbarActionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AIPromptToolbarActionsDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
19
+ AIPromptToolbarActionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: AIPromptToolbarActionsDirective, selector: "[kendoAIPromptToolbarActionsTemplate]", ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: AIPromptToolbarActionsDirective, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ selector: '[kendoAIPromptToolbarActionsTemplate]'
24
+ }]
25
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
26
+ type: Optional
27
+ }] }]; } });
@@ -0,0 +1,26 @@
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 { InjectionToken } from "@angular/core";
6
+ import { commentIcon, moreHorizontalIcon, sparklesIcon } from "@progress/kendo-svg-icons";
7
+ /**
8
+ * @hidden
9
+ */
10
+ export const MY_TOKEN = new InjectionToken('COMMAND_TOKEN');
11
+ /**
12
+ * @hidden
13
+ */
14
+ export const DEFAULT_SVG_ICONS = {
15
+ prompt: sparklesIcon,
16
+ output: commentIcon,
17
+ command: moreHorizontalIcon
18
+ };
19
+ /**
20
+ * @hidden
21
+ */
22
+ export const DEFAULT_ICONS = {
23
+ prompt: 'sparkles',
24
+ output: 'comment',
25
+ command: 'more-horizontal'
26
+ };
@@ -0,0 +1,89 @@
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 { Input, TemplateRef, Directive, HostBinding, Inject, ViewChild } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { isPresent } from '@progress/kendo-angular-common';
8
+ import { DEFAULT_ICONS, DEFAULT_SVG_ICONS, MY_TOKEN } from '../utils';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@progress/kendo-angular-l10n";
11
+ /**
12
+ * @hidden
13
+ */
14
+ export class BaseView {
15
+ constructor(viewType, localization) {
16
+ this.viewType = viewType;
17
+ this.localization = localization;
18
+ this.hostClasses = true;
19
+ if (this.viewType !== 'custom') {
20
+ this.icon = DEFAULT_ICONS[this.viewType];
21
+ this.svgIcon = DEFAULT_SVG_ICONS[this.viewType];
22
+ }
23
+ }
24
+ /**
25
+ * The text of the ToolBar button corresponding to the view.
26
+ */
27
+ set buttonText(value) {
28
+ this._buttonText = value;
29
+ }
30
+ get buttonText() {
31
+ return isPresent(this._buttonText) ?
32
+ this._buttonText :
33
+ this.messageFor(`${this.viewType}View`);
34
+ }
35
+ /**
36
+ * The font icon of the ToolBar button corresponding to the view.
37
+ */
38
+ set icon(value) {
39
+ if (isPresent(value)) {
40
+ this._icon = value;
41
+ }
42
+ else {
43
+ this.icon = DEFAULT_ICONS[this.viewType];
44
+ }
45
+ }
46
+ get icon() {
47
+ return this._icon;
48
+ }
49
+ /**
50
+ * The SVG icon of the ToolBar button corresponding to the view.
51
+ */
52
+ set svgIcon(value) {
53
+ if (isPresent(value)) {
54
+ this._svgIcon = value;
55
+ }
56
+ else {
57
+ this.svgIcon = DEFAULT_SVG_ICONS[this.viewType];
58
+ }
59
+ }
60
+ get svgIcon() {
61
+ return this._svgIcon;
62
+ }
63
+ /**
64
+ * @hidden
65
+ */
66
+ messageFor(text) {
67
+ return this.localization.get(text);
68
+ }
69
+ }
70
+ BaseView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseView, deps: [{ token: MY_TOKEN }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
71
+ BaseView.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.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 });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: BaseView, decorators: [{
73
+ type: Directive
74
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
75
+ type: Inject,
76
+ args: [MY_TOKEN]
77
+ }] }, { type: i1.LocalizationService }]; }, propDecorators: { hostClasses: [{
78
+ type: HostBinding,
79
+ args: ['class.k-prompt-view']
80
+ }], template: [{
81
+ type: ViewChild,
82
+ args: ['content', { static: true }]
83
+ }], buttonText: [{
84
+ type: Input
85
+ }], icon: [{
86
+ type: Input
87
+ }], svgIcon: [{
88
+ type: Input
89
+ }] } });
@@ -0,0 +1,82 @@
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 { Component, forwardRef } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { BaseView } from './base-view';
8
+ import { AIPromptService } from '../common/aiprompt.service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@progress/kendo-angular-l10n";
11
+ import * as i2 from "../common/aiprompt.service";
12
+ import * as i3 from "@progress/kendo-angular-layout";
13
+ /**
14
+ * The component for rendering the **Command** view.
15
+ */
16
+ export class CommandViewComponent extends BaseView {
17
+ constructor(localization, service) {
18
+ super('command', localization);
19
+ this.service = service;
20
+ this.panelBarItems = [];
21
+ }
22
+ ngOnInit() {
23
+ this.panelBarItems = this.getPanelBarItems(this.service.promptCommands);
24
+ }
25
+ itemClickHandler(ev) {
26
+ if (ev.item.children) {
27
+ return;
28
+ }
29
+ const selectedCommand = this.service.getFlattenPromptCommands().find(c => c.id == ev.item.id);
30
+ if (selectedCommand) {
31
+ const eventArgs = {
32
+ command: selectedCommand,
33
+ sender: this.service.aiPrompt,
34
+ isRetry: false
35
+ };
36
+ this.service.executeEvent.next(eventArgs);
37
+ }
38
+ }
39
+ getPanelBarItems(commands) {
40
+ return commands.map(c => ({
41
+ title: c.text,
42
+ id: c.id,
43
+ icon: c.icon,
44
+ svgIcon: c.svgIcon,
45
+ children: c.children ? this.getPanelBarItems(c.children) : null
46
+ }));
47
+ }
48
+ }
49
+ CommandViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CommandViewComponent, deps: [{ token: i1.LocalizationService }, { token: i2.AIPromptService }], target: i0.ɵɵFactoryTarget.Component });
50
+ CommandViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CommandViewComponent, selector: "kendo-aiprompt-command-view", providers: [{
51
+ provide: BaseView,
52
+ useExisting: forwardRef(() => CommandViewComponent)
53
+ }], usesInheritance: true, ngImport: i0, template: `
54
+ <ng-template #content>
55
+ <kendo-panelbar
56
+ [items]="panelBarItems"
57
+ [animate]="false"
58
+ [selectable]="false"
59
+ (itemClick)="itemClickHandler($event)"
60
+ ></kendo-panelbar>
61
+ </ng-template>
62
+ `, isInline: true, components: [{ type: i3.PanelBarComponent, selector: "kendo-panelbar", inputs: ["expandMode", "selectable", "animate", "height", "keepItemContent", "items"], outputs: ["stateChange", "select", "expand", "collapse", "itemClick"], exportAs: ["kendoPanelbar"] }] });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CommandViewComponent, decorators: [{
64
+ type: Component,
65
+ args: [{
66
+ selector: 'kendo-aiprompt-command-view',
67
+ providers: [{
68
+ provide: BaseView,
69
+ useExisting: forwardRef(() => CommandViewComponent)
70
+ }],
71
+ template: `
72
+ <ng-template #content>
73
+ <kendo-panelbar
74
+ [items]="panelBarItems"
75
+ [animate]="false"
76
+ [selectable]="false"
77
+ (itemClick)="itemClickHandler($event)"
78
+ ></kendo-panelbar>
79
+ </ng-template>
80
+ `
81
+ }]
82
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.AIPromptService }]; } });
@@ -0,0 +1,35 @@
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 { Component, forwardRef, Input, TemplateRef } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { BaseView } from './base-view';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@progress/kendo-angular-l10n";
10
+ /**
11
+ * The component for rendering a **Custom** view.
12
+ */
13
+ export class CustomViewComponent extends BaseView {
14
+ constructor(localization) {
15
+ super('custom', localization);
16
+ }
17
+ }
18
+ CustomViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: CustomViewComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
19
+ CustomViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: CustomViewComponent, 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: "13.3.12", ngImport: i0, type: CustomViewComponent, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ selector: 'kendo-aiprompt-custom-view',
27
+ providers: [{
28
+ provide: BaseView,
29
+ useExisting: forwardRef(() => CustomViewComponent)
30
+ }],
31
+ template: ``
32
+ }]
33
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { viewTemplate: [{
34
+ type: Input
35
+ }] } });
@@ -0,0 +1,8 @@
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
+ export { CommandViewComponent } from './command-view.component';
6
+ export { CustomViewComponent } from './custom-view.component';
7
+ export { OutputViewComponent } from './output-view.component';
8
+ export { PromptViewComponent } from './prompt-view.component';
@@ -0,0 +1,66 @@
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 { Component, forwardRef } from '@angular/core';
6
+ import { LocalizationService } from '@progress/kendo-angular-l10n';
7
+ import { BaseView } from './base-view';
8
+ import { AIPromptService } from '../common/aiprompt.service';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@progress/kendo-angular-l10n";
11
+ import * as i2 from "../common/aiprompt.service";
12
+ import * as i3 from "../common/output-card.component";
13
+ import * as i4 from "@angular/common";
14
+ /**
15
+ * The component for rendering the **Output** view.
16
+ */
17
+ export class OutputViewComponent extends BaseView {
18
+ constructor(localization, service) {
19
+ super('output', localization);
20
+ this.service = service;
21
+ }
22
+ /**
23
+ * @hidden
24
+ */
25
+ get promptOutputs() {
26
+ return this.service.promptOutputs;
27
+ }
28
+ }
29
+ OutputViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: OutputViewComponent, deps: [{ token: i1.LocalizationService }, { token: i2.AIPromptService }], target: i0.ɵɵFactoryTarget.Component });
30
+ OutputViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: OutputViewComponent, selector: "kendo-aiprompt-output-view", providers: [{
31
+ provide: BaseView,
32
+ useExisting: forwardRef(() => OutputViewComponent)
33
+ }], usesInheritance: true, ngImport: i0, template: `
34
+ <ng-template #content>
35
+ <div
36
+ class="k-card-list"
37
+ role="list">
38
+ <div *ngFor="let output of promptOutputs"
39
+ kendoAIPromptOutputCard
40
+ [promptOutput]="output">
41
+ </div>
42
+ </div>
43
+ </ng-template>
44
+ `, isInline: true, components: [{ type: i3.AIPromptOutputCardComponent, selector: "[kendoAIPromptOutputCard]", inputs: ["promptOutput"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: OutputViewComponent, decorators: [{
46
+ type: Component,
47
+ args: [{
48
+ selector: 'kendo-aiprompt-output-view',
49
+ providers: [{
50
+ provide: BaseView,
51
+ useExisting: forwardRef(() => OutputViewComponent)
52
+ }],
53
+ template: `
54
+ <ng-template #content>
55
+ <div
56
+ class="k-card-list"
57
+ role="list">
58
+ <div *ngFor="let output of promptOutputs"
59
+ kendoAIPromptOutputCard
60
+ [promptOutput]="output">
61
+ </div>
62
+ </div>
63
+ </ng-template>
64
+ `
65
+ }]
66
+ }], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.AIPromptService }]; } });