@microsoft/omnichannel-chat-widget 0.1.0-main.5854782 → 0.1.0-main.60c3e17

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 (70) hide show
  1. package/lib/cjs/common/storage/default/defaultCacheManager.js +34 -0
  2. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +114 -0
  3. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +86 -0
  4. package/lib/cjs/common/telemetry/TelemetryConstants.js +13 -0
  5. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +31 -18
  6. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +4 -4
  7. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +4 -4
  8. package/lib/cjs/components/footerstateful/FooterStateful.js +5 -13
  9. package/lib/cjs/components/headerstateful/HeaderStateful.js +10 -4
  10. package/lib/cjs/components/livechatwidget/common/authHelper.js +16 -3
  11. package/lib/cjs/components/livechatwidget/common/createFooter.js +7 -16
  12. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +12 -0
  13. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +49 -17
  14. package/lib/cjs/components/livechatwidget/common/startChat.js +12 -3
  15. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +85 -48
  16. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +6 -4
  17. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  18. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +20 -4
  19. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +4 -1
  20. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  21. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  22. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +2 -1
  23. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  24. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +1 -1
  25. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +11 -4
  26. package/lib/cjs/contexts/createReducer.js +2 -2
  27. package/lib/esm/common/storage/default/defaultCacheManager.js +19 -0
  28. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +102 -0
  29. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +71 -0
  30. package/lib/esm/common/telemetry/TelemetryConstants.js +13 -0
  31. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +29 -13
  32. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +4 -4
  33. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +4 -4
  34. package/lib/esm/components/footerstateful/FooterStateful.js +5 -13
  35. package/lib/esm/components/headerstateful/HeaderStateful.js +10 -4
  36. package/lib/esm/components/livechatwidget/common/authHelper.js +14 -3
  37. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -15
  38. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +8 -0
  39. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +49 -17
  40. package/lib/esm/components/livechatwidget/common/startChat.js +13 -4
  41. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +85 -48
  42. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +5 -4
  43. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  44. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +15 -2
  45. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  46. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  47. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  48. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +2 -1
  49. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  50. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +1 -1
  51. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +9 -4
  52. package/lib/esm/contexts/createReducer.js +2 -2
  53. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  54. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  55. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  56. package/lib/types/common/telemetry/TelemetryConstants.d.ts +5 -1
  57. package/lib/types/components/livechatwidget/common/authHelper.d.ts +3 -2
  58. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -2
  59. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  60. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  61. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  62. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  63. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +2 -1
  64. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
  65. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  66. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  67. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -1
  68. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +1 -1
  69. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  70. package/package.json +3 -3
@@ -187,24 +187,28 @@ const dummyDefaultProps = {
187
187
  },
188
188
  audioCallButtonStyleProps: {
189
189
  borderRadius: "50%",
190
- color: "#FFFFFF",
191
190
  backgroundColor: "#008000",
192
191
  lineHeight: "40px",
193
192
  height: "40px",
194
193
  width: "40px",
195
- fontSize: 18
194
+ icon: {
195
+ fontSize: 18,
196
+ color: "#FFFFFF"
197
+ }
196
198
  },
197
199
  audioCallButtonHoverStyleProps: {
198
200
  filter: "brightness(0.8)"
199
201
  },
200
202
  videoCallButtonStyleProps: {
201
203
  borderRadius: "50%",
202
- color: "#FFFFFF",
203
204
  backgroundColor: "#008000",
204
205
  lineHeight: "40px",
205
206
  height: "40px",
206
207
  width: "40px",
207
- fontSize: 18
208
+ icon: {
209
+ fontSize: 18,
210
+ color: "#FFFFFF"
211
+ }
208
212
  },
209
213
  videoCallButtonHoverStyleProps: {
210
214
  filter: "brightness(0.8)"
@@ -215,13 +219,15 @@ const dummyDefaultProps = {
215
219
  },
216
220
  declineCallButtonStyleProps: {
217
221
  borderRadius: "50%",
218
- color: "#FFFFFF",
219
222
  backgroundColor: "#DC0000",
220
223
  lineHeight: "40px",
221
224
  height: "40px",
222
225
  width: "40px",
223
- fontSize: 18,
224
- marginLeft: "5px"
226
+ marginLeft: "5px",
227
+ icon: {
228
+ fontSize: 18,
229
+ color: "#FFFFFF"
230
+ }
225
231
  },
226
232
  incomingCallTitleStyleProps: {
227
233
  margin: "0 5px",
@@ -339,7 +345,8 @@ const dummyDefaultProps = {
339
345
  hideChatTitle: false,
340
346
  hideNotificationBubble: true,
341
347
  unreadMessageString: "new messages",
342
- largeUnreadMessageString: "99+"
348
+ largeUnreadMessageString: "99+",
349
+ ariaLabelUnreadMessageString: "you have new messages"
343
350
  },
344
351
  styleProps: {
345
352
  generalStyleProps: {
@@ -791,6 +798,7 @@ const dummyDefaultProps = {
791
798
  },
792
799
  audioNotificationButtonProps: {
793
800
  id: "oc-lcw-footer-audionotification-button",
801
+ type: "icon",
794
802
  ariaLabel: "Turn sound off",
795
803
  toggleAriaLabel: "Turn sound on",
796
804
  iconName: "Volume3",
@@ -816,8 +824,10 @@ const dummyDefaultProps = {
816
824
  padding: "0 10px 5px 10px"
817
825
  },
818
826
  downloadTranscriptButtonStyleProps: {
819
- color: "blue",
820
- fontSize: 16,
827
+ icon: {
828
+ color: "blue",
829
+ fontSize: 16
830
+ },
821
831
  height: "25px",
822
832
  lineHeight: "25px",
823
833
  width: "25px"
@@ -827,8 +837,10 @@ const dummyDefaultProps = {
827
837
  backgroundColor: "#C8C8C8"
828
838
  },
829
839
  emailTranscriptButtonStyleProps: {
830
- color: "blue",
831
- fontSize: 16,
840
+ cicon: {
841
+ color: "blue",
842
+ fontSize: 16
843
+ },
832
844
  height: "25px",
833
845
  lineHeight: "25px",
834
846
  width: "25px"
@@ -838,8 +850,10 @@ const dummyDefaultProps = {
838
850
  backgroundColor: "#C8C8C8"
839
851
  },
840
852
  audioNotificationButtonStyleProps: {
841
- color: "blue",
842
- fontSize: 16,
853
+ icon: {
854
+ color: "blue",
855
+ fontSize: 16
856
+ },
843
857
  height: "25px",
844
858
  lineHeight: "25px",
845
859
  width: "25px"
@@ -890,7 +904,7 @@ const dummyDefaultProps = {
890
904
  className: undefined
891
905
  },
892
906
  closeButtonProps: {
893
- id: "oc-lcw-header-minimize-button",
907
+ id: "oc-lcw-header-close-button",
894
908
  type: "icon",
895
909
  iconName: "ChromeClose",
896
910
  ariaLabel: "Close",
@@ -1186,7 +1200,8 @@ const dummyDefaultProps = {
1186
1200
  backgroundColor: "#FFFFFF",
1187
1201
  borderColor: "#F1F1F1"
1188
1202
  }
1189
- }
1203
+ },
1204
+ isCustomerVoiceSurveyCompact: undefined
1190
1205
  },
1191
1206
  proactiveChatPaneProps: {
1192
1207
  componentOverrides: {
@@ -1206,7 +1221,17 @@ const dummyDefaultProps = {
1206
1221
  hideSubtitle: false,
1207
1222
  subtitleText: "Live chat support!",
1208
1223
  hideCloseButton: false,
1209
- closeButtonAriaLabel: "Close Button",
1224
+ closeButtonProps: {
1225
+ id: "oc-lcw-proactivechat-closebutton",
1226
+ type: "icon",
1227
+ iconName: "ChromeClose",
1228
+ ariaLabel: "Close",
1229
+ imageIconProps: undefined,
1230
+ text: "Close",
1231
+ onClick: undefined,
1232
+ className: undefined,
1233
+ hideButtonTitle: true
1234
+ },
1210
1235
  isBodyContainerHorizantal: false,
1211
1236
  hideBodyTitle: false,
1212
1237
  bodyTitleText: "Hi! Have any questions? I am here to help.",
@@ -1675,6 +1700,9 @@ const dummyDefaultProps = {
1675
1700
  },
1676
1701
  attachmentSizeStyles: {
1677
1702
  display: "none"
1703
+ },
1704
+ receivedMessageAnchorStyles: {
1705
+ color: "white"
1678
1706
  }
1679
1707
  },
1680
1708
  localizedTexts: {
@@ -1702,6 +1730,10 @@ const dummyDefaultProps = {
1702
1730
  botMagicCode: {
1703
1731
  disabled: false,
1704
1732
  fwdUrl: ""
1733
+ },
1734
+ adaptiveCardStyles: {
1735
+ background: "white",
1736
+ color: "black"
1705
1737
  }
1706
1738
  },
1707
1739
  telemetryConfig: undefined,
@@ -121,6 +121,17 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
121
121
  try {
122
122
  var _newAdapter$activity$, _TelemetryTimers$Widg;
123
123
 
124
+ const authClientFunction = (0, _authHelper.getAuthClientFunction)(chatConfig);
125
+
126
+ if (getAuthToken && authClientFunction) {
127
+ // set auth token to chat sdk before start chat
128
+ const authSuccess = await (0, _authHelper.handleAuthentication)(chatSDK, chatConfig, getAuthToken);
129
+
130
+ if (!authSuccess) {
131
+ return;
132
+ }
133
+ }
134
+
124
135
  let isStartChatSuccessful = false; //Check if chat retrieved from cache
125
136
 
126
137
  if (persistedState || params !== null && params !== void 0 && params.liveChatContext) {
@@ -145,9 +156,7 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
145
156
 
146
157
 
147
158
  setCustomContextParams(chatSDK);
148
- optionalParams = Object.assign({}, params, optionalParams); // set auth token to chat sdk before start chat
149
-
150
- await (0, _authHelper.handleAuthentication)(chatSDK, chatConfig, getAuthToken);
159
+ optionalParams = Object.assign({}, params, optionalParams);
151
160
  await chatSDK.startChat(optionalParams);
152
161
  isStartChatSuccessful = true;
153
162
  } catch (error) {
@@ -91,7 +91,9 @@ var _useChatSDKStore = _interopRequireDefault(require("../../../hooks/useChatSDK
91
91
 
92
92
  var _ActivityStreamHandler = require("../common/ActivityStreamHandler");
93
93
 
94
- var _Constants = require("../../../common/Constants");
94
+ var _defaultCacheManager = require("../../../common/storage/default/defaultCacheManager");
95
+
96
+ var _defaultClientDataStoreProvider = require("../../../common/storage/default/defaultClientDataStoreProvider");
95
97
 
96
98
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
97
99
 
@@ -102,7 +104,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
102
104
  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); }
103
105
 
104
106
  const LiveChatWidgetStateful = props => {
105
- var _props$webChatContain, _props$styleProps, _props$controlProps, _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;
107
+ 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;
106
108
 
107
109
  const [state, dispatch] = (0, _useChatContextStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
110
 
@@ -122,8 +124,10 @@ const LiveChatWidgetStateful = props => {
122
124
  const generalStyles = {
123
125
  root: Object.assign({}, (0, _getGeneralStylesForButton.getGeneralStylesForButton)(state), (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyles)
124
126
  };
127
+ const broadcastServiceChannelName = (0, _utils.getBroadcastChannelName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.widgetId, ((_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId) ?? "");
128
+ (0, _omnichannelChatComponents.BroadcastServiceInitialize)(broadcastServiceChannelName);
125
129
  _TelemetryManager.TelemetryTimers.LcwLoadToChatButtonTimer = (0, _utils.createTimer)();
126
- const widgetElementId = ((_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.id) || "oc-lcw";
130
+ const widgetElementId = ((_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.id) || "oc-lcw";
127
131
  const currentMessageCountRef = (0, _react2.useRef)(0);
128
132
  let widgetStateEventName = "";
129
133
 
@@ -150,32 +154,39 @@ const LiveChatWidgetStateful = props => {
150
154
  };
151
155
 
152
156
  (0, _react2.useEffect)(() => {
153
- var _chatSDK$omnichannelC, _props$controlProps2, _props$controlProps3, _props$controlProps4, _props$controlProps5, _props$controlProps7, _props$chatConfig, _props$chatConfig$Cha, _props$controlProps8, _props$reconnectChatP, _props$chatConfig2, _props$chatConfig2$Li;
157
+ var _props$controlProps4, _props$controlProps5, _props$controlProps6, _props$controlProps8, _props$chatConfig, _props$chatConfig$Cha, _props$controlProps9, _props$reconnectChatP, _props$chatConfig2, _props$chatConfig2$Li, _props$reconnectChatP4, _state$domainStates;
158
+
159
+ // Add default localStorage support for widget
160
+ if (props.contextDataStore === undefined) {
161
+ var _chatSDK$omnichannelC2, _chatSDK$omnichannelC3, _props$controlProps3;
162
+
163
+ (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) ?? "");
164
+ _DataStoreManager.DataStoreManager.clientDataStore = (0, _defaultClientDataStoreProvider.defaultClientDataStoreProvider)();
165
+ } else {
166
+ _DataStoreManager.DataStoreManager.clientDataStore = props.contextDataStore;
167
+ }
154
168
 
155
- const broadcastServiceChannelName = (0, _utils.getBroadcastChannelName)(chatSDK === null || chatSDK === void 0 ? void 0 : (_chatSDK$omnichannelC = chatSDK.omnichannelConfig) === null || _chatSDK$omnichannelC === void 0 ? void 0 : _chatSDK$omnichannelC.widgetId, ((_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.widgetInstanceId) ?? "");
156
- (0, _omnichannelChatComponents.BroadcastServiceInitialize)(broadcastServiceChannelName);
157
169
  (0, _registerTelemetryLoggers.registerTelemetryLoggers)(props, dispatch);
158
170
  (0, _createInternetConnectionChangeHandler.createInternetConnectionChangeHandler)();
159
- _DataStoreManager.DataStoreManager.clientDataStore = props.contextDataStore ?? undefined;
160
171
  dispatch({
161
172
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_ELEMENT_ID,
162
173
  payload: widgetElementId
163
174
  });
164
175
  dispatch({
165
176
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_SKIP_CHAT_BUTTON_RENDERING,
166
- payload: ((_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : _props$controlProps3.skipChatButtonRendering) || false
177
+ payload: ((_props$controlProps4 = props.controlProps) === null || _props$controlProps4 === void 0 ? void 0 : _props$controlProps4.skipChatButtonRendering) || false
167
178
  });
168
179
  dispatch({
169
180
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_E2VV_ENABLED,
170
181
  payload: false
171
182
  });
172
183
 
173
- if ((_props$controlProps4 = props.controlProps) !== null && _props$controlProps4 !== void 0 && _props$controlProps4.widgetInstanceId && !(0, _utils.isNullOrEmptyString)((_props$controlProps5 = props.controlProps) === null || _props$controlProps5 === void 0 ? void 0 : _props$controlProps5.widgetInstanceId)) {
174
- var _props$controlProps6;
184
+ 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)) {
185
+ var _props$controlProps7;
175
186
 
176
187
  dispatch({
177
188
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_WIDGET_INSTANCE_ID,
178
- payload: (_props$controlProps6 = props.controlProps) === null || _props$controlProps6 === void 0 ? void 0 : _props$controlProps6.widgetInstanceId
189
+ payload: (_props$controlProps7 = props.controlProps) === null || _props$controlProps7 === void 0 ? void 0 : _props$controlProps7.widgetInstanceId
179
190
  });
180
191
  }
181
192
 
@@ -186,35 +197,48 @@ const LiveChatWidgetStateful = props => {
186
197
  });
187
198
  }); // Initialize global dir
188
199
 
189
- const globalDir = ((_props$controlProps7 = props.controlProps) === null || _props$controlProps7 === void 0 ? void 0 : _props$controlProps7.dir) ?? (0, _utils.getLocaleDirection)((_props$chatConfig = props.chatConfig) === null || _props$chatConfig === void 0 ? void 0 : (_props$chatConfig$Cha = _props$chatConfig.ChatWidgetLanguage) === null || _props$chatConfig$Cha === void 0 ? void 0 : _props$chatConfig$Cha.msdyn_localeid);
200
+ const globalDir = ((_props$controlProps8 = props.controlProps) === null || _props$controlProps8 === void 0 ? void 0 : _props$controlProps8.dir) ?? (0, _utils.getLocaleDirection)((_props$chatConfig = props.chatConfig) === null || _props$chatConfig === void 0 ? void 0 : (_props$chatConfig$Cha = _props$chatConfig.ChatWidgetLanguage) === null || _props$chatConfig$Cha === void 0 ? void 0 : _props$chatConfig$Cha.msdyn_localeid);
190
201
  dispatch({
191
202
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_GLOBAL_DIR,
192
203
  payload: globalDir
193
204
  });
194
205
 
195
- if (!((_props$controlProps8 = props.controlProps) !== null && _props$controlProps8 !== void 0 && _props$controlProps8.skipChatButtonRendering) && (_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
206
+ if (!((_props$controlProps9 = props.controlProps) !== null && _props$controlProps9 !== void 0 && _props$controlProps9.skipChatButtonRendering) && (_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
196
207
  var _props$reconnectChatP2, _props$reconnectChatP3;
197
208
 
198
209
  (0, _reconnectChatHelper.startUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.isReconnectEnabled, (_props$reconnectChatP3 = props.reconnectChatPaneProps) === null || _props$reconnectChatP3 === void 0 ? void 0 : _props$reconnectChatP3.reconnectId, _startChat.initStartChat);
199
210
  return;
200
- } // Check if auth settings enabled, do not connect to existing chat from cache during refresh/re-load
211
+ } // Checks if reconnectId is present for auth chat. If it is present, then it shows reconnect chat pane,
212
+ // where customer can choose to continue previous conversation or start new conversation
201
213
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
202
214
 
203
215
 
204
216
  const isAuthenticationSettingsEnabled = (_props$chatConfig2 = props.chatConfig) !== null && _props$chatConfig2 !== void 0 && (_props$chatConfig2$Li = _props$chatConfig2.LiveChatConfigAuthSettings) !== null && _props$chatConfig2$Li !== void 0 && _props$chatConfig2$Li.msdyn_javascriptclientfunction ? true : false;
205
217
 
206
- if (isAuthenticationSettingsEnabled === false) {
207
- var _state$domainStates;
218
+ if (!state.appStates.skipChatButtonRendering && state.appStates.conversationState === _ConversationState.ConversationState.Active && isAuthenticationSettingsEnabled === true && (_props$reconnectChatP4 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP4 !== void 0 && _props$reconnectChatP4.isReconnectEnabled) {
219
+ (0, _reconnectChatHelper.getReconnectIdForAuthenticatedChat)(props, chatSDK).then(authReconnectId => {
220
+ if (authReconnectId && !state.appStates.reconnectId) {
221
+ dispatch({
222
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_RECONNECT_ID,
223
+ payload: authReconnectId
224
+ });
225
+ dispatch({
226
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
227
+ payload: _ConversationState.ConversationState.ReconnectChat
228
+ });
229
+ }
230
+ });
231
+ return;
232
+ }
208
233
 
209
- if (!(0, _utils.isUndefinedOrEmpty)((_state$domainStates = state.domainStates) === null || _state$domainStates === void 0 ? void 0 : _state$domainStates.liveChatContext) && state.appStates.conversationState === _ConversationState.ConversationState.Active) {
210
- var _state$domainStates2;
234
+ if (!state.appStates.skipChatButtonRendering && !(0, _utils.isUndefinedOrEmpty)((_state$domainStates = state.domainStates) === null || _state$domainStates === void 0 ? void 0 : _state$domainStates.liveChatContext) && state.appStates.conversationState === _ConversationState.ConversationState.Active) {
235
+ var _state$domainStates2;
211
236
 
212
- const optionalParams = {
213
- liveChatContext: (_state$domainStates2 = state.domainStates) === null || _state$domainStates2 === void 0 ? void 0 : _state$domainStates2.liveChatContext
214
- };
215
- (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams);
216
- return;
217
- }
237
+ const optionalParams = {
238
+ liveChatContext: (_state$domainStates2 = state.domainStates) === null || _state$domainStates2 === void 0 ? void 0 : _state$domainStates2.liveChatContext
239
+ };
240
+ (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams);
241
+ return;
218
242
  } // All other case should show start chat button, skipChatButtonRendering will take care of it own
219
243
 
220
244
 
@@ -226,16 +250,16 @@ const LiveChatWidgetStateful = props => {
226
250
 
227
251
  (0, _react2.useEffect)(() => {
228
252
  if (state.appStates.skipChatButtonRendering) {
229
- var _props$reconnectChatP4;
253
+ var _props$reconnectChatP5;
230
254
 
231
255
  _omnichannelChatComponents.BroadcastService.postMessage({
232
256
  eventName: _TelemetryConstants.BroadcastEvent.ChatInitiated
233
257
  });
234
258
 
235
- if ((_props$reconnectChatP4 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP4 !== void 0 && _props$reconnectChatP4.reconnectId && !state.appStates.reconnectId) {
236
- var _props$reconnectChatP5, _props$reconnectChatP6, _props$reconnectChatP7;
259
+ if ((_props$reconnectChatP5 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP5 !== void 0 && _props$reconnectChatP5.reconnectId && !state.appStates.reconnectId) {
260
+ var _props$reconnectChatP6, _props$reconnectChatP7, _props$reconnectChatP8;
237
261
 
238
- (0, _reconnectChatHelper.handleUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, (_props$reconnectChatP5 = props.reconnectChatPaneProps) === null || _props$reconnectChatP5 === void 0 ? void 0 : _props$reconnectChatP5.isReconnectEnabled, (_props$reconnectChatP6 = props.reconnectChatPaneProps) === null || _props$reconnectChatP6 === void 0 ? void 0 : _props$reconnectChatP6.reconnectId, _startChat.initStartChat, (_props$reconnectChatP7 = props.reconnectChatPaneProps) === null || _props$reconnectChatP7 === void 0 ? void 0 : _props$reconnectChatP7.redirectInSameWindow);
262
+ (0, _reconnectChatHelper.handleUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, (_props$reconnectChatP6 = props.reconnectChatPaneProps) === null || _props$reconnectChatP6 === void 0 ? void 0 : _props$reconnectChatP6.isReconnectEnabled, (_props$reconnectChatP7 = props.reconnectChatPaneProps) === null || _props$reconnectChatP7 === void 0 ? void 0 : _props$reconnectChatP7.reconnectId, _startChat.initStartChat, (_props$reconnectChatP8 = props.reconnectChatPaneProps) === null || _props$reconnectChatP8 === void 0 ? void 0 : _props$reconnectChatP8.redirectInSameWindow);
239
263
  } else {
240
264
  (0, _reconnectChatHelper.getReconnectIdForAuthenticatedChat)(props, chatSDK).then(authReconnectId => {
241
265
  if (authReconnectId && !state.appStates.reconnectId) {
@@ -248,13 +272,24 @@ const LiveChatWidgetStateful = props => {
248
272
  payload: _ConversationState.ConversationState.ReconnectChat
249
273
  });
250
274
  } else {
275
+ var _state$domainStates3;
276
+
251
277
  const chatStartedSkippingChatButtonRendering = {
252
278
  eventName: _TelemetryConstants.BroadcastEvent.StartChatSkippingChatButtonRendering
253
279
  };
254
280
 
255
281
  _omnichannelChatComponents.BroadcastService.postMessage(chatStartedSkippingChatButtonRendering);
256
282
 
257
- (0, _startChat.setPreChatAndInitiateChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter);
283
+ if (!(0, _utils.isUndefinedOrEmpty)((_state$domainStates3 = state.domainStates) === null || _state$domainStates3 === void 0 ? void 0 : _state$domainStates3.liveChatContext) && state.appStates.conversationState === _ConversationState.ConversationState.Active) {
284
+ var _state$domainStates4;
285
+
286
+ const optionalParams = {
287
+ liveChatContext: (_state$domainStates4 = state.domainStates) === null || _state$domainStates4 === void 0 ? void 0 : _state$domainStates4.liveChatContext
288
+ };
289
+ (0, _startChat.initStartChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, optionalParams);
290
+ } else {
291
+ (0, _startChat.setPreChatAndInitiateChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter);
292
+ }
258
293
  }
259
294
  });
260
295
  }
@@ -262,7 +297,7 @@ const LiveChatWidgetStateful = props => {
262
297
  }, [state.appStates.skipChatButtonRendering]); // useEffect for when skip chat button rendering
263
298
 
264
299
  (0, _react2.useEffect)(() => {
265
- var _chatSDK$omnichannelC6, _chatSDK$omnichannelC7, _props$controlProps11;
300
+ var _chatSDK$omnichannelC8, _chatSDK$omnichannelC9, _props$controlProps12;
266
301
 
267
302
  // Add the custom context on receiving the SetCustomContext event
268
303
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.SetCustomContext).subscribe(msg => {
@@ -297,14 +332,14 @@ const LiveChatWidgetStateful = props => {
297
332
 
298
333
 
299
334
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.StartChat).subscribe(() => {
300
- var _chatSDK$omnichannelC2, _chatSDK$omnichannelC3, _props$controlProps9;
335
+ var _chatSDK$omnichannelC4, _chatSDK$omnichannelC5, _props$controlProps10;
301
336
 
302
337
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
303
338
  Event: _TelemetryConstants.TelemetryEvent.StartChatEventRecevied,
304
339
  Description: "Start chat event received."
305
340
  });
306
341
 
307
- const persistedState = (0, _utils.getStateFromCache)(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$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.widgetInstanceId) ?? ""); // Chat not found in cache
342
+ 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) ?? ""); // Chat not found in cache
308
343
 
309
344
  if (persistedState === undefined) {
310
345
  _omnichannelChatComponents.BroadcastService.postMessage({
@@ -348,10 +383,10 @@ const LiveChatWidgetStateful = props => {
348
383
 
349
384
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.InitiateEndChat).subscribe(async () => {
350
385
  if (state.appStates.skipChatButtonRendering !== true) {
351
- var _chatSDK$omnichannelC4, _chatSDK$omnichannelC5, _props$controlProps10;
386
+ var _chatSDK$omnichannelC6, _chatSDK$omnichannelC7, _props$controlProps11;
352
387
 
353
388
  // This is to ensure to get latest state from cache in multitab
354
- 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) ?? "");
389
+ 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) ?? "");
355
390
 
356
391
  if (persistedState && persistedState.appStates.conversationState === _ConversationState.ConversationState.Active) {
357
392
  (0, _endChat.prepareEndChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, state);
@@ -373,7 +408,7 @@ const LiveChatWidgetStateful = props => {
373
408
  }); // Listen to end chat event from other tabs
374
409
 
375
410
 
376
- const endChatEventName = (0, _utils.getWidgetEndChatEventName)(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$controlProps11 = props.controlProps) === null || _props$controlProps11 === void 0 ? void 0 : _props$controlProps11.widgetInstanceId) ?? "");
411
+ 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) ?? "");
377
412
 
378
413
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(endChatEventName).subscribe(async () => {
379
414
  (0, _endChat.endChat)(props, chatSDK, setAdapter, setWebChatStyles, dispatch, adapter, false, false, false);
@@ -459,23 +494,25 @@ const LiveChatWidgetStateful = props => {
459
494
  }, [(_props$webChatContain3 = props.webChatContainerProps) === null || _props$webChatContain3 === void 0 ? void 0 : _props$webChatContain3.webChatStyles]); // Publish chat widget state
460
495
 
461
496
  (0, _react2.useEffect)(() => {
462
- var _props$controlProps12, _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps13;
497
+ var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps13;
463
498
 
464
499
  // Only activate these windows events when conversation state is active and chat widget is in popout mode
465
500
  // Ghost chat scenarios
466
- if (state.appStates.conversationState === _ConversationState.ConversationState.Active && ((_props$controlProps12 = props.controlProps) === null || _props$controlProps12 === void 0 ? void 0 : _props$controlProps12.skipChatButtonRendering) === true) {
467
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
468
- window.onbeforeunload = function () {
469
- const prompt = _Constants.Constants.BrowserUnloadConfirmationMessage;
470
- return prompt;
471
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
472
-
473
-
474
- window.onunload = function () {
475
- initiateEndChatOnBrowserUnload();
476
- };
477
- }
478
501
 
502
+ /* COMMENTING THIS CODE FOR PARITY WITH OLD LCW
503
+ if (state.appStates.conversationState === ConversationState.Active &&
504
+ props.controlProps?.skipChatButtonRendering === true) {
505
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
506
+
507
+ window.onbeforeunload = function () {
508
+ const prompt = Constants.BrowserUnloadConfirmationMessage;
509
+ return prompt;
510
+ };
511
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
512
+ window.onunload = function () {
513
+ initiateEndChatOnBrowserUnload();
514
+ };
515
+ }*/
479
516
  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) ?? "");
480
517
  const chatWidgetStateChangeEvent = {
481
518
  eventName: widgetStateEventName,
@@ -19,6 +19,8 @@ var _utils = require("../../common/utils");
19
19
 
20
20
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
21
21
 
22
+ var _PostChatSurveyMode = require("./enums/PostChatSurveyMode");
23
+
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
25
 
24
26
  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); }
@@ -26,17 +28,17 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
26
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
29
 
28
30
  const PostChatSurveyPaneStateful = props => {
29
- var _props$styleProps, _props$controlProps;
30
-
31
- const [state] = (0, _useChatContextStore.default)(); // ToDo : TASK 2628392 Fix PostChat iframe reloading on Minimize
31
+ var _state$domainStates$l, _state$domainStates$l2, _props$styleProps, _props$controlProps;
32
32
 
33
+ const [state] = (0, _useChatContextStore.default)();
34
+ const postChatSurveyMode = (_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.msdyn_postconversationsurveymode;
33
35
  const generalStyleProps = Object.assign({}, _defaultgeneralPostChatSurveyPaneStyleProps.defaultGeneralPostChatSurveyPaneStyleProps, (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps, {
34
36
  display: state.appStates.isMinimized ? "none" : ""
35
37
  });
36
38
  let surveyInviteLink = "";
37
39
 
38
40
  if (state.domainStates.postChatContext.surveyInviteLink) {
39
- surveyInviteLink = state.domainStates.postChatContext.surveyInviteLink + "&lang=" + (state.domainStates.postChatContext.formsProLocale ?? "en");
41
+ surveyInviteLink = state.domainStates.postChatContext.surveyInviteLink + "&embed=" + (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed).toString() + "&compact=" + (props.isCustomerVoiceSurveyCompact ?? true).toString() + "&lang=" + (state.domainStates.postChatContext.formsProLocale ?? "en") + "&showmultilingual=false";
40
42
  }
41
43
 
42
44
  const styleProps = { ...props.styleProps,
@@ -13,6 +13,8 @@ var _react2 = _interopRequireWildcard(require("react"));
13
13
 
14
14
  var _botframeworkWebchat = require("botframework-webchat");
15
15
 
16
+ var _broadcastChannel = require("broadcast-channel");
17
+
16
18
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
17
19
 
18
20
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
@@ -33,6 +35,10 @@ var _Constants = require("../../common/Constants");
33
35
 
34
36
  var _BotMagicCodeStore = require("./webchatcontroller/BotMagicCodeStore");
35
37
 
38
+ var _defaultAdaptiveCardStyles = require("./common/defaultStyles/defaultAdaptiveCardStyles");
39
+
40
+ var _defaultReceivedMessageAnchorStyles = require("./webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles");
41
+
36
42
  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); }
37
43
 
38
44
  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; }
@@ -66,12 +72,14 @@ const createMagicCodeSuccessResponse = signin => {
66
72
  };
67
73
 
68
74
  const WebChatContainerStateful = props => {
75
+ var _props$adaptiveCardSt, _props$adaptiveCardSt2, _props$renderingMiddl, _props$renderingMiddl2, _props$renderingMiddl3, _props$renderingMiddl4;
76
+
69
77
  const {
70
78
  BasicWebChat
71
79
  } = _botframeworkWebchat.Components;
72
80
  const [state, dispatch] = (0, _.useChatContextStore)();
73
- const magicCodeBroadcastChannel = new BroadcastChannel(_Constants.Constants.magicCodeBroadcastChannel);
74
- const magicCodeResponseBroadcastChannel = new BroadcastChannel(_Constants.Constants.magicCodeResponseBroadcastChannel);
81
+ const magicCodeBroadcastChannel = new _broadcastChannel.BroadcastChannel(_Constants.Constants.magicCodeBroadcastChannel);
82
+ const magicCodeResponseBroadcastChannel = new _broadcastChannel.BroadcastChannel(_Constants.Constants.magicCodeResponseBroadcastChannel);
75
83
  const containerStyles = {
76
84
  root: Object.assign({}, _defaultWebChatContainerStatefulProps.defaultWebChatContainerStatefulProps.containerStyles, props === null || props === void 0 ? void 0 : props.containerStyles, {
77
85
  display: state.appStates.isMinimized ? "none" : ""
@@ -139,10 +147,18 @@ const WebChatContainerStateful = props => {
139
147
  magicCodeBroadcastChannel.addEventListener(broadcastChannelMessageEvent, eventListener);
140
148
  }, []);
141
149
  return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("style", null, `
150
+
151
+ .webchat__bubble__content>div#ms_lcw_webchat_adaptive_card {
152
+ background: ${(props === null || props === void 0 ? void 0 : (_props$adaptiveCardSt = props.adaptiveCardStyles) === null || _props$adaptiveCardSt === void 0 ? void 0 : _props$adaptiveCardSt.background) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.background};
153
+ }
154
+
155
+ div[class="ac-textBlock"]>p{color:${(props === null || props === void 0 ? void 0 : (_props$adaptiveCardSt2 = props.adaptiveCardStyles) === null || _props$adaptiveCardSt2 === void 0 ? void 0 : _props$adaptiveCardSt2.color) ?? _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles.color};}
156
+
142
157
  .ms_lcw_webchat_received_message img.webchat__markdown__external-link-icon {
143
158
  background-image : url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIzIDMgMTggMTgiICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik03LjI1MDEgNC41MDAxN0gxMC43NDk1QzExLjE2MzcgNC41MDAxNyAxMS40OTk1IDQuODM1OTYgMTEuNDk5NSA1LjI1MDE3QzExLjQ5OTUgNS42Mjk4NiAxMS4yMTczIDUuOTQzNjYgMTAuODUxMyA1Ljk5MzMyTDEwLjc0OTUgNi4wMDAxN0g3LjI0OTc0QzYuMDcwNzkgNS45OTk2MSA1LjEwMzQ5IDYuOTA2NTYgNS4wMDc4NiA4LjA2MTEyTDUuMDAwMjggOC4yMjAwM0w1LjAwMzEyIDE2Ljc1MDdDNS4wMDM0MyAxNy45NDE1IDUuOTI4ODUgMTguOTE2MSA3LjA5OTY2IDE4Ljk5NDlMNy4yNTM3MSAxOS4wMDAxTDE1Ljc1MTggMTguOTg4NEMxNi45NDE1IDE4Ljk4NjggMTcuOTE0NSAxOC4wNjIgMTcuOTkzNSAxNi44OTIzTDE3Ljk5ODcgMTYuNzM4NFYxMy4yMzIxQzE3Ljk5ODcgMTIuODE3OSAxOC4zMzQ1IDEyLjQ4MjEgMTguNzQ4NyAxMi40ODIxQzE5LjEyODQgMTIuNDgyMSAxOS40NDIyIDEyLjc2NDMgMTkuNDkxOCAxMy4xMzAzTDE5LjQ5ODcgMTMuMjMyMVYxNi43Mzg0QzE5LjQ5ODcgMTguNzQwNyAxNy45MjkzIDIwLjM3NjkgMTUuOTUyOCAyMC40ODI5TDE1Ljc1MzggMjAuNDg4NEw3LjI1ODI3IDIwLjUwMDFMNy4wNTQ5NSAyMC40OTQ5QzUuMTQyMzkgMjAuMzk1NCAzLjYwODk1IDE4Ljg2MjcgMy41MDgzNyAxNi45NTAyTDMuNTAzMTIgMTYuNzUxMUwzLjUwMDg5IDguMjUyN0wzLjUwNTI5IDguMDUwMkMzLjYwNTM5IDYuMTM3NDkgNS4xMzg2NyA0LjYwNDQ5IDcuMDUwOTYgNC41MDUyN0w3LjI1MDEgNC41MDAxN0gxMC43NDk1SDcuMjUwMVpNMTMuNzQ4MSAzLjAwMTQ2TDIwLjMwMTggMy4wMDE5N0wyMC40MDE0IDMuMDE1NzVMMjAuNTAyMiAzLjA0MzkzTDIwLjU1OSAzLjA2ODAzQzIwLjYxMjIgMy4wOTEyMiAyMC42NjM0IDMuMTIxNjMgMjAuNzExMSAzLjE1ODg1TDIwLjc4MDQgMy4yMjE1NkwyMC44NjQxIDMuMzIwMTRMMjAuOTE4MyAzLjQxMDI1TDIwLjk1NyAzLjUwMDU3TDIwLjk3NjIgMy41NjQ3NkwyMC45ODk4IDMuNjI4NjJMMjAuOTk5MiAzLjcyMjgyTDIwLjk5OTcgMTAuMjU1NEMyMC45OTk3IDEwLjY2OTYgMjAuNjYzOSAxMS4wMDU0IDIwLjI0OTcgMTEuMDA1NEMxOS44NyAxMS4wMDU0IDE5LjU1NjIgMTAuNzIzMiAxOS41MDY1IDEwLjM1NzFMMTkuNDk5NyAxMC4yNTU0TDE5LjQ5ODkgNS41NjE0N0wxMi4yNzk3IDEyLjc4NDdDMTIuMDEzNCAxMy4wNTEgMTEuNTk2OCAxMy4wNzUzIDExLjMwMzEgMTIuODU3NUwxMS4yMTkgMTIuNzg0OUMxMC45NTI3IDEyLjUxODcgMTAuOTI4NCAxMi4xMDIxIDExLjE0NjIgMTEuODA4NEwxMS4yMTg4IDExLjcyNDNMMTguNDM2OSA0LjUwMTQ2SDEzLjc0ODFDMTMuMzY4NCA0LjUwMTQ2IDEzLjA1NDYgNC4yMTkzMSAxMy4wMDUgMy44NTMyNEwxMi45OTgxIDMuNzUxNDZDMTIuOTk4MSAzLjM3MTc3IDEzLjI4MDMgMy4wNTc5NyAxMy42NDY0IDMuMDA4MzFMMTMuNzQ4MSAzLjAwMTQ2WiIgZmlsbD0iI0ZGRkZGRiIgLz48L3N2Zz4) !important;
144
159
  height: '.75em';
145
- marginLeft: '.25em';
160
+ marginLeft: '.25em';
161
+ filter:${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl = props.renderingMiddlewareProps) === null || _props$renderingMiddl === void 0 ? void 0 : (_props$renderingMiddl2 = _props$renderingMiddl.receivedMessageAnchorStyles) === null || _props$renderingMiddl2 === void 0 ? void 0 : _props$renderingMiddl2.filter) ?? "none"};
146
162
  }
147
163
  pre {
148
164
  white-space: pre-wrap;
@@ -155,7 +171,7 @@ const WebChatContainerStateful = props => {
155
171
  .ms_lcw_webchat_received_message a:visited,
156
172
  .ms_lcw_webchat_received_message a:hover,
157
173
  .ms_lcw_webchat_received_message a:active {
158
- color: white;
174
+ color: ${(props === null || props === void 0 ? void 0 : (_props$renderingMiddl3 = props.renderingMiddlewareProps) === null || _props$renderingMiddl3 === void 0 ? void 0 : (_props$renderingMiddl4 = _props$renderingMiddl3.receivedMessageAnchorStyles) === null || _props$renderingMiddl4 === void 0 ? void 0 : _props$renderingMiddl4.color) ?? (_defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles === null || _defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles === void 0 ? void 0 : _defaultReceivedMessageAnchorStyles.defaultReceivedMessageAnchorStyles.color)};
159
175
  } `), /*#__PURE__*/_react2.default.createElement(_react.Stack, {
160
176
  styles: containerStyles
161
177
  }, /*#__PURE__*/_react2.default.createElement(BasicWebChat, null)));
@@ -13,6 +13,8 @@ var _defaultWebChatStatefulProps = require("./defaultWebChatStatefulProps");
13
13
 
14
14
  var _defaultWebChatContainerStatefulStyles = require("../defaultStyles/defaultWebChatContainerStatefulStyles");
15
15
 
16
+ var _defaultAdaptiveCardStyles = require("../defaultStyles/defaultAdaptiveCardStyles");
17
+
16
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
19
 
18
20
  const defaultWebChatContainerStatefulProps = {
@@ -21,6 +23,7 @@ const defaultWebChatContainerStatefulProps = {
21
23
  containerStyles: _defaultWebChatStatefulContainerStyles.defaultWebChatStatefulContainerStyles,
22
24
  disableNewLineMarkdownSupport: false,
23
25
  disableMarkdownMessageFormatting: false,
24
- directLine: new _mockadapter.default()
26
+ directLine: new _mockadapter.default(),
27
+ adaptiveCardStyles: _defaultAdaptiveCardStyles.defaultAdaptiveCardStyles
25
28
  };
26
29
  exports.defaultWebChatContainerStatefulProps = defaultWebChatContainerStatefulProps;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defaultAdaptiveCardStyles = void 0;
7
+ const defaultAdaptiveCardStyles = {
8
+ background: "white",
9
+ color: "black"
10
+ };
11
+ exports.defaultAdaptiveCardStyles = defaultAdaptiveCardStyles;
@@ -76,7 +76,8 @@ const activityStatusMiddleware = () => next => args => {
76
76
  args: args,
77
77
  role: current_role,
78
78
  name: current_name
79
- }));
79
+ })) // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
+ ;
80
81
  }
81
82
  };
82
83