@azure/communication-react 1.9.0-alpha-202310181643 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1010) hide show
  1. package/dist/communication-react.d.ts +49 -2286
  2. package/dist/dist-cjs/communication-react/index.js +5087 -11948
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/identifier.js +1 -4
  11. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -2
  21. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -8
  22. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +0 -12
  24. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +10 -54
  25. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +5 -12
  27. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +55 -24
  29. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -11
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +43 -53
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +1 -11
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +3 -19
  37. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +1 -4
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +0 -19
  42. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -6
  45. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -8
  46. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  48. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +14 -46
  49. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -4
  52. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +3 -6
  54. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +2 -14
  56. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -20
  57. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  60. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -7
  61. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +6 -21
  62. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +0 -4
  64. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +1 -14
  65. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -2
  67. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +13 -37
  68. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  69. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +7 -41
  70. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -6
  72. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
  74. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -2
  76. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +71 -66
  77. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +3 -60
  79. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -8
  81. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +13 -79
  82. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +8 -7
  84. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +79 -109
  86. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  88. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -1
  90. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +3 -9
  91. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/Converter.js +10 -17
  95. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +57 -51
  97. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -14
  99. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  100. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +15 -3
  102. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +3 -1
  106. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +0 -1
  108. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +0 -8
  109. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +0 -1
  113. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -8
  114. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -25
  116. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +40 -69
  117. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  118. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +31 -33
  119. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  120. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +11 -8
  121. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  122. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  124. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -8
  125. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  126. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  127. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  128. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +7 -6
  129. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  130. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -3
  131. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  132. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  134. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  136. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  137. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +14 -13
  138. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  139. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -4
  140. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +10 -3
  141. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  142. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  143. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  144. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  145. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  146. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +15 -146
  147. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  148. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  149. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  150. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  151. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  152. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +7 -3
  153. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  154. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -3
  155. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  156. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  157. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -10
  158. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  159. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  161. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +9 -5
  162. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  163. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +11 -10
  165. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  166. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  167. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +67 -57
  168. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  169. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +128 -114
  170. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  171. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -6
  172. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  173. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  174. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  175. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  176. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  177. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  178. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  179. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +0 -1
  180. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  181. package/dist/dist-esm/communication-react/src/index.d.ts +0 -27
  182. package/dist/dist-esm/communication-react/src/index.js +0 -16
  183. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  184. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +6 -3
  186. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +10 -4
  190. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  192. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  194. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/CameraButton.js +19 -8
  197. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  199. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +8 -9
  201. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +22 -44
  203. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +4 -1
  205. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +22 -37
  207. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +1 -22
  209. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +5 -20
  210. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  211. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +0 -2
  212. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +42 -43
  213. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +1 -22
  215. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +28 -99
  216. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -15
  218. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +21 -121
  219. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  221. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +4 -7
  223. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  225. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/ControlBar.js +14 -10
  230. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +4 -14
  232. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +14 -3
  234. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +8 -5
  236. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/DevicesButton.js +27 -19
  238. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +44 -42
  240. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  242. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +6 -2
  244. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  246. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.d.ts +0 -4
  248. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +27 -16
  249. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -6
  251. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/EndCallButton.js +7 -3
  254. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/components/ErrorBar.js +5 -9
  256. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/FileCard.js +3 -2
  258. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  260. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +1 -29
  262. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +13 -36
  263. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +7 -8
  265. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  267. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  269. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +9 -7
  271. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +5 -3
  273. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +22 -30
  274. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +5 -3
  276. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +10 -29
  278. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +36 -23
  280. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +2 -51
  282. package/dist/dist-esm/react-components/src/components/MessageThread.js +91 -212
  283. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +14 -17
  285. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +101 -94
  287. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  288. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -13
  289. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +17 -17
  290. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  292. package/dist/dist-esm/react-components/src/components/ParticipantList.js +26 -57
  293. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +32 -46
  295. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  297. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  299. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +12 -6
  301. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +14 -32
  303. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  305. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  307. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  308. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +14 -6
  309. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +0 -41
  311. package/dist/dist-esm/react-components/src/components/SendBox.js +13 -39
  312. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  313. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  314. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  315. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +4 -2
  317. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  319. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/SystemMessage.js +4 -2
  321. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  323. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +6 -9
  325. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -3
  327. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -3
  329. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -20
  331. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -3
  333. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +34 -19
  335. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +1 -3
  337. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +14 -14
  339. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.d.ts +0 -4
  341. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +17 -23
  342. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.d.ts +2 -2
  344. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +5 -11
  345. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +16 -37
  347. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +10 -14
  349. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.d.ts +0 -5
  351. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +27 -69
  352. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js +2 -2
  354. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  357. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +6 -18
  359. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +6 -8
  361. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +6 -3
  363. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.d.ts +0 -5
  365. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +22 -64
  366. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +6 -1
  368. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +32 -7
  370. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +11 -2
  372. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  374. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  376. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +3 -1
  378. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +11 -10
  380. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +28 -22
  382. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  383. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +5 -10
  384. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +32 -19
  386. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +22 -62
  389. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  390. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +1 -14
  391. package/dist/dist-esm/react-components/src/components/VideoGallery.js +36 -131
  392. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +0 -7
  394. package/dist/dist-esm/react-components/src/components/VideoTile.js +54 -39
  395. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +2 -2
  397. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -19
  399. package/dist/dist-esm/react-components/src/components/index.js +0 -12
  400. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  402. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  403. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +0 -12
  404. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +7 -26
  405. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +2 -2
  410. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  413. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.d.ts +4 -0
  415. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +13 -1
  416. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +1 -1
  419. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +8 -2
  420. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +1 -0
  422. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  424. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +10 -2
  425. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +3 -0
  427. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +1 -0
  430. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  431. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +1 -0
  433. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +17 -3
  435. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  436. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  438. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +4 -1
  439. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -4
  441. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  442. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  443. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  444. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  445. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -4
  446. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  447. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  449. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  450. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  451. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +1 -10
  452. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  453. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +3 -1
  454. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  455. package/dist/dist-esm/react-components/src/components/utils.js +10 -13
  456. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +6 -8
  458. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  460. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  461. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -5
  462. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  463. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  464. package/dist/dist-esm/react-components/src/index.d.ts +0 -1
  465. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  466. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -63
  467. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  469. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js +3 -1
  470. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js.map +1 -1
  471. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js +3 -1
  472. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js.map +1 -1
  473. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js +3 -1
  474. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js +3 -1
  476. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js +3 -1
  478. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js.map +1 -1
  479. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js +3 -1
  480. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js +3 -1
  482. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js.map +1 -1
  483. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js +3 -1
  484. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js.map +1 -1
  485. package/dist/dist-esm/react-components/src/localization/locales/index.js +3 -1
  486. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  487. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js +3 -1
  488. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js.map +1 -1
  489. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js +3 -1
  490. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js.map +1 -1
  491. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js +3 -1
  492. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js.map +1 -1
  493. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js +3 -1
  494. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js.map +1 -1
  495. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js +3 -1
  496. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js.map +1 -1
  497. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js +3 -1
  498. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js.map +1 -1
  499. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js +3 -1
  500. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js.map +1 -1
  501. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js +3 -1
  502. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js.map +1 -1
  503. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js +3 -1
  504. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js.map +1 -1
  505. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js +3 -1
  506. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js.map +1 -1
  507. package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
  508. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js +3 -1
  509. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js.map +1 -1
  510. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js +3 -1
  511. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js.map +1 -1
  512. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +5 -3
  513. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  514. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +1 -1
  515. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  516. package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -15
  517. package/dist/dist-esm/react-components/src/theming/icons.js +10 -112
  518. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  519. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  520. package/dist/dist-esm/react-components/src/theming/themeDuplicates.js.map +1 -1
  521. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/theming/themes.d.ts +2 -21
  523. package/dist/dist-esm/react-components/src/theming/themes.js +0 -16
  524. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  525. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +7 -1
  526. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  527. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  528. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -27
  529. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  530. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  531. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  532. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  533. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +0 -8
  534. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  535. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  536. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  537. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +0 -6
  538. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  539. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  540. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  541. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -78
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +39 -125
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +0 -144
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +6 -76
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +61 -395
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -130
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -9
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +3 -1
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -3
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +4 -16
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -6
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -2
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +0 -2
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +27 -118
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -1
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +51 -95
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +18 -10
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -21
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -20
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -21
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +4 -5
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +2 -2
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +23 -34
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +24 -62
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +34 -25
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +2 -0
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +37 -63
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +11 -29
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +7 -3
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +8 -13
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +4 -12
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +2 -6
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +4 -7
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +5 -47
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +2 -5
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +8 -17
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +2 -5
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +1 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -10
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +9 -13
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +8 -31
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -7
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -2
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +9 -21
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +17 -141
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +7 -17
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +9 -14
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.d.ts +5 -10
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +1 -2
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -9
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -10
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +8 -13
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +8 -13
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +4 -1
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +8 -13
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +8 -13
  661. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -1
  662. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +9 -14
  663. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  664. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  665. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +6 -11
  666. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +5 -11
  667. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +10 -15
  669. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  671. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +16 -21
  672. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +1 -7
  673. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +9 -14
  675. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  676. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +4 -9
  678. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  679. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +20 -30
  681. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  682. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +9 -14
  684. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  686. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +12 -17
  687. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  688. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +6 -2
  691. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  692. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +7 -2
  693. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  695. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +4 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +1 -0
  702. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -0
  706. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +2 -2
  708. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  709. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  711. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +11 -9
  712. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  713. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +10 -10
  714. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -2
  716. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +3 -15
  718. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +15 -115
  719. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +1 -68
  722. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +24 -99
  723. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  724. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  725. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +7 -9
  727. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  728. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +6 -3
  729. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  731. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -32
  732. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +5 -30
  734. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +6 -148
  735. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +0 -64
  737. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -10
  739. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -40
  740. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +0 -13
  742. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -37
  743. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +0 -1
  748. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  750. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -24
  752. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +1 -11
  753. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  755. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -20
  756. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -6
  757. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  758. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +5 -3
  759. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +11 -145
  761. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -4
  763. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  764. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -28
  765. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +29 -152
  766. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  767. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +0 -28
  768. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +1 -154
  769. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  770. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -17
  771. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +0 -2
  773. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +6 -18
  776. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  777. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  778. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +5 -3
  780. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  781. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -3
  782. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -4
  785. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +6 -2
  787. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
  789. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +6 -17
  790. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  791. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +0 -5
  792. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +4 -10
  793. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  794. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +14 -5
  795. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.d.ts +0 -2
  797. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +10 -14
  798. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  799. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +16 -12
  800. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  801. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  803. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +5 -1
  804. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  805. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +0 -2
  806. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +31 -56
  807. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +25 -32
  809. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  810. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +0 -2
  811. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +51 -155
  812. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  813. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  815. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  816. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.js +7 -5
  817. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +96 -119
  819. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +0 -1
  822. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  825. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +8 -23
  827. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  829. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.d.ts +2 -1
  831. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +14 -13
  832. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  833. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +5 -31
  834. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +15 -7
  836. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  837. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +8 -10
  838. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  839. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +11 -16
  840. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  841. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  842. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  843. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -28
  844. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -17
  845. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  846. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  847. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  848. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  849. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  850. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +16 -5
  851. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  852. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +51 -12
  853. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  854. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +29 -6
  855. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  856. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +22 -4
  857. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  858. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +4 -21
  859. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/common/utils.js +12 -17
  861. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/index.d.ts +0 -2
  863. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  865. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  866. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  867. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  868. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  870. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  872. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  873. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  874. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  875. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  876. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  877. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  878. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  879. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  880. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  881. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  883. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  884. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  885. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  886. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js.map +1 -1
  887. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  888. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  889. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  890. package/package.json +13 -13
  891. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -45
  892. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +0 -87
  893. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +0 -1
  894. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +0 -19
  895. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +0 -91
  896. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +0 -1
  897. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +0 -23
  898. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -48
  899. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +0 -1
  900. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  901. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  902. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  903. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  904. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -37
  905. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  906. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  907. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -58
  908. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  909. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  910. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -86
  911. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  912. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  913. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -31
  914. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  915. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +0 -49
  916. package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
  917. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
  918. package/dist/dist-esm/react-components/src/components/ImageGallery.d.ts +0 -71
  919. package/dist/dist-esm/react-components/src/components/ImageGallery.js +0 -53
  920. package/dist/dist-esm/react-components/src/components/ImageGallery.js.map +0 -1
  921. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  922. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -125
  923. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  924. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -41
  925. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -611
  926. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  927. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  928. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -822
  929. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  930. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.d.ts +0 -17
  931. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +0 -126
  932. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +0 -1
  933. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  934. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  935. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  936. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.d.ts +0 -68
  937. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +0 -202
  938. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js.map +0 -1
  939. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  940. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -68
  941. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  942. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  943. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  944. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  945. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  946. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  947. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  948. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  949. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  950. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  951. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  952. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  953. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  954. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -48
  955. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -210
  956. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  957. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +0 -12
  958. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -93
  959. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +0 -1
  960. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +0 -8
  961. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +0 -26
  962. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +0 -1
  963. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +0 -24
  964. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +0 -34
  965. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +0 -1
  966. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.d.ts +0 -11
  967. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +0 -113
  968. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +0 -1
  969. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  970. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -54
  971. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  972. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +0 -32
  973. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +0 -81
  974. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +0 -1
  975. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.d.ts +0 -37
  976. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +0 -55
  977. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +0 -1
  978. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  979. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  980. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  981. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +0 -15
  982. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +0 -21
  983. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +0 -1
  984. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +0 -6
  985. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +0 -11
  986. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +0 -1
  987. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -12
  988. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -15
  989. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
  990. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +0 -34
  991. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +0 -12
  992. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +0 -1
  993. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +0 -22
  994. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -105
  995. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +0 -1
  996. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +0 -17
  997. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +0 -32
  998. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +0 -1
  999. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +0 -22
  1000. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -60
  1001. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +0 -1
  1002. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +0 -15
  1003. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +0 -61
  1004. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +0 -1
  1005. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +0 -17
  1006. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +0 -42
  1007. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +0 -1
  1008. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +0 -11
  1009. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +0 -40
  1010. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +0 -1
@@ -11,8 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  };
12
12
  import { deviceManagerDeclaratify } from './DeviceManagerDeclarative';
13
13
  import { CallClient } from '@azure/communication-calling';
14
- /* @conditional-compile-remove(unsupported-browser) */
15
- import { Features } from '@azure/communication-calling';
16
14
  import { CallContext } from './CallContext';
17
15
  import { callAgentDeclaratify } from './CallAgentDeclarative';
18
16
  import { InternalCallContext } from './InternalCallContext';
@@ -20,8 +18,6 @@ import { createView, disposeView } from './StreamUtils';
20
18
  import { getIdentifierKind } from '@azure/communication-common';
21
19
  import { toFlatCommunicationIdentifier, _getApplicationId } from "../../acs-ui-common/src";
22
20
  import { callingStatefulLogger } from './Logger';
23
- /* @conditional-compile-remove(teams-identity-support) */
24
- import { teamsCallAgentDeclaratify } from './TeamsCallAgentDeclarative';
25
21
  import { videoStreamRendererViewDeclaratify } from './VideoStreamRendererViewDeclarative';
26
22
  /**
27
23
  * ProxyCallClient proxies CallClient {@link @azure/communication-calling#CallClient} and subscribes to all events that
@@ -35,72 +31,48 @@ class ProxyCallClient {
35
31
  }
36
32
  get(target, prop) {
37
33
  switch (prop) {
38
- case 'createCallAgent': {
39
- return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
40
- // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
41
- // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
42
- // callAgent if the createCallAgent succeeds.
43
- const callAgent = yield target.createCallAgent(...args);
44
- this._callAgent = callAgentDeclaratify(callAgent, this._context, this._internalContext);
45
- this._context.setCallAgent({
46
- displayName: this._callAgent.displayName
47
- });
48
- return this._callAgent;
49
- }), 'CallClient.createCallAgent');
50
- }
51
- case 'createTeamsCallAgent': {
52
- /* @conditional-compile-remove(teams-identity-support) */ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
53
- // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
54
- // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
55
- // callAgent if the createCallAgent succeeds.
56
- const callAgent = yield target.createTeamsCallAgent(...args);
57
- this._callAgent = teamsCallAgentDeclaratify(callAgent, this._context, this._internalContext);
58
- this._context.setCallAgent({
59
- displayName: undefined
60
- });
61
- return this._callAgent;
62
- }), 'CallClient.createTeamsCallAgent');
63
- return Reflect.get(target, prop);
64
- }
65
- case 'getDeviceManager': {
66
- return this._context.withAsyncErrorTeedToState(() => __awaiter(this, void 0, void 0, function* () {
67
- // As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of
68
- // DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll
69
- // throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.
70
- const deviceManager = yield target.getDeviceManager();
71
- if (this._sdkDeviceManager) {
72
- if (this._sdkDeviceManager === deviceManager) {
73
- return this._deviceManager;
34
+ case 'createCallAgent':
35
+ {
36
+ return this._context.withAsyncErrorTeedToState((...args) => __awaiter(this, void 0, void 0, function* () {
37
+ // createCallAgent will throw an exception if the previous callAgent was not disposed. If the previous
38
+ // callAgent was disposed then it would have unsubscribed to events so we can just create a new declarative
39
+ // callAgent if the createCallAgent succeeds.
40
+ const callAgent = yield target.createCallAgent(...args);
41
+ this._callAgent = callAgentDeclaratify(callAgent, this._context, this._internalContext);
42
+ this._context.setCallAgent({
43
+ displayName: this._callAgent.displayName
44
+ });
45
+ return this._callAgent;
46
+ }), 'CallClient.createCallAgent');
47
+ }
48
+ case 'createTeamsCallAgent':
49
+ {
50
+ return Reflect.get(target, prop);
51
+ }
52
+ case 'getDeviceManager':
53
+ {
54
+ return this._context.withAsyncErrorTeedToState(() => __awaiter(this, void 0, void 0, function* () {
55
+ // As of writing, the SDK always returns the same instance of DeviceManager so we keep a reference of
56
+ // DeviceManager and if it does not change we return the cached DeclarativeDeviceManager. If it does not we'll
57
+ // throw an error that indicate we need to fix this issue as our implementation has diverged from the SDK.
58
+ const deviceManager = yield target.getDeviceManager();
59
+ if (this._sdkDeviceManager) {
60
+ if (this._sdkDeviceManager === deviceManager) {
61
+ return this._deviceManager;
62
+ }
63
+ else {
64
+ throw new Error('Multiple DeviceManager not supported. This means a incompatible version of communication-calling is ' + 'used OR calling declarative was not properly updated to communication-calling version.');
65
+ }
74
66
  }
75
67
  else {
76
- throw new Error('Multiple DeviceManager not supported. This means a incompatible version of communication-calling is ' +
77
- 'used OR calling declarative was not properly updated to communication-calling version.');
68
+ this._sdkDeviceManager = deviceManager;
78
69
  }
79
- }
80
- else {
81
- this._sdkDeviceManager = deviceManager;
82
- }
83
- this._deviceManager = deviceManagerDeclaratify(deviceManager, this._context, this._internalContext);
84
- return this._deviceManager;
85
- }), 'CallClient.getDeviceManager');
86
- }
87
- case 'feature': {
88
- /* @conditional-compile-remove(unsupported-browser) */
89
- return this._context.withErrorTeedToState((...args) => {
90
- if (args[0] === Features.DebugInfo) {
91
- const feature = target.feature(Features.DebugInfo);
92
- /**
93
- * add to this object if we want to proxy anything else off the DebugInfo feature object.
94
- */
95
- return Object.assign(Object.assign({}, feature), { getEnvironmentInfo: () => __awaiter(this, void 0, void 0, function* () {
96
- const environmentInfo = yield feature.getEnvironmentInfo();
97
- this._context.setEnvironmentInfo(environmentInfo);
98
- return environmentInfo;
99
- }) });
100
- }
101
- return Reflect.get(target, prop);
102
- }, 'CallClient.feature');
103
- }
70
+ this._deviceManager = deviceManagerDeclaratify(deviceManager, this._context, this._internalContext);
71
+ return this._deviceManager;
72
+ }), 'CallClient.getDeviceManager');
73
+ }
74
+ case 'feature':
75
+ { }
104
76
  default:
105
77
  return Reflect.get(target, prop);
106
78
  }
@@ -122,8 +94,7 @@ class ProxyCallClient {
122
94
  */
123
95
  export const createStatefulCallClient = (args, options) => {
124
96
  callingStatefulLogger.info(`Creating calling stateful client using library version: ${_getApplicationId()}`);
125
- return createStatefulCallClientWithDeps(new CallClient(withTelemetryTag(options === null || options === void 0 ? void 0 : options.callClientOptions)), new CallContext(getIdentifierKind(args.userId), options === null || options === void 0 ? void 0 : options.maxStateChangeListeners,
126
- /* @conditional-compile-remove(PSTN-calls) */ args.alternateCallerId), new InternalCallContext());
97
+ return createStatefulCallClientWithDeps(new CallClient(withTelemetryTag(options === null || options === void 0 ? void 0 : options.callClientOptions)), new CallContext(getIdentifierKind(args.userId), options === null || options === void 0 ? void 0 : options.maxStateChangeListeners), new InternalCallContext());
127
98
  };
128
99
  /**
129
100
  * Package-internal version of createStatefulCallClient that allows dependency injection.
@@ -1 +1 @@
1
- {"version":3,"file":"StatefulCallClient.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/StatefulCallClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAuD,MAAM,8BAA8B,CAAC;AAC/G,sDAAsD;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAwB,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAwD,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACtH,OAAO,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,gCAAgC;AAC3F,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,yDAAyD;AACzD,OAAO,EAA6B,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAGnG,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAmJ1F;;;;GAIG;AACH,MAAM,eAAe;IAUnB,YAAY,OAAoB,EAAE,eAAoC;QACpE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;IAEM,GAAG,CAA6B,MAAkB,EAAE,IAAO;QAChE,QAAQ,IAAI,EAAE;YACZ,KAAK,iBAAiB,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAC5C,CAAO,GAAG,IAA+C,EAAiC,EAAE;oBAC1F,sGAAsG;oBACtG,2GAA2G;oBAC3G,6CAA6C;oBAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC;oBACxD,IAAI,CAAC,UAAU,GAAG,oBAAoB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACxF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;wBACzB,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW;qBACzC,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC,UAAU,CAAC;gBACzB,CAAC,CAAA,EACD,4BAA4B,CAC7B,CAAC;aACH;YACD,KAAK,sBAAsB,CAAC,CAAC;gBAC3B,yDAAyD,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CACtG,CAAO,GAAG,IAAoD,EAAsC,EAAE;oBACpG,sGAAsG;oBACtG,2GAA2G;oBAC3G,6CAA6C;oBAC7C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;oBAC7D,IAAI,CAAC,UAAU,GAAG,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC7F,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;wBACzB,WAAW,EAAE,SAAS;qBACvB,CAAC,CAAC;oBACH,OAAO,IAAI,CAAC,UAAU,CAAC;gBACzB,CAAC,CAAA,EACD,iCAAiC,CAClC,CAAC;gBACF,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aAClC;YACD,KAAK,kBAAkB,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GAAS,EAAE;oBACxD,qGAAqG;oBACrG,8GAA8G;oBAC9G,0GAA0G;oBAC1G,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;oBACtD,IAAI,IAAI,CAAC,iBAAiB,EAAE;wBAC1B,IAAI,IAAI,CAAC,iBAAiB,KAAK,aAAa,EAAE;4BAC5C,OAAO,IAAI,CAAC,cAAc,CAAC;yBAC5B;6BAAM;4BACL,MAAM,IAAI,KAAK,CACb,sGAAsG;gCACpG,wFAAwF,CAC3F,CAAC;yBACH;qBACF;yBAAM;wBACL,IAAI,CAAC,iBAAiB,GAAG,aAAa,CAAC;qBACxC;oBACD,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBACpG,OAAO,IAAI,CAAC,cAAc,CAAC;gBAC7B,CAAC,CAAA,EAAE,6BAA6B,CAAC,CAAC;aACnC;YACD,KAAK,SAAS,CAAC,CAAC;gBACd,sDAAsD;gBACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,IAAuC,EAAE,EAAE;oBACvF,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,SAAS,EAAE;wBAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;wBACnD;;2BAEG;wBACH,uCACK,OAAO,KACV,kBAAkB,EAAE,GAAS,EAAE;gCAC7B,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,kBAAkB,EAAE,CAAC;gCAC3D,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;gCAClD,OAAO,eAAe,CAAC;4BACzB,CAAC,CAAA,IACD;qBACH;oBACD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACnC,CAAC,EAAE,oBAAoB,CAAC,CAAC;aAC1B;YACD;gBACE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACpC;IACH,CAAC;CACF;AA4CD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,IAA4B,EAC5B,OAAmC,EACf,EAAE;IACtB,qBAAqB,CAAC,IAAI,CAAC,2DAA2D,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC7G,OAAO,gCAAgC,CACrC,IAAI,UAAU,CAAC,gBAAgB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAC,CAAC,EAC5D,IAAI,WAAW,CACb,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAC9B,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,uBAAuB;IAChC,6CAA6C,CAAC,IAAI,CAAC,iBAAiB,CACrE,EACD,IAAI,mBAAmB,EAAE,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,UAAsB,EACtB,OAAoB,EACpB,eAAoC,EAChB,EAAE;IACtB,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE;QAC5C,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,eAAe,EAAE;QACjD,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,CAAC,OAAyC,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC;KACrF,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,gBAAgB,EAAE;QAClD,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,CAAC,OAAyC,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;KACtF,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE;QAC9C,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,CACL,MAA0B,EAC1B,aAAkD,EAClD,MAAsD,EACtD,OAA2B,EACY,EAAE;YACzC,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACtG,oLAAoL;YACpL,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,IAAI,aAAa,IAAI,MAAM,EAAE;gBACvD,MAAM,cAAc,GAAG,6BAA6B,CAAC,aAAa,CAAC,CAAC;gBACpE,MAAM,CAAC,IAAI,GAAG,kCAAkC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;aAC3G;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAA;KACF,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,aAAa,EAAE;QAC/C,YAAY,EAAE,KAAK;QACnB,KAAK,EAAE,CACL,MAA0B,EAC1B,aAAkD,EAClD,MAAsD,EAChD,EAAE;YACR,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvF,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;QAC3E,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,eAAe,CAAC,OAAO,EAAE,eAAe,CAAC,CAAuB,CAAC;AACpG,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAA2B,EAAqB,EAAE;;IAC1E,MAAM,IAAI,GAAG,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,0CAAE,IAAI,mCAAI,EAAE,CAAC;IAC9C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC/B,uCACK,OAAO,KACV,WAAW,kCACN,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KACvB,IAAI,OAEN;AACJ,CAAC,CAAC","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":["../../../../preprocess-dist/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';\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';\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(callId: string | undefined, participantId: CommunicationIdentifier | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState, options?: CreateViewOptions): 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(callId: string | undefined, participantId: CommunicationIdentifier | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState): void;\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: DeclarativeCallAgent | undefined;\n private _deviceManager: DeviceManager | undefined;\n private _sdkDeviceManager: DeviceManager | undefined;\n constructor(context: CallContext, internalContext: InternalCallContext) {\n this._context = context;\n this._internalContext = internalContext;\n }\n public get<P extends keyof CallClient>(target: CallClient, prop: P): any {\n switch (prop) {\n case 'createCallAgent':\n {\n return this._context.withAsyncErrorTeedToState(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 }, 'CallClient.createCallAgent');\n }\n case 'createTeamsCallAgent':\n {\n return Reflect.get(target, prop);\n }\n case 'getDeviceManager':\n {\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('Multiple DeviceManager not supported. This means a incompatible version of communication-calling is ' + 'used OR calling declarative was not properly updated to communication-calling version.');\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 {}\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: CommunicationUserIdentifier;\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 = (args: StatefulCallClientArgs, options?: StatefulCallClientOptions): StatefulCallClient => {\n callingStatefulLogger.info(`Creating calling stateful client using library version: ${_getApplicationId()}`);\n return createStatefulCallClientWithDeps(new CallClient(withTelemetryTag(options?.callClientOptions)), new CallContext(getIdentifierKind(args.userId), options?.maxStateChangeListeners), new InternalCallContext());\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 = (callClient: CallClient, context: CallContext, internalContext: InternalCallContext): 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 (callId: string | undefined, participantId: CommunicationIdentifier | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState, options?: CreateViewOptions): 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: (callId: string | undefined, participantId: CommunicationIdentifier | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState): void => {\n const participantIdKind = participantId ? getIdentifierKind(participantId) : undefined;\n disposeView(context, internalContext, callId, participantIdKind, stream);\n }\n });\n return (new Proxy(callClient, new ProxyCallClient(context, internalContext)) as StatefulCallClient);\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};\"../../acs-ui-common/src\""]}
@@ -33,18 +33,18 @@ function createViewVideo(context, internalContext, callId, stream, participantId
33
33
  const streamType = stream === null || stream === void 0 ? void 0 : stream.mediaStreamType;
34
34
  const streamId = stream.id;
35
35
  // we want to check to see if there is a participantId this will tell us whether its a local stream or a remote one.
36
- const participantKey = streamEventType === 'createViewRemote' && participantId
37
- ? typeof participantId === 'string'
38
- ? participantId
39
- : toFlatCommunicationIdentifier(participantId)
40
- : undefined;
41
- const streamLogInfo = { callId, participantKey, streamId, streamType, streamEventType };
36
+ const participantKey = streamEventType === 'createViewRemote' && participantId ? typeof participantId === 'string' ? participantId : toFlatCommunicationIdentifier(participantId) : undefined;
37
+ const streamLogInfo = {
38
+ callId,
39
+ participantKey,
40
+ streamId,
41
+ streamType,
42
+ streamEventType
43
+ };
42
44
  // make different logging announcement based on whether or not we are starting a local or remote
43
45
  _logStreamEvent(EventNames.CREATING_VIEW, streamLogInfo);
44
46
  // if we have a participant Id and a stream get the remote info, else get the local render info from state.
45
- const renderInfo = streamEventType === 'createViewRemote' && participantKey
46
- ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId)
47
- : internalContext.getLocalRenderInfo(callId);
47
+ const renderInfo = streamEventType === 'createViewRemote' && participantKey ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId) : internalContext.getLocalRenderInfo(callId);
48
48
  if (!renderInfo) {
49
49
  _logStreamEvent(EventNames.STREAM_NOT_FOUND, streamLogInfo);
50
50
  return;
@@ -73,9 +73,7 @@ function createViewVideo(context, internalContext, callId, stream, participantId
73
73
  return;
74
74
  }
75
75
  const renderer = new VideoStreamRenderer(renderInfo.stream);
76
- streamEventType === 'createViewRemote' && participantKey
77
- ? internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'Rendering', undefined)
78
- : internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'Rendering', renderer);
76
+ streamEventType === 'createViewRemote' && participantKey ? internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'Rendering', undefined) : internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'Rendering', renderer);
79
77
  let view;
80
78
  try {
81
79
  view = yield renderer.createView(options);
@@ -93,17 +91,13 @@ function createViewVideo(context, internalContext, callId, stream, participantId
93
91
  }
94
92
  // Since render could take some time, we need to check if the stream is still valid and if we received a signal to
95
93
  // stop rendering.
96
- const refreshedRenderInfo = streamEventType === 'createViewRemote' && participantKey
97
- ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId)
98
- : internalContext.getLocalRenderInfo(callId);
94
+ const refreshedRenderInfo = streamEventType === 'createViewRemote' && participantKey ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId) : internalContext.getLocalRenderInfo(callId);
99
95
  if (!refreshedRenderInfo) {
100
96
  // RenderInfo was removed. This should not happen unless stream was removed from the call so dispose the renderer
101
97
  // and clean up the state.
102
98
  _logStreamEvent(EventNames.RENDER_INFO_NOT_FOUND, streamLogInfo);
103
99
  renderer.dispose();
104
- streamEventType === 'createViewRemote' && participantKey
105
- ? context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined)
106
- : context.setLocalVideoStreamRendererView(callId, undefined);
100
+ streamEventType === 'createViewRemote' && participantKey ? context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined) : context.setLocalVideoStreamRendererView(callId, undefined);
107
101
  return;
108
102
  }
109
103
  if (refreshedRenderInfo.status === 'Stopping') {
@@ -217,19 +211,18 @@ function disposeViewVideo(context, internalContext, callId, stream, participantI
217
211
  const streamType = stream.mediaStreamType;
218
212
  const streamId = stream.id;
219
213
  // we want to check to see if there is a participantId this will tell us whether its a local stream or a remote one.
220
- const participantKey = streamEventType === 'disposeViewRemote' && participantId
221
- ? typeof participantId === 'string'
222
- ? participantId
223
- : toFlatCommunicationIdentifier(participantId)
224
- : undefined;
225
- const streamLogInfo = { callId, participantKey, streamId, streamType };
214
+ const participantKey = streamEventType === 'disposeViewRemote' && participantId ? typeof participantId === 'string' ? participantId : toFlatCommunicationIdentifier(participantId) : undefined;
215
+ const streamLogInfo = {
216
+ callId,
217
+ participantKey,
218
+ streamId,
219
+ streamType
220
+ };
226
221
  _logStreamEvent(EventNames.START_DISPOSE_STREAM, streamLogInfo);
227
222
  if (streamEventType === 'disposeViewRemote' && participantKey) {
228
223
  context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);
229
224
  }
230
- const renderInfo = streamEventType === 'disposeViewRemote' && participantKey
231
- ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId)
232
- : internalContext.getLocalRenderInfo(callId);
225
+ const renderInfo = streamEventType === 'disposeViewRemote' && participantKey ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId) : internalContext.getLocalRenderInfo(callId);
233
226
  if (!renderInfo) {
234
227
  _logStreamEvent(EventNames.DISPOSE_INFO_NOT_FOUND, streamLogInfo);
235
228
  return;
@@ -251,9 +244,7 @@ function disposeViewVideo(context, internalContext, callId, stream, participantI
251
244
  // rendering and clean up the state once the view has finished being created.
252
245
  if (renderInfo.status === 'Rendering') {
253
246
  _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);
254
- streamEventType === 'disposeViewRemote' && participantKey
255
- ? internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'Stopping', undefined)
256
- : internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'Stopping', renderInfo.renderer);
247
+ streamEventType === 'disposeViewRemote' && participantKey ? internalContext.setRemoteRenderInfo(callId, participantKey, streamId, renderInfo.stream, 'Stopping', undefined) : internalContext.setLocalRenderInfo(callId, renderInfo.stream, 'Stopping', renderInfo.renderer);
257
248
  return;
258
249
  }
259
250
  if (renderInfo.renderer) {
@@ -274,7 +265,10 @@ function disposeViewVideo(context, internalContext, callId, stream, participantI
274
265
  }
275
266
  function disposeViewUnparentedVideo(context, internalContext, stream) {
276
267
  const streamType = stream.mediaStreamType;
277
- const streamLogInfo = { streamType, streamEventType: 'disposeViewUnparented' };
268
+ const streamLogInfo = {
269
+ streamType,
270
+ streamEventType: 'disposeViewUnparented'
271
+ };
278
272
  _logStreamEvent(EventNames.START_DISPOSE_STREAM, streamLogInfo);
279
273
  context.deleteDeviceManagerUnparentedView(stream);
280
274
  const renderInfo = internalContext.getUnparentedRenderInfo(stream);
@@ -312,7 +306,9 @@ export function createView(context, internalContext, callId, participantId, stre
312
306
  return context.withAsyncErrorTeedToState(() => __awaiter(this, void 0, void 0, function* () { return yield createViewUnparentedVideo(context, internalContext, stream, options); }), 'Call.startVideo')();
313
307
  }
314
308
  else {
315
- _logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, { streamType });
309
+ _logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, {
310
+ streamType
311
+ });
316
312
  return Promise.resolve(undefined);
317
313
  }
318
314
  }
@@ -331,7 +327,9 @@ export function disposeView(context, internalContext, callId, participantId, str
331
327
  context.withErrorTeedToState(() => disposeViewUnparentedVideo(context, internalContext, stream), 'Call.stopVideo')();
332
328
  }
333
329
  else {
334
- _logStreamEvent(EventNames.DISPOSE_STREAM_INVALID_PARAMS, { streamType });
330
+ _logStreamEvent(EventNames.DISPOSE_STREAM_INVALID_PARAMS, {
331
+ streamType
332
+ });
335
333
  return;
336
334
  }
337
335
  }
@@ -1 +1 @@
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
+ {"version":3,"file":"StreamUtils.js","sourceRoot":"","sources":["../../../../preprocess-dist/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 { CreateViewOptions, LocalVideoStream, RemoteVideoStream, VideoStreamRenderer, VideoStreamRendererView } from '@azure/communication-calling';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { LocalVideoStreamState, RemoteVideoStreamState } from './CallClientState';\nimport { CallContext } from './CallContext';\nimport { convertSdkLocalStreamToDeclarativeLocalStream, convertSdkRemoteStreamToDeclarativeRemoteStream, convertFromSDKToDeclarativeVideoStreamRendererView } 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};\nasync function createViewVideo(context: CallContext, internalContext: InternalCallContext, callId: string, stream?: RemoteVideoStreamState | LocalVideoStreamState, participantId?: CommunicationIdentifierKind | string, options?: CreateViewOptions): 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 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 = streamEventType === 'createViewRemote' && participantId ? typeof participantId === 'string' ? participantId : toFlatCommunicationIdentifier(participantId) : undefined;\n const streamLogInfo = {\n callId,\n participantKey,\n streamId,\n streamType,\n streamEventType\n };\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 = streamEventType === 'createViewRemote' && participantKey ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId) : internalContext.getLocalRenderInfo(callId);\n if (!renderInfo) {\n _logStreamEvent(EventNames.STREAM_NOT_FOUND, streamLogInfo);\n return;\n }\n if (renderInfo.status === 'Rendered') {\n _logStreamEvent(EventNames.STREAM_ALREADY_RENDERED, streamLogInfo);\n return;\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(callId, participantKey, streamId, (renderInfo.stream as RemoteVideoStream), 'Rendering', renderInfo.renderer);\n } else if (streamEventType === 'createViewLocal') {\n _logStreamEvent(EventNames.STREAM_STOPPING, streamLogInfo);\n internalContext.setLocalRenderInfo(callId, (renderInfo.stream as LocalVideoStream), 'Rendering', renderInfo.renderer);\n }\n return;\n }\n const renderer = new VideoStreamRenderer(renderInfo.stream);\n streamEventType === 'createViewRemote' && participantKey ? internalContext.setRemoteRenderInfo(callId, participantKey, streamId, (renderInfo.stream as RemoteVideoStream), 'Rendering', undefined) : internalContext.setLocalRenderInfo(callId, (renderInfo.stream as LocalVideoStream), 'Rendering', renderer);\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(callId, participantKey, streamId, (renderInfo.stream as RemoteVideoStream), 'NotRendered', undefined);\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 = streamEventType === 'createViewRemote' && participantKey ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId) : internalContext.getLocalRenderInfo(callId);\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 ? context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined) : context.setLocalVideoStreamRendererView(callId, undefined);\n return;\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(callId, participantKey, streamId, (refreshedRenderInfo.stream as RemoteVideoStream), 'NotRendered', undefined);\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n } else if (streamEventType === 'createViewLocal') {\n internalContext.setLocalRenderInfo(callId, (refreshedRenderInfo.stream as LocalVideoStream), 'NotRendered', undefined);\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(callId, participantKey, streamId, (refreshedRenderInfo.stream as RemoteVideoStream), 'Rendered', renderer);\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, convertFromSDKToDeclarativeVideoStreamRendererView(view));\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 return {\n renderer,\n view\n };\n}\nasync function createViewUnparentedVideo(context: CallContext, internalContext: InternalCallContext, stream: LocalVideoStreamState, options?: CreateViewOptions): Promise<CreateViewResult | undefined> {\n const renderInfo = internalContext.getUnparentedRenderInfo(stream);\n if (renderInfo && renderInfo.status === 'Rendered') {\n console.warn('Unparented LocalVideoStream is already rendered');\n return;\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 if (renderInfo && renderInfo.status === 'Stopping') {\n console.warn('Unparented LocalVideoStream is in the middle of stopping');\n return;\n }\n const localVideoStream = new LocalVideoStream(stream.source);\n const renderer = new VideoStreamRenderer(localVideoStream);\n internalContext.setUnparentedRenderInfo(stream, localVideoStream, 'Rendering', undefined);\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 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 return {\n renderer,\n view\n };\n}\nfunction disposeViewVideo(context: CallContext, internalContext: InternalCallContext, callId: string, stream: RemoteVideoStreamState | LocalVideoStreamState, participantId?: CommunicationIdentifierKind | string): 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 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 = streamEventType === 'disposeViewRemote' && participantId ? typeof participantId === 'string' ? participantId : toFlatCommunicationIdentifier(participantId) : undefined;\n const streamLogInfo = {\n callId,\n participantKey,\n streamId,\n streamType\n };\n _logStreamEvent(EventNames.START_DISPOSE_STREAM, streamLogInfo);\n if (streamEventType === 'disposeViewRemote' && participantKey) {\n context.setRemoteVideoStreamRendererView(callId, participantKey, streamId, undefined);\n }\n const renderInfo = streamEventType === 'disposeViewRemote' && participantKey ? internalContext.getRemoteRenderInfoForParticipant(callId, participantKey, streamId) : internalContext.getLocalRenderInfo(callId);\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 ? internalContext.setRemoteRenderInfo(callId, participantKey, streamId, (renderInfo.stream as RemoteVideoStream), 'Stopping', undefined) : internalContext.setLocalRenderInfo(callId, (renderInfo.stream as LocalVideoStream), 'Stopping', renderInfo.renderer);\n return;\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(callId, participantKey, streamId, (renderInfo.stream as RemoteVideoStream), 'NotRendered', undefined);\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}\nfunction disposeViewUnparentedVideo(context: CallContext, internalContext: InternalCallContext, stream: LocalVideoStreamState): void {\n const streamType = stream.mediaStreamType;\n const streamLogInfo = {\n streamType,\n streamEventType: 'disposeViewUnparented'\n };\n _logStreamEvent(EventNames.START_DISPOSE_STREAM, streamLogInfo);\n context.deleteDeviceManagerUnparentedView(stream);\n const renderInfo = internalContext.getUnparentedRenderInfo(stream);\n if (!renderInfo) {\n _logStreamEvent(EventNames.DISPOSE_INFO_NOT_FOUND, streamLogInfo);\n return;\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 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(context: CallContext, internalContext: InternalCallContext, callId: string | undefined, participantId: CommunicationIdentifierKind | string | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState, options?: CreateViewOptions): Promise<CreateViewResult | undefined> {\n const streamType = stream.mediaStreamType;\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(async () => await createViewUnparentedVideo(context, internalContext, stream, options), 'Call.startVideo')();\n } else {\n _logStreamEvent(EventNames.CREATE_STREAM_INVALID_PARAMS, {\n streamType\n });\n return Promise.resolve(undefined);\n }\n}\n\n/**\n * @private\n */\nexport function disposeView(context: CallContext, internalContext: InternalCallContext, callId: string | undefined, participantId: CommunicationIdentifierKind | string | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState): 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(() => disposeViewUnparentedVideo(context, internalContext, stream), 'Call.stopVideo')();\n } else {\n _logStreamEvent(EventNames.DISPOSE_STREAM_INVALID_PARAMS, {\n streamType\n });\n return;\n }\n}\n\n/**\n * @private\n * Only stops videos that are tied to a Call.\n */\nexport function disposeAllViewsFromCall(context: CallContext, internalContext: InternalCallContext, callId: string): 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(context, internalContext, callId, participantKey, convertSdkRemoteStreamToDeclarativeRemoteStream(remoteStreamAndRenderer.stream));\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(context, internalContext, callId, undefined, convertSdkLocalStreamToDeclarativeLocalStream(localStreamAndRenderer.stream));\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}\"../../acs-ui-common/src\""]}
@@ -16,7 +16,9 @@ function _logDisposeStreamEvent(eventName, streamLogInfo) {
16
16
  name: EventNames.DISPOSE_STREAM_INVALID_PARAMS,
17
17
  level: 'warning',
18
18
  message: 'Dispose View invalid combination of parameters.',
19
- data: { streamType: streamLogInfo.streamType }
19
+ data: {
20
+ streamType: streamLogInfo.streamType
21
+ }
20
22
  });
21
23
  return;
22
24
  case EventNames.START_DISPOSE_STREAM:
@@ -86,7 +88,9 @@ function _logCreateStreamEvent(eventName, streamLogInfo, error) {
86
88
  name: EventNames.CREATE_STREAM_INVALID_PARAMS,
87
89
  level: 'warning',
88
90
  message: 'Create View invalid combination of parameters.',
89
- data: { streamType: streamLogInfo.streamType }
91
+ data: {
92
+ streamType: streamLogInfo.streamType
93
+ }
90
94
  });
91
95
  return;
92
96
  case EventNames.START_STREAM_RENDERING:
@@ -102,7 +106,9 @@ function _logCreateStreamEvent(eventName, streamLogInfo, error) {
102
106
  name: EventNames.STREAM_NOT_FOUND,
103
107
  level: 'error',
104
108
  message: 'Stream not found in state.',
105
- data: { callId: streamLogInfo.callId }
109
+ data: {
110
+ callId: streamLogInfo.callId
111
+ }
106
112
  });
107
113
  return;
108
114
  case EventNames.STREAM_ALREADY_RENDERED:
@@ -185,13 +191,10 @@ function _logCreateStreamEvent(eventName, streamLogInfo, error) {
185
191
  * @param error if any errors present will be added to message in logging
186
192
  */
187
193
  export function _logStreamEvent(eventName, streamLogInfo, error) {
188
- if (streamLogInfo.streamEventType === 'disposeViewLocal' ||
189
- streamLogInfo.streamEventType === 'disposeViewRemote' ||
190
- streamLogInfo.streamEventType === 'disposeViewUnparented') {
194
+ if (streamLogInfo.streamEventType === 'disposeViewLocal' || streamLogInfo.streamEventType === 'disposeViewRemote' || streamLogInfo.streamEventType === 'disposeViewUnparented') {
191
195
  _logDisposeStreamEvent(eventName, streamLogInfo);
192
196
  }
193
- else if (streamLogInfo.streamEventType === 'createViewLocal' ||
194
- streamLogInfo.streamEventType === 'createViewRemote') {
197
+ else if (streamLogInfo.streamEventType === 'createViewLocal' || streamLogInfo.streamEventType === 'createViewRemote') {
195
198
  _logCreateStreamEvent(eventName, streamLogInfo, error);
196
199
  }
197
200
  }