@microsoft/omnichannel-chat-widget 0.1.0-main.a2e5071 → 0.1.0-main.a3902df

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 (101) hide show
  1. package/lib/cjs/assets/Icons.js +4 -2
  2. package/lib/cjs/common/Constants.js +7 -3
  3. package/lib/cjs/common/KeyCodes.js +3 -1
  4. package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -1
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +5 -3
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +15 -6
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +4 -0
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +5 -2
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +3 -1
  10. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +1 -1
  11. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +1 -1
  12. package/lib/cjs/components/headerstateful/HeaderStateful.js +6 -4
  13. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +3 -1
  14. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -1
  15. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +3 -1
  16. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +3 -1
  17. package/lib/cjs/components/livechatwidget/common/Deferred.js +3 -1
  18. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +64 -13
  19. package/lib/cjs/components/livechatwidget/common/endChat.js +20 -2
  20. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +13 -19
  21. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +4 -7
  22. package/lib/cjs/components/livechatwidget/common/startChat.js +79 -19
  23. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +38 -37
  24. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +15 -2
  25. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  26. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +1 -1
  27. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  28. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +3 -1
  29. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -1
  30. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -0
  31. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -1
  32. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -1
  33. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +1 -3
  34. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  35. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +1 -1
  36. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +1 -1
  37. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +5 -6
  38. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +2 -14
  39. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  40. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +29 -28
  41. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +5 -2
  42. package/lib/cjs/contexts/createReducer.js +8 -0
  43. package/lib/cjs/plugins/newMessageEventHandler.js +4 -0
  44. package/lib/esm/assets/Icons.js +2 -1
  45. package/lib/esm/common/Constants.js +7 -3
  46. package/lib/esm/common/KeyCodes.js +3 -1
  47. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -1
  48. package/lib/esm/common/storage/default/defaultCacheManager.js +5 -3
  49. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +15 -6
  50. package/lib/esm/common/telemetry/TelemetryConstants.js +4 -0
  51. package/lib/esm/common/telemetry/TelemetryHelper.js +5 -2
  52. package/lib/esm/common/telemetry/TelemetryManager.js +3 -1
  53. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +1 -1
  54. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +1 -1
  55. package/lib/esm/components/headerstateful/HeaderStateful.js +6 -4
  56. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +3 -1
  57. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -1
  58. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +3 -1
  59. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +3 -1
  60. package/lib/esm/components/livechatwidget/common/Deferred.js +3 -1
  61. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +64 -13
  62. package/lib/esm/components/livechatwidget/common/endChat.js +20 -2
  63. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +13 -19
  64. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +5 -7
  65. package/lib/esm/components/livechatwidget/common/startChat.js +79 -19
  66. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +39 -38
  67. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +15 -2
  68. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  69. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +1 -1
  70. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  71. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +3 -1
  72. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -1
  73. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -0
  74. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -1
  75. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -1
  76. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +1 -3
  77. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  78. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +1 -1
  79. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +1 -1
  80. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +5 -6
  81. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +2 -14
  82. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  83. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +29 -28
  84. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +5 -2
  85. package/lib/esm/contexts/createReducer.js +8 -0
  86. package/lib/esm/plugins/newMessageEventHandler.js +4 -0
  87. package/lib/types/assets/Icons.d.ts +1 -0
  88. package/lib/types/common/Constants.d.ts +2 -0
  89. package/lib/types/common/storage/default/defaultCacheManager.d.ts +1 -1
  90. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +1 -1
  91. package/lib/types/common/telemetry/TelemetryConstants.d.ts +5 -1
  92. package/lib/types/common/telemetry/definitions/Contracts.d.ts +2 -0
  93. package/lib/types/common/telemetry/definitions/Payload.d.ts +1 -0
  94. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +4 -0
  95. package/lib/types/components/livechatwidget/common/startChat.d.ts +3 -3
  96. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +2 -0
  97. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  98. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  99. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -0
  100. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +29 -28
  101. package/package.json +3 -3
@@ -68,25 +68,19 @@ const initWebChatComposer = (props, chatSDK, state, dispatch, setWebChatStyles)
68
68
  };
69
69
  });
70
70
  }
71
- if (isPostChatEnabled === "true") {
72
- if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed) {
73
- _WebChatStoreLoader.WebChatStoreLoader.store = null;
74
- dispatch({
75
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
76
- payload: _ConversationState.ConversationState.PostchatLoading
77
- });
78
- await (0, _utils.addDelayInMs)(_Constants.Constants.PostChatLoadingDurationInMs);
79
- const loadPostChatEvent = {
80
- eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
81
- };
82
- _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
83
- } else if (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Link) {
84
- dispatch({
85
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
86
- payload: _ConversationState.ConversationState.InActive
87
- });
88
- }
89
- } else {
71
+ if (isPostChatEnabled === "true" && postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed && state.appStates.conversationState === _ConversationState.ConversationState.Active) {
72
+ _WebChatStoreLoader.WebChatStoreLoader.store = null;
73
+ dispatch({
74
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
75
+ payload: _ConversationState.ConversationState.PostchatLoading
76
+ });
77
+ await (0, _utils.addDelayInMs)(_Constants.Constants.PostChatLoadingDurationInMs);
78
+ const loadPostChatEvent = {
79
+ eventName: _TelemetryConstants.BroadcastEvent.LoadPostChatSurvey
80
+ };
81
+ _omnichannelChatComponents.BroadcastService.postMessage(loadPostChatEvent);
82
+ }
83
+ if (state.appStates.conversationState === _ConversationState.ConversationState.Active) {
90
84
  dispatch({
91
85
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
92
86
  payload: _ConversationState.ConversationState.InActive
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.isReconnectEnabled = exports.handleChatReconnect = exports.getChatReconnectContext = void 0;
7
7
  require("regenerator-runtime/runtime");
8
8
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
+ var _authHelper = require("./authHelper");
10
+ var _utils = require("../../../common/utils");
9
11
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
10
12
  var _ConversationState = require("../../../contexts/common/ConversationState");
11
13
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
12
14
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
13
- var _authHelper = require("./authHelper");
14
- var _utils = require("../../../common/utils");
15
15
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
16
  const handleChatReconnect = async (chatSDK, props, dispatch, setAdapter, initStartChat, state) => {
17
17
  var _props$chatConfig, _props$chatConfig$Liv;
@@ -84,10 +84,7 @@ const getChatReconnectContext = async (chatSDK, chatConfig, props, isAuthenticat
84
84
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
85
  exports.getChatReconnectContext = getChatReconnectContext;
86
86
  const setReconnectIdAndStartChat = async (isAuthenticatedChat, chatSDK, props, dispatch, setAdapter, reconnectId, initStartChat) => {
87
- if (isAuthenticatedChat) {
88
- // Get auth token for for getting chat reconnect context
89
- await (0, _authHelper.handleAuthentication)(chatSDK, props.chatConfig, props.getAuthToken);
90
- } else {
87
+ if (!isAuthenticatedChat) {
91
88
  const startUnauthenticatedReconnectChat = {
92
89
  eventName: _TelemetryConstants.BroadcastEvent.StartUnauthenticatedReconnectChat
93
90
  };
@@ -104,7 +101,7 @@ const setReconnectIdAndStartChat = async (isAuthenticatedChat, chatSDK, props, d
104
101
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
105
102
  payload: _ConversationState.ConversationState.Loading
106
103
  });
107
- await initStartChat(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams);
104
+ await initStartChat(chatSDK, dispatch, setAdapter, props, optionalParams);
108
105
  };
109
106
  const redirectPage = (redirectURL, redirectInSameWindow) => {
110
107
  const redirectPageRequest = {
@@ -4,8 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.setPreChatAndInitiateChat = exports.prepareStartChat = exports.initStartChat = exports.checkIfConversationStillValid = void 0;
7
- var _Constants = require("../../../common/Constants");
8
7
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
8
+ var _Constants = require("../../../common/Constants");
9
+ var _utils = require("../../../common/utils");
10
+ var _authHelper = require("./authHelper");
11
+ var _ActivityStreamHandler = require("./ActivityStreamHandler");
12
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
9
13
  var _ConversationState = require("../../../contexts/common/ConversationState");
10
14
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
11
15
  var _NotificationHandler = require("../../webchatcontainerstateful/webchatcontroller/notification/NotificationHandler");
@@ -14,13 +18,9 @@ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
14
18
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
15
19
  var _createAdapter = require("./createAdapter");
16
20
  var _newMessageEventHandler = require("../../../plugins/newMessageEventHandler");
17
- var _utils = require("../../../common/utils");
21
+ var _reconnectChatHelper = require("./reconnectChatHelper");
18
22
  var _setPostChatContextAndLoadSurvey = require("./setPostChatContextAndLoadSurvey");
19
23
  var _updateSessionDataForTelemetry = require("./updateSessionDataForTelemetry");
20
- var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
21
- var _ActivityStreamHandler = require("./ActivityStreamHandler");
22
- var _authHelper = require("./authHelper");
23
- var _reconnectChatHelper = require("./reconnectChatHelper");
24
24
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
25
  let optionalParams = {};
26
26
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -84,12 +84,20 @@ const setPreChatAndInitiateChat = async (chatSDK, dispatch, setAdapter, isProact
84
84
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
85
85
  payload: _ConversationState.ConversationState.Loading
86
86
  });
87
- await initStartChat(chatSDK, props === null || props === void 0 ? void 0 : props.chatConfig, props === null || props === void 0 ? void 0 : props.getAuthToken, dispatch, setAdapter);
87
+ const optionalParams = {
88
+ isProactiveChat
89
+ };
90
+ await initStartChat(chatSDK, dispatch, setAdapter, props, optionalParams);
88
91
  };
89
92
 
90
93
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
91
94
  exports.setPreChatAndInitiateChat = setPreChatAndInitiateChat;
92
- const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, params, persistedState) => {
95
+ const initStartChat = async (chatSDK, dispatch, setAdapter, props, params, persistedState) => {
96
+ var _props$controlProps2;
97
+ let isStartChatSuccessful = false;
98
+ const chatConfig = props === null || props === void 0 ? void 0 : props.chatConfig;
99
+ const getAuthToken = props === null || props === void 0 ? void 0 : props.getAuthToken;
100
+ const hideErrorUIPane = props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.hideErrorUIPane;
93
101
  try {
94
102
  var _newAdapter$activity$, _TelemetryTimers$Widg;
95
103
  //Start widget load timer
@@ -106,7 +114,6 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
106
114
  return;
107
115
  }
108
116
  }
109
- let isStartChatSuccessful = false;
110
117
 
111
118
  //Check if chat retrieved from cache
112
119
  if (persistedState || params !== null && params !== void 0 && params.liveChatContext) {
@@ -120,14 +127,16 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
120
127
  });
121
128
  }
122
129
  try {
123
- _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.INFO, {
124
- Event: _TelemetryConstants.TelemetryEvent.StartChatSDKCall
125
- });
126
-
130
+ var _window$Microsoft, _window$Microsoft$Dyn, _window$Microsoft$Dyn2, _window$Microsoft$Dyn3;
127
131
  // Set custom context params
128
132
  setCustomContextParams(chatSDK);
129
- optionalParams = Object.assign({}, params, optionalParams);
130
- await chatSDK.startChat(optionalParams);
133
+ const defaultOptionalParams = {
134
+ sendDefaultInitContext: true,
135
+ isProactiveChat: !!(params !== null && params !== void 0 && params.isProactiveChat),
136
+ portalContactId: (_window$Microsoft = window.Microsoft) === null || _window$Microsoft === void 0 ? void 0 : (_window$Microsoft$Dyn = _window$Microsoft.Dynamic365) === null || _window$Microsoft$Dyn === void 0 ? void 0 : (_window$Microsoft$Dyn2 = _window$Microsoft$Dyn.Portal) === null || _window$Microsoft$Dyn2 === void 0 ? void 0 : (_window$Microsoft$Dyn3 = _window$Microsoft$Dyn2.User) === null || _window$Microsoft$Dyn3 === void 0 ? void 0 : _window$Microsoft$Dyn3.contactId
137
+ };
138
+ const startChatOptionalParams = Object.assign({}, params, optionalParams, defaultOptionalParams);
139
+ await chatSDK.startChat(startChatOptionalParams);
131
140
  isStartChatSuccessful = true;
132
141
  } catch (error) {
133
142
  _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
@@ -180,6 +189,11 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
180
189
  // Set app state to Active
181
190
  if (isStartChatSuccessful) {
182
191
  _ActivityStreamHandler.ActivityStreamHandler.uncork();
192
+ // Update start chat failure app state if chat loads successfully
193
+ dispatch({
194
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_START_CHAT_FAILING,
195
+ payload: false
196
+ });
183
197
  dispatch({
184
198
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
185
199
  payload: _ConversationState.ConversationState.Active
@@ -210,11 +224,28 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
210
224
  });
211
225
  return;
212
226
  }
227
+ if (!hideErrorUIPane) {
228
+ // Set app state to failing start chat if hideErrorUI is not turned on
229
+ dispatch({
230
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_START_CHAT_FAILING,
231
+ payload: true
232
+ });
233
+ _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
234
+ Event: _TelemetryConstants.TelemetryEvent.ErrorUIPaneLoaded,
235
+ Description: "Error UI Pane Loaded"
236
+ });
237
+ }
213
238
  // Show the loading pane in other cases for failure, this will help for both hideStartChatButton case
214
239
  dispatch({
215
240
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
216
241
  payload: _ConversationState.ConversationState.Loading
217
242
  });
243
+
244
+ // If sessionInit was successful but LCW startchat failed due to some reason e.g adapter didn't load
245
+ // we need to directly endChat to avoid leaving ghost chats in OC, not disturbing any other UI state
246
+ if (isStartChatSuccessful === true) {
247
+ await forceEndChat(chatSDK);
248
+ }
218
249
  } finally {
219
250
  optionalParams = {};
220
251
  widgetInstanceId = "";
@@ -223,13 +254,24 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
223
254
 
224
255
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
225
256
  exports.initStartChat = initStartChat;
257
+ const forceEndChat = async chatSDK => {
258
+ _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.ERROR, {
259
+ Event: _TelemetryConstants.TelemetryEvent.WidgetLoadFailed,
260
+ ExceptionDetails: {
261
+ Exception: "SessionInit was successful, but widget load failed."
262
+ }
263
+ });
264
+ chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.endChat();
265
+ };
266
+
267
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
226
268
  const canConnectToExistingChat = async (props, chatSDK, state, dispatch, setAdapter) => {
227
- var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps2, _persistedState$domai6, _persistedState$appSt;
269
+ var _chatSDK$omnichannelC, _chatSDK$omnichannelC2, _props$controlProps3, _persistedState$domai6, _persistedState$appSt;
228
270
  // By pass this function in case of popout chat
229
271
  if (state.appStates.hideStartChatButton === true) {
230
272
  return false;
231
273
  }
232
- const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.widgetInstanceId) ?? "");
274
+ const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : _props$controlProps3.widgetInstanceId) ?? "");
233
275
 
234
276
  //Connect to only active chat session
235
277
  if (persistedState && !(0, _utils.isUndefinedOrEmpty)(persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai6 = persistedState.domainStates) === null || _persistedState$domai6 === void 0 ? void 0 : _persistedState$domai6.liveChatContext) && (persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$appSt = persistedState.appStates) === null || _persistedState$appSt === void 0 ? void 0 : _persistedState$appSt.conversationState) === _ConversationState.ConversationState.Active) {
@@ -241,7 +283,7 @@ const canConnectToExistingChat = async (props, chatSDK, state, dispatch, setAdap
241
283
  const optionalParams = {
242
284
  liveChatContext: persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai7 = persistedState.domainStates) === null || _persistedState$domai7 === void 0 ? void 0 : _persistedState$domai7.liveChatContext
243
285
  };
244
- await initStartChat(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams, persistedState);
286
+ await initStartChat(chatSDK, dispatch, setAdapter, props, optionalParams, persistedState);
245
287
  return true;
246
288
  } else {
247
289
  return false;
@@ -289,11 +331,29 @@ const handleAuthenticationIfEnabled = async (chatSDK, props) => {
289
331
  };
290
332
 
291
333
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
292
- const checkIfConversationStillValid = async (chatSDK, props, requestId) => {
334
+ const checkIfConversationStillValid = async (chatSDK, props, requestId, dispatch) => {
293
335
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
294
336
  let conversationDetails = undefined;
337
+
338
+ // Show Loading screen during auth check and start chat calls
339
+ dispatch({
340
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
341
+ payload: _ConversationState.ConversationState.Loading
342
+ });
295
343
  const authSucceed = await handleAuthenticationIfEnabled(chatSDK, props);
296
344
  if (!authSucceed) {
345
+ var _props$controlProps4;
346
+ if (!(props !== null && props !== void 0 && (_props$controlProps4 = props.controlProps) !== null && _props$controlProps4 !== void 0 && _props$controlProps4.hideErrorUIPane)) {
347
+ // Set app state to failing start chat if hideErrorUI is not turned on
348
+ dispatch({
349
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_START_CHAT_FAILING,
350
+ payload: true
351
+ });
352
+ _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
353
+ Event: _TelemetryConstants.TelemetryEvent.ErrorUIPaneLoaded,
354
+ Description: "Error UI Pane Loaded"
355
+ });
356
+ }
297
357
  return false;
298
358
  }
299
359
 
@@ -8,15 +8,18 @@ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants"
8
8
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
9
9
  var _react = require("@fluentui/react");
10
10
  var _react2 = _interopRequireWildcard(require("react"));
11
- var _utils = require("../../../common/utils");
12
11
  var _startChat = require("../common/startChat");
12
+ var _utils = require("../../../common/utils");
13
+ var _endChat = require("../common/endChat");
13
14
  var _componentController = require("../../../controller/componentController");
15
+ var _ActivityStreamHandler = require("../common/ActivityStreamHandler");
14
16
  var _CallingContainerStateful = _interopRequireDefault(require("../../callingcontainerstateful/CallingContainerStateful"));
15
17
  var _ChatButtonStateful = _interopRequireDefault(require("../../chatbuttonstateful/ChatButtonStateful"));
16
18
  var _botframeworkWebchat = require("botframework-webchat");
17
19
  var _ConfirmationPaneStateful = _interopRequireDefault(require("../../confirmationpanestateful/ConfirmationPaneStateful"));
18
20
  var _ConversationState = require("../../../contexts/common/ConversationState");
19
21
  var _DataStoreManager = require("../../../common/contextDataStore/DataStoreManager");
22
+ var _Constants = require("../../../common/Constants");
20
23
  var _EmailTranscriptPaneStateful = _interopRequireDefault(require("../../emailtranscriptpanestateful/EmailTranscriptPaneStateful"));
21
24
  var _HeaderStateful = _interopRequireDefault(require("../../headerstateful/HeaderStateful"));
22
25
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
@@ -32,30 +35,27 @@ var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
32
35
  var _WebChatContainerStateful = _interopRequireDefault(require("../../webchatcontainerstateful/WebChatContainerStateful"));
33
36
  var _createFooter = require("../common/createFooter");
34
37
  var _createInternetConnectionChangeHandler = require("../common/createInternetConnectionChangeHandler");
38
+ var _defaultClientDataStoreProvider = require("../../../common/storage/default/defaultClientDataStoreProvider");
39
+ var _defaultScrollBarProps = require("../common/defaultProps/defaultScrollBarProps");
35
40
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
36
41
  var _disposeTelemetryLoggers = require("../common/disposeTelemetryLoggers");
37
- var _endChat = require("../common/endChat");
38
42
  var _getGeneralStylesForButton = require("../common/getGeneralStylesForButton");
39
43
  var _initCallingSdk = require("../common/initCallingSdk");
40
44
  var _initConfirmationPropsComposer = require("../common/initConfirmationPropsComposer");
41
45
  var _initWebChatComposer = require("../common/initWebChatComposer");
46
+ var _defaultCacheManager = require("../../../common/storage/default/defaultCacheManager");
42
47
  var _registerTelemetryLoggers = require("../common/registerTelemetryLoggers");
43
48
  var _setPostChatContextAndLoadSurvey = require("../common/setPostChatContextAndLoadSurvey");
44
49
  var _startProactiveChat = require("../common/startProactiveChat");
45
50
  var _useChatAdapterStore = _interopRequireDefault(require("../../../hooks/useChatAdapterStore"));
46
51
  var _useChatContextStore = _interopRequireDefault(require("../../../hooks/useChatContextStore"));
47
52
  var _useChatSDKStore = _interopRequireDefault(require("../../../hooks/useChatSDKStore"));
48
- var _ActivityStreamHandler = require("../common/ActivityStreamHandler");
49
- var _defaultCacheManager = require("../../../common/storage/default/defaultCacheManager");
50
- var _defaultClientDataStoreProvider = require("../../../common/storage/default/defaultClientDataStoreProvider");
51
- var _defaultScrollBarProps = require("../common/defaultProps/defaultScrollBarProps");
52
- var _Constants = require("../../../common/Constants");
53
53
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
54
54
  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); }
55
55
  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; }
56
56
  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); }
57
57
  const LiveChatWidgetStateful = props => {
58
- var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps13, _props$controlProps14, _props$componentOverr, _props$controlProps15, _props$componentOverr2, _props$controlProps16, _props$componentOverr3, _props$controlProps17, _props$componentOverr4, _props$controlProps18, _props$componentOverr5, _props$controlProps19, _props$componentOverr6, _props$controlProps20, _props$componentOverr7, _props$controlProps21, _props$controlProps22, _props$componentOverr8, _props$controlProps23, _props$componentOverr9, _props$controlProps24, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
58
+ var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps14, _props$controlProps15, _props$componentOverr, _props$controlProps16, _props$componentOverr2, _props$controlProps17, _props$componentOverr3, _props$controlProps18, _props$componentOverr4, _props$controlProps19, _props$componentOverr5, _props$controlProps20, _props$componentOverr6, _props$controlProps21, _props$componentOverr7, _props$controlProps22, _props$controlProps23, _props$componentOverr8, _props$controlProps24, _props$componentOverr9, _props$controlProps25, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
59
59
  const [state, dispatch] = (0, _useChatContextStore.default)();
60
60
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
61
  const [adapter, setAdapter] = (0, _useChatAdapterStore.default)();
@@ -103,7 +103,7 @@ const LiveChatWidgetStateful = props => {
103
103
  };
104
104
  } else {
105
105
  activeCachedChatExist = false;
106
- optionalParams = undefined;
106
+ optionalParams = {};
107
107
  }
108
108
  };
109
109
 
@@ -123,9 +123,9 @@ const LiveChatWidgetStateful = props => {
123
123
  }
124
124
 
125
125
  //Check if conversation state is not in wrapup or closed state
126
- isChatValid = await (0, _startChat.checkIfConversationStillValid)(chatSDK, props, (_state$domainStates3 = state.domainStates) === null || _state$domainStates3 === void 0 ? void 0 : (_state$domainStates3$ = _state$domainStates3.liveChatContext) === null || _state$domainStates3$ === void 0 ? void 0 : _state$domainStates3$.requestId);
126
+ isChatValid = await (0, _startChat.checkIfConversationStillValid)(chatSDK, props, (_state$domainStates3 = state.domainStates) === null || _state$domainStates3 === void 0 ? void 0 : (_state$domainStates3$ = _state$domainStates3.liveChatContext) === null || _state$domainStates3$ === void 0 ? void 0 : _state$domainStates3$.requestId, dispatch);
127
127
  if (isChatValid === true) {
128
- await (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams);
128
+ await (0, _startChat.initStartChat)(chatSDK, dispatch, setAdapter, props, optionalParams);
129
129
  return;
130
130
  }
131
131
  }
@@ -142,12 +142,13 @@ const LiveChatWidgetStateful = props => {
142
142
  }
143
143
  };
144
144
  (0, _react2.useEffect)(() => {
145
- var _props$controlProps4, _props$controlProps5, _props$controlProps6, _props$chatConfig, _props$chatConfig$Liv, _props$controlProps8, _props$chatConfig2, _props$chatConfig2$Ch;
145
+ var _props$controlProps5, _props$controlProps6, _props$controlProps7, _props$chatConfig, _props$chatConfig$Liv, _props$controlProps9, _props$chatConfig2, _props$chatConfig2$Ch;
146
146
  // Add default localStorage support for widget
147
147
  if (props.contextDataStore === undefined) {
148
- var _chatSDK$omnichannelC2, _chatSDK$omnichannelC3, _props$controlProps3;
149
- (0, _defaultCacheManager.registerBroadcastServiceForLocalStorage)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC3 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC3 === void 0 ? void 0 : _chatSDK$omnichannelC3.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : _props$controlProps3.widgetInstanceId) ?? "");
150
- _DataStoreManager.DataStoreManager.clientDataStore = (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)();
148
+ var _props$controlProps3, _chatSDK$omnichannelC2, _chatSDK$omnichannelC3, _props$controlProps4;
149
+ const cacheTtlInMins = (props === null || props === void 0 ? void 0 : (_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : _props$controlProps3.cacheTtlInMins) ?? _Constants.Constants.CacheTtlInMinutes;
150
+ _DataStoreManager.DataStoreManager.clientDataStore = (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)(cacheTtlInMins);
151
+ (0, _defaultCacheManager.registerBroadcastServiceForLocalStorage)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC2 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC2 === void 0 ? void 0 : _chatSDK$omnichannelC2.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC3 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC3 === void 0 ? void 0 : _chatSDK$omnichannelC3.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps4 = props.controlProps) === null || _props$controlProps4 === void 0 ? void 0 : _props$controlProps4.widgetInstanceId) ?? "", cacheTtlInMins);
151
152
  } else {
152
153
  _DataStoreManager.DataStoreManager.clientDataStore = props.contextDataStore;
153
154
  }
@@ -159,17 +160,17 @@ const LiveChatWidgetStateful = props => {
159
160
  });
160
161
  dispatch({
161
162
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_START_CHAT_BUTTON_DISPLAY,
162
- payload: ((_props$controlProps4 = props.controlProps) === null || _props$controlProps4 === void 0 ? void 0 : _props$controlProps4.hideStartChatButton) || false
163
+ payload: ((_props$controlProps5 = props.controlProps) === null || _props$controlProps5 === void 0 ? void 0 : _props$controlProps5.hideStartChatButton) || false
163
164
  });
164
165
  dispatch({
165
166
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_E2VV_ENABLED,
166
167
  payload: false
167
168
  });
168
- if ((_props$controlProps5 = props.controlProps) !== null && _props$controlProps5 !== void 0 && _props$controlProps5.widgetInstanceId && !(0, _utils.isNullOrEmptyString)((_props$controlProps6 = props.controlProps) === null || _props$controlProps6 === void 0 ? void 0 : _props$controlProps6.widgetInstanceId)) {
169
- var _props$controlProps7;
169
+ if ((_props$controlProps6 = props.controlProps) !== null && _props$controlProps6 !== void 0 && _props$controlProps6.widgetInstanceId && !(0, _utils.isNullOrEmptyString)((_props$controlProps7 = props.controlProps) === null || _props$controlProps7 === void 0 ? void 0 : _props$controlProps7.widgetInstanceId)) {
170
+ var _props$controlProps8;
170
171
  dispatch({
171
172
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_INSTANCE_ID,
172
- payload: (_props$controlProps7 = props.controlProps) === null || _props$controlProps7 === void 0 ? void 0 : _props$controlProps7.widgetInstanceId
173
+ payload: (_props$controlProps8 = props.controlProps) === null || _props$controlProps8 === void 0 ? void 0 : _props$controlProps8.widgetInstanceId
173
174
  });
174
175
  }
175
176
  if (((_props$chatConfig = props.chatConfig) === null || _props$chatConfig === void 0 ? void 0 : (_props$chatConfig$Liv = _props$chatConfig.LiveWSAndLiveChatEngJoin) === null || _props$chatConfig$Liv === void 0 ? void 0 : _props$chatConfig$Liv.msdyn_callingoptions) !== _Constants.E2VVOptions.NoCalling) {
@@ -182,7 +183,7 @@ const LiveChatWidgetStateful = props => {
182
183
  }
183
184
 
184
185
  // Initialize global dir
185
- const globalDir = ((_props$controlProps8 = props.controlProps) === null || _props$controlProps8 === void 0 ? void 0 : _props$controlProps8.dir) ?? (0, _utils.getLocaleDirection)((_props$chatConfig2 = props.chatConfig) === null || _props$chatConfig2 === void 0 ? void 0 : (_props$chatConfig2$Ch = _props$chatConfig2.ChatWidgetLanguage) === null || _props$chatConfig2$Ch === void 0 ? void 0 : _props$chatConfig2$Ch.msdyn_localeid);
186
+ const globalDir = ((_props$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.dir) ?? (0, _utils.getLocaleDirection)((_props$chatConfig2 = props.chatConfig) === null || _props$chatConfig2 === void 0 ? void 0 : (_props$chatConfig2$Ch = _props$chatConfig2.ChatWidgetLanguage) === null || _props$chatConfig2$Ch === void 0 ? void 0 : _props$chatConfig2$Ch.msdyn_localeid);
186
187
  dispatch({
187
188
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_GLOBAL_DIR,
188
189
  payload: globalDir
@@ -208,7 +209,7 @@ const LiveChatWidgetStateful = props => {
208
209
 
209
210
  // useEffect for custom context
210
211
  (0, _react2.useEffect)(() => {
211
- var _chatSDK$omnichannelC8, _chatSDK$omnichannelC9, _props$controlProps11;
212
+ var _chatSDK$omnichannelC8, _chatSDK$omnichannelC9, _props$controlProps12;
212
213
  // Add the custom context on receiving the SetCustomContext event
213
214
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.SetCustomContext).subscribe(msg => {
214
215
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
@@ -238,12 +239,12 @@ const LiveChatWidgetStateful = props => {
238
239
 
239
240
  // Start chat from SDK Event
240
241
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.StartChat).subscribe(() => {
241
- var _chatSDK$omnichannelC4, _chatSDK$omnichannelC5, _props$controlProps9;
242
+ var _chatSDK$omnichannelC4, _chatSDK$omnichannelC5, _props$controlProps10;
242
243
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
243
244
  Event: _TelemetryConstants.TelemetryEvent.StartChatEventRecevied,
244
245
  Description: "Start chat event received."
245
246
  });
246
- const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC4 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC4 === void 0 ? void 0 : _chatSDK$omnichannelC4.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC5 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC5 === void 0 ? void 0 : _chatSDK$omnichannelC5.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.widgetInstanceId) ?? "");
247
+ const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC4 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC4 === void 0 ? void 0 : _chatSDK$omnichannelC4.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC5 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC5 === void 0 ? void 0 : _chatSDK$omnichannelC5.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps10 = props.controlProps) === null || _props$controlProps10 === void 0 ? void 0 : _props$controlProps10.widgetInstanceId) ?? "");
247
248
 
248
249
  // Chat not found in cache
249
250
  if (persistedState === undefined) {
@@ -284,9 +285,9 @@ const LiveChatWidgetStateful = props => {
284
285
  // End chat
285
286
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.InitiateEndChat).subscribe(async () => {
286
287
  if (state.appStates.hideStartChatButton === false) {
287
- var _chatSDK$omnichannelC6, _chatSDK$omnichannelC7, _props$controlProps10;
288
+ var _chatSDK$omnichannelC6, _chatSDK$omnichannelC7, _props$controlProps11;
288
289
  // This is to ensure to get latest state from cache in multitab
289
- const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC6 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC6 === void 0 ? void 0 : _chatSDK$omnichannelC6.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC7 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC7 === void 0 ? void 0 : _chatSDK$omnichannelC7.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps10 = props.controlProps) === null || _props$controlProps10 === void 0 ? void 0 : _props$controlProps10.widgetInstanceId) ?? "");
290
+ const persistedState = (0, _utils.getStateFromCache)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC6 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC6 === void 0 ? void 0 : _chatSDK$omnichannelC6.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC7 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC7 === void 0 ? void 0 : _chatSDK$omnichannelC7.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps11 = props.controlProps) === null || _props$controlProps11 === void 0 ? void 0 : _props$controlProps11.widgetInstanceId) ?? "");
290
291
  if (persistedState && persistedState.appStates.conversationState === _ConversationState.ConversationState.Active) {
291
292
  (0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
292
293
  } else {
@@ -306,7 +307,7 @@ const LiveChatWidgetStateful = props => {
306
307
  });
307
308
 
308
309
  // Listen to end chat event from other tabs
309
- const endChatEventName = (0, _utils.getWidgetEndChatEventName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC8 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC8 === void 0 ? void 0 : _chatSDK$omnichannelC8.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC9 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC9 === void 0 ? void 0 : _chatSDK$omnichannelC9.widgetId, ((_props$controlProps11 = props.controlProps) === null || _props$controlProps11 === void 0 ? void 0 : _props$controlProps11.widgetInstanceId) ?? "");
310
+ const endChatEventName = (0, _utils.getWidgetEndChatEventName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC8 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC8 === void 0 ? void 0 : _chatSDK$omnichannelC8.orgId, chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC9 = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC9 === void 0 ? void 0 : _chatSDK$omnichannelC9.widgetId, ((_props$controlProps12 = props.controlProps) === null || _props$controlProps12 === void 0 ? void 0 : _props$controlProps12.widgetInstanceId) ?? "");
310
311
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(endChatEventName).subscribe(async () => {
311
312
  (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, false);
312
313
  return;
@@ -411,7 +412,7 @@ const LiveChatWidgetStateful = props => {
411
412
 
412
413
  // Publish chat widget state
413
414
  (0, _react2.useEffect)(() => {
414
- var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps12;
415
+ var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps13;
415
416
  // Only activate these windows events when conversation state is active and chat widget is in popout mode
416
417
  // Ghost chat scenarios
417
418
  /* COMMENTING THIS CODE FOR PARITY WITH OLD LCW
@@ -429,7 +430,7 @@ const LiveChatWidgetStateful = props => {
429
430
  };
430
431
  }*/
431
432
 
432
- widgetStateEventName = (0, _utils.getWidgetCacheId)(props === null || props === void 0 ? void 0 : (_props$chatSDK = props.chatSDK) === null || _props$chatSDK === void 0 ? void 0 : (_props$chatSDK$omnich = _props$chatSDK.omnichannelConfig) === null || _props$chatSDK$omnich === void 0 ? void 0 : _props$chatSDK$omnich.orgId, props === null || props === void 0 ? void 0 : (_props$chatSDK2 = props.chatSDK) === null || _props$chatSDK2 === void 0 ? void 0 : (_props$chatSDK2$omnic = _props$chatSDK2.omnichannelConfig) === null || _props$chatSDK2$omnic === void 0 ? void 0 : _props$chatSDK2$omnic.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps12 = props.controlProps) === null || _props$controlProps12 === void 0 ? void 0 : _props$controlProps12.widgetInstanceId) ?? "");
433
+ widgetStateEventName = (0, _utils.getWidgetCacheId)(props === null || props === void 0 ? void 0 : (_props$chatSDK = props.chatSDK) === null || _props$chatSDK === void 0 ? void 0 : (_props$chatSDK$omnich = _props$chatSDK.omnichannelConfig) === null || _props$chatSDK$omnich === void 0 ? void 0 : _props$chatSDK$omnich.orgId, props === null || props === void 0 ? void 0 : (_props$chatSDK2 = props.chatSDK) === null || _props$chatSDK2 === void 0 ? void 0 : (_props$chatSDK2$omnic = _props$chatSDK2.omnichannelConfig) === null || _props$chatSDK2$omnic === void 0 ? void 0 : _props$chatSDK2$omnic.widgetId, (props === null || props === void 0 ? void 0 : (_props$controlProps13 = props.controlProps) === null || _props$controlProps13 === void 0 ? void 0 : _props$controlProps13.widgetInstanceId) ?? "");
433
434
  const chatWidgetStateChangeEvent = {
434
435
  eventName: widgetStateEventName,
435
436
  payload: {
@@ -465,7 +466,7 @@ const LiveChatWidgetStateful = props => {
465
466
  const prepareEndChatRelay = (adapter, state) => (0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
466
467
  const prepareStartChatRelay = () => (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter);
467
468
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
468
- const initStartChatRelay = (optionalParams, persistedState) => (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams, persistedState);
469
+ const initStartChatRelay = (optionalParams, persistedState) => (0, _startChat.initStartChat)(chatSDK, dispatch, setAdapter, props, optionalParams, persistedState);
469
470
  const confirmationPaneProps = (0, _initConfirmationPropsComposer.initConfirmationPropsComposer)(props);
470
471
  return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("style", null, `
471
472
  ::-webkit-scrollbar {
@@ -491,29 +492,29 @@ const LiveChatWidgetStateful = props => {
491
492
  id: widgetElementId,
492
493
  styles: generalStyles,
493
494
  className: (_props$styleProps2 = props.styleProps) === null || _props$styleProps2 === void 0 ? void 0 : _props$styleProps2.className
494
- }, !((_props$controlProps13 = props.controlProps) !== null && _props$controlProps13 !== void 0 && _props$controlProps13.hideChatButton) && !((_props$controlProps14 = props.controlProps) !== null && _props$controlProps14 !== void 0 && _props$controlProps14.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, {
495
+ }, !((_props$controlProps14 = props.controlProps) !== null && _props$controlProps14 !== void 0 && _props$controlProps14.hideChatButton) && !((_props$controlProps15 = props.controlProps) !== null && _props$controlProps15 !== void 0 && _props$controlProps15.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, {
495
496
  buttonProps: props.chatButtonProps,
496
497
  outOfOfficeButtonProps: props.outOfOfficeChatButtonProps,
497
498
  startChat: prepareStartChatRelay
498
- })), !((_props$controlProps15 = props.controlProps) !== null && _props$controlProps15 !== void 0 && _props$controlProps15.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, {
499
+ })), !((_props$controlProps16 = props.controlProps) !== null && _props$controlProps16 !== void 0 && _props$controlProps16.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, {
499
500
  proactiveChatProps: props.proactiveChatPaneProps,
500
501
  startChat: prepareStartChatRelay
501
- })), !((_props$controlProps16 = props.controlProps) !== null && _props$controlProps16 !== void 0 && _props$controlProps16.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, {
502
+ })), !((_props$controlProps17 = props.controlProps) !== null && _props$controlProps17 !== void 0 && _props$controlProps17.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, {
502
503
  headerProps: props.headerProps,
503
504
  outOfOfficeHeaderProps: props.outOfOfficeHeaderProps,
504
505
  endChat: endChatRelay
505
- })), !((_props$controlProps17 = props.controlProps) !== null && _props$controlProps17 !== void 0 && _props$controlProps17.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, props.loadingPaneProps)), !((_props$controlProps18 = props.controlProps) !== null && _props$controlProps18 !== void 0 && _props$controlProps18.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$controlProps19 = props.controlProps) !== null && _props$controlProps19 !== void 0 && _props$controlProps19.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, {
506
+ })), !((_props$controlProps18 = props.controlProps) !== null && _props$controlProps18 !== void 0 && _props$controlProps18.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, props.loadingPaneProps)), !((_props$controlProps19 = props.controlProps) !== null && _props$controlProps19 !== void 0 && _props$controlProps19.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$controlProps20 = props.controlProps) !== null && _props$controlProps20 !== void 0 && _props$controlProps20.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, {
506
507
  reconnectChatProps: props.reconnectChatPaneProps,
507
508
  initStartChat: initStartChatRelay
508
- })), !((_props$controlProps20 = props.controlProps) !== null && _props$controlProps20 !== void 0 && _props$controlProps20.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, {
509
+ })), !((_props$controlProps21 = props.controlProps) !== null && _props$controlProps21 !== void 0 && _props$controlProps21.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, {
509
510
  surveyProps: props.preChatSurveyPaneProps,
510
511
  initStartChat: initStartChatRelay
511
- })), !((_props$controlProps21 = props.controlProps) !== null && _props$controlProps21 !== void 0 && _props$controlProps21.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
512
+ })), !((_props$controlProps22 = props.controlProps) !== null && _props$controlProps22 !== void 0 && _props$controlProps22.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
512
513
  voiceVideoCallingSdk: voiceVideoCallingSDK
513
- }, props.callingContainerProps)), !((_props$controlProps22 = props.controlProps) !== null && _props$controlProps22 !== void 0 && _props$controlProps22.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$controlProps23 = props.controlProps) !== null && _props$controlProps23 !== void 0 && _props$controlProps23.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, {
514
+ }, props.callingContainerProps)), !((_props$controlProps23 = props.controlProps) !== null && _props$controlProps23 !== void 0 && _props$controlProps23.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$controlProps24 = props.controlProps) !== null && _props$controlProps24 !== void 0 && _props$controlProps24.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, {
514
515
  setPostChatContext: setPostChatContextRelay,
515
516
  prepareEndChat: prepareEndChatRelay
516
- }))), !((_props$controlProps24 = props.controlProps) !== null && _props$controlProps24 !== void 0 && _props$controlProps24.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)))));
517
+ }))), !((_props$controlProps25 = props.controlProps) !== null && _props$controlProps25 !== void 0 && _props$controlProps25.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)))));
517
518
  };
518
519
  exports.LiveChatWidgetStateful = LiveChatWidgetStateful;
519
520
  var _default = LiveChatWidgetStateful;
@@ -11,6 +11,7 @@ var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
11
11
  var _defaultgeneralLoadingPaneStyleProps = require("./common/defaultStyleProps/defaultgeneralLoadingPaneStyleProps");
12
12
  var _utils = require("../../common/utils");
13
13
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
14
+ var _errorUILoadingPaneStyleProps = require("./common/errorUIStyleProps/errorUILoadingPaneStyleProps");
14
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16
  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); }
16
17
  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; }
@@ -22,11 +23,23 @@ const LoadingPaneStateful = props => {
22
23
  ...props.styleProps,
23
24
  generalStyleProps: generalStyleProps
24
25
  };
26
+ const errorUIStyleProps = {
27
+ ..._errorUILoadingPaneStyleProps.errorUILoadingPaneStyleProps
28
+ };
25
29
  const controlProps = {
26
30
  id: "oc-lcw-loading-pane",
27
31
  dir: state.domainStates.globalDir,
28
32
  ...props.controlProps
29
33
  };
34
+ const errorUIControlProps = {
35
+ id: "oc-lcw-alert-pane",
36
+ dir: state.domainStates.globalDir,
37
+ titleText: "Chat is failing to load.",
38
+ subtitleText: "Please Close the chat and try again.",
39
+ hideSpinner: true,
40
+ hideSpinnerText: true,
41
+ ...props.controlProps
42
+ };
30
43
 
31
44
  // Move focus to the first button
32
45
  (0, _react.useEffect)(() => {
@@ -41,8 +54,8 @@ const LoadingPaneStateful = props => {
41
54
  }, []);
42
55
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.LoadingPane, {
43
56
  componentOverrides: props.componentOverrides,
44
- controlProps: controlProps,
45
- styleProps: styleProps
57
+ controlProps: state.appStates.isStartChatFailing ? errorUIControlProps : controlProps,
58
+ styleProps: state.appStates.isStartChatFailing ? errorUIStyleProps : styleProps
46
59
  });
47
60
  };
48
61
  exports.LoadingPaneStateful = LoadingPaneStateful;