@microsoft/omnichannel-chat-widget 1.7.8-main.7a07fc5 → 1.7.8-main.8428c08

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 (166) hide show
  1. package/lib/cjs/common/Constants.js +66 -20
  2. package/lib/cjs/common/KeyCodes.js +6 -1
  3. package/lib/cjs/common/contextDataStore/DataStoreManager.js +6 -1
  4. package/lib/cjs/common/facades/FacadeChatSDK.js +392 -295
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +6 -3
  6. package/lib/cjs/common/telemetry/ScenarioMarker.js +66 -0
  7. package/lib/cjs/common/telemetry/TelemetryConstants.js +179 -148
  8. package/lib/cjs/common/telemetry/TelemetryHelper.js +281 -250
  9. package/lib/cjs/common/telemetry/TelemetryManager.js +31 -11
  10. package/lib/cjs/common/telemetry/defaultConfigs/defaultAppInsightsConfig.js +11 -0
  11. package/lib/cjs/common/telemetry/interfaces/IAppInsightsConfig.js +1 -0
  12. package/lib/cjs/common/telemetry/loggers/appInsightsLogger.js +119 -0
  13. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +17 -14
  14. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +5 -4
  15. package/lib/cjs/components/footerstateful/FooterStateful.js +13 -8
  16. package/lib/cjs/components/headerstateful/HeaderStateful.js +24 -14
  17. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +32 -19
  18. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.js +71 -56
  19. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +17 -8
  20. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/HiddenAdaptiveCardActivitySubscriber.js +65 -52
  21. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +31 -18
  22. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +14 -6
  23. package/lib/cjs/components/livechatwidget/common/Deferred.js +14 -6
  24. package/lib/cjs/components/livechatwidget/common/chatDisconnectHelper.js +3 -1
  25. package/lib/cjs/components/livechatwidget/common/endChat.js +4 -18
  26. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +0 -5
  27. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +3 -1
  28. package/lib/cjs/components/livechatwidget/common/renderSurveyHelpers.js +7 -4
  29. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +7 -3
  30. package/lib/cjs/components/livechatwidget/common/startChat.js +5 -26
  31. package/lib/cjs/components/livechatwidget/common/startChatErrorHandler.js +7 -6
  32. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +28 -20
  33. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +12 -8
  34. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +31 -10
  35. package/lib/cjs/components/postchatsurveypanestateful/common/isValidSurveyUrl.js +28 -0
  36. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +9 -6
  37. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +9 -7
  38. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +4 -3
  39. package/lib/cjs/components/webchatcontainerstateful/common/DemoChatAdapter.js +88 -65
  40. package/lib/cjs/components/webchatcontainerstateful/common/DemoChatSDK.js +26 -7
  41. package/lib/cjs/components/webchatcontainerstateful/common/DesignerChatAdapter.js +49 -26
  42. package/lib/cjs/components/webchatcontainerstateful/common/DesignerChatSDK.js +57 -35
  43. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +62 -52
  44. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +95 -61
  45. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +6 -1
  46. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +6 -1
  47. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/markdownrenderers/HyperlinkTextOverrideRenderer.js +53 -39
  48. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +4 -0
  49. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +88 -60
  50. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +18 -6
  51. package/lib/cjs/firstresponselatency/Constants.js +13 -0
  52. package/lib/cjs/firstresponselatency/FirstMessageTrackerFromBot.js +118 -0
  53. package/lib/cjs/firstresponselatency/FirstResponseLatencyTracker.js +201 -0
  54. package/lib/cjs/firstresponselatency/util.js +98 -0
  55. package/lib/cjs/plugins/createChatTranscript.js +92 -62
  56. package/lib/cjs/plugins/newMessageEventHandler.js +102 -88
  57. package/lib/esm/common/Constants.js +64 -19
  58. package/lib/esm/common/KeyCodes.js +6 -1
  59. package/lib/esm/common/contextDataStore/DataStoreManager.js +6 -1
  60. package/lib/esm/common/facades/FacadeChatSDK.js +392 -295
  61. package/lib/esm/common/storage/default/defaultCacheManager.js +6 -1
  62. package/lib/esm/common/telemetry/ScenarioMarker.js +59 -0
  63. package/lib/esm/common/telemetry/TelemetryConstants.js +179 -148
  64. package/lib/esm/common/telemetry/TelemetryHelper.js +281 -250
  65. package/lib/esm/common/telemetry/TelemetryManager.js +31 -11
  66. package/lib/esm/common/telemetry/defaultConfigs/defaultAppInsightsConfig.js +4 -0
  67. package/lib/esm/common/telemetry/interfaces/IAppInsightsConfig.js +1 -0
  68. package/lib/esm/common/telemetry/loggers/appInsightsLogger.js +111 -0
  69. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +17 -14
  70. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +5 -4
  71. package/lib/esm/components/footerstateful/FooterStateful.js +13 -8
  72. package/lib/esm/components/headerstateful/HeaderStateful.js +24 -14
  73. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +32 -19
  74. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/BotAuthActivitySubscriber.js +71 -56
  75. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +17 -8
  76. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/HiddenAdaptiveCardActivitySubscriber.js +65 -52
  77. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +31 -18
  78. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +14 -6
  79. package/lib/esm/components/livechatwidget/common/Deferred.js +14 -6
  80. package/lib/esm/components/livechatwidget/common/chatDisconnectHelper.js +3 -1
  81. package/lib/esm/components/livechatwidget/common/endChat.js +4 -18
  82. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +1 -6
  83. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +3 -1
  84. package/lib/esm/components/livechatwidget/common/renderSurveyHelpers.js +7 -4
  85. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +7 -3
  86. package/lib/esm/components/livechatwidget/common/startChat.js +6 -27
  87. package/lib/esm/components/livechatwidget/common/startChatErrorHandler.js +7 -6
  88. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +28 -20
  89. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +12 -8
  90. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +31 -10
  91. package/lib/esm/components/postchatsurveypanestateful/common/isValidSurveyUrl.js +21 -0
  92. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +9 -6
  93. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +9 -7
  94. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +4 -3
  95. package/lib/esm/components/webchatcontainerstateful/common/DemoChatAdapter.js +88 -65
  96. package/lib/esm/components/webchatcontainerstateful/common/DemoChatSDK.js +26 -7
  97. package/lib/esm/components/webchatcontainerstateful/common/DesignerChatAdapter.js +49 -26
  98. package/lib/esm/components/webchatcontainerstateful/common/DesignerChatSDK.js +57 -35
  99. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +63 -52
  100. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +95 -61
  101. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +6 -1
  102. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +6 -1
  103. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/markdownrenderers/HyperlinkTextOverrideRenderer.js +53 -39
  104. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +4 -0
  105. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +88 -60
  106. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +18 -6
  107. package/lib/esm/firstresponselatency/Constants.js +6 -0
  108. package/lib/esm/firstresponselatency/FirstMessageTrackerFromBot.js +112 -0
  109. package/lib/esm/firstresponselatency/FirstResponseLatencyTracker.js +194 -0
  110. package/lib/esm/firstresponselatency/util.js +87 -0
  111. package/lib/esm/plugins/createChatTranscript.js +92 -62
  112. package/lib/esm/plugins/newMessageEventHandler.js +100 -86
  113. package/lib/types/common/Constants.d.ts +5 -0
  114. package/lib/types/common/facades/FacadeChatSDK.d.ts +1 -0
  115. package/lib/types/common/telemetry/ScenarioMarker.d.ts +19 -0
  116. package/lib/types/common/telemetry/TelemetryConstants.d.ts +50 -33
  117. package/lib/types/common/telemetry/TelemetryHelper.d.ts +5 -0
  118. package/lib/types/common/telemetry/defaultConfigs/defaultAppInsightsConfig.d.ts +2 -0
  119. package/lib/types/common/telemetry/interfaces/IAppInsightsConfig.d.ts +4 -0
  120. package/lib/types/common/telemetry/interfaces/IChatSDKLogger.d.ts +1 -0
  121. package/lib/types/common/telemetry/interfaces/IInternalTelemetryData.d.ts +2 -0
  122. package/lib/types/common/telemetry/loggers/appInsightsLogger.d.ts +5 -0
  123. package/lib/types/components/callingcontainerstateful/CallingContainerStateful.d.ts +2 -1
  124. package/lib/types/components/chatbuttonstateful/ChatButtonStateful.d.ts +2 -1
  125. package/lib/types/components/confirmationpanestateful/ConfirmationPaneStateful.d.ts +2 -1
  126. package/lib/types/components/dimlayer/DimLayer.d.ts +2 -1
  127. package/lib/types/components/draggable/DraggableChatWidget.d.ts +2 -2
  128. package/lib/types/components/draggable/DraggableEventEmitter.d.ts +2 -2
  129. package/lib/types/components/draggable/DraggableEventReceiver.d.ts +2 -2
  130. package/lib/types/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.d.ts +2 -1
  131. package/lib/types/components/footerstateful/FooterStateful.d.ts +2 -1
  132. package/lib/types/components/footerstateful/audionotificationstateful/AudioNotificationStateful.d.ts +2 -1
  133. package/lib/types/components/headerstateful/HeaderStateful.d.ts +2 -1
  134. package/lib/types/components/livechatwidget/LiveChatWidget.d.ts +2 -1
  135. package/lib/types/components/livechatwidget/common/createFooter.d.ts +2 -1
  136. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +2 -0
  137. package/lib/types/components/loadingpanestateful/LoadingPaneStateful.d.ts +2 -1
  138. package/lib/types/components/notificationpanestateful/NotificationPaneStateful.d.ts +2 -1
  139. package/lib/types/components/ooohpanestateful/OOOHPaneStateful.d.ts +2 -1
  140. package/lib/types/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.d.ts +2 -1
  141. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -1
  142. package/lib/types/components/postchatsurveypanestateful/common/isValidSurveyUrl.d.ts +2 -0
  143. package/lib/types/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.d.ts +2 -1
  144. package/lib/types/components/proactivechatpanestateful/ProactiveChatPaneStateful.d.ts +2 -1
  145. package/lib/types/components/reconnectchatpanestateful/ReconnectChatPaneStateful.d.ts +2 -1
  146. package/lib/types/components/startchaterrorpanestateful/StartChatErrorPaneStateful.d.ts +2 -1
  147. package/lib/types/components/webchatcontainerstateful/WebChatContainerStateful.d.ts +2 -1
  148. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatProps.d.ts +2 -2
  149. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Attachment.d.ts +2 -1
  150. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentContent.d.ts +2 -1
  151. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/AttachmentIcon.d.ts +2 -1
  152. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/DownloadBlockedAttachment.d.ts +2 -1
  153. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/MaliciousAttachment.d.ts +2 -1
  154. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/ScanInProgressAttachment.d.ts +2 -1
  155. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachments/Spinner.d.ts +2 -1
  156. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.d.ts +1 -1
  157. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.d.ts +2 -1
  158. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.d.ts +2 -1
  159. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +2 -1
  160. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.d.ts +2 -1
  161. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +1 -1
  162. package/lib/types/firstresponselatency/Constants.d.ts +30 -0
  163. package/lib/types/firstresponselatency/FirstMessageTrackerFromBot.d.ts +1 -0
  164. package/lib/types/firstresponselatency/FirstResponseLatencyTracker.d.ts +22 -0
  165. package/lib/types/firstresponselatency/util.d.ts +7 -0
  166. package/package.json +27 -13
@@ -1,3 +1,6 @@
1
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
2
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
3
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
1
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
5
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
6
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
@@ -7,11 +10,16 @@ import { ariaTelemetryLogger } from "./loggers/ariaTelemetryLogger";
7
10
  import { consoleLogger } from "./loggers/consoleLogger";
8
11
  import { defaultAriaConfig } from "./defaultConfigs/defaultAriaConfig";
9
12
  import { TelemetryHelper } from "./TelemetryHelper";
10
- export class TelemetryTimers {}
13
+ import { appInsightsLogger } from "./loggers/appInsightsLogger";
14
+ export let TelemetryTimers = /*#__PURE__*/_createClass(function TelemetryTimers() {
15
+ _classCallCheck(this, TelemetryTimers);
16
+ });
11
17
  _defineProperty(TelemetryTimers, "LcwLoadToChatButtonTimer", void 0);
12
18
  _defineProperty(TelemetryTimers, "ProactiveChatScreenTimer", void 0);
13
19
  _defineProperty(TelemetryTimers, "WidgetLoadTimer", void 0);
14
- export class TelemetryManager {}
20
+ export let TelemetryManager = /*#__PURE__*/_createClass(function TelemetryManager() {
21
+ _classCallCheck(this, TelemetryManager);
22
+ });
15
23
  _defineProperty(TelemetryManager, "InternalTelemetryData", void 0);
16
24
  const loggers = [];
17
25
  export const disposeLoggers = () => {
@@ -21,29 +29,36 @@ export const disposeLoggers = () => {
21
29
  };
22
30
  export const RegisterLoggers = () => {
23
31
  const registerLoggers = () => {
24
- var _TelemetryManager$Int, _TelemetryManager$Int2, _TelemetryManager$Int3, _TelemetryManager$Int4, _TelemetryManager$Int5, _TelemetryManager$Int6, _TelemetryManager$Int7, _TelemetryManager$Int8;
25
- if (((_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : (_TelemetryManager$Int2 = _TelemetryManager$Int.telemetryConfig) === null || _TelemetryManager$Int2 === void 0 ? void 0 : _TelemetryManager$Int2.disableConsoleLog) === false || ((_TelemetryManager$Int3 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int3 === void 0 ? void 0 : (_TelemetryManager$Int4 = _TelemetryManager$Int3.telemetryConfig) === null || _TelemetryManager$Int4 === void 0 ? void 0 : _TelemetryManager$Int4.telemetryDisabled) === false) {
32
+ var _TelemetryManager$Int, _TelemetryManager$Int2, _TelemetryManager$Int3, _TelemetryManager$Int4, _TelemetryManager$Int5, _TelemetryManager$Int6, _TelemetryManager$Int7, _TelemetryManager$Int8, _TelemetryManager$Int9, _TelemetryManager$Int10;
33
+ if (((_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : (_TelemetryManager$Int2 = _TelemetryManager$Int.telemetryConfig) === null || _TelemetryManager$Int2 === void 0 ? void 0 : _TelemetryManager$Int2.disableConsoleLog) === false || ((_TelemetryManager$Int3 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int3 === void 0 ? void 0 : (_TelemetryManager$Int4 = _TelemetryManager$Int3.telemetryConfig) === null || _TelemetryManager$Int4 === void 0 ? void 0 : _TelemetryManager$Int4.telemetryDisabled) === false || ((_TelemetryManager$Int5 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int5 === void 0 ? void 0 : (_TelemetryManager$Int6 = _TelemetryManager$Int5.appInsightsConfig) === null || _TelemetryManager$Int6 === void 0 ? void 0 : _TelemetryManager$Int6.appInsightsDisabled) === false) {
26
34
  BroadcastService.getAnyMessage().subscribe(event => {
27
35
  if (event.payload && event.eventName in TelemetryEvent) {
28
36
  logTelemetry(event);
29
37
  }
30
38
  });
31
39
  }
32
- if (((_TelemetryManager$Int5 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int5 === void 0 ? void 0 : (_TelemetryManager$Int6 = _TelemetryManager$Int5.telemetryConfig) === null || _TelemetryManager$Int6 === void 0 ? void 0 : _TelemetryManager$Int6.disableConsoleLog) === false) {
40
+ if (((_TelemetryManager$Int7 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int7 === void 0 ? void 0 : (_TelemetryManager$Int8 = _TelemetryManager$Int7.telemetryConfig) === null || _TelemetryManager$Int8 === void 0 ? void 0 : _TelemetryManager$Int8.disableConsoleLog) === false) {
33
41
  loggers.push(consoleLogger());
34
42
  }
35
- if (((_TelemetryManager$Int7 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int7 === void 0 ? void 0 : (_TelemetryManager$Int8 = _TelemetryManager$Int7.telemetryConfig) === null || _TelemetryManager$Int8 === void 0 ? void 0 : _TelemetryManager$Int8.telemetryDisabled) === false) {
36
- var _TelemetryManager$Int9, _TelemetryManager$Int18, _TelemetryManager$Int19;
37
- if ((_TelemetryManager$Int9 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int9 !== void 0 && _TelemetryManager$Int9.ariaConfig) {
38
- var _TelemetryManager$Int10, _TelemetryManager$Int11, _TelemetryManager$Int12, _TelemetryManager$Int13, _TelemetryManager$Int14, _TelemetryManager$Int15, _TelemetryManager$Int16, _TelemetryManager$Int17;
39
- loggers.push(ariaTelemetryLogger(((_TelemetryManager$Int10 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int10 === void 0 ? void 0 : (_TelemetryManager$Int11 = _TelemetryManager$Int10.ariaConfig) === null || _TelemetryManager$Int11 === void 0 ? void 0 : _TelemetryManager$Int11.ariaTelemetryKey) ?? defaultAriaConfig.ariaTelemetryKey, ((_TelemetryManager$Int12 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int12 === void 0 ? void 0 : (_TelemetryManager$Int13 = _TelemetryManager$Int12.ariaConfig) === null || _TelemetryManager$Int13 === void 0 ? void 0 : _TelemetryManager$Int13.disableCookieUsage) ?? defaultAriaConfig.disableCookieUsage, ((_TelemetryManager$Int14 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int14 === void 0 ? void 0 : (_TelemetryManager$Int15 = _TelemetryManager$Int14.ariaConfig) === null || _TelemetryManager$Int15 === void 0 ? void 0 : _TelemetryManager$Int15.collectorUriForTelemetry) ?? defaultAriaConfig.collectorUriForTelemetry, ((_TelemetryManager$Int16 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int16 === void 0 ? void 0 : (_TelemetryManager$Int17 = _TelemetryManager$Int16.ariaConfig) === null || _TelemetryManager$Int17 === void 0 ? void 0 : _TelemetryManager$Int17.ariaTelemetryApplicationName) ?? defaultAriaConfig.ariaTelemetryApplicationName));
43
+ if (((_TelemetryManager$Int9 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int9 === void 0 ? void 0 : (_TelemetryManager$Int10 = _TelemetryManager$Int9.telemetryConfig) === null || _TelemetryManager$Int10 === void 0 ? void 0 : _TelemetryManager$Int10.telemetryDisabled) === false) {
44
+ var _TelemetryManager$Int11, _TelemetryManager$Int20, _TelemetryManager$Int21, _TelemetryManager$Int22, _TelemetryManager$Int23;
45
+ if ((_TelemetryManager$Int11 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int11 !== void 0 && _TelemetryManager$Int11.ariaConfig) {
46
+ var _TelemetryManager$Int12, _TelemetryManager$Int13, _TelemetryManager$Int14, _TelemetryManager$Int15, _TelemetryManager$Int16, _TelemetryManager$Int17, _TelemetryManager$Int18, _TelemetryManager$Int19;
47
+ loggers.push(ariaTelemetryLogger(((_TelemetryManager$Int12 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int12 === void 0 ? void 0 : (_TelemetryManager$Int13 = _TelemetryManager$Int12.ariaConfig) === null || _TelemetryManager$Int13 === void 0 ? void 0 : _TelemetryManager$Int13.ariaTelemetryKey) ?? defaultAriaConfig.ariaTelemetryKey, ((_TelemetryManager$Int14 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int14 === void 0 ? void 0 : (_TelemetryManager$Int15 = _TelemetryManager$Int14.ariaConfig) === null || _TelemetryManager$Int15 === void 0 ? void 0 : _TelemetryManager$Int15.disableCookieUsage) ?? defaultAriaConfig.disableCookieUsage, ((_TelemetryManager$Int16 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int16 === void 0 ? void 0 : (_TelemetryManager$Int17 = _TelemetryManager$Int16.ariaConfig) === null || _TelemetryManager$Int17 === void 0 ? void 0 : _TelemetryManager$Int17.collectorUriForTelemetry) ?? defaultAriaConfig.collectorUriForTelemetry, ((_TelemetryManager$Int18 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int18 === void 0 ? void 0 : (_TelemetryManager$Int19 = _TelemetryManager$Int18.ariaConfig) === null || _TelemetryManager$Int19 === void 0 ? void 0 : _TelemetryManager$Int19.ariaTelemetryApplicationName) ?? defaultAriaConfig.ariaTelemetryApplicationName));
40
48
  }
41
- const customLoggers = (_TelemetryManager$Int18 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int18 === void 0 ? void 0 : (_TelemetryManager$Int19 = _TelemetryManager$Int18.telemetryConfig) === null || _TelemetryManager$Int19 === void 0 ? void 0 : _TelemetryManager$Int19.telemetryLoggers;
49
+ const customLoggers = (_TelemetryManager$Int20 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int20 === void 0 ? void 0 : (_TelemetryManager$Int21 = _TelemetryManager$Int20.telemetryConfig) === null || _TelemetryManager$Int21 === void 0 ? void 0 : _TelemetryManager$Int21.telemetryLoggers;
42
50
  if (customLoggers) {
43
51
  customLoggers.map(logger => {
44
52
  loggers.push(logger);
45
53
  });
46
54
  }
55
+ if (((_TelemetryManager$Int22 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int22 === void 0 ? void 0 : (_TelemetryManager$Int23 = _TelemetryManager$Int22.appInsightsConfig) === null || _TelemetryManager$Int23 === void 0 ? void 0 : _TelemetryManager$Int23.appInsightsDisabled) === false) {
56
+ var _TelemetryManager$Int24;
57
+ if ((_TelemetryManager$Int24 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int24 !== void 0 && _TelemetryManager$Int24.appInsightsConfig.appInsightsKey) {
58
+ var _TelemetryManager$Int25, _TelemetryManager$Int26, _TelemetryManager$Int27;
59
+ loggers.push(appInsightsLogger((_TelemetryManager$Int25 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int25 === void 0 ? void 0 : _TelemetryManager$Int25.appInsightsConfig.appInsightsKey, ((_TelemetryManager$Int26 = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int26 === void 0 ? void 0 : (_TelemetryManager$Int27 = _TelemetryManager$Int26.ariaConfig) === null || _TelemetryManager$Int27 === void 0 ? void 0 : _TelemetryManager$Int27.disableCookieUsage) ?? defaultAriaConfig.disableCookieUsage));
60
+ }
61
+ }
47
62
  }
48
63
  };
49
64
  const parseInput = function (payload) {
@@ -64,6 +79,11 @@ export const RegisterLoggers = () => {
64
79
  };
65
80
  //Do not log events without an Event Name
66
81
  if (telemetryInput !== null && telemetryInput !== void 0 && (_telemetryInput$paylo = telemetryInput.payload) !== null && _telemetryInput$paylo !== void 0 && _telemetryInput$paylo.Event) {
82
+ var _telemetryEvent$paylo;
83
+ if (logger.type === "appInsightsLogger" && (telemetryEvent === null || telemetryEvent === void 0 ? void 0 : (_telemetryEvent$paylo = telemetryEvent.payload) === null || _telemetryEvent$paylo === void 0 ? void 0 : _telemetryEvent$paylo.LogToAll) !== true) {
84
+ return; // skip logging to AppInsights
85
+ }
86
+
67
87
  logger.log(logLevel, telemetryInput);
68
88
  }
69
89
  });
@@ -0,0 +1,4 @@
1
+ export const defaultAppInsightsConfig = {
2
+ appInsightsDisabled: true,
3
+ appInsightsKey: ""
4
+ };
@@ -0,0 +1,111 @@
1
+ import { ApplicationInsights } from "@microsoft/applicationinsights-web";
2
+ import { LogLevel, TelemetryEvent } from "../TelemetryConstants";
3
+ import ScenarioMarker from "../ScenarioMarker";
4
+ import { TelemetryHelper } from "../TelemetryHelper";
5
+ import { AppInsightsTelemetryMessage } from "../../Constants";
6
+ var AllowedKeys;
7
+ (function (AllowedKeys) {
8
+ AllowedKeys["LogLevel"] = "LogLevel";
9
+ AllowedKeys["Description"] = "Description";
10
+ AllowedKeys["ExceptionDetails"] = "ExceptionDetails";
11
+ AllowedKeys["ChannelId"] = "ChannelId";
12
+ AllowedKeys["LCWRuntimeId"] = "ClientSessionId";
13
+ AllowedKeys["ConversationId"] = "LiveWorkItemId";
14
+ AllowedKeys["ChatId"] = "ChatThreadId";
15
+ })(AllowedKeys || (AllowedKeys = {}));
16
+ export const appInsightsLogger = (appInsightsKey, disableCookiesUsage) => {
17
+ let appInsights = null;
18
+ const logger = () => {
19
+ if (!appInsights && appInsightsKey) {
20
+ try {
21
+ const config = {
22
+ ...(appInsightsKey.includes("IngestionEndpoint") ? {
23
+ connectionString: appInsightsKey
24
+ } : {
25
+ instrumentationKey: appInsightsKey
26
+ }),
27
+ disableCookiesUsage: disableCookiesUsage
28
+ };
29
+
30
+ // Initialize Application Insights
31
+ appInsights = new ApplicationInsights({
32
+ config
33
+ });
34
+ appInsights.loadAppInsights();
35
+ TelemetryHelper.logActionEvent(LogLevel.INFO, {
36
+ Event: TelemetryEvent.AppInsightsInitialized,
37
+ Description: AppInsightsTelemetryMessage.AppInsightsInitialized
38
+ });
39
+ } catch (error) {
40
+ console.error(AppInsightsTelemetryMessage.AppInsightsInitError, error);
41
+ TelemetryHelper.logActionEvent(LogLevel.ERROR, {
42
+ Event: TelemetryEvent.AppInsightsInitFailed,
43
+ Description: AppInsightsTelemetryMessage.AppInsightsInitError,
44
+ ExceptionDetails: {
45
+ message: `${AppInsightsTelemetryMessage.AppInsightsInitError} with key ending: ${appInsightsKey.slice(-3)}`,
46
+ exception: error
47
+ }
48
+ });
49
+ return null;
50
+ }
51
+ }
52
+ return appInsights;
53
+ };
54
+ const aiLogger = {
55
+ type: "appInsightsLogger",
56
+ log: (logLevel, telemetryInput) => {
57
+ try {
58
+ var _telemetryInput$paylo, _telemetryInput$telem;
59
+ const _logger = logger();
60
+ if (!_logger) return;
61
+ const eventName = telemetryInput === null || telemetryInput === void 0 ? void 0 : (_telemetryInput$paylo = telemetryInput.payload) === null || _telemetryInput$paylo === void 0 ? void 0 : _telemetryInput$paylo.Event;
62
+ const telemetryInfo = telemetryInput === null || telemetryInput === void 0 ? void 0 : (_telemetryInput$telem = telemetryInput.telemetryInfo) === null || _telemetryInput$telem === void 0 ? void 0 : _telemetryInput$telem.telemetryInfo;
63
+ const eventProperties = setEventProperties(telemetryInfo);
64
+ if (eventName) {
65
+ const trackingEventName = getTrackingEventName(logLevel, eventName);
66
+ _logger.trackEvent({
67
+ name: trackingEventName,
68
+ properties: eventProperties
69
+ });
70
+ }
71
+ } catch (error) {
72
+ console.error("Error in logging telemetry to Application Insights:", error);
73
+ }
74
+ },
75
+ dispose: () => {
76
+ if (appInsights) {
77
+ appInsights.unload(); //flush and unload
78
+ }
79
+ }
80
+ };
81
+
82
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
83
+ function setEventProperties(telemetryInfo) {
84
+ const eventProperties = {};
85
+ if (telemetryInfo) {
86
+ for (const key in AllowedKeys) {
87
+ const finalKey = AllowedKeys[key]; // get renamed keys for LCWRuntimeId, ConversationId, ChatId
88
+ const value = telemetryInfo[key];
89
+ if (value !== undefined && value !== null && value !== "") {
90
+ eventProperties[finalKey] = value;
91
+ }
92
+ }
93
+ }
94
+ return eventProperties;
95
+ }
96
+ function getTrackingEventName(logLevel, eventName) {
97
+ // Remove "UX" or "LCW" prefix if present
98
+ const event = eventName.replace(/^(UX|LCW)/, "");
99
+ if (logLevel === LogLevel.ERROR) {
100
+ return ScenarioMarker.failScenario(event);
101
+ }
102
+ if (logLevel === LogLevel.WARN) {
103
+ return ScenarioMarker.warnScenario(event);
104
+ }
105
+ if (event.toLowerCase().includes("complete")) {
106
+ return ScenarioMarker.completeScenario(event);
107
+ }
108
+ return ScenarioMarker.startScenario(event);
109
+ }
110
+ return aiLogger;
111
+ };
@@ -11,12 +11,13 @@ import { defaultOutOfOfficeChatButtonStyleProps } from "./common/styleProps/defa
11
11
  import useChatContextStore from "../../hooks/useChatContextStore";
12
12
  let uiTimer;
13
13
  export const ChatButtonStateful = props => {
14
- var _state$domainStates$l, _state$domainStates$l2, _buttonProps$controlP, _props$buttonProps, _props$buttonProps$co, _props$buttonProps2, _props$buttonProps2$c, _props$buttonProps3, _props$buttonProps3$c;
14
+ var _buttonProps$controlP, _props$buttonProps, _props$buttonProps$co, _props$buttonProps2, _props$buttonProps2$c, _props$buttonProps3, _props$buttonProps3$c;
15
15
  // this is to ensure the telemetry is set only once and start the load timer
16
16
  useEffect(() => {
17
17
  uiTimer = createTimer();
18
- TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
19
- Event: TelemetryEvent.UXLCWChatButtonStart
18
+ TelemetryHelper.logLoadingEventToAllTelemetry(LogLevel.INFO, {
19
+ Event: TelemetryEvent.UXLCWChatButtonLoadingStart,
20
+ Description: "Chat button loading started"
20
21
  });
21
22
  }, []);
22
23
 
@@ -28,13 +29,15 @@ export const ChatButtonStateful = props => {
28
29
  startChat
29
30
  } = props;
30
31
  //Setting OutOfOperatingHours Flag
31
- const [outOfOperatingHours, setOutOfOperatingHours] = useState(((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.OutOfOperatingHours) === "True");
32
+ //Setting OutOfOperatingHours Flag - to string conversion to normalize the value (could be boolean from other states or string directly from config)
33
+ const [outOfOperatingHours, setOutOfOperatingHours] = useState(state.appStates.outsideOperatingHours);
32
34
  const ref = useRef(() => {
33
35
  return;
34
36
  });
35
37
  ref.current = async () => {
36
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
37
- Event: TelemetryEvent.LCWChatButtonClicked
38
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
39
+ Event: TelemetryEvent.LCWChatButtonActionStarted,
40
+ Description: "Chat button click action started"
38
41
  });
39
42
  if (state.appStates.isMinimized) {
40
43
  dispatch({
@@ -52,6 +55,10 @@ export const ChatButtonStateful = props => {
52
55
  } else {
53
56
  await startChat();
54
57
  }
58
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
59
+ Event: TelemetryEvent.LCWChatButtonActionCompleted,
60
+ Description: "Chat button action completed"
61
+ });
55
62
  };
56
63
  const outOfOfficeStyleProps = Object.assign({}, defaultOutOfOfficeChatButtonStyleProps, outOfOfficeButtonProps === null || outOfOfficeButtonProps === void 0 ? void 0 : outOfOfficeButtonProps.styleProps);
57
64
  const controlProps = {
@@ -71,9 +78,6 @@ export const ChatButtonStateful = props => {
71
78
  titleText: "We're Offline",
72
79
  subtitleText: "No agents available",
73
80
  onClick: async () => {
74
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
75
- Event: TelemetryEvent.LCWChatButtonClicked
76
- });
77
81
  state.appStates.isMinimized && dispatch({
78
82
  type: LiveChatWidgetActionType.SET_MINIMIZED,
79
83
  payload: false
@@ -87,9 +91,7 @@ export const ChatButtonStateful = props => {
87
91
  ...(outOfOfficeButtonProps === null || outOfOfficeButtonProps === void 0 ? void 0 : outOfOfficeButtonProps.controlProps)
88
92
  };
89
93
  useEffect(() => {
90
- if (state.appStates.outsideOperatingHours) {
91
- setOutOfOperatingHours(true);
92
- }
94
+ setOutOfOperatingHours(state.appStates.outsideOperatingHours);
93
95
  TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
94
96
  Event: TelemetryEvent.LCWChatButtonShow,
95
97
  ElapsedTimeInMilliseconds: TelemetryTimers.LcwLoadToChatButtonTimer.milliSecondsElapsed
@@ -102,8 +104,9 @@ export const ChatButtonStateful = props => {
102
104
  payload: true
103
105
  });
104
106
  }
105
- TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
106
- Event: TelemetryEvent.UXLCWChatButtonCompleted,
107
+ TelemetryHelper.logLoadingEventToAllTelemetry(LogLevel.INFO, {
108
+ Event: TelemetryEvent.UXLCWChatButtonLoadingCompleted,
109
+ Description: "Chat button loading completed",
107
110
  ElapsedTimeInMilliseconds: uiTimer.milliSecondsElapsed
108
111
  });
109
112
  }, []);
@@ -57,14 +57,15 @@ export const EmailTranscriptPaneStateful = props => {
57
57
  liveChatContext
58
58
  }));
59
59
  NotificationHandler.notifySuccess(NotificationScenarios.EmailAddressSaved, (state === null || state === void 0 ? void 0 : (_state$domainStates2 = state.domainStates) === null || _state$domainStates2 === void 0 ? void 0 : (_state$domainStates2$ = _state$domainStates2.middlewareLocalizedTexts) === null || _state$domainStates2$ === void 0 ? void 0 : _state$domainStates2$.MIDDLEWARE_BANNER_FILE_EMAIL_ADDRESS_RECORDED_SUCCESS) ?? (defaultMiddlewareLocalizedTexts === null || defaultMiddlewareLocalizedTexts === void 0 ? void 0 : defaultMiddlewareLocalizedTexts.MIDDLEWARE_BANNER_FILE_EMAIL_ADDRESS_RECORDED_SUCCESS));
60
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
61
- Event: TelemetryEvent.EmailTranscriptSent,
60
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
61
+ Event: TelemetryEvent.EmailTranscriptActionCompleted,
62
62
  Description: "Transcript sent to email successfully."
63
63
  });
64
64
  } catch (ex) {
65
65
  var _state$domainStates3, _state$domainStates3$;
66
- TelemetryHelper.logActionEvent(LogLevel.ERROR, {
67
- Event: TelemetryEvent.EmailTranscriptFailed,
66
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.ERROR, {
67
+ Event: TelemetryEvent.EmailTranscriptActionFailed,
68
+ Description: "Email transcript failed.",
68
69
  ExceptionDetails: {
69
70
  exception: ex
70
71
  }
@@ -40,14 +40,19 @@ export const FooterStateful = props => {
40
40
  dir: state.domainStates.globalDir,
41
41
  onDownloadTranscriptClick: async () => {
42
42
  try {
43
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
44
- Event: TelemetryEvent.DownloadTranscriptButtonClicked,
45
- Description: "Download Transcript button clicked."
43
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
44
+ Event: TelemetryEvent.DownloadTranscriptActionStarted,
45
+ Description: "Download transcript action started."
46
46
  });
47
47
  await downloadTranscript(facadeChatSDK, downloadTranscriptProps, state);
48
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
49
+ Event: TelemetryEvent.DownloadTranscriptActionCompleted,
50
+ Description: "Download transcript action completed."
51
+ });
48
52
  } catch (ex) {
49
- TelemetryHelper.logActionEvent(LogLevel.ERROR, {
50
- Event: TelemetryEvent.DownloadTranscriptFailed,
53
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.ERROR, {
54
+ Event: TelemetryEvent.DownloadTranscriptActionFailed,
55
+ Description: "Download transcript action failed.",
51
56
  ExceptionDetails: {
52
57
  exception: ex
53
58
  }
@@ -57,9 +62,9 @@ export const FooterStateful = props => {
57
62
  },
58
63
  onEmailTranscriptClick: () => {
59
64
  var _footerProps$controlP, _footerProps$controlP2;
60
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
61
- Event: TelemetryEvent.EmailTranscriptButtonClicked,
62
- Description: "Email Transcript button clicked."
65
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
66
+ Event: TelemetryEvent.EmailTranscriptActionStarted,
67
+ Description: "Email Transcript action started."
63
68
  });
64
69
  const emailTranscriptButtonId = (footerProps === null || footerProps === void 0 ? void 0 : (_footerProps$controlP = footerProps.controlProps) === null || _footerProps$controlP === void 0 ? void 0 : (_footerProps$controlP2 = _footerProps$controlP.emailTranscriptButtonProps) === null || _footerProps$controlP2 === void 0 ? void 0 : _footerProps$controlP2.id) ?? `${controlProps.id}-emailtranscript-button`;
65
70
  if (emailTranscriptButtonId) {
@@ -12,7 +12,7 @@ import useChatAdapterStore from "../../hooks/useChatAdapterStore";
12
12
  import useChatContextStore from "../../hooks/useChatContextStore";
13
13
  let uiTimer;
14
14
  export const HeaderStateful = props => {
15
- var _state$domainStates$l, _state$domainStates$l2, _state$domainStates, _headerProps$controlP, _headerProps$controlP2, _headerProps$controlP3, _outOfOfficeHeaderPro, _state$domainStates3;
15
+ var _state$domainStates, _headerProps$controlP, _headerProps$controlP2, _headerProps$controlP3, _outOfOfficeHeaderPro, _state$domainStates3;
16
16
  useEffect(() => {
17
17
  uiTimer = createTimer();
18
18
  TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
@@ -28,7 +28,7 @@ export const HeaderStateful = props => {
28
28
  endChat
29
29
  } = props;
30
30
  //Setting OutOfOperatingHours Flag
31
- const [outOfOperatingHours, setOutOfOperatingHours] = useState(((_state$domainStates$l = state.domainStates.liveChatConfig) === null || _state$domainStates$l === void 0 ? void 0 : (_state$domainStates$l2 = _state$domainStates$l.LiveWSAndLiveChatEngJoin) === null || _state$domainStates$l2 === void 0 ? void 0 : _state$domainStates$l2.OutOfOperatingHours) === "True");
31
+ const [outOfOperatingHours, setOutOfOperatingHours] = useState(state.appStates.outsideOperatingHours);
32
32
  const outOfOfficeStyleProps = Object.assign({}, defaultOutOfOfficeHeaderStyleProps, outOfOfficeHeaderProps === null || outOfOfficeHeaderProps === void 0 ? void 0 : outOfOfficeHeaderProps.styleProps);
33
33
 
34
34
  // For some reason state object is not getting updated values in this component
@@ -37,9 +37,9 @@ export const HeaderStateful = props => {
37
37
  id: "oc-lcw-header",
38
38
  dir: state.domainStates.globalDir,
39
39
  onMinimizeClick: () => {
40
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
41
- Event: TelemetryEvent.HeaderMinimizeButtonClicked,
42
- Description: "Header Minimize button clicked."
40
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
41
+ Event: TelemetryEvent.MinimizeChatActionStarted,
42
+ Description: "Header Minimize action started."
43
43
  });
44
44
  dispatch({
45
45
  type: LiveChatWidgetActionType.SET_MINIMIZED,
@@ -49,12 +49,16 @@ export const HeaderStateful = props => {
49
49
  type: LiveChatWidgetActionType.SET_UNREAD_MESSAGE_COUNT,
50
50
  payload: 0
51
51
  });
52
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
53
+ Event: TelemetryEvent.MinimizeChatActionCompleted,
54
+ Description: "Header Minimize action completed."
55
+ });
52
56
  },
53
57
  onCloseClick: async () => {
54
58
  var _props$headerProps, _props$headerProps$co, _props$headerProps$co2;
55
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
56
- Event: TelemetryEvent.HeaderCloseButtonClicked,
57
- Description: "Header Close button clicked."
59
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
60
+ Event: TelemetryEvent.CloseChatActionStarted,
61
+ Description: "Header Close action started."
58
62
  });
59
63
  if (localConfirmationPaneState.current !== ConfirmationState.Ok) {
60
64
  dispatch({
@@ -67,6 +71,10 @@ export const HeaderStateful = props => {
67
71
  const postMessageToOtherTabs = true;
68
72
  await endChat(adapter, skipEndChatSDK, skipCloseChat, postMessageToOtherTabs);
69
73
  }
74
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
75
+ Event: TelemetryEvent.CloseChatActionCompleted,
76
+ Description: "Header Close action completed."
77
+ });
70
78
  const closeButtonId = ((_props$headerProps = props.headerProps) === null || _props$headerProps === void 0 ? void 0 : (_props$headerProps$co = _props$headerProps.controlProps) === null || _props$headerProps$co === void 0 ? void 0 : (_props$headerProps$co2 = _props$headerProps$co.closeButtonProps) === null || _props$headerProps$co2 === void 0 ? void 0 : _props$headerProps$co2.id) ?? `${controlProps.id}-close-button`;
71
79
  if (closeButtonId) {
72
80
  dispatch({
@@ -87,22 +95,24 @@ export const HeaderStateful = props => {
87
95
  text: "We're Offline"
88
96
  },
89
97
  onMinimizeClick: () => {
90
- TelemetryHelper.logActionEvent(LogLevel.INFO, {
91
- Event: TelemetryEvent.HeaderMinimizeButtonClicked,
92
- Description: "Header Minimize button clicked."
98
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
99
+ Event: TelemetryEvent.MinimizeChatActionStarted,
100
+ Description: "Header Minimize action started."
93
101
  });
94
102
  dispatch({
95
103
  type: LiveChatWidgetActionType.SET_MINIMIZED,
96
104
  payload: true
97
105
  });
106
+ TelemetryHelper.logActionEventToAllTelemetry(LogLevel.INFO, {
107
+ Event: TelemetryEvent.MinimizeChatActionCompleted,
108
+ Description: "Header Minimize action completed."
109
+ });
98
110
  },
99
111
  ...(outOfOfficeHeaderProps === null || outOfOfficeHeaderProps === void 0 ? void 0 : outOfOfficeHeaderProps.controlProps),
100
112
  hideCloseButton: state.appStates.conversationState === ConversationState.OutOfOffice || (outOfOfficeHeaderProps === null || outOfOfficeHeaderProps === void 0 ? void 0 : (_outOfOfficeHeaderPro = outOfOfficeHeaderProps.controlProps) === null || _outOfOfficeHeaderPro === void 0 ? void 0 : _outOfOfficeHeaderPro.hideCloseButton)
101
113
  };
102
114
  useEffect(() => {
103
- if (state.appStates.outsideOperatingHours) {
104
- setOutOfOperatingHours(true);
105
- }
115
+ setOutOfOperatingHours(state.appStates.outsideOperatingHours);
106
116
  }, []);
107
117
  useEffect(() => {
108
118
  var _state$domainStates2;
@@ -1,29 +1,42 @@
1
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
2
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
3
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
1
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
5
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
6
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
4
7
  import { Deferred } from "./Deferred";
5
- export class ActivityStreamHandler {
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ export let ActivityStreamHandler = /*#__PURE__*/function () {
9
+ function ActivityStreamHandler() {
10
+ _classCallCheck(this, ActivityStreamHandler);
11
+ }
12
+ _createClass(ActivityStreamHandler, null, [{
13
+ key: "cork",
14
+ value:
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
16
 
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
18
 
10
- /**
11
- * Use of a deferred pattern, to hold the execution of the activity.
12
- *
13
- * */
14
- static cork() {
15
- ActivityStreamHandler.restoreDeferred = new Deferred();
16
- ActivityStreamHandler.restorePromise = ActivityStreamHandler.restoreDeferred.promise;
17
- }
19
+ /**
20
+ * Use of a deferred pattern, to hold the execution of the activity.
21
+ *
22
+ * */
23
+ function cork() {
24
+ ActivityStreamHandler.restoreDeferred = new Deferred();
25
+ ActivityStreamHandler.restorePromise = ActivityStreamHandler.restoreDeferred.promise;
26
+ }
18
27
 
19
- /**
20
- * Resolve the promise, releasing it to continue with the execution of the activity.
21
- *
22
- * */
23
- static uncork() {
24
- ActivityStreamHandler.restoreDeferred.resolve();
25
- }
26
- }
28
+ /**
29
+ * Resolve the promise, releasing it to continue with the execution of the activity.
30
+ *
31
+ * */
32
+ }, {
33
+ key: "uncork",
34
+ value: function uncork() {
35
+ ActivityStreamHandler.restoreDeferred.resolve();
36
+ }
37
+ }]);
38
+ return ActivityStreamHandler;
39
+ }();
27
40
  _defineProperty(ActivityStreamHandler, "restoreDeferred", {
28
41
  resolve: () => {
29
42
  return "initialState";