@azure/communication-react 1.7.0-alpha-202307261914 → 1.7.0-beta.2

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 (771) hide show
  1. package/dist/communication-react.d.ts +14 -130
  2. package/dist/dist-cjs/communication-react/index.js +3658 -3865
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/identifier.js +1 -4
  11. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +4 -4
  22. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +4 -5
  24. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +55 -20
  26. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +38 -32
  28. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +6 -2
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  34. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  40. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +12 -24
  41. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +3 -6
  45. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +6 -9
  50. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +8 -13
  53. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +6 -22
  55. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  57. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  59. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +75 -65
  60. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  61. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +0 -16
  62. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -3
  64. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +6 -21
  65. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  66. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +8 -7
  67. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +83 -74
  69. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  72. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +3 -7
  74. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  76. package/dist/dist-esm/calling-stateful-client/src/Converter.js +7 -4
  77. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +57 -51
  79. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -14
  81. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  82. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +15 -3
  84. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +3 -1
  88. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +67 -65
  93. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +31 -33
  95. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +11 -8
  97. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  100. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +8 -7
  101. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  106. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +7 -6
  108. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -1
  110. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  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 +4 -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 +14 -13
  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 +1 -1
  119. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +10 -3
  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.map +1 -1
  124. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  125. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +15 -33
  126. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  127. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  128. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  129. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  130. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  131. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +7 -3
  132. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -3
  134. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  136. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -10
  137. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  138. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  139. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +9 -5
  140. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  141. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  142. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +10 -7
  143. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  144. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  145. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +67 -57
  146. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  147. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +127 -113
  148. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  149. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -3
  150. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  151. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  152. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  153. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  155. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  156. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  157. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  158. package/dist/dist-esm/communication-react/src/index.d.ts +0 -1
  159. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  160. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  161. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +6 -3
  162. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  163. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  164. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  165. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +10 -4
  166. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  168. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  169. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  170. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  171. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/components/CameraButton.js +19 -8
  173. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  174. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  175. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +10 -11
  177. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  178. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +14 -16
  179. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  180. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +8 -7
  181. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +17 -36
  183. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +9 -16
  185. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +35 -27
  187. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +33 -52
  189. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +28 -38
  191. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  194. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +4 -7
  196. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  198. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/ControlBar.js +14 -10
  203. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +4 -14
  205. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +14 -3
  207. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +10 -4
  209. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +31 -14
  211. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +8 -5
  213. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +6 -24
  215. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +20 -12
  217. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/DevicesButton.js +27 -19
  219. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +44 -36
  221. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  223. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +6 -2
  225. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  227. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +23 -11
  229. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -6
  231. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/EndCallButton.js +7 -3
  234. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/ErrorBar.js +5 -9
  236. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/FileCard.js +3 -2
  238. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  240. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +16 -17
  242. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +7 -8
  244. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  246. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  248. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  250. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +9 -7
  252. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +15 -8
  254. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +5 -3
  256. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +9 -27
  258. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/MentionPopover.js +11 -19
  260. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +36 -23
  262. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +1 -1
  264. package/dist/dist-esm/react-components/src/components/MessageThread.js +91 -158
  265. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +14 -17
  267. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +101 -94
  269. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +17 -15
  271. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  273. package/dist/dist-esm/react-components/src/components/ParticipantList.js +14 -41
  274. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +32 -46
  276. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  278. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  280. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +14 -29
  282. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  284. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  286. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +14 -6
  288. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/SendBox.js +19 -17
  290. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  292. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +4 -2
  295. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  297. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/SystemMessage.js +4 -2
  299. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +32 -70
  301. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +46 -52
  303. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  305. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +6 -9
  307. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  308. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -1
  309. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -1
  311. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +8 -4
  313. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -1
  315. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +34 -19
  317. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +1 -3
  319. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +13 -9
  321. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +15 -13
  323. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +3 -6
  325. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +15 -34
  327. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +10 -10
  329. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +24 -59
  331. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  334. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +5 -16
  336. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +6 -8
  338. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  339. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +4 -2
  340. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +6 -1
  342. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +32 -7
  344. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +11 -2
  346. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  347. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  349. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +3 -1
  352. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +11 -10
  354. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +28 -22
  356. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +5 -10
  358. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +32 -18
  360. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  361. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +24 -40
  363. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/VideoGallery.js +27 -97
  365. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/VideoTile.js +51 -32
  367. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -1
  369. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +2 -2
  372. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +5 -9
  373. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  374. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +12 -3
  376. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +3 -1
  381. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  382. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  383. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +4 -1
  386. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +8 -2
  390. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +1 -0
  392. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  394. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +10 -2
  395. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +3 -0
  398. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  399. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +1 -0
  401. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  402. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  403. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +1 -0
  405. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +17 -3
  407. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  413. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -4
  414. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  416. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  419. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +1 -10
  421. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  422. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +3 -1
  423. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  424. package/dist/dist-esm/react-components/src/components/utils.js +10 -13
  425. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +6 -8
  427. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  431. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -3
  433. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +0 -3
  436. package/dist/dist-esm/react-components/src/localization/locales/index.js +63 -21
  437. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  438. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -1
  439. package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +6 -3
  441. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  442. package/dist/dist-esm/react-components/src/theming/icons.js +26 -20
  443. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  444. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  446. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  447. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  449. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  451. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  452. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  453. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  454. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  455. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  456. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  458. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  459. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +36 -34
  460. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  461. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  462. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +3 -3
  463. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +58 -130
  464. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +4 -72
  466. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -9
  467. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  468. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  469. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  470. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +3 -1
  471. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  472. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  473. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -2
  474. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  475. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -1
  476. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  477. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +27 -50
  478. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  479. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +44 -19
  480. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  481. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +141 -133
  482. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  483. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +7 -1
  484. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -1
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +7 -1
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +4 -5
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +2 -2
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +22 -32
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +23 -34
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +34 -25
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +33 -41
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +10 -20
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +7 -3
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +8 -13
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +2 -3
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +2 -6
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +4 -7
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +11 -19
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +2 -5
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +6 -8
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +2 -5
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +8 -8
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +3 -7
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -1
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +4 -7
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +29 -63
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +7 -13
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +7 -15
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +23 -23
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -3
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +1 -2
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +5 -7
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +7 -7
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +6 -2
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +7 -2
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +4 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +1 -0
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -0
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +24 -6
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +2 -2
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +11 -9
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -2
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -2
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +22 -33
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +23 -62
  625. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  627. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  628. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +7 -9
  629. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +6 -3
  631. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  633. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +1 -2
  635. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +8 -46
  636. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +1 -13
  638. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  639. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +1 -2
  640. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +2 -7
  641. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  643. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  648. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -2
  652. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +5 -3
  654. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  655. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +19 -21
  656. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  658. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +5 -3
  660. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -1
  661. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  662. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  663. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +38 -39
  664. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  665. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +20 -15
  666. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  668. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  669. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  671. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +6 -11
  672. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +5 -3
  676. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -3
  678. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  679. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  681. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  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.js.map +1 -1
  684. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +6 -6
  685. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +5 -3
  686. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -1
  687. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +6 -2
  688. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +9 -9
  690. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +25 -23
  692. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +3 -8
  695. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +14 -5
  697. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +23 -9
  699. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +8 -6
  702. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +16 -12
  704. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  706. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +5 -1
  708. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  709. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +32 -40
  710. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  711. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +25 -32
  712. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  713. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +44 -22
  714. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  718. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +63 -29
  719. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  722. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js +7 -10
  723. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js.map +1 -1
  724. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js.map +1 -1
  725. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +7 -9
  728. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  729. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  731. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +9 -20
  732. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +8 -19
  734. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +15 -7
  736. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +15 -7
  739. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +8 -10
  741. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  742. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +11 -16
  743. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -3
  747. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  748. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  750. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +16 -5
  751. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +51 -12
  753. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +29 -6
  755. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  756. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +22 -4
  757. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  758. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  759. package/dist/dist-esm/react-composites/src/composites/common/utils.js +12 -17
  760. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  761. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  763. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  764. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +1 -1
  766. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  767. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  768. package/package.json +13 -13
  769. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.d.ts +0 -16
  770. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +0 -24
  771. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +0 -1
@@ -52,7 +52,7 @@ class ProxyDeviceManager {
52
52
  this.videoDevicesUpdated = () => __awaiter(this, void 0, void 0, function* () {
53
53
  // Device Manager always has a camera with '' name if there are no real camera devices available.
54
54
  // We don't want to show that in the UI.
55
- const realCameras = (yield this._deviceManager.getCameras()).filter((c) => !!c.name);
55
+ const realCameras = (yield this._deviceManager.getCameras()).filter(c => !!c.name);
56
56
  this._context.setDeviceManagerCameras(dedupeById(realCameras));
57
57
  });
58
58
  this.audioDevicesUpdated = () => __awaiter(this, void 0, void 0, function* () {
@@ -72,56 +72,62 @@ class ProxyDeviceManager {
72
72
  }
73
73
  get(target, prop) {
74
74
  switch (prop) {
75
- case 'getCameras': {
76
- return this._context.withAsyncErrorTeedToState(() => {
77
- return target.getCameras().then((cameras) => {
78
- // Device Manager always has a camera with '' name if there are no real camera devices available.
79
- // We don't want to show that in the UI.
80
- const realCameras = cameras.filter((c) => !!c.name);
81
- this._context.setDeviceManagerCameras(dedupeById(realCameras));
82
- return realCameras;
83
- });
84
- }, 'DeviceManager.getCameras');
85
- }
86
- case 'getMicrophones': {
87
- return this._context.withAsyncErrorTeedToState(() => {
88
- return target.getMicrophones().then((microphones) => {
89
- this._context.setDeviceManagerMicrophones(dedupeById(microphones));
90
- return microphones;
91
- });
92
- }, 'DeviceManager.getMicrophones');
93
- }
94
- case 'getSpeakers': {
95
- return this._context.withAsyncErrorTeedToState(() => {
96
- return target.getSpeakers().then((speakers) => {
97
- this._context.setDeviceManagerSpeakers(dedupeById(speakers));
98
- return speakers;
99
- });
100
- }, 'DeviceManager.getSpeakers');
101
- }
102
- case 'selectMicrophone': {
103
- return this._context.withAsyncErrorTeedToState((...args) => {
104
- return target.selectMicrophone(...args).then(() => {
105
- this._context.setDeviceManagerSelectedMicrophone(target.selectedMicrophone);
106
- });
107
- }, 'DeviceManager.selectMicrophone');
108
- }
109
- case 'selectSpeaker': {
110
- return this._context.withAsyncErrorTeedToState((...args) => {
111
- return target.selectSpeaker(...args).then(() => {
112
- this._context.setDeviceManagerSelectedSpeaker(target.selectedSpeaker);
113
- });
114
- }, 'DeviceManager.selectSpeaker');
115
- }
116
- case 'askDevicePermission': {
117
- return this._context.withAsyncErrorTeedToState((...args) => {
118
- return target.askDevicePermission(...args).then((deviceAccess) => {
119
- this._context.setDeviceManagerDeviceAccess(deviceAccess);
120
- this.setDeviceManager();
121
- return deviceAccess;
122
- });
123
- }, 'DeviceManager.askDevicePermission');
124
- }
75
+ case 'getCameras':
76
+ {
77
+ return this._context.withAsyncErrorTeedToState(() => {
78
+ return target.getCameras().then((cameras) => {
79
+ // Device Manager always has a camera with '' name if there are no real camera devices available.
80
+ // We don't want to show that in the UI.
81
+ const realCameras = cameras.filter(c => !!c.name);
82
+ this._context.setDeviceManagerCameras(dedupeById(realCameras));
83
+ return realCameras;
84
+ });
85
+ }, 'DeviceManager.getCameras');
86
+ }
87
+ case 'getMicrophones':
88
+ {
89
+ return this._context.withAsyncErrorTeedToState(() => {
90
+ return target.getMicrophones().then((microphones) => {
91
+ this._context.setDeviceManagerMicrophones(dedupeById(microphones));
92
+ return microphones;
93
+ });
94
+ }, 'DeviceManager.getMicrophones');
95
+ }
96
+ case 'getSpeakers':
97
+ {
98
+ return this._context.withAsyncErrorTeedToState(() => {
99
+ return target.getSpeakers().then((speakers) => {
100
+ this._context.setDeviceManagerSpeakers(dedupeById(speakers));
101
+ return speakers;
102
+ });
103
+ }, 'DeviceManager.getSpeakers');
104
+ }
105
+ case 'selectMicrophone':
106
+ {
107
+ return this._context.withAsyncErrorTeedToState((...args) => {
108
+ return target.selectMicrophone(...args).then(() => {
109
+ this._context.setDeviceManagerSelectedMicrophone(target.selectedMicrophone);
110
+ });
111
+ }, 'DeviceManager.selectMicrophone');
112
+ }
113
+ case 'selectSpeaker':
114
+ {
115
+ return this._context.withAsyncErrorTeedToState((...args) => {
116
+ return target.selectSpeaker(...args).then(() => {
117
+ this._context.setDeviceManagerSelectedSpeaker(target.selectedSpeaker);
118
+ });
119
+ }, 'DeviceManager.selectSpeaker');
120
+ }
121
+ case 'askDevicePermission':
122
+ {
123
+ return this._context.withAsyncErrorTeedToState((...args) => {
124
+ return target.askDevicePermission(...args).then((deviceAccess) => {
125
+ this._context.setDeviceManagerDeviceAccess(deviceAccess);
126
+ this.setDeviceManager();
127
+ return deviceAccess;
128
+ });
129
+ }, 'DeviceManager.askDevicePermission');
130
+ }
125
131
  default:
126
132
  return Reflect.get(target, prop);
127
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceManagerDeclarative.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/DeviceManagerDeclarative.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAgClC;;;;;;GAMG;AACH,MAAM,kBAAkB;IAItB,YAAY,aAA4B,EAAE,OAAoB;QAQtD,qBAAgB,GAAG,GAAS,EAAE;YACpC,mHAAmH;YACnH,4GAA4G;YAC5G,mDAAmD;YACnD,IAAI,CAAC,QAAQ,CAAC,2CAA2C,CAAC,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;YAC3G,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;YACzF,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACrF,CAAC,CAAC;QAEM,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACxE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACxE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,2BAA2B,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACpF,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChF,CAAC,CAAC;QAEF;;WAEG;QACI,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACzE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACzE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACrF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACjF,CAAC,CAAC;QAEF;;;;WAIG;QACI,iBAAY,GAAG,CAAC,eAAgC,EAAQ,EAAE;YAC/D,IAAI,CAAC,QAAQ,CAAC,8BAA8B,CAAC,eAAe,CAAC,CAAC;QAChE,CAAC,CAAC;QAEM,wBAAmB,GAAG,GAAwB,EAAE;YACtD,iGAAiG;YACjG,wCAAwC;YACxC,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrF,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;QACjE,CAAC,CAAA,CAAC;QAEM,wBAAmB,GAAG,GAAwB,EAAE;YACtD,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC9F,CAAC,CAAA,CAAC;QAEM,8BAAyB,GAAG,GAAS,EAAE;YAC7C,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAC3F,CAAC,CAAC;QAEM,2BAAsB,GAAG,GAAS,EAAE;YAC1C,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACrF,CAAC,CAAC;QA5DA,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAyDM,GAAG,CAAgC,MAAqB,EAAE,IAAO;QACtE,QAAQ,IAAI,EAAE;YACZ,KAAK,YAAY,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GAA+B,EAAE;oBAC9E,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,OAA0B,EAAE,EAAE;wBAC7D,iGAAiG;wBACjG,wCAAwC;wBACxC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACpD,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;wBAC/D,OAAO,WAAW,CAAC;oBACrB,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,0BAA0B,CAAC,CAAC;aAChC;YACD,KAAK,gBAAgB,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GAA+B,EAAE;oBAC9E,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,WAA8B,EAAE,EAAE;wBACrE,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;wBACnE,OAAO,WAAW,CAAC;oBACrB,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,8BAA8B,CAAC,CAAC;aACpC;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GAA+B,EAAE;oBAC9E,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,QAA2B,EAAE,EAAE;wBAC/D,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC7D,OAAO,QAAQ,CAAC;oBAClB,CAAC,CAAC,CAAC;gBACL,CAAC,EAAE,2BAA2B,CAAC,CAAC;aACjC;YACD,KAAK,kBAAkB,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAC5C,CAAC,GAAG,IAAmD,EAAiB,EAAE;oBACxE,OAAO,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wBAChD,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;oBAC9E,CAAC,CAAC,CAAC;gBACL,CAAC,EACD,gCAAgC,CACjC,CAAC;aACH;YACD,KAAK,eAAe,CAAC,CAAC;gBACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAC5C,CAAC,GAAG,IAAgD,EAAiB,EAAE;oBACrE,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;wBAC7C,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBACxE,CAAC,CAAC,CAAC;gBACL,CAAC,EACD,6BAA6B,CAC9B,CAAC;aACH;YACD,KAAK,qBAAqB,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAC5C,CAAC,GAAG,IAAsD,EAAyB,EAAE;oBACnF,OAAO,MAAM,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,YAA0B,EAAE,EAAE;wBAC7E,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,YAAY,CAAC,CAAC;wBACzD,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBACxB,OAAO,YAAY,CAAC;oBACtB,CAAC,CAAC,CAAC;gBACL,CAAC,EACD,mCAAmC,CACpC,CAAC;aACH;YACD;gBACE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACpC;IACH,CAAC;CACF;AAED,iFAAiF;AACjF,oFAAoF;AACpF,MAAM,UAAU,GAAG,CAA2B,OAAY,EAAO,EAAE;IACjE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACtB,MAAM,aAAa,GAAQ,EAAE,CAAC;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAS,EAAE,EAAE;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACvB,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACpB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAA4B,EAC5B,OAAoB,EACpB,eAAoC,EACrB,EAAE;IACjB,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,aAAa,EAAE;QAClD,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE;KAC9C,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE;QACnD,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,CAAC,eAAgC,EAAE,EAAE,CAAC,kBAAkB,CAAC,YAAY,CAAC,eAAe,CAAC;KAC9F,CAAC,CAAC;IACH,2DAA2D;IAC3D,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,2BAA2B,EAAE;QAChE,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,GAAuB,EAAE,CAAC,eAAe,CAAC,wBAAwB,EAAE;KAC5E,CAAC,CAAC;IACH,OAAO,IAAI,KAAK,CAAC,aAAa,EAAE,kBAAkB,CAA0B,CAAC;AAC/E,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AudioDeviceInfo, DeviceAccess, DeviceManager, VideoDeviceInfo } from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { InternalCallContext } from './InternalCallContext';\n/* @conditional-compile-remove(video-background-effects) */\nimport { LocalVideoStream } from '@azure/communication-calling';\n\n/**\n * Defines the additional methods added by the stateful on top of {@link @azure/communication-calling#DeviceManager}.\n *\n * @public\n */\nexport interface StatefulDeviceManager extends DeviceManager {\n /**\n * Sets the selectedCamera in the {@link DeviceManagerState}. This is completely developer driven and is not tied in\n * any way to {@link @azure/communication-calling#DeviceManager}. It is entirely contained in\n * {@link StatefulDeviceManager}. See also {@link DeviceManagerState.selectedCamera}.\n */\n selectCamera: (VideoDeviceInfo) => void;\n\n /* @conditional-compile-remove(video-background-effects) */\n /**\n * Gets the list of unparented video streams. This is a list of video streams that have not been added to a\n * {@link @azure/communication-calling#Call}. This is useful for developers who want to interact with rendered\n * video streams before they have started a call. See also {@link @azure/communication-react#CallClient.createView}.\n *\n * @beta\n */\n getUnparentedVideoStreams: () => LocalVideoStream[];\n}\n\n/**\n * ProxyDeviceManager proxies DeviceManager and subscribes to all events that affect device manager state. State updates\n * are set on the provided context. Also any queries for state are proxied and stored in state as well. Only one device\n * manager should exist for a given CallClient so if CallClient.getDeviceManager is called multiple times, either a\n * cached ProxyDeviceManager should be returned or the existing ProxyDeviceManager should be destructed via destructor()\n * and a new ProxyDeviceManager created.\n */\nclass ProxyDeviceManager implements ProxyHandler<DeviceManager> {\n private _deviceManager: DeviceManager;\n private _context: CallContext;\n\n constructor(deviceManager: DeviceManager, context: CallContext) {\n this._deviceManager = deviceManager;\n this._context = context;\n\n this.setDeviceManager();\n this.subscribe();\n }\n\n private setDeviceManager = (): void => {\n // isSpeakerSelectionAvailable, selectedMicrophone, and selectedSpeaker are properties on DeviceManager. Since they\n // are not functions we can't proxy them so we'll update whenever we think they may need updating such as at\n // construction time or when certain events happen.\n this._context.setDeviceManagerIsSpeakerSelectionAvailable(this._deviceManager.isSpeakerSelectionAvailable);\n this._context.setDeviceManagerSelectedMicrophone(this._deviceManager.selectedMicrophone);\n this._context.setDeviceManagerSelectedSpeaker(this._deviceManager.selectedSpeaker);\n };\n\n private subscribe = (): void => {\n this._deviceManager.on('videoDevicesUpdated', this.videoDevicesUpdated);\n this._deviceManager.on('audioDevicesUpdated', this.audioDevicesUpdated);\n this._deviceManager.on('selectedMicrophoneChanged', this.selectedMicrophoneChanged);\n this._deviceManager.on('selectedSpeakerChanged', this.selectedSpeakerChanged);\n };\n\n /**\n * This is used to unsubscribe DeclarativeDeviceManager from the DeviceManager events.\n */\n public unsubscribe = (): void => {\n this._deviceManager.off('videoDevicesUpdated', this.videoDevicesUpdated);\n this._deviceManager.off('audioDevicesUpdated', this.audioDevicesUpdated);\n this._deviceManager.off('selectedMicrophoneChanged', this.selectedMicrophoneChanged);\n this._deviceManager.off('selectedSpeakerChanged', this.selectedSpeakerChanged);\n };\n\n /**\n * Used to set a camera inside the proxy device manager.\n *\n * @param videoDeviceInfo VideoDeviceInfo\n */\n public selectCamera = (videoDeviceInfo: VideoDeviceInfo): void => {\n this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);\n };\n\n private videoDevicesUpdated = async (): Promise<void> => {\n // Device Manager always has a camera with '' name if there are no real camera devices available.\n // We don't want to show that in the UI.\n const realCameras = (await this._deviceManager.getCameras()).filter((c) => !!c.name);\n this._context.setDeviceManagerCameras(dedupeById(realCameras));\n };\n\n private audioDevicesUpdated = async (): Promise<void> => {\n this._context.setDeviceManagerMicrophones(dedupeById(await this._deviceManager.getMicrophones()));\n this._context.setDeviceManagerSpeakers(dedupeById(await this._deviceManager.getSpeakers()));\n };\n\n private selectedMicrophoneChanged = (): void => {\n this._context.setDeviceManagerSelectedMicrophone(this._deviceManager.selectedMicrophone);\n };\n\n private selectedSpeakerChanged = (): void => {\n this._context.setDeviceManagerSelectedSpeaker(this._deviceManager.selectedSpeaker);\n };\n\n public get<P extends keyof DeviceManager>(target: DeviceManager, prop: P): any {\n switch (prop) {\n case 'getCameras': {\n return this._context.withAsyncErrorTeedToState((): Promise<VideoDeviceInfo[]> => {\n return target.getCameras().then((cameras: VideoDeviceInfo[]) => {\n // Device Manager always has a camera with '' name if there are no real camera devices available.\n // We don't want to show that in the UI.\n const realCameras = cameras.filter((c) => !!c.name);\n this._context.setDeviceManagerCameras(dedupeById(realCameras));\n return realCameras;\n });\n }, 'DeviceManager.getCameras');\n }\n case 'getMicrophones': {\n return this._context.withAsyncErrorTeedToState((): Promise<AudioDeviceInfo[]> => {\n return target.getMicrophones().then((microphones: AudioDeviceInfo[]) => {\n this._context.setDeviceManagerMicrophones(dedupeById(microphones));\n return microphones;\n });\n }, 'DeviceManager.getMicrophones');\n }\n case 'getSpeakers': {\n return this._context.withAsyncErrorTeedToState((): Promise<AudioDeviceInfo[]> => {\n return target.getSpeakers().then((speakers: AudioDeviceInfo[]) => {\n this._context.setDeviceManagerSpeakers(dedupeById(speakers));\n return speakers;\n });\n }, 'DeviceManager.getSpeakers');\n }\n case 'selectMicrophone': {\n return this._context.withAsyncErrorTeedToState(\n (...args: Parameters<DeviceManager['selectMicrophone']>): Promise<void> => {\n return target.selectMicrophone(...args).then(() => {\n this._context.setDeviceManagerSelectedMicrophone(target.selectedMicrophone);\n });\n },\n 'DeviceManager.selectMicrophone'\n );\n }\n case 'selectSpeaker': {\n return this._context.withAsyncErrorTeedToState(\n (...args: Parameters<DeviceManager['selectSpeaker']>): Promise<void> => {\n return target.selectSpeaker(...args).then(() => {\n this._context.setDeviceManagerSelectedSpeaker(target.selectedSpeaker);\n });\n },\n 'DeviceManager.selectSpeaker'\n );\n }\n case 'askDevicePermission': {\n return this._context.withAsyncErrorTeedToState(\n (...args: Parameters<DeviceManager['askDevicePermission']>): Promise<DeviceAccess> => {\n return target.askDevicePermission(...args).then((deviceAccess: DeviceAccess) => {\n this._context.setDeviceManagerDeviceAccess(deviceAccess);\n this.setDeviceManager();\n return deviceAccess;\n });\n },\n 'DeviceManager.askDevicePermission'\n );\n }\n default:\n return Reflect.get(target, prop);\n }\n }\n}\n\n// TODO: Remove this when SDK no longer returns duplicate audio and video devices\n/** Helper function to dedupe duplicate audio and video devices obtained from SDK */\nconst dedupeById = <T extends { id: string }>(devices: T[]): T[] => {\n const ids = new Set();\n const uniqueDevices: T[] = [];\n devices.forEach((device: T) => {\n if (!ids.has(device.id)) {\n uniqueDevices.push(device);\n ids.add(device.id);\n }\n });\n return uniqueDevices;\n};\n\n/**\n * Creates a declarative DeviceManager by proxying DeviceManager with ProxyDeviceManager. The declarative DeviceManager\n * will put state updates in the given context.\n *\n * @param deviceManager - DeviceManager from SDK\n * @param context - CallContext from StatefulCallClient\n *\n * @private\n */\nexport const deviceManagerDeclaratify = (\n deviceManager: DeviceManager,\n context: CallContext,\n internalContext: InternalCallContext\n): DeviceManager => {\n const proxyDeviceManager = new ProxyDeviceManager(deviceManager, context);\n Object.defineProperty(deviceManager, 'unsubscribe', {\n configurable: false,\n value: () => proxyDeviceManager.unsubscribe()\n });\n Object.defineProperty(deviceManager, 'selectCamera', {\n configurable: false,\n value: (videoDeviceInfo: VideoDeviceInfo) => proxyDeviceManager.selectCamera(videoDeviceInfo)\n });\n /* @conditional-compile-remove(video-background-effects) */\n Object.defineProperty(deviceManager, 'getUnparentedVideoStreams', {\n configurable: false,\n value: (): LocalVideoStream[] => internalContext.getUnparentedRenderInfos()\n });\n return new Proxy(deviceManager, proxyDeviceManager) as StatefulDeviceManager;\n};\n"]}
1
+ {"version":3,"file":"DeviceManagerDeclarative.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/DeviceManagerDeclarative.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AudioDeviceInfo, DeviceAccess, DeviceManager, VideoDeviceInfo } from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { InternalCallContext } from './InternalCallContext';\n/* @conditional-compile-remove(video-background-effects) */\nimport { LocalVideoStream } from '@azure/communication-calling';\n\n/**\n * Defines the additional methods added by the stateful on top of {@link @azure/communication-calling#DeviceManager}.\n *\n * @public\n */\nexport interface StatefulDeviceManager extends DeviceManager {\n /**\n * Sets the selectedCamera in the {@link DeviceManagerState}. This is completely developer driven and is not tied in\n * any way to {@link @azure/communication-calling#DeviceManager}. It is entirely contained in\n * {@link StatefulDeviceManager}. See also {@link DeviceManagerState.selectedCamera}.\n */\n selectCamera: (VideoDeviceInfo) => void;\n\n /* @conditional-compile-remove(video-background-effects) */\n /**\n * Gets the list of unparented video streams. This is a list of video streams that have not been added to a\n * {@link @azure/communication-calling#Call}. This is useful for developers who want to interact with rendered\n * video streams before they have started a call. See also {@link @azure/communication-react#CallClient.createView}.\n *\n * @beta\n */\n getUnparentedVideoStreams: () => LocalVideoStream[];\n}\n\n/**\n * ProxyDeviceManager proxies DeviceManager and subscribes to all events that affect device manager state. State updates\n * are set on the provided context. Also any queries for state are proxied and stored in state as well. Only one device\n * manager should exist for a given CallClient so if CallClient.getDeviceManager is called multiple times, either a\n * cached ProxyDeviceManager should be returned or the existing ProxyDeviceManager should be destructed via destructor()\n * and a new ProxyDeviceManager created.\n */\nclass ProxyDeviceManager implements ProxyHandler<DeviceManager> {\n private _deviceManager: DeviceManager;\n private _context: CallContext;\n constructor(deviceManager: DeviceManager, context: CallContext) {\n this._deviceManager = deviceManager;\n this._context = context;\n this.setDeviceManager();\n this.subscribe();\n }\n private setDeviceManager = (): void => {\n // isSpeakerSelectionAvailable, selectedMicrophone, and selectedSpeaker are properties on DeviceManager. Since they\n // are not functions we can't proxy them so we'll update whenever we think they may need updating such as at\n // construction time or when certain events happen.\n this._context.setDeviceManagerIsSpeakerSelectionAvailable(this._deviceManager.isSpeakerSelectionAvailable);\n this._context.setDeviceManagerSelectedMicrophone(this._deviceManager.selectedMicrophone);\n this._context.setDeviceManagerSelectedSpeaker(this._deviceManager.selectedSpeaker);\n };\n private subscribe = (): void => {\n this._deviceManager.on('videoDevicesUpdated', this.videoDevicesUpdated);\n this._deviceManager.on('audioDevicesUpdated', this.audioDevicesUpdated);\n this._deviceManager.on('selectedMicrophoneChanged', this.selectedMicrophoneChanged);\n this._deviceManager.on('selectedSpeakerChanged', this.selectedSpeakerChanged);\n };\n\n /**\n * This is used to unsubscribe DeclarativeDeviceManager from the DeviceManager events.\n */\n public unsubscribe = (): void => {\n this._deviceManager.off('videoDevicesUpdated', this.videoDevicesUpdated);\n this._deviceManager.off('audioDevicesUpdated', this.audioDevicesUpdated);\n this._deviceManager.off('selectedMicrophoneChanged', this.selectedMicrophoneChanged);\n this._deviceManager.off('selectedSpeakerChanged', this.selectedSpeakerChanged);\n };\n\n /**\n * Used to set a camera inside the proxy device manager.\n *\n * @param videoDeviceInfo VideoDeviceInfo\n */\n public selectCamera = (videoDeviceInfo: VideoDeviceInfo): void => {\n this._context.setDeviceManagerSelectedCamera(videoDeviceInfo);\n };\n private videoDevicesUpdated = async (): Promise<void> => {\n // Device Manager always has a camera with '' name if there are no real camera devices available.\n // We don't want to show that in the UI.\n const realCameras = (await this._deviceManager.getCameras()).filter(c => !!c.name);\n this._context.setDeviceManagerCameras(dedupeById(realCameras));\n };\n private audioDevicesUpdated = async (): Promise<void> => {\n this._context.setDeviceManagerMicrophones(dedupeById(await this._deviceManager.getMicrophones()));\n this._context.setDeviceManagerSpeakers(dedupeById(await this._deviceManager.getSpeakers()));\n };\n private selectedMicrophoneChanged = (): void => {\n this._context.setDeviceManagerSelectedMicrophone(this._deviceManager.selectedMicrophone);\n };\n private selectedSpeakerChanged = (): void => {\n this._context.setDeviceManagerSelectedSpeaker(this._deviceManager.selectedSpeaker);\n };\n public get<P extends keyof DeviceManager>(target: DeviceManager, prop: P): any {\n switch (prop) {\n case 'getCameras':\n {\n return this._context.withAsyncErrorTeedToState((): Promise<VideoDeviceInfo[]> => {\n return target.getCameras().then((cameras: VideoDeviceInfo[]) => {\n // Device Manager always has a camera with '' name if there are no real camera devices available.\n // We don't want to show that in the UI.\n const realCameras = cameras.filter(c => !!c.name);\n this._context.setDeviceManagerCameras(dedupeById(realCameras));\n return realCameras;\n });\n }, 'DeviceManager.getCameras');\n }\n case 'getMicrophones':\n {\n return this._context.withAsyncErrorTeedToState((): Promise<AudioDeviceInfo[]> => {\n return target.getMicrophones().then((microphones: AudioDeviceInfo[]) => {\n this._context.setDeviceManagerMicrophones(dedupeById(microphones));\n return microphones;\n });\n }, 'DeviceManager.getMicrophones');\n }\n case 'getSpeakers':\n {\n return this._context.withAsyncErrorTeedToState((): Promise<AudioDeviceInfo[]> => {\n return target.getSpeakers().then((speakers: AudioDeviceInfo[]) => {\n this._context.setDeviceManagerSpeakers(dedupeById(speakers));\n return speakers;\n });\n }, 'DeviceManager.getSpeakers');\n }\n case 'selectMicrophone':\n {\n return this._context.withAsyncErrorTeedToState((...args: Parameters<DeviceManager['selectMicrophone']>): Promise<void> => {\n return target.selectMicrophone(...args).then(() => {\n this._context.setDeviceManagerSelectedMicrophone(target.selectedMicrophone);\n });\n }, 'DeviceManager.selectMicrophone');\n }\n case 'selectSpeaker':\n {\n return this._context.withAsyncErrorTeedToState((...args: Parameters<DeviceManager['selectSpeaker']>): Promise<void> => {\n return target.selectSpeaker(...args).then(() => {\n this._context.setDeviceManagerSelectedSpeaker(target.selectedSpeaker);\n });\n }, 'DeviceManager.selectSpeaker');\n }\n case 'askDevicePermission':\n {\n return this._context.withAsyncErrorTeedToState((...args: Parameters<DeviceManager['askDevicePermission']>): Promise<DeviceAccess> => {\n return target.askDevicePermission(...args).then((deviceAccess: DeviceAccess) => {\n this._context.setDeviceManagerDeviceAccess(deviceAccess);\n this.setDeviceManager();\n return deviceAccess;\n });\n }, 'DeviceManager.askDevicePermission');\n }\n default:\n return Reflect.get(target, prop);\n }\n }\n}\n\n// TODO: Remove this when SDK no longer returns duplicate audio and video devices\n/** Helper function to dedupe duplicate audio and video devices obtained from SDK */\nconst dedupeById = <T extends {\n id: string;\n},>(devices: T[]): T[] => {\n const ids = new Set();\n const uniqueDevices: T[] = [];\n devices.forEach((device: T) => {\n if (!ids.has(device.id)) {\n uniqueDevices.push(device);\n ids.add(device.id);\n }\n });\n return uniqueDevices;\n};\n\n/**\n * Creates a declarative DeviceManager by proxying DeviceManager with ProxyDeviceManager. The declarative DeviceManager\n * will put state updates in the given context.\n *\n * @param deviceManager - DeviceManager from SDK\n * @param context - CallContext from StatefulCallClient\n *\n * @private\n */\nexport const deviceManagerDeclaratify = (deviceManager: DeviceManager, context: CallContext, internalContext: InternalCallContext): DeviceManager => {\n const proxyDeviceManager = new ProxyDeviceManager(deviceManager, context);\n Object.defineProperty(deviceManager, 'unsubscribe', {\n configurable: false,\n value: () => proxyDeviceManager.unsubscribe()\n });\n Object.defineProperty(deviceManager, 'selectCamera', {\n configurable: false,\n value: (videoDeviceInfo: VideoDeviceInfo) => proxyDeviceManager.selectCamera(videoDeviceInfo)\n });\n /* @conditional-compile-remove(video-background-effects) */\n Object.defineProperty(deviceManager, 'getUnparentedVideoStreams', {\n configurable: false,\n value: (): LocalVideoStream[] => internalContext.getUnparentedRenderInfos()\n });\n return (new Proxy(deviceManager, proxyDeviceManager) as StatefulDeviceManager);\n};"]}
@@ -18,20 +18,22 @@ export class ProxyIncomingCall {
18
18
  }
19
19
  get(target, prop) {
20
20
  switch (prop) {
21
- case 'accept': {
22
- return this._context.withAsyncErrorTeedToState(function (...args) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- return yield target.accept(...args);
25
- });
26
- }, 'IncomingCall.accept');
27
- }
28
- case 'reject': {
29
- return this._context.withAsyncErrorTeedToState(function (...args) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- return yield target.reject(...args);
32
- });
33
- }, 'IncomingCall.reject');
34
- }
21
+ case 'accept':
22
+ {
23
+ return this._context.withAsyncErrorTeedToState(function (...args) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ return yield target.accept(...args);
26
+ });
27
+ }, 'IncomingCall.accept');
28
+ }
29
+ case 'reject':
30
+ {
31
+ return this._context.withAsyncErrorTeedToState(function (...args) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ return yield target.reject(...args);
34
+ });
35
+ }, 'IncomingCall.reject');
36
+ }
35
37
  default:
36
38
  return Reflect.get(target, prop);
37
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IncomingCallDeclarative.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/IncomingCallDeclarative.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAYlC;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAG5B,YAAY,OAAoB;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAEM,GAAG,CAA+B,MAAoB,EAAE,IAAO;QACpE,QAAQ,IAAI,EAAE;YACZ,KAAK,QAAQ,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,UAAgB,GAAG,IAAwC;;wBACxG,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;oBACtC,CAAC;iBAAA,EAAE,qBAAqB,CAAC,CAAC;aAC3B;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,UAAgB,GAAG,IAAwC;;wBACxG,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;oBACtC,CAAC;iBAAA,EAAE,qBAAqB,CAAC,CAAC;aAC3B;YACD;gBACE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACpC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,YAAgC,EAChC,OAAoB,EACK,EAAE;IAC3B,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzD,OAAO,IAAI,KAAK,CAAC,YAAY,EAAE,iBAAiB,CAA4B,CAAC;AAC/E,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IncomingCall } from '@azure/communication-calling';\nimport { IncomingCallCommon } from './BetaToStableTypes';\nimport { CallContext } from './CallContext';\n\n/**\n * @beta\n * Proxies the {@link @azure/communication-calling#IncomingCall} interface.\n */\nexport type DeclarativeIncomingCall = IncomingCall;\n\n/**\n * @private\n */\nexport class ProxyIncomingCall implements ProxyHandler<DeclarativeIncomingCall> {\n private _context: CallContext;\n\n constructor(context: CallContext) {\n this._context = context;\n }\n\n public get<P extends keyof IncomingCall>(target: IncomingCall, prop: P): any {\n switch (prop) {\n case 'accept': {\n return this._context.withAsyncErrorTeedToState(async function (...args: Parameters<IncomingCall['accept']>) {\n return await target.accept(...args);\n }, 'IncomingCall.accept');\n }\n case 'reject': {\n return this._context.withAsyncErrorTeedToState(async function (...args: Parameters<IncomingCall['reject']>) {\n return await target.reject(...args);\n }, 'IncomingCall.reject');\n }\n default:\n return Reflect.get(target, prop);\n }\n }\n}\n\n/**\n * Creates a declarative Incoming Call by proxying IncomingCall using ProxyIncomingCall.\n * @param incomingCall - IncomingCall from SDK\n * @returns proxied IncomingCall\n */\nexport const incomingCallDeclaratify = (\n incomingCall: IncomingCallCommon,\n context: CallContext\n): DeclarativeIncomingCall => {\n const proxyIncomingCall = new ProxyIncomingCall(context);\n return new Proxy(incomingCall, proxyIncomingCall) as DeclarativeIncomingCall;\n};\n"]}
1
+ {"version":3,"file":"IncomingCallDeclarative.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/IncomingCallDeclarative.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAYlC;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAE5B,YAAY,OAAoB;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IACM,GAAG,CAA+B,MAAoB,EAAE,IAAO;QACpE,QAAQ,IAAI,EAAE;YACZ,KAAK,QAAQ;gBACX;oBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,UAAgB,GAAG,IAAwC;;4BACxG,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;wBACtC,CAAC;qBAAA,EAAE,qBAAqB,CAAC,CAAC;iBAC3B;YACH,KAAK,QAAQ;gBACX;oBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,UAAgB,GAAG,IAAwC;;4BACxG,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;wBACtC,CAAC;qBAAA,EAAE,qBAAqB,CAAC,CAAC;iBAC3B;YACH;gBACE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACpC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,YAAgC,EAAE,OAAoB,EAA2B,EAAE;IACzH,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACzD,OAAQ,IAAI,KAAK,CAAC,YAAY,EAAE,iBAAiB,CAA6B,CAAC;AACjF,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IncomingCall } from '@azure/communication-calling';\nimport { IncomingCallCommon } from './BetaToStableTypes';\nimport { CallContext } from './CallContext';\n\n/**\n * @beta\n * Proxies the {@link @azure/communication-calling#IncomingCall} interface.\n */\nexport type DeclarativeIncomingCall = IncomingCall;\n\n/**\n * @private\n */\nexport class ProxyIncomingCall implements ProxyHandler<DeclarativeIncomingCall> {\n private _context: CallContext;\n constructor(context: CallContext) {\n this._context = context;\n }\n public get<P extends keyof IncomingCall>(target: IncomingCall, prop: P): any {\n switch (prop) {\n case 'accept':\n {\n return this._context.withAsyncErrorTeedToState(async function (...args: Parameters<IncomingCall['accept']>) {\n return await target.accept(...args);\n }, 'IncomingCall.accept');\n }\n case 'reject':\n {\n return this._context.withAsyncErrorTeedToState(async function (...args: Parameters<IncomingCall['reject']>) {\n return await target.reject(...args);\n }, 'IncomingCall.reject');\n }\n default:\n return Reflect.get(target, prop);\n }\n }\n}\n\n/**\n * Creates a declarative Incoming Call by proxying IncomingCall using ProxyIncomingCall.\n * @param incomingCall - IncomingCall from SDK\n * @returns proxied IncomingCall\n */\nexport const incomingCallDeclaratify = (incomingCall: IncomingCallCommon, context: CallContext): DeclarativeIncomingCall => {\n const proxyIncomingCall = new ProxyIncomingCall(context);\n return (new Proxy(incomingCall, proxyIncomingCall) as DeclarativeIncomingCall);\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IncomingCallSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/IncomingCallSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IAIjC,YACE,YAAgC;IAChC,uFAAuF;IACvF,oBAAoF;QAO9E,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC;QAEM,cAAS,GAAG,CAAC,KAAuC,EAAQ,EAAE;YACpE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACzE,CAAC,CAAC;QAfA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAaF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CallEndReason } from '@azure/communication-calling';\nimport { IncomingCallCommon } from './BetaToStableTypes';\n\n/**\n * Keeps track of the listeners assigned to a particular incoming call because when we get an event from SDK, it doesn't\n * tell us which incoming call it is for. If we keep track of this then we know which incoming call in the state that\n * needs an update and also which property of that incoming call. Also we can use this when unregistering to a incoming\n * call.\n */\nexport class IncomingCallSubscriber {\n private _incomingCall: IncomingCallCommon;\n private _setIncomingCallEnded: (incomingCallId: string, callEndReason: CallEndReason) => void;\n\n constructor(\n incomingCall: IncomingCallCommon,\n // setIncomingCallEnded callback is used so parent can clean up IncomingCallSubscriber.\n setIncomingCallEnded: (incomingCallId: string, callEndReason: CallEndReason) => void\n ) {\n this._incomingCall = incomingCall;\n this._setIncomingCallEnded = setIncomingCallEnded;\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._incomingCall.on('callEnded', this.callEnded);\n };\n\n public unsubscribe = (): void => {\n this._incomingCall.off('callEnded', this.callEnded);\n };\n\n private callEnded = (event: { callEndReason: CallEndReason }): void => {\n this._setIncomingCallEnded(this._incomingCall.id, event.callEndReason);\n };\n}\n"]}
1
+ {"version":3,"file":"IncomingCallSubscriber.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/IncomingCallSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC;;;;;GAKG;AACH,MAAM,OAAO,sBAAsB;IAGjC,YAAY,YAAgC;IAC5C,uFAAuF;IACvF,oBAAoF;QAK5E,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC;QACK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,CAAC;QACM,cAAS,GAAG,CAAC,KAEpB,EAAQ,EAAE;YACT,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACzE,CAAC,CAAC;QAdA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAYF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CallEndReason } from '@azure/communication-calling';\nimport { IncomingCallCommon } from './BetaToStableTypes';\n\n/**\n * Keeps track of the listeners assigned to a particular incoming call because when we get an event from SDK, it doesn't\n * tell us which incoming call it is for. If we keep track of this then we know which incoming call in the state that\n * needs an update and also which property of that incoming call. Also we can use this when unregistering to a incoming\n * call.\n */\nexport class IncomingCallSubscriber {\n private _incomingCall: IncomingCallCommon;\n private _setIncomingCallEnded: (incomingCallId: string, callEndReason: CallEndReason) => void;\n constructor(incomingCall: IncomingCallCommon,\n // setIncomingCallEnded callback is used so parent can clean up IncomingCallSubscriber.\n setIncomingCallEnded: (incomingCallId: string, callEndReason: CallEndReason) => void) {\n this._incomingCall = incomingCall;\n this._setIncomingCallEnded = setIncomingCallEnded;\n this.subscribe();\n }\n private subscribe = (): void => {\n this._incomingCall.on('callEnded', this.callEnded);\n };\n public unsubscribe = (): void => {\n this._incomingCall.off('callEnded', this.callEnded);\n };\n private callEnded = (event: {\n callEndReason: CallEndReason;\n }): void => {\n this._setIncomingCallEnded(this._incomingCall.id, event.callEndReason);\n };\n}"]}
@@ -64,7 +64,11 @@ export class InternalCallContext {
64
64
  participantRenderInfos = new Map();
65
65
  callRenderInfos.set(participantKey, participantRenderInfos);
66
66
  }
67
- participantRenderInfos.set(streamId, { stream, status, renderer });
67
+ participantRenderInfos.set(streamId, {
68
+ stream,
69
+ status,
70
+ renderer
71
+ });
68
72
  }
69
73
  deleteRemoteRenderInfo(callId, participantKey, streamId) {
70
74
  const callRenderInfos = this._remoteRenderInfos.get(this._callIdHistory.latestCallId(callId));
@@ -78,7 +82,11 @@ export class InternalCallContext {
78
82
  participantRenderInfos.delete(streamId);
79
83
  }
80
84
  setLocalRenderInfo(callId, stream, status, renderer) {
81
- this._localRenderInfos.set(this._callIdHistory.latestCallId(callId), { stream, status, renderer });
85
+ this._localRenderInfos.set(this._callIdHistory.latestCallId(callId), {
86
+ stream,
87
+ status,
88
+ renderer
89
+ });
82
90
  }
83
91
  getLocalRenderInfo(callId) {
84
92
  return this._localRenderInfos.get(this._callIdHistory.latestCallId(callId));
@@ -93,7 +101,11 @@ export class InternalCallContext {
93
101
  return [...this._unparentedRenderInfos].map(([, renderInfo]) => renderInfo.stream);
94
102
  }
95
103
  setUnparentedRenderInfo(statefulStream, stream, status, renderer) {
96
- this._unparentedRenderInfos.set(statefulStream.source.id, { stream, status, renderer });
104
+ this._unparentedRenderInfos.set(statefulStream.source.id, {
105
+ stream,
106
+ status,
107
+ renderer
108
+ });
97
109
  }
98
110
  deleteUnparentedRenderInfo(localVideoStream) {
99
111
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"InternalCallContext.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/InternalCallContext.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { LocalVideoStream, RemoteVideoStream, VideoStreamRenderer } from '@azure/communication-calling';\nimport { LocalVideoStreamState } from './CallClientState';\nimport type { CallContext } from './CallContext';\nimport { CallIdHistory } from './CallIdHistory';\n\n/* @conditional-compile-remove(video-background-effects) */\nimport { LocalVideoStreamVideoEffectsSubscriber } from './LocalVideoStreamVideoEffectsSubscriber';\n/* @conditional-compile-remove(video-background-effects) */\nimport { Features } from '@azure/communication-calling';\n\n/**\n * Internally tracked render status. Stores the status of a video render of a stream as rendering could take a long\n * time.\n *\n * 'NotRendered' - the stream has not yet been rendered\n * 'Rendering' - the stream is currently rendering\n * 'Rendered' - the stream has been rendered\n * 'Stopping' - the stream is currently rendering but has been signaled to stop\n */\nexport type RenderStatus = 'NotRendered' | 'Rendering' | 'Rendered' | 'Stopping';\n\n/**\n * Internal container to hold common state needed to keep track of renders.\n */\nexport interface RenderInfo {\n status: RenderStatus;\n renderer: VideoStreamRenderer | undefined;\n}\n\n/**\n * Internally used to keep track of the status, renderer, and awaiting promise, associated with a LocalVideoStream.\n */\nexport interface LocalRenderInfo extends RenderInfo {\n stream: LocalVideoStream;\n}\n\n/**\n * Internally used to keep track of the status, renderer, and awaiting promise, associated with a RemoteVideoStream.\n */\nexport interface RemoteRenderInfo extends RenderInfo {\n stream: RemoteVideoStream;\n}\n\n/**\n * Contains internal data used between different Declarative components to share data.\n */\nexport class InternalCallContext {\n // <CallId, <ParticipantKey, <StreamId, RemoteRenderInfo>>\n private _remoteRenderInfos = new Map<string, Map<string, Map<number, RemoteRenderInfo>>>();\n\n // <CallId, LocalRenderInfo>.\n private _localRenderInfos = new Map<string, LocalRenderInfo>();\n\n // Used for keeping track of rendered LocalVideoStreams that are not part of a Call.\n // The key is the stream ID. We assume each stream ID to only have one owning render info\n private _unparentedRenderInfos = new Map<string, LocalRenderInfo>();\n private _callIdHistory = new CallIdHistory();\n\n // Used for keeping track of video effects subscribers that are not part of a Call.\n // The key is the stream ID. We assume each stream ID\n /* @conditional-compile-remove(video-background-effects) */\n private _unparentedViewVideoEffectsSubscriber = new Map<string, LocalVideoStreamVideoEffectsSubscriber | undefined>();\n\n public setCallId(newCallId: string, oldCallId: string): void {\n this._callIdHistory.updateCallIdHistory(newCallId, oldCallId);\n const remoteRenderInfos = this._remoteRenderInfos.get(oldCallId);\n if (remoteRenderInfos) {\n this._remoteRenderInfos.delete(oldCallId);\n this._remoteRenderInfos.set(newCallId, remoteRenderInfos);\n }\n\n const localRenderInfos = this._localRenderInfos.get(oldCallId);\n if (localRenderInfos) {\n this._localRenderInfos.delete(oldCallId);\n this._localRenderInfos.set(newCallId, localRenderInfos);\n }\n }\n\n public getCallIds(): IterableIterator<string> {\n return this._remoteRenderInfos.keys();\n }\n\n public getRemoteRenderInfoForCall(callId: string): Map<string, Map<number, RemoteRenderInfo>> | undefined {\n return this._remoteRenderInfos.get(this._callIdHistory.latestCallId(callId));\n }\n\n public getRemoteRenderInfoForParticipant(\n callId: string,\n participantKey: string,\n streamId: number\n ): RemoteRenderInfo | undefined {\n const callRenderInfos = this._remoteRenderInfos.get(this._callIdHistory.latestCallId(callId));\n if (!callRenderInfos) {\n return undefined;\n }\n const participantRenderInfos = callRenderInfos.get(participantKey);\n if (!participantRenderInfos) {\n return undefined;\n }\n return participantRenderInfos.get(streamId);\n }\n\n public setRemoteRenderInfo(\n callId: string,\n participantKey: string,\n streamId: number,\n stream: RemoteVideoStream,\n status: RenderStatus,\n renderer: VideoStreamRenderer | undefined\n ): void {\n let callRenderInfos = this._remoteRenderInfos.get(this._callIdHistory.latestCallId(callId));\n if (!callRenderInfos) {\n callRenderInfos = new Map<string, Map<number, RemoteRenderInfo>>();\n this._remoteRenderInfos.set(this._callIdHistory.latestCallId(callId), callRenderInfos);\n }\n\n let participantRenderInfos = callRenderInfos.get(participantKey);\n if (!participantRenderInfos) {\n participantRenderInfos = new Map<number, RemoteRenderInfo>();\n callRenderInfos.set(participantKey, participantRenderInfos);\n }\n\n participantRenderInfos.set(streamId, { stream, status, renderer });\n }\n\n public deleteRemoteRenderInfo(callId: string, participantKey: string, streamId: number): void {\n const callRenderInfos = this._remoteRenderInfos.get(this._callIdHistory.latestCallId(callId));\n if (!callRenderInfos) {\n return;\n }\n\n const participantRenderInfos = callRenderInfos.get(participantKey);\n if (!participantRenderInfos) {\n return;\n }\n\n participantRenderInfos.delete(streamId);\n }\n\n public setLocalRenderInfo(\n callId: string,\n stream: LocalVideoStream,\n status: RenderStatus,\n renderer: VideoStreamRenderer | undefined\n ): void {\n this._localRenderInfos.set(this._callIdHistory.latestCallId(callId), { stream, status, renderer });\n }\n\n public getLocalRenderInfo(callId: string): LocalRenderInfo | undefined {\n return this._localRenderInfos.get(this._callIdHistory.latestCallId(callId));\n }\n\n public deleteLocalRenderInfo(callId: string): void {\n this._localRenderInfos.delete(this._callIdHistory.latestCallId(callId));\n }\n\n public getUnparentedRenderInfo(localVideoStream: LocalVideoStreamState): LocalRenderInfo | undefined {\n return this._unparentedRenderInfos.get(localVideoStream.source.id);\n }\n\n public getUnparentedRenderInfos(): LocalVideoStream[] {\n return [...this._unparentedRenderInfos].map(([, renderInfo]) => renderInfo.stream);\n }\n\n public setUnparentedRenderInfo(\n statefulStream: LocalVideoStreamState,\n stream: LocalVideoStream,\n status: RenderStatus,\n renderer: VideoStreamRenderer | undefined\n ): void {\n this._unparentedRenderInfos.set(statefulStream.source.id, { stream, status, renderer });\n }\n\n public deleteUnparentedRenderInfo(localVideoStream: LocalVideoStreamState): void {\n /* @conditional-compile-remove(video-background-effects) */\n this._unparentedViewVideoEffectsSubscriber.get(localVideoStream.source.id)?.unsubscribe();\n\n this._unparentedRenderInfos.delete(localVideoStream.source.id);\n }\n\n public subscribeToUnparentedViewVideoEffects(localVideoStream: LocalVideoStream, callContext: CallContext): void {\n /* @conditional-compile-remove(video-background-effects) */\n {\n // Ensure we aren't setting multiple subscriptions\n this._unparentedViewVideoEffectsSubscriber.get(localVideoStream.source.id)?.unsubscribe();\n this._unparentedViewVideoEffectsSubscriber.set(\n localVideoStream.source.id,\n new LocalVideoStreamVideoEffectsSubscriber({\n parent: 'unparented',\n context: callContext,\n localVideoStream: localVideoStream,\n localVideoStreamEffectsAPI: localVideoStream.feature(Features.VideoEffects)\n })\n );\n }\n }\n\n // UnparentedRenderInfos are not cleared as they are not part of the Call state.\n public clearCallRelatedState(): void {\n this._remoteRenderInfos.clear();\n this._localRenderInfos.clear();\n }\n}\n"]}
1
+ {"version":3,"file":"InternalCallContext.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/InternalCallContext.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,2DAA2D;AAC3D,OAAO,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AAClG,2DAA2D;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAmCxD;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAAhC;QACE,0DAA0D;QAClD,uBAAkB,GAAG,IAAI,GAAG,EAAsD,CAAC;QAE3F,6BAA6B;QACrB,sBAAiB,GAAG,IAAI,GAAG,EAA2B,CAAC;QAE/D,oFAAoF;QACpF,yFAAyF;QACjF,2BAAsB,GAAG,IAAI,GAAG,EAA2B,CAAC;QAC5D,mBAAc,GAAG,IAAI,aAAa,EAAE,CAAC;QAE7C,mFAAmF;QACnF,qDAAqD;QACrD,2DAA2D;QACnD,0CAAqC,GAAG,IAAI,GAAG,EAA8D,CAAC;IA6GxH,CAAC;IA5GQ,SAAS,CAAC,SAAiB,EAAE,SAAiB;QACnD,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjE,IAAI,iBAAiB,EAAE;YACrB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;SAC3D;QACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,gBAAgB,EAAE;YACpB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;SACzD;IACH,CAAC;IACM,UAAU;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IACM,0BAA0B,CAAC,MAAc;QAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/E,CAAC;IACM,iCAAiC,CAAC,MAAc,EAAE,cAAsB,EAAE,QAAgB;QAC/F,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,eAAe,EAAE;YACpB,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,sBAAsB,EAAE;YAC3B,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACM,mBAAmB,CAAC,MAAc,EAAE,cAAsB,EAAE,QAAgB,EAAE,MAAyB,EAAE,MAAoB,EAAE,QAAyC;QAC7K,IAAI,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,eAAe,EAAE;YACpB,eAAe,GAAG,IAAI,GAAG,EAAyC,CAAC;YACnE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;SACxF;QACD,IAAI,sBAAsB,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC,sBAAsB,EAAE;YAC3B,sBAAsB,GAAG,IAAI,GAAG,EAA4B,CAAC;YAC7D,eAAe,CAAC,GAAG,CAAC,cAAc,EAAE,sBAAsB,CAAC,CAAC;SAC7D;QACD,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE;YACnC,MAAM;YACN,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IACM,sBAAsB,CAAC,MAAc,EAAE,cAAsB,EAAE,QAAgB;QACpF,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,eAAe,EAAE;YACpB,OAAO;SACR;QACD,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,CAAC,sBAAsB,EAAE;YAC3B,OAAO;SACR;QACD,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACM,kBAAkB,CAAC,MAAc,EAAE,MAAwB,EAAE,MAAoB,EAAE,QAAyC;QACjI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;YACnE,MAAM;YACN,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IACM,kBAAkB,CAAC,MAAc;QACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IACM,qBAAqB,CAAC,MAAc;QACzC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,CAAC;IACM,uBAAuB,CAAC,gBAAuC;QACpE,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACM,wBAAwB;QAC7B,OAAO,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACrF,CAAC;IACM,uBAAuB,CAAC,cAAqC,EAAE,MAAwB,EAAE,MAAoB,EAAE,QAAyC;QAC7J,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE;YACxD,MAAM;YACN,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IACM,0BAA0B,CAAC,gBAAuC;;QACvE,2DAA2D;QAC3D,MAAA,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,0CAAE,WAAW,EAAE,CAAC;QAC1F,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IACM,qCAAqC,CAAC,gBAAkC,EAAE,WAAwB;;QACvG,2DAA2D;QAC3D;YACE,kDAAkD;YAClD,MAAA,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,0CAAE,WAAW,EAAE,CAAC;YAC1F,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,sCAAsC,CAAC;gBACpH,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,WAAW;gBACpB,gBAAgB,EAAE,gBAAgB;gBAClC,0BAA0B,EAAE,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;aAC5E,CAAC,CAAC,CAAC;SACL;IACH,CAAC;IAED,gFAAgF;IACzE,qBAAqB;QAC1B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { LocalVideoStream, RemoteVideoStream, VideoStreamRenderer } from '@azure/communication-calling';\nimport { LocalVideoStreamState } from './CallClientState';\nimport type { CallContext } from './CallContext';\nimport { CallIdHistory } from './CallIdHistory';\n\n/* @conditional-compile-remove(video-background-effects) */\nimport { LocalVideoStreamVideoEffectsSubscriber } from './LocalVideoStreamVideoEffectsSubscriber';\n/* @conditional-compile-remove(video-background-effects) */\nimport { Features } from '@azure/communication-calling';\n\n/**\n * Internally tracked render status. Stores the status of a video render of a stream as rendering could take a long\n * time.\n *\n * 'NotRendered' - the stream has not yet been rendered\n * 'Rendering' - the stream is currently rendering\n * 'Rendered' - the stream has been rendered\n * 'Stopping' - the stream is currently rendering but has been signaled to stop\n */\nexport type RenderStatus = 'NotRendered' | 'Rendering' | 'Rendered' | 'Stopping';\n\n/**\n * Internal container to hold common state needed to keep track of renders.\n */\nexport interface RenderInfo {\n status: RenderStatus;\n renderer: VideoStreamRenderer | undefined;\n}\n\n/**\n * Internally used to keep track of the status, renderer, and awaiting promise, associated with a LocalVideoStream.\n */\nexport interface LocalRenderInfo extends RenderInfo {\n stream: LocalVideoStream;\n}\n\n/**\n * Internally used to keep track of the status, renderer, and awaiting promise, associated with a RemoteVideoStream.\n */\nexport interface RemoteRenderInfo extends RenderInfo {\n stream: RemoteVideoStream;\n}\n\n/**\n * Contains internal data used between different Declarative components to share data.\n */\nexport class InternalCallContext {\n // <CallId, <ParticipantKey, <StreamId, RemoteRenderInfo>>\n private _remoteRenderInfos = new Map<string, Map<string, Map<number, RemoteRenderInfo>>>();\n\n // <CallId, LocalRenderInfo>.\n private _localRenderInfos = new Map<string, LocalRenderInfo>();\n\n // Used for keeping track of rendered LocalVideoStreams that are not part of a Call.\n // The key is the stream ID. We assume each stream ID to only have one owning render info\n private _unparentedRenderInfos = new Map<string, LocalRenderInfo>();\n private _callIdHistory = new CallIdHistory();\n\n // Used for keeping track of video effects subscribers that are not part of a Call.\n // The key is the stream ID. We assume each stream ID\n /* @conditional-compile-remove(video-background-effects) */\n private _unparentedViewVideoEffectsSubscriber = new Map<string, LocalVideoStreamVideoEffectsSubscriber | undefined>();\n public setCallId(newCallId: string, oldCallId: string): void {\n this._callIdHistory.updateCallIdHistory(newCallId, oldCallId);\n const remoteRenderInfos = this._remoteRenderInfos.get(oldCallId);\n if (remoteRenderInfos) {\n this._remoteRenderInfos.delete(oldCallId);\n this._remoteRenderInfos.set(newCallId, remoteRenderInfos);\n }\n const localRenderInfos = this._localRenderInfos.get(oldCallId);\n if (localRenderInfos) {\n this._localRenderInfos.delete(oldCallId);\n this._localRenderInfos.set(newCallId, localRenderInfos);\n }\n }\n public getCallIds(): IterableIterator<string> {\n return this._remoteRenderInfos.keys();\n }\n public getRemoteRenderInfoForCall(callId: string): Map<string, Map<number, RemoteRenderInfo>> | undefined {\n return this._remoteRenderInfos.get(this._callIdHistory.latestCallId(callId));\n }\n public getRemoteRenderInfoForParticipant(callId: string, participantKey: string, streamId: number): RemoteRenderInfo | undefined {\n const callRenderInfos = this._remoteRenderInfos.get(this._callIdHistory.latestCallId(callId));\n if (!callRenderInfos) {\n return undefined;\n }\n const participantRenderInfos = callRenderInfos.get(participantKey);\n if (!participantRenderInfos) {\n return undefined;\n }\n return participantRenderInfos.get(streamId);\n }\n public setRemoteRenderInfo(callId: string, participantKey: string, streamId: number, stream: RemoteVideoStream, status: RenderStatus, renderer: VideoStreamRenderer | undefined): void {\n let callRenderInfos = this._remoteRenderInfos.get(this._callIdHistory.latestCallId(callId));\n if (!callRenderInfos) {\n callRenderInfos = new Map<string, Map<number, RemoteRenderInfo>>();\n this._remoteRenderInfos.set(this._callIdHistory.latestCallId(callId), callRenderInfos);\n }\n let participantRenderInfos = callRenderInfos.get(participantKey);\n if (!participantRenderInfos) {\n participantRenderInfos = new Map<number, RemoteRenderInfo>();\n callRenderInfos.set(participantKey, participantRenderInfos);\n }\n participantRenderInfos.set(streamId, {\n stream,\n status,\n renderer\n });\n }\n public deleteRemoteRenderInfo(callId: string, participantKey: string, streamId: number): void {\n const callRenderInfos = this._remoteRenderInfos.get(this._callIdHistory.latestCallId(callId));\n if (!callRenderInfos) {\n return;\n }\n const participantRenderInfos = callRenderInfos.get(participantKey);\n if (!participantRenderInfos) {\n return;\n }\n participantRenderInfos.delete(streamId);\n }\n public setLocalRenderInfo(callId: string, stream: LocalVideoStream, status: RenderStatus, renderer: VideoStreamRenderer | undefined): void {\n this._localRenderInfos.set(this._callIdHistory.latestCallId(callId), {\n stream,\n status,\n renderer\n });\n }\n public getLocalRenderInfo(callId: string): LocalRenderInfo | undefined {\n return this._localRenderInfos.get(this._callIdHistory.latestCallId(callId));\n }\n public deleteLocalRenderInfo(callId: string): void {\n this._localRenderInfos.delete(this._callIdHistory.latestCallId(callId));\n }\n public getUnparentedRenderInfo(localVideoStream: LocalVideoStreamState): LocalRenderInfo | undefined {\n return this._unparentedRenderInfos.get(localVideoStream.source.id);\n }\n public getUnparentedRenderInfos(): LocalVideoStream[] {\n return [...this._unparentedRenderInfos].map(([, renderInfo]) => renderInfo.stream);\n }\n public setUnparentedRenderInfo(statefulStream: LocalVideoStreamState, stream: LocalVideoStream, status: RenderStatus, renderer: VideoStreamRenderer | undefined): void {\n this._unparentedRenderInfos.set(statefulStream.source.id, {\n stream,\n status,\n renderer\n });\n }\n public deleteUnparentedRenderInfo(localVideoStream: LocalVideoStreamState): void {\n /* @conditional-compile-remove(video-background-effects) */\n this._unparentedViewVideoEffectsSubscriber.get(localVideoStream.source.id)?.unsubscribe();\n this._unparentedRenderInfos.delete(localVideoStream.source.id);\n }\n public subscribeToUnparentedViewVideoEffects(localVideoStream: LocalVideoStream, callContext: CallContext): void {\n /* @conditional-compile-remove(video-background-effects) */\n {\n // Ensure we aren't setting multiple subscriptions\n this._unparentedViewVideoEffectsSubscriber.get(localVideoStream.source.id)?.unsubscribe();\n this._unparentedViewVideoEffectsSubscriber.set(localVideoStream.source.id, new LocalVideoStreamVideoEffectsSubscriber({\n parent: 'unparented',\n context: callContext,\n localVideoStream: localVideoStream,\n localVideoStreamEffectsAPI: localVideoStream.feature(Features.VideoEffects)\n }));\n }\n }\n\n // UnparentedRenderInfos are not cleared as they are not part of the Call state.\n public clearCallRelatedState(): void {\n this._remoteRenderInfos.clear();\n this._localRenderInfos.clear();\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalVideoStreamVideoEffectsSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAUlC,2DAA2D;AAC3D,OAAO,EAAE,kDAAkD,EAAE,MAAM,aAAa,CAAC;AAEjF,2DAA2D;AAC3D;;;GAGG;AACH,MAAM,OAAO,sCAAsC;IAMjD,YAAY,IAMX;QASO,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3E,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3E,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzE,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5E,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5E,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1E,CAAC,CAAC;QAEM,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC,CAAC;QAEM,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,KAA8B,EAAQ,EAAE;YAC9D,oHAAoH;YACpH,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,kCAAkC,CAAC,CAAC;QAC9F,CAAC,CAAC;QAEM,+BAA0B,GAAG,GAAS,EAAE;YAC9C,MAAM,oBAAoB,GAAG,kDAAkD,CAC7E,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAC/C,CAAC;YACF,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,EAAE;gBACjC,IAAI,CAAC,QAAQ,CAAC,0CAA0C,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;aACxG;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;aAC9F;QACH,CAAC,CAAC;QA3CA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,0BAA0B,CAAC;QAEnE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAsCF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoEffectErrorPayload, VideoEffectsFeature } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport { LocalVideoStreamState } from './CallClientState';\n/* @conditional-compile-remove(video-background-effects) */\nimport { CallContext } from './CallContext';\n/* @conditional-compile-remove(video-background-effects) */\nimport { CallIdRef } from './CallIdRef';\n/* @conditional-compile-remove(video-background-effects) */\nimport { convertFromSDKToDeclarativeVideoStreamVideoEffects } from './Converter';\n\n/* @conditional-compile-remove(video-background-effects) */\n/**\n * Subscribes to a LocalVideoStream's video effects events and updates the call context appropriately.\n * @private\n */\nexport class LocalVideoStreamVideoEffectsSubscriber {\n private _parent: CallIdRef | 'unparented';\n private _context: CallContext;\n private _localVideoStream: LocalVideoStreamState;\n private _localVideoStreamEffectsAPI: VideoEffectsFeature;\n\n constructor(args: {\n /** Owner of the local video stream. This is either the Call (referenced by CallIdRef) or is the device manager's unparented view (referenced by 'unparented') */\n parent: CallIdRef | 'unparented';\n context: CallContext;\n localVideoStream: LocalVideoStreamState;\n localVideoStreamEffectsAPI: VideoEffectsFeature;\n }) {\n this._parent = args.parent;\n this._context = args.context;\n this._localVideoStream = args.localVideoStream;\n this._localVideoStreamEffectsAPI = args.localVideoStreamEffectsAPI;\n\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._localVideoStreamEffectsAPI.on('effectsStarted', this.effectsStarted);\n this._localVideoStreamEffectsAPI.on('effectsStopped', this.effectsStopped);\n this._localVideoStreamEffectsAPI.on('effectsError', this.effectsError);\n };\n\n public unsubscribe = (): void => {\n this._localVideoStreamEffectsAPI.off('effectsStarted', this.effectsStarted);\n this._localVideoStreamEffectsAPI.off('effectsStopped', this.effectsStopped);\n this._localVideoStreamEffectsAPI.off('effectsError', this.effectsError);\n };\n\n private effectsStarted = (): void => {\n this.updateStatefulVideoEffects();\n };\n\n private effectsStopped = (): void => {\n this.updateStatefulVideoEffects();\n };\n\n private effectsError = (error: VideoEffectErrorPayload): void => {\n // When there is an error the effects have stopped. Ensure state is updated to reflect if effects are active or not.\n this.updateStatefulVideoEffects();\n this._context.teeErrorToState(new Error(error.message), 'VideoEffectsFeature.startEffects');\n };\n\n private updateStatefulVideoEffects = (): void => {\n const statefulVideoEffects = convertFromSDKToDeclarativeVideoStreamVideoEffects(\n this._localVideoStreamEffectsAPI.activeEffects\n );\n if (this._parent === 'unparented') {\n this._context.setDeviceManagerUnparentedViewVideoEffects(this._localVideoStream, statefulVideoEffects);\n } else {\n this._context.setCallLocalVideoStreamVideoEffects(this._parent.callId, statefulVideoEffects);\n }\n };\n}\n"]}
1
+ {"version":3,"file":"LocalVideoStreamVideoEffectsSubscriber.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAUlC,2DAA2D;AAC3D,OAAO,EAAE,kDAAkD,EAAE,MAAM,aAAa,CAAC;AAEjF,2DAA2D;AAC3D;;;GAGG;AACH,MAAM,OAAO,sCAAsC;IAKjD,YAAY,IAMX;QAOO,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3E,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3E,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzE,CAAC,CAAC;QACK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5E,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5E,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1E,CAAC,CAAC;QACM,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC,CAAC;QACM,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC,CAAC;QACM,iBAAY,GAAG,CAAC,KAA8B,EAAQ,EAAE;YAC9D,oHAAoH;YACpH,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,kCAAkC,CAAC,CAAC;QAC9F,CAAC,CAAC;QACM,+BAA0B,GAAG,GAAS,EAAE;YAC9C,MAAM,oBAAoB,GAAG,kDAAkD,CAAC,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;YAChI,IAAI,IAAI,CAAC,OAAO,KAAK,YAAY,EAAE;gBACjC,IAAI,CAAC,QAAQ,CAAC,0CAA0C,CAAC,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;aACxG;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,mCAAmC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;aAC9F;QACH,CAAC,CAAC;QAlCA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC/C,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,0BAA0B,CAAC;QACnE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CA8BF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoEffectErrorPayload, VideoEffectsFeature } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport { LocalVideoStreamState } from './CallClientState';\n/* @conditional-compile-remove(video-background-effects) */\nimport { CallContext } from './CallContext';\n/* @conditional-compile-remove(video-background-effects) */\nimport { CallIdRef } from './CallIdRef';\n/* @conditional-compile-remove(video-background-effects) */\nimport { convertFromSDKToDeclarativeVideoStreamVideoEffects } from './Converter';\n\n/* @conditional-compile-remove(video-background-effects) */\n/**\n * Subscribes to a LocalVideoStream's video effects events and updates the call context appropriately.\n * @private\n */\nexport class LocalVideoStreamVideoEffectsSubscriber {\n private _parent: CallIdRef | 'unparented';\n private _context: CallContext;\n private _localVideoStream: LocalVideoStreamState;\n private _localVideoStreamEffectsAPI: VideoEffectsFeature;\n constructor(args: {\n /** Owner of the local video stream. This is either the Call (referenced by CallIdRef) or is the device manager's unparented view (referenced by 'unparented') */\n parent: CallIdRef | 'unparented';\n context: CallContext;\n localVideoStream: LocalVideoStreamState;\n localVideoStreamEffectsAPI: VideoEffectsFeature;\n }) {\n this._parent = args.parent;\n this._context = args.context;\n this._localVideoStream = args.localVideoStream;\n this._localVideoStreamEffectsAPI = args.localVideoStreamEffectsAPI;\n this.subscribe();\n }\n private subscribe = (): void => {\n this._localVideoStreamEffectsAPI.on('effectsStarted', this.effectsStarted);\n this._localVideoStreamEffectsAPI.on('effectsStopped', this.effectsStopped);\n this._localVideoStreamEffectsAPI.on('effectsError', this.effectsError);\n };\n public unsubscribe = (): void => {\n this._localVideoStreamEffectsAPI.off('effectsStarted', this.effectsStarted);\n this._localVideoStreamEffectsAPI.off('effectsStopped', this.effectsStopped);\n this._localVideoStreamEffectsAPI.off('effectsError', this.effectsError);\n };\n private effectsStarted = (): void => {\n this.updateStatefulVideoEffects();\n };\n private effectsStopped = (): void => {\n this.updateStatefulVideoEffects();\n };\n private effectsError = (error: VideoEffectErrorPayload): void => {\n // When there is an error the effects have stopped. Ensure state is updated to reflect if effects are active or not.\n this.updateStatefulVideoEffects();\n this._context.teeErrorToState(new Error(error.message), 'VideoEffectsFeature.startEffects');\n };\n private updateStatefulVideoEffects = (): void => {\n const statefulVideoEffects = convertFromSDKToDeclarativeVideoStreamVideoEffects(this._localVideoStreamEffectsAPI.activeEffects);\n if (this._parent === 'unparented') {\n this._context.setDeviceManagerUnparentedViewVideoEffects(this._localVideoStream, statefulVideoEffects);\n } else {\n this._context.setCallLocalVideoStreamVideoEffects(this._parent.callId, statefulVideoEffects);\n }\n };\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/Logger.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;AAEhG;;GAEG;AACH,MAAM,CAAN,IAAY,UAsBX;AAtBD,WAAY,UAAU;IACpB,OAAO;IACP,yDAA2C,CAAA;IAC3C,2DAA6C,CAAA;IAC7C,+DAAiD,CAAA;IACjD,uDAAyC,CAAA;IACzC,6CAA+B,CAAA;IAC/B,UAAU;IACV,2EAA6D,CAAA;IAC7D,6EAA+D,CAAA;IAC/D,iEAAmD,CAAA;IACnD,iEAAmD,CAAA;IACnD,iDAAmC,CAAA;IACnC,iEAAmD,CAAA;IACnD,mDAAqC,CAAA;IACrC,QAAQ;IACR,mDAAqC,CAAA;IACrC,6DAA+C,CAAA;IAC/C,+DAAiD,CAAA;IACjD,uDAAyC,CAAA;IAEzC,uDAAyC,CAAA;AAC3C,CAAC,EAtBW,UAAU,KAAV,UAAU,QAsBrB","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createClientLogger } from '@azure/logger';\n\n/**\n * @private\n */\nexport const callingStatefulLogger = createClientLogger('communication-react:calling-stateful');\n\n/**\n * @private\n */\nexport enum EventNames {\n // Info\n VIEW_RENDER_SUCCEED = 'VIEW_RENDER_SUCCEED',\n START_DISPOSE_STREAM = 'START_DISPOSE_STREAM',\n START_STREAM_RENDERING = 'START_STREAM_RENDERING',\n DISPOSING_RENDERER = 'DISPOSING_RENDERER',\n CREATING_VIEW = 'CREATING_VIEW',\n // Warning\n CREATE_STREAM_INVALID_PARAMS = 'CREATE_STREAM_INVALID_PARAMS',\n DISPOSE_STREAM_INVALID_PARAMS = 'DISPOSE_STREAM_INVALID_PARAMS',\n STREAM_ALREADY_RENDERED = 'STREAM_ALREADY_RENDERED',\n STREAM_ALREADY_DISPOSED = 'STREAM_ALREADY_DISPOSED',\n STREAM_STOPPING = 'STREAM_STOPPING',\n CREATED_STREAM_STOPPING = 'CREATED_STREAM_STOPPING',\n STREAM_RENDERING = 'STREAM_RENDERING',\n // Error\n STREAM_NOT_FOUND = 'STREAM_NOT_FOUND',\n RENDER_INFO_NOT_FOUND = 'RENDER_INFO_NOT_FOUND',\n DISPOSE_INFO_NOT_FOUND = 'DISPOSE_INFO_NOT_FOUND',\n RENDERER_NOT_FOUND = 'RENDERER_NOT_FOUND',\n\n CREATE_STREAM_FAIL = 'CREATE_STREAM_FAIL'\n}\n"]}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/Logger.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;AAEhG;;GAEG;AACH,MAAM,CAAN,IAAY,UAqBX;AArBD,WAAY,UAAU;IACpB,OAAO;IACP,yDAA2C,CAAA;IAC3C,2DAA6C,CAAA;IAC7C,+DAAiD,CAAA;IACjD,uDAAyC,CAAA;IACzC,6CAA+B,CAAA;IAC/B,UAAU;IACV,2EAA6D,CAAA;IAC7D,6EAA+D,CAAA;IAC/D,iEAAmD,CAAA;IACnD,iEAAmD,CAAA;IACnD,iDAAmC,CAAA;IACnC,iEAAmD,CAAA;IACnD,mDAAqC,CAAA;IACrC,QAAQ;IACR,mDAAqC,CAAA;IACrC,6DAA+C,CAAA;IAC/C,+DAAiD,CAAA;IACjD,uDAAyC,CAAA;IACzC,uDAAyC,CAAA;AAC3C,CAAC,EArBW,UAAU,KAAV,UAAU,QAqBrB","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { createClientLogger } from '@azure/logger';\n\n/**\n * @private\n */\nexport const callingStatefulLogger = createClientLogger('communication-react:calling-stateful');\n\n/**\n * @private\n */\nexport enum EventNames {\n // Info\n VIEW_RENDER_SUCCEED = 'VIEW_RENDER_SUCCEED',\n START_DISPOSE_STREAM = 'START_DISPOSE_STREAM',\n START_STREAM_RENDERING = 'START_STREAM_RENDERING',\n DISPOSING_RENDERER = 'DISPOSING_RENDERER',\n CREATING_VIEW = 'CREATING_VIEW',\n // Warning\n CREATE_STREAM_INVALID_PARAMS = 'CREATE_STREAM_INVALID_PARAMS',\n DISPOSE_STREAM_INVALID_PARAMS = 'DISPOSE_STREAM_INVALID_PARAMS',\n STREAM_ALREADY_RENDERED = 'STREAM_ALREADY_RENDERED',\n STREAM_ALREADY_DISPOSED = 'STREAM_ALREADY_DISPOSED',\n STREAM_STOPPING = 'STREAM_STOPPING',\n CREATED_STREAM_STOPPING = 'CREATED_STREAM_STOPPING',\n STREAM_RENDERING = 'STREAM_RENDERING',\n // Error\n STREAM_NOT_FOUND = 'STREAM_NOT_FOUND',\n RENDER_INFO_NOT_FOUND = 'RENDER_INFO_NOT_FOUND',\n DISPOSE_INFO_NOT_FOUND = 'DISPOSE_INFO_NOT_FOUND',\n RENDERER_NOT_FOUND = 'RENDERER_NOT_FOUND',\n CREATE_STREAM_FAIL = 'CREATE_STREAM_FAIL',\n}"]}
@@ -12,7 +12,9 @@ export class OptimalVideoCountSubscriber {
12
12
  this._localOptimalVideoCountFeature.off('optimalVideoCountChanged', this.optimalVideoCountChanged);
13
13
  };
14
14
  this.optimalVideoCountChanged = () => {
15
- this.updateOptimalVideoCountState({ maxRemoteVideoStreams: this._localOptimalVideoCountFeature.optimalVideoCount });
15
+ this.updateOptimalVideoCountState({
16
+ maxRemoteVideoStreams: this._localOptimalVideoCountFeature.optimalVideoCount
17
+ });
16
18
  };
17
19
  this.updateOptimalVideoCountState = (newOptimalVideoCountState) => {
18
20
  this._context.setOptimalVideoCount(this._callIdRef.callId, newOptimalVideoCountState.maxRemoteVideoStreams);
@@ -1 +1 @@
1
- {"version":3,"file":"OptimalVideoCountSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/OptimalVideoCountSubscriber.ts"],"names":[],"mappings":"AAWA,sDAAsD;AACtD;;;GAGG;AACH,MAAM,OAAO,2BAA2B;IAKtC,YAAY,IAIX;QAQO,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACpG,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrG,CAAC,CAAC;QAEM,6BAAwB,GAAG,GAAS,EAAE;YAC5C,IAAI,CAAC,4BAA4B,CAAC,EAAE,qBAAqB,EAAE,IAAI,CAAC,8BAA8B,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACtH,CAAC,CAAC;QAEM,iCAA4B,GAAG,CAAC,yBAAwD,EAAQ,EAAE;YACxG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;QAC9G,CAAC,CAAC;QArBA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,6BAA6B,CAAC;QAEzE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAiBF;AAED,oCAAoC;AACpC,eAAe,EAAE,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/* @conditional-compile-remove(optimal-video-count) */\nimport { OptimalVideoCountCallFeature } from '@azure/communication-calling';\n/* @conditional-compile-remove(optimal-video-count) */\nimport { OptimalVideoCountFeatureState } from './CallClientState';\n/* @conditional-compile-remove(optimal-video-count) */\nimport { CallContext } from './CallContext';\n/* @conditional-compile-remove(optimal-video-count) */\nimport { CallIdRef } from './CallIdRef';\n\n/* @conditional-compile-remove(optimal-video-count) */\n/**\n * Subscribes to a Optimal Video Count Feature events and updates the call context appropriately.\n * @private\n */\nexport class OptimalVideoCountSubscriber {\n private _callIdRef: CallIdRef;\n private _context: CallContext;\n private _localOptimalVideoCountFeature: OptimalVideoCountCallFeature;\n\n constructor(args: {\n callIdRef: CallIdRef;\n context: CallContext;\n localOptimalVideoCountFeature: OptimalVideoCountCallFeature;\n }) {\n this._callIdRef = args.callIdRef;\n this._context = args.context;\n this._localOptimalVideoCountFeature = args.localOptimalVideoCountFeature;\n\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._localOptimalVideoCountFeature.on('optimalVideoCountChanged', this.optimalVideoCountChanged);\n };\n\n public unsubscribe = (): void => {\n this._localOptimalVideoCountFeature.off('optimalVideoCountChanged', this.optimalVideoCountChanged);\n };\n\n private optimalVideoCountChanged = (): void => {\n this.updateOptimalVideoCountState({ maxRemoteVideoStreams: this._localOptimalVideoCountFeature.optimalVideoCount });\n };\n\n private updateOptimalVideoCountState = (newOptimalVideoCountState: OptimalVideoCountFeatureState): void => {\n this._context.setOptimalVideoCount(this._callIdRef.callId, newOptimalVideoCountState.maxRemoteVideoStreams);\n };\n}\n\n// Exporting empty object for stable\nexport default {};\n"]}
1
+ {"version":3,"file":"OptimalVideoCountSubscriber.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/OptimalVideoCountSubscriber.ts"],"names":[],"mappings":"AAWA,sDAAsD;AACtD;;;GAGG;AACH,MAAM,OAAO,2BAA2B;IAItC,YAAY,IAIX;QAMO,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACpG,CAAC,CAAC;QACK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrG,CAAC,CAAC;QACM,6BAAwB,GAAG,GAAS,EAAE;YAC5C,IAAI,CAAC,4BAA4B,CAAC;gBAChC,qBAAqB,EAAE,IAAI,CAAC,8BAA8B,CAAC,iBAAiB;aAC7E,CAAC,CAAC;QACL,CAAC,CAAC;QACM,iCAA4B,GAAG,CAAC,yBAAwD,EAAQ,EAAE;YACxG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,yBAAyB,CAAC,qBAAqB,CAAC,CAAC;QAC9G,CAAC,CAAC;QAlBA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,6BAA6B,CAAC;QACzE,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAeF;AAED,oCAAoC;AACpC,eAAe,EAAE,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n/* @conditional-compile-remove(optimal-video-count) */\nimport { OptimalVideoCountCallFeature } from '@azure/communication-calling';\n/* @conditional-compile-remove(optimal-video-count) */\nimport { OptimalVideoCountFeatureState } from './CallClientState';\n/* @conditional-compile-remove(optimal-video-count) */\nimport { CallContext } from './CallContext';\n/* @conditional-compile-remove(optimal-video-count) */\nimport { CallIdRef } from './CallIdRef';\n\n/* @conditional-compile-remove(optimal-video-count) */\n/**\n * Subscribes to a Optimal Video Count Feature events and updates the call context appropriately.\n * @private\n */\nexport class OptimalVideoCountSubscriber {\n private _callIdRef: CallIdRef;\n private _context: CallContext;\n private _localOptimalVideoCountFeature: OptimalVideoCountCallFeature;\n constructor(args: {\n callIdRef: CallIdRef;\n context: CallContext;\n localOptimalVideoCountFeature: OptimalVideoCountCallFeature;\n }) {\n this._callIdRef = args.callIdRef;\n this._context = args.context;\n this._localOptimalVideoCountFeature = args.localOptimalVideoCountFeature;\n this.subscribe();\n }\n private subscribe = (): void => {\n this._localOptimalVideoCountFeature.on('optimalVideoCountChanged', this.optimalVideoCountChanged);\n };\n public unsubscribe = (): void => {\n this._localOptimalVideoCountFeature.off('optimalVideoCountChanged', this.optimalVideoCountChanged);\n };\n private optimalVideoCountChanged = (): void => {\n this.updateOptimalVideoCountState({\n maxRemoteVideoStreams: this._localOptimalVideoCountFeature.optimalVideoCount\n });\n };\n private updateOptimalVideoCountState = (newOptimalVideoCountState: OptimalVideoCountFeatureState): void => {\n this._context.setOptimalVideoCount(this._callIdRef.callId, newOptimalVideoCountState.maxRemoteVideoStreams);\n };\n}\n\n// Exporting empty object for stable\nexport default {};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ParticipantSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/ParticipantSubscriber.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { RemoteParticipant, RemoteVideoStream } from '@azure/communication-calling';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallContext } from './CallContext';\nimport { CallIdRef } from './CallIdRef';\nimport { convertSdkRemoteStreamToDeclarativeRemoteStream } from './Converter';\nimport { InternalCallContext } from './InternalCallContext';\nimport { RemoteVideoStreamSubscriber } from './RemoteVideoStreamSubscriber';\nimport { disposeView } from './StreamUtils';\n\n/**\n * Keeps track of the listeners assigned to a particular participant because when we get an event from SDK, it doesn't\n * tell us which participant it is for. If we keep track of this then we know which participant in the state that needs\n * an update and also which property of that participant. Also we can use this when unregistering to a participant.\n */\nexport class ParticipantSubscriber {\n private _callIdRef: CallIdRef;\n private _participant: RemoteParticipant;\n private _context: CallContext;\n private _internalContext: InternalCallContext;\n private _participantKey: string;\n private _remoteVideoStreamSubscribers: Map<number, RemoteVideoStreamSubscriber>;\n\n constructor(\n callIdRef: CallIdRef,\n participant: RemoteParticipant,\n context: CallContext,\n internalContext: InternalCallContext\n ) {\n this._callIdRef = callIdRef;\n this._participant = participant;\n this._context = context;\n this._internalContext = internalContext;\n this._participantKey = toFlatCommunicationIdentifier(this._participant.identifier);\n this._remoteVideoStreamSubscribers = new Map<number, RemoteVideoStreamSubscriber>();\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._participant.on('stateChanged', this.stateChanged);\n this._participant.on('isMutedChanged', this.isMutedChanged);\n this._participant.on('displayNameChanged', this.displayNameChanged);\n this._participant.on('isSpeakingChanged', this.isSpeakingChanged);\n this._participant.on('videoStreamsUpdated', this.videoStreamsUpdated);\n /* @conditional-compile-remove(rooms) */\n this._participant.on('roleChanged', this.roleChanged);\n\n if (this._participant.videoStreams.length > 0) {\n for (const stream of this._participant.videoStreams) {\n this._internalContext.setRemoteRenderInfo(\n this._callIdRef.callId,\n this._participantKey,\n stream.id,\n stream,\n 'NotRendered',\n undefined\n );\n this.addRemoteVideoStreamSubscriber(stream);\n }\n this._context.setRemoteVideoStreams(\n this._callIdRef.callId,\n this._participantKey,\n this._participant.videoStreams.map(convertSdkRemoteStreamToDeclarativeRemoteStream),\n []\n );\n }\n };\n\n public unsubscribe = (): void => {\n this._participant.off('stateChanged', this.stateChanged);\n this._participant.off('isMutedChanged', this.isMutedChanged);\n this._participant.off('displayNameChanged', this.displayNameChanged);\n this._participant.off('isSpeakingChanged', this.isSpeakingChanged);\n this._participant.off('videoStreamsUpdated', this.videoStreamsUpdated);\n /* @conditional-compile-remove(rooms) */\n this._participant.off('roleChanged', this.roleChanged);\n\n // If unsubscribing it means the participant left the call. If they have any rendering streams we should stop them\n // as it doesn't make sense to render for an ended participant.\n if (this._participant.videoStreams.length > 0) {\n for (const stream of this._participant.videoStreams) {\n disposeView(\n this._context,\n this._internalContext,\n this._callIdRef.callId,\n this._participantKey,\n convertSdkRemoteStreamToDeclarativeRemoteStream(stream)\n );\n this._internalContext.deleteRemoteRenderInfo(this._callIdRef.callId, this._participantKey, stream.id);\n }\n }\n };\n\n private addRemoteVideoStreamSubscriber = (remoteVideoStream: RemoteVideoStream): void => {\n this._remoteVideoStreamSubscribers.get(remoteVideoStream.id)?.unsubscribe();\n this._remoteVideoStreamSubscribers.set(\n remoteVideoStream.id,\n new RemoteVideoStreamSubscriber(this._callIdRef, this._participantKey, remoteVideoStream, this._context)\n );\n };\n\n private stateChanged = (): void => {\n this._context.setParticipantState(this._callIdRef.callId, this._participantKey, this._participant.state);\n };\n\n private isMutedChanged = (): void => {\n this._context.setParticipantIsMuted(this._callIdRef.callId, this._participantKey, this._participant.isMuted);\n };\n\n /* @conditional-compile-remove(rooms) */\n private roleChanged = (): void => {\n this._context.setParticipantRole(this._callIdRef.callId, this._participantKey, this._participant.role);\n };\n\n private displayNameChanged = (): void => {\n this._context.setParticipantDisplayName(\n this._callIdRef.callId,\n this._participantKey,\n this._participant.displayName || ''\n );\n };\n\n private isSpeakingChanged = (): void => {\n this._context.setParticipantIsSpeaking(this._callIdRef.callId, this._participantKey, this._participant.isSpeaking);\n };\n\n private videoStreamsUpdated = (event: { added: RemoteVideoStream[]; removed: RemoteVideoStream[] }): void => {\n for (const stream of event.removed) {\n this._remoteVideoStreamSubscribers.get(stream.id)?.unsubscribe();\n disposeView(\n this._context,\n this._internalContext,\n this._callIdRef.callId,\n this._participantKey,\n convertSdkRemoteStreamToDeclarativeRemoteStream(stream)\n );\n this._internalContext.deleteRemoteRenderInfo(this._callIdRef.callId, this._participantKey, stream.id);\n }\n\n for (const stream of event.added) {\n this._internalContext.setRemoteRenderInfo(\n this._callIdRef.callId,\n this._participantKey,\n stream.id,\n stream,\n 'NotRendered',\n undefined\n );\n this.addRemoteVideoStreamSubscriber(stream);\n }\n\n this._context.setRemoteVideoStreams(\n this._callIdRef.callId,\n this._participantKey,\n event.added.map(convertSdkRemoteStreamToDeclarativeRemoteStream),\n event.removed.map((stream: RemoteVideoStream) => stream.id)\n );\n };\n}\n\"../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"ParticipantSubscriber.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/ParticipantSubscriber.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { RemoteParticipant, RemoteVideoStream } from '@azure/communication-calling';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallContext } from './CallContext';\nimport { CallIdRef } from './CallIdRef';\nimport { convertSdkRemoteStreamToDeclarativeRemoteStream } from './Converter';\nimport { InternalCallContext } from './InternalCallContext';\nimport { RemoteVideoStreamSubscriber } from './RemoteVideoStreamSubscriber';\nimport { disposeView } from './StreamUtils';\n\n/**\n * Keeps track of the listeners assigned to a particular participant because when we get an event from SDK, it doesn't\n * tell us which participant it is for. If we keep track of this then we know which participant in the state that needs\n * an update and also which property of that participant. Also we can use this when unregistering to a participant.\n */\nexport class ParticipantSubscriber {\n private _callIdRef: CallIdRef;\n private _participant: RemoteParticipant;\n private _context: CallContext;\n private _internalContext: InternalCallContext;\n private _participantKey: string;\n private _remoteVideoStreamSubscribers: Map<number, RemoteVideoStreamSubscriber>;\n constructor(callIdRef: CallIdRef, participant: RemoteParticipant, context: CallContext, internalContext: InternalCallContext) {\n this._callIdRef = callIdRef;\n this._participant = participant;\n this._context = context;\n this._internalContext = internalContext;\n this._participantKey = toFlatCommunicationIdentifier(this._participant.identifier);\n this._remoteVideoStreamSubscribers = new Map<number, RemoteVideoStreamSubscriber>();\n this.subscribe();\n }\n private subscribe = (): void => {\n this._participant.on('stateChanged', this.stateChanged);\n this._participant.on('isMutedChanged', this.isMutedChanged);\n this._participant.on('displayNameChanged', this.displayNameChanged);\n this._participant.on('isSpeakingChanged', this.isSpeakingChanged);\n this._participant.on('videoStreamsUpdated', this.videoStreamsUpdated);\n /* @conditional-compile-remove(rooms) */\n this._participant.on('roleChanged', this.roleChanged);\n if (this._participant.videoStreams.length > 0) {\n for (const stream of this._participant.videoStreams) {\n this._internalContext.setRemoteRenderInfo(this._callIdRef.callId, this._participantKey, stream.id, stream, 'NotRendered', undefined);\n this.addRemoteVideoStreamSubscriber(stream);\n }\n this._context.setRemoteVideoStreams(this._callIdRef.callId, this._participantKey, this._participant.videoStreams.map(convertSdkRemoteStreamToDeclarativeRemoteStream), []);\n }\n };\n public unsubscribe = (): void => {\n this._participant.off('stateChanged', this.stateChanged);\n this._participant.off('isMutedChanged', this.isMutedChanged);\n this._participant.off('displayNameChanged', this.displayNameChanged);\n this._participant.off('isSpeakingChanged', this.isSpeakingChanged);\n this._participant.off('videoStreamsUpdated', this.videoStreamsUpdated);\n /* @conditional-compile-remove(rooms) */\n this._participant.off('roleChanged', this.roleChanged);\n\n // If unsubscribing it means the participant left the call. If they have any rendering streams we should stop them\n // as it doesn't make sense to render for an ended participant.\n if (this._participant.videoStreams.length > 0) {\n for (const stream of this._participant.videoStreams) {\n disposeView(this._context, this._internalContext, this._callIdRef.callId, this._participantKey, convertSdkRemoteStreamToDeclarativeRemoteStream(stream));\n this._internalContext.deleteRemoteRenderInfo(this._callIdRef.callId, this._participantKey, stream.id);\n }\n }\n };\n private addRemoteVideoStreamSubscriber = (remoteVideoStream: RemoteVideoStream): void => {\n this._remoteVideoStreamSubscribers.get(remoteVideoStream.id)?.unsubscribe();\n this._remoteVideoStreamSubscribers.set(remoteVideoStream.id, new RemoteVideoStreamSubscriber(this._callIdRef, this._participantKey, remoteVideoStream, this._context));\n };\n private stateChanged = (): void => {\n this._context.setParticipantState(this._callIdRef.callId, this._participantKey, this._participant.state);\n };\n private isMutedChanged = (): void => {\n this._context.setParticipantIsMuted(this._callIdRef.callId, this._participantKey, this._participant.isMuted);\n };\n\n /* @conditional-compile-remove(rooms) */\n private roleChanged = (): void => {\n this._context.setParticipantRole(this._callIdRef.callId, this._participantKey, this._participant.role);\n };\n private displayNameChanged = (): void => {\n this._context.setParticipantDisplayName(this._callIdRef.callId, this._participantKey, this._participant.displayName || '');\n };\n private isSpeakingChanged = (): void => {\n this._context.setParticipantIsSpeaking(this._callIdRef.callId, this._participantKey, this._participant.isSpeaking);\n };\n private videoStreamsUpdated = (event: {\n added: RemoteVideoStream[];\n removed: RemoteVideoStream[];\n }): void => {\n for (const stream of event.removed) {\n this._remoteVideoStreamSubscribers.get(stream.id)?.unsubscribe();\n disposeView(this._context, this._internalContext, this._callIdRef.callId, this._participantKey, convertSdkRemoteStreamToDeclarativeRemoteStream(stream));\n this._internalContext.deleteRemoteRenderInfo(this._callIdRef.callId, this._participantKey, stream.id);\n }\n for (const stream of event.added) {\n this._internalContext.setRemoteRenderInfo(this._callIdRef.callId, this._participantKey, stream.id, stream, 'NotRendered', undefined);\n this.addRemoteVideoStreamSubscriber(stream);\n }\n this._context.setRemoteVideoStreams(this._callIdRef.callId, this._participantKey, event.added.map(convertSdkRemoteStreamToDeclarativeRemoteStream), event.removed.map((stream: RemoteVideoStream) => stream.id));\n };\n}\"../../acs-ui-common/src\""]}
@@ -1 +1 @@
1
- {"version":3,"file":"RecordingSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/RecordingSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAMlC;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAK9B,YAAY,SAAoB,EAAE,OAAoB,EAAE,SAA+B;QAc/E,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1E,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEM,uBAAkB,GAAG,GAAS,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAClG,CAAC,CAAC;QAvBA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,+GAA+G;QAC/G,sBAAsB;QACtB,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;SACjG;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAaF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { RecordingCallFeature } from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { CallIdRef } from './CallIdRef';\n\n/**\n * @private\n */\nexport class RecordingSubscriber {\n private _callIdRef: CallIdRef;\n private _context: CallContext;\n private _recording: RecordingCallFeature;\n\n constructor(callIdRef: CallIdRef, context: CallContext, recording: RecordingCallFeature) {\n this._callIdRef = callIdRef;\n this._context = context;\n this._recording = recording;\n\n // If recording as already started when we joined the call, make sure it is reflected in state as there may not\n // be an event for it.\n if (this._recording.isRecordingActive) {\n this._context.setCallRecordingActive(this._callIdRef.callId, this._recording.isRecordingActive);\n }\n\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._recording.on('isRecordingActiveChanged', this.isAvailableChanged);\n };\n\n public unsubscribe = (): void => {\n this._recording.off('isRecordingActiveChanged', this.isAvailableChanged);\n };\n\n private isAvailableChanged = (): void => {\n this._context.setCallRecordingActive(this._callIdRef.callId, this._recording.isRecordingActive);\n };\n}\n"]}
1
+ {"version":3,"file":"RecordingSubscriber.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/RecordingSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAMlC;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAI9B,YAAY,SAAoB,EAAE,OAAoB,EAAE,SAA+B;QAY/E,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC1E,CAAC,CAAC;QACK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3E,CAAC,CAAC;QACM,uBAAkB,GAAG,GAAS,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAClG,CAAC,CAAC;QAnBA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,+GAA+G;QAC/G,sBAAsB;QACtB,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;SACjG;QACD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAUF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { RecordingCallFeature } from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { CallIdRef } from './CallIdRef';\n\n/**\n * @private\n */\nexport class RecordingSubscriber {\n private _callIdRef: CallIdRef;\n private _context: CallContext;\n private _recording: RecordingCallFeature;\n constructor(callIdRef: CallIdRef, context: CallContext, recording: RecordingCallFeature) {\n this._callIdRef = callIdRef;\n this._context = context;\n this._recording = recording;\n\n // If recording as already started when we joined the call, make sure it is reflected in state as there may not\n // be an event for it.\n if (this._recording.isRecordingActive) {\n this._context.setCallRecordingActive(this._callIdRef.callId, this._recording.isRecordingActive);\n }\n this.subscribe();\n }\n private subscribe = (): void => {\n this._recording.on('isRecordingActiveChanged', this.isAvailableChanged);\n };\n public unsubscribe = (): void => {\n this._recording.off('isRecordingActiveChanged', this.isAvailableChanged);\n };\n private isAvailableChanged = (): void => {\n this._context.setCallRecordingActive(this._callIdRef.callId, this._recording.isRecordingActive);\n };\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteVideoStreamSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/RemoteVideoStreamSubscriber.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { RemoteVideoStream } from '@azure/communication-calling';\nimport { RemoteVideoStreamState } from './CallClientState';\nimport { CallContext } from './CallContext';\nimport { CallIdRef } from './CallIdRef';\n\n/**\n * @private\n */\nexport class RemoteVideoStreamSubscriber {\n private _callIdRef: CallIdRef;\n private _participantKey: string;\n private _remoteVideoStream: RemoteVideoStream;\n private _context: CallContext;\n\n constructor(\n callIdRef: CallIdRef,\n participantKey: string,\n remoteVideoStream: RemoteVideoStream,\n context: CallContext\n ) {\n this._callIdRef = callIdRef;\n this._participantKey = participantKey;\n this._remoteVideoStream = remoteVideoStream;\n this._context = context;\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._remoteVideoStream.on('isAvailableChanged', this.isAvailableChanged);\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n this._remoteVideoStream.on('isReceivingChanged', this.isReceivingChanged);\n this.checkAndUpdateScreenShareState();\n };\n\n public unsubscribe = (): void => {\n this._remoteVideoStream.off('isAvailableChanged', this.isAvailableChanged);\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n this._remoteVideoStream.off('isReceivingChanged', this.isReceivingChanged);\n };\n\n private includesActiveScreenShareStream = (streams: { [key: number]: RemoteVideoStreamState }): boolean => {\n for (const stream of Object.values(streams)) {\n if (stream.mediaStreamType === 'ScreenSharing' && stream.isAvailable) {\n return true;\n }\n }\n return false;\n };\n\n /**\n * Update the state with the active screen share stream. If there is an existing stream will overwrite it if this one\n * is active (newer stream takes priority). If there is an existing stream and this one is set to unavailable, and the\n * existing stream is different participant, then don't set the active screen share stream to undefined, else set it\n * to undefined.\n */\n private checkAndUpdateScreenShareState = (): void => {\n if (this._remoteVideoStream.mediaStreamType !== 'ScreenSharing') {\n return;\n }\n\n if (this._remoteVideoStream.isAvailable) {\n this._context.setCallScreenShareParticipant(this._callIdRef.callId, this._participantKey);\n return;\n }\n\n const existingScreenShare = this._context.getState().calls[this._callIdRef.callId]?.screenShareRemoteParticipant;\n\n // If somehow we end up with an event where a RemoteParticipant's ScreenShare stream is set to\n // unavailable but there exists already another different participant actively sharing, and they are still\n // sharing then this event shouldn't set the screenShareRemoteParticipant to undefined.\n if (!existingScreenShare || existingScreenShare === this._participantKey) {\n this._context.setCallScreenShareParticipant(this._callIdRef.callId, undefined);\n return;\n }\n\n const streams =\n this._context.getState().calls[this._callIdRef.callId]?.remoteParticipants[existingScreenShare]?.videoStreams;\n\n if (!streams) {\n this._context.setCallScreenShareParticipant(this._callIdRef.callId, undefined);\n return;\n }\n\n // If the existing ScreenShare that is not owned by the current RemoteParticipant is still active, don't\n // overwrite it with undefined. So only overwrite if it is not active.\n if (!this.includesActiveScreenShareStream(streams)) {\n this._context.setCallScreenShareParticipant(this._callIdRef.callId, undefined);\n return;\n }\n };\n\n private isAvailableChanged = (): void => {\n this._context.setRemoteVideoStreamIsAvailable(\n this._callIdRef.callId,\n this._participantKey,\n this._remoteVideoStream.id,\n this._remoteVideoStream.isAvailable\n );\n\n this.checkAndUpdateScreenShareState();\n };\n\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n private isReceivingChanged = (): void => {\n this._context.setRemoteVideoStreamIsReceiving(\n this._callIdRef.callId,\n this._participantKey,\n this._remoteVideoStream.id,\n this._remoteVideoStream.isReceiving\n );\n };\n}\n"]}
1
+ {"version":3,"file":"RemoteVideoStreamSubscriber.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/RemoteVideoStreamSubscriber.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { RemoteVideoStream } from '@azure/communication-calling';\nimport { RemoteVideoStreamState } from './CallClientState';\nimport { CallContext } from './CallContext';\nimport { CallIdRef } from './CallIdRef';\n\n/**\n * @private\n */\nexport class RemoteVideoStreamSubscriber {\n private _callIdRef: CallIdRef;\n private _participantKey: string;\n private _remoteVideoStream: RemoteVideoStream;\n private _context: CallContext;\n constructor(callIdRef: CallIdRef, participantKey: string, remoteVideoStream: RemoteVideoStream, context: CallContext) {\n this._callIdRef = callIdRef;\n this._participantKey = participantKey;\n this._remoteVideoStream = remoteVideoStream;\n this._context = context;\n this.subscribe();\n }\n private subscribe = (): void => {\n this._remoteVideoStream.on('isAvailableChanged', this.isAvailableChanged);\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n this._remoteVideoStream.on('isReceivingChanged', this.isReceivingChanged);\n this.checkAndUpdateScreenShareState();\n };\n public unsubscribe = (): void => {\n this._remoteVideoStream.off('isAvailableChanged', this.isAvailableChanged);\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n this._remoteVideoStream.off('isReceivingChanged', this.isReceivingChanged);\n };\n private includesActiveScreenShareStream = (streams: {\n [key: number]: RemoteVideoStreamState;\n }): boolean => {\n for (const stream of Object.values(streams)) {\n if (stream.mediaStreamType === 'ScreenSharing' && stream.isAvailable) {\n return true;\n }\n }\n return false;\n };\n\n /**\n * Update the state with the active screen share stream. If there is an existing stream will overwrite it if this one\n * is active (newer stream takes priority). If there is an existing stream and this one is set to unavailable, and the\n * existing stream is different participant, then don't set the active screen share stream to undefined, else set it\n * to undefined.\n */\n private checkAndUpdateScreenShareState = (): void => {\n if (this._remoteVideoStream.mediaStreamType !== 'ScreenSharing') {\n return;\n }\n if (this._remoteVideoStream.isAvailable) {\n this._context.setCallScreenShareParticipant(this._callIdRef.callId, this._participantKey);\n return;\n }\n const existingScreenShare = this._context.getState().calls[this._callIdRef.callId]?.screenShareRemoteParticipant;\n\n // If somehow we end up with an event where a RemoteParticipant's ScreenShare stream is set to\n // unavailable but there exists already another different participant actively sharing, and they are still\n // sharing then this event shouldn't set the screenShareRemoteParticipant to undefined.\n if (!existingScreenShare || existingScreenShare === this._participantKey) {\n this._context.setCallScreenShareParticipant(this._callIdRef.callId, undefined);\n return;\n }\n const streams = this._context.getState().calls[this._callIdRef.callId]?.remoteParticipants[existingScreenShare]?.videoStreams;\n if (!streams) {\n this._context.setCallScreenShareParticipant(this._callIdRef.callId, undefined);\n return;\n }\n\n // If the existing ScreenShare that is not owned by the current RemoteParticipant is still active, don't\n // overwrite it with undefined. So only overwrite if it is not active.\n if (!this.includesActiveScreenShareStream(streams)) {\n this._context.setCallScreenShareParticipant(this._callIdRef.callId, undefined);\n return;\n }\n };\n private isAvailableChanged = (): void => {\n this._context.setRemoteVideoStreamIsAvailable(this._callIdRef.callId, this._participantKey, this._remoteVideoStream.id, this._remoteVideoStream.isAvailable);\n this.checkAndUpdateScreenShareState();\n };\n\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n private isReceivingChanged = (): void => {\n this._context.setRemoteVideoStreamIsReceiving(this._callIdRef.callId, this._participantKey, this._remoteVideoStream.id, this._remoteVideoStream.isReceiving);\n };\n}"]}