@microsoft/omnichannel-chat-widget 0.1.0-main.8cded52 → 0.1.0-main.99b5123

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 (24) hide show
  1. package/lib/cjs/components/livechatwidget/common/authHelper.js +52 -0
  2. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +6 -1
  3. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +35 -23
  4. package/lib/cjs/components/livechatwidget/common/startChat.js +5 -33
  5. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +11 -11
  6. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +11 -0
  7. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +4 -1
  8. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +11 -0
  9. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  10. package/lib/esm/components/livechatwidget/common/authHelper.js +39 -0
  11. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +6 -1
  12. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +36 -25
  13. package/lib/esm/components/livechatwidget/common/startChat.js +5 -33
  14. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +11 -11
  15. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +10 -0
  16. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +3 -1
  17. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.js +4 -0
  18. package/lib/esm/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.js +1 -0
  19. package/lib/types/components/livechatwidget/common/authHelper.d.ts +4 -0
  20. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +4 -4
  21. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultAdaptiveCardStyles.d.ts +2 -0
  22. package/lib/types/components/webchatcontainerstateful/interfaces/IAdaptiveCardStyles.d.ts +4 -0
  23. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +2 -0
  24. package/package.json +2 -2
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.removeAuthTokenProvider = exports.handleAuthentication = void 0;
7
+
8
+ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
9
+
10
+ var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
11
+
12
+ var _utils = require("../../../common/utils");
13
+
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ const handleAuthentication = async (chatSDK, chatConfig, getAuthToken) => {
16
+ let authClientFunction = undefined;
17
+
18
+ if (chatConfig !== null && chatConfig !== void 0 && chatConfig.LiveChatConfigAuthSettings) {
19
+ var _chatConfig$LiveChatC;
20
+
21
+ authClientFunction = (chatConfig === null || chatConfig === void 0 ? void 0 : (_chatConfig$LiveChatC = chatConfig.LiveChatConfigAuthSettings) === null || _chatConfig$LiveChatC === void 0 ? void 0 : _chatConfig$LiveChatC.msdyn_javascriptclientfunction) ?? undefined;
22
+ }
23
+
24
+ if (getAuthToken && authClientFunction) {
25
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
26
+ Event: _TelemetryConstants.TelemetryEvent.GetAuthTokenCalled
27
+ });
28
+
29
+ const token = await getAuthToken(authClientFunction);
30
+
31
+ if (!(0, _utils.isNullOrEmptyString)(token)) {
32
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
+ chatSDK.setAuthTokenProvider(async () => {
34
+ return token;
35
+ });
36
+ } else {
37
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
38
+ Event: _TelemetryConstants.TelemetryEvent.ReceivedNullOrEmptyToken
39
+ });
40
+ }
41
+ }
42
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
43
+
44
+
45
+ exports.handleAuthentication = handleAuthentication;
46
+
47
+ const removeAuthTokenProvider = chatSDK => {
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
+ chatSDK.authenticatedUserToken = null;
50
+ };
51
+
52
+ exports.removeAuthTokenProvider = removeAuthTokenProvider;
@@ -339,7 +339,8 @@ const dummyDefaultProps = {
339
339
  hideChatTitle: false,
340
340
  hideNotificationBubble: true,
341
341
  unreadMessageString: "new messages",
342
- largeUnreadMessageString: "99+"
342
+ largeUnreadMessageString: "99+",
343
+ ariaLabelUnreadMessageString: "you have new messages"
343
344
  },
344
345
  styleProps: {
345
346
  generalStyleProps: {
@@ -1702,6 +1703,10 @@ const dummyDefaultProps = {
1702
1703
  botMagicCode: {
1703
1704
  disabled: false,
1704
1705
  fwdUrl: ""
1706
+ },
1707
+ adaptiveCardStyles: {
1708
+ background: "white",
1709
+ color: "black"
1705
1710
  }
1706
1711
  },
1707
1712
  telemetryConfig: undefined,
@@ -17,24 +17,34 @@ var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidget
17
17
 
18
18
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
19
19
 
20
+ var _authHelper = require("./authHelper");
21
+
20
22
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
- const getChatReconnectContext = async (chatSDK, reconnectId) => {
22
- try {
23
- if (reconnectId) {
24
- const chatReconnectOptionalParams = {
25
- reconnectId: reconnectId
26
- };
27
- return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext(chatReconnectOptionalParams));
28
- } else {
29
- return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext());
30
- }
31
- } catch (ex) {
32
- _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
33
- Event: _TelemetryConstants.TelemetryEvent.GetChatReconnectContextSDKCallFailed,
34
- ExceptionDetails: {
35
- exception: ex
23
+ const getChatReconnectContext = async (chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId) => {
24
+ if (isReconnectEnabled) {
25
+ try {
26
+ if (reconnectId) {
27
+ const chatReconnectOptionalParams = {
28
+ reconnectId: reconnectId
29
+ };
30
+ return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext(chatReconnectOptionalParams));
31
+ } else {
32
+ // set auth token to chat sdk to get reconnectId for auth chat
33
+ await (0, _authHelper.handleAuthentication)(chatSDK, chatConfig, getAuthToken);
34
+ const reconnectChatContext = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext()); // remove auth token after reconnectId is fetched
35
+ // this will be reset later at start chat
36
+
37
+ (0, _authHelper.removeAuthTokenProvider)(chatSDK);
38
+ return reconnectChatContext;
36
39
  }
37
- });
40
+ } catch (ex) {
41
+ _TelemetryHelper.TelemetryHelper.logSDKEvent(_TelemetryConstants.LogLevel.ERROR, {
42
+ Event: _TelemetryConstants.TelemetryEvent.GetChatReconnectContextSDKCallFailed,
43
+ ExceptionDetails: {
44
+ exception: ex
45
+ }
46
+ });
47
+ }
38
48
  }
39
49
 
40
50
  return null;
@@ -58,7 +68,9 @@ const getReconnectIdForAuthenticatedChat = async (props, chatSDK) => {
58
68
 
59
69
  /* && !isLoadWithState() */
60
70
  ) {
61
- const previousActiveSessionResponse = await getChatReconnectContext(chatSDK);
71
+ var _props$reconnectChatP2;
72
+
73
+ const previousActiveSessionResponse = await getChatReconnectContext(chatSDK, props.chatConfig, props.getAuthToken, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.isReconnectEnabled);
62
74
 
63
75
  if (previousActiveSessionResponse && previousActiveSessionResponse.reconnectId) {
64
76
  return previousActiveSessionResponse.reconnectId;
@@ -71,8 +83,8 @@ const getReconnectIdForAuthenticatedChat = async (props, chatSDK) => {
71
83
 
72
84
  exports.getReconnectIdForAuthenticatedChat = getReconnectIdForAuthenticatedChat;
73
85
 
74
- const handleUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat, redirectInSameWindow) => {
75
- const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
86
+ const handleUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isReconnectEnabled, reconnectId, initStartChat, redirectInSameWindow) => {
87
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
76
88
 
77
89
  if (shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
78
90
  await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, redirectInSameWindow);
@@ -84,8 +96,8 @@ const handleUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthTo
84
96
 
85
97
  exports.handleUnauthenticatedReconnectChat = handleUnauthenticatedReconnectChat;
86
98
 
87
- const startUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat) => {
88
- const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
99
+ const startUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isReconnectEnabled, reconnectId, initStartChat) => {
100
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
89
101
 
90
102
  if (!shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
91
103
  await setReconnectIdAndStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat);
@@ -166,8 +178,8 @@ const startNewChatEmptyRedirectionUrl = async (chatSDK, chatConfig, getAuthToken
166
178
  }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
167
179
 
168
180
 
169
- const handleRedirectUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, reconnectId, redirectInSameWindow) => {
170
- const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
181
+ const handleRedirectUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, isReconnectEnabled, reconnectId, redirectInSameWindow) => {
182
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
171
183
 
172
184
  if (shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
173
185
  await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, redirectInSameWindow);
@@ -37,6 +37,8 @@ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components
37
37
 
38
38
  var _ActivityStreamHandler = require("./ActivityStreamHandler");
39
39
 
40
+ var _authHelper = require("./authHelper");
41
+
40
42
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
43
  let optionalParams = {}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
42
44
 
@@ -55,9 +57,9 @@ const prepareStartChat = async (props, chatSDK, state, dispatch, setAdapter) =>
55
57
 
56
58
 
57
59
  if ((_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
58
- var _props$reconnectChatP2, _props$reconnectChatP3;
60
+ var _props$reconnectChatP2, _props$reconnectChatP3, _props$reconnectChatP4;
59
61
 
60
- await (0, _reconnectChatHelper.handleRedirectUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, initStartChat, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.reconnectId, (_props$reconnectChatP3 = props.reconnectChatPaneProps) === null || _props$reconnectChatP3 === void 0 ? void 0 : _props$reconnectChatP3.redirectInSameWindow);
62
+ await (0, _reconnectChatHelper.handleRedirectUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, initStartChat, (_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, (_props$reconnectChatP4 = props.reconnectChatPaneProps) === null || _props$reconnectChatP4 === void 0 ? void 0 : _props$reconnectChatP4.redirectInSameWindow);
61
63
  return;
62
64
  } // Getting reconnectId for authenticated chat
63
65
 
@@ -115,36 +117,6 @@ const setPreChatAndInitiateChat = async (chatSDK, chatConfig, getAuthToken, disp
115
117
 
116
118
  exports.setPreChatAndInitiateChat = setPreChatAndInitiateChat;
117
119
 
118
- const handleAuthentication = async (chatSDK, chatConfig, getAuthToken) => {
119
- if (getAuthToken) {
120
- _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
121
- Event: _TelemetryConstants.TelemetryEvent.GetAuthTokenCalled
122
- });
123
-
124
- let authClientFunction = undefined;
125
-
126
- if (chatConfig !== null && chatConfig !== void 0 && chatConfig.LiveChatConfigAuthSettings) {
127
- var _chatConfig$LiveChatC;
128
-
129
- authClientFunction = (chatConfig === null || chatConfig === void 0 ? void 0 : (_chatConfig$LiveChatC = chatConfig.LiveChatConfigAuthSettings) === null || _chatConfig$LiveChatC === void 0 ? void 0 : _chatConfig$LiveChatC.msdyn_javascriptclientfunction) ?? undefined;
130
- }
131
-
132
- const token = await getAuthToken(authClientFunction);
133
-
134
- if (!(0, _utils.isNullOrEmptyString)(token)) {
135
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
136
- chatSDK.setAuthTokenProvider(async () => {
137
- return token;
138
- });
139
- } else {
140
- _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
141
- Event: _TelemetryConstants.TelemetryEvent.ReceivedNullOrEmptyToken
142
- });
143
- }
144
- }
145
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
146
-
147
-
148
120
  const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, params, persistedState) => {
149
121
  try {
150
122
  var _newAdapter$activity$, _TelemetryTimers$Widg;
@@ -175,7 +147,7 @@ const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAda
175
147
  setCustomContextParams(chatSDK);
176
148
  optionalParams = Object.assign({}, params, optionalParams); // set auth token to chat sdk before start chat
177
149
 
178
- await handleAuthentication(chatSDK, chatConfig, getAuthToken);
150
+ await (0, _authHelper.handleAuthentication)(chatSDK, chatConfig, getAuthToken);
179
151
  await chatSDK.startChat(optionalParams);
180
152
  isStartChatSuccessful = true;
181
153
  } catch (error) {
@@ -102,7 +102,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
102
102
  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
103
 
104
104
  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;
105
+ 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
106
 
107
107
  const [state, dispatch] = (0, _useChatContextStore.default)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
108
 
@@ -122,8 +122,10 @@ const LiveChatWidgetStateful = props => {
122
122
  const generalStyles = {
123
123
  root: Object.assign({}, (0, _getGeneralStylesForButton.getGeneralStylesForButton)(state), (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyles)
124
124
  };
125
+ 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) ?? "");
126
+ (0, _omnichannelChatComponents.BroadcastServiceInitialize)(broadcastServiceChannelName);
125
127
  _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";
128
+ const widgetElementId = ((_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.id) || "oc-lcw";
127
129
  const currentMessageCountRef = (0, _react2.useRef)(0);
128
130
  let widgetStateEventName = "";
129
131
 
@@ -150,10 +152,8 @@ const LiveChatWidgetStateful = props => {
150
152
  };
151
153
 
152
154
  (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;
155
+ var _props$controlProps3, _props$controlProps4, _props$controlProps5, _props$controlProps7, _props$chatConfig, _props$chatConfig$Cha, _props$controlProps8, _props$reconnectChatP, _props$chatConfig2, _props$chatConfig2$Li;
154
156
 
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
157
  (0, _registerTelemetryLoggers.registerTelemetryLoggers)(props, dispatch);
158
158
  (0, _createInternetConnectionChangeHandler.createInternetConnectionChangeHandler)();
159
159
  _DataStoreManager.DataStoreManager.clientDataStore = props.contextDataStore ?? undefined;
@@ -193,9 +193,9 @@ const LiveChatWidgetStateful = props => {
193
193
  });
194
194
 
195
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) {
196
- var _props$reconnectChatP2;
196
+ var _props$reconnectChatP2, _props$reconnectChatP3;
197
197
 
198
- (0, _reconnectChatHelper.startUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.reconnectId, _startChat.initStartChat);
198
+ (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
199
  return;
200
200
  } // Check if auth settings enabled, do not connect to existing chat from cache during refresh/re-load
201
201
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -226,16 +226,16 @@ const LiveChatWidgetStateful = props => {
226
226
 
227
227
  (0, _react2.useEffect)(() => {
228
228
  if (state.appStates.skipChatButtonRendering) {
229
- var _props$reconnectChatP3;
229
+ var _props$reconnectChatP4;
230
230
 
231
231
  _omnichannelChatComponents.BroadcastService.postMessage({
232
232
  eventName: _TelemetryConstants.BroadcastEvent.ChatInitiated
233
233
  });
234
234
 
235
- if ((_props$reconnectChatP3 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP3 !== void 0 && _props$reconnectChatP3.reconnectId && !state.appStates.reconnectId) {
236
- var _props$reconnectChatP4, _props$reconnectChatP5;
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;
237
237
 
238
- (0, _reconnectChatHelper.handleUnauthenticatedReconnectChat)(chatSDK, props.chatConfig, props.getAuthToken, 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);
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);
239
239
  } else {
240
240
  (0, _reconnectChatHelper.getReconnectIdForAuthenticatedChat)(props, chatSDK).then(authReconnectId => {
241
241
  if (authReconnectId && !state.appStates.reconnectId) {
@@ -33,6 +33,8 @@ var _Constants = require("../../common/Constants");
33
33
 
34
34
  var _BotMagicCodeStore = require("./webchatcontroller/BotMagicCodeStore");
35
35
 
36
+ var _defaultAdaptiveCardStyles = require("./common/defaultStyles/defaultAdaptiveCardStyles");
37
+
36
38
  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
39
 
38
40
  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,6 +68,8 @@ const createMagicCodeSuccessResponse = signin => {
66
68
  };
67
69
 
68
70
  const WebChatContainerStateful = props => {
71
+ var _props$adaptiveCardSt, _props$adaptiveCardSt2;
72
+
69
73
  const {
70
74
  BasicWebChat
71
75
  } = _botframeworkWebchat.Components;
@@ -139,6 +143,13 @@ const WebChatContainerStateful = props => {
139
143
  magicCodeBroadcastChannel.addEventListener(broadcastChannelMessageEvent, eventListener);
140
144
  }, []);
141
145
  return /*#__PURE__*/_react2.default.createElement(_react2.default.Fragment, null, /*#__PURE__*/_react2.default.createElement("style", null, `
146
+
147
+ .webchat__bubble__content>div#ms_lcw_webchat_adaptive_card {
148
+ 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};
149
+ }
150
+
151
+ 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};}
152
+
142
153
  .ms_lcw_webchat_received_message img.webchat__markdown__external-link-icon {
143
154
  background-image : url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIzIDMgMTggMTgiICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik03LjI1MDEgNC41MDAxN0gxMC43NDk1QzExLjE2MzcgNC41MDAxNyAxMS40OTk1IDQuODM1OTYgMTEuNDk5NSA1LjI1MDE3QzExLjQ5OTUgNS42Mjk4NiAxMS4yMTczIDUuOTQzNjYgMTAuODUxMyA1Ljk5MzMyTDEwLjc0OTUgNi4wMDAxN0g3LjI0OTc0QzYuMDcwNzkgNS45OTk2MSA1LjEwMzQ5IDYuOTA2NTYgNS4wMDc4NiA4LjA2MTEyTDUuMDAwMjggOC4yMjAwM0w1LjAwMzEyIDE2Ljc1MDdDNS4wMDM0MyAxNy45NDE1IDUuOTI4ODUgMTguOTE2MSA3LjA5OTY2IDE4Ljk5NDlMNy4yNTM3MSAxOS4wMDAxTDE1Ljc1MTggMTguOTg4NEMxNi45NDE1IDE4Ljk4NjggMTcuOTE0NSAxOC4wNjIgMTcuOTkzNSAxNi44OTIzTDE3Ljk5ODcgMTYuNzM4NFYxMy4yMzIxQzE3Ljk5ODcgMTIuODE3OSAxOC4zMzQ1IDEyLjQ4MjEgMTguNzQ4NyAxMi40ODIxQzE5LjEyODQgMTIuNDgyMSAxOS40NDIyIDEyLjc2NDMgMTkuNDkxOCAxMy4xMzAzTDE5LjQ5ODcgMTMuMjMyMVYxNi43Mzg0QzE5LjQ5ODcgMTguNzQwNyAxNy45MjkzIDIwLjM3NjkgMTUuOTUyOCAyMC40ODI5TDE1Ljc1MzggMjAuNDg4NEw3LjI1ODI3IDIwLjUwMDFMNy4wNTQ5NSAyMC40OTQ5QzUuMTQyMzkgMjAuMzk1NCAzLjYwODk1IDE4Ljg2MjcgMy41MDgzNyAxNi45NTAyTDMuNTAzMTIgMTYuNzUxMUwzLjUwMDg5IDguMjUyN0wzLjUwNTI5IDguMDUwMkMzLjYwNTM5IDYuMTM3NDkgNS4xMzg2NyA0LjYwNDQ5IDcuMDUwOTYgNC41MDUyN0w3LjI1MDEgNC41MDAxN0gxMC43NDk1SDcuMjUwMVpNMTMuNzQ4MSAzLjAwMTQ2TDIwLjMwMTggMy4wMDE5N0wyMC40MDE0IDMuMDE1NzVMMjAuNTAyMiAzLjA0MzkzTDIwLjU1OSAzLjA2ODAzQzIwLjYxMjIgMy4wOTEyMiAyMC42NjM0IDMuMTIxNjMgMjAuNzExMSAzLjE1ODg1TDIwLjc4MDQgMy4yMjE1NkwyMC44NjQxIDMuMzIwMTRMMjAuOTE4MyAzLjQxMDI1TDIwLjk1NyAzLjUwMDU3TDIwLjk3NjIgMy41NjQ3NkwyMC45ODk4IDMuNjI4NjJMMjAuOTk5MiAzLjcyMjgyTDIwLjk5OTcgMTAuMjU1NEMyMC45OTk3IDEwLjY2OTYgMjAuNjYzOSAxMS4wMDU0IDIwLjI0OTcgMTEuMDA1NEMxOS44NyAxMS4wMDU0IDE5LjU1NjIgMTAuNzIzMiAxOS41MDY1IDEwLjM1NzFMMTkuNDk5NyAxMC4yNTU0TDE5LjQ5ODkgNS41NjE0N0wxMi4yNzk3IDEyLjc4NDdDMTIuMDEzNCAxMy4wNTEgMTEuNTk2OCAxMy4wNzUzIDExLjMwMzEgMTIuODU3NUwxMS4yMTkgMTIuNzg0OUMxMC45NTI3IDEyLjUxODcgMTAuOTI4NCAxMi4xMDIxIDExLjE0NjIgMTEuODA4NEwxMS4yMTg4IDExLjcyNDNMMTguNDM2OSA0LjUwMTQ2SDEzLjc0ODFDMTMuMzY4NCA0LjUwMTQ2IDEzLjA1NDYgNC4yMTkzMSAxMy4wMDUgMy44NTMyNEwxMi45OTgxIDMuNzUxNDZDMTIuOTk4MSAzLjM3MTc3IDEzLjI4MDMgMy4wNTc5NyAxMy42NDY0IDMuMDA4MzFMMTMuNzQ4MSAzLjAwMTQ2WiIgZmlsbD0iI0ZGRkZGRiIgLz48L3N2Zz4) !important;
144
155
  height: '.75em';
@@ -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;
@@ -0,0 +1,39 @@
1
+ import { LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
2
+ import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
3
+ import { isNullOrEmptyString } from "../../../common/utils"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
+
5
+ const handleAuthentication = async (chatSDK, chatConfig, getAuthToken) => {
6
+ let authClientFunction = undefined;
7
+
8
+ if (chatConfig !== null && chatConfig !== void 0 && chatConfig.LiveChatConfigAuthSettings) {
9
+ var _chatConfig$LiveChatC;
10
+
11
+ authClientFunction = (chatConfig === null || chatConfig === void 0 ? void 0 : (_chatConfig$LiveChatC = chatConfig.LiveChatConfigAuthSettings) === null || _chatConfig$LiveChatC === void 0 ? void 0 : _chatConfig$LiveChatC.msdyn_javascriptclientfunction) ?? undefined;
12
+ }
13
+
14
+ if (getAuthToken && authClientFunction) {
15
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
16
+ Event: TelemetryEvent.GetAuthTokenCalled
17
+ });
18
+ const token = await getAuthToken(authClientFunction);
19
+
20
+ if (!isNullOrEmptyString(token)) {
21
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
+ chatSDK.setAuthTokenProvider(async () => {
23
+ return token;
24
+ });
25
+ } else {
26
+ TelemetryHelper.logActionEvent(LogLevel.ERROR, {
27
+ Event: TelemetryEvent.ReceivedNullOrEmptyToken
28
+ });
29
+ }
30
+ }
31
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
32
+
33
+
34
+ const removeAuthTokenProvider = chatSDK => {
35
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
+ chatSDK.authenticatedUserToken = null;
37
+ };
38
+
39
+ export { handleAuthentication, removeAuthTokenProvider };
@@ -318,7 +318,8 @@ export const dummyDefaultProps = {
318
318
  hideChatTitle: false,
319
319
  hideNotificationBubble: true,
320
320
  unreadMessageString: "new messages",
321
- largeUnreadMessageString: "99+"
321
+ largeUnreadMessageString: "99+",
322
+ ariaLabelUnreadMessageString: "you have new messages"
322
323
  },
323
324
  styleProps: {
324
325
  generalStyleProps: {
@@ -1681,6 +1682,10 @@ export const dummyDefaultProps = {
1681
1682
  botMagicCode: {
1682
1683
  disabled: false,
1683
1684
  fwdUrl: ""
1685
+ },
1686
+ adaptiveCardStyles: {
1687
+ background: "white",
1688
+ color: "black"
1684
1689
  }
1685
1690
  },
1686
1691
  telemetryConfig: undefined,
@@ -3,25 +3,34 @@ import { BroadcastEvent, LogLevel, TelemetryEvent } from "../../../common/teleme
3
3
  import { BroadcastService } from "@microsoft/omnichannel-chat-components";
4
4
  import { ConversationState } from "../../../contexts/common/ConversationState";
5
5
  import { LiveChatWidgetActionType } from "../../../contexts/common/LiveChatWidgetActionType";
6
- import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
-
8
- const getChatReconnectContext = async (chatSDK, reconnectId) => {
9
- try {
10
- if (reconnectId) {
11
- const chatReconnectOptionalParams = {
12
- reconnectId: reconnectId
13
- };
14
- return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext(chatReconnectOptionalParams));
15
- } else {
16
- return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext());
17
- }
18
- } catch (ex) {
19
- TelemetryHelper.logSDKEvent(LogLevel.ERROR, {
20
- Event: TelemetryEvent.GetChatReconnectContextSDKCallFailed,
21
- ExceptionDetails: {
22
- exception: ex
6
+ import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
7
+ import { handleAuthentication, removeAuthTokenProvider } from "./authHelper"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+
9
+ const getChatReconnectContext = async (chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId) => {
10
+ if (isReconnectEnabled) {
11
+ try {
12
+ if (reconnectId) {
13
+ const chatReconnectOptionalParams = {
14
+ reconnectId: reconnectId
15
+ };
16
+ return await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext(chatReconnectOptionalParams));
17
+ } else {
18
+ // set auth token to chat sdk to get reconnectId for auth chat
19
+ await handleAuthentication(chatSDK, chatConfig, getAuthToken);
20
+ const reconnectChatContext = await (chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.getChatReconnectContext()); // remove auth token after reconnectId is fetched
21
+ // this will be reset later at start chat
22
+
23
+ removeAuthTokenProvider(chatSDK);
24
+ return reconnectChatContext;
23
25
  }
24
- });
26
+ } catch (ex) {
27
+ TelemetryHelper.logSDKEvent(LogLevel.ERROR, {
28
+ Event: TelemetryEvent.GetChatReconnectContextSDKCallFailed,
29
+ ExceptionDetails: {
30
+ exception: ex
31
+ }
32
+ });
33
+ }
25
34
  }
26
35
 
27
36
  return null;
@@ -43,7 +52,9 @@ const getReconnectIdForAuthenticatedChat = async (props, chatSDK) => {
43
52
 
44
53
  /* && !isLoadWithState() */
45
54
  ) {
46
- const previousActiveSessionResponse = await getChatReconnectContext(chatSDK);
55
+ var _props$reconnectChatP2;
56
+
57
+ const previousActiveSessionResponse = await getChatReconnectContext(chatSDK, props.chatConfig, props.getAuthToken, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.isReconnectEnabled);
47
58
 
48
59
  if (previousActiveSessionResponse && previousActiveSessionResponse.reconnectId) {
49
60
  return previousActiveSessionResponse.reconnectId;
@@ -54,8 +65,8 @@ const getReconnectIdForAuthenticatedChat = async (props, chatSDK) => {
54
65
  }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
66
 
56
67
 
57
- const handleUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat, redirectInSameWindow) => {
58
- const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
68
+ const handleUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isReconnectEnabled, reconnectId, initStartChat, redirectInSameWindow) => {
69
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
59
70
 
60
71
  if (shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
61
72
  await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, redirectInSameWindow);
@@ -65,8 +76,8 @@ const handleUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthTo
65
76
  }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
66
77
 
67
78
 
68
- const startUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat) => {
69
- const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
79
+ const startUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, isReconnectEnabled, reconnectId, initStartChat) => {
80
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
70
81
 
71
82
  if (!shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
72
83
  await setReconnectIdAndStartChat(chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, reconnectId, initStartChat);
@@ -140,8 +151,8 @@ const startNewChatEmptyRedirectionUrl = async (chatSDK, chatConfig, getAuthToken
140
151
  }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
141
152
 
142
153
 
143
- const handleRedirectUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, reconnectId, redirectInSameWindow) => {
144
- const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, reconnectId);
154
+ const handleRedirectUnauthenticatedReconnectChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, isReconnectEnabled, reconnectId, redirectInSameWindow) => {
155
+ const reconnectAvailabilityResponse = await getChatReconnectContext(chatSDK, chatConfig, getAuthToken, isReconnectEnabled, reconnectId);
145
156
 
146
157
  if (shouldRedirectOrStartNewChat(reconnectAvailabilityResponse)) {
147
158
  await redirectOrStartNewChat(reconnectAvailabilityResponse, chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, initStartChat, redirectInSameWindow);
@@ -8,12 +8,13 @@ import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
8
8
  import { TelemetryTimers } from "../../../common/telemetry/TelemetryManager";
9
9
  import { createAdapter } from "./createAdapter";
10
10
  import { createOnNewAdapterActivityHandler } from "../../../plugins/newMessageEventHandler";
11
- import { createTimer, getStateFromCache, isNullOrEmptyString, isUndefinedOrEmpty } from "../../../common/utils";
11
+ import { createTimer, getStateFromCache, isUndefinedOrEmpty } from "../../../common/utils";
12
12
  import { getReconnectIdForAuthenticatedChat, handleRedirectUnauthenticatedReconnectChat } from "./reconnectChatHelper";
13
13
  import { setPostChatContextAndLoadSurvey } from "./setPostChatContextAndLoadSurvey";
14
14
  import { updateSessionDataForTelemetry } from "./updateSessionDataForTelemetry";
15
15
  import { BroadcastService } from "@microsoft/omnichannel-chat-components";
16
- import { ActivityStreamHandler } from "./ActivityStreamHandler"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ import { ActivityStreamHandler } from "./ActivityStreamHandler";
17
+ import { handleAuthentication } from "./authHelper"; // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
18
 
18
19
  let optionalParams = {}; // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
20
 
@@ -32,9 +33,9 @@ const prepareStartChat = async (props, chatSDK, state, dispatch, setAdapter) =>
32
33
 
33
34
 
34
35
  if ((_props$reconnectChatP = props.reconnectChatPaneProps) !== null && _props$reconnectChatP !== void 0 && _props$reconnectChatP.reconnectId) {
35
- var _props$reconnectChatP2, _props$reconnectChatP3;
36
+ var _props$reconnectChatP2, _props$reconnectChatP3, _props$reconnectChatP4;
36
37
 
37
- await handleRedirectUnauthenticatedReconnectChat(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, initStartChat, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.reconnectId, (_props$reconnectChatP3 = props.reconnectChatPaneProps) === null || _props$reconnectChatP3 === void 0 ? void 0 : _props$reconnectChatP3.redirectInSameWindow);
38
+ await handleRedirectUnauthenticatedReconnectChat(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, initStartChat, (_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, (_props$reconnectChatP4 = props.reconnectChatPaneProps) === null || _props$reconnectChatP4 === void 0 ? void 0 : _props$reconnectChatP4.redirectInSameWindow);
38
39
  return;
39
40
  } // Getting reconnectId for authenticated chat
40
41
 
@@ -88,35 +89,6 @@ const setPreChatAndInitiateChat = async (chatSDK, chatConfig, getAuthToken, disp
88
89
  }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
89
90
 
90
91
 
91
- const handleAuthentication = async (chatSDK, chatConfig, getAuthToken) => {
92
- if (getAuthToken) {
93
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
94
- Event: TelemetryEvent.GetAuthTokenCalled
95
- });
96
- let authClientFunction = undefined;
97
-
98
- if (chatConfig !== null && chatConfig !== void 0 && chatConfig.LiveChatConfigAuthSettings) {
99
- var _chatConfig$LiveChatC;
100
-
101
- authClientFunction = (chatConfig === null || chatConfig === void 0 ? void 0 : (_chatConfig$LiveChatC = chatConfig.LiveChatConfigAuthSettings) === null || _chatConfig$LiveChatC === void 0 ? void 0 : _chatConfig$LiveChatC.msdyn_javascriptclientfunction) ?? undefined;
102
- }
103
-
104
- const token = await getAuthToken(authClientFunction);
105
-
106
- if (!isNullOrEmptyString(token)) {
107
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
- chatSDK.setAuthTokenProvider(async () => {
109
- return token;
110
- });
111
- } else {
112
- TelemetryHelper.logActionEvent(LogLevel.ERROR, {
113
- Event: TelemetryEvent.ReceivedNullOrEmptyToken
114
- });
115
- }
116
- }
117
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
-
119
-
120
92
  const initStartChat = async (chatSDK, chatConfig, getAuthToken, dispatch, setAdapter, params, persistedState) => {
121
93
  try {
122
94
  var _newAdapter$activity$, _TelemetryTimers$Widg;
@@ -46,7 +46,7 @@ import useChatSDKStore from "../../../hooks/useChatSDKStore";
46
46
  import { ActivityStreamHandler } from "../common/ActivityStreamHandler";
47
47
  import { Constants } from "../../../common/Constants";
48
48
  export const LiveChatWidgetStateful = props => {
49
- 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;
49
+ 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;
50
50
 
51
51
  const [state, dispatch] = useChatContextStore(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
52
 
@@ -66,8 +66,10 @@ export const LiveChatWidgetStateful = props => {
66
66
  const generalStyles = {
67
67
  root: Object.assign({}, getGeneralStylesForButton(state), (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyles)
68
68
  };
69
+ const broadcastServiceChannelName = 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) ?? "");
70
+ BroadcastServiceInitialize(broadcastServiceChannelName);
69
71
  TelemetryTimers.LcwLoadToChatButtonTimer = createTimer();
70
- const widgetElementId = ((_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.id) || "oc-lcw";
72
+ const widgetElementId = ((_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.id) || "oc-lcw";
71
73
  const currentMessageCountRef = useRef(0);
72
74
  let widgetStateEventName = "";
73
75
 
@@ -93,10 +95,8 @@ export const LiveChatWidgetStateful = props => {
93
95
  };
94
96
 
95
97
  useEffect(() => {
96
- 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;
98
+ var _props$controlProps3, _props$controlProps4, _props$controlProps5, _props$controlProps7, _props$chatConfig, _props$chatConfig$Cha, _props$controlProps8, _props$reconnectChatP, _props$chatConfig2, _props$chatConfig2$Li;
97
99
 
98
- const broadcastServiceChannelName = 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) ?? "");
99
- BroadcastServiceInitialize(broadcastServiceChannelName);
100
100
  registerTelemetryLoggers(props, dispatch);
101
101
  createInternetConnectionChangeHandler();
102
102
  DataStoreManager.clientDataStore = props.contextDataStore ?? undefined;
@@ -136,9 +136,9 @@ export const LiveChatWidgetStateful = props => {
136
136
  });
137
137
 
138
138
  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) {
139
- var _props$reconnectChatP2;
139
+ var _props$reconnectChatP2, _props$reconnectChatP3;
140
140
 
141
- startUnauthenticatedReconnectChat(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, (_props$reconnectChatP2 = props.reconnectChatPaneProps) === null || _props$reconnectChatP2 === void 0 ? void 0 : _props$reconnectChatP2.reconnectId, initStartChat);
141
+ 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, initStartChat);
142
142
  return;
143
143
  } // Check if auth settings enabled, do not connect to existing chat from cache during refresh/re-load
144
144
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -169,16 +169,16 @@ export const LiveChatWidgetStateful = props => {
169
169
 
170
170
  useEffect(() => {
171
171
  if (state.appStates.skipChatButtonRendering) {
172
- var _props$reconnectChatP3;
172
+ var _props$reconnectChatP4;
173
173
 
174
174
  BroadcastService.postMessage({
175
175
  eventName: BroadcastEvent.ChatInitiated
176
176
  });
177
177
 
178
- if ((_props$reconnectChatP3 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP3 !== void 0 && _props$reconnectChatP3.reconnectId && !state.appStates.reconnectId) {
179
- var _props$reconnectChatP4, _props$reconnectChatP5;
178
+ if ((_props$reconnectChatP4 = props.reconnectChatPaneProps) !== null && _props$reconnectChatP4 !== void 0 && _props$reconnectChatP4.reconnectId && !state.appStates.reconnectId) {
179
+ var _props$reconnectChatP5, _props$reconnectChatP6, _props$reconnectChatP7;
180
180
 
181
- handleUnauthenticatedReconnectChat(chatSDK, props.chatConfig, props.getAuthToken, dispatch, setAdapter, (_props$reconnectChatP4 = props.reconnectChatPaneProps) === null || _props$reconnectChatP4 === void 0 ? void 0 : _props$reconnectChatP4.reconnectId, initStartChat, (_props$reconnectChatP5 = props.reconnectChatPaneProps) === null || _props$reconnectChatP5 === void 0 ? void 0 : _props$reconnectChatP5.redirectInSameWindow);
181
+ 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, initStartChat, (_props$reconnectChatP7 = props.reconnectChatPaneProps) === null || _props$reconnectChatP7 === void 0 ? void 0 : _props$reconnectChatP7.redirectInSameWindow);
182
182
  } else {
183
183
  getReconnectIdForAuthenticatedChat(props, chatSDK).then(authReconnectId => {
184
184
  if (authReconnectId && !state.appStates.reconnectId) {
@@ -12,6 +12,7 @@ import { WebChatActionType } from "./webchatcontroller/enums/WebChatActionType";
12
12
  import { WebChatStoreLoader } from "./webchatcontroller/WebChatStoreLoader";
13
13
  import { Constants } from "../../common/Constants";
14
14
  import { BotMagicCodeStore } from "./webchatcontroller/BotMagicCodeStore";
15
+ import { defaultAdaptiveCardStyles } from "./common/defaultStyles/defaultAdaptiveCardStyles";
15
16
  const broadcastChannelMessageEvent = "message";
16
17
 
17
18
  const postActivity = activity => {
@@ -41,6 +42,8 @@ const createMagicCodeSuccessResponse = signin => {
41
42
  };
42
43
 
43
44
  export const WebChatContainerStateful = props => {
45
+ var _props$adaptiveCardSt, _props$adaptiveCardSt2;
46
+
44
47
  const {
45
48
  BasicWebChat
46
49
  } = Components;
@@ -109,6 +112,13 @@ export const WebChatContainerStateful = props => {
109
112
  magicCodeBroadcastChannel.addEventListener(broadcastChannelMessageEvent, eventListener);
110
113
  }, []);
111
114
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("style", null, `
115
+
116
+ .webchat__bubble__content>div#ms_lcw_webchat_adaptive_card {
117
+ background: ${(props === null || props === void 0 ? void 0 : (_props$adaptiveCardSt = props.adaptiveCardStyles) === null || _props$adaptiveCardSt === void 0 ? void 0 : _props$adaptiveCardSt.background) ?? defaultAdaptiveCardStyles.background};
118
+ }
119
+
120
+ 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.color};}
121
+
112
122
  .ms_lcw_webchat_received_message img.webchat__markdown__external-link-icon {
113
123
  background-image : url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIzIDMgMTggMTgiICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik03LjI1MDEgNC41MDAxN0gxMC43NDk1QzExLjE2MzcgNC41MDAxNyAxMS40OTk1IDQuODM1OTYgMTEuNDk5NSA1LjI1MDE3QzExLjQ5OTUgNS42Mjk4NiAxMS4yMTczIDUuOTQzNjYgMTAuODUxMyA1Ljk5MzMyTDEwLjc0OTUgNi4wMDAxN0g3LjI0OTc0QzYuMDcwNzkgNS45OTk2MSA1LjEwMzQ5IDYuOTA2NTYgNS4wMDc4NiA4LjA2MTEyTDUuMDAwMjggOC4yMjAwM0w1LjAwMzEyIDE2Ljc1MDdDNS4wMDM0MyAxNy45NDE1IDUuOTI4ODUgMTguOTE2MSA3LjA5OTY2IDE4Ljk5NDlMNy4yNTM3MSAxOS4wMDAxTDE1Ljc1MTggMTguOTg4NEMxNi45NDE1IDE4Ljk4NjggMTcuOTE0NSAxOC4wNjIgMTcuOTkzNSAxNi44OTIzTDE3Ljk5ODcgMTYuNzM4NFYxMy4yMzIxQzE3Ljk5ODcgMTIuODE3OSAxOC4zMzQ1IDEyLjQ4MjEgMTguNzQ4NyAxMi40ODIxQzE5LjEyODQgMTIuNDgyMSAxOS40NDIyIDEyLjc2NDMgMTkuNDkxOCAxMy4xMzAzTDE5LjQ5ODcgMTMuMjMyMVYxNi43Mzg0QzE5LjQ5ODcgMTguNzQwNyAxNy45MjkzIDIwLjM3NjkgMTUuOTUyOCAyMC40ODI5TDE1Ljc1MzggMjAuNDg4NEw3LjI1ODI3IDIwLjUwMDFMNy4wNTQ5NSAyMC40OTQ5QzUuMTQyMzkgMjAuMzk1NCAzLjYwODk1IDE4Ljg2MjcgMy41MDgzNyAxNi45NTAyTDMuNTAzMTIgMTYuNzUxMUwzLjUwMDg5IDguMjUyN0wzLjUwNTI5IDguMDUwMkMzLjYwNTM5IDYuMTM3NDkgNS4xMzg2NyA0LjYwNDQ5IDcuMDUwOTYgNC41MDUyN0w3LjI1MDEgNC41MDAxN0gxMC43NDk1SDcuMjUwMVpNMTMuNzQ4MSAzLjAwMTQ2TDIwLjMwMTggMy4wMDE5N0wyMC40MDE0IDMuMDE1NzVMMjAuNTAyMiAzLjA0MzkzTDIwLjU1OSAzLjA2ODAzQzIwLjYxMjIgMy4wOTEyMiAyMC42NjM0IDMuMTIxNjMgMjAuNzExMSAzLjE1ODg1TDIwLjc4MDQgMy4yMjE1NkwyMC44NjQxIDMuMzIwMTRMMjAuOTE4MyAzLjQxMDI1TDIwLjk1NyAzLjUwMDU3TDIwLjk3NjIgMy41NjQ3NkwyMC45ODk4IDMuNjI4NjJMMjAuOTk5MiAzLjcyMjgyTDIwLjk5OTcgMTAuMjU1NEMyMC45OTk3IDEwLjY2OTYgMjAuNjYzOSAxMS4wMDU0IDIwLjI0OTcgMTEuMDA1NEMxOS44NyAxMS4wMDU0IDE5LjU1NjIgMTAuNzIzMiAxOS41MDY1IDEwLjM1NzFMMTkuNDk5NyAxMC4yNTU0TDE5LjQ5ODkgNS41NjE0N0wxMi4yNzk3IDEyLjc4NDdDMTIuMDEzNCAxMy4wNTEgMTEuNTk2OCAxMy4wNzUzIDExLjMwMzEgMTIuODU3NUwxMS4yMTkgMTIuNzg0OUMxMC45NTI3IDEyLjUxODcgMTAuOTI4NCAxMi4xMDIxIDExLjE0NjIgMTEuODA4NEwxMS4yMTg4IDExLjcyNDNMMTguNDM2OSA0LjUwMTQ2SDEzLjc0ODFDMTMuMzY4NCA0LjUwMTQ2IDEzLjA1NDYgNC4yMTkzMSAxMy4wMDUgMy44NTMyNEwxMi45OTgxIDMuNzUxNDZDMTIuOTk4MSAzLjM3MTc3IDEzLjI4MDMgMy4wNTc5NyAxMy42NDY0IDMuMDA4MzFMMTMuNzQ4MSAzLjAwMTQ2WiIgZmlsbD0iI0ZGRkZGRiIgLz48L3N2Zz4) !important;
114
124
  height: '.75em';
@@ -2,11 +2,13 @@ import MockAdapter from "../mockadapter";
2
2
  import { defaultWebChatStatefulContainerStyles } from "../defaultStyles/defaultWebChatStatefulContainerStyles";
3
3
  import { defaultWebChatStatefulProps } from "./defaultWebChatStatefulProps";
4
4
  import { defaultWebChatStatefulStyles } from "../defaultStyles/defaultWebChatContainerStatefulStyles";
5
+ import { defaultAdaptiveCardStyles } from "../defaultStyles/defaultAdaptiveCardStyles";
5
6
  export const defaultWebChatContainerStatefulProps = {
6
7
  webChatStyles: defaultWebChatStatefulStyles,
7
8
  webChatProps: defaultWebChatStatefulProps,
8
9
  containerStyles: defaultWebChatStatefulContainerStyles,
9
10
  disableNewLineMarkdownSupport: false,
10
11
  disableMarkdownMessageFormatting: false,
11
- directLine: new MockAdapter()
12
+ directLine: new MockAdapter(),
13
+ adaptiveCardStyles: defaultAdaptiveCardStyles
12
14
  };
@@ -0,0 +1,4 @@
1
+ export const defaultAdaptiveCardStyles = {
2
+ background: "white",
3
+ color: "black"
4
+ };
@@ -0,0 +1,4 @@
1
+ import ChatConfig from "@microsoft/omnichannel-chat-sdk/lib/core/ChatConfig";
2
+ declare const handleAuthentication: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined) => Promise<void>;
3
+ declare const removeAuthTokenProvider: (chatSDK: any) => void;
4
+ export { handleAuthentication, removeAuthTokenProvider };
@@ -3,9 +3,9 @@ import ChatConfig from "@microsoft/omnichannel-chat-sdk/lib/core/ChatConfig";
3
3
  import { Dispatch } from "react";
4
4
  import { ILiveChatWidgetAction } from "../../../contexts/common/ILiveChatWidgetAction";
5
5
  import { ILiveChatWidgetProps } from "../interfaces/ILiveChatWidgetProps";
6
- declare const getChatReconnectContext: (chatSDK: any, reconnectId?: string | undefined) => Promise<any>;
6
+ declare const getChatReconnectContext: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, isReconnectEnabled?: boolean | undefined, reconnectId?: string | undefined) => Promise<any>;
7
7
  declare const getReconnectIdForAuthenticatedChat: (props: ILiveChatWidgetProps, chatSDK: any) => Promise<string | undefined>;
8
- declare const handleUnauthenticatedReconnectChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, reconnectId: string, initStartChat: any, redirectInSameWindow: boolean | undefined) => Promise<void>;
9
- declare const startUnauthenticatedReconnectChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, reconnectId: string, initStartChat: any) => Promise<void>;
10
- declare const handleRedirectUnauthenticatedReconnectChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, initStartChat: any, reconnectId: string, redirectInSameWindow: boolean | undefined) => Promise<void>;
8
+ declare const handleUnauthenticatedReconnectChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, isReconnectEnabled: boolean | undefined, reconnectId: string, initStartChat: any, redirectInSameWindow: boolean | undefined) => Promise<void>;
9
+ declare const startUnauthenticatedReconnectChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, isReconnectEnabled: boolean | undefined, reconnectId: string, initStartChat: any) => Promise<void>;
10
+ declare const handleRedirectUnauthenticatedReconnectChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, initStartChat: any, isReconnectEnabled: boolean | undefined, reconnectId: string, redirectInSameWindow: boolean | undefined) => Promise<void>;
11
11
  export { getChatReconnectContext, getReconnectIdForAuthenticatedChat, handleUnauthenticatedReconnectChat, startUnauthenticatedReconnectChat, handleRedirectUnauthenticatedReconnectChat };
@@ -0,0 +1,2 @@
1
+ import { IAdaptiveCardStyles } from "../../interfaces/IAdaptiveCardStyles";
2
+ export declare const defaultAdaptiveCardStyles: IAdaptiveCardStyles;
@@ -0,0 +1,4 @@
1
+ export interface IAdaptiveCardStyles {
2
+ background?: string;
3
+ color?: string;
4
+ }
@@ -4,6 +4,7 @@ import { IRenderingMiddlewareProps } from "./IRenderingMiddlewareProps";
4
4
  import { IStyle } from "@fluentui/react";
5
5
  import { IWebChatProps } from "./IWebChatProps";
6
6
  import { StyleOptions } from "botframework-webchat-api";
7
+ import { IAdaptiveCardStyles } from "./IAdaptiveCardStyles";
7
8
  export interface IWebChatContainerStatefulProps {
8
9
  containerStyles?: IStyle;
9
10
  disableNewLineMarkdownSupport?: boolean;
@@ -15,4 +16,5 @@ export interface IWebChatContainerStatefulProps {
15
16
  renderingMiddlewareProps?: IRenderingMiddlewareProps;
16
17
  localizedTexts?: ILiveChatWidgetLocalizedTexts;
17
18
  botMagicCode?: IBotMagicCodeConfig;
19
+ adaptiveCardStyles?: IAdaptiveCardStyles;
18
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/omnichannel-chat-widget",
3
- "version": "0.1.0-main.8cded52",
3
+ "version": "0.1.0-main.99b5123",
4
4
  "description": "Microsoft Omnichannel Chat Widget",
5
5
  "main": "lib/cjs/index.js",
6
6
  "types": "lib/types/index.d.ts",
@@ -74,7 +74,7 @@
74
74
  },
75
75
  "dependencies": {
76
76
  "@fluentui/react": "^8.49.1",
77
- "@microsoft/omnichannel-chat-components": "0.1.0-main.a306d8c",
77
+ "@microsoft/omnichannel-chat-components": "0.1.0-main.5063558",
78
78
  "@microsoft/omnichannel-chat-sdk": "1.0.1-main.077d17c",
79
79
  "abort-controller-es5": "^2.0.1",
80
80
  "dompurify": "^2.3.4",