@microsoft/omnichannel-chat-widget 1.0.6-main.ffb4e2a → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/lib/cjs/common/Constants.js +1 -0
  2. package/lib/cjs/common/telemetry/TelemetryHelper.js +16 -15
  3. package/lib/cjs/common/utils.js +17 -2
  4. package/lib/cjs/components/footerstateful/FooterStateful.js +2 -2
  5. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +21 -12
  6. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/interfaces/IWebChatTranscriptConfig.js +1 -0
  7. package/lib/cjs/components/livechatwidget/common/createDownloadTranscriptProps.js +27 -0
  8. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +9 -1
  9. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +36 -28
  10. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +6 -0
  11. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +10 -2
  12. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSentMessageAnchorStyles.js +10 -0
  13. package/lib/cjs/plugins/createChatTranscript.js +548 -0
  14. package/lib/esm/common/Constants.js +1 -0
  15. package/lib/esm/common/telemetry/TelemetryHelper.js +16 -15
  16. package/lib/esm/common/utils.js +15 -1
  17. package/lib/esm/components/footerstateful/FooterStateful.js +2 -2
  18. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +22 -13
  19. package/lib/esm/components/footerstateful/downloadtranscriptstateful/interfaces/IWebChatTranscriptConfig.js +1 -0
  20. package/lib/esm/components/livechatwidget/common/createDownloadTranscriptProps.js +20 -0
  21. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +9 -1
  22. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +36 -28
  23. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +6 -0
  24. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +10 -2
  25. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSentMessageAnchorStyles.js +3 -0
  26. package/lib/esm/plugins/createChatTranscript.js +543 -0
  27. package/lib/types/common/Constants.d.ts +1 -0
  28. package/lib/types/common/telemetry/definitions/Contracts.d.ts +1 -0
  29. package/lib/types/common/utils.d.ts +1 -0
  30. package/lib/types/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.d.ts +2 -1
  31. package/lib/types/components/footerstateful/downloadtranscriptstateful/interfaces/IDownloadTranscriptProps.d.ts +5 -0
  32. package/lib/types/components/footerstateful/downloadtranscriptstateful/interfaces/IWebChatTranscriptConfig.d.ts +13 -0
  33. package/lib/types/components/livechatwidget/common/createDownloadTranscriptProps.d.ts +24 -0
  34. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +1 -0
  35. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSentMessageAnchorStyles.d.ts +2 -0
  36. package/lib/types/plugins/createChatTranscript.d.ts +2 -0
  37. package/package.json +2 -2
@@ -155,6 +155,7 @@ _defineProperty(HtmlAttributeNames, "listItem", "LI");
155
155
  _defineProperty(HtmlAttributeNames, "unorderedList", "UL");
156
156
  _defineProperty(HtmlAttributeNames, "div", "div");
157
157
  _defineProperty(HtmlAttributeNames, "aTagName", "a");
158
+ _defineProperty(HtmlAttributeNames, "pTagName", "p");
158
159
  _defineProperty(HtmlAttributeNames, "noopenerTag", "noopener");
159
160
  _defineProperty(HtmlAttributeNames, "noreferrerTag", "noreferrer");
160
161
  _defineProperty(HtmlAttributeNames, "adaptiveCardClassName", "ac-adaptiveCard");
@@ -36,15 +36,16 @@ class TelemetryHelper {
36
36
  static populateBasicProperties(level,
37
37
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
38
38
  telemetryData) {
39
- var _TelemetryManager$Int, _TelemetryManager$Int2, _TelemetryManager$Int3, _TelemetryManager$Int4, _TelemetryManager$Int5, _TelemetryManager$Int6, _TelemetryManager$Int7;
39
+ var _TelemetryManager$Int, _TelemetryManager$Int2, _TelemetryManager$Int3, _TelemetryManager$Int4, _TelemetryManager$Int5, _TelemetryManager$Int6, _TelemetryManager$Int7, _TelemetryManager$Int8;
40
40
  return {
41
41
  WidgetId: ((_TelemetryManager$Int = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.widgetId) ?? "",
42
42
  ChatId: ((_TelemetryManager$Int2 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int2 === void 0 ? void 0 : _TelemetryManager$Int2.chatId) ?? "",
43
43
  ChannelId: ((_TelemetryManager$Int3 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int3 === void 0 ? void 0 : _TelemetryManager$Int3.channelId) ?? "lcw2.0",
44
44
  ConversationId: ((_TelemetryManager$Int4 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int4 === void 0 ? void 0 : _TelemetryManager$Int4.conversationId) ?? "",
45
45
  OrganizationId: ((_TelemetryManager$Int5 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int5 === void 0 ? void 0 : _TelemetryManager$Int5.orgId) ?? "",
46
- LCWRuntimeId: ((_TelemetryManager$Int6 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int6 === void 0 ? void 0 : _TelemetryManager$Int6.lcwRuntimeId) ?? "",
47
- CurrentRequestId: ((_TelemetryManager$Int7 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int7 === void 0 ? void 0 : _TelemetryManager$Int7.currentRequestId) ?? "",
46
+ OrganizationUrl: ((_TelemetryManager$Int6 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int6 === void 0 ? void 0 : _TelemetryManager$Int6.orgUrl) ?? "",
47
+ LCWRuntimeId: ((_TelemetryManager$Int7 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int7 === void 0 ? void 0 : _TelemetryManager$Int7.lcwRuntimeId) ?? "",
48
+ CurrentRequestId: ((_TelemetryManager$Int8 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int8 === void 0 ? void 0 : _TelemetryManager$Int8.currentRequestId) ?? "",
48
49
  LogLevel: level
49
50
  };
50
51
  }
@@ -79,22 +80,22 @@ class TelemetryHelper {
79
80
  static conformToConfigValidationContract(level, input) {
80
81
  const payload = input.payload;
81
82
  return TelemetryHelper.populate(level, payload, event => {
82
- var _TelemetryManager$Int8, _TelemetryManager$Int9, _TelemetryManager$Int10;
83
+ var _TelemetryManager$Int9, _TelemetryManager$Int10, _TelemetryManager$Int11;
83
84
  event.Event = payload.Event;
84
85
  event.RequestId = payload.RequestId;
85
- event.LCWVersion = (_TelemetryManager$Int8 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int8 === void 0 ? void 0 : _TelemetryManager$Int8.environmentVersion;
86
+ event.LCWVersion = (_TelemetryManager$Int9 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int9 === void 0 ? void 0 : _TelemetryManager$Int9.environmentVersion;
86
87
  event.CloudType = payload.CloudType;
87
- event.Domain = (_TelemetryManager$Int9 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int9 === void 0 ? void 0 : _TelemetryManager$Int9.hostName;
88
+ event.Domain = (_TelemetryManager$Int10 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int10 === void 0 ? void 0 : _TelemetryManager$Int10.hostName;
88
89
  event.ElapsedTimeInMilliseconds = payload.ElapsedTimeInMilliseconds;
89
90
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
90
- event.Language = ((_TelemetryManager$Int10 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int10 === void 0 ? void 0 : _TelemetryManager$Int10.chatWidgetLocaleLCID) || "";
91
+ event.Language = ((_TelemetryManager$Int11 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int11 === void 0 ? void 0 : _TelemetryManager$Int11.chatWidgetLocaleLCID) || "";
91
92
  event.Description = payload.Data;
92
93
  });
93
94
  }
94
95
  static conformToLoadContract(level, input) {
95
96
  const payload = input.payload;
96
97
  return TelemetryHelper.populate(level, payload, event => {
97
- var _TelemetryManager$Int11, _TelemetryManager$Int12, _TelemetryManager$Int13;
98
+ var _TelemetryManager$Int12, _TelemetryManager$Int13, _TelemetryManager$Int14;
98
99
  event.Event = payload.Event;
99
100
  event.Description = payload.Description;
100
101
  event.ResourcePath = payload.ResourcePath;
@@ -103,17 +104,17 @@ class TelemetryHelper {
103
104
  event.ChatType = payload.ChatType;
104
105
  event.ElapsedTimeInMilliseconds = payload.ElapsedTimeInMilliseconds;
105
106
  event.ExceptionDetails = JSON.stringify(payload.ExceptionDetails);
106
- event.OCChatSDKVersion = ((_TelemetryManager$Int11 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int11 === void 0 ? void 0 : _TelemetryManager$Int11.OCChatSDKVersion) ?? "";
107
- event.OCChatWidgetVersion = ((_TelemetryManager$Int12 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int12 === void 0 ? void 0 : _TelemetryManager$Int12.chatWidgetVersion) ?? "";
108
- event.OCChatComponentsVersion = ((_TelemetryManager$Int13 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int13 === void 0 ? void 0 : _TelemetryManager$Int13.chatComponentVersion) ?? "";
107
+ event.OCChatSDKVersion = ((_TelemetryManager$Int12 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int12 === void 0 ? void 0 : _TelemetryManager$Int12.OCChatSDKVersion) ?? "";
108
+ event.OCChatWidgetVersion = ((_TelemetryManager$Int13 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int13 === void 0 ? void 0 : _TelemetryManager$Int13.chatWidgetVersion) ?? "";
109
+ event.OCChatComponentsVersion = ((_TelemetryManager$Int14 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int14 === void 0 ? void 0 : _TelemetryManager$Int14.chatComponentVersion) ?? "";
109
110
  });
110
111
  }
111
112
  static conformToIC3ClientContract(level, input) {
112
113
  const payload = input.payload;
113
114
  return TelemetryHelper.populate(level, payload, event => {
114
- var _TelemetryManager$Int14;
115
+ var _TelemetryManager$Int15;
115
116
  event.Event = payload.Event;
116
- event.IC3ClientVersion = (_TelemetryManager$Int14 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int14 === void 0 ? void 0 : _TelemetryManager$Int14.IC3ClientVersion;
117
+ event.IC3ClientVersion = (_TelemetryManager$Int15 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int15 === void 0 ? void 0 : _TelemetryManager$Int15.IC3ClientVersion;
117
118
  event.SubscriptionId = payload.SubscriptionId;
118
119
  event.EndpointUrl = payload.EndpointUrl;
119
120
  event.EndpointId = payload.EndpointId;
@@ -220,14 +221,14 @@ _defineProperty(TelemetryHelper, "logActionEvent", (logLevel, payload) => {
220
221
  _omnichannelChatComponents.BroadcastService.postMessage(telemetryEvent);
221
222
  });
222
223
  _defineProperty(TelemetryHelper, "logSDKEvent", (logLevel, payload) => {
223
- var _TelemetryManager$Int15;
224
+ var _TelemetryManager$Int16;
224
225
  const telemetryEvent = {
225
226
  eventName: (payload === null || payload === void 0 ? void 0 : payload.Event) ?? "",
226
227
  logLevel: logLevel,
227
228
  payload: {
228
229
  ...payload,
229
230
  TransactionId: (0, _utils.newGuid)(),
230
- RequestId: (_TelemetryManager$Int15 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int15 === void 0 ? void 0 : _TelemetryManager$Int15.currentRequestId
231
+ RequestId: (_TelemetryManager$Int16 = _TelemetryManager.TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int16 === void 0 ? void 0 : _TelemetryManager$Int16.currentRequestId
231
232
  }
232
233
  };
233
234
  _omnichannelChatComponents.BroadcastService.postMessage(telemetryEvent);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.setTabIndices = exports.setFocusOnSendBox = exports.setFocusOnElement = exports.preventFocusToMoveOutOfElement = exports.parseAdaptiveCardPayload = exports.newGuid = exports.isUndefinedOrEmpty = exports.isNullOrUndefined = exports.isNullOrEmptyString = exports.getWidgetEndChatEventName = exports.getWidgetCacheIdfromProps = exports.getWidgetCacheId = exports.getTimestampHourMinute = exports.getStateFromCache = exports.getLocaleDirection = exports.getIconText = exports.getDomain = exports.getConversationDetailsCall = exports.getBroadcastChannelName = exports.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.debounceLeading = exports.createTimer = exports.checkContactIdError = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
6
+ exports.setTabIndices = exports.setFocusOnSendBox = exports.setFocusOnElement = exports.preventFocusToMoveOutOfElement = exports.parseAdaptiveCardPayload = exports.newGuid = exports.isUndefinedOrEmpty = exports.isNullOrUndefined = exports.isNullOrEmptyString = exports.getWidgetEndChatEventName = exports.getWidgetCacheIdfromProps = exports.getWidgetCacheId = exports.getTimestampHourMinute = exports.getStateFromCache = exports.getLocaleDirection = exports.getIconText = exports.getDomain = exports.getConversationDetailsCall = exports.getBroadcastChannelName = exports.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.debounceLeading = exports.createTimer = exports.createFileAndDownload = exports.checkContactIdError = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
7
7
  var _Constants = require("./Constants");
8
8
  var _TelemetryConstants = require("./telemetry/TelemetryConstants");
9
9
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
@@ -416,4 +416,19 @@ const checkContactIdError = e => {
416
416
  _omnichannelChatComponents.BroadcastService.postMessage(contactIdNotFoundErrorEvent);
417
417
  }
418
418
  };
419
- exports.checkContactIdError = checkContactIdError;
419
+ exports.checkContactIdError = checkContactIdError;
420
+ const createFileAndDownload = (fileName, blobData, mimeType) => {
421
+ const aElement = document.createElement("a");
422
+ const blob = new Blob([blobData], {
423
+ type: mimeType
424
+ });
425
+ const objectUrl = URL.createObjectURL(blob);
426
+ aElement.setAttribute(_Constants.HtmlAttributeNames.href, objectUrl);
427
+ aElement.setAttribute(_Constants.HtmlAttributeNames.download, fileName);
428
+ aElement.setAttribute(_Constants.HtmlAttributeNames.ariaHidden, "true");
429
+ aElement.style.display = "none";
430
+ document.body.appendChild(aElement);
431
+ aElement.click();
432
+ document.body.removeChild(aElement);
433
+ };
434
+ exports.createFileAndDownload = createFileAndDownload;
@@ -22,7 +22,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
22
22
  const FooterStateful = props => {
23
23
  var _footerProps$controlP3, _footerProps$controlP4;
24
24
  const [state, dispatch] = (0, _useChatContextStore.default)();
25
- // hideFooterDisplay - the purpose of this is to keep the footer always "active",
25
+ // hideFooterDisplay - the purpose of this is to keep the footer always "active",
26
26
  // but hide it visually in certain states (e.g., loading state) and show in some other states (e.g. active state).
27
27
  // The reason for this approach is to make sure that state variables for audio notification work correctly after minimizing
28
28
  const {
@@ -42,7 +42,7 @@ const FooterStateful = props => {
42
42
  Event: _TelemetryConstants.TelemetryEvent.DownloadTranscriptButtonClicked,
43
43
  Description: "Download Transcript button clicked."
44
44
  });
45
- await (0, _DownloadTranscriptStateful.downloadTranscript)(chatSDK, downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.renderMarkDown, downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.bannerMessageOnError, downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.attachmentMessage, state);
45
+ await (0, _DownloadTranscriptStateful.downloadTranscript)(chatSDK, downloadTranscriptProps, state);
46
46
  } catch (ex) {
47
47
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
48
48
  Event: _TelemetryConstants.TelemetryEvent.DownloadTranscriptFailed,
@@ -9,7 +9,9 @@ var _NotificationScenarios = require("../../webchatcontainerstateful/webchatcont
9
9
  var _NotificationHandler = require("../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
10
10
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
11
11
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
12
+ var _createChatTranscript = _interopRequireDefault(require("../../../plugins/createChatTranscript"));
12
13
  var _dompurify = _interopRequireDefault(require("dompurify"));
14
+ var _utils = require("../../../common/utils");
13
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
16
  const processDisplayName = displayName => {
15
17
  // if displayname matches "teamsvisitor:<some alphanumeric string>", we replace it with "Customer"
@@ -161,7 +163,7 @@ const beautifyChatTranscripts = (chatTranscripts, renderMarkDown, attachmentMess
161
163
  };
162
164
 
163
165
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
164
- const downloadTranscript = async (chatSDK, renderMarkDown, bannerMessageOnError, attachmentMessage, state) => {
166
+ const downloadTranscript = async (chatSDK, downloadTranscriptProps, state) => {
165
167
  var _state$domainStates, _state$domainStates2, _state$domainStates2$;
166
168
  // Need to keep existing request id for scenarios when trnascript is downloaded after endchat
167
169
  const liveChatContext = {
@@ -174,18 +176,25 @@ const downloadTranscript = async (chatSDK, renderMarkDown, bannerMessageOnError,
174
176
  if (typeof data === _Constants.Constants.String) {
175
177
  data = JSON.parse(data);
176
178
  }
179
+ const {
180
+ bannerMessageOnError,
181
+ renderMarkDown,
182
+ attachmentMessage,
183
+ webChatTranscript
184
+ } = downloadTranscriptProps;
177
185
  if (data[_Constants.Constants.ChatMessagesJson] !== null && data[_Constants.Constants.ChatMessagesJson] !== undefined) {
178
- const chatTranscripts = window.btoa(encodeURIComponent(beautifyChatTranscripts(data[_Constants.Constants.ChatMessagesJson], renderMarkDown, attachmentMessage)));
179
- const byteCharacters = decodeURIComponent(window.atob(chatTranscripts));
180
- const blob = new Blob([byteCharacters], {
181
- "type": "text/html;charset=utf-8"
182
- });
183
- const link = document.createElement("a");
184
- document.body.appendChild(link);
185
- link.setAttribute(_Constants.HtmlAttributeNames.download, _Constants.TranscriptConstants.ChatTranscriptDownloadFile);
186
- link.setAttribute(_Constants.HtmlAttributeNames.href, URL.createObjectURL(blob));
187
- link.setAttribute(_Constants.HtmlAttributeNames.ariaHidden, "true");
188
- link.click();
186
+ const useWebChatTranscript = (0, _utils.isNullOrUndefined)(webChatTranscript === null || webChatTranscript === void 0 ? void 0 : webChatTranscript.disabled) || (webChatTranscript === null || webChatTranscript === void 0 ? void 0 : webChatTranscript.disabled) === false;
187
+ if (useWebChatTranscript) {
188
+ const transcriptOptions = {
189
+ ...webChatTranscript
190
+ };
191
+ await (0, _createChatTranscript.default)(data[_Constants.Constants.ChatMessagesJson], chatSDK, false, transcriptOptions);
192
+ } else {
193
+ // Legacy Transcript
194
+ const chatTranscripts = window.btoa(encodeURIComponent(beautifyChatTranscripts(data[_Constants.Constants.ChatMessagesJson], renderMarkDown, attachmentMessage)));
195
+ const byteCharacters = decodeURIComponent(window.atob(chatTranscripts));
196
+ (0, _utils.createFileAndDownload)(_Constants.TranscriptConstants.ChatTranscriptDownloadFile, byteCharacters, "text/html;charset=utf-8");
197
+ }
189
198
  } else {
190
199
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
191
200
  Event: _TelemetryConstants.TelemetryEvent.DownloadTranscriptResponseNullOrUndefined,
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
8
+ const createDownloadTranscriptProps = (downloadTranscriptProps, webChatStyles, webChatContainerProps) => {
9
+ const disableNewLineMarkdownSupport = (webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : webChatContainerProps.disableNewLineMarkdownSupport) ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.disableNewLineMarkdownSupport;
10
+ const disableMarkdownMessageFormatting = (webChatContainerProps === null || webChatContainerProps === void 0 ? void 0 : webChatContainerProps.disableMarkdownMessageFormatting) ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.disableMarkdownMessageFormatting;
11
+ const props = {
12
+ ...downloadTranscriptProps,
13
+ webChatTranscript: {
14
+ ...(downloadTranscriptProps === null || downloadTranscriptProps === void 0 ? void 0 : downloadTranscriptProps.webChatTranscript),
15
+ disableNewLineMarkdownSupport,
16
+ disableMarkdownMessageFormatting,
17
+ transcriptBackgroundColor: webChatStyles === null || webChatStyles === void 0 ? void 0 : webChatStyles.backgroundColor,
18
+ agentAvatarBackgroundColor: webChatStyles === null || webChatStyles === void 0 ? void 0 : webChatStyles.bubbleBackground,
19
+ agentAvatarFontColor: webChatStyles === null || webChatStyles === void 0 ? void 0 : webChatStyles.bubbleTextColor,
20
+ customerAvatarBackgroundColor: webChatStyles === null || webChatStyles === void 0 ? void 0 : webChatStyles.bubbleFromUserBackground,
21
+ customerAvatarFontColor: webChatStyles === null || webChatStyles === void 0 ? void 0 : webChatStyles.bubbleFromUserTextColor
22
+ }
23
+ };
24
+ return props;
25
+ };
26
+ var _default = createDownloadTranscriptProps;
27
+ exports.default = _default;
@@ -601,7 +601,15 @@ const dummyDefaultProps = {
601
601
  downloadTranscriptProps: {
602
602
  bannerMessageOnError: "Download transcript failed.",
603
603
  renderMarkDown: undefined,
604
- attachmentMessage: "The following attachment was uploaded during the conversation:"
604
+ attachmentMessage: "The following attachment was uploaded during the conversation:",
605
+ webChatTranscript: {
606
+ disabled: false,
607
+ fileName: "transcript",
608
+ pageTitle: "Customer Transcript",
609
+ attachmentMessage: "The following attachment was uploaded during the conversation: ",
610
+ networkOnlineMessage: "Connection restored. Please refresh the page",
611
+ networkOfflineMessage: "Network Error. Please make sure you are connected to the internet."
612
+ }
605
613
  },
606
614
  emailTranscriptPane: {
607
615
  componentOverrides: {
@@ -20,6 +20,7 @@ var _CallingContainerStateful = _interopRequireDefault(require("../../callingcon
20
20
  var _ChatButtonStateful = _interopRequireDefault(require("../../chatbuttonstateful/ChatButtonStateful"));
21
21
  var _ConfirmationPaneStateful = _interopRequireDefault(require("../../confirmationpanestateful/ConfirmationPaneStateful"));
22
22
  var _ConversationState = require("../../../contexts/common/ConversationState");
23
+ var _createDownloadTranscriptProps = _interopRequireDefault(require("../common/createDownloadTranscriptProps"));
23
24
  var _DataStoreManager = require("../../../common/contextDataStore/DataStoreManager");
24
25
  var _EmailTranscriptPaneStateful = _interopRequireDefault(require("../../emailtranscriptpanestateful/EmailTranscriptPaneStateful"));
25
26
  var _HeaderStateful = _interopRequireDefault(require("../../headerstateful/HeaderStateful"));
@@ -57,7 +58,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
57
58
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
58
59
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
59
60
  const LiveChatWidgetStateful = props => {
60
- var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _state$appStates7, _props$webChatContain5, _state$appStates14, _props$webChatContain6, _props$styleProps2, _props$controlProps11, _props$controlProps12, _props$componentOverr, _props$controlProps13, _props$componentOverr2, _props$controlProps14, _props$componentOverr3, _props$controlProps15, _props$componentOverr4, _props$controlProps16, _props$componentOverr5, _props$controlProps17, _props$componentOverr6, _props$controlProps18, _props$componentOverr7, _props$controlProps19, _props$controlProps20, _props$componentOverr8, _props$controlProps21, _props$componentOverr9, _props$controlProps22, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
61
+ var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _state$appStates7, _props$webChatContain5, _state$appStates14, _props$webChatContain6, _livechatProps$webCha, _livechatProps$styleP, _livechatProps$contro, _livechatProps$contro2, _livechatProps$compon, _livechatProps$contro3, _livechatProps$compon2, _livechatProps$contro4, _livechatProps$compon3, _livechatProps$contro5, _livechatProps$compon4, _livechatProps$contro6, _livechatProps$compon5, _livechatProps$contro7, _livechatProps$compon6, _livechatProps$contro8, _livechatProps$compon7, _livechatProps$contro9, _livechatProps$contro10, _livechatProps$compon8, _livechatProps$contro11, _livechatProps$compon9, _livechatProps$contro12, _livechatProps$compon10, _livechatProps$compon11, _livechatProps$compon12;
61
62
  const [state, dispatch] = (0, _useChatContextStore.default)();
62
63
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
64
  const [adapter, setAdapter] = (0, _useChatAdapterStore.default)();
@@ -553,12 +554,11 @@ const LiveChatWidgetStateful = props => {
553
554
  if (state.appStates.conversationState === ConversationState.Active &&
554
555
  props.controlProps?.hideStartChatButton === true) {
555
556
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
556
-
557
- window.onbeforeunload = function () {
557
+ window.onbeforeunload = function () {
558
558
  const prompt = Constants.BrowserUnloadConfirmationMessage;
559
559
  return prompt;
560
560
  };
561
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
561
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
562
562
  window.onunload = function () {
563
563
  initiateEndChatOnBrowserUnload();
564
564
  };
@@ -609,56 +609,64 @@ const LiveChatWidgetStateful = props => {
609
609
  const confirmationPaneProps = (0, _initConfirmationPropsComposer.initConfirmationPropsComposer)(props);
610
610
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
611
611
  const prepareEndChatRelay = () => (0, _endChat.prepareEndChat)(props, chatSDK, state, dispatch, setAdapter, setWebChatStyles, adapter, uwid.current);
612
+ const downloadTranscriptProps = (0, _createDownloadTranscriptProps.default)(props.downloadTranscriptProps, {
613
+ ...(_defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps === null || _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps === void 0 ? void 0 : _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.webChatStyles),
614
+ ...((_props$webChatContain6 = props.webChatContainerProps) === null || _props$webChatContain6 === void 0 ? void 0 : _props$webChatContain6.webChatStyles)
615
+ }, props.webChatContainerProps);
616
+ const livechatProps = {
617
+ ...props,
618
+ downloadTranscriptProps
619
+ };
612
620
  return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("style", null, `
613
621
  ::-webkit-scrollbar {
614
622
  width: ${scrollbarProps.width};
615
623
  }
616
-
624
+
617
625
  ::-webkit-scrollbar-track {
618
626
  background: ${scrollbarProps.trackBackgroundColor};
619
627
  }
620
-
628
+
621
629
  ::-webkit-scrollbar-thumb {
622
630
  background: ${scrollbarProps.thumbBackgroundColor};
623
631
  border-radius: ${scrollbarProps.thumbBorderRadius};
624
632
  }
625
-
633
+
626
634
  ::-webkit-scrollbar-thumb:hover {
627
635
  background: ${scrollbarProps.thumbHoverColor};
628
- }
636
+ }
629
637
  `), /*#__PURE__*/_react2.default.createElement(Composer, _extends({}, webChatProps, {
630
638
  styleOptions: webChatStyles,
631
- directLine: ((_props$webChatContain6 = props.webChatContainerProps) === null || _props$webChatContain6 === void 0 ? void 0 : _props$webChatContain6.directLine) ?? adapter ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.directLine
639
+ directLine: ((_livechatProps$webCha = livechatProps.webChatContainerProps) === null || _livechatProps$webCha === void 0 ? void 0 : _livechatProps$webCha.directLine) ?? adapter ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.directLine
632
640
  }), /*#__PURE__*/_react2.default.createElement(_react.Stack, {
633
641
  id: widgetElementId,
634
642
  styles: generalStyles,
635
- className: (_props$styleProps2 = props.styleProps) === null || _props$styleProps2 === void 0 ? void 0 : _props$styleProps2.className
636
- }, !((_props$controlProps11 = props.controlProps) !== null && _props$controlProps11 !== void 0 && _props$controlProps11.hideChatButton) && !((_props$controlProps12 = props.controlProps) !== null && _props$controlProps12 !== void 0 && _props$controlProps12.hideStartChatButton) && (0, _componentController.shouldShowChatButton)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr = props.componentOverrides) === null || _props$componentOverr === void 0 ? void 0 : _props$componentOverr.chatButton) || /*#__PURE__*/_react2.default.createElement(_ChatButtonStateful.default, {
637
- buttonProps: props.chatButtonProps,
638
- outOfOfficeButtonProps: props.outOfOfficeChatButtonProps,
643
+ className: (_livechatProps$styleP = livechatProps.styleProps) === null || _livechatProps$styleP === void 0 ? void 0 : _livechatProps$styleP.className
644
+ }, !((_livechatProps$contro = livechatProps.controlProps) !== null && _livechatProps$contro !== void 0 && _livechatProps$contro.hideChatButton) && !((_livechatProps$contro2 = livechatProps.controlProps) !== null && _livechatProps$contro2 !== void 0 && _livechatProps$contro2.hideStartChatButton) && (0, _componentController.shouldShowChatButton)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon = livechatProps.componentOverrides) === null || _livechatProps$compon === void 0 ? void 0 : _livechatProps$compon.chatButton) || /*#__PURE__*/_react2.default.createElement(_ChatButtonStateful.default, {
645
+ buttonProps: livechatProps.chatButtonProps,
646
+ outOfOfficeButtonProps: livechatProps.outOfOfficeChatButtonProps,
639
647
  startChat: prepareStartChatRelay
640
- })), !((_props$controlProps13 = props.controlProps) !== null && _props$controlProps13 !== void 0 && _props$controlProps13.hideProactiveChatPane) && (0, _componentController.shouldShowProactiveChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr2 = props.componentOverrides) === null || _props$componentOverr2 === void 0 ? void 0 : _props$componentOverr2.proactiveChatPane) || /*#__PURE__*/_react2.default.createElement(_ProactiveChatPaneStateful.default, {
641
- proactiveChatProps: props.proactiveChatPaneProps,
648
+ })), !((_livechatProps$contro3 = livechatProps.controlProps) !== null && _livechatProps$contro3 !== void 0 && _livechatProps$contro3.hideProactiveChatPane) && (0, _componentController.shouldShowProactiveChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon2 = livechatProps.componentOverrides) === null || _livechatProps$compon2 === void 0 ? void 0 : _livechatProps$compon2.proactiveChatPane) || /*#__PURE__*/_react2.default.createElement(_ProactiveChatPaneStateful.default, {
649
+ proactiveChatProps: livechatProps.proactiveChatPaneProps,
642
650
  startChat: prepareStartChatRelay
643
- })), !((_props$controlProps14 = props.controlProps) !== null && _props$controlProps14 !== void 0 && _props$controlProps14.hideHeader) && (0, _componentController.shouldShowHeader)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr3 = props.componentOverrides) === null || _props$componentOverr3 === void 0 ? void 0 : _props$componentOverr3.header) || /*#__PURE__*/_react2.default.createElement(_HeaderStateful.default, {
644
- headerProps: props.headerProps,
645
- outOfOfficeHeaderProps: props.outOfOfficeHeaderProps,
651
+ })), !((_livechatProps$contro4 = livechatProps.controlProps) !== null && _livechatProps$contro4 !== void 0 && _livechatProps$contro4.hideHeader) && (0, _componentController.shouldShowHeader)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon3 = livechatProps.componentOverrides) === null || _livechatProps$compon3 === void 0 ? void 0 : _livechatProps$compon3.header) || /*#__PURE__*/_react2.default.createElement(_HeaderStateful.default, {
652
+ headerProps: livechatProps.headerProps,
653
+ outOfOfficeHeaderProps: livechatProps.outOfOfficeHeaderProps,
646
654
  endChat: endChatRelay
647
- })), !((_props$controlProps15 = props.controlProps) !== null && _props$controlProps15 !== void 0 && _props$controlProps15.hideLoadingPane) && (0, _componentController.shouldShowLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr4 = props.componentOverrides) === null || _props$componentOverr4 === void 0 ? void 0 : _props$componentOverr4.loadingPane) || /*#__PURE__*/_react2.default.createElement(_LoadingPaneStateful.default, {
648
- loadingPaneProps: props.loadingPaneProps,
649
- startChatErrorPaneProps: props.startChatErrorPaneProps
650
- })), !((_props$controlProps16 = props.controlProps) !== null && _props$controlProps16 !== void 0 && _props$controlProps16.hideOutOfOfficeHoursPane) && (0, _componentController.shouldShowOutOfOfficeHoursPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr5 = props.componentOverrides) === null || _props$componentOverr5 === void 0 ? void 0 : _props$componentOverr5.outOfOfficeHoursPane) || /*#__PURE__*/_react2.default.createElement(_OOOHPaneStateful.default, props.outOfOfficeHoursPaneProps)), !((_props$controlProps17 = props.controlProps) !== null && _props$controlProps17 !== void 0 && _props$controlProps17.hideReconnectChatPane) && (0, _componentController.shouldShowReconnectChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr6 = props.componentOverrides) === null || _props$componentOverr6 === void 0 ? void 0 : _props$componentOverr6.reconnectChatPane) || /*#__PURE__*/_react2.default.createElement(_ReconnectChatPaneStateful.default, {
651
- reconnectChatProps: props.reconnectChatPaneProps,
655
+ })), !((_livechatProps$contro5 = livechatProps.controlProps) !== null && _livechatProps$contro5 !== void 0 && _livechatProps$contro5.hideLoadingPane) && (0, _componentController.shouldShowLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon4 = livechatProps.componentOverrides) === null || _livechatProps$compon4 === void 0 ? void 0 : _livechatProps$compon4.loadingPane) || /*#__PURE__*/_react2.default.createElement(_LoadingPaneStateful.default, {
656
+ loadingPaneProps: livechatProps.loadingPaneProps,
657
+ startChatErrorPaneProps: livechatProps.startChatErrorPaneProps
658
+ })), !((_livechatProps$contro6 = livechatProps.controlProps) !== null && _livechatProps$contro6 !== void 0 && _livechatProps$contro6.hideOutOfOfficeHoursPane) && (0, _componentController.shouldShowOutOfOfficeHoursPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon5 = livechatProps.componentOverrides) === null || _livechatProps$compon5 === void 0 ? void 0 : _livechatProps$compon5.outOfOfficeHoursPane) || /*#__PURE__*/_react2.default.createElement(_OOOHPaneStateful.default, livechatProps.outOfOfficeHoursPaneProps)), !((_livechatProps$contro7 = livechatProps.controlProps) !== null && _livechatProps$contro7 !== void 0 && _livechatProps$contro7.hideReconnectChatPane) && (0, _componentController.shouldShowReconnectChatPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon6 = livechatProps.componentOverrides) === null || _livechatProps$compon6 === void 0 ? void 0 : _livechatProps$compon6.reconnectChatPane) || /*#__PURE__*/_react2.default.createElement(_ReconnectChatPaneStateful.default, {
659
+ reconnectChatProps: livechatProps.reconnectChatPaneProps,
652
660
  initStartChat: initStartChatRelay
653
- })), !((_props$controlProps18 = props.controlProps) !== null && _props$controlProps18 !== void 0 && _props$controlProps18.hidePreChatSurveyPane) && (0, _componentController.shouldShowPreChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr7 = props.componentOverrides) === null || _props$componentOverr7 === void 0 ? void 0 : _props$componentOverr7.preChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PreChatSurveyPaneStateful.default, {
654
- surveyProps: props.preChatSurveyPaneProps,
661
+ })), !((_livechatProps$contro8 = livechatProps.controlProps) !== null && _livechatProps$contro8 !== void 0 && _livechatProps$contro8.hidePreChatSurveyPane) && (0, _componentController.shouldShowPreChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon7 = livechatProps.componentOverrides) === null || _livechatProps$compon7 === void 0 ? void 0 : _livechatProps$compon7.preChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PreChatSurveyPaneStateful.default, {
662
+ surveyProps: livechatProps.preChatSurveyPaneProps,
655
663
  initStartChat: initStartChatRelay
656
- })), !((_props$controlProps19 = props.controlProps) !== null && _props$controlProps19 !== void 0 && _props$controlProps19.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
664
+ })), !((_livechatProps$contro9 = livechatProps.controlProps) !== null && _livechatProps$contro9 !== void 0 && _livechatProps$contro9.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
657
665
  voiceVideoCallingSdk: voiceVideoCallingSDK
658
- }, props.callingContainerProps)), !((_props$controlProps20 = props.controlProps) !== null && _props$controlProps20 !== void 0 && _props$controlProps20.hideWebChatContainer) && (0, _componentController.shouldShowWebChatContainer)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr8 = props.componentOverrides) === null || _props$componentOverr8 === void 0 ? void 0 : _props$componentOverr8.webChatContainer) || /*#__PURE__*/_react2.default.createElement(_WebChatContainerStateful.default, props.webChatContainerProps)), !((_props$controlProps21 = props.controlProps) !== null && _props$controlProps21 !== void 0 && _props$controlProps21.hideConfirmationPane) && (0, _componentController.shouldShowConfirmationPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr9 = props.componentOverrides) === null || _props$componentOverr9 === void 0 ? void 0 : _props$componentOverr9.confirmationPane) || /*#__PURE__*/_react2.default.createElement(_ConfirmationPaneStateful.default, _extends({}, confirmationPaneProps, {
666
+ }, livechatProps.callingContainerProps)), !((_livechatProps$contro10 = livechatProps.controlProps) !== null && _livechatProps$contro10 !== void 0 && _livechatProps$contro10.hideWebChatContainer) && (0, _componentController.shouldShowWebChatContainer)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon8 = livechatProps.componentOverrides) === null || _livechatProps$compon8 === void 0 ? void 0 : _livechatProps$compon8.webChatContainer) || /*#__PURE__*/_react2.default.createElement(_WebChatContainerStateful.default, livechatProps.webChatContainerProps)), !((_livechatProps$contro11 = livechatProps.controlProps) !== null && _livechatProps$contro11 !== void 0 && _livechatProps$contro11.hideConfirmationPane) && (0, _componentController.shouldShowConfirmationPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon9 = livechatProps.componentOverrides) === null || _livechatProps$compon9 === void 0 ? void 0 : _livechatProps$compon9.confirmationPane) || /*#__PURE__*/_react2.default.createElement(_ConfirmationPaneStateful.default, _extends({}, confirmationPaneProps, {
659
667
  setPostChatContext: setPostChatContextRelay,
660
668
  prepareEndChat: prepareEndChatRelay
661
- }))), !((_props$controlProps22 = props.controlProps) !== null && _props$controlProps22 !== void 0 && _props$controlProps22.hidePostChatLoadingPane) && (0, _componentController.shouldShowPostChatLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr10 = props.componentOverrides) === null || _props$componentOverr10 === void 0 ? void 0 : _props$componentOverr10.postChatLoadingPane) || /*#__PURE__*/_react2.default.createElement(_PostChatLoadingPaneStateful.default, props.postChatLoadingPaneProps)), (0, _componentController.shouldShowPostChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr11 = props.componentOverrides) === null || _props$componentOverr11 === void 0 ? void 0 : _props$componentOverr11.postChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PostChatSurveyPaneStateful.default, _extends({}, props.postChatSurveyPaneProps, props.chatSDK))), (0, _createFooter.createFooter)(props, state), (0, _componentController.shouldShowEmailTranscriptPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr12 = props.componentOverrides) === null || _props$componentOverr12 === void 0 ? void 0 : _props$componentOverr12.emailTranscriptPane) || /*#__PURE__*/_react2.default.createElement(_EmailTranscriptPaneStateful.default, props.emailTranscriptPane)))));
669
+ }))), !((_livechatProps$contro12 = livechatProps.controlProps) !== null && _livechatProps$contro12 !== void 0 && _livechatProps$contro12.hidePostChatLoadingPane) && (0, _componentController.shouldShowPostChatLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon10 = livechatProps.componentOverrides) === null || _livechatProps$compon10 === void 0 ? void 0 : _livechatProps$compon10.postChatLoadingPane) || /*#__PURE__*/_react2.default.createElement(_PostChatLoadingPaneStateful.default, livechatProps.postChatLoadingPaneProps)), (0, _componentController.shouldShowPostChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon11 = livechatProps.componentOverrides) === null || _livechatProps$compon11 === void 0 ? void 0 : _livechatProps$compon11.postChatSurveyPane) || /*#__PURE__*/_react2.default.createElement(_PostChatSurveyPaneStateful.default, _extends({}, livechatProps.postChatSurveyPaneProps, livechatProps.chatSDK))), (0, _createFooter.createFooter)(livechatProps, state), (0, _componentController.shouldShowEmailTranscriptPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_livechatProps$compon12 = livechatProps.componentOverrides) === null || _livechatProps$compon12 === void 0 ? void 0 : _livechatProps$compon12.emailTranscriptPane) || /*#__PURE__*/_react2.default.createElement(_EmailTranscriptPaneStateful.default, livechatProps.emailTranscriptPane)))));
662
670
  };
663
671
  exports.LiveChatWidgetStateful = LiveChatWidgetStateful;
664
672
  var _default = LiveChatWidgetStateful;
@@ -121,6 +121,12 @@ const PreChatSurveyPaneStateful = props => {
121
121
  const current = children[index];
122
122
  if (current && current.className == _Constants.HtmlAttributeNames.adaptiveCardTextBlockClassName) {
123
123
  value = current.innerHTML;
124
+ if (current.childElementCount > 0) {
125
+ const paragraph = current.children[0];
126
+ if (paragraph.tagName.toLowerCase() == _Constants.HtmlAttributeNames.pTagName) {
127
+ value = paragraph.innerHTML;
128
+ }
129
+ }
124
130
  }
125
131
  if (current && current.tagName.toLowerCase() == _Constants.HtmlAttributeNames.div && current.childElementCount > 0) {
126
132
  const input = current.children[0].children;
@@ -23,6 +23,7 @@ var _defaultUserMessageBoxStyles = require("./webchatcontroller/middlewares/rend
23
23
  var _defaultWebChatContainerStatefulProps = require("./common/defaultProps/defaultWebChatContainerStatefulProps");
24
24
  var _utils = require("../../common/utils");
25
25
  var _ = require("../..");
26
+ var _defaultSentMessageAnchorStyles = require("./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSentMessageAnchorStyles");
26
27
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
29
  const broadcastChannelMessageEvent = "message";
@@ -51,7 +52,7 @@ const createMagicCodeSuccessResponse = signin => {
51
52
  };
52
53
  };
53
54
  const WebChatContainerStateful = props => {
54
- var _props$adaptiveCardSt, _props$renderingMiddl, _props$renderingMiddl2, _props$renderingMiddl3, _props$renderingMiddl4, _props$adaptiveCardSt2, _props$adaptiveCardSt3, _props$adaptiveCardSt4, _props$renderingMiddl5, _props$renderingMiddl6, _props$renderingMiddl7, _props$renderingMiddl8;
55
+ var _props$adaptiveCardSt, _props$renderingMiddl, _props$renderingMiddl2, _props$renderingMiddl3, _props$renderingMiddl4, _props$adaptiveCardSt2, _props$adaptiveCardSt3, _props$adaptiveCardSt4, _props$renderingMiddl5, _props$renderingMiddl6, _props$renderingMiddl7, _props$renderingMiddl8, _props$renderingMiddl9, _props$renderingMiddl10;
55
56
  const {
56
57
  BasicWebChat
57
58
  } = _botframeworkWebchat.Components;
@@ -154,7 +155,14 @@ const WebChatContainerStateful = props => {
154
155
  .ms_lcw_webchat_received_message a:hover,
155
156
  .ms_lcw_webchat_received_message a:active {
156
157
  color: ${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl7 = props.renderingMiddlewareProps) === null || _props$renderingMiddl7 === void 0 ? void 0 : (_props$renderingMiddl8 = _props$renderingMiddl7.receivedMessageAnchorStyles) === null || _props$renderingMiddl8 === void 0 ? void 0 : _props$renderingMiddl8.color) ?? (_defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles === null || _defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles === void 0 ? void 0 : _defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles.color)};
157
- } `), /*#__PURE__*/_react2.default.createElement(_react.Stack, {
158
+ }
159
+ .ms_lcw_webchat_sent_message a:link,
160
+ .ms_lcw_webchat_sent_message a:visited,
161
+ .ms_lcw_webchat_sent_message a:hover,
162
+ .ms_lcw_webchat_sent_message a:active {
163
+ color: ${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl9 = props.renderingMiddlewareProps) === null || _props$renderingMiddl9 === void 0 ? void 0 : (_props$renderingMiddl10 = _props$renderingMiddl9.sentMessageAnchorStyles) === null || _props$renderingMiddl10 === void 0 ? void 0 : _props$renderingMiddl10.color) ?? (_defaultSentMessageAnchorStyles.defaultSentMessageAnchorStyles === null || _defaultSentMessageAnchorStyles.defaultSentMessageAnchorStyles === void 0 ? void 0 : _defaultSentMessageAnchorStyles.defaultSentMessageAnchorStyles.color)};
164
+ }
165
+ `), /*#__PURE__*/_react2.default.createElement(_react.Stack, {
158
166
  styles: containerStyles
159
167
  }, /*#__PURE__*/_react2.default.createElement(BasicWebChat, null)));
160
168
  };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultSentMessageAnchorStyles = void 0;
7
+ const defaultSentMessageAnchorStyles = {
8
+ color: "blue"
9
+ };
10
+ exports.defaultSentMessageAnchorStyles = defaultSentMessageAnchorStyles;