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

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 (901) hide show
  1. package/dist/communication-react.d.ts +466 -47
  2. package/dist/dist-cjs/communication-react/index.js +6121 -4397
  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 +4 -1
  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 +10 -0
  21. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +19 -2
  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 +15 -0
  24. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +71 -12
  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 -4
  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 +20 -55
  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 +16 -3
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +74 -45
  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 +2 -2
  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 +15 -1
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +5 -2
  37. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +4 -2
  39. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +4 -8
  40. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +13 -1
  44. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +3 -1
  47. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -0
  49. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +53 -14
  50. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  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 +6 -3
  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.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +9 -6
  59. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  60. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +7 -3
  61. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +21 -8
  62. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +4 -2
  64. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +38 -15
  65. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +41 -7
  67. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  69. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +65 -75
  72. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +48 -0
  74. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +6 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +57 -6
  77. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +7 -8
  79. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +74 -83
  81. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  82. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +2 -0
  85. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +22 -4
  86. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.d.ts +16 -0
  88. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +24 -0
  89. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -0
  90. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +6 -0
  92. package/dist/dist-esm/calling-stateful-client/src/Converter.js +18 -8
  93. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +51 -57
  95. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +14 -16
  97. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +3 -15
  100. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +1 -3
  104. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.d.ts +17 -0
  107. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js +35 -0
  108. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -0
  109. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +2 -0
  112. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +65 -67
  113. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +33 -31
  115. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +8 -11
  117. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  118. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  120. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +7 -8
  121. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.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.js +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  125. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  126. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +6 -7
  128. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  129. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +3 -0
  130. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  131. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  132. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  133. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  134. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  135. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  136. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +13 -14
  137. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  139. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +3 -10
  140. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  142. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  143. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  144. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  145. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +33 -15
  146. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  147. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  148. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  149. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  150. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  151. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +3 -7
  152. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  153. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +3 -1
  154. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  155. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  156. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +10 -3
  157. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  159. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +5 -9
  160. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  161. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +7 -10
  163. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  165. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +57 -67
  166. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  167. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +114 -127
  168. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  169. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +3 -1
  170. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  171. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  172. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  173. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  174. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  175. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  176. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  177. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  178. package/dist/dist-esm/communication-react/src/index.d.ts +8 -2
  179. package/dist/dist-esm/communication-react/src/index.js +4 -0
  180. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  181. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +3 -6
  183. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +4 -10
  187. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  189. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  191. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/CameraButton.js +8 -19
  194. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  196. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +11 -10
  198. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +16 -14
  200. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
  202. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  203. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +36 -17
  204. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +6 -0
  206. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +18 -9
  207. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +27 -35
  209. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +6 -0
  211. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +92 -35
  212. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  213. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +1 -0
  214. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +44 -28
  215. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  218. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +7 -4
  220. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  222. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/ControlBar.js +10 -14
  227. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  229. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +3 -14
  231. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +4 -10
  233. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +14 -31
  235. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +5 -8
  237. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +24 -6
  239. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +12 -20
  241. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/DevicesButton.js +19 -27
  243. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +36 -44
  245. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  247. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  249. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  251. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  253. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +6 -4
  255. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/EndCallButton.js +3 -7
  258. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/ErrorBar.js +9 -5
  260. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/FileCard.js +2 -3
  262. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  264. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +17 -16
  266. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +8 -7
  268. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  270. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  272. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  274. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -9
  276. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/ImageGallery.d.ts +52 -0
  278. package/dist/dist-esm/react-components/src/components/ImageGallery.js +56 -0
  279. package/dist/dist-esm/react-components/src/components/ImageGallery.js.map +1 -0
  280. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +8 -15
  281. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  283. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +2 -0
  285. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +32 -10
  286. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/MentionPopover.js +19 -11
  288. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +23 -36
  290. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +7 -1
  292. package/dist/dist-esm/react-components/src/components/MessageThread.js +165 -92
  293. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -14
  295. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +94 -101
  297. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +15 -17
  299. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +15 -0
  301. package/dist/dist-esm/react-components/src/components/ParticipantList.js +97 -20
  302. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +46 -32
  304. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  306. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  308. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/RaiseHandButton.d.ts +43 -0
  310. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +45 -0
  311. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -0
  312. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +32 -15
  313. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  315. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  317. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -14
  319. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -1
  321. package/dist/dist-esm/react-components/src/components/SendBox.js +17 -19
  322. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  324. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +2 -4
  327. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  329. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  331. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +70 -32
  333. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +52 -46
  335. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  337. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +9 -6
  339. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -1
  341. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -1
  343. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +4 -8
  345. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -1
  347. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +19 -34
  349. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +3 -1
  351. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +9 -13
  353. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +13 -15
  355. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +6 -3
  357. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +43 -16
  359. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +10 -10
  361. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +69 -25
  363. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  366. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +16 -5
  368. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  370. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +2 -4
  372. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.d.ts +28 -0
  374. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +145 -0
  375. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -0
  376. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +1 -6
  377. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.d.ts +1 -1
  379. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +10 -34
  380. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +2 -11
  382. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  383. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +1 -3
  388. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -11
  390. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +22 -28
  392. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +10 -5
  394. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +18 -32
  396. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +2 -0
  399. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +58 -25
  400. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -2
  402. package/dist/dist-esm/react-components/src/components/VideoGallery.js +112 -36
  403. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +3 -0
  405. package/dist/dist-esm/react-components/src/components/VideoTile.js +58 -54
  406. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.d.ts +7 -0
  408. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +224 -0
  409. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -0
  410. package/dist/dist-esm/react-components/src/components/index.d.ts +5 -0
  411. package/dist/dist-esm/react-components/src/components/index.js +4 -0
  412. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  413. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/styles/Captions.style.d.ts +2 -2
  415. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +9 -5
  416. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
  419. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  422. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +1 -3
  424. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  425. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.d.ts +70 -0
  429. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +219 -0
  430. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js.map +1 -0
  431. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
  432. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  433. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +2 -8
  436. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +0 -1
  438. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  439. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
  441. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  442. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  443. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
  444. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  446. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +0 -1
  447. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  449. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +0 -1
  451. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  452. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +3 -17
  453. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  454. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  455. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  456. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  458. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +4 -7
  460. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  461. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  463. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  464. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  465. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  466. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +10 -1
  467. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  469. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/components/utils.js +13 -10
  471. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.d.ts +7 -0
  473. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +13 -7
  474. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  476. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  478. package/dist/dist-esm/react-components/src/index.d.ts +1 -2
  479. package/dist/dist-esm/react-components/src/index.js +0 -2
  480. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +6 -0
  482. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  483. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  484. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +10 -0
  485. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +11 -1
  486. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +10 -0
  487. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +10 -0
  488. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +10 -0
  489. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +10 -0
  490. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +10 -0
  491. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +10 -0
  492. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +10 -0
  493. package/dist/dist-esm/react-components/src/localization/locales/index.js +21 -63
  494. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  495. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +10 -0
  496. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +10 -0
  497. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +10 -0
  498. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +10 -0
  499. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +10 -0
  500. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +10 -0
  501. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +10 -0
  502. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +10 -0
  503. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +10 -0
  504. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +10 -0
  505. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +10 -0
  506. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +10 -0
  507. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +3 -6
  508. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  509. package/dist/dist-esm/react-components/src/theming/icons.d.ts +4 -0
  510. package/dist/dist-esm/react-components/src/theming/icons.js +30 -26
  511. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  512. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  513. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  514. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  515. package/dist/dist-esm/react-components/src/theming/themes.d.ts +1 -0
  516. package/dist/dist-esm/react-components/src/theming/themes.js +6 -2
  517. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  518. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  519. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  520. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  521. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  523. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  524. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +10 -3
  525. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  526. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  527. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +7 -1
  528. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  529. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  530. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +10 -0
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +59 -64
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +20 -0
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +13 -14
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +180 -82
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +94 -12
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +9 -1
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +1 -3
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +4 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +12 -6
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -0
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +68 -35
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -1
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +56 -62
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +133 -141
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +1 -7
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -1
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +1 -7
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +2 -2
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.d.ts +2 -0
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +37 -23
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +43 -32
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +25 -34
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +3 -0
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +81 -41
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +35 -19
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +3 -0
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +7 -9
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +3 -1
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +17 -10
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +3 -0
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +12 -2
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +6 -2
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +7 -4
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +29 -18
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +17 -6
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.d.ts +12 -0
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +26 -0
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -0
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +13 -3
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +8 -8
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +25 -6
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -0
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +26 -5
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +68 -37
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +13 -7
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +15 -7
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +23 -23
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -3
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +2 -1
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +14 -0
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +13 -0
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +11 -0
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js +14 -0
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -0
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  661. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +7 -5
  662. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  663. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  664. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  665. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +10 -8
  667. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +12 -2
  668. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  669. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  670. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  671. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  676. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  677. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  678. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  679. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  681. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  682. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +6 -2
  684. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +2 -6
  686. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  687. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -7
  688. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +1 -4
  692. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +1 -4
  695. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +0 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
  702. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +6 -24
  704. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +2 -2
  706. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  708. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +9 -11
  709. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -2
  711. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +4 -3
  713. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +35 -24
  714. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +10 -0
  717. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +67 -24
  718. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +9 -7
  722. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +3 -6
  724. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  725. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +7 -1
  728. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +69 -12
  729. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +25 -1
  731. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  732. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +4 -1
  733. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +15 -2
  734. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  742. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +5 -0
  743. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +6 -0
  744. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -2
  747. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  748. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  749. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  750. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +70 -19
  751. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +3 -5
  755. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -1
  756. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  757. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  758. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +39 -38
  759. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +15 -20
  761. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  763. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  764. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  766. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +11 -6
  767. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  768. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  769. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  770. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +3 -5
  771. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +3 -1
  773. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  777. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  778. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +6 -6
  780. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +3 -5
  781. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  783. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +9 -9
  785. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +23 -25
  787. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  789. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +8 -3
  790. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  791. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +5 -14
  792. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  793. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +9 -23
  794. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  795. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +6 -8
  797. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +12 -16
  799. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  800. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  801. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +1 -5
  803. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +8 -1
  805. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +55 -45
  806. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  807. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +32 -25
  808. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  809. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +4 -0
  810. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +131 -50
  811. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  813. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  815. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +52 -61
  816. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  817. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  819. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js +10 -7
  820. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.js.map +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js.map +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +15 -13
  825. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  827. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +17 -9
  829. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +23 -13
  831. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +7 -15
  833. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +7 -15
  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 +10 -8
  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 +16 -11
  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 +20 -2
  844. package/dist/dist-esm/react-composites/src/composites/common/icons.js +19 -5
  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.d.ts +8 -0
  847. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js +33 -0
  848. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -0
  849. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.d.ts +8 -0
  850. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js +32 -0
  851. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -0
  852. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  853. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  854. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +5 -16
  855. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  856. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -51
  857. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  858. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +6 -29
  859. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +4 -22
  861. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +7 -0
  863. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  865. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  866. package/dist/dist-esm/react-composites/src/composites/index.d.ts +2 -0
  867. package/dist/dist-esm/react-composites/src/composites/index.js +4 -0
  868. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  870. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  872. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +4 -2
  873. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +6 -4
  874. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +4 -2
  875. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +4 -2
  876. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +7 -2
  877. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +4 -2
  878. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +4 -2
  879. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +4 -2
  880. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +4 -2
  881. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +4 -2
  883. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +4 -2
  884. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +4 -2
  885. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +4 -2
  886. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +4 -2
  887. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +4 -2
  888. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +4 -2
  889. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +4 -2
  890. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +4 -2
  891. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +4 -2
  892. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +4 -2
  893. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +4 -2
  894. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  895. package/package.json +8 -8
  896. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +0 -61
  897. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +0 -74
  898. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +0 -1
  899. package/dist/dist-esm/react-components/src/permissions/index.d.ts +0 -2
  900. package/dist/dist-esm/react-components/src/permissions/index.js +0 -4
  901. package/dist/dist-esm/react-components/src/permissions/index.js.map +0 -1
@@ -15,29 +15,44 @@ export const _videoGalleryRemoteParticipantsMemo = (remoteParticipants) => {
15
15
  if (!remoteParticipants) {
16
16
  return [];
17
17
  }
18
- return memoizedAllConvertRemoteParticipant(memoizedFn => {
19
- return Object.values(remoteParticipants)
18
+ return memoizedAllConvertRemoteParticipant((memoizedFn) => {
19
+ return (Object.values(remoteParticipants)
20
20
  /**
21
21
  * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.
22
22
  * phone users will be in the connecting state until they are connected to the call.
23
- */ .filter((participant) => {
24
- return !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) || isPhoneNumberIdentifier(participant.identifier);
25
- }).map((participant) => {
23
+ */
24
+ .filter((participant) => {
25
+ return (!['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) ||
26
+ isPhoneNumberIdentifier(participant.identifier));
27
+ })
28
+ .map((participant) => {
26
29
  const state = _isRingingPSTNParticipant(participant);
27
- return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, participant.displayName);
28
- });
30
+ return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, participant.displayName,
31
+ /* @conditional-compile-remove(raise-hand) */
32
+ participant.raisedHand);
33
+ }));
29
34
  });
30
35
  };
31
- const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpeaking, videoStreams, state, displayName) => {
32
- return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName);
36
+ const memoizedAllConvertRemoteParticipant = memoizeFnAll((userId, isMuted, isSpeaking, videoStreams, state, displayName,
37
+ /* @conditional-compile-remove(raise-hand) */
38
+ raisedHand // temp unknown type to build stable
39
+ ) => {
40
+ return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName,
41
+ /* @conditional-compile-remove(raise-hand) */
42
+ raisedHand);
33
43
  });
34
44
  /** @private */
35
- export const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted, isSpeaking, videoStreams, state, displayName) => {
45
+ export const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId, isMuted, isSpeaking, videoStreams, state, displayName,
46
+ /* @conditional-compile-remove(raise-hand) */
47
+ raisedHand // temp unknown type to build stable
48
+ ) => {
36
49
  const rawVideoStreamsArray = Object.values(videoStreams);
37
50
  let videoStream = undefined;
38
51
  let screenShareStream = undefined;
39
- const sdkRemoteVideoStream = Object.values(rawVideoStreamsArray).find(i => i.mediaStreamType === 'Video' && i.isAvailable) || Object.values(rawVideoStreamsArray).find(i => i.mediaStreamType === 'Video');
40
- const sdkScreenShareStream = Object.values(rawVideoStreamsArray).find(i => i.mediaStreamType === 'ScreenSharing' && i.isAvailable) || Object.values(rawVideoStreamsArray).find(i => i.mediaStreamType === 'ScreenSharing');
52
+ const sdkRemoteVideoStream = Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'Video' && i.isAvailable) ||
53
+ Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'Video');
54
+ const sdkScreenShareStream = Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'ScreenSharing' && i.isAvailable) ||
55
+ Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'ScreenSharing');
41
56
  if (sdkRemoteVideoStream) {
42
57
  videoStream = convertRemoteVideoStreamToVideoGalleryStream(sdkRemoteVideoStream);
43
58
  }
@@ -54,7 +69,9 @@ export const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId,
54
69
  isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable,
55
70
  /* @conditional-compile-remove(one-to-n-calling) */
56
71
  /* @conditional-compile-remove(PSTN-calls) */
57
- state
72
+ state,
73
+ /* @conditional-compile-remove(raise-hand) */
74
+ raisedHand: raisedHand
58
75
  };
59
76
  };
60
77
  const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
@@ -71,7 +88,9 @@ const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
71
88
  };
72
89
  };
73
90
  /** @private */
74
- export const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, isScreenSharingOn, localVideoStream) => {
91
+ export const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, isScreenSharingOn, localVideoStream,
92
+ /* @conditional-compile-remove(rooms) */ role,
93
+ /* @conditional-compile-remove(raise-hand) */ raisedHand) => {
75
94
  var _a, _b;
76
95
  return ({
77
96
  userId: identifier,
@@ -82,7 +101,11 @@ export const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMu
82
101
  isAvailable: !!localVideoStream,
83
102
  isMirrored: (_a = localVideoStream === null || localVideoStream === void 0 ? void 0 : localVideoStream.view) === null || _a === void 0 ? void 0 : _a.isMirrored,
84
103
  renderElement: (_b = localVideoStream === null || localVideoStream === void 0 ? void 0 : localVideoStream.view) === null || _b === void 0 ? void 0 : _b.target
85
- }
104
+ },
105
+ /* @conditional-compile-remove(rooms) */
106
+ role,
107
+ /* @conditional-compile-remove(raise-hand) */
108
+ raisedHand: raisedHand
86
109
  });
87
110
  });
88
111
  //# sourceMappingURL=videoGalleryUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"videoGalleryUtils.js","sourceRoot":"","sources":["../../../../../preprocess-dist/calling-component-bindings/src/utils/videoGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { DominantSpeakersInfo, RemoteParticipantState as RemoteParticipantConnectionState } from '@azure/communication-calling';\nimport { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { RemoteParticipantState, RemoteVideoStreamState } from '@internal/calling-stateful-client';\nimport { VideoGalleryRemoteParticipant, VideoGalleryStream } from '@internal/react-components';\nimport memoizeOne from 'memoize-one';\nimport { _isRingingPSTNParticipant } from './callUtils';\nimport { checkIsSpeaking } from './SelectorUtils';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\n\n/** @internal */\nexport const _dominantSpeakersWithFlatId = (dominantSpeakers?: DominantSpeakersInfo): undefined | string[] => {\n return dominantSpeakers?.speakersList?.map(toFlatCommunicationIdentifier);\n};\n\n/** @internal */\nexport const _videoGalleryRemoteParticipantsMemo = (remoteParticipants: RemoteParticipantState[] | undefined): VideoGalleryRemoteParticipant[] => {\n if (!remoteParticipants) {\n return [];\n }\n return memoizedAllConvertRemoteParticipant(memoizedFn => {\n return Object.values(remoteParticipants)\n /**\n * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.\n * phone users will be in the connecting state until they are connected to the call.\n */.filter((participant: RemoteParticipantState) => {\n return !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) || isPhoneNumberIdentifier(participant.identifier);\n }).map((participant: RemoteParticipantState) => {\n const state = _isRingingPSTNParticipant(participant);\n return memoizedFn(toFlatCommunicationIdentifier(participant.identifier), participant.isMuted, checkIsSpeaking(participant), participant.videoStreams, state, participant.displayName);\n });\n });\n};\nconst memoizedAllConvertRemoteParticipant = memoizeFnAll((userId: string, isMuted: boolean, isSpeaking: boolean, videoStreams: {\n [key: number]: RemoteVideoStreamState;\n}, state: RemoteParticipantConnectionState, displayName?: string): VideoGalleryRemoteParticipant => {\n return convertRemoteParticipantToVideoGalleryRemoteParticipant(userId, isMuted, isSpeaking, videoStreams, state, displayName);\n});\n\n/** @private */\nexport const convertRemoteParticipantToVideoGalleryRemoteParticipant = (userId: string, isMuted: boolean, isSpeaking: boolean, videoStreams: {\n [key: number]: RemoteVideoStreamState;\n}, state: RemoteParticipantConnectionState, displayName?: string): VideoGalleryRemoteParticipant => {\n const rawVideoStreamsArray = Object.values(videoStreams);\n let videoStream: VideoGalleryStream | undefined = undefined;\n let screenShareStream: VideoGalleryStream | undefined = undefined;\n const sdkRemoteVideoStream = Object.values(rawVideoStreamsArray).find(i => i.mediaStreamType === 'Video' && i.isAvailable) || Object.values(rawVideoStreamsArray).find(i => i.mediaStreamType === 'Video');\n const sdkScreenShareStream = Object.values(rawVideoStreamsArray).find(i => i.mediaStreamType === 'ScreenSharing' && i.isAvailable) || Object.values(rawVideoStreamsArray).find(i => i.mediaStreamType === 'ScreenSharing');\n if (sdkRemoteVideoStream) {\n videoStream = convertRemoteVideoStreamToVideoGalleryStream(sdkRemoteVideoStream);\n }\n if (sdkScreenShareStream) {\n screenShareStream = convertRemoteVideoStreamToVideoGalleryStream(sdkScreenShareStream);\n }\n return {\n userId,\n displayName,\n isMuted,\n isSpeaking,\n videoStream,\n screenShareStream,\n isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable,\n /* @conditional-compile-remove(one-to-n-calling) */\n /* @conditional-compile-remove(PSTN-calls) */\n state\n };\n};\nconst convertRemoteVideoStreamToVideoGalleryStream = (stream: RemoteVideoStreamState): VideoGalleryStream => {\n return {\n id: stream.id,\n isAvailable: stream.isAvailable,\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n isReceiving: stream.isReceiving,\n isMirrored: stream.view?.isMirrored,\n renderElement: stream.view?.target,\n /* @conditional-compile-remove(pinned-participants) */\n scalingMode: stream.view?.scalingMode\n };\n};\n\n/** @private */\nexport const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, isScreenSharingOn, localVideoStream) => ({\n userId: identifier,\n displayName: displayName ?? '',\n isMuted: isMuted,\n isScreenSharingOn: isScreenSharingOn,\n videoStream: {\n isAvailable: !!localVideoStream,\n isMirrored: localVideoStream?.view?.isMirrored,\n renderElement: localVideoStream?.view?.target\n }\n}));\"../../../acs-ui-common/src\"\"../../../calling-stateful-client/src\"\"../../../react-components/src\""]}
1
+ {"version":3,"file":"videoGalleryUtils.js","sourceRoot":"","sources":["../../../../../../calling-component-bindings/src/utils/videoGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n DominantSpeakersInfo,\n RemoteParticipantState as RemoteParticipantConnectionState\n} from '@azure/communication-calling';\nimport { memoizeFnAll, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { RemoteParticipantState, RemoteVideoStreamState } from '@internal/calling-stateful-client';\nimport { VideoGalleryRemoteParticipant, VideoGalleryStream } from '@internal/react-components';\nimport memoizeOne from 'memoize-one';\nimport { _isRingingPSTNParticipant } from './callUtils';\nimport { checkIsSpeaking } from './SelectorUtils';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(raise-hand) */\nimport { RaisedHandState } from '@internal/calling-stateful-client';\n\n/** @internal */\nexport const _dominantSpeakersWithFlatId = (dominantSpeakers?: DominantSpeakersInfo): undefined | string[] => {\n return dominantSpeakers?.speakersList?.map(toFlatCommunicationIdentifier);\n};\n\n/** @internal */\nexport const _videoGalleryRemoteParticipantsMemo = (\n remoteParticipants: RemoteParticipantState[] | undefined\n): VideoGalleryRemoteParticipant[] => {\n if (!remoteParticipants) {\n return [];\n }\n\n return memoizedAllConvertRemoteParticipant((memoizedFn) => {\n return (\n Object.values(remoteParticipants)\n /**\n * hiding participants who are inLobby, idle, or connecting in ACS clients till we can admit users through ACS clients.\n * phone users will be in the connecting state until they are connected to the call.\n */\n .filter((participant: RemoteParticipantState) => {\n return (\n !['InLobby', 'Idle', 'Connecting', 'Disconnected'].includes(participant.state) ||\n isPhoneNumberIdentifier(participant.identifier)\n );\n })\n .map((participant: RemoteParticipantState) => {\n const state = _isRingingPSTNParticipant(participant);\n return memoizedFn(\n toFlatCommunicationIdentifier(participant.identifier),\n participant.isMuted,\n checkIsSpeaking(participant),\n participant.videoStreams,\n state,\n participant.displayName,\n /* @conditional-compile-remove(raise-hand) */\n participant.raisedHand\n );\n })\n );\n });\n};\n\nconst memoizedAllConvertRemoteParticipant = memoizeFnAll(\n (\n userId: string,\n isMuted: boolean,\n isSpeaking: boolean,\n videoStreams: { [key: number]: RemoteVideoStreamState },\n state: RemoteParticipantConnectionState,\n displayName?: string,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand?: unknown // temp unknown type to build stable\n ): VideoGalleryRemoteParticipant => {\n return convertRemoteParticipantToVideoGalleryRemoteParticipant(\n userId,\n isMuted,\n isSpeaking,\n videoStreams,\n state,\n displayName,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand as RaisedHandState\n );\n }\n);\n\n/** @private */\nexport const convertRemoteParticipantToVideoGalleryRemoteParticipant = (\n userId: string,\n isMuted: boolean,\n isSpeaking: boolean,\n videoStreams: { [key: number]: RemoteVideoStreamState },\n state: RemoteParticipantConnectionState,\n displayName?: string,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand?: unknown // temp unknown type to build stable\n): VideoGalleryRemoteParticipant => {\n const rawVideoStreamsArray = Object.values(videoStreams);\n let videoStream: VideoGalleryStream | undefined = undefined;\n let screenShareStream: VideoGalleryStream | undefined = undefined;\n\n const sdkRemoteVideoStream =\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'Video' && i.isAvailable) ||\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'Video');\n\n const sdkScreenShareStream =\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'ScreenSharing' && i.isAvailable) ||\n Object.values(rawVideoStreamsArray).find((i) => i.mediaStreamType === 'ScreenSharing');\n\n if (sdkRemoteVideoStream) {\n videoStream = convertRemoteVideoStreamToVideoGalleryStream(sdkRemoteVideoStream);\n }\n if (sdkScreenShareStream) {\n screenShareStream = convertRemoteVideoStreamToVideoGalleryStream(sdkScreenShareStream);\n }\n\n return {\n userId,\n displayName,\n isMuted,\n isSpeaking,\n videoStream,\n screenShareStream,\n isScreenSharingOn: screenShareStream !== undefined && screenShareStream.isAvailable,\n /* @conditional-compile-remove(one-to-n-calling) */\n /* @conditional-compile-remove(PSTN-calls) */\n state,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand: raisedHand as RaisedHandState\n };\n};\n\nconst convertRemoteVideoStreamToVideoGalleryStream = (stream: RemoteVideoStreamState): VideoGalleryStream => {\n return {\n id: stream.id,\n isAvailable: stream.isAvailable,\n /* @conditional-compile-remove(video-stream-is-receiving-flag) */\n isReceiving: stream.isReceiving,\n isMirrored: stream.view?.isMirrored,\n renderElement: stream.view?.target,\n /* @conditional-compile-remove(pinned-participants) */\n scalingMode: stream.view?.scalingMode\n };\n};\n\n/** @private */\nexport const memoizeLocalParticipant = memoizeOne(\n (\n identifier,\n displayName,\n isMuted,\n isScreenSharingOn,\n localVideoStream,\n /* @conditional-compile-remove(rooms) */ role,\n /* @conditional-compile-remove(raise-hand) */ raisedHand\n ) => ({\n userId: identifier,\n displayName: displayName ?? '',\n isMuted: isMuted,\n isScreenSharingOn: isScreenSharingOn,\n videoStream: {\n isAvailable: !!localVideoStream,\n isMirrored: localVideoStream?.view?.isMirrored,\n renderElement: localVideoStream?.view?.target\n },\n /* @conditional-compile-remove(rooms) */\n role,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand: raisedHand\n })\n);\n\"../../../acs-ui-common/src\"\"../../../calling-stateful-client/src\"\"../../../react-components/src\""]}
@@ -3,26 +3,60 @@
3
3
  import { toFlatCommunicationIdentifier } from "../../acs-ui-common/src";
4
4
  import { createSelector } from 'reselect';
5
5
  import { getDisplayName, getDominantSpeakers, getIdentifier, getIsMuted, getIsScreenSharingOn, getLocalVideoStreams, getRemoteParticipants, getScreenShareRemoteParticipant } from './baseSelectors';
6
+ /* @conditional-compile-remove(rooms) */
7
+ import { getRole } from './baseSelectors';
6
8
  /* @conditional-compile-remove(optimal-video-count) */
7
9
  import { getOptimalVideoCount } from './baseSelectors';
8
10
  import { _updateUserDisplayNames } from './utils/callUtils';
9
11
  import { checkIsSpeaking } from './utils/SelectorUtils';
10
12
  import { _videoGalleryRemoteParticipantsMemo, _dominantSpeakersWithFlatId, convertRemoteParticipantToVideoGalleryRemoteParticipant, memoizeLocalParticipant } from './utils/videoGalleryUtils';
13
+ /* @conditional-compile-remove(raise-hand) */
14
+ import { getLocalParticipantRaisedHand } from './baseSelectors';
11
15
  /**
12
16
  * Provides data attributes to {@link VideoGallery} component.
13
17
  * @public
14
18
  */
15
- export const videoGallerySelector = createSelector([getScreenShareRemoteParticipant, getRemoteParticipants, getLocalVideoStreams, getIsMuted, getIsScreenSharingOn, getDisplayName, getIdentifier, getDominantSpeakers,
16
- getOptimalVideoCount], (screenShareRemoteParticipantId, remoteParticipants, localVideoStreams, isMuted, isScreenSharingOn, displayName, identifier, dominantSpeakers, /* @conditional-compile-remove(optimal-video-count) */ optimalVideoCount) => {
17
- const screenShareRemoteParticipant = screenShareRemoteParticipantId && remoteParticipants ? remoteParticipants[screenShareRemoteParticipantId] : undefined;
18
- const localVideoStream = localVideoStreams === null || localVideoStreams === void 0 ? void 0 : localVideoStreams.find(i => i.mediaStreamType === 'Video');
19
+ export const videoGallerySelector = createSelector([
20
+ getScreenShareRemoteParticipant,
21
+ getRemoteParticipants,
22
+ getLocalVideoStreams,
23
+ getIsMuted,
24
+ getIsScreenSharingOn,
25
+ getDisplayName,
26
+ getIdentifier,
27
+ getDominantSpeakers,
28
+ /* @conditional-compile-remove(optimal-video-count) */
29
+ getOptimalVideoCount,
30
+ /* @conditional-compile-remove(rooms) */
31
+ getRole,
32
+ /* @conditional-compile-remove(raise-hand) */
33
+ getLocalParticipantRaisedHand
34
+ ], (screenShareRemoteParticipantId, remoteParticipants, localVideoStreams, isMuted, isScreenSharingOn, displayName, identifier, dominantSpeakers,
35
+ /* @conditional-compile-remove(optimal-video-count) */
36
+ optimalVideoCount,
37
+ /* @conditional-compile-remove(rooms) */
38
+ role,
39
+ /* @conditional-compile-remove(raise-hand) */
40
+ raisedHand) => {
41
+ const screenShareRemoteParticipant = screenShareRemoteParticipantId && remoteParticipants
42
+ ? remoteParticipants[screenShareRemoteParticipantId]
43
+ : undefined;
44
+ const localVideoStream = localVideoStreams === null || localVideoStreams === void 0 ? void 0 : localVideoStreams.find((i) => i.mediaStreamType === 'Video');
19
45
  const dominantSpeakerIds = _dominantSpeakersWithFlatId(dominantSpeakers);
20
46
  const dominantSpeakersMap = {};
21
- dominantSpeakerIds === null || dominantSpeakerIds === void 0 ? void 0 : dominantSpeakerIds.forEach((speaker, idx) => dominantSpeakersMap[speaker] = idx);
47
+ dominantSpeakerIds === null || dominantSpeakerIds === void 0 ? void 0 : dominantSpeakerIds.forEach((speaker, idx) => (dominantSpeakersMap[speaker] = idx));
22
48
  const noRemoteParticipants = [];
23
49
  return {
24
- screenShareParticipant: screenShareRemoteParticipant ? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName) : undefined,
25
- localParticipant: memoizeLocalParticipant(identifier, displayName, isMuted, isScreenSharingOn, localVideoStream),
50
+ screenShareParticipant: screenShareRemoteParticipant
51
+ ? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName,
52
+ /* @conditional-compile-remove(raise-hand) */
53
+ screenShareRemoteParticipant.raisedHand)
54
+ : undefined,
55
+ localParticipant: memoizeLocalParticipant(identifier, displayName, isMuted, isScreenSharingOn, localVideoStream,
56
+ /* @conditional-compile-remove(rooms) */
57
+ role,
58
+ /* @conditional-compile-remove(raise-hand) */
59
+ raisedHand),
26
60
  remoteParticipants: _videoGalleryRemoteParticipantsMemo(updateUserDisplayNamesTrampoline(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants)),
27
61
  dominantSpeakers: dominantSpeakerIds,
28
62
  /* @conditional-compile-remove(optimal-video-count) */
@@ -1 +1 @@
1
- {"version":3,"file":"videoGallerySelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-component-bindings/src/videoGallerySelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,6BAA6B,EAAE,gCAAgC;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAA4B,cAAc,EAAE,mBAAmB,EAAE,aAAa,EAAE,UAAU,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,+BAA+B,EAAE,MAAM,iBAAiB,CAAC;AAC/N,sDAAsD;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mCAAmC,EAAE,2BAA2B,EAAE,uDAAuD,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAgB/L;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAyB,cAAc,CAAC,CAAC,+BAA+B,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,UAAU,EAAE,oBAAoB,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB;IAC5O,oBAAoB,CAAC,EAAE,CAAC,8BAA8B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAA+B,EAAE,UAAkB,EAAE,gBAAgB,EAAE,sDAAsD,CACxP,iBAAiB,EAAE,EAAE;IACnB,MAAM,4BAA4B,GAAG,8BAA8B,IAAI,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3J,MAAM,gBAAgB,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC;IACrF,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IACzE,MAAM,mBAAmB,GAA2B,EAAE,CAAC;IACvD,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;IAClF,MAAM,oBAAoB,GAAG,EAAE,CAAC;IAChC,OAAO;QACL,sBAAsB,EAAE,4BAA4B,CAAC,CAAC,CAAC,uDAAuD,CAAC,6BAA6B,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAAE,4BAA4B,CAAC,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,EAAE,4BAA4B,CAAC,YAAY,EAAE,4BAA4B,CAAC,KAAK,EAAE,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;QAChZ,gBAAgB,EAAE,uBAAuB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,CAAC;QAChH,kBAAkB,EAAE,mCAAmC,CAAC,gCAAgC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACxK,gBAAgB,EAAE,kBAAkB;QACpC,sDAAsD;QACtD,qBAAqB,EAAE,iBAAiB;KACzC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,MAAM,gCAAgC,GAAG,CAAC,kBAA4C,EAA4B,EAAE;IAClH,6CAA6C;IAC7C,OAAO,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;IACnD,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallClientState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { VideoGalleryLocalParticipant, VideoGalleryRemoteParticipant } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport { CallingBaseSelectorProps, getDisplayName, getDominantSpeakers, getIdentifier, getIsMuted, getIsScreenSharingOn, getLocalVideoStreams, getRemoteParticipants, getScreenShareRemoteParticipant } from './baseSelectors';\n/* @conditional-compile-remove(optimal-video-count) */\nimport { getOptimalVideoCount } from './baseSelectors';\nimport { _updateUserDisplayNames } from './utils/callUtils';\nimport { checkIsSpeaking } from './utils/SelectorUtils';\nimport { _videoGalleryRemoteParticipantsMemo, _dominantSpeakersWithFlatId, convertRemoteParticipantToVideoGalleryRemoteParticipant, memoizeLocalParticipant } from './utils/videoGalleryUtils';\n\n/**\n * Selector type for {@link VideoGallery} component.\n *\n * @public\n */\nexport type VideoGallerySelector = (state: CallClientState, props: CallingBaseSelectorProps) => {\n screenShareParticipant: VideoGalleryRemoteParticipant | undefined;\n localParticipant: VideoGalleryLocalParticipant;\n remoteParticipants: VideoGalleryRemoteParticipant[];\n dominantSpeakers?: string[];\n /* @conditional-compile-remove(optimal-video-count) */\n optimalVideoCount?: number;\n};\n\n/**\n * Provides data attributes to {@link VideoGallery} component.\n * @public\n */\nexport const videoGallerySelector: VideoGallerySelector = createSelector([getScreenShareRemoteParticipant, getRemoteParticipants, getLocalVideoStreams, getIsMuted, getIsScreenSharingOn, getDisplayName, getIdentifier, getDominantSpeakers, /* @conditional-compile-remove(optimal-video-count) */\ngetOptimalVideoCount], (screenShareRemoteParticipantId, remoteParticipants, localVideoStreams, isMuted, isScreenSharingOn, displayName: string | undefined, identifier: string, dominantSpeakers, /* @conditional-compile-remove(optimal-video-count) */\noptimalVideoCount) => {\n const screenShareRemoteParticipant = screenShareRemoteParticipantId && remoteParticipants ? remoteParticipants[screenShareRemoteParticipantId] : undefined;\n const localVideoStream = localVideoStreams?.find(i => i.mediaStreamType === 'Video');\n const dominantSpeakerIds = _dominantSpeakersWithFlatId(dominantSpeakers);\n const dominantSpeakersMap: Record<string, number> = {};\n dominantSpeakerIds?.forEach((speaker, idx) => dominantSpeakersMap[speaker] = idx);\n const noRemoteParticipants = [];\n return {\n screenShareParticipant: screenShareRemoteParticipant ? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName) : undefined,\n localParticipant: memoizeLocalParticipant(identifier, displayName, isMuted, isScreenSharingOn, localVideoStream),\n remoteParticipants: _videoGalleryRemoteParticipantsMemo(updateUserDisplayNamesTrampoline(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants)),\n dominantSpeakers: dominantSpeakerIds,\n /* @conditional-compile-remove(optimal-video-count) */\n maxRemoteVideoStreams: optimalVideoCount\n };\n});\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n /* @conditional-compile-remove(PSTN-calls) */\n return _updateUserDisplayNames(remoteParticipants);\n return remoteParticipants;\n};\"../../acs-ui-common/src\"\"../../calling-stateful-client/src\"\"../../react-components/src\""]}
1
+ {"version":3,"file":"videoGallerySelector.js","sourceRoot":"","sources":["../../../../../calling-component-bindings/src/videoGallerySelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CallClientState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { VideoGalleryLocalParticipant, VideoGalleryRemoteParticipant } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport {\n CallingBaseSelectorProps,\n getDisplayName,\n getDominantSpeakers,\n getIdentifier,\n getIsMuted,\n getIsScreenSharingOn,\n getLocalVideoStreams,\n getRemoteParticipants,\n getScreenShareRemoteParticipant\n} from './baseSelectors';\n/* @conditional-compile-remove(rooms) */\nimport { getRole } from './baseSelectors';\n/* @conditional-compile-remove(optimal-video-count) */\nimport { getOptimalVideoCount } from './baseSelectors';\nimport { _updateUserDisplayNames } from './utils/callUtils';\nimport { checkIsSpeaking } from './utils/SelectorUtils';\nimport {\n _videoGalleryRemoteParticipantsMemo,\n _dominantSpeakersWithFlatId,\n convertRemoteParticipantToVideoGalleryRemoteParticipant,\n memoizeLocalParticipant\n} from './utils/videoGalleryUtils';\n/* @conditional-compile-remove(raise-hand) */\nimport { getLocalParticipantRaisedHand } from './baseSelectors';\n\n/**\n * Selector type for {@link VideoGallery} component.\n *\n * @public\n */\nexport type VideoGallerySelector = (\n state: CallClientState,\n props: CallingBaseSelectorProps\n) => {\n screenShareParticipant: VideoGalleryRemoteParticipant | undefined;\n localParticipant: VideoGalleryLocalParticipant;\n remoteParticipants: VideoGalleryRemoteParticipant[];\n dominantSpeakers?: string[];\n /* @conditional-compile-remove(optimal-video-count) */\n optimalVideoCount?: number;\n};\n\n/**\n * Provides data attributes to {@link VideoGallery} component.\n * @public\n */\nexport const videoGallerySelector: VideoGallerySelector = createSelector(\n [\n getScreenShareRemoteParticipant,\n getRemoteParticipants,\n getLocalVideoStreams,\n getIsMuted,\n getIsScreenSharingOn,\n getDisplayName,\n getIdentifier,\n getDominantSpeakers,\n /* @conditional-compile-remove(optimal-video-count) */\n getOptimalVideoCount,\n /* @conditional-compile-remove(rooms) */\n getRole,\n /* @conditional-compile-remove(raise-hand) */\n getLocalParticipantRaisedHand\n ],\n (\n screenShareRemoteParticipantId,\n remoteParticipants,\n localVideoStreams,\n isMuted,\n isScreenSharingOn,\n displayName: string | undefined,\n identifier: string,\n dominantSpeakers,\n /* @conditional-compile-remove(optimal-video-count) */\n optimalVideoCount,\n /* @conditional-compile-remove(rooms) */\n role,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand\n ) => {\n const screenShareRemoteParticipant =\n screenShareRemoteParticipantId && remoteParticipants\n ? remoteParticipants[screenShareRemoteParticipantId]\n : undefined;\n const localVideoStream = localVideoStreams?.find((i) => i.mediaStreamType === 'Video');\n\n const dominantSpeakerIds = _dominantSpeakersWithFlatId(dominantSpeakers);\n const dominantSpeakersMap: Record<string, number> = {};\n dominantSpeakerIds?.forEach((speaker, idx) => (dominantSpeakersMap[speaker] = idx));\n const noRemoteParticipants = [];\n\n return {\n screenShareParticipant: screenShareRemoteParticipant\n ? convertRemoteParticipantToVideoGalleryRemoteParticipant(\n toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier),\n screenShareRemoteParticipant.isMuted,\n checkIsSpeaking(screenShareRemoteParticipant),\n screenShareRemoteParticipant.videoStreams,\n screenShareRemoteParticipant.state,\n screenShareRemoteParticipant.displayName,\n /* @conditional-compile-remove(raise-hand) */\n screenShareRemoteParticipant.raisedHand\n )\n : undefined,\n localParticipant: memoizeLocalParticipant(\n identifier,\n displayName,\n isMuted,\n isScreenSharingOn,\n localVideoStream,\n /* @conditional-compile-remove(rooms) */\n role,\n /* @conditional-compile-remove(raise-hand) */\n raisedHand\n ),\n remoteParticipants: _videoGalleryRemoteParticipantsMemo(\n updateUserDisplayNamesTrampoline(remoteParticipants ? Object.values(remoteParticipants) : noRemoteParticipants)\n ),\n dominantSpeakers: dominantSpeakerIds,\n /* @conditional-compile-remove(optimal-video-count) */\n maxRemoteVideoStreams: optimalVideoCount\n };\n }\n);\n\nconst updateUserDisplayNamesTrampoline = (remoteParticipants: RemoteParticipantState[]): RemoteParticipantState[] => {\n /* @conditional-compile-remove(PSTN-calls) */\n return _updateUserDisplayNames(remoteParticipants);\n return remoteParticipants;\n};\n\"../../acs-ui-common/src\"\"../../calling-stateful-client/src\"\"../../react-components/src\""]}
@@ -1 +1 @@
1
- {"version":3,"file":"BetaToStableTypes.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/BetaToStableTypes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n// This is for mapping new types from beta, which does not exist in stable sdk.\n// These mappings are necessary to bypass type check of conditional compilation\n// Remove these types when the feature get stabilized in stable sdk\n\n// For example, CallCommon doesn't exist in stable call sdk, so it will be still Call type\n// So we remove CallCommonBeta type in stable\n// In beta, Call | CallCommon = CallCommon because Call is just a super set of CallCommon\n\nimport { Call, CallAgent, IncomingCall } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCall as TeamsCallBeta, CallCommon as CallCommonBeta, CallAgentCommon as CallAgentCommonBeta, TeamsCallAgent as TeamsCallAgentBeta, IncomingCallCommon as IncomingCallCommonBeta } from '@azure/communication-calling';\n\n/**\n * @public\n * The common interface for all types of Calls\n */\nexport type CallCommon = Call | /* @conditional-compile-remove(teams-identity-support) */CallCommonBeta;\n\n/**\n * @public\n * The common interface for all types of CallAgents\n */\nexport type CallAgentCommon = CallAgent | /* @conditional-compile-remove(teams-identity-support) */CallAgentCommonBeta;\n\n/**\n * @beta\n */\nexport type TeamsCall = never | /* @conditional-compile-remove(teams-identity-support) */TeamsCallBeta;\n\n/**\n * @beta\n */\nexport type TeamsCallAgent = never | /* @conditional-compile-remove(teams-identity-support) */TeamsCallAgentBeta;\n\n/**\n * @public\n * The common interface for all types of IncomingCalls\n */\nexport type IncomingCallCommon = IncomingCall | /* @conditional-compile-remove(teams-identity-support) */IncomingCallCommonBeta;"]}
1
+ {"version":3,"file":"BetaToStableTypes.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/BetaToStableTypes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n// This is for mapping new types from beta, which does not exist in stable sdk.\n// These mappings are necessary to bypass type check of conditional compilation\n// Remove these types when the feature get stabilized in stable sdk\n\n// For example, CallCommon doesn't exist in stable call sdk, so it will be still Call type\n// So we remove CallCommonBeta type in stable\n// In beta, Call | CallCommon = CallCommon because Call is just a super set of CallCommon\n\nimport { Call, CallAgent, IncomingCall } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-identity-support) */\nimport {\n TeamsCall as TeamsCallBeta,\n CallCommon as CallCommonBeta,\n CallAgentCommon as CallAgentCommonBeta,\n TeamsCallAgent as TeamsCallAgentBeta,\n IncomingCallCommon as IncomingCallCommonBeta\n} from '@azure/communication-calling';\n\n/**\n * @public\n * The common interface for all types of Calls\n */\nexport type CallCommon = Call | /* @conditional-compile-remove(teams-identity-support) */ CallCommonBeta;\n\n/**\n * @public\n * The common interface for all types of CallAgents\n */\nexport type CallAgentCommon = CallAgent | /* @conditional-compile-remove(teams-identity-support) */ CallAgentCommonBeta;\n\n/**\n * @beta\n */\nexport type TeamsCall = never | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallBeta;\n\n/**\n * @beta\n */\nexport type TeamsCallAgent = never | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallAgentBeta;\n\n/**\n * @public\n * The common interface for all types of IncomingCalls\n */\nexport type IncomingCallCommon =\n | IncomingCall\n | /* @conditional-compile-remove(teams-identity-support) */ IncomingCallCommonBeta;\n"]}
@@ -19,7 +19,7 @@ export declare type IncomingCallManagement = {
19
19
  * @beta
20
20
  * `DeclarativeCallAgent` extends and proxies the {@link @azure/communication-calling#CallAgent}
21
21
  */
22
- export declare type DeclarativeCallAgent = CallAgent & /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallManagement;
22
+ export declare type DeclarativeCallAgent = CallAgent & IncomingCallManagement;
23
23
  /**
24
24
  * Creates a declarative CallAgent by proxying CallAgent with ProxyCallAgent which will track state updates by updating
25
25
  * the given context.
@@ -1 +1 @@
1
- {"version":3,"file":"CallAgentDeclarative.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/CallAgentDeclarative.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,qBAAqB,EAAyB,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAElH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAwB3D;;;;GAIG;AACH,MAAM,cAAe,SAAQ,oBAAoB;IAE/C,YAAY,SAAoB,EAAE,OAAoB,EAAE,eAAoC;QAC1F,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAI1B,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEtD,kHAAkH;YAClH,0EAA0E;YAC1E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;gBACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACpB;QACH,CAAC,CAAC;QACQ,gBAAW,GAAG,GAAS,EAAE;YACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACvD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC;QAjBA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAgBS,eAAe,CAAC,IAAgB,EAAE,OAAoB;QAC9D,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACvC;QACD,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;IAC/G,CAAC;IACS,SAAS,CAAC,KAAsB,EAAE,IAAwC;QAClF,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;SACjC;QACD,MAAM,KAAK,CAAC,wFAAwF,CAAC,CAAC;IACxG,CAAC;IACS,QAAQ,CAAC,KAAsB,EAAE,IAAmC;QAC5E,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;SAC5B;QACD,MAAM,KAAK,CAAC,uFAAuF,CAAC,CAAC;IACvG,CAAC;IACS,cAAc,CAAC,KAAsB,EAAE,IAAiC;QAChF,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;SAC1B;QACD,MAAM,KAAK,CAAC,6FAA6F,CAAC,CAAC;IAC7G,CAAC;IACS,gBAAgB,CAAC,KAAsB,EAAE,IAAkC;QACnF,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;SAC3B;QACD,MAAM,KAAK,CAAC,+FAA+F,CAAC,CAAC;IAC/G,CAAC;IACM,GAAG,CAA4B,MAAiB,EAAE,IAAO;QAC9D,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAoB,EAAE,OAAoB,EAAE,eAAoC,EAAwB,EAAE;IAC7I,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAChD,OAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAA0B,CAAC;AACjH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CallAgent } from '@azure/communication-calling';\nimport { clearCallRelatedState, DeclarativeCallCommon, ProxyCallAgentCommon } from './CallAgentDeclarativeCommon';\nimport { CallContext } from './CallContext';\nimport { callDeclaratify } from './CallDeclarative';\n/* @conditional-compile-remove(one-to-n-calling) */\nimport { DeclarativeIncomingCall } from './IncomingCallDeclarative';\nimport { InternalCallContext } from './InternalCallContext';\nimport { _isACSCall, _isACSCallAgent } from './TypeGuards';\nimport { CallAgentCommon, CallCommon } from './BetaToStableTypes';\n\n/* @conditional-compile-remove(one-to-n-calling) */\n/**\n * @beta\n * This contains a readonly array that returns all the active `incomingCalls`.\n * An active incoming call is a call that has not been answered, declined or disconnected.\n */\nexport type IncomingCallManagement = {\n /**\n * @beta\n * @Remark This attribute doesn't exist on the {@link @azure/communication-calling#CallAgent} interface.\n * @returns readonly array of {@link DeclarativeIncomingCall}\n */\n incomingCalls: ReadonlyArray<DeclarativeIncomingCall>;\n};\n\n/**\n * @beta\n * `DeclarativeCallAgent` extends and proxies the {@link @azure/communication-calling#CallAgent}\n */\nexport type DeclarativeCallAgent = CallAgent & /* @conditional-compile-remove(one-to-n-calling) */IncomingCallManagement;\n\n/**\n * ProxyCallAgent proxies CallAgent and saves any returned state in the given context. It will subscribe to all state\n * updates in the CallAgent and in the contained Calls and RemoteParticipants. When dispose is called it will\n * unsubscribe from all state updates.\n */\nclass ProxyCallAgent extends ProxyCallAgentCommon implements ProxyHandler<DeclarativeCallAgent> {\n private _callAgent: CallAgent;\n constructor(callAgent: CallAgent, context: CallContext, internalContext: InternalCallContext) {\n super(context, internalContext);\n this._callAgent = callAgent;\n this.subscribe();\n }\n private subscribe = (): void => {\n this._callAgent.on('callsUpdated', this.callsUpdated);\n this._callAgent.on('incomingCall', this.incomingCall);\n\n // There could be scenario that when ProxyCallAgent is created that the given CallAgent already has Calls. In this\n // case we need to make sure to subscribe to those already existing Calls.\n for (const call of this._callAgent.calls) {\n this.addCall(call);\n }\n };\n protected unsubscribe = (): void => {\n this._callAgent.off('callsUpdated', this.callsUpdated);\n this._callAgent.off('incomingCall', this.incomingCall);\n this.unregisterSubscriber();\n };\n protected callDeclaratify(call: CallCommon, context: CallContext): DeclarativeCallCommon {\n if (_isACSCall(call)) {\n return callDeclaratify(call, context);\n }\n throw new Error('Not reachable code, DeclarativeCallAgent.callDeclaratify must be called with an ACS call.');\n }\n protected startCall(agent: CallAgentCommon, args: Parameters<CallAgent['startCall']>): CallCommon {\n if (_isACSCallAgent(agent)) {\n return agent.startCall(...args);\n }\n throw Error('Unreachable code, DeclarativeCallAgent.startCall must be called with an ACS callAgent.');\n }\n protected joinCall(agent: CallAgentCommon, args: Parameters<CallAgent['join']>): CallCommon {\n if (_isACSCallAgent(agent)) {\n return agent.join(...args);\n }\n throw Error('Unreachable code, DeclarativeCallAgent.joinCall must be called with an ACS callAgent.');\n }\n protected agentSubscribe(agent: CallAgentCommon, args: Parameters<CallAgent['on']>): void {\n if (_isACSCallAgent(agent)) {\n return agent.on(...args);\n }\n throw Error('Unreachable code, DeclarativeCallAgent.agentSubscribe must be called with an ACS callAgent.');\n }\n protected agentUnsubscribe(agent: CallAgentCommon, args: Parameters<CallAgent['off']>): void {\n if (_isACSCallAgent(agent)) {\n return agent.off(...args);\n }\n throw Error('Unreachable code, DeclarativeCallAgent.agentUnsubscribe must be called with an ACS callAgent.');\n }\n public get<P extends keyof CallAgent>(target: CallAgent, prop: P): any {\n return super.getCommon(target, prop);\n }\n}\n\n/**\n * Creates a declarative CallAgent by proxying CallAgent with ProxyCallAgent which will track state updates by updating\n * the given context.\n *\n * @param callAgent - CallAgent from SDK\n * @param context - CallContext from StatefulCallClient\n * @param internalContext- InternalCallContext from StatefulCallClient\n */\nexport const callAgentDeclaratify = (callAgent: CallAgent, context: CallContext, internalContext: InternalCallContext): DeclarativeCallAgent => {\n clearCallRelatedState(context, internalContext);\n return (new Proxy(callAgent, new ProxyCallAgent(callAgent, context, internalContext)) as DeclarativeCallAgent);\n};"]}
1
+ {"version":3,"file":"CallAgentDeclarative.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/CallAgentDeclarative.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,EAAE,qBAAqB,EAAyB,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAElH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAyB3D;;;;GAIG;AACH,MAAM,cAAe,SAAQ,oBAAoB;IAG/C,YAAY,SAAoB,EAAE,OAAoB,EAAE,eAAoC;QAC1F,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAK1B,cAAS,GAAG,GAAS,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEtD,kHAAkH;YAClH,0EAA0E;YAC1E,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;gBACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACpB;QACH,CAAC,CAAC;QAEQ,gBAAW,GAAG,GAAS,EAAE;YACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEvD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC;QApBA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAoBS,eAAe,CAAC,IAAgB,EAAE,OAAoB;QAC9D,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACvC;QACD,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;IAC/G,CAAC;IAES,SAAS,CAAC,KAAsB,EAAE,IAAwC;QAClF,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;SACjC;QACD,MAAM,KAAK,CAAC,wFAAwF,CAAC,CAAC;IACxG,CAAC;IAES,QAAQ,CAAC,KAAsB,EAAE,IAAmC;QAC5E,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;SAC5B;QACD,MAAM,KAAK,CAAC,uFAAuF,CAAC,CAAC;IACvG,CAAC;IAES,cAAc,CAAC,KAAsB,EAAE,IAAiC;QAChF,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;SAC1B;QACD,MAAM,KAAK,CAAC,6FAA6F,CAAC,CAAC;IAC7G,CAAC;IAES,gBAAgB,CAAC,KAAsB,EAAE,IAAkC;QACnF,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;SAC3B;QACD,MAAM,KAAK,CAAC,+FAA+F,CAAC,CAAC;IAC/G,CAAC;IAEM,GAAG,CAA4B,MAAiB,EAAE,IAAO;QAC9D,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAoB,EACpB,OAAoB,EACpB,eAAoC,EACd,EAAE;IACxB,qBAAqB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAChD,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,IAAI,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,CAAyB,CAAC;AAC/G,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { CallAgent } from '@azure/communication-calling';\nimport { clearCallRelatedState, DeclarativeCallCommon, ProxyCallAgentCommon } from './CallAgentDeclarativeCommon';\nimport { CallContext } from './CallContext';\nimport { callDeclaratify } from './CallDeclarative';\n/* @conditional-compile-remove(one-to-n-calling) */\nimport { DeclarativeIncomingCall } from './IncomingCallDeclarative';\nimport { InternalCallContext } from './InternalCallContext';\nimport { _isACSCall, _isACSCallAgent } from './TypeGuards';\nimport { CallAgentCommon, CallCommon } from './BetaToStableTypes';\n\n/* @conditional-compile-remove(one-to-n-calling) */\n/**\n * @beta\n * This contains a readonly array that returns all the active `incomingCalls`.\n * An active incoming call is a call that has not been answered, declined or disconnected.\n */\nexport type IncomingCallManagement = {\n /**\n * @beta\n * @Remark This attribute doesn't exist on the {@link @azure/communication-calling#CallAgent} interface.\n * @returns readonly array of {@link DeclarativeIncomingCall}\n */\n incomingCalls: ReadonlyArray<DeclarativeIncomingCall>;\n};\n\n/**\n * @beta\n * `DeclarativeCallAgent` extends and proxies the {@link @azure/communication-calling#CallAgent}\n */\nexport type DeclarativeCallAgent = CallAgent &\n /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallManagement;\n\n/**\n * ProxyCallAgent proxies CallAgent and saves any returned state in the given context. It will subscribe to all state\n * updates in the CallAgent and in the contained Calls and RemoteParticipants. When dispose is called it will\n * unsubscribe from all state updates.\n */\nclass ProxyCallAgent extends ProxyCallAgentCommon implements ProxyHandler<DeclarativeCallAgent> {\n private _callAgent: CallAgent;\n\n constructor(callAgent: CallAgent, context: CallContext, internalContext: InternalCallContext) {\n super(context, internalContext);\n this._callAgent = callAgent;\n this.subscribe();\n }\n\n private subscribe = (): void => {\n this._callAgent.on('callsUpdated', this.callsUpdated);\n this._callAgent.on('incomingCall', this.incomingCall);\n\n // There could be scenario that when ProxyCallAgent is created that the given CallAgent already has Calls. In this\n // case we need to make sure to subscribe to those already existing Calls.\n for (const call of this._callAgent.calls) {\n this.addCall(call);\n }\n };\n\n protected unsubscribe = (): void => {\n this._callAgent.off('callsUpdated', this.callsUpdated);\n this._callAgent.off('incomingCall', this.incomingCall);\n\n this.unregisterSubscriber();\n };\n\n protected callDeclaratify(call: CallCommon, context: CallContext): DeclarativeCallCommon {\n if (_isACSCall(call)) {\n return callDeclaratify(call, context);\n }\n throw new Error('Not reachable code, DeclarativeCallAgent.callDeclaratify must be called with an ACS call.');\n }\n\n protected startCall(agent: CallAgentCommon, args: Parameters<CallAgent['startCall']>): CallCommon {\n if (_isACSCallAgent(agent)) {\n return agent.startCall(...args);\n }\n throw Error('Unreachable code, DeclarativeCallAgent.startCall must be called with an ACS callAgent.');\n }\n\n protected joinCall(agent: CallAgentCommon, args: Parameters<CallAgent['join']>): CallCommon {\n if (_isACSCallAgent(agent)) {\n return agent.join(...args);\n }\n throw Error('Unreachable code, DeclarativeCallAgent.joinCall must be called with an ACS callAgent.');\n }\n\n protected agentSubscribe(agent: CallAgentCommon, args: Parameters<CallAgent['on']>): void {\n if (_isACSCallAgent(agent)) {\n return agent.on(...args);\n }\n throw Error('Unreachable code, DeclarativeCallAgent.agentSubscribe must be called with an ACS callAgent.');\n }\n\n protected agentUnsubscribe(agent: CallAgentCommon, args: Parameters<CallAgent['off']>): void {\n if (_isACSCallAgent(agent)) {\n return agent.off(...args);\n }\n throw Error('Unreachable code, DeclarativeCallAgent.agentUnsubscribe must be called with an ACS callAgent.');\n }\n\n public get<P extends keyof CallAgent>(target: CallAgent, prop: P): any {\n return super.getCommon(target, prop);\n }\n}\n\n/**\n * Creates a declarative CallAgent by proxying CallAgent with ProxyCallAgent which will track state updates by updating\n * the given context.\n *\n * @param callAgent - CallAgent from SDK\n * @param context - CallContext from StatefulCallClient\n * @param internalContext- InternalCallContext from StatefulCallClient\n */\nexport const callAgentDeclaratify = (\n callAgent: CallAgent,\n context: CallContext,\n internalContext: InternalCallContext\n): DeclarativeCallAgent => {\n clearCallRelatedState(context, internalContext);\n return new Proxy(callAgent, new ProxyCallAgent(callAgent, context, internalContext)) as DeclarativeCallAgent;\n};\n"]}
@@ -64,10 +64,7 @@ export class ProxyCallAgentCommon {
64
64
  }
65
65
  }
66
66
  for (const externalCallsUpdatedListener of this._externalCallsUpdatedListeners) {
67
- externalCallsUpdatedListener({
68
- added: addedStatefulCall,
69
- removed: removedStatefulCall
70
- });
67
+ externalCallsUpdatedListener({ added: addedStatefulCall, removed: removedStatefulCall });
71
68
  }
72
69
  };
73
70
  this.setIncomingCallEnded = (incomingCallId, callEndReason) => {
@@ -117,75 +114,69 @@ export class ProxyCallAgentCommon {
117
114
  // Add a getCommon function and call it in child class
118
115
  getCommon(target, prop) {
119
116
  switch (prop) {
120
- case 'startCall':
121
- {
122
- return this._context.withErrorTeedToState((...args) => {
123
- const call = this.startCall(target, args);
124
- this.addCall(call);
125
- return this.getOrCreateDeclarativeCall(call);
126
- }, 'CallAgent.startCall');
127
- }
128
- case 'join':
129
- {
130
- return this._context.withErrorTeedToState((...args) => {
131
- const call = this.joinCall(target, args);
132
- this.addCall(call);
133
- return this.getOrCreateDeclarativeCall(call);
134
- }, 'CallAgent.join');
135
- }
136
- case 'calls':
137
- {
138
- return Array.from(this._declarativeCalls.values());
139
- }
140
- case 'on':
141
- {
142
- return (...args) => {
143
- // typescript is not smart enough to handle multiple overloads and pull the correct type here so force casting args
144
- const event = args[0];
145
- const isCallsUpdated = event === 'callsUpdated';
146
- if (isCallsUpdated) {
147
- const listener = args[1];
148
- this._externalCallsUpdatedListeners.add(listener);
149
- }
150
- else {
151
- this.agentSubscribe(target, args);
152
- }
153
- };
154
- }
155
- case 'off':
156
- {
157
- return (...args) => {
158
- // typescript is not smart enough to handle multiple overloads and pull the correct type here so force casting args
159
- const event = args[0];
160
- const isCallsUpdated = event === 'callsUpdated';
161
- if (isCallsUpdated) {
162
- const listener = args[1];
163
- this._externalCallsUpdatedListeners.delete(listener);
164
- }
165
- else {
166
- this.agentUnsubscribe(target, args);
167
- }
168
- };
169
- }
170
- case 'dispose':
171
- {
172
- /* @conditional-compile-remove(calling-beta-sdk) */
173
- return () => {
174
- target.dispose();
117
+ case 'startCall': {
118
+ return this._context.withErrorTeedToState((...args) => {
119
+ const call = this.startCall(target, args);
120
+ this.addCall(call);
121
+ return this.getOrCreateDeclarativeCall(call);
122
+ }, 'CallAgent.startCall');
123
+ }
124
+ case 'join': {
125
+ return this._context.withErrorTeedToState((...args) => {
126
+ const call = this.joinCall(target, args);
127
+ this.addCall(call);
128
+ return this.getOrCreateDeclarativeCall(call);
129
+ }, 'CallAgent.join');
130
+ }
131
+ case 'calls': {
132
+ return Array.from(this._declarativeCalls.values());
133
+ }
134
+ case 'on': {
135
+ return (...args) => {
136
+ // typescript is not smart enough to handle multiple overloads and pull the correct type here so force casting args
137
+ const event = args[0];
138
+ const isCallsUpdated = event === 'callsUpdated';
139
+ if (isCallsUpdated) {
140
+ const listener = args[1];
141
+ this._externalCallsUpdatedListeners.add(listener);
142
+ }
143
+ else {
144
+ this.agentSubscribe(target, args);
145
+ }
146
+ };
147
+ }
148
+ case 'off': {
149
+ return (...args) => {
150
+ // typescript is not smart enough to handle multiple overloads and pull the correct type here so force casting args
151
+ const event = args[0];
152
+ const isCallsUpdated = event === 'callsUpdated';
153
+ if (isCallsUpdated) {
154
+ const listener = args[1];
155
+ this._externalCallsUpdatedListeners.delete(listener);
156
+ }
157
+ else {
158
+ this.agentUnsubscribe(target, args);
159
+ }
160
+ };
161
+ }
162
+ case 'dispose': {
163
+ /* @conditional-compile-remove(calling-beta-sdk) */
164
+ return () => {
165
+ target.dispose();
166
+ this.unsubscribe();
167
+ };
168
+ // Wrapping CallAgent.dispose in a callback type (): Promise<void> to accomodate the change of CallAgent.dispose
169
+ // in calling beta version 1.8.0-beta.1 from callback type (): Promise<void> to (): void
170
+ const callAgentDisposeAsyncCallbackWrapper = () => __awaiter(this, void 0, void 0, function* () {
171
+ yield target.dispose();
172
+ return Promise.resolve();
173
+ });
174
+ return () => {
175
+ return callAgentDisposeAsyncCallbackWrapper().then(() => {
175
176
  this.unsubscribe();
176
- };
177
- // Wrapping CallAgent.dispose in a callback type (): Promise<void> to accomodate the change of CallAgent.dispose
178
- // in calling beta version 1.8.0-beta.1 from callback type (): Promise<void> to (): void
179
- const callAgentDisposeAsyncCallbackWrapper = () => __awaiter(this, void 0, void 0, function* () {
180
- yield target.dispose();
181
- return Promise.resolve();
182
177
  });
183
- return () => {
184
- return callAgentDisposeAsyncCallbackWrapper().then(() => {
185
- this.unsubscribe();
186
- });
187
- };
188
- }
178
+ };
179
+ }
189
180
  /**
190
181
  * This attribute is a special case and doesn't exist on the CallAgent interface.
191
182
  * We need this to be able to return a declarative incoming call object using the call agent.
@@ -195,10 +186,9 @@ export class ProxyCallAgentCommon {
195
186
  * 2. Get the incoming call from the new state and it's ID
196
187
  * 3. Use `callAgent.incomingCalls` and filter an incoming call ID to get a declarative incoming call object
197
188
  */
198
- case 'incomingCalls':
199
- {
200
- return Array.from(this._declarativeIncomingCalls.values());
201
- }
189
+ case 'incomingCalls': {
190
+ return Array.from(this._declarativeIncomingCalls.values());
191
+ }
202
192
  default:
203
193
  return Reflect.get(target, prop);
204
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CallAgentDeclarativeCommon.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-stateful-client/src/CallAgentDeclarativeCommon.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Call, CallAgent, CallEndReason, CollectionUpdatedEvent } from '@azure/communication-calling';\nimport { IncomingCallCommon, CallAgentCommon, CallCommon } from './BetaToStableTypes';\n\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCallAgent } from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { DeclarativeCall } from './CallDeclarative';\nimport { CallSubscriber } from './CallSubscriber';\nimport { convertSdkCallToDeclarativeCall, convertSdkIncomingCallToDeclarativeIncomingCall } from './Converter';\nimport { DeclarativeIncomingCall, incomingCallDeclaratify } from './IncomingCallDeclarative';\nimport { IncomingCallSubscriber } from './IncomingCallSubscriber';\nimport { InternalCallContext } from './InternalCallContext';\nimport { disposeAllViews, disposeAllViewsFromCall } from './StreamUtils';\n\n/**\n *\n * @private\n */\nexport type DeclarativeCallCommon = CallCommon & {\n /**\n * Stop any declarative specific subscriptions and remove declarative subscribers.\n */\n unsubscribe(): void;\n};\n\n/**\n * ProxyCallAgent proxies CallAgent and saves any returned state in the given context. It will subscribe to all state\n * updates in the CallAgent and in the contained Calls and RemoteParticipants. When dispose is called it will\n * unsubscribe from all state updates.\n */\nexport abstract class ProxyCallAgentCommon {\n private _context: CallContext;\n private _internalContext: InternalCallContext;\n private _callSubscribers: Map<CallCommon, CallSubscriber>;\n private _incomingCallSubscribers: Map<string, IncomingCallSubscriber>;\n private _declarativeIncomingCalls: Map<string, DeclarativeIncomingCall>;\n private _declarativeCalls: Map<CallCommon, DeclarativeCallCommon>;\n private _externalCallsUpdatedListeners: Set<CollectionUpdatedEvent<CallCommon>>;\n constructor(context: CallContext, internalContext: InternalCallContext) {\n this._context = context;\n this._internalContext = internalContext;\n this._callSubscribers = new Map<Call, CallSubscriber>();\n this._incomingCallSubscribers = new Map<string, IncomingCallSubscriber>();\n this._declarativeIncomingCalls = new Map<string, DeclarativeIncomingCall>();\n this._declarativeCalls = new Map<Call, DeclarativeCall>();\n this._externalCallsUpdatedListeners = new Set<CollectionUpdatedEvent<CallCommon>>();\n }\n\n // Unsubscribe is called when CallAgent is disposed. This should mean no more updating of existing call but we don't\n // remove any existing state.\n protected unregisterSubscriber = (): void => {\n for (const [_, callSubscriber] of this._callSubscribers.entries()) {\n callSubscriber.unsubscribe();\n }\n this._callSubscribers.clear();\n for (const [_, incomingCallSubscriber] of this._incomingCallSubscribers.entries()) {\n incomingCallSubscriber.unsubscribe();\n }\n this._incomingCallSubscribers.clear();\n this._declarativeIncomingCalls.clear();\n for (const [_, declarativeCall] of this._declarativeCalls.entries()) {\n declarativeCall.unsubscribe();\n }\n this._declarativeCalls.clear();\n };\n protected abstract unsubscribe(): void;\n protected abstract callDeclaratify(call: CallCommon, context: CallContext): DeclarativeCallCommon;\n protected callsUpdated = (event: {\n added: CallCommon[];\n removed: CallCommon[];\n }): void => {\n const addedStatefulCall: DeclarativeCallCommon[] = [];\n for (const call of event.added) {\n const statefulCall = this.addCall(call);\n addedStatefulCall.push(statefulCall);\n }\n const removedStatefulCall: DeclarativeCallCommon[] = [];\n for (const call of event.removed) {\n disposeAllViewsFromCall(this._context, this._internalContext, call.id);\n const callSubscriber = this._callSubscribers.get(call);\n if (callSubscriber) {\n callSubscriber.unsubscribe();\n this._callSubscribers.delete(call);\n }\n this._context.setCallEnded(call.id, call.callEndReason);\n const declarativeCall = this._declarativeCalls.get(call);\n if (declarativeCall) {\n declarativeCall.unsubscribe();\n removedStatefulCall.push(declarativeCall);\n this._declarativeCalls.delete(call);\n } else {\n removedStatefulCall.push(this.callDeclaratify(call, this._context));\n }\n }\n for (const externalCallsUpdatedListener of this._externalCallsUpdatedListeners) {\n externalCallsUpdatedListener({\n added: addedStatefulCall,\n removed: removedStatefulCall\n });\n }\n };\n private setIncomingCallEnded = (incomingCallId: string, callEndReason: CallEndReason): void => {\n const incomingCallSubscriber = this._incomingCallSubscribers.get(incomingCallId);\n if (incomingCallSubscriber) {\n incomingCallSubscriber.unsubscribe();\n this._incomingCallSubscribers.delete(incomingCallId);\n }\n this._declarativeIncomingCalls.delete(incomingCallId);\n this._context.setIncomingCallEnded(incomingCallId, callEndReason);\n };\n protected incomingCall = ({\n incomingCall\n }: {\n incomingCall: IncomingCallCommon;\n }): void => {\n // Make sure to not subscribe to the incoming call if we are already subscribed to it.\n if (!this._incomingCallSubscribers.has(incomingCall.id)) {\n this._incomingCallSubscribers.set(incomingCall.id, new IncomingCallSubscriber(incomingCall, this.setIncomingCallEnded));\n }\n this._declarativeIncomingCalls.set(incomingCall.id, incomingCallDeclaratify(incomingCall, this._context));\n this._context.setIncomingCall(convertSdkIncomingCallToDeclarativeIncomingCall(incomingCall));\n };\n protected addCall = (call: CallCommon): DeclarativeCallCommon => {\n this._callSubscribers.get(call)?.unsubscribe();\n\n // For API extentions we need to have the call in the state when we are subscribing as we may want to update the\n // state during the subscription process in the subscriber so we add the call to state before subscribing.\n this._context.setCall(convertSdkCallToDeclarativeCall(call));\n this._callSubscribers.set(call, new CallSubscriber(call, this._context, this._internalContext));\n return this.getOrCreateDeclarativeCall(call);\n };\n private getOrCreateDeclarativeCall = (call: CallCommon): DeclarativeCallCommon => {\n const declarativeCall = this._declarativeCalls.get(call);\n if (declarativeCall) {\n return declarativeCall;\n }\n const newDeclarativeCall = this.callDeclaratify(call, this._context);\n this._declarativeCalls.set(call, newDeclarativeCall);\n return newDeclarativeCall;\n };\n\n // args could be either from teamsCall or Call, set it as unknown and cast it in child class later\n protected abstract startCall(agent: CallAgentCommon, args: unknown[]): CallCommon;\n protected abstract joinCall(agent: CallAgentCommon, args: unknown[]): CallCommon;\n protected abstract agentSubscribe(agent: CallAgentCommon, args: unknown[]): void;\n protected abstract agentUnsubscribe(agent: CallAgentCommon, args: unknown[]): void;\n\n // We can't directly override get function because it is proxied,\n // Add a getCommon function and call it in child class\n protected getCommon<AgentType extends CallAgent | /* @conditional-compile-remove(teams-identity-support) */TeamsCallAgent, P extends keyof CallAgent>(target: AgentType, prop: P): any {\n switch (prop) {\n case 'startCall':\n {\n return this._context.withErrorTeedToState((...args: Parameters<AgentType['startCall']>): CallCommon => {\n const call = this.startCall(target, args);\n this.addCall(call);\n return this.getOrCreateDeclarativeCall(call);\n }, 'CallAgent.startCall');\n }\n case 'join':\n {\n return this._context.withErrorTeedToState((...args: Parameters<AgentType['join']>): CallCommon => {\n const call = this.joinCall(target, args);\n this.addCall(call);\n return this.getOrCreateDeclarativeCall(call);\n }, 'CallAgent.join');\n }\n case 'calls':\n {\n return Array.from(this._declarativeCalls.values());\n }\n case 'on':\n {\n return (...args: Parameters<AgentType['on']>): void => {\n // typescript is not smart enough to handle multiple overloads and pull the correct type here so force casting args\n const event = (args[0] as 'incomingCall' | 'callsUpdated' | 'connectionStateChanged');\n const isCallsUpdated = event === 'callsUpdated';\n if (isCallsUpdated) {\n const listener = ((args[1] as unknown) as CollectionUpdatedEvent<CallCommon>);\n this._externalCallsUpdatedListeners.add(listener);\n } else {\n this.agentSubscribe(target, args);\n }\n };\n }\n case 'off':\n {\n return (...args: Parameters<AgentType['off']>): void => {\n // typescript is not smart enough to handle multiple overloads and pull the correct type here so force casting args\n const event = (args[0] as 'incomingCall' | 'callsUpdated' | 'connectionStateChanged');\n const isCallsUpdated = event === 'callsUpdated';\n if (isCallsUpdated) {\n const listener = ((args[1] as unknown) as CollectionUpdatedEvent<CallCommon>);\n this._externalCallsUpdatedListeners.delete(listener);\n } else {\n this.agentUnsubscribe(target, args);\n }\n };\n }\n case 'dispose':\n {\n /* @conditional-compile-remove(calling-beta-sdk) */\n return (): void => {\n target.dispose();\n this.unsubscribe();\n };\n // Wrapping CallAgent.dispose in a callback type (): Promise<void> to accomodate the change of CallAgent.dispose\n // in calling beta version 1.8.0-beta.1 from callback type (): Promise<void> to (): void\n const callAgentDisposeAsyncCallbackWrapper = async (): Promise<void> => {\n await target.dispose();\n return Promise.resolve();\n };\n return (): Promise<void> => {\n return callAgentDisposeAsyncCallbackWrapper().then(() => {\n this.unsubscribe();\n });\n };\n }\n /**\n * This attribute is a special case and doesn't exist on the CallAgent interface.\n * We need this to be able to return a declarative incoming call object using the call agent.\n * In a standard headless SDK usage, the right way to get an incoming call is to use the `incomingCall` event.\n * However, using the declarative layer, the ideal usage would be to:\n * 1. subscribe to the `onStateChange` event\n * 2. Get the incoming call from the new state and it's ID\n * 3. Use `callAgent.incomingCalls` and filter an incoming call ID to get a declarative incoming call object\n */\n case 'incomingCalls':\n {\n return Array.from(this._declarativeIncomingCalls.values());\n }\n default:\n return Reflect.get(target, prop);\n }\n }\n}\n\n/**\n * @private\n */\nexport const clearCallRelatedState = (context: CallContext, internalContext: InternalCallContext): void => {\n // Make sure there are no existing call data if creating a new CallAgentDeclarative (if creating a new\n // CallAgentDeclarative after disposing of the hold one will mean context have old call state). TODO: should we stop\n // rendering when the previous callAgent is disposed?\n disposeAllViews(context, internalContext);\n context.clearCallRelatedState();\n internalContext.clearCallRelatedState();\n};"]}
1
+ {"version":3,"file":"CallAgentDeclarativeCommon.js","sourceRoot":"","sources":["../../../../../calling-stateful-client/src/CallAgentDeclarativeCommon.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Call, CallAgent, CallEndReason, CollectionUpdatedEvent } from '@azure/communication-calling';\n\nimport { IncomingCallCommon, CallAgentCommon, CallCommon } from './BetaToStableTypes';\n\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCallAgent } from '@azure/communication-calling';\nimport { CallContext } from './CallContext';\nimport { DeclarativeCall } from './CallDeclarative';\nimport { CallSubscriber } from './CallSubscriber';\nimport { convertSdkCallToDeclarativeCall, convertSdkIncomingCallToDeclarativeIncomingCall } from './Converter';\nimport { DeclarativeIncomingCall, incomingCallDeclaratify } from './IncomingCallDeclarative';\nimport { IncomingCallSubscriber } from './IncomingCallSubscriber';\nimport { InternalCallContext } from './InternalCallContext';\nimport { disposeAllViews, disposeAllViewsFromCall } from './StreamUtils';\n\n/**\n *\n * @private\n */\nexport type DeclarativeCallCommon = CallCommon & {\n /**\n * Stop any declarative specific subscriptions and remove declarative subscribers.\n */\n unsubscribe(): void;\n};\n\n/**\n * ProxyCallAgent proxies CallAgent and saves any returned state in the given context. It will subscribe to all state\n * updates in the CallAgent and in the contained Calls and RemoteParticipants. When dispose is called it will\n * unsubscribe from all state updates.\n */\nexport abstract class ProxyCallAgentCommon {\n private _context: CallContext;\n private _internalContext: InternalCallContext;\n private _callSubscribers: Map<CallCommon, CallSubscriber>;\n private _incomingCallSubscribers: Map<string, IncomingCallSubscriber>;\n private _declarativeIncomingCalls: Map<string, DeclarativeIncomingCall>;\n private _declarativeCalls: Map<CallCommon, DeclarativeCallCommon>;\n private _externalCallsUpdatedListeners: Set<CollectionUpdatedEvent<CallCommon>>;\n\n constructor(context: CallContext, internalContext: InternalCallContext) {\n this._context = context;\n this._internalContext = internalContext;\n this._callSubscribers = new Map<Call, CallSubscriber>();\n this._incomingCallSubscribers = new Map<string, IncomingCallSubscriber>();\n this._declarativeIncomingCalls = new Map<string, DeclarativeIncomingCall>();\n this._declarativeCalls = new Map<Call, DeclarativeCall>();\n this._externalCallsUpdatedListeners = new Set<CollectionUpdatedEvent<CallCommon>>();\n }\n\n // Unsubscribe is called when CallAgent is disposed. This should mean no more updating of existing call but we don't\n // remove any existing state.\n protected unregisterSubscriber = (): void => {\n for (const [_, callSubscriber] of this._callSubscribers.entries()) {\n callSubscriber.unsubscribe();\n }\n this._callSubscribers.clear();\n\n for (const [_, incomingCallSubscriber] of this._incomingCallSubscribers.entries()) {\n incomingCallSubscriber.unsubscribe();\n }\n this._incomingCallSubscribers.clear();\n this._declarativeIncomingCalls.clear();\n\n for (const [_, declarativeCall] of this._declarativeCalls.entries()) {\n declarativeCall.unsubscribe();\n }\n this._declarativeCalls.clear();\n };\n\n protected abstract unsubscribe(): void;\n\n protected abstract callDeclaratify(call: CallCommon, context: CallContext): DeclarativeCallCommon;\n\n protected callsUpdated = (event: { added: CallCommon[]; removed: CallCommon[] }): void => {\n const addedStatefulCall: DeclarativeCallCommon[] = [];\n for (const call of event.added) {\n const statefulCall = this.addCall(call);\n addedStatefulCall.push(statefulCall);\n }\n const removedStatefulCall: DeclarativeCallCommon[] = [];\n for (const call of event.removed) {\n disposeAllViewsFromCall(this._context, this._internalContext, call.id);\n const callSubscriber = this._callSubscribers.get(call);\n if (callSubscriber) {\n callSubscriber.unsubscribe();\n this._callSubscribers.delete(call);\n }\n this._context.setCallEnded(call.id, call.callEndReason);\n const declarativeCall = this._declarativeCalls.get(call);\n if (declarativeCall) {\n declarativeCall.unsubscribe();\n removedStatefulCall.push(declarativeCall);\n this._declarativeCalls.delete(call);\n } else {\n removedStatefulCall.push(this.callDeclaratify(call, this._context));\n }\n }\n\n for (const externalCallsUpdatedListener of this._externalCallsUpdatedListeners) {\n externalCallsUpdatedListener({ added: addedStatefulCall, removed: removedStatefulCall });\n }\n };\n\n private setIncomingCallEnded = (incomingCallId: string, callEndReason: CallEndReason): void => {\n const incomingCallSubscriber = this._incomingCallSubscribers.get(incomingCallId);\n if (incomingCallSubscriber) {\n incomingCallSubscriber.unsubscribe();\n this._incomingCallSubscribers.delete(incomingCallId);\n }\n this._declarativeIncomingCalls.delete(incomingCallId);\n this._context.setIncomingCallEnded(incomingCallId, callEndReason);\n };\n\n protected incomingCall = ({ incomingCall }: { incomingCall: IncomingCallCommon }): void => {\n // Make sure to not subscribe to the incoming call if we are already subscribed to it.\n if (!this._incomingCallSubscribers.has(incomingCall.id)) {\n this._incomingCallSubscribers.set(\n incomingCall.id,\n new IncomingCallSubscriber(incomingCall, this.setIncomingCallEnded)\n );\n }\n this._declarativeIncomingCalls.set(incomingCall.id, incomingCallDeclaratify(incomingCall, this._context));\n this._context.setIncomingCall(convertSdkIncomingCallToDeclarativeIncomingCall(incomingCall));\n };\n\n protected addCall = (call: CallCommon): DeclarativeCallCommon => {\n this._callSubscribers.get(call)?.unsubscribe();\n\n // For API extentions we need to have the call in the state when we are subscribing as we may want to update the\n // state during the subscription process in the subscriber so we add the call to state before subscribing.\n this._context.setCall(convertSdkCallToDeclarativeCall(call));\n this._callSubscribers.set(call, new CallSubscriber(call, this._context, this._internalContext));\n return this.getOrCreateDeclarativeCall(call);\n };\n\n private getOrCreateDeclarativeCall = (call: CallCommon): DeclarativeCallCommon => {\n const declarativeCall = this._declarativeCalls.get(call);\n if (declarativeCall) {\n return declarativeCall;\n }\n\n const newDeclarativeCall = this.callDeclaratify(call, this._context);\n this._declarativeCalls.set(call, newDeclarativeCall);\n return newDeclarativeCall;\n };\n\n // args could be either from teamsCall or Call, set it as unknown and cast it in child class later\n protected abstract startCall(agent: CallAgentCommon, args: unknown[]): CallCommon;\n protected abstract joinCall(agent: CallAgentCommon, args: unknown[]): CallCommon;\n protected abstract agentSubscribe(agent: CallAgentCommon, args: unknown[]): void;\n protected abstract agentUnsubscribe(agent: CallAgentCommon, args: unknown[]): void;\n\n // We can't directly override get function because it is proxied,\n // Add a getCommon function and call it in child class\n protected getCommon<\n AgentType extends CallAgent | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallAgent,\n P extends keyof CallAgent\n >(target: AgentType, prop: P): any {\n switch (prop) {\n case 'startCall': {\n return this._context.withErrorTeedToState((...args: Parameters<AgentType['startCall']>): CallCommon => {\n const call = this.startCall(target, args);\n this.addCall(call);\n return this.getOrCreateDeclarativeCall(call);\n }, 'CallAgent.startCall');\n }\n case 'join': {\n return this._context.withErrorTeedToState((...args: Parameters<AgentType['join']>): CallCommon => {\n const call = this.joinCall(target, args);\n this.addCall(call);\n return this.getOrCreateDeclarativeCall(call);\n }, 'CallAgent.join');\n }\n case 'calls': {\n return Array.from(this._declarativeCalls.values());\n }\n case 'on': {\n return (...args: Parameters<AgentType['on']>): void => {\n // typescript is not smart enough to handle multiple overloads and pull the correct type here so force casting args\n const event = args[0] as 'incomingCall' | 'callsUpdated' | 'connectionStateChanged';\n\n const isCallsUpdated = event === 'callsUpdated';\n if (isCallsUpdated) {\n const listener = args[1] as unknown as CollectionUpdatedEvent<CallCommon>;\n this._externalCallsUpdatedListeners.add(listener);\n } else {\n this.agentSubscribe(target, args);\n }\n };\n }\n case 'off': {\n return (...args: Parameters<AgentType['off']>): void => {\n // typescript is not smart enough to handle multiple overloads and pull the correct type here so force casting args\n const event = args[0] as 'incomingCall' | 'callsUpdated' | 'connectionStateChanged';\n\n const isCallsUpdated = event === 'callsUpdated';\n if (isCallsUpdated) {\n const listener = args[1] as unknown as CollectionUpdatedEvent<CallCommon>;\n this._externalCallsUpdatedListeners.delete(listener);\n } else {\n this.agentUnsubscribe(target, args);\n }\n };\n }\n case 'dispose': {\n /* @conditional-compile-remove(calling-beta-sdk) */\n return (): void => {\n target.dispose();\n this.unsubscribe();\n };\n // Wrapping CallAgent.dispose in a callback type (): Promise<void> to accomodate the change of CallAgent.dispose\n // in calling beta version 1.8.0-beta.1 from callback type (): Promise<void> to (): void\n const callAgentDisposeAsyncCallbackWrapper = async (): Promise<void> => {\n await target.dispose();\n return Promise.resolve();\n };\n return (): Promise<void> => {\n return callAgentDisposeAsyncCallbackWrapper().then(() => {\n this.unsubscribe();\n });\n };\n }\n /**\n * This attribute is a special case and doesn't exist on the CallAgent interface.\n * We need this to be able to return a declarative incoming call object using the call agent.\n * In a standard headless SDK usage, the right way to get an incoming call is to use the `incomingCall` event.\n * However, using the declarative layer, the ideal usage would be to:\n * 1. subscribe to the `onStateChange` event\n * 2. Get the incoming call from the new state and it's ID\n * 3. Use `callAgent.incomingCalls` and filter an incoming call ID to get a declarative incoming call object\n */\n case 'incomingCalls': {\n return Array.from(this._declarativeIncomingCalls.values());\n }\n default:\n return Reflect.get(target, prop);\n }\n }\n}\n\n/**\n * @private\n */\nexport const clearCallRelatedState = (context: CallContext, internalContext: InternalCallContext): void => {\n // Make sure there are no existing call data if creating a new CallAgentDeclarative (if creating a new\n // CallAgentDeclarative after disposing of the hold one will mean context have old call state). TODO: should we stop\n // rendering when the previous callAgent is disposed?\n disposeAllViews(context, internalContext);\n\n context.clearCallRelatedState();\n internalContext.clearCallRelatedState();\n};\n"]}