@microsoft/omnichannel-chat-widget 0.1.0-main.3d1c026 → 0.1.0-main.63cfb47

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 (139) hide show
  1. package/README.md +227 -0
  2. package/lib/cjs/assets/Audios.js +8 -0
  3. package/lib/cjs/assets/Icons.js +28 -0
  4. package/lib/cjs/common/Constants.js +6 -2
  5. package/lib/cjs/common/contextDataStore/DataStoreManager.js +14 -0
  6. package/lib/cjs/{assets/assets.d.js → common/interfaces/IContextDataStore.js} +0 -0
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +37 -4
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +13 -0
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +11 -6
  10. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  11. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -54
  12. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  13. package/lib/cjs/components/footerstateful/FooterStateful.js +4 -5
  14. package/lib/cjs/components/headerstateful/HeaderStateful.js +11 -8
  15. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +3 -4
  16. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +16 -9
  17. package/lib/cjs/components/livechatwidget/common/endChat.js +102 -54
  18. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +5 -0
  19. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +27 -12
  20. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +105 -20
  21. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +23 -5
  22. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +26 -24
  23. package/lib/cjs/components/livechatwidget/common/startChat.js +113 -54
  24. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +3 -3
  25. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +91 -30
  26. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  27. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +8 -0
  28. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +8 -0
  29. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +28 -11
  30. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +10 -4
  31. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  32. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
  33. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +51 -73
  34. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +9 -46
  35. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +3 -1
  36. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  37. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +44 -0
  38. package/lib/cjs/contexts/common/ConversationState.js +3 -2
  39. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +15 -14
  40. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +7 -2
  41. package/lib/cjs/contexts/createReducer.js +13 -10
  42. package/lib/cjs/controller/componentController.js +2 -2
  43. package/lib/cjs/plugins/newMessageEventHandler.js +102 -0
  44. package/lib/esm/assets/Audios.js +1 -0
  45. package/lib/esm/assets/Icons.js +11 -0
  46. package/lib/esm/common/Constants.js +6 -2
  47. package/lib/esm/common/contextDataStore/DataStoreManager.js +5 -0
  48. package/lib/esm/common/interfaces/IContextDataStore.js +1 -0
  49. package/lib/esm/common/telemetry/TelemetryConstants.js +33 -3
  50. package/lib/esm/common/telemetry/TelemetryHelper.js +13 -1
  51. package/lib/esm/common/telemetry/TelemetryManager.js +10 -6
  52. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +1 -1
  53. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +8 -50
  54. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +2 -2
  55. package/lib/esm/components/footerstateful/FooterStateful.js +4 -5
  56. package/lib/esm/components/headerstateful/HeaderStateful.js +12 -9
  57. package/lib/esm/components/livechatwidget/common/createMarkdown.js +3 -3
  58. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +14 -10
  59. package/lib/esm/components/livechatwidget/common/endChat.js +100 -51
  60. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +3 -0
  61. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +23 -12
  62. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +94 -20
  63. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +20 -4
  64. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +23 -22
  65. package/lib/esm/components/livechatwidget/common/startChat.js +108 -51
  66. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +5 -5
  67. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +85 -29
  68. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +1 -1
  69. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +6 -0
  70. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +6 -0
  71. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +26 -10
  72. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +9 -5
  73. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.js +1 -0
  74. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +4 -0
  75. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -12
  76. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +7 -44
  77. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  78. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +6 -6
  79. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +31 -0
  80. package/lib/esm/contexts/common/ConversationState.js +3 -2
  81. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +15 -14
  82. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +7 -2
  83. package/lib/esm/contexts/createReducer.js +13 -9
  84. package/lib/esm/controller/componentController.js +2 -2
  85. package/lib/esm/plugins/newMessageEventHandler.js +84 -0
  86. package/lib/types/assets/Audios.d.ts +1 -0
  87. package/lib/types/assets/Icons.d.ts +11 -0
  88. package/lib/types/common/Constants.d.ts +3 -1
  89. package/lib/types/common/contextDataStore/DataStoreManager.d.ts +4 -0
  90. package/lib/types/common/interfaces/IContextDataStore.d.ts +14 -0
  91. package/lib/types/common/telemetry/TelemetryConstants.d.ts +23 -1
  92. package/lib/types/common/telemetry/TelemetryHelper.d.ts +1 -0
  93. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +5 -2
  94. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +0 -1
  95. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +4 -1
  96. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -1
  97. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -2
  98. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +1 -1
  99. package/lib/types/components/livechatwidget/common/startChat.d.ts +1 -1
  100. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +2 -1
  101. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +1 -0
  102. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +3 -1
  103. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +1 -1
  104. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatNotificationConfig.d.ts +3 -0
  105. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +1 -0
  106. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +1 -0
  107. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +1 -1
  108. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +0 -1
  109. package/lib/types/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.d.ts +1 -0
  110. package/lib/types/contexts/common/ConversationState.d.ts +3 -2
  111. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -0
  112. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +15 -14
  113. package/lib/types/plugins/newMessageEventHandler.d.ts +2 -0
  114. package/package.json +7 -6
  115. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  116. package/lib/cjs/assets/icons/archiveIcon.svg +0 -3
  117. package/lib/cjs/assets/icons/audioIcon.svg +0 -6
  118. package/lib/cjs/assets/icons/blankIcon.svg +0 -6
  119. package/lib/cjs/assets/icons/excelIcon.svg +0 -6
  120. package/lib/cjs/assets/icons/imageIcon.svg +0 -6
  121. package/lib/cjs/assets/icons/oneNoteIcon.svg +0 -6
  122. package/lib/cjs/assets/icons/pdfIcon.svg +0 -6
  123. package/lib/cjs/assets/icons/powerpointIcon.svg +0 -6
  124. package/lib/cjs/assets/icons/videoIcon.svg +0 -6
  125. package/lib/cjs/assets/icons/visioIcon.svg +0 -6
  126. package/lib/cjs/assets/icons/wordIcon.svg +0 -6
  127. package/lib/esm/assets/assets.d.js +0 -0
  128. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  129. package/lib/esm/assets/icons/archiveIcon.svg +0 -3
  130. package/lib/esm/assets/icons/audioIcon.svg +0 -6
  131. package/lib/esm/assets/icons/blankIcon.svg +0 -6
  132. package/lib/esm/assets/icons/excelIcon.svg +0 -6
  133. package/lib/esm/assets/icons/imageIcon.svg +0 -6
  134. package/lib/esm/assets/icons/oneNoteIcon.svg +0 -6
  135. package/lib/esm/assets/icons/pdfIcon.svg +0 -6
  136. package/lib/esm/assets/icons/powerpointIcon.svg +0 -6
  137. package/lib/esm/assets/icons/videoIcon.svg +0 -6
  138. package/lib/esm/assets/icons/visioIcon.svg +0 -6
  139. package/lib/esm/assets/icons/wordIcon.svg +0 -6
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.LiveChatWidgetStateful = void 0;
7
7
 
8
+ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
+
8
10
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
9
11
 
10
12
  var _react = require("@fluentui/react");
@@ -29,6 +31,8 @@ var _ConfirmationPaneStateful = _interopRequireDefault(require("../../confirmati
29
31
 
30
32
  var _ConversationState = require("../../../contexts/common/ConversationState");
31
33
 
34
+ var _DataStoreManager = require("../../../common/contextDataStore/DataStoreManager");
35
+
32
36
  var _EmailTranscriptPaneStateful = _interopRequireDefault(require("../../emailtranscriptpanestateful/EmailTranscriptPaneStateful"));
33
37
 
34
38
  var _HeaderStateful = _interopRequireDefault(require("../../headerstateful/HeaderStateful"));
@@ -49,6 +53,8 @@ var _ProactiveChatPaneStateful = _interopRequireDefault(require("../../proactive
49
53
 
50
54
  var _ReconnectChatPaneStateful = _interopRequireDefault(require("../../reconnectchatpanestateful/ReconnectChatPaneStateful"));
51
55
 
56
+ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
57
+
52
58
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
53
59
 
54
60
  var _WebChatContainerStateful = _interopRequireDefault(require("../../webchatcontainerstateful/WebChatContainerStateful"));
@@ -59,6 +65,8 @@ var _createInternetConnectionChangeHandler = require("../common/createInternetCo
59
65
 
60
66
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
61
67
 
68
+ var _disposeTelemetryLoggers = require("../common/disposeTelemetryLoggers");
69
+
62
70
  var _endChat = require("../common/endChat");
63
71
 
64
72
  var _getGeneralStylesForButton = require("../common/getGeneralStylesForButton");
@@ -81,10 +89,6 @@ var _useChatContextStore = _interopRequireDefault(require("../../../hooks/useCha
81
89
 
82
90
  var _useChatSDKStore = _interopRequireDefault(require("../../../hooks/useChatSDKStore"));
83
91
 
84
- var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
85
-
86
- var _disposeTelemetryLoggers = require("../common/disposeTelemetryLoggers");
87
-
88
92
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
89
93
 
90
94
  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); }
@@ -94,7 +98,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
94
98
  function _extends() { _extends = Object.assign || 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); }
95
99
 
96
100
  const LiveChatWidgetStateful = props => {
97
- var _props$webChatContain, _props$styleProps, _props$controlProps, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps5, _props$componentOverr, _props$controlProps6, _props$componentOverr2, _props$controlProps7, _props$componentOverr3, _props$controlProps8, _props$componentOverr4, _props$controlProps9, _props$componentOverr5, _props$controlProps10, _props$componentOverr6, _props$controlProps11, _props$controlProps12, _props$controlProps13, _props$componentOverr7, _props$controlProps14, _props$componentOverr8, _props$controlProps15, _props$componentOverr9, _props$componentOverr10, _props$componentOverr11;
101
+ var _props$webChatContain, _props$styleProps, _props$controlProps, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps5, _props$componentOverr, _props$controlProps6, _props$componentOverr2, _props$controlProps7, _props$componentOverr3, _props$controlProps8, _props$componentOverr4, _props$controlProps9, _props$componentOverr5, _props$controlProps10, _props$componentOverr6, _props$controlProps11, _props$componentOverr7, _props$controlProps12, _props$controlProps13, _props$componentOverr8, _props$controlProps14, _props$componentOverr9, _props$controlProps15, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
98
102
 
99
103
  const [state, dispatch] = (0, _useChatContextStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
100
104
 
@@ -108,7 +112,8 @@ const LiveChatWidgetStateful = props => {
108
112
  const {
109
113
  Composer
110
114
  } = _botframeworkWebchat.Components;
111
- const canStartProactiveChat = (0, _react2.useRef)(true); // Process general styles
115
+ const canStartProactiveChat = (0, _react2.useRef)(true);
116
+ const canEndChat = (0, _react2.useRef)(true); // Process general styles
112
117
 
113
118
  const generalStyles = {
114
119
  root: Object.assign({}, (0, _getGeneralStylesForButton.getGeneralStylesForButton)(state), (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyles)
@@ -121,6 +126,7 @@ const LiveChatWidgetStateful = props => {
121
126
 
122
127
  (0, _registerTelemetryLoggers.registerTelemetryLoggers)(props, dispatch);
123
128
  (0, _createInternetConnectionChangeHandler.createInternetConnectionChangeHandler)();
129
+ _DataStoreManager.DataStoreManager.clientDataStore = props.contextDataStore ?? undefined;
124
130
  dispatch({
125
131
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_ELEMENT_ID,
126
132
  payload: widgetElementId
@@ -139,7 +145,7 @@ const LiveChatWidgetStateful = props => {
139
145
  if (!((_props$controlProps3 = props.controlProps) !== null && _props$controlProps3 !== void 0 && _props$controlProps3.skipChatButtonRendering) && (_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
140
146
  var _props$reconnectChatP2;
141
147
 
142
- (0, _reconnectChatHelper.handleUnauthenticatedReconnectChat)(dispatch, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.reconnectId, _startChat.initStartChat);
148
+ (0, _reconnectChatHelper.startUnauthenticatedReconnectChat)(chatSDK, dispatch, setAdapter, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.reconnectId, _startChat.initStartChat);
143
149
  } // Initialize global dir
144
150
 
145
151
 
@@ -165,9 +171,9 @@ const LiveChatWidgetStateful = props => {
165
171
  var _props$reconnectChatP3;
166
172
 
167
173
  if ((_props$reconnectChatP3 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP3 !== void 0 && _props$reconnectChatP3.reconnectId && !state.appStates.reconnectId) {
168
- var _props$reconnectChatP4;
174
+ var _props$reconnectChatP4, _props$reconnectChatP5;
169
175
 
170
- (0, _reconnectChatHelper.handleUnauthenticatedReconnectChat)(dispatch, (_props$reconnectChatP4 = props.reconnectChatPaneProps) === null || _props$reconnectChatP4 === void 0 ? void 0 : _props$reconnectChatP4.reconnectId, _startChat.initStartChat);
176
+ (0, _reconnectChatHelper.handleUnauthenticatedReconnectChat)(chatSDK, dispatch, setAdapter, (_props$reconnectChatP4 = props.reconnectChatPaneProps) === null || _props$reconnectChatP4 === void 0 ? void 0 : _props$reconnectChatP4.reconnectId, _startChat.initStartChat, (_props$reconnectChatP5 = props.reconnectChatPaneProps) === null || _props$reconnectChatP5 === void 0 ? void 0 : _props$reconnectChatP5.redirectInSameWindow);
171
177
  } else {
172
178
  (0, _reconnectChatHelper.getReconnectIdForAuthenticatedChat)(props, chatSDK).then(authReconnectId => {
173
179
  if (authReconnectId && !state.appStates.reconnectId) {
@@ -180,6 +186,12 @@ const LiveChatWidgetStateful = props => {
180
186
  payload: _ConversationState.ConversationState.ReconnectChat
181
187
  });
182
188
  } else {
189
+ const chatStartedSkippingChatButtonRendering = {
190
+ eventName: _TelemetryConstants.BroadcastEvent.StartChatSkippingChatButtonRendering
191
+ };
192
+
193
+ _omnichannelChatComponents.BroadcastService.postMessage(chatStartedSkippingChatButtonRendering);
194
+
183
195
  dispatch({
184
196
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
185
197
  payload: _ConversationState.ConversationState.Loading
@@ -192,14 +204,57 @@ const LiveChatWidgetStateful = props => {
192
204
  }, [state.appStates.skipChatButtonRendering]);
193
205
  (0, _react2.useEffect)(() => {
194
206
  _omnichannelChatComponents.BroadcastService.getMessageByEventName("StartProactiveChat").subscribe(msg => {
207
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
208
+ Event: _TelemetryConstants.TelemetryEvent.StartProactiveChatEventReceived,
209
+ Description: "Start proactive chat event received."
210
+ });
211
+
195
212
  if (canStartProactiveChat.current) {
196
213
  var _msg$payload, _msg$payload2, _msg$payload3;
197
214
 
198
- (0, _startProactiveChat.startProactiveChat)(dispatch, msg === null || msg === void 0 ? void 0 : (_msg$payload = msg.payload) === null || _msg$payload === void 0 ? void 0 : _msg$payload.bodyTitle, msg === null || msg === void 0 ? void 0 : (_msg$payload2 = msg.payload) === null || _msg$payload2 === void 0 ? void 0 : _msg$payload2.showPrechat, msg === null || msg === void 0 ? void 0 : (_msg$payload3 = msg.payload) === null || _msg$payload3 === void 0 ? void 0 : _msg$payload3.inNewWindow);
215
+ (0, _startProactiveChat.startProactiveChat)(dispatch, msg === null || msg === void 0 ? void 0 : (_msg$payload = msg.payload) === null || _msg$payload === void 0 ? void 0 : _msg$payload.notificationConfig, msg === null || msg === void 0 ? void 0 : (_msg$payload2 = msg.payload) === null || _msg$payload2 === void 0 ? void 0 : _msg$payload2.enablePreChat, msg === null || msg === void 0 ? void 0 : (_msg$payload3 = msg.payload) === null || _msg$payload3 === void 0 ? void 0 : _msg$payload3.inNewWindow);
216
+ } else {
217
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
218
+ Event: _TelemetryConstants.TelemetryEvent.ChatAlreadyTriggered,
219
+ Description: "Start proactive chat method called, when chat was already triggered."
220
+ });
221
+ }
222
+ }); // start chat from SDK Event
223
+
224
+
225
+ _omnichannelChatComponents.BroadcastService.getMessageByEventName("StartChat").subscribe(() => {
226
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
227
+ Event: _TelemetryConstants.TelemetryEvent.StartChatEventRecevied,
228
+ Description: "Start chat event received."
229
+ });
230
+
231
+ if (state.appStates.isMinimized) {
232
+ dispatch({
233
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MINIMIZED,
234
+ payload: false
235
+ });
236
+ } else {
237
+ (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter);
238
+ }
239
+ }); // end chat from SDK Event
240
+
241
+
242
+ _omnichannelChatComponents.BroadcastService.getMessageByEventName("EndChat").subscribe(async () => {
243
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
244
+ Event: _TelemetryConstants.TelemetryEvent.EndChatEventReceived,
245
+ Description: "End chat event received."
246
+ });
247
+
248
+ if (canEndChat.current) {
249
+ (0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
250
+ } else {
251
+ const skipEndChatSDK = true;
252
+ const skipCloseChat = false;
253
+ (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat);
199
254
  }
200
255
  });
201
256
 
202
- window.addEventListener("beforeunload", event => {
257
+ window.addEventListener("beforeunload", () => {
203
258
  (0, _disposeTelemetryLoggers.disposeTelemetryLoggers)();
204
259
  });
205
260
 
@@ -209,17 +264,18 @@ const LiveChatWidgetStateful = props => {
209
264
  }, []);
210
265
  (0, _react2.useEffect)(() => {
211
266
  canStartProactiveChat.current = state.appStates.conversationState === _ConversationState.ConversationState.Closed;
267
+ canEndChat.current = state.appStates.conversationState === _ConversationState.ConversationState.Active;
212
268
 
213
269
  if (state.appStates.conversationState === _ConversationState.ConversationState.Active) {
214
270
  chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.onNewMessage(() => {
215
271
  _omnichannelChatComponents.BroadcastService.postMessage({
216
- eventName: "NewMessageNotification"
272
+ eventName: _TelemetryConstants.BroadcastEvent.NewMessageNotification
217
273
  });
218
274
  });
219
275
  } // Track the message count
220
276
 
221
277
 
222
- if (state.appStates.conversationState == _ConversationState.ConversationState.Active) {
278
+ if (state.appStates.conversationState === _ConversationState.ConversationState.Active) {
223
279
  chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.onNewMessage(() => {
224
280
  currentMessageCountRef.current++;
225
281
  dispatch({
@@ -238,7 +294,7 @@ const LiveChatWidgetStateful = props => {
238
294
  });
239
295
  const customEvent = {
240
296
  elementType: _omnichannelChatComponents.ElementType.Custom,
241
- eventName: "UnreadMessageCount",
297
+ eventName: _TelemetryConstants.BroadcastEvent.UnreadMessageCount,
242
298
  payload: 0
243
299
  };
244
300
 
@@ -249,7 +305,7 @@ const LiveChatWidgetStateful = props => {
249
305
  if (state.appStates.isMinimized && state.appStates.unreadMessageCount > 0) {
250
306
  const customEvent = {
251
307
  elementType: _omnichannelChatComponents.ElementType.Custom,
252
- eventName: "UnreadMessageCount",
308
+ eventName: _TelemetryConstants.BroadcastEvent.UnreadMessageCount,
253
309
  payload: `${state.appStates.unreadMessageCount}`
254
310
  };
255
311
 
@@ -265,25 +321,30 @@ const LiveChatWidgetStateful = props => {
265
321
  }, [(_props$webChatContain3 = props.webChatContainerProps) === null || _props$webChatContain3 === void 0 ? void 0 : _props$webChatContain3.webChatStyles]);
266
322
  const webChatProps = (0, _initWebChatComposer.initWebChatComposer)(props, chatSDK, state, dispatch, setWebChatStyles);
267
323
 
268
- const setPostChatContextRelay = () => (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch, true);
324
+ const setPostChatContextRelay = () => (0, _setPostChatContextAndLoadSurvey.setPostChatContextAndLoadSurvey)(chatSDK, dispatch); // eslint-disable-next-line @typescript-eslint/no-explicit-any
269
325
 
270
- const endChatRelay = () => (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter);
326
+
327
+ const endChatRelay = (adapter, skipEndChatSDK, skipCloseChat) => (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, skipEndChatSDK, skipCloseChat); // eslint-disable-next-line @typescript-eslint/no-explicit-any
328
+
329
+
330
+ const prepareEndChatRelay = (adapter, state) => (0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
271
331
 
272
332
  const prepareStartChatRelay = () => (0, _startChat.prepareStartChat)(props, chatSDK, state, dispatch, setAdapter); // eslint-disable-next-line @typescript-eslint/no-explicit-any
273
333
 
274
334
 
275
- const initStartChatRelay = optionalParams => (0, _startChat.initStartChat)(chatSDK, dispatch, setAdapter, optionalParams);
335
+ const initStartChatRelay = (optionalParams, persistedState) => (0, _startChat.initStartChat)(chatSDK, dispatch, setAdapter, optionalParams, persistedState);
276
336
 
277
337
  const confirmationPaneProps = (0, _initConfirmationPropsComposer.initConfirmationPropsComposer)(props); // publish chat widget state
278
338
 
279
- const chatWidgetStateChangeEvent = {
280
- eventName: _TelemetryConstants.TelemetryEvent.ChatWidgetStateChanged,
281
- payload: { ...state
282
- }
283
- };
284
-
285
- _omnichannelChatComponents.BroadcastService.postMessage(chatWidgetStateChangeEvent);
339
+ (0, _react2.useEffect)(() => {
340
+ const chatWidgetStateChangeEvent = {
341
+ eventName: _TelemetryConstants.BroadcastEvent.ChatWidgetStateChanged,
342
+ payload: { ...state
343
+ }
344
+ };
286
345
 
346
+ _omnichannelChatComponents.BroadcastService.postMessage(chatWidgetStateChangeEvent);
347
+ }, [state]);
287
348
  return /*#__PURE__*/_react2.default.createElement(Composer, _extends({}, webChatProps, {
288
349
  styleOptions: webChatStyles,
289
350
  directLine: ((_props$webChatContain4 = props.webChatContainerProps) === null || _props$webChatContain4 === void 0 ? void 0 : _props$webChatContain4.directLine) ?? adapter ?? _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.directLine
@@ -305,15 +366,15 @@ const LiveChatWidgetStateful = props => {
305
366
  })), !((_props$controlProps8 = props.controlProps) !== null && _props$controlProps8 !== void 0 && _props$controlProps8.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$controlProps9 = props.controlProps) !== null && _props$controlProps9 !== void 0 && _props$controlProps9.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$controlProps10 = props.controlProps) !== null && _props$controlProps10 !== void 0 && _props$controlProps10.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, {
306
367
  reconnectChatProps: props.reconnectChatPaneProps,
307
368
  initStartChat: initStartChatRelay
308
- })), !((_props$controlProps11 = props.controlProps) !== null && _props$controlProps11 !== void 0 && _props$controlProps11.hidePreChatSurveyPane) && (0, _componentController.shouldShowPreChatSurveyPane)(state) && /*#__PURE__*/_react2.default.createElement(_PreChatSurveyPaneStateful.default, {
369
+ })), !((_props$controlProps11 = props.controlProps) !== null && _props$controlProps11 !== void 0 && _props$controlProps11.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, {
309
370
  surveyProps: props.preChatSurveyPaneProps,
310
371
  initStartChat: initStartChatRelay
311
- }), !((_props$controlProps12 = props.controlProps) !== null && _props$controlProps12 !== void 0 && _props$controlProps12.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
372
+ })), !((_props$controlProps12 = props.controlProps) !== null && _props$controlProps12 !== void 0 && _props$controlProps12.hideCallingContainer) && (0, _componentController.shouldShowCallingContainer)(state) && /*#__PURE__*/_react2.default.createElement(_CallingContainerStateful.default, _extends({
312
373
  voiceVideoCallingSdk: voiceVideoCallingSDK
313
- }, props.callingContainerProps)), !((_props$controlProps13 = props.controlProps) !== null && _props$controlProps13 !== void 0 && _props$controlProps13.hideWebChatContainer) && (0, _componentController.shouldShowWebChatContainer)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr7 = props.componentOverrides) === null || _props$componentOverr7 === void 0 ? void 0 : _props$componentOverr7.webChatContainer) || /*#__PURE__*/_react2.default.createElement(_WebChatContainerStateful.default, props.webChatContainerProps)), !((_props$controlProps14 = props.controlProps) !== null && _props$controlProps14 !== void 0 && _props$controlProps14.hideConfirmationPane) && (0, _componentController.shouldShowConfirmationPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr8 = props.componentOverrides) === null || _props$componentOverr8 === void 0 ? void 0 : _props$componentOverr8.confirmationPane) || /*#__PURE__*/_react2.default.createElement(_ConfirmationPaneStateful.default, _extends({}, confirmationPaneProps, {
374
+ }, props.callingContainerProps)), !((_props$controlProps13 = props.controlProps) !== null && _props$controlProps13 !== void 0 && _props$controlProps13.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$controlProps14 = props.controlProps) !== null && _props$controlProps14 !== void 0 && _props$controlProps14.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, {
314
375
  setPostChatContext: setPostChatContextRelay,
315
- endChat: endChatRelay
316
- }))), !((_props$controlProps15 = props.controlProps) !== null && _props$controlProps15 !== void 0 && _props$controlProps15.hidePostChatLoadingPane) && (0, _componentController.shouldShowPostChatLoadingPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr9 = props.componentOverrides) === null || _props$componentOverr9 === void 0 ? void 0 : _props$componentOverr9.postChatLoadingPane) || /*#__PURE__*/_react2.default.createElement(_PostChatLoadingPaneStateful.default, props.postChatLoadingPaneProps)), (0, _componentController.shouldShowPostChatSurveyPane)(state) && ((0, _omnichannelChatComponents.decodeComponentString)((_props$componentOverr10 = props.componentOverrides) === null || _props$componentOverr10 === void 0 ? void 0 : _props$componentOverr10.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$componentOverr11 = props.componentOverrides) === null || _props$componentOverr11 === void 0 ? void 0 : _props$componentOverr11.emailTranscriptPane) || /*#__PURE__*/_react2.default.createElement(_EmailTranscriptPaneStateful.default, props.emailTranscriptPane))));
376
+ prepareEndChat: prepareEndChatRelay
377
+ }))), !((_props$controlProps15 = props.controlProps) !== null && _props$controlProps15 !== void 0 && _props$controlProps15.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))));
317
378
  };
318
379
 
319
380
  exports.LiveChatWidgetStateful = LiveChatWidgetStateful;
@@ -46,7 +46,7 @@ const LoadingPaneStateful = props => {
46
46
  firstElement[0].focus();
47
47
  }
48
48
 
49
- _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
49
+ _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
50
50
  Event: _TelemetryConstants.TelemetryEvent.LoadingPaneLoaded,
51
51
  Description: "Loading pane loaded."
52
52
  });
@@ -5,10 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.OutOfOfficeHoursPaneStateful = void 0;
7
7
 
8
+ var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
11
13
 
14
+ var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
15
+
12
16
  var _defaultgeneralOOOHPaneStyleProps = require("./common/defaultStyleProps/defaultgeneralOOOHPaneStyleProps");
13
17
 
14
18
  var _utils = require("../../common/utils");
@@ -41,6 +45,10 @@ const OutOfOfficeHoursPaneStateful = props => {
41
45
  if (firstElement && firstElement[0]) {
42
46
  firstElement[0].focus();
43
47
  }
48
+
49
+ _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
50
+ Event: _TelemetryConstants.TelemetryEvent.OutOfOfficePaneLoaded
51
+ });
44
52
  }, []);
45
53
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.OutOfOfficeHoursPane, {
46
54
  componentOverrides: props.componentOverrides,
@@ -15,6 +15,10 @@ var _utils = require("../../common/utils");
15
15
 
16
16
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
17
17
 
18
+ var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
19
+
20
+ var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
21
+
18
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
23
 
20
24
  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); }
@@ -46,6 +50,10 @@ const PostChatLoadingPaneStateful = props => {
46
50
  if (firstElement && firstElement[0]) {
47
51
  firstElement[0].focus();
48
52
  }
53
+
54
+ _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
55
+ Event: _TelemetryConstants.TelemetryEvent.PostChatSurveyLoadingPaneLoaded
56
+ });
49
57
  }, []);
50
58
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.LoadingPane, {
51
59
  componentOverrides: props.componentOverrides,
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.PreChatSurveyPaneStateful = void 0;
7
7
 
8
+ var _Constants = require("../../common/Constants");
9
+
8
10
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
11
 
10
12
  var _react = _interopRequireWildcard(require("react"));
@@ -13,12 +15,12 @@ var _utils = require("../../common/utils");
13
15
 
14
16
  var _ConversationState = require("../../contexts/common/ConversationState");
15
17
 
18
+ var _DataStoreManager = require("../../common/contextDataStore/DataStoreManager");
19
+
16
20
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
17
21
 
18
22
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
19
23
 
20
- var _Constants = require("../../common/Constants");
21
-
22
24
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
23
25
 
24
26
  var _defaultGeneralPreChatSurveyPaneStyleProps = require("./common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps");
@@ -63,7 +65,7 @@ const PreChatSurveyPaneStateful = props => {
63
65
  try {
64
66
  return (0, _utils.parseAdaptiveCardPayload)(payload, requiredFieldMissingMessage);
65
67
  } catch (ex) {
66
- _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.ERROR, {
68
+ _TelemetryHelper.TelemetryHelper.logConfigDataEvent(_TelemetryConstants.LogLevel.ERROR, {
67
69
  Event: _TelemetryConstants.TelemetryEvent.ParseAdaptiveCardFailed,
68
70
  Description: "Adaptive Card JSON Parse Failed.",
69
71
  ExceptionDetails: {
@@ -91,14 +93,29 @@ const PreChatSurveyPaneStateful = props => {
91
93
  });
92
94
 
93
95
  try {
94
- const prechatResponseValues = (0, _utils.extractPreChatSurveyResponseValues)(state.domainStates.preChatSurveyResponse, values);
95
- const optionalParams = {
96
- initContext: {
97
- preChatResponse: prechatResponseValues
98
- }
99
- };
100
- setPreChatResponseEmail(values);
101
- await initStartChat(optionalParams);
96
+ var _DataStoreManager$cli, _persistedState$domai;
97
+
98
+ const widgetStateFromCache = (_DataStoreManager$cli = _DataStoreManager.DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.getData(_Constants.Constants.widgetStateDataKey, "localStorage");
99
+ const persistedState = widgetStateFromCache ? JSON.parse(widgetStateFromCache) : undefined;
100
+ let optionalParams = {};
101
+
102
+ if (persistedState !== null && persistedState !== void 0 && (_persistedState$domai = persistedState.domainStates) !== null && _persistedState$domai !== void 0 && _persistedState$domai.liveChatContext) {
103
+ var _persistedState$domai2;
104
+
105
+ optionalParams = {
106
+ liveChatContext: persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai2 = persistedState.domainStates) === null || _persistedState$domai2 === void 0 ? void 0 : _persistedState$domai2.liveChatContext
107
+ };
108
+ await initStartChat(optionalParams, persistedState);
109
+ } else {
110
+ const prechatResponseValues = (0, _utils.extractPreChatSurveyResponseValues)(state.domainStates.preChatSurveyResponse, values);
111
+ optionalParams = {
112
+ initContext: {
113
+ preChatResponse: prechatResponseValues
114
+ }
115
+ };
116
+ setPreChatResponseEmail(values);
117
+ await initStartChat(optionalParams);
118
+ }
102
119
  } catch (ex) {
103
120
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
104
121
  Event: _TelemetryConstants.TelemetryEvent.PreChatSurveyStartChatMethodFailed,
@@ -51,7 +51,7 @@ const ProactiveChatPaneStateful = props => {
51
51
  payload: _ConversationState.ConversationState.Closed
52
52
  });
53
53
 
54
- _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
54
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
55
55
  Event: _TelemetryConstants.TelemetryEvent.ProactiveChatRejected,
56
56
  ElapsedTimeInMilliseconds: _TelemetryManager.TelemetryTimers.LcwLoadToChatButtonTimer.milliSecondsElapsed,
57
57
  Description: "Proactive chat invitation timed out."
@@ -75,14 +75,14 @@ const ProactiveChatPaneStateful = props => {
75
75
  if (state.appStates.proactiveChatStates.proactiveChatInNewWindow) {
76
76
  // TODO: BroadcastService: replace with the sdk broadcast service, when in place
77
77
  const startPopoutChatEvent = {
78
- eventName: "StartPopoutChat"
78
+ eventName: _TelemetryConstants.BroadcastEvent.ProactiveChatStartPopoutChat
79
79
  };
80
80
 
81
81
  _omnichannelChatComponents.BroadcastService.postMessage(startPopoutChatEvent);
82
82
 
83
83
  dispatch({
84
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SKIP_CHAT_BUTTON_RENDERING,
85
- payload: true
84
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
85
+ payload: _ConversationState.ConversationState.Closed
86
86
  });
87
87
  } else if (((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.OutOfOperatingHours) === "True") {
88
88
  dispatch({
@@ -94,6 +94,12 @@ const ProactiveChatPaneStateful = props => {
94
94
  payload: _ConversationState.ConversationState.OutOfOffice
95
95
  });
96
96
  } else {
97
+ const proactiveChatStarted = {
98
+ eventName: _TelemetryConstants.BroadcastEvent.ProactiveChatStartChat
99
+ };
100
+
101
+ _omnichannelChatComponents.BroadcastService.postMessage(proactiveChatStarted);
102
+
97
103
  await startChat();
98
104
  }
99
105
  },
@@ -24,6 +24,10 @@ class MockChatSDK {
24
24
  return null;
25
25
  }
26
26
 
27
+ getChatToken() {
28
+ return null;
29
+ }
30
+
27
31
  createChatAdapter() {
28
32
  return new _mockadapter.default();
29
33
  } // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -5,85 +5,63 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.isInlineMediaSupported = exports.getFileAttachmentIconData = void 0;
7
7
 
8
- var _BrowserVendor = require("../../webchatcontroller/enums/BrowserVendor");
8
+ var _Icons = require("../../../../assets/Icons");
9
9
 
10
10
  var _BrowserInfo = require("./BrowserInfo");
11
11
 
12
- var _archiveIcon = _interopRequireDefault(require("../../../../assets/icons/archiveIcon.svg"));
13
-
14
- var _audioIcon = _interopRequireDefault(require("../../../../assets/icons/audioIcon.svg"));
15
-
16
- var _blankIcon = _interopRequireDefault(require("../../../../assets/icons/blankIcon.svg"));
17
-
18
- var _videoIcon = _interopRequireDefault(require("../../../../assets/icons/videoIcon.svg"));
19
-
20
- var _imageIcon = _interopRequireDefault(require("../../../../assets/icons/imageIcon.svg"));
21
-
22
- var _wordIcon = _interopRequireDefault(require("../../../../assets/icons/wordIcon.svg"));
23
-
24
- var _oneNoteIcon = _interopRequireDefault(require("../../../../assets/icons/oneNoteIcon.svg"));
25
-
26
- var _powerpointIcon = _interopRequireDefault(require("../../../../assets/icons/powerpointIcon.svg"));
27
-
28
- var _visioIcon = _interopRequireDefault(require("../../../../assets/icons/visioIcon.svg"));
29
-
30
- var _pdfIcon = _interopRequireDefault(require("../../../../assets/icons/pdfIcon.svg"));
31
-
32
- var _excelIcon = _interopRequireDefault(require("../../../../assets/icons/excelIcon.svg"));
12
+ var _BrowserVendor = require("../../webchatcontroller/enums/BrowserVendor");
33
13
 
34
14
  var _Constants = require("../../../../common/Constants");
35
15
 
36
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
-
38
16
  const FileAttachmentIconMap = {
39
- "aac": _audioIcon.default,
40
- "aiff": _audioIcon.default,
41
- "alac": _audioIcon.default,
42
- "avchd": _videoIcon.default,
43
- "avi": _videoIcon.default,
44
- "bmp": _imageIcon.default,
45
- "doc": _wordIcon.default,
46
- "docx": _wordIcon.default,
47
- "flac": _audioIcon.default,
48
- "flv": _videoIcon.default,
49
- "gif": _imageIcon.default,
50
- "jiff": _imageIcon.default,
51
- "jpeg": _imageIcon.default,
52
- "jpg": _imageIcon.default,
53
- "mpe": _videoIcon.default,
54
- "mpeg": _videoIcon.default,
55
- "mpg": _videoIcon.default,
56
- "mpv": _videoIcon.default,
57
- "mp2": _audioIcon.default,
58
- "mp3": _audioIcon.default,
59
- "mp4": _videoIcon.default,
60
- "m4p": _videoIcon.default,
61
- "m4v": _videoIcon.default,
62
- "mov": _videoIcon.default,
63
- "one": _oneNoteIcon.default,
64
- "pcm": _audioIcon.default,
65
- "pdf": _pdfIcon.default,
66
- "png": _imageIcon.default,
67
- "ppt": _powerpointIcon.default,
68
- "pptx": _powerpointIcon.default,
69
- "qt": _videoIcon.default,
70
- "rar": _archiveIcon.default,
71
- "swf": _videoIcon.default,
72
- "tar": _archiveIcon.default,
73
- "tar.gz": _archiveIcon.default,
74
- "tgz": _archiveIcon.default,
75
- "txt": _blankIcon.default,
76
- "vsd": _visioIcon.default,
77
- "vsdx": _visioIcon.default,
78
- "wav": _audioIcon.default,
79
- "webm": _videoIcon.default,
80
- "wma": _audioIcon.default,
81
- "wmv": _videoIcon.default,
82
- "xls": _excelIcon.default,
83
- "xlsx": _excelIcon.default,
84
- "zip": _archiveIcon.default,
85
- "zipx": _archiveIcon.default,
86
- "7z": _archiveIcon.default
17
+ "aac": _Icons.AudioIcon,
18
+ "aiff": _Icons.AudioIcon,
19
+ "alac": _Icons.AudioIcon,
20
+ "avchd": _Icons.VideoIcon,
21
+ "avi": _Icons.VideoIcon,
22
+ "bmp": _Icons.ImageIcon,
23
+ "doc": _Icons.WordIcon,
24
+ "docx": _Icons.WordIcon,
25
+ "flac": _Icons.AudioIcon,
26
+ "flv": _Icons.VideoIcon,
27
+ "gif": _Icons.ImageIcon,
28
+ "jiff": _Icons.ImageIcon,
29
+ "jpeg": _Icons.ImageIcon,
30
+ "jpg": _Icons.ImageIcon,
31
+ "mpe": _Icons.VideoIcon,
32
+ "mpeg": _Icons.VideoIcon,
33
+ "mpg": _Icons.VideoIcon,
34
+ "mpv": _Icons.VideoIcon,
35
+ "mp2": _Icons.AudioIcon,
36
+ "mp3": _Icons.AudioIcon,
37
+ "mp4": _Icons.VideoIcon,
38
+ "m4p": _Icons.VideoIcon,
39
+ "m4v": _Icons.VideoIcon,
40
+ "mov": _Icons.VideoIcon,
41
+ "one": _Icons.OneNoteIcon,
42
+ "pcm": _Icons.AudioIcon,
43
+ "pdf": _Icons.PDFIcon,
44
+ "png": _Icons.ImageIcon,
45
+ "ppt": _Icons.PowerpointIcon,
46
+ "pptx": _Icons.PowerpointIcon,
47
+ "qt": _Icons.VideoIcon,
48
+ "rar": _Icons.ArchiveIcon,
49
+ "swf": _Icons.VideoIcon,
50
+ "tar": _Icons.ArchiveIcon,
51
+ "tar.gz": _Icons.ArchiveIcon,
52
+ "tgz": _Icons.ArchiveIcon,
53
+ "txt": _Icons.BlankIcon,
54
+ "vsd": _Icons.VisioIcon,
55
+ "vsdx": _Icons.VisioIcon,
56
+ "wav": _Icons.AudioIcon,
57
+ "webm": _Icons.VideoIcon,
58
+ "wma": _Icons.AudioIcon,
59
+ "wmv": _Icons.VideoIcon,
60
+ "xls": _Icons.ExcelIcon,
61
+ "xlsx": _Icons.ExcelIcon,
62
+ "zip": _Icons.ArchiveIcon,
63
+ "zipx": _Icons.ArchiveIcon,
64
+ "7z": _Icons.ArchiveIcon
87
65
  };
88
66
  /**
89
67
  * Get file attachment icon image depending on extension.
@@ -94,7 +72,7 @@ const FileAttachmentIconMap = {
94
72
  const getFileAttachmentIconData = extension => {
95
73
  const key = extension.startsWith(".") ? extension.slice(1) : extension || "";
96
74
 
97
- const icon = FileAttachmentIconMap[key.toLowerCase()] || _blankIcon.default;
75
+ const icon = FileAttachmentIconMap[key.toLowerCase()] || _Icons.BlankIcon;
98
76
 
99
77
  return icon;
100
78
  }; // Check if browser supports inline media playing for current media format