@azure/communication-react 1.11.0-beta.1 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (832) hide show
  1. package/dist/communication-react.d.ts +104 -2153
  2. package/dist/dist-cjs/communication-react/index.js +6151 -11468
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/MessageStatus.d.ts +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/areEqual.d.ts +3 -3
  6. package/dist/dist-esm/acs-ui-common/src/commonProperties.d.ts +2 -2
  7. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/index.d.ts +1 -0
  9. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/logEvent.d.ts +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.d.ts +2 -2
  13. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/telemetry.d.ts +7 -1
  16. package/dist/dist-esm/acs-ui-common/src/telemetry.js +26 -2
  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 +2 -3
  21. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -5
  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 +5 -17
  24. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -13
  25. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +3 -3
  27. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.d.ts +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -4
  30. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.d.ts +16 -0
  32. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +21 -0
  33. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -0
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +5 -15
  35. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +33 -42
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +0 -10
  38. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +2 -2
  40. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -15
  41. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +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.d.ts +2 -5
  44. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +0 -19
  45. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  46. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -6
  48. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -8
  49. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -2
  51. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +5 -10
  52. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.d.ts +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +4 -5
  56. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.d.ts +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +3 -15
  60. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -20
  61. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +3 -10
  64. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -12
  65. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  67. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +2 -2
  68. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +1 -6
  69. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  70. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +1 -1
  71. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +5 -7
  72. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -6
  74. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
  76. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +2 -3
  78. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -5
  79. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +4 -57
  81. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  82. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +3 -9
  83. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +23 -55
  84. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +0 -41
  87. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  88. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -1
  90. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +23 -51
  91. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -10
  94. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.d.ts +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +10 -12
  99. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +28 -13
  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/ParticipantSubscriber.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +0 -1
  106. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -8
  107. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  108. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +12 -29
  109. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +13 -36
  110. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.d.ts +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +40 -34
  113. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.d.ts +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  117. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  118. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -8
  119. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  120. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  122. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -3
  123. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +1 -0
  125. package/dist/dist-esm/calling-stateful-client/src/index.js +1 -0
  126. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  127. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.d.ts +1 -1
  128. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  129. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.d.ts +1 -1
  130. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  131. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.d.ts +1 -1
  132. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -6
  134. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  136. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  137. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  139. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  140. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.d.ts +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +6 -119
  142. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  143. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.d.ts +1 -1
  144. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  145. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.d.ts +1 -1
  146. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  147. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.d.ts +1 -1
  148. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  149. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.d.ts +1 -1
  150. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  151. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  152. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  153. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +5 -5
  155. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  156. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +1 -1
  157. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +8 -8
  159. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.d.ts +12 -5
  161. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +10 -2
  162. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  163. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.d.ts +1 -1
  165. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -4
  166. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  167. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +1 -1
  168. package/dist/dist-esm/chat-stateful-client/src/index.js +1 -1
  169. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  170. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.d.ts +1 -1
  171. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  172. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.d.ts +1 -1
  173. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.d.ts +1 -1
  174. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.d.ts +1 -1
  175. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  176. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +1 -2
  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 +0 -26
  179. package/dist/dist-esm/communication-react/src/index.js +0 -16
  180. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  181. package/dist/dist-esm/communication-react/src/mergedHooks.d.ts +7 -7
  182. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.d.ts +2 -2
  184. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.d.ts +1 -1
  186. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/Announcer.d.ts +1 -1
  188. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +1 -1
  190. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.d.ts +1 -1
  193. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +4 -30
  196. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +3 -10
  197. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +3 -5
  199. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +11 -16
  200. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +2 -23
  202. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +11 -44
  203. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +36 -0
  205. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +47 -0
  206. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -0
  207. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +1 -16
  208. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +3 -98
  209. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.d.ts +6 -0
  211. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js +34 -0
  212. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -0
  213. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.d.ts +22 -0
  214. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js +110 -0
  215. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js.map +1 -0
  216. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.d.ts +2 -2
  220. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.d.ts +1 -1
  222. package/dist/dist-esm/react-components/src/components/ControlBar.d.ts +1 -1
  223. package/dist/dist-esm/react-components/src/components/ControlBarButton.d.ts +1 -1
  224. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +1 -2
  225. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.d.ts +1 -1
  227. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/DevicesButton.d.ts +1 -1
  229. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.d.ts +1 -1
  231. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +0 -6
  232. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +1 -1
  237. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +20 -54
  241. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +5 -27
  242. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/GridLayout.d.ts +2 -2
  245. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +2 -4
  248. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -18
  249. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.d.ts +2 -0
  251. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +2 -2
  252. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +1 -1
  254. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +13 -63
  257. package/dist/dist-esm/react-components/src/components/MessageThread.js +103 -222
  258. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.d.ts +1 -1
  261. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -13
  263. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +6 -5
  264. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +2 -17
  266. package/dist/dist-esm/react-components/src/components/ParticipantList.js +13 -23
  267. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.d.ts +2 -2
  270. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -1
  271. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +1 -3
  272. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  274. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +0 -41
  275. package/dist/dist-esm/react-components/src/components/SendBox.js +3 -31
  276. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.d.ts +1 -1
  280. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/StreamMedia.d.ts +1 -1
  282. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/SystemMessage.d.ts +2 -2
  284. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -2
  287. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  288. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -2
  289. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  290. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -24
  291. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  292. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -2
  293. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  295. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.d.ts +1 -1
  296. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  297. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +24 -9
  299. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.d.ts +1 -1
  301. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +2 -3
  302. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.d.ts +0 -5
  305. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +6 -11
  306. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  308. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.d.ts +0 -2
  309. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +3 -2
  310. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  311. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +1 -1
  312. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  313. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.d.ts +0 -5
  315. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +6 -11
  316. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.d.ts +1 -1
  318. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +3 -15
  324. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +4 -4
  326. package/dist/dist-esm/react-components/src/components/VideoGallery.js +9 -16
  327. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  328. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +0 -7
  329. package/dist/dist-esm/react-components/src/components/VideoTile.js +4 -10
  330. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  331. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -18
  332. package/dist/dist-esm/react-components/src/components/index.js +0 -12
  333. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +1 -1
  337. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +2 -2
  339. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +18 -0
  340. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +1 -2
  342. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.d.ts +1 -1
  345. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +3 -3
  346. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  347. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  349. package/dist/dist-esm/react-components/src/components/utils/common.d.ts +1 -1
  350. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -4
  351. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +4 -5
  354. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.d.ts +1 -2
  356. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/utils.d.ts +1 -1
  361. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.d.ts +1 -1
  363. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  365. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -5
  366. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/index.d.ts +0 -1
  368. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +1 -64
  370. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +2 -1
  372. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +2 -1
  373. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +2 -1
  374. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +2 -1
  375. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -1
  376. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +2 -1
  377. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +2 -1
  378. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +2 -1
  379. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +2 -1
  380. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +2 -1
  381. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +2 -1
  382. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +2 -1
  383. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +2 -1
  384. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +2 -1
  385. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +2 -1
  386. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +2 -1
  387. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +2 -1
  388. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +2 -1
  389. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +2 -1
  390. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +2 -1
  391. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +2 -1
  392. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
  394. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -16
  395. package/dist/dist-esm/react-components/src/theming/icons.js +0 -108
  396. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/theming/themeDuplicates.d.ts +2 -2
  398. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  399. package/dist/dist-esm/react-components/src/theming/themes.d.ts +2 -21
  400. package/dist/dist-esm/react-components/src/theming/themes.js +4 -18
  401. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  402. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.d.ts +1 -1
  403. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +1 -1
  404. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +4 -30
  406. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.d.ts +1 -1
  408. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.d.ts +1 -1
  409. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +2 -10
  410. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +4 -4
  412. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.d.ts +1 -1
  413. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +2 -8
  414. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  415. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  416. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +1 -79
  417. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +6 -117
  418. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  419. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +0 -128
  420. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  421. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +26 -79
  422. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +63 -292
  423. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  424. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +33 -154
  425. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  426. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  427. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.d.ts +1 -1
  428. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  430. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.d.ts +2 -2
  431. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  432. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.d.ts +1 -1
  433. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -2
  434. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +1 -7
  435. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  436. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -7
  437. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +1 -3
  438. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  439. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +9 -55
  440. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  441. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +1 -2
  442. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +16 -83
  443. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  444. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  445. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  446. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -27
  447. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  448. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -20
  449. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  450. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  451. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -27
  452. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  453. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  454. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.d.ts +1 -0
  455. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +8 -2
  456. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  457. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +1 -1
  458. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  459. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  460. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +4 -24
  461. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  462. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +7 -5
  463. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  464. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +10 -12
  465. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  466. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +1 -1
  468. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  469. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.d.ts +2 -2
  470. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  471. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +1 -1
  472. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  473. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.d.ts +12 -0
  474. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +86 -0
  475. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -0
  476. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  477. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  478. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +1 -1
  479. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  480. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  481. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +3 -4
  482. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  483. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  484. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +3 -7
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +6 -23
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.d.ts +1 -1
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -6
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -2
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +1 -3
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +12 -83
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +1 -3
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +1 -20
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.d.ts +1 -20
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -9
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -10
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -20
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -20
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -20
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -20
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +1 -20
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +1 -20
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +0 -4
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -20
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +1 -20
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +1 -20
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -20
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +2 -40
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +1 -20
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +1 -20
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +11 -7
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +47 -21
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.d.ts +1 -1
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +1 -0
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.d.ts +5 -1
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +10 -0
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.d.ts +1 -2
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +18 -6
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +1 -1
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.d.ts +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.d.ts +1 -1
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +22 -14
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +64 -72
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.d.ts +6 -0
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js +31 -0
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -0
  554. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +2 -69
  555. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +12 -41
  556. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  557. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  559. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.d.ts +1 -1
  560. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  561. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -32
  563. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +8 -35
  565. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +11 -123
  566. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  567. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +1 -65
  568. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  569. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +8 -16
  570. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -38
  571. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +1 -14
  573. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -37
  574. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  576. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.d.ts +1 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  578. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -22
  579. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +1 -9
  580. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +1 -21
  582. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -13
  583. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.d.ts +4 -11
  585. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +2 -2
  587. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +15 -140
  588. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  589. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -4
  590. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +11 -33
  592. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +24 -145
  593. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  594. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +4 -32
  595. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +1 -159
  596. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  597. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +11 -26
  598. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  599. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.d.ts +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +0 -2
  601. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.d.ts +14 -14
  603. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +1 -8
  605. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.d.ts +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +1 -1
  608. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +2 -2
  609. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  610. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -3
  611. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.d.ts +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -4
  615. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  617. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
  618. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +0 -11
  619. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +6 -7
  621. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +21 -4
  622. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +2 -2
  625. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  627. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  628. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.d.ts +1 -1
  629. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +0 -1
  630. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +8 -18
  631. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +9 -9
  633. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -48
  635. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  636. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.js.map +1 -1
  639. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +0 -45
  640. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  641. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +0 -1
  643. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.d.ts +1 -1
  648. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +3 -6
  649. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +2 -14
  651. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  652. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -2
  654. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  655. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +51 -76
  658. package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -12
  659. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  661. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  662. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.d.ts +1 -1
  663. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  664. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.d.ts +1 -1
  665. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +6 -17
  667. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +1 -1
  669. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.d.ts +1 -1
  671. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +2 -0
  674. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +2 -0
  676. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -0
  678. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  679. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -0
  680. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -0
  681. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  682. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -0
  683. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  684. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +2 -0
  685. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  686. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -0
  687. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  688. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +2 -0
  689. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -0
  692. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -0
  694. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  695. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +2 -0
  696. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +2 -0
  698. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -0
  700. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  701. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +2 -0
  702. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -0
  704. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -0
  706. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +2 -0
  708. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  709. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -0
  710. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  711. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -0
  712. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  713. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -0
  714. package/dist/tsdoc-metadata.json +1 -1
  715. package/package.json +16 -15
  716. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -45
  717. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +0 -91
  718. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +0 -1
  719. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +0 -19
  720. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +0 -91
  721. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +0 -1
  722. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +0 -23
  723. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -49
  724. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +0 -1
  725. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  726. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  727. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  728. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  729. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -43
  730. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  731. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  732. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -75
  733. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  734. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  735. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -68
  736. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  737. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  738. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
  739. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  740. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +0 -49
  741. package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
  742. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
  743. package/dist/dist-esm/react-components/src/components/ImageGallery.d.ts +0 -71
  744. package/dist/dist-esm/react-components/src/components/ImageGallery.js +0 -56
  745. package/dist/dist-esm/react-components/src/components/ImageGallery.js.map +0 -1
  746. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  747. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -117
  748. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  749. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -41
  750. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -573
  751. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  752. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  753. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -816
  754. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  755. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  756. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  757. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  758. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.d.ts +0 -68
  759. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +0 -205
  760. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js.map +0 -1
  761. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  762. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -68
  763. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  764. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  765. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  766. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  767. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  768. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  769. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  770. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  771. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  772. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  773. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  774. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  775. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  776. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -48
  777. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -218
  778. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  779. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +0 -12
  780. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -93
  781. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +0 -1
  782. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +0 -8
  783. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +0 -26
  784. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +0 -1
  785. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +0 -24
  786. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +0 -28
  787. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +0 -1
  788. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.d.ts +0 -11
  789. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +0 -113
  790. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +0 -1
  791. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  792. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -54
  793. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  794. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +0 -32
  795. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +0 -81
  796. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +0 -1
  797. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.d.ts +0 -37
  798. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +0 -73
  799. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +0 -1
  800. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  801. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  802. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  803. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +0 -15
  804. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +0 -23
  805. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +0 -1
  806. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +0 -6
  807. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +0 -11
  808. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +0 -1
  809. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -12
  810. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -15
  811. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
  812. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +0 -34
  813. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +0 -14
  814. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +0 -1
  815. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +0 -22
  816. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -107
  817. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +0 -1
  818. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +0 -17
  819. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +0 -32
  820. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +0 -1
  821. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +0 -22
  822. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -74
  823. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +0 -1
  824. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +0 -15
  825. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +0 -61
  826. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +0 -1
  827. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +0 -17
  828. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +0 -50
  829. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +0 -1
  830. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +0 -11
  831. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +0 -40
  832. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +0 -1
@@ -26,13 +26,9 @@ export const errorBarSelector = createSelector([getLatestErrors, getDiagnostics,
26
26
  // have timestamps for errors.
27
27
  const activeErrorMessages = [];
28
28
  const isSafari = () => {
29
- /* @conditional-compile-remove(calling-environment-info) */
30
- return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.browser) === 'safari';
31
29
  return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);
32
30
  };
33
31
  const isMacOS = () => {
34
- /* @conditional-compile-remove(calling-environment-info) */
35
- return (environmentInfo === null || environmentInfo === void 0 ? void 0 : environmentInfo.environment.platform) === 'mac';
36
32
  return false;
37
33
  };
38
34
  // Errors reported via diagnostics are more reliable than from API method failures, so process those first.
@@ -1 +1 @@
1
- {"version":3,"file":"errorBarSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-component-bindings/src/errorBarSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallingBaseSelectorProps, getDeviceManager, getDiagnostics, getLatestErrors, getEnvironmentInfo } from './baseSelectors';\nimport { ActiveErrorMessage, ErrorType } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport { CallClientState, CallErrors, CallErrorTarget } from '@internal/calling-stateful-client';\nimport { DiagnosticQuality } from '@azure/communication-calling';\n/**\n * Selector type for {@link ErrorBar} component.\n *\n * @public\n */\nexport type ErrorBarSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {\n activeErrorMessages: ActiveErrorMessage[];\n};\n\n/**\n * Select the first 3 active errors from the state for the `ErrorBar` component.\n *\n * In case there are many errors, only the first three errors are returned to avoid\n * filling up the UI with too many errors.\n *\n * Invariants:\n * - `ErrorType` is never repeated in the returned errors.\n * - Errors are returned in a fixed order by `ErrorType`.\n *\n * @public\n */\nexport const errorBarSelector: ErrorBarSelector = createSelector([getLatestErrors, getDiagnostics, getDeviceManager, getEnvironmentInfo], (latestErrors: CallErrors, diagnostics, deviceManager, environmentInfo): {\n activeErrorMessages: ActiveErrorMessage[];\n} => {\n // The order in which the errors are returned is significant: The `ErrorBar` shows errors on the UI in that order.\n // There are several options for the ordering:\n // - Sorted by when the errors happened (latest first / oldest first).\n // - Stable sort by error type.\n //\n // We chose to stable sort by error type: We intend to show only a small number of errors on the UI and we do not\n // have timestamps for errors.\n const activeErrorMessages: ActiveErrorMessage[] = [];\n const isSafari = (): boolean => {\n /* @conditional-compile-remove(calling-environment-info) */\n return environmentInfo?.environment.browser === 'safari';\n return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);\n };\n const isMacOS = (): boolean => {\n /* @conditional-compile-remove(calling-environment-info) */\n return environmentInfo?.environment.platform === 'mac';\n return false;\n };\n\n // Errors reported via diagnostics are more reliable than from API method failures, so process those first.\n if (diagnostics?.network.latest.networkReceiveQuality?.value === DiagnosticQuality.Bad || diagnostics?.network.latest.networkReceiveQuality?.value === DiagnosticQuality.Poor) {\n activeErrorMessages.push({\n type: 'callNetworkQualityLow'\n });\n }\n if (diagnostics?.media.latest.noSpeakerDevicesEnumerated?.value === true) {\n activeErrorMessages.push({\n type: 'callNoSpeakerFound'\n });\n }\n if (diagnostics?.media.latest.noMicrophoneDevicesEnumerated?.value === true) {\n activeErrorMessages.push({\n type: 'callNoMicrophoneFound'\n });\n }\n if (deviceManager.deviceAccess?.audio === false && isSafari()) {\n activeErrorMessages.push({\n type: 'callMicrophoneAccessDeniedSafari'\n });\n }\n if (deviceManager.deviceAccess?.audio === false && !isSafari()) {\n activeErrorMessages.push({\n type: 'callMicrophoneAccessDenied'\n });\n }\n if (diagnostics?.media.latest.microphonePermissionDenied?.value === true && isMacOS()) {\n activeErrorMessages.push({\n type: 'callMacOsMicrophoneAccessDenied'\n });\n } else if (diagnostics?.media.latest.microphonePermissionDenied?.value === true) {\n activeErrorMessages.push({\n type: 'callMicrophoneAccessDenied'\n });\n }\n const microphoneMuteUnexpectedlyDiagnostic = diagnostics?.media.latest.microphoneMuteUnexpectedly || diagnostics?.media.latest.microphoneNotFunctioning;\n if (microphoneMuteUnexpectedlyDiagnostic) {\n if (microphoneMuteUnexpectedlyDiagnostic.value === DiagnosticQuality.Bad) {\n // Inform the user that microphone stopped working and inform them to start microphone again\n activeErrorMessages.push({\n type: 'callMicrophoneMutedBySystem'\n });\n } else if (microphoneMuteUnexpectedlyDiagnostic.value === DiagnosticQuality.Good) {\n // Inform the user that microphone recovered\n activeErrorMessages.push({\n type: 'callMicrophoneUnmutedBySystem'\n });\n }\n }\n const cameraStoppedUnexpectedlyDiagnostic = diagnostics?.media.latest.cameraStoppedUnexpectedly;\n if (cameraStoppedUnexpectedlyDiagnostic) {\n if (cameraStoppedUnexpectedlyDiagnostic.value === DiagnosticQuality.Bad) {\n // Inform the user that camera stopped working and inform them to start video again\n activeErrorMessages.push({\n type: 'callVideoStoppedBySystem'\n });\n } else if (cameraStoppedUnexpectedlyDiagnostic.value === DiagnosticQuality.Good) {\n // Inform the user that camera recovered\n activeErrorMessages.push({\n type: 'callVideoRecoveredBySystem'\n });\n }\n }\n if (deviceManager.deviceAccess?.video === false && isSafari()) {\n activeErrorMessages.push({\n type: 'callCameraAccessDeniedSafari'\n });\n } else if (deviceManager.deviceAccess?.video === false) {\n activeErrorMessages.push({\n type: 'callCameraAccessDenied'\n });\n } else {\n if (diagnostics?.media.latest.cameraFreeze?.value === true) {\n activeErrorMessages.push({\n type: 'cameraFrozenForRemoteParticipants'\n });\n }\n }\n\n /**\n * show the Mac specific strings if the platform is detected as mac\n */\n if (diagnostics?.media.latest.cameraPermissionDenied?.value === true && isMacOS()) {\n activeErrorMessages.push({\n type: 'callMacOsCameraAccessDenied'\n });\n }\n\n /**\n * This UFD only works on mac still so we should only see it fire on mac.\n */\n if (diagnostics?.media.latest.screenshareRecordingDisabled?.value === true && isMacOS()) {\n activeErrorMessages.push({\n type: 'callMacOsScreenShareAccessDenied'\n });\n } else if (diagnostics?.media.latest.screenshareRecordingDisabled?.value === true) {\n activeErrorMessages.push({\n type: 'startScreenShareGeneric'\n });\n }\n\n // Prefer to show errors with privacy implications.\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopVideo', 'stopVideoGeneric');\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.mute', 'muteGeneric');\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopScreenSharing', 'stopScreenShareGeneric');\n if (latestErrors['Call.startVideo']?.message === 'Call.startVideo: Video operation failure SourceUnavailableError') {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAlreadyInUse');\n } else if (latestErrors['Call.startVideo']?.message === 'Call.startVideo: Video operation failure permissionDeniedError') {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAccessDenied');\n } else {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'startVideoGeneric');\n }\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.unmute', 'unmuteGeneric');\n /* @conditional-compile-remove(video-background-effects) */\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'VideoEffectsFeature.startEffects', 'unableToStartVideoEffect');\n if (latestErrors['CallAgent.join']?.message === 'CallAgent.join: Invalid meeting link') {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallInvalidMeetingLink');\n } else {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallGeneric');\n }\n\n // We only return the first few errors to avoid filling up the UI with too many `MessageBar`s.\n activeErrorMessages.splice(maxErrorCount);\n return {\n activeErrorMessages: activeErrorMessages\n };\n});\nconst appendActiveErrorIfDefined = (activeErrorMessages: ActiveErrorMessage[], latestErrors: CallErrors, target: CallErrorTarget, activeErrorType: ErrorType): void => {\n if (latestErrors[target] === undefined) {\n return;\n }\n activeErrorMessages.push({\n type: activeErrorType,\n timestamp: latestErrors[target].timestamp\n });\n};\nconst maxErrorCount = 3;\"../../react-components/src\"\"../../calling-stateful-client/src\""]}
1
+ {"version":3,"file":"errorBarSelector.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-component-bindings/src/errorBarSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallingBaseSelectorProps, getDeviceManager, getDiagnostics, getLatestErrors, getEnvironmentInfo } from './baseSelectors';\nimport { ActiveErrorMessage, ErrorType } from '@internal/react-components';\nimport { createSelector } from 'reselect';\nimport { CallClientState, CallErrors, CallErrorTarget } from '@internal/calling-stateful-client';\nimport { DiagnosticQuality } from '@azure/communication-calling';\n/**\n * Selector type for {@link ErrorBar} component.\n *\n * @public\n */\nexport type ErrorBarSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {\n activeErrorMessages: ActiveErrorMessage[];\n};\n\n/**\n * Select the first 3 active errors from the state for the `ErrorBar` component.\n *\n * In case there are many errors, only the first three errors are returned to avoid\n * filling up the UI with too many errors.\n *\n * Invariants:\n * - `ErrorType` is never repeated in the returned errors.\n * - Errors are returned in a fixed order by `ErrorType`.\n *\n * @public\n */\nexport const errorBarSelector: ErrorBarSelector = createSelector([getLatestErrors, getDiagnostics, getDeviceManager, getEnvironmentInfo], (latestErrors: CallErrors, diagnostics, deviceManager, environmentInfo): {\n activeErrorMessages: ActiveErrorMessage[];\n} => {\n // The order in which the errors are returned is significant: The `ErrorBar` shows errors on the UI in that order.\n // There are several options for the ordering:\n // - Sorted by when the errors happened (latest first / oldest first).\n // - Stable sort by error type.\n //\n // We chose to stable sort by error type: We intend to show only a small number of errors on the UI and we do not\n // have timestamps for errors.\n const activeErrorMessages: ActiveErrorMessage[] = [];\n const isSafari = (): boolean => {\n return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);\n };\n const isMacOS = (): boolean => {\n return false;\n };\n\n // Errors reported via diagnostics are more reliable than from API method failures, so process those first.\n if (diagnostics?.network.latest.networkReceiveQuality?.value === DiagnosticQuality.Bad || diagnostics?.network.latest.networkReceiveQuality?.value === DiagnosticQuality.Poor) {\n activeErrorMessages.push({\n type: 'callNetworkQualityLow'\n });\n }\n if (diagnostics?.media.latest.noSpeakerDevicesEnumerated?.value === true) {\n activeErrorMessages.push({\n type: 'callNoSpeakerFound'\n });\n }\n if (diagnostics?.media.latest.noMicrophoneDevicesEnumerated?.value === true) {\n activeErrorMessages.push({\n type: 'callNoMicrophoneFound'\n });\n }\n if (deviceManager.deviceAccess?.audio === false && isSafari()) {\n activeErrorMessages.push({\n type: 'callMicrophoneAccessDeniedSafari'\n });\n }\n if (deviceManager.deviceAccess?.audio === false && !isSafari()) {\n activeErrorMessages.push({\n type: 'callMicrophoneAccessDenied'\n });\n }\n if (diagnostics?.media.latest.microphonePermissionDenied?.value === true && isMacOS()) {\n activeErrorMessages.push({\n type: 'callMacOsMicrophoneAccessDenied'\n });\n } else if (diagnostics?.media.latest.microphonePermissionDenied?.value === true) {\n activeErrorMessages.push({\n type: 'callMicrophoneAccessDenied'\n });\n }\n const microphoneMuteUnexpectedlyDiagnostic = diagnostics?.media.latest.microphoneMuteUnexpectedly || diagnostics?.media.latest.microphoneNotFunctioning;\n if (microphoneMuteUnexpectedlyDiagnostic) {\n if (microphoneMuteUnexpectedlyDiagnostic.value === DiagnosticQuality.Bad) {\n // Inform the user that microphone stopped working and inform them to start microphone again\n activeErrorMessages.push({\n type: 'callMicrophoneMutedBySystem'\n });\n } else if (microphoneMuteUnexpectedlyDiagnostic.value === DiagnosticQuality.Good) {\n // Inform the user that microphone recovered\n activeErrorMessages.push({\n type: 'callMicrophoneUnmutedBySystem'\n });\n }\n }\n const cameraStoppedUnexpectedlyDiagnostic = diagnostics?.media.latest.cameraStoppedUnexpectedly;\n if (cameraStoppedUnexpectedlyDiagnostic) {\n if (cameraStoppedUnexpectedlyDiagnostic.value === DiagnosticQuality.Bad) {\n // Inform the user that camera stopped working and inform them to start video again\n activeErrorMessages.push({\n type: 'callVideoStoppedBySystem'\n });\n } else if (cameraStoppedUnexpectedlyDiagnostic.value === DiagnosticQuality.Good) {\n // Inform the user that camera recovered\n activeErrorMessages.push({\n type: 'callVideoRecoveredBySystem'\n });\n }\n }\n if (deviceManager.deviceAccess?.video === false && isSafari()) {\n activeErrorMessages.push({\n type: 'callCameraAccessDeniedSafari'\n });\n } else if (deviceManager.deviceAccess?.video === false) {\n activeErrorMessages.push({\n type: 'callCameraAccessDenied'\n });\n } else {\n if (diagnostics?.media.latest.cameraFreeze?.value === true) {\n activeErrorMessages.push({\n type: 'cameraFrozenForRemoteParticipants'\n });\n }\n }\n\n /**\n * show the Mac specific strings if the platform is detected as mac\n */\n if (diagnostics?.media.latest.cameraPermissionDenied?.value === true && isMacOS()) {\n activeErrorMessages.push({\n type: 'callMacOsCameraAccessDenied'\n });\n }\n\n /**\n * This UFD only works on mac still so we should only see it fire on mac.\n */\n if (diagnostics?.media.latest.screenshareRecordingDisabled?.value === true && isMacOS()) {\n activeErrorMessages.push({\n type: 'callMacOsScreenShareAccessDenied'\n });\n } else if (diagnostics?.media.latest.screenshareRecordingDisabled?.value === true) {\n activeErrorMessages.push({\n type: 'startScreenShareGeneric'\n });\n }\n\n // Prefer to show errors with privacy implications.\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopVideo', 'stopVideoGeneric');\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.mute', 'muteGeneric');\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopScreenSharing', 'stopScreenShareGeneric');\n if (latestErrors['Call.startVideo']?.message === 'Call.startVideo: Video operation failure SourceUnavailableError') {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAlreadyInUse');\n } else if (latestErrors['Call.startVideo']?.message === 'Call.startVideo: Video operation failure permissionDeniedError') {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAccessDenied');\n } else {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'startVideoGeneric');\n }\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.unmute', 'unmuteGeneric');\n /* @conditional-compile-remove(video-background-effects) */\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'VideoEffectsFeature.startEffects', 'unableToStartVideoEffect');\n if (latestErrors['CallAgent.join']?.message === 'CallAgent.join: Invalid meeting link') {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallInvalidMeetingLink');\n } else {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallGeneric');\n }\n\n // We only return the first few errors to avoid filling up the UI with too many `MessageBar`s.\n activeErrorMessages.splice(maxErrorCount);\n return {\n activeErrorMessages: activeErrorMessages\n };\n});\nconst appendActiveErrorIfDefined = (activeErrorMessages: ActiveErrorMessage[], latestErrors: CallErrors, target: CallErrorTarget, activeErrorType: ErrorType): void => {\n if (latestErrors[target] === undefined) {\n return;\n }\n activeErrorMessages.push({\n type: activeErrorType,\n timestamp: latestErrors[target].timestamp\n });\n};\nconst maxErrorCount = 3;"]}
@@ -0,0 +1,16 @@
1
+ import { RemoteParticipantState } from "../../calling-stateful-client/src";
2
+ /**
3
+ * @private
4
+ */
5
+ export declare const getRemoteParticipantsExcludingConsumers: ((state: import("../../calling-stateful-client/src").CallClientState, props: import("./baseSelectors").CallingBaseSelectorProps) => {
6
+ [keys: string]: RemoteParticipantState;
7
+ } | undefined) & import("reselect").OutputSelectorFields<(args_0: {
8
+ [keys: string]: RemoteParticipantState;
9
+ } | undefined) => {
10
+ [keys: string]: RemoteParticipantState;
11
+ } | undefined, {
12
+ clearCache: () => void;
13
+ }> & {
14
+ clearCache: () => void;
15
+ };
16
+ //# sourceMappingURL=getRemoteParticipantsExcludingConsumers.d.ts.map
@@ -0,0 +1,21 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ import { createSelector } from 'reselect';
4
+ import { getRemoteParticipants } from './baseSelectors';
5
+ /**
6
+ * @private
7
+ */
8
+ export const getRemoteParticipantsExcludingConsumers = createSelector([getRemoteParticipants], (remoteParticipants) => {
9
+ /* @conditional-compile-remove(rooms) */
10
+ {
11
+ const newRemoteParticipants = Object.assign({}, remoteParticipants);
12
+ Object.keys(newRemoteParticipants).forEach(k => {
13
+ if (newRemoteParticipants[k].role === 'Consumer') {
14
+ delete newRemoteParticipants[k];
15
+ }
16
+ });
17
+ return newRemoteParticipants;
18
+ }
19
+ return remoteParticipants;
20
+ });
21
+ //# sourceMappingURL=getRemoteParticipantsExcludingConsumers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRemoteParticipantsExcludingConsumers.js","sourceRoot":"","sources":["../../../../preprocess-dist/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGxD;;GAEG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,cAAc,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,kBAAkB,EAEpG,EAAE;IACd,wCAAwC;IACxC,CAAC;QACC,MAAM,qBAAqB,qBACtB,kBAAkB,CACtB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC7C,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACjD,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createSelector } from 'reselect';\nimport { getRemoteParticipants } from './baseSelectors';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\n\n/**\n * @private\n */\nexport const getRemoteParticipantsExcludingConsumers = createSelector([getRemoteParticipants], (remoteParticipants): {\n [keys: string]: RemoteParticipantState;\n} | undefined => {\n /* @conditional-compile-remove(rooms) */\n {\n const newRemoteParticipants = {\n ...remoteParticipants\n };\n Object.keys(newRemoteParticipants).forEach(k => {\n if (newRemoteParticipants[k].role === 'Consumer') {\n delete newRemoteParticipants[k];\n }\n });\n return newRemoteParticipants;\n }\n return remoteParticipants;\n});"]}
@@ -1,10 +1,6 @@
1
1
  import { AudioDeviceInfo, Call, LocalVideoStream, StartCallOptions, VideoDeviceInfo, BackgroundBlurEffect, BackgroundReplacementEffect, BackgroundBlurConfig, BackgroundReplacementConfig } from '@azure/communication-calling';
2
- import { DtmfTone, AddPhoneNumberOptions } from '@azure/communication-calling';
3
- import { TeamsCall } from '@azure/communication-calling';
4
- import { PermissionConstraints } from '@azure/communication-calling';
5
2
  import { StatefulCallClient, StatefulDeviceManager } from "../../../calling-stateful-client/src";
6
3
  import { CreateVideoStreamViewResult, VideoStreamOptions } from "../../../react-components/src";
7
- import { CommunicationUserIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';
8
4
  import { CommunicationIdentifier } from '@azure/communication-common';
9
5
  /**
10
6
  * Object containing all the handlers required for calling components.
@@ -28,9 +24,6 @@ export interface CommonCallingHandlers {
28
24
  onRaiseHand: () => Promise<void>;
29
25
  onLowerHand: () => Promise<void>;
30
26
  onToggleRaiseHand: () => Promise<void>;
31
- onToggleHold: () => Promise<void>;
32
- onAddParticipant(participant: CommunicationUserIdentifier): Promise<void>;
33
- onAddParticipant(participant: PhoneNumberIdentifier, options: AddPhoneNumberOptions): Promise<void>;
34
27
  onCreateLocalStreamView: (options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
35
28
  onCreateRemoteStreamView: (userId: string, options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
36
29
  /**
@@ -40,10 +33,7 @@ export interface CommonCallingHandlers {
40
33
  onDisposeLocalStreamView: () => Promise<void>;
41
34
  onDisposeRemoteVideoStreamView: (userId: string) => Promise<void>;
42
35
  onDisposeRemoteScreenShareStreamView: (userId: string) => Promise<void>;
43
- onSendDtmfTone: (dtmfTone: DtmfTone) => Promise<void>;
44
36
  onRemoveParticipant(userId: string): Promise<void>;
45
- onRemoveParticipant(participant: CommunicationIdentifier): Promise<void>;
46
- askDevicePermission: (constrain: PermissionConstraints) => Promise<void>;
47
37
  onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions) => void;
48
38
  onRemoveVideoBackgroundEffects: () => Promise<void>;
49
39
  onBlurVideoBackground: (backgroundBlurConfig?: BackgroundBlurConfig) => Promise<void>;
@@ -58,7 +48,7 @@ export interface CommonCallingHandlers {
58
48
  *
59
49
  * @public
60
50
  */
61
- export declare type CaptionsOptions = {
51
+ export type CaptionsOptions = {
62
52
  spokenLanguage: string;
63
53
  };
64
54
  /**
@@ -70,7 +60,7 @@ export declare const areStreamsEqual: (prevStream: LocalVideoStream, newStream:
70
60
  *
71
61
  * @public
72
62
  */
73
- export declare type VideoBackgroundEffectsDependency = {
63
+ export type VideoBackgroundEffectsDependency = {
74
64
  createBackgroundBlurEffect: (config?: BackgroundBlurConfig) => BackgroundBlurEffect;
75
65
  createBackgroundReplacementEffect: (config: BackgroundReplacementConfig) => BackgroundReplacementEffect;
76
66
  };
@@ -79,7 +69,7 @@ export declare type VideoBackgroundEffectsDependency = {
79
69
  *
80
70
  * @private
81
71
  */
82
- export declare const createDefaultCommonCallingHandlers: (callClient: StatefulCallClient, deviceManager: StatefulDeviceManager | undefined, call: Call | /* @conditional-compile-remove(teams-identity-support) */ TeamsCall | undefined, options?: {
83
- onResolveVideoBackgroundEffectsDependency?: (() => Promise<VideoBackgroundEffectsDependency>) | undefined;
84
- } | undefined) => CommonCallingHandlers;
72
+ export declare const createDefaultCommonCallingHandlers: (callClient: StatefulCallClient, deviceManager: StatefulDeviceManager | undefined, call: Call | undefined, options?: {
73
+ onResolveVideoBackgroundEffectsDependency?: () => Promise<VideoBackgroundEffectsDependency>;
74
+ }) => CommonCallingHandlers;
85
75
  //# sourceMappingURL=createCommonHandlers.d.ts.map
@@ -58,38 +58,46 @@ export const createDefaultCommonCallingHandlers = memoizeOne((callClient, device
58
58
  });
59
59
  const onToggleCamera = (options) => __awaiter(void 0, void 0, void 0, function* () {
60
60
  const previewOn = _isPreviewOn(callClient.getState().deviceManager);
61
- if (previewOn && call && call.state === 'Connecting') {
62
- // This is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
63
- // The root cause of the issue is caused by never transitioning the unparented view to the
64
- // call object when going from configuration page (disconnected call state) to connecting.
65
- //
66
- // Currently the only time the local video stream is moved from unparented view to the call
67
- // object is when we transition from connecting -> call state. If the camera was on,
68
- // inside the MediaGallery we trigger toggleCamera. This triggers onStartLocalVideo which
69
- // destroys the unparentedView and creates a new stream in the call - so all looks well.
70
- //
71
- // However, if someone turns off their camera during the lobbyOrConnecting screen, the
72
- // call.localVideoStreams will be empty (as the stream is currently stored in the unparented
73
- // views and was never transitioned to the call object) and thus we incorrectly try to create
74
- // a new video stream for the call object, instead of only stopping the unparented view.
75
- //
76
- // The correct fix for this is to ensure that callAgent.onStartCall is called with the
77
- // localvideostream as a videoOption. That will mean call.onLocalVideoStreamsUpdated will
78
- // be triggered when the call is in connecting state, which we can then transition the
79
- // local video stream to the stateful call client and get into a clean state.
80
- yield onDisposeLocalStreamView();
81
- return;
82
- }
61
+ // the disposal of the unparented views is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.
62
+ // The root cause of the issue is caused by never transitioning the unparented view to the
63
+ // call object when going from configuration page (disconnected call state) to connecting.
64
+ //
65
+ // Currently the only time the local video stream is moved from unparented view to the call
66
+ // object is when we transition from connecting -> call state. If the camera was on,
67
+ // inside the MediaGallery we trigger toggleCamera. This triggers onStartLocalVideo which
68
+ // destroys the unparentedView and creates a new stream in the call - so all looks well.
69
+ //
70
+ // However, if someone turns off their camera during the lobbyOrConnecting screen, the
71
+ // call.localVideoStreams will be empty (as the stream is currently stored in the unparented
72
+ // views and was never transitioned to the call object) and thus we incorrectly try to create
73
+ // a new video stream for the call object, instead of only stopping the unparented view.
74
+ //
75
+ // The correct fix for this is to ensure that callAgent.onStartCall is called with the
76
+ // localvideostream as a videoOption. That will mean call.onLocalVideoStreamsUpdated will
77
+ // be triggered when the call is in connecting state, which we can then transition the
78
+ // local video stream to the stateful call client and get into a clean state.
83
79
  if (call && (_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {
84
80
  const stream = call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');
85
- if (stream) {
86
- yield onStopLocalVideo(stream);
81
+ const unparentedViews = callClient.getState().deviceManager.unparentedViews;
82
+ if (stream || unparentedViews.length > 0) {
83
+ unparentedViews && (yield unparentedViews.forEach(view => view.mediaStreamType === 'Video' && callClient.disposeView(undefined, undefined, view)));
84
+ stream && (yield onStopLocalVideo(stream));
87
85
  }
88
86
  else {
89
87
  yield onStartLocalVideo();
90
88
  }
91
89
  }
92
90
  else {
91
+ /**
92
+ * This will create a unparented view to be used on the configuration page and the connecting screen
93
+ *
94
+ * If the device that the stream will come from is not on from permissions checks, then it will take time
95
+ * to create the stream since device is off. If we are turn the camera on immedietly on the configuration page we see it is
96
+ * fast but that is because the device is already primed to return a stream.
97
+ *
98
+ * On the connecting page the device has already turned off and the connecting window is so small we do not see the resulting
99
+ * unparented view from the code below.
100
+ */
93
101
  const selectedCamera = callClient.getState().deviceManager.selectedCamera;
94
102
  if (selectedCamera) {
95
103
  if (previewOn) {
@@ -156,7 +164,7 @@ export const createDefaultCommonCallingHandlers = memoizeOne((callClient, device
156
164
  }
157
165
  });
158
166
  const onToggleMicrophone = () => __awaiter(void 0, void 0, void 0, function* () {
159
- if (!call || !_isInCall(call.state)) {
167
+ if (!call || !(_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {
160
168
  throw new Error(`Please invoke onToggleMicrophone after call is started`);
161
169
  }
162
170
  return call.isMuted ? yield call.unmute() : yield call.mute();
@@ -169,8 +177,6 @@ export const createDefaultCommonCallingHandlers = memoizeOne((callClient, device
169
177
  forEveryone: forEveryone === true ? true : false
170
178
  }));
171
179
  });
172
- /* @conditional-compile-remove(PSTN-calls) */
173
- const onToggleHold = () => __awaiter(void 0, void 0, void 0, function* () { return (call === null || call === void 0 ? void 0 : call.state) === 'LocalHold' ? yield (call === null || call === void 0 ? void 0 : call.resume()) : yield (call === null || call === void 0 ? void 0 : call.hold()); });
174
180
  const onCreateLocalStreamView = (options = {
175
181
  scalingMode: 'Crop',
176
182
  isMirrored: true
@@ -292,17 +298,9 @@ export const createDefaultCommonCallingHandlers = memoizeOne((callClient, device
292
298
  // TODO: we need to remember which LocalVideoStream was used for LocalPreview and dispose that one.
293
299
  yield disposeAllLocalPreviewViews(callClient);
294
300
  });
295
- /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
296
- const onSendDtmfTone = (dtmfTone) => __awaiter(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.sendDtmf(dtmfTone)); });
297
301
  const notImplemented = () => {
298
302
  throw new Error('Not implemented, cannot call a method from an abstract object');
299
303
  };
300
- /* @conditional-compile-remove(call-readiness) */
301
- const askDevicePermission = (constrain) => __awaiter(void 0, void 0, void 0, function* () {
302
- if (deviceManager) {
303
- yield (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.askDevicePermission(constrain));
304
- }
305
- });
306
304
  /* @conditional-compile-remove(video-background-effects) */
307
305
  const onRemoveVideoBackgroundEffects = () => __awaiter(void 0, void 0, void 0, function* () {
308
306
  const stream = (call === null || call === void 0 ? void 0 : call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video')) || (deviceManager === null || deviceManager === void 0 ? void 0 : deviceManager.getUnparentedVideoStreams().find(stream => stream.mediaStreamType === 'Video'));
@@ -361,8 +359,6 @@ export const createDefaultCommonCallingHandlers = memoizeOne((callClient, device
361
359
  });
362
360
  return {
363
361
  onHangUp,
364
- /* @conditional-compile-remove(PSTN-calls) */
365
- onToggleHold,
366
362
  onSelectCamera,
367
363
  onSelectMicrophone,
368
364
  onSelectSpeaker,
@@ -384,13 +380,8 @@ export const createDefaultCommonCallingHandlers = memoizeOne((callClient, device
384
380
  onLowerHand,
385
381
  /* @conditional-compile-remove(raise-hand) */
386
382
  onToggleRaiseHand,
387
- /* @conditional-compile-remove(PSTN-calls) */
388
- onAddParticipant: notImplemented,
389
383
  onRemoveParticipant: notImplemented,
390
384
  onStartCall: notImplemented,
391
- /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */ onSendDtmfTone,
392
- /* @conditional-compile-remove(call-readiness) */
393
- askDevicePermission,
394
385
  /* @conditional-compile-remove(video-background-effects) */
395
386
  onRemoveVideoBackgroundEffects,
396
387
  /* @conditional-compile-remove(video-background-effects) */
@@ -1 +1 @@
1
- {"version":3,"file":"createCommonHandlers.js","sourceRoot":"","sources":["../../../../../preprocess-dist/calling-component-bindings/src/handlers/createCommonHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AudioDeviceInfo, Call, LocalVideoStream, StartCallOptions, VideoDeviceInfo, BackgroundBlurEffect, BackgroundReplacementEffect, BackgroundBlurConfig, BackgroundReplacementConfig } from '@azure/communication-calling';\n/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\nimport { DtmfTone, AddPhoneNumberOptions } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCall } from '@azure/communication-calling';\n/* @conditional-compile-remove(call-readiness) */\nimport { PermissionConstraints } from '@azure/communication-calling';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CreateViewResult, StatefulCallClient, StatefulDeviceManager } from '@internal/calling-stateful-client';\nimport memoizeOne from 'memoize-one';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { disposeAllLocalPreviewViews, _isInCall, _isInLobbyOrConnecting, _isPreviewOn } from '../utils/callUtils';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { CommunicationUserIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { CommunicationIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(video-background-effects) */ /* @conditional-compile-remove(close-captions) */ /* @conditional-compile-remove(raise-hand) */\nimport { Features } from '@azure/communication-calling';\n/* @conditional-compile-remove(close-captions) */\nimport { TeamsCaptions } from '@azure/communication-calling';\n\n/**\n * Object containing all the handlers required for calling components.\n *\n * Calling related components from this package are able to pick out relevant handlers from this object.\n * See {@link useHandlers} and {@link usePropsFor}.\n *\n * @public\n */\nexport interface CommonCallingHandlers {\n onStartLocalVideo: () => Promise<void>;\n onToggleCamera: (options?: VideoStreamOptions) => Promise<void>;\n onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;\n onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;\n onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>;\n onToggleMicrophone: () => Promise<void>;\n onStartScreenShare: () => Promise<void>;\n onStopScreenShare: () => Promise<void>;\n onToggleScreenShare: () => Promise<void>;\n onHangUp: (forEveryone?: boolean) => Promise<void>;\n /* @conditional-compile-remove(raise-hand) */\n onRaiseHand: () => Promise<void>;\n /* @conditional-compile-remove(raise-hand) */\n onLowerHand: () => Promise<void>;\n /* @conditional-compile-remove(raise-hand) */\n onToggleRaiseHand: () => Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n onToggleHold: () => Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant(participant: CommunicationUserIdentifier): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant(participant: PhoneNumberIdentifier, options: AddPhoneNumberOptions): Promise<void>;\n onCreateLocalStreamView: (options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;\n onCreateRemoteStreamView: (userId: string, options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;\n /**\n * @deprecated use {@link onDisposeRemoteVideoStreamView} and {@link onDisposeRemoteScreenShareStreamView} instead.\n */\n onDisposeRemoteStreamView: (userId: string) => Promise<void>;\n onDisposeLocalStreamView: () => Promise<void>;\n onDisposeRemoteVideoStreamView: (userId: string) => Promise<void>;\n onDisposeRemoteScreenShareStreamView: (userId: string) => Promise<void>;\n /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\n onSendDtmfTone: (dtmfTone: DtmfTone) => Promise<void>;\n onRemoveParticipant(userId: string): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n onRemoveParticipant(participant: CommunicationIdentifier): Promise<void>;\n /* @conditional-compile-remove(call-readiness) */\n askDevicePermission: (constrain: PermissionConstraints) => Promise<void>;\n onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions) => void;\n /* @conditional-compile-remove(video-background-effects) */\n onRemoveVideoBackgroundEffects: () => Promise<void>;\n /* @conditional-compile-remove(video-background-effects) */\n onBlurVideoBackground: (backgroundBlurConfig?: BackgroundBlurConfig) => Promise<void>;\n /* @conditional-compile-remove(video-background-effects) */\n onReplaceVideoBackground: (backgroundReplacementConfig: BackgroundReplacementConfig) => Promise<void>;\n /* @conditional-compile-remove(close-captions) */\n onStartCaptions: (options?: CaptionsOptions) => Promise<void>;\n /* @conditional-compile-remove(close-captions) */\n onStopCaptions: () => Promise<void>;\n /* @conditional-compile-remove(close-captions) */\n onSetSpokenLanguage: (language: string) => Promise<void>;\n /* @conditional-compile-remove(close-captions) */\n onSetCaptionLanguage: (language: string) => Promise<void>;\n}\n\n/**\n * options bag to start captions\n *\n * @public\n */\nexport type CaptionsOptions = {\n spokenLanguage: string;\n};\n\n/**\n * @private\n */\nexport const areStreamsEqual = (prevStream: LocalVideoStream, newStream: LocalVideoStream): boolean => {\n return !!prevStream && !!newStream && prevStream.source.id === newStream.source.id;\n};\n\n/**\n * Dependency type to be injected for video background effects\n *\n * @public\n */\nexport type VideoBackgroundEffectsDependency = {\n createBackgroundBlurEffect: (config?: BackgroundBlurConfig) => BackgroundBlurEffect;\n createBackgroundReplacementEffect: (config: BackgroundReplacementConfig) => BackgroundReplacementEffect;\n};\n\n/**\n * Create the common implementation of {@link CallingHandlers} for all types of Call\n *\n * @private\n */\nexport const createDefaultCommonCallingHandlers = memoizeOne((callClient: StatefulCallClient, deviceManager: StatefulDeviceManager | undefined, call: Call | /* @conditional-compile-remove(teams-identity-support) */TeamsCall | undefined, options?: {\n onResolveVideoBackgroundEffectsDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n}): CommonCallingHandlers => {\n const onStartLocalVideo = async (): Promise<void> => {\n // Before the call object creates a stream, dispose of any local preview streams.\n // @TODO: is there any way to parent the unparented view to the call object instead\n // of disposing and creating a new stream?\n await disposeAllLocalPreviewViews(callClient);\n const callId = call?.id;\n let videoDeviceInfo = callClient.getState().deviceManager.selectedCamera;\n if (!videoDeviceInfo) {\n const cameras = await deviceManager?.getCameras();\n videoDeviceInfo = cameras && cameras.length > 0 ? cameras[0] : undefined;\n videoDeviceInfo && deviceManager?.selectCamera(videoDeviceInfo);\n }\n if (!callId || !videoDeviceInfo) {\n return;\n }\n const stream = new LocalVideoStream(videoDeviceInfo);\n if (call && !call.localVideoStreams.find(s => areStreamsEqual(s, stream))) {\n await call.startVideo(stream);\n }\n };\n const onStopLocalVideo = async (stream: LocalVideoStream): Promise<void> => {\n const callId = call?.id;\n if (!callId) {\n return;\n }\n if (call && call.localVideoStreams.find(s => areStreamsEqual(s, stream))) {\n await call.stopVideo(stream);\n }\n };\n const onToggleCamera = async (options?: VideoStreamOptions): Promise<void> => {\n const previewOn = _isPreviewOn(callClient.getState().deviceManager);\n if (previewOn && call && call.state === 'Connecting') {\n // This is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.\n // The root cause of the issue is caused by never transitioning the unparented view to the\n // call object when going from configuration page (disconnected call state) to connecting.\n //\n // Currently the only time the local video stream is moved from unparented view to the call\n // object is when we transition from connecting -> call state. If the camera was on,\n // inside the MediaGallery we trigger toggleCamera. This triggers onStartLocalVideo which\n // destroys the unparentedView and creates a new stream in the call - so all looks well.\n //\n // However, if someone turns off their camera during the lobbyOrConnecting screen, the\n // call.localVideoStreams will be empty (as the stream is currently stored in the unparented\n // views and was never transitioned to the call object) and thus we incorrectly try to create\n // a new video stream for the call object, instead of only stopping the unparented view.\n //\n // The correct fix for this is to ensure that callAgent.onStartCall is called with the\n // localvideostream as a videoOption. That will mean call.onLocalVideoStreamsUpdated will\n // be triggered when the call is in connecting state, which we can then transition the\n // local video stream to the stateful call client and get into a clean state.\n await onDisposeLocalStreamView();\n return;\n }\n if (call && (_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {\n const stream = call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');\n if (stream) {\n await onStopLocalVideo(stream);\n } else {\n await onStartLocalVideo();\n }\n } else {\n const selectedCamera = callClient.getState().deviceManager.selectedCamera;\n if (selectedCamera) {\n if (previewOn) {\n await onDisposeLocalStreamView();\n } else {\n await callClient.createView(undefined, undefined, {\n source: selectedCamera,\n mediaStreamType: 'Video'\n }, options);\n }\n }\n }\n };\n const onSelectMicrophone = async (device: AudioDeviceInfo): Promise<void> => {\n if (!deviceManager) {\n return;\n }\n return deviceManager.selectMicrophone(device);\n };\n const onSelectSpeaker = async (device: AudioDeviceInfo): Promise<void> => {\n if (!deviceManager) {\n return;\n }\n return deviceManager.selectSpeaker(device);\n };\n const onSelectCamera = async (device: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void> => {\n if (!deviceManager) {\n return;\n }\n if (call && _isInCall(call.state)) {\n deviceManager.selectCamera(device);\n const stream = call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');\n return stream?.switchSource(device);\n } else {\n const previewOn = _isPreviewOn(callClient.getState().deviceManager);\n if (!previewOn) {\n deviceManager.selectCamera(device);\n return;\n }\n await onDisposeLocalStreamView();\n deviceManager.selectCamera(device);\n await callClient.createView(undefined, undefined, {\n source: device,\n mediaStreamType: 'Video'\n }, options);\n }\n };\n\n /* @conditional-compile-remove(raise-hand) */\n const onRaiseHand = async (): Promise<void> => await call?.feature(Features.RaiseHand)?.raiseHand();\n\n /* @conditional-compile-remove(raise-hand) */\n const onLowerHand = async (): Promise<void> => await call?.feature(Features.RaiseHand)?.lowerHand();\n\n /* @conditional-compile-remove(raise-hand) */\n const onToggleRaiseHand = async (): Promise<void> => {\n const raiseHandFeature = call?.feature(Features.RaiseHand);\n const localUserId = callClient.getState().userId;\n const isLocalRaisedHand = raiseHandFeature?.getRaisedHands().find(publishedState => toFlatCommunicationIdentifier(publishedState.identifier) === toFlatCommunicationIdentifier(localUserId));\n if (isLocalRaisedHand) {\n await raiseHandFeature?.lowerHand();\n } else {\n await raiseHandFeature?.raiseHand();\n }\n };\n const onToggleMicrophone = async (): Promise<void> => {\n if (!call || !_isInCall(call.state)) {\n throw new Error(`Please invoke onToggleMicrophone after call is started`);\n }\n return call.isMuted ? await call.unmute() : await call.mute();\n };\n const onStartScreenShare = async (): Promise<void> => await call?.startScreenSharing();\n const onStopScreenShare = async (): Promise<void> => await call?.stopScreenSharing();\n const onToggleScreenShare = async (): Promise<void> => call?.isScreenSharingOn ? await onStopScreenShare() : await onStartScreenShare();\n const onHangUp = async (forEveryone?: boolean): Promise<void> => await call?.hangUp({\n forEveryone: forEveryone === true ? true : false\n });\n\n /* @conditional-compile-remove(PSTN-calls) */\n const onToggleHold = async (): Promise<void> => call?.state === 'LocalHold' ? await call?.resume() : await call?.hold();\n const onCreateLocalStreamView = async (options = ({\n scalingMode: 'Crop',\n isMirrored: true\n } as VideoStreamOptions)): Promise<void | CreateVideoStreamViewResult> => {\n if (!call || call.localVideoStreams.length === 0) {\n return;\n }\n const callState = callClient.getState().calls[call.id];\n if (!callState) {\n return;\n }\n const localStream = callState.localVideoStreams.find(item => item.mediaStreamType === 'Video');\n if (!localStream) {\n return;\n }\n const {\n view\n } = (await callClient.createView(call.id, undefined, localStream, options)) ?? {};\n return view ? {\n view\n } : undefined;\n };\n const onCreateRemoteStreamView = async (userId: string, options = ({\n scalingMode: 'Crop'\n } as VideoStreamOptions)): Promise<void | CreateVideoStreamViewResult> => {\n if (!call) {\n return;\n }\n const callState = callClient.getState().calls[call.id];\n if (!callState) {\n throw new Error(`Call Not Found: ${call.id}`);\n }\n const participant = Object.values(callState.remoteParticipants).find(participant => toFlatCommunicationIdentifier(participant.identifier) === userId);\n if (!participant || !participant.videoStreams) {\n return;\n }\n\n // Find the first available stream, if there is none, then get the first stream\n const remoteVideoStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'Video' && i.isAvailable) || Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'Video');\n const screenShareStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'ScreenSharing' && i.isAvailable) || Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'ScreenSharing');\n let createViewResult: CreateViewResult | undefined = undefined;\n if (remoteVideoStream && remoteVideoStream.isAvailable && !remoteVideoStream.view) {\n createViewResult = await callClient.createView(call.id, participant.identifier, remoteVideoStream, options);\n }\n if (screenShareStream && screenShareStream.isAvailable && !screenShareStream.view) {\n // Hardcoded `scalingMode` since it is highly unlikely that CONTOSO would ever want to use a different scaling mode for screenshare.\n // Using `Crop` would crop the contents of screenshare and `Stretch` would warp it.\n // `Fit` is the only mode that maintains the integrity of the screen being shared.\n createViewResult = await callClient.createView(call.id, participant.identifier, screenShareStream, {\n scalingMode: 'Fit'\n });\n }\n return createViewResult?.view ? {\n view: createViewResult?.view\n } : undefined;\n };\n const onDisposeRemoteStreamView = async (userId: string): Promise<void> => {\n if (!call) {\n return;\n }\n const callState = callClient.getState().calls[call.id];\n if (!callState) {\n throw new Error(`Call Not Found: ${call.id}`);\n }\n const participant = Object.values(callState.remoteParticipants).find(participant => toFlatCommunicationIdentifier(participant.identifier) === userId);\n if (!participant || !participant.videoStreams) {\n return;\n }\n const remoteVideoStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'Video');\n const screenShareStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'ScreenSharing');\n if (remoteVideoStream && remoteVideoStream.view) {\n callClient.disposeView(call.id, participant.identifier, remoteVideoStream);\n }\n if (screenShareStream && screenShareStream.view) {\n callClient.disposeView(call.id, participant.identifier, screenShareStream);\n }\n };\n const onDisposeRemoteVideoStreamView = async (userId: string): Promise<void> => {\n if (!call) {\n return;\n }\n const callState = callClient.getState().calls[call.id];\n if (!callState) {\n throw new Error(`Call Not Found: ${call.id}`);\n }\n const participant = Object.values(callState.remoteParticipants).find(participant => toFlatCommunicationIdentifier(participant.identifier) === userId);\n if (!participant || !participant.videoStreams) {\n return;\n }\n const remoteVideoStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'Video');\n if (remoteVideoStream && remoteVideoStream.view) {\n callClient.disposeView(call.id, participant.identifier, remoteVideoStream);\n }\n };\n const onDisposeRemoteScreenShareStreamView = async (userId: string): Promise<void> => {\n if (!call) {\n return;\n }\n const callState = callClient.getState().calls[call.id];\n if (!callState) {\n throw new Error(`Call Not Found: ${call.id}`);\n }\n const participant = Object.values(callState.remoteParticipants).find(participant => toFlatCommunicationIdentifier(participant.identifier) === userId);\n if (!participant || !participant.videoStreams) {\n return;\n }\n const screenShareStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'ScreenSharing');\n if (screenShareStream && screenShareStream.view) {\n callClient.disposeView(call.id, participant.identifier, screenShareStream);\n }\n };\n const onDisposeLocalStreamView = async (): Promise<void> => {\n // If the user is currently in a call, dispose of the local stream view attached to that call.\n const callState = call && callClient.getState().calls[call.id];\n const localStream = callState?.localVideoStreams.find(item => item.mediaStreamType === 'Video');\n if (call && callState && localStream) {\n callClient.disposeView(call.id, undefined, localStream);\n }\n\n // If the user is not in a call we currently assume any unparented view is a LocalPreview and stop all\n // since those are only used for LocalPreview currently.\n // TODO: we need to remember which LocalVideoStream was used for LocalPreview and dispose that one.\n await disposeAllLocalPreviewViews(callClient);\n };\n\n /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\n const onSendDtmfTone = async (dtmfTone: DtmfTone): Promise<void> => await call?.sendDtmf(dtmfTone);\n const notImplemented = (): any => {\n throw new Error('Not implemented, cannot call a method from an abstract object');\n };\n\n /* @conditional-compile-remove(call-readiness) */\n const askDevicePermission = async (constrain: PermissionConstraints): Promise<void> => {\n if (deviceManager) {\n await deviceManager?.askDevicePermission(constrain);\n }\n };\n\n /* @conditional-compile-remove(video-background-effects) */\n const onRemoveVideoBackgroundEffects = async (): Promise<void> => {\n const stream = call?.localVideoStreams.find(stream => stream.mediaStreamType === 'Video') || deviceManager?.getUnparentedVideoStreams().find(stream => stream.mediaStreamType === 'Video');\n if (stream) {\n if (!options?.onResolveVideoBackgroundEffectsDependency) {\n throw new Error(`Video background effects dependency not resolved`);\n } else {\n return stream.feature(Features.VideoEffects).stopEffects();\n }\n }\n };\n\n /* @conditional-compile-remove(video-background-effects) */\n const onBlurVideoBackground = async (backgroundBlurConfig?: BackgroundBlurConfig): Promise<void> => {\n const stream = call?.localVideoStreams.find(stream => stream.mediaStreamType === 'Video') || deviceManager?.getUnparentedVideoStreams().find(stream => stream.mediaStreamType === 'Video');\n if (stream) {\n if (!options?.onResolveVideoBackgroundEffectsDependency) {\n throw new Error(`Video background effects dependency not resolved`);\n }\n const createEffect = options?.onResolveVideoBackgroundEffectsDependency && (await options.onResolveVideoBackgroundEffectsDependency())?.createBackgroundBlurEffect;\n return createEffect && stream.feature(Features.VideoEffects).startEffects(createEffect(backgroundBlurConfig));\n }\n };\n\n /* @conditional-compile-remove(video-background-effects) */\n const onReplaceVideoBackground = async (backgroundReplacementConfig: BackgroundReplacementConfig): Promise<void> => {\n const stream = call?.localVideoStreams.find(stream => stream.mediaStreamType === 'Video') || deviceManager?.getUnparentedVideoStreams().find(stream => stream.mediaStreamType === 'Video');\n if (stream) {\n if (!options?.onResolveVideoBackgroundEffectsDependency) {\n throw new Error(`Video background effects dependency not resolved`);\n }\n const createEffect = options?.onResolveVideoBackgroundEffectsDependency && (await options.onResolveVideoBackgroundEffectsDependency())?.createBackgroundReplacementEffect;\n return createEffect && stream.feature(Features.VideoEffects).startEffects(createEffect(backgroundReplacementConfig));\n }\n };\n\n /* @conditional-compile-remove(close-captions) */\n const onStartCaptions = async (options?: CaptionsOptions): Promise<void> => {\n const captionsFeature = call?.feature(Features.Captions).captions;\n await captionsFeature?.startCaptions(options);\n };\n /* @conditional-compile-remove(close-captions) */\n const onStopCaptions = async (): Promise<void> => {\n const captionsFeature = call?.feature(Features.Captions).captions;\n await captionsFeature?.stopCaptions();\n };\n /* @conditional-compile-remove(close-captions) */\n const onSetSpokenLanguage = async (language: string): Promise<void> => {\n const captionsFeature = call?.feature(Features.Captions).captions;\n await captionsFeature?.setSpokenLanguage(language);\n };\n /* @conditional-compile-remove(close-captions) */\n const onSetCaptionLanguage = async (language: string): Promise<void> => {\n const captionsFeature = (call?.feature(Features.Captions).captions as TeamsCaptions);\n await captionsFeature.setCaptionLanguage(language);\n };\n return {\n onHangUp,\n /* @conditional-compile-remove(PSTN-calls) */\n onToggleHold,\n onSelectCamera,\n onSelectMicrophone,\n onSelectSpeaker,\n onStartScreenShare,\n onStopScreenShare,\n onToggleCamera,\n onToggleMicrophone,\n onToggleScreenShare,\n onCreateLocalStreamView,\n onCreateRemoteStreamView,\n onStartLocalVideo,\n onDisposeRemoteStreamView,\n onDisposeLocalStreamView,\n onDisposeRemoteScreenShareStreamView,\n onDisposeRemoteVideoStreamView,\n /* @conditional-compile-remove(raise-hand) */\n onRaiseHand,\n /* @conditional-compile-remove(raise-hand) */\n onLowerHand,\n /* @conditional-compile-remove(raise-hand) */\n onToggleRaiseHand,\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant: notImplemented,\n onRemoveParticipant: notImplemented,\n onStartCall: notImplemented,\n /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */onSendDtmfTone,\n /* @conditional-compile-remove(call-readiness) */\n askDevicePermission,\n /* @conditional-compile-remove(video-background-effects) */\n onRemoveVideoBackgroundEffects,\n /* @conditional-compile-remove(video-background-effects) */\n onBlurVideoBackground,\n /* @conditional-compile-remove(video-background-effects) */\n onReplaceVideoBackground,\n /* @conditional-compile-remove(close-captions) */\n onStartCaptions,\n /* @conditional-compile-remove(close-captions) */\n onStopCaptions,\n /* @conditional-compile-remove(close-captions) */\n onSetCaptionLanguage,\n /* @conditional-compile-remove(close-captions) */\n onSetSpokenLanguage\n };\n});\"../../../acs-ui-common/src\"\"../../../calling-stateful-client/src\"\"../../../react-components/src\""]}
1
+ {"version":3,"file":"createCommonHandlers.js","sourceRoot":"","sources":["../../../../../preprocess-dist/calling-component-bindings/src/handlers/createCommonHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AudioDeviceInfo, Call, LocalVideoStream, StartCallOptions, VideoDeviceInfo, BackgroundBlurEffect, BackgroundReplacementEffect, BackgroundBlurConfig, BackgroundReplacementConfig } from '@azure/communication-calling';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { CreateViewResult, StatefulCallClient, StatefulDeviceManager } from '@internal/calling-stateful-client';\nimport memoizeOne from 'memoize-one';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { disposeAllLocalPreviewViews, _isInCall, _isInLobbyOrConnecting, _isPreviewOn } from '../utils/callUtils';\nimport { CommunicationIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(video-background-effects) */ /* @conditional-compile-remove(close-captions) */ /* @conditional-compile-remove(raise-hand) */\nimport { Features } from '@azure/communication-calling';\n/* @conditional-compile-remove(close-captions) */\nimport { TeamsCaptions } from '@azure/communication-calling';\n\n/**\n * Object containing all the handlers required for calling components.\n *\n * Calling related components from this package are able to pick out relevant handlers from this object.\n * See {@link useHandlers} and {@link usePropsFor}.\n *\n * @public\n */\nexport interface CommonCallingHandlers {\n onStartLocalVideo: () => Promise<void>;\n onToggleCamera: (options?: VideoStreamOptions) => Promise<void>;\n onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;\n onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;\n onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>;\n onToggleMicrophone: () => Promise<void>;\n onStartScreenShare: () => Promise<void>;\n onStopScreenShare: () => Promise<void>;\n onToggleScreenShare: () => Promise<void>;\n onHangUp: (forEveryone?: boolean) => Promise<void>;\n /* @conditional-compile-remove(raise-hand) */\n onRaiseHand: () => Promise<void>;\n /* @conditional-compile-remove(raise-hand) */\n onLowerHand: () => Promise<void>;\n /* @conditional-compile-remove(raise-hand) */\n onToggleRaiseHand: () => Promise<void>;\n onCreateLocalStreamView: (options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;\n onCreateRemoteStreamView: (userId: string, options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;\n /**\n * @deprecated use {@link onDisposeRemoteVideoStreamView} and {@link onDisposeRemoteScreenShareStreamView} instead.\n */\n onDisposeRemoteStreamView: (userId: string) => Promise<void>;\n onDisposeLocalStreamView: () => Promise<void>;\n onDisposeRemoteVideoStreamView: (userId: string) => Promise<void>;\n onDisposeRemoteScreenShareStreamView: (userId: string) => Promise<void>;\n onRemoveParticipant(userId: string): Promise<void>;\n onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions) => void;\n /* @conditional-compile-remove(video-background-effects) */\n onRemoveVideoBackgroundEffects: () => Promise<void>;\n /* @conditional-compile-remove(video-background-effects) */\n onBlurVideoBackground: (backgroundBlurConfig?: BackgroundBlurConfig) => Promise<void>;\n /* @conditional-compile-remove(video-background-effects) */\n onReplaceVideoBackground: (backgroundReplacementConfig: BackgroundReplacementConfig) => Promise<void>;\n /* @conditional-compile-remove(close-captions) */\n onStartCaptions: (options?: CaptionsOptions) => Promise<void>;\n /* @conditional-compile-remove(close-captions) */\n onStopCaptions: () => Promise<void>;\n /* @conditional-compile-remove(close-captions) */\n onSetSpokenLanguage: (language: string) => Promise<void>;\n /* @conditional-compile-remove(close-captions) */\n onSetCaptionLanguage: (language: string) => Promise<void>;\n}\n\n/**\n * options bag to start captions\n *\n * @public\n */\nexport type CaptionsOptions = {\n spokenLanguage: string;\n};\n\n/**\n * @private\n */\nexport const areStreamsEqual = (prevStream: LocalVideoStream, newStream: LocalVideoStream): boolean => {\n return !!prevStream && !!newStream && prevStream.source.id === newStream.source.id;\n};\n\n/**\n * Dependency type to be injected for video background effects\n *\n * @public\n */\nexport type VideoBackgroundEffectsDependency = {\n createBackgroundBlurEffect: (config?: BackgroundBlurConfig) => BackgroundBlurEffect;\n createBackgroundReplacementEffect: (config: BackgroundReplacementConfig) => BackgroundReplacementEffect;\n};\n\n/**\n * Create the common implementation of {@link CallingHandlers} for all types of Call\n *\n * @private\n */\nexport const createDefaultCommonCallingHandlers = memoizeOne((callClient: StatefulCallClient, deviceManager: StatefulDeviceManager | undefined, call: Call | undefined, options?: {\n onResolveVideoBackgroundEffectsDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n}): CommonCallingHandlers => {\n const onStartLocalVideo = async (): Promise<void> => {\n // Before the call object creates a stream, dispose of any local preview streams.\n // @TODO: is there any way to parent the unparented view to the call object instead\n // of disposing and creating a new stream?\n await disposeAllLocalPreviewViews(callClient);\n const callId = call?.id;\n let videoDeviceInfo = callClient.getState().deviceManager.selectedCamera;\n if (!videoDeviceInfo) {\n const cameras = await deviceManager?.getCameras();\n videoDeviceInfo = cameras && cameras.length > 0 ? cameras[0] : undefined;\n videoDeviceInfo && deviceManager?.selectCamera(videoDeviceInfo);\n }\n if (!callId || !videoDeviceInfo) {\n return;\n }\n const stream = new LocalVideoStream(videoDeviceInfo);\n if (call && !call.localVideoStreams.find(s => areStreamsEqual(s, stream))) {\n await call.startVideo(stream);\n }\n };\n const onStopLocalVideo = async (stream: LocalVideoStream): Promise<void> => {\n const callId = call?.id;\n if (!callId) {\n return;\n }\n if (call && call.localVideoStreams.find(s => areStreamsEqual(s, stream))) {\n await call.stopVideo(stream);\n }\n };\n const onToggleCamera = async (options?: VideoStreamOptions): Promise<void> => {\n const previewOn = _isPreviewOn(callClient.getState().deviceManager);\n\n // the disposal of the unparented views is to workaround: https://skype.visualstudio.com/SPOOL/_workitems/edit/3030558.\n // The root cause of the issue is caused by never transitioning the unparented view to the\n // call object when going from configuration page (disconnected call state) to connecting.\n //\n // Currently the only time the local video stream is moved from unparented view to the call\n // object is when we transition from connecting -> call state. If the camera was on,\n // inside the MediaGallery we trigger toggleCamera. This triggers onStartLocalVideo which\n // destroys the unparentedView and creates a new stream in the call - so all looks well.\n //\n // However, if someone turns off their camera during the lobbyOrConnecting screen, the\n // call.localVideoStreams will be empty (as the stream is currently stored in the unparented\n // views and was never transitioned to the call object) and thus we incorrectly try to create\n // a new video stream for the call object, instead of only stopping the unparented view.\n //\n // The correct fix for this is to ensure that callAgent.onStartCall is called with the\n // localvideostream as a videoOption. That will mean call.onLocalVideoStreamsUpdated will\n // be triggered when the call is in connecting state, which we can then transition the\n // local video stream to the stateful call client and get into a clean state.\n\n if (call && (_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {\n const stream = call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');\n const unparentedViews = callClient.getState().deviceManager.unparentedViews;\n if (stream || unparentedViews.length > 0) {\n unparentedViews && (await unparentedViews.forEach(view => view.mediaStreamType === 'Video' && callClient.disposeView(undefined, undefined, view)));\n stream && (await onStopLocalVideo(stream));\n } else {\n await onStartLocalVideo();\n }\n } else {\n /**\n * This will create a unparented view to be used on the configuration page and the connecting screen\n *\n * If the device that the stream will come from is not on from permissions checks, then it will take time\n * to create the stream since device is off. If we are turn the camera on immedietly on the configuration page we see it is\n * fast but that is because the device is already primed to return a stream.\n *\n * On the connecting page the device has already turned off and the connecting window is so small we do not see the resulting\n * unparented view from the code below.\n */\n const selectedCamera = callClient.getState().deviceManager.selectedCamera;\n if (selectedCamera) {\n if (previewOn) {\n await onDisposeLocalStreamView();\n } else {\n await callClient.createView(undefined, undefined, {\n source: selectedCamera,\n mediaStreamType: 'Video'\n }, options);\n }\n }\n }\n };\n const onSelectMicrophone = async (device: AudioDeviceInfo): Promise<void> => {\n if (!deviceManager) {\n return;\n }\n return deviceManager.selectMicrophone(device);\n };\n const onSelectSpeaker = async (device: AudioDeviceInfo): Promise<void> => {\n if (!deviceManager) {\n return;\n }\n return deviceManager.selectSpeaker(device);\n };\n const onSelectCamera = async (device: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void> => {\n if (!deviceManager) {\n return;\n }\n if (call && _isInCall(call.state)) {\n deviceManager.selectCamera(device);\n const stream = call.localVideoStreams.find(stream => stream.mediaStreamType === 'Video');\n return stream?.switchSource(device);\n } else {\n const previewOn = _isPreviewOn(callClient.getState().deviceManager);\n if (!previewOn) {\n deviceManager.selectCamera(device);\n return;\n }\n await onDisposeLocalStreamView();\n deviceManager.selectCamera(device);\n await callClient.createView(undefined, undefined, {\n source: device,\n mediaStreamType: 'Video'\n }, options);\n }\n };\n\n /* @conditional-compile-remove(raise-hand) */\n const onRaiseHand = async (): Promise<void> => await call?.feature(Features.RaiseHand)?.raiseHand();\n\n /* @conditional-compile-remove(raise-hand) */\n const onLowerHand = async (): Promise<void> => await call?.feature(Features.RaiseHand)?.lowerHand();\n\n /* @conditional-compile-remove(raise-hand) */\n const onToggleRaiseHand = async (): Promise<void> => {\n const raiseHandFeature = call?.feature(Features.RaiseHand);\n const localUserId = callClient.getState().userId;\n const isLocalRaisedHand = raiseHandFeature?.getRaisedHands().find(publishedState => toFlatCommunicationIdentifier(publishedState.identifier) === toFlatCommunicationIdentifier(localUserId));\n if (isLocalRaisedHand) {\n await raiseHandFeature?.lowerHand();\n } else {\n await raiseHandFeature?.raiseHand();\n }\n };\n const onToggleMicrophone = async (): Promise<void> => {\n if (!call || !(_isInCall(call.state) || _isInLobbyOrConnecting(call.state))) {\n throw new Error(`Please invoke onToggleMicrophone after call is started`);\n }\n return call.isMuted ? await call.unmute() : await call.mute();\n };\n const onStartScreenShare = async (): Promise<void> => await call?.startScreenSharing();\n const onStopScreenShare = async (): Promise<void> => await call?.stopScreenSharing();\n const onToggleScreenShare = async (): Promise<void> => call?.isScreenSharingOn ? await onStopScreenShare() : await onStartScreenShare();\n const onHangUp = async (forEveryone?: boolean): Promise<void> => await call?.hangUp({\n forEveryone: forEveryone === true ? true : false\n });\n const onCreateLocalStreamView = async (options = ({\n scalingMode: 'Crop',\n isMirrored: true\n } as VideoStreamOptions)): Promise<void | CreateVideoStreamViewResult> => {\n if (!call || call.localVideoStreams.length === 0) {\n return;\n }\n const callState = callClient.getState().calls[call.id];\n if (!callState) {\n return;\n }\n const localStream = callState.localVideoStreams.find(item => item.mediaStreamType === 'Video');\n if (!localStream) {\n return;\n }\n const {\n view\n } = (await callClient.createView(call.id, undefined, localStream, options)) ?? {};\n return view ? {\n view\n } : undefined;\n };\n const onCreateRemoteStreamView = async (userId: string, options = ({\n scalingMode: 'Crop'\n } as VideoStreamOptions)): Promise<void | CreateVideoStreamViewResult> => {\n if (!call) {\n return;\n }\n const callState = callClient.getState().calls[call.id];\n if (!callState) {\n throw new Error(`Call Not Found: ${call.id}`);\n }\n const participant = Object.values(callState.remoteParticipants).find(participant => toFlatCommunicationIdentifier(participant.identifier) === userId);\n if (!participant || !participant.videoStreams) {\n return;\n }\n\n // Find the first available stream, if there is none, then get the first stream\n const remoteVideoStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'Video' && i.isAvailable) || Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'Video');\n const screenShareStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'ScreenSharing' && i.isAvailable) || Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'ScreenSharing');\n let createViewResult: CreateViewResult | undefined = undefined;\n if (remoteVideoStream && remoteVideoStream.isAvailable && !remoteVideoStream.view) {\n createViewResult = await callClient.createView(call.id, participant.identifier, remoteVideoStream, options);\n }\n if (screenShareStream && screenShareStream.isAvailable && !screenShareStream.view) {\n // Hardcoded `scalingMode` since it is highly unlikely that CONTOSO would ever want to use a different scaling mode for screenshare.\n // Using `Crop` would crop the contents of screenshare and `Stretch` would warp it.\n // `Fit` is the only mode that maintains the integrity of the screen being shared.\n createViewResult = await callClient.createView(call.id, participant.identifier, screenShareStream, {\n scalingMode: 'Fit'\n });\n }\n return createViewResult?.view ? {\n view: createViewResult?.view\n } : undefined;\n };\n const onDisposeRemoteStreamView = async (userId: string): Promise<void> => {\n if (!call) {\n return;\n }\n const callState = callClient.getState().calls[call.id];\n if (!callState) {\n throw new Error(`Call Not Found: ${call.id}`);\n }\n const participant = Object.values(callState.remoteParticipants).find(participant => toFlatCommunicationIdentifier(participant.identifier) === userId);\n if (!participant || !participant.videoStreams) {\n return;\n }\n const remoteVideoStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'Video');\n const screenShareStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'ScreenSharing');\n if (remoteVideoStream && remoteVideoStream.view) {\n callClient.disposeView(call.id, participant.identifier, remoteVideoStream);\n }\n if (screenShareStream && screenShareStream.view) {\n callClient.disposeView(call.id, participant.identifier, screenShareStream);\n }\n };\n const onDisposeRemoteVideoStreamView = async (userId: string): Promise<void> => {\n if (!call) {\n return;\n }\n const callState = callClient.getState().calls[call.id];\n if (!callState) {\n throw new Error(`Call Not Found: ${call.id}`);\n }\n const participant = Object.values(callState.remoteParticipants).find(participant => toFlatCommunicationIdentifier(participant.identifier) === userId);\n if (!participant || !participant.videoStreams) {\n return;\n }\n const remoteVideoStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'Video');\n if (remoteVideoStream && remoteVideoStream.view) {\n callClient.disposeView(call.id, participant.identifier, remoteVideoStream);\n }\n };\n const onDisposeRemoteScreenShareStreamView = async (userId: string): Promise<void> => {\n if (!call) {\n return;\n }\n const callState = callClient.getState().calls[call.id];\n if (!callState) {\n throw new Error(`Call Not Found: ${call.id}`);\n }\n const participant = Object.values(callState.remoteParticipants).find(participant => toFlatCommunicationIdentifier(participant.identifier) === userId);\n if (!participant || !participant.videoStreams) {\n return;\n }\n const screenShareStream = Object.values(participant.videoStreams).find(i => i.mediaStreamType === 'ScreenSharing');\n if (screenShareStream && screenShareStream.view) {\n callClient.disposeView(call.id, participant.identifier, screenShareStream);\n }\n };\n const onDisposeLocalStreamView = async (): Promise<void> => {\n // If the user is currently in a call, dispose of the local stream view attached to that call.\n const callState = call && callClient.getState().calls[call.id];\n const localStream = callState?.localVideoStreams.find(item => item.mediaStreamType === 'Video');\n if (call && callState && localStream) {\n callClient.disposeView(call.id, undefined, localStream);\n }\n\n // If the user is not in a call we currently assume any unparented view is a LocalPreview and stop all\n // since those are only used for LocalPreview currently.\n // TODO: we need to remember which LocalVideoStream was used for LocalPreview and dispose that one.\n await disposeAllLocalPreviewViews(callClient);\n };\n const notImplemented = (): any => {\n throw new Error('Not implemented, cannot call a method from an abstract object');\n };\n /* @conditional-compile-remove(video-background-effects) */\n const onRemoveVideoBackgroundEffects = async (): Promise<void> => {\n const stream = call?.localVideoStreams.find(stream => stream.mediaStreamType === 'Video') || deviceManager?.getUnparentedVideoStreams().find(stream => stream.mediaStreamType === 'Video');\n if (stream) {\n if (!options?.onResolveVideoBackgroundEffectsDependency) {\n throw new Error(`Video background effects dependency not resolved`);\n } else {\n return stream.feature(Features.VideoEffects).stopEffects();\n }\n }\n };\n\n /* @conditional-compile-remove(video-background-effects) */\n const onBlurVideoBackground = async (backgroundBlurConfig?: BackgroundBlurConfig): Promise<void> => {\n const stream = call?.localVideoStreams.find(stream => stream.mediaStreamType === 'Video') || deviceManager?.getUnparentedVideoStreams().find(stream => stream.mediaStreamType === 'Video');\n if (stream) {\n if (!options?.onResolveVideoBackgroundEffectsDependency) {\n throw new Error(`Video background effects dependency not resolved`);\n }\n const createEffect = options?.onResolveVideoBackgroundEffectsDependency && (await options.onResolveVideoBackgroundEffectsDependency())?.createBackgroundBlurEffect;\n return createEffect && stream.feature(Features.VideoEffects).startEffects(createEffect(backgroundBlurConfig));\n }\n };\n\n /* @conditional-compile-remove(video-background-effects) */\n const onReplaceVideoBackground = async (backgroundReplacementConfig: BackgroundReplacementConfig): Promise<void> => {\n const stream = call?.localVideoStreams.find(stream => stream.mediaStreamType === 'Video') || deviceManager?.getUnparentedVideoStreams().find(stream => stream.mediaStreamType === 'Video');\n if (stream) {\n if (!options?.onResolveVideoBackgroundEffectsDependency) {\n throw new Error(`Video background effects dependency not resolved`);\n }\n const createEffect = options?.onResolveVideoBackgroundEffectsDependency && (await options.onResolveVideoBackgroundEffectsDependency())?.createBackgroundReplacementEffect;\n return createEffect && stream.feature(Features.VideoEffects).startEffects(createEffect(backgroundReplacementConfig));\n }\n };\n\n /* @conditional-compile-remove(close-captions) */\n const onStartCaptions = async (options?: CaptionsOptions): Promise<void> => {\n const captionsFeature = call?.feature(Features.Captions).captions;\n await captionsFeature?.startCaptions(options);\n };\n /* @conditional-compile-remove(close-captions) */\n const onStopCaptions = async (): Promise<void> => {\n const captionsFeature = call?.feature(Features.Captions).captions;\n await captionsFeature?.stopCaptions();\n };\n /* @conditional-compile-remove(close-captions) */\n const onSetSpokenLanguage = async (language: string): Promise<void> => {\n const captionsFeature = call?.feature(Features.Captions).captions;\n await captionsFeature?.setSpokenLanguage(language);\n };\n /* @conditional-compile-remove(close-captions) */\n const onSetCaptionLanguage = async (language: string): Promise<void> => {\n const captionsFeature = (call?.feature(Features.Captions).captions as TeamsCaptions);\n await captionsFeature.setCaptionLanguage(language);\n };\n return {\n onHangUp,\n onSelectCamera,\n onSelectMicrophone,\n onSelectSpeaker,\n onStartScreenShare,\n onStopScreenShare,\n onToggleCamera,\n onToggleMicrophone,\n onToggleScreenShare,\n onCreateLocalStreamView,\n onCreateRemoteStreamView,\n onStartLocalVideo,\n onDisposeRemoteStreamView,\n onDisposeLocalStreamView,\n onDisposeRemoteScreenShareStreamView,\n onDisposeRemoteVideoStreamView,\n /* @conditional-compile-remove(raise-hand) */\n onRaiseHand,\n /* @conditional-compile-remove(raise-hand) */\n onLowerHand,\n /* @conditional-compile-remove(raise-hand) */\n onToggleRaiseHand,\n onRemoveParticipant: notImplemented,\n onStartCall: notImplemented,\n /* @conditional-compile-remove(video-background-effects) */\n onRemoveVideoBackgroundEffects,\n /* @conditional-compile-remove(video-background-effects) */\n onBlurVideoBackground,\n /* @conditional-compile-remove(video-background-effects) */\n onReplaceVideoBackground,\n /* @conditional-compile-remove(close-captions) */\n onStartCaptions,\n /* @conditional-compile-remove(close-captions) */\n onStopCaptions,\n /* @conditional-compile-remove(close-captions) */\n onSetCaptionLanguage,\n /* @conditional-compile-remove(close-captions) */\n onSetSpokenLanguage\n };\n});"]}
@@ -1,10 +1,4 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- /* @conditional-compile-remove(teams-identity-support) */
4
- import { _isTeamsCall, _isTeamsCallAgent } from "../../../calling-stateful-client/src";
5
1
  import { _isACSCall, _isACSCallAgent } from "../../../calling-stateful-client/src";
6
- /* @conditional-compile-remove(teams-identity-support) */
7
- import { createDefaultTeamsCallingHandlers } from './createTeamsCallHandlers';
8
2
  import { createDefaultCallingHandlers } from './createHandlers';
9
3
  /**
10
4
  * Create a set of default handlers for given component. Memoization is applied to the result. Multiple invocations with
@@ -24,10 +18,6 @@ export const createDefaultCallingHandlersForComponent = (callClient, callAgent,
24
18
  if (!callAgent && !call && !deviceManager) {
25
19
  return createDefaultCallingHandlers(callClient, callAgent, deviceManager, call);
26
20
  }
27
- /* @conditional-compile-remove(teams-identity-support) */
28
- if (callAgent && _isTeamsCallAgent(callAgent) && (!call || call && _isTeamsCall(call))) {
29
- return createDefaultTeamsCallingHandlers(callClient, callAgent, deviceManager, call);
30
- }
31
21
  if (callAgent && _isACSCallAgent(callAgent) && (!call || call && _isACSCall(call))) {
32
22
  return createDefaultCallingHandlers(callClient, callAgent, deviceManager, call);
33
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createDefaultCallingHandlersForComponent.js","sourceRoot":"","sources":["../../../../../preprocess-dist/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,yDAAyD;AACzD,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,6CAA0C;AAEpF,OAAO,EAA0E,UAAU,EAAE,eAAe,EAAE,6CAA0C;AAExJ,yDAAyD;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAGhE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAS,UAA8B,EAAE,SAAsC,EAAE,aAAgD,EAAE,IAA4B,EAAE,UAAiD,EAAwC,EAAE;IAClT,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE;QACzC,OAAO,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;KACjF;IACD,yDAAyD;IACzD,IAAI,SAAS,IAAI,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;QACtF,OAAO,iCAAiC,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;KACtF;IACD,IAAI,SAAS,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;QAClF,OAAO,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;KACjF;IACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACtE,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(teams-identity-support) */\nimport { _isTeamsCall, _isTeamsCallAgent } from '@internal/calling-stateful-client';\nimport { Common } from '@internal/acs-ui-common';\nimport { StatefulCallClient, StatefulDeviceManager, CallAgentCommon, CallCommon, _isACSCall, _isACSCallAgent } from '@internal/calling-stateful-client';\nimport { ReactElement } from 'react';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { createDefaultTeamsCallingHandlers } from './createTeamsCallHandlers';\nimport { createDefaultCallingHandlers } from './createHandlers';\nimport { CommonCallingHandlers } from './createCommonHandlers';\n\n/**\n * Create a set of default handlers for given component. Memoization is applied to the result. Multiple invocations with\n * the same arguments will return the same handler instances. DeclarativeCallAgent, DeclarativeDeviceManager, and\n * DeclarativeCall may be undefined. If undefined, their associated handlers will not be created and returned.\n *\n * @param callClient - StatefulCallClient returned from\n * {@link @azure/communication-react#createStatefulCallClient}.\n * @param callAgent - Instance of {@link @azure/communication-calling#CallClient}.\n * @param deviceManager - Instance of {@link @azure/communication-calling#DeviceManager}.\n * @param call - Instance of {@link @azure/communication-calling#Call}.\n * @param _ - React component that you want to generate handlers for.\n *\n * @public\n */\nexport const createDefaultCallingHandlersForComponent = <Props,>(callClient: StatefulCallClient, callAgent: CallAgentCommon | undefined, deviceManager: StatefulDeviceManager | undefined, call: CallCommon | undefined, _Component: (props: Props) => ReactElement | null): Common<CommonCallingHandlers, Props> => {\n if (!callAgent && !call && !deviceManager) {\n return createDefaultCallingHandlers(callClient, callAgent, deviceManager, call);\n }\n /* @conditional-compile-remove(teams-identity-support) */\n if (callAgent && _isTeamsCallAgent(callAgent) && (!call || call && _isTeamsCall(call))) {\n return createDefaultTeamsCallingHandlers(callClient, callAgent, deviceManager, call);\n }\n if (callAgent && _isACSCallAgent(callAgent) && (!call || call && _isACSCall(call))) {\n return createDefaultCallingHandlers(callClient, callAgent, deviceManager, call);\n }\n throw new Error('CallAgent type and Call type are not compatible!');\n};\"../../../calling-stateful-client/src\"\"../../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"createDefaultCallingHandlersForComponent.js","sourceRoot":"","sources":["../../../../../preprocess-dist/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.ts"],"names":[],"mappings":"AAGA,OAAO,EAA0E,UAAU,EAAE,eAAe,EAAE,6CAA0C;AAExJ,OAAO,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAGhE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAS,UAA8B,EAAE,SAAsC,EAAE,aAAgD,EAAE,IAA4B,EAAE,UAAiD,EAAwC,EAAE;IAClT,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,OAAO,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,SAAS,IAAI,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACnF,OAAO,4BAA4B,CAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACtE,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { Common } from '@internal/acs-ui-common';\nimport { StatefulCallClient, StatefulDeviceManager, CallAgentCommon, CallCommon, _isACSCall, _isACSCallAgent } from '@internal/calling-stateful-client';\nimport { ReactElement } from 'react';\nimport { createDefaultCallingHandlers } from './createHandlers';\nimport { CommonCallingHandlers } from './createCommonHandlers';\n\n/**\n * Create a set of default handlers for given component. Memoization is applied to the result. Multiple invocations with\n * the same arguments will return the same handler instances. DeclarativeCallAgent, DeclarativeDeviceManager, and\n * DeclarativeCall may be undefined. If undefined, their associated handlers will not be created and returned.\n *\n * @param callClient - StatefulCallClient returned from\n * {@link @azure/communication-react#createStatefulCallClient}.\n * @param callAgent - Instance of {@link @azure/communication-calling#CallClient}.\n * @param deviceManager - Instance of {@link @azure/communication-calling#DeviceManager}.\n * @param call - Instance of {@link @azure/communication-calling#Call}.\n * @param _ - React component that you want to generate handlers for.\n *\n * @public\n */\nexport const createDefaultCallingHandlersForComponent = <Props,>(callClient: StatefulCallClient, callAgent: CallAgentCommon | undefined, deviceManager: StatefulDeviceManager | undefined, call: CallCommon | undefined, _Component: (props: Props) => ReactElement | null): Common<CommonCallingHandlers, Props> => {\n if (!callAgent && !call && !deviceManager) {\n return createDefaultCallingHandlers(callClient, callAgent, deviceManager, call);\n }\n if (callAgent && _isACSCallAgent(callAgent) && (!call || call && _isACSCall(call))) {\n return createDefaultCallingHandlers(callClient, callAgent, deviceManager, call);\n }\n throw new Error('CallAgent type and Call type are not compatible!');\n};"]}
@@ -18,7 +18,7 @@ export interface CallingHandlers extends CommonCallingHandlers {
18
18
  * Configuration options to include video effect background dependency.
19
19
  * @public
20
20
  */
21
- export declare type CallingHandlersOptions = {
21
+ export type CallingHandlersOptions = {
22
22
  onResolveVideoBackgroundEffectsDependency?: () => Promise<VideoBackgroundEffectsDependency>;
23
23
  };
24
24
  /**
@@ -26,7 +26,7 @@ export declare type CallingHandlersOptions = {
26
26
  *
27
27
  * @public
28
28
  */
29
- export declare type CreateDefaultCallingHandlers = (callClient: StatefulCallClient, callAgent: CallAgent | undefined, deviceManager: StatefulDeviceManager | undefined, call: Call | undefined, /* @conditional-compile-remove(video-background-effects) */ options?: CallingHandlersOptions) => CallingHandlers;
29
+ export type CreateDefaultCallingHandlers = (callClient: StatefulCallClient, callAgent: CallAgent | undefined, deviceManager: StatefulDeviceManager | undefined, call: Call | undefined, /* @conditional-compile-remove(video-background-effects) */ options?: CallingHandlersOptions) => CallingHandlers;
30
30
  /**
31
31
  * Create the default implementation of {@link CallingHandlers} for teams call.
32
32
  *