@azure/communication-react 1.4.0 → 1.4.2-alpha-202211010021.0

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 (770) hide show
  1. package/CHANGELOG.md +0 -1
  2. package/dist/communication-react.d.ts +1537 -26
  3. package/dist/dist-cjs/communication-react/index.js +9966 -6538
  4. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/identifier.js +7 -24
  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 +2 -1
  15. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/logEvent.js +2 -0
  17. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/safeStringify.js +2 -1
  20. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +4 -0
  25. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +5 -0
  26. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +13 -0
  28. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +27 -9
  29. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +22 -46
  31. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +9 -0
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +71 -34
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +5 -1
  38. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +29 -0
  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 +4 -1
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -0
  43. package/dist/dist-esm/calling-component-bindings/src/index.js +4 -0
  44. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +17 -7
  46. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js +2 -0
  48. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js +2 -0
  50. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +8 -3
  52. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js +2 -0
  56. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +4 -2
  58. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  60. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +13 -4
  61. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +21 -5
  63. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  64. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +12 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js +70 -70
  66. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  67. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +17 -1
  68. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js +4 -1
  69. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +4 -0
  71. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +60 -10
  72. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +65 -72
  74. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js +2 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  79. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +19 -8
  80. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/Converter.js +11 -8
  82. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +58 -55
  84. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -16
  86. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.d.ts +1 -2
  88. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js +4 -1
  89. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +11 -18
  91. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +1 -0
  94. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +12 -1
  95. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +4 -1
  97. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +1 -0
  99. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +14 -2
  100. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +23 -0
  102. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +36 -36
  103. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +21 -23
  105. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js +4 -1
  107. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  108. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +5 -3
  109. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +2 -0
  111. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  112. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +6 -4
  113. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  114. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  115. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  116. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +21 -18
  117. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  118. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +4 -1
  119. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +11 -13
  120. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  121. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  122. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  123. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js +4 -1
  124. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  125. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  126. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +48 -13
  127. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  128. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  129. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  130. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  131. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js +2 -0
  132. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +5 -8
  134. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +7 -2
  136. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  137. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  139. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js +4 -1
  140. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  141. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +17 -16
  142. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  143. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  144. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +16 -15
  145. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  146. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  147. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +59 -68
  148. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  149. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +115 -121
  150. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  151. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +2 -0
  152. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  153. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js +2 -0
  155. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  156. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js +2 -0
  157. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js +2 -0
  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 +2 -0
  161. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js +2 -0
  163. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js +2 -0
  165. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  166. package/dist/dist-esm/communication-react/src/index.d.ts +16 -0
  167. package/dist/dist-esm/communication-react/src/index.js +10 -0
  168. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  169. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  171. package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.d.ts +69 -0
  172. package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.js +35 -0
  173. package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.js.map +1 -0
  174. package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.d.ts +75 -0
  175. package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.js +57 -0
  176. package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.js.map +1 -0
  177. package/dist/dist-esm/react-components/src/components/CameraButton.js +10 -9
  178. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
  180. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +38 -17
  182. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +12 -5
  184. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +26 -31
  186. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +63 -28
  188. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +9 -12
  190. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  192. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +19 -10
  194. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +4 -3
  196. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ControlBar.js +13 -15
  201. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  203. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +6 -15
  205. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js +5 -8
  207. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/DevicesButton.js +7 -30
  209. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +48 -48
  211. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/DomainPermissions.d.ts +57 -0
  213. package/dist/dist-esm/react-components/src/components/DomainPermissions.js +47 -0
  214. package/dist/dist-esm/react-components/src/components/DomainPermissions.js.map +1 -0
  215. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  217. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +12 -9
  219. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  221. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -3
  223. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/EndCallButton.js +5 -8
  226. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/ErrorBar.js +4 -6
  228. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/FileCard.js +4 -4
  230. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  232. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +14 -10
  234. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +10 -8
  236. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/GridLayout.js +55 -44
  238. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +4 -3
  240. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
  242. package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
  243. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
  244. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -8
  245. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +6 -12
  247. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  249. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +28 -9
  251. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +27 -36
  253. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +23 -1
  255. package/dist/dist-esm/react-components/src/components/MessageThread.js +182 -110
  256. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -11
  258. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +137 -137
  260. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +15 -0
  262. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +19 -16
  263. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/ParticipantList.js +25 -9
  265. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +44 -31
  267. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  269. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  271. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +18 -5
  273. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  274. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +6 -4
  275. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -12
  277. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +35 -0
  279. package/dist/dist-esm/react-components/src/components/SendBox.js +37 -10
  280. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +4 -3
  282. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/StreamMedia.js +5 -4
  285. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  287. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  288. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.d.ts +2 -1
  289. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +28 -16
  290. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +15 -9
  292. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +32 -0
  294. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +33 -0
  295. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -0
  296. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  297. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  299. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +13 -6
  303. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/VideoGallery.js +97 -44
  305. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +7 -0
  307. package/dist/dist-esm/react-components/src/components/VideoTile.js +28 -31
  308. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +4 -10
  310. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +1 -1
  311. package/dist/dist-esm/react-components/src/components/index.d.ts +13 -0
  312. package/dist/dist-esm/react-components/src/components/index.js +10 -0
  313. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  315. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  316. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  317. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
  318. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js +2 -0
  320. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.d.ts +34 -0
  323. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js +83 -0
  324. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js.map +1 -0
  325. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  327. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js +2 -0
  328. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
  331. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +10 -11
  334. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +0 -1
  336. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
  339. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
  341. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +0 -1
  344. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.d.ts +22 -0
  347. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js +53 -0
  348. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js.map +1 -0
  349. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +18 -39
  350. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +10 -4
  354. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/utils/common.js +6 -0
  356. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js +10 -5
  359. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -7
  361. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  364. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  367. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/utils.js +15 -11
  369. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +21 -13
  371. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  374. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/index.d.ts +2 -0
  376. package/dist/dist-esm/react-components/src/index.js +2 -0
  377. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +26 -0
  379. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -1
  382. package/dist/dist-esm/react-components/src/localization/locales/index.js +16 -42
  383. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +60 -0
  385. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +74 -0
  386. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -0
  387. package/dist/dist-esm/react-components/src/permissions/index.d.ts +2 -0
  388. package/dist/dist-esm/react-components/src/permissions/index.js +4 -0
  389. package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -0
  390. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +7 -8
  391. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/theming/icons.d.ts +12 -0
  393. package/dist/dist-esm/react-components/src/theming/icons.js +101 -12
  394. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/theming/themeUtils.js +4 -1
  397. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/theming/themes.js +2 -0
  399. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +7 -0
  401. package/dist/dist-esm/react-components/src/types/ChatMessage.js +2 -0
  402. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  403. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js +2 -0
  405. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +3 -0
  407. package/dist/dist-esm/react-components/src/types/OnRender.js +2 -0
  408. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +2 -0
  410. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +6 -0
  413. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +81 -0
  416. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +107 -19
  417. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  418. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +120 -0
  419. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +28 -4
  421. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +148 -41
  422. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  423. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +44 -1
  424. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +11 -1
  425. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  426. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  427. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  428. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -0
  430. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  431. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -0
  432. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +74 -10
  433. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  434. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -0
  435. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +136 -13
  436. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  437. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +24 -0
  438. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +80 -0
  439. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -0
  440. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.d.ts +1 -0
  441. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js +23 -0
  442. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js.map +1 -1
  443. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.d.ts +28 -0
  444. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js +32 -0
  445. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js.map +1 -0
  446. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.d.ts +1 -0
  447. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js +25 -0
  448. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js.map +1 -1
  449. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  450. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  451. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +12 -0
  452. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
  453. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
  454. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +3 -3
  455. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  456. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +35 -23
  457. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  458. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  459. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +69 -20
  460. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  461. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +16 -21
  462. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  463. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +4 -14
  464. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  466. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +4 -3
  468. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  469. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  470. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  471. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  472. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  473. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +17 -0
  474. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +63 -0
  475. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -0
  476. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +41 -4
  477. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  478. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  479. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  480. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +12 -8
  481. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  482. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  483. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  484. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +8 -0
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +3 -1
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +7 -9
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +29 -6
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +16 -0
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +38 -0
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +1 -0
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -0
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +10 -4
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +8 -0
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +110 -12
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +15 -0
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +36 -0
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +1 -0
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +21 -8
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +13 -0
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +26 -0
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +2 -0
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +13 -6
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +3 -1
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +2 -0
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -2
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +2 -2
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +2 -2
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.d.ts +6 -2
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +11 -10
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -6
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js +2 -0
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +4 -2
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -4
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +3 -4
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js +2 -0
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +23 -3
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js +2 -0
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +51 -17
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  585. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +78 -4
  586. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +77 -18
  587. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  588. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +1 -0
  589. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +43 -16
  590. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +2 -0
  592. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +35 -13
  593. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  594. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +1 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js +11 -7
  597. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js +2 -0
  599. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +67 -0
  601. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +75 -0
  602. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +1 -0
  603. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js +3 -6
  604. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.d.ts +1 -0
  608. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
  610. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +22 -4
  612. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +138 -10
  613. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +56 -0
  615. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +9 -2
  617. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +36 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  619. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +9 -0
  620. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +34 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +4 -2
  623. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +13 -0
  625. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +65 -0
  626. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +1 -0
  627. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +67 -21
  628. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
  629. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js +2 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  631. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -0
  632. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  633. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +3 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +11 -0
  636. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
  637. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -2
  639. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +2 -13
  640. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  641. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
  642. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +8 -2
  643. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  645. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +41 -9
  647. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  648. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  649. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  650. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  651. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +15 -0
  652. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +21 -0
  653. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -0
  654. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
  655. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +9 -0
  657. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +111 -36
  658. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +28 -0
  660. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +156 -1
  661. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  662. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +13 -2
  663. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js +2 -0
  664. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  665. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +7 -0
  666. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +18 -6
  669. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js +2 -0
  671. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +6 -6
  674. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +5 -1
  676. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  678. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
  679. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
  680. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
  681. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +3 -0
  682. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
  684. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +13 -0
  685. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
  686. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +23 -0
  687. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +12 -0
  688. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -0
  689. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  690. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +5 -1
  692. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -6
  693. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +22 -0
  695. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +105 -0
  696. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
  697. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
  698. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
  699. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
  700. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +10 -4
  701. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  702. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +6 -14
  703. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
  705. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +60 -0
  706. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
  707. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
  708. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
  709. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
  710. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +3 -5
  711. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +22 -6
  713. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  714. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +6 -8
  717. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  718. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +7 -1
  719. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +26 -7
  720. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +17 -0
  722. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +42 -0
  723. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -0
  724. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +11 -0
  725. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +40 -0
  726. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -0
  727. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +2 -1
  728. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +6 -18
  729. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -1
  731. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +10 -8
  732. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +25 -1
  735. package/dist/dist-esm/react-composites/src/composites/common/icons.js +21 -6
  736. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js +2 -0
  738. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +5 -16
  740. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -51
  742. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  743. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +5 -22
  744. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +6 -22
  746. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  748. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/index.js +2 -0
  750. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  752. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -2
  755. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -2
  756. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -2
  757. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -2
  758. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +2 -0
  759. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -2
  761. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -2
  762. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +2 -2
  763. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -2
  764. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -2
  765. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -2
  766. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -2
  767. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -2
  768. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -2
  769. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  770. package/package.json +14 -14
@@ -1,4 +1,5 @@
1
1
  import { AudioDeviceInfo, CallDirection, CallEndReason, CallerInfo, CallState as CallStatus, DeviceAccess, DominantSpeakersInfo, LatestMediaDiagnostics, LatestNetworkDiagnostics, MediaStreamType, RemoteParticipantState as RemoteParticipantStatus, ScalingMode, VideoDeviceInfo } from '@azure/communication-calling';
2
+ import { ParticipantRole } from '@azure/communication-calling';
2
3
  import { CommunicationUserKind, MicrosoftTeamsUserKind, PhoneNumberKind, UnknownIdentifierKind, CommunicationIdentifierKind } from '@azure/communication-common';
3
4
  /**
4
5
  * State only version of {@link @azure/communication-calling#CallAgent} except calls is moved to be a child directly of
@@ -81,6 +82,7 @@ export interface RemoteVideoStreamState {
81
82
  * Proxy of {@link @azure/communication-calling#RemoteVideoStream.isReceiving}.
82
83
  * @beta
83
84
  */
85
+ isReceiving: boolean;
84
86
  /**
85
87
  * {@link VideoStreamRendererView} that is managed by createView/disposeView in {@link StatefulCallClient}
86
88
  * API. This can be undefined if the stream has not yet been rendered and defined after createView creates the view.
@@ -145,6 +147,10 @@ export interface RemoteParticipantState {
145
147
  * Proxy of {@link @azure/communication-calling#RemoteParticipant.isSpeaking}.
146
148
  */
147
149
  isSpeaking: boolean;
150
+ /**
151
+ * Proxy of {@link @azure/communication-calling#RemoteParticipant.role}.
152
+ */
153
+ role?: ParticipantRole;
148
154
  }
149
155
  /**
150
156
  * State only version of {@link @azure/communication-calling#Call}. {@link StatefulCallClient} will automatically
@@ -239,6 +245,10 @@ export interface CallState {
239
245
  * Stores the latest call diagnostics.
240
246
  */
241
247
  diagnostics: DiagnosticsCallFeatureState;
248
+ /**
249
+ * Proxy of {@link @azure/communication-calling#Call.role}.
250
+ */
251
+ role?: ParticipantRole;
242
252
  }
243
253
  /**
244
254
  * State only version of {@link @azure/communication-calling#IncomingCall}. {@link StatefulCallClient} will
@@ -388,6 +398,12 @@ export interface CallClientState {
388
398
  * See documentation of {@Link CallErrors} for details.
389
399
  */
390
400
  latestErrors: CallErrors;
401
+ /**
402
+ * A phone number in E.164 format that will be used to represent callers identity.
403
+ * For example, using the alternateCallerId to add a participant using PSTN, this number will
404
+ * be used as the caller id in the PSTN call.
405
+ */
406
+ alternateCallerId?: string;
391
407
  }
392
408
  /**
393
409
  * Errors teed from API calls to the Calling SDK.
@@ -430,7 +446,7 @@ export declare class CallError extends Error {
430
446
  *
431
447
  * @public
432
448
  */
433
- export declare type CallErrorTarget = 'Call.addParticipant' | 'Call.feature' | 'Call.hangUp' | 'Call.hold' | 'Call.mute' | 'Call.off' | 'Call.on' | 'Call.removeParticipant' | 'Call.resume' | 'Call.sendDtmf' | 'Call.startScreenSharing' | 'Call.startVideo' | 'Call.stopScreenSharing' | 'Call.stopVideo' | 'Call.unmute' | 'CallAgent.dispose' | 'CallAgent.feature' | 'CallAgent.join' | 'CallAgent.off' | 'CallAgent.on' | 'CallAgent.startCall' | 'CallClient.createCallAgent' | 'CallClient.feature' | 'CallClient.getDeviceManager' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'IncomingCall.accept' | 'IncomingCall.reject';
449
+ export declare type CallErrorTarget = 'Call.addParticipant' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.dispose' | 'Call.feature' | 'Call.hangUp' | 'Call.hold' | 'Call.mute' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.muteIncomingAudio' | 'Call.off' | 'Call.on' | 'Call.removeParticipant' | 'Call.resume' | 'Call.sendDtmf' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.startAudio' | 'Call.startScreenSharing' | 'Call.startVideo' | 'Call.stopScreenSharing' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.stopAudio' | 'Call.stopVideo' | 'Call.unmute' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.unmuteIncomingAudio' | 'CallAgent.dispose' | 'CallAgent.feature' | 'CallAgent.join' | 'CallAgent.off' | 'CallAgent.on' | 'CallAgent.startCall' | 'CallClient.createCallAgent' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.createTeamsCallAgent' | 'CallClient.feature' | 'CallClient.getDeviceManager' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.getEnvironmentInfo' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'IncomingCall.accept' | 'IncomingCall.reject';
434
450
  /**
435
451
  * State only proxy for {@link @azure/communication-calling#DiagnosticsCallFeature}.
436
452
  *
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
1
3
  /**
2
4
  * Error thrown from failed stateful API methods.
3
5
  *
@@ -7,7 +9,8 @@ export class CallError extends Error {
7
9
  constructor(target, innerError, timestamp) {
8
10
  super();
9
11
  this.target = target;
10
- this.innerError = innerError; // Testing note: It is easier to mock Date::now() than the Date() constructor.
12
+ this.innerError = innerError;
13
+ // Testing note: It is easier to mock Date::now() than the Date() constructor.
11
14
  this.timestamp = timestamp !== null && timestamp !== void 0 ? timestamp : new Date(Date.now());
12
15
  this.name = 'CallError';
13
16
  this.message = `${this.target}: ${this.innerError.message}`;
@@ -1 +1 @@
1
- {"version":3,"file":"CallClientState.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/CallClientState.ts"],"names":[],"mappings":"AAmdA;;;;GAIG;AAEH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAgBlC,YAAY,MAAuB,EAAE,UAAiB,EAAE,SAAgB;QACtE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,8EAA8E;QAE5G,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC;CAEF"}
1
+ {"version":3,"file":"CallClientState.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/CallClientState.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAkclC;;;;GAIG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAclC,YAAY,MAAuB,EAAE,UAAiB,EAAE,SAAgB;QACtE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,8EAA8E;QAC9E,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n AudioDeviceInfo,\n CallDirection,\n CallEndReason,\n CallerInfo,\n CallState as CallStatus,\n DeviceAccess,\n DominantSpeakersInfo,\n LatestMediaDiagnostics,\n LatestNetworkDiagnostics,\n MediaStreamType,\n RemoteParticipantState as RemoteParticipantStatus,\n ScalingMode,\n VideoDeviceInfo\n} from '@azure/communication-calling';\n/* @conditional-compile-remove(rooms) */\nimport { ParticipantRole } from '@azure/communication-calling';\nimport {\n CommunicationUserKind,\n MicrosoftTeamsUserKind,\n PhoneNumberKind,\n UnknownIdentifierKind,\n CommunicationIdentifierKind\n} from '@azure/communication-common';\n\n/**\n * State only version of {@link @azure/communication-calling#CallAgent} except calls is moved to be a child directly of\n * {@link CallClientState} and not included here. The reason to have CallAgent's state proxied is to provide access to\n * displayName. We don't flatten CallAgent.displayName and put it in CallClientState because it would be ambiguious that\n * displayName is actually reliant on the creation/existence of CallAgent to be available.\n *\n * @public\n */\nexport interface CallAgentState {\n /**\n * Proxy of {@link @azure/communication-calling#CallAgent.displayName}.\n */\n displayName?: string;\n}\n\n/**\n * State only version of {@link @azure/communication-calling#TranscriptionCallFeature}. {@link StatefulCallClient} will\n * automatically listen for transcription state of the call and update the state exposed by {@link StatefulCallClient}\n * accordingly.\n *\n * @public\n */\nexport interface TranscriptionCallFeatureState {\n /**\n * Proxy of {@link @azure/communication-calling#TranscriptionCallFeature.isTranscriptionActive}.\n */\n isTranscriptionActive: boolean;\n}\n\n/**\n * State only version of {@link @azure/communication-calling#RecordingCallFeature}. {@link StatefulCallClient} will\n * automatically listen for recording state of the call and update the state exposed by {@link StatefulCallClient} accordingly.\n *\n * @public\n */\nexport interface RecordingCallFeatureState {\n /**\n * Proxy of {@link @azure/communication-calling#RecordingCallFeature.isRecordingActive}.\n */\n isRecordingActive: boolean;\n}\n\n/**\n * State only version of {@link @azure/communication-calling#LocalVideoStream}.\n *\n * @public\n */\nexport interface LocalVideoStreamState {\n /**\n * Proxy of {@link @azure/communication-calling#LocalVideoStream.source}.\n */\n source: VideoDeviceInfo;\n /**\n * Proxy of {@link @azure/communication-calling#LocalVideoStream.mediaStreamType}.\n */\n mediaStreamType: MediaStreamType;\n /**\n * {@link VideoStreamRendererView} that is managed by createView/disposeView in {@link StatefulCallClient}\n * API. This can be undefined if the stream has not yet been rendered and defined after createView creates the view.\n */\n view?: VideoStreamRendererViewState;\n}\n\n/**\n * State only version of {@link @azure/communication-calling#RemoteVideoStream}.\n *\n * @public\n */\nexport interface RemoteVideoStreamState {\n /**\n * Proxy of {@link @azure/communication-calling#RemoteVideoStream.id}.\n */\n id: number;\n /**\n * Proxy of {@link @azure/communication-calling#RemoteVideoStream.mediaStreamType}.\n */\n mediaStreamType: MediaStreamType;\n /**\n * Proxy of {@link @azure/communication-calling#RemoteVideoStream.isAvailable}.\n */\n isAvailable: boolean;\n /**\n * Proxy of {@link @azure/communication-calling#RemoteVideoStream.isReceiving}.\n * @beta\n */\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n isReceiving: boolean;\n /**\n * {@link VideoStreamRendererView} that is managed by createView/disposeView in {@link StatefulCallClient}\n * API. This can be undefined if the stream has not yet been rendered and defined after createView creates the view.\n */\n view?: VideoStreamRendererViewState;\n}\n\n/**\n * State only version of {@link @azure/communication-calling#VideoStreamRendererView}. This property is added to the state exposed\n * by {@link StatefulCallClient} by {@link StatefulCallClient.createView} and removed by {@link StatefulCallClient.disposeView}.\n *\n * @public\n */\nexport interface VideoStreamRendererViewState {\n /**\n * Proxy of {@link @azure/communication-calling#VideoStreamRendererView.scalingMode}.\n */\n scalingMode: ScalingMode;\n /**\n * Proxy of {@link @azure/communication-calling#VideoStreamRendererView.isMirrored}.\n */\n isMirrored: boolean;\n /**\n * Proxy of {@link @azure/communication-calling#VideoStreamRendererView.target}.\n */\n target: HTMLElement;\n}\n\n/**\n * State only version of {@link @azure/communication-calling#RemoteParticipant}. {@link StatefulCallClient} will\n * automatically retrieve RemoteParticipants and add their state to the state exposed by {@link StatefulCallClient}.\n *\n * @public\n */\nexport interface RemoteParticipantState {\n /**\n * Proxy of {@link @azure/communication-calling#RemoteParticipant.identifier}.\n */\n identifier: CommunicationUserKind | PhoneNumberKind | MicrosoftTeamsUserKind | UnknownIdentifierKind;\n /**\n * Proxy of {@link @azure/communication-calling#RemoteParticipant.displayName}.\n */\n displayName?: string;\n /**\n * Proxy of {@link @azure/communication-calling#RemoteParticipant.state}.\n */\n state: RemoteParticipantStatus;\n /**\n * Proxy of {@link @azure/communication-calling#RemoteParticipant.callEndReason}.\n */\n callEndReason?: CallEndReason;\n /**\n * Proxy of {@link @azure/communication-calling#RemoteParticipant.videoStreams} as an object with\n * {@link RemoteVideoStream} fields keyed by {@link @azure/communication-calling#RemoteVideoStream.id}.\n */\n videoStreams: { [key: number]: RemoteVideoStreamState };\n /**\n * Proxy of {@link @azure/communication-calling#RemoteParticipant.isMuted}.\n */\n isMuted: boolean;\n /**\n * Proxy of {@link @azure/communication-calling#RemoteParticipant.isSpeaking}.\n */\n isSpeaking: boolean;\n /* @conditional-compile-remove(rooms) */\n /**\n * Proxy of {@link @azure/communication-calling#RemoteParticipant.role}.\n */\n role?: ParticipantRole;\n}\n\n/**\n * State only version of {@link @azure/communication-calling#Call}. {@link StatefulCallClient} will automatically\n * retrieve Call's state and add it to the state exposed by {@link StatefulCallClient}.\n *\n * @public\n */\nexport interface CallState {\n /**\n * Proxy of {@link @azure/communication-calling#Call.id}.\n */\n id: string;\n /**\n * Proxy of {@link @azure/communication-calling#Call.callerInfo}.\n */\n callerInfo: CallerInfo;\n /**\n * Proxy of {@link @azure/communication-calling#Call.state}.\n */\n state: CallStatus;\n /**\n * Proxy of {@link @azure/communication-calling#Call.callEndReason}.\n */\n callEndReason?: CallEndReason;\n /**\n * Proxy of {@link @azure/communication-calling#Call.direction}.\n */\n direction: CallDirection;\n /**\n * Proxy of {@link @azure/communication-calling#Call.isMuted}.\n */\n isMuted: boolean;\n /**\n * Proxy of {@link @azure/communication-calling#Call.isScreenSharingOn}.\n */\n isScreenSharingOn: boolean;\n /**\n * Proxy of {@link @azure/communication-calling#DominantSpeakersInfo }.\n */\n dominantSpeakers?: DominantSpeakersInfo;\n /**\n * Proxy of {@link @azure/communication-calling#Call.localVideoStreams}.\n */\n localVideoStreams: LocalVideoStreamState[];\n /**\n * Proxy of {@link @azure/communication-calling#Call.remoteParticipants}.\n * Object with {@link RemoteParticipant} fields keyed by flattened {@link RemoteParticipantState.identifier}.\n * To obtain a flattened {@link RemoteParticipantState.identifier}, use\n * {@link @azure/communication-react#toFlatCommunicationIdentifier}.\n */\n remoteParticipants: { [keys: string]: RemoteParticipantState };\n /**\n * Stores remote participants that have left the call so that the callEndReason could be retrieved.\n * Object with {@link RemoteParticipant} fields keyed by flattened {@link RemoteParticipantState.identifier}.\n * To obtain a flattened {@link RemoteParticipantState.identifier}, use\n * {@link @azure/communication-react#toFlatCommunicationIdentifier}.\n */\n remoteParticipantsEnded: { [keys: string]: RemoteParticipantState };\n /**\n * Proxy of {@link @azure/communication-calling#TranscriptionCallFeature}.\n */\n transcription: TranscriptionCallFeatureState;\n /**\n * Proxy of {@link @azure/communication-calling#RecordingCallFeature}.\n */\n recording: RecordingCallFeatureState;\n /**\n * Stores the currently active screenshare participant's key. If there is no screenshare active, then this will be\n * undefined. You can use this key to access the remoteParticipant data in {@link CallState.remoteParticipants} object.\n *\n * Note this only applies to ScreenShare in RemoteParticipant. A local ScreenShare being active will not affect this\n * property.\n *\n * This property is added by the stateful layer and is not a proxy of SDK state\n */\n screenShareRemoteParticipant?: string;\n /**\n * Stores the local date when the call started on the client. This property is added by the stateful layer and is not\n * a proxy of SDK state.\n */\n startTime: Date;\n /**\n * Stores the local date when the call ended on the client. This property is added by the stateful layer and is not\n * a proxy of SDK state.\n */\n endTime: Date | undefined;\n\n /**\n * Stores the latest call diagnostics.\n */\n diagnostics: DiagnosticsCallFeatureState;\n /* @conditional-compile-remove(rooms) */\n /**\n * Proxy of {@link @azure/communication-calling#Call.role}.\n */\n role?: ParticipantRole;\n}\n\n/**\n * State only version of {@link @azure/communication-calling#IncomingCall}. {@link StatefulCallClient} will\n * automatically detect incoming calls and add their state to the state exposed by {@link StatefulCallClient}.\n *\n * @public\n */\nexport interface IncomingCallState {\n /**\n * Proxy of {@link @azure/communication-calling#IncomingCall.id}.\n */\n id: string;\n /**\n * Proxy of {@link @azure/communication-calling#IncomingCall.callerInfo}.\n */\n callerInfo: CallerInfo;\n /**\n * Set to the state returned by 'callEnded' event on {@link @azure/communication-calling#IncomingCall} when received.\n * This property is added by the stateful layer and is not a proxy of SDK state.\n */\n callEndReason?: CallEndReason;\n /**\n * Stores the local date when the call started on the client. This property is added by the stateful layer and is not\n * a proxy of SDK state.\n */\n startTime: Date;\n /**\n * Stores the local date when the call ended on the client. This property is added by the stateful layer and is not a\n * proxy of SDK state. It is undefined if the call is not ended yet.\n */\n endTime?: Date;\n}\n\n/**\n * This type is meant to encapsulate all the state inside {@link @azure/communication-calling#DeviceManager}. For\n * optional parameters they may not be available until permission is granted by the user. The cameras, microphones,\n * speakers, and deviceAccess states will be empty until the corresponding\n * {@link @azure/communication-calling#DeviceManager}'s getCameras, getMicrophones, getSpeakers, and askDevicePermission\n * APIs are called and completed.\n *\n * @public\n */\nexport type DeviceManagerState = {\n /**\n * Proxy of {@link @azure/communication-calling#DeviceManager.isSpeakerSelectionAvailable}.\n */\n isSpeakerSelectionAvailable: boolean;\n /**\n * Proxy of {@link @azure/communication-calling#DeviceManager.selectedMicrophone}.\n */\n selectedMicrophone?: AudioDeviceInfo;\n /**\n * Proxy of {@link @azure/communication-calling#DeviceManager.selectedSpeaker}.\n */\n selectedSpeaker?: AudioDeviceInfo;\n /**\n * Stores the selected camera device info. This is added by the stateful layer and does not exist in the Calling SDK.\n * It is meant as a convenience to the developer. It must be explicitly set before it has any value and does not\n * persist across instances of the {@link StatefulCallClient}. The developer controls entirely what this value holds\n * at any time.\n */\n selectedCamera?: VideoDeviceInfo;\n /**\n * Stores any cameras data returned from {@link @azure/communication-calling#DeviceManager.getCameras}.\n */\n cameras: VideoDeviceInfo[];\n /**\n * Stores any microphones data returned from {@link @azure/communication-calling#DeviceManager.getMicrophones}.\n */\n microphones: AudioDeviceInfo[];\n /**\n * Stores any speakers data returned from {@link @azure/communication-calling#DeviceManager.getSpeakers}.\n */\n speakers: AudioDeviceInfo[];\n /**\n * Stores deviceAccess data returned from {@link @azure/communication-calling#DeviceManager.askDevicePermission}.\n */\n deviceAccess?: DeviceAccess;\n /**\n * Stores created views that are not associated with any CallState (when {@link StatefulCallClient.createView} is\n * called with undefined callId, undefined participantId, and defined LocalVideoStream).\n *\n * The values in this array are generated internally when {@link StatefulCallClient.createView} is called and are\n * considered immutable.\n */\n unparentedViews: LocalVideoStreamState[];\n};\n\n/**\n * Container for all of the state data proxied by {@link StatefulCallClient}. The calls, callsEnded, incomingCalls, and\n * incomingCallsEnded states will be automatically provided if a callAgent has been created. The deviceManager will be\n * empty initially until populated see {@link DeviceManagerState}. The userId state is provided as a convenience for the\n * developer and is completely controled and set by the developer.\n *\n * @public\n */\nexport interface CallClientState {\n /**\n * Proxy of {@link @azure/communication-calling#CallAgent.calls} as an object with CallState {@link CallState} fields.\n * It is keyed by {@link @azure/communication-calling#Call.id}. Please note that\n * {@link @azure/communication-calling#Call.id} could change. You should not cache the id itself but the entire\n * {@link @azure/communication-calling#Call} and then use the id contained to look up data in this map.\n */\n calls: { [key: string]: CallState };\n /**\n * Calls that have ended are stored here so the callEndReason could be checked.\n * It is an object with {@link @azure/communication-calling#Call.id} keys and {@link CallState} values.\n *\n * Only {@link MAX_CALL_HISTORY_LENGTH} Calls are kept in the history. Oldest calls are evicted if required.\n */\n callsEnded: { [key: string]: CallState };\n /**\n * Proxy of {@link @azure/communication-calling#IncomingCall} as an object with {@link IncomingCall} fields.\n * It is keyed by {@link @azure/communication-calling#IncomingCall.id}.\n */\n incomingCalls: { [key: string]: IncomingCallState };\n /**\n * Incoming Calls that have ended are stored here so the callEndReason could be checked.\n * It is an as an object with {@link @azure/communication-calling#Call.id} keys and {@link IncomingCall} values.\n *\n * Only {@link MAX_CALL_HISTORY_LENGTH} Calls are kept in the history. Oldest calls are evicted if required.\n */\n incomingCallsEnded: { [key: string]: IncomingCallState };\n /**\n * Proxy of {@link @azure/communication-calling#DeviceManager}. Please review {@link DeviceManagerState}.\n */\n deviceManager: DeviceManagerState;\n /**\n * Proxy of {@link @azure/communication-calling#CallAgent}. Please review {@link CallAgentState}.\n */\n callAgent?: CallAgentState;\n /**\n * Stores a userId. This is not used by the {@link StatefulCallClient} and is provided here as a convenience for the\n * developer for easier access to userId. Must be passed in at initialization of the {@link StatefulCallClient}.\n * Completely controlled by the developer.\n */\n userId: CommunicationIdentifierKind;\n /**\n * Stores the latest error for each API method.\n *\n * See documentation of {@Link CallErrors} for details.\n */\n latestErrors: CallErrors;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * A phone number in E.164 format that will be used to represent callers identity.\n * For example, using the alternateCallerId to add a participant using PSTN, this number will\n * be used as the caller id in the PSTN call.\n */\n alternateCallerId?: string;\n}\n\n/**\n * Errors teed from API calls to the Calling SDK.\n *\n * Each property in the object stores the latest error for a particular SDK API method.\n *\n * Errors from this object can be cleared using the {@link newClearCallErrorsModifier}.\n * Additionally, errors are automatically cleared when:\n * - The state is cleared.\n * - Subsequent calls to related API methods succeed.\n * See documentation of individual stateful client methods for details on when errors may be automatically cleared.\n *\n * @public\n */\nexport type CallErrors = {\n [target in CallErrorTarget]: CallError;\n};\n\n/**\n * Error thrown from failed stateful API methods.\n *\n * @public\n */\nexport class CallError extends Error {\n /**\n * The API method target that failed.\n */\n public target: CallErrorTarget;\n /**\n * Error thrown by the failed SDK method.\n */\n public innerError: Error;\n /**\n * Timestamp added to the error by the stateful layer.\n */\n public timestamp: Date;\n\n constructor(target: CallErrorTarget, innerError: Error, timestamp?: Date) {\n super();\n this.target = target;\n this.innerError = innerError;\n // Testing note: It is easier to mock Date::now() than the Date() constructor.\n this.timestamp = timestamp ?? new Date(Date.now());\n this.name = 'CallError';\n this.message = `${this.target}: ${this.innerError.message}`;\n }\n}\n\n/**\n * String literal type for all permissible keys in {@Link CallErrors}.\n *\n * @public\n */\nexport type CallErrorTarget =\n | 'Call.addParticipant'\n | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.dispose'\n | 'Call.feature'\n | 'Call.hangUp'\n | 'Call.hold'\n | 'Call.mute'\n | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.muteIncomingAudio'\n | 'Call.off'\n | 'Call.on'\n | 'Call.removeParticipant'\n | 'Call.resume'\n | 'Call.sendDtmf'\n | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.startAudio'\n | 'Call.startScreenSharing'\n | 'Call.startVideo'\n | 'Call.stopScreenSharing'\n | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.stopAudio'\n | 'Call.stopVideo'\n | 'Call.unmute'\n | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.unmuteIncomingAudio'\n | 'CallAgent.dispose'\n | 'CallAgent.feature'\n | 'CallAgent.join'\n | 'CallAgent.off'\n | 'CallAgent.on'\n | 'CallAgent.startCall'\n | 'CallClient.createCallAgent'\n | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.createTeamsCallAgent'\n | 'CallClient.feature'\n | 'CallClient.getDeviceManager'\n | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.getEnvironmentInfo'\n | 'DeviceManager.askDevicePermission'\n | 'DeviceManager.getCameras'\n | 'DeviceManager.getMicrophones'\n | 'DeviceManager.getSpeakers'\n | 'DeviceManager.off'\n | 'DeviceManager.on'\n | 'DeviceManager.selectMicrophone'\n | 'DeviceManager.selectSpeaker'\n | 'IncomingCall.accept'\n | 'IncomingCall.reject';\n\n/**\n * State only proxy for {@link @azure/communication-calling#DiagnosticsCallFeature}.\n *\n * @public\n */\nexport interface DiagnosticsCallFeatureState {\n /**\n * Stores diagnostics related to network conditions.\n */\n network: NetworkDiagnosticsState;\n\n /**\n * Stores diagnostics related to media quality.\n */\n media: MediaDiagnosticsState;\n}\n\n/**\n * State only proxy for {@link @azure/communication-calling#NetworkDiagnostics}.\n *\n * @public\n */\nexport interface NetworkDiagnosticsState {\n latest: LatestNetworkDiagnostics;\n}\n\n/**\n * State only proxy for {@link @azure/communication-calling#MediaDiagnostics}.\n *\n * @public\n */\nexport interface MediaDiagnosticsState {\n latest: LatestMediaDiagnostics;\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { CommunicationIdentifierKind } from '@azure/communication-common';
2
2
  import { AudioDeviceInfo, DeviceAccess, DominantSpeakersInfo, VideoDeviceInfo } from '@azure/communication-calling';
3
+ import { ParticipantRole } from '@azure/communication-calling';
3
4
  import { CallEndReason, CallState as CallStatus, RemoteParticipantState as RemoteParticipantStatus } from '@azure/communication-calling';
4
5
  import { CallState, CallClientState, LocalVideoStreamState, RemoteParticipantState, RemoteVideoStreamState, IncomingCallState, VideoStreamRendererViewState, CallAgentState, CallErrorTarget } from './CallClientState';
5
6
  /**
@@ -32,6 +33,7 @@ export declare class CallContext {
32
33
  setCallRemoteParticipantsEnded(callId: string, addRemoteParticipant: RemoteParticipantState[], removeRemoteParticipant: string[]): void;
33
34
  setCallLocalVideoStream(callId: string, streams: LocalVideoStreamState[]): void;
34
35
  setCallIsMicrophoneMuted(callId: string, isMicrophoneMuted: boolean): void;
36
+ setRole(callId: string, role: ParticipantRole): void;
35
37
  setCallDominantSpeakers(callId: string, dominantSpeakers: DominantSpeakersInfo): void;
36
38
  setCallRecordingActive(callId: string, isRecordingActive: boolean): void;
37
39
  setCallTranscriptionActive(callId: string, isTranscriptionActive: boolean): void;
@@ -39,10 +41,12 @@ export declare class CallContext {
39
41
  setLocalVideoStreamRendererView(callId: string, view: VideoStreamRendererViewState | undefined): void;
40
42
  setParticipantState(callId: string, participantKey: string, state: RemoteParticipantStatus): void;
41
43
  setParticipantIsMuted(callId: string, participantKey: string, muted: boolean): void;
44
+ setParticipantRole(callId: string, participantKey: string, role: ParticipantRole): void;
42
45
  setParticipantDisplayName(callId: string, participantKey: string, displayName: string): void;
43
46
  setParticipantIsSpeaking(callId: string, participantKey: string, isSpeaking: boolean): void;
44
47
  setParticipantVideoStream(callId: string, participantKey: string, stream: RemoteVideoStreamState): void;
45
48
  setRemoteVideoStreamIsAvailable(callId: string, participantKey: string, streamId: number, isAvailable: boolean): void;
49
+ setRemoteVideoStreamIsReceiving(callId: string, participantKey: string, streamId: number, isReceiving: boolean): void;
46
50
  setRemoteVideoStreams(callId: string, participantKey: string, addRemoteVideoStream: RemoteVideoStreamState[], removeRemoteVideoStream: number[]): void;
47
51
  setRemoteVideoStreamRendererView(callId: string, participantKey: string, streamId: number, view: VideoStreamRendererViewState | undefined): void;
48
52
  setIncomingCall(call: IncomingCallState): void;
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
1
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
5
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -14,8 +16,10 @@ import { _safeJSONStringify, toFlatCommunicationIdentifier } from "../../acs-ui-
14
16
  import { CallError } from './CallClientState';
15
17
  import { callingStatefulLogger } from './Logger';
16
18
  import { CallIdHistory } from './CallIdHistory';
17
- enableMapSet(); // Needed to generate state diff for verbose logging.
18
- enablePatches(); // TODO: How can we make this configurable?
19
+ enableMapSet();
20
+ // Needed to generate state diff for verbose logging.
21
+ enablePatches();
22
+ // TODO: How can we make this configurable?
19
23
  /**
20
24
  * @private
21
25
  */
@@ -25,8 +29,7 @@ export const MAX_CALL_HISTORY_LENGTH = 10;
25
29
  */
26
30
  export class CallContext {
27
31
  constructor(userId, maxListeners = 50,
28
- /* @conditional-compile-remove(PSTN-calls) */
29
- alternateCallerId) {
32
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId) {
30
33
  this._callIdHistory = new CallIdHistory();
31
34
  this._logger = createClientLogger('communication-react:calling-context');
32
35
  this._state = {
@@ -43,6 +46,7 @@ export class CallContext {
43
46
  },
44
47
  callAgent: undefined,
45
48
  userId: userId,
49
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId: alternateCallerId,
46
50
  latestErrors: {}
47
51
  };
48
52
  this._emitter = new EventEmitter();
@@ -69,7 +73,8 @@ export class CallContext {
69
73
  }
70
74
  offStateChange(handler) {
71
75
  this._emitter.off('stateChanged', handler);
72
- } // Disposing of the CallAgentDeclarative will not clear the state. If we create a new CallAgentDeclarative, we should
76
+ }
77
+ // Disposing of the CallAgentDeclarative will not clear the state. If we create a new CallAgentDeclarative, we should
73
78
  // make sure the state is clean because any left over state (if previous CallAgentDeclarative was disposed) may be
74
79
  // invalid.
75
80
  clearCallRelatedState() {
@@ -99,7 +104,10 @@ export class CallContext {
99
104
  existingCall.localVideoStreams = call.localVideoStreams;
100
105
  existingCall.remoteParticipants = call.remoteParticipants;
101
106
  existingCall.transcription.isTranscriptionActive = call.transcription.isTranscriptionActive;
102
- existingCall.recording.isRecordingActive = call.recording.isRecordingActive; // We don't update the startTime and endTime if we are updating an existing active call
107
+ existingCall.recording.isRecordingActive = call.recording.isRecordingActive;
108
+ /* @conditional-compile-remove(rooms) */
109
+ existingCall.role = call.role;
110
+ // We don't update the startTime and endTime if we are updating an existing active call
103
111
  }
104
112
  else {
105
113
  draft.calls[latestCallId] = call;
@@ -118,7 +126,8 @@ export class CallContext {
118
126
  if (call) {
119
127
  call.endTime = new Date();
120
128
  call.callEndReason = callEndReason;
121
- delete draft.calls[latestCallId]; // Performance note: This loop should run only once because the number of entries
129
+ delete draft.calls[latestCallId];
130
+ // Performance note: This loop should run only once because the number of entries
122
131
  // is never allowed to exceed MAX_CALL_HISTORY_LENGTH. A loop is used for correctness.
123
132
  while (Object.keys(draft.callsEnded).length >= MAX_CALL_HISTORY_LENGTH) {
124
133
  delete draft.callsEnded[findOldestCallEnded(draft.callsEnded)];
@@ -196,6 +205,15 @@ export class CallContext {
196
205
  }
197
206
  });
198
207
  }
208
+ /* @conditional-compile-remove(rooms) */
209
+ setRole(callId, role) {
210
+ this.modifyState((draft) => {
211
+ const call = draft.calls[this._callIdHistory.latestCallId(callId)];
212
+ if (call) {
213
+ call.role = role;
214
+ }
215
+ });
216
+ }
199
217
  setCallDominantSpeakers(callId, dominantSpeakers) {
200
218
  this.modifyState((draft) => {
201
219
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -260,6 +278,18 @@ export class CallContext {
260
278
  }
261
279
  });
262
280
  }
281
+ /* @conditional-compile-remove(rooms) */
282
+ setParticipantRole(callId, participantKey, role) {
283
+ this.modifyState((draft) => {
284
+ const call = draft.calls[this._callIdHistory.latestCallId(callId)];
285
+ if (call) {
286
+ const participant = call.remoteParticipants[participantKey];
287
+ if (participant) {
288
+ participant.role = role;
289
+ }
290
+ }
291
+ });
292
+ }
263
293
  setParticipantDisplayName(callId, participantKey, displayName) {
264
294
  this.modifyState((draft) => {
265
295
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -293,6 +323,8 @@ export class CallContext {
293
323
  const existingStream = participant.videoStreams[stream.id];
294
324
  if (existingStream) {
295
325
  existingStream.isAvailable = stream.isAvailable;
326
+ /* @conditional-compile-remove(video-stream-is-receiving-flag) */
327
+ existingStream.isReceiving = stream.isReceiving;
296
328
  existingStream.mediaStreamType = stream.mediaStreamType;
297
329
  }
298
330
  else {
@@ -316,6 +348,21 @@ export class CallContext {
316
348
  }
317
349
  });
318
350
  }
351
+ /* @conditional-compile-remove(video-stream-is-receiving-flag) */
352
+ setRemoteVideoStreamIsReceiving(callId, participantKey, streamId, isReceiving) {
353
+ this.modifyState((draft) => {
354
+ const call = draft.calls[this._callIdHistory.latestCallId(callId)];
355
+ if (call) {
356
+ const participant = call.remoteParticipants[participantKey];
357
+ if (participant) {
358
+ const stream = participant.videoStreams[streamId];
359
+ if (stream) {
360
+ stream.isReceiving = isReceiving;
361
+ }
362
+ }
363
+ }
364
+ });
365
+ }
319
366
  setRemoteVideoStreams(callId, participantKey, addRemoteVideoStream, removeRemoteVideoStream) {
320
367
  this.modifyState((draft) => {
321
368
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -332,6 +379,8 @@ export class CallContext {
332
379
  if (stream) {
333
380
  stream.mediaStreamType = newStream.mediaStreamType;
334
381
  stream.isAvailable = newStream.isAvailable;
382
+ /* @conditional-compile-remove(video-stream-is-receiving-flag) */
383
+ stream.isReceiving = newStream.isReceiving;
335
384
  }
336
385
  else {
337
386
  participant.videoStreams[newStream.id] = newStream;
@@ -377,7 +426,8 @@ export class CallContext {
377
426
  if (call) {
378
427
  call.endTime = new Date();
379
428
  call.callEndReason = callEndReason;
380
- delete draft.incomingCalls[callId]; // Performance note: This loop should run only once because the number of entries
429
+ delete draft.incomingCalls[callId];
430
+ // Performance note: This loop should run only once because the number of entries
381
431
  // is never allowed to exceed MAX_CALL_HISTORY_LENGTH. A loop is used for correctness.
382
432
  while (Object.keys(draft.incomingCallsEnded).length >= MAX_CALL_HISTORY_LENGTH) {
383
433
  delete draft.incomingCallsEnded[findOldestCallEnded(draft.incomingCallsEnded)];
@@ -413,7 +463,7 @@ export class CallContext {
413
463
  * camera permissions are granted. So selectedCamera will have this value before the actual cameras are obtained. Therefore we should reset
414
464
  * selectedCamera to the first camera when there are cameras AND when current selectedCamera does not exist in the new array of cameras *
415
465
  */
416
- if (cameras.length > 0 && !cameras.some(camera => { var _a; return camera.id === ((_a = draft.deviceManager.selectedCamera) === null || _a === void 0 ? void 0 : _a.id); })) {
466
+ if (cameras.length > 0 && !cameras.some((camera) => { var _a; return camera.id === ((_a = draft.deviceManager.selectedCamera) === null || _a === void 0 ? void 0 : _a.id); })) {
417
467
  draft.deviceManager.selectedCamera = cameras[0];
418
468
  }
419
469
  draft.deviceManager.cameras = cameras;
@@ -445,7 +495,7 @@ export class CallContext {
445
495
  }
446
496
  deleteDeviceManagerUnparentedView(localVideoStream) {
447
497
  this.modifyState((draft) => {
448
- const foundIndex = draft.deviceManager.unparentedViews.findIndex(stream => stream.source.id === localVideoStream.source.id && stream.mediaStreamType === localVideoStream.mediaStreamType);
498
+ const foundIndex = draft.deviceManager.unparentedViews.findIndex((stream) => stream.source.id === localVideoStream.source.id && stream.mediaStreamType === localVideoStream.mediaStreamType);
449
499
  if (foundIndex !== -1) {
450
500
  draft.deviceManager.unparentedViews.splice(foundIndex, 1);
451
501
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CallContext.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/CallContext.ts"],"names":[],"mappings":";;;;;;;;;AAIA,OAAO,EAAe,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAS,OAAO,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,gCAAgC;AAC5F,OAAO,EAAmM,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC/O,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,CAAC,CAAC,qDAAqD;AAErE,aAAa,EAAE,CAAC,CAAC,2CAA2C;AAE5D;;GAEG;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAC1C;;GAEG;AAEH,MAAM,OAAO,WAAW;IAOtB,YAAY,MAAmC,EAAE,YAAY,GAAG,EAAE;IAClE,6CAA6C;IAC7C,iBAA0B;QAJlB,mBAAc,GAAkB,IAAI,aAAa,EAAE,CAAC;QAK1D,IAAI,CAAC,OAAO,GAAG,kBAAkB,CAAC,qCAAqC,CAAC,CAAC;QACzE,IAAI,CAAC,MAAM,GAAG;YACZ,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,kBAAkB,EAAE,EAAE;YACtB,aAAa,EAAE;gBACb,2BAA2B,EAAE,KAAK;gBAClC,OAAO,EAAE,EAAE;gBACX,WAAW,EAAE,EAAE;gBACf,QAAQ,EAAE,EAAE;gBACZ,eAAe,EAAE,EAAE;aACpB;YACD,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;YACd,YAAY,EAAG,EAAiB;SACjC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAEnC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAE5C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,WAAW,CAAC,QAA0C;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAgB,EAAE,EAAE;YAChE,IAAI,WAAW,EAAE,KAAK,SAAS,EAAE;gBAC/B,0EAA0E;gBAC1E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACnE;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACjD;IACH,CAAC;IAEM,aAAa,CAAC,OAAyC;QAC5D,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEM,cAAc,CAAC,OAAyC;QAC7D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,qHAAqH;IACvH,kHAAkH;IAClH,WAAW;IAGJ,qBAAqB;QAC1B,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;YACzB,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;YACtB,KAAK,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,SAAyB;QAC3C,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,OAAO,CAAC,IAAe;QAC5B,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAE/D,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAE/C,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC1C,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAChC,YAAY,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gBAChD,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBACxC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBACpC,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBACxD,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBACxD,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;gBAC1D,YAAY,CAAC,aAAa,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC;gBAC5F,YAAY,CAAC,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC,uFAAuF;aACrK;iBAAM;gBACL,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,UAAU,CAAC,MAAc;QAC9B,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,MAAc,EAAE,aAAwC;QAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAEvC,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;gBACnC,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,iFAAiF;gBACnH,sFAAsF;gBAEtF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,IAAI,uBAAuB,EAAE;oBACtE,OAAO,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;iBAChE;gBAED,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,YAAY,CAAC,MAAc,EAAE,KAAiB;QACnD,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;aACpB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,SAAS,CAAC,SAAiB,EAAE,SAAiB;QACnD,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAE9D,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAEpC,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;gBACpB,OAAO,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9B,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,wBAAwB,CAAC,MAAc,EAAE,iBAA0B;QACxE,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;aAC5C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,yBAAyB,CAAC,MAAc,EAAE,oBAA8C,EAAE,uBAAiC;QAChI,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,uBAAuB,CAAC,OAAO,CAAC,CAAC,EAAU,EAAE,EAAE;oBAC7C,OAAO,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;gBACH,oBAAoB,CAAC,OAAO,CAAC,CAAC,WAAmC,EAAE,EAAE;oBACnE,IAAI,CAAC,kBAAkB,CAAC,6BAA6B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC;gBAC/F,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,8BAA8B,CAAC,MAAc,EAAE,oBAA8C,EAAE,uBAAiC;QACrI,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,uBAAuB,CAAC,OAAO,CAAC,CAAC,EAAU,EAAE,EAAE;oBAC7C,OAAO,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;gBAC1C,CAAC,CAAC,CAAC;gBACH,oBAAoB,CAAC,OAAO,CAAC,CAAC,WAAmC,EAAE,EAAE;oBACnE,IAAI,CAAC,uBAAuB,CAAC,6BAA6B,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC;gBACpG,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,uBAAuB,CAAC,MAAc,EAAE,OAAgC;QAC7E,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,wBAAwB,CAAC,MAAc,EAAE,iBAA0B;QACxE,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,uBAAuB,CAAC,MAAc,EAAE,gBAAsC;QACnF,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,sBAAsB,CAAC,MAAc,EAAE,iBAA0B;QACtE,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,SAAS,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;aACtD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,0BAA0B,CAAC,MAAc,EAAE,qBAA8B;QAC9E,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,aAAa,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;aAClE;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,6BAA6B,CAAC,MAAc,EAAE,cAAkC;QACrF,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,4BAA4B,GAAG,cAAc,CAAC;aACpD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+BAA+B,CAAC,MAAc,EAAE,IAA8C;QACnG,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;iBACvC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,mBAAmB,CAAC,MAAc,EAAE,cAAsB,EAAE,KAA8B;QAC/F,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAE5D,IAAI,WAAW,EAAE;oBACf,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;iBAC3B;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,qBAAqB,CAAC,MAAc,EAAE,cAAsB,EAAE,KAAc;QACjF,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAE5D,IAAI,WAAW,EAAE;oBACf,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;iBAC7B;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,yBAAyB,CAAC,MAAc,EAAE,cAAsB,EAAE,WAAmB;QAC1F,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAE5D,IAAI,WAAW,EAAE;oBACf,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC;iBACvC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,wBAAwB,CAAC,MAAc,EAAE,cAAsB,EAAE,UAAmB;QACzF,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAE5D,IAAI,WAAW,EAAE;oBACf,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;iBACrC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,yBAAyB,CAAC,MAAc,EAAE,cAAsB,EAAE,MAA8B;QACrG,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAE5D,IAAI,WAAW,EAAE;oBACf,sGAAsG;oBACtG,mDAAmD;oBACnD,MAAM,cAAc,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAE3D,IAAI,cAAc,EAAE;wBAClB,cAAc,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;wBAChD,cAAc,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;qBACzD;yBAAM;wBACL,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;qBAC9C;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+BAA+B,CAAC,MAAc,EAAE,cAAsB,EAAE,QAAgB,EAAE,WAAoB;QACnH,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAE5D,IAAI,WAAW,EAAE;oBACf,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAElD,IAAI,MAAM,EAAE;wBACV,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;qBAClC;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,qBAAqB,CAAC,MAAc,EAAE,cAAsB,EAAE,oBAA8C,EAAE,uBAAiC;QACpJ,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAE5D,IAAI,WAAW,EAAE;oBACf,KAAK,MAAM,EAAE,IAAI,uBAAuB,EAAE;wBACxC,OAAO,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;qBACrC;oBAED,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE;wBAC5C,yGAAyG;wBACzG,6EAA6E;wBAC7E,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;wBAEtD,IAAI,MAAM,EAAE;4BACV,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;4BACnD,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;yBAC5C;6BAAM;4BACL,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;yBACpD;qBACF;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,gCAAgC,CAAC,MAAc,EAAE,cAAsB,EAAE,QAAgB,EAAE,IAA8C;QAC9I,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,IAAI,IAAI,EAAE;gBACR,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAE5D,IAAI,WAAW,EAAE;oBACf,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAElD,IAAI,MAAM,EAAE;wBACV,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;qBACpB;iBACF;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,eAAe,CAAC,IAAuB;QAC5C,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAElD,IAAI,YAAY,EAAE;gBAChB,YAAY,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;aAC3C;iBAAM;gBACL,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kBAAkB,CAAC,MAAc;QACtC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,oBAAoB,CAAC,MAAc,EAAE,aAAwC;QAClF,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAEzC,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;gBACnC,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,iFAAiF;gBACrH,sFAAsF;gBAEtF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,MAAM,IAAI,uBAAuB,EAAE;oBAC9E,OAAO,KAAK,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;iBAChF;gBAED,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,2CAA2C,CAAC,2BAAoC;QACrF,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,aAAa,CAAC,2BAA2B,GAAG,2BAA2B,CAAC;QAChF,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kCAAkC,CAAC,kBAAoC;QAC5E,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,aAAa,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC9D,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,+BAA+B,CAAC,eAAiC;QACtE,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,8BAA8B,CAAC,cAAgC;QACpE,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,aAAa,CAAC,cAAc,GAAG,cAAc,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,uBAAuB,CAAC,OAA0B;QACvD,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C;;;;eAIG;YACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAC,OAAA,MAAM,CAAC,EAAE,MAAK,MAAA,KAAK,CAAC,aAAa,CAAC,cAAc,0CAAE,EAAE,CAAA,CAAA,EAAA,CAAC,EAAE;gBACvG,KAAK,CAAC,aAAa,CAAC,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;aACjD;YAED,KAAK,CAAC,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,2BAA2B,CAAC,WAA8B;QAC/D,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,wBAAwB,CAAC,QAA2B;QACzD,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,4BAA4B,CAAC,YAA0B;QAC5D,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,aAAa,CAAC,YAAY,GAAG,YAAY,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,8BAA8B,CAAC,gBAAuC,EAAE,IAA8C;QAC3H,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC;gBACvC,MAAM,EAAE,gBAAgB,CAAC,MAAM;gBAC/B,eAAe,EAAE,gBAAgB,CAAC,eAAe;gBACjD,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,iCAAiC,CAAC,gBAAuC;QAC9E,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,gBAAgB,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,eAAe,KAAK,gBAAgB,CAAC,eAAe,CAAC,CAAC;YAE3L,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;gBACrB,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;aAC3D;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,uBAAuB;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD;;;;;;;OAOG;IAGI,yBAAyB,CAA4B,MAAqC,EAAE,MAAuB;QACxH,OAAO,CAAO,GAAG,IAAU,EAAc,EAAE;YACzC,IAAI;gBACF,OAAO,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;aAC9B;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACvC,MAAM,SAAS,CAAC;aACjB;QACH,CAAC,CAAA,CAAC;IACJ,CAAC;IACD;;;;;;;OAOG;IAGI,oBAAoB,CAA4B,MAA4B,EAAE,MAAuB;QAC1G,OAAO,CAAC,GAAG,IAAU,EAAK,EAAE;YAC1B,IAAI;gBACF,qBAAqB,CAAC,IAAI,CAAC,mDAAmD,MAAM,EAAE,CAAC,CAAC;gBACxF,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;aACxB;YAAC,OAAO,KAAK,EAAE;gBACd,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBACvC,MAAM,SAAS,CAAC;aACjB;QACH,CAAC,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,MAAuB,EAAE,KAAgB;QAC9D,IAAI,CAAC,WAAW,CAAC,CAAC,KAAsB,EAAE,EAAE;YAC1C,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;CAEF;AAED,MAAM,WAAW,GAAG,CAAC,MAAuB,EAAE,KAAc,EAAa,EAAE;IACzE,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KACrC;IAED,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,KAAK,CAAE,KAAgB,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAI5B,EAAU,EAAE;;IACX,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAEhD,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE;QACpC,OAAO,YAAY,CAAC;KACrB;IAED,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACjD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,OAAO,MAAM,CAAC;SACf;QAED,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,OAAO,EAAE,mCAAI,CAAC,CAAC,EAAE;YACzE,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC7C;KACF;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"CallContext.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/CallContext.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { AudioDeviceInfo, DeviceAccess, DominantSpeakersInfo, VideoDeviceInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(rooms) */\nimport { ParticipantRole } from '@azure/communication-calling';\nimport { AzureLogger, createClientLogger, getLogLevel } from '@azure/logger';\nimport EventEmitter from 'events';\nimport { enableMapSet, enablePatches, Patch, produce } from 'immer';\nimport {\n CallEndReason,\n CallState as CallStatus,\n RemoteParticipantState as RemoteParticipantStatus\n} from '@azure/communication-calling';\nimport { _safeJSONStringify, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport {\n CallState,\n CallClientState,\n LocalVideoStreamState,\n RemoteParticipantState,\n RemoteVideoStreamState,\n IncomingCallState,\n VideoStreamRendererViewState,\n CallAgentState,\n CallErrors,\n CallErrorTarget,\n CallError\n} from './CallClientState';\nimport { callingStatefulLogger } from './Logger';\nimport { CallIdHistory } from './CallIdHistory';\n\nenableMapSet();\n// Needed to generate state diff for verbose logging.\nenablePatches();\n\n// TODO: How can we make this configurable?\n/**\n * @private\n */\nexport const MAX_CALL_HISTORY_LENGTH = 10;\n\n/**\n * @private\n */\nexport class CallContext {\n private _logger: AzureLogger;\n private _state: CallClientState;\n private _emitter: EventEmitter;\n private _atomicId: number;\n private _callIdHistory: CallIdHistory = new CallIdHistory();\n\n constructor(\n userId: CommunicationIdentifierKind,\n maxListeners = 50,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId?: string\n ) {\n this._logger = createClientLogger('communication-react:calling-context');\n this._state = {\n calls: {},\n callsEnded: {},\n incomingCalls: {},\n incomingCallsEnded: {},\n deviceManager: {\n isSpeakerSelectionAvailable: false,\n cameras: [],\n microphones: [],\n speakers: [],\n unparentedViews: []\n },\n callAgent: undefined,\n userId: userId,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId: alternateCallerId,\n latestErrors: {} as CallErrors\n };\n this._emitter = new EventEmitter();\n this._emitter.setMaxListeners(maxListeners);\n this._atomicId = 0;\n }\n\n public getState(): CallClientState {\n return this._state;\n }\n\n public modifyState(modifier: (draft: CallClientState) => void): void {\n const priorState = this._state;\n this._state = produce(this._state, modifier, (patches: Patch[]) => {\n if (getLogLevel() === 'verbose') {\n // Log to `info` because AzureLogger.verbose() doesn't show up in console.\n this._logger.info(`State change: ${_safeJSONStringify(patches)}`);\n }\n });\n if (this._state !== priorState) {\n this._emitter.emit('stateChanged', this._state);\n }\n }\n\n public onStateChange(handler: (state: CallClientState) => void): void {\n this._emitter.on('stateChanged', handler);\n }\n\n public offStateChange(handler: (state: CallClientState) => void): void {\n this._emitter.off('stateChanged', handler);\n }\n\n // Disposing of the CallAgentDeclarative will not clear the state. If we create a new CallAgentDeclarative, we should\n // make sure the state is clean because any left over state (if previous CallAgentDeclarative was disposed) may be\n // invalid.\n public clearCallRelatedState(): void {\n this.modifyState((draft: CallClientState) => {\n draft.calls = {};\n draft.incomingCalls = {};\n draft.callsEnded = {};\n draft.incomingCallsEnded = {};\n });\n }\n\n public setCallAgent(callAgent: CallAgentState): void {\n this.modifyState((draft: CallClientState) => {\n draft.callAgent = callAgent;\n });\n }\n\n public setCall(call: CallState): void {\n this.modifyState((draft: CallClientState) => {\n const latestCallId = this._callIdHistory.latestCallId(call.id);\n const existingCall = draft.calls[latestCallId];\n if (existingCall) {\n existingCall.callerInfo = call.callerInfo;\n existingCall.state = call.state;\n existingCall.callEndReason = call.callEndReason;\n existingCall.direction = call.direction;\n existingCall.isMuted = call.isMuted;\n existingCall.isScreenSharingOn = call.isScreenSharingOn;\n existingCall.localVideoStreams = call.localVideoStreams;\n existingCall.remoteParticipants = call.remoteParticipants;\n existingCall.transcription.isTranscriptionActive = call.transcription.isTranscriptionActive;\n existingCall.recording.isRecordingActive = call.recording.isRecordingActive;\n /* @conditional-compile-remove(rooms) */\n existingCall.role = call.role;\n // We don't update the startTime and endTime if we are updating an existing active call\n } else {\n draft.calls[latestCallId] = call;\n }\n });\n }\n\n public removeCall(callId: string): void {\n this.modifyState((draft: CallClientState) => {\n delete draft.calls[this._callIdHistory.latestCallId(callId)];\n });\n }\n\n public setCallEnded(callId: string, callEndReason: CallEndReason | undefined): void {\n const latestCallId = this._callIdHistory.latestCallId(callId);\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[latestCallId];\n if (call) {\n call.endTime = new Date();\n call.callEndReason = callEndReason;\n delete draft.calls[latestCallId];\n // Performance note: This loop should run only once because the number of entries\n // is never allowed to exceed MAX_CALL_HISTORY_LENGTH. A loop is used for correctness.\n while (Object.keys(draft.callsEnded).length >= MAX_CALL_HISTORY_LENGTH) {\n delete draft.callsEnded[findOldestCallEnded(draft.callsEnded)];\n }\n draft.callsEnded[latestCallId] = call;\n }\n });\n }\n\n public setCallState(callId: string, state: CallStatus): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.state = state;\n }\n });\n }\n\n public setCallId(newCallId: string, oldCallId: string): void {\n this._callIdHistory.updateCallIdHistory(newCallId, oldCallId);\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[oldCallId];\n if (call) {\n call.id = newCallId;\n delete draft.calls[oldCallId];\n draft.calls[newCallId] = call;\n }\n });\n }\n\n public setCallIsScreenSharingOn(callId: string, isScreenSharingOn: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.isScreenSharingOn = isScreenSharingOn;\n }\n });\n }\n\n public setCallRemoteParticipants(\n callId: string,\n addRemoteParticipant: RemoteParticipantState[],\n removeRemoteParticipant: string[]\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n removeRemoteParticipant.forEach((id: string) => {\n delete call.remoteParticipants[id];\n });\n addRemoteParticipant.forEach((participant: RemoteParticipantState) => {\n call.remoteParticipants[toFlatCommunicationIdentifier(participant.identifier)] = participant;\n });\n }\n });\n }\n\n public setCallRemoteParticipantsEnded(\n callId: string,\n addRemoteParticipant: RemoteParticipantState[],\n removeRemoteParticipant: string[]\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n removeRemoteParticipant.forEach((id: string) => {\n delete call.remoteParticipantsEnded[id];\n });\n addRemoteParticipant.forEach((participant: RemoteParticipantState) => {\n call.remoteParticipantsEnded[toFlatCommunicationIdentifier(participant.identifier)] = participant;\n });\n }\n });\n }\n\n public setCallLocalVideoStream(callId: string, streams: LocalVideoStreamState[]): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.localVideoStreams = streams;\n }\n });\n }\n\n public setCallIsMicrophoneMuted(callId: string, isMicrophoneMuted: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.isMuted = isMicrophoneMuted;\n }\n });\n }\n\n /* @conditional-compile-remove(rooms) */\n public setRole(callId: string, role: ParticipantRole): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.role = role;\n }\n });\n }\n\n public setCallDominantSpeakers(callId: string, dominantSpeakers: DominantSpeakersInfo): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.dominantSpeakers = dominantSpeakers;\n }\n });\n }\n\n public setCallRecordingActive(callId: string, isRecordingActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.recording.isRecordingActive = isRecordingActive;\n }\n });\n }\n\n public setCallTranscriptionActive(callId: string, isTranscriptionActive: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.transcription.isTranscriptionActive = isTranscriptionActive;\n }\n });\n }\n\n public setCallScreenShareParticipant(callId: string, participantKey: string | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n call.screenShareRemoteParticipant = participantKey;\n }\n });\n }\n\n public setLocalVideoStreamRendererView(callId: string, view: VideoStreamRendererViewState | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n if (call.localVideoStreams.length > 0) {\n call.localVideoStreams[0].view = view;\n }\n }\n });\n }\n\n public setParticipantState(callId: string, participantKey: string, state: RemoteParticipantStatus): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.state = state;\n }\n }\n });\n }\n\n public setParticipantIsMuted(callId: string, participantKey: string, muted: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.isMuted = muted;\n }\n }\n });\n }\n\n /* @conditional-compile-remove(rooms) */\n public setParticipantRole(callId: string, participantKey: string, role: ParticipantRole): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.role = role;\n }\n }\n });\n }\n\n public setParticipantDisplayName(callId: string, participantKey: string, displayName: string): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.displayName = displayName;\n }\n }\n });\n }\n\n public setParticipantIsSpeaking(callId: string, participantKey: string, isSpeaking: boolean): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n participant.isSpeaking = isSpeaking;\n }\n }\n });\n }\n\n public setParticipantVideoStream(callId: string, participantKey: string, stream: RemoteVideoStreamState): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n // Set is called by subscriber will not modify any rendered stream so if there is existing stream only\n // modify the values that subscriber has access to.\n const existingStream = participant.videoStreams[stream.id];\n if (existingStream) {\n existingStream.isAvailable = stream.isAvailable;\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n existingStream.isReceiving = stream.isReceiving;\n existingStream.mediaStreamType = stream.mediaStreamType;\n } else {\n participant.videoStreams[stream.id] = stream;\n }\n }\n }\n });\n }\n\n public setRemoteVideoStreamIsAvailable(\n callId: string,\n participantKey: string,\n streamId: number,\n isAvailable: boolean\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.isAvailable = isAvailable;\n }\n }\n }\n });\n }\n\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n public setRemoteVideoStreamIsReceiving(\n callId: string,\n participantKey: string,\n streamId: number,\n isReceiving: boolean\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.isReceiving = isReceiving;\n }\n }\n }\n });\n }\n\n public setRemoteVideoStreams(\n callId: string,\n participantKey: string,\n addRemoteVideoStream: RemoteVideoStreamState[],\n removeRemoteVideoStream: number[]\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n for (const id of removeRemoteVideoStream) {\n delete participant.videoStreams[id];\n }\n\n for (const newStream of addRemoteVideoStream) {\n // This should only be called by the subscriber and some properties are add by other components so if the\n // stream already exists, only update the values that subscriber knows about.\n const stream = participant.videoStreams[newStream.id];\n if (stream) {\n stream.mediaStreamType = newStream.mediaStreamType;\n stream.isAvailable = newStream.isAvailable;\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n stream.isReceiving = newStream.isReceiving;\n } else {\n participant.videoStreams[newStream.id] = newStream;\n }\n }\n }\n }\n });\n }\n\n public setRemoteVideoStreamRendererView(\n callId: string,\n participantKey: string,\n streamId: number,\n view: VideoStreamRendererViewState | undefined\n ): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.calls[this._callIdHistory.latestCallId(callId)];\n if (call) {\n const participant = call.remoteParticipants[participantKey];\n if (participant) {\n const stream = participant.videoStreams[streamId];\n if (stream) {\n stream.view = view;\n }\n }\n }\n });\n }\n\n public setIncomingCall(call: IncomingCallState): void {\n this.modifyState((draft: CallClientState) => {\n const existingCall = draft.incomingCalls[call.id];\n if (existingCall) {\n existingCall.callerInfo = call.callerInfo;\n } else {\n draft.incomingCalls[call.id] = call;\n }\n });\n }\n\n public removeIncomingCall(callId: string): void {\n this.modifyState((draft: CallClientState) => {\n delete draft.incomingCalls[callId];\n });\n }\n\n public setIncomingCallEnded(callId: string, callEndReason: CallEndReason | undefined): void {\n this.modifyState((draft: CallClientState) => {\n const call = draft.incomingCalls[callId];\n if (call) {\n call.endTime = new Date();\n call.callEndReason = callEndReason;\n delete draft.incomingCalls[callId];\n // Performance note: This loop should run only once because the number of entries\n // is never allowed to exceed MAX_CALL_HISTORY_LENGTH. A loop is used for correctness.\n while (Object.keys(draft.incomingCallsEnded).length >= MAX_CALL_HISTORY_LENGTH) {\n delete draft.incomingCallsEnded[findOldestCallEnded(draft.incomingCallsEnded)];\n }\n draft.incomingCallsEnded[callId] = call;\n }\n });\n }\n\n public setDeviceManagerIsSpeakerSelectionAvailable(isSpeakerSelectionAvailable: boolean): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.isSpeakerSelectionAvailable = isSpeakerSelectionAvailable;\n });\n }\n\n public setDeviceManagerSelectedMicrophone(selectedMicrophone?: AudioDeviceInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.selectedMicrophone = selectedMicrophone;\n });\n }\n\n public setDeviceManagerSelectedSpeaker(selectedSpeaker?: AudioDeviceInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.selectedSpeaker = selectedSpeaker;\n });\n }\n\n public setDeviceManagerSelectedCamera(selectedCamera?: VideoDeviceInfo): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.selectedCamera = selectedCamera;\n });\n }\n\n public setDeviceManagerCameras(cameras: VideoDeviceInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n /**\n * SDK initializes cameras with one dummy camera with value { id: 'camera:id', name: '', deviceType: 'USBCamera' } immediately after\n * camera permissions are granted. So selectedCamera will have this value before the actual cameras are obtained. Therefore we should reset\n * selectedCamera to the first camera when there are cameras AND when current selectedCamera does not exist in the new array of cameras *\n */\n if (cameras.length > 0 && !cameras.some((camera) => camera.id === draft.deviceManager.selectedCamera?.id)) {\n draft.deviceManager.selectedCamera = cameras[0];\n }\n draft.deviceManager.cameras = cameras;\n });\n }\n\n public setDeviceManagerMicrophones(microphones: AudioDeviceInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.microphones = microphones;\n });\n }\n\n public setDeviceManagerSpeakers(speakers: AudioDeviceInfo[]): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.speakers = speakers;\n });\n }\n\n public setDeviceManagerDeviceAccess(deviceAccess: DeviceAccess): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.deviceAccess = deviceAccess;\n });\n }\n\n public setDeviceManagerUnparentedView(\n localVideoStream: LocalVideoStreamState,\n view: VideoStreamRendererViewState | undefined\n ): void {\n this.modifyState((draft: CallClientState) => {\n draft.deviceManager.unparentedViews.push({\n source: localVideoStream.source,\n mediaStreamType: localVideoStream.mediaStreamType,\n view: view\n });\n });\n }\n\n public deleteDeviceManagerUnparentedView(localVideoStream: LocalVideoStreamState): void {\n this.modifyState((draft: CallClientState) => {\n const foundIndex = draft.deviceManager.unparentedViews.findIndex(\n (stream) =>\n stream.source.id === localVideoStream.source.id && stream.mediaStreamType === localVideoStream.mediaStreamType\n );\n if (foundIndex !== -1) {\n draft.deviceManager.unparentedViews.splice(foundIndex, 1);\n }\n });\n }\n\n public getAndIncrementAtomicId(): number {\n const id = this._atomicId;\n this._atomicId++;\n return id;\n }\n\n /**\n * Tees any errors encountered in an async function to the state.\n *\n * @param action Async function to execute.\n * @param target The error target to tee error to.\n * @returns Result of calling `f`. Also re-raises any exceptions thrown from `f`.\n * @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.\n */\n public withAsyncErrorTeedToState<Args extends unknown[], R>(\n action: (...args: Args) => Promise<R>,\n target: CallErrorTarget\n ): (...args: Args) => Promise<R> {\n return async (...args: Args): Promise<R> => {\n try {\n return await action(...args);\n } catch (error) {\n const callError = toCallError(target, error);\n this.setLatestError(target, callError);\n throw callError;\n }\n };\n }\n\n /**\n * Tees any errors encountered in an function to the state.\n *\n * @param action Function to execute.\n * @param target The error target to tee error to.\n * @returns Result of calling `f`. Also re-raises any exceptions thrown from `f`.\n * @throws CallError. Exceptions thrown from `f` are tagged with the failed `target.\n */\n public withErrorTeedToState<Args extends unknown[], R>(\n action: (...args: Args) => R,\n target: CallErrorTarget\n ): (...args: Args) => R {\n return (...args: Args): R => {\n try {\n callingStatefulLogger.info(`Calling stateful client target function called: ${target}`);\n return action(...args);\n } catch (error) {\n const callError = toCallError(target, error);\n this.setLatestError(target, callError);\n throw callError;\n }\n };\n }\n\n private setLatestError(target: CallErrorTarget, error: CallError): void {\n this.modifyState((draft: CallClientState) => {\n draft.latestErrors[target] = error;\n });\n }\n}\n\nconst toCallError = (target: CallErrorTarget, error: unknown): CallError => {\n if (error instanceof Error) {\n return new CallError(target, error);\n }\n return new CallError(target, new Error(error as string));\n};\n\nconst findOldestCallEnded = (calls: { [key: string]: { endTime?: Date } }): string => {\n const callEntries = Object.entries(calls);\n let [oldestCallId, oldestCall] = callEntries[0];\n if (oldestCall.endTime === undefined) {\n return oldestCallId;\n }\n for (const [callId, call] of callEntries.slice(1)) {\n if (call.endTime === undefined) {\n return callId;\n }\n if ((call.endTime?.getTime() ?? 0) < (oldestCall.endTime?.getTime() ?? 0)) {\n [oldestCallId, oldestCall] = [callId, call];\n }\n }\n return oldestCallId;\n};\n\"../../acs-ui-common/src\""]}
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
1
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
5
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -16,78 +18,69 @@ class ProxyCall {
16
18
  }
17
19
  get(target, prop) {
18
20
  switch (prop) {
19
- case 'mute':
20
- {
21
- return this._context.withAsyncErrorTeedToState(function (...args) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- return yield target.mute(...args);
24
- });
25
- }, 'Call.mute');
26
- }
27
- case 'unmute':
28
- {
29
- return this._context.withAsyncErrorTeedToState(function (...args) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- return yield target.unmute(...args);
32
- });
33
- }, 'Call.unmute');
34
- }
35
- case 'startVideo':
36
- {
37
- return this._context.withAsyncErrorTeedToState(function (...args) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- return yield target.startVideo(...args);
40
- });
41
- }, 'Call.startVideo');
42
- }
43
- case 'stopVideo':
44
- {
45
- return this._context.withAsyncErrorTeedToState(function (...args) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- return yield target.stopVideo(...args);
48
- });
49
- }, 'Call.stopVideo');
50
- }
51
- case 'startScreenSharing':
52
- {
53
- return this._context.withAsyncErrorTeedToState(function (...args) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- return yield target.startScreenSharing(...args);
56
- });
57
- }, 'Call.startScreenSharing');
58
- }
59
- case 'stopScreenSharing':
60
- {
61
- return this._context.withAsyncErrorTeedToState(function (...args) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- return yield target.stopScreenSharing(...args);
64
- });
65
- }, 'Call.stopScreenSharing');
66
- }
67
- case 'hold':
68
- {
69
- return this._context.withAsyncErrorTeedToState(function (...args) {
70
- return __awaiter(this, void 0, void 0, function* () {
71
- return yield target.hold(...args);
72
- });
73
- }, 'Call.hold');
74
- }
75
- case 'resume':
76
- {
77
- return this._context.withAsyncErrorTeedToState(function (...args) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- return yield target.resume(...args);
80
- });
81
- }, 'Call.resume');
82
- }
83
- case 'addParticipant':
84
- {
85
- return this._context.withAsyncErrorTeedToState(function (...args) {
86
- return __awaiter(this, void 0, void 0, function* () {
87
- return yield target.addParticipant(...args);
88
- });
89
- }, 'Call.addParticipant');
90
- }
21
+ case 'mute': {
22
+ return this._context.withAsyncErrorTeedToState(function (...args) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return yield target.mute(...args);
25
+ });
26
+ }, 'Call.mute');
27
+ }
28
+ case 'unmute': {
29
+ return this._context.withAsyncErrorTeedToState(function (...args) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ return yield target.unmute(...args);
32
+ });
33
+ }, 'Call.unmute');
34
+ }
35
+ case 'startVideo': {
36
+ return this._context.withAsyncErrorTeedToState(function (...args) {
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ return yield target.startVideo(...args);
39
+ });
40
+ }, 'Call.startVideo');
41
+ }
42
+ case 'stopVideo': {
43
+ return this._context.withAsyncErrorTeedToState(function (...args) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ return yield target.stopVideo(...args);
46
+ });
47
+ }, 'Call.stopVideo');
48
+ }
49
+ case 'startScreenSharing': {
50
+ return this._context.withAsyncErrorTeedToState(function (...args) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ return yield target.startScreenSharing(...args);
53
+ });
54
+ }, 'Call.startScreenSharing');
55
+ }
56
+ case 'stopScreenSharing': {
57
+ return this._context.withAsyncErrorTeedToState(function (...args) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ return yield target.stopScreenSharing(...args);
60
+ });
61
+ }, 'Call.stopScreenSharing');
62
+ }
63
+ case 'hold': {
64
+ return this._context.withAsyncErrorTeedToState(function (...args) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ return yield target.hold(...args);
67
+ });
68
+ }, 'Call.hold');
69
+ }
70
+ case 'resume': {
71
+ return this._context.withAsyncErrorTeedToState(function (...args) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ return yield target.resume(...args);
74
+ });
75
+ }, 'Call.resume');
76
+ }
77
+ case 'addParticipant': {
78
+ return this._context.withAsyncErrorTeedToState(function (...args) {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ return yield target.addParticipant(...args);
81
+ });
82
+ }, 'Call.addParticipant');
83
+ }
91
84
  default:
92
85
  return Reflect.get(target, prop);
93
86
  }