@memberjunction/ng-skip-chat 2.18.3 → 2.19.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.
@@ -1,9 +1,3 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -13,29 +7,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
13
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
14
8
  });
15
9
  };
16
- var SkipChatComponent_1;
17
10
  import { Component, ViewChild, ViewContainerRef, Input, Output, EventEmitter, } from '@angular/core';
18
11
  import { ActivationEnd } from '@angular/router';
19
12
  import { LogError, CompositeKey } from '@memberjunction/core';
20
13
  import { Container } from '@memberjunction/ng-container-directives';
21
- import { BaseNavigationComponent, SharedService } from '@memberjunction/ng-shared';
22
14
  import { take, filter } from 'rxjs/operators';
23
15
  import { SkipResponsePhase, } from '@memberjunction/skip-types';
24
16
  import { DataContext } from '@memberjunction/data-context';
25
- import { MJEventType, MJGlobal, RegisterClass } from '@memberjunction/global';
17
+ import { InvokeManualResize, MJEventType, MJGlobal } from '@memberjunction/global';
26
18
  import { SkipSingleMessageComponent } from '../skip-single-message/skip-single-message.component';
27
19
  import { BaseAngularComponent } from '@memberjunction/ng-base-types';
28
20
  import * as i0 from "@angular/core";
29
- import * as i1 from "@memberjunction/ng-shared";
30
- import * as i2 from "@angular/router";
31
- import * as i3 from "@angular/common";
32
- import * as i4 from "@progress/kendo-angular-layout";
33
- import * as i5 from "@angular/forms";
34
- import * as i6 from "@progress/kendo-angular-dialog";
35
- import * as i7 from "@memberjunction/ng-container-directives";
36
- import * as i8 from "@progress/kendo-angular-listview";
37
- import * as i9 from "@progress/kendo-angular-buttons";
38
- import * as i10 from "@memberjunction/ng-data-context";
21
+ import * as i1 from "@angular/router";
22
+ import * as i2 from "@angular/common";
23
+ import * as i3 from "@memberjunction/ng-notifications";
24
+ import * as i4 from "@angular/forms";
25
+ import * as i5 from "@progress/kendo-angular-dialog";
26
+ import * as i6 from "@memberjunction/ng-container-directives";
27
+ import * as i7 from "@progress/kendo-angular-listview";
28
+ import * as i8 from "@progress/kendo-angular-buttons";
29
+ import * as i9 from "@memberjunction/ng-data-context";
39
30
  const _c0 = ["AskSkipPanel"];
40
31
  const _c1 = ["mjContainer"];
41
32
  const _c2 = ["conversationList"];
@@ -43,17 +34,22 @@ const _c3 = ["AskSkipInput"];
43
34
  const _c4 = ["scrollContainer"];
44
35
  const _c5 = ["topLevelDiv"];
45
36
  const _c6 = () => ({ "item-border": true });
46
- function SkipChatComponent_kendo_splitter_pane_3_div_1_button_3_Template(rf, ctx) { if (rf & 1) {
37
+ function SkipChatComponent_Conditional_3_Conditional_4_Template(rf, ctx) { if (rf & 1) {
38
+ i0.ɵɵelement(0, "img", 26);
39
+ } if (rf & 2) {
40
+ const ctx_r2 = i0.ɵɵnextContext(2);
41
+ i0.ɵɵproperty("src", ctx_r2.SkipLogoURL, i0.ɵɵsanitizeUrl);
42
+ } }
43
+ function SkipChatComponent_Conditional_3_Conditional_5_Template(rf, ctx) { if (rf & 1) {
47
44
  const _r4 = i0.ɵɵgetCurrentView();
48
- i0.ɵɵelementStart(0, "button", 29);
49
- 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()); });
50
- i0.ɵɵtext(1, "+");
45
+ i0.ɵɵelementStart(0, "span", 30);
46
+ i0.ɵɵlistener("click", function SkipChatComponent_Conditional_3_Conditional_5_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.CreateNewConversation()); });
51
47
  i0.ɵɵelementEnd();
52
48
  } }
53
- function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_1_Template(rf, ctx) { if (rf & 1) {
54
- i0.ɵɵelement(0, "span", 35);
49
+ function SkipChatComponent_Conditional_3_ng_template_8_span_1_Template(rf, ctx) { if (rf & 1) {
50
+ i0.ɵɵelement(0, "span", 36);
55
51
  } }
56
- function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_3_Template(rf, ctx) { if (rf & 1) {
52
+ function SkipChatComponent_Conditional_3_ng_template_8_span_3_Template(rf, ctx) { if (rf & 1) {
57
53
  i0.ɵɵelementStart(0, "span");
58
54
  i0.ɵɵtext(1);
59
55
  i0.ɵɵelementEnd();
@@ -62,45 +58,45 @@ function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_3_Temp
62
58
  i0.ɵɵadvance();
63
59
  i0.ɵɵtextInterpolate(dataItem_r6.Name);
64
60
  } }
65
- function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_textarea_4_Template(rf, ctx) { if (rf & 1) {
61
+ function SkipChatComponent_Conditional_3_ng_template_8_textarea_4_Template(rf, ctx) { if (rf & 1) {
66
62
  const _r7 = i0.ɵɵgetCurrentView();
67
- i0.ɵɵelementStart(0, "textarea", 36);
68
- 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); });
63
+ i0.ɵɵelementStart(0, "textarea", 37);
64
+ i0.ɵɵtwoWayListener("ngModelChange", function SkipChatComponent_Conditional_3_ng_template_8_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); });
69
65
  i0.ɵɵelementEnd();
70
66
  } if (rf & 2) {
71
67
  const dataItem_r6 = i0.ɵɵnextContext().dataItem;
72
68
  i0.ɵɵtwoWayProperty("ngModel", dataItem_r6.Name);
73
69
  } }
74
- function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_1_Template(rf, ctx) { if (rf & 1) {
70
+ function SkipChatComponent_Conditional_3_ng_template_8_div_5_span_1_Template(rf, ctx) { if (rf & 1) {
75
71
  const _r8 = i0.ɵɵgetCurrentView();
76
- i0.ɵɵelementStart(0, "span", 42);
77
- 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)); });
72
+ i0.ɵɵelementStart(0, "span", 43);
73
+ i0.ɵɵlistener("click", function SkipChatComponent_Conditional_3_ng_template_8_div_5_span_1_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r8); const dataItem_r6 = i0.ɵɵnextContext(2).dataItem; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.editConvo(dataItem_r6)); });
78
74
  i0.ɵɵelementEnd();
79
75
  } }
80
- function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_2_Template(rf, ctx) { if (rf & 1) {
76
+ function SkipChatComponent_Conditional_3_ng_template_8_div_5_span_2_Template(rf, ctx) { if (rf & 1) {
81
77
  const _r9 = i0.ɵɵgetCurrentView();
82
- i0.ɵɵelementStart(0, "span", 43);
83
- 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)); });
78
+ i0.ɵɵelementStart(0, "span", 44);
79
+ i0.ɵɵlistener("click", function SkipChatComponent_Conditional_3_ng_template_8_div_5_span_2_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r9); const dataItem_r6 = i0.ɵɵnextContext(2).dataItem; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.showDeleteConvoDialog(dataItem_r6)); });
84
80
  i0.ɵɵelementEnd();
85
81
  } }
86
- function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
82
+ function SkipChatComponent_Conditional_3_ng_template_8_div_5_span_3_Template(rf, ctx) { if (rf & 1) {
87
83
  const _r10 = i0.ɵɵgetCurrentView();
88
- i0.ɵɵelementStart(0, "span", 44);
89
- 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)); });
84
+ i0.ɵɵelementStart(0, "span", 45);
85
+ i0.ɵɵlistener("click", function SkipChatComponent_Conditional_3_ng_template_8_div_5_span_3_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r10); const dataItem_r6 = i0.ɵɵnextContext(2).dataItem; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.saveConvoName(dataItem_r6)); });
90
86
  i0.ɵɵelementEnd();
91
87
  } }
92
- function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
88
+ function SkipChatComponent_Conditional_3_ng_template_8_div_5_span_4_Template(rf, ctx) { if (rf & 1) {
93
89
  const _r11 = i0.ɵɵgetCurrentView();
94
- i0.ɵɵelementStart(0, "span", 45);
95
- 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)); });
90
+ i0.ɵɵelementStart(0, "span", 46);
91
+ i0.ɵɵlistener("click", function SkipChatComponent_Conditional_3_ng_template_8_div_5_span_4_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r11); const dataItem_r6 = i0.ɵɵnextContext(2).dataItem; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.cancelConvoEdit(dataItem_r6)); });
96
92
  i0.ɵɵelementEnd();
97
93
  } }
98
- function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_Template(rf, ctx) { if (rf & 1) {
99
- i0.ɵɵelementStart(0, "div", 37);
100
- 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);
94
+ function SkipChatComponent_Conditional_3_ng_template_8_div_5_Template(rf, ctx) { if (rf & 1) {
95
+ i0.ɵɵelementStart(0, "div", 38);
96
+ i0.ɵɵtemplate(1, SkipChatComponent_Conditional_3_ng_template_8_div_5_span_1_Template, 1, 0, "span", 39)(2, SkipChatComponent_Conditional_3_ng_template_8_div_5_span_2_Template, 1, 0, "span", 40)(3, SkipChatComponent_Conditional_3_ng_template_8_div_5_span_3_Template, 1, 0, "span", 41)(4, SkipChatComponent_Conditional_3_ng_template_8_div_5_span_4_Template, 1, 0, "span", 42);
101
97
  i0.ɵɵelementEnd();
102
98
  } if (rf & 2) {
103
- const ctx_r2 = i0.ɵɵnextContext(4);
99
+ const ctx_r2 = i0.ɵɵnextContext(3);
104
100
  i0.ɵɵadvance();
105
101
  i0.ɵɵproperty("ngIf", !ctx_r2.ConversationEditMode);
106
102
  i0.ɵɵadvance();
@@ -110,19 +106,19 @@ function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_Templ
110
106
  i0.ɵɵadvance();
111
107
  i0.ɵɵproperty("ngIf", ctx_r2.ConversationEditMode);
112
108
  } }
113
- function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_Template(rf, ctx) { if (rf & 1) {
109
+ function SkipChatComponent_Conditional_3_ng_template_8_Template(rf, ctx) { if (rf & 1) {
114
110
  const _r5 = i0.ɵɵgetCurrentView();
115
- i0.ɵɵelementStart(0, "div", 30);
116
- 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)); });
117
- i0.ɵɵtemplate(1, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_span_1_Template, 1, 0, "span", 31);
118
- i0.ɵɵelementStart(2, "div", 32);
119
- 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);
111
+ i0.ɵɵelementStart(0, "div", 31);
112
+ i0.ɵɵlistener("click", function SkipChatComponent_Conditional_3_ng_template_8_Template_div_click_0_listener() { const dataItem_r6 = i0.ɵɵrestoreView(_r5).dataItem; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.SelectConversation(dataItem_r6)); });
113
+ i0.ɵɵtemplate(1, SkipChatComponent_Conditional_3_ng_template_8_span_1_Template, 1, 0, "span", 32);
114
+ i0.ɵɵelementStart(2, "div", 33);
115
+ i0.ɵɵtemplate(3, SkipChatComponent_Conditional_3_ng_template_8_span_3_Template, 2, 1, "span", 21)(4, SkipChatComponent_Conditional_3_ng_template_8_textarea_4_Template, 1, 1, "textarea", 34);
120
116
  i0.ɵɵelementEnd();
121
- i0.ɵɵtemplate(5, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_div_5_Template, 5, 4, "div", 34);
117
+ i0.ɵɵtemplate(5, SkipChatComponent_Conditional_3_ng_template_8_div_5_Template, 5, 4, "div", 35);
122
118
  i0.ɵɵelementEnd();
123
119
  } if (rf & 2) {
124
120
  const dataItem_r6 = ctx.dataItem;
125
- const ctx_r2 = i0.ɵɵnextContext(3);
121
+ const ctx_r2 = i0.ɵɵnextContext(2);
126
122
  i0.ɵɵproperty("ngClass", ctx_r2.GetConversationItemClass(dataItem_r6))("title", dataItem_r6.Name);
127
123
  i0.ɵɵadvance();
128
124
  i0.ɵɵproperty("ngIf", ctx_r2.SelectedConversation && ctx_r2.IsSkipProcessing(dataItem_r6));
@@ -133,73 +129,69 @@ function SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_Template(rf
133
129
  i0.ɵɵadvance();
134
130
  i0.ɵɵproperty("ngIf", (ctx_r2.SelectedConversation == null ? null : ctx_r2.SelectedConversation.ID) === dataItem_r6.ID);
135
131
  } }
136
- function SkipChatComponent_kendo_splitter_pane_3_div_1_Template(rf, ctx) { if (rf & 1) {
137
- i0.ɵɵelementStart(0, "div", 23)(1, "div", 24);
138
- i0.ɵɵelement(2, "img", 25);
139
- i0.ɵɵtemplate(3, SkipChatComponent_kendo_splitter_pane_3_div_1_button_3_Template, 2, 0, "button", 26);
132
+ function SkipChatComponent_Conditional_3_Template(rf, ctx) { if (rf & 1) {
133
+ const _r2 = i0.ɵɵgetCurrentView();
134
+ i0.ɵɵelementStart(0, "div", 6)(1, "div", 23)(2, "div", 24)(3, "span", 25);
135
+ i0.ɵɵlistener("click", function SkipChatComponent_Conditional_3_Template_span_click_3_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.DisplayConversationList(false)); });
140
136
  i0.ɵɵelementEnd();
141
- i0.ɵɵelementStart(4, "kendo-listview", 27, 3);
142
- i0.ɵɵtemplate(6, SkipChatComponent_kendo_splitter_pane_3_div_1_ng_template_6_Template, 6, 6, "ng-template", 28);
143
- i0.ɵɵelementEnd()();
137
+ i0.ɵɵtemplate(4, SkipChatComponent_Conditional_3_Conditional_4_Template, 1, 1, "img", 26)(5, SkipChatComponent_Conditional_3_Conditional_5_Template, 1, 0, "span", 27);
138
+ i0.ɵɵelementEnd();
139
+ i0.ɵɵelementStart(6, "kendo-listview", 28, 3);
140
+ i0.ɵɵtemplate(8, SkipChatComponent_Conditional_3_ng_template_8_Template, 6, 6, "ng-template", 29);
141
+ i0.ɵɵelementEnd()()();
144
142
  } if (rf & 2) {
145
- const ctx_r2 = i0.ɵɵnextContext(2);
146
- i0.ɵɵadvance(2);
147
- i0.ɵɵproperty("src", ctx_r2.SkipLogoURL, i0.ɵɵsanitizeUrl);
143
+ const ctx_r2 = i0.ɵɵnextContext();
144
+ i0.ɵɵadvance(4);
145
+ i0.ɵɵconditional(ctx_r2.ShowSkipLogoInConversationList ? 4 : -1);
148
146
  i0.ɵɵadvance();
149
- i0.ɵɵproperty("ngIf", ctx_r2.AllowNewConversations);
147
+ i0.ɵɵconditional(ctx_r2.AllowNewConversations ? 5 : -1);
150
148
  i0.ɵɵadvance();
151
149
  i0.ɵɵstyleProp("height", 280, "px");
152
- i0.ɵɵproperty("data", ctx_r2.Conversations)("itemClass", i0.ɵɵpureFunction0(8, _c6))("fillWidth", false)("bottomMargin", 20);
150
+ i0.ɵɵproperty("data", ctx_r2.Conversations)("itemClass", i0.ɵɵpureFunction0(8, _c6))("fillWidth", false)("bottomMargin", 50);
153
151
  } }
154
- function SkipChatComponent_kendo_splitter_pane_3_Template(rf, ctx) { if (rf & 1) {
155
- const _r2 = i0.ɵɵgetCurrentView();
156
- i0.ɵɵelementStart(0, "kendo-splitter-pane", 21);
157
- 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)); });
158
- i0.ɵɵtemplate(1, SkipChatComponent_kendo_splitter_pane_3_div_1_Template, 7, 9, "div", 22);
152
+ function SkipChatComponent_Conditional_4_Template(rf, ctx) { if (rf & 1) {
153
+ const _r12 = i0.ɵɵgetCurrentView();
154
+ i0.ɵɵelementStart(0, "span", 25);
155
+ i0.ɵɵlistener("click", function SkipChatComponent_Conditional_4_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.DisplayConversationList(true)); });
159
156
  i0.ɵɵelementEnd();
160
- } if (rf & 2) {
161
- const ctx_r2 = i0.ɵɵnextContext();
162
- i0.ɵɵproperty("collapsible", true)("scrollable", false)("resizable", false);
163
- i0.ɵɵadvance();
164
- i0.ɵɵproperty("ngIf", ctx_r2.ShowConversationList);
165
- } }
166
- function SkipChatComponent_div_9_Template(rf, ctx) { if (rf & 1) {
167
- i0.ɵɵelement(0, "div", 46);
168
157
  } }
169
158
  function SkipChatComponent_div_10_Template(rf, ctx) { if (rf & 1) {
170
- const _r12 = i0.ɵɵgetCurrentView();
171
- i0.ɵɵelementStart(0, "div", 47)(1, "div", 48);
172
- i0.ɵɵelement(2, "img", 49);
173
- i0.ɵɵelementStart(3, "div", 50);
159
+ i0.ɵɵelement(0, "div", 47);
160
+ } }
161
+ function SkipChatComponent_div_11_Template(rf, ctx) { if (rf & 1) {
162
+ const _r13 = i0.ɵɵgetCurrentView();
163
+ i0.ɵɵelementStart(0, "div", 48)(1, "div", 49);
164
+ i0.ɵɵelement(2, "img", 50);
165
+ i0.ɵɵelementStart(3, "div", 51);
174
166
  i0.ɵɵtext(4, "What can I help with today?");
175
167
  i0.ɵɵelementEnd()();
176
- i0.ɵɵelementStart(5, "div", 51)(6, "div", 52)(7, "div", 53);
177
- 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)); });
178
- i0.ɵɵelementStart(8, "span", 54);
168
+ i0.ɵɵelementStart(5, "div", 52)(6, "div", 53)(7, "div", 54);
169
+ i0.ɵɵlistener("click", function SkipChatComponent_div_11_Template_div_click_7_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sendPrompt(ctx_r2.WelcomeQuestions[0].prompt)); });
170
+ i0.ɵɵelementStart(8, "span", 55);
179
171
  i0.ɵɵtext(9);
180
172
  i0.ɵɵelementEnd();
181
173
  i0.ɵɵelementStart(10, "span");
182
174
  i0.ɵɵtext(11);
183
175
  i0.ɵɵelementEnd()();
184
- i0.ɵɵelementStart(12, "div", 53);
185
- 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)); });
186
- i0.ɵɵelementStart(13, "span", 54);
176
+ i0.ɵɵelementStart(12, "div", 54);
177
+ i0.ɵɵlistener("click", function SkipChatComponent_div_11_Template_div_click_12_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sendPrompt(ctx_r2.WelcomeQuestions[1].prompt)); });
178
+ i0.ɵɵelementStart(13, "span", 55);
187
179
  i0.ɵɵtext(14);
188
180
  i0.ɵɵelementEnd();
189
181
  i0.ɵɵelementStart(15, "span");
190
182
  i0.ɵɵtext(16);
191
183
  i0.ɵɵelementEnd()()();
192
- i0.ɵɵelementStart(17, "div", 52)(18, "div", 53);
193
- 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)); });
194
- i0.ɵɵelementStart(19, "span", 54);
184
+ i0.ɵɵelementStart(17, "div", 53)(18, "div", 54);
185
+ i0.ɵɵlistener("click", function SkipChatComponent_div_11_Template_div_click_18_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sendPrompt(ctx_r2.WelcomeQuestions[2].prompt)); });
186
+ i0.ɵɵelementStart(19, "span", 55);
195
187
  i0.ɵɵtext(20);
196
188
  i0.ɵɵelementEnd();
197
189
  i0.ɵɵelementStart(21, "span");
198
190
  i0.ɵɵtext(22);
199
191
  i0.ɵɵelementEnd()();
200
- i0.ɵɵelementStart(23, "div", 53);
201
- 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)); });
202
- i0.ɵɵelementStart(24, "span", 54);
192
+ i0.ɵɵelementStart(23, "div", 54);
193
+ i0.ɵɵlistener("click", function SkipChatComponent_div_11_Template_div_click_23_listener() { i0.ɵɵrestoreView(_r13); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.sendPrompt(ctx_r2.WelcomeQuestions[3].prompt)); });
194
+ i0.ɵɵelementStart(24, "span", 55);
203
195
  i0.ɵɵtext(25);
204
196
  i0.ɵɵelementEnd();
205
197
  i0.ɵɵelementStart(26, "span");
@@ -226,42 +218,42 @@ function SkipChatComponent_div_10_Template(rf, ctx) { if (rf & 1) {
226
218
  i0.ɵɵadvance(2);
227
219
  i0.ɵɵtextInterpolate(ctx_r2.WelcomeQuestions[3].bottomLine);
228
220
  } }
229
- function SkipChatComponent_span_12_Template(rf, ctx) { if (rf & 1) {
230
- const _r13 = i0.ɵɵgetCurrentView();
231
- i0.ɵɵelementStart(0, "span", 55);
232
- 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()); });
233
- i0.ɵɵelement(1, "i", 56);
221
+ function SkipChatComponent_span_13_Template(rf, ctx) { if (rf & 1) {
222
+ const _r14 = i0.ɵɵgetCurrentView();
223
+ i0.ɵɵelementStart(0, "span", 56);
224
+ i0.ɵɵlistener("click", function SkipChatComponent_span_13_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.scrollToBottomAnimate()); });
225
+ i0.ɵɵelement(1, "i", 57);
234
226
  i0.ɵɵelementEnd();
235
227
  } }
236
- function SkipChatComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
237
- const _r14 = i0.ɵɵgetCurrentView();
238
- i0.ɵɵelementStart(0, "button", 16)(1, "span", 57);
239
- 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()); });
228
+ function SkipChatComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
229
+ const _r15 = i0.ɵɵgetCurrentView();
230
+ i0.ɵɵelementStart(0, "button", 18)(1, "span", 58);
231
+ i0.ɵɵlistener("click", function SkipChatComponent_Conditional_18_Template_span_click_1_listener() { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.showDataContext()); });
240
232
  i0.ɵɵelementEnd()();
241
233
  } }
242
- function SkipChatComponent_div_20_Template(rf, ctx) { if (rf & 1) {
243
- const _r15 = i0.ɵɵgetCurrentView();
244
- i0.ɵɵelementStart(0, "div")(1, "mj-data-context-dialog", 58);
245
- 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()); });
234
+ function SkipChatComponent_div_21_Template(rf, ctx) { if (rf & 1) {
235
+ const _r16 = i0.ɵɵgetCurrentView();
236
+ i0.ɵɵelementStart(0, "div")(1, "mj-data-context-dialog", 59);
237
+ i0.ɵɵlistener("dialogClosed", function SkipChatComponent_div_21_Template_mj_data_context_dialog_dialogClosed_1_listener() { i0.ɵɵrestoreView(_r16); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDataContextDialog()); });
246
238
  i0.ɵɵelementEnd()();
247
239
  } if (rf & 2) {
248
240
  const ctx_r2 = i0.ɵɵnextContext();
249
241
  i0.ɵɵadvance();
250
242
  i0.ɵɵproperty("dataContextId", ctx_r2.DataContextID)("Provider", ctx_r2.ProviderToUse);
251
243
  } }
252
- function SkipChatComponent_kendo_dialog_21_Template(rf, ctx) { if (rf & 1) {
253
- const _r16 = i0.ɵɵgetCurrentView();
254
- i0.ɵɵelementStart(0, "kendo-dialog", 59);
255
- 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")); });
256
- i0.ɵɵelementStart(1, "p", 60);
244
+ function SkipChatComponent_kendo_dialog_22_Template(rf, ctx) { if (rf & 1) {
245
+ const _r17 = i0.ɵɵgetCurrentView();
246
+ i0.ɵɵelementStart(0, "kendo-dialog", 60);
247
+ i0.ɵɵlistener("close", function SkipChatComponent_kendo_dialog_22_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDeleteConversation("no")); });
248
+ i0.ɵɵelementStart(1, "p", 61);
257
249
  i0.ɵɵtext(2);
258
250
  i0.ɵɵelementEnd();
259
- i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 61);
260
- 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")); });
251
+ i0.ɵɵelementStart(3, "kendo-dialog-actions")(4, "button", 62);
252
+ i0.ɵɵlistener("click", function SkipChatComponent_kendo_dialog_22_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDeleteConversation("yes")); });
261
253
  i0.ɵɵtext(5, " Yes ");
262
254
  i0.ɵɵelementEnd();
263
- i0.ɵɵelementStart(6, "button", 29);
264
- 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")); });
255
+ i0.ɵɵelementStart(6, "button", 63);
256
+ i0.ɵɵlistener("click", function SkipChatComponent_kendo_dialog_22_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDeleteConversation("no")); });
265
257
  i0.ɵɵtext(7, " No ");
266
258
  i0.ɵɵelementEnd()()();
267
259
  } if (rf & 2) {
@@ -270,20 +262,23 @@ function SkipChatComponent_kendo_dialog_21_Template(rf, ctx) { if (rf & 1) {
270
262
  i0.ɵɵadvance(2);
271
263
  i0.ɵɵtextInterpolate1(" Would you like to delete ", ctx_r2.SelectedConversation == null ? null : ctx_r2.SelectedConversation.Name, "? ");
272
264
  } }
273
- let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends BaseAngularComponent {
274
- constructor(el, sharedService, renderer, route, router, location, cdRef) {
265
+ export class SkipChatComponent extends BaseAngularComponent {
266
+ constructor(el, renderer, route, router, location, cdRef, notificationService) {
275
267
  super();
276
268
  this.el = el;
277
- this.sharedService = sharedService;
278
269
  this.renderer = renderer;
279
270
  this.route = route;
280
271
  this.router = router;
281
272
  this.location = location;
282
273
  this.cdRef = cdRef;
274
+ this.notificationService = notificationService;
283
275
  this.AllowSend = true;
284
276
  this.Messages = [];
285
277
  this.Conversations = [];
286
278
  this.ConversationEditMode = false;
279
+ /**
280
+ * If true, the component will show the conversation list. Default is true.
281
+ */
287
282
  this.ShowConversationList = true;
288
283
  this.AllowNewConversations = true;
289
284
  this.Title = 'Ask Skip';
@@ -302,6 +297,18 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
302
297
  * If true, the component will update the browser URL when the conversation changes. If false, it will not update the URL. Default is true.
303
298
  */
304
299
  this.UpdateAppRoute = true;
300
+ /**
301
+ * When set to true, the small Skip logo is shown in the conversation list on the top left of the component
302
+ */
303
+ this.ShowSkipLogoInConversationList = false;
304
+ /**
305
+ * This property is used to set the placeholder text for the textbox where the user types their message to Skip.
306
+ */
307
+ this.DefaultTextboxPlaceholder = 'Type your message to Skip here...';
308
+ /**
309
+ * This property is used to set the placeholder text for the textbox where the user types their message to Skip when Skip is processing a request and the text area is disabled.
310
+ */
311
+ this.ProcessingTextBoxPlaceholder = 'Please wait...';
305
312
  /**
306
313
  * Event emitted when the user clicks on a matching report and the application needs to handle the navigation
307
314
  */
@@ -310,7 +317,12 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
310
317
  * Event emitted whenever a conversation is selected
311
318
  */
312
319
  this.ConversationSelected = new EventEmitter();
320
+ /**
321
+ * Internal state variable to track if the conversation list is visible or not. Defaults to true. Conversation List only is shown if this is true and ShowConversationList is true.
322
+ */
323
+ this.IsConversationListVisible = true;
313
324
  this._showScrollToBottomIcon = false;
325
+ this._AskSkipTextboxPlaceholder = 'Type your message here...';
314
326
  this._messageInProgress = false;
315
327
  this._conversationsInProgress = {};
316
328
  this._conversationsToReload = {};
@@ -358,7 +370,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
358
370
  this.SubscribeToNotifications();
359
371
  }
360
372
  static get SkipChatWindowsCurrentlyVisible() {
361
- return SkipChatComponent_1.__skipChatWindowsCurrentlyVisible;
373
+ return SkipChatComponent.__skipChatWindowsCurrentlyVisible;
362
374
  }
363
375
  SubscribeToNotifications() {
364
376
  try {
@@ -387,7 +399,17 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
387
399
  }
388
400
  }
389
401
  splitterCollapseStateChanged(e) {
390
- this.sharedService.InvokeManualResize();
402
+ InvokeManualResize();
403
+ }
404
+ get ConversationListCurrentlyVisible() {
405
+ return this.IsConversationListVisible && this.ShowConversationList;
406
+ }
407
+ DisplayConversationList(show = true) {
408
+ if (show !== this.IsConversationListVisible) {
409
+ this.IsConversationListVisible = show;
410
+ this.cdRef.detectChanges();
411
+ InvokeManualResize();
412
+ }
391
413
  }
392
414
  GetConversationItemClass(item) {
393
415
  var _a;
@@ -425,6 +447,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
425
447
  obj.RefreshMessage();
426
448
  }
427
449
  }
450
+ this._AskSkipTextboxPlaceholder = this.ProcessingTextBoxPlaceholder;
428
451
  }
429
452
  else {
430
453
  if (this._temporaryMessage) {
@@ -432,6 +455,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
432
455
  this.RemoveMessageFromCurrentConversation(this._temporaryMessage);
433
456
  this._temporaryMessage = undefined;
434
457
  }
458
+ this._AskSkipTextboxPlaceholder = this.DefaultTextboxPlaceholder;
435
459
  }
436
460
  }
437
461
  SetSelectedConversationUser() {
@@ -506,15 +530,15 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
506
530
  // 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
507
531
  if (this._initialLoadComplete) {
508
532
  // don't go below 0
509
- SkipChatComponent_1.__skipChatWindowsCurrentlyVisible = Math.max(0, SkipChatComponent_1.__skipChatWindowsCurrentlyVisible - 1);
533
+ SkipChatComponent.__skipChatWindowsCurrentlyVisible = Math.max(0, SkipChatComponent.__skipChatWindowsCurrentlyVisible - 1);
510
534
  }
511
535
  }
512
536
  else {
513
537
  // we are now visible, increment the count of visible instances
514
- SkipChatComponent_1.__skipChatWindowsCurrentlyVisible++;
538
+ SkipChatComponent.__skipChatWindowsCurrentlyVisible++;
515
539
  if (!this._initialLoadComplete) {
516
540
  // we are now visible, for the first time, first fire off an InvokeManualResize to ensure the parent container is resized properly
517
- this.sharedService.InvokeManualResize();
541
+ InvokeManualResize();
518
542
  // first do stuff if we're on "global" skip chat mode...
519
543
  if (this.ShowConversationList && !this.LinkedEntity && this.LinkedEntity.trim().length === 0 && !this.CompositeKeyIsPopulated()) {
520
544
  // 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
@@ -599,7 +623,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
599
623
  if (this.Conversations.length === 0) {
600
624
  // no conversations, so create a new one
601
625
  yield this.CreateNewConversation();
602
- this.sharedService.InvokeManualResize(1);
626
+ InvokeManualResize(1);
603
627
  }
604
628
  else if (conversationIdToLoad) {
605
629
  // we have > 0 convos and we were asked to load a specific one
@@ -657,7 +681,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
657
681
  }
658
682
  }
659
683
  else
660
- this.sharedService.CreateSimpleNotification('Error saving conversation name', 'error', 5000);
684
+ this.notificationService.CreateSimpleNotification('Error saving conversation name', 'error', 5000);
661
685
  });
662
686
  }
663
687
  showDeleteConvoDialog(conversation) {
@@ -697,7 +721,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
697
721
  this.Messages = [];
698
722
  }
699
723
  else {
700
- this.sharedService.CreateSimpleNotification('Error deleting conversation', 'error', 5000);
724
+ this.notificationService.CreateSimpleNotification('Error deleting conversation', 'error', 5000);
701
725
  }
702
726
  });
703
727
  }
@@ -741,7 +765,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
741
765
  }
742
766
  let dciSaveResult = yield dci.Save();
743
767
  if (!dciSaveResult) {
744
- this.sharedService.CreateSimpleNotification('Error creating data context item', 'error', 5000);
768
+ this.notificationService.CreateSimpleNotification('Error creating data context item', 'error', 5000);
745
769
  LogError('Error creating data context item', undefined, dci.LatestResult);
746
770
  }
747
771
  }
@@ -749,7 +773,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
749
773
  this.DataContextID = dc.ID;
750
774
  const convoSaveResult = yield convo.Save();
751
775
  if (!convoSaveResult) {
752
- this.sharedService.CreateSimpleNotification('Error creating conversation', 'error', 5000);
776
+ this.notificationService.CreateSimpleNotification('Error creating conversation', 'error', 5000);
753
777
  LogError('Error creating conversation', undefined, convo.LatestResult);
754
778
  return;
755
779
  }
@@ -768,7 +792,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
768
792
  this._scrollToBottom = true; // this results in the angular after Viewchecked scrolling to bottom when it's done
769
793
  }
770
794
  else {
771
- this.sharedService.CreateSimpleNotification('Error creating data context', 'error', 5000);
795
+ this.notificationService.CreateSimpleNotification('Error creating data context', 'error', 5000);
772
796
  }
773
797
  });
774
798
  }
@@ -827,7 +851,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
827
851
  this.cdRef.reattach(); // resume change detection
828
852
  }
829
853
  this._processingStatus[conversation.ID] = oldStatus; // set back to old status as it might have been processing
830
- this.sharedService.InvokeManualResize(500);
854
+ InvokeManualResize(500);
831
855
  // ensure the list box has the conversation in view
832
856
  this.scrollToConversation(conversation.ID);
833
857
  this._conversationLoadComplete = true;
@@ -870,15 +894,15 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
870
894
  }
871
895
  pickSkipStartMessage() {
872
896
  // goal here is to randomly select one of the above _startMessages, however we want to track for our instance of the class the ones we use so that we don't reuse any of them until we use them all
873
- if (this._usedStartMessages.length === SkipChatComponent_1._startMessages.length) {
897
+ if (this._usedStartMessages.length === SkipChatComponent._startMessages.length) {
874
898
  this._usedStartMessages = []; // reset the used messages
875
899
  }
876
900
  let idx = -1;
877
901
  do {
878
- idx = Math.floor(Math.random() * SkipChatComponent_1._startMessages.length);
879
- } while (this._usedStartMessages.indexOf(SkipChatComponent_1._startMessages[idx]) >= 0);
880
- this._usedStartMessages.push(SkipChatComponent_1._startMessages[idx]);
881
- return SkipChatComponent_1._startMessages[idx];
902
+ idx = Math.floor(Math.random() * SkipChatComponent._startMessages.length);
903
+ } while (this._usedStartMessages.indexOf(SkipChatComponent._startMessages[idx]) >= 0);
904
+ this._usedStartMessages.push(SkipChatComponent._startMessages[idx]);
905
+ return SkipChatComponent._startMessages[idx];
882
906
  }
883
907
  sendPrompt(val) {
884
908
  return __awaiter(this, void 0, void 0, function* () {
@@ -962,7 +986,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
962
986
  this.cdRef.reattach();
963
987
  this.cdRef.detectChanges();
964
988
  // invoke manual resize with a delay to ensure that the scroll to bottom has taken place
965
- //this.sharedService.InvokeManualResize();
989
+ //InvokeManualResize();
966
990
  this.SetSkipStatusMessage('', 500); // slight delay to ensure that the message is removed after the UI has updated with the new response message
967
991
  // now set focus on the input box
968
992
  this.askSkipInput.nativeElement.focus();
@@ -1142,13 +1166,13 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
1142
1166
  else if (type === 'full_entity')
1143
1167
  dci.EntityID = e.ID;
1144
1168
  if (!(yield dci.Save())) {
1145
- SharedService.Instance.CreateSimpleNotification('Error creating data context item', 'error', 5000);
1169
+ this.notificationService.CreateSimpleNotification('Error creating data context item', 'error', 5000);
1146
1170
  console.log('AskSkipComponent: Error creating data context item');
1147
1171
  }
1148
1172
  }
1149
1173
  }
1150
1174
  else {
1151
- SharedService.Instance.CreateSimpleNotification('Error creating data context', 'error', 5000);
1175
+ this.notificationService.CreateSimpleNotification('Error creating data context', 'error', 5000);
1152
1176
  console.log('AskSkipComponent: Error creating data context');
1153
1177
  }
1154
1178
  }
@@ -1254,7 +1278,7 @@ let SkipChatComponent = SkipChatComponent_1 = class SkipChatComponent extends Ba
1254
1278
  this.loadConversations(convoIDParam);
1255
1279
  });
1256
1280
  }
1257
- };
1281
+ }
1258
1282
  SkipChatComponent.__skipChatWindowsCurrentlyVisible = 0;
1259
1283
  SkipChatComponent._startMessages = [
1260
1284
  'On it, let me get back to you in a moment with the results!🤖',
@@ -1266,7 +1290,7 @@ SkipChatComponent._startMessages = [
1266
1290
  "Ok, heard loud and clear, I'll jump right on it! 👂",
1267
1291
  "Aye aye captain, I'll get started right away! ⚓",
1268
1292
  ];
1269
- SkipChatComponent.ɵfac = function SkipChatComponent_Factory(t) { return new (t || SkipChatComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.SharedService), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i3.Location), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
1293
+ SkipChatComponent.ɵfac = function SkipChatComponent_Factory(t) { return new (t || SkipChatComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.Location), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i3.MJNotificationService)); };
1270
1294
  SkipChatComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipChatComponent, selectors: [["skip-chat"]], viewQuery: function SkipChatComponent_Query(rf, ctx) { if (rf & 1) {
1271
1295
  i0.ɵɵviewQuery(Container, 7);
1272
1296
  i0.ɵɵviewQuery(_c0, 7);
@@ -1284,29 +1308,31 @@ SkipChatComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipChatC
1284
1308
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.askSkipInput = _t.first);
1285
1309
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollContainer = _t.first);
1286
1310
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.topLevelDiv = _t.first);
1287
- } }, 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", 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) {
1311
+ } }, 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", ShowSkipLogoInConversationList: "ShowSkipLogoInConversationList", DefaultTextboxPlaceholder: "DefaultTextboxPlaceholder", ProcessingTextBoxPlaceholder: "ProcessingTextBoxPlaceholder", WelcomeQuestions: "WelcomeQuestions", AutoLoad: "AutoLoad" }, outputs: { NavigateToMatchingReport: "NavigateToMatchingReport", ConversationSelected: "ConversationSelected" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 23, vars: 13, consts: [["topLevelDiv", ""], ["AskSkipPanel", "", "scrollContainer", ""], ["AskSkipInput", ""], ["conversationList", ""], ["mjFillContainer", "", 1, "chat-container", 3, "bottomMargin", "rightMargin"], [1, "layout"], [1, "left-panel"], [1, "fa-solid", "fa-table-columns", "toggle-icon"], [1, "right-panel"], ["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", 3, "keyup.enter", "input", "disabled", "placeholder"], ["kendoButton", ""], ["kendoButton", "", 3, "click", "disabled"], [1, "fas", "fa-solid", "fa-arrow-up"], [4, "ngIf"], ["title", "Please confirm", 3, "minWidth", "width", "close", 4, "ngIf"], [1, "conversation-history"], [1, "new-chat-area"], [1, "fa-solid", "fa-table-columns", "toggle-icon", 3, "click"], [1, "avatar", 3, "src"], [1, "fa-solid", "fa-pen-to-square", "new-convo-icon"], ["mjFillContainer", "", 1, "conversation-list", 3, "data", "itemClass", "fillWidth", "bottomMargin"], ["kendoListViewItemTemplate", ""], [1, "fa-solid", "fa-pen-to-square", "new-convo-icon", 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"], ["kendoButton", "", 3, "click"]], template: function SkipChatComponent_Template(rf, ctx) { if (rf & 1) {
1288
1312
  const _r1 = i0.ɵɵgetCurrentView();
1289
- i0.ɵɵelementStart(0, "div", 4, 0)(2, "kendo-splitter", 5);
1290
- i0.ɵɵtemplate(3, SkipChatComponent_kendo_splitter_pane_3_Template, 2, 4, "kendo-splitter-pane", 6);
1291
- i0.ɵɵelementStart(4, "kendo-splitter-pane")(5, "div", 7)(6, "div", 8, 1);
1292
- i0.ɵɵlistener("scroll", function SkipChatComponent_Template_div_scroll_6_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.checkScroll()); });
1293
- i0.ɵɵtemplate(9, SkipChatComponent_div_9_Template, 1, 0, "div", 9)(10, SkipChatComponent_div_10_Template, 28, 9, "div", 10);
1294
- i0.ɵɵelement(11, "div", 11);
1295
- i0.ɵɵtemplate(12, SkipChatComponent_span_12_Template, 2, 0, "span", 12);
1313
+ i0.ɵɵelementStart(0, "div", 4, 0)(2, "div", 5);
1314
+ i0.ɵɵtemplate(3, SkipChatComponent_Conditional_3_Template, 9, 9, "div", 6)(4, SkipChatComponent_Conditional_4_Template, 1, 0, "span", 7);
1315
+ i0.ɵɵelementStart(5, "div", 8)(6, "div", 9)(7, "div", 10, 1);
1316
+ i0.ɵɵlistener("scroll", function SkipChatComponent_Template_div_scroll_7_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.checkScroll()); });
1317
+ i0.ɵɵtemplate(10, SkipChatComponent_div_10_Template, 1, 0, "div", 11)(11, SkipChatComponent_div_11_Template, 28, 9, "div", 12);
1318
+ i0.ɵɵelement(12, "div", 13);
1319
+ i0.ɵɵtemplate(13, SkipChatComponent_span_13_Template, 2, 0, "span", 14);
1296
1320
  i0.ɵɵelementEnd();
1297
- i0.ɵɵelementStart(13, "div", 13)(14, "div", 14)(15, "textarea", 15, 2);
1298
- i0.ɵɵlistener("keyup.enter", function SkipChatComponent_Template_textarea_keyup_enter_15_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEnter($event)); })("input", function SkipChatComponent_Template_textarea_input_15_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onInputChange($event)); });
1321
+ i0.ɵɵelementStart(14, "div", 15)(15, "div", 16)(16, "textarea", 17, 2);
1322
+ i0.ɵɵlistener("keyup.enter", function SkipChatComponent_Template_textarea_keyup_enter_16_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onEnter($event)); })("input", function SkipChatComponent_Template_textarea_input_16_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onInputChange($event)); });
1299
1323
  i0.ɵɵelementEnd()();
1300
- i0.ɵɵtemplate(17, SkipChatComponent_Conditional_17_Template, 2, 0, "button", 16);
1301
- i0.ɵɵelementStart(18, "button", 17);
1302
- i0.ɵɵlistener("click", function SkipChatComponent_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.sendSkipMessage()); });
1303
- i0.ɵɵelement(19, "span", 18);
1324
+ i0.ɵɵtemplate(18, SkipChatComponent_Conditional_18_Template, 2, 0, "button", 18);
1325
+ i0.ɵɵelementStart(19, "button", 19);
1326
+ i0.ɵɵlistener("click", function SkipChatComponent_Template_button_click_19_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.sendSkipMessage()); });
1327
+ i0.ɵɵelement(20, "span", 20);
1304
1328
  i0.ɵɵelementEnd()()()()()();
1305
- i0.ɵɵtemplate(20, SkipChatComponent_div_20_Template, 2, 2, "div", 19)(21, SkipChatComponent_kendo_dialog_21_Template, 8, 3, "kendo-dialog", 20);
1329
+ i0.ɵɵtemplate(21, SkipChatComponent_div_21_Template, 2, 2, "div", 21)(22, SkipChatComponent_kendo_dialog_22_Template, 8, 3, "kendo-dialog", 22);
1306
1330
  } if (rf & 2) {
1307
1331
  i0.ɵɵproperty("bottomMargin", 10)("rightMargin", 10);
1308
1332
  i0.ɵɵadvance(3);
1309
- i0.ɵɵproperty("ngIf", ctx.ShowConversationList);
1333
+ i0.ɵɵconditional(ctx.IsConversationListVisible ? 3 : -1);
1334
+ i0.ɵɵadvance();
1335
+ i0.ɵɵconditional(!ctx.IsConversationListVisible ? 4 : -1);
1310
1336
  i0.ɵɵadvance(6);
1311
1337
  i0.ɵɵproperty("ngIf", ctx.Messages && ctx.Messages.length > 0 && ctx.SelectedConversation && ctx.IsSkipProcessing(ctx.SelectedConversation));
1312
1338
  i0.ɵɵadvance();
@@ -1314,24 +1340,20 @@ SkipChatComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipChatC
1314
1340
  i0.ɵɵadvance(2);
1315
1341
  i0.ɵɵproperty("ngIf", ctx._showScrollToBottomIcon && ctx.Messages && ctx.Messages.length > 0);
1316
1342
  i0.ɵɵadvance(3);
1317
- i0.ɵɵproperty("disabled", ctx.SelectedConversation && ctx.IsSkipProcessing(ctx.SelectedConversation));
1343
+ i0.ɵɵproperty("disabled", ctx.SelectedConversation && ctx.IsSkipProcessing(ctx.SelectedConversation))("placeholder", ctx._AskSkipTextboxPlaceholder);
1318
1344
  i0.ɵɵadvance(2);
1319
- i0.ɵɵconditional(ctx.ShowDataContextButton ? 17 : -1);
1345
+ i0.ɵɵconditional(ctx.ShowDataContextButton ? 18 : -1);
1320
1346
  i0.ɵɵadvance();
1321
1347
  i0.ɵɵproperty("disabled", ctx.IsTextAreaEmpty() || ctx.SelectedConversation !== undefined && ctx.IsSkipProcessing(ctx.SelectedConversation));
1322
1348
  i0.ɵɵadvance(2);
1323
1349
  i0.ɵɵproperty("ngIf", ctx.isDataContextDialogVisible);
1324
1350
  i0.ɵɵadvance();
1325
1351
  i0.ɵɵproperty("ngIf", ctx.confirmDeleteConversationDialogOpen);
1326
- } }, 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}"] });
1327
- SkipChatComponent = SkipChatComponent_1 = __decorate([
1328
- RegisterClass(BaseNavigationComponent, 'Ask Skip')
1329
- ], SkipChatComponent);
1330
- export { SkipChatComponent };
1352
+ } }, dependencies: [i2.NgClass, i2.NgIf, i4.DefaultValueAccessor, i4.NgControlStatus, i4.MaxLengthValidator, i4.NgModel, i5.DialogComponent, i5.DialogActionsComponent, i6.FillContainer, i6.Container, i7.ItemTemplateDirective, i7.ListViewComponent, i8.ButtonComponent, i9.DataContextDialogComponent], styles: [".layout[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row; \n\n height: 100%; \n\n width: 100%; \n\n position: relative;\n}\n\n.left-panel[_ngcontent-%COMP%] {\n width: 272px; \n\n background-color: #f8f9fa; \n\n border-right: 1px solid #ddd; \n\n overflow-y: auto; \n\n overflow-x: hidden; \n\n position: relative;\n\n scrollbar-width: thin; \n\n scrollbar-color: #d3d3d3 #f8f9fa; \n\n}\n\n\n\n.left-panel[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 8px; \n\n background-color: #f8f9fa; \n\n}\n\n.left-panel[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background-color: #d3d3d3; \n\n border-radius: 4px; \n\n}\n\n.left-panel[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background-color: #c0c0c0; \n\n}\n\n.left-panel[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background-color: #f8f9fa; \n\n}\n\n.right-panel[_ngcontent-%COMP%] {\n flex: 1; \n\n overflow-y: auto; \n\n}\n\n\n.new-convo-icon[_ngcontent-%COMP%] {\n color: #808080; \n\n font-size: 18px; \n\n cursor: pointer; \n\n z-index: 10; \n\n padding: 5px;\n border-radius: 4px;\n}\n\n.toggle-icon[_ngcontent-%COMP%] {\n color: #808080; \n\n font-size: 18px; \n\n cursor: pointer; \n\n z-index: 10; \n\n margin-left: 6px;\n padding: 3px;\n border-radius: 3px;\n}\n \n\n.right-panel[_ngcontent-%COMP%] .toggle-icon[_ngcontent-%COMP%] {\n margin-left: 3px;\n margin-top: 2px;\n position: absolute;\n top: 10px;\n left: auto;\n right: 10px; \n\n}\n\n\n.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: 240px;\n min-width: 240px;\n height: 95%;\n overflow-y: auto; \n\n overflow-x: hidden; \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 scrollbar-width: thin; \n\n scrollbar-color: #d3d3d3 #f8f9fa; \n\n}\n\n\n\n.messages[_ngcontent-%COMP%]::-webkit-scrollbar {\nwidth: 8px; \n\nbackground-color: #f8f9fa; \n\n}\n\n.messages[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\nbackground-color: #d3d3d3; \n\nborder-radius: 4px; \n\n}\n\n.messages[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\nbackground-color: #c0c0c0; \n\n}\n\n.messages[_ngcontent-%COMP%]::-webkit-scrollbar-track {\nbackground-color: #f8f9fa; \n\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\n\n\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}"] });
1331
1353
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SkipChatComponent, [{
1332
1354
  type: Component,
1333
- 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 "] }]
1334
- }], () => [{ type: i0.ElementRef }, { type: i1.SharedService }, { type: i0.Renderer2 }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i3.Location }, { type: i0.ChangeDetectorRef }], { AllowSend: [{
1355
+ args: [{ selector: 'skip-chat', template: "<div class = \"chat-container\" mjFillContainer #topLevelDiv [bottomMargin]=\"10\" [rightMargin]=\"10\">\n <div class=\"layout\">\n @if (IsConversationListVisible) {\n <div class=\"left-panel\">\n <div class=\"conversation-history\">\n <div class=\"new-chat-area\">\n <span class=\"fa-solid fa-table-columns toggle-icon\" (click)=\"DisplayConversationList(false)\"></span>\n @if (ShowSkipLogoInConversationList) {\n <img [src]=\"SkipLogoURL\" class=\"avatar\" />\n }\n @if (AllowNewConversations) {\n <span class=\"fa-solid fa-pen-to-square new-convo-icon\" (click)=\"CreateNewConversation()\"></span> \n }\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]=\"50\"\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 </div>\n }\n @if (!IsConversationListVisible) {\n <span class=\"fa-solid fa-table-columns toggle-icon\" (click)=\"DisplayConversationList(true)\"></span>\n }\n\n <div class=\"right-panel\">\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]=\"_AskSkipTextboxPlaceholder\"></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 </div>\n </div> \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: [".layout {\n display: flex;\n flex-direction: row; /* Ensures left and right panels are side by side */\n height: 100%; /* Fill the available height */\n width: 100%; /* Fill the available width */\n position: relative;\n}\n\n.left-panel {\n width: 272px; /* Fixed width for the conversation list */\n background-color: #f8f9fa; /* Optional: Background color */\n border-right: 1px solid #ddd; /* Optional: Add a divider */\n overflow-y: auto; /* Enable scrolling if content overflows */\n overflow-x: hidden; /* Hide horizontal scrollbar */\n position: relative;\n\n scrollbar-width: thin; /* For Firefox */\n scrollbar-color: #d3d3d3 #f8f9fa; /* Thumb color and track color */\n}\n\n/* For WebKit-based browsers (Chrome, Edge, Safari) */\n.left-panel::-webkit-scrollbar {\n width: 8px; /* Narrower scrollbar */\n background-color: #f8f9fa; /* Scrollbar track color */\n}\n\n.left-panel::-webkit-scrollbar-thumb {\n background-color: #d3d3d3; /* Lighter gray scrollbar thumb */\n border-radius: 4px; /* Rounded corners for the thumb */\n}\n\n.left-panel::-webkit-scrollbar-thumb:hover {\n background-color: #c0c0c0; /* Slightly darker gray on hover */\n}\n\n.left-panel::-webkit-scrollbar-track {\n background-color: #f8f9fa; /* Background of the scrollbar track */\n}\n\n.right-panel {\n flex: 1; /* Take up the remaining space */\n overflow-y: auto; /* Enable scrolling for the conversation content */\n}\n\n\n.new-convo-icon {\n color: #808080; /* Mid-gray */\n font-size: 18px; /* Adjust icon size */\n cursor: pointer; /* Make it clear the icon is clickable */\n z-index: 10; /* Ensure the icon is above other content */\n padding: 5px;\n border-radius: 4px;\n}\n\n.toggle-icon {\n color: #808080; /* Mid-gray */\n font-size: 18px; /* Adjust icon size */\n cursor: pointer; /* Make it clear the icon is clickable */\n z-index: 10; /* Ensure the icon is above other content */\n margin-left: 6px;\n padding: 3px;\n border-radius: 3px;\n}\n \n\n.right-panel .toggle-icon {\n margin-left: 3px;\n margin-top: 2px;\n position: absolute;\n top: 10px;\n left: auto;\n right: 10px; /* For the right panel toggle */\n}\n\n\n.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: 240px;\n min-width: 240px;\n height: 95%;\n overflow-y: auto; /* Add scroll if the content exceeds the height */\n overflow-x: hidden; /* Hide horizontal scrollbar */\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 scrollbar-width: thin; /* For Firefox */\n scrollbar-color: #d3d3d3 #f8f9fa; /* Thumb color and track color */\n}\n\n/* For WebKit-based browsers (Chrome, Edge, Safari) */\n.messages::-webkit-scrollbar {\nwidth: 8px; /* Narrower scrollbar */\nbackground-color: #f8f9fa; /* Scrollbar track color */\n}\n\n.messages::-webkit-scrollbar-thumb {\nbackground-color: #d3d3d3; /* Lighter gray scrollbar thumb */\nborder-radius: 4px; /* Rounded corners for the thumb */\n}\n\n.messages::-webkit-scrollbar-thumb:hover {\nbackground-color: #c0c0c0; /* Slightly darker gray on hover */\n}\n\n.messages::-webkit-scrollbar-track {\nbackground-color: #f8f9fa; /* Background of the scrollbar track */\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 "] }]
1356
+ }], () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.ActivatedRoute }, { type: i1.Router }, { type: i2.Location }, { type: i0.ChangeDetectorRef }, { type: i3.MJNotificationService }], { AllowSend: [{
1335
1357
  type: Input
1336
1358
  }], Messages: [{
1337
1359
  type: Input
@@ -1365,6 +1387,12 @@ export { SkipChatComponent };
1365
1387
  type: Input
1366
1388
  }], UpdateAppRoute: [{
1367
1389
  type: Input
1390
+ }], ShowSkipLogoInConversationList: [{
1391
+ type: Input
1392
+ }], DefaultTextboxPlaceholder: [{
1393
+ type: Input
1394
+ }], ProcessingTextBoxPlaceholder: [{
1395
+ type: Input
1368
1396
  }], NavigateToMatchingReport: [{
1369
1397
  type: Output
1370
1398
  }], ConversationSelected: [{
@@ -1395,5 +1423,5 @@ export { SkipChatComponent };
1395
1423
  }], AutoLoad: [{
1396
1424
  type: Input
1397
1425
  }] }); })();
1398
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkipChatComponent, { className: "SkipChatComponent", filePath: "src/lib/skip-chat/skip-chat.component.ts", lineNumber: 44 }); })();
1426
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkipChatComponent, { className: "SkipChatComponent", filePath: "src/lib/skip-chat/skip-chat.component.ts", lineNumber: 43 }); })();
1399
1427
  //# sourceMappingURL=skip-chat.component.js.map