@microsoft/omnichannel-chat-widget 0.1.0-main.7a3ed6a

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 (551) hide show
  1. package/lib/cjs/assets/assets.d.js +1 -0
  2. package/lib/cjs/assets/audios/newMessageNotification.mp3 +0 -0
  3. package/lib/cjs/assets/icons/archiveIcon.svg +3 -0
  4. package/lib/cjs/assets/icons/audioIcon.svg +6 -0
  5. package/lib/cjs/assets/icons/blankIcon.svg +6 -0
  6. package/lib/cjs/assets/icons/excelIcon.svg +6 -0
  7. package/lib/cjs/assets/icons/imageIcon.svg +6 -0
  8. package/lib/cjs/assets/icons/oneNoteIcon.svg +6 -0
  9. package/lib/cjs/assets/icons/pdfIcon.svg +6 -0
  10. package/lib/cjs/assets/icons/powerpointIcon.svg +6 -0
  11. package/lib/cjs/assets/icons/videoIcon.svg +6 -0
  12. package/lib/cjs/assets/icons/visioIcon.svg +6 -0
  13. package/lib/cjs/assets/icons/wordIcon.svg +6 -0
  14. package/lib/cjs/common/Constants.js +303 -0
  15. package/lib/cjs/common/KeyCodes.js +13 -0
  16. package/lib/cjs/common/interfaces/ITimer.js +1 -0
  17. package/lib/cjs/common/telemetry/TelemetryConstants.js +223 -0
  18. package/lib/cjs/common/telemetry/TelemetryHelper.js +275 -0
  19. package/lib/cjs/common/telemetry/TelemetryManager.js +89 -0
  20. package/lib/cjs/common/telemetry/defaultConfigs/defaultAriaConfig.js +13 -0
  21. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +16 -0
  22. package/lib/cjs/common/telemetry/defaultConfigs/defaultTelemetryInternalData.js +12 -0
  23. package/lib/cjs/common/telemetry/definitions/Contracts.js +1 -0
  24. package/lib/cjs/common/telemetry/definitions/Payload.js +1 -0
  25. package/lib/cjs/common/telemetry/interfaces/IAriaConfigurations.js +1 -0
  26. package/lib/cjs/common/telemetry/interfaces/IChatSDKLogger.js +1 -0
  27. package/lib/cjs/common/telemetry/interfaces/IInternalTelemetryData.js +1 -0
  28. package/lib/cjs/common/telemetry/interfaces/ITelemetryConfig.js +1 -0
  29. package/lib/cjs/common/telemetry/interfaces/ITelemetryEvents.js +1 -0
  30. package/lib/cjs/common/telemetry/loggers/ariaTelemetryLogger.js +62 -0
  31. package/lib/cjs/common/telemetry/loggers/consoleLogger.js +47 -0
  32. package/lib/cjs/common/types/types.d.js +1 -0
  33. package/lib/cjs/common/utils.js +337 -0
  34. package/lib/cjs/components/callingcontainerstateful/CallingContainerStateful.js +361 -0
  35. package/lib/cjs/components/callingcontainerstateful/ICallingContainerStatefulProps.js +1 -0
  36. package/lib/cjs/components/chatbuttonstateful/ChatButtonStateful.js +112 -0
  37. package/lib/cjs/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +12 -0
  38. package/lib/cjs/components/chatbuttonstateful/interfaces/IChatButtonStatefulParams.js +1 -0
  39. package/lib/cjs/components/confirmationpanestateful/ConfirmationPaneStateful.js +174 -0
  40. package/lib/cjs/components/confirmationpanestateful/common/defaultProps/defaultConfirmationPaneLocalizedTexts.js +17 -0
  41. package/lib/cjs/components/confirmationpanestateful/interfaces/IConfirmationPaneInputs.js +1 -0
  42. package/lib/cjs/components/confirmationpanestateful/interfaces/IConfirmationPaneLocalizedText.js +1 -0
  43. package/lib/cjs/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.js +1 -0
  44. package/lib/cjs/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulProps.js +1 -0
  45. package/lib/cjs/components/dimlayer/DimLayer.js +31 -0
  46. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +138 -0
  47. package/lib/cjs/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +73 -0
  48. package/lib/cjs/components/emailtranscriptpanestateful/interfaces/IChatTranscriptBody.js +1 -0
  49. package/lib/cjs/components/emailtranscriptpanestateful/interfaces/IEmailTranscriptPaneProps.js +1 -0
  50. package/lib/cjs/components/footerstateful/FooterStateful.js +133 -0
  51. package/lib/cjs/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +36 -0
  52. package/lib/cjs/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationProps.js +1 -0
  53. package/lib/cjs/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.js +1 -0
  54. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +216 -0
  55. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +58 -0
  56. package/lib/cjs/components/footerstateful/downloadtranscriptstateful/interfaces/IDownloadTranscriptProps.js +1 -0
  57. package/lib/cjs/components/headerstateful/HeaderStateful.js +118 -0
  58. package/lib/cjs/components/headerstateful/common/styleProps/defaultOutOfOfficeHeaderStyleProps.js +18 -0
  59. package/lib/cjs/components/headerstateful/interfaces/IHeaderStatefulParams.js +1 -0
  60. package/lib/cjs/components/livechatwidget/LiveChatWidget.js +44 -0
  61. package/lib/cjs/components/livechatwidget/common/createAdapter.js +40 -0
  62. package/lib/cjs/components/livechatwidget/common/createFooter.js +42 -0
  63. package/lib/cjs/components/livechatwidget/common/createInternetConnectionChangeHandler.js +42 -0
  64. package/lib/cjs/components/livechatwidget/common/createMarkdown.js +77 -0
  65. package/lib/cjs/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +1708 -0
  66. package/lib/cjs/components/livechatwidget/common/defaultStyles/defaultLiveChatWidgetGeneralStyles.js +12 -0
  67. package/lib/cjs/components/livechatwidget/common/endChat.js +74 -0
  68. package/lib/cjs/components/livechatwidget/common/getGeneralStylesForButton.js +28 -0
  69. package/lib/cjs/components/livechatwidget/common/initCallingSdk.js +38 -0
  70. package/lib/cjs/components/livechatwidget/common/initConfirmationPropsComposer.js +52 -0
  71. package/lib/cjs/components/livechatwidget/common/initWebChatComposer.js +132 -0
  72. package/lib/cjs/components/livechatwidget/common/reconnectChatHelper.js +93 -0
  73. package/lib/cjs/components/livechatwidget/common/registerTelemetryLoggers.js +56 -0
  74. package/lib/cjs/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +55 -0
  75. package/lib/cjs/components/livechatwidget/common/startChat.js +142 -0
  76. package/lib/cjs/components/livechatwidget/common/startProactiveChat.js +40 -0
  77. package/lib/cjs/components/livechatwidget/common/updateSessionDataForTelemetry.js +45 -0
  78. package/lib/cjs/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.js +1 -0
  79. package/lib/cjs/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.js +1 -0
  80. package/lib/cjs/components/livechatwidget/interfaces/ILiveChatWidgetProps.js +1 -0
  81. package/lib/cjs/components/livechatwidget/interfaces/ILiveChatWidgetStyleProps.js +1 -0
  82. package/lib/cjs/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +311 -0
  83. package/lib/cjs/components/loadingpanestateful/LoadingPaneStateful.js +63 -0
  84. package/lib/cjs/components/loadingpanestateful/common/defaultStyleProps/defaultgeneralLoadingPaneStyleProps.js +17 -0
  85. package/lib/cjs/components/ooohpanestateful/OOOHPaneStateful.js +54 -0
  86. package/lib/cjs/components/ooohpanestateful/common/defaultStyleProps/defaultgeneralOOOHPaneStyleProps.js +15 -0
  87. package/lib/cjs/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +59 -0
  88. package/lib/cjs/components/postchatloadingpanestateful/common/defaultgeneralPostChatLoadingPaneStyleProps.js +17 -0
  89. package/lib/cjs/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +70 -0
  90. package/lib/cjs/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +17 -0
  91. package/lib/cjs/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +13 -0
  92. package/lib/cjs/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +161 -0
  93. package/lib/cjs/components/prechatsurveypanestateful/common/defaultProps/defaultPreChatSurveyLocalizedTexts.js +10 -0
  94. package/lib/cjs/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +17 -0
  95. package/lib/cjs/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.js +1 -0
  96. package/lib/cjs/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +140 -0
  97. package/lib/cjs/components/proactivechatpanestateful/interfaces/IProactiveChatPaneStatefulProps.js +1 -0
  98. package/lib/cjs/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +123 -0
  99. package/lib/cjs/components/reconnectchatpanestateful/interfaces/IReconnectChatContext.js +1 -0
  100. package/lib/cjs/components/reconnectchatpanestateful/interfaces/IReconnectChatOptionalParams.js +1 -0
  101. package/lib/cjs/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulParams.js +1 -0
  102. package/lib/cjs/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.js +1 -0
  103. package/lib/cjs/components/webchatcontainerstateful/WebChatContainerStateful.js +86 -0
  104. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultAttachmentProps.js +12 -0
  105. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultMarkdownLocalizedTexts.js +10 -0
  106. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +27 -0
  107. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +26 -0
  108. package/lib/cjs/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +23 -0
  109. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultWebChatContainerStatefulStyles.js +39 -0
  110. package/lib/cjs/components/webchatcontainerstateful/common/defaultStyles/defaultWebChatStatefulContainerStyles.js +12 -0
  111. package/lib/cjs/components/webchatcontainerstateful/common/mockadapter.js +104 -0
  112. package/lib/cjs/components/webchatcontainerstateful/common/mockchatsdk.js +59 -0
  113. package/lib/cjs/components/webchatcontainerstateful/common/utils/BrowserInfo.js +88 -0
  114. package/lib/cjs/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +122 -0
  115. package/lib/cjs/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +27 -0
  116. package/lib/cjs/components/webchatcontainerstateful/interfaces/IAttachmentProps.js +1 -0
  117. package/lib/cjs/components/webchatcontainerstateful/interfaces/IDataMaskingInfo.js +1 -0
  118. package/lib/cjs/components/webchatcontainerstateful/interfaces/IDataMaskingRule.js +1 -0
  119. package/lib/cjs/components/webchatcontainerstateful/interfaces/IDataMaskingSetting.js +1 -0
  120. package/lib/cjs/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.js +1 -0
  121. package/lib/cjs/components/webchatcontainerstateful/interfaces/IWebChatAction.js +1 -0
  122. package/lib/cjs/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.js +1 -0
  123. package/lib/cjs/components/webchatcontainerstateful/interfaces/IWebChatProps.js +1 -0
  124. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +14 -0
  125. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +18 -0
  126. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +13 -0
  127. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +14 -0
  128. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +20 -0
  129. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +15 -0
  130. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +17 -0
  131. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +14 -0
  132. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +32 -0
  133. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +45 -0
  134. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +33 -0
  135. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +163 -0
  136. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +83 -0
  137. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +293 -0
  138. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +63 -0
  139. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentContentStyles.js +10 -0
  140. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentDividerStyles.js +13 -0
  141. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentDownloadIconStyles.js +14 -0
  142. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentFileNameStyles.js +13 -0
  143. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentSizeStyles.js +10 -0
  144. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAtttachmentAdaptiveCardStyles.js +12 -0
  145. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAtttachmentIconStyles.js +12 -0
  146. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAtttachmentStyles.js +17 -0
  147. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAvatarStyles.js +14 -0
  148. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAvatarTextStyles.js +19 -0
  149. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageStyles.js +18 -0
  150. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampContentStyles.js +15 -0
  151. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +13 -0
  152. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +14 -0
  153. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTypingIndicatorBubbleStyles.js +18 -0
  154. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTypingIndicatorContainerStyles.js +14 -0
  155. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTypingIndicatorMessageStyles.js +15 -0
  156. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageStyles.js +10 -0
  157. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +63 -0
  158. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +56 -0
  159. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +118 -0
  160. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +46 -0
  161. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +161 -0
  162. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +51 -0
  163. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +161 -0
  164. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +54 -0
  165. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +57 -0
  166. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +85 -0
  167. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +55 -0
  168. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +53 -0
  169. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +147 -0
  170. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +46 -0
  171. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +54 -0
  172. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +67 -0
  173. package/lib/cjs/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +96 -0
  174. package/lib/cjs/contexts/ChatAdapterStore.js +12 -0
  175. package/lib/cjs/contexts/ChatContextStore.js +12 -0
  176. package/lib/cjs/contexts/ChatSDKStore.js +12 -0
  177. package/lib/cjs/contexts/common/ConversationState.js +19 -0
  178. package/lib/cjs/contexts/common/ILiveChatWidgetAction.js +1 -0
  179. package/lib/cjs/contexts/common/ILiveChatWidgetContext.js +1 -0
  180. package/lib/cjs/contexts/common/ILiveChatWidgetLocalizedTexts.js +1 -0
  181. package/lib/cjs/contexts/common/LiveChatWidgetActionType.js +38 -0
  182. package/lib/cjs/contexts/common/LiveChatWidgetContextInitialState.js +59 -0
  183. package/lib/cjs/contexts/createReducer.js +221 -0
  184. package/lib/cjs/controller/componentController.js +92 -0
  185. package/lib/cjs/hooks/useChatAdapterStore.js +24 -0
  186. package/lib/cjs/hooks/useChatContextStore.js +23 -0
  187. package/lib/cjs/hooks/useChatSDKStore.js +23 -0
  188. package/lib/cjs/index.js +51 -0
  189. package/lib/esm/assets/assets.d.js +0 -0
  190. package/lib/esm/assets/audios/newMessageNotification.mp3 +0 -0
  191. package/lib/esm/assets/icons/archiveIcon.svg +3 -0
  192. package/lib/esm/assets/icons/audioIcon.svg +6 -0
  193. package/lib/esm/assets/icons/blankIcon.svg +6 -0
  194. package/lib/esm/assets/icons/excelIcon.svg +6 -0
  195. package/lib/esm/assets/icons/imageIcon.svg +6 -0
  196. package/lib/esm/assets/icons/oneNoteIcon.svg +6 -0
  197. package/lib/esm/assets/icons/pdfIcon.svg +6 -0
  198. package/lib/esm/assets/icons/powerpointIcon.svg +6 -0
  199. package/lib/esm/assets/icons/videoIcon.svg +6 -0
  200. package/lib/esm/assets/icons/visioIcon.svg +6 -0
  201. package/lib/esm/assets/icons/wordIcon.svg +6 -0
  202. package/lib/esm/common/Constants.js +274 -0
  203. package/lib/esm/common/KeyCodes.js +5 -0
  204. package/lib/esm/common/interfaces/ITimer.js +1 -0
  205. package/lib/esm/common/telemetry/TelemetryConstants.js +212 -0
  206. package/lib/esm/common/telemetry/TelemetryHelper.js +257 -0
  207. package/lib/esm/common/telemetry/TelemetryManager.js +72 -0
  208. package/lib/esm/common/telemetry/defaultConfigs/defaultAriaConfig.js +6 -0
  209. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.js +7 -0
  210. package/lib/esm/common/telemetry/defaultConfigs/defaultTelemetryInternalData.js +5 -0
  211. package/lib/esm/common/telemetry/definitions/Contracts.js +1 -0
  212. package/lib/esm/common/telemetry/definitions/Payload.js +1 -0
  213. package/lib/esm/common/telemetry/interfaces/IAriaConfigurations.js +1 -0
  214. package/lib/esm/common/telemetry/interfaces/IChatSDKLogger.js +1 -0
  215. package/lib/esm/common/telemetry/interfaces/IInternalTelemetryData.js +1 -0
  216. package/lib/esm/common/telemetry/interfaces/ITelemetryConfig.js +1 -0
  217. package/lib/esm/common/telemetry/interfaces/ITelemetryEvents.js +1 -0
  218. package/lib/esm/common/telemetry/loggers/ariaTelemetryLogger.js +43 -0
  219. package/lib/esm/common/telemetry/loggers/consoleLogger.js +36 -0
  220. package/lib/esm/common/types/types.d.js +0 -0
  221. package/lib/esm/common/utils.js +279 -0
  222. package/lib/esm/components/callingcontainerstateful/CallingContainerStateful.js +321 -0
  223. package/lib/esm/components/callingcontainerstateful/ICallingContainerStatefulProps.js +1 -0
  224. package/lib/esm/components/chatbuttonstateful/ChatButtonStateful.js +84 -0
  225. package/lib/esm/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.js +5 -0
  226. package/lib/esm/components/chatbuttonstateful/interfaces/IChatButtonStatefulParams.js +1 -0
  227. package/lib/esm/components/confirmationpanestateful/ConfirmationPaneStateful.js +139 -0
  228. package/lib/esm/components/confirmationpanestateful/common/defaultProps/defaultConfirmationPaneLocalizedTexts.js +10 -0
  229. package/lib/esm/components/confirmationpanestateful/interfaces/IConfirmationPaneInputs.js +1 -0
  230. package/lib/esm/components/confirmationpanestateful/interfaces/IConfirmationPaneLocalizedText.js +1 -0
  231. package/lib/esm/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.js +1 -0
  232. package/lib/esm/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulProps.js +1 -0
  233. package/lib/esm/components/dimlayer/DimLayer.js +19 -0
  234. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.js +106 -0
  235. package/lib/esm/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.js +69 -0
  236. package/lib/esm/components/emailtranscriptpanestateful/interfaces/IChatTranscriptBody.js +1 -0
  237. package/lib/esm/components/emailtranscriptpanestateful/interfaces/IEmailTranscriptPaneProps.js +1 -0
  238. package/lib/esm/components/footerstateful/FooterStateful.js +104 -0
  239. package/lib/esm/components/footerstateful/audionotificationstateful/AudioNotificationStateful.js +20 -0
  240. package/lib/esm/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationProps.js +1 -0
  241. package/lib/esm/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.js +1 -0
  242. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.js +202 -0
  243. package/lib/esm/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.js +54 -0
  244. package/lib/esm/components/footerstateful/downloadtranscriptstateful/interfaces/IDownloadTranscriptProps.js +1 -0
  245. package/lib/esm/components/headerstateful/HeaderStateful.js +92 -0
  246. package/lib/esm/components/headerstateful/common/styleProps/defaultOutOfOfficeHeaderStyleProps.js +11 -0
  247. package/lib/esm/components/headerstateful/interfaces/IHeaderStatefulParams.js +1 -0
  248. package/lib/esm/components/livechatwidget/LiveChatWidget.js +21 -0
  249. package/lib/esm/components/livechatwidget/common/createAdapter.js +27 -0
  250. package/lib/esm/components/livechatwidget/common/createFooter.js +27 -0
  251. package/lib/esm/components/livechatwidget/common/createInternetConnectionChangeHandler.js +30 -0
  252. package/lib/esm/components/livechatwidget/common/createMarkdown.js +61 -0
  253. package/lib/esm/components/livechatwidget/common/defaultProps/dummyDefaultProps.js +1689 -0
  254. package/lib/esm/components/livechatwidget/common/defaultStyles/defaultLiveChatWidgetGeneralStyles.js +5 -0
  255. package/lib/esm/components/livechatwidget/common/endChat.js +53 -0
  256. package/lib/esm/components/livechatwidget/common/getGeneralStylesForButton.js +17 -0
  257. package/lib/esm/components/livechatwidget/common/initCallingSdk.js +27 -0
  258. package/lib/esm/components/livechatwidget/common/initConfirmationPropsComposer.js +42 -0
  259. package/lib/esm/components/livechatwidget/common/initWebChatComposer.js +95 -0
  260. package/lib/esm/components/livechatwidget/common/reconnectChatHelper.js +78 -0
  261. package/lib/esm/components/livechatwidget/common/registerTelemetryLoggers.js +38 -0
  262. package/lib/esm/components/livechatwidget/common/setPostChatContextAndLoadSurvey.js +40 -0
  263. package/lib/esm/components/livechatwidget/common/startChat.js +116 -0
  264. package/lib/esm/components/livechatwidget/common/startProactiveChat.js +25 -0
  265. package/lib/esm/components/livechatwidget/common/updateSessionDataForTelemetry.js +28 -0
  266. package/lib/esm/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.js +1 -0
  267. package/lib/esm/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.js +1 -0
  268. package/lib/esm/components/livechatwidget/interfaces/ILiveChatWidgetProps.js +1 -0
  269. package/lib/esm/components/livechatwidget/interfaces/ILiveChatWidgetStyleProps.js +1 -0
  270. package/lib/esm/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.js +254 -0
  271. package/lib/esm/components/loadingpanestateful/LoadingPaneStateful.js +40 -0
  272. package/lib/esm/components/loadingpanestateful/common/defaultStyleProps/defaultgeneralLoadingPaneStyleProps.js +10 -0
  273. package/lib/esm/components/ooohpanestateful/OOOHPaneStateful.js +33 -0
  274. package/lib/esm/components/ooohpanestateful/common/defaultStyleProps/defaultgeneralOOOHPaneStyleProps.js +8 -0
  275. package/lib/esm/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.js +38 -0
  276. package/lib/esm/components/postchatloadingpanestateful/common/defaultgeneralPostChatLoadingPaneStyleProps.js +10 -0
  277. package/lib/esm/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.js +47 -0
  278. package/lib/esm/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.js +10 -0
  279. package/lib/esm/components/postchatsurveypanestateful/enums/PostChatSurveyMode.js +6 -0
  280. package/lib/esm/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.js +133 -0
  281. package/lib/esm/components/prechatsurveypanestateful/common/defaultProps/defaultPreChatSurveyLocalizedTexts.js +3 -0
  282. package/lib/esm/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.js +10 -0
  283. package/lib/esm/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.js +1 -0
  284. package/lib/esm/components/proactivechatpanestateful/ProactiveChatPaneStateful.js +107 -0
  285. package/lib/esm/components/proactivechatpanestateful/interfaces/IProactiveChatPaneStatefulProps.js +1 -0
  286. package/lib/esm/components/reconnectchatpanestateful/ReconnectChatPaneStateful.js +94 -0
  287. package/lib/esm/components/reconnectchatpanestateful/interfaces/IReconnectChatContext.js +1 -0
  288. package/lib/esm/components/reconnectchatpanestateful/interfaces/IReconnectChatOptionalParams.js +1 -0
  289. package/lib/esm/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulParams.js +1 -0
  290. package/lib/esm/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.js +1 -0
  291. package/lib/esm/components/webchatcontainerstateful/WebChatContainerStateful.js +61 -0
  292. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultAttachmentProps.js +5 -0
  293. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultMarkdownLocalizedTexts.js +3 -0
  294. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.js +20 -0
  295. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.js +12 -0
  296. package/lib/esm/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.js +12 -0
  297. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultWebChatContainerStatefulStyles.js +32 -0
  298. package/lib/esm/components/webchatcontainerstateful/common/defaultStyles/defaultWebChatStatefulContainerStyles.js +5 -0
  299. package/lib/esm/components/webchatcontainerstateful/common/mockadapter.js +89 -0
  300. package/lib/esm/components/webchatcontainerstateful/common/mockchatsdk.js +47 -0
  301. package/lib/esm/components/webchatcontainerstateful/common/utils/BrowserInfo.js +70 -0
  302. package/lib/esm/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.js +92 -0
  303. package/lib/esm/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.js +18 -0
  304. package/lib/esm/components/webchatcontainerstateful/interfaces/IAttachmentProps.js +1 -0
  305. package/lib/esm/components/webchatcontainerstateful/interfaces/IDataMaskingInfo.js +1 -0
  306. package/lib/esm/components/webchatcontainerstateful/interfaces/IDataMaskingRule.js +1 -0
  307. package/lib/esm/components/webchatcontainerstateful/interfaces/IDataMaskingSetting.js +1 -0
  308. package/lib/esm/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.js +1 -0
  309. package/lib/esm/components/webchatcontainerstateful/interfaces/IWebChatAction.js +1 -0
  310. package/lib/esm/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.js +1 -0
  311. package/lib/esm/components/webchatcontainerstateful/interfaces/IWebChatProps.js +1 -0
  312. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.js +5 -0
  313. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.js +11 -0
  314. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.js +6 -0
  315. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.js +7 -0
  316. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.js +13 -0
  317. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.js +8 -0
  318. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.js +10 -0
  319. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.js +7 -0
  320. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.js +25 -0
  321. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.js +35 -0
  322. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.js +25 -0
  323. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.js +140 -0
  324. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.js +66 -0
  325. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.js +264 -0
  326. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.js +47 -0
  327. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentContentStyles.js +3 -0
  328. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentDividerStyles.js +6 -0
  329. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentDownloadIconStyles.js +7 -0
  330. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentFileNameStyles.js +6 -0
  331. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentSizeStyles.js +3 -0
  332. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAtttachmentAdaptiveCardStyles.js +5 -0
  333. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAtttachmentIconStyles.js +5 -0
  334. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAtttachmentStyles.js +10 -0
  335. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAvatarStyles.js +7 -0
  336. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAvatarTextStyles.js +12 -0
  337. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageStyles.js +11 -0
  338. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampContentStyles.js +8 -0
  339. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.js +4 -0
  340. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.js +5 -0
  341. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTypingIndicatorBubbleStyles.js +11 -0
  342. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTypingIndicatorContainerStyles.js +7 -0
  343. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTypingIndicatorMessageStyles.js +8 -0
  344. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageStyles.js +3 -0
  345. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.js +54 -0
  346. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.js +39 -0
  347. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.js +95 -0
  348. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.js +30 -0
  349. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.js +141 -0
  350. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.js +42 -0
  351. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.js +149 -0
  352. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.js +43 -0
  353. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.js +45 -0
  354. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.js +73 -0
  355. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.js +45 -0
  356. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.js +44 -0
  357. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.js +131 -0
  358. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.js +33 -0
  359. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.js +44 -0
  360. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.js +53 -0
  361. package/lib/esm/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.js +81 -0
  362. package/lib/esm/contexts/ChatAdapterStore.js +3 -0
  363. package/lib/esm/contexts/ChatContextStore.js +3 -0
  364. package/lib/esm/contexts/ChatSDKStore.js +3 -0
  365. package/lib/esm/contexts/common/ConversationState.js +12 -0
  366. package/lib/esm/contexts/common/ILiveChatWidgetAction.js +1 -0
  367. package/lib/esm/contexts/common/ILiveChatWidgetContext.js +1 -0
  368. package/lib/esm/contexts/common/ILiveChatWidgetLocalizedTexts.js +1 -0
  369. package/lib/esm/contexts/common/LiveChatWidgetActionType.js +31 -0
  370. package/lib/esm/contexts/common/LiveChatWidgetContextInitialState.js +48 -0
  371. package/lib/esm/contexts/createReducer.js +210 -0
  372. package/lib/esm/controller/componentController.js +43 -0
  373. package/lib/esm/hooks/useChatAdapterStore.js +15 -0
  374. package/lib/esm/hooks/useChatContextStore.js +14 -0
  375. package/lib/esm/hooks/useChatSDKStore.js +14 -0
  376. package/lib/esm/index.js +5 -0
  377. package/lib/types/common/Constants.d.ts +148 -0
  378. package/lib/types/common/KeyCodes.d.ts +5 -0
  379. package/lib/types/common/interfaces/ITimer.d.ts +3 -0
  380. package/lib/types/common/telemetry/TelemetryConstants.d.ts +118 -0
  381. package/lib/types/common/telemetry/TelemetryHelper.d.ts +38 -0
  382. package/lib/types/common/telemetry/TelemetryManager.d.ts +11 -0
  383. package/lib/types/common/telemetry/defaultConfigs/defaultAriaConfig.d.ts +2 -0
  384. package/lib/types/common/telemetry/defaultConfigs/defaultTelemetryConfiguration.d.ts +2 -0
  385. package/lib/types/common/telemetry/defaultConfigs/defaultTelemetryInternalData.d.ts +2 -0
  386. package/lib/types/common/telemetry/definitions/Contracts.d.ts +70 -0
  387. package/lib/types/common/telemetry/definitions/Payload.d.ts +77 -0
  388. package/lib/types/common/telemetry/interfaces/IAriaConfigurations.d.ts +18 -0
  389. package/lib/types/common/telemetry/interfaces/IChatSDKLogger.d.ts +4 -0
  390. package/lib/types/common/telemetry/interfaces/IInternalTelemetryData.d.ts +19 -0
  391. package/lib/types/common/telemetry/interfaces/ITelemetryConfig.d.ts +32 -0
  392. package/lib/types/common/telemetry/interfaces/ITelemetryEvents.d.ts +7 -0
  393. package/lib/types/common/telemetry/loggers/ariaTelemetryLogger.d.ts +2 -0
  394. package/lib/types/common/telemetry/loggers/consoleLogger.d.ts +2 -0
  395. package/lib/types/common/utils.d.ts +23 -0
  396. package/lib/types/components/callingcontainerstateful/CallingContainerStateful.d.ts +3 -0
  397. package/lib/types/components/callingcontainerstateful/ICallingContainerStatefulProps.d.ts +4 -0
  398. package/lib/types/components/chatbuttonstateful/ChatButtonStateful.d.ts +3 -0
  399. package/lib/types/components/chatbuttonstateful/common/styleProps/defaultOutOfOfficeChatButtonStyleProps.d.ts +2 -0
  400. package/lib/types/components/chatbuttonstateful/interfaces/IChatButtonStatefulParams.d.ts +17 -0
  401. package/lib/types/components/confirmationpanestateful/ConfirmationPaneStateful.d.ts +3 -0
  402. package/lib/types/components/confirmationpanestateful/common/defaultProps/defaultConfirmationPaneLocalizedTexts.d.ts +2 -0
  403. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneInputs.d.ts +4 -0
  404. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneLocalizedText.d.ts +10 -0
  405. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulParams.d.ts +11 -0
  406. package/lib/types/components/confirmationpanestateful/interfaces/IConfirmationPaneStatefulProps.d.ts +8 -0
  407. package/lib/types/components/dimlayer/DimLayer.d.ts +5 -0
  408. package/lib/types/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.d.ts +3 -0
  409. package/lib/types/components/emailtranscriptpanestateful/EmailTranscriptPaneStateful.spec.d.ts +1 -0
  410. package/lib/types/components/emailtranscriptpanestateful/interfaces/IChatTranscriptBody.d.ts +5 -0
  411. package/lib/types/components/emailtranscriptpanestateful/interfaces/IEmailTranscriptPaneProps.d.ts +11 -0
  412. package/lib/types/components/footerstateful/FooterStateful.d.ts +2 -0
  413. package/lib/types/components/footerstateful/audionotificationstateful/AudioNotificationStateful.d.ts +3 -0
  414. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationProps.d.ts +3 -0
  415. package/lib/types/components/footerstateful/audionotificationstateful/interfaces/IAudioNotificationStatefulParams.d.ts +5 -0
  416. package/lib/types/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.d.ts +1 -0
  417. package/lib/types/components/footerstateful/downloadtranscriptstateful/DownloadTranscriptStateful.spec.d.ts +1 -0
  418. package/lib/types/components/footerstateful/downloadtranscriptstateful/interfaces/IDownloadTranscriptProps.d.ts +14 -0
  419. package/lib/types/components/headerstateful/HeaderStateful.d.ts +3 -0
  420. package/lib/types/components/headerstateful/common/styleProps/defaultOutOfOfficeHeaderStyleProps.d.ts +2 -0
  421. package/lib/types/components/headerstateful/interfaces/IHeaderStatefulParams.d.ts +17 -0
  422. package/lib/types/components/livechatwidget/LiveChatWidget.d.ts +3 -0
  423. package/lib/types/components/livechatwidget/common/createAdapter.d.ts +1 -0
  424. package/lib/types/components/livechatwidget/common/createFooter.d.ts +3 -0
  425. package/lib/types/components/livechatwidget/common/createInternetConnectionChangeHandler.d.ts +1 -0
  426. package/lib/types/components/livechatwidget/common/createMarkdown.d.ts +2 -0
  427. package/lib/types/components/livechatwidget/common/defaultProps/dummyDefaultProps.d.ts +2 -0
  428. package/lib/types/components/livechatwidget/common/defaultStyles/defaultLiveChatWidgetGeneralStyles.d.ts +2 -0
  429. package/lib/types/components/livechatwidget/common/endChat.d.ts +4 -0
  430. package/lib/types/components/livechatwidget/common/getGeneralStylesForButton.d.ts +3 -0
  431. package/lib/types/components/livechatwidget/common/initCallingSdk.d.ts +1 -0
  432. package/lib/types/components/livechatwidget/common/initConfirmationPropsComposer.d.ts +3 -0
  433. package/lib/types/components/livechatwidget/common/initWebChatComposer.d.ts +6 -0
  434. package/lib/types/components/livechatwidget/common/reconnectChatHelper.d.ts +7 -0
  435. package/lib/types/components/livechatwidget/common/registerTelemetryLoggers.d.ts +4 -0
  436. package/lib/types/components/livechatwidget/common/setPostChatContextAndLoadSurvey.d.ts +3 -0
  437. package/lib/types/components/livechatwidget/common/startChat.d.ts +7 -0
  438. package/lib/types/components/livechatwidget/common/startProactiveChat.d.ts +3 -0
  439. package/lib/types/components/livechatwidget/common/updateSessionDataForTelemetry.d.ts +3 -0
  440. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetComponentOverrides.d.ts +15 -0
  441. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetControlProps.d.ts +17 -0
  442. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetProps.d.ts +50 -0
  443. package/lib/types/components/livechatwidget/interfaces/ILiveChatWidgetStyleProps.d.ts +5 -0
  444. package/lib/types/components/livechatwidget/livechatwidgetstateful/LiveChatWidgetStateful.d.ts +3 -0
  445. package/lib/types/components/loadingpanestateful/LoadingPaneStateful.d.ts +3 -0
  446. package/lib/types/components/loadingpanestateful/common/defaultStyleProps/defaultgeneralLoadingPaneStyleProps.d.ts +2 -0
  447. package/lib/types/components/ooohpanestateful/OOOHPaneStateful.d.ts +3 -0
  448. package/lib/types/components/ooohpanestateful/common/defaultStyleProps/defaultgeneralOOOHPaneStyleProps.d.ts +2 -0
  449. package/lib/types/components/postchatloadingpanestateful/PostChatLoadingPaneStateful.d.ts +3 -0
  450. package/lib/types/components/postchatloadingpanestateful/common/defaultgeneralPostChatLoadingPaneStyleProps.d.ts +2 -0
  451. package/lib/types/components/postchatsurveypanestateful/PostChatSurveyPaneStateful.d.ts +3 -0
  452. package/lib/types/components/postchatsurveypanestateful/common/defaultStyleProps/defaultgeneralPostChatSurveyPaneStyleProps.d.ts +2 -0
  453. package/lib/types/components/postchatsurveypanestateful/enums/PostChatSurveyMode.d.ts +4 -0
  454. package/lib/types/components/prechatsurveypanestateful/PreChatSurveyPaneStateful.d.ts +3 -0
  455. package/lib/types/components/prechatsurveypanestateful/common/defaultProps/defaultPreChatSurveyLocalizedTexts.d.ts +2 -0
  456. package/lib/types/components/prechatsurveypanestateful/common/defaultStyles/defaultGeneralPreChatSurveyPaneStyleProps.d.ts +2 -0
  457. package/lib/types/components/prechatsurveypanestateful/interfaces/IPreChatSurveyPaneStatefulParams.d.ts +5 -0
  458. package/lib/types/components/proactivechatpanestateful/ProactiveChatPaneStateful.d.ts +2 -0
  459. package/lib/types/components/proactivechatpanestateful/interfaces/IProactiveChatPaneStatefulProps.d.ts +4 -0
  460. package/lib/types/components/reconnectchatpanestateful/ReconnectChatPaneStateful.d.ts +3 -0
  461. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatContext.d.ts +4 -0
  462. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatOptionalParams.d.ts +3 -0
  463. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulParams.d.ts +5 -0
  464. package/lib/types/components/reconnectchatpanestateful/interfaces/IReconnectChatPaneStatefulProps.d.ts +6 -0
  465. package/lib/types/components/webchatcontainerstateful/WebChatContainerStateful.d.ts +3 -0
  466. package/lib/types/components/webchatcontainerstateful/common/defaultProps/defaultAttachmentProps.d.ts +2 -0
  467. package/lib/types/components/webchatcontainerstateful/common/defaultProps/defaultMarkdownLocalizedTexts.d.ts +2 -0
  468. package/lib/types/components/webchatcontainerstateful/common/defaultProps/defaultMiddlewareLocalizedTexts.d.ts +2 -0
  469. package/lib/types/components/webchatcontainerstateful/common/defaultProps/defaultWebChatContainerStatefulProps.d.ts +2 -0
  470. package/lib/types/components/webchatcontainerstateful/common/defaultProps/defaultWebChatStatefulProps.d.ts +2 -0
  471. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultWebChatContainerStatefulStyles.d.ts +2 -0
  472. package/lib/types/components/webchatcontainerstateful/common/defaultStyles/defaultWebChatStatefulContainerStyles.d.ts +2 -0
  473. package/lib/types/components/webchatcontainerstateful/common/mockadapter.d.ts +13 -0
  474. package/lib/types/components/webchatcontainerstateful/common/mockchatsdk.d.ts +17 -0
  475. package/lib/types/components/webchatcontainerstateful/common/utils/BrowserInfo.d.ts +5 -0
  476. package/lib/types/components/webchatcontainerstateful/common/utils/FileAttachmentIconManager.d.ts +7 -0
  477. package/lib/types/components/webchatcontainerstateful/common/utils/isMaskingFromCustomer.d.ts +2 -0
  478. package/lib/types/components/webchatcontainerstateful/interfaces/IAttachmentProps.d.ts +5 -0
  479. package/lib/types/components/webchatcontainerstateful/interfaces/IDataMaskingInfo.d.ts +6 -0
  480. package/lib/types/components/webchatcontainerstateful/interfaces/IDataMaskingRule.d.ts +3 -0
  481. package/lib/types/components/webchatcontainerstateful/interfaces/IDataMaskingSetting.d.ts +4 -0
  482. package/lib/types/components/webchatcontainerstateful/interfaces/IRenderingMiddlewareProps.d.ts +31 -0
  483. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatAction.d.ts +4 -0
  484. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatContainerStatefulProps.d.ts +16 -0
  485. package/lib/types/components/webchatcontainerstateful/interfaces/IWebChatProps.d.ts +38 -0
  486. package/lib/types/components/webchatcontainerstateful/webchatcontroller/WebChatStoreLoader.d.ts +3 -0
  487. package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/BrowserVendor.d.ts +9 -0
  488. package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineActivityType.d.ts +4 -0
  489. package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/DirectLineSenderRole.d.ts +5 -0
  490. package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/MessageType.d.ts +11 -0
  491. package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/NotificationLevel.d.ts +6 -0
  492. package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/NotificationScenarios.d.ts +8 -0
  493. package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/SendStatus.d.ts +5 -0
  494. package/lib/types/components/webchatcontainerstateful/webchatcontroller/enums/WebChatActionType.d.ts +23 -0
  495. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsEgressMiddleware.d.ts +2 -0
  496. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/adaptermiddlewares/formatTagsIngressMiddleware.d.ts +2 -0
  497. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityMiddleware.d.ts +11 -0
  498. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/activityStatusMiddleware.d.ts +1 -0
  499. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/attachmentMiddleware.d.ts +7 -0
  500. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/avatarMiddleware.d.ts +8 -0
  501. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentContentStyles.d.ts +2 -0
  502. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentDividerStyles.d.ts +2 -0
  503. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentDownloadIconStyles.d.ts +2 -0
  504. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentFileNameStyles.d.ts +2 -0
  505. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAttachmentSizeStyles.d.ts +2 -0
  506. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAtttachmentAdaptiveCardStyles.d.ts +2 -0
  507. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAtttachmentIconStyles.d.ts +2 -0
  508. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAtttachmentStyles.d.ts +2 -0
  509. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAvatarStyles.d.ts +2 -0
  510. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultAvatarTextStyles.d.ts +2 -0
  511. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultSystemMessageStyles.d.ts +11 -0
  512. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampContentStyles.d.ts +2 -0
  513. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampFailedStyles.d.ts +2 -0
  514. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTimestampRetryStyles.d.ts +2 -0
  515. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTypingIndicatorBubbleStyles.d.ts +2 -0
  516. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTypingIndicatorContainerStyles.d.ts +2 -0
  517. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultTypingIndicatorMessageStyles.d.ts +2 -0
  518. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/defaultStyles/defaultUserMessageStyles.d.ts +3 -0
  519. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/groupActivitiesMiddleware.d.ts +10 -0
  520. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/DeliveredTimestamp.d.ts +1 -0
  521. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/NotDeliveredTimestamp.d.ts +1 -0
  522. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/timestamps/SendingTimestamp.d.ts +1 -0
  523. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/renderingmiddlewares/typingIndicatorMiddleware.d.ts +6 -0
  524. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentProcessingMiddleware.d.ts +10 -0
  525. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/attachmentUploadValidatorMiddleware.d.ts +11 -0
  526. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/channelDataMiddleware.d.ts +10 -0
  527. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/conversationEndMiddleware.d.ts +11 -0
  528. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/dataMaskingMiddleware.d.ts +11 -0
  529. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/gifUploadMiddleware.d.ts +10 -0
  530. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlPlayerMiddleware.d.ts +10 -0
  531. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/htmlTextMiddleware.d.ts +10 -0
  532. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/maxMessageSizeValidator.d.ts +11 -0
  533. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/preProcessingMiddleware.d.ts +10 -0
  534. package/lib/types/components/webchatcontainerstateful/webchatcontroller/middlewares/storemiddlewares/sanitizationMiddleware.d.ts +10 -0
  535. package/lib/types/components/webchatcontainerstateful/webchatcontroller/notification/NotificationHandler.d.ts +12 -0
  536. package/lib/types/contexts/ChatAdapterStore.d.ts +2 -0
  537. package/lib/types/contexts/ChatContextStore.d.ts +1 -0
  538. package/lib/types/contexts/ChatSDKStore.d.ts +1 -0
  539. package/lib/types/contexts/common/ConversationState.d.ts +10 -0
  540. package/lib/types/contexts/common/ILiveChatWidgetAction.d.ts +5 -0
  541. package/lib/types/contexts/common/ILiveChatWidgetContext.d.ts +46 -0
  542. package/lib/types/contexts/common/ILiveChatWidgetLocalizedTexts.d.ts +22 -0
  543. package/lib/types/contexts/common/LiveChatWidgetActionType.d.ts +29 -0
  544. package/lib/types/contexts/common/LiveChatWidgetContextInitialState.d.ts +3 -0
  545. package/lib/types/contexts/createReducer.d.ts +3 -0
  546. package/lib/types/controller/componentController.d.ts +15 -0
  547. package/lib/types/hooks/useChatAdapterStore.d.ts +2 -0
  548. package/lib/types/hooks/useChatContextStore.d.ts +5 -0
  549. package/lib/types/hooks/useChatSDKStore.d.ts +2 -0
  550. package/lib/types/index.d.ts +5 -0
  551. package/package.json +112 -0
@@ -0,0 +1,36 @@
1
+ import { Constants } from "../../Constants";
2
+ import { LogLevel } from "../TelemetryConstants";
3
+ export const consoleLogger = () => {
4
+ const consoleLogger = {
5
+ log: (logLevel, telemetryInput) => {
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
+
8
+ try {
9
+ switch (logLevel) {
10
+ case LogLevel.INFO:
11
+ console.info(Constants.LiveChatWidget, payload);
12
+ break;
13
+
14
+ case LogLevel.DEBUG:
15
+ console.debug(Constants.LiveChatWidget, payload);
16
+ break;
17
+
18
+ case LogLevel.WARN:
19
+ console.warn(Constants.LiveChatWidget, payload);
20
+ break;
21
+
22
+ case LogLevel.ERROR:
23
+ console.error(Constants.LiveChatWidget, payload);
24
+ break;
25
+
26
+ default:
27
+ console.debug(Constants.LiveChatWidget, payload);
28
+ break;
29
+ }
30
+ } catch (ex) {
31
+ console.error("An unexpected error occurred in the Telemetry client: " + ex);
32
+ }
33
+ }
34
+ };
35
+ return consoleLogger;
36
+ };
File without changes
@@ -0,0 +1,279 @@
1
+ import { Constants, LocaleConstants } from "./Constants";
2
+ import { KeyCodes } from "./KeyCodes";
3
+
4
+ const getElementBySelector = selector => {
5
+ let element;
6
+
7
+ if (typeof selector === "string") {
8
+ element = document.querySelector(selector);
9
+ } else {
10
+ element = selector;
11
+ }
12
+
13
+ return element;
14
+ }; // The purpose of this function is:
15
+ // - to make elements not focusable, when confirmation pane or email transcript pane are showing,
16
+ // - to set their initial tab indices back after confirmation pane or email transcript pane are closed
17
+ // Otherwise, the user will be able to click on the screen and tab through different buttons or other elements, even though
18
+ // these dialogs are showing
19
+
20
+
21
+ export const setTabIndices = (elements, tabIndexMap, shouldBeFocusable) => {
22
+ if (elements) {
23
+ if (shouldBeFocusable) {
24
+ for (let index = 0; index < elements.length; index++) {
25
+ if (tabIndexMap.has(elements[index].id)) {
26
+ elements[index].tabIndex = tabIndexMap.get(elements[index].id);
27
+ }
28
+ }
29
+
30
+ tabIndexMap.clear();
31
+ } else {
32
+ for (let index = 0; index < elements.length; index++) {
33
+ tabIndexMap.set(elements[index].id, elements[index].tabIndex);
34
+ elements[index].tabIndex = -1;
35
+ }
36
+ }
37
+ }
38
+ };
39
+ export const findParentFocusableElementsWithoutChildContainer = elementId => {
40
+ const childContainer = document.getElementById(elementId);
41
+
42
+ if (!childContainer) {
43
+ return null;
44
+ }
45
+
46
+ const parentContainer = childContainer.parentElement;
47
+
48
+ if (!parentContainer) {
49
+ return null;
50
+ }
51
+
52
+ const parentFocusableElements = findAllFocusableElement(parentContainer);
53
+
54
+ if (!parentFocusableElements) {
55
+ return null;
56
+ }
57
+
58
+ for (let index = 0; index < parentFocusableElements.length; index++) {
59
+ if (childContainer.contains(parentFocusableElements[index])) {
60
+ parentFocusableElements.splice(index, 1);
61
+ index--;
62
+ }
63
+ }
64
+
65
+ return parentFocusableElements;
66
+ };
67
+ export const findAllFocusableElement = parent => {
68
+ const container = getElementBySelector(parent);
69
+
70
+ if (container !== null) {
71
+ 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\"]"));
72
+ }
73
+
74
+ return null;
75
+ };
76
+ export const preventFocusToMoveOutOfElement = elementId => {
77
+ const container = document.getElementById(elementId);
78
+
79
+ if (!container) {
80
+ return;
81
+ }
82
+
83
+ const focusableElements = findAllFocusableElement(container);
84
+
85
+ if (!focusableElements) {
86
+ return;
87
+ }
88
+
89
+ const firstFocusableElement = focusableElements[0];
90
+ const lastFocusableElement = focusableElements[focusableElements.length - 1];
91
+
92
+ firstFocusableElement.onkeydown = e => {
93
+ if (e.shiftKey && e.key === KeyCodes.TAB) {
94
+ e.preventDefault();
95
+ lastFocusableElement === null || lastFocusableElement === void 0 ? void 0 : lastFocusableElement.focus();
96
+ }
97
+ };
98
+
99
+ lastFocusableElement.onkeydown = e => {
100
+ if (!e.shiftKey && e.key === KeyCodes.TAB) {
101
+ e.preventDefault();
102
+ firstFocusableElement === null || firstFocusableElement === void 0 ? void 0 : firstFocusableElement.focus();
103
+ }
104
+ };
105
+ };
106
+ export const setFocusOnSendBox = () => {
107
+ const sendBoxSelector = "textarea[data-id=\"webchat-sendbox-input\"]";
108
+ setFocusOnElement(sendBoxSelector);
109
+ };
110
+ export const setFocusOnElement = selector => {
111
+ const element = getElementBySelector(selector);
112
+ element === null || element === void 0 ? void 0 : element.focus();
113
+ };
114
+ export const escapeHtml = inputString => {
115
+ const entityMap = {
116
+ "<": "&lt;",
117
+ ">": "&gt;",
118
+ "\"": "&quot;",
119
+ "'": "&#39;",
120
+ "/": "&#x2F;"
121
+ };
122
+ return String(inputString).replace(/[<>"'/]/g, s => {
123
+ return entityMap[s];
124
+ });
125
+ };
126
+ export const getIconText = text => {
127
+ if (text) {
128
+ const initials = text.split(/\s/).reduce((response, word) => response += word.slice(0, 1), "");
129
+
130
+ if (initials.length > 1) {
131
+ return initials.substring(0, 2).toUpperCase();
132
+ } else {
133
+ return text.substring(0, 2).toUpperCase();
134
+ }
135
+ }
136
+
137
+ return "";
138
+ };
139
+ export const getLocaleDirection = localeLCID => {
140
+ return LocaleConstants.RTL_LOCALES.indexOf(localeLCID) === -1 ? "ltr" : "rtl";
141
+ };
142
+ export const changeLanguageCodeFormatForWebChat = languageCode => {
143
+ return languageCode.slice(0, -2) + languageCode.slice(-2).toUpperCase();
144
+ };
145
+ export const getTimestampHourMinute = timestampStr => {
146
+ let yearFormat;
147
+ let monthDayFormat;
148
+ const hourFormat = "numeric";
149
+ const minuteFormat = "2-digit";
150
+ const date = new Date(timestampStr);
151
+ const now = new Date();
152
+
153
+ if (isNaN(date.getTime())) {
154
+ return "";
155
+ }
156
+
157
+ if (date.getFullYear() !== now.getFullYear()) {
158
+ yearFormat = "numeric";
159
+ monthDayFormat = "2-digit";
160
+ }
161
+
162
+ if (date.getMonth() !== now.getMonth() || date.getDate() !== now.getDate()) {
163
+ monthDayFormat = "2-digit";
164
+ }
165
+
166
+ return date.toLocaleTimeString(navigator.language, {
167
+ year: yearFormat,
168
+ month: monthDayFormat,
169
+ day: monthDayFormat,
170
+ hour: hourFormat,
171
+ minute: minuteFormat
172
+ });
173
+ };
174
+ export const parseAdaptiveCardPayload = (payload, requiredFieldMissingMessage) => {
175
+ if (payload && payload !== "{}") {
176
+ try {
177
+ const parsedPayload = JSON.parse(payload.replace(/&#42;/g, "*"));
178
+ const body = parsedPayload.body;
179
+
180
+ if (body) {
181
+ //Parse ID field into available options and add required error messages
182
+ for (const fields of body) {
183
+ if (fields.id && fields.id.includes(":")) {
184
+ const parsedId = JSON.parse(fields.id);
185
+ fields.id = parsedId.Id;
186
+ fields.isRequired = parsedId.IsRequired ?? false;
187
+
188
+ if (fields.isRequired) {
189
+ fields.errorMessage = requiredFieldMissingMessage.replace("{0}", parsedId.Name ?? "");
190
+ }
191
+ }
192
+ }
193
+ }
194
+
195
+ return JSON.stringify(parsedPayload);
196
+ } catch (ex) {
197
+ throw new Error(`Adaptive card pase error: ${ex}`);
198
+ }
199
+ }
200
+
201
+ return payload;
202
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
203
+
204
+ export const extractPreChatSurveyResponseValues = (preChatSurvey, values) => {
205
+ if (preChatSurvey && preChatSurvey !== "{}" && values) {
206
+ try {
207
+ const parsedSurvey = JSON.parse(preChatSurvey);
208
+ const body = parsedSurvey.body;
209
+ const type = {
210
+ "Type": Constants.InputSubmit
211
+ };
212
+ const computedValues = [];
213
+
214
+ for (const val of values) {
215
+ const index = val.index;
216
+ const Id = body[index].id;
217
+ computedValues[Id] = val.value;
218
+ }
219
+
220
+ const finalPayload = { ...type,
221
+ ...computedValues
222
+ };
223
+ return finalPayload;
224
+ } catch (ex) {
225
+ throw new Error(`PreChatSurvey Response parse error: ${ex}`);
226
+ }
227
+ }
228
+
229
+ return {};
230
+ }; // eslint-disable-next-line @typescript-eslint/no-explicit-any
231
+
232
+ export const isNullOrUndefined = obj => {
233
+ return obj === null || obj === undefined;
234
+ };
235
+ export const isNullOrEmptyString = s => {
236
+ return isNullOrUndefined(s) || s === "";
237
+ };
238
+ export const newGuid = () => {
239
+ //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
240
+ const guidPattern = Constants.GuidPattern;
241
+ let newGuid = "";
242
+
243
+ for (let i = 0; i < guidPattern.length; i++) {
244
+ const randomString = Math.floor(Math.random() * Date.now());
245
+
246
+ switch (guidPattern[i]) {
247
+ case "x":
248
+ newGuid += randomString.toString(16).substring(0, 4);
249
+ break;
250
+ //get 4 digit
251
+
252
+ case "m":
253
+ newGuid += randomString.toString(16).substring(0, 3);
254
+ break;
255
+ //Get 3 digit
256
+
257
+ case "y":
258
+ newGuid += (randomString & 0x3 | 0x8).toString(16);
259
+ break;
260
+ // To get only one of 8, 9, A, or B
261
+
262
+ default:
263
+ newGuid += guidPattern[i];
264
+ //Default "-" and "4"
265
+ }
266
+ }
267
+
268
+ return newGuid;
269
+ };
270
+ export const createTimer = () => {
271
+ const timeStart = new Date().getTime();
272
+ return {
273
+ get milliSecondsElapsed() {
274
+ const ms = new Date().getTime() - timeStart;
275
+ return ms;
276
+ }
277
+
278
+ };
279
+ };
@@ -0,0 +1,321 @@
1
+ import { LogLevel, TelemetryEvent } from "../../common/telemetry/TelemetryConstants";
2
+ import React, { useCallback, useEffect } from "react";
3
+ import { CallingContainer } from "@microsoft/omnichannel-chat-components";
4
+ import { LiveChatWidgetActionType } from "../../contexts/common/LiveChatWidgetActionType";
5
+ import { TelemetryHelper } from "../../common/telemetry/TelemetryHelper";
6
+ import useChatContextStore from "../../hooks/useChatContextStore";
7
+ import useChatSDKStore from "../../hooks/useChatSDKStore";
8
+ export const CallingContainerStateful = props => {
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
+ //TODO : Close button confirmation implmentation is pending
12
+ const [state, dispatch] = useChatContextStore(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+
14
+ const chatSDK = useChatSDKStore(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+
16
+ const {
17
+ voiceVideoCallingSdk
18
+ } = props;
19
+ let callId;
20
+
21
+ const resetCallingStates = reset => {
22
+ if (reset) {
23
+ dispatch({
24
+ type: LiveChatWidgetActionType.SHOW_CALLING_CONTAINER,
25
+ payload: false
26
+ });
27
+ dispatch({
28
+ type: LiveChatWidgetActionType.SET_INCOMING_CALL,
29
+ payload: true
30
+ });
31
+ dispatch({
32
+ type: LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
33
+ payload: true
34
+ });
35
+ dispatch({
36
+ type: LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO,
37
+ payload: true
38
+ });
39
+ dispatch({
40
+ type: LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO,
41
+ payload: true
42
+ });
43
+ }
44
+ };
45
+
46
+ useEffect(() => {
47
+ const init = async () => {
48
+ try {
49
+ var _controlProps$current, _controlProps$current2, _controlProps$current3, _controlProps$current4;
50
+
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
+ TelemetryHelper.callId = callId;
53
+ await voiceVideoCallingSdk.initialize({
54
+ chatToken: state.domainStates.chatToken,
55
+ selfVideoHTMLElementId: (_controlProps$current = controlProps.currentCallControlProps) === null || _controlProps$current === void 0 ? void 0 : (_controlProps$current2 = _controlProps$current.nonActionIds) === null || _controlProps$current2 === void 0 ? void 0 : _controlProps$current2.selfVideoTileId,
56
+ // HTML element id where video stream of the agent will be rendered
57
+ remoteVideoHTMLElementId: (_controlProps$current3 = controlProps.currentCallControlProps) === null || _controlProps$current3 === void 0 ? void 0 : (_controlProps$current4 = _controlProps$current3.nonActionIds) === null || _controlProps$current4 === void 0 ? void 0 : _controlProps$current4.remoteVideoTileId,
58
+ // HTML element id where video stream of the customer will be rendered
59
+ OCClient: chatSDK === null || chatSDK === void 0 ? void 0 : chatSDK.OCClient
60
+ });
61
+ } catch (e) {
62
+ TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
63
+ Event: TelemetryEvent.VoiceVideoInitializeException,
64
+ Description: `Failed to initialize VideoVoiceCalling Sdk: ${e}`
65
+ });
66
+ }
67
+ };
68
+
69
+ init().then(() => {
70
+ if (voiceVideoCallingSdk) {
71
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
72
+ Event: TelemetryEvent.VoiceVideoInitialize,
73
+ Description: "Initialize VideoVoiceCalling Sdk Success"
74
+ }, callId);
75
+ voiceVideoCallingSdk.onCallAdded(() => {
76
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
77
+ callId = voiceVideoCallingSdk.callId;
78
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
79
+ Event: TelemetryEvent.CallAdded
80
+ }, callId);
81
+ dispatch({
82
+ type: LiveChatWidgetActionType.SHOW_CALLING_CONTAINER,
83
+ payload: true
84
+ });
85
+ dispatch({
86
+ type: LiveChatWidgetActionType.SET_INCOMING_CALL,
87
+ payload: true
88
+ });
89
+ });
90
+ voiceVideoCallingSdk.onRemoteVideoStreamAdded(() => {
91
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
92
+ Event: TelemetryEvent.RemoteVideoStreamAdded
93
+ }, callId);
94
+ const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
95
+ const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
96
+ dispatch({
97
+ type: LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
98
+ payload: false
99
+ });
100
+ dispatch({
101
+ type: LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO,
102
+ payload: isLocalVideoDisabled
103
+ });
104
+ dispatch({
105
+ type: LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO,
106
+ payload: isRemoteVideoDisabled
107
+ });
108
+ });
109
+ voiceVideoCallingSdk.onLocalVideoStreamAdded(() => {
110
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
111
+ Event: TelemetryEvent.LocalVideoStreamAdded
112
+ }, callId);
113
+ const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
114
+ const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
115
+ dispatch({
116
+ type: LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
117
+ payload: false
118
+ });
119
+ dispatch({
120
+ type: LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO,
121
+ payload: isRemoteVideoDisabled
122
+ });
123
+ dispatch({
124
+ type: LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO,
125
+ payload: isLocalVideoDisabled
126
+ });
127
+ });
128
+ voiceVideoCallingSdk.onRemoteVideoStreamRemoved(() => {
129
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
130
+ Event: TelemetryEvent.RemoteVideoStreamRemoved
131
+ }, callId);
132
+ const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
133
+ const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
134
+
135
+ if (isRemoteVideoDisabled && isLocalVideoDisabled) {
136
+ dispatch({
137
+ type: LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
138
+ payload: true
139
+ });
140
+ }
141
+
142
+ dispatch({
143
+ type: LiveChatWidgetActionType.DISABLE_REMOTE_VIDEO,
144
+ payload: isRemoteVideoDisabled
145
+ });
146
+ });
147
+ voiceVideoCallingSdk.onLocalVideoStreamRemoved(() => {
148
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
149
+ Event: TelemetryEvent.LocalVideoStreamRemoved
150
+ }, callId);
151
+ const isLocalVideoDisabled = !voiceVideoCallingSdk.isLocalVideoEnabled();
152
+ const isRemoteVideoDisabled = !voiceVideoCallingSdk.isRemoteVideoEnabled();
153
+
154
+ if (isRemoteVideoDisabled && isLocalVideoDisabled) {
155
+ dispatch({
156
+ type: LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
157
+ payload: true
158
+ });
159
+ }
160
+
161
+ dispatch({
162
+ type: LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO,
163
+ payload: isLocalVideoDisabled
164
+ });
165
+ });
166
+ voiceVideoCallingSdk.onCallDisconnected(() => {
167
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
168
+ Event: TelemetryEvent.CallDisconnected
169
+ }, callId);
170
+ resetCallingStates(true);
171
+ });
172
+ voiceVideoCallingSdk.addEventListener(TelemetryEvent.IncomingCallEnded, () => {
173
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
174
+ Event: TelemetryEvent.IncomingCallEnded
175
+ }, callId);
176
+ resetCallingStates(true);
177
+ });
178
+ }
179
+ });
180
+ }, []);
181
+ const controlProps = {
182
+ id: "oc-lcw-callingcontainer",
183
+ dir: state.domainStates.globalDir,
184
+ isIncomingCall: state.uiStates.isIncomingCall,
185
+ hideCallingContainer: state.appStates.isMinimized ? true : false,
186
+ ...(props === null || props === void 0 ? void 0 : props.controlProps),
187
+ incomingCallControlProps: {
188
+ onDeclineCallClick: useCallback(async () => {
189
+ try {
190
+ voiceVideoCallingSdk.rejectCall();
191
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
192
+ Event: TelemetryEvent.CallRejectClick
193
+ }, callId);
194
+ resetCallingStates(true);
195
+ } catch (error) {
196
+ TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
197
+ Event: TelemetryEvent.CallRejectClickException,
198
+ ExceptionDetails: {
199
+ exception: `Failed to reject call: ${error}`
200
+ }
201
+ }, callId);
202
+ }
203
+ }, [voiceVideoCallingSdk]),
204
+ onAudioCallClick: useCallback(() => {
205
+ try {
206
+ voiceVideoCallingSdk.acceptCall({
207
+ withVideo: false
208
+ });
209
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
210
+ Event: TelemetryEvent.VoiceCallAcceptButtonClick
211
+ }, callId);
212
+ } catch (err) {
213
+ TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
214
+ Event: TelemetryEvent.VoiceVideoAcceptCallException,
215
+ ExceptionDetails: {
216
+ exception: `Failed to accept call without video: ${err}`
217
+ }
218
+ }, callId);
219
+ }
220
+
221
+ dispatch({
222
+ type: LiveChatWidgetActionType.SET_INCOMING_CALL,
223
+ payload: false
224
+ });
225
+ dispatch({
226
+ type: LiveChatWidgetActionType.DISABLE_VIDEO_CALL,
227
+ payload: true
228
+ });
229
+ }, []),
230
+ onVideoCallClick: useCallback(() => {
231
+ try {
232
+ voiceVideoCallingSdk.acceptCall({
233
+ withVideo: true
234
+ });
235
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
236
+ Event: TelemetryEvent.VideoCallAcceptButtonClick
237
+ }, callId);
238
+ } catch (err) {
239
+ TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
240
+ Event: TelemetryEvent.VoiceVideoAcceptCallWithVideoException,
241
+ ExceptionDetails: {
242
+ exception: `Failed to accept call with video: ${err}`
243
+ }
244
+ }, callId);
245
+ }
246
+
247
+ dispatch({
248
+ type: LiveChatWidgetActionType.SET_INCOMING_CALL,
249
+ payload: false
250
+ });
251
+ dispatch({
252
+ type: LiveChatWidgetActionType.DISABLE_LOCAL_VIDEO,
253
+ payload: false
254
+ });
255
+ }, []),
256
+ ...(props === null || props === void 0 ? void 0 : (_props$controlProps = props.controlProps) === null || _props$controlProps === void 0 ? void 0 : _props$controlProps.incomingCallControlProps)
257
+ },
258
+ currentCallControlProps: {
259
+ hideCallTimer: true,
260
+ onEndCallClick: useCallback(() => {
261
+ try {
262
+ voiceVideoCallingSdk.stopCall();
263
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
264
+ Event: TelemetryEvent.EndCallButtonClick
265
+ }, callId);
266
+ resetCallingStates(true);
267
+ } catch (error) {
268
+ TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
269
+ Event: TelemetryEvent.EndCallButtonClickException,
270
+ ExceptionDetails: {
271
+ exception: `Failed to End Call: ${error}`
272
+ }
273
+ }, callId);
274
+ }
275
+ }, []),
276
+ onMicCallClick: useCallback(() => {
277
+ try {
278
+ voiceVideoCallingSdk.toggleMute();
279
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
280
+ Event: TelemetryEvent.ToggleMuteButtonClick
281
+ }, callId);
282
+ } catch (error) {
283
+ TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
284
+ Event: TelemetryEvent.ToggleMuteButtonClickException,
285
+ ExceptionDetails: {
286
+ exception: `Failed to toggle mute button : ${error}`
287
+ }
288
+ }, callId);
289
+ }
290
+ }, []),
291
+ onVideoOffClick: useCallback(() => {
292
+ try {
293
+ voiceVideoCallingSdk.toggleLocalVideo();
294
+ TelemetryHelper.logCallingEvent(LogLevel.INFO, {
295
+ Event: TelemetryEvent.ToggleCameraButtonClick
296
+ }, callId);
297
+ } catch (error) {
298
+ TelemetryHelper.logCallingEvent(LogLevel.ERROR, {
299
+ Event: TelemetryEvent.ToggleCameraButtonClickException,
300
+ ExceptionDetails: {
301
+ exception: `Failed to toggle video button : ${error}`
302
+ }
303
+ }, callId);
304
+ }
305
+ }, []),
306
+ 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),
307
+ 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",
308
+ 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"
309
+ },
310
+ videoCallDisabled: state.uiStates.disableVideoCall,
311
+ selfVideoDisabled: state.uiStates.disableSelfVideo,
312
+ remoteVideoDisabled: state.uiStates.disableRemoteVideo,
313
+ ...(props === null || props === void 0 ? void 0 : (_props$controlProps5 = props.controlProps) === null || _props$controlProps5 === void 0 ? void 0 : _props$controlProps5.currentCallControlProps)
314
+ }
315
+ };
316
+ return /*#__PURE__*/React.createElement(React.Fragment, null, state.uiStates.showCallingPopup && /*#__PURE__*/React.createElement(CallingContainer, {
317
+ controlProps: controlProps,
318
+ styleProps: props === null || props === void 0 ? void 0 : props.styleProps
319
+ }));
320
+ };
321
+ export default CallingContainerStateful;