@microsoft/omnichannel-chat-widget 1.0.2-main.2112105 → 1.0.2-main.7152bb7

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 (20) hide show
  1. package/lib/cjs/common/telemetry/TelemetryConstants.js +2 -0
  2. package/lib/cjs/common/utils.js +2 -2
  3. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +1 -1
  4. package/lib/cjs/components/livechatwidget/common/endChat.js +0 -4
  5. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +14 -0
  6. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +14 -12
  7. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +3 -0
  8. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -1
  9. package/lib/esm/common/telemetry/TelemetryConstants.js +2 -0
  10. package/lib/esm/common/utils.js +2 -2
  11. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +1 -1
  12. package/lib/esm/components/livechatwidget/common/endChat.js +0 -4
  13. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +14 -0
  14. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +15 -13
  15. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +3 -0
  16. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -1
  17. package/lib/types/common/telemetry/TelemetryConstants.d.ts +3 -1
  18. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +1 -0
  19. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +3 -1
  20. package/package.json +3 -3
@@ -60,6 +60,8 @@ exports.BroadcastEvent = BroadcastEvent;
60
60
  BroadcastEvent["BotAuthConfigRequest"] = "BotAuthConfigRequest";
61
61
  BroadcastEvent["BotAuthConfigResponse"] = "BotAuthConfigResponse";
62
62
  BroadcastEvent["HideChatVisibilityChangeEvent"] = "hideChatVisibilityChangeEvent";
63
+ BroadcastEvent["UpdateSessionDataForTelemetry"] = "UpdateSessionDataForTelemetry";
64
+ BroadcastEvent["UpdateConversationDataForTelemetry"] = "UpdateConversationDataForTelemetry";
63
65
  })(BroadcastEvent || (exports.BroadcastEvent = BroadcastEvent = {}));
64
66
  let TelemetryEvent;
65
67
  exports.TelemetryEvent = TelemetryEvent;
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.setTabIndices = exports.setFocusOnSendBox = exports.setFocusOnElement = exports.preventFocusToMoveOutOfElement = exports.parseAdaptiveCardPayload = exports.newGuid = exports.isUndefinedOrEmpty = exports.isNullOrUndefined = exports.isNullOrEmptyString = exports.getWidgetEndChatEventName = exports.getWidgetCacheId = exports.getTimestampHourMinute = exports.getStateFromCache = exports.getLocaleDirection = exports.getIconText = exports.getDomain = exports.getConversationDetailsCall = exports.getBroadcastChannelName = exports.findParentFocusableElementsWithoutChildContainer = exports.findAllFocusableElement = exports.extractPreChatSurveyResponseValues = exports.escapeHtml = exports.debounceLeading = exports.createTimer = exports.changeLanguageCodeFormatForWebChat = exports.addDelayInMs = void 0;
7
7
  var _Constants = require("./Constants");
8
+ var _TelemetryConstants = require("./telemetry/TelemetryConstants");
8
9
  var _DataStoreManager = require("./contextDataStore/DataStoreManager");
9
10
  var _KeyCodes = require("./KeyCodes");
10
- var _TelemetryConstants = require("./telemetry/TelemetryConstants");
11
11
  var _md5Typescript = require("md5-typescript");
12
12
  var _TelemetryHelper = require("./telemetry/TelemetryHelper");
13
13
  var _this = void 0;
@@ -171,7 +171,7 @@ exports.getTimestampHourMinute = getTimestampHourMinute;
171
171
  const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) => {
172
172
  if (payload && payload !== "{}") {
173
173
  try {
174
- const parsedPayload = JSON.parse(payload.replace(/*/g, "*"));
174
+ const parsedPayload = JSON.parse(payload.replace("*", "*"));
175
175
  const body = parsedPayload.body;
176
176
  if (body) {
177
177
  //Parse ID field into available options and add required error messages
@@ -817,7 +817,7 @@ const dummyDefaultProps = {
817
817
  minHeight: "25px",
818
818
  width: "100%",
819
819
  minWidth: "250px",
820
- padding: "0 10px 5px 10px"
820
+ padding: "5px"
821
821
  },
822
822
  downloadTranscriptButtonStyleProps: {
823
823
  icon: {
@@ -77,10 +77,6 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
77
77
  }
78
78
  }
79
79
  // Need to clear these states immediately when chat ended from OC.
80
- dispatch({
81
- type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
82
- payload: undefined
83
- });
84
80
  dispatch({
85
81
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CHAT_TOKEN,
86
82
  payload: undefined
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.updateSessionDataForTelemetry = void 0;
7
+ var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
8
+ var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
7
9
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
8
10
  var _TelemetryHelper = require("../../../common/telemetry/TelemetryHelper");
9
11
  var _TelemetryManager = require("../../../common/telemetry/TelemetryManager");
@@ -17,6 +19,12 @@ const updateSessionDataForTelemetry = async (chatSDK, dispatch) => {
17
19
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA,
18
20
  payload: telemetryData
19
21
  });
22
+ _omnichannelChatComponents.BroadcastService.postMessage({
23
+ eventName: _TelemetryConstants.BroadcastEvent.UpdateSessionDataForTelemetry,
24
+ payload: {
25
+ chatSession
26
+ }
27
+ });
20
28
  await updateConversationDataForTelemetry(chatSDK, dispatch);
21
29
  }
22
30
  };
@@ -32,5 +40,11 @@ const updateConversationDataForTelemetry = async (chatSDK, dispatch) => {
32
40
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_TELEMETRY_DATA,
33
41
  payload: telemetryData
34
42
  });
43
+ _omnichannelChatComponents.BroadcastService.postMessage({
44
+ eventName: _TelemetryConstants.BroadcastEvent.UpdateConversationDataForTelemetry,
45
+ payload: {
46
+ liveWorkItem
47
+ }
48
+ });
35
49
  }
36
50
  };
@@ -6,20 +6,22 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = exports.LiveChatWidgetStateful = void 0;
7
7
  var _TelemetryConstants = require("../../../common/telemetry/TelemetryConstants");
8
8
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
9
+ var _Constants = require("../../../common/Constants");
9
10
  var _react = require("@fluentui/react");
10
11
  var _react2 = _interopRequireWildcard(require("react"));
11
12
  var _startChat = require("../common/startChat");
12
13
  var _utils = require("../../../common/utils");
13
14
  var _endChat = require("../common/endChat");
15
+ var _reconnectChatHelper = require("../common/reconnectChatHelper");
14
16
  var _componentController = require("../../../controller/componentController");
15
17
  var _ActivityStreamHandler = require("../common/ActivityStreamHandler");
16
18
  var _CallingContainerStateful = _interopRequireDefault(require("../../callingcontainerstateful/CallingContainerStateful"));
17
19
  var _ChatButtonStateful = _interopRequireDefault(require("../../chatbuttonstateful/ChatButtonStateful"));
18
20
  var _botframeworkWebchat = require("botframework-webchat");
19
21
  var _ConfirmationPaneStateful = _interopRequireDefault(require("../../confirmationpanestateful/ConfirmationPaneStateful"));
22
+ var _ConversationEndEntity = require("../../../contexts/common/ConversationEndEntity");
20
23
  var _ConversationState = require("../../../contexts/common/ConversationState");
21
24
  var _DataStoreManager = require("../../../common/contextDataStore/DataStoreManager");
22
- var _Constants = require("../../../common/Constants");
23
25
  var _EmailTranscriptPaneStateful = _interopRequireDefault(require("../../emailtranscriptpanestateful/EmailTranscriptPaneStateful"));
24
26
  var _HeaderStateful = _interopRequireDefault(require("../../headerstateful/HeaderStateful"));
25
27
  var _LiveChatWidgetActionType = require("../../../contexts/common/LiveChatWidgetActionType");
@@ -40,6 +42,8 @@ var _defaultScrollBarProps = require("../common/defaultProps/defaultScrollBarPro
40
42
  var _defaultWebChatContainerStatefulProps = require("../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps");
41
43
  var _disposeTelemetryLoggers = require("../common/disposeTelemetryLoggers");
42
44
  var _getGeneralStylesForButton = require("../common/getGeneralStylesForButton");
45
+ var _agentEndConversationHelper = require("../common/agentEndConversationHelper");
46
+ var _chatDisconnectHelper = require("../common/chatDisconnectHelper");
43
47
  var _initCallingSdk = require("../common/initCallingSdk");
44
48
  var _initConfirmationPropsComposer = require("../common/initConfirmationPropsComposer");
45
49
  var _initWebChatComposer = require("../common/initWebChatComposer");
@@ -50,10 +54,6 @@ var _startProactiveChat = require("../common/startProactiveChat");
50
54
  var _useChatAdapterStore = _interopRequireDefault(require("../../../hooks/useChatAdapterStore"));
51
55
  var _useChatContextStore = _interopRequireDefault(require("../../../hooks/useChatContextStore"));
52
56
  var _useChatSDKStore = _interopRequireDefault(require("../../../hooks/useChatSDKStore"));
53
- var _ConversationEndEntity = require("../../../contexts/common/ConversationEndEntity");
54
- var _agentEndConversationHelper = require("../common/agentEndConversationHelper");
55
- var _reconnectChatHelper = require("../common/reconnectChatHelper");
56
- var _chatDisconnectHelper = require("../common/chatDisconnectHelper");
57
57
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
58
58
  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); }
59
59
  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; }
@@ -198,6 +198,12 @@ const LiveChatWidgetStateful = props => {
198
198
  });
199
199
  });
200
200
  }
201
+ if (props.initialCustomContext) {
202
+ dispatch({
203
+ type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
204
+ payload: props.initialCustomContext
205
+ });
206
+ }
201
207
 
202
208
  // Initialize global dir
203
209
  const globalDir = ((_props$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.dir) ?? (0, _utils.getLocaleDirection)((_props$chatConfig2 = props.chatConfig) === null || _props$chatConfig2 === void 0 ? void 0 : (_props$chatConfig2$Ch = _props$chatConfig2.ChatWidgetLanguage) === null || _props$chatConfig2$Ch === void 0 ? void 0 : _props$chatConfig2$Ch.msdyn_localeid);
@@ -258,16 +264,12 @@ const LiveChatWidgetStateful = props => {
258
264
  _omnichannelChatComponents.BroadcastService.getMessageByEventName(_TelemetryConstants.BroadcastEvent.HideChatVisibilityChangeEvent).subscribe(async event => {
259
265
  var _event$payload;
260
266
  if ((event === null || event === void 0 ? void 0 : (_event$payload = event.payload) === null || _event$payload === void 0 ? void 0 : _event$payload.isChatHidden) !== undefined) {
261
- var _event$payload2, _props$controlProps10;
262
- _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
263
- Event: _TelemetryConstants.TelemetryEvent.ChatVisibilityChanged,
264
- Description: "Chat visibility changed to " + (event === null || event === void 0 ? void 0 : (_event$payload2 = event.payload) === null || _event$payload2 === void 0 ? void 0 : _event$payload2.isChatHidden)
265
- });
267
+ var _props$controlProps10;
266
268
  if ((_props$controlProps10 = props.controlProps) !== null && _props$controlProps10 !== void 0 && _props$controlProps10.hideStartChatButton) {
267
- var _event$payload3;
269
+ var _event$payload2;
268
270
  dispatch({
269
271
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_MINIMIZED,
270
- payload: event === null || event === void 0 ? void 0 : (_event$payload3 = event.payload) === null || _event$payload3 === void 0 ? void 0 : _event$payload3.isChatHidden
272
+ payload: event === null || event === void 0 ? void 0 : (_event$payload2 = event.payload) === null || _event$payload2 === void 0 ? void 0 : _event$payload2.isChatHidden
271
273
  });
272
274
  }
273
275
  const dateNow = Date.now();
@@ -7,6 +7,7 @@ exports.default = exports.PreChatSurveyPaneStateful = void 0;
7
7
  var _Constants = require("../../common/Constants");
8
8
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
9
  var _react = _interopRequireWildcard(require("react"));
10
+ var _markdownIt = _interopRequireDefault(require("markdown-it"));
10
11
  var _utils = require("../../common/utils");
11
12
  var _ConversationState = require("../../contexts/common/ConversationState");
12
13
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
@@ -21,6 +22,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
21
22
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
23
  const PreChatSurveyPaneStateful = props => {
23
24
  var _surveyProps$stylePro, _props$surveyProps, _props$surveyProps$co;
25
+ // Set MarkDown global variable to be used for prechat adaptive cards
26
+ window["markdownit"] = _markdownIt.default;
24
27
  const [state, dispatch] = (0, _useChatContextStore.default)();
25
28
  const {
26
29
  surveyProps,
@@ -32,7 +32,9 @@ class MockChatSDK {
32
32
  return "";
33
33
  }
34
34
  getConversationDetails() {
35
- return {};
35
+ return {
36
+ State: "Active"
37
+ };
36
38
  }
37
39
  getCurrentLiveChatContext() {
38
40
  return {
@@ -55,6 +55,8 @@ export let BroadcastEvent;
55
55
  BroadcastEvent["BotAuthConfigRequest"] = "BotAuthConfigRequest";
56
56
  BroadcastEvent["BotAuthConfigResponse"] = "BotAuthConfigResponse";
57
57
  BroadcastEvent["HideChatVisibilityChangeEvent"] = "hideChatVisibilityChangeEvent";
58
+ BroadcastEvent["UpdateSessionDataForTelemetry"] = "UpdateSessionDataForTelemetry";
59
+ BroadcastEvent["UpdateConversationDataForTelemetry"] = "UpdateConversationDataForTelemetry";
58
60
  })(BroadcastEvent || (BroadcastEvent = {}));
59
61
  export let TelemetryEvent;
60
62
  (function (TelemetryEvent) {
@@ -1,8 +1,8 @@
1
1
  var _this = this;
2
2
  import { AriaTelemetryConstants, Constants, LocaleConstants } from "./Constants";
3
+ import { BroadcastEvent, LogLevel, TelemetryEvent } from "./telemetry/TelemetryConstants";
3
4
  import { DataStoreManager } from "./contextDataStore/DataStoreManager";
4
5
  import { KeyCodes } from "./KeyCodes";
5
- import { BroadcastEvent, LogLevel, TelemetryEvent } from "./telemetry/TelemetryConstants";
6
6
  import { Md5 } from "md5-typescript";
7
7
  import { TelemetryHelper } from "./telemetry/TelemetryHelper";
8
8
  const getElementBySelector = selector => {
@@ -154,7 +154,7 @@ export const getTimestampHourMinute = timestampStr => {
154
154
  export const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) => {
155
155
  if (payload && payload !== "{}") {
156
156
  try {
157
- const parsedPayload = JSON.parse(payload.replace(/*/g, "*"));
157
+ const parsedPayload = JSON.parse(payload.replace("*", "*"));
158
158
  const body = parsedPayload.body;
159
159
  if (body) {
160
160
  //Parse ID field into available options and add required error messages
@@ -811,7 +811,7 @@ export const dummyDefaultProps = {
811
811
  minHeight: "25px",
812
812
  width: "100%",
813
813
  minWidth: "250px",
814
- padding: "0 10px 5px 10px"
814
+ padding: "5px"
815
815
  },
816
816
  downloadTranscriptButtonStyleProps: {
817
817
  icon: {
@@ -71,10 +71,6 @@ const endChat = async (props, chatSDK, setAdapter, setWebChatStyles, dispatch, a
71
71
  }
72
72
  }
73
73
  // Need to clear these states immediately when chat ended from OC.
74
- dispatch({
75
- type: LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
76
- payload: undefined
77
- });
78
74
  dispatch({
79
75
  type: LiveChatWidgetActionType.SET_CHAT_TOKEN,
80
76
  payload: undefined
@@ -1,3 +1,5 @@
1
+ import { BroadcastEvent } from "../../../common/telemetry/TelemetryConstants";
2
+ import { BroadcastService } from "@microsoft/omnichannel-chat-components";
1
3
  import { LiveChatWidgetActionType } from "../../../contexts/common/LiveChatWidgetActionType";
2
4
  import { TelemetryHelper } from "../../../common/telemetry/TelemetryHelper";
3
5
  import { TelemetryManager } from "../../../common/telemetry/TelemetryManager";
@@ -12,6 +14,12 @@ export const updateSessionDataForTelemetry = async (chatSDK, dispatch) => {
12
14
  type: LiveChatWidgetActionType.SET_TELEMETRY_DATA,
13
15
  payload: telemetryData
14
16
  });
17
+ BroadcastService.postMessage({
18
+ eventName: BroadcastEvent.UpdateSessionDataForTelemetry,
19
+ payload: {
20
+ chatSession
21
+ }
22
+ });
15
23
  await updateConversationDataForTelemetry(chatSDK, dispatch);
16
24
  }
17
25
  };
@@ -26,5 +34,11 @@ const updateConversationDataForTelemetry = async (chatSDK, dispatch) => {
26
34
  type: LiveChatWidgetActionType.SET_TELEMETRY_DATA,
27
35
  payload: telemetryData
28
36
  });
37
+ BroadcastService.postMessage({
38
+ eventName: BroadcastEvent.UpdateConversationDataForTelemetry,
39
+ payload: {
40
+ liveWorkItem
41
+ }
42
+ });
29
43
  }
30
44
  };
@@ -1,20 +1,22 @@
1
1
  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); }
2
2
  import { BroadcastEvent, LogLevel, TelemetryEvent } from "../../../common/telemetry/TelemetryConstants";
3
3
  import { BroadcastService, BroadcastServiceInitialize, decodeComponentString } from "@microsoft/omnichannel-chat-components";
4
+ import { Constants, E2VVOptions, LiveWorkItemState } from "../../../common/Constants";
4
5
  import { Stack } from "@fluentui/react";
5
6
  import React, { useEffect, useRef, useState } from "react";
6
7
  import { checkIfConversationStillValid, initStartChat, prepareStartChat, setPreChatAndInitiateChat } from "../common/startChat";
7
- import { createTimer, getBroadcastChannelName, getLocaleDirection, getStateFromCache, getWidgetCacheId, getWidgetEndChatEventName, isNullOrEmptyString, isUndefinedOrEmpty, getConversationDetailsCall } from "../../../common/utils";
8
+ import { createTimer, getBroadcastChannelName, getConversationDetailsCall, getLocaleDirection, getStateFromCache, getWidgetCacheId, getWidgetEndChatEventName, isNullOrEmptyString, isUndefinedOrEmpty } from "../../../common/utils";
8
9
  import { endChat, prepareEndChat } from "../common/endChat";
10
+ import { handleChatReconnect, isReconnectEnabled } from "../common/reconnectChatHelper";
9
11
  import { shouldShowCallingContainer, shouldShowChatButton, shouldShowConfirmationPane, shouldShowEmailTranscriptPane, shouldShowHeader, shouldShowLoadingPane, shouldShowOutOfOfficeHoursPane, shouldShowPostChatLoadingPane, shouldShowPostChatSurveyPane, shouldShowPreChatSurveyPane, shouldShowProactiveChatPane, shouldShowReconnectChatPane, shouldShowWebChatContainer } from "../../../controller/componentController";
10
12
  import { ActivityStreamHandler } from "../common/ActivityStreamHandler";
11
13
  import CallingContainerStateful from "../../callingcontainerstateful/CallingContainerStateful";
12
14
  import ChatButtonStateful from "../../chatbuttonstateful/ChatButtonStateful";
13
15
  import { Components } from "botframework-webchat";
14
16
  import ConfirmationPaneStateful from "../../confirmationpanestateful/ConfirmationPaneStateful";
17
+ import { ConversationEndEntity } from "../../../contexts/common/ConversationEndEntity";
15
18
  import { ConversationState } from "../../../contexts/common/ConversationState";
16
19
  import { DataStoreManager } from "../../../common/contextDataStore/DataStoreManager";
17
- import { Constants, E2VVOptions, LiveWorkItemState } from "../../../common/Constants";
18
20
  import { ElementType } from "@microsoft/omnichannel-chat-components";
19
21
  import EmailTranscriptPaneStateful from "../../emailtranscriptpanestateful/EmailTranscriptPaneStateful";
20
22
  import HeaderStateful from "../../headerstateful/HeaderStateful";
@@ -36,6 +38,8 @@ import { defaultScrollBarProps } from "../common/defaultProps/defaultScrollBarPr
36
38
  import { defaultWebChatContainerStatefulProps } from "../../webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps";
37
39
  import { disposeTelemetryLoggers } from "../common/disposeTelemetryLoggers";
38
40
  import { getGeneralStylesForButton } from "../common/getGeneralStylesForButton";
41
+ import { handleAgentEndConversation } from "../common/agentEndConversationHelper";
42
+ import { handleChatDisconnect } from "../common/chatDisconnectHelper";
39
43
  import { initCallingSdk } from "../common/initCallingSdk";
40
44
  import { initConfirmationPropsComposer } from "../common/initConfirmationPropsComposer";
41
45
  import { initWebChatComposer } from "../common/initWebChatComposer";
@@ -46,10 +50,6 @@ import { startProactiveChat } from "../common/startProactiveChat";
46
50
  import useChatAdapterStore from "../../../hooks/useChatAdapterStore";
47
51
  import useChatContextStore from "../../../hooks/useChatContextStore";
48
52
  import useChatSDKStore from "../../../hooks/useChatSDKStore";
49
- import { ConversationEndEntity } from "../../../contexts/common/ConversationEndEntity";
50
- import { handleAgentEndConversation } from "../common/agentEndConversationHelper";
51
- import { handleChatReconnect, isReconnectEnabled } from "../common/reconnectChatHelper";
52
- import { handleChatDisconnect } from "../common/chatDisconnectHelper";
53
53
  export const LiveChatWidgetStateful = props => {
54
54
  var _props$webChatContain, _props$styleProps, _chatSDK$omnichannelC, _props$controlProps, _props$controlProps2, _props$webChatContain3, _props$webChatContain4, _props$styleProps2, _props$controlProps15, _props$controlProps16, _props$componentOverr, _props$controlProps17, _props$componentOverr2, _props$controlProps18, _props$componentOverr3, _props$controlProps19, _props$componentOverr4, _props$controlProps20, _props$componentOverr5, _props$controlProps21, _props$componentOverr6, _props$controlProps22, _props$componentOverr7, _props$controlProps23, _props$controlProps24, _props$componentOverr8, _props$controlProps25, _props$componentOverr9, _props$controlProps26, _props$componentOverr10, _props$componentOverr11, _props$componentOverr12;
55
55
  const [state, dispatch] = useChatContextStore();
@@ -190,6 +190,12 @@ export const LiveChatWidgetStateful = props => {
190
190
  });
191
191
  });
192
192
  }
193
+ if (props.initialCustomContext) {
194
+ dispatch({
195
+ type: LiveChatWidgetActionType.SET_CUSTOM_CONTEXT,
196
+ payload: props.initialCustomContext
197
+ });
198
+ }
193
199
 
194
200
  // Initialize global dir
195
201
  const globalDir = ((_props$controlProps9 = props.controlProps) === null || _props$controlProps9 === void 0 ? void 0 : _props$controlProps9.dir) ?? getLocaleDirection((_props$chatConfig2 = props.chatConfig) === null || _props$chatConfig2 === void 0 ? void 0 : (_props$chatConfig2$Ch = _props$chatConfig2.ChatWidgetLanguage) === null || _props$chatConfig2$Ch === void 0 ? void 0 : _props$chatConfig2$Ch.msdyn_localeid);
@@ -250,16 +256,12 @@ export const LiveChatWidgetStateful = props => {
250
256
  BroadcastService.getMessageByEventName(BroadcastEvent.HideChatVisibilityChangeEvent).subscribe(async event => {
251
257
  var _event$payload;
252
258
  if ((event === null || event === void 0 ? void 0 : (_event$payload = event.payload) === null || _event$payload === void 0 ? void 0 : _event$payload.isChatHidden) !== undefined) {
253
- var _event$payload2, _props$controlProps10;
254
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
255
- Event: TelemetryEvent.ChatVisibilityChanged,
256
- Description: "Chat visibility changed to " + (event === null || event === void 0 ? void 0 : (_event$payload2 = event.payload) === null || _event$payload2 === void 0 ? void 0 : _event$payload2.isChatHidden)
257
- });
259
+ var _props$controlProps10;
258
260
  if ((_props$controlProps10 = props.controlProps) !== null && _props$controlProps10 !== void 0 && _props$controlProps10.hideStartChatButton) {
259
- var _event$payload3;
261
+ var _event$payload2;
260
262
  dispatch({
261
263
  type: LiveChatWidgetActionType.SET_MINIMIZED,
262
- payload: event === null || event === void 0 ? void 0 : (_event$payload3 = event.payload) === null || _event$payload3 === void 0 ? void 0 : _event$payload3.isChatHidden
264
+ payload: event === null || event === void 0 ? void 0 : (_event$payload2 = event.payload) === null || _event$payload2 === void 0 ? void 0 : _event$payload2.isChatHidden
263
265
  });
264
266
  }
265
267
  const dateNow = Date.now();
@@ -1,6 +1,7 @@
1
1
  import { HtmlAttributeNames, Regex } from "../../common/Constants";
2
2
  import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
3
3
  import React, { useEffect } from "react";
4
+ import MarkdownIt from "markdown-it";
4
5
  import { extractPreChatSurveyResponseValues, findAllFocusableElement, getStateFromCache, isUndefinedOrEmpty, parseAdaptiveCardPayload } from "../../common/utils";
5
6
  import { ConversationState } from "../../contexts/common/ConversationState";
6
7
  import { LiveChatWidgetActionType } from "../../contexts/common/LiveChatWidgetActionType";
@@ -13,6 +14,8 @@ import useChatContextStore from "../../hooks/useChatContextStore";
13
14
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
15
  export const PreChatSurveyPaneStateful = props => {
15
16
  var _surveyProps$stylePro, _props$surveyProps, _props$surveyProps$co;
17
+ // Set MarkDown global variable to be used for prechat adaptive cards
18
+ window["markdownit"] = MarkdownIt;
16
19
  const [state, dispatch] = useChatContextStore();
17
20
  const {
18
21
  surveyProps,
@@ -25,7 +25,9 @@ export class MockChatSDK {
25
25
  return "";
26
26
  }
27
27
  getConversationDetails() {
28
- return {};
28
+ return {
29
+ State: "Active"
30
+ };
29
31
  }
30
32
  getCurrentLiveChatContext() {
31
33
  return {
@@ -48,7 +48,9 @@ export declare enum BroadcastEvent {
48
48
  SigninCardReceived = "SignInCardReceived",
49
49
  BotAuthConfigRequest = "BotAuthConfigRequest",
50
50
  BotAuthConfigResponse = "BotAuthConfigResponse",
51
- HideChatVisibilityChangeEvent = "hideChatVisibilityChangeEvent"
51
+ HideChatVisibilityChangeEvent = "hideChatVisibilityChangeEvent",
52
+ UpdateSessionDataForTelemetry = "UpdateSessionDataForTelemetry",
53
+ UpdateConversationDataForTelemetry = "UpdateConversationDataForTelemetry"
52
54
  }
53
55
  export declare enum TelemetryEvent {
54
56
  CallAdded = "CallAdded",
@@ -53,5 +53,6 @@ export interface ILiveChatWidgetProps {
53
53
  liveChatContextFromCache?: ILiveChatWidgetContext;
54
54
  contextDataStore?: IContextDataStore;
55
55
  getAuthToken?: (authClientFunction?: string) => Promise<string | null>;
56
+ initialCustomContext?: any;
56
57
  scrollBarProps?: IScrollBarProps;
57
58
  }
@@ -7,7 +7,9 @@ export declare class MockChatSDK {
7
7
  getChatToken(): null;
8
8
  createChatAdapter(): MockAdapter;
9
9
  getPreChatSurvey(parseToJson: boolean): string;
10
- getConversationDetails(): {};
10
+ getConversationDetails(): {
11
+ State: string;
12
+ };
11
13
  getCurrentLiveChatContext(): {
12
14
  chatToken: {};
13
15
  requestId: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/omnichannel-chat-widget",
3
- "version": "1.0.2-main.2112105",
3
+ "version": "1.0.2-main.7152bb7",
4
4
  "description": "Microsoft Omnichannel Chat Widget",
5
5
  "main": "lib/cjs/index.js",
6
6
  "types": "lib/types/index.d.ts",
@@ -74,8 +74,8 @@
74
74
  },
75
75
  "dependencies": {
76
76
  "@fluentui/react": "^8.49.1",
77
- "@microsoft/omnichannel-chat-components": "0.1.0-main.f4c21f0",
78
- "@microsoft/omnichannel-chat-sdk": "1.2.1-main.171bfbe",
77
+ "@microsoft/omnichannel-chat-components": "1.0.1",
78
+ "@microsoft/omnichannel-chat-sdk": "1.3.0",
79
79
  "abort-controller-es5": "^2.0.1",
80
80
  "dompurify": "^2.3.4",
81
81
  "markdown-it": "^12.3.2",