@microsoft/omnichannel-chat-widget 0.1.0-main.d4c1f9e → 0.1.0-main.d55b52c

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 (282) hide show
  1. package/lib/cjs/assets/Icons.js +4 -2
  2. package/lib/cjs/common/Constants.js +22 -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 +102 -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 +10 -10
  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 +114 -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 +16 -54
  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 +164 -117
  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 +234 -252
  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 +9 -37
  65. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +2 -32
  66. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -24
  67. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +21 -37
  68. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +0 -7
  69. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -6
  70. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +12 -27
  71. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +5 -18
  72. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -24
  73. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -15
  74. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -8
  75. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -5
  76. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -5
  77. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  78. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  79. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  80. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  81. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  82. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  83. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  84. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  85. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +0 -7
  86. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -5
  87. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -41
  88. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +10 -22
  89. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -61
  90. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +7 -15
  91. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -13
  92. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -16
  93. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +10 -0
  94. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +10 -0
  95. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -3
  96. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -3
  97. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +10 -0
  98. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -9
  99. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +2 -30
  100. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +7 -18
  101. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +8 -42
  102. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +4 -22
  103. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +13 -30
  104. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +3 -9
  105. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -34
  106. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +1 -10
  107. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +1 -12
  108. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -19
  109. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +1 -9
  110. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -9
  111. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +13 -34
  112. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +1 -10
  113. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +7 -11
  114. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +5 -14
  115. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -21
  116. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -12
  117. package/lib/cjs/contexts/ChatAdapterStore.js +0 -2
  118. package/lib/cjs/contexts/ChatContextStore.js +0 -2
  119. package/lib/cjs/contexts/ChatSDKStore.js +0 -2
  120. package/lib/cjs/contexts/common/ConversationState.js +0 -1
  121. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +30 -29
  122. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +10 -11
  123. package/lib/cjs/contexts/createReducer.js +154 -108
  124. package/lib/cjs/controller/componentController.js +2 -31
  125. package/lib/cjs/hooks/useChatAdapterStore.js +0 -6
  126. package/lib/cjs/hooks/useChatContextStore.js +0 -6
  127. package/lib/cjs/hooks/useChatSDKStore.js +0 -6
  128. package/lib/cjs/index.js +0 -5
  129. package/lib/cjs/plugins/newMessageEventHandler.js +19 -36
  130. package/lib/esm/assets/Icons.js +2 -1
  131. package/lib/esm/common/Constants.js +19 -158
  132. package/lib/esm/common/KeyCodes.js +3 -3
  133. package/lib/esm/common/contextDataStore/DataStoreManager.js +3 -3
  134. package/lib/esm/common/storage/default/defaultCacheManager.js +18 -0
  135. package/lib/esm/common/storage/default/defaultClientDataStoreProvider.js +95 -0
  136. package/lib/esm/common/storage/default/defaultInMemoryDataStore.js +70 -0
  137. package/lib/esm/common/telemetry/TelemetryConstants.js +32 -20
  138. package/lib/esm/common/telemetry/TelemetryHelper.js +21 -47
  139. package/lib/esm/common/telemetry/TelemetryManager.js +3 -19
  140. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +28 -24
  141. package/lib/esm/common/telemetry/loggers/consoleLogger.js +0 -5
  142. package/lib/esm/common/utils.js +18 -53
  143. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +8 -17
  144. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +2 -7
  145. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +3 -0
  146. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +11 -14
  147. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +9 -16
  148. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +6 -6
  149. package/lib/esm/components/footerstateful/FooterStateful.js +13 -23
  150. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +7 -35
  151. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +6 -6
  152. package/lib/esm/components/headerstateful/HeaderStateful.js +18 -16
  153. package/lib/esm/components/livechatwidget/LiveChatWidget.js +2 -2
  154. package/lib/esm/components/livechatwidget/common/ActivityStreamHandler.js +5 -7
  155. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/DefaultActivitySubscriber.js +3 -4
  156. package/lib/esm/components/livechatwidget/common/ActivitySubscriber/PauseActivitySubscriber.js +7 -9
  157. package/lib/esm/components/livechatwidget/common/ChatAdapterShim.js +14 -16
  158. package/lib/esm/components/livechatwidget/common/Deferred.js +6 -9
  159. package/lib/esm/components/livechatwidget/common/authHelper.js +13 -10
  160. package/lib/esm/components/livechatwidget/common/createAdapter.js +4 -6
  161. package/lib/esm/components/livechatwidget/common/createFooter.js +4 -16
  162. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +10 -5
  163. package/lib/esm/components/livechatwidget/common/createMarkdown.js +18 -18
  164. package/lib/esm/components/livechatwidget/common/defaultProps/defaultScrollBarProps.js +7 -0
  165. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +115 -32
  166. package/lib/esm/components/livechatwidget/common/endChat.js +52 -20
  167. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +0 -2
  168. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +9 -11
  169. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +4 -5
  170. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +18 -19
  171. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +77 -130
  172. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +4 -9
  173. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +4 -3
  174. package/lib/esm/components/livechatwidget/common/shareObservable.js +4 -7
  175. package/lib/esm/components/livechatwidget/common/startChat.js +163 -88
  176. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +4 -2
  177. package/lib/esm/components/livechatwidget/interfaces/IScrollBarProps.js +1 -0
  178. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +236 -186
  179. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +19 -7
  180. package/lib/esm/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.js +50 -0
  181. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +4 -5
  182. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +4 -5
  183. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +32 -11
  184. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +1 -1
  185. package/lib/esm/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.js +6 -0
  186. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +0 -1
  187. package/lib/esm/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.js +1 -0
  188. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +11 -21
  189. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +4 -8
  190. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +6 -6
  191. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +19 -11
  192. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +2 -2
  193. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +12 -19
  194. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +5 -14
  195. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +2 -16
  196. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +5 -5
  197. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +5 -6
  198. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/BotMagicCodeStore.js +3 -3
  199. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +3 -3
  200. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +0 -1
  201. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +0 -1
  202. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +0 -1
  203. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +0 -1
  204. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +0 -1
  205. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +0 -1
  206. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +0 -1
  207. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +0 -1
  208. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +2 -5
  209. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +0 -4
  210. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +17 -26
  211. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +12 -14
  212. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +25 -39
  213. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +9 -8
  214. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.js +2 -9
  215. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/cardActionMiddleware.spec.js +0 -14
  216. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.js +3 -0
  217. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.js +3 -0
  218. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +2 -1
  219. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +2 -1
  220. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.js +3 -0
  221. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +3 -7
  222. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/messageTimestampMiddleware.js +4 -28
  223. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +8 -9
  224. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +9 -28
  225. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +5 -14
  226. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +15 -19
  227. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +5 -8
  228. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +6 -29
  229. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +3 -7
  230. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +3 -8
  231. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +17 -14
  232. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +3 -7
  233. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +3 -7
  234. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +15 -27
  235. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +3 -5
  236. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +9 -9
  237. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +7 -9
  238. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +1 -13
  239. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/webchattelemetry/WebChatLogger.js +0 -5
  240. package/lib/esm/contexts/ChatAdapterStore.js +2 -1
  241. package/lib/esm/contexts/ChatContextStore.js +2 -1
  242. package/lib/esm/contexts/ChatSDKStore.js +2 -1
  243. package/lib/esm/contexts/common/ConversationState.js +0 -1
  244. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +30 -29
  245. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +10 -7
  246. package/lib/esm/contexts/createReducer.js +154 -105
  247. package/lib/esm/controller/componentController.js +3 -2
  248. package/lib/esm/hooks/useChatAdapterStore.js +0 -4
  249. package/lib/esm/hooks/useChatContextStore.js +0 -4
  250. package/lib/esm/hooks/useChatSDKStore.js +0 -4
  251. package/lib/esm/plugins/newMessageEventHandler.js +19 -26
  252. package/lib/types/assets/Icons.d.ts +1 -0
  253. package/lib/types/common/Constants.d.ts +12 -0
  254. package/lib/types/common/storage/default/defaultCacheManager.d.ts +4 -0
  255. package/lib/types/common/storage/default/defaultClientDataStoreProvider.d.ts +2 -0
  256. package/lib/types/common/storage/default/defaultInMemoryDataStore.d.ts +6 -0
  257. package/lib/types/common/telemetry/TelemetryConstants.d.ts +16 -5
  258. package/lib/types/common/telemetry/definitions/Contracts.d.ts +4 -4
  259. package/lib/types/common/telemetry/definitions/Payload.d.ts +1 -0
  260. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +4 -0
  261. package/lib/types/components/livechatwidget/common/authHelper.d.ts +3 -2
  262. package/lib/types/components/livechatwidget/common/defaultProps/defaultScrollBarProps.d.ts +2 -0
  263. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +5 -7
  264. package/lib/types/components/livechatwidget/common/startChat.d.ts +5 -3
  265. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +1 -1
  266. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +4 -2
  267. package/lib/types/components/livechatwidget/interfaces/IScrollBarProps.d.ts +22 -0
  268. package/lib/types/components/loadingpanestateful/common/errorUIStyleProps/errorUILoadingPaneStyleProps.d.ts +2 -0
  269. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +2 -2
  270. package/lib/types/components/postchatsurveypanestateful/enums/CustomerVoiceEvents.d.ts +5 -0
  271. package/lib/types/components/postchatsurveypanestateful/interfaces/IPostChatSurveyPaneStatefulProps.d.ts +4 -0
  272. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +0 -1
  273. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +4 -1
  274. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -1
  275. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultReceivedMessageAnchorStyles.d.ts +2 -0
  276. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageBoxStyles.d.ts +3 -0
  277. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageBoxStyles.d.ts +3 -0
  278. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -1
  279. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +3 -2
  280. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +30 -28
  281. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +1 -2
  282. package/package.json +3 -3
@@ -4,48 +4,49 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.LoadingPaneStateful = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
-
14
10
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
15
-
16
11
  var _defaultgeneralLoadingPaneStyleProps = require("./common/defaultStyleProps/defaultgeneralLoadingPaneStyleProps");
17
-
18
12
  var _utils = require("../../common/utils");
19
-
20
13
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
21
-
14
+ var _errorUILoadingPaneStyleProps = require("./common/errorUIStyleProps/errorUILoadingPaneStyleProps");
22
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
18
  const LoadingPaneStateful = props => {
29
19
  var _props$styleProps;
30
-
31
20
  const [state] = (0, _useChatContextStore.default)();
32
21
  const generalStyleProps = Object.assign({}, _defaultgeneralLoadingPaneStyleProps.defaultGeneralLoadingPaneStyleProps, (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps);
33
- const styleProps = { ...props.styleProps,
22
+ const styleProps = {
23
+ ...props.styleProps,
34
24
  generalStyleProps: generalStyleProps
35
25
  };
26
+ const errorUIStyleProps = {
27
+ ..._errorUILoadingPaneStyleProps.errorUILoadingPaneStyleProps
28
+ };
36
29
  const controlProps = {
37
30
  id: "oc-lcw-loading-pane",
38
31
  dir: state.domainStates.globalDir,
39
32
  ...props.controlProps
40
- }; // Move focus to the first button
33
+ };
34
+ const errorUIControlProps = {
35
+ id: "oc-lcw-alert-pane",
36
+ dir: state.domainStates.globalDir,
37
+ titleText: "Chat is failing to load.",
38
+ subtitleText: "Please Close the chat and try again.",
39
+ hideSpinner: true,
40
+ hideSpinnerText: true,
41
+ ...props.controlProps
42
+ };
41
43
 
44
+ // Move focus to the first button
42
45
  (0, _react.useEffect)(() => {
43
46
  const firstElement = (0, _utils.findAllFocusableElement)(`#${state.domainStates.widgetElementId}`);
44
-
45
47
  if (firstElement && firstElement[0]) {
46
48
  firstElement[0].focus();
47
49
  }
48
-
49
50
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
50
51
  Event: _TelemetryConstants.TelemetryEvent.LoadingPaneLoaded,
51
52
  Description: "Loading pane loaded."
@@ -53,11 +54,10 @@ const LoadingPaneStateful = props => {
53
54
  }, []);
54
55
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.LoadingPane, {
55
56
  componentOverrides: props.componentOverrides,
56
- controlProps: controlProps,
57
- styleProps: styleProps
57
+ controlProps: state.appStates.isStartChatFailing ? errorUIControlProps : controlProps,
58
+ styleProps: state.appStates.isStartChatFailing ? errorUIStyleProps : styleProps
58
59
  });
59
60
  };
60
-
61
61
  exports.LoadingPaneStateful = LoadingPaneStateful;
62
62
  var _default = LoadingPaneStateful;
63
63
  exports.default = _default;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.errorUILoadingPaneStyleProps = void 0;
7
+ var _react = require("@fluentui/react");
8
+ var _Icons = require("../../../../assets/Icons");
9
+ const errorUILoadingPaneStyleProps = {
10
+ generalStyleProps: {
11
+ position: "initial",
12
+ width: "100%",
13
+ height: "100%",
14
+ left: "0%",
15
+ top: "0%",
16
+ borderRadius: "0 0 4px 4px",
17
+ borderWidth: "0px",
18
+ backgroundColor: "#FFFFFF"
19
+ },
20
+ titleStyleProps: {
21
+ fontFamily: "'Segoe UI',Arial,sans-serif",
22
+ fontWeight: "normal",
23
+ fontSize: "18px",
24
+ color: "#36454F",
25
+ textAlign: "center",
26
+ display: "flex",
27
+ order: 2,
28
+ alignSelf: "auto"
29
+ },
30
+ subtitleStyleProps: {
31
+ fontFamily: "'Segoe UI',Arial,sans-serif",
32
+ fontWeight: "normal",
33
+ fontSize: "18px",
34
+ color: "#36454F",
35
+ textAlign: "center",
36
+ display: "flex",
37
+ order: 3,
38
+ alignSelf: "auto"
39
+ },
40
+ iconStyleProps: {
41
+ display: "flex",
42
+ order: 1,
43
+ alignSelf: "auto",
44
+ backgroundColor: "#FFFFFF",
45
+ boxShadow: "#FFFFFF 0px 0px 0px 0px",
46
+ margin: "0px 0px 0px 0px"
47
+ },
48
+ iconImageProps: {
49
+ src: _Icons.AlertIcon,
50
+ imageFit: _react.ImageFit.center,
51
+ width: "86px",
52
+ height: "86px",
53
+ shouldFadeIn: false,
54
+ shouldStartVisible: true
55
+ }
56
+ };
57
+ exports.errorUILoadingPaneStyleProps = errorUILoadingPaneStyleProps;
@@ -4,48 +4,36 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.OutOfOfficeHoursPaneStateful = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
-
14
10
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
15
-
16
11
  var _defaultgeneralOOOHPaneStyleProps = require("./common/defaultStyleProps/defaultgeneralOOOHPaneStyleProps");
17
-
18
12
  var _utils = require("../../common/utils");
19
-
20
13
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
17
  const OutOfOfficeHoursPaneStateful = props => {
29
18
  var _props$styleProps;
30
-
31
19
  const [state] = (0, _useChatContextStore.default)();
32
20
  const generalStyleProps = Object.assign({}, _defaultgeneralOOOHPaneStyleProps.defaultGeneralStyleProps, (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps);
33
- const styleProps = { ...props.styleProps,
21
+ const styleProps = {
22
+ ...props.styleProps,
34
23
  generalStyleProps: generalStyleProps
35
24
  };
36
25
  const controlProps = {
37
26
  id: "oc-lcw-outofofficehours-pane",
38
27
  dir: state.domainStates.globalDir,
39
28
  ...props.controlProps
40
- }; // Move focus to the first button
29
+ };
41
30
 
31
+ // Move focus to the first button
42
32
  (0, _react.useEffect)(() => {
43
33
  const firstElement = (0, _utils.findAllFocusableElement)(`#${state.domainStates.widgetElementId}`);
44
-
45
34
  if (firstElement && firstElement[0]) {
46
35
  firstElement[0].focus();
47
36
  }
48
-
49
37
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
50
38
  Event: _TelemetryConstants.TelemetryEvent.OutOfOfficePaneLoaded
51
39
  });
@@ -56,7 +44,6 @@ const OutOfOfficeHoursPaneStateful = props => {
56
44
  styleProps: styleProps
57
45
  });
58
46
  };
59
-
60
47
  exports.OutOfOfficeHoursPaneStateful = OutOfOfficeHoursPaneStateful;
61
48
  var _default = OutOfOfficeHoursPaneStateful;
62
49
  exports.default = _default;
@@ -4,33 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.PostChatLoadingPaneStateful = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
11
-
12
9
  var _defaultgeneralPostChatLoadingPaneStyleProps = require("./common/defaultgeneralPostChatLoadingPaneStyleProps");
13
-
14
10
  var _utils = require("../../common/utils");
15
-
16
11
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
17
-
18
12
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
19
-
20
13
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
17
  const PostChatLoadingPaneStateful = props => {
29
18
  var _props$styleProps;
30
-
31
19
  const [state] = (0, _useChatContextStore.default)();
32
20
  const generalStyleProps = Object.assign({}, _defaultgeneralPostChatLoadingPaneStyleProps.defaultGeneralPostChatLoadingPaneStyleProps, (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps);
33
- const styleProps = { ...props.styleProps,
21
+ const styleProps = {
22
+ ...props.styleProps,
34
23
  generalStyleProps: generalStyleProps
35
24
  };
36
25
  const controlProps = {
@@ -42,15 +31,14 @@ const PostChatLoadingPaneStateful = props => {
42
31
  hideSpinnerText: true,
43
32
  subtitleText: "Please take a moment to give us feedback about your chat experience. We are loading the survey for you now.",
44
33
  ...props.controlProps
45
- }; // Move focus to the first button
34
+ };
46
35
 
36
+ // Move focus to the first button
47
37
  (0, _react.useEffect)(() => {
48
38
  const firstElement = (0, _utils.findAllFocusableElement)(`#${state.domainStates.widgetElementId}`);
49
-
50
39
  if (firstElement && firstElement[0]) {
51
40
  firstElement[0].focus();
52
41
  }
53
-
54
42
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
55
43
  Event: _TelemetryConstants.TelemetryEvent.PostChatSurveyLoadingPaneLoaded
56
44
  });
@@ -61,7 +49,6 @@ const PostChatLoadingPaneStateful = props => {
61
49
  styleProps: styleProps
62
50
  });
63
51
  };
64
-
65
52
  exports.PostChatLoadingPaneStateful = PostChatLoadingPaneStateful;
66
53
  var _default = PostChatLoadingPaneStateful;
67
54
  exports.default = _default;
@@ -4,67 +4,76 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.PostChatSurveyPaneStateful = void 0;
7
-
8
7
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
9
-
10
8
  var _react = _interopRequireWildcard(require("react"));
11
-
12
9
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
13
-
14
10
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
15
-
16
11
  var _defaultgeneralPostChatSurveyPaneStyleProps = require("./common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps");
17
-
18
12
  var _utils = require("../../common/utils");
19
-
20
13
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
21
-
14
+ var _PostChatSurveyMode = require("./enums/PostChatSurveyMode");
15
+ var _CustomerVoiceEvents = require("./enums/CustomerVoiceEvents");
22
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
19
  const PostChatSurveyPaneStateful = props => {
29
- var _props$styleProps, _props$controlProps;
30
-
31
- const [state] = (0, _useChatContextStore.default)(); // ToDo : TASK 2628392 Fix PostChat iframe reloading on Minimize
32
-
20
+ var _state$domainStates$l, _state$domainStates$l2, _props$styleProps, _props$controlProps;
21
+ const [state] = (0, _useChatContextStore.default)();
22
+ const postChatSurveyMode = (_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.msdyn_postconversationsurveymode;
33
23
  const generalStyleProps = Object.assign({}, _defaultgeneralPostChatSurveyPaneStyleProps.defaultGeneralPostChatSurveyPaneStyleProps, (_props$styleProps = props.styleProps) === null || _props$styleProps === void 0 ? void 0 : _props$styleProps.generalStyleProps, {
34
24
  display: state.appStates.isMinimized ? "none" : ""
35
25
  });
36
26
  let surveyInviteLink = "";
37
-
38
27
  if (state.domainStates.postChatContext.surveyInviteLink) {
39
- surveyInviteLink = state.domainStates.postChatContext.surveyInviteLink + "&lang=" + (state.domainStates.postChatContext.formsProLocale ?? "en");
28
+ surveyInviteLink = state.domainStates.postChatContext.surveyInviteLink + "&embed=" + (postChatSurveyMode === _PostChatSurveyMode.PostChatSurveyMode.Embed).toString() + "&compact=" + (props.isCustomerVoiceSurveyCompact ?? true).toString() + "&lang=" + (state.domainStates.postChatContext.formsProLocale ?? "en") + "&showmultilingual=false";
40
29
  }
41
-
42
- const styleProps = { ...props.styleProps,
30
+ const styleProps = {
31
+ ...props.styleProps,
43
32
  generalStyleProps: generalStyleProps
44
33
  };
45
34
  const controlProps = {
46
35
  id: "oc-lcw-postchatsurvey-pane",
47
36
  surveyURL: ((_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.surveyURL) ?? surveyInviteLink,
48
37
  ...props.controlProps
49
- }; // Move focus to the first button
38
+ };
50
39
 
40
+ // Move focus to the first button
51
41
  (0, _react.useEffect)(() => {
52
42
  const firstElement = (0, _utils.findAllFocusableElement)(`#${controlProps.id}`);
53
-
54
43
  if (firstElement && firstElement[0]) {
55
44
  firstElement[0].focus();
56
45
  }
57
-
58
46
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
59
47
  Event: _TelemetryConstants.TelemetryEvent.PostChatSurveyLoaded
60
48
  });
49
+
50
+ //Customer Voice Telemetry Events
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
+ window.addEventListener("message", message => {
53
+ const {
54
+ data
55
+ } = message;
56
+ if (!data) return;
57
+ if (data === _CustomerVoiceEvents.CustomerVoiceEvents.ResponsePageLoaded) {
58
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
59
+ Event: _TelemetryConstants.TelemetryEvent.CustomerVoiceResponsePageLoaded
60
+ });
61
+ } else if (data === _CustomerVoiceEvents.CustomerVoiceEvents.FormResponseSubmitted) {
62
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
63
+ Event: _TelemetryConstants.TelemetryEvent.CustomerVoiceFormResponseSubmitted
64
+ });
65
+ } else if (data === _CustomerVoiceEvents.CustomerVoiceEvents.FormResponseError) {
66
+ _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.ERROR, {
67
+ Event: _TelemetryConstants.TelemetryEvent.CustomerVoiceFormResponseError
68
+ });
69
+ }
70
+ });
61
71
  }, []);
62
72
  return /*#__PURE__*/_react.default.createElement(_omnichannelChatComponents.PostChatSurveyPane, {
63
73
  controlProps: controlProps,
64
74
  styleProps: styleProps
65
75
  });
66
76
  };
67
-
68
77
  exports.PostChatSurveyPaneStateful = PostChatSurveyPaneStateful;
69
78
  var _default = PostChatSurveyPaneStateful;
70
79
  exports.default = _default;
@@ -12,6 +12,6 @@ const defaultGeneralPostChatSurveyPaneStyleProps = {
12
12
  top: "0%",
13
13
  borderRadius: "0 0 4px 4px",
14
14
  borderWidth: "0px",
15
- overflowY: "auto"
15
+ maxHeight: "calc(100% - 80px)"
16
16
  };
17
17
  exports.defaultGeneralPostChatSurveyPaneStyleProps = defaultGeneralPostChatSurveyPaneStyleProps;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CustomerVoiceEvents = void 0;
7
+ let CustomerVoiceEvents;
8
+ exports.CustomerVoiceEvents = CustomerVoiceEvents;
9
+ (function (CustomerVoiceEvents) {
10
+ CustomerVoiceEvents["ResponsePageLoaded"] = "ResponsePageLoaded";
11
+ CustomerVoiceEvents["FormResponseSubmitted"] = "FormResponseSubmitted";
12
+ CustomerVoiceEvents["FormResponseError"] = "FormResponseError";
13
+ })(CustomerVoiceEvents || (exports.CustomerVoiceEvents = CustomerVoiceEvents = {}));
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.PostChatSurveyMode = void 0;
7
7
  let PostChatSurveyMode;
8
8
  exports.PostChatSurveyMode = PostChatSurveyMode;
9
-
10
9
  (function (PostChatSurveyMode) {
11
10
  PostChatSurveyMode["Embed"] = "192350000";
12
11
  PostChatSurveyMode["Link"] = "192350001";
@@ -4,39 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.PreChatSurveyPaneStateful = void 0;
7
-
8
7
  var _Constants = require("../../common/Constants");
9
-
10
8
  var _TelemetryConstants = require("../../common/telemetry/TelemetryConstants");
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _utils = require("../../common/utils");
15
-
16
11
  var _ConversationState = require("../../contexts/common/ConversationState");
17
-
18
12
  var _LiveChatWidgetActionType = require("../../contexts/common/LiveChatWidgetActionType");
19
-
20
13
  var _omnichannelChatComponents = require("@microsoft/omnichannel-chat-components");
21
-
22
14
  var _TelemetryHelper = require("../../common/telemetry/TelemetryHelper");
23
-
24
15
  var _defaultGeneralPreChatSurveyPaneStyleProps = require("./common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps");
25
-
26
16
  var _defaultPreChatSurveyLocalizedTexts = require("./common/defaultProps/defaultPreChatSurveyLocalizedTexts");
27
-
28
17
  var _useChatContextStore = _interopRequireDefault(require("../../hooks/useChatContextStore"));
29
-
30
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
-
34
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
-
36
21
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
22
  const PreChatSurveyPaneStateful = props => {
38
23
  var _surveyProps$stylePro, _props$surveyProps, _props$surveyProps$co;
39
-
40
24
  const [state, dispatch] = (0, _useChatContextStore.default)();
41
25
  const {
42
26
  surveyProps,
@@ -44,8 +28,9 @@ const PreChatSurveyPaneStateful = props => {
44
28
  } = props;
45
29
  const generalStyleProps = Object.assign({}, _defaultGeneralPreChatSurveyPaneStyleProps.defaultGeneralPreChatSurveyPaneStyleProps, surveyProps === null || surveyProps === void 0 ? void 0 : (_surveyProps$stylePro = surveyProps.styleProps) === null || _surveyProps$stylePro === void 0 ? void 0 : _surveyProps$stylePro.generalStyleProps, {
46
30
  display: state.appStates.isMinimized ? "none" : ""
47
- }); // eslint-disable-next-line @typescript-eslint/no-explicit-any
31
+ });
48
32
 
33
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
34
  const setPreChatResponseEmail = preChatResponse => {
50
35
  if (preChatResponse) {
51
36
  for (let index = 0; index < preChatResponse.length; index++) {
@@ -58,7 +43,6 @@ const PreChatSurveyPaneStateful = props => {
58
43
  }
59
44
  }
60
45
  };
61
-
62
46
  const getAdaptiveCardPayload = (payload, requiredFieldMissingMessage) => {
63
47
  try {
64
48
  return (0, _utils.parseAdaptiveCardPayload)(payload, requiredFieldMissingMessage);
@@ -72,7 +56,6 @@ const PreChatSurveyPaneStateful = props => {
72
56
  });
73
57
  }
74
58
  };
75
-
76
59
  const requiredFieldMissingMessage = ((_props$surveyProps = props.surveyProps) === null || _props$surveyProps === void 0 ? void 0 : (_props$surveyProps$co = _props$surveyProps.controlProps) === null || _props$surveyProps$co === void 0 ? void 0 : _props$surveyProps$co.requiredFieldMissingMessage) ?? _defaultPreChatSurveyLocalizedTexts.defaultPreChatSurveyLocalizedTexts.PRECHAT_REQUIRED_FIELD_MISSING_MESSAGE;
77
60
  const controlProps = {
78
61
  id: "oc-lcw-prechatsurvey-pane",
@@ -84,21 +67,18 @@ const PreChatSurveyPaneStateful = props => {
84
67
  _TelemetryHelper.TelemetryHelper.logActionEvent(_TelemetryConstants.LogLevel.INFO, {
85
68
  Event: _TelemetryConstants.TelemetryEvent.PrechatSubmitted
86
69
  });
87
-
88
70
  dispatch({
89
71
  type: _LiveChatWidgetActionType.LiveChatWidgetActionType.SET_CONVERSATION_STATE,
90
72
  payload: _ConversationState.ConversationState.Loading
91
73
  });
92
-
93
74
  try {
94
75
  var _state$domainStates, _state$domainStates$t, _state$domainStates$t2, _persistedState$domai, _persistedState$appSt;
95
-
96
76
  const persistedState = (0, _utils.getStateFromCache)(((_state$domainStates = state.domainStates) === null || _state$domainStates === void 0 ? void 0 : (_state$domainStates$t = _state$domainStates.telemetryInternalData) === null || _state$domainStates$t === void 0 ? void 0 : _state$domainStates$t.orgId) ?? "", ((_state$domainStates$t2 = state.domainStates.telemetryInternalData) === null || _state$domainStates$t2 === void 0 ? void 0 : _state$domainStates$t2.widgetId) ?? "", state.domainStates.widgetInstanceId ?? "");
97
- let optionalParams = {}; //Connect to Active chats and chat is not popout
77
+ let optionalParams = {};
98
78
 
99
- if (persistedState && !(0, _utils.isUndefinedOrEmpty)(persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai = persistedState.domainStates) === null || _persistedState$domai === void 0 ? void 0 : _persistedState$domai.liveChatContext) && (persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$appSt = persistedState.appStates) === null || _persistedState$appSt === void 0 ? void 0 : _persistedState$appSt.conversationState) === _ConversationState.ConversationState.Active && !state.appStates.skipChatButtonRendering) {
79
+ //Connect to Active chats and chat is not popout
80
+ if (persistedState && !(0, _utils.isUndefinedOrEmpty)(persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai = persistedState.domainStates) === null || _persistedState$domai === void 0 ? void 0 : _persistedState$domai.liveChatContext) && (persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$appSt = persistedState.appStates) === null || _persistedState$appSt === void 0 ? void 0 : _persistedState$appSt.conversationState) === _ConversationState.ConversationState.Active && state.appStates.hideStartChatButton === false) {
100
81
  var _persistedState$domai2;
101
-
102
82
  optionalParams = {
103
83
  liveChatContext: persistedState === null || persistedState === void 0 ? void 0 : (_persistedState$domai2 = persistedState.domainStates) === null || _persistedState$domai2 === void 0 ? void 0 : _persistedState$domai2.liveChatContext
104
84
  };
@@ -123,41 +103,34 @@ const PreChatSurveyPaneStateful = props => {
123
103
  },
124
104
  ...(surveyProps === null || surveyProps === void 0 ? void 0 : surveyProps.controlProps)
125
105
  };
126
- const styleProps = { ...(surveyProps === null || surveyProps === void 0 ? void 0 : surveyProps.styleProps),
106
+ const styleProps = {
107
+ ...(surveyProps === null || surveyProps === void 0 ? void 0 : surveyProps.styleProps),
127
108
  generalStyleProps: generalStyleProps
128
109
  };
129
110
  (0, _react.useEffect)(() => {
130
111
  // Set Aria-Label Attribute for Inputs
131
112
  const adaptiveCardElements = document.getElementsByClassName(_Constants.HtmlAttributeNames.adaptiveCardClassName);
132
-
133
113
  if (adaptiveCardElements && adaptiveCardElements.length > 0) {
134
114
  const children = adaptiveCardElements[0].children;
135
115
  let value = "";
136
-
137
116
  for (let index = 0; index < children.length; index++) {
138
117
  const current = children[index];
139
-
140
118
  if (current && current.className == _Constants.HtmlAttributeNames.adaptiveCardTextBlockClassName) {
141
119
  value = current.innerHTML;
142
120
  }
143
-
144
121
  if (current && current.tagName.toLowerCase() == _Constants.HtmlAttributeNames.div && current.childElementCount > 0) {
145
122
  const input = current.children[0].children;
146
-
147
123
  if (input && input.length > 0 && input[0].className != _Constants.HtmlAttributeNames.adaptiveCardToggleInputClassName) {
148
124
  input[0].setAttribute(_Constants.HtmlAttributeNames.ariaLabel, value);
149
125
  }
150
126
  }
151
127
  }
152
- } // Move focus to the first button
153
-
154
-
128
+ }
129
+ // Move focus to the first button
155
130
  const firstElement = (0, _utils.findAllFocusableElement)(`#${controlProps.id}`);
156
-
157
131
  if (firstElement && firstElement[0]) {
158
132
  firstElement[0].focus();
159
133
  }
160
-
161
134
  _TelemetryHelper.TelemetryHelper.logLoadingEvent(_TelemetryConstants.LogLevel.INFO, {
162
135
  Event: _TelemetryConstants.TelemetryEvent.PrechatSurveyLoaded
163
136
  });
@@ -167,7 +140,6 @@ const PreChatSurveyPaneStateful = props => {
167
140
  styleProps: styleProps
168
141
  });
169
142
  };
170
-
171
143
  exports.PreChatSurveyPaneStateful = PreChatSurveyPaneStateful;
172
144
  var _default = PreChatSurveyPaneStateful;
173
145
  exports.default = _default;