@memberjunction/ng-skip-chat 2.14.0 → 2.15.1

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 (27) hide show
  1. package/dist/lib/dynamic-report/base-report.d.ts +12 -6
  2. package/dist/lib/dynamic-report/base-report.d.ts.map +1 -1
  3. package/dist/lib/dynamic-report/base-report.js +18 -7
  4. package/dist/lib/dynamic-report/base-report.js.map +1 -1
  5. package/dist/lib/dynamic-report/dynamic-chart.d.ts.map +1 -1
  6. package/dist/lib/dynamic-report/dynamic-chart.js +1 -1
  7. package/dist/lib/dynamic-report/dynamic-chart.js.map +1 -1
  8. package/dist/lib/dynamic-report/linear-report.d.ts +2 -7
  9. package/dist/lib/dynamic-report/linear-report.d.ts.map +1 -1
  10. package/dist/lib/dynamic-report/linear-report.js +27 -22
  11. package/dist/lib/dynamic-report/linear-report.js.map +1 -1
  12. package/dist/lib/dynamic-report/skip-dynamic-report-wrapper.d.ts +9 -1
  13. package/dist/lib/dynamic-report/skip-dynamic-report-wrapper.d.ts.map +1 -1
  14. package/dist/lib/dynamic-report/skip-dynamic-report-wrapper.js +21 -7
  15. package/dist/lib/dynamic-report/skip-dynamic-report-wrapper.js.map +1 -1
  16. package/dist/lib/module.d.ts.map +1 -1
  17. package/dist/lib/module.js +1 -1
  18. package/dist/lib/module.js.map +1 -1
  19. package/dist/lib/skip-chat/skip-chat.component.d.ts +29 -5
  20. package/dist/lib/skip-chat/skip-chat.component.d.ts.map +1 -1
  21. package/dist/lib/skip-chat/skip-chat.component.js +211 -124
  22. package/dist/lib/skip-chat/skip-chat.component.js.map +1 -1
  23. package/dist/lib/skip-single-message/skip-single-message.component.d.ts +21 -6
  24. package/dist/lib/skip-single-message/skip-single-message.component.d.ts.map +1 -1
  25. package/dist/lib/skip-single-message/skip-single-message.component.js +96 -40
  26. package/dist/lib/skip-single-message/skip-single-message.component.js.map +1 -1
  27. package/package.json +10 -10
@@ -14,7 +14,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  });
15
15
  };
16
16
  var SkipChatComponent_1;
17
- import { Component, ViewChild, ViewContainerRef, Input, } from '@angular/core';
17
+ import { Component, ViewChild, ViewContainerRef, Input, Output, EventEmitter, } from '@angular/core';
18
18
  import { ActivationEnd } from '@angular/router';
19
19
  import { LogError, Metadata, CompositeKey } from '@memberjunction/core';
20
20
  import { Container } from '@memberjunction/ng-container-directives';
@@ -30,7 +30,7 @@ import * as i2 from "@angular/router";
30
30
  import * as i3 from "@angular/common";
31
31
  import * as i4 from "@progress/kendo-angular-layout";
32
32
  import * as i5 from "@angular/forms";
33
- import * as i6 from "@progress/kendo-angular-indicators";
33
+ import * as i6 from "@progress/kendo-angular-dialog";
34
34
  import * as i7 from "@memberjunction/ng-container-directives";
35
35
  import * as i8 from "@progress/kendo-angular-listview";
36
36
  import * as i9 from "@progress/kendo-angular-buttons";
@@ -44,13 +44,13 @@ const _c5 = ["topLevelDiv"];
44
44
  const _c6 = () => ({ "item-border": true });
45
45
  function SkipChatComponent_kendo_splitter_pane_3_div_1_button_3_Template(rf, ctx) { if (rf & 1) {
46
46
  const _r4 = i0.ɵɵgetCurrentView();
47
- i0.ɵɵelementStart(0, "button", 28);
47
+ i0.ɵɵelementStart(0, "button", 29);
48
48
  i0.ɵɵlistener("click", function SkipChatComponent_kendo_splitter_pane_3_div_1_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.CreateNewConversation()); });
49
49
  i0.ɵɵtext(1, "+");
50
50
  i0.ɵɵelementEnd();
51
51
  } }
52
52
  function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_1_Template(rf, ctx) { if (rf & 1) {
53
- i0.ɵɵelement(0, "span", 34);
53
+ i0.ɵɵelement(0, "span", 35);
54
54
  } }
55
55
  function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_3_Template(rf, ctx) { if (rf & 1) {
56
56
  i0.ɵɵelementStart(0, "span");
@@ -63,7 +63,7 @@ function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_3_Temp
63
63
  } }
64
64
  function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_textarea_4_Template(rf, ctx) { if (rf & 1) {
65
65
  const _r7 = i0.ɵɵgetCurrentView();
66
- i0.ɵɵelementStart(0, "textarea", 35);
66
+ i0.ɵɵelementStart(0, "textarea", 36);
67
67
  i0.ɵɵtwoWayListener("ngModelChange", function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_textarea_4_Template_textarea_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const dataItem_r6 = i0.ɵɵnextContext().dataItem; i0.ɵɵtwoWayBindingSet(dataItem_r6.Name, $event) || (dataItem_r6.Name = $event); return i0.ɵɵresetView($event); });
68
68
  i0.ɵɵelementEnd();
69
69
  } if (rf & 2) {
@@ -72,31 +72,31 @@ function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_textarea_4_
72
72
  } }
73
73
  function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_1_Template(rf, ctx) { if (rf & 1) {
74
74
  const _r8 = i0.ɵɵgetCurrentView();
75
- i0.ɵɵelementStart(0, "span", 41);
75
+ i0.ɵɵelementStart(0, "span", 42);
76
76
  i0.ɵɵlistener("click", function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r8); const dataItem_r6 = i0.ɵɵnextContext(2).dataItem; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.editConvo(dataItem_r6)); });
77
77
  i0.ɵɵelementEnd();
78
78
  } }
79
79
  function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_2_Template(rf, ctx) { if (rf & 1) {
80
80
  const _r9 = i0.ɵɵgetCurrentView();
81
- i0.ɵɵelementStart(0, "span", 42);
82
- i0.ɵɵlistener("click", function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_2_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r9); const dataItem_r6 = i0.ɵɵnextContext(2).dataItem; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.deleteConvo(dataItem_r6)); });
81
+ i0.ɵɵelementStart(0, "span", 43);
82
+ i0.ɵɵlistener("click", function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_2_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r9); const dataItem_r6 = i0.ɵɵnextContext(2).dataItem; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.showDeleteConvoDialog(dataItem_r6)); });
83
83
  i0.ɵɵelementEnd();
84
84
  } }
85
85
  function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
86
86
  const _r10 = i0.ɵɵgetCurrentView();
87
- i0.ɵɵelementStart(0, "span", 43);
87
+ i0.ɵɵelementStart(0, "span", 44);
88
88
  i0.ɵɵlistener("click", function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_3_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r10); const dataItem_r6 = i0.ɵɵnextContext(2).dataItem; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.saveConvoName(dataItem_r6)); });
89
89
  i0.ɵɵelementEnd();
90
90
  } }
91
91
  function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
92
92
  const _r11 = i0.ɵɵgetCurrentView();
93
- i0.ɵɵelementStart(0, "span", 44);
93
+ i0.ɵɵelementStart(0, "span", 45);
94
94
  i0.ɵɵlistener("click", function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_4_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r11); const dataItem_r6 = i0.ɵɵnextContext(2).dataItem; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.cancelConvoEdit(dataItem_r6)); });
95
95
  i0.ɵɵelementEnd();
96
96
  } }
97
97
  function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_Template(rf, ctx) { if (rf & 1) {
98
- i0.ɵɵelementStart(0, "div", 36);
99
- i0.ɵɵtemplate(1, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_1_Template, 1, 0, "span", 37)(2, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_2_Template, 1, 0, "span", 38)(3, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_3_Template, 1, 0, "span", 39)(4, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_4_Template, 1, 0, "span", 40);
98
+ i0.ɵɵelementStart(0, "div", 37);
99
+ i0.ɵɵtemplate(1, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_1_Template, 1, 0, "span", 38)(2, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_2_Template, 1, 0, "span", 39)(3, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_3_Template, 1, 0, "span", 40)(4, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_4_Template, 1, 0, "span", 41);
100
100
  i0.ɵɵelementEnd();
101
101
  } if (rf & 2) {
102
102
  const ctx_r2 = i0.ɵɵnextContext(4);
@@ -111,13 +111,13 @@ function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_Templ
111
111
  } }
112
112
  function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_Template(rf, ctx) { if (rf & 1) {
113
113
  const _r5 = i0.ɵɵgetCurrentView();
114
- i0.ɵɵelementStart(0, "div", 29);
114
+ i0.ɵɵelementStart(0, "div", 30);
115
115
  i0.ɵɵlistener("click", function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_Template_div_click_0_listener() { const dataItem_r6 = i0.ɵɵrestoreView(_r5).dataItem; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.SelectConversation(dataItem_r6)); });
116
- i0.ɵɵtemplate(1, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_1_Template, 1, 0, "span", 30);
117
- i0.ɵɵelementStart(2, "div", 31);
118
- i0.ɵɵtemplate(3, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_3_Template, 2, 1, "span", 19)(4, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_textarea_4_Template, 1, 1, "textarea", 32);
116
+ i0.ɵɵtemplate(1, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_1_Template, 1, 0, "span", 31);
117
+ i0.ɵɵelementStart(2, "div", 32);
118
+ i0.ɵɵtemplate(3, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_3_Template, 2, 1, "span", 19)(4, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_textarea_4_Template, 1, 1, "textarea", 33);
119
119
  i0.ɵɵelementEnd();
120
- i0.ɵɵtemplate(5, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_Template, 5, 4, "div", 33);
120
+ i0.ɵɵtemplate(5, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_Template, 5, 4, "div", 34);
121
121
  i0.ɵɵelementEnd();
122
122
  } if (rf & 2) {
123
123
  const dataItem_r6 = ctx.dataItem;
@@ -133,26 +133,28 @@ function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_Template(rf
133
133
  i0.ɵɵproperty("ngIf", (ctx_r2.SelectedConversation == null ? null : ctx_r2.SelectedConversation.ID) === dataItem_r6.ID);
134
134
  } }
135
135
  function SkipChatComponent_kendo_splitter_pane_3_div_1_Template(rf, ctx) { if (rf & 1) {
136
- i0.ɵɵelementStart(0, "div", 22)(1, "div", 23);
137
- i0.ɵɵelement(2, "img", 24);
138
- i0.ɵɵtemplate(3, SkipChatComponent_kendo_splitter_pane_3_div_1_button_3_Template, 2, 0, "button", 25);
136
+ i0.ɵɵelementStart(0, "div", 23)(1, "div", 24);
137
+ i0.ɵɵelement(2, "img", 25);
138
+ i0.ɵɵtemplate(3, SkipChatComponent_kendo_splitter_pane_3_div_1_button_3_Template, 2, 0, "button", 26);
139
139
  i0.ɵɵelementEnd();
140
- i0.ɵɵelementStart(4, "kendo-listview", 26, 3);
141
- i0.ɵɵtemplate(6, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_Template, 6, 6, "ng-template", 27);
140
+ i0.ɵɵelementStart(4, "kendo-listview", 27, 3);
141
+ i0.ɵɵtemplate(6, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_Template, 6, 6, "ng-template", 28);
142
142
  i0.ɵɵelementEnd()();
143
143
  } if (rf & 2) {
144
144
  const ctx_r2 = i0.ɵɵnextContext(2);
145
- i0.ɵɵadvance(3);
145
+ i0.ɵɵadvance(2);
146
+ i0.ɵɵproperty("src", ctx_r2.SkipLogoURL, i0.ɵɵsanitizeUrl);
147
+ i0.ɵɵadvance();
146
148
  i0.ɵɵproperty("ngIf", ctx_r2.AllowNewConversations);
147
149
  i0.ɵɵadvance();
148
150
  i0.ɵɵstyleProp("height", 280, "px");
149
- i0.ɵɵproperty("data", ctx_r2.Conversations)("itemClass", i0.ɵɵpureFunction0(7, _c6))("fillWidth", false)("bottomMargin", 20);
151
+ i0.ɵɵproperty("data", ctx_r2.Conversations)("itemClass", i0.ɵɵpureFunction0(8, _c6))("fillWidth", false)("bottomMargin", 20);
150
152
  } }
151
153
  function SkipChatComponent_kendo_splitter_pane_3_Template(rf, ctx) { if (rf & 1) {
152
154
  const _r2 = i0.ɵɵgetCurrentView();
153
- i0.ɵɵelementStart(0, "kendo-splitter-pane", 20);
155
+ i0.ɵɵelementStart(0, "kendo-splitter-pane", 21);
154
156
  i0.ɵɵlistener("collapsedChange", function SkipChatComponent_kendo_splitter_pane_3_Template_kendo_splitter_pane_collapsedChange_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.splitterCollapseStateChanged($event)); });
155
- i0.ɵɵtemplate(1, SkipChatComponent_kendo_splitter_pane_3_div_1_Template, 7, 8, "div", 21);
157
+ i0.ɵɵtemplate(1, SkipChatComponent_kendo_splitter_pane_3_div_1_Template, 7, 9, "div", 22);
156
158
  i0.ɵɵelementEnd();
157
159
  } if (rf & 2) {
158
160
  const ctx_r2 = i0.ɵɵnextContext();
@@ -161,44 +163,42 @@ function SkipChatComponent_kendo_splitter_pane_3_Template(rf, ctx) { if (rf & 1)
161
163
  i0.ɵɵproperty("ngIf", ctx_r2.ShowConversationList);
162
164
  } }
163
165
  function SkipChatComponent_div_9_Template(rf, ctx) { if (rf & 1) {
164
- i0.ɵɵelementStart(0, "div", 45);
165
- i0.ɵɵelement(1, "kendo-loader");
166
- i0.ɵɵelementEnd();
166
+ i0.ɵɵelement(0, "div", 46);
167
167
  } }
168
168
  function SkipChatComponent_div_10_Template(rf, ctx) { if (rf & 1) {
169
169
  const _r12 = i0.ɵɵgetCurrentView();
170
- i0.ɵɵelementStart(0, "div", 46)(1, "div", 47);
171
- i0.ɵɵelement(2, "img", 48);
172
- i0.ɵɵelementStart(3, "div", 49);
170
+ i0.ɵɵelementStart(0, "div", 47)(1, "div", 48);
171
+ i0.ɵɵelement(2, "img", 49);
172
+ i0.ɵɵelementStart(3, "div", 50);
173
173
  i0.ɵɵtext(4, "What can I help with today?");
174
174
  i0.ɵɵelementEnd()();
175
- i0.ɵɵelementStart(5, "div", 50)(6, "div", 51)(7, "div", 52);
175
+ i0.ɵɵelementStart(5, "div", 51)(6, "div", 52)(7, "div", 53);
176
176
  i0.ɵɵlistener("click", function SkipChatComponent_div_10_Template_div_click_7_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sendPrompt(ctx_r2.WelcomeQuestions[0].prompt)); });
177
- i0.ɵɵelementStart(8, "span", 53);
177
+ i0.ɵɵelementStart(8, "span", 54);
178
178
  i0.ɵɵtext(9);
179
179
  i0.ɵɵelementEnd();
180
180
  i0.ɵɵelementStart(10, "span");
181
181
  i0.ɵɵtext(11);
182
182
  i0.ɵɵelementEnd()();
183
- i0.ɵɵelementStart(12, "div", 52);
183
+ i0.ɵɵelementStart(12, "div", 53);
184
184
  i0.ɵɵlistener("click", function SkipChatComponent_div_10_Template_div_click_12_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sendPrompt(ctx_r2.WelcomeQuestions[1].prompt)); });
185
- i0.ɵɵelementStart(13, "span", 53);
185
+ i0.ɵɵelementStart(13, "span", 54);
186
186
  i0.ɵɵtext(14);
187
187
  i0.ɵɵelementEnd();
188
188
  i0.ɵɵelementStart(15, "span");
189
189
  i0.ɵɵtext(16);
190
190
  i0.ɵɵelementEnd()()();
191
- i0.ɵɵelementStart(17, "div", 51)(18, "div", 52);
191
+ i0.ɵɵelementStart(17, "div", 52)(18, "div", 53);
192
192
  i0.ɵɵlistener("click", function SkipChatComponent_div_10_Template_div_click_18_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sendPrompt(ctx_r2.WelcomeQuestions[2].prompt)); });
193
- i0.ɵɵelementStart(19, "span", 53);
193
+ i0.ɵɵelementStart(19, "span", 54);
194
194
  i0.ɵɵtext(20);
195
195
  i0.ɵɵelementEnd();
196
196
  i0.ɵɵelementStart(21, "span");
197
197
  i0.ɵɵtext(22);
198
198
  i0.ɵɵelementEnd()();
199
- i0.ɵɵelementStart(23, "div", 52);
199
+ i0.ɵɵelementStart(23, "div", 53);
200
200
  i0.ɵɵlistener("click", function SkipChatComponent_div_10_Template_div_click_23_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sendPrompt(ctx_r2.WelcomeQuestions[3].prompt)); });
201
- i0.ɵɵelementStart(24, "span", 53);
201
+ i0.ɵɵelementStart(24, "span", 54);
202
202
  i0.ɵɵtext(25);
203
203
  i0.ɵɵelementEnd();
204
204
  i0.ɵɵelementStart(26, "span");
@@ -206,7 +206,9 @@ function SkipChatComponent_div_10_Template(rf, ctx) { if (rf & 1) {
206
206
  i0.ɵɵelementEnd()()()()();
207
207
  } if (rf & 2) {
208
208
  const ctx_r2 = i0.ɵɵnextContext();
209
- i0.ɵɵadvance(9);
209
+ i0.ɵɵadvance(2);
210
+ i0.ɵɵproperty("src", ctx_r2.SkipLogoURL, i0.ɵɵsanitizeUrl);
211
+ i0.ɵɵadvance(7);
210
212
  i0.ɵɵtextInterpolate(ctx_r2.WelcomeQuestions[0].topLine);
211
213
  i0.ɵɵadvance(2);
212
214
  i0.ɵɵtextInterpolate(ctx_r2.WelcomeQuestions[0].bottomLine);
@@ -225,26 +227,47 @@ function SkipChatComponent_div_10_Template(rf, ctx) { if (rf & 1) {
225
227
  } }
226
228
  function SkipChatComponent_span_12_Template(rf, ctx) { if (rf & 1) {
227
229
  const _r13 = i0.ɵɵgetCurrentView();
228
- i0.ɵɵelementStart(0, "span", 54);
230
+ i0.ɵɵelementStart(0, "span", 55);
229
231
  i0.ɵɵlistener("click", function SkipChatComponent_span_12_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.scrollToBottomAnimate()); });
230
- i0.ɵɵelement(1, "i", 55);
232
+ i0.ɵɵelement(1, "i", 56);
231
233
  i0.ɵɵelementEnd();
232
234
  } }
233
235
  function SkipChatComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
234
236
  const _r14 = i0.ɵɵgetCurrentView();
235
- i0.ɵɵelementStart(0, "button", 16)(1, "span", 56);
237
+ i0.ɵɵelementStart(0, "button", 16)(1, "span", 57);
236
238
  i0.ɵɵlistener("click", function SkipChatComponent_Conditional_17_Template_span_click_1_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.showDataContext()); });
237
239
  i0.ɵɵelementEnd()();
238
240
  } }
239
241
  function SkipChatComponent_div_20_Template(rf, ctx) { if (rf & 1) {
240
242
  const _r15 = i0.ɵɵgetCurrentView();
241
- i0.ɵɵelementStart(0, "div")(1, "mj-data-context-dialog", 57);
243
+ i0.ɵɵelementStart(0, "div")(1, "mj-data-context-dialog", 58);
242
244
  i0.ɵɵlistener("dialogClosed", function SkipChatComponent_div_20_Template_mj_data_context_dialog_dialogClosed_1_listener() { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDataContextDialog()); });
243
245
  i0.ɵɵelementEnd()();
244
246
  } if (rf & 2) {
245
247
  const ctx_r2 = i0.ɵɵnextContext();
246
248
  i0.ɵɵadvance();
247
- i0.ɵɵproperty("dataContextId", ctx_r2.DataContextID);
249
+ i0.ɵɵproperty("dataContextId", ctx_r2.DataContextID)("Provider", ctx_r2.ProviderToUse);
250
+ } }
251
+ function SkipChatComponent_kendo_dialog_21_Template(rf, ctx) { if (rf & 1) {
252
+ const _r16 = i0.ɵɵgetCurrentView();
253
+ i0.ɵɵelementStart(0, "kendo-dialog", 59);
254
+ i0.ɵɵlistener("close", function SkipChatComponent_kendo_dialog_21_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDeleteConversation("no")); });
255
+ i0.ɵɵelementStart(1, "p", 60);
256
+ i0.ɵɵtext(2);
257
+ i0.ɵɵelementEnd();
258
+ i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 61);
259
+ i0.ɵɵlistener("click", function SkipChatComponent_kendo_dialog_21_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDeleteConversation("yes")); });
260
+ i0.ɵɵtext(5, " Yes ");
261
+ i0.ɵɵelementEnd();
262
+ i0.ɵɵelementStart(6, "button", 29);
263
+ i0.ɵɵlistener("click", function SkipChatComponent_kendo_dialog_21_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDeleteConversation("no")); });
264
+ i0.ɵɵtext(7, " No ");
265
+ i0.ɵɵelementEnd()()();
266
+ } if (rf & 2) {
267
+ const ctx_r2 = i0.ɵɵnextContext();
268
+ i0.ɵɵproperty("minWidth", 250)("width", 450);
269
+ i0.ɵɵadvance(2);
270
+ i0.ɵɵtextInterpolate1(" Would you like to delete ", ctx_r2.SelectedConversation == null ? null : ctx_r2.SelectedConversation.Name, "? ");
248
271
  } }
249
272
  let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends BaseNavigationComponent {
250
273
  constructor(el, sharedService, renderer, route, router, location, cdRef) {
@@ -268,13 +291,26 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
268
291
  this.LinkedEntityCompositeKey = new CompositeKey();
269
292
  this.ShowDataContextButton = true;
270
293
  this.IncludeLinkedConversationsInList = false;
294
+ this.SkipLogoURL = "assets/Skip Full Logo - Transparent.png";
295
+ this.SkipMarkOnlyLogoURL = "assets/Skip - Mark Only - Small.png";
296
+ /**
297
+ * Set this property in order to set the user image. This can either be a URL or a Blob
298
+ */
299
+ this.UserImage = undefined;
271
300
  /**
272
301
  * If true, the component will update the browser URL when the conversation changes. If false, it will not update the URL. Default is true.
273
302
  */
274
303
  this.UpdateAppRoute = true;
304
+ /**
305
+ * Event emitted when the user clicks on a matching report and the application needs to handle the navigation
306
+ */
307
+ this.NavigateToMatchingReport = new EventEmitter();
308
+ /**
309
+ * Event emitted whenever a conversation is selected
310
+ */
311
+ this.ConversationSelected = new EventEmitter();
275
312
  this._showScrollToBottomIcon = false;
276
313
  this._messageInProgress = false;
277
- this.refreshOnAttach = false;
278
314
  this._conversationsInProgress = {};
279
315
  this._conversationsToReload = {};
280
316
  this._conversationLoadComplete = false;
@@ -303,9 +339,16 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
303
339
  prompt: 'I need help with marketing, can you help me analyze my data and then think about ways to segment my audience and build campaigns to improve revenue and retention?',
304
340
  },
305
341
  ];
306
- this._loaded = false;
342
+ this._initialLoadComplete = false;
343
+ this._isLoading = false;
344
+ this._numLoads = 0;
345
+ /**
346
+ * This property is used to determine if the component should automatically load the data when it is first shown. Default is true. Turn this off if you want to have more control over the loading sequence and manually call the Load() method when ready.
347
+ */
348
+ this.AutoLoad = true;
307
349
  this._scrollToBottom = false;
308
350
  this._oldConvoName = '';
351
+ this.confirmDeleteConversationDialogOpen = false;
309
352
  this._usedStartMessages = [];
310
353
  this._processingStatus = {};
311
354
  this.isDataContextDialogVisible = false;
@@ -452,54 +495,64 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
452
495
  }
453
496
  }
454
497
  ngAfterViewInit() {
455
- this.updateParentTabPanelStyling();
456
- // create an intersection observer to see if we are visible
457
- this._intersectionObserver = new IntersectionObserver((entries) => {
458
- const [entry] = entries;
459
- if (!entry.isIntersecting) {
460
- // we are NOT visible, so decrement the count of visible instances, but only if we were ever visible, meaning sometimes we get this situation before we are ever shown
461
- if (this._loaded) {
462
- // don't go below 0
463
- SkipChatComponent_1.__skipChatWindowsCurrentlyVisible = Math.max(0, SkipChatComponent_1.__skipChatWindowsCurrentlyVisible - 1);
464
- }
465
- }
466
- else {
467
- // we are now visible, increment the count of visible instances
468
- SkipChatComponent_1.__skipChatWindowsCurrentlyVisible++;
469
- if (!this._loaded) {
470
- // we are now visible, for the first time, first fire off an InvokeManualResize to ensure the parent container is resized properly
471
- this.sharedService.InvokeManualResize();
472
- // first do stuff if we're on "global" skip chat mode...
473
- if (this.ShowConversationList && !this.LinkedEntity && this.LinkedEntity.trim().length === 0 && !this.CompositeKeyIsPopulated()) {
474
- // only subscribe to the route params if we don't have a linked entity and record id, meaning we're in the context of the top level Skip Chat UI, not embedded somewhere
475
- this.paramsSubscription = this.route.params.subscribe((params) => {
476
- if (!this._loaded) {
477
- this._loaded = true; // do this once
478
- const conversationId = params.conversationId;
479
- if (conversationId) {
480
- this.loadConversations(conversationId); // Load the conversation based on the conversationId
481
- }
482
- else {
483
- this.loadConversations();
498
+ return __awaiter(this, void 0, void 0, function* () {
499
+ if (this.AutoLoad)
500
+ yield this.Load();
501
+ });
502
+ }
503
+ Load() {
504
+ return __awaiter(this, arguments, void 0, function* (forceRefresh = false) {
505
+ if (!this._initialLoadComplete || forceRefresh) {
506
+ this.updateParentTabPanelStyling();
507
+ // create an intersection observer to see if we are visible
508
+ this._intersectionObserver = new IntersectionObserver((entries) => __awaiter(this, void 0, void 0, function* () {
509
+ const [entry] = entries;
510
+ if (!entry.isIntersecting) {
511
+ // we are NOT visible, so decrement the count of visible instances, but only if we were ever visible, meaning sometimes we get this situation before we are ever shown
512
+ if (this._initialLoadComplete) {
513
+ // don't go below 0
514
+ SkipChatComponent_1.__skipChatWindowsCurrentlyVisible = Math.max(0, SkipChatComponent_1.__skipChatWindowsCurrentlyVisible - 1);
515
+ }
516
+ }
517
+ else {
518
+ // we are now visible, increment the count of visible instances
519
+ SkipChatComponent_1.__skipChatWindowsCurrentlyVisible++;
520
+ if (!this._initialLoadComplete) {
521
+ // we are now visible, for the first time, first fire off an InvokeManualResize to ensure the parent container is resized properly
522
+ this.sharedService.InvokeManualResize();
523
+ // first do stuff if we're on "global" skip chat mode...
524
+ if (this.ShowConversationList && !this.LinkedEntity && this.LinkedEntity.trim().length === 0 && !this.CompositeKeyIsPopulated()) {
525
+ // only subscribe to the route params if we don't have a linked entity and record id, meaning we're in the context of the top level Skip Chat UI, not embedded somewhere
526
+ this.paramsSubscription = this.route.params.subscribe((params) => __awaiter(this, void 0, void 0, function* () {
527
+ if (!this._initialLoadComplete) {
528
+ this._initialLoadComplete = true; // do this once
529
+ const conversationId = params.conversationId;
530
+ if (conversationId) {
531
+ yield this.loadConversations(conversationId); // Load the conversation based on the conversationId
532
+ }
533
+ else {
534
+ yield this.loadConversations();
535
+ }
536
+ }
537
+ }));
538
+ }
539
+ else if (this.LinkedEntity && this.CompositeKeyIsPopulated()) {
540
+ // now, do stuff if we are embedded in another component with a LinkedEntity/LinkedEntityRecordID
541
+ if (!this._initialLoadComplete) {
542
+ this._initialLoadComplete = true; // do this once
543
+ yield this.loadConversations(); // Load the conversation which will filter by the linked entity and record id
484
544
  }
485
545
  }
486
- });
487
- }
488
- else if (this.LinkedEntity && this.CompositeKeyIsPopulated()) {
489
- // now, do stuff if we are embedded in another component with a LinkedEntity/LinkedEntityRecordID
490
- if (!this._loaded) {
491
- this._loaded = true; // do this once
492
- this.loadConversations(); // Load the conversation which will filter by the linked entity and record id
546
+ this.checkScroll();
493
547
  }
548
+ // Only care about the first time we are visible, so unobserve here to save resources
549
+ //this._intersectionObserver!.unobserve(this.topLevelDiv.nativeElement);
494
550
  }
495
- this.checkScroll();
496
- }
497
- // Only care about the first time we are visible, so unobserve here to save resources
498
- //this._intersectionObserver!.unobserve(this.topLevelDiv.nativeElement);
551
+ }));
552
+ // now fire up the observer on the top level div
553
+ this._intersectionObserver.observe(this.topLevelDiv.nativeElement);
499
554
  }
500
555
  });
501
- // now fire up the observer on the top level div
502
- this._intersectionObserver.observe(this.topLevelDiv.nativeElement);
503
556
  }
504
557
  ngAfterViewChecked() {
505
558
  if (this._scrollToBottom) {
@@ -518,6 +571,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
518
571
  }
519
572
  loadConversations() {
520
573
  return __awaiter(this, arguments, void 0, function* (conversationIdToLoad = undefined) {
574
+ this._isLoading = true;
521
575
  let cachedConversations = MJGlobal.Instance.ObjectCache.Find('Conversations');
522
576
  if (!cachedConversations) {
523
577
  // load up from the database as we don't have any cached conversations
@@ -549,24 +603,26 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
549
603
  }
550
604
  if (this.Conversations.length === 0) {
551
605
  // no conversations, so create a new one
552
- this.CreateNewConversation();
606
+ yield this.CreateNewConversation();
553
607
  this.sharedService.InvokeManualResize(1);
554
608
  }
555
609
  else if (conversationIdToLoad) {
556
610
  // we have > 0 convos and we were asked to load a specific one
557
611
  const convo = this.Conversations.find((c) => c.ID == conversationIdToLoad);
558
612
  if (convo) {
559
- this.SelectConversation(convo);
613
+ yield this.SelectConversation(convo);
560
614
  }
561
615
  else {
562
616
  // we didn't find the conversation so just select the first one
563
- this.SelectConversation(this.Conversations[0]);
617
+ yield this.SelectConversation(this.Conversations[0]);
564
618
  }
565
619
  }
566
620
  else {
567
621
  // select the first conversation since no param was provided and we have > 0 convos
568
- this.SelectConversation(this.Conversations[0]);
622
+ yield this.SelectConversation(this.Conversations[0]);
569
623
  }
624
+ this._isLoading = false;
625
+ this._numLoads++;
570
626
  });
571
627
  }
572
628
  editConvo(conversation) {
@@ -609,33 +665,44 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
609
665
  this.sharedService.CreateSimpleNotification('Error saving conversation name', 'error', 5000);
610
666
  });
611
667
  }
668
+ showDeleteConvoDialog(conversation) {
669
+ return __awaiter(this, void 0, void 0, function* () {
670
+ this.confirmDeleteConversationDialogOpen = true;
671
+ this._conversationToDelete = conversation;
672
+ });
673
+ }
674
+ closeDeleteConversation(yesno) {
675
+ return __awaiter(this, void 0, void 0, function* () {
676
+ this.confirmDeleteConversationDialogOpen = false;
677
+ if (this._conversationToDelete && yesno === 'yes')
678
+ yield this.deleteConvo(this._conversationToDelete);
679
+ });
680
+ }
612
681
  deleteConvo(conversation) {
613
682
  return __awaiter(this, void 0, void 0, function* () {
614
- if (confirm('Are you sure you want to delete this conversation?')) {
615
- // delete the conversation - we might need to load the entity if the current object isn't a "real object"
616
- if (yield this.DeleteConversation(conversation.ID)) {
617
- // get the index of the conversation
618
- const idx = this.Conversations.findIndex((c) => c.ID === conversation.ID);
619
- // remove the conversation from the list that is bound to the UI
620
- this.Conversations = this.Conversations.filter((c) => c.ID != conversation.ID);
621
- // also, remove the conversation from the cache
622
- const cachedConversations = MJGlobal.Instance.ObjectCache.Find('Conversations');
623
- if (cachedConversations) {
624
- MJGlobal.Instance.ObjectCache.Replace('Conversations', cachedConversations.filter((c) => c.ID != conversation.ID));
625
- }
626
- else {
627
- MJGlobal.Instance.ObjectCache.Add('Conversations', this.Conversations);
628
- }
629
- if (this.Conversations.length > 0) {
630
- const newIdx = idx > 0 ? idx - 1 : 0;
631
- this.SelectConversation(this.Conversations[newIdx]);
632
- }
633
- else
634
- this.Messages = [];
683
+ // delete the conversation - we might need to load the entity if the current object isn't a "real object"
684
+ if (yield this.DeleteConversation(conversation.ID)) {
685
+ // get the index of the conversation
686
+ const idx = this.Conversations.findIndex((c) => c.ID === conversation.ID);
687
+ // remove the conversation from the list that is bound to the UI
688
+ this.Conversations = this.Conversations.filter((c) => c.ID != conversation.ID);
689
+ // also, remove the conversation from the cache
690
+ const cachedConversations = MJGlobal.Instance.ObjectCache.Find('Conversations');
691
+ if (cachedConversations) {
692
+ MJGlobal.Instance.ObjectCache.Replace('Conversations', cachedConversations.filter((c) => c.ID != conversation.ID));
635
693
  }
636
694
  else {
637
- this.sharedService.CreateSimpleNotification('Error deleting conversation', 'error', 5000);
695
+ MJGlobal.Instance.ObjectCache.Add('Conversations', this.Conversations);
696
+ }
697
+ if (this.Conversations.length > 0) {
698
+ const newIdx = idx > 0 ? idx - 1 : 0;
699
+ this.SelectConversation(this.Conversations[newIdx]);
638
700
  }
701
+ else
702
+ this.Messages = [];
703
+ }
704
+ else {
705
+ this.sharedService.CreateSimpleNotification('Error deleting conversation', 'error', 5000);
639
706
  }
640
707
  });
641
708
  }
@@ -772,8 +839,8 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
772
839
  if (this.UpdateAppRoute) {
773
840
  // finally update the browser URL since we've changed the conversation ID
774
841
  this.location.go('/askskip/' + conversation.ID);
775
- // this.router.navigate(['askskip', conversation.ID]);
776
842
  }
843
+ this.ConversationSelected.emit(conversation.ID);
777
844
  }
778
845
  });
779
846
  }
@@ -899,7 +966,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
899
966
  this.cdRef.detectChanges();
900
967
  // invoke manual resize with a delay to ensure that the scroll to bottom has taken place
901
968
  //this.sharedService.InvokeManualResize();
902
- this.SetSkipStatusMessage('', 3500); // slight delay to ensure that the message is removed after the UI has updated with the new response message
969
+ this.SetSkipStatusMessage('', 500); // slight delay to ensure that the message is removed after the UI has updated with the new response message
903
970
  // now set focus on the input box
904
971
  this.askSkipInput.nativeElement.focus();
905
972
  }
@@ -974,6 +1041,12 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
974
1041
  const componentRef = this.askSkip.viewContainerRef.createComponent(SkipSingleMessageComponent);
975
1042
  // Pass the message details to the component instance
976
1043
  const obj = componentRef.instance;
1044
+ obj.NavigateToMatchingReport.subscribe((reportId) => {
1045
+ this.NavigateToMatchingReport.emit(reportId);
1046
+ });
1047
+ obj.Provider = this.ProviderToUse;
1048
+ obj.SkipMarkOnlyLogoURL = this.SkipMarkOnlyLogoURL;
1049
+ obj.UserImage = this.UserImage;
977
1050
  obj.ConversationRecord = this.SelectedConversation;
978
1051
  obj.ConversationDetailRecord = messageDetail;
979
1052
  obj.DataContext = this.DataContext;
@@ -1214,13 +1287,13 @@ SkipChatComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipChatC
1214
1287
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.askSkipInput = _t.first);
1215
1288
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollContainer = _t.first);
1216
1289
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.topLevelDiv = _t.first);
1217
- } }, inputs: { AllowSend: "AllowSend", Messages: "Messages", Conversations: "Conversations", SelectedConversation: "SelectedConversation", ConversationEditMode: "ConversationEditMode", ShowConversationList: "ShowConversationList", AllowNewConversations: "AllowNewConversations", Title: "Title", DataContextID: "DataContextID", LinkedEntity: "LinkedEntity", LinkedEntityCompositeKey: "LinkedEntityCompositeKey", ShowDataContextButton: "ShowDataContextButton", IncludeLinkedConversationsInList: "IncludeLinkedConversationsInList", UpdateAppRoute: "UpdateAppRoute", Provider: "Provider", WelcomeQuestions: "WelcomeQuestions" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 21, vars: 10, consts: [["topLevelDiv", ""], ["AskSkipPanel", "", "scrollContainer", ""], ["AskSkipInput", ""], ["conversationList", ""], ["mjFillContainer", "", 1, "chat-container", 3, "bottomMargin", "rightMargin"], ["orientation", "horizontal"], ["size", "272px", 3, "collapsible", "scrollable", "resizable", "collapsedChange", 4, "ngIf"], ["mjFillContainer", "", 1, "conversation-wrapper"], [1, "messages", 3, "scroll"], ["class", "waiting-for-ai", 4, "ngIf"], ["class", "welcome-wrapper", 4, "ngIf"], ["mjContainer", "", "mjSkipResize", "true"], ["class", "scroll-to-bottom-icon", 3, "click", 4, "ngIf"], [1, "input-area"], [1, "text-area-wrapper"], ["type", "text", "placeholder", "Ask Skip a question", 3, "keyup.enter", "input", "disabled"], ["kendoButton", ""], ["kendoButton", "", 3, "click", "disabled"], [1, "fas", "fa-solid", "fa-arrow-up"], [4, "ngIf"], ["size", "272px", 3, "collapsedChange", "collapsible", "scrollable", "resizable"], ["class", "conversation-history", 4, "ngIf"], [1, "conversation-history"], [1, "new-chat-area"], ["src", "assets/Skip Full Logo - Transparent.png", 1, "avatar"], ["kendoButton", "", 3, "click", 4, "ngIf"], ["mjFillContainer", "", 1, "conversation-list", 3, "data", "itemClass", "fillWidth", "bottomMargin"], ["kendoListViewItemTemplate", ""], ["kendoButton", "", 3, "click"], [1, "conversation-item", 3, "click", "ngClass", "title"], ["class", "fa-regular fa-clock", 4, "ngIf"], [1, "text-container"], ["maxlength", "100", 3, "ngModel", "ngModelChange", 4, "ngIf"], ["class", "edit-conversation-panel", 4, "ngIf"], [1, "fa-regular", "fa-clock"], ["maxlength", "100", 3, "ngModelChange", "ngModel"], [1, "edit-conversation-panel"], ["class", "fa-solid fa-pen-to-square", 3, "click", 4, "ngIf"], ["class", "fa-regular fa-trash-can", 3, "click", 4, "ngIf"], ["class", "fa-solid fa-check", 3, "click", 4, "ngIf"], ["class", "fa-solid fa-xmark", 3, "click", 4, "ngIf"], [1, "fa-solid", "fa-pen-to-square", 3, "click"], [1, "fa-regular", "fa-trash-can", 3, "click"], [1, "fa-solid", "fa-check", 3, "click"], [1, "fa-solid", "fa-xmark", 3, "click"], [1, "waiting-for-ai"], [1, "welcome-wrapper"], [1, "welcome-message"], ["src", "assets/Skip Full Logo - Transparent.png"], [1, "welcome-header-text"], [1, "welcome-suggested-questions"], [1, "welcome-suggested-questions-col"], [1, "welcome-question", 3, "click"], [1, "welcome-question-header"], [1, "scroll-to-bottom-icon", 3, "click"], [1, "fas", "fa-arrow-down"], [1, "fa-solid", "fa-gear", 3, "click"], [3, "dialogClosed", "dataContextId"]], template: function SkipChatComponent_Template(rf, ctx) { if (rf & 1) {
1290
+ } }, inputs: { AllowSend: "AllowSend", Messages: "Messages", Conversations: "Conversations", SelectedConversation: "SelectedConversation", ConversationEditMode: "ConversationEditMode", ShowConversationList: "ShowConversationList", AllowNewConversations: "AllowNewConversations", Title: "Title", DataContextID: "DataContextID", LinkedEntity: "LinkedEntity", LinkedEntityCompositeKey: "LinkedEntityCompositeKey", ShowDataContextButton: "ShowDataContextButton", IncludeLinkedConversationsInList: "IncludeLinkedConversationsInList", SkipLogoURL: "SkipLogoURL", SkipMarkOnlyLogoURL: "SkipMarkOnlyLogoURL", UserImage: "UserImage", UpdateAppRoute: "UpdateAppRoute", Provider: "Provider", WelcomeQuestions: "WelcomeQuestions", AutoLoad: "AutoLoad" }, outputs: { NavigateToMatchingReport: "NavigateToMatchingReport", ConversationSelected: "ConversationSelected" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 22, vars: 11, consts: [["topLevelDiv", ""], ["AskSkipPanel", "", "scrollContainer", ""], ["AskSkipInput", ""], ["conversationList", ""], ["mjFillContainer", "", 1, "chat-container", 3, "bottomMargin", "rightMargin"], ["orientation", "horizontal"], ["size", "272px", 3, "collapsible", "scrollable", "resizable", "collapsedChange", 4, "ngIf"], ["mjFillContainer", "", 1, "conversation-wrapper"], [1, "messages", 3, "scroll"], ["class", "waiting-for-ai", 4, "ngIf"], ["class", "welcome-wrapper", 4, "ngIf"], ["mjContainer", "", "mjSkipResize", "true"], ["class", "scroll-to-bottom-icon", 3, "click", 4, "ngIf"], [1, "input-area"], [1, "text-area-wrapper"], ["type", "text", "placeholder", "Ask Skip a question", 3, "keyup.enter", "input", "disabled"], ["kendoButton", ""], ["kendoButton", "", 3, "click", "disabled"], [1, "fas", "fa-solid", "fa-arrow-up"], [4, "ngIf"], ["title", "Please confirm", 3, "minWidth", "width", "close", 4, "ngIf"], ["size", "272px", 3, "collapsedChange", "collapsible", "scrollable", "resizable"], ["class", "conversation-history", 4, "ngIf"], [1, "conversation-history"], [1, "new-chat-area"], [1, "avatar", 3, "src"], ["kendoButton", "", 3, "click", 4, "ngIf"], ["mjFillContainer", "", 1, "conversation-list", 3, "data", "itemClass", "fillWidth", "bottomMargin"], ["kendoListViewItemTemplate", ""], ["kendoButton", "", 3, "click"], [1, "conversation-item", 3, "click", "ngClass", "title"], ["class", "fa-regular fa-clock", 4, "ngIf"], [1, "text-container"], ["maxlength", "100", 3, "ngModel", "ngModelChange", 4, "ngIf"], ["class", "edit-conversation-panel", 4, "ngIf"], [1, "fa-regular", "fa-clock"], ["maxlength", "100", 3, "ngModelChange", "ngModel"], [1, "edit-conversation-panel"], ["class", "fa-solid fa-pen-to-square", 3, "click", 4, "ngIf"], ["class", "fa-regular fa-trash-can", 3, "click", 4, "ngIf"], ["class", "fa-solid fa-check", 3, "click", 4, "ngIf"], ["class", "fa-solid fa-xmark", 3, "click", 4, "ngIf"], [1, "fa-solid", "fa-pen-to-square", 3, "click"], [1, "fa-regular", "fa-trash-can", 3, "click"], [1, "fa-solid", "fa-check", 3, "click"], [1, "fa-solid", "fa-xmark", 3, "click"], [1, "waiting-for-ai"], [1, "welcome-wrapper"], [1, "welcome-message"], [3, "src"], [1, "welcome-header-text"], [1, "welcome-suggested-questions"], [1, "welcome-suggested-questions-col"], [1, "welcome-question", 3, "click"], [1, "welcome-question-header"], [1, "scroll-to-bottom-icon", 3, "click"], [1, "fas", "fa-arrow-down"], [1, "fa-solid", "fa-gear", 3, "click"], [3, "dialogClosed", "dataContextId", "Provider"], ["title", "Please confirm", 3, "close", "minWidth", "width"], [2, "margin", "30px", "text-align", "center"], ["kendoButton", "", "themeColor", "primary", 3, "click"]], template: function SkipChatComponent_Template(rf, ctx) { if (rf & 1) {
1218
1291
  const _r1 = i0.ɵɵgetCurrentView();
1219
1292
  i0.ɵɵelementStart(0, "div", 4, 0)(2, "kendo-splitter", 5);
1220
1293
  i0.ɵɵtemplate(3, SkipChatComponent_kendo_splitter_pane_3_Template, 2, 4, "kendo-splitter-pane", 6);
1221
1294
  i0.ɵɵelementStart(4, "kendo-splitter-pane")(5, "div", 7)(6, "div", 8, 1);
1222
1295
  i0.ɵɵlistener("scroll", function SkipChatComponent_Template_div_scroll_6_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.checkScroll()); });
1223
- i0.ɵɵtemplate(9, SkipChatComponent_div_9_Template, 2, 0, "div", 9)(10, SkipChatComponent_div_10_Template, 28, 8, "div", 10);
1296
+ i0.ɵɵtemplate(9, SkipChatComponent_div_9_Template, 1, 0, "div", 9)(10, SkipChatComponent_div_10_Template, 28, 9, "div", 10);
1224
1297
  i0.ɵɵelement(11, "div", 11);
1225
1298
  i0.ɵɵtemplate(12, SkipChatComponent_span_12_Template, 2, 0, "span", 12);
1226
1299
  i0.ɵɵelementEnd();
@@ -1232,7 +1305,7 @@ SkipChatComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipChatC
1232
1305
  i0.ɵɵlistener("click", function SkipChatComponent_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.sendSkipMessage()); });
1233
1306
  i0.ɵɵelement(19, "span", 18);
1234
1307
  i0.ɵɵelementEnd()()()()()();
1235
- i0.ɵɵtemplate(20, SkipChatComponent_div_20_Template, 2, 1, "div", 19);
1308
+ i0.ɵɵtemplate(20, SkipChatComponent_div_20_Template, 2, 2, "div", 19)(21, SkipChatComponent_kendo_dialog_21_Template, 8, 3, "kendo-dialog", 20);
1236
1309
  } if (rf & 2) {
1237
1310
  i0.ɵɵproperty("bottomMargin", 10)("rightMargin", 10);
1238
1311
  i0.ɵɵadvance(3);
@@ -1251,14 +1324,16 @@ SkipChatComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipChatC
1251
1324
  i0.ɵɵproperty("disabled", ctx.IsTextAreaEmpty() || ctx.SelectedConversation !== undefined && ctx.IsSkipProcessing(ctx.SelectedConversation));
1252
1325
  i0.ɵɵadvance(2);
1253
1326
  i0.ɵɵproperty("ngIf", ctx.isDataContextDialogVisible);
1254
- } }, dependencies: [i3.NgClass, i3.NgIf, i4.SplitterComponent, i4.SplitterPaneComponent, i5.DefaultValueAccessor, i5.NgControlStatus, i5.MaxLengthValidator, i5.NgModel, i6.LoaderComponent, i7.FillContainer, i7.Container, i8.ItemTemplateDirective, i8.ListViewComponent, i9.ButtonComponent, i10.DataContextDialogComponent], styles: [".chat-container[_ngcontent-%COMP%] {\n padding: 5px;\n display: flex;\n flex-direction: row;\n height: 100%;\n font-family: S\u00F6hne, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Ubuntu, Cantarell, \"Noto Sans\", sans-serif, \"Helvetica Neue\", Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n\n \n\n width: 100%;\n height: 100%;\n\n background-color: #f9f9f9;\n}\n\n.conversation-wrapper[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n position: relative; \n\n background-color: #f9f9f9;\n}\n\n.new-conversation[_ngcontent-%COMP%] {\n height: 30px;\n font-size: large;\n}\n\n.conversation-history[_ngcontent-%COMP%] {\n width: 260px;\n min-width: 260px;\n height: 100%;\n overflow-y: auto; \n\n margin-right: 10px;\n padding-top: 5px;\n background-color: #f9f9f9;\n margin-top: 0px; \n padding: 12px; \n}\n\n.k-tabstrip-content-for-skip[_ngcontent-%COMP%] {\n padding: 0;\n padding-block: 0;\n}\n\n\n.conversation-history[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] {\n height: 25px;\n}\n\n.skip-title[_ngcontent-%COMP%] {\n font-size: larger;\n margin-bottom: 5px;\n height: 20px;\n margin-top: 5px;\n}\n\n.conversation-list[_ngcontent-%COMP%] {\n margin-top: 5px;\n padding-top: 5px;\n \n border: 0;\n background-color: #f9f9f9;\n}\n\n\n\n\n\n.welcome-wrapper[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.welcome-message[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n overflow: hidden;\n height: 100%;\n}\n\n.embedded-conversations[_ngcontent-%COMP%] {\n margin-left: 3px;\n margin-top: 5px;\n font-size: 10pt;\n color: rgb(48, 48, 235);\n}\n.embedded-conversations[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n margin-top: 4px;\n margin-left: 5px;\n cursor: pointer;\n}\n.conversation-item-linked[_ngcontent-%COMP%] {\n color: rgb(48, 48, 235);\n}\n\n.welcome-message[_ngcontent-%COMP%] img[_ngcontent-%COMP%] {\n width: 120px;\n height: 50px;\n margin-bottom: 20px; \n\n}\n\n.welcome-header-text[_ngcontent-%COMP%] {\n font-size: larger;\n font-weight: bold;\n}\n\n\n\n.welcome-suggested-questions[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-content: center;\n}\n.welcome-suggested-questions-col[_ngcontent-%COMP%] {\n display: flex;\n}\n\n\n\n.welcome-question[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column; \n\n align-items: left;;\n width: 300px; \n justify-content: space-between;\n margin: 5px; \n\n border: solid 1px rgba(41, 28, 28, 0.08);\n border-radius: 15px;\n padding: 10px;\n cursor: pointer;\n}\n\n.welcome-question[_ngcontent-%COMP%]:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n\n.welcome-question-header[_ngcontent-%COMP%] {\n font-size: 12pt;\n font-weight: bold;\n display: block; \n\n}\n\n\n\n.welcome-question[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:not(.welcome-question-header) {\n font-weight: normal;\n font-size: 10pt;\n}\n\n\n.messages[_ngcontent-%COMP%] {\n overflow-y: auto; \n\n overflow-x: hidden; \n\n \n\n margin-bottom: 5px;\n\n margin-top: 2px; \n\n\n background-color: #f9f9f9;\n flex: 1;\n}\n\n\n\n.new-chat-area[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between; \n\n align-items: center; \n\n}\n.avatar[_ngcontent-%COMP%] {\n max-height: 24px;\n margin-right: 10px;\n margin-left: 5px;\n margin-bottom: 3px;\n \n\n margin-right: auto; \n\n}\n\n.conversation-item[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-right: 5px;\n padding-top: 10px;\n padding-bottom: 10px;\n padding-left: 5px;\n padding-right: 5px;\n border-radius: 5px;\n cursor: pointer;\n overflow: hidden;\n max-height: 150px;\n font-size: 14px;\n\n display: flex;\n align-items: flex-start; \n\n\n flex-wrap: wrap; \n\n}\n\n.text-container[_ngcontent-%COMP%] {\n flex: 1; \n\n display: flex;\n flex-direction: column; \n\n}\n\n.text-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n resize: none; \n\n \n\n}\n\n.conversation-item[_ngcontent-%COMP%] > .conversation-icon[_ngcontent-%COMP%] {\n margin-top: 3px;\n}\n\n.conversation-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: inline-block;\n white-space: pre-wrap; \n\n overflow: auto;\n word-wrap: break-word;\n margin-left: 3px; \n\n}\n\n.conversation-item[_ngcontent-%COMP%]:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.conversation-item-selected[_ngcontent-%COMP%] {\n background-color: rgba(0, 0, 0, 0.15);\n}\n\n\n.conversation-item[_ngcontent-%COMP%] > .conversation-icon[_ngcontent-%COMP%] {\n margin-right: 11px;\n}\n.edit-conversation-panel[_ngcontent-%COMP%] {\n width: 100%; \n\n display: flex;\n justify-content: flex-end; \n\n}\n.edit-conversation-panel[_ngcontent-%COMP%] > .k-icon[_ngcontent-%COMP%] {\n margin-left: 5px;\n cursor: pointer;\n}\n.edit-conversation-panel[_ngcontent-%COMP%] > .k-icon[_ngcontent-%COMP%]:hover {\n color: #ff0000;\n}\n\n\n\n.input-area[_ngcontent-%COMP%] {\n min-height: 35px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 15px;\n}\n\n.input-area[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] {\n vertical-align: top;\n width: 30px;\n height: 30px;\n margin-top: 3px;\n border-radius: 12px;\n}\n.input-area[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:first-of-type {\n margin-left: -40px;\n}\n.input-area[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:last-child {\n margin-left: -65px;\n}\n\n.text-area-wrapper[_ngcontent-%COMP%] {\n padding: 3px;\n border: solid 1px rgba(0, 0, 0, 0.08) ;\n border-radius: 15px;\n\n margin-top: 4px;\n margin-right: -1px;\n min-height: 42px;\n max-height: 100%; \n\n\n overflow: hidden; \n align-items: center;\n\n \n\n width: 710px; \n padding-right: 90px\n} \n.text-area-wrapper[_ngcontent-%COMP%] > textarea[_ngcontent-%COMP%] {\n border: 0;\n outline: 0;\n resize: none;\n\n min-height: 20px; \n\n\n width: 100%;\n overflow-y: hidden; \n\n\n font-family: S\u00F6hne, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Ubuntu, Cantarell, \"Noto Sans\", sans-serif, \"Helvetica Neue\", Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n\n margin-left: 7px;\n margin-top: 7px;\n margin-bottom: 5px;\n\n background-color: #f9f9f9;\n}\n\n.text-area-wrapper[_ngcontent-%COMP%] > textarea[_ngcontent-%COMP%]:disabled {\n background-color: white;\n}\n\n.input-wrapper[_ngcontent-%COMP%] {\n flex-grow: 1; \n\n height: 100%;\n}\n\n.waiting-for-ai[_ngcontent-%COMP%] {\n position: absolute;\n display: flex; \n\n bottom: 100px;\n z-index: 999;\n left: 10px; \n}\n \n.scroll-to-bottom-icon[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 100px; \n\n left: 50%; \n\n transform: translateX(-50%); \n\n z-index: 1000; \n\n background-color: white; \n\n color: black; \n\n border-radius: 50%; \n\n width: 40px; \n\n height: 40px; \n\n display: flex;\n justify-content: center;\n align-items: center;\n box-shadow: 0px 0px 5px rgba(0,0,0,0.3); \n\n cursor: pointer;\n}\n\n@media (min-width: 600px) {\n .welcome-suggested-questions[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap; \n\n align-content: flex-end; \n\n }\n}"] });
1327
+ i0.ɵɵadvance();
1328
+ i0.ɵɵproperty("ngIf", ctx.confirmDeleteConversationDialogOpen);
1329
+ } }, dependencies: [i3.NgClass, i3.NgIf, i4.SplitterComponent, i4.SplitterPaneComponent, i5.DefaultValueAccessor, i5.NgControlStatus, i5.MaxLengthValidator, i5.NgModel, i6.DialogComponent, i6.DialogActionsComponent, i7.FillContainer, i7.Container, i8.ItemTemplateDirective, i8.ListViewComponent, i9.ButtonComponent, i10.DataContextDialogComponent], styles: [".chat-container[_ngcontent-%COMP%] {\n padding: 5px;\n display: flex;\n flex-direction: row;\n height: 100%;\n font-family: S\u00F6hne, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Ubuntu, Cantarell, \"Noto Sans\", sans-serif, \"Helvetica Neue\", Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n\n \n\n width: 100%;\n height: 100%;\n\n background-color: #f9f9f9;\n}\n\n.conversation-wrapper[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n position: relative; \n\n background-color: #f9f9f9;\n}\n\n.new-conversation[_ngcontent-%COMP%] {\n height: 30px;\n font-size: large;\n}\n\n.conversation-history[_ngcontent-%COMP%] {\n width: 260px;\n min-width: 260px;\n height: 100%;\n overflow-y: auto; \n\n margin-right: 10px;\n padding-top: 5px;\n background-color: #f9f9f9;\n margin-top: 0px; \n padding: 12px; \n}\n\n.k-tabstrip-content-for-skip[_ngcontent-%COMP%] {\n padding: 0;\n padding-block: 0;\n}\n\n\n.conversation-history[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] {\n height: 25px;\n}\n\n.skip-title[_ngcontent-%COMP%] {\n font-size: larger;\n margin-bottom: 5px;\n height: 20px;\n margin-top: 5px;\n}\n\n.conversation-list[_ngcontent-%COMP%] {\n margin-top: 5px;\n padding-top: 5px;\n \n border: 0;\n background-color: #f9f9f9;\n}\n\n\n\n\n\n.welcome-wrapper[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.welcome-message[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n overflow: hidden;\n height: 100%;\n}\n\n.embedded-conversations[_ngcontent-%COMP%] {\n margin-left: 3px;\n margin-top: 5px;\n font-size: 10pt;\n color: rgb(48, 48, 235);\n}\n.embedded-conversations[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n margin-top: 4px;\n margin-left: 5px;\n cursor: pointer;\n}\n.conversation-item-linked[_ngcontent-%COMP%] {\n color: rgb(48, 48, 235);\n}\n\n.welcome-message[_ngcontent-%COMP%] img[_ngcontent-%COMP%] {\n width: 120px;\n height: 50px;\n margin-bottom: 20px; \n\n}\n\n.welcome-header-text[_ngcontent-%COMP%] {\n font-size: larger;\n font-weight: bold;\n}\n\n\n\n.welcome-suggested-questions[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-content: center;\n}\n.welcome-suggested-questions-col[_ngcontent-%COMP%] {\n display: flex;\n}\n\n\n\n.welcome-question[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column; \n\n align-items: left;;\n width: 300px; \n justify-content: space-between;\n margin: 5px; \n\n border: solid 1px rgba(41, 28, 28, 0.08);\n border-radius: 15px;\n padding: 10px;\n cursor: pointer;\n}\n\n.welcome-question[_ngcontent-%COMP%]:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n\n.welcome-question-header[_ngcontent-%COMP%] {\n font-size: 12pt;\n font-weight: bold;\n display: block; \n\n}\n\n\n\n.welcome-question[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:not(.welcome-question-header) {\n font-weight: normal;\n font-size: 10pt;\n}\n\n\n.messages[_ngcontent-%COMP%] {\n overflow-y: auto; \n\n overflow-x: hidden; \n\n \n\n margin-bottom: 5px;\n\n margin-top: 2px; \n\n\n background-color: #f9f9f9;\n flex: 1;\n}\n\n\n\n.new-chat-area[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between; \n\n align-items: center; \n\n}\n.avatar[_ngcontent-%COMP%] {\n max-height: 24px;\n margin-right: 10px;\n margin-left: 5px;\n margin-bottom: 3px;\n \n\n margin-right: auto; \n\n}\n\n.conversation-item[_ngcontent-%COMP%] {\n margin-left: 5px;\n margin-right: 5px;\n padding-top: 10px;\n padding-bottom: 10px;\n padding-left: 5px;\n padding-right: 5px;\n border-radius: 5px;\n cursor: pointer;\n overflow: hidden;\n max-height: 150px;\n font-size: 14px;\n\n display: flex;\n align-items: flex-start; \n\n\n flex-wrap: wrap; \n\n}\n\n.text-container[_ngcontent-%COMP%] {\n flex: 1; \n\n display: flex;\n flex-direction: column; \n\n}\n\n.text-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%] {\n resize: none; \n\n \n\n}\n\n.conversation-item[_ngcontent-%COMP%] > .conversation-icon[_ngcontent-%COMP%] {\n margin-top: 3px;\n}\n\n.conversation-item[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n display: inline-block;\n white-space: pre-wrap; \n\n overflow: auto;\n word-wrap: break-word;\n margin-left: 3px; \n\n}\n\n.conversation-item[_ngcontent-%COMP%]:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.conversation-item-selected[_ngcontent-%COMP%] {\n background-color: rgba(0, 0, 0, 0.15);\n}\n\n\n.conversation-item[_ngcontent-%COMP%] > .conversation-icon[_ngcontent-%COMP%] {\n margin-right: 11px;\n}\n.edit-conversation-panel[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-end; \n\n margin-top: 2px; \n\n margin-right: 2px; \n\n}\n.edit-conversation-panel[_ngcontent-%COMP%] > .k-icon[_ngcontent-%COMP%] {\n margin-left: 5px;\n cursor: pointer;\n}\n.edit-conversation-panel[_ngcontent-%COMP%] > .k-icon[_ngcontent-%COMP%]:hover {\n color: #ff0000;\n}\n\n\n\n.input-area[_ngcontent-%COMP%] {\n min-height: 35px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 15px;\n}\n\n.input-area[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] {\n vertical-align: top;\n width: 30px;\n height: 30px;\n margin-top: 3px;\n border-radius: 12px;\n}\n.input-area[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:first-of-type {\n margin-left: -40px;\n}\n.input-area[_ngcontent-%COMP%] > button[_ngcontent-%COMP%]:last-child {\n margin-left: -65px;\n}\n\n.text-area-wrapper[_ngcontent-%COMP%] {\n padding: 3px;\n border: solid 1px rgba(0, 0, 0, 0.08) ;\n border-radius: 15px;\n\n margin-top: 4px;\n margin-right: -1px;\n min-height: 42px;\n max-height: 100%; \n\n\n overflow: hidden; \n align-items: center;\n\n \n\n width: 710px; \n padding-right: 90px\n} \n.text-area-wrapper[_ngcontent-%COMP%] > textarea[_ngcontent-%COMP%] {\n border: 0;\n outline: 0;\n resize: none;\n\n min-height: 20px; \n\n\n width: 100%;\n overflow-y: hidden; \n\n\n font-family: S\u00F6hne, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Ubuntu, Cantarell, \"Noto Sans\", sans-serif, \"Helvetica Neue\", Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n\n margin-left: 7px;\n margin-top: 7px;\n margin-bottom: 5px;\n\n background-color: #f9f9f9;\n}\n\n.text-area-wrapper[_ngcontent-%COMP%] > textarea[_ngcontent-%COMP%]:disabled {\n background-color: white;\n}\n\n.input-wrapper[_ngcontent-%COMP%] {\n flex-grow: 1; \n\n height: 100%;\n}\n\n.waiting-for-ai[_ngcontent-%COMP%] {\n position: absolute;\n display: flex; \n\n bottom: 100px;\n z-index: 999;\n left: 10px; \n}\n \n.scroll-to-bottom-icon[_ngcontent-%COMP%] {\n position: absolute;\n bottom: 100px; \n\n left: 50%; \n\n transform: translateX(-50%); \n\n z-index: 1000; \n\n background-color: white; \n\n color: black; \n\n border-radius: 50%; \n\n width: 40px; \n\n height: 40px; \n\n display: flex;\n justify-content: center;\n align-items: center;\n box-shadow: 0px 0px 5px rgba(0,0,0,0.3); \n\n cursor: pointer;\n}\n\n@media (min-width: 600px) {\n .welcome-suggested-questions[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap; \n\n align-content: flex-end; \n\n }\n}"] });
1255
1330
  SkipChatComponent = SkipChatComponent_1 = __decorate([
1256
1331
  RegisterClass(BaseNavigationComponent, 'Ask Skip')
1257
1332
  ], SkipChatComponent);
1258
1333
  export { SkipChatComponent };
1259
1334
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SkipChatComponent, [{
1260
1335
  type: Component,
1261
- args: [{ selector: 'skip-chat', template: "<div class = \"chat-container\" mjFillContainer #topLevelDiv [bottomMargin]=\"10\" [rightMargin]=\"10\">\n <kendo-splitter orientation=\"horizontal\">\n <kendo-splitter-pane *ngIf=\"ShowConversationList\" [collapsible]=\"true\" [scrollable]=\"false\" [resizable]=\"false\" size=\"272px\" (collapsedChange)=\"splitterCollapseStateChanged($event)\">\n <div class=\"conversation-history\" *ngIf=\"ShowConversationList\">\n <div class=\"new-chat-area\">\n <img src=\"assets/Skip Full Logo - Transparent.png\" class=\"avatar\" />\n <button kendoButton *ngIf=\"AllowNewConversations\" (click)=\"CreateNewConversation()\">+</button>\n </div>\n <kendo-listview\n class=\"conversation-list\"\n [data]=\"Conversations\"\n [style.height.px]=\"280\"\n [itemClass]=\"{ 'item-border': true }\" \n mjFillContainer \n [fillWidth]=\"false\"\n [bottomMargin]=\"20\"\n #conversationList\n >\n <ng-template kendoListViewItemTemplate let-dataItem=\"dataItem\">\n <div class=\"conversation-item\" \n [ngClass]=\"GetConversationItemClass(dataItem)\"\n [title]=\"dataItem.Name\" \n (click)=\"SelectConversation(dataItem)\"> \n <span *ngIf=\"SelectedConversation && IsSkipProcessing(dataItem)\" class=\"fa-regular fa-clock\"></span>\n <div class=\"text-container\">\n <span *ngIf=\"dataItem.ID !== SelectedConversation?.ID || !ConversationEditMode\">{{ dataItem.Name }}</span>\n <textarea *ngIf=\"dataItem.ID === SelectedConversation?.ID && ConversationEditMode\" [(ngModel)]=\"dataItem.Name\" maxlength=\"100\"></textarea>\n </div>\n <div *ngIf=\"SelectedConversation?.ID === dataItem.ID\" class=\"edit-conversation-panel\">\n <span *ngIf=\"!ConversationEditMode\" class=\"fa-solid fa-pen-to-square\" (click)=\"editConvo(dataItem)\"></span>\n <span *ngIf=\"!ConversationEditMode\" class=\"fa-regular fa-trash-can\" (click)=\"deleteConvo(dataItem)\"></span>\n <span *ngIf=\"ConversationEditMode\" class=\"fa-solid fa-check\" (click)=\"saveConvoName(dataItem)\"></span>\n <span *ngIf=\"ConversationEditMode\" class=\"fa-solid fa-xmark\" (click)=\"cancelConvoEdit(dataItem)\"></span>\n </div>\n </div>\n </ng-template>\n </kendo-listview>\n <!-- COMMENTED OUT as we don't want to support embedded conversations in the UI for now\n <div class=\"embedded-conversations\"><input kendoCheckBox type=\"checkbox\" [(ngModel)]=\"IncludeLinkedConversationsInList\" (ngModelChange)=\"loadConversations()\"/> <span (click)=\"FlipEmbeddedConversationState()\">Show Linked Conversations</span></div> -->\n </div>\n </kendo-splitter-pane>\n <kendo-splitter-pane>\n <div class=\"conversation-wrapper\" mjFillContainer>\n <div #AskSkipPanel class=\"messages\" #scrollContainer (scroll)=\"checkScroll()\">\n <div class=\"waiting-for-ai\" *ngIf=\"Messages && Messages.length > 0 && SelectedConversation && IsSkipProcessing(SelectedConversation)\">\n <kendo-loader></kendo-loader>\n </div>\n <div class=\"welcome-wrapper\" *ngIf=\"(!Messages || Messages.length ===0) && _conversationLoadComplete\">\n <div class='welcome-message'>\n <img src=\"assets/Skip Full Logo - Transparent.png\"/>\n <div class=\"welcome-header-text\">What can I help with today?</div>\n </div>\n <div class='welcome-suggested-questions'>\n <div class=\"welcome-suggested-questions-col\">\n <div class=\"welcome-question\" (click)=\"sendPrompt(WelcomeQuestions[0].prompt)\">\n <span class=\"welcome-question-header\">{{WelcomeQuestions[0].topLine}}</span>\n <span>{{WelcomeQuestions[0].bottomLine}}</span>\n </div>\n <div class=\"welcome-question\" (click)=\"sendPrompt(WelcomeQuestions[1].prompt)\">\n <span class=\"welcome-question-header\">{{WelcomeQuestions[1].topLine}}</span>\n <span>{{WelcomeQuestions[1].bottomLine}}</span>\n </div> \n </div>\n <div class=\"welcome-suggested-questions-col\">\n <div class=\"welcome-question\" (click)=\"sendPrompt(WelcomeQuestions[2].prompt)\">\n <span class=\"welcome-question-header\">{{WelcomeQuestions[2].topLine}}</span>\n <span>{{WelcomeQuestions[2].bottomLine}}</span>\n </div>\n <div class=\"welcome-question\" (click)=\"sendPrompt(WelcomeQuestions[3].prompt)\">\n <span class=\"welcome-question-header\">{{WelcomeQuestions[3].topLine}}</span>\n <span>{{WelcomeQuestions[3].bottomLine}}</span>\n </div> \n </div>\n </div> \n </div>\n <div mjContainer mjSkipResize=\"true\"><!--mjSkipResize results in everything below this level NOT being resized, performance optimization-->\n <!-- Dynamic messages will be injected here -->\n </div>\n <span class=\"scroll-to-bottom-icon\" *ngIf=\"_showScrollToBottomIcon && Messages && Messages.length > 0\" (click)=\"scrollToBottomAnimate()\"><i class=\"fas fa-arrow-down\"></i></span>\n </div>\n <div class=\"input-area\">\n <div class=\"text-area-wrapper\">\n <textarea\n #AskSkipInput \n [disabled]=\"SelectedConversation && IsSkipProcessing(SelectedConversation)\" \n (keyup.enter)=\"onEnter($event)\" \n (input)=\"onInputChange($event)\"\n type=\"text\" \n placeholder=\"Ask Skip a question\"></textarea>\n </div>\n @if (ShowDataContextButton) {\n <button kendoButton >\n <span class=\"fa-solid fa-gear\" \n (click)=\"showDataContext()\"></span>\n </button> \n }\n <button kendoButton \n [disabled]=\"IsTextAreaEmpty() || (SelectedConversation !== undefined && IsSkipProcessing(SelectedConversation))\" \n (click)=\"sendSkipMessage()\">\n <span class=\"fas fa-solid fa-arrow-up\"></span>\n </button>\n </div>\n </div>\n </kendo-splitter-pane>\n </kendo-splitter>\n</div> \n\n<div *ngIf=\"isDataContextDialogVisible\">\n <mj-data-context-dialog [dataContextId]=\"DataContextID\" (dialogClosed)=\"closeDataContextDialog()\"></mj-data-context-dialog>\n</div>", styles: [".chat-container {\n padding: 5px;\n display: flex;\n flex-direction: row;\n height: 100%;\n font-family: S\u00F6hne, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Ubuntu, Cantarell, \"Noto Sans\", sans-serif, \"Helvetica Neue\", Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n\n /*initial sizes*/\n width: 100%;\n height: 100%;\n\n background-color: #f9f9f9;\n}\n\n.conversation-wrapper {\n display: flex;\n flex-direction: column;\n position: relative; /* Add this line if the wrapper needs to be a reference point */\n background-color: #f9f9f9;\n}\n\n.new-conversation {\n height: 30px;\n font-size: large;\n}\n\n.conversation-history {\n width: 260px;\n min-width: 260px;\n height: 100%;\n overflow-y: auto; /* Add scroll if the content exceeds the height */\n margin-right: 10px;\n padding-top: 5px;\n background-color: #f9f9f9;\n margin-top: 0px; \n padding: 12px; \n}\n\n.k-tabstrip-content-for-skip {\n padding: 0;\n padding-block: 0;\n}\n\n\n.conversation-history > button {\n height: 25px;\n}\n\n.skip-title {\n font-size: larger;\n margin-bottom: 5px;\n height: 20px;\n margin-top: 5px;\n}\n\n.conversation-list {\n margin-top: 5px;\n padding-top: 5px;\n \n border: 0;\n background-color: #f9f9f9;\n}\n\n\n\n/* Center the welcome message vertically and horizontally */\n.welcome-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.welcome-message {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n overflow: hidden;\n height: 100%;\n}\n\n.embedded-conversations {\n margin-left: 3px;\n margin-top: 5px;\n font-size: 10pt;\n color: rgb(48, 48, 235);\n}\n.embedded-conversations > span {\n margin-top: 4px;\n margin-left: 5px;\n cursor: pointer;\n}\n.conversation-item-linked {\n color: rgb(48, 48, 235);\n}\n\n.welcome-message img {\n width: 120px;\n height: 50px;\n margin-bottom: 20px; /* Adds some space between the image and the text below */\n}\n\n.welcome-header-text {\n font-size: larger;\n font-weight: bold;\n}\n\n/* Position the welcome-suggested-questions at the bottom of its container */\n.welcome-suggested-questions {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-content: center;\n}\n.welcome-suggested-questions-col {\n display: flex;\n}\n\n/* Flex layout for questions, two per row */\n.welcome-question {\n display: flex;\n flex-direction: column; /* Stack the header and text vertically */\n align-items: left;;\n width: 300px; \n justify-content: space-between;\n margin: 5px; /* Adds some space around each question */\n border: solid 1px rgba(41, 28, 28, 0.08);\n border-radius: 15px;\n padding: 10px;\n cursor: pointer;\n}\n\n.welcome-question:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n\n.welcome-question-header {\n font-size: 12pt;\n font-weight: bold;\n display: block; /* Ensures the header is on its own line */\n}\n\n/* Non-bold text for the content below the header */\n.welcome-question span:not(.welcome-question-header) {\n font-weight: normal;\n font-size: 10pt;\n}\n\n\n.messages {\n overflow-y: auto; /* enable scrolling if the content overflows */\n overflow-x: hidden; /* hide horizontal scrollbar */\n /* border: solid 1px rgba(0, 0, 0, 0.08); */\n margin-bottom: 5px;\n\n margin-top: 2px; /* align it with the top of converation history exactly*/\n\n background-color: #f9f9f9;\n flex: 1;\n}\n\n\n\n.new-chat-area {\n display: flex;\n justify-content: space-between; /* Aligns children (img and button) to each end */\n align-items: center; /* Centers children vertically */\n}\n.avatar {\n max-height: 24px;\n margin-right: 10px;\n margin-left: 5px;\n margin-bottom: 3px;\n /* Ensure the image aligns to the left */\n margin-right: auto; /* Pushes everything else to the right */\n}\n\n.conversation-item {\n margin-left: 5px;\n margin-right: 5px;\n padding-top: 10px;\n padding-bottom: 10px;\n padding-left: 5px;\n padding-right: 5px;\n border-radius: 5px;\n cursor: pointer;\n overflow: hidden;\n max-height: 150px;\n font-size: 14px;\n\n display: flex;\n align-items: flex-start; /* Align items to the top */\n\n flex-wrap: wrap; /* Allow items to wrap to the next line */\n}\n\n.text-container {\n flex: 1; /* Take up remaining space */\n display: flex;\n flex-direction: column; /* Stack children vertically */\n}\n\n.text-container textarea {\n resize: none; /* Disable resizing */\n /* Add more styles for the textarea if needed */\n}\n\n.conversation-item > .conversation-icon {\n margin-top: 3px;\n}\n\n.conversation-item span {\n display: inline-block;\n white-space: pre-wrap; /* Allow text to wrap */\n overflow: auto;\n word-wrap: break-word;\n margin-left: 3px; /* Move the text to the right */\n}\n\n.conversation-item:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.conversation-item-selected {\n background-color: rgba(0, 0, 0, 0.15);\n}\n\n\n.conversation-item > .conversation-icon {\n margin-right: 11px;\n}\n.edit-conversation-panel {\n width: 100%; /* Take up the full width */\n display: flex;\n justify-content: flex-end; /* Align icons to the right */\n}\n.edit-conversation-panel > .k-icon {\n margin-left: 5px;\n cursor: pointer;\n}\n.edit-conversation-panel > .k-icon:hover {\n color: #ff0000;\n}\n\n\n\n.input-area {\n min-height: 35px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 15px;\n}\n\n.input-area > button {\n vertical-align: top;\n width: 30px;\n height: 30px;\n margin-top: 3px;\n border-radius: 12px;\n}\n.input-area > button:first-of-type {\n margin-left: -40px;\n}\n.input-area > button:last-child {\n margin-left: -65px;\n}\n\n.text-area-wrapper {\n padding: 3px;\n border: solid 1px rgba(0, 0, 0, 0.08) ;\n border-radius: 15px;\n\n margin-top: 4px;\n margin-right: -1px;\n min-height: 42px;\n max-height: 100%; /* Prevent it from growing beyond the container */\n\n overflow: hidden; \n align-items: center;\n\n /*combined width and padding is 800*/\n width: 710px; \n padding-right: 90px\n} \n.text-area-wrapper > textarea {\n border: 0;\n outline: 0;\n resize: none;\n\n min-height: 20px; /* Initial height */\n\n width: 100%;\n overflow-y: hidden; /* Hide scrollbar */\n\n font-family: S\u00F6hne, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Ubuntu, Cantarell, \"Noto Sans\", sans-serif, \"Helvetica Neue\", Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n\n margin-left: 7px;\n margin-top: 7px;\n margin-bottom: 5px;\n\n background-color: #f9f9f9;\n}\n\n.text-area-wrapper > textarea:disabled {\n background-color: white;\n}\n\n.input-wrapper {\n flex-grow: 1; /* This will make the input-wrapper take the remaining space */\n height: 100%;\n}\n\n.waiting-for-ai {\n position: absolute;\n display: flex; /* Use flexbox layout */\n bottom: 100px;\n z-index: 999;\n left: 10px; \n}\n \n.scroll-to-bottom-icon {\n position: absolute;\n bottom: 100px; /* Adjust as needed to position away from the bottom edge */\n left: 50%; /* Start at the exact horizontal center */\n transform: translateX(-50%); /* Shift it back by half its width to center it */\n z-index: 1000; /* Ensure it stays on top */\n background-color: white; /* Circle background color - adjust as needed */\n color: black; /* Icon color - adjust as needed */\n border-radius: 50%; /* Makes the background a circle */\n width: 40px; /* Circle size - adjust as needed */\n height: 40px; /* Circle size - adjust as needed */\n display: flex;\n justify-content: center;\n align-items: center;\n box-shadow: 0px 0px 5px rgba(0,0,0,0.3); /* Optional: Adds a subtle shadow for better visibility */\n cursor: pointer;\n}\n\n@media (min-width: 600px) {\n .welcome-suggested-questions {\n display: flex;\n flex-wrap: wrap; /* Allows questions to wrap to the next line */\n align-content: flex-end; /* Aligns the content to the bottom */\n }\n}\n "] }]
1336
+ args: [{ selector: 'skip-chat', template: "<div class = \"chat-container\" mjFillContainer #topLevelDiv [bottomMargin]=\"10\" [rightMargin]=\"10\">\n <kendo-splitter orientation=\"horizontal\">\n <kendo-splitter-pane *ngIf=\"ShowConversationList\" [collapsible]=\"true\" [scrollable]=\"false\" [resizable]=\"false\" size=\"272px\" (collapsedChange)=\"splitterCollapseStateChanged($event)\">\n <div class=\"conversation-history\" *ngIf=\"ShowConversationList\">\n <div class=\"new-chat-area\">\n <img [src]=\"SkipLogoURL\" class=\"avatar\" />\n <button kendoButton *ngIf=\"AllowNewConversations\" (click)=\"CreateNewConversation()\">+</button>\n </div>\n <kendo-listview\n class=\"conversation-list\"\n [data]=\"Conversations\"\n [style.height.px]=\"280\"\n [itemClass]=\"{ 'item-border': true }\" \n mjFillContainer \n [fillWidth]=\"false\"\n [bottomMargin]=\"20\"\n #conversationList\n >\n <ng-template kendoListViewItemTemplate let-dataItem=\"dataItem\">\n <div class=\"conversation-item\" \n [ngClass]=\"GetConversationItemClass(dataItem)\"\n [title]=\"dataItem.Name\" \n (click)=\"SelectConversation(dataItem)\"> \n <span *ngIf=\"SelectedConversation && IsSkipProcessing(dataItem)\" class=\"fa-regular fa-clock\"></span>\n <div class=\"text-container\">\n <span *ngIf=\"dataItem.ID !== SelectedConversation?.ID || !ConversationEditMode\">{{ dataItem.Name }}</span>\n <textarea *ngIf=\"dataItem.ID === SelectedConversation?.ID && ConversationEditMode\" [(ngModel)]=\"dataItem.Name\" maxlength=\"100\"></textarea>\n </div>\n <div *ngIf=\"SelectedConversation?.ID === dataItem.ID\" class=\"edit-conversation-panel\">\n <span *ngIf=\"!ConversationEditMode\" class=\"fa-solid fa-pen-to-square\" (click)=\"editConvo(dataItem)\"></span>\n <span *ngIf=\"!ConversationEditMode\" class=\"fa-regular fa-trash-can\" (click)=\"showDeleteConvoDialog(dataItem)\"></span>\n <span *ngIf=\"ConversationEditMode\" class=\"fa-solid fa-check\" (click)=\"saveConvoName(dataItem)\"></span>\n <span *ngIf=\"ConversationEditMode\" class=\"fa-solid fa-xmark\" (click)=\"cancelConvoEdit(dataItem)\"></span>\n </div>\n </div>\n </ng-template>\n </kendo-listview>\n <!-- COMMENTED OUT as we don't want to support embedded conversations in the UI for now\n <div class=\"embedded-conversations\"><input kendoCheckBox type=\"checkbox\" [(ngModel)]=\"IncludeLinkedConversationsInList\" (ngModelChange)=\"loadConversations()\"/> <span (click)=\"FlipEmbeddedConversationState()\">Show Linked Conversations</span></div> -->\n </div>\n </kendo-splitter-pane>\n <kendo-splitter-pane>\n <div class=\"conversation-wrapper\" mjFillContainer>\n <div #AskSkipPanel class=\"messages\" #scrollContainer (scroll)=\"checkScroll()\">\n <div class=\"waiting-for-ai\" *ngIf=\"Messages && Messages.length > 0 && SelectedConversation && IsSkipProcessing(SelectedConversation)\">\n <!-- MOVED THIS TO INSIDE MESSAGE - REMOVE THIS ENTIRE DIV ---- <kendo-loader></kendo-loader> -->\n </div>\n <div class=\"welcome-wrapper\" *ngIf=\"(!Messages || Messages.length ===0) && _conversationLoadComplete\">\n <div class='welcome-message'>\n <img [src]=\"SkipLogoURL\" />\n <div class=\"welcome-header-text\">What can I help with today?</div>\n </div>\n <div class='welcome-suggested-questions'>\n <div class=\"welcome-suggested-questions-col\">\n <div class=\"welcome-question\" (click)=\"sendPrompt(WelcomeQuestions[0].prompt)\">\n <span class=\"welcome-question-header\">{{WelcomeQuestions[0].topLine}}</span>\n <span>{{WelcomeQuestions[0].bottomLine}}</span>\n </div>\n <div class=\"welcome-question\" (click)=\"sendPrompt(WelcomeQuestions[1].prompt)\">\n <span class=\"welcome-question-header\">{{WelcomeQuestions[1].topLine}}</span>\n <span>{{WelcomeQuestions[1].bottomLine}}</span>\n </div> \n </div>\n <div class=\"welcome-suggested-questions-col\">\n <div class=\"welcome-question\" (click)=\"sendPrompt(WelcomeQuestions[2].prompt)\">\n <span class=\"welcome-question-header\">{{WelcomeQuestions[2].topLine}}</span>\n <span>{{WelcomeQuestions[2].bottomLine}}</span>\n </div>\n <div class=\"welcome-question\" (click)=\"sendPrompt(WelcomeQuestions[3].prompt)\">\n <span class=\"welcome-question-header\">{{WelcomeQuestions[3].topLine}}</span>\n <span>{{WelcomeQuestions[3].bottomLine}}</span>\n </div> \n </div>\n </div> \n </div>\n <div mjContainer mjSkipResize=\"true\"><!--mjSkipResize results in everything below this level NOT being resized, performance optimization-->\n <!-- Dynamic messages will be injected here -->\n </div>\n <span class=\"scroll-to-bottom-icon\" *ngIf=\"_showScrollToBottomIcon && Messages && Messages.length > 0\" (click)=\"scrollToBottomAnimate()\"><i class=\"fas fa-arrow-down\"></i></span>\n </div>\n <div class=\"input-area\">\n <div class=\"text-area-wrapper\">\n <textarea\n #AskSkipInput \n [disabled]=\"SelectedConversation && IsSkipProcessing(SelectedConversation)\" \n (keyup.enter)=\"onEnter($event)\" \n (input)=\"onInputChange($event)\"\n type=\"text\" \n placeholder=\"Ask Skip a question\"></textarea>\n </div>\n @if (ShowDataContextButton) {\n <button kendoButton >\n <span class=\"fa-solid fa-gear\" \n (click)=\"showDataContext()\"></span>\n </button> \n }\n <button kendoButton \n [disabled]=\"IsTextAreaEmpty() || (SelectedConversation !== undefined && IsSkipProcessing(SelectedConversation))\" \n (click)=\"sendSkipMessage()\">\n <span class=\"fas fa-solid fa-arrow-up\"></span>\n </button>\n </div>\n </div>\n </kendo-splitter-pane>\n </kendo-splitter>\n</div> \n\n<div *ngIf=\"isDataContextDialogVisible\">\n <mj-data-context-dialog [dataContextId]=\"DataContextID\" (dialogClosed)=\"closeDataContextDialog()\" [Provider]=\"ProviderToUse\"></mj-data-context-dialog>\n</div>\n\n\n<kendo-dialog\n title=\"Please confirm\"\n *ngIf=\"confirmDeleteConversationDialogOpen\"\n (close)=\"closeDeleteConversation('no')\"\n [minWidth]=\"250\"\n [width]=\"450\"\n>\n <p style=\"margin: 30px; text-align: center;\">\n Would you like to delete {{SelectedConversation?.Name}}?\n </p>\n <kendo-dialog-actions>\n <button kendoButton (click)=\"closeDeleteConversation('yes')\" themeColor=\"primary\">\n Yes\n </button>\n <button kendoButton (click)=\"closeDeleteConversation('no')\">\n No\n </button>\n </kendo-dialog-actions>\n</kendo-dialog> ", styles: [".chat-container {\n padding: 5px;\n display: flex;\n flex-direction: row;\n height: 100%;\n font-family: S\u00F6hne, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Ubuntu, Cantarell, \"Noto Sans\", sans-serif, \"Helvetica Neue\", Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n\n /*initial sizes*/\n width: 100%;\n height: 100%;\n\n background-color: #f9f9f9;\n}\n\n.conversation-wrapper {\n display: flex;\n flex-direction: column;\n position: relative; /* Add this line if the wrapper needs to be a reference point */\n background-color: #f9f9f9;\n}\n\n.new-conversation {\n height: 30px;\n font-size: large;\n}\n\n.conversation-history {\n width: 260px;\n min-width: 260px;\n height: 100%;\n overflow-y: auto; /* Add scroll if the content exceeds the height */\n margin-right: 10px;\n padding-top: 5px;\n background-color: #f9f9f9;\n margin-top: 0px; \n padding: 12px; \n}\n\n.k-tabstrip-content-for-skip {\n padding: 0;\n padding-block: 0;\n}\n\n\n.conversation-history > button {\n height: 25px;\n}\n\n.skip-title {\n font-size: larger;\n margin-bottom: 5px;\n height: 20px;\n margin-top: 5px;\n}\n\n.conversation-list {\n margin-top: 5px;\n padding-top: 5px;\n \n border: 0;\n background-color: #f9f9f9;\n}\n\n\n\n/* Center the welcome message vertically and horizontally */\n.welcome-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.welcome-message {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n overflow: hidden;\n height: 100%;\n}\n\n.embedded-conversations {\n margin-left: 3px;\n margin-top: 5px;\n font-size: 10pt;\n color: rgb(48, 48, 235);\n}\n.embedded-conversations > span {\n margin-top: 4px;\n margin-left: 5px;\n cursor: pointer;\n}\n.conversation-item-linked {\n color: rgb(48, 48, 235);\n}\n\n.welcome-message img {\n width: 120px;\n height: 50px;\n margin-bottom: 20px; /* Adds some space between the image and the text below */\n}\n\n.welcome-header-text {\n font-size: larger;\n font-weight: bold;\n}\n\n/* Position the welcome-suggested-questions at the bottom of its container */\n.welcome-suggested-questions {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-content: center;\n}\n.welcome-suggested-questions-col {\n display: flex;\n}\n\n/* Flex layout for questions, two per row */\n.welcome-question {\n display: flex;\n flex-direction: column; /* Stack the header and text vertically */\n align-items: left;;\n width: 300px; \n justify-content: space-between;\n margin: 5px; /* Adds some space around each question */\n border: solid 1px rgba(41, 28, 28, 0.08);\n border-radius: 15px;\n padding: 10px;\n cursor: pointer;\n}\n\n.welcome-question:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n\n.welcome-question-header {\n font-size: 12pt;\n font-weight: bold;\n display: block; /* Ensures the header is on its own line */\n}\n\n/* Non-bold text for the content below the header */\n.welcome-question span:not(.welcome-question-header) {\n font-weight: normal;\n font-size: 10pt;\n}\n\n\n.messages {\n overflow-y: auto; /* enable scrolling if the content overflows */\n overflow-x: hidden; /* hide horizontal scrollbar */\n /* border: solid 1px rgba(0, 0, 0, 0.08); */\n margin-bottom: 5px;\n\n margin-top: 2px; /* align it with the top of converation history exactly*/\n\n background-color: #f9f9f9;\n flex: 1;\n}\n\n\n\n.new-chat-area {\n display: flex;\n justify-content: space-between; /* Aligns children (img and button) to each end */\n align-items: center; /* Centers children vertically */\n}\n.avatar {\n max-height: 24px;\n margin-right: 10px;\n margin-left: 5px;\n margin-bottom: 3px;\n /* Ensure the image aligns to the left */\n margin-right: auto; /* Pushes everything else to the right */\n}\n\n.conversation-item {\n margin-left: 5px;\n margin-right: 5px;\n padding-top: 10px;\n padding-bottom: 10px;\n padding-left: 5px;\n padding-right: 5px;\n border-radius: 5px;\n cursor: pointer;\n overflow: hidden;\n max-height: 150px;\n font-size: 14px;\n\n display: flex;\n align-items: flex-start; /* Align items to the top */\n\n flex-wrap: wrap; /* Allow items to wrap to the next line */\n}\n\n.text-container {\n flex: 1; /* Take up remaining space */\n display: flex;\n flex-direction: column; /* Stack children vertically */\n}\n\n.text-container textarea {\n resize: none; /* Disable resizing */\n /* Add more styles for the textarea if needed */\n}\n\n.conversation-item > .conversation-icon {\n margin-top: 3px;\n}\n\n.conversation-item span {\n display: inline-block;\n white-space: pre-wrap; /* Allow text to wrap */\n overflow: auto;\n word-wrap: break-word;\n margin-left: 3px; /* Move the text to the right */\n}\n\n.conversation-item:hover {\n background-color: rgba(0, 0, 0, 0.05);\n}\n.conversation-item-selected {\n background-color: rgba(0, 0, 0, 0.15);\n}\n\n\n.conversation-item > .conversation-icon {\n margin-right: 11px;\n}\n.edit-conversation-panel {\n display: flex;\n justify-content: flex-end; /* Align icons to the right */\n margin-top: 2px; /* litle buffer on top */\n margin-right: 2px; /* litle buffer to the right */\n}\n.edit-conversation-panel > .k-icon {\n margin-left: 5px;\n cursor: pointer;\n}\n.edit-conversation-panel > .k-icon:hover {\n color: #ff0000;\n}\n\n\n\n.input-area {\n min-height: 35px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 15px;\n}\n\n.input-area > button {\n vertical-align: top;\n width: 30px;\n height: 30px;\n margin-top: 3px;\n border-radius: 12px;\n}\n.input-area > button:first-of-type {\n margin-left: -40px;\n}\n.input-area > button:last-child {\n margin-left: -65px;\n}\n\n.text-area-wrapper {\n padding: 3px;\n border: solid 1px rgba(0, 0, 0, 0.08) ;\n border-radius: 15px;\n\n margin-top: 4px;\n margin-right: -1px;\n min-height: 42px;\n max-height: 100%; /* Prevent it from growing beyond the container */\n\n overflow: hidden; \n align-items: center;\n\n /*combined width and padding is 800*/\n width: 710px; \n padding-right: 90px\n} \n.text-area-wrapper > textarea {\n border: 0;\n outline: 0;\n resize: none;\n\n min-height: 20px; /* Initial height */\n\n width: 100%;\n overflow-y: hidden; /* Hide scrollbar */\n\n font-family: S\u00F6hne, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Ubuntu, Cantarell, \"Noto Sans\", sans-serif, \"Helvetica Neue\", Arial, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n\n margin-left: 7px;\n margin-top: 7px;\n margin-bottom: 5px;\n\n background-color: #f9f9f9;\n}\n\n.text-area-wrapper > textarea:disabled {\n background-color: white;\n}\n\n.input-wrapper {\n flex-grow: 1; /* This will make the input-wrapper take the remaining space */\n height: 100%;\n}\n\n.waiting-for-ai {\n position: absolute;\n display: flex; /* Use flexbox layout */\n bottom: 100px;\n z-index: 999;\n left: 10px; \n}\n \n.scroll-to-bottom-icon {\n position: absolute;\n bottom: 100px; /* Adjust as needed to position away from the bottom edge */\n left: 50%; /* Start at the exact horizontal center */\n transform: translateX(-50%); /* Shift it back by half its width to center it */\n z-index: 1000; /* Ensure it stays on top */\n background-color: white; /* Circle background color - adjust as needed */\n color: black; /* Icon color - adjust as needed */\n border-radius: 50%; /* Makes the background a circle */\n width: 40px; /* Circle size - adjust as needed */\n height: 40px; /* Circle size - adjust as needed */\n display: flex;\n justify-content: center;\n align-items: center;\n box-shadow: 0px 0px 5px rgba(0,0,0,0.3); /* Optional: Adds a subtle shadow for better visibility */\n cursor: pointer;\n}\n\n@media (min-width: 600px) {\n .welcome-suggested-questions {\n display: flex;\n flex-wrap: wrap; /* Allows questions to wrap to the next line */\n align-content: flex-end; /* Aligns the content to the bottom */\n }\n}\n "] }]
1262
1337
  }], () => [{ type: i0.ElementRef }, { type: i1.SharedService }, { type: i0.Renderer2 }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.Location }, { type: i0.ChangeDetectorRef }], { AllowSend: [{
1263
1338
  type: Input
1264
1339
  }], Messages: [{
@@ -1285,10 +1360,20 @@ export { SkipChatComponent };
1285
1360
  type: Input
1286
1361
  }], IncludeLinkedConversationsInList: [{
1287
1362
  type: Input
1363
+ }], SkipLogoURL: [{
1364
+ type: Input
1365
+ }], SkipMarkOnlyLogoURL: [{
1366
+ type: Input
1367
+ }], UserImage: [{
1368
+ type: Input
1288
1369
  }], UpdateAppRoute: [{
1289
1370
  type: Input
1290
1371
  }], Provider: [{
1291
1372
  type: Input
1373
+ }], NavigateToMatchingReport: [{
1374
+ type: Output
1375
+ }], ConversationSelected: [{
1376
+ type: Output
1292
1377
  }], askSkip: [{
1293
1378
  type: ViewChild,
1294
1379
  args: [Container, { static: true }]
@@ -1312,6 +1397,8 @@ export { SkipChatComponent };
1312
1397
  args: ['topLevelDiv']
1313
1398
  }], WelcomeQuestions: [{
1314
1399
  type: Input
1400
+ }], AutoLoad: [{
1401
+ type: Input
1315
1402
  }] }); })();
1316
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkipChatComponent, { className: "SkipChatComponent", filePath: "src/lib/skip-chat/skip-chat.component.ts", lineNumber: 41 }); })();
1403
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkipChatComponent, { className: "SkipChatComponent", filePath: "src/lib/skip-chat/skip-chat.component.ts", lineNumber: 43 }); })();
1317
1404
  //# sourceMappingURL=skip-chat.component.js.map