@microsoft/omnichannel-chat-widget 0.1.0-main.e67738e → 0.1.0-main.ebfc563

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 (284) hide show
  1. package/lib/cjs/assets/Icons.js +4 -2
  2. package/lib/cjs/common/Constants.js +24 -171
  3. package/lib/cjs/common/KeyCodes.js +3 -4
  4. package/lib/cjs/common/contextDataStore/DataStoreManager.js +3 -5
  5. package/lib/cjs/common/storage/default/defaultCacheManager.js +26 -0
  6. package/lib/cjs/common/storage/default/defaultClientDataStoreProvider.js +111 -0
  7. package/lib/cjs/common/storage/default/defaultInMemoryDataStore.js +78 -0
  8. package/lib/cjs/common/telemetry/TelemetryConstants.js +28 -23
  9. package/lib/cjs/common/telemetry/TelemetryHelper.js +21 -59
  10. package/lib/cjs/common/telemetry/TelemetryManager.js +3 -32
  11. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +0 -2
  12. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +30 -36
  13. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +0 -9
  14. package/lib/cjs/common/utils.js +18 -105
  15. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +8 -46
  16. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +2 -24
  17. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  18. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +9 -33
  19. package/lib/cjs/components/dimlayer/DimLayer.js +0 -4
  20. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -37
  21. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -8
  22. package/lib/cjs/components/footerstateful/FooterStateful.js +11 -42
  23. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +0 -6
  24. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -45
  25. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -8
  26. package/lib/cjs/components/headerstateful/HeaderStateful.js +18 -31
  27. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +2 -14
  28. package/lib/cjs/components/livechatwidget/common/ActivityStreamHandler.js +5 -10
  29. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -6
  30. package/lib/cjs/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +7 -12
  31. package/lib/cjs/components/livechatwidget/common/ChatAdapterShim.js +14 -20
  32. package/lib/cjs/components/livechatwidget/common/Deferred.js +6 -11
  33. package/lib/cjs/components/livechatwidget/common/authHelper.js +13 -15
  34. package/lib/cjs/components/livechatwidget/common/createAdapter.js +2 -13
  35. package/lib/cjs/components/livechatwidget/common/createFooter.js +4 -23
  36. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -14
  37. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +16 -24
  38. package/lib/cjs/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +14 -0
  39. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +115 -46
  40. package/lib/cjs/components/livechatwidget/common/disposeTelemetryLoggers.js +0 -3
  41. package/lib/cjs/components/livechatwidget/common/endChat.js +50 -35
  42. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +0 -6
  43. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +7 -16
  44. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -8
  45. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +29 -73
  46. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +79 -152
  47. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +4 -17
  48. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +2 -11
  49. package/lib/cjs/components/livechatwidget/common/shareObservable.js +4 -8
  50. package/lib/cjs/components/livechatwidget/common/startChat.js +205 -119
  51. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +0 -8
  52. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +2 -11
  53. package/lib/cjs/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  54. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +224 -259
  55. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +19 -19
  56. package/lib/cjs/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +57 -0
  57. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +4 -17
  58. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -17
  59. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -23
  60. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  61. package/lib/cjs/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +13 -0
  62. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  63. package/lib/cjs/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  64. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +10 -38
  65. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  66. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
  67. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  68. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +21 -37
  69. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +0 -7
  70. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  71. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
  72. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +5 -18
  73. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  74. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -15
  75. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -5
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -22
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -61
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  117. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  118. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  119. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  120. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  121. package/lib/cjs/contexts/common/ConversationState.js +0 -1
  122. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -29
  123. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +12 -11
  124. package/lib/cjs/contexts/createReducer.js +154 -108
  125. package/lib/cjs/controller/componentController.js +2 -31
  126. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  127. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  128. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  129. package/lib/cjs/index.js +0 -5
  130. package/lib/cjs/plugins/newMessageEventHandler.js +19 -36
  131. package/lib/esm/assets/Icons.js +2 -1
  132. package/lib/esm/common/Constants.js +21 -158
  133. package/lib/esm/common/KeyCodes.js +3 -3
  134. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
  135. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
  136. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +104 -0
  137. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  138. package/lib/esm/common/telemetry/TelemetryConstants.js +32 -20
  139. package/lib/esm/common/telemetry/TelemetryHelper.js +21 -47
  140. package/lib/esm/common/telemetry/TelemetryManager.js +3 -19
  141. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  142. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  143. package/lib/esm/common/utils.js +18 -53
  144. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  145. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +2 -7
  146. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  147. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +11 -14
  148. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -16
  149. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  150. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  151. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
  152. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  153. package/lib/esm/components/headerstateful/HeaderStateful.js +18 -16
  154. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  155. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +5 -7
  156. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -4
  157. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +7 -9
  158. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +14 -16
  159. package/lib/esm/components/livechatwidget/common/Deferred.js +6 -9
  160. package/lib/esm/components/livechatwidget/common/authHelper.js +13 -10
  161. package/lib/esm/components/livechatwidget/common/createAdapter.js +4 -6
  162. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  163. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +2 -5
  164. package/lib/esm/components/livechatwidget/common/createMarkdown.js +18 -18
  165. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  166. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +116 -32
  167. package/lib/esm/components/livechatwidget/common/endChat.js +52 -20
  168. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  169. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  170. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  171. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +31 -38
  172. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +77 -130
  173. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  174. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -3
  175. package/lib/esm/components/livechatwidget/common/shareObservable.js +4 -7
  176. package/lib/esm/components/livechatwidget/common/startChat.js +204 -90
  177. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  178. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  179. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +226 -193
  180. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
  181. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  182. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  183. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  184. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  185. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  186. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  187. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  188. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  189. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +12 -22
  190. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +1 -1
  191. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
  192. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  193. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +19 -11
  194. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  195. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  196. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +5 -14
  197. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  198. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
  199. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  200. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -3
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  240. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  241. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  242. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  243. package/lib/esm/contexts/ChatContextStore.js +2 -1
  244. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  245. package/lib/esm/contexts/common/ConversationState.js +0 -1
  246. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -29
  247. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +12 -7
  248. package/lib/esm/contexts/createReducer.js +154 -105
  249. package/lib/esm/controller/componentController.js +3 -2
  250. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  251. package/lib/esm/hooks/useChatContextStore.js +0 -4
  252. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  253. package/lib/esm/plugins/newMessageEventHandler.js +19 -26
  254. package/lib/types/assets/Icons.d.ts +1 -0
  255. package/lib/types/common/Constants.d.ts +14 -0
  256. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  257. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  258. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  259. package/lib/types/common/telemetry/TelemetryConstants.d.ts +17 -4
  260. package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
  261. package/lib/types/common/telemetry/definitions/Payload.d.ts +1 -0
  262. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +4 -0
  263. package/lib/types/components/livechatwidget/common/authHelper.d.ts +3 -2
  264. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  265. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -7
  266. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -4
  267. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +3 -1
  268. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -2
  269. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  270. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  271. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  272. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  273. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  274. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
  275. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  276. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  277. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  278. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  279. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  280. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  281. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +3 -2
  282. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -28
  283. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  284. package/package.json +3 -3
@@ -1,5 +1,6 @@
1
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
1
+ 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
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
3
+ 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); }
3
4
  import { LogLevel, ScenarioType, TelemetryConstants, TelemetryEvent } from "./TelemetryConstants";
4
5
  import { BroadcastService } from "@microsoft/omnichannel-chat-components";
5
6
  import { ariaTelemetryLogger } from "./loggers/ariaTelemetryLogger";
@@ -7,17 +8,11 @@ import { consoleLogger } from "./loggers/consoleLogger";
7
8
  import { defaultAriaConfig } from "./defaultConfigs/defaultAriaConfig";
8
9
  import { TelemetryHelper } from "./TelemetryHelper";
9
10
  export class TelemetryTimers {}
10
-
11
11
  _defineProperty(TelemetryTimers, "LcwLoadToChatButtonTimer", void 0);
12
-
13
12
  _defineProperty(TelemetryTimers, "ProactiveChatScreenTimer", void 0);
14
-
15
13
  _defineProperty(TelemetryTimers, "WidgetLoadTimer", void 0);
16
-
17
14
  export class TelemetryManager {}
18
-
19
15
  _defineProperty(TelemetryManager, "InternalTelemetryData", void 0);
20
-
21
16
  const loggers = [];
22
17
  export const disposeLoggers = () => {
23
18
  loggers.map(logger => {
@@ -27,7 +22,6 @@ export const disposeLoggers = () => {
27
22
  export const RegisterLoggers = () => {
28
23
  const registerLoggers = () => {
29
24
  var _TelemetryManager$Int, _TelemetryManager$Int2, _TelemetryManager$Int3, _TelemetryManager$Int4, _TelemetryManager$Int5, _TelemetryManager$Int6, _TelemetryManager$Int7, _TelemetryManager$Int8;
30
-
31
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
26
  BroadcastService.getAnyMessage().subscribe(event => {
33
27
  if (event.payload && event.eventName in TelemetryEvent) {
@@ -35,22 +29,16 @@ export const RegisterLoggers = () => {
35
29
  }
36
30
  });
37
31
  }
38
-
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
33
  loggers.push(consoleLogger());
41
34
  }
42
-
43
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) {
44
36
  var _TelemetryManager$Int9, _TelemetryManager$Int18, _TelemetryManager$Int19;
45
-
46
37
  if ((_TelemetryManager$Int9 = TelemetryManager.InternalTelemetryData) !== null && _TelemetryManager$Int9 !== void 0 && _TelemetryManager$Int9.ariaConfig) {
47
38
  var _TelemetryManager$Int10, _TelemetryManager$Int11, _TelemetryManager$Int12, _TelemetryManager$Int13, _TelemetryManager$Int14, _TelemetryManager$Int15, _TelemetryManager$Int16, _TelemetryManager$Int17;
48
-
49
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));
50
40
  }
51
-
52
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;
53
-
54
42
  if (customLoggers) {
55
43
  customLoggers.map(logger => {
56
44
  loggers.push(logger);
@@ -58,7 +46,6 @@ export const RegisterLoggers = () => {
58
46
  }
59
47
  }
60
48
  };
61
-
62
49
  const parseInput = function (payload) {
63
50
  let scenarioType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ScenarioType.UNDEFINED;
64
51
  return {
@@ -66,11 +53,9 @@ export const RegisterLoggers = () => {
66
53
  payload: payload
67
54
  };
68
55
  };
69
-
70
56
  const logTelemetry = telemetryEvent => {
71
57
  loggers.map(logger => {
72
58
  var _payload;
73
-
74
59
  const logLevel = telemetryEvent.logLevel ?? LogLevel.INFO;
75
60
  const scenarioType = ((_payload = telemetryEvent.payload) === null || _payload === void 0 ? void 0 : _payload.scenarioType) ?? ScenarioType.UNDEFINED;
76
61
  const telemetryInput = parseInput(telemetryEvent === null || telemetryEvent === void 0 ? void 0 : telemetryEvent.payload, scenarioType);
@@ -80,6 +65,5 @@ export const RegisterLoggers = () => {
80
65
  logger.log(logLevel, telemetryInput);
81
66
  });
82
67
  };
83
-
84
68
  return registerLoggers();
85
69
  };
@@ -1,40 +1,32 @@
1
1
  import { getDomain, isNullOrEmptyString, isNullOrUndefined } from "../../utils";
2
- import AWTEventProperties from "@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AWTEventProperties";
3
- import AWTLogManager from "@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AWTLogManager";
4
- import { AWTPiiKind } from "@microsoft/omnichannel-chat-sdk/lib/external/aria/common/Enums";
2
+ import { AWTLogManager } from "@microsoft/omnichannel-chat-sdk/lib/external/aria/webjs/AriaSDK";
3
+ import { AWTCustomerContentKind, AWTPiiKind, AWTPropertyType } from "@microsoft/omnichannel-chat-sdk/lib/external/aria/common/Enums";
5
4
  import { Constants, AriaTelemetryConstants, EnvironmentVersion } from "../../Constants";
6
5
  import { TelemetryManager } from "../TelemetryManager";
7
6
  export const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, collectiorUriForTelemetry, ariaTelemetryApplicationName) => {
8
7
  let _logger;
9
-
10
8
  const logger = () => {
11
9
  if (isNullOrUndefined(_logger) && !isNullOrEmptyString(ariaTelemetryKey)) {
12
10
  const configuration = {
13
11
  disableCookiesUsage: disabledCookieUsage
14
12
  };
15
-
16
13
  if (!isNullOrEmptyString(collectiorUriForTelemetry)) {
17
14
  configuration.collectorUri = collectiorUriForTelemetry;
18
15
  } else {
19
16
  if (TelemetryManager.InternalTelemetryData.environmentVersion == EnvironmentVersion.prod) {
20
17
  var _TelemetryManager$Int;
21
-
22
18
  const orgUrl = (_TelemetryManager$Int = TelemetryManager.InternalTelemetryData) === null || _TelemetryManager$Int === void 0 ? void 0 : _TelemetryManager$Int.orgUrl;
23
-
24
19
  if (!isNullOrUndefined(orgUrl)) {
25
20
  // If the given org is a Production EU org, modify the Aria collector uri
26
21
  const region = getDomain(orgUrl);
27
-
28
22
  if (region === AriaTelemetryConstants.EU) {
29
23
  configuration.collectorUri = AriaTelemetryConstants.EUROPE_ENDPOINT;
30
24
  }
31
25
  }
32
26
  }
33
27
  }
34
-
35
28
  try {
36
29
  _logger = AWTLogManager.initialize(ariaTelemetryKey, configuration);
37
-
38
30
  if (_logger === undefined) {
39
31
  _logger = AWTLogManager.getLogger(ariaTelemetryKey);
40
32
  }
@@ -42,27 +34,39 @@ export const ariaTelemetryLogger = (ariaTelemetryKey, disabledCookieUsage, colle
42
34
  console.log(error);
43
35
  }
44
36
  }
45
-
46
37
  return _logger;
47
38
  };
48
-
49
39
  const ariaLogger = {
50
40
  log: (logLevel, telemetryInput) => {
51
41
  try {
52
- let property;
53
- const telemetryInfo = telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.telemetryInfo;
54
- const eventProperties = new AWTEventProperties();
55
- eventProperties.setName(telemetryInput.scenarioType);
56
-
42
+ var _telemetryInput$telem;
43
+ const telemetryInfo = telemetryInput === null || telemetryInput === void 0 ? void 0 : (_telemetryInput$telem = telemetryInput.telemetryInfo) === null || _telemetryInput$telem === void 0 ? void 0 : _telemetryInput$telem.telemetryInfo;
44
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
+ const eventProperties = {
46
+ name: telemetryInput.scenarioType,
47
+ properties: {}
48
+ };
57
49
  if (telemetryInfo) {
58
- for (const key of Object.keys(telemetryInfo)) {
59
- property = typeof telemetryInfo[key] === "object" ? JSON.stringify(telemetryInfo[key]) : telemetryInfo[key];
60
- eventProperties.setProperty(key, property);
61
- }
62
-
63
- eventProperties.setPropertyWithPii(ariaTelemetryApplicationName, Constants.LiveChatWidget, AWTPiiKind.GenericData);
50
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
+ Object.keys(telemetryInfo).forEach((key, index) => {
52
+ if (!isNullOrUndefined(telemetryInfo[key]) && !isNullOrEmptyString(telemetryInfo[key])) {
53
+ const property = {
54
+ value: typeof telemetryInfo[key] === "object" ? JSON.stringify(telemetryInfo[key]) : telemetryInfo[key],
55
+ type: typeof telemetryInfo[key] === "number" ? AWTPropertyType.Double : AWTPropertyType.String,
56
+ pii: AWTPiiKind.NotSet,
57
+ cc: AWTCustomerContentKind.NotSet
58
+ };
59
+ eventProperties.properties[key] = property;
60
+ }
61
+ });
62
+ const nameProperty = {
63
+ value: Constants.LiveChatWidget,
64
+ type: AWTPropertyType.String,
65
+ pii: AWTPiiKind.GenericData,
66
+ cc: AWTCustomerContentKind.NotSet
67
+ };
68
+ eventProperties.properties[ariaTelemetryApplicationName] = nameProperty;
64
69
  }
65
-
66
70
  logger() ? logger().logEvent(eventProperties) : console.log("Unable to initialize aria logger");
67
71
  } catch (error) {
68
72
  console.error("Error in logging telemetry to Aria logger:" + error);
@@ -5,25 +5,20 @@ export const consoleLogger = () => {
5
5
  log: (logLevel, telemetryInput) => {
6
6
  const payload = telemetryInput !== null && telemetryInput !== void 0 && telemetryInput.payload && Object.keys(telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.payload).length > 0 ? telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.payload : "";
7
7
  const telemetryInfo = telemetryInput !== null && telemetryInput !== void 0 && telemetryInput.telemetryInfo && Object.keys(telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.telemetryInfo).length > 0 ? telemetryInput === null || telemetryInput === void 0 ? void 0 : telemetryInput.telemetryInfo : "";
8
-
9
8
  try {
10
9
  switch (logLevel) {
11
10
  case LogLevel.INFO:
12
11
  console.info(Constants.LiveChatWidget, payload, telemetryInfo);
13
12
  break;
14
-
15
13
  case LogLevel.DEBUG:
16
14
  console.debug(Constants.LiveChatWidget, payload, telemetryInfo);
17
15
  break;
18
-
19
16
  case LogLevel.WARN:
20
17
  console.warn(Constants.LiveChatWidget, payload, telemetryInfo);
21
18
  break;
22
-
23
19
  case LogLevel.ERROR:
24
20
  console.error(Constants.LiveChatWidget, payload, telemetryInfo);
25
21
  break;
26
-
27
22
  default:
28
23
  console.debug(Constants.LiveChatWidget, payload, telemetryInfo);
29
24
  break;
@@ -3,24 +3,21 @@ import { DataStoreManager } from "./contextDataStore/DataStoreManager";
3
3
  import { KeyCodes } from "./KeyCodes";
4
4
  import { BroadcastEvent } from "./telemetry/TelemetryConstants";
5
5
  import { Md5 } from "md5-typescript";
6
-
7
6
  const getElementBySelector = selector => {
8
7
  let element;
9
-
10
8
  if (typeof selector === "string") {
11
9
  element = document.querySelector(selector);
12
10
  } else {
13
11
  element = selector;
14
12
  }
15
-
16
13
  return element;
17
- }; // The purpose of this function is:
14
+ };
15
+
16
+ // The purpose of this function is:
18
17
  // - to make elements not focusable, when confirmation pane or email transcript pane are showing,
19
18
  // - to set their initial tab indices back after confirmation pane or email transcript pane are closed
20
19
  // Otherwise, the user will be able to click on the screen and tab through different buttons or other elements, even though
21
20
  // these dialogs are showing
22
-
23
-
24
21
  export const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
25
22
  if (elements) {
26
23
  if (shouldBeFocusable) {
@@ -29,7 +26,6 @@ export const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
29
26
  elements[index].tabIndex = tabIndexMap.get(elements[index].id);
30
27
  }
31
28
  }
32
-
33
29
  tabIndexMap.clear();
34
30
  } else {
35
31
  for (let index = 0; index < elements.length; index++) {
@@ -41,64 +37,49 @@ export const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
41
37
  };
42
38
  export const findParentFocusableElementsWithoutChildContainer = elementId => {
43
39
  const childContainer = document.getElementById(elementId);
44
-
45
40
  if (!childContainer) {
46
41
  return null;
47
42
  }
48
-
49
43
  const parentContainer = childContainer.parentElement;
50
-
51
44
  if (!parentContainer) {
52
45
  return null;
53
46
  }
54
-
55
47
  const parentFocusableElements = findAllFocusableElement(parentContainer);
56
-
57
48
  if (!parentFocusableElements) {
58
49
  return null;
59
50
  }
60
-
61
51
  for (let index = 0; index < parentFocusableElements.length; index++) {
62
52
  if (childContainer.contains(parentFocusableElements[index])) {
63
53
  parentFocusableElements.splice(index, 1);
64
54
  index--;
65
55
  }
66
56
  }
67
-
68
57
  return parentFocusableElements;
69
58
  };
70
59
  export const findAllFocusableElement = parent => {
71
60
  const container = getElementBySelector(parent);
72
-
73
61
  if (container !== null) {
74
62
  return Array.prototype.slice.call(container.querySelectorAll("a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex=\"0\"]"));
75
63
  }
76
-
77
64
  return null;
78
65
  };
79
66
  export const preventFocusToMoveOutOfElement = elementId => {
80
67
  const container = document.getElementById(elementId);
81
-
82
68
  if (!container) {
83
69
  return;
84
70
  }
85
-
86
71
  const focusableElements = findAllFocusableElement(container);
87
-
88
72
  if (!focusableElements) {
89
73
  return;
90
74
  }
91
-
92
75
  const firstFocusableElement = focusableElements[0];
93
76
  const lastFocusableElement = focusableElements[focusableElements.length - 1];
94
-
95
77
  firstFocusableElement.onkeydown = e => {
96
78
  if (e.shiftKey && e.key === KeyCodes.TAB) {
97
79
  e.preventDefault();
98
80
  lastFocusableElement === null || lastFocusableElement === void 0 ? void 0 : lastFocusableElement.focus();
99
81
  }
100
82
  };
101
-
102
83
  lastFocusableElement.onkeydown = e => {
103
84
  if (!e.shiftKey && e.key === KeyCodes.TAB) {
104
85
  e.preventDefault();
@@ -129,14 +110,12 @@ export const escapeHtml = inputString => {
129
110
  export const getIconText = text => {
130
111
  if (text) {
131
112
  const initials = text.split(/\s/).reduce((response, word) => response += word.slice(0, 1), "");
132
-
133
113
  if (initials.length > 1) {
134
114
  return initials.substring(0, 2).toUpperCase();
135
115
  } else {
136
116
  return text.substring(0, 2).toUpperCase();
137
117
  }
138
118
  }
139
-
140
119
  return "";
141
120
  };
142
121
  export const getLocaleDirection = localeLCID => {
@@ -152,20 +131,16 @@ export const getTimestampHourMinute = timestampStr => {
152
131
  const minuteFormat = "2-digit";
153
132
  const date = new Date(timestampStr);
154
133
  const now = new Date();
155
-
156
134
  if (isNaN(date.getTime())) {
157
135
  return "";
158
136
  }
159
-
160
137
  if (date.getFullYear() !== now.getFullYear()) {
161
138
  yearFormat = "numeric";
162
139
  monthDayFormat = "2-digit";
163
140
  }
164
-
165
141
  if (date.getMonth() !== now.getMonth() || date.getDate() !== now.getDate()) {
166
142
  monthDayFormat = "2-digit";
167
143
  }
168
-
169
144
  return date.toLocaleTimeString(navigator.language, {
170
145
  year: yearFormat,
171
146
  month: monthDayFormat,
@@ -179,7 +154,6 @@ export const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) =
179
154
  try {
180
155
  const parsedPayload = JSON.parse(payload.replace(/&#42;/g, "*"));
181
156
  const body = parsedPayload.body;
182
-
183
157
  if (body) {
184
158
  //Parse ID field into available options and add required error messages
185
159
  for (const fields of body) {
@@ -187,23 +161,21 @@ export const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) =
187
161
  const parsedId = JSON.parse(fields.id);
188
162
  fields.id = parsedId.Id;
189
163
  fields.isRequired = parsedId.IsRequired ?? false;
190
-
191
164
  if (fields.isRequired) {
192
165
  fields.errorMessage = requiredFieldMissingMessage.replace("{0}", parsedId.Name ?? "");
193
166
  }
194
167
  }
195
168
  }
196
169
  }
197
-
198
170
  return JSON.stringify(parsedPayload);
199
171
  } catch (ex) {
200
172
  throw new Error(`Adaptive card pase error: ${ex}`);
201
173
  }
202
174
  }
203
-
204
175
  return payload;
205
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
176
+ };
206
177
 
178
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
207
179
  export const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
208
180
  if (preChatSurvey && preChatSurvey !== "{}" && values) {
209
181
  try {
@@ -213,14 +185,13 @@ export const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
213
185
  "Type": Constants.InputSubmit
214
186
  };
215
187
  const computedValues = [];
216
-
217
188
  for (const val of values) {
218
189
  const index = val.index;
219
190
  const Id = body[index].id;
220
191
  computedValues[Id] = val.value;
221
192
  }
222
-
223
- const finalPayload = { ...type,
193
+ const finalPayload = {
194
+ ...type,
224
195
  ...computedValues
225
196
  };
226
197
  return finalPayload;
@@ -228,10 +199,10 @@ export const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
228
199
  throw new Error(`PreChatSurvey Response parse error: ${ex}`);
229
200
  }
230
201
  }
231
-
232
202
  return {};
233
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
203
+ };
234
204
 
205
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
235
206
  export const isNullOrUndefined = obj => {
236
207
  return obj === null || obj === undefined;
237
208
  };
@@ -242,26 +213,21 @@ export const newGuid = () => {
242
213
  //RFC 4122 canonical representation Version-4 xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx where x is any hexadecimal digit and y is one of 8, 9, A, or B
243
214
  const guidPattern = Constants.GuidPattern;
244
215
  let newGuid = "";
245
-
246
216
  for (let i = 0; i < guidPattern.length; i++) {
247
217
  const randomString = Math.floor(Math.random() * Date.now());
248
-
249
218
  switch (guidPattern[i]) {
250
219
  case "x":
251
220
  newGuid += randomString.toString(16).substring(0, 4);
252
221
  break;
253
222
  //get 4 digit
254
-
255
223
  case "m":
256
224
  newGuid += randomString.toString(16).substring(0, 3);
257
225
  break;
258
226
  //Get 3 digit
259
-
260
227
  case "y":
261
228
  newGuid += (randomString & 0x3 | 0x8).toString(16);
262
229
  break;
263
230
  // To get only one of 8, 9, A, or B
264
-
265
231
  default:
266
232
  newGuid += guidPattern[i];
267
233
  //Default "-" and "4"
@@ -277,18 +243,17 @@ export const createTimer = () => {
277
243
  const ms = new Date().getTime() - timeStart;
278
244
  return ms;
279
245
  }
280
-
281
246
  };
282
- }; // Returns the domain of the org
283
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
247
+ };
284
248
 
249
+ // Returns the domain of the org
250
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
285
251
  export const getDomain = hostValue => {
286
252
  for (let i = 0; i < AriaTelemetryConstants.lcwEUDomainNames.length; i++) {
287
253
  if (hostValue.endsWith(AriaTelemetryConstants.lcwEUDomainNames[i])) {
288
254
  return AriaTelemetryConstants.EU;
289
255
  }
290
256
  }
291
-
292
257
  return AriaTelemetryConstants.Public;
293
258
  };
294
259
  export const getWidgetCacheId = (orgId, widgetId, widgetInstanceId) => {
@@ -299,16 +264,15 @@ export const getWidgetEndChatEventName = (orgId, widgetId, widgetInstanceId) =>
299
264
  if (!isNullOrEmptyString(widgetInstanceId)) {
300
265
  return `${BroadcastEvent.ChatEnded}_${widgetInstanceId}_${orgId}_${widgetId}`;
301
266
  }
302
-
303
267
  return `${BroadcastEvent.ChatEnded}_${orgId}_${widgetId}`;
304
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
268
+ };
305
269
 
270
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
306
271
  export const getStateFromCache = (orgId, widgetId, widgetInstanceId) => {
307
272
  // Getting updated state from cache
308
273
  try {
309
274
  if (DataStoreManager.clientDataStore) {
310
275
  var _DataStoreManager$cli;
311
-
312
276
  const widgetStateEventName = getWidgetCacheId(orgId, widgetId, widgetInstanceId);
313
277
  const widgetStateFromCache = (_DataStoreManager$cli = DataStoreManager.clientDataStore) === null || _DataStoreManager$cli === void 0 ? void 0 : _DataStoreManager$cli.getData(widgetStateEventName, "localStorage");
314
278
  const persistedState = widgetStateFromCache ? JSON.parse(widgetStateFromCache) : undefined;
@@ -320,20 +284,21 @@ export const getStateFromCache = (orgId, widgetId, widgetInstanceId) => {
320
284
  console.log(error);
321
285
  return null;
322
286
  }
323
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
287
+ };
324
288
 
289
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
325
290
  export const isUndefinedOrEmpty = object => {
326
291
  if (object) {
327
292
  if (Object.keys(object).length === 0) {
328
293
  return true;
329
294
  }
330
-
331
295
  return false;
332
296
  } else {
333
297
  return true;
334
298
  }
335
- }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
299
+ };
336
300
 
301
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
337
302
  export const addDelayInMs = ms => {
338
303
  return new Promise(resolve => setTimeout(resolve, ms));
339
304
  };
@@ -7,17 +7,17 @@ import useChatContextStore from "../../hooks/useChatContextStore";
7
7
  import useChatSDKStore from "../../hooks/useChatSDKStore";
8
8
  export const CallingContainerStateful = props => {
9
9
  var _props$controlProps, _props$controlProps2, _props$controlProps2$, _props$controlProps3, _props$controlProps3$, _props$controlProps3$2, _props$controlProps4, _props$controlProps4$, _props$controlProps4$2, _props$controlProps5;
10
-
11
10
  //TODO : Close button confirmation implmentation is pending
12
- const [state, dispatch] = useChatContextStore(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
11
 
14
- const chatSDK = useChatSDKStore(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ const [state, dispatch] = useChatContextStore();
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ const chatSDK = useChatSDKStore();
15
15
 
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
17
  const {
17
18
  voiceVideoCallingSdk
18
19
  } = props;
19
20
  let callId;
20
-
21
21
  const resetCallingStates = reset => {
22
22
  if (reset) {
23
23
  dispatch({
@@ -42,12 +42,10 @@ export const CallingContainerStateful = props => {
42
42
  });
43
43
  }
44
44
  };
45
-
46
45
  useEffect(() => {
47
46
  const init = async () => {
48
47
  try {
49
48
  var _controlProps$current, _controlProps$current2, _controlProps$current3, _controlProps$current4;
50
-
51
49
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
50
  TelemetryHelper.callId = callId;
53
51
  await voiceVideoCallingSdk.initialize({
@@ -60,16 +58,15 @@ export const CallingContainerStateful = props => {
60
58
  });
61
59
  } catch (e) {
62
60
  TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
63
- Event: TelemetryEvent.VoiceVideoInitializeException,
61
+ Event: TelemetryEvent.VoiceVideoSdkInitializeException,
64
62
  Description: `Failed to initialize VideoVoiceCalling Sdk: ${e}`
65
63
  });
66
64
  }
67
65
  };
68
-
69
66
  init().then(() => {
70
67
  if (voiceVideoCallingSdk) {
71
68
  TelemetryHelper.logCallingEvent(LogLevel.INFO, {
72
- Event: TelemetryEvent.VoiceVideoInitialize,
69
+ Event: TelemetryEvent.VoiceVideoSdkInitialize,
73
70
  Description: "Initialize VideoVoiceCalling Sdk Success"
74
71
  }, callId);
75
72
  voiceVideoCallingSdk.onCallAdded(() => {
@@ -131,14 +128,12 @@ export const CallingContainerStateful = props => {
131
128
  }, callId);
132
129
  const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
133
130
  const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
134
-
135
131
  if (isRemoteVideoDisabled && isLocalVideoDisabled) {
136
132
  dispatch({
137
133
  type: LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
138
134
  payload: true
139
135
  });
140
136
  }
141
-
142
137
  dispatch({
143
138
  type: LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO,
144
139
  payload: isRemoteVideoDisabled
@@ -150,14 +145,12 @@ export const CallingContainerStateful = props => {
150
145
  }, callId);
151
146
  const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
152
147
  const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
153
-
154
148
  if (isRemoteVideoDisabled && isLocalVideoDisabled) {
155
149
  dispatch({
156
150
  type: LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
157
151
  payload: true
158
152
  });
159
153
  }
160
-
161
154
  dispatch({
162
155
  type: LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO,
163
156
  payload: isLocalVideoDisabled
@@ -183,7 +176,6 @@ export const CallingContainerStateful = props => {
183
176
  } else {
184
177
  voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.stopCall();
185
178
  }
186
-
187
179
  voiceVideoCallingSdk === null || voiceVideoCallingSdk === void 0 ? void 0 : voiceVideoCallingSdk.close();
188
180
  dispatch({
189
181
  type: LiveChatWidgetActionType.SET_E2VV_ENABLED,
@@ -231,7 +223,6 @@ export const CallingContainerStateful = props => {
231
223
  }
232
224
  }, callId);
233
225
  }
234
-
235
226
  dispatch({
236
227
  type: LiveChatWidgetActionType.SET_INCOMING_CALL,
237
228
  payload: false
@@ -257,7 +248,6 @@ export const CallingContainerStateful = props => {
257
248
  }
258
249
  }, callId);
259
250
  }
260
-
261
251
  dispatch({
262
252
  type: LiveChatWidgetActionType.SET_INCOMING_CALL,
263
253
  payload: false
@@ -317,7 +307,8 @@ export const CallingContainerStateful = props => {
317
307
  }, callId);
318
308
  }
319
309
  }, []),
320
- nonActionIds: { ...(props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : (_props$controlProps2$ = _props$controlProps2.currentCallControlProps) === null || _props$controlProps2$ === void 0 ? void 0 : _props$controlProps2$.nonActionIds),
310
+ nonActionIds: {
311
+ ...(props === null || props === void 0 ? void 0 : (_props$controlProps2 = props.controlProps) === null || _props$controlProps2 === void 0 ? void 0 : (_props$controlProps2$ = _props$controlProps2.currentCallControlProps) === null || _props$controlProps2$ === void 0 ? void 0 : _props$controlProps2$.nonActionIds),
321
312
  selfVideoTileId: (props === null || props === void 0 ? void 0 : (_props$controlProps3 = props.controlProps) === null || _props$controlProps3 === void 0 ? void 0 : (_props$controlProps3$ = _props$controlProps3.currentCallControlProps) === null || _props$controlProps3$ === void 0 ? void 0 : (_props$controlProps3$2 = _props$controlProps3$.nonActionIds) === null || _props$controlProps3$2 === void 0 ? void 0 : _props$controlProps3$2.selfVideoTileId) ?? "selfVideo",
322
313
  remoteVideoTileId: (props === null || props === void 0 ? void 0 : (_props$controlProps4 = props.controlProps) === null || _props$controlProps4 === void 0 ? void 0 : (_props$controlProps4$ = _props$controlProps4.currentCallControlProps) === null || _props$controlProps4$ === void 0 ? void 0 : (_props$controlProps4$2 = _props$controlProps4$.nonActionIds) === null || _props$controlProps4$2 === void 0 ? void 0 : _props$controlProps4$2.remoteVideoTileId) ?? "remoteVideo"
323
314
  },
@@ -11,14 +11,13 @@ import { defaultOutOfOfficeChatButtonStyleProps } from "./common/styleProps/defa
11
11
  import useChatContextStore from "../../hooks/useChatContextStore";
12
12
  export const ChatButtonStateful = props => {
13
13
  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
-
15
14
  const [state, dispatch] = useChatContextStore();
16
15
  const {
17
16
  buttonProps,
18
17
  outOfOfficeButtonProps,
19
18
  startChat
20
- } = props; //Setting OutOfOperatingHours Flag
21
-
19
+ } = props;
20
+ //Setting OutOfOperatingHours Flag
22
21
  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");
23
22
  const proactiveChatInNewWindow = useRef(state.appStates.proactiveChatStates.proactiveChatInNewWindow);
24
23
  const outOfOfficeStyleProps = Object.assign({}, defaultOutOfOfficeChatButtonStyleProps, outOfOfficeButtonProps === null || outOfOfficeButtonProps === void 0 ? void 0 : outOfOfficeButtonProps.styleProps);
@@ -33,7 +32,6 @@ export const ChatButtonStateful = props => {
33
32
  TelemetryHelper.logActionEvent(LogLevel.INFO, {
34
33
  Event: TelemetryEvent.LCWChatButtonClicked
35
34
  });
36
-
37
35
  if (proactiveChatInNewWindow.current) {
38
36
  const proactiveChatIsInPopoutModeEvent = {
39
37
  eventName: BroadcastEvent.ProactiveChatIsInPopoutMode
@@ -60,7 +58,6 @@ export const ChatButtonStateful = props => {
60
58
  TelemetryHelper.logActionEvent(LogLevel.INFO, {
61
59
  Event: TelemetryEvent.LCWChatButtonClicked
62
60
  });
63
-
64
61
  if (state.appStates.isMinimized) {
65
62
  dispatch({
66
63
  type: LiveChatWidgetActionType.SET_MINIMIZED,
@@ -80,12 +77,10 @@ export const ChatButtonStateful = props => {
80
77
  if (state.appStates.outsideOperatingHours) {
81
78
  setOutOfOperatingHours(true);
82
79
  }
83
-
84
80
  TelemetryHelper.logLoadingEvent(LogLevel.INFO, {
85
81
  Event: TelemetryEvent.LCWChatButtonShow,
86
82
  ElapsedTimeInMilliseconds: TelemetryTimers.LcwLoadToChatButtonTimer.milliSecondsElapsed
87
83
  });
88
-
89
84
  if (state.uiStates.focusChatButton) {
90
85
  setFocusOnElement(document.getElementById((controlProps === null || controlProps === void 0 ? void 0 : controlProps.id) ?? "oc-lcw-chat-button"));
91
86
  } else {
@@ -1,5 +1,8 @@
1
1
  export const defaultOutOfOfficeChatButtonStyleProps = {
2
2
  iconStyleProps: {
3
3
  backgroundColor: "#000000"
4
+ },
5
+ subtitleStyleProps: {
6
+ margin: "0px 10px 0px 10px"
4
7
  }
5
8
  };