@azure/communication-react 1.5.1-beta.3 → 1.5.1-beta.5

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 (864) hide show
  1. package/CHANGELOG.beta.md +55 -1
  2. package/CHANGELOG.json +489 -0
  3. package/dist/communication-react.d.ts +275 -20
  4. package/dist/dist-cjs/communication-react/index.js +5866 -4916
  5. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  22. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +4 -4
  23. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +0 -1
  25. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +18 -2
  26. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +57 -20
  28. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +4 -0
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +60 -20
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +6 -2
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +10 -17
  43. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +3 -6
  47. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +5 -7
  52. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +8 -13
  55. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +5 -18
  57. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  59. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  60. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  61. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +71 -61
  62. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +18 -1
  64. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +4 -1
  66. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +26 -10
  67. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +8 -7
  69. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +77 -68
  71. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  72. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  74. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  75. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +25 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +4 -0
  79. package/dist/dist-esm/calling-stateful-client/src/Converter.js +21 -6
  80. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.d.ts +9 -0
  82. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +63 -54
  83. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -14
  85. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +1 -0
  88. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +40 -5
  89. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.d.ts +28 -0
  91. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js +49 -0
  92. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -0
  93. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +67 -65
  98. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +31 -33
  100. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +11 -8
  102. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +8 -7
  106. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  108. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  111. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +7 -6
  113. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
  115. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  117. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  118. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  119. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  120. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  121. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +14 -13
  122. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  123. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  124. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +10 -3
  125. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  126. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  127. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  128. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  129. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  130. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +10 -25
  131. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  132. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  134. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  136. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +7 -3
  137. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -3
  139. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  140. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -10
  142. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  143. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  144. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +9 -5
  145. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  146. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  147. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +10 -7
  148. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  149. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  150. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +67 -57
  151. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  152. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +127 -113
  153. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -3
  155. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  156. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  157. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  159. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  161. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  163. package/dist/dist-esm/communication-react/src/index.d.ts +1 -1
  164. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  165. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  166. package/dist/dist-esm/northstar-wrapper/src/index.js +2 -0
  167. package/dist/dist-esm/northstar-wrapper/src/index.js.LICENSE.txt +41 -0
  168. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.d.ts +20 -0
  169. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +47 -0
  170. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -0
  171. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.d.ts +10 -0
  172. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js +14 -0
  173. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -0
  174. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.d.ts +10 -0
  175. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js +29 -0
  176. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -0
  177. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.d.ts +7 -0
  178. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +32 -0
  179. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -0
  180. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.d.ts +9 -0
  181. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +10 -0
  182. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -0
  183. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.d.ts +8 -0
  184. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +19 -0
  185. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -0
  186. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/CameraButton.d.ts +8 -0
  188. package/dist/dist-esm/react-components/src/components/CameraButton.js +36 -12
  189. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/Caption.js +2 -3
  191. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +1 -0
  193. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +7 -8
  194. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +14 -16
  196. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.d.ts +1 -1
  198. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +9 -8
  199. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +17 -36
  201. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +1 -2
  203. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +8 -13
  204. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +33 -23
  206. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  207. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +1 -2
  208. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +33 -53
  209. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +49 -63
  211. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  213. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +4 -7
  215. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  217. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/ControlBar.js +14 -10
  222. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +4 -14
  224. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +14 -3
  226. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +10 -4
  228. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +31 -14
  230. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +8 -5
  232. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +6 -24
  234. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +20 -12
  236. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/DevicesButton.js +21 -16
  238. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +44 -36
  240. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  242. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +6 -2
  244. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  246. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +23 -11
  248. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +3 -3
  250. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/EndCallButton.js +7 -3
  253. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +4 -0
  255. package/dist/dist-esm/react-components/src/components/ErrorBar.js +4 -2
  256. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/FileCard.js +3 -2
  258. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  260. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +10 -9
  262. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +7 -8
  264. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  266. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  268. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  270. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +9 -7
  272. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +1 -1
  274. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +46 -10
  275. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +5 -3
  277. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +9 -27
  279. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  280. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +40 -27
  281. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +2 -3
  283. package/dist/dist-esm/react-components/src/components/MessageThread.js +92 -157
  284. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +14 -17
  286. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +101 -94
  288. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +17 -15
  290. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/ParticipantList.js +10 -20
  292. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +32 -46
  294. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  295. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  296. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  297. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  298. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +14 -29
  300. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  302. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  304. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +14 -6
  306. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +4 -4
  308. package/dist/dist-esm/react-components/src/components/SendBox.js +27 -23
  309. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  311. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  313. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +4 -2
  314. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  315. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  316. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/SystemMessage.d.ts +1 -1
  318. package/dist/dist-esm/react-components/src/components/SystemMessage.js +4 -2
  319. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  321. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +6 -9
  323. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -1
  325. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -1
  327. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +8 -4
  329. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -1
  331. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +34 -19
  333. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +1 -3
  335. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +17 -5
  337. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.d.ts +1 -1
  339. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +16 -57
  340. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.d.ts +11 -0
  342. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +53 -0
  343. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -0
  344. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +16 -37
  345. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +10 -10
  347. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +25 -56
  349. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  352. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +5 -16
  354. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +6 -8
  356. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +4 -2
  358. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +6 -1
  360. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  361. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +32 -7
  362. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +11 -2
  364. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +3 -1
  370. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +11 -10
  372. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +28 -22
  374. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +5 -10
  376. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +29 -18
  378. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +24 -39
  381. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  382. package/dist/dist-esm/react-components/src/components/VideoGallery.js +27 -90
  383. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/VideoTile.js +52 -34
  385. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +4 -3
  389. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  390. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +12 -3
  392. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  394. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +6 -7
  397. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  399. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.d.ts +3 -3
  402. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +11 -12
  403. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +1 -1
  406. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +12 -3
  407. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +1 -0
  409. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +0 -4
  412. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +10 -8
  413. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +3 -0
  416. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +1 -0
  419. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  422. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +13 -2
  424. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  425. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -4
  431. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  433. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  436. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +1 -10
  438. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  439. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +3 -1
  440. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  441. package/dist/dist-esm/react-components/src/components/utils.js +13 -10
  442. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  443. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +6 -8
  444. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  446. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  447. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/index.d.ts +1 -1
  449. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  451. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  452. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +7 -2
  453. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +7 -2
  454. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +5 -1
  455. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +7 -2
  456. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +7 -2
  457. package/dist/dist-esm/react-components/src/localization/locales/index.js +42 -14
  458. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +7 -2
  460. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +7 -2
  461. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +7 -2
  462. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +7 -2
  463. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +7 -2
  464. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +7 -2
  465. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +7 -2
  466. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +7 -2
  467. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +7 -2
  468. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -1
  469. package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +7 -4
  471. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/theming/icons.d.ts +2 -0
  473. package/dist/dist-esm/react-components/src/theming/icons.js +44 -25
  474. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  476. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  478. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  479. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  480. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  482. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.d.ts +9 -0
  483. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js +4 -0
  484. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -0
  485. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  486. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  487. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  488. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  489. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  490. package/dist/dist-esm/react-components/src/types/index.d.ts +1 -0
  491. package/dist/dist-esm/react-components/src/types/index.js +1 -0
  492. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +12 -0
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +50 -41
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +36 -0
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +23 -5
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +122 -93
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +107 -0
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -9
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +3 -1
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -2
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -0
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -0
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +95 -81
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +47 -22
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +141 -133
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +7 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -1
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +7 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +4 -5
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +2 -2
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +22 -32
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +30 -33
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +40 -18
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +29 -27
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +14 -0
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +55 -0
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -0
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.d.ts +58 -0
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js +31 -0
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -0
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +17 -0
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +47 -0
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -0
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +9 -0
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +75 -0
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -0
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +5 -4
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +2 -1
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +2 -7
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +6 -9
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +11 -19
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +2 -5
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +6 -8
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +2 -5
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +8 -8
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +15 -7
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -0
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +4 -0
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +3 -7
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +2 -0
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +71 -71
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +4 -0
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +7 -15
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +4 -0
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +7 -17
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -3
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.d.ts +7 -0
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +20 -0
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -0
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +10 -0
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +10 -0
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +5 -7
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.d.ts +7 -0
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.js +17 -0
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/videoBackgroundErrorsSelector.js.map +1 -0
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +6 -2
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +9 -1
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +50 -7
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.d.ts +4 -0
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +4 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -1
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +4 -1
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +1 -0
  661. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  662. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  663. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  664. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -0
  665. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +10 -2
  667. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +11 -9
  669. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +22 -1
  671. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +46 -32
  672. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +104 -164
  675. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  676. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButton.d.ts → ChatButton/ChatButton.d.ts} +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButton.js → ChatButton/ChatButton.js} +2 -2
  678. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -0
  679. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButtonWithUnreadMessagesBadge.d.ts → ChatButton/ChatButtonWithUnreadMessagesBadge.d.ts} +2 -2
  680. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{ChatButtonWithUnreadMessagesBadge.js → ChatButton/ChatButtonWithUnreadMessagesBadge.js} +10 -12
  681. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -0
  682. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{NotificationIcon.js → ChatButton/NotificationIcon.js} +6 -3
  683. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -0
  684. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +8 -1
  686. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +47 -48
  687. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  688. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +34 -0
  689. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +7 -0
  691. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +31 -1
  692. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  695. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +5 -0
  701. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
  702. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -2
  705. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  706. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +5 -3
  707. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  708. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +19 -21
  709. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  711. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +5 -3
  713. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -1
  714. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  716. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +42 -39
  717. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  718. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +20 -15
  719. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  721. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  722. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  724. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +6 -11
  725. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  728. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +5 -3
  729. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -3
  731. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  732. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +6 -6
  738. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +5 -3
  739. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +6 -2
  741. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  742. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +9 -9
  743. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +26 -24
  745. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +3 -8
  748. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +14 -5
  750. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +23 -9
  752. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +8 -7
  755. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  756. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +16 -12
  757. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  758. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  759. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +5 -1
  761. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +5 -5
  763. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +52 -55
  764. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +27 -31
  766. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  767. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +44 -22
  768. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  769. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  770. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  771. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -0
  772. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +65 -33
  773. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js +7 -10
  777. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js.map +1 -1
  778. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js.map +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  780. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  781. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +7 -9
  782. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  785. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +8 -6
  786. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  787. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +0 -9
  788. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +34 -25
  789. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  790. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +15 -7
  791. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
  792. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -1
  793. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +4 -4
  794. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +44 -7
  795. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +8 -5
  797. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +19 -12
  798. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  799. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +12 -0
  800. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +140 -0
  801. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -0
  802. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  803. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +6 -0
  805. package/dist/dist-esm/react-composites/src/composites/common/icons.js +10 -4
  806. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  807. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  809. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +16 -5
  810. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  811. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +51 -12
  812. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  813. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.d.ts +4 -0
  814. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +32 -5
  815. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  816. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +22 -4
  817. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +8 -0
  819. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/common/utils.js +12 -17
  821. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  824. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  825. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +5 -1
  827. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +5 -1
  828. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +5 -1
  829. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +5 -1
  830. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +5 -1
  831. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +5 -1
  833. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +5 -1
  834. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +5 -1
  835. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +5 -1
  836. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +5 -1
  837. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +5 -1
  838. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +5 -1
  839. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +5 -1
  840. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +5 -1
  841. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  842. package/package.json +28 -27
  843. package/dist/dist-esm/react-components/src/components/VoiceOverButton.d.ts +0 -7
  844. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +0 -32
  845. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +0 -1
  846. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.d.ts +0 -9
  847. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js +0 -26
  848. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +0 -1
  849. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +0 -24
  850. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +0 -80
  851. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +0 -1
  852. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +0 -16
  853. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +0 -38
  854. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +0 -1
  855. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +0 -34
  856. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +0 -90
  857. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +0 -1
  858. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +0 -1
  859. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +0 -1
  860. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +0 -1
  861. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +0 -1
  862. /package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/{NotificationIcon.d.ts → ChatButton/NotificationIcon.d.ts} +0 -0
  863. /package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common}/ConvertContextualMenuItemToDrawerMenuItem.d.ts +0 -0
  864. /package/dist/dist-esm/react-composites/src/composites/{CallWithChatComposite → common}/ConvertContextualMenuItemToDrawerMenuItem.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../../../chat-stateful-client/src/Constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,8BAA8B,EAAE,CAAC,GAAG,IAAI;IACxC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;CACxB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * @private\n */\nexport const Constants = {\n TYPING_INDICATOR_MAINTAIN_TIME: 8 * 1000,\n DUMMY_DATE: new Date(0)\n};\n"]}
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-stateful-client/src/Constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,8BAA8B,EAAE,CAAC,GAAG,IAAI;IACxC,UAAU,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;CACxB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * @private\n */\nexport const Constants = {\n TYPING_INDICATOR_MAINTAIN_TIME: 8 * 1000,\n DUMMY_DATE: new Date(0)\n};"]}
@@ -39,6 +39,7 @@ export class EventSubscriber {
39
39
  sender: event.sender,
40
40
  senderDisplayName: event.senderDisplayName,
41
41
  sequenceId: '',
42
+ // Note: there is a bug in chatMessageReceived event that it is missing sequenceId
42
43
  createdOn: new Date(event.createdOn),
43
44
  editedOn: 'editedOn' in event ? event.editedOn : undefined,
44
45
  metadata: event.metadata
@@ -82,7 +83,7 @@ export class EventSubscriber {
82
83
  this.chatContext.setChatMessage(event.threadId, convertChatMessage(editedMessage));
83
84
  };
84
85
  this.onParticipantsAdded = (event) => {
85
- const participantsToAdd = event.participantsAdded.map((participant) => (Object.assign(Object.assign({}, participant), { shareHistoryTime: participant.shareHistoryTime ? new Date(participant.shareHistoryTime) : undefined })));
86
+ const participantsToAdd = event.participantsAdded.map(participant => (Object.assign(Object.assign({}, participant), { shareHistoryTime: participant.shareHistoryTime ? new Date(participant.shareHistoryTime) : undefined })));
86
87
  this.chatContext.batch(() => {
87
88
  this.chatContext.createThreadIfNotExist(event.threadId);
88
89
  this.chatContext.setParticipants(event.threadId, participantsToAdd);
@@ -94,9 +95,9 @@ export class EventSubscriber {
94
95
  this.fetchLastParticipantMessage = (threadId, actionType) => __awaiter(this, void 0, void 0, function* () {
95
96
  var e_1, _a;
96
97
  try {
97
- for (var _b = __asyncValues(this.chatClient
98
- .getChatThreadClient(threadId)
99
- .listMessages({ startTime: new Date(Date.now() - maxSyncTimeInMs) })), _c; _c = yield _b.next(), !_c.done;) {
98
+ for (var _b = __asyncValues(this.chatClient.getChatThreadClient(threadId).listMessages({
99
+ startTime: new Date(Date.now() - maxSyncTimeInMs)
100
+ })), _c; _c = yield _b.next(), !_c.done;) {
100
101
  const message = _c.value;
101
102
  if (message.type === actionType) {
102
103
  this.chatContext.setChatMessage(threadId, Object.assign(Object.assign({}, message), { status: 'delivered' }));
@@ -112,14 +113,14 @@ export class EventSubscriber {
112
113
  }
113
114
  });
114
115
  this.onParticipantsRemoved = (event) => {
115
- const participantIds = event.participantsRemoved.map((participant) => {
116
+ const participantIds = event.participantsRemoved.map(participant => {
116
117
  return participant.id;
117
118
  });
118
119
  this.chatContext.deleteParticipants(event.threadId, participantIds);
119
120
  // If the current user is removed from the thread, do not fetch the last participant message
120
121
  // as they no longer have access to the thread.
121
122
  const currentUserId = toFlatCommunicationIdentifier(this.chatContext.getState().userId);
122
- const wasCurrentUserRemoved = participantIds.find((id) => toFlatCommunicationIdentifier(id) === currentUserId);
123
+ const wasCurrentUserRemoved = participantIds.find(id => toFlatCommunicationIdentifier(id) === currentUserId);
123
124
  if (!wasCurrentUserRemoved) {
124
125
  this.fetchLastParticipantMessage(event.threadId, 'participantRemoved');
125
126
  }
@@ -149,7 +150,9 @@ export class EventSubscriber {
149
150
  this.chatContext.deleteThread(event.threadId);
150
151
  };
151
152
  this.onChatThreadPropertiesUpdated = (event) => {
152
- this.chatContext.updateThread(event.threadId, { topic: event.properties.topic });
153
+ this.chatContext.updateThread(event.threadId, {
154
+ topic: event.properties.topic
155
+ });
153
156
  };
154
157
  this.subscribe = () => {
155
158
  this.chatClient.on('chatMessageReceived', this.onChatMessageReceived);
@@ -1 +1 @@
1
- {"version":3,"file":"EventSubscriber.js","sourceRoot":"","sources":["../../../../../chat-stateful-client/src/EventSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;;;;;AAelC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,iEAAiE;AACjE,wEAAwE;AACxE,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC;AAElC;;GAEG;AACH,MAAM,OAAO,eAAe;IAI1B,YAAY,UAAsB,EAAE,WAAwB;QAMpD,8BAAyB,GAAG,CAClC,KAAwD,EACjC,EAAE;YACzB,OAAO,kBAAkB,CAAC;gBACxB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,sDAAsD;oBACtD,WAAW,EAAE,KAAK,CAAC,WAAW;iBAC/B;gBACD,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;gBACvC,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;gBACpC,QAAQ,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC1D,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,gGAAgG;QACxF,qBAAgB,GAAG,CAAC,IAAY,EAAmB,EAAE;YAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACzC,IAAI,aAAa,KAAK,eAAe,IAAI,aAAa,KAAK,MAAM,EAAE;gBACjE,OAAO,MAAM,CAAC;aACf;iBAAM;gBACL,OAAO,MAAM,CAAC;aACf;QACH,CAAC,CAAC;QAEM,0BAAqB,GAAG,CAAC,KAA+B,EAAQ,EAAE;;YACxE,2EAA2E;YAC3E,+DAA+D;YAC/D,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAClD,IAAI,gBAAgB,KAAK,MAAM,IAAI,gBAAgB,KAAK,eAAe,IAAI,gBAAgB,KAAK,MAAM,EAAE;gBACtG,OAAO;aACR;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAEzD,iHAAiH;YACjH,yEAAyE;YACzE,MAAM,eAAe,GAAG,MAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACpG,IAAI,eAAe,EAAE;gBACnB,UAAU,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;aACpD;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAAC,KAA8B,EAAQ,EAAE;YACtE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAAC,KAA6B,EAAQ,EAAE;YACpE,MAAM,aAAa,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAC5D,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;QACrF,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAAC,KAA6B,EAAQ,EAAE;YACpE,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,iCAClE,WAAW,KACd,gBAAgB,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,IACnG,CAAC,CAAC;YACJ,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACvE,CAAC,CAAC;QAEF,sIAAsI;QACtI,+HAA+H;QACvH,gCAA2B,GAAG,CACpC,QAAgB,EAChB,UAAqD,EACtC,EAAE;;;gBACjB,KAA4B,IAAA,KAAA,cAAA,IAAI,CAAC,UAAU;qBACxC,mBAAmB,CAAC,QAAQ,CAAC;qBAC7B,YAAY,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA,IAAA;oBAF3D,MAAM,OAAO,WAAA,CAAA;oBAGtB,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;wBAC/B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,kCAAO,OAAO,KAAE,MAAM,EAAE,WAAW,IAAG,CAAC;qBAChF;iBACF;;;;;;;;;QACH,CAAC,CAAA,CAAC;QAEM,0BAAqB,GAAG,CAAC,KAA+B,EAAQ,EAAE;YACxE,MAAM,cAAc,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBACnE,OAAO,WAAW,CAAC,EAAE,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAEpE,4FAA4F;YAC5F,+CAA+C;YAC/C,MAAM,aAAa,GAAG,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;YACxF,MAAM,qBAAqB,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,6BAA6B,CAAC,EAAE,CAAC,KAAK,aAAa,CAAC,CAAC;YAC/G,IAAI,CAAC,qBAAqB,EAAE;gBAC1B,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;aACxE;QACH,CAAC,CAAC;QAEM,0BAAqB,GAAG,CAAC,KAA+B,EAAQ,EAAE;YACxE,MAAM,WAAW,mCACZ,KAAK,KACR,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAC/B,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,8BAAyB,GAAG,CAAC,eAA6C,EAAQ,EAAE;YAC1F,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAAC,KAA6B,EAAQ,EAAE;YACpE,MAAM,UAAU,GAAG;gBACjB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK;aAC9B,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;gBACxE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;aAC3D;QACH,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAAC,KAA6B,EAAQ,EAAE;YACpE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC,CAAC;QAEM,kCAA6B,GAAG,CAAC,KAAuC,EAAQ,EAAE;YACxF,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC,CAAC;QAEK,cAAS,GAAG,GAAS,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACpE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAElE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEtE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAE9E,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACxF,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEnE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEvE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;YAE/E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,CAAC,CAAC;QACzF,CAAC,CAAC;QA/KA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CA6KF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ChatClient, ChatMessageReadReceipt, ChatMessageType } from '@azure/communication-chat';\nimport {\n ChatMessageDeletedEvent,\n ChatMessageEditedEvent,\n ChatMessageReceivedEvent,\n ChatThreadCreatedEvent,\n ChatThreadDeletedEvent,\n ChatThreadPropertiesUpdatedEvent,\n ParticipantsAddedEvent,\n ParticipantsRemovedEvent,\n ReadReceiptReceivedEvent,\n TypingIndicatorReceivedEvent\n} from '@azure/communication-chat';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ChatContext } from './ChatContext';\nimport { convertChatMessage } from './convertChatMessage';\nimport { ChatMessageWithStatus } from './types/ChatMessageWithStatus';\n\n// TODO: When we can get messageId of event from SDK, remove this\n// Maximum time to look back message list when we receive a system event\nconst maxSyncTimeInMs = 10 * 1000;\n\n/**\n * @private\n */\nexport class EventSubscriber {\n private chatClient: ChatClient;\n private chatContext: ChatContext;\n\n constructor(chatClient: ChatClient, chatContext: ChatContext) {\n this.chatClient = chatClient;\n this.chatContext = chatContext;\n this.subscribe();\n }\n\n private convertEventToChatMessage = (\n event: ChatMessageReceivedEvent | ChatMessageEditedEvent\n ): ChatMessageWithStatus => {\n return convertChatMessage({\n id: event.id,\n version: event.version,\n content: {\n message: event.message,\n /* @conditional-compile-remove(teams-inline-images) */\n attachments: event.attachments\n },\n type: this.convertEventType(event.type),\n sender: event.sender,\n senderDisplayName: event.senderDisplayName,\n sequenceId: '', // Note: there is a bug in chatMessageReceived event that it is missing sequenceId\n createdOn: new Date(event.createdOn),\n editedOn: 'editedOn' in event ? event.editedOn : undefined,\n metadata: event.metadata\n });\n };\n\n // convert event type to chatMessage type, only possible type is 'html' and 'text' in chat event\n private convertEventType = (type: string): ChatMessageType => {\n const lowerCaseType = type.toLowerCase();\n if (lowerCaseType === 'richtext/html' || lowerCaseType === 'html') {\n return 'html';\n } else {\n return 'text';\n }\n };\n\n private onChatMessageReceived = (event: ChatMessageReceivedEvent): void => {\n // Today we are avoiding how to render these messages. In the future we can\n // remove this condition and handle this message appropriately.\n const messageEventType = event.type.toLowerCase();\n if (messageEventType !== 'text' && messageEventType !== 'richtext/html' && messageEventType !== 'html') {\n return;\n }\n\n const newMessage = this.convertEventToChatMessage(event);\n\n // Because of bug in chatMessageReceived event, if we already have that particular message in context, we want to\n // make sure to not overwrite the sequenceId when calling setChatMessage.\n const existingMessage = this.chatContext.getState().threads[event.threadId]?.chatMessages[event.id];\n if (existingMessage) {\n newMessage.sequenceId = existingMessage.sequenceId;\n }\n this.chatContext.batch(() => {\n this.chatContext.createThreadIfNotExist(event.threadId);\n this.chatContext.setChatMessage(event.threadId, newMessage);\n });\n };\n\n private onChatMessageDeleted = (event: ChatMessageDeletedEvent): void => {\n this.chatContext.deleteMessage(event.threadId, event.id);\n };\n\n private onChatMessageEdited = (event: ChatMessageEditedEvent): void => {\n const editedMessage = this.convertEventToChatMessage(event);\n this.chatContext.setChatMessage(event.threadId, convertChatMessage(editedMessage));\n };\n\n private onParticipantsAdded = (event: ParticipantsAddedEvent): void => {\n const participantsToAdd = event.participantsAdded.map((participant) => ({\n ...participant,\n shareHistoryTime: participant.shareHistoryTime ? new Date(participant.shareHistoryTime) : undefined\n }));\n this.chatContext.batch(() => {\n this.chatContext.createThreadIfNotExist(event.threadId);\n this.chatContext.setParticipants(event.threadId, participantsToAdd);\n });\n this.fetchLastParticipantMessage(event.threadId, 'participantAdded');\n };\n\n // This is a temporary fix that no participant message is received for onChatMessageReceived event, which should be handled by JS SDK.\n // Without the temporary fix, there are missing 'participant joined' and 'participant left' system messages in the chat thread.\n private fetchLastParticipantMessage = async (\n threadId: string,\n actionType: 'participantAdded' | 'participantRemoved'\n ): Promise<void> => {\n for await (const message of this.chatClient\n .getChatThreadClient(threadId)\n .listMessages({ startTime: new Date(Date.now() - maxSyncTimeInMs) })) {\n if (message.type === actionType) {\n this.chatContext.setChatMessage(threadId, { ...message, status: 'delivered' });\n }\n }\n };\n\n private onParticipantsRemoved = (event: ParticipantsRemovedEvent): void => {\n const participantIds = event.participantsRemoved.map((participant) => {\n return participant.id;\n });\n this.chatContext.deleteParticipants(event.threadId, participantIds);\n\n // If the current user is removed from the thread, do not fetch the last participant message\n // as they no longer have access to the thread.\n const currentUserId = toFlatCommunicationIdentifier(this.chatContext.getState().userId);\n const wasCurrentUserRemoved = participantIds.find((id) => toFlatCommunicationIdentifier(id) === currentUserId);\n if (!wasCurrentUserRemoved) {\n this.fetchLastParticipantMessage(event.threadId, 'participantRemoved');\n }\n };\n\n private onReadReceiptReceived = (event: ReadReceiptReceivedEvent): void => {\n const readReceipt: ChatMessageReadReceipt = {\n ...event,\n sender: event.sender,\n readOn: new Date(event.readOn)\n };\n this.chatContext.batch(() => {\n this.chatContext.createThreadIfNotExist(event.threadId);\n this.chatContext.addReadReceipt(event.threadId, readReceipt);\n });\n };\n\n private onTypingIndicatorReceived = (typingIndicator: TypingIndicatorReceivedEvent): void => {\n this.chatContext.batch(() => {\n this.chatContext.createThreadIfNotExist(typingIndicator.threadId);\n this.chatContext.addTypingIndicator(typingIndicator.threadId, typingIndicator);\n });\n };\n\n private onChatThreadCreated = (event: ChatThreadCreatedEvent): void => {\n const properties = {\n topic: event.properties.topic\n };\n if (!this.chatContext.createThreadIfNotExist(event.threadId, properties)) {\n this.chatContext.updateThread(event.threadId, properties);\n }\n };\n\n private onChatThreadDeleted = (event: ChatThreadDeletedEvent): void => {\n this.chatContext.deleteThread(event.threadId);\n };\n\n private onChatThreadPropertiesUpdated = (event: ChatThreadPropertiesUpdatedEvent): void => {\n this.chatContext.updateThread(event.threadId, { topic: event.properties.topic });\n };\n\n public subscribe = (): void => {\n this.chatClient.on('chatMessageReceived', this.onChatMessageReceived);\n this.chatClient.on('chatMessageDeleted', this.onChatMessageDeleted);\n this.chatClient.on('chatMessageEdited', this.onChatMessageEdited);\n\n this.chatClient.on('participantsAdded', this.onParticipantsAdded);\n this.chatClient.on('participantsRemoved', this.onParticipantsRemoved);\n\n this.chatClient.on('readReceiptReceived', this.onReadReceiptReceived);\n this.chatClient.on('typingIndicatorReceived', this.onTypingIndicatorReceived);\n\n this.chatClient.on('chatThreadCreated', this.onChatThreadCreated);\n this.chatClient.on('chatThreadDeleted', this.onChatThreadDeleted);\n this.chatClient.on('chatThreadPropertiesUpdated', this.onChatThreadPropertiesUpdated);\n };\n\n public unsubscribe = (): void => {\n this.chatClient.off('chatMessageReceived', this.onChatMessageReceived);\n this.chatClient.off('chatMessageDeleted', this.onChatMessageDeleted);\n this.chatClient.off('chatMessageEdited', this.onChatMessageEdited);\n\n this.chatClient.off('participantsAdded', this.onParticipantsAdded);\n this.chatClient.off('participantsRemoved', this.onParticipantsRemoved);\n\n this.chatClient.off('readReceiptReceived', this.onReadReceiptReceived);\n this.chatClient.off('typingIndicatorReceived', this.onTypingIndicatorReceived);\n\n this.chatClient.off('chatThreadCreated', this.onChatThreadCreated);\n this.chatClient.off('chatThreadDeleted', this.onChatThreadDeleted);\n this.chatClient.off('chatThreadPropertiesUpdated', this.onChatThreadPropertiesUpdated);\n };\n}\n\"../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"EventSubscriber.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-stateful-client/src/EventSubscriber.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ChatClient, ChatMessageReadReceipt, ChatMessageType } from '@azure/communication-chat';\nimport { ChatMessageDeletedEvent, ChatMessageEditedEvent, ChatMessageReceivedEvent, ChatThreadCreatedEvent, ChatThreadDeletedEvent, ChatThreadPropertiesUpdatedEvent, ParticipantsAddedEvent, ParticipantsRemovedEvent, ReadReceiptReceivedEvent, TypingIndicatorReceivedEvent } from '@azure/communication-chat';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ChatContext } from './ChatContext';\nimport { convertChatMessage } from './convertChatMessage';\nimport { ChatMessageWithStatus } from './types/ChatMessageWithStatus';\n\n// TODO: When we can get messageId of event from SDK, remove this\n// Maximum time to look back message list when we receive a system event\nconst maxSyncTimeInMs = 10 * 1000;\n\n/**\n * @private\n */\nexport class EventSubscriber {\n private chatClient: ChatClient;\n private chatContext: ChatContext;\n constructor(chatClient: ChatClient, chatContext: ChatContext) {\n this.chatClient = chatClient;\n this.chatContext = chatContext;\n this.subscribe();\n }\n private convertEventToChatMessage = (event: ChatMessageReceivedEvent | ChatMessageEditedEvent): ChatMessageWithStatus => {\n return convertChatMessage({\n id: event.id,\n version: event.version,\n content: {\n message: event.message,\n /* @conditional-compile-remove(teams-inline-images) */\n attachments: event.attachments\n },\n type: this.convertEventType(event.type),\n sender: event.sender,\n senderDisplayName: event.senderDisplayName,\n sequenceId: '',\n // Note: there is a bug in chatMessageReceived event that it is missing sequenceId\n createdOn: new Date(event.createdOn),\n editedOn: 'editedOn' in event ? event.editedOn : undefined,\n metadata: event.metadata\n });\n };\n\n // convert event type to chatMessage type, only possible type is 'html' and 'text' in chat event\n private convertEventType = (type: string): ChatMessageType => {\n const lowerCaseType = type.toLowerCase();\n if (lowerCaseType === 'richtext/html' || lowerCaseType === 'html') {\n return 'html';\n } else {\n return 'text';\n }\n };\n private onChatMessageReceived = (event: ChatMessageReceivedEvent): void => {\n // Today we are avoiding how to render these messages. In the future we can\n // remove this condition and handle this message appropriately.\n const messageEventType = event.type.toLowerCase();\n if (messageEventType !== 'text' && messageEventType !== 'richtext/html' && messageEventType !== 'html') {\n return;\n }\n const newMessage = this.convertEventToChatMessage(event);\n\n // Because of bug in chatMessageReceived event, if we already have that particular message in context, we want to\n // make sure to not overwrite the sequenceId when calling setChatMessage.\n const existingMessage = this.chatContext.getState().threads[event.threadId]?.chatMessages[event.id];\n if (existingMessage) {\n newMessage.sequenceId = existingMessage.sequenceId;\n }\n this.chatContext.batch(() => {\n this.chatContext.createThreadIfNotExist(event.threadId);\n this.chatContext.setChatMessage(event.threadId, newMessage);\n });\n };\n private onChatMessageDeleted = (event: ChatMessageDeletedEvent): void => {\n this.chatContext.deleteMessage(event.threadId, event.id);\n };\n private onChatMessageEdited = (event: ChatMessageEditedEvent): void => {\n const editedMessage = this.convertEventToChatMessage(event);\n this.chatContext.setChatMessage(event.threadId, convertChatMessage(editedMessage));\n };\n private onParticipantsAdded = (event: ParticipantsAddedEvent): void => {\n const participantsToAdd = event.participantsAdded.map(participant => ({\n ...participant,\n shareHistoryTime: participant.shareHistoryTime ? new Date(participant.shareHistoryTime) : undefined\n }));\n this.chatContext.batch(() => {\n this.chatContext.createThreadIfNotExist(event.threadId);\n this.chatContext.setParticipants(event.threadId, participantsToAdd);\n });\n this.fetchLastParticipantMessage(event.threadId, 'participantAdded');\n };\n\n // This is a temporary fix that no participant message is received for onChatMessageReceived event, which should be handled by JS SDK.\n // Without the temporary fix, there are missing 'participant joined' and 'participant left' system messages in the chat thread.\n private fetchLastParticipantMessage = async (threadId: string, actionType: 'participantAdded' | 'participantRemoved'): Promise<void> => {\n for await (const message of this.chatClient.getChatThreadClient(threadId).listMessages({\n startTime: new Date(Date.now() - maxSyncTimeInMs)\n })) {\n if (message.type === actionType) {\n this.chatContext.setChatMessage(threadId, {\n ...message,\n status: 'delivered'\n });\n }\n }\n };\n private onParticipantsRemoved = (event: ParticipantsRemovedEvent): void => {\n const participantIds = event.participantsRemoved.map(participant => {\n return participant.id;\n });\n this.chatContext.deleteParticipants(event.threadId, participantIds);\n\n // If the current user is removed from the thread, do not fetch the last participant message\n // as they no longer have access to the thread.\n const currentUserId = toFlatCommunicationIdentifier(this.chatContext.getState().userId);\n const wasCurrentUserRemoved = participantIds.find(id => toFlatCommunicationIdentifier(id) === currentUserId);\n if (!wasCurrentUserRemoved) {\n this.fetchLastParticipantMessage(event.threadId, 'participantRemoved');\n }\n };\n private onReadReceiptReceived = (event: ReadReceiptReceivedEvent): void => {\n const readReceipt: ChatMessageReadReceipt = {\n ...event,\n sender: event.sender,\n readOn: new Date(event.readOn)\n };\n this.chatContext.batch(() => {\n this.chatContext.createThreadIfNotExist(event.threadId);\n this.chatContext.addReadReceipt(event.threadId, readReceipt);\n });\n };\n private onTypingIndicatorReceived = (typingIndicator: TypingIndicatorReceivedEvent): void => {\n this.chatContext.batch(() => {\n this.chatContext.createThreadIfNotExist(typingIndicator.threadId);\n this.chatContext.addTypingIndicator(typingIndicator.threadId, typingIndicator);\n });\n };\n private onChatThreadCreated = (event: ChatThreadCreatedEvent): void => {\n const properties = {\n topic: event.properties.topic\n };\n if (!this.chatContext.createThreadIfNotExist(event.threadId, properties)) {\n this.chatContext.updateThread(event.threadId, properties);\n }\n };\n private onChatThreadDeleted = (event: ChatThreadDeletedEvent): void => {\n this.chatContext.deleteThread(event.threadId);\n };\n private onChatThreadPropertiesUpdated = (event: ChatThreadPropertiesUpdatedEvent): void => {\n this.chatContext.updateThread(event.threadId, {\n topic: event.properties.topic\n });\n };\n public subscribe = (): void => {\n this.chatClient.on('chatMessageReceived', this.onChatMessageReceived);\n this.chatClient.on('chatMessageDeleted', this.onChatMessageDeleted);\n this.chatClient.on('chatMessageEdited', this.onChatMessageEdited);\n this.chatClient.on('participantsAdded', this.onParticipantsAdded);\n this.chatClient.on('participantsRemoved', this.onParticipantsRemoved);\n this.chatClient.on('readReceiptReceived', this.onReadReceiptReceived);\n this.chatClient.on('typingIndicatorReceived', this.onTypingIndicatorReceived);\n this.chatClient.on('chatThreadCreated', this.onChatThreadCreated);\n this.chatClient.on('chatThreadDeleted', this.onChatThreadDeleted);\n this.chatClient.on('chatThreadPropertiesUpdated', this.onChatThreadPropertiesUpdated);\n };\n public unsubscribe = (): void => {\n this.chatClient.off('chatMessageReceived', this.onChatMessageReceived);\n this.chatClient.off('chatMessageDeleted', this.onChatMessageDeleted);\n this.chatClient.off('chatMessageEdited', this.onChatMessageEdited);\n this.chatClient.off('participantsAdded', this.onParticipantsAdded);\n this.chatClient.off('participantsRemoved', this.onParticipantsRemoved);\n this.chatClient.off('readReceiptReceived', this.onReadReceiptReceived);\n this.chatClient.off('typingIndicatorReceived', this.onTypingIndicatorReceived);\n this.chatClient.off('chatThreadCreated', this.onChatThreadCreated);\n this.chatClient.off('chatThreadDeleted', this.onChatThreadDeleted);\n this.chatClient.off('chatThreadPropertiesUpdated', this.onChatThreadPropertiesUpdated);\n };\n}\"../../acs-ui-common/src\""]}
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../../../chat-stateful-client/src/Logger.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,mCAAmC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createClientLogger } from '@azure/logger';\n\n/**\n * @private\n */\nexport const chatStatefulLogger = createClientLogger('communication-react:chat-stateful');\n"]}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-stateful-client/src/Logger.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,mCAAmC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createClientLogger } from '@azure/logger';\n\n/**\n * @private\n */\nexport const chatStatefulLogger = createClientLogger('communication-react:chat-stateful');"]}
@@ -25,62 +25,70 @@ const proxyChatClient = {
25
25
  }
26
26
  const context = receiver.context;
27
27
  switch (prop) {
28
- case 'createChatThread': {
29
- return context.withAsyncErrorTeedToState(function (...args) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- const result = yield chatClient.createChatThread(...args);
32
- const thread = result.chatThread;
33
- if (thread) {
34
- const [request] = args;
35
- context.createThread(thread.id, { topic: request.topic });
36
- }
37
- return result;
38
- });
39
- }, 'ChatClient.createChatThread');
40
- }
41
- case 'deleteChatThread': {
42
- return context.withAsyncErrorTeedToState(function (...args) {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- const result = yield chatClient.deleteChatThread(...args);
45
- context.deleteThread(args[0]);
46
- return result;
47
- });
48
- }, 'ChatClient.deleteChatThread');
49
- }
50
- case 'listChatThreads': {
51
- return createDecoratedListThreads(chatClient, context);
52
- }
53
- case 'getChatThreadClient': {
54
- return function (...args) {
55
- const chatThreadClient = chatClient.getChatThreadClient(...args);
56
- // TODO(prprabhu): Ensure that thread properties are fetched into the ChatContext at this point.
57
- // A new thread might be created here, but the properties will never be fetched.
58
- return chatThreadClientDeclaratify(chatThreadClient, context);
59
- };
60
- }
61
- case 'startRealtimeNotifications': {
62
- return context.withAsyncErrorTeedToState(function (...args) {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- const ret = yield chatClient.startRealtimeNotifications(...args);
65
- if (!receiver.eventSubscriber) {
66
- receiver.eventSubscriber = new EventSubscriber(chatClient, context);
67
- }
68
- return ret;
69
- });
70
- }, 'ChatClient.startRealtimeNotifications');
71
- }
72
- case 'stopRealtimeNotifications': {
73
- return context.withAsyncErrorTeedToState(function (...args) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- const ret = yield chatClient.stopRealtimeNotifications(...args);
76
- if (receiver.eventSubscriber) {
77
- receiver.eventSubscriber.unsubscribe();
78
- receiver.eventSubscriber = undefined;
79
- }
80
- return ret;
81
- });
82
- }, 'ChatClient.stopRealtimeNotifications');
83
- }
28
+ case 'createChatThread':
29
+ {
30
+ return context.withAsyncErrorTeedToState(function (...args) {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ const result = yield chatClient.createChatThread(...args);
33
+ const thread = result.chatThread;
34
+ if (thread) {
35
+ const [request] = args;
36
+ context.createThread(thread.id, {
37
+ topic: request.topic
38
+ });
39
+ }
40
+ return result;
41
+ });
42
+ }, 'ChatClient.createChatThread');
43
+ }
44
+ case 'deleteChatThread':
45
+ {
46
+ return context.withAsyncErrorTeedToState(function (...args) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const result = yield chatClient.deleteChatThread(...args);
49
+ context.deleteThread(args[0]);
50
+ return result;
51
+ });
52
+ }, 'ChatClient.deleteChatThread');
53
+ }
54
+ case 'listChatThreads':
55
+ {
56
+ return createDecoratedListThreads(chatClient, context);
57
+ }
58
+ case 'getChatThreadClient':
59
+ {
60
+ return function (...args) {
61
+ const chatThreadClient = chatClient.getChatThreadClient(...args);
62
+ // TODO(prprabhu): Ensure that thread properties are fetched into the ChatContext at this point.
63
+ // A new thread might be created here, but the properties will never be fetched.
64
+ return chatThreadClientDeclaratify(chatThreadClient, context);
65
+ };
66
+ }
67
+ case 'startRealtimeNotifications':
68
+ {
69
+ return context.withAsyncErrorTeedToState(function (...args) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ const ret = yield chatClient.startRealtimeNotifications(...args);
72
+ if (!receiver.eventSubscriber) {
73
+ receiver.eventSubscriber = new EventSubscriber(chatClient, context);
74
+ }
75
+ return ret;
76
+ });
77
+ }, 'ChatClient.startRealtimeNotifications');
78
+ }
79
+ case 'stopRealtimeNotifications':
80
+ {
81
+ return context.withAsyncErrorTeedToState(function (...args) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ const ret = yield chatClient.stopRealtimeNotifications(...args);
84
+ if (receiver.eventSubscriber) {
85
+ receiver.eventSubscriber.unsubscribe();
86
+ receiver.eventSubscriber = undefined;
87
+ }
88
+ return ret;
89
+ });
90
+ }, 'ChatClient.stopRealtimeNotifications');
91
+ }
84
92
  default:
85
93
  return Reflect.get(chatClient, prop);
86
94
  }
@@ -95,7 +103,9 @@ const proxyChatClient = {
95
103
  */
96
104
  export const createStatefulChatClient = (args, options) => {
97
105
  chatStatefulLogger.info(`Creating chat stateful client using library version: ${_getApplicationId()}`);
98
- const tweakedOptions = Object.assign(Object.assign({}, options), { chatClientOptions: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.chatClientOptions), { userAgentOptions: { userAgentPrefix: _getApplicationId() } }) });
106
+ const tweakedOptions = Object.assign(Object.assign({}, options), { chatClientOptions: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.chatClientOptions), { userAgentOptions: {
107
+ userAgentPrefix: _getApplicationId()
108
+ } }) });
99
109
  return _createStatefulChatClientWithDeps(new ChatClient(args.endpoint, args.credential, tweakedOptions.chatClientOptions), args, tweakedOptions);
100
110
  };
101
111
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"StatefulChatClient.js","sourceRoot":"","sources":["../../../../../chat-stateful-client/src/StatefulChatClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ChatClient, ChatClientOptions } from '@azure/communication-chat';\nimport { _getApplicationId } from '@internal/acs-ui-common';\nimport { ChatContext } from './ChatContext';\nimport { ChatClientState } from './ChatClientState';\nimport { EventSubscriber } from './EventSubscriber';\nimport { chatThreadClientDeclaratify } from './StatefulChatThreadClient';\nimport { createDecoratedListThreads } from './iterators/createDecoratedListThreads';\nimport {\n CommunicationTokenCredential,\n CommunicationUserIdentifier,\n getIdentifierKind\n} from '@azure/communication-common';\nimport { chatStatefulLogger } from './Logger';\n\n/**\n * Defines the methods that allow {@Link @azure/communication-chat#ChatClient} to be used with a centralized generated state.\n *\n * The interface provides access to proxied state and also allows registering a handler for state change events.\n *\n * @public\n */\nexport interface StatefulChatClient extends ChatClient {\n /**\n * Holds all the state that we could proxy from ChatClient {@Link @azure/communication-chat#ChatClient} as\n * ChatClientState {@Link ChatClientState}.\n */\n getState(): ChatClientState;\n /**\n * Allows a handler to be registered for 'stateChanged' events.\n *\n * @param handler - Callback to receive the state.\n */\n onStateChange(handler: (state: ChatClientState) => void): void;\n /**\n * Allows unregistering for 'stateChanged' events.\n *\n * @param handler - Original callback to be unsubscribed.\n */\n offStateChange(handler: (state: ChatClientState) => void): void;\n}\n\ninterface StatefulChatClientWithPrivateProps extends StatefulChatClient {\n context: ChatContext;\n eventSubscriber: EventSubscriber | undefined;\n}\n\nconst proxyChatClient: ProxyHandler<ChatClient> = {\n get: function <P extends keyof StatefulChatClientWithPrivateProps>(\n chatClient: ChatClient,\n prop: P,\n receiver: StatefulChatClientWithPrivateProps\n ) {\n // skip receiver.context call to avoid recursive bugs\n if (prop === 'context') {\n return Reflect.get(chatClient, prop);\n }\n\n const context = receiver.context;\n switch (prop) {\n case 'createChatThread': {\n return context.withAsyncErrorTeedToState(async function (...args: Parameters<ChatClient['createChatThread']>) {\n const result = await chatClient.createChatThread(...args);\n const thread = result.chatThread;\n if (thread) {\n const [request] = args;\n context.createThread(thread.id, { topic: request.topic });\n }\n return result;\n }, 'ChatClient.createChatThread');\n }\n\n case 'deleteChatThread': {\n return context.withAsyncErrorTeedToState(async function (...args: Parameters<ChatClient['deleteChatThread']>) {\n const result = await chatClient.deleteChatThread(...args);\n context.deleteThread(args[0]);\n return result;\n }, 'ChatClient.deleteChatThread');\n }\n case 'listChatThreads': {\n return createDecoratedListThreads(chatClient, context);\n }\n case 'getChatThreadClient': {\n return function (...args: Parameters<ChatClient['getChatThreadClient']>) {\n const chatThreadClient = chatClient.getChatThreadClient(...args);\n // TODO(prprabhu): Ensure that thread properties are fetched into the ChatContext at this point.\n // A new thread might be created here, but the properties will never be fetched.\n return chatThreadClientDeclaratify(chatThreadClient, context);\n };\n }\n case 'startRealtimeNotifications': {\n return context.withAsyncErrorTeedToState(async function (\n ...args: Parameters<ChatClient['startRealtimeNotifications']>\n ) {\n const ret = await chatClient.startRealtimeNotifications(...args);\n if (!receiver.eventSubscriber) {\n receiver.eventSubscriber = new EventSubscriber(chatClient, context);\n }\n return ret;\n },\n 'ChatClient.startRealtimeNotifications');\n }\n case 'stopRealtimeNotifications': {\n return context.withAsyncErrorTeedToState(async function (\n ...args: Parameters<ChatClient['stopRealtimeNotifications']>\n ) {\n const ret = await chatClient.stopRealtimeNotifications(...args);\n if (receiver.eventSubscriber) {\n receiver.eventSubscriber.unsubscribe();\n receiver.eventSubscriber = undefined;\n }\n return ret;\n },\n 'ChatClient.stopRealtimeNotifications');\n }\n default:\n return Reflect.get(chatClient, prop);\n }\n }\n};\n\n/**\n * Arguments to construct the {@link StatefulChatClient}.\n *\n * @public\n */\nexport type StatefulChatClientArgs = {\n userId: CommunicationUserIdentifier;\n displayName: string;\n endpoint: string;\n credential: CommunicationTokenCredential;\n};\n\n/**\n * Options to construct the {@link StatefulChatClient}.\n *\n * @public\n */\nexport type StatefulChatClientOptions = {\n /**\n * Options to construct the {@link @azure/communication-chat#ChatClient} with.\n */\n chatClientOptions: ChatClientOptions;\n /**\n * Sets the max listeners limit of the 'stateChange' event. Defaults to the node.js EventEmitter.defaultMaxListeners\n * if not specified.\n */\n maxStateChangeListeners?: number;\n};\n\n/**\n * Creates a stateful ChatClient {@link StatefulChatClient} by proxying ChatClient\n * {@link @azure/communication-chat#ChatClient} with ProxyChatClient {@link ProxyChatClient} which then allows access\n * to state in a declarative way.\n *\n * @public\n */\nexport const createStatefulChatClient = (\n args: StatefulChatClientArgs,\n options?: StatefulChatClientOptions\n): StatefulChatClient => {\n chatStatefulLogger.info(`Creating chat stateful client using library version: ${_getApplicationId()}`);\n const tweakedOptions = {\n ...options,\n chatClientOptions: {\n ...options?.chatClientOptions,\n userAgentOptions: { userAgentPrefix: _getApplicationId() }\n }\n };\n return _createStatefulChatClientWithDeps(\n new ChatClient(args.endpoint, args.credential, tweakedOptions.chatClientOptions),\n args,\n tweakedOptions\n );\n};\n\n/**\n * A function to modify the state of the StatefulChatClient.\n *\n * Provided as a callback to the {@link StatefulChatClient.modifyState} method.\n *\n * The function must modify the provided state in place as much as possible.\n * Making large modifications can lead to bad performance by causing spurious rerendering of the UI.\n *\n * Consider using commonly used modifier functions exported from this package.\n */\nexport type ChatStateModifier = (state: ChatClientState) => void;\n\n/**\n * Internal implementation of {@link createStatefulChatClient} for dependency injection.\n *\n * Used by tests. Should not be exported out of this package.\n * @internal\n */\nexport const _createStatefulChatClientWithDeps = (\n chatClient: ChatClient,\n args: StatefulChatClientArgs,\n options?: StatefulChatClientOptions\n): StatefulChatClient => {\n const context = new ChatContext(options?.maxStateChangeListeners);\n let eventSubscriber: EventSubscriber;\n\n context.updateChatConfig(getIdentifierKind(args.userId), args.displayName);\n\n const proxy = new Proxy(chatClient, proxyChatClient);\n\n Object.defineProperty(proxy, 'context', {\n configurable: false,\n get: () => context\n });\n\n Object.defineProperty(proxy, 'eventSubscriber', {\n configurable: false,\n get: () => eventSubscriber,\n set: (val: EventSubscriber) => {\n eventSubscriber = val;\n }\n });\n\n Object.defineProperty(proxy, 'getState', {\n configurable: false,\n value: () => context?.getState()\n });\n Object.defineProperty(proxy, 'onStateChange', {\n configurable: false,\n value: (handler: (state: ChatClientState) => void) => context?.onStateChange(handler)\n });\n Object.defineProperty(proxy, 'offStateChange', {\n configurable: false,\n value: (handler: (state: ChatClientState) => void) => context?.offStateChange(handler)\n });\n\n return proxy as StatefulChatClient;\n};\n\"../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"StatefulChatClient.js","sourceRoot":"","sources":["../../../../preprocess-dist/chat-stateful-client/src/StatefulChatClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { ChatClient, ChatClientOptions } from '@azure/communication-chat';\nimport { _getApplicationId } from '@internal/acs-ui-common';\nimport { ChatContext } from './ChatContext';\nimport { ChatClientState } from './ChatClientState';\nimport { EventSubscriber } from './EventSubscriber';\nimport { chatThreadClientDeclaratify } from './StatefulChatThreadClient';\nimport { createDecoratedListThreads } from './iterators/createDecoratedListThreads';\nimport { CommunicationTokenCredential, CommunicationUserIdentifier, getIdentifierKind } from '@azure/communication-common';\nimport { chatStatefulLogger } from './Logger';\n\n/**\n * Defines the methods that allow {@Link @azure/communication-chat#ChatClient} to be used with a centralized generated state.\n *\n * The interface provides access to proxied state and also allows registering a handler for state change events.\n *\n * @public\n */\nexport interface StatefulChatClient extends ChatClient {\n /**\n * Holds all the state that we could proxy from ChatClient {@Link @azure/communication-chat#ChatClient} as\n * ChatClientState {@Link ChatClientState}.\n */\n getState(): ChatClientState;\n /**\n * Allows a handler to be registered for 'stateChanged' events.\n *\n * @param handler - Callback to receive the state.\n */\n onStateChange(handler: (state: ChatClientState) => void): void;\n /**\n * Allows unregistering for 'stateChanged' events.\n *\n * @param handler - Original callback to be unsubscribed.\n */\n offStateChange(handler: (state: ChatClientState) => void): void;\n}\ninterface StatefulChatClientWithPrivateProps extends StatefulChatClient {\n context: ChatContext;\n eventSubscriber: EventSubscriber | undefined;\n}\nconst proxyChatClient: ProxyHandler<ChatClient> = {\n get: function <P extends keyof StatefulChatClientWithPrivateProps>(chatClient: ChatClient, prop: P, receiver: StatefulChatClientWithPrivateProps) {\n // skip receiver.context call to avoid recursive bugs\n if (prop === 'context') {\n return Reflect.get(chatClient, prop);\n }\n const context = receiver.context;\n switch (prop) {\n case 'createChatThread':\n {\n return context.withAsyncErrorTeedToState(async function (...args: Parameters<ChatClient['createChatThread']>) {\n const result = await chatClient.createChatThread(...args);\n const thread = result.chatThread;\n if (thread) {\n const [request] = args;\n context.createThread(thread.id, {\n topic: request.topic\n });\n }\n return result;\n }, 'ChatClient.createChatThread');\n }\n case 'deleteChatThread':\n {\n return context.withAsyncErrorTeedToState(async function (...args: Parameters<ChatClient['deleteChatThread']>) {\n const result = await chatClient.deleteChatThread(...args);\n context.deleteThread(args[0]);\n return result;\n }, 'ChatClient.deleteChatThread');\n }\n case 'listChatThreads':\n {\n return createDecoratedListThreads(chatClient, context);\n }\n case 'getChatThreadClient':\n {\n return function (...args: Parameters<ChatClient['getChatThreadClient']>) {\n const chatThreadClient = chatClient.getChatThreadClient(...args);\n // TODO(prprabhu): Ensure that thread properties are fetched into the ChatContext at this point.\n // A new thread might be created here, but the properties will never be fetched.\n return chatThreadClientDeclaratify(chatThreadClient, context);\n };\n }\n case 'startRealtimeNotifications':\n {\n return context.withAsyncErrorTeedToState(async function (...args: Parameters<ChatClient['startRealtimeNotifications']>) {\n const ret = await chatClient.startRealtimeNotifications(...args);\n if (!receiver.eventSubscriber) {\n receiver.eventSubscriber = new EventSubscriber(chatClient, context);\n }\n return ret;\n }, 'ChatClient.startRealtimeNotifications');\n }\n case 'stopRealtimeNotifications':\n {\n return context.withAsyncErrorTeedToState(async function (...args: Parameters<ChatClient['stopRealtimeNotifications']>) {\n const ret = await chatClient.stopRealtimeNotifications(...args);\n if (receiver.eventSubscriber) {\n receiver.eventSubscriber.unsubscribe();\n receiver.eventSubscriber = undefined;\n }\n return ret;\n }, 'ChatClient.stopRealtimeNotifications');\n }\n default:\n return Reflect.get(chatClient, prop);\n }\n }\n};\n\n/**\n * Arguments to construct the {@link StatefulChatClient}.\n *\n * @public\n */\nexport type StatefulChatClientArgs = {\n userId: CommunicationUserIdentifier;\n displayName: string;\n endpoint: string;\n credential: CommunicationTokenCredential;\n};\n\n/**\n * Options to construct the {@link StatefulChatClient}.\n *\n * @public\n */\nexport type StatefulChatClientOptions = {\n /**\n * Options to construct the {@link @azure/communication-chat#ChatClient} with.\n */\n chatClientOptions: ChatClientOptions;\n /**\n * Sets the max listeners limit of the 'stateChange' event. Defaults to the node.js EventEmitter.defaultMaxListeners\n * if not specified.\n */\n maxStateChangeListeners?: number;\n};\n\n/**\n * Creates a stateful ChatClient {@link StatefulChatClient} by proxying ChatClient\n * {@link @azure/communication-chat#ChatClient} with ProxyChatClient {@link ProxyChatClient} which then allows access\n * to state in a declarative way.\n *\n * @public\n */\nexport const createStatefulChatClient = (args: StatefulChatClientArgs, options?: StatefulChatClientOptions): StatefulChatClient => {\n chatStatefulLogger.info(`Creating chat stateful client using library version: ${_getApplicationId()}`);\n const tweakedOptions = {\n ...options,\n chatClientOptions: {\n ...options?.chatClientOptions,\n userAgentOptions: {\n userAgentPrefix: _getApplicationId()\n }\n }\n };\n return _createStatefulChatClientWithDeps(new ChatClient(args.endpoint, args.credential, tweakedOptions.chatClientOptions), args, tweakedOptions);\n};\n\n/**\n * A function to modify the state of the StatefulChatClient.\n *\n * Provided as a callback to the {@link StatefulChatClient.modifyState} method.\n *\n * The function must modify the provided state in place as much as possible.\n * Making large modifications can lead to bad performance by causing spurious rerendering of the UI.\n *\n * Consider using commonly used modifier functions exported from this package.\n */\nexport type ChatStateModifier = (state: ChatClientState) => void;\n\n/**\n * Internal implementation of {@link createStatefulChatClient} for dependency injection.\n *\n * Used by tests. Should not be exported out of this package.\n * @internal\n */\nexport const _createStatefulChatClientWithDeps = (chatClient: ChatClient, args: StatefulChatClientArgs, options?: StatefulChatClientOptions): StatefulChatClient => {\n const context = new ChatContext(options?.maxStateChangeListeners);\n let eventSubscriber: EventSubscriber;\n context.updateChatConfig(getIdentifierKind(args.userId), args.displayName);\n const proxy = new Proxy(chatClient, proxyChatClient);\n Object.defineProperty(proxy, 'context', {\n configurable: false,\n get: () => context\n });\n Object.defineProperty(proxy, 'eventSubscriber', {\n configurable: false,\n get: () => eventSubscriber,\n set: (val: EventSubscriber) => {\n eventSubscriber = val;\n }\n });\n Object.defineProperty(proxy, 'getState', {\n configurable: false,\n value: () => context?.getState()\n });\n Object.defineProperty(proxy, 'onStateChange', {\n configurable: false,\n value: (handler: (state: ChatClientState) => void) => context?.onStateChange(handler)\n });\n Object.defineProperty(proxy, 'offStateChange', {\n configurable: false,\n value: (handler: (state: ChatClientState) => void) => context?.offStateChange(handler)\n });\n return (proxy as StatefulChatClient);\n};\"../../acs-ui-common/src\""]}
@@ -21,119 +21,133 @@ class ProxyChatThreadClient {
21
21
  }
22
22
  get(chatThreadClient, prop) {
23
23
  switch (prop) {
24
- case 'listMessages': {
25
- return createDecoratedListMessages(chatThreadClient, this._context);
26
- }
27
- case 'getMessage': {
28
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
29
- const message = yield chatThreadClient.getMessage(...args);
30
- this._context.setChatMessage(chatThreadClient.threadId, convertChatMessage(message));
31
- return message;
32
- }), 'ChatThreadClient.getMessage');
33
- }
34
- case 'sendMessage': {
35
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
36
- // Retry logic?
37
- const [request, options] = args;
38
- const { content } = request;
39
- const clientMessageId = nanoid(); // Generate a local short uuid for message
40
- const newMessage = {
41
- content: { message: content },
42
- clientMessageId,
43
- id: '',
44
- type: 'text',
45
- sequenceId: '',
46
- version: '',
47
- createdOn: new Date(),
48
- status: 'sending',
49
- senderDisplayName: this._context.getState().displayName,
50
- sender: this._context.getState().userId,
51
- metadata: options === null || options === void 0 ? void 0 : options.metadata
52
- };
53
- this._context.setChatMessage(chatThreadClient.threadId, newMessage);
54
- let result = undefined;
55
- try {
56
- result = yield chatThreadClient.sendMessage(...args);
57
- }
58
- catch (e) {
59
- this._context.setChatMessage(chatThreadClient.threadId, Object.assign(Object.assign({}, newMessage), { status: 'failed' }));
60
- throw e;
61
- }
62
- if (result === null || result === void 0 ? void 0 : result.id) {
63
- this._context.batch(() => {
64
- if (!result) {
65
- return;
66
- }
67
- this._context.setChatMessage(chatThreadClient.threadId, Object.assign(Object.assign({}, newMessage), { clientMessageId: undefined, status: 'delivered', id: result.id }));
68
- this._context.deleteLocalMessage(chatThreadClient.threadId, clientMessageId);
69
- });
70
- }
71
- return result;
72
- }), 'ChatThreadClient.sendMessage');
73
- }
74
- case 'addParticipants': {
75
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
76
- const result = yield chatThreadClient.addParticipants(...args);
77
- const [addRequest] = args;
78
- const participantsToAdd = addRequest.participants;
79
- this._context.setParticipants(chatThreadClient.threadId, participantsToAdd);
80
- return result;
81
- }), 'ChatThreadClient.addParticipants');
82
- }
83
- case 'deleteMessage': {
84
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
85
- // DeleteMessage is able to either delete local one(for failed message) or synced message
86
- const [messageId] = args;
87
- if (this._context.deleteLocalMessage(chatThreadClient.threadId, messageId)) {
88
- return {};
89
- }
90
- const result = yield chatThreadClient.deleteMessage(...args);
91
- this._context.deleteMessage(chatThreadClient.threadId, messageId);
92
- return result;
93
- }), 'ChatThreadClient.deleteMessage');
94
- }
95
- case 'listParticipants': {
96
- return createDecoratedListParticipants(chatThreadClient, this._context);
97
- }
98
- case 'listReadReceipts': {
99
- return createDecoratedListReadReceipts(chatThreadClient, this._context);
100
- }
101
- case 'sendTypingNotification': {
102
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
103
- return yield chatThreadClient.sendTypingNotification(...args);
104
- }), 'ChatThreadClient.sendTypingNotification');
105
- }
106
- case 'removeParticipant': {
107
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
108
- const result = yield chatThreadClient.removeParticipant(...args);
109
- const [removeIdentifier] = args;
110
- this._context.deleteParticipant(chatThreadClient.threadId, getIdentifierKind(removeIdentifier));
111
- return result;
112
- }), 'ChatThreadClient.removeParticipant');
113
- }
114
- case 'updateMessage': {
115
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
116
- const result = yield chatThreadClient.updateMessage(...args);
117
- const [messageId, updateOption] = args;
118
- this._context.updateChatMessageContent(chatThreadClient.threadId, messageId, updateOption === null || updateOption === void 0 ? void 0 : updateOption.content);
119
- return result;
120
- }), 'ChatThreadClient.updateMessage');
121
- }
122
- case 'updateTopic': {
123
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
124
- const result = yield chatThreadClient.updateTopic(...args);
125
- const [topic] = args;
126
- this._context.updateThreadTopic(chatThreadClient.threadId, topic);
127
- return result;
128
- }), 'ChatThreadClient.updateTopic');
129
- }
130
- case 'getProperties': {
131
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
132
- const result = yield chatThreadClient.getProperties(...args);
133
- this._context.updateThread(chatThreadClient.threadId, result);
134
- return result;
135
- }), 'ChatThreadClient.getProperties');
136
- }
24
+ case 'listMessages':
25
+ {
26
+ return createDecoratedListMessages(chatThreadClient, this._context);
27
+ }
28
+ case 'getMessage':
29
+ {
30
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
31
+ const message = yield chatThreadClient.getMessage(...args);
32
+ this._context.setChatMessage(chatThreadClient.threadId, convertChatMessage(message));
33
+ return message;
34
+ }), 'ChatThreadClient.getMessage');
35
+ }
36
+ case 'sendMessage':
37
+ {
38
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
39
+ // Retry logic?
40
+ const [request, options] = args;
41
+ const { content } = request;
42
+ const clientMessageId = nanoid(); // Generate a local short uuid for message
43
+ const newMessage = {
44
+ content: {
45
+ message: content
46
+ },
47
+ clientMessageId,
48
+ id: '',
49
+ type: 'text',
50
+ sequenceId: '',
51
+ version: '',
52
+ createdOn: new Date(),
53
+ status: 'sending',
54
+ senderDisplayName: this._context.getState().displayName,
55
+ sender: this._context.getState().userId,
56
+ metadata: options === null || options === void 0 ? void 0 : options.metadata
57
+ };
58
+ this._context.setChatMessage(chatThreadClient.threadId, newMessage);
59
+ let result = undefined;
60
+ try {
61
+ result = yield chatThreadClient.sendMessage(...args);
62
+ }
63
+ catch (e) {
64
+ this._context.setChatMessage(chatThreadClient.threadId, Object.assign(Object.assign({}, newMessage), { status: 'failed' }));
65
+ throw e;
66
+ }
67
+ if (result === null || result === void 0 ? void 0 : result.id) {
68
+ this._context.batch(() => {
69
+ if (!result) {
70
+ return;
71
+ }
72
+ this._context.setChatMessage(chatThreadClient.threadId, Object.assign(Object.assign({}, newMessage), { clientMessageId: undefined, status: 'delivered', id: result.id }));
73
+ this._context.deleteLocalMessage(chatThreadClient.threadId, clientMessageId);
74
+ });
75
+ }
76
+ return result;
77
+ }), 'ChatThreadClient.sendMessage');
78
+ }
79
+ case 'addParticipants':
80
+ {
81
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
82
+ const result = yield chatThreadClient.addParticipants(...args);
83
+ const [addRequest] = args;
84
+ const participantsToAdd = addRequest.participants;
85
+ this._context.setParticipants(chatThreadClient.threadId, participantsToAdd);
86
+ return result;
87
+ }), 'ChatThreadClient.addParticipants');
88
+ }
89
+ case 'deleteMessage':
90
+ {
91
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
92
+ // DeleteMessage is able to either delete local one(for failed message) or synced message
93
+ const [messageId] = args;
94
+ if (this._context.deleteLocalMessage(chatThreadClient.threadId, messageId)) {
95
+ return {};
96
+ }
97
+ const result = yield chatThreadClient.deleteMessage(...args);
98
+ this._context.deleteMessage(chatThreadClient.threadId, messageId);
99
+ return result;
100
+ }), 'ChatThreadClient.deleteMessage');
101
+ }
102
+ case 'listParticipants':
103
+ {
104
+ return createDecoratedListParticipants(chatThreadClient, this._context);
105
+ }
106
+ case 'listReadReceipts':
107
+ {
108
+ return createDecoratedListReadReceipts(chatThreadClient, this._context);
109
+ }
110
+ case 'sendTypingNotification':
111
+ {
112
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
113
+ return yield chatThreadClient.sendTypingNotification(...args);
114
+ }), 'ChatThreadClient.sendTypingNotification');
115
+ }
116
+ case 'removeParticipant':
117
+ {
118
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
119
+ const result = yield chatThreadClient.removeParticipant(...args);
120
+ const [removeIdentifier] = args;
121
+ this._context.deleteParticipant(chatThreadClient.threadId, getIdentifierKind(removeIdentifier));
122
+ return result;
123
+ }), 'ChatThreadClient.removeParticipant');
124
+ }
125
+ case 'updateMessage':
126
+ {
127
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
128
+ const result = yield chatThreadClient.updateMessage(...args);
129
+ const [messageId, updateOption] = args;
130
+ this._context.updateChatMessageContent(chatThreadClient.threadId, messageId, updateOption === null || updateOption === void 0 ? void 0 : updateOption.content);
131
+ return result;
132
+ }), 'ChatThreadClient.updateMessage');
133
+ }
134
+ case 'updateTopic':
135
+ {
136
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
137
+ const result = yield chatThreadClient.updateTopic(...args);
138
+ const [topic] = args;
139
+ this._context.updateThreadTopic(chatThreadClient.threadId, topic);
140
+ return result;
141
+ }), 'ChatThreadClient.updateTopic');
142
+ }
143
+ case 'getProperties':
144
+ {
145
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
146
+ const result = yield chatThreadClient.getProperties(...args);
147
+ this._context.updateThread(chatThreadClient.threadId, result);
148
+ return result;
149
+ }), 'ChatThreadClient.getProperties');
150
+ }
137
151
  default:
138
152
  return Reflect.get(chatThreadClient, prop);
139
153
  }