@azure/communication-react 1.8.1-alpha-202309210012 → 1.8.1-alpha-202309220012

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 (929) hide show
  1. package/dist/dist-cjs/communication-react/index.js +131 -112
  2. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  3. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js +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 +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/common.js +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/commonProperties.js +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/constants.js +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/cssUtils.js +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/identifier.js +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/index.js +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/logEvent.js +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js +1 -1
  24. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  25. package/dist/dist-esm/acs-ui-common/src/safeStringify.js +1 -1
  26. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  27. package/dist/dist-esm/acs-ui-common/src/telemetry.js +1 -1
  28. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  29. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +2 -2
  30. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  34. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +2 -0
  35. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/index.js +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  60. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +1 -1
  61. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  64. package/dist/dist-esm/calling-component-bindings/src/providers/index.js +1 -1
  65. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js +1 -1
  67. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  68. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +1 -1
  69. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  70. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +1 -1
  71. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  72. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +1 -1
  73. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  74. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +1 -1
  75. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  76. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js +1 -1
  79. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  82. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  88. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  100. package/dist/dist-esm/calling-stateful-client/src/Converter.js +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  108. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/Logger.js +1 -1
  113. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +2 -0
  115. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +1 -1
  117. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  118. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  120. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  122. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +1 -1
  125. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  126. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  128. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +1 -1
  129. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  130. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +2 -0
  131. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  132. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +1 -1
  133. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  134. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js +1 -1
  135. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  136. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +1 -1
  137. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  138. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +1 -1
  139. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  140. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +1 -1
  141. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  142. package/dist/dist-esm/calling-stateful-client/src/index-public.js +1 -1
  143. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  144. package/dist/dist-esm/calling-stateful-client/src/index.js +1 -1
  145. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  146. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +1 -1
  147. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  148. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +1 -1
  149. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  150. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +1 -1
  151. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  152. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +1 -1
  153. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  154. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js +1 -1
  155. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  156. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +1 -1
  157. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  158. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js +1 -1
  159. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  160. package/dist/dist-esm/chat-component-bindings/src/index.js +1 -1
  161. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  162. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +1 -1
  163. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  164. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js +1 -1
  165. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  166. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  167. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  168. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js +1 -1
  169. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  170. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +1 -1
  171. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  172. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -1
  173. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  174. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js +1 -1
  175. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  176. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  177. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js +1 -1
  178. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  179. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +1 -1
  180. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  181. package/dist/dist-esm/chat-stateful-client/src/Constants.js +1 -1
  182. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  183. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +1 -1
  184. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  185. package/dist/dist-esm/chat-stateful-client/src/Logger.js +1 -1
  186. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  187. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +1 -1
  188. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  189. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +1 -1
  190. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  191. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -1
  192. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  193. package/dist/dist-esm/chat-stateful-client/src/index.js +1 -1
  194. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  195. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js +1 -1
  196. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  197. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js +1 -1
  198. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  199. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js +1 -1
  200. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  201. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js +1 -1
  202. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  203. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js +1 -1
  204. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  205. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js +1 -1
  206. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  207. package/dist/dist-esm/communication-react/src/index.js +1 -1
  208. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  209. package/dist/dist-esm/communication-react/src/mergedHooks.js +1 -1
  210. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  211. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +1 -1
  212. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  213. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js +1 -1
  214. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  215. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js +1 -1
  216. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +1 -1
  218. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  220. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  222. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/Announcer.js +1 -1
  224. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/CameraButton.js +1 -1
  226. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/Caption.js +1 -1
  228. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +1 -1
  230. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +2 -2
  232. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +1 -1
  234. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +1 -1
  236. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +1 -1
  238. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +1 -1
  240. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +1 -1
  242. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +1 -1
  244. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +1 -1
  246. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +1 -1
  248. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +1 -1
  250. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +1 -1
  252. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js +1 -1
  254. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js +1 -1
  256. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js +1 -1
  258. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/ControlBar.js +1 -1
  260. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +1 -1
  262. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +1 -1
  264. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +1 -1
  266. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +1 -1
  268. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +1 -1
  270. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +1 -1
  272. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +1 -1
  274. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/DevicesButton.js +1 -1
  276. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +1 -1
  278. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +1 -1
  280. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +1 -1
  282. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +1 -1
  284. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +1 -1
  286. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +1 -1
  288. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/Drawer/index.js +1 -1
  290. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/EndCallButton.js +1 -1
  292. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/ErrorBar.js +1 -1
  294. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  295. package/dist/dist-esm/react-components/src/components/FileCard.js +1 -1
  296. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  297. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  298. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +2 -2
  300. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +1 -1
  302. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/GridLayout.js +1 -1
  304. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +1 -1
  306. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  308. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +1 -1
  310. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  311. package/dist/dist-esm/react-components/src/components/ImageGallery.js +1 -1
  312. package/dist/dist-esm/react-components/src/components/ImageGallery.js.map +1 -1
  313. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +1 -1
  314. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  315. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +1 -1
  316. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +1 -1
  318. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/MentionPopover.js +1 -1
  320. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +1 -1
  322. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/MessageThread.js +1 -1
  324. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +1 -1
  326. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  327. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +1 -1
  328. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +1 -1
  330. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  331. package/dist/dist-esm/react-components/src/components/ParticipantList.js +1 -1
  332. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +1 -1
  334. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +1 -1
  336. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +1 -1
  338. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  339. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +1 -1
  340. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +1 -1
  342. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +1 -1
  344. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +1 -1
  346. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  347. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +1 -1
  348. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  349. package/dist/dist-esm/react-components/src/components/SendBox.js +1 -1
  350. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +1 -1
  352. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +1 -1
  354. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +1 -1
  356. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/StreamMedia.js +1 -1
  358. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/SystemMessage.js +1 -1
  360. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  361. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +1 -1
  362. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +1 -1
  364. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +1 -1
  366. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +1 -1
  368. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -1
  370. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -1
  372. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +1 -1
  374. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -1
  376. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +1 -1
  378. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +1 -1
  380. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +1 -1
  382. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  383. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +1 -1
  384. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +1 -1
  386. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +1 -1
  388. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +1 -1
  390. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +1 -1
  392. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js +1 -1
  394. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +1 -1
  396. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js +1 -1
  398. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  399. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +1 -1
  400. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +1 -1
  402. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  403. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +1 -1
  404. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +1 -1
  406. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +1 -1
  408. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +1 -1
  410. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +1 -1
  412. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  413. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +1 -1
  414. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js +1 -1
  416. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js +1 -1
  418. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  419. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js +1 -1
  420. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js +1 -1
  422. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +1 -1
  424. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  425. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +1 -1
  426. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +1 -1
  428. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +1 -1
  430. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  431. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +1 -1
  432. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  433. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js +1 -1
  434. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +1 -1
  436. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/components/VideoGallery.js +1 -1
  438. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  439. package/dist/dist-esm/react-components/src/components/VideoTile.js +1 -1
  440. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  441. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +1 -1
  442. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  443. package/dist/dist-esm/react-components/src/components/index.js +1 -1
  444. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +1 -1
  446. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  447. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +1 -1
  448. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  449. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js +1 -1
  450. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  451. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +1 -1
  452. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  453. package/dist/dist-esm/react-components/src/components/styles/Common.style.js +1 -1
  454. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  455. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js +1 -1
  456. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js +1 -1
  458. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +1 -1
  460. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  461. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js +1 -1
  462. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  463. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js +1 -1
  464. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  465. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js +1 -1
  466. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  467. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +1 -1
  468. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js.map +1 -1
  469. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -1
  470. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  471. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +1 -1
  472. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
  473. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js +1 -1
  474. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +1 -1
  476. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +1 -1
  478. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  479. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js +1 -1
  480. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +1 -1
  482. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  483. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +1 -1
  484. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  485. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +1 -1
  486. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  487. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js +1 -1
  488. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  489. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +1 -1
  490. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  491. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js +1 -1
  492. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  493. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +1 -1
  494. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  495. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +1 -1
  496. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  497. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +1 -1
  498. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  499. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +1 -1
  500. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  501. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +1 -1
  502. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  503. package/dist/dist-esm/react-components/src/components/utils/common.js +1 -1
  504. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  505. package/dist/dist-esm/react-components/src/components/utils/delay.js +1 -1
  506. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  507. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js +1 -1
  508. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  509. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +2 -0
  510. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  511. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js +1 -1
  512. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  513. package/dist/dist-esm/react-components/src/components/utils/merge.js +1 -1
  514. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  515. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js +1 -1
  516. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  517. package/dist/dist-esm/react-components/src/components/utils/responsive.js +1 -1
  518. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  519. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +1 -1
  520. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  521. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -1
  522. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  523. package/dist/dist-esm/react-components/src/components/utils.js +1 -1
  524. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  525. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +2 -0
  526. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  527. package/dist/dist-esm/react-components/src/gallery/index.js +1 -1
  528. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  529. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -1
  530. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  531. package/dist/dist-esm/react-components/src/identifiers/index.js +1 -1
  532. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  533. package/dist/dist-esm/react-components/src/index.js +1 -1
  534. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  535. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js +1 -1
  536. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  537. package/dist/dist-esm/react-components/src/localization/index.js +1 -1
  538. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  539. package/dist/dist-esm/react-components/src/localization/locales/index.js +1 -1
  540. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  541. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +1 -1
  542. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  543. package/dist/dist-esm/react-components/src/theming/icons.js +1 -1
  544. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  545. package/dist/dist-esm/react-components/src/theming/icons.styles.js +1 -1
  546. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  547. package/dist/dist-esm/react-components/src/theming/index.js +1 -1
  548. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  549. package/dist/dist-esm/react-components/src/theming/themeUtils.js +1 -1
  550. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  551. package/dist/dist-esm/react-components/src/theming/themes.js +1 -1
  552. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  553. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js +1 -1
  554. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  555. package/dist/dist-esm/react-components/src/types/ChatMessage.js +1 -1
  556. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  557. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js +1 -1
  558. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  559. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js +1 -1
  560. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  561. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js +1 -1
  562. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  563. package/dist/dist-esm/react-components/src/types/OnRender.js +1 -1
  564. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  565. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +1 -1
  566. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  567. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js +1 -1
  568. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  569. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +1 -1
  570. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  571. package/dist/dist-esm/react-components/src/types/index.js +1 -1
  572. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  573. package/dist/dist-esm/react-composites/src/Logger.js +1 -1
  574. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +1 -1
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js +1 -1
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +1 -1
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +1 -1
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js +2 -0
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +1 -1
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +1 -1
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +1 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +1 -1
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +1 -1
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +1 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +1 -1
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +1 -1
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +1 -2
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +1 -1
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  661. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  662. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  663. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +1 -1
  664. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  665. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  669. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  671. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +1 -1
  676. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +1 -1
  678. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  679. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  681. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +1 -1
  682. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +1 -1
  684. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js +1 -1
  686. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  687. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +1 -1
  688. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js +1 -1
  692. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  695. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +1 -1
  702. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +1 -1
  706. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  708. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  709. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  711. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  713. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +1 -1
  714. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js +1 -1
  718. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +1 -1
  722. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +1 -1
  724. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  725. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js +1 -1
  728. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  729. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  731. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js +1 -1
  732. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js +1 -1
  742. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  743. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +1 -1
  748. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +1 -1
  750. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  755. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +1 -1
  756. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  757. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  758. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  759. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  761. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js +1 -1
  764. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js +1 -1
  766. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  767. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +1 -1
  768. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  769. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js +1 -1
  770. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  771. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  773. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  777. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js +1 -1
  778. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js +1 -1
  780. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  781. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  785. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  787. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  789. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +1 -1
  790. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  791. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +1 -1
  792. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  793. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  794. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  795. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -1
  797. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  799. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +1 -1
  800. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  801. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  803. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  805. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  807. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  809. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +1 -1
  810. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  811. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  813. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  815. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +1 -1
  816. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  817. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  819. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  825. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +2 -0
  826. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  827. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -1
  829. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  831. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  833. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +1 -1
  836. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  837. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +1 -1
  838. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  839. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +1 -1
  840. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  841. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +1 -1
  842. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  843. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +1 -1
  844. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  845. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +1 -1
  846. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  847. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +2 -2
  848. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  849. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  850. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  851. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +1 -1
  852. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  853. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +1 -1
  854. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  855. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +1 -1
  856. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  857. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +1 -1
  858. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  859. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  861. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  863. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.js +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.js.map +1 -1
  865. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +1 -1
  866. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  867. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js +2 -0
  868. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js +1 -1
  870. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js +1 -1
  872. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  873. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  874. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  875. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +1 -1
  876. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  877. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  878. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  879. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -1
  880. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  881. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  883. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +1 -1
  884. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
  885. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +1 -1
  886. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -1
  887. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +1 -1
  888. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  889. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +1 -1
  890. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  891. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +2 -2
  892. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  893. package/dist/dist-esm/react-composites/src/composites/common/adapters.js +1 -1
  894. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  895. package/dist/dist-esm/react-composites/src/composites/common/constants.js +1 -1
  896. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  897. package/dist/dist-esm/react-composites/src/composites/common/icons.js +1 -1
  898. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  899. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js +2 -3
  900. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  901. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js +1 -1
  902. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  903. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js +1 -1
  904. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  905. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js +1 -1
  906. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  907. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +1 -1
  908. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  909. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +1 -1
  910. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  911. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +1 -1
  912. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  913. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +1 -1
  914. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  915. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js +1 -1
  916. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  917. package/dist/dist-esm/react-composites/src/composites/common/utils.js +1 -1
  918. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  919. package/dist/dist-esm/react-composites/src/composites/index.js +1 -1
  920. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  921. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +1 -1
  922. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  923. package/dist/dist-esm/react-composites/src/composites/localization/index.js +1 -1
  924. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  925. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +1 -1
  926. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  927. package/dist/dist-esm/react-composites/src/index-public.js +1 -1
  928. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  929. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"ParticipantSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/ParticipantSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAGxE,OAAO,EAAE,+CAA+C,EAAE,MAAM,aAAa,CAAC;AAE9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAQhC,YACE,SAAoB,EACpB,WAA8B,EAC9B,OAAoB,EACpB,eAAoC;QAW9B,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACxD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACtE,wCAAwC;YACxC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAEtD,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;oBACnD,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CACvC,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,eAAe,EACpB,MAAM,CAAC,EAAE,EACT,MAAM,EACN,aAAa,EACb,SAAS,CACV,CAAC;oBACF,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;iBAC7C;gBACD,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CACjC,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,+CAA+C,CAAC,EACnF,EAAE,CACH,CAAC;aACH;QACH,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACvE,wCAAwC;YACxC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvD,kHAAkH;YAClH,+DAA+D;YAC/D,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;oBACnD,WAAW,CACT,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,eAAe,EACpB,+CAA+C,CAAC,MAAM,CAAC,CACxD,CAAC;oBACF,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;iBACvG;aACF;QACH,CAAC,CAAC;QAEM,mCAA8B,GAAG,CAAC,iBAAoC,EAAQ,EAAE;;YACtF,MAAA,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,0CAAE,WAAW,EAAE,CAAC;YAC5E,IAAI,CAAC,6BAA6B,CAAC,GAAG,CACpC,iBAAiB,CAAC,EAAE,EACpB,IAAI,2BAA2B,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,CACzG,CAAC;QACJ,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAS,EAAE;YAChC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3G,CAAC,CAAC;QAEM,mBAAc,GAAG,GAAS,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/G,CAAC,CAAC;QAEF,wCAAwC;QAChC,gBAAW,GAAG,GAAS,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACzG,CAAC,CAAC;QAEM,uBAAkB,GAAG,GAAS,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CACrC,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CACpC,CAAC;QACJ,CAAC,CAAC;QAEM,sBAAiB,GAAG,GAAS,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACrH,CAAC,CAAC;QAEM,wBAAmB,GAAG,CAAC,KAAmE,EAAQ,EAAE;;YAC1G,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;gBAClC,MAAA,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,0CAAE,WAAW,EAAE,CAAC;gBACjE,WAAW,CACT,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,eAAe,EACpB,+CAA+C,CAAC,MAAM,CAAC,CACxD,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;aACvG;YAED,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,KAAK,EAAE;gBAChC,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CACvC,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,eAAe,EACpB,MAAM,CAAC,EAAE,EACT,MAAM,EACN,aAAa,EACb,SAAS,CACV,CAAC;gBACF,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;aAC7C;YAED,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CACjC,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,IAAI,CAAC,eAAe,EACpB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,EAChE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAyB,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAC5D,CAAC;QACJ,CAAC,CAAC;QAhIA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACnF,IAAI,CAAC,6BAA6B,GAAG,IAAI,GAAG,EAAuC,CAAC;QACpF,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CA0HF","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":["../../../../../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,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  /* @conditional-compile-remove(raise-hand) */
4
4
  import { toFlatCommunicationIdentifier } from "../../acs-ui-common/src";
5
5
  /* @conditional-compile-remove(raise-hand) */
@@ -1 +1 @@
1
- {"version":3,"file":"RaiseHandSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/RaiseHandSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAQlC,6CAA6C;AAC7C,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AACxE,6CAA6C;AAC7C;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAK9B,YAAY,SAAoB,EAAE,OAAoB,EAAE,SAA+B;QAQ/E,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEM,eAAU,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;YAC3F,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE;gBACzD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CACtC,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,6BAA6B,CAAC,UAAU,CAAC,UAAU,CAAC,EACpD,UAAU,CACX,CAAC;aACH;QACH,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,KAA6B,EAAQ,EAAE;YAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YAElB,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CACtC,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,6BAA6B,CAAC,KAAK,CAAC,UAAU,CAAC,EAC/C,SAAS,CACV,CAAC;QACJ,CAAC,CAAC;QApCA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAgCF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* @conditional-compile-remove(raise-hand) */\nimport { RaiseHandCallFeature, RaisedHandChangedEvent } from '@azure/communication-calling';\n/* @conditional-compile-remove(raise-hand) */\nimport { CallContext } from './CallContext';\n/* @conditional-compile-remove(raise-hand) */\nimport { CallIdRef } from './CallIdRef';\n/* @conditional-compile-remove(raise-hand) */\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(raise-hand) */\n/**\n * @private\n */\nexport class RaiseHandSubscriber {\n private _callIdRef: CallIdRef;\n private _context: CallContext;\n private _raiseHand: RaiseHandCallFeature;\n\n constructor(callIdRef: CallIdRef, context: CallContext, raiseHand: RaiseHandCallFeature) {\n this._callIdRef = callIdRef;\n this._context = context;\n this._raiseHand = raiseHand;\n\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._raiseHand.on('raisedHandEvent', this.raisedHand);\n this._raiseHand.on('loweredHandEvent', this.loweredHand);\n };\n\n public unsubscribe = (): void => {\n this._raiseHand.off('raisedHandEvent', this.raisedHand);\n this._raiseHand.off('loweredHandEvent', this.loweredHand);\n };\n\n private raisedHand = (): void => {\n this._context.setCallRaisedHands(this._callIdRef.callId, this._raiseHand.getRaisedHands());\n for (const raisedHand of this._raiseHand.getRaisedHands()) {\n this._context.setParticipantIsRaisedHand(\n this._callIdRef.callId,\n toFlatCommunicationIdentifier(raisedHand.identifier),\n raisedHand\n );\n }\n };\n\n private loweredHand = (event: RaisedHandChangedEvent): void => {\n this.raisedHand();\n\n this._context.setParticipantIsRaisedHand(\n this._callIdRef.callId,\n toFlatCommunicationIdentifier(event.identifier),\n undefined\n );\n };\n}\n\"../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"RaiseHandSubscriber.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/RaiseHandSubscriber.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAQlC,6CAA6C;AAC7C,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AACxE,6CAA6C;AAC7C;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAK9B,YAAY,SAAoB,EAAE,OAAoB,EAAE,SAA+B;QAQ/E,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC,CAAC;QAEK,gBAAW,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC,CAAC;QAEM,eAAU,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;YAC3F,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE;gBACzD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CACtC,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,6BAA6B,CAAC,UAAU,CAAC,UAAU,CAAC,EACpD,UAAU,CACX,CAAC;aACH;QACH,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,KAA6B,EAAQ,EAAE;YAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;YAElB,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CACtC,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,6BAA6B,CAAC,KAAK,CAAC,UAAU,CAAC,EAC/C,SAAS,CACV,CAAC;QACJ,CAAC,CAAC;QApCA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;CAgCF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(raise-hand) */\nimport { RaiseHandCallFeature, RaisedHandChangedEvent } from '@azure/communication-calling';\n/* @conditional-compile-remove(raise-hand) */\nimport { CallContext } from './CallContext';\n/* @conditional-compile-remove(raise-hand) */\nimport { CallIdRef } from './CallIdRef';\n/* @conditional-compile-remove(raise-hand) */\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(raise-hand) */\n/**\n * @private\n */\nexport class RaiseHandSubscriber {\n private _callIdRef: CallIdRef;\n private _context: CallContext;\n private _raiseHand: RaiseHandCallFeature;\n\n constructor(callIdRef: CallIdRef, context: CallContext, raiseHand: RaiseHandCallFeature) {\n this._callIdRef = callIdRef;\n this._context = context;\n this._raiseHand = raiseHand;\n\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._raiseHand.on('raisedHandEvent', this.raisedHand);\n this._raiseHand.on('loweredHandEvent', this.loweredHand);\n };\n\n public unsubscribe = (): void => {\n this._raiseHand.off('raisedHandEvent', this.raisedHand);\n this._raiseHand.off('loweredHandEvent', this.loweredHand);\n };\n\n private raisedHand = (): void => {\n this._context.setCallRaisedHands(this._callIdRef.callId, this._raiseHand.getRaisedHands());\n for (const raisedHand of this._raiseHand.getRaisedHands()) {\n this._context.setParticipantIsRaisedHand(\n this._callIdRef.callId,\n toFlatCommunicationIdentifier(raisedHand.identifier),\n raisedHand\n );\n }\n };\n\n private loweredHand = (event: RaisedHandChangedEvent): void => {\n this.raisedHand();\n\n this._context.setParticipantIsRaisedHand(\n this._callIdRef.callId,\n toFlatCommunicationIdentifier(event.identifier),\n undefined\n );\n };\n}\n\"../../acs-ui-common/src\""]}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  /**
4
4
  * @private
5
5
  */
@@ -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":["../../../../../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,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  /**
4
4
  * @private
5
5
  */
@@ -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 /* @conditional-compile-remove(pinned-participants) */\n this._remoteVideoStream.on('sizeChanged', this.isSizeChanged);\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 /* @conditional-compile-remove(pinned-participants) */\n this._remoteVideoStream.off('sizeChanged', this.isSizeChanged);\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 /* @conditional-compile-remove(pinned-participants) */\n private isSizeChanged = (): void => {\n if (this._remoteVideoStream?.size.width === 0 && this._remoteVideoStream?.size.height === 0) {\n return;\n }\n const streamSize =\n this._context.getState().calls[this._callIdRef.callId]?.remoteParticipants[this._participantKey]?.videoStreams[\n this._remoteVideoStream.id\n ]?.streamSize;\n\n const existingAspectRatio = streamSize ? streamSize.width / streamSize.height : undefined;\n const newAspectRatio = this._remoteVideoStream?.size.width / this._remoteVideoStream?.size.height;\n\n if (!streamSize || existingAspectRatio !== newAspectRatio) {\n this._context.setRemoteVideoStreamSize(\n this._callIdRef.callId,\n this._participantKey,\n this._remoteVideoStream.id,\n this._remoteVideoStream.size\n );\n }\n };\n}\n"]}
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 /* @conditional-compile-remove(pinned-participants) */\n this._remoteVideoStream.on('sizeChanged', this.isSizeChanged);\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 /* @conditional-compile-remove(pinned-participants) */\n this._remoteVideoStream.off('sizeChanged', this.isSizeChanged);\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 /* @conditional-compile-remove(pinned-participants) */\n private isSizeChanged = (): void => {\n if (this._remoteVideoStream?.size.width === 0 && this._remoteVideoStream?.size.height === 0) {\n return;\n }\n const streamSize =\n this._context.getState().calls[this._callIdRef.callId]?.remoteParticipants[this._participantKey]?.videoStreams[\n this._remoteVideoStream.id\n ]?.streamSize;\n\n const existingAspectRatio = streamSize ? streamSize.width / streamSize.height : undefined;\n const newAspectRatio = this._remoteVideoStream?.size.width / this._remoteVideoStream?.size.height;\n\n if (!streamSize || existingAspectRatio !== newAspectRatio) {\n this._context.setRemoteVideoStreamSize(\n this._callIdRef.callId,\n this._participantKey,\n this._remoteVideoStream.id,\n this._remoteVideoStream.size\n );\n }\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
5
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -1 +1 @@
1
- {"version":3,"file":"StatefulCallClient.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/StatefulCallClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { deviceManagerDeclaratify } from './DeviceManagerDeclarative';\nimport { CallClient, CallClientOptions, CreateViewOptions, DeviceManager } from '@azure/communication-calling';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { Features } from '@azure/communication-calling';\nimport { CallClientState, LocalVideoStreamState, RemoteVideoStreamState } from './CallClientState';\nimport { CallContext } from './CallContext';\nimport { callAgentDeclaratify, DeclarativeCallAgent } from './CallAgentDeclarative';\nimport { InternalCallContext } from './InternalCallContext';\nimport { createView, disposeView, CreateViewResult } from './StreamUtils';\nimport { CommunicationIdentifier, CommunicationUserIdentifier, getIdentifierKind } from '@azure/communication-common';\nimport { toFlatCommunicationIdentifier, _getApplicationId } from '@internal/acs-ui-common';\nimport { callingStatefulLogger } from './Logger';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { DeclarativeTeamsCallAgent, teamsCallAgentDeclaratify } from './TeamsCallAgentDeclarative';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { MicrosoftTeamsUserIdentifier } from '@azure/communication-common';\nimport { videoStreamRendererViewDeclaratify } from './VideoStreamRendererViewDeclarative';\n\n/**\n * Defines the methods that allow CallClient {@link @azure/communication-calling#CallClient} to be used statefully.\n * The interface provides access to proxied state and also allows registering a handler for state change events. For\n * state definition see {@link CallClientState}.\n *\n * State change events are driven by:\n * - Returned data from {@link @azure/communication-calling#DeviceManager} APIs.\n * - Returned data from {@link @azure/communication-calling#CallAgent} APIs.\n * - Listeners automatically attached to various azure communication-calling objects:\n * - CallAgent 'incomingCall'\n * - CallAgent 'callsUpdated'\n * - DeviceManager 'videoDevicesUpdated'\n * - DeviceManager 'audioDevicesUpdated\n * - DeviceManager 'selectedMicrophoneChanged'\n * - DeviceManager 'selectedSpeakerChanged'\n * - Call 'stateChanged'\n * - Call 'idChanged'\n * - Call 'isMutedChanged'\n * - Call 'isScreenSharingOnChanged'\n * - Call 'remoteParticipantsUpdated'\n * - Call 'localVideoStreamsUpdated'\n * - IncomingCall 'callEnded'\n * - RemoteParticipant 'stateChanged'\n * - RemoteParticipant 'isMutedChanged'\n * - RemoteParticipant 'displayNameChanged'\n * - RemoteParticipant 'isSpeakingChanged'\n * - RemoteParticipant 'videoStreamsUpdated'\n * - RemoteVideoStream 'isAvailableChanged'\n * - TranscriptionCallFeature 'isTranscriptionActiveChanged'\n * - RecordingCallFeature 'isRecordingActiveChanged'\n * - RaiseHandCallFeature 'raisedHandEvent'\n * - RaiseHandCallFeature 'loweredHandEvent'\n *\n * @public\n */\nexport interface StatefulCallClient extends CallClient {\n /**\n * Holds all the state that we could proxy from CallClient {@link @azure/communication-calling#CallClient} as\n * CallClientState {@link CallClientState}.\n */\n getState(): CallClientState;\n /**\n * Allows a handler to be registered for 'stateChanged' events.\n *\n * @param handler - Callback to receive the state.\n */\n onStateChange(handler: (state: CallClientState) => void): void;\n /**\n * Allows unregistering for 'stateChanged' events.\n *\n * @param handler - Original callback to be unsubscribed.\n */\n offStateChange(handler: (state: CallClientState) => void): void;\n /**\n * Renders a {@link RemoteVideoStreamState} or {@link LocalVideoStreamState} and stores the resulting\n * {@link VideoStreamRendererViewState} under the relevant {@link RemoteVideoStreamState} or\n * {@link LocalVideoStreamState} or as unparented view in the state. Under the hood calls\n * {@link @azure/communication-calling#VideoStreamRenderer.createView}.\n *\n * Scenario 1: Render RemoteVideoStreamState\n * - CallId is required, participantId is required, and stream of type RemoteVideoStreamState is required\n * - Resulting {@link VideoStreamRendererViewState} is stored in the given callId and participantId in\n * {@link CallClientState}\n *\n * Scenario 2: Render LocalVideoStreamState for a call\n * - CallId is required, participantId must be undefined, and stream of type LocalVideoStreamState is required.\n * - The {@link @azure/communication-calling#Call.localVideoStreams} must already be started using\n * {@link @azure/communication-calling#Call.startVideo}.\n * - Resulting {@link VideoStreamRendererViewState} is stored in the given callId {@link CallState.localVideoStreams}\n * in {@link CallClientState}.\n *\n * - Scenario 2: Render LocalVideoStreamState not part of a call (example rendering camera for local preview)\n * - CallId must be undefined, participantId must be undefined, and stream of type LocalVideoStreamState is required.\n * - Resulting {@link VideoStreamRendererViewState} is stored in under the given LocalVideoStreamState in\n * {@link CallClientState.deviceManager.unparentedViews}\n *\n * @param callId - CallId for the given stream. Can be undefined if the stream is not part of any call.\n * @param participantId - {@link RemoteParticipant.identifier} associated with the given RemoteVideoStreamState. Could\n * be undefined if rendering LocalVideoStreamState.\n * @param stream - The LocalVideoStreamState or RemoteVideoStreamState to start rendering.\n * @param options - Options that are passed to the {@link @azure/communication-calling#VideoStreamRenderer}.\n */\n createView(\n callId: string | undefined,\n participantId: CommunicationIdentifier | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState,\n options?: CreateViewOptions\n ): Promise<CreateViewResult | undefined>;\n /**\n * Stops rendering a {@link RemoteVideoStreamState} or {@link LocalVideoStreamState} and removes the\n * {@link VideoStreamRendererView} from the relevant {@link RemoteVideoStreamState} in {@link CallClientState} or\n * {@link LocalVideoStream} in {@link CallClientState} or appropriate\n * {@link CallClientState.deviceManager.unparentedViews} Under the hood calls\n * {@link @azure/communication-calling#VideoStreamRenderer.dispose}.\n *\n * Its important to disposeView to clean up resources properly.\n *\n * Scenario 1: Dispose RemoteVideoStreamState\n * - CallId is required, participantId is required, and stream of type RemoteVideoStreamState is required\n *\n * Scenario 2: Dispose LocalVideoStreamState for a call\n * - CallId is required, participantId must be undefined, and stream of type LocalVideoStreamState is required.\n *\n * - Scenario 2: Dispose LocalVideoStreamState not part of a call\n * - CallId must be undefined, participantId must be undefined, and stream of type LocalVideoStreamState is required.\n * - LocalVideoStreamState must be the original one passed to createView.\n *\n * @param callId - CallId for the given stream. Can be undefined if the stream is not part of any call.\n * @param participantId - {@link RemoteParticipant.identifier} associated with the given RemoteVideoStreamState. Could\n * be undefined if disposing LocalVideoStreamState.\n * @param stream - The LocalVideoStreamState or RemoteVideoStreamState to dispose.\n */\n disposeView(\n callId: string | undefined,\n participantId: CommunicationIdentifier | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState\n ): void;\n\n /** @conditional-compile-remove(one-to-n-calling) */\n /**\n * The CallAgent is used to handle calls.\n * To create the CallAgent, pass a CommunicationTokenCredential object provided from SDK.\n * - The CallClient can only have one active CallAgent instance at a time.\n * - You can create a new CallClient instance to create a new CallAgent.\n * - You can dispose of a CallClient's current active CallAgent, and call the CallClient's\n * createCallAgent() method again to create a new CallAgent.\n * @param tokenCredential - The token credential. Use AzureCommunicationTokenCredential from `@azure/communication-common` to create a credential.\n * @param options - The CallAgentOptions for additional options like display name.\n * @public\n */\n createCallAgent(...args: Parameters<CallClient['createCallAgent']>): Promise<DeclarativeCallAgent>;\n}\n\n/**\n * A function to modify the state of the StatefulCallClient.\n *\n * Provided as a callback to the {@link StatefulCallClient.modifyState} method.\n *\n * The function must modify the provided state in place as much as possible.\n * Making large modifications can lead to bad performance by causing spurious rerendering of the UI.\n *\n * Consider using commonly used modifier functions exported from this package.\n */\nexport type CallStateModifier = (state: CallClientState) => void;\n\n/**\n * ProxyCallClient proxies CallClient {@link @azure/communication-calling#CallClient} and subscribes to all events that\n * affect state. ProxyCallClient keeps its own copy of the call state and when state is updated, ProxyCallClient emits\n * the event 'stateChanged'.\n */\nclass ProxyCallClient implements ProxyHandler<CallClient> {\n private _context: CallContext;\n private _internalContext: InternalCallContext;\n private _callAgent:\n | DeclarativeCallAgent\n | /* @conditional-compile-remove(teams-identity-support) */ DeclarativeTeamsCallAgent\n | undefined;\n private _deviceManager: DeviceManager | undefined;\n private _sdkDeviceManager: DeviceManager | undefined;\n\n constructor(context: CallContext, internalContext: InternalCallContext) {\n this._context = context;\n this._internalContext = internalContext;\n }\n\n public get<P extends keyof CallClient>(target: CallClient, prop: P): any {\n switch (prop) {\n case 'createCallAgent': {\n return this._context.withAsyncErrorTeedToState(\n async (...args: Parameters<CallClient['createCallAgent']>): Promise<DeclarativeCallAgent> => {\n // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous\n // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative\n // callAgent if the createCallAgent succeeds.\n const callAgent = await target.createCallAgent(...args);\n this._callAgent = callAgentDeclaratify(callAgent, this._context, this._internalContext);\n this._context.setCallAgent({\n displayName: this._callAgent.displayName\n });\n return this._callAgent;\n },\n 'CallClient.createCallAgent'\n );\n }\n case 'createTeamsCallAgent': {\n /* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState(\n async (...args: Parameters<CallClient['createTeamsCallAgent']>): Promise<DeclarativeTeamsCallAgent> => {\n // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous\n // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative\n // callAgent if the createCallAgent succeeds.\n const callAgent = await target.createTeamsCallAgent(...args);\n this._callAgent = teamsCallAgentDeclaratify(callAgent, this._context, this._internalContext);\n this._context.setCallAgent({\n displayName: undefined\n });\n return this._callAgent;\n },\n 'CallClient.createTeamsCallAgent'\n );\n return Reflect.get(target, prop);\n }\n case 'getDeviceManager': {\n return this._context.withAsyncErrorTeedToState(async () => {\n // As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of\n // DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll\n // throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.\n const deviceManager = await target.getDeviceManager();\n if (this._sdkDeviceManager) {\n if (this._sdkDeviceManager === deviceManager) {\n return this._deviceManager;\n } else {\n throw new Error(\n 'Multiple DeviceManager not supported. This means a incompatible version of communication-calling is ' +\n 'used OR calling declarative was not properly updated to communication-calling version.'\n );\n }\n } else {\n this._sdkDeviceManager = deviceManager;\n }\n this._deviceManager = deviceManagerDeclaratify(deviceManager, this._context, this._internalContext);\n return this._deviceManager;\n }, 'CallClient.getDeviceManager');\n }\n case 'feature': {\n /* @conditional-compile-remove(unsupported-browser) */\n return this._context.withErrorTeedToState((...args: Parameters<CallClient['feature']>) => {\n if (args[0] === Features.DebugInfo) {\n const feature = target.feature(Features.DebugInfo);\n /**\n * add to this object if we want to proxy anything else off the DebugInfo feature object.\n */\n return {\n ...feature,\n getEnvironmentInfo: async () => {\n const environmentInfo = await feature.getEnvironmentInfo();\n this._context.setEnvironmentInfo(environmentInfo);\n return environmentInfo;\n }\n };\n }\n return Reflect.get(target, prop);\n }, 'CallClient.feature');\n }\n default:\n return Reflect.get(target, prop);\n }\n }\n}\n\n/**\n * Arguments to construct the StatefulCallClient.\n *\n * @public\n */\nexport type StatefulCallClientArgs = {\n /**\n * UserId from SDK. This is provided for developer convenience to easily access the userId from the\n * state. It is not used by StatefulCallClient.\n */\n userId:\n | CommunicationUserIdentifier\n | /* @conditional-compile-remove(teams-identity-support) */ MicrosoftTeamsUserIdentifier;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * A phone number in E.164 format that will be used to represent the callers identity. This number is required\n * to start a PSTN call.\n *\n * example: +11234567\n *\n * This is not a cached value from the headless calling client.\n */\n alternateCallerId?: string;\n};\n\n/**\n * Options to construct the StatefulCallClient with.\n *\n * @public\n */\nexport type StatefulCallClientOptions = {\n /**\n * Options to construct the {@link @axure/communication-calling#CallClient} with.\n */\n callClientOptions: CallClientOptions;\n /**\n * Sets the max listeners limit of the 'stateChange' event. Defaults to the node.js EventEmitter.defaultMaxListeners\n * if not specified.\n */\n maxStateChangeListeners?: number;\n};\n\n/**\n * Creates a StatefulCallClient {@link StatefulCallClient} by proxying CallClient\n * {@link @azure/communication-calling#CallClient} with ProxyCallClient {@link ProxyCallClient} which then allows access\n * to state in a declarative way.\n *\n * It is important to use the {@link @azure/communication-calling#DeviceManager} and\n * {@link @azure/communication-calling#CallAgent} and {@link @azure/communication-calling#Call} (and etc.) that are\n * obtained from the StatefulCallClient in order for their state changes to be proxied properly.\n *\n * @param args - {@link StatefulCallClientArgs}\n * @param options - {@link StatefulCallClientOptions}\n *\n * @public\n */\nexport const createStatefulCallClient = (\n args: StatefulCallClientArgs,\n options?: StatefulCallClientOptions\n): StatefulCallClient => {\n callingStatefulLogger.info(`Creating calling stateful client using library version: ${_getApplicationId()}`);\n return createStatefulCallClientWithDeps(\n new CallClient(withTelemetryTag(options?.callClientOptions)),\n new CallContext(\n getIdentifierKind(args.userId),\n options?.maxStateChangeListeners,\n /* @conditional-compile-remove(PSTN-calls) */ args.alternateCallerId\n ),\n new InternalCallContext()\n );\n};\n\n/**\n * Package-internal version of createStatefulCallClient that allows dependency injection.\n *\n * This function should not be exported from the package.\n */\nexport const createStatefulCallClientWithDeps = (\n callClient: CallClient,\n context: CallContext,\n internalContext: InternalCallContext\n): StatefulCallClient => {\n Object.defineProperty(callClient, 'getState', {\n configurable: false,\n value: () => context.getState()\n });\n Object.defineProperty(callClient, 'onStateChange', {\n configurable: false,\n value: (handler: (state: CallClientState) => void) => context.onStateChange(handler)\n });\n Object.defineProperty(callClient, 'offStateChange', {\n configurable: false,\n value: (handler: (state: CallClientState) => void) => context.offStateChange(handler)\n });\n Object.defineProperty(callClient, 'createView', {\n configurable: false,\n value: async (\n callId: string | undefined,\n participantId: CommunicationIdentifier | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState,\n options?: CreateViewOptions\n ): Promise<CreateViewResult | undefined> => {\n const participantIdKind = participantId ? getIdentifierKind(participantId) : undefined;\n const result = await createView(context, internalContext, callId, participantIdKind, stream, options);\n // We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.\n if ('id' in stream && callId && participantId && result) {\n const participantKey = toFlatCommunicationIdentifier(participantId);\n result.view = videoStreamRendererViewDeclaratify(result.view, context, callId, participantKey, stream.id);\n }\n return result;\n }\n });\n Object.defineProperty(callClient, 'disposeView', {\n configurable: false,\n value: (\n callId: string | undefined,\n participantId: CommunicationIdentifier | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState\n ): void => {\n const participantIdKind = participantId ? getIdentifierKind(participantId) : undefined;\n disposeView(context, internalContext, callId, participantIdKind, stream);\n }\n });\n\n return new Proxy(callClient, new ProxyCallClient(context, internalContext)) as StatefulCallClient;\n};\n\nconst withTelemetryTag = (options?: CallClientOptions): CallClientOptions => {\n const tags = options?.diagnostics?.tags ?? [];\n tags.push(_getApplicationId());\n return {\n ...options,\n diagnostics: {\n ...options?.diagnostics,\n tags\n }\n };\n};\n\"../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"StatefulCallClient.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/StatefulCallClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { deviceManagerDeclaratify } from './DeviceManagerDeclarative';\nimport { CallClient, CallClientOptions, CreateViewOptions, DeviceManager } from '@azure/communication-calling';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { Features } from '@azure/communication-calling';\nimport { CallClientState, LocalVideoStreamState, RemoteVideoStreamState } from './CallClientState';\nimport { CallContext } from './CallContext';\nimport { callAgentDeclaratify, DeclarativeCallAgent } from './CallAgentDeclarative';\nimport { InternalCallContext } from './InternalCallContext';\nimport { createView, disposeView, CreateViewResult } from './StreamUtils';\nimport { CommunicationIdentifier, CommunicationUserIdentifier, getIdentifierKind } from '@azure/communication-common';\nimport { toFlatCommunicationIdentifier, _getApplicationId } from '@internal/acs-ui-common';\nimport { callingStatefulLogger } from './Logger';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { DeclarativeTeamsCallAgent, teamsCallAgentDeclaratify } from './TeamsCallAgentDeclarative';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { MicrosoftTeamsUserIdentifier } from '@azure/communication-common';\nimport { videoStreamRendererViewDeclaratify } from './VideoStreamRendererViewDeclarative';\n\n/**\n * Defines the methods that allow CallClient {@link @azure/communication-calling#CallClient} to be used statefully.\n * The interface provides access to proxied state and also allows registering a handler for state change events. For\n * state definition see {@link CallClientState}.\n *\n * State change events are driven by:\n * - Returned data from {@link @azure/communication-calling#DeviceManager} APIs.\n * - Returned data from {@link @azure/communication-calling#CallAgent} APIs.\n * - Listeners automatically attached to various azure communication-calling objects:\n * - CallAgent 'incomingCall'\n * - CallAgent 'callsUpdated'\n * - DeviceManager 'videoDevicesUpdated'\n * - DeviceManager 'audioDevicesUpdated\n * - DeviceManager 'selectedMicrophoneChanged'\n * - DeviceManager 'selectedSpeakerChanged'\n * - Call 'stateChanged'\n * - Call 'idChanged'\n * - Call 'isMutedChanged'\n * - Call 'isScreenSharingOnChanged'\n * - Call 'remoteParticipantsUpdated'\n * - Call 'localVideoStreamsUpdated'\n * - IncomingCall 'callEnded'\n * - RemoteParticipant 'stateChanged'\n * - RemoteParticipant 'isMutedChanged'\n * - RemoteParticipant 'displayNameChanged'\n * - RemoteParticipant 'isSpeakingChanged'\n * - RemoteParticipant 'videoStreamsUpdated'\n * - RemoteVideoStream 'isAvailableChanged'\n * - TranscriptionCallFeature 'isTranscriptionActiveChanged'\n * - RecordingCallFeature 'isRecordingActiveChanged'\n * - RaiseHandCallFeature 'raisedHandEvent'\n * - RaiseHandCallFeature 'loweredHandEvent'\n *\n * @public\n */\nexport interface StatefulCallClient extends CallClient {\n /**\n * Holds all the state that we could proxy from CallClient {@link @azure/communication-calling#CallClient} as\n * CallClientState {@link CallClientState}.\n */\n getState(): CallClientState;\n /**\n * Allows a handler to be registered for 'stateChanged' events.\n *\n * @param handler - Callback to receive the state.\n */\n onStateChange(handler: (state: CallClientState) => void): void;\n /**\n * Allows unregistering for 'stateChanged' events.\n *\n * @param handler - Original callback to be unsubscribed.\n */\n offStateChange(handler: (state: CallClientState) => void): void;\n /**\n * Renders a {@link RemoteVideoStreamState} or {@link LocalVideoStreamState} and stores the resulting\n * {@link VideoStreamRendererViewState} under the relevant {@link RemoteVideoStreamState} or\n * {@link LocalVideoStreamState} or as unparented view in the state. Under the hood calls\n * {@link @azure/communication-calling#VideoStreamRenderer.createView}.\n *\n * Scenario 1: Render RemoteVideoStreamState\n * - CallId is required, participantId is required, and stream of type RemoteVideoStreamState is required\n * - Resulting {@link VideoStreamRendererViewState} is stored in the given callId and participantId in\n * {@link CallClientState}\n *\n * Scenario 2: Render LocalVideoStreamState for a call\n * - CallId is required, participantId must be undefined, and stream of type LocalVideoStreamState is required.\n * - The {@link @azure/communication-calling#Call.localVideoStreams} must already be started using\n * {@link @azure/communication-calling#Call.startVideo}.\n * - Resulting {@link VideoStreamRendererViewState} is stored in the given callId {@link CallState.localVideoStreams}\n * in {@link CallClientState}.\n *\n * - Scenario 2: Render LocalVideoStreamState not part of a call (example rendering camera for local preview)\n * - CallId must be undefined, participantId must be undefined, and stream of type LocalVideoStreamState is required.\n * - Resulting {@link VideoStreamRendererViewState} is stored in under the given LocalVideoStreamState in\n * {@link CallClientState.deviceManager.unparentedViews}\n *\n * @param callId - CallId for the given stream. Can be undefined if the stream is not part of any call.\n * @param participantId - {@link RemoteParticipant.identifier} associated with the given RemoteVideoStreamState. Could\n * be undefined if rendering LocalVideoStreamState.\n * @param stream - The LocalVideoStreamState or RemoteVideoStreamState to start rendering.\n * @param options - Options that are passed to the {@link @azure/communication-calling#VideoStreamRenderer}.\n */\n createView(\n callId: string | undefined,\n participantId: CommunicationIdentifier | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState,\n options?: CreateViewOptions\n ): Promise<CreateViewResult | undefined>;\n /**\n * Stops rendering a {@link RemoteVideoStreamState} or {@link LocalVideoStreamState} and removes the\n * {@link VideoStreamRendererView} from the relevant {@link RemoteVideoStreamState} in {@link CallClientState} or\n * {@link LocalVideoStream} in {@link CallClientState} or appropriate\n * {@link CallClientState.deviceManager.unparentedViews} Under the hood calls\n * {@link @azure/communication-calling#VideoStreamRenderer.dispose}.\n *\n * Its important to disposeView to clean up resources properly.\n *\n * Scenario 1: Dispose RemoteVideoStreamState\n * - CallId is required, participantId is required, and stream of type RemoteVideoStreamState is required\n *\n * Scenario 2: Dispose LocalVideoStreamState for a call\n * - CallId is required, participantId must be undefined, and stream of type LocalVideoStreamState is required.\n *\n * - Scenario 2: Dispose LocalVideoStreamState not part of a call\n * - CallId must be undefined, participantId must be undefined, and stream of type LocalVideoStreamState is required.\n * - LocalVideoStreamState must be the original one passed to createView.\n *\n * @param callId - CallId for the given stream. Can be undefined if the stream is not part of any call.\n * @param participantId - {@link RemoteParticipant.identifier} associated with the given RemoteVideoStreamState. Could\n * be undefined if disposing LocalVideoStreamState.\n * @param stream - The LocalVideoStreamState or RemoteVideoStreamState to dispose.\n */\n disposeView(\n callId: string | undefined,\n participantId: CommunicationIdentifier | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState\n ): void;\n\n /** @conditional-compile-remove(one-to-n-calling) */\n /**\n * The CallAgent is used to handle calls.\n * To create the CallAgent, pass a CommunicationTokenCredential object provided from SDK.\n * - The CallClient can only have one active CallAgent instance at a time.\n * - You can create a new CallClient instance to create a new CallAgent.\n * - You can dispose of a CallClient's current active CallAgent, and call the CallClient's\n * createCallAgent() method again to create a new CallAgent.\n * @param tokenCredential - The token credential. Use AzureCommunicationTokenCredential from `@azure/communication-common` to create a credential.\n * @param options - The CallAgentOptions for additional options like display name.\n * @public\n */\n createCallAgent(...args: Parameters<CallClient['createCallAgent']>): Promise<DeclarativeCallAgent>;\n}\n\n/**\n * A function to modify the state of the StatefulCallClient.\n *\n * Provided as a callback to the {@link StatefulCallClient.modifyState} method.\n *\n * The function must modify the provided state in place as much as possible.\n * Making large modifications can lead to bad performance by causing spurious rerendering of the UI.\n *\n * Consider using commonly used modifier functions exported from this package.\n */\nexport type CallStateModifier = (state: CallClientState) => void;\n\n/**\n * ProxyCallClient proxies CallClient {@link @azure/communication-calling#CallClient} and subscribes to all events that\n * affect state. ProxyCallClient keeps its own copy of the call state and when state is updated, ProxyCallClient emits\n * the event 'stateChanged'.\n */\nclass ProxyCallClient implements ProxyHandler<CallClient> {\n private _context: CallContext;\n private _internalContext: InternalCallContext;\n private _callAgent:\n | DeclarativeCallAgent\n | /* @conditional-compile-remove(teams-identity-support) */ DeclarativeTeamsCallAgent\n | undefined;\n private _deviceManager: DeviceManager | undefined;\n private _sdkDeviceManager: DeviceManager | undefined;\n\n constructor(context: CallContext, internalContext: InternalCallContext) {\n this._context = context;\n this._internalContext = internalContext;\n }\n\n public get<P extends keyof CallClient>(target: CallClient, prop: P): any {\n switch (prop) {\n case 'createCallAgent': {\n return this._context.withAsyncErrorTeedToState(\n async (...args: Parameters<CallClient['createCallAgent']>): Promise<DeclarativeCallAgent> => {\n // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous\n // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative\n // callAgent if the createCallAgent succeeds.\n const callAgent = await target.createCallAgent(...args);\n this._callAgent = callAgentDeclaratify(callAgent, this._context, this._internalContext);\n this._context.setCallAgent({\n displayName: this._callAgent.displayName\n });\n return this._callAgent;\n },\n 'CallClient.createCallAgent'\n );\n }\n case 'createTeamsCallAgent': {\n /* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState(\n async (...args: Parameters<CallClient['createTeamsCallAgent']>): Promise<DeclarativeTeamsCallAgent> => {\n // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous\n // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative\n // callAgent if the createCallAgent succeeds.\n const callAgent = await target.createTeamsCallAgent(...args);\n this._callAgent = teamsCallAgentDeclaratify(callAgent, this._context, this._internalContext);\n this._context.setCallAgent({\n displayName: undefined\n });\n return this._callAgent;\n },\n 'CallClient.createTeamsCallAgent'\n );\n return Reflect.get(target, prop);\n }\n case 'getDeviceManager': {\n return this._context.withAsyncErrorTeedToState(async () => {\n // As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of\n // DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll\n // throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.\n const deviceManager = await target.getDeviceManager();\n if (this._sdkDeviceManager) {\n if (this._sdkDeviceManager === deviceManager) {\n return this._deviceManager;\n } else {\n throw new Error(\n 'Multiple DeviceManager not supported. This means a incompatible version of communication-calling is ' +\n 'used OR calling declarative was not properly updated to communication-calling version.'\n );\n }\n } else {\n this._sdkDeviceManager = deviceManager;\n }\n this._deviceManager = deviceManagerDeclaratify(deviceManager, this._context, this._internalContext);\n return this._deviceManager;\n }, 'CallClient.getDeviceManager');\n }\n case 'feature': {\n /* @conditional-compile-remove(unsupported-browser) */\n return this._context.withErrorTeedToState((...args: Parameters<CallClient['feature']>) => {\n if (args[0] === Features.DebugInfo) {\n const feature = target.feature(Features.DebugInfo);\n /**\n * add to this object if we want to proxy anything else off the DebugInfo feature object.\n */\n return {\n ...feature,\n getEnvironmentInfo: async () => {\n const environmentInfo = await feature.getEnvironmentInfo();\n this._context.setEnvironmentInfo(environmentInfo);\n return environmentInfo;\n }\n };\n }\n return Reflect.get(target, prop);\n }, 'CallClient.feature');\n }\n default:\n return Reflect.get(target, prop);\n }\n }\n}\n\n/**\n * Arguments to construct the StatefulCallClient.\n *\n * @public\n */\nexport type StatefulCallClientArgs = {\n /**\n * UserId from SDK. This is provided for developer convenience to easily access the userId from the\n * state. It is not used by StatefulCallClient.\n */\n userId:\n | CommunicationUserIdentifier\n | /* @conditional-compile-remove(teams-identity-support) */ MicrosoftTeamsUserIdentifier;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * A phone number in E.164 format that will be used to represent the callers identity. This number is required\n * to start a PSTN call.\n *\n * example: +11234567\n *\n * This is not a cached value from the headless calling client.\n */\n alternateCallerId?: string;\n};\n\n/**\n * Options to construct the StatefulCallClient with.\n *\n * @public\n */\nexport type StatefulCallClientOptions = {\n /**\n * Options to construct the {@link @axure/communication-calling#CallClient} with.\n */\n callClientOptions: CallClientOptions;\n /**\n * Sets the max listeners limit of the 'stateChange' event. Defaults to the node.js EventEmitter.defaultMaxListeners\n * if not specified.\n */\n maxStateChangeListeners?: number;\n};\n\n/**\n * Creates a StatefulCallClient {@link StatefulCallClient} by proxying CallClient\n * {@link @azure/communication-calling#CallClient} with ProxyCallClient {@link ProxyCallClient} which then allows access\n * to state in a declarative way.\n *\n * It is important to use the {@link @azure/communication-calling#DeviceManager} and\n * {@link @azure/communication-calling#CallAgent} and {@link @azure/communication-calling#Call} (and etc.) that are\n * obtained from the StatefulCallClient in order for their state changes to be proxied properly.\n *\n * @param args - {@link StatefulCallClientArgs}\n * @param options - {@link StatefulCallClientOptions}\n *\n * @public\n */\nexport const createStatefulCallClient = (\n args: StatefulCallClientArgs,\n options?: StatefulCallClientOptions\n): StatefulCallClient => {\n callingStatefulLogger.info(`Creating calling stateful client using library version: ${_getApplicationId()}`);\n return createStatefulCallClientWithDeps(\n new CallClient(withTelemetryTag(options?.callClientOptions)),\n new CallContext(\n getIdentifierKind(args.userId),\n options?.maxStateChangeListeners,\n /* @conditional-compile-remove(PSTN-calls) */ args.alternateCallerId\n ),\n new InternalCallContext()\n );\n};\n\n/**\n * Package-internal version of createStatefulCallClient that allows dependency injection.\n *\n * This function should not be exported from the package.\n */\nexport const createStatefulCallClientWithDeps = (\n callClient: CallClient,\n context: CallContext,\n internalContext: InternalCallContext\n): StatefulCallClient => {\n Object.defineProperty(callClient, 'getState', {\n configurable: false,\n value: () => context.getState()\n });\n Object.defineProperty(callClient, 'onStateChange', {\n configurable: false,\n value: (handler: (state: CallClientState) => void) => context.onStateChange(handler)\n });\n Object.defineProperty(callClient, 'offStateChange', {\n configurable: false,\n value: (handler: (state: CallClientState) => void) => context.offStateChange(handler)\n });\n Object.defineProperty(callClient, 'createView', {\n configurable: false,\n value: async (\n callId: string | undefined,\n participantId: CommunicationIdentifier | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState,\n options?: CreateViewOptions\n ): Promise<CreateViewResult | undefined> => {\n const participantIdKind = participantId ? getIdentifierKind(participantId) : undefined;\n const result = await createView(context, internalContext, callId, participantIdKind, stream, options);\n // We only need to declaratify the VideoStreamRendererView object for remote participants. Because the updateScalingMode only needs to be called on remote participant stream views.\n if ('id' in stream && callId && participantId && result) {\n const participantKey = toFlatCommunicationIdentifier(participantId);\n result.view = videoStreamRendererViewDeclaratify(result.view, context, callId, participantKey, stream.id);\n }\n return result;\n }\n });\n Object.defineProperty(callClient, 'disposeView', {\n configurable: false,\n value: (\n callId: string | undefined,\n participantId: CommunicationIdentifier | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState\n ): void => {\n const participantIdKind = participantId ? getIdentifierKind(participantId) : undefined;\n disposeView(context, internalContext, callId, participantIdKind, stream);\n }\n });\n\n return new Proxy(callClient, new ProxyCallClient(context, internalContext)) as StatefulCallClient;\n};\n\nconst withTelemetryTag = (options?: CallClientOptions): CallClientOptions => {\n const tags = options?.diagnostics?.tags ?? [];\n tags.push(_getApplicationId());\n return {\n ...options,\n diagnostics: {\n ...options?.diagnostics,\n tags\n }\n };\n};\n\"../../acs-ui-common/src\""]}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
5
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -1 +1 @@
1
- {"version":3,"file":"StreamUtils.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/StreamUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,OAAO,EAEL,gBAAgB,EAEhB,mBAAmB,EAEpB,MAAM,8BAA8B,CAAC;AAItC,OAAO,EACL,6CAA6C,EAC7C,+CAA+C,EAC/C,kDAAkD,EACnD,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,6BAA6B,EAAa,gCAAgC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD,SAAe,eAAe,CAC5B,OAAoB,EACpB,eAAoC,EACpC,MAAc,EACd,MAAuD,EACvD,aAAoD,EACpD,OAA2B;;QAE3B,yCAAyC;QACzC,IAAI,eAAgF,CAAC;QAErF,6GAA6G;QAE7G,IAAI,aAAa,EAAE;YACjB,eAAe,GAAG,kBAAkB,CAAC;SACtC;aAAM,IAAI,MAAM,EAAE;YACjB,eAAe,GAAG,iBAAiB,CAAC;SACrC;aAAM;YACL,wCAAwC;YACxC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAClE,eAAe,GAAG,sBAAsB,CAAC;SAC1C;QAED,MAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,eAAe,CAAC;QAC3C,MAAM,QAAQ,GAAI,MAA4B,CAAC,EAAE,CAAC;QAElD,oHAAoH;QACpH,MAAM,cAAc,GAClB,eAAe,KAAK,kBAAkB,IAAI,aAAa;YACrD,CAAC,CAAC,OAAO,aAAa,KAAK,QAAQ;gBACjC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,6BAA6B,CAAC,aAAa,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,aAAa,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;QAExF,gGAAgG;QAChG,eAAe,CAAC,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAEzD,2GAA2G;QAC3G,MAAM,UAAU,GACd,eAAe,KAAK,kBAAkB,IAAI,cAAc;YACtD,CAAC,CAAC,eAAe,CAAC,iCAAiC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC;YACrF,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,UAAU,EAAE;YACf,eAAe,CAAC,UAAU,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAC5D,OAAO;SACR;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE;YACpC,eAAe,CAAC,UAAU,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;YACnE,OAAO;SACR;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE;YACrC,0FAA0F;YAC1F,sCAAsC;YACtC,eAAe,CAAC,UAAU,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YAC5D,OAAO;SACR;QAED,yFAAyF;QACzF,uFAAuF;QACvF,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE;YACpC,IAAI,eAAe,KAAK,kBAAkB,IAAI,cAAc,EAAE;gBAC5D,eAAe,CAAC,UAAU,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;gBAC3D,eAAe,CAAC,mBAAmB,CACjC,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,CAAC,MAA2B,EACtC,WAAW,EACX,UAAU,CAAC,QAAQ,CACpB,CAAC;aACH;iBAAM,IAAI,eAAe,KAAK,iBAAiB,EAAE;gBAChD,eAAe,CAAC,UAAU,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;gBAC3D,eAAe,CAAC,kBAAkB,CAChC,MAAM,EACN,UAAU,CAAC,MAA0B,EACrC,WAAW,EACX,UAAU,CAAC,QAAQ,CACpB,CAAC;aACH;YACD,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE5D,eAAe,KAAK,kBAAkB,IAAI,cAAc;YACtD,CAAC,CAAC,eAAe,CAAC,mBAAmB,CACjC,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,CAAC,MAA2B,EACtC,WAAW,EACX,SAAS,CACV;YACH,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,MAA0B,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QAE7G,IAAI,IAAI,CAAC;QACT,IAAI;YACF,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC3C;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,eAAe,KAAK,kBAAkB,IAAI,cAAc,EAAE;gBAC5D,eAAe,CAAC,UAAU,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;gBAC9D,eAAe,CAAC,mBAAmB,CACjC,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,CAAC,MAA2B,EACtC,aAAa,EACb,SAAS,CACV,CAAC;aACH;iBAAM,IAAI,eAAe,KAAK,iBAAiB,EAAE;gBAChD,eAAe,CAAC,UAAU,CAAC,kBAAkB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;gBACjE,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,MAA0B,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;aAC7G;YACD,MAAM,CAAC,CAAC;SACT;QAED,kHAAkH;QAClH,kBAAkB;QAClB,MAAM,mBAAmB,GACvB,eAAe,KAAK,kBAAkB,IAAI,cAAc;YACtD,CAAC,CAAC,eAAe,CAAC,iCAAiC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC;YACrF,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,mBAAmB,EAAE;YACxB,iHAAiH;YACjH,0BAA0B;YAC1B,eAAe,CAAC,UAAU,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;YACjE,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,eAAe,KAAK,kBAAkB,IAAI,cAAc;gBACtD,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC;gBACvF,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC/D,OAAO;SACR;QAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,UAAU,EAAE;YAC7C,6GAA6G;YAC7G,+BAA+B;YAC/B,eAAe,KAAK,kBAAkB,CAAC;YACvC,eAAe,CAAC,UAAU,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;YACnE,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,eAAe,KAAK,kBAAkB,IAAI,cAAc,EAAE;gBAC5D,eAAe,CAAC,mBAAmB,CACjC,MAAM,EACN,cAAc,EACd,QAAQ,EACR,mBAAmB,CAAC,MAA2B,EAC/C,aAAa,EACb,SAAS,CACV,CAAC;gBACF,OAAO,CAAC,gCAAgC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;aACvF;iBAAM,IAAI,eAAe,KAAK,iBAAiB,EAAE;gBAChD,eAAe,CAAC,kBAAkB,CAChC,MAAM,EACN,mBAAmB,CAAC,MAA0B,EAC9C,aAAa,EACb,SAAS,CACV,CAAC;gBACF,OAAO,CAAC,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;aAC5D;YACD,OAAO;SACR;QAED,8GAA8G;QAC9G,sBAAsB;QACtB,IAAI,eAAe,KAAK,kBAAkB,IAAI,cAAc,EAAE;YAC5D,eAAe,CAAC,mBAAmB,CACjC,MAAM,EACN,cAAc,EACd,QAAQ,EACR,mBAAmB,CAAC,MAA2B,EAC/C,UAAU,EACV,QAAQ,CACT,CAAC;YACF,OAAO,CAAC,gCAAgC,CACtC,MAAM,EACN,cAAc,EACd,QAAQ,EACR,kDAAkD,CAAC,IAAI,CAAC,CACzD,CAAC;YACF,eAAe,CAAC,UAAU,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;SAChE;aAAM,IAAI,eAAe,KAAK,iBAAiB,EAAE;YAChD,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,CAAC,MAA0B,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;YACjH,OAAO,CAAC,+BAA+B,CAAC,MAAM,EAAE,kDAAkD,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1G,eAAe,CAAC,UAAU,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;SAChE;QAED,OAAO;YACL,QAAQ;YACR,IAAI;SACL,CAAC;IACJ,CAAC;CAAA;AAED,SAAe,yBAAyB,CACtC,OAAoB,EACpB,eAAoC,EACpC,MAA6B,EAC7B,OAA2B;;QAE3B,MAAM,UAAU,GAAG,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEnE,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE;YAClD,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YAChE,OAAO;SACR;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE;YACnD,0FAA0F;YAC1F,sCAAsC;YACtC,OAAO;SACR;QAED,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE;YAClD,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;YACzE,OAAO;SACR;QAED,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAE3D,eAAe,CAAC,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAE1F,IAAI,IAA6B,CAAC;QAClC,IAAI;YACF,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC3C;QAAC,OAAO,CAAC,EAAE;YACV,iHAAiH;YACjH,oHAAoH;YACpH,kGAAkG;YAClG,eAAe,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,CAAC,CAAC;SACT;QAED,kHAAkH;QAClH,kBAAkB;QAClB,MAAM,mBAAmB,GAAG,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,mBAAmB,EAAE;YACxB,oHAAoH;YACpH,kHAAkH;YAClH,gDAAgD;YAChD,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO;SACR;QAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,UAAU,EAAE;YAC7C,6GAA6G;YAC7G,iHAAiH;YACjH,oFAAoF;YACpF,eAAe,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACnD,OAAO,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC;YAClD,OAAO;SACR;QACD,8GAA8G;QAC9G,sBAAsB;QACtB,eAAe,CAAC,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxF,eAAe,CAAC,qCAAqC,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACjF,OAAO,CAAC,8BAA8B,CAAC,MAAM,EAAE,kDAAkD,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzG,OAAO;YACL,QAAQ;YACR,IAAI;SACL,CAAC;IACJ,CAAC;CAAA;AAED,SAAS,gBAAgB,CACvB,OAAoB,EACpB,eAAoC,EACpC,MAAc,EACd,MAAsD,EACtD,aAAoD;IAEpD,yCAAyC;IACzC,IAAI,eAAmF,CAAC;IAExF,6GAA6G;IAE7G,IAAI,aAAa,EAAE;QACjB,eAAe,GAAG,mBAAmB,CAAC;KACvC;SAAM,IAAI,MAAM,EAAE;QACjB,eAAe,GAAG,kBAAkB,CAAC;KACtC;SAAM;QACL,wCAAwC;QACxC,eAAe,GAAG,uBAAuB,CAAC;KAC3C;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;IAC1C,MAAM,QAAQ,GAAI,MAA4B,CAAC,EAAE,CAAC;IAElD,oHAAoH;IACpH,MAAM,cAAc,GAClB,eAAe,KAAK,mBAAmB,IAAI,aAAa;QACtD,CAAC,CAAC,OAAO,aAAa,KAAK,QAAQ;YACjC,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,6BAA6B,CAAC,aAAa,CAAC;QAChD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,aAAa,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IAEvE,eAAe,CAAC,UAAU,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;IAEhE,IAAI,eAAe,KAAK,mBAAmB,IAAI,cAAc,EAAE;QAC7D,OAAO,CAAC,gCAAgC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;KACvF;IAED,MAAM,UAAU,GACd,eAAe,KAAK,mBAAmB,IAAI,cAAc;QACvD,CAAC,CAAC,eAAe,CAAC,iCAAiC,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC;QACrF,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEjD,IAAI,CAAC,UAAU,EAAE;QACf,eAAe,CAAC,UAAU,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;QAClE,OAAO;KACR;IAED,sEAAsE;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,aAAa,EAAE;QACvC,eAAe,CAAC,UAAU,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;QACnE,OAAO;KACR;IAED,yGAAyG;IACzG,6GAA6G;IAC7G,gEAAgE;IAChE,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE;QACpC,eAAe,CAAC,UAAU,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAC3D,OAAO;KACR;IAED,uGAAuG;IACvG,wGAAwG;IACxG,6EAA6E;IAC7E,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE;QACrC,eAAe,CAAC,UAAU,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAC3D,eAAe,KAAK,mBAAmB,IAAI,cAAc;YACvD,CAAC,CAAC,eAAe,CAAC,mBAAmB,CACjC,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,CAAC,MAA2B,EACtC,UAAU,EACV,SAAS,CACV;YACH,CAAC,CAAC,eAAe,CAAC,kBAAkB,CAChC,MAAM,EACN,UAAU,CAAC,MAA0B,EACrC,UAAU,EACV,UAAU,CAAC,QAAQ,CACpB,CAAC;QACN,OAAO;KACR;IAED,IAAI,UAAU,CAAC,QAAQ,EAAE;QACvB,eAAe,CAAC,UAAU,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAC9D,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC9B,yGAAyG;QACzG,IAAI,eAAe,KAAK,mBAAmB,IAAI,cAAc,EAAE;YAC7D,eAAe,CAAC,mBAAmB,CACjC,MAAM,EACN,cAAc,EACd,QAAQ,EACR,UAAU,CAAC,MAA2B,EACtC,aAAa,EACb,SAAS,CACV,CAAC;SACH;aAAM,IAAI,eAAe,KAAK,kBAAkB,EAAE;YACjD,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,MAA0B,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YAC5G,OAAO,CAAC,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;SAC5D;KACF;SAAM;QACL,eAAe,CAAC,UAAU,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;KAC/D;AACH,CAAC;AAED,SAAS,0BAA0B,CACjC,OAAoB,EACpB,eAAoC,EACpC,MAA6B;IAE7B,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;IAC1C,MAAM,aAAa,GAAG,EAAE,UAAU,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC;IAE/E,eAAe,CAAC,UAAU,CAAC,oBAAoB,EAAE,aAAa,CAAC,CAAC;IAEhE,OAAO,CAAC,iCAAiC,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,EAAE;QACf,eAAe,CAAC,UAAU,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;QAClE,OAAO;KACR;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE;QACrC,eAAe,CAAC,UAAU,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAC3D,eAAe,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;KAC3F;SAAM;QACL,eAAe,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;KACpD;IAED,IAAI,UAAU,CAAC,QAAQ,EAAE;QACvB,eAAe,CAAC,UAAU,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAC9D,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;KAC/B;SAAM;QACL,eAAe,CAAC,UAAU,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;KAC/D;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,OAAoB,EACpB,eAAoC,EACpC,MAA0B,EAC1B,aAA+D,EAC/D,MAAsD,EACtD,OAA2B;IAE3B,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;IAE1C,IAAI,MAAM,EAAE;QACV,OAAO,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;KAC1F;SAAM,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;QACvC,qDAAqD;QACrD,kIAAkI;QAClI,iHAAiH;QACjH,OAAO,OAAO,CAAC,yBAAyB,CACtC,GAAS,EAAE,gDAAC,OAAA,MAAM,yBAAyB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA,GAAA,EACtF,iBAAiB,CAClB,EAAE,CAAC;KACL;SAAM;QACL,eAAe,CAAC,UAAU,CAAC,4BAA4B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACnC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,OAAoB,EACpB,eAAoC,EACpC,MAA0B,EAC1B,aAA+D,EAC/D,MAAsD;IAEtD,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;IAC1C,IAAI,MAAM,EAAE;QACV,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;KAC3E;SAAM,IAAI,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;QACvC,6DAA6D;QAC7D,kIAAkI;QAClI,gHAAgH;QAChH,OAAO,CAAC,oBAAoB,CAC1B,GAAG,EAAE,CAAC,0BAA0B,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,EAClE,gBAAgB,CACjB,EAAE,CAAC;KACL;SAAM;QACL,eAAe,CAAC,UAAU,CAAC,6BAA6B,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAC1E,OAAO;KACR;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAoB,EACpB,eAAoC,EACpC,MAAc;IAEd,MAAM,WAAW,GAAG,eAAe,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,WAAW,EAAE;QACf,KAAK,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE;YACxE,KAAK,MAAM,CAAC,CAAC,EAAE,uBAAuB,CAAC,IAAI,kBAAkB,CAAC,OAAO,EAAE,EAAE;gBACvE,+GAA+G;gBAC/G,+GAA+G;gBAC/G,WAAW,CACT,OAAO,EACP,eAAe,EACf,MAAM,EACN,cAAc,EACd,+CAA+C,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAChF,CAAC;aACH;SACF;KACF;IACD,MAAM,sBAAsB,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1E,IAAI,sBAAsB,IAAI,sBAAsB,CAAC,QAAQ,EAAE;QAC7D,+GAA+G;QAC/G,+GAA+G;QAC/G,WAAW,CACT,OAAO,EACP,eAAe,EACf,MAAM,EACN,SAAS,EACT,6CAA6C,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAC7E,CAAC;KACH;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAoB,EAAE,eAAoC;IACxF,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,uBAAuB,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;KAC3D;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n CreateViewOptions,\n LocalVideoStream,\n RemoteVideoStream,\n VideoStreamRenderer,\n VideoStreamRendererView\n} from '@azure/communication-calling';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { LocalVideoStreamState, RemoteVideoStreamState } from './CallClientState';\nimport { CallContext } from './CallContext';\nimport {\n convertSdkLocalStreamToDeclarativeLocalStream,\n convertSdkRemoteStreamToDeclarativeRemoteStream,\n convertFromSDKToDeclarativeVideoStreamRendererView\n} from './Converter';\nimport { InternalCallContext } from './InternalCallContext';\nimport { toFlatCommunicationIdentifier, _logEvent } from '@internal/acs-ui-common';\nimport { EventNames } from './Logger';\nimport { _logStreamEvent } from './StreamUtilsLogging';\n\n/**\n * Return result from {@link StatefulCallClient.createView}.\n *\n * @public\n */\nexport type CreateViewResult = {\n renderer: VideoStreamRenderer;\n view: VideoStreamRendererView;\n};\n\nasync function createViewVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string,\n stream?: RemoteVideoStreamState | LocalVideoStreamState,\n participantId?: CommunicationIdentifierKind | string,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n // we can only have 3 types of createView\n let streamEventType: 'createViewLocal' | 'createViewRemote' | 'createViewUnparented';\n\n // we will reuse these for local as well but we need to make sure the remote stream is passed in like before.\n\n if (participantId) {\n streamEventType = 'createViewRemote';\n } else if (callId) {\n streamEventType = 'createViewLocal';\n } else {\n // TODO update for when unparented view.\n throw new Error('unparented createView not implemented yet here');\n streamEventType = 'createViewUnparented';\n }\n\n const streamType = stream?.mediaStreamType;\n const streamId = (stream as RemoteVideoStream).id;\n\n // we want to check to see if there is a participantId this will tell us whether its a local stream or a remote one.\n const participantKey =\n streamEventType === 'createViewRemote' && participantId\n ? typeof participantId === 'string'\n ? participantId\n : toFlatCommunicationIdentifier(participantId)\n : undefined;\n\n const streamLogInfo = { callId, participantKey, streamId, streamType, streamEventType };\n\n // make different logging announcement based on whether or not we are starting a local or remote\n _logStreamEvent(EventNames.CREATING_VIEW, streamLogInfo);\n\n // if we have a participant Id and a stream get the remote info, else get the local render info from state.\n const renderInfo =\n streamEventType === 'createViewRemote' && participantKey\n ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId)\n : internalContext.getLocalRenderInfo(callId);\n\n if (!renderInfo) {\n _logStreamEvent(EventNames.STREAM_NOT_FOUND, streamLogInfo);\n return;\n }\n\n if (renderInfo.status === 'Rendered') {\n _logStreamEvent(EventNames.STREAM_ALREADY_RENDERED, streamLogInfo);\n return;\n }\n\n if (renderInfo.status === 'Rendering') {\n // Do not log to console here as this is a very common situation due to UI rerenders while\n // the video rendering is in progress.\n _logStreamEvent(EventNames.STREAM_RENDERING, streamLogInfo);\n return;\n }\n\n // \"Stopping\" only happens if the stream was in \"rendering\" but `disposeView` was called.\n // Now that `createView` has been re-called, we can flip the state back to \"rendering\".\n if (renderInfo.status === 'Stopping') {\n if (streamEventType === 'createViewRemote' && participantKey) {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n renderInfo.stream as RemoteVideoStream,\n 'Rendering',\n renderInfo.renderer\n );\n } else if (streamEventType === 'createViewLocal') {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n internalContext.setLocalRenderInfo(\n callId,\n renderInfo.stream as LocalVideoStream,\n 'Rendering',\n renderInfo.renderer\n );\n }\n return;\n }\n\n const renderer = new VideoStreamRenderer(renderInfo.stream);\n\n streamEventType === 'createViewRemote' && participantKey\n ? internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n renderInfo.stream as RemoteVideoStream,\n 'Rendering',\n undefined\n )\n : internalContext.setLocalRenderInfo(callId, renderInfo.stream as LocalVideoStream, 'Rendering', renderer);\n\n let view;\n try {\n view = await renderer.createView(options);\n } catch (e) {\n if (streamEventType === 'createViewRemote' && participantKey) {\n _logStreamEvent(EventNames.CREATE_STREAM_FAIL, streamLogInfo);\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n renderInfo.stream as RemoteVideoStream,\n 'NotRendered',\n undefined\n );\n } else if (streamEventType === 'createViewLocal') {\n _logStreamEvent(EventNames.CREATE_STREAM_FAIL, streamLogInfo, e);\n internalContext.setLocalRenderInfo(callId, renderInfo.stream as LocalVideoStream, 'NotRendered', undefined);\n }\n throw e;\n }\n\n // Since render could take some time, we need to check if the stream is still valid and if we received a signal to\n // stop rendering.\n const refreshedRenderInfo =\n streamEventType === 'createViewRemote' && participantKey\n ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId)\n : internalContext.getLocalRenderInfo(callId);\n\n if (!refreshedRenderInfo) {\n // RenderInfo was removed. This should not happen unless stream was removed from the call so dispose the renderer\n // and clean up the state.\n _logStreamEvent(EventNames.RENDER_INFO_NOT_FOUND, streamLogInfo);\n renderer.dispose();\n streamEventType === 'createViewRemote' && participantKey\n ? context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined)\n : context.setLocalVideoStreamRendererView(callId, undefined);\n return;\n }\n\n if (refreshedRenderInfo.status === 'Stopping') {\n // Stop render was called on this stream after we had started rendering. We will dispose this view and do not\n // put the view into the state.\n streamEventType === 'createViewRemote';\n _logStreamEvent(EventNames.CREATED_STREAM_STOPPING, streamLogInfo);\n renderer.dispose();\n if (streamEventType === 'createViewRemote' && participantKey) {\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n refreshedRenderInfo.stream as RemoteVideoStream,\n 'NotRendered',\n undefined\n );\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n } else if (streamEventType === 'createViewLocal') {\n internalContext.setLocalRenderInfo(\n callId,\n refreshedRenderInfo.stream as LocalVideoStream,\n 'NotRendered',\n undefined\n );\n context.setLocalVideoStreamRendererView(callId, undefined);\n }\n return;\n }\n\n // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by\n // updating the state.\n if (streamEventType === 'createViewRemote' && participantKey) {\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n refreshedRenderInfo.stream as RemoteVideoStream,\n 'Rendered',\n renderer\n );\n context.setRemoteVideoStreamRendererView(\n callId,\n participantKey,\n streamId,\n convertFromSDKToDeclarativeVideoStreamRendererView(view)\n );\n _logStreamEvent(EventNames.VIEW_RENDER_SUCCEED, streamLogInfo);\n } else if (streamEventType === 'createViewLocal') {\n internalContext.setLocalRenderInfo(callId, refreshedRenderInfo.stream as LocalVideoStream, 'Rendered', renderer);\n context.setLocalVideoStreamRendererView(callId, convertFromSDKToDeclarativeVideoStreamRendererView(view));\n _logStreamEvent(EventNames.VIEW_RENDER_SUCCEED, streamLogInfo);\n }\n\n return {\n renderer,\n view\n };\n}\n\nasync function createViewUnparentedVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n stream: LocalVideoStreamState,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n const renderInfo = internalContext.getUnparentedRenderInfo(stream);\n\n if (renderInfo && renderInfo.status === 'Rendered') {\n console.warn('Unparented LocalVideoStream is already rendered');\n return;\n }\n\n if (renderInfo && renderInfo.status === 'Rendering') {\n // Do not log to console here as this is a very common situation due to UI rerenders while\n // the video rendering is in progress.\n return;\n }\n\n if (renderInfo && renderInfo.status === 'Stopping') {\n console.warn('Unparented LocalVideoStream is in the middle of stopping');\n return;\n }\n\n const localVideoStream = new LocalVideoStream(stream.source);\n const renderer = new VideoStreamRenderer(localVideoStream);\n\n internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendering', undefined);\n\n let view: VideoStreamRendererView;\n try {\n view = await renderer.createView(options);\n } catch (e) {\n // Special case for unparented views. Since they are not tied to anything and created by us based on the calls to\n // this function we'll delete it to clean up the data since keeping it around doesn't help us and if developer wants\n // to create a new view they can check that the view is not rendered and call this function again.\n internalContext.deleteUnparentedRenderInfo(stream);\n throw e;\n }\n\n // Since render could take some time, we need to check if the stream is still valid and if we received a signal to\n // stop rendering.\n const refreshedRenderInfo = internalContext.getUnparentedRenderInfo(stream);\n if (!refreshedRenderInfo) {\n // Unparented stream's RenderInfo was deleted. Currently this shouldn't happen but if it does we'll just dispose the\n // renderer and clean up state. If developer wanted the stream they could call this function again and that should\n // generate new working state via this function.\n renderer.dispose();\n context.deleteDeviceManagerUnparentedView(stream);\n return;\n }\n\n if (refreshedRenderInfo.status === 'Stopping') {\n // Stop render was called on this stream after we had started rendering. We will dispose this view and do not\n // put the view into the state. Special case for unparented views, delete them from state when stopped to free up\n // the memory since we were the ones generating this and not tied to any Call state.\n internalContext.deleteUnparentedRenderInfo(stream);\n context.deleteDeviceManagerUnparentedView(stream);\n return;\n }\n // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by\n // updating the state.\n internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendered', renderer);\n internalContext.subscribeToUnparentedViewVideoEffects(localVideoStream, context);\n context.setDeviceManagerUnparentedView(stream, convertFromSDKToDeclarativeVideoStreamRendererView(view));\n\n return {\n renderer,\n view\n };\n}\n\nfunction disposeViewVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string,\n stream: RemoteVideoStreamState | LocalVideoStreamState,\n participantId?: CommunicationIdentifierKind | string\n): void {\n // we can only have 3 types of createView\n let streamEventType: 'disposeViewLocal' | 'disposeViewRemote' | 'disposeViewUnparented';\n\n // we will reuse these for local as well but we need to make sure the remote stream is passed in like before.\n\n if (participantId) {\n streamEventType = 'disposeViewRemote';\n } else if (callId) {\n streamEventType = 'disposeViewLocal';\n } else {\n // TODO update for when unparented view.\n streamEventType = 'disposeViewUnparented';\n }\n\n const streamType = stream.mediaStreamType;\n const streamId = (stream as RemoteVideoStream).id;\n\n // we want to check to see if there is a participantId this will tell us whether its a local stream or a remote one.\n const participantKey =\n streamEventType === 'disposeViewRemote' && participantId\n ? typeof participantId === 'string'\n ? participantId\n : toFlatCommunicationIdentifier(participantId)\n : undefined;\n const streamLogInfo = { callId, participantKey, streamId, streamType };\n\n _logStreamEvent(EventNames.START_DISPOSE_STREAM, streamLogInfo);\n\n if (streamEventType === 'disposeViewRemote' && participantKey) {\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n }\n\n const renderInfo =\n streamEventType === 'disposeViewRemote' && participantKey\n ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId)\n : internalContext.getLocalRenderInfo(callId);\n\n if (!renderInfo) {\n _logStreamEvent(EventNames.DISPOSE_INFO_NOT_FOUND, streamLogInfo);\n return;\n }\n\n // Nothing to dispose of or clean up -- we can safely exit early here.\n if (renderInfo.status === 'NotRendered') {\n _logStreamEvent(EventNames.STREAM_ALREADY_DISPOSED, streamLogInfo);\n return;\n }\n\n // Status is already marked as \"stopping\" so we can exit early here. This is because stopping only occurs\n // when the stream is being created in createView but hasn't been completed being created yet. The createView\n // method will see the \"stopping\" status and perform the cleanup\n if (renderInfo.status === 'Stopping') {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n return;\n }\n\n // If the stream is in the middle of being rendered (i.e. has state \"Rendering\"), we need the status as\n // \"stopping\" without performing any cleanup. This will tell the `createView` method that it should stop\n // rendering and clean up the state once the view has finished being created.\n if (renderInfo.status === 'Rendering') {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n streamEventType === 'disposeViewRemote' && participantKey\n ? internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n renderInfo.stream as RemoteVideoStream,\n 'Stopping',\n undefined\n )\n : internalContext.setLocalRenderInfo(\n callId,\n renderInfo.stream as LocalVideoStream,\n 'Stopping',\n renderInfo.renderer\n );\n return;\n }\n\n if (renderInfo.renderer) {\n _logStreamEvent(EventNames.DISPOSING_RENDERER, streamLogInfo);\n renderInfo.renderer.dispose();\n // Else the state must be in the \"Rendered\" state, so we can dispose the renderer and clean up the state.\n if (streamEventType === 'disposeViewRemote' && participantKey) {\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n renderInfo.stream as RemoteVideoStream,\n 'NotRendered',\n undefined\n );\n } else if (streamEventType === 'disposeViewLocal') {\n internalContext.setLocalRenderInfo(callId, renderInfo.stream as LocalVideoStream, 'NotRendered', undefined);\n context.setLocalVideoStreamRendererView(callId, undefined);\n }\n } else {\n _logStreamEvent(EventNames.RENDERER_NOT_FOUND, streamLogInfo);\n }\n}\n\nfunction disposeViewUnparentedVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n stream: LocalVideoStreamState\n): void {\n const streamType = stream.mediaStreamType;\n const streamLogInfo = { streamType, streamEventType: 'disposeViewUnparented' };\n\n _logStreamEvent(EventNames.START_DISPOSE_STREAM, streamLogInfo);\n\n context.deleteDeviceManagerUnparentedView(stream);\n\n const renderInfo = internalContext.getUnparentedRenderInfo(stream);\n if (!renderInfo) {\n _logStreamEvent(EventNames.DISPOSE_INFO_NOT_FOUND, streamLogInfo);\n return;\n }\n\n if (renderInfo.status === 'Rendering') {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n internalContext.setUnparentedRenderInfo(stream, renderInfo.stream, 'Stopping', undefined);\n } else {\n internalContext.deleteUnparentedRenderInfo(stream);\n }\n\n if (renderInfo.renderer) {\n _logStreamEvent(EventNames.DISPOSING_RENDERER, streamLogInfo);\n renderInfo.renderer.dispose();\n } else {\n _logStreamEvent(EventNames.RENDERER_NOT_FOUND, streamLogInfo);\n }\n}\n\n/**\n * @private\n */\nexport function createView(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string | undefined,\n participantId: CommunicationIdentifierKind | string | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n const streamType = stream.mediaStreamType;\n\n if (callId) {\n return createViewVideo(context, internalContext, callId, stream, participantId, options);\n } else if (!('id' in stream) && !callId) {\n // Render LocalVideoStream that is not part of a Call\n // Because it is not part of the call we don't tee errors to state naturally (e.g. via a Call Client function such as startVideo).\n // We do not have a startLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.\n return context.withAsyncErrorTeedToState(\n async () => await createViewUnparentedVideo(context, internalContext, stream, options),\n 'Call.startVideo'\n )();\n } else {\n _logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, { streamType });\n return Promise.resolve(undefined);\n }\n}\n\n/**\n * @private\n */\nexport function disposeView(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string | undefined,\n participantId: CommunicationIdentifierKind | string | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState\n): void {\n const streamType = stream.mediaStreamType;\n if (callId) {\n disposeViewVideo(context, internalContext, callId, stream, participantId);\n } else if (!('id' in stream) && !callId) {\n // Stop rendering LocalVideoStream that is not part of a Call\n // Because it is not part of the call we don't tee errors to state naturally (e.g. via a Call Client function such as startVideo).\n // We do not have a stopLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.\n context.withErrorTeedToState(\n () => disposeViewUnparentedVideo(context, internalContext, stream),\n 'Call.stopVideo'\n )();\n } else {\n _logStreamEvent(EventNames.DISPOSE_STREAM_INVALID_PARAMS, { streamType });\n return;\n }\n}\n\n/**\n * @private\n * Only stops videos that are tied to a Call.\n */\nexport function disposeAllViewsFromCall(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string\n): void {\n const callStreams = internalContext.getRemoteRenderInfoForCall(callId);\n if (callStreams) {\n for (const [participantKey, participantStreams] of callStreams.entries()) {\n for (const [_, remoteStreamAndRenderer] of participantStreams.entries()) {\n // We don't want to accept SDK stream as parameter but we also don't cache the declarative stream so we have to\n // convert the SDK stream to declarative stream which is not pretty so this could use some further refactoring.\n disposeView(\n context,\n internalContext,\n callId,\n participantKey,\n convertSdkRemoteStreamToDeclarativeRemoteStream(remoteStreamAndRenderer.stream)\n );\n }\n }\n }\n const localStreamAndRenderer = internalContext.getLocalRenderInfo(callId);\n if (localStreamAndRenderer && localStreamAndRenderer.renderer) {\n // We don't want to accept SDK stream as parameter but we also don't cache the declarative stream so we have to\n // convert the SDK stream to declarative stream which is not pretty so this could use some further refactoring.\n disposeView(\n context,\n internalContext,\n callId,\n undefined,\n convertSdkLocalStreamToDeclarativeLocalStream(localStreamAndRenderer.stream)\n );\n }\n}\n\n/**\n * @private\n */\nexport function disposeAllViews(context: CallContext, internalContext: InternalCallContext): void {\n const callIds = internalContext.getCallIds();\n for (const callId of callIds) {\n disposeAllViewsFromCall(context, internalContext, callId);\n }\n}\n\"../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"StreamUtils.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/StreamUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n CreateViewOptions,\n LocalVideoStream,\n RemoteVideoStream,\n VideoStreamRenderer,\n VideoStreamRendererView\n} from '@azure/communication-calling';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { LocalVideoStreamState, RemoteVideoStreamState } from './CallClientState';\nimport { CallContext } from './CallContext';\nimport {\n convertSdkLocalStreamToDeclarativeLocalStream,\n convertSdkRemoteStreamToDeclarativeRemoteStream,\n convertFromSDKToDeclarativeVideoStreamRendererView\n} from './Converter';\nimport { InternalCallContext } from './InternalCallContext';\nimport { toFlatCommunicationIdentifier, _logEvent } from '@internal/acs-ui-common';\nimport { EventNames } from './Logger';\nimport { _logStreamEvent } from './StreamUtilsLogging';\n\n/**\n * Return result from {@link StatefulCallClient.createView}.\n *\n * @public\n */\nexport type CreateViewResult = {\n renderer: VideoStreamRenderer;\n view: VideoStreamRendererView;\n};\n\nasync function createViewVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string,\n stream?: RemoteVideoStreamState | LocalVideoStreamState,\n participantId?: CommunicationIdentifierKind | string,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n // we can only have 3 types of createView\n let streamEventType: 'createViewLocal' | 'createViewRemote' | 'createViewUnparented';\n\n // we will reuse these for local as well but we need to make sure the remote stream is passed in like before.\n\n if (participantId) {\n streamEventType = 'createViewRemote';\n } else if (callId) {\n streamEventType = 'createViewLocal';\n } else {\n // TODO update for when unparented view.\n throw new Error('unparented createView not implemented yet here');\n streamEventType = 'createViewUnparented';\n }\n\n const streamType = stream?.mediaStreamType;\n const streamId = (stream as RemoteVideoStream).id;\n\n // we want to check to see if there is a participantId this will tell us whether its a local stream or a remote one.\n const participantKey =\n streamEventType === 'createViewRemote' && participantId\n ? typeof participantId === 'string'\n ? participantId\n : toFlatCommunicationIdentifier(participantId)\n : undefined;\n\n const streamLogInfo = { callId, participantKey, streamId, streamType, streamEventType };\n\n // make different logging announcement based on whether or not we are starting a local or remote\n _logStreamEvent(EventNames.CREATING_VIEW, streamLogInfo);\n\n // if we have a participant Id and a stream get the remote info, else get the local render info from state.\n const renderInfo =\n streamEventType === 'createViewRemote' && participantKey\n ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId)\n : internalContext.getLocalRenderInfo(callId);\n\n if (!renderInfo) {\n _logStreamEvent(EventNames.STREAM_NOT_FOUND, streamLogInfo);\n return;\n }\n\n if (renderInfo.status === 'Rendered') {\n _logStreamEvent(EventNames.STREAM_ALREADY_RENDERED, streamLogInfo);\n return;\n }\n\n if (renderInfo.status === 'Rendering') {\n // Do not log to console here as this is a very common situation due to UI rerenders while\n // the video rendering is in progress.\n _logStreamEvent(EventNames.STREAM_RENDERING, streamLogInfo);\n return;\n }\n\n // \"Stopping\" only happens if the stream was in \"rendering\" but `disposeView` was called.\n // Now that `createView` has been re-called, we can flip the state back to \"rendering\".\n if (renderInfo.status === 'Stopping') {\n if (streamEventType === 'createViewRemote' && participantKey) {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n renderInfo.stream as RemoteVideoStream,\n 'Rendering',\n renderInfo.renderer\n );\n } else if (streamEventType === 'createViewLocal') {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n internalContext.setLocalRenderInfo(\n callId,\n renderInfo.stream as LocalVideoStream,\n 'Rendering',\n renderInfo.renderer\n );\n }\n return;\n }\n\n const renderer = new VideoStreamRenderer(renderInfo.stream);\n\n streamEventType === 'createViewRemote' && participantKey\n ? internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n renderInfo.stream as RemoteVideoStream,\n 'Rendering',\n undefined\n )\n : internalContext.setLocalRenderInfo(callId, renderInfo.stream as LocalVideoStream, 'Rendering', renderer);\n\n let view;\n try {\n view = await renderer.createView(options);\n } catch (e) {\n if (streamEventType === 'createViewRemote' && participantKey) {\n _logStreamEvent(EventNames.CREATE_STREAM_FAIL, streamLogInfo);\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n renderInfo.stream as RemoteVideoStream,\n 'NotRendered',\n undefined\n );\n } else if (streamEventType === 'createViewLocal') {\n _logStreamEvent(EventNames.CREATE_STREAM_FAIL, streamLogInfo, e);\n internalContext.setLocalRenderInfo(callId, renderInfo.stream as LocalVideoStream, 'NotRendered', undefined);\n }\n throw e;\n }\n\n // Since render could take some time, we need to check if the stream is still valid and if we received a signal to\n // stop rendering.\n const refreshedRenderInfo =\n streamEventType === 'createViewRemote' && participantKey\n ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId)\n : internalContext.getLocalRenderInfo(callId);\n\n if (!refreshedRenderInfo) {\n // RenderInfo was removed. This should not happen unless stream was removed from the call so dispose the renderer\n // and clean up the state.\n _logStreamEvent(EventNames.RENDER_INFO_NOT_FOUND, streamLogInfo);\n renderer.dispose();\n streamEventType === 'createViewRemote' && participantKey\n ? context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined)\n : context.setLocalVideoStreamRendererView(callId, undefined);\n return;\n }\n\n if (refreshedRenderInfo.status === 'Stopping') {\n // Stop render was called on this stream after we had started rendering. We will dispose this view and do not\n // put the view into the state.\n streamEventType === 'createViewRemote';\n _logStreamEvent(EventNames.CREATED_STREAM_STOPPING, streamLogInfo);\n renderer.dispose();\n if (streamEventType === 'createViewRemote' && participantKey) {\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n refreshedRenderInfo.stream as RemoteVideoStream,\n 'NotRendered',\n undefined\n );\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n } else if (streamEventType === 'createViewLocal') {\n internalContext.setLocalRenderInfo(\n callId,\n refreshedRenderInfo.stream as LocalVideoStream,\n 'NotRendered',\n undefined\n );\n context.setLocalVideoStreamRendererView(callId, undefined);\n }\n return;\n }\n\n // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by\n // updating the state.\n if (streamEventType === 'createViewRemote' && participantKey) {\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n refreshedRenderInfo.stream as RemoteVideoStream,\n 'Rendered',\n renderer\n );\n context.setRemoteVideoStreamRendererView(\n callId,\n participantKey,\n streamId,\n convertFromSDKToDeclarativeVideoStreamRendererView(view)\n );\n _logStreamEvent(EventNames.VIEW_RENDER_SUCCEED, streamLogInfo);\n } else if (streamEventType === 'createViewLocal') {\n internalContext.setLocalRenderInfo(callId, refreshedRenderInfo.stream as LocalVideoStream, 'Rendered', renderer);\n context.setLocalVideoStreamRendererView(callId, convertFromSDKToDeclarativeVideoStreamRendererView(view));\n _logStreamEvent(EventNames.VIEW_RENDER_SUCCEED, streamLogInfo);\n }\n\n return {\n renderer,\n view\n };\n}\n\nasync function createViewUnparentedVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n stream: LocalVideoStreamState,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n const renderInfo = internalContext.getUnparentedRenderInfo(stream);\n\n if (renderInfo && renderInfo.status === 'Rendered') {\n console.warn('Unparented LocalVideoStream is already rendered');\n return;\n }\n\n if (renderInfo && renderInfo.status === 'Rendering') {\n // Do not log to console here as this is a very common situation due to UI rerenders while\n // the video rendering is in progress.\n return;\n }\n\n if (renderInfo && renderInfo.status === 'Stopping') {\n console.warn('Unparented LocalVideoStream is in the middle of stopping');\n return;\n }\n\n const localVideoStream = new LocalVideoStream(stream.source);\n const renderer = new VideoStreamRenderer(localVideoStream);\n\n internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendering', undefined);\n\n let view: VideoStreamRendererView;\n try {\n view = await renderer.createView(options);\n } catch (e) {\n // Special case for unparented views. Since they are not tied to anything and created by us based on the calls to\n // this function we'll delete it to clean up the data since keeping it around doesn't help us and if developer wants\n // to create a new view they can check that the view is not rendered and call this function again.\n internalContext.deleteUnparentedRenderInfo(stream);\n throw e;\n }\n\n // Since render could take some time, we need to check if the stream is still valid and if we received a signal to\n // stop rendering.\n const refreshedRenderInfo = internalContext.getUnparentedRenderInfo(stream);\n if (!refreshedRenderInfo) {\n // Unparented stream's RenderInfo was deleted. Currently this shouldn't happen but if it does we'll just dispose the\n // renderer and clean up state. If developer wanted the stream they could call this function again and that should\n // generate new working state via this function.\n renderer.dispose();\n context.deleteDeviceManagerUnparentedView(stream);\n return;\n }\n\n if (refreshedRenderInfo.status === 'Stopping') {\n // Stop render was called on this stream after we had started rendering. We will dispose this view and do not\n // put the view into the state. Special case for unparented views, delete them from state when stopped to free up\n // the memory since we were the ones generating this and not tied to any Call state.\n internalContext.deleteUnparentedRenderInfo(stream);\n context.deleteDeviceManagerUnparentedView(stream);\n return;\n }\n // Else the stream still exists and status is not telling us to stop rendering. Complete the render process by\n // updating the state.\n internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendered', renderer);\n internalContext.subscribeToUnparentedViewVideoEffects(localVideoStream, context);\n context.setDeviceManagerUnparentedView(stream, convertFromSDKToDeclarativeVideoStreamRendererView(view));\n\n return {\n renderer,\n view\n };\n}\n\nfunction disposeViewVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string,\n stream: RemoteVideoStreamState | LocalVideoStreamState,\n participantId?: CommunicationIdentifierKind | string\n): void {\n // we can only have 3 types of createView\n let streamEventType: 'disposeViewLocal' | 'disposeViewRemote' | 'disposeViewUnparented';\n\n // we will reuse these for local as well but we need to make sure the remote stream is passed in like before.\n\n if (participantId) {\n streamEventType = 'disposeViewRemote';\n } else if (callId) {\n streamEventType = 'disposeViewLocal';\n } else {\n // TODO update for when unparented view.\n streamEventType = 'disposeViewUnparented';\n }\n\n const streamType = stream.mediaStreamType;\n const streamId = (stream as RemoteVideoStream).id;\n\n // we want to check to see if there is a participantId this will tell us whether its a local stream or a remote one.\n const participantKey =\n streamEventType === 'disposeViewRemote' && participantId\n ? typeof participantId === 'string'\n ? participantId\n : toFlatCommunicationIdentifier(participantId)\n : undefined;\n const streamLogInfo = { callId, participantKey, streamId, streamType };\n\n _logStreamEvent(EventNames.START_DISPOSE_STREAM, streamLogInfo);\n\n if (streamEventType === 'disposeViewRemote' && participantKey) {\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n }\n\n const renderInfo =\n streamEventType === 'disposeViewRemote' && participantKey\n ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId)\n : internalContext.getLocalRenderInfo(callId);\n\n if (!renderInfo) {\n _logStreamEvent(EventNames.DISPOSE_INFO_NOT_FOUND, streamLogInfo);\n return;\n }\n\n // Nothing to dispose of or clean up -- we can safely exit early here.\n if (renderInfo.status === 'NotRendered') {\n _logStreamEvent(EventNames.STREAM_ALREADY_DISPOSED, streamLogInfo);\n return;\n }\n\n // Status is already marked as \"stopping\" so we can exit early here. This is because stopping only occurs\n // when the stream is being created in createView but hasn't been completed being created yet. The createView\n // method will see the \"stopping\" status and perform the cleanup\n if (renderInfo.status === 'Stopping') {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n return;\n }\n\n // If the stream is in the middle of being rendered (i.e. has state \"Rendering\"), we need the status as\n // \"stopping\" without performing any cleanup. This will tell the `createView` method that it should stop\n // rendering and clean up the state once the view has finished being created.\n if (renderInfo.status === 'Rendering') {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n streamEventType === 'disposeViewRemote' && participantKey\n ? internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n renderInfo.stream as RemoteVideoStream,\n 'Stopping',\n undefined\n )\n : internalContext.setLocalRenderInfo(\n callId,\n renderInfo.stream as LocalVideoStream,\n 'Stopping',\n renderInfo.renderer\n );\n return;\n }\n\n if (renderInfo.renderer) {\n _logStreamEvent(EventNames.DISPOSING_RENDERER, streamLogInfo);\n renderInfo.renderer.dispose();\n // Else the state must be in the \"Rendered\" state, so we can dispose the renderer and clean up the state.\n if (streamEventType === 'disposeViewRemote' && participantKey) {\n internalContext.setRemoteRenderInfo(\n callId,\n participantKey,\n streamId,\n renderInfo.stream as RemoteVideoStream,\n 'NotRendered',\n undefined\n );\n } else if (streamEventType === 'disposeViewLocal') {\n internalContext.setLocalRenderInfo(callId, renderInfo.stream as LocalVideoStream, 'NotRendered', undefined);\n context.setLocalVideoStreamRendererView(callId, undefined);\n }\n } else {\n _logStreamEvent(EventNames.RENDERER_NOT_FOUND, streamLogInfo);\n }\n}\n\nfunction disposeViewUnparentedVideo(\n context: CallContext,\n internalContext: InternalCallContext,\n stream: LocalVideoStreamState\n): void {\n const streamType = stream.mediaStreamType;\n const streamLogInfo = { streamType, streamEventType: 'disposeViewUnparented' };\n\n _logStreamEvent(EventNames.START_DISPOSE_STREAM, streamLogInfo);\n\n context.deleteDeviceManagerUnparentedView(stream);\n\n const renderInfo = internalContext.getUnparentedRenderInfo(stream);\n if (!renderInfo) {\n _logStreamEvent(EventNames.DISPOSE_INFO_NOT_FOUND, streamLogInfo);\n return;\n }\n\n if (renderInfo.status === 'Rendering') {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n internalContext.setUnparentedRenderInfo(stream, renderInfo.stream, 'Stopping', undefined);\n } else {\n internalContext.deleteUnparentedRenderInfo(stream);\n }\n\n if (renderInfo.renderer) {\n _logStreamEvent(EventNames.DISPOSING_RENDERER, streamLogInfo);\n renderInfo.renderer.dispose();\n } else {\n _logStreamEvent(EventNames.RENDERER_NOT_FOUND, streamLogInfo);\n }\n}\n\n/**\n * @private\n */\nexport function createView(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string | undefined,\n participantId: CommunicationIdentifierKind | string | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState,\n options?: CreateViewOptions\n): Promise<CreateViewResult | undefined> {\n const streamType = stream.mediaStreamType;\n\n if (callId) {\n return createViewVideo(context, internalContext, callId, stream, participantId, options);\n } else if (!('id' in stream) && !callId) {\n // Render LocalVideoStream that is not part of a Call\n // Because it is not part of the call we don't tee errors to state naturally (e.g. via a Call Client function such as startVideo).\n // We do not have a startLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.\n return context.withAsyncErrorTeedToState(\n async () => await createViewUnparentedVideo(context, internalContext, stream, options),\n 'Call.startVideo'\n )();\n } else {\n _logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, { streamType });\n return Promise.resolve(undefined);\n }\n}\n\n/**\n * @private\n */\nexport function disposeView(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string | undefined,\n participantId: CommunicationIdentifierKind | string | undefined,\n stream: LocalVideoStreamState | RemoteVideoStreamState\n): void {\n const streamType = stream.mediaStreamType;\n if (callId) {\n disposeViewVideo(context, internalContext, callId, stream, participantId);\n } else if (!('id' in stream) && !callId) {\n // Stop rendering LocalVideoStream that is not part of a Call\n // Because it is not part of the call we don't tee errors to state naturally (e.g. via a Call Client function such as startVideo).\n // We do not have a stopLocalPreviewVideo function, so as a workaround we ensure any errors are propagated here.\n context.withErrorTeedToState(\n () => disposeViewUnparentedVideo(context, internalContext, stream),\n 'Call.stopVideo'\n )();\n } else {\n _logStreamEvent(EventNames.DISPOSE_STREAM_INVALID_PARAMS, { streamType });\n return;\n }\n}\n\n/**\n * @private\n * Only stops videos that are tied to a Call.\n */\nexport function disposeAllViewsFromCall(\n context: CallContext,\n internalContext: InternalCallContext,\n callId: string\n): void {\n const callStreams = internalContext.getRemoteRenderInfoForCall(callId);\n if (callStreams) {\n for (const [participantKey, participantStreams] of callStreams.entries()) {\n for (const [_, remoteStreamAndRenderer] of participantStreams.entries()) {\n // We don't want to accept SDK stream as parameter but we also don't cache the declarative stream so we have to\n // convert the SDK stream to declarative stream which is not pretty so this could use some further refactoring.\n disposeView(\n context,\n internalContext,\n callId,\n participantKey,\n convertSdkRemoteStreamToDeclarativeRemoteStream(remoteStreamAndRenderer.stream)\n );\n }\n }\n }\n const localStreamAndRenderer = internalContext.getLocalRenderInfo(callId);\n if (localStreamAndRenderer && localStreamAndRenderer.renderer) {\n // We don't want to accept SDK stream as parameter but we also don't cache the declarative stream so we have to\n // convert the SDK stream to declarative stream which is not pretty so this could use some further refactoring.\n disposeView(\n context,\n internalContext,\n callId,\n undefined,\n convertSdkLocalStreamToDeclarativeLocalStream(localStreamAndRenderer.stream)\n );\n }\n}\n\n/**\n * @private\n */\nexport function disposeAllViews(context: CallContext, internalContext: InternalCallContext): void {\n const callIds = internalContext.getCallIds();\n for (const callId of callIds) {\n disposeAllViewsFromCall(context, internalContext, callId);\n }\n}\n\"../../acs-ui-common/src\""]}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  import { _logEvent } from "../../acs-ui-common/src";
4
4
  import { callingStatefulLogger, EventNames } from './Logger';
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"StreamUtilsLogging.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/StreamUtilsLogging.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { MediaStreamType } from '@azure/communication-calling';\nimport { _logEvent } from '@internal/acs-ui-common';\nimport { callingStatefulLogger, EventNames } from './Logger';\n\n/**\n * helper function to manage logging for stream disposals\n *\n * @param eventName Name of event that occured when managing streams\n * @param streamLogInfo Data about the stream in the event\n * @returns\n */\nfunction _logDisposeStreamEvent(\n eventName: EventNames,\n streamLogInfo: {\n callId?: string;\n participantKey?: any;\n streamId?: number;\n streamType?: MediaStreamType;\n streamEventType?: string;\n }\n): void {\n switch (eventName) {\n case EventNames.DISPOSE_STREAM_INVALID_PARAMS:\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSE_STREAM_INVALID_PARAMS,\n level: 'warning',\n message: 'Dispose View invalid combination of parameters.',\n data: { streamType: streamLogInfo.streamType }\n });\n return;\n case EventNames.START_DISPOSE_STREAM:\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_DISPOSE_STREAM,\n level: 'info',\n message: 'Start disposing stream.',\n data: streamLogInfo\n });\n return;\n case EventNames.DISPOSE_INFO_NOT_FOUND:\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSE_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find render info when disposing stream.',\n data: streamLogInfo\n });\n return;\n case EventNames.STREAM_STOPPING:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_STOPPING,\n level: 'info',\n message: 'Stream is currently marked as stopping, will continue if is local preview',\n data: streamLogInfo\n });\n return;\n case EventNames.DISPOSING_RENDERER:\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSING_RENDERER,\n level: 'info',\n message: 'Disposing view renderer.',\n data: streamLogInfo\n });\n return;\n case EventNames.RENDERER_NOT_FOUND:\n _logEvent(callingStatefulLogger, {\n name: EventNames.RENDERER_NOT_FOUND,\n level: 'error',\n message: 'Cannot find renderer when disposing stream.',\n data: streamLogInfo\n });\n return;\n case EventNames.STREAM_ALREADY_DISPOSED:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_ALREADY_DISPOSED,\n level: 'info',\n message: 'Stream is already disposed.',\n data: streamLogInfo\n });\n return;\n default:\n return;\n }\n}\n\n/**\n * helper function to manage logging for local stream creations\n *\n * @param eventName Name of the event to occured when creating a local stream\n * @param streamLogInfo Data about the stream in the event\n * @param error that is thrown by caller\n * @returns\n */\nfunction _logCreateStreamEvent(\n eventName: string,\n streamLogInfo: {\n callId?: string;\n participantKey?: any;\n streamId?: number;\n streamType?: MediaStreamType;\n streamEventType?: string;\n },\n error?: unknown\n): void {\n switch (eventName) {\n case EventNames.CREATE_STREAM_INVALID_PARAMS:\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATE_STREAM_INVALID_PARAMS,\n level: 'warning',\n message: 'Create View invalid combination of parameters.',\n data: { streamType: streamLogInfo.streamType }\n });\n return;\n case EventNames.START_STREAM_RENDERING:\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_STREAM_RENDERING,\n level: 'info',\n message: 'Start creating view for local video.',\n data: streamLogInfo\n });\n return;\n case EventNames.STREAM_NOT_FOUND:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_NOT_FOUND,\n level: 'error',\n message: 'Stream not found in state.',\n data: { callId: streamLogInfo.callId }\n });\n return;\n case EventNames.STREAM_ALREADY_RENDERED:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_ALREADY_RENDERED,\n level: 'warning',\n message: 'Stream is already rendered.',\n data: streamLogInfo\n });\n return;\n case EventNames.STREAM_RENDERING:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_RENDERING,\n level: 'warning',\n message: 'Stream is rendering.',\n data: streamLogInfo\n });\n return;\n case EventNames.STREAM_STOPPING:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_STOPPING,\n level: 'warning',\n message: 'Stream was marked as stopping by dispose view. Resetting state to \"Rendering\".',\n data: streamLogInfo\n });\n return;\n case EventNames.CREATE_STREAM_FAIL:\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATE_STREAM_FAIL,\n level: 'error',\n message: 'Failed to create view.',\n data: {\n error: error,\n streamType: streamLogInfo.streamType,\n callId: streamLogInfo.callId\n }\n });\n return;\n case EventNames.RENDER_INFO_NOT_FOUND:\n _logEvent(callingStatefulLogger, {\n name: EventNames.RENDER_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find render info after create the view. ',\n data: streamLogInfo\n });\n return;\n case EventNames.CREATED_STREAM_STOPPING:\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATED_STREAM_STOPPING,\n level: 'warning',\n message: 'Render info status is stopping, dispose renderer.',\n data: streamLogInfo\n });\n return;\n case EventNames.VIEW_RENDER_SUCCEED:\n _logEvent(callingStatefulLogger, {\n name: EventNames.VIEW_RENDER_SUCCEED,\n level: 'info',\n message: `Successfully render the view.`,\n data: streamLogInfo\n });\n return;\n case EventNames.CREATING_VIEW:\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATING_VIEW,\n level: 'info',\n message: 'Start creating view for remote video.',\n data: streamLogInfo\n });\n return;\n default:\n return;\n }\n}\n\n/**\n * helper function to fire streamUtils logging events\n *\n * @param eventName Name of event from streamUtils\n * @param streamLogInfo informaiton about the event and who called it\n * @param error if any errors present will be added to message in logging\n */\nexport function _logStreamEvent(\n eventName: EventNames,\n streamLogInfo: {\n callId?: string;\n participantKey?: any;\n streamId?: number;\n streamType?: MediaStreamType;\n streamEventType?: string;\n },\n error?: unknown\n): void {\n if (\n streamLogInfo.streamEventType === 'disposeViewLocal' ||\n streamLogInfo.streamEventType === 'disposeViewRemote' ||\n streamLogInfo.streamEventType === 'disposeViewUnparented'\n ) {\n _logDisposeStreamEvent(eventName, streamLogInfo);\n } else if (\n streamLogInfo.streamEventType === 'createViewLocal' ||\n streamLogInfo.streamEventType === 'createViewRemote'\n ) {\n _logCreateStreamEvent(eventName, streamLogInfo, error);\n }\n}\n\"../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"StreamUtilsLogging.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/StreamUtilsLogging.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MediaStreamType } from '@azure/communication-calling';\nimport { _logEvent } from '@internal/acs-ui-common';\nimport { callingStatefulLogger, EventNames } from './Logger';\n\n/**\n * helper function to manage logging for stream disposals\n *\n * @param eventName Name of event that occured when managing streams\n * @param streamLogInfo Data about the stream in the event\n * @returns\n */\nfunction _logDisposeStreamEvent(\n eventName: EventNames,\n streamLogInfo: {\n callId?: string;\n participantKey?: any;\n streamId?: number;\n streamType?: MediaStreamType;\n streamEventType?: string;\n }\n): void {\n switch (eventName) {\n case EventNames.DISPOSE_STREAM_INVALID_PARAMS:\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSE_STREAM_INVALID_PARAMS,\n level: 'warning',\n message: 'Dispose View invalid combination of parameters.',\n data: { streamType: streamLogInfo.streamType }\n });\n return;\n case EventNames.START_DISPOSE_STREAM:\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_DISPOSE_STREAM,\n level: 'info',\n message: 'Start disposing stream.',\n data: streamLogInfo\n });\n return;\n case EventNames.DISPOSE_INFO_NOT_FOUND:\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSE_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find render info when disposing stream.',\n data: streamLogInfo\n });\n return;\n case EventNames.STREAM_STOPPING:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_STOPPING,\n level: 'info',\n message: 'Stream is currently marked as stopping, will continue if is local preview',\n data: streamLogInfo\n });\n return;\n case EventNames.DISPOSING_RENDERER:\n _logEvent(callingStatefulLogger, {\n name: EventNames.DISPOSING_RENDERER,\n level: 'info',\n message: 'Disposing view renderer.',\n data: streamLogInfo\n });\n return;\n case EventNames.RENDERER_NOT_FOUND:\n _logEvent(callingStatefulLogger, {\n name: EventNames.RENDERER_NOT_FOUND,\n level: 'error',\n message: 'Cannot find renderer when disposing stream.',\n data: streamLogInfo\n });\n return;\n case EventNames.STREAM_ALREADY_DISPOSED:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_ALREADY_DISPOSED,\n level: 'info',\n message: 'Stream is already disposed.',\n data: streamLogInfo\n });\n return;\n default:\n return;\n }\n}\n\n/**\n * helper function to manage logging for local stream creations\n *\n * @param eventName Name of the event to occured when creating a local stream\n * @param streamLogInfo Data about the stream in the event\n * @param error that is thrown by caller\n * @returns\n */\nfunction _logCreateStreamEvent(\n eventName: string,\n streamLogInfo: {\n callId?: string;\n participantKey?: any;\n streamId?: number;\n streamType?: MediaStreamType;\n streamEventType?: string;\n },\n error?: unknown\n): void {\n switch (eventName) {\n case EventNames.CREATE_STREAM_INVALID_PARAMS:\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATE_STREAM_INVALID_PARAMS,\n level: 'warning',\n message: 'Create View invalid combination of parameters.',\n data: { streamType: streamLogInfo.streamType }\n });\n return;\n case EventNames.START_STREAM_RENDERING:\n _logEvent(callingStatefulLogger, {\n name: EventNames.START_STREAM_RENDERING,\n level: 'info',\n message: 'Start creating view for local video.',\n data: streamLogInfo\n });\n return;\n case EventNames.STREAM_NOT_FOUND:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_NOT_FOUND,\n level: 'error',\n message: 'Stream not found in state.',\n data: { callId: streamLogInfo.callId }\n });\n return;\n case EventNames.STREAM_ALREADY_RENDERED:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_ALREADY_RENDERED,\n level: 'warning',\n message: 'Stream is already rendered.',\n data: streamLogInfo\n });\n return;\n case EventNames.STREAM_RENDERING:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_RENDERING,\n level: 'warning',\n message: 'Stream is rendering.',\n data: streamLogInfo\n });\n return;\n case EventNames.STREAM_STOPPING:\n _logEvent(callingStatefulLogger, {\n name: EventNames.STREAM_STOPPING,\n level: 'warning',\n message: 'Stream was marked as stopping by dispose view. Resetting state to \"Rendering\".',\n data: streamLogInfo\n });\n return;\n case EventNames.CREATE_STREAM_FAIL:\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATE_STREAM_FAIL,\n level: 'error',\n message: 'Failed to create view.',\n data: {\n error: error,\n streamType: streamLogInfo.streamType,\n callId: streamLogInfo.callId\n }\n });\n return;\n case EventNames.RENDER_INFO_NOT_FOUND:\n _logEvent(callingStatefulLogger, {\n name: EventNames.RENDER_INFO_NOT_FOUND,\n level: 'error',\n message: 'Cannot find render info after create the view. ',\n data: streamLogInfo\n });\n return;\n case EventNames.CREATED_STREAM_STOPPING:\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATED_STREAM_STOPPING,\n level: 'warning',\n message: 'Render info status is stopping, dispose renderer.',\n data: streamLogInfo\n });\n return;\n case EventNames.VIEW_RENDER_SUCCEED:\n _logEvent(callingStatefulLogger, {\n name: EventNames.VIEW_RENDER_SUCCEED,\n level: 'info',\n message: `Successfully render the view.`,\n data: streamLogInfo\n });\n return;\n case EventNames.CREATING_VIEW:\n _logEvent(callingStatefulLogger, {\n name: EventNames.CREATING_VIEW,\n level: 'info',\n message: 'Start creating view for remote video.',\n data: streamLogInfo\n });\n return;\n default:\n return;\n }\n}\n\n/**\n * helper function to fire streamUtils logging events\n *\n * @param eventName Name of event from streamUtils\n * @param streamLogInfo informaiton about the event and who called it\n * @param error if any errors present will be added to message in logging\n */\nexport function _logStreamEvent(\n eventName: EventNames,\n streamLogInfo: {\n callId?: string;\n participantKey?: any;\n streamId?: number;\n streamType?: MediaStreamType;\n streamEventType?: string;\n },\n error?: unknown\n): void {\n if (\n streamLogInfo.streamEventType === 'disposeViewLocal' ||\n streamLogInfo.streamEventType === 'disposeViewRemote' ||\n streamLogInfo.streamEventType === 'disposeViewUnparented'\n ) {\n _logDisposeStreamEvent(eventName, streamLogInfo);\n } else if (\n streamLogInfo.streamEventType === 'createViewLocal' ||\n streamLogInfo.streamEventType === 'createViewRemote'\n ) {\n _logCreateStreamEvent(eventName, streamLogInfo, error);\n }\n}\n\"../../acs-ui-common/src\""]}
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
1
3
  import { clearCallRelatedState, ProxyCallAgentCommon } from './CallAgentDeclarativeCommon';
2
4
  /* @conditional-compile-remove(teams-identity-support) */
3
5
  import { _isTeamsCall, _isTeamsCallAgent } from './TypeGuards';
@@ -1 +1 @@
1
- {"version":3,"file":"TeamsCallAgentDeclarative.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/TeamsCallAgentDeclarative.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nimport { CallAgentCommon, CallCommon, TeamsCallAgent } from './BetaToStableTypes';\n/* @conditional-compile-remove(one-to-n-calling) */\nimport { IncomingCallManagement } from './CallAgentDeclarative';\nimport { clearCallRelatedState, DeclarativeCallCommon, ProxyCallAgentCommon } from './CallAgentDeclarativeCommon';\nimport { CallContext } from './CallContext';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { _isTeamsCall, _isTeamsCallAgent } from './TypeGuards';\nimport { InternalCallContext } from './InternalCallContext';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { teamsCallDeclaratify } from './TeamsCallDeclarative';\n\n/**\n * @beta\n * `DeclarativeTeamsCallAgent` extends and proxies the {@link @azure/communication-calling#TeamsCallAgent}\n */\nexport type DeclarativeTeamsCallAgent = TeamsCallAgent &\n /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallManagement;\n\n/**\n * ProxyTeamsCallAgent proxies TeamsCallAgent and saves any returned state in the given context. It will subscribe to all state\n * updates in the TeamsCallAgent and in the contained TeamsCalls and RemoteParticipants. When dispose is called it will\n * unsubscribe from all state updates.\n */\nclass ProxyTeamsCallAgent extends ProxyCallAgentCommon implements ProxyHandler<DeclarativeTeamsCallAgent> {\n /* @conditional-compile-remove(teams-identity-support) */\n private _callAgent: TeamsCallAgent;\n\n constructor(callAgent: TeamsCallAgent, context: CallContext, internalContext: InternalCallContext) {\n super(context, internalContext);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent = callAgent;\n this.subscribe();\n }\n\n private subscribe = (): void => {\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.on('callsUpdated', this.callsUpdated);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.on('incomingCall', this.incomingCall);\n\n /* @conditional-compile-remove(teams-identity-support) */\n // There could be scenario that when ProxyTeamsCallAgent is created that the given CallAgent already has TeamsCalls. In this\n // case we need to make sure to subscribe to those already existing Calls.\n for (const call of this._callAgent.calls) {\n this.addCall(call);\n }\n };\n\n protected unsubscribe = (): void => {\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.off('callsUpdated', this.callsUpdated);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.off('incomingCall', this.incomingCall);\n\n this.unregisterSubscriber();\n };\n\n protected callDeclaratify(call: CallCommon, context: CallContext): DeclarativeCallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCall(call)) {\n return teamsCallDeclaratify(call, context);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.callDeclaratify must be called with an TeamsCall.');\n }\n\n protected startCall(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['startCall']>): CallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n return agent.startCall(...args);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.startCall must be called with an TeamsCallAgent.');\n }\n\n protected joinCall(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['join']>): CallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n return agent.join(...args);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.joinCall must be called with an TeamsCallAgent.');\n }\n\n protected agentSubscribe(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['on']>): void {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n agent.on(...args);\n }\n throw new Error(\n 'Not reachable code, DeclarativeTeamsCallAgent.agentSubscribe must be called with an TeamsCallAgent.'\n );\n }\n\n protected agentUnsubscribe(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['off']>): void {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n agent.off(...args);\n }\n throw new Error(\n 'Not reachable code, DeclarativeTeamsCallAgent.agentUnsubscribe must be called with an TeamsCallAgent.'\n );\n }\n\n public get<P extends keyof TeamsCallAgent>(target: TeamsCallAgent, prop: P): any {\n /* @conditional-compile-remove(teams-identity-support) */\n return super.getCommon(target, prop);\n }\n}\n\n/**\n * Creates a declarative CallAgent by proxying TeamsCallAgent with ProxyTeamsCallAgent which will track state updates by updating\n * the given context.\n *\n * @param callAgent - TeamsCallAgent from SDK\n * @param context - CallContext from StatefulCallClient\n * @param internalContext- InternalCallContext from StatefulCallClient\n */\nexport const teamsCallAgentDeclaratify = (\n callAgent: TeamsCallAgent,\n context: CallContext,\n internalContext: InternalCallContext\n): DeclarativeTeamsCallAgent => {\n clearCallRelatedState(context, internalContext);\n return new Proxy(\n callAgent,\n new ProxyTeamsCallAgent(callAgent, context, internalContext)\n ) as DeclarativeTeamsCallAgent;\n};\n"]}
1
+ {"version":3,"file":"TeamsCallAgentDeclarative.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/TeamsCallAgentDeclarative.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallAgentCommon, CallCommon, TeamsCallAgent } from './BetaToStableTypes';\n/* @conditional-compile-remove(one-to-n-calling) */\nimport { IncomingCallManagement } from './CallAgentDeclarative';\nimport { clearCallRelatedState, DeclarativeCallCommon, ProxyCallAgentCommon } from './CallAgentDeclarativeCommon';\nimport { CallContext } from './CallContext';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { _isTeamsCall, _isTeamsCallAgent } from './TypeGuards';\nimport { InternalCallContext } from './InternalCallContext';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { teamsCallDeclaratify } from './TeamsCallDeclarative';\n\n/**\n * @beta\n * `DeclarativeTeamsCallAgent` extends and proxies the {@link @azure/communication-calling#TeamsCallAgent}\n */\nexport type DeclarativeTeamsCallAgent = TeamsCallAgent &\n /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallManagement;\n\n/**\n * ProxyTeamsCallAgent proxies TeamsCallAgent and saves any returned state in the given context. It will subscribe to all state\n * updates in the TeamsCallAgent and in the contained TeamsCalls and RemoteParticipants. When dispose is called it will\n * unsubscribe from all state updates.\n */\nclass ProxyTeamsCallAgent extends ProxyCallAgentCommon implements ProxyHandler<DeclarativeTeamsCallAgent> {\n /* @conditional-compile-remove(teams-identity-support) */\n private _callAgent: TeamsCallAgent;\n\n constructor(callAgent: TeamsCallAgent, context: CallContext, internalContext: InternalCallContext) {\n super(context, internalContext);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent = callAgent;\n this.subscribe();\n }\n\n private subscribe = (): void => {\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.on('callsUpdated', this.callsUpdated);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.on('incomingCall', this.incomingCall);\n\n /* @conditional-compile-remove(teams-identity-support) */\n // There could be scenario that when ProxyTeamsCallAgent is created that the given CallAgent already has TeamsCalls. In this\n // case we need to make sure to subscribe to those already existing Calls.\n for (const call of this._callAgent.calls) {\n this.addCall(call);\n }\n };\n\n protected unsubscribe = (): void => {\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.off('callsUpdated', this.callsUpdated);\n /* @conditional-compile-remove(teams-identity-support) */\n this._callAgent.off('incomingCall', this.incomingCall);\n\n this.unregisterSubscriber();\n };\n\n protected callDeclaratify(call: CallCommon, context: CallContext): DeclarativeCallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCall(call)) {\n return teamsCallDeclaratify(call, context);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.callDeclaratify must be called with an TeamsCall.');\n }\n\n protected startCall(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['startCall']>): CallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n return agent.startCall(...args);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.startCall must be called with an TeamsCallAgent.');\n }\n\n protected joinCall(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['join']>): CallCommon {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n return agent.join(...args);\n }\n throw new Error('Not reachable code, DeclarativeTeamsCallAgent.joinCall must be called with an TeamsCallAgent.');\n }\n\n protected agentSubscribe(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['on']>): void {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n agent.on(...args);\n }\n throw new Error(\n 'Not reachable code, DeclarativeTeamsCallAgent.agentSubscribe must be called with an TeamsCallAgent.'\n );\n }\n\n protected agentUnsubscribe(agent: CallAgentCommon, args: Parameters<TeamsCallAgent['off']>): void {\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(agent)) {\n agent.off(...args);\n }\n throw new Error(\n 'Not reachable code, DeclarativeTeamsCallAgent.agentUnsubscribe must be called with an TeamsCallAgent.'\n );\n }\n\n public get<P extends keyof TeamsCallAgent>(target: TeamsCallAgent, prop: P): any {\n /* @conditional-compile-remove(teams-identity-support) */\n return super.getCommon(target, prop);\n }\n}\n\n/**\n * Creates a declarative CallAgent by proxying TeamsCallAgent with ProxyTeamsCallAgent which will track state updates by updating\n * the given context.\n *\n * @param callAgent - TeamsCallAgent from SDK\n * @param context - CallContext from StatefulCallClient\n * @param internalContext- InternalCallContext from StatefulCallClient\n */\nexport const teamsCallAgentDeclaratify = (\n callAgent: TeamsCallAgent,\n context: CallContext,\n internalContext: InternalCallContext\n): DeclarativeTeamsCallAgent => {\n clearCallRelatedState(context, internalContext);\n return new Proxy(\n callAgent,\n new ProxyTeamsCallAgent(callAgent, context, internalContext)\n ) as DeclarativeTeamsCallAgent;\n};\n"]}