@microsoft/omnichannel-chat-widget 0.1.0-main.bf74329 → 0.1.0-main.c1bbb91

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 (126) hide show
  1. package/lib/cjs/assets/Icons.js +4 -2
  2. package/lib/cjs/common/Constants.js +24 -4
  3. package/lib/cjs/common/KeyCodes.js +3 -1
  4. package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -1
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +5 -3
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +15 -6
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +12 -5
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +7 -2
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +3 -1
  10. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +2 -2
  11. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  12. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +1 -1
  13. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +1 -1
  14. package/lib/cjs/components/headerstateful/HeaderStateful.js +6 -4
  15. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +3 -1
  16. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -1
  17. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +3 -1
  18. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +3 -1
  19. package/lib/cjs/components/livechatwidget/common/Deferred.js +3 -1
  20. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  21. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +67 -16
  22. package/lib/cjs/components/livechatwidget/common/endChat.js +42 -2
  23. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +13 -19
  24. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +75 -114
  25. package/lib/cjs/components/livechatwidget/common/startChat.js +162 -45
  26. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  27. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +152 -116
  28. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +22 -2
  29. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  30. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +2 -2
  31. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  32. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +4 -0
  33. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +3 -1
  34. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +3 -1
  35. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -0
  36. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -1
  37. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -1
  38. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +1 -3
  39. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  40. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +1 -1
  41. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +1 -1
  42. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +5 -6
  43. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +2 -14
  44. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  45. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +12 -1
  46. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +29 -27
  47. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +6 -3
  48. package/lib/cjs/contexts/createReducer.js +19 -2
  49. package/lib/cjs/controller/componentController.js +1 -1
  50. package/lib/cjs/hooks/useDebounce.js +28 -0
  51. package/lib/cjs/hooks/useWindowDimensions.js +30 -0
  52. package/lib/cjs/plugins/newMessageEventHandler.js +4 -0
  53. package/lib/esm/assets/Icons.js +2 -1
  54. package/lib/esm/common/Constants.js +21 -3
  55. package/lib/esm/common/KeyCodes.js +3 -1
  56. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -1
  57. package/lib/esm/common/storage/default/defaultCacheManager.js +5 -3
  58. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +15 -6
  59. package/lib/esm/common/telemetry/TelemetryConstants.js +12 -5
  60. package/lib/esm/common/telemetry/TelemetryHelper.js +7 -2
  61. package/lib/esm/common/telemetry/TelemetryManager.js +3 -1
  62. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +2 -2
  63. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  64. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +1 -1
  65. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +1 -1
  66. package/lib/esm/components/headerstateful/HeaderStateful.js +6 -4
  67. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +3 -1
  68. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -1
  69. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +3 -1
  70. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +3 -1
  71. package/lib/esm/components/livechatwidget/common/Deferred.js +3 -1
  72. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  73. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +67 -16
  74. package/lib/esm/components/livechatwidget/common/endChat.js +42 -2
  75. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +13 -19
  76. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +72 -109
  77. package/lib/esm/components/livechatwidget/common/startChat.js +161 -45
  78. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  79. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +153 -117
  80. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +22 -2
  81. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  82. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +2 -2
  83. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  84. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +4 -0
  85. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +3 -1
  86. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +3 -1
  87. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +2 -0
  88. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -1
  89. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -1
  90. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +1 -3
  91. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +2 -1
  92. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +1 -1
  93. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +1 -1
  94. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +5 -6
  95. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +2 -14
  96. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +2 -11
  97. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +12 -1
  98. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +29 -27
  99. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +6 -3
  100. package/lib/esm/contexts/createReducer.js +19 -2
  101. package/lib/esm/controller/componentController.js +1 -1
  102. package/lib/esm/hooks/useDebounce.js +22 -0
  103. package/lib/esm/hooks/useWindowDimensions.js +23 -0
  104. package/lib/esm/plugins/newMessageEventHandler.js +4 -0
  105. package/lib/types/assets/Icons.d.ts +1 -0
  106. package/lib/types/common/Constants.d.ts +14 -0
  107. package/lib/types/common/storage/default/defaultCacheManager.d.ts +1 -1
  108. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +1 -1
  109. package/lib/types/common/telemetry/TelemetryConstants.d.ts +11 -4
  110. package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
  111. package/lib/types/common/telemetry/definitions/Payload.d.ts +1 -0
  112. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +4 -0
  113. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  114. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -7
  115. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -4
  116. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +3 -1
  117. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -0
  118. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  119. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  120. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
  121. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  122. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +2 -1
  123. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +29 -27
  124. package/lib/types/hooks/useDebounce.d.ts +3 -0
  125. package/lib/types/hooks/useWindowDimensions.d.ts +4 -0
  126. package/package.json +3 -3
@@ -229,7 +229,8 @@ const createAttachmentMiddleware = enableInlinePlaying => {
229
229
  renderer: next
230
230
  });
231
231
  }
232
- if (fileExtension === "txt") {
232
+ const isUnknownImageObject = contentType.toLowerCase().includes("image") && !imageExtension;
233
+ if (fileExtension === "txt" || isUnknownImageObject) {
233
234
  return /*#__PURE__*/React.createElement(Attachment, {
234
235
  iconData: iconData,
235
236
  textCard: patchAttachment(card, {
@@ -1,3 +1,3 @@
1
1
  export const defaultSystemMessageBoxStyles = {
2
- maxWidth: "75%"
2
+ maxWidth: "90%"
3
3
  };
@@ -1,3 +1,3 @@
1
1
  export const defaultUserMessageBoxStyles = {
2
- maxWidth: "75%"
2
+ maxWidth: "90%"
3
3
  };
@@ -27,13 +27,12 @@ export const DeliveredTimestamp = _ref => {
27
27
  } = args;
28
28
  return /*#__PURE__*/React.createElement(Stack, {
29
29
  style: contentStyles,
30
+ dir: dir
31
+ }, role === DirectLineSenderRole.Bot && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
30
32
  dir: dir,
31
- horizontal: true
32
- }, role === DirectLineSenderRole.Bot && /*#__PURE__*/React.createElement("span", {
33
33
  "aria-hidden": "false"
34
- }, name), role === DirectLineSenderRole.Bot && /*#__PURE__*/React.createElement("span", null, " \xA0-\xA0 "), /*#__PURE__*/React.createElement("span", {
34
+ }, name, " - ", getTimestampHourMinute(timestamp))), role === DirectLineSenderRole.User && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
35
+ "aria-hidden": "false",
35
36
  dir: dir
36
- }, " ", getTimestampHourMinute(timestamp)), role === DirectLineSenderRole.User && /*#__PURE__*/React.createElement("span", null, " \xA0-\xA0 "), role === DirectLineSenderRole.User && /*#__PURE__*/React.createElement("span", {
37
- "aria-hidden": "false"
38
- }, ((_state$domainStates$m = state.domainStates.middlewareLocalizedTexts) === null || _state$domainStates$m === void 0 ? void 0 : _state$domainStates$m.MIDDLEWARE_MESSAGE_DELIVERED) ?? defaultMiddlewareLocalizedTexts.MIDDLEWARE_MESSAGE_DELIVERED));
37
+ }, " ", getTimestampHourMinute(timestamp), " - ", ((_state$domainStates$m = state.domainStates.middlewareLocalizedTexts) === null || _state$domainStates$m === void 0 ? void 0 : _state$domainStates$m.MIDDLEWARE_MESSAGE_DELIVERED) ?? defaultMiddlewareLocalizedTexts.MIDDLEWARE_MESSAGE_DELIVERED)));
39
38
  };
@@ -1,5 +1,4 @@
1
1
  import React, { useCallback, useEffect, useRef } from "react";
2
- import { HtmlAttributeNames } from "../../../../../../common/Constants";
3
2
  import { KeyCodes } from "../../../../../../common/KeyCodes";
4
3
  import { Stack } from "@fluentui/react";
5
4
  import { defaultMiddlewareLocalizedTexts } from "../../../../common/defaultProps/defaultMiddlewareLocalizedTexts";
@@ -50,9 +49,8 @@ export const NotDeliveredTimestamp = _ref => {
50
49
  timestampWebChatNodes[1].innerText = getTimestampHourMinute(timestamp);
51
50
  }
52
51
  }, [timestampRef]);
53
- const onRetryClick = useCallback(async event => {
52
+ const onRetryClick = useCallback(async () => {
54
53
  var _activity$channelData;
55
- removeNotDeliveredTimestamp(event);
56
54
  activity.previousClientActivityID = (_activity$channelData = activity.channelData) === null || _activity$channelData === void 0 ? void 0 : _activity$channelData.clientActivityID;
57
55
  await postActivity(activity);
58
56
  focus("sendBox");
@@ -60,19 +58,9 @@ export const NotDeliveredTimestamp = _ref => {
60
58
  const onRetryKeyEnter = event => {
61
59
  if (event.code === KeyCodes.ENTER) {
62
60
  event.preventDefault();
63
- onRetryClick(event);
61
+ onRetryClick();
64
62
  }
65
63
  };
66
- const removeNotDeliveredTimestamp = event => {
67
- let parent = event.target.parentElement;
68
- while (parent.tagName !== HtmlAttributeNames.listItem) {
69
- parent = parent.parentElement;
70
- if (parent.tagName === HtmlAttributeNames.unorderedList) {
71
- return;
72
- }
73
- }
74
- parent.parentNode.removeChild(parent);
75
- };
76
64
  return /*#__PURE__*/React.createElement(Stack, {
77
65
  style: contentStyles,
78
66
  dir: dir,
@@ -2,29 +2,20 @@ import React from "react";
2
2
  import { Stack } from "@fluentui/react";
3
3
  import { defaultMiddlewareLocalizedTexts } from "../../../../common/defaultProps/defaultMiddlewareLocalizedTexts";
4
4
  import { defaultTimestampContentStyles } from "../defaultStyles/defaultTimestampContentStyles";
5
- import { getTimestampHourMinute } from "../../../../../../common/utils";
6
5
  import { useChatContextStore } from "../../../../../..";
7
6
 
8
7
  /* eslint @typescript-eslint/no-explicit-any: "off" */
9
- export const SendingTimestamp = _ref => {
8
+ export const SendingTimestamp = () => {
10
9
  var _state$domainStates$r, _state$domainStates$r2, _state$domainStates$m;
11
- let {
12
- args
13
- } = _ref;
14
10
  const [state] = useChatContextStore();
15
11
  const dir = ((_state$domainStates$r = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r === void 0 ? void 0 : _state$domainStates$r.timestampDir) ?? state.domainStates.globalDir;
16
12
  const contentStyles = {
17
13
  ...defaultTimestampContentStyles,
18
14
  ...((_state$domainStates$r2 = state.domainStates.renderingMiddlewareProps) === null || _state$domainStates$r2 === void 0 ? void 0 : _state$domainStates$r2.timestampContentStyleProps)
19
15
  };
20
- const {
21
- activity: {
22
- timestamp
23
- }
24
- } = args;
25
16
  return /*#__PURE__*/React.createElement(Stack, {
26
17
  style: contentStyles,
27
18
  dir: dir,
28
19
  horizontal: true
29
- }, /*#__PURE__*/React.createElement("span", null, " ", getTimestampHourMinute(timestamp)), /*#__PURE__*/React.createElement("span", null, " \xA0-\xA0 "), /*#__PURE__*/React.createElement("span", null, " ", ((_state$domainStates$m = state.domainStates.middlewareLocalizedTexts) === null || _state$domainStates$m === void 0 ? void 0 : _state$domainStates$m.MIDDLEWARE_MESSAGE_SENDING) ?? defaultMiddlewareLocalizedTexts.MIDDLEWARE_MESSAGE_SENDING, " "));
20
+ }, /*#__PURE__*/React.createElement("span", null, " ", ((_state$domainStates$m = state.domainStates.middlewareLocalizedTexts) === null || _state$domainStates$m === void 0 ? void 0 : _state$domainStates$m.MIDDLEWARE_MESSAGE_SENDING) ?? defaultMiddlewareLocalizedTexts.MIDDLEWARE_MESSAGE_SENDING, " "));
30
21
  };
@@ -22,6 +22,7 @@ const applyDataMasking = (action, regexCollection) => {
22
22
  });
23
23
  return action;
24
24
  }
25
+ let isRuleMatched = false;
25
26
  for (const ruleId of Object.keys(regexCollection)) {
26
27
  const item = regexCollection[ruleId];
27
28
  if (item) {
@@ -32,10 +33,15 @@ const applyDataMasking = (action, regexCollection) => {
32
33
  while (match = regex.exec(text)) {
33
34
  const replaceStr = match[0].replace(/./gi, maskedChar);
34
35
  text = text.replace(match[0], replaceStr);
36
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
37
+ Event: TelemetryEvent.DataMaskingRuleApplied,
38
+ Description: `Data Masking Rule Id: ${ruleId} applied.`
39
+ });
40
+ isRuleMatched = true;
35
41
  }
36
42
  } catch (err) {
37
43
  TelemetryHelper.logActionEvent(LogLevel.ERROR, {
38
- Event: TelemetryEvent.DataMaskingRuleApplied,
44
+ Event: TelemetryEvent.DataMaskingRuleApplyFailed,
39
45
  ExceptionDetails: {
40
46
  RuleId: ruleId,
41
47
  Exception: err
@@ -43,6 +49,11 @@ const applyDataMasking = (action, regexCollection) => {
43
49
  });
44
50
  }
45
51
  }
52
+
53
+ // Exit if rule matched
54
+ if (isRuleMatched === true) {
55
+ break;
56
+ }
46
57
  }
47
58
  action.payload.text = text;
48
59
  return action;
@@ -7,31 +7,33 @@ export let LiveChatWidgetActionType;
7
7
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_MINIMIZED"] = 4] = "SET_MINIMIZED";
8
8
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CONVERSATION_STATE"] = 5] = "SET_CONVERSATION_STATE";
9
9
  LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PREVIOUS_FOCUSED_ELEMENT_ID"] = 6] = "SET_PREVIOUS_FOCUSED_ELEMENT_ID";
10
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_OUTSIDE_OPERATING_HOURS"] = 7] = "SET_OUTSIDE_OPERATING_HOURS";
11
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRE_CHAT_SURVEY_RESPONSE"] = 8] = "SET_PRE_CHAT_SURVEY_RESPONSE";
12
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CUSTOM_CONTEXT"] = 9] = "SET_CUSTOM_CONTEXT";
13
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_CONFIRMATION"] = 10] = "SET_SHOW_CONFIRMATION";
14
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_EMAIL_TRANSCRIPT_PANE"] = 11] = "SET_SHOW_EMAIL_TRANSCRIPT_PANE";
15
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRECHAT_RESPONSE_EMAIL"] = 12] = "SET_PRECHAT_RESPONSE_EMAIL";
16
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_AUDIO_NOTIFICATION"] = 13] = "SET_AUDIO_NOTIFICATION";
17
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_E2VV_ENABLED"] = 14] = "SET_E2VV_ENABLED";
18
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_POST_CHAT_CONTEXT"] = 15] = "SET_POST_CHAT_CONTEXT";
19
- LiveChatWidgetActionType[LiveChatWidgetActionType["SHOW_CALLING_CONTAINER"] = 16] = "SHOW_CALLING_CONTAINER";
20
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_INCOMING_CALL"] = 17] = "SET_INCOMING_CALL";
21
- LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_VIDEO_CALL"] = 18] = "DISABLE_VIDEO_CALL";
22
- LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_LOCAL_VIDEO"] = 19] = "DISABLE_LOCAL_VIDEO";
23
- LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_REMOTE_VIDEO"] = 20] = "DISABLE_REMOTE_VIDEO";
24
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CHAT_TOKEN"] = 21] = "SET_CHAT_TOKEN";
25
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SKIP_CHAT_BUTTON_RENDERING"] = 22] = "SET_SKIP_CHAT_BUTTON_RENDERING";
26
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PROACTIVE_CHAT_PARAMS"] = 23] = "SET_PROACTIVE_CHAT_PARAMS";
27
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_TELEMETRY_DATA"] = 24] = "SET_TELEMETRY_DATA";
28
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_RECONNECT_ID"] = 25] = "SET_RECONNECT_ID";
29
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_UNREAD_MESSAGE_COUNT"] = 26] = "SET_UNREAD_MESSAGE_COUNT";
30
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_FOCUS_CHAT_BUTTON"] = 27] = "SET_FOCUS_CHAT_BUTTON";
31
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CONVERSATION_ENDED_BY_AGENT"] = 28] = "SET_CONVERSATION_ENDED_BY_AGENT";
32
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_STATE"] = 29] = "SET_WIDGET_STATE";
33
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_LIVE_CHAT_CONTEXT"] = 30] = "SET_LIVE_CHAT_CONTEXT";
34
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_BOT_OAUTH_SIGNIN_ID"] = 31] = "SET_BOT_OAUTH_SIGNIN_ID";
35
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_SIZE"] = 32] = "SET_WIDGET_SIZE";
36
- LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_INSTANCE_ID"] = 33] = "SET_WIDGET_INSTANCE_ID";
10
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_START_CHAT_FAILING"] = 7] = "SET_START_CHAT_FAILING";
11
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_OUTSIDE_OPERATING_HOURS"] = 8] = "SET_OUTSIDE_OPERATING_HOURS";
12
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRE_CHAT_SURVEY_RESPONSE"] = 9] = "SET_PRE_CHAT_SURVEY_RESPONSE";
13
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CUSTOM_CONTEXT"] = 10] = "SET_CUSTOM_CONTEXT";
14
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_CONFIRMATION"] = 11] = "SET_SHOW_CONFIRMATION";
15
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_SHOW_EMAIL_TRANSCRIPT_PANE"] = 12] = "SET_SHOW_EMAIL_TRANSCRIPT_PANE";
16
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PRECHAT_RESPONSE_EMAIL"] = 13] = "SET_PRECHAT_RESPONSE_EMAIL";
17
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_AUDIO_NOTIFICATION"] = 14] = "SET_AUDIO_NOTIFICATION";
18
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_E2VV_ENABLED"] = 15] = "SET_E2VV_ENABLED";
19
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_POST_CHAT_CONTEXT"] = 16] = "SET_POST_CHAT_CONTEXT";
20
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SHOW_CALLING_CONTAINER"] = 17] = "SHOW_CALLING_CONTAINER";
21
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_INCOMING_CALL"] = 18] = "SET_INCOMING_CALL";
22
+ LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_VIDEO_CALL"] = 19] = "DISABLE_VIDEO_CALL";
23
+ LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_LOCAL_VIDEO"] = 20] = "DISABLE_LOCAL_VIDEO";
24
+ LiveChatWidgetActionType[LiveChatWidgetActionType["DISABLE_REMOTE_VIDEO"] = 21] = "DISABLE_REMOTE_VIDEO";
25
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CHAT_TOKEN"] = 22] = "SET_CHAT_TOKEN";
26
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_START_CHAT_BUTTON_DISPLAY"] = 23] = "SET_START_CHAT_BUTTON_DISPLAY";
27
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_PROACTIVE_CHAT_PARAMS"] = 24] = "SET_PROACTIVE_CHAT_PARAMS";
28
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_TELEMETRY_DATA"] = 25] = "SET_TELEMETRY_DATA";
29
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_RECONNECT_ID"] = 26] = "SET_RECONNECT_ID";
30
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_UNREAD_MESSAGE_COUNT"] = 27] = "SET_UNREAD_MESSAGE_COUNT";
31
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_FOCUS_CHAT_BUTTON"] = 28] = "SET_FOCUS_CHAT_BUTTON";
32
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_CONVERSATION_ENDED_BY_AGENT"] = 29] = "SET_CONVERSATION_ENDED_BY_AGENT";
33
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_STATE"] = 30] = "SET_WIDGET_STATE";
34
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_LIVE_CHAT_CONTEXT"] = 31] = "SET_LIVE_CHAT_CONTEXT";
35
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_BOT_OAUTH_SIGNIN_ID"] = 32] = "SET_BOT_OAUTH_SIGNIN_ID";
36
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_SIZE"] = 33] = "SET_WIDGET_SIZE";
37
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_WIDGET_INSTANCE_ID"] = 34] = "SET_WIDGET_INSTANCE_ID";
38
+ LiveChatWidgetActionType[LiveChatWidgetActionType["SET_LIVE_CHAT_CONFIG"] = 35] = "SET_LIVE_CHAT_CONFIG";
37
39
  })(LiveChatWidgetActionType || (LiveChatWidgetActionType = {}));
@@ -2,10 +2,12 @@ import { ConversationState } from "./ConversationState";
2
2
  import { defaultMiddlewareLocalizedTexts } from "../../components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts";
3
3
  import { getWidgetCacheId, isNullOrUndefined } from "../../common/utils";
4
4
  import { defaultClientDataStoreProvider } from "../../common/storage/default/defaultClientDataStoreProvider";
5
+ import { Constants } from "../../common/Constants";
5
6
  export const getLiveChatWidgetContextInitialState = props => {
6
- var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps, _props$webChatContain;
7
+ var _props$chatSDK, _props$chatSDK$omnich, _props$chatSDK2, _props$chatSDK2$omnic, _props$controlProps, _props$controlProps2, _props$webChatContain;
7
8
  const widgetCacheId = 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$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.widgetInstanceId) ?? "");
8
- const initialState = defaultClientDataStoreProvider().getData(widgetCacheId, "localStorage");
9
+ const cacheTtlInMins = (props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : _props$controlProps2.cacheTtlInMins) ?? Constants.CacheTtlInMinutes;
10
+ const initialState = defaultClientDataStoreProvider(cacheTtlInMins).getData(widgetCacheId, "localStorage");
9
11
  if (!isNullOrUndefined(initialState)) {
10
12
  return JSON.parse(initialState);
11
13
  }
@@ -29,11 +31,12 @@ export const getLiveChatWidgetContextInitialState = props => {
29
31
  conversationState: ConversationState.Closed,
30
32
  isMinimized: false,
31
33
  previousElementIdOnFocusBeforeModalOpen: null,
34
+ isStartChatFailing: false,
32
35
  outsideOperatingHours: false,
33
36
  preChatResponseEmail: "",
34
37
  isAudioMuted: null,
35
38
  newMessage: false,
36
- skipChatButtonRendering: false,
39
+ hideStartChatButton: false,
37
40
  reconnectId: undefined,
38
41
  proactiveChatStates: {
39
42
  proactiveChatBodyTitle: "",
@@ -53,6 +53,14 @@ export const createReducer = () => {
53
53
  conversationState: action.payload
54
54
  }
55
55
  };
56
+ case LiveChatWidgetActionType.SET_START_CHAT_FAILING:
57
+ return {
58
+ ...state,
59
+ appStates: {
60
+ ...state.appStates,
61
+ isStartChatFailing: action.payload
62
+ }
63
+ };
56
64
  case LiveChatWidgetActionType.SET_OUTSIDE_OPERATING_HOURS:
57
65
  return {
58
66
  ...state,
@@ -192,12 +200,12 @@ export const createReducer = () => {
192
200
  e2vvEnabled: action.payload
193
201
  }
194
202
  };
195
- case LiveChatWidgetActionType.SET_SKIP_CHAT_BUTTON_RENDERING:
203
+ case LiveChatWidgetActionType.SET_START_CHAT_BUTTON_DISPLAY:
196
204
  return {
197
205
  ...state,
198
206
  appStates: {
199
207
  ...state.appStates,
200
- skipChatButtonRendering: action.payload
208
+ hideStartChatButton: action.payload
201
209
  }
202
210
  };
203
211
  case LiveChatWidgetActionType.SET_PROACTIVE_CHAT_PARAMS:
@@ -276,6 +284,15 @@ export const createReducer = () => {
276
284
  widgetInstanceId: action.payload
277
285
  }
278
286
  };
287
+ case LiveChatWidgetActionType.SET_LIVE_CHAT_CONFIG:
288
+ return {
289
+ ...state,
290
+ domainStates: {
291
+ ...state.domainStates,
292
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
293
+ liveChatConfig: action.payload
294
+ }
295
+ };
279
296
  default:
280
297
  return state;
281
298
  }
@@ -1,6 +1,6 @@
1
1
  import { ConversationState } from "../contexts/common/ConversationState";
2
2
  export const shouldShowChatButton = state => {
3
- return (state.appStates.isMinimized || state.appStates.conversationState === ConversationState.Closed) && state.appStates.skipChatButtonRendering == false; // Do not show chat button in case of popout
3
+ return (state.appStates.isMinimized || state.appStates.conversationState === ConversationState.Closed) && state.appStates.hideStartChatButton === false; // Do not show chat button in case of popout
4
4
  };
5
5
 
6
6
  export const shouldShowProactiveChatPane = state => {
@@ -0,0 +1,22 @@
1
+ import { useRef, useEffect } from "react";
2
+ export default function useDebounce(func) {
3
+ let delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;
4
+ const timer = useRef();
5
+ useEffect(() => {
6
+ return () => {
7
+ if (!timer.current) return;
8
+ clearTimeout(timer.current);
9
+ };
10
+ }, []);
11
+ const debouncedFunction = function () {
12
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
13
+ args[_key] = arguments[_key];
14
+ }
15
+ const newTimer = setTimeout(() => {
16
+ func(...args);
17
+ }, delay);
18
+ clearTimeout(timer.current);
19
+ timer.current = newTimer;
20
+ };
21
+ return debouncedFunction;
22
+ }
@@ -0,0 +1,23 @@
1
+ import { useState, useEffect } from "react";
2
+ import useDebounce from "./useDebounce";
3
+ function getWindowDimensions() {
4
+ const {
5
+ innerWidth: width,
6
+ innerHeight: height
7
+ } = window;
8
+ return {
9
+ width,
10
+ height
11
+ };
12
+ }
13
+ export default function useWindowDimensions() {
14
+ let delay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 200;
15
+ const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());
16
+ const handleResize = () => setWindowDimensions(getWindowDimensions());
17
+ const debouncedHandleResize = useDebounce(handleResize, delay);
18
+ useEffect(() => {
19
+ window.addEventListener("resize", debouncedHandleResize);
20
+ return () => window.removeEventListener("resize", debouncedHandleResize);
21
+ }, []);
22
+ return windowDimensions;
23
+ }
@@ -39,6 +39,10 @@ export const createOnNewAdapterActivityHandler = (chatId, userId) => {
39
39
  if (activity !== null && activity !== void 0 && (_activity$channelData5 = activity.channelData) !== null && _activity$channelData5 !== void 0 && (_activity$channelData6 = _activity$channelData5.tags) !== null && _activity$channelData6 !== void 0 && _activity$channelData6.includes(Constants.systemMessageTag)) {
40
40
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
41
41
  payload.messageType = Constants.systemMessageTag;
42
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
43
+ Event: TelemetryEvent.SystemMessageReceived,
44
+ Description: "System message received"
45
+ });
42
46
  } else {
43
47
  var _activity$channelData7, _activity$channelData8, _activity$channelData9;
44
48
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -9,3 +9,4 @@ export declare const PowerpointIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0
9
9
  export declare const VideoIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0wIDI1NmgyMDQ4djE0MDhIMFYyNTZ6bTI1NiAxMjgwdi0xMjhIMTI4djEyOGgxMjh6bTAtMjU2di0xMjhIMTI4djEyOGgxMjh6bTAtMjU2Vjg5NkgxMjh2MTI4aDEyOHptMC0yNTZWNjQwSDEyOHYxMjhoMTI4em0wLTI1NlYzODRIMTI4djEyOGgxMjh6bTE0MDggNzg2VjM4NEgzODR2ODIzbDQxMS01NDkgNzQxIDg3OC0zMjktNTU4IDEzNy0xMzcgMzIwIDQ1N3ptMjU2IDIzOHYtMTI4aC0xMjh2MTI4aDEyOHptMC0yNTZ2LTEyOGgtMTI4djEyOGgxMjh6bTAtMjU2Vjg5NmgtMTI4djEyOGgxMjh6bTAtMjU2VjY0MGgtMTI4djEyOGgxMjh6bTAtMjU2VjM4NGgtMTI4djEyOGgxMjh6IiAvPg0KPC9zdmc+";
10
10
  export declare const VisioIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yMDQ4IDQ3NXYxNDQ1cTAgMjctMTAgNTB0LTI3IDQwLTQxIDI4LTUwIDEwSDY0MHEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTB2LTI1NkgxMTVxLTI0IDAtNDQtOXQtMzctMjUtMjUtMzYtOS00NVY2MjdxMC0yNCA5LTQ0dDI1LTM3IDM2LTI1IDQ1LTloMzk3VjEyOHEwLTI3IDEwLTUwdDI3LTQwIDQxLTI4IDUwLTEwaDkzM3EyNiAwIDQ5IDl0NDIgMjhsMzQ3IDM0N3ExOCAxOCAyNyA0MXQxMCA1MHptLTM4NC0yNTZ2MTY1aDE2NWwtMTY1LTE2NXpNNDkzIDE0MjRoMTYzbDI1NS02NzJINzQ1bC0xNDcgNDI3cS01IDE2LTEwIDMxdC0xMSAzMXEtNDEtMTIzLTgyLTI0NHQtODQtMjQ1SDI0MWwyNDggNjYyIDQgMTB6bTE0NyA0OTZoMTI4MFY1MTJoLTI1NnEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTBWMTI4SDY0MHYzODRoMzk3cTI0IDAgNDQgOXQzNyAyNSAyNSAzNiA5IDQ1djkyMnEwIDI0LTkgNDR0LTI1IDM3LTM2IDI1LTQ1IDlINjQwdjI1NnptOTYwLTEyODBsMTkyIDE5Mi0xMjggMTI4djQ0OGgtMjU2djEyOGgtMTI4di0zODRoMTI4djEyOGgxMjhWOTYwbC0xMjgtMTI4IDE5Mi0xOTJ6IiAvPg0KPC9zdmc+";
11
11
  export declare const WordIcon = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogICAgdmlld0JveD0iMCAwIDIwNDggMjA0OCINCiAgICB3aWR0aD0iMTJweCINCiAgICBoZWlnaHQ9IjEycHgiPg0KICAgIDxwYXRoIGQ9Ik0yMDQ4IDQ3NXYxNDQ1cTAgMjctMTAgNTB0LTI3IDQwLTQxIDI4LTUwIDEwSDY0MHEtMjcgMC01MC0xMHQtNDAtMjctMjgtNDEtMTAtNTB2LTI1NkgxMTVxLTI0IDAtNDQtOXQtMzctMjUtMjUtMzYtOS00NVY2MjdxMC0yNCA5LTQ0dDI1LTM3IDM2LTI1IDQ1LTloMzk3VjEyOHEwLTI3IDEwLTUwdDI3LTQwIDQxLTI4IDUwLTEwaDkzM3EyNiAwIDQ5IDl0NDIgMjhsMzQ3IDM0N3ExOCAxOCAyNyA0MXQxMCA1MHptLTM4NC0yNTZ2MTY1aDE2NWwtMTY1LTE2NXpNMzIwIDE0MjRoMTYxcTItOCA5LTQzdDE4LTgzIDIxLTEwMyAyMi0xMDEgMTYtNzYgOC0zMWw3IDMwcTcgMzAgMTcgNzd0MjMgMTAwIDIzIDEwMyAxOSA4NCAxMCA0M2gxNjBsMTQ4LTY3Mkg4MzRsLTgwIDQzOC0xMDAtNDM4SDUwMmwtOTYgNDQwLTg2LTQ0MEgxNzBsMTUwIDY3MnptMzIwIDQ5NmgxMjgwVjUxMmgtMjU2cS0yNyAwLTUwLTEwdC00MC0yNy0yOC00MS0xMC01MFYxMjhINjQwdjM4NGgzOTdxMjQgMCA0NCA5dDM3IDI1IDI1IDM2IDkgNDV2OTIycTAgMjQtOSA0NHQtMjUgMzctMzYgMjUtNDUgOUg2NDB2MjU2em02NDAtMTAyNFY3NjhoNTEydjEyOGgtNTEyem0wIDI1NnYtMTI4aDUxMnYxMjhoLTUxMnptMCAyNTZ2LTEyOGg1MTJ2MTI4aC01MTJ6IiAvPg0KPC9zdmc+";
12
+ export declare const AlertIcon = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMC8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9zdmcxMC5kdGQnPjxzdmcgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIGlkPSJMYXllcl8xIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PHBhdGggZD0iTTEzLDE3aC0ydi0yaDJWMTd6IE0xMywxM2gtMlY3aDJWMTN6Ii8+PGc+PHBhdGggZD0iTTEyLDRjNC40LDAsOCwzLjYsOCw4cy0zLjYsOC04LDhzLTgtMy42LTgtOFM3LjYsNCwxMiw0IE0xMiwyQzYuNSwyLDIsNi41LDIsMTJjMCw1LjUsNC41LDEwLDEwLDEwczEwLTQuNSwxMC0xMCAgIEMyMiw2LjUsMTcuNSwyLDEyLDJMMTIsMnoiLz48L2c+PC9zdmc+";
@@ -78,6 +78,7 @@ export declare class Constants {
78
78
  static readonly ChatWidgetStateChangedPrefix = "ChatWidgetStateChanged";
79
79
  static readonly PostChatLoadingDurationInMs = 2000;
80
80
  static readonly BrowserUnloadConfirmationMessage = "Do you want to leave chat?";
81
+ static readonly CacheTtlInMinutes = 15;
81
82
  }
82
83
  export declare const Regex: {
83
84
  new (): {};
@@ -125,6 +126,7 @@ export declare class HtmlAttributeNames {
125
126
  static readonly adaptiveCardClassName = "ac-adaptiveCard";
126
127
  static readonly adaptiveCardTextBlockClassName = "ac-textBlock";
127
128
  static readonly adaptiveCardToggleInputClassName = "ac-toggleInput";
129
+ static readonly adaptiveCardActionSetClassName = "ac-actionSet";
128
130
  }
129
131
  export declare class WebChatMiddlewareConstants {
130
132
  static readonly nextVisibleActivity = "nextVisibleActivity";
@@ -150,6 +152,18 @@ export declare enum EnvironmentVersion {
150
152
  int = "int",
151
153
  test = "test"
152
154
  }
155
+ export declare enum E2VVOptions {
156
+ NoCalling = "192350000",
157
+ VideoAndVoiceCalling = "192350001",
158
+ VoiceOnly = "192350002"
159
+ }
160
+ export declare enum LiveWorkItemState {
161
+ Active = "Active",
162
+ Closed = "Closed",
163
+ Open = "Open",
164
+ Waiting = "Waiting",
165
+ WrapUp = "WrapUp"
166
+ }
153
167
  export declare class TranscriptConstants {
154
168
  static readonly ChatTranscriptsBodyColor = "#F5F5F5";
155
169
  static readonly TranscriptMessageEmojiMessageType = "http://schema.skype.com/emoji";
@@ -1,4 +1,4 @@
1
1
  export declare class defaultCacheManager {
2
2
  static InternalCache: any;
3
3
  }
4
- export declare const registerBroadcastServiceForLocalStorage: (orgid: string, widgetId: string, widgetInstanceId: string) => void;
4
+ export declare const registerBroadcastServiceForLocalStorage: (orgid: string, widgetId: string, widgetInstanceId: string, ttlInMins: number) => void;
@@ -1,2 +1,2 @@
1
1
  import { IContextDataStore } from "../../interfaces/IContextDataStore";
2
- export declare const defaultClientDataStoreProvider: () => IContextDataStore;
2
+ export declare const defaultClientDataStoreProvider: (cacheTtlinMins?: number) => IContextDataStore;
@@ -33,7 +33,6 @@ export declare enum BroadcastEvent {
33
33
  HistoryMessageReceived = "HistoryMessageReceived",
34
34
  RedirectPageRequest = "RedirectPageRequest",
35
35
  StartChat = "StartChat",
36
- StartChatSkippingChatButtonRendering = "StartChatSkippingChatButtonRendering",
37
36
  StartUnauthenticatedReconnectChat = "StartUnauthenticatedReconnectChat",
38
37
  InitiateEndChat = "InitiateEndChat",
39
38
  SetCustomContext = "SetCustomContext",
@@ -42,7 +41,10 @@ export declare enum BroadcastEvent {
42
41
  ChatInitiated = "ChatInitiated",
43
42
  CloseChat = "CloseChat",
44
43
  InitiateEndChatOnBrowserUnload = "InitiateEndChatOnBrowserUnload",
45
- ClosePopoutWindow = "ClosePopoutWindow"
44
+ ClosePopoutWindow = "ClosePopoutWindow",
45
+ RaiseErrorEvent = "RaiseErrorEvent",
46
+ NetworkDisconnected = "NetworkDisconnected",
47
+ NetworkReconnected = "NetworkReconnected"
46
48
  }
47
49
  export declare enum TelemetryEvent {
48
50
  CallAdded = "CallAdded",
@@ -53,8 +55,8 @@ export declare enum TelemetryEvent {
53
55
  CallDisconnected = "CallDisconnected",
54
56
  CallDisconnectedException = "CallDisconnectedException",
55
57
  IncomingCallEnded = "incomingCallEnded",
56
- VoiceVideoInitialize = "VoiceVideoInitialize",
57
- VoiceVideoInitializeException = "VoiceVideoInitializeException",
58
+ VoiceVideoSdkInitialize = "VoiceVideoSdkInitialize",
59
+ VoiceVideoSdkInitializeException = "VoiceVideoSdkInitializeException",
58
60
  VoiceVideoLoading = "VoiceVideoLoading",
59
61
  VoiceVideoNotLoaded = "VoiceVideoNotLoaded",
60
62
  VoiceVideoLoadingException = "VoiceVideoLoadingException",
@@ -85,6 +87,7 @@ export declare enum TelemetryEvent {
85
87
  WebChatLoaded = "WebChatLoaded",
86
88
  LCWChatButtonClicked = "LCWChatButtonClicked",
87
89
  LCWChatButtonShow = "LCWChatButtonShow",
90
+ WidgetLoadStarted = "WidgetLoadStarted",
88
91
  WidgetLoadComplete = "WidgetLoadComplete",
89
92
  WidgetLoadFailed = "WidgetLoadFailed",
90
93
  StartChatMethodException = "StartChatMethodException",
@@ -101,6 +104,7 @@ export declare enum TelemetryEvent {
101
104
  DownloadTranscriptResponseNullOrUndefined = "DownloadTranscriptResponseNullOrUndefined",
102
105
  EmailTranscriptSent = "EmailTranscriptSent",
103
106
  EmailTranscriptFailed = "EmailTranscriptFailed",
107
+ ErrorUIPaneLoaded = "ErrorUIPaneLoaded",
104
108
  DownloadTranscriptFailed = "DownloadTranscriptFailed",
105
109
  StartChatFailed = "StartChatFailed",
106
110
  IC3ThreadUpdateEventReceived = "IC3ThreadUpdateEventReceived",
@@ -125,6 +129,7 @@ export declare enum TelemetryEvent {
125
129
  GetConversationDetailsException = "GetConversationDetailsException",
126
130
  BrowserUnloadEventStarted = "BrowserUnloadEventStarted",
127
131
  GetAuthTokenCalled = "GetAuthTokenCalled",
132
+ GetAuthTokenFailed = "GetAuthTokenFailed",
128
133
  ReceivedNullOrEmptyToken = "ReceivedNullOrEmptyToken",
129
134
  CustomerVoiceResponsePageLoaded = "CustomerVoiceResponsePageLoaded",
130
135
  CustomerVoiceFormResponseSubmitted = "CustomerVoiceFormResponseSubmitted",
@@ -135,6 +140,7 @@ export declare enum TelemetryEvent {
135
140
  QueuePositionMessageRecieved = "QueuePositionMessageRecieved",
136
141
  AverageWaitTimeMessageRecieved = "AverageWaitTimeMessageRecieved",
137
142
  DataMaskingRuleApplied = "DataMaskingRuleApplied",
143
+ DataMaskingRuleApplyFailed = "DataMaskingRuleApplyFailed",
138
144
  IC3ClientEvent = "IC3ClientEvent",
139
145
  ConversationEndedThreadEventReceived = "ConversationEndedThreadEventReceived",
140
146
  InvalidConfiguration = "InvalidConfiguration",
@@ -154,6 +160,7 @@ export declare enum TelemetryEvent {
154
160
  ReconnectChatMinimize = "ReconnectChatMinimize",
155
161
  MessageSent = "MessageSent",
156
162
  MessageReceived = "MessageReceived",
163
+ SystemMessageReceived = "SystemMessageReceived",
157
164
  CustomContextReceived = "CustomContextReceived",
158
165
  NetworkDisconnected = "NetworkDisconnected",
159
166
  NetworkReconnected = "NetworkReconnected"
@@ -7,8 +7,9 @@ export interface BaseContract {
7
7
  OrganizationId: string;
8
8
  LCWRuntimeId: string;
9
9
  CurrentRequestId: string;
10
- ExceptionDetails?: string;
10
+ ExceptionDetails?: any;
11
11
  LogLevel: string;
12
+ Description?: string;
12
13
  }
13
14
  export interface ConfigValidationContract extends BaseContract {
14
15
  Event?: string;
@@ -31,6 +32,8 @@ export interface LoadContract extends BaseContract {
31
32
  export interface ActionsContract extends BaseContract {
32
33
  Event?: string;
33
34
  ActionType?: string;
35
+ Description?: string;
36
+ CustomProperties?: any;
34
37
  }
35
38
  export interface IC3ClientContract extends BaseContract {
36
39
  Event?: string;
@@ -40,7 +43,6 @@ export interface IC3ClientContract extends BaseContract {
40
43
  EndpointId?: string;
41
44
  ErrorCode?: string;
42
45
  ShouldBubbleToHost?: boolean;
43
- Description?: string;
44
46
  }
45
47
  export interface OCChatSDKContract extends BaseContract {
46
48
  RequestId: string;
@@ -58,7 +60,6 @@ export interface WebChatContract extends BaseContract {
58
60
  export interface CallingContract extends BaseContract {
59
61
  CallId?: string;
60
62
  Event?: string;
61
- Description?: string;
62
63
  }
63
64
  export interface ACSAdapterContract extends BaseContract {
64
65
  Description?: string;
@@ -68,6 +69,5 @@ export interface ACSAdapterContract extends BaseContract {
68
69
  TimeStamp?: string;
69
70
  Event?: string;
70
71
  ErrorCode?: string;
71
- ExceptionDetails?: any;
72
72
  }
73
73
  export declare type TelemetryContract = OCChatSDKContract | IC3ClientContract | ActionsContract | LoadContract | WebChatContract | ConfigValidationContract | CallingContract | ACSAdapterContract | BaseContract | any;
@@ -72,6 +72,7 @@ export interface ActionTelemetryData extends BaseTelemetryData {
72
72
  ActionType?: string;
73
73
  ExceptionDetails?: object;
74
74
  Description?: string;
75
+ CustomProperties?: any;
75
76
  }
76
77
  export interface CallingTelemetryData extends BaseTelemetryData {
77
78
  CallId?: string;
@@ -41,4 +41,8 @@ export interface ITelemetryConfig {
41
41
  * Omnichannel Chat SDK Version
42
42
  */
43
43
  OCChatSDKVersion: string;
44
+ /**
45
+ * LCW Runtime Id
46
+ */
47
+ LCWRuntimeId?: string;
44
48
  }
@@ -0,0 +1,2 @@
1
+ import { IScrollBarProps } from "../../interfaces/IScrollBarProps";
2
+ export declare const defaultScrollBarProps: IScrollBarProps;
@@ -2,10 +2,8 @@ import "regenerator-runtime/runtime";
2
2
  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
- import { ILiveChatWidgetProps } from "../interfaces/ILiveChatWidgetProps";
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
- 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, 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
- export { getChatReconnectContext, getReconnectIdForAuthenticatedChat, handleUnauthenticatedReconnectChat, startUnauthenticatedReconnectChat, handleRedirectUnauthenticatedReconnectChat };
5
+ import { ILiveChatWidgetContext } from "../../../contexts/common/ILiveChatWidgetContext";
6
+ declare const handleChatReconnect: (chatSDK: any, props: any, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, initStartChat: any, state: ILiveChatWidgetContext) => Promise<void>;
7
+ declare const getChatReconnectContext: (chatSDK: any, chatConfig: ChatConfig, props: any, isAuthenticatedChat: boolean) => Promise<any>;
8
+ declare const isReconnectEnabled: (chatConfig: ChatConfig) => any;
9
+ export { handleChatReconnect, isReconnectEnabled, getChatReconnectContext };
@@ -1,9 +1,10 @@
1
- import ChatConfig from "@microsoft/omnichannel-chat-sdk/lib/core/ChatConfig";
2
1
  import { Dispatch } from "react";
3
2
  import { ILiveChatWidgetAction } from "../../../contexts/common/ILiveChatWidgetAction";
4
3
  import { ILiveChatWidgetContext } from "../../../contexts/common/ILiveChatWidgetContext";
5
4
  import { ILiveChatWidgetProps } from "../interfaces/ILiveChatWidgetProps";
5
+ import StartChatOptionalParams from "@microsoft/omnichannel-chat-sdk/lib/core/StartChatOptionalParams";
6
6
  declare const prepareStartChat: (props: ILiveChatWidgetProps, chatSDK: any, state: ILiveChatWidgetContext, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any) => Promise<void>;
7
- declare const setPreChatAndInitiateChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, isProactiveChat?: boolean | undefined, proactiveChatEnablePrechatState?: boolean | undefined) => Promise<void>;
8
- declare const initStartChat: (chatSDK: any, chatConfig: ChatConfig | undefined, getAuthToken: ((authClientFunction?: string | undefined) => Promise<string | null>) | undefined, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, params?: any, persistedState?: any) => Promise<void>;
9
- export { prepareStartChat, initStartChat, setPreChatAndInitiateChat };
7
+ declare const setPreChatAndInitiateChat: (chatSDK: any, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, isProactiveChat?: boolean | undefined, proactiveChatEnablePrechatState?: boolean | undefined, state?: ILiveChatWidgetContext | undefined, props?: ILiveChatWidgetProps | undefined) => Promise<void>;
8
+ declare const initStartChat: (chatSDK: any, dispatch: Dispatch<ILiveChatWidgetAction>, setAdapter: any, props?: ILiveChatWidgetProps | undefined, params?: StartChatOptionalParams | undefined, persistedState?: any) => Promise<void>;
9
+ declare const checkIfConversationStillValid: (chatSDK: any, props: ILiveChatWidgetProps, requestId: any, dispatch: Dispatch<ILiveChatWidgetAction>) => Promise<boolean>;
10
+ export { prepareStartChat, initStartChat, setPreChatAndInitiateChat, checkIfConversationStillValid };
@@ -4,6 +4,7 @@ export interface ILiveChatWidgetControlProps {
4
4
  hideCallingContainer?: boolean;
5
5
  hideChatButton?: boolean;
6
6
  hideConfirmationPane?: boolean;
7
+ hideErrorUIPane?: boolean;
7
8
  hideFooter?: boolean;
8
9
  hideHeader?: boolean;
9
10
  hideLoadingPane?: boolean;
@@ -13,6 +14,7 @@ export interface ILiveChatWidgetControlProps {
13
14
  hideProactiveChatPane?: boolean;
14
15
  hideReconnectChatPane?: boolean;
15
16
  hideWebChatContainer?: boolean;
16
- skipChatButtonRendering?: boolean;
17
+ hideStartChatButton?: boolean;
17
18
  widgetInstanceId?: string | undefined;
19
+ cacheTtlInMins?: number;
18
20
  }