@azure/communication-react 1.14.0-beta.2 → 1.14.1-alpha-202403210013

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 (1177) hide show
  1. package/dist/communication-react.d.ts +1020 -89
  2. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-BgK9tOAk.js +51 -0
  3. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-BgK9tOAk.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/index-B_kqOVlM.js +38230 -0
  5. package/dist/dist-cjs/communication-react/index-B_kqOVlM.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index.js +157 -34568
  7. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/common.d.ts +5 -0
  11. package/dist/dist-esm/acs-ui-common/src/common.js +7 -0
  12. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/identifier.js +4 -1
  17. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/index.d.ts +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/index.js +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  24. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  25. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  26. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  27. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +10 -0
  29. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +19 -3
  30. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +15 -0
  32. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +57 -14
  33. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  34. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +12 -5
  35. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +25 -56
  37. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +12 -1
  41. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +119 -54
  42. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  44. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +15 -1
  46. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +4 -2
  47. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +2 -6
  49. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +2 -1
  53. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +13 -9
  54. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.d.ts +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +1 -0
  58. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +80 -13
  60. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  61. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +6 -3
  64. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  65. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  67. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  68. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +11 -7
  69. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  70. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +20 -0
  71. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +50 -1
  72. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  73. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +9 -3
  74. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +86 -18
  75. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  76. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +3 -1
  77. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +77 -14
  78. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  79. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  82. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +65 -75
  83. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +145 -1
  85. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +18 -2
  87. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +166 -25
  88. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  89. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +7 -8
  90. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +150 -84
  92. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +6 -1
  96. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +42 -16
  97. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.d.ts +16 -1
  100. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +38 -2
  101. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +6 -1
  103. package/dist/dist-esm/calling-stateful-client/src/Converter.js +29 -18
  104. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +51 -57
  106. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +14 -16
  108. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +3 -15
  111. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +17 -0
  113. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +36 -0
  114. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -0
  115. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  117. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +1 -4
  118. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.d.ts +18 -0
  120. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js +49 -0
  121. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -0
  122. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js +0 -2
  124. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  125. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.d.ts +16 -0
  126. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js +24 -0
  127. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -0
  128. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +1 -0
  129. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +11 -0
  130. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  131. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  132. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.d.ts +16 -0
  133. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js +30 -0
  134. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -0
  135. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +2 -0
  136. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +65 -67
  137. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  138. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +32 -24
  139. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  140. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +8 -11
  141. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  142. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  143. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  144. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +7 -8
  145. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  146. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  147. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  148. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  149. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  150. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +6 -7
  151. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  152. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +4 -0
  153. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  154. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  155. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  156. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  157. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  158. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  159. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +15 -15
  160. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  161. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  162. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +3 -10
  163. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  164. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  165. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +2 -1
  166. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +5 -0
  167. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  168. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.d.ts +1 -1
  169. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  170. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  171. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +72 -77
  172. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  173. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  174. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  175. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  176. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  177. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +3 -7
  178. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  179. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +3 -1
  180. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  181. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  182. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +10 -3
  183. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  184. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  185. package/dist/dist-esm/chat-stateful-client/src/ChatContext.d.ts +1 -1
  186. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +36 -32
  187. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  188. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  189. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +8 -12
  190. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  191. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  192. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.d.ts +23 -14
  193. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +80 -73
  194. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  195. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +58 -71
  196. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  197. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +114 -128
  198. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  199. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +4 -1
  200. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  201. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +1 -0
  202. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  203. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.d.ts +2 -2
  204. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  205. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  206. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  207. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  208. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  209. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +9 -1
  210. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  211. package/dist/dist-esm/communication-react/src/index.d.ts +9 -2
  212. package/dist/dist-esm/communication-react/src/index.js +2 -2
  213. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  214. package/dist/dist-esm/communication-react/src/mergedHooks.d.ts +1 -1
  215. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +3 -6
  217. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +4 -10
  221. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  223. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  225. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/CameraButton.js +8 -19
  228. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  230. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +9 -8
  232. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +43 -24
  234. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +2 -5
  236. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +37 -22
  238. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +2 -2
  240. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +49 -65
  241. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsRichTextEditBox.d.ts +18 -0
  243. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsRichTextEditBox.js +102 -0
  244. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsRichTextEditBox.js.map +1 -0
  245. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +33 -26
  246. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +3 -3
  248. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +41 -48
  249. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js +9 -5
  251. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +1 -1
  253. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +46 -0
  255. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +86 -0
  256. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -0
  257. package/dist/dist-esm/react-components/src/components/ChatMessage/{FluentChatMessageComponentWrapper.d.ts → MessageComponents/FluentChatMessageComponent.d.ts} +6 -7
  258. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +117 -0
  259. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -0
  260. package/dist/dist-esm/react-components/src/components/ChatMessage/{ChatMessageComponent.d.ts → MyMessageComponents/ChatMyMessageComponent.d.ts} +9 -9
  261. package/dist/dist-esm/react-components/src/components/ChatMessage/{ChatMessageComponent.js → MyMessageComponents/ChatMyMessageComponent.js} +16 -12
  262. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -0
  263. package/dist/dist-esm/react-components/src/components/ChatMessage/{ChatMessageComponentAsMessageBubble.d.ts → MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts} +10 -19
  264. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +158 -0
  265. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -0
  266. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.d.ts +12 -0
  267. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +123 -0
  268. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -0
  269. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  270. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +7 -4
  272. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  274. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/ControlBar.js +10 -14
  279. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  280. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  281. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +3 -14
  283. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +4 -10
  285. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +14 -31
  287. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  288. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +5 -8
  289. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  290. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +24 -6
  291. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  292. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +12 -20
  293. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/DevicesButton.js +19 -27
  295. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js +12 -48
  297. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +45 -51
  299. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  301. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  303. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +20 -9
  305. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.d.ts +4 -0
  307. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  308. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +6 -4
  310. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  311. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.d.ts +29 -0
  312. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +60 -0
  313. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -0
  314. package/dist/dist-esm/react-components/src/components/Drawer/index.d.ts +2 -0
  315. package/dist/dist-esm/react-components/src/components/Drawer/index.js +2 -0
  316. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/EndCallButton.js +3 -7
  318. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +4 -0
  320. package/dist/dist-esm/react-components/src/components/ErrorBar.js +9 -5
  321. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/FileCard.js +3 -4
  323. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  325. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +3 -30
  327. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +12 -26
  328. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +8 -7
  330. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  331. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  332. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  334. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  336. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -9
  338. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  339. package/dist/dist-esm/react-components/src/components/ImageOverlay.d.ts +3 -3
  340. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +21 -29
  341. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/InputBoxButton.d.ts +1 -0
  343. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +4 -11
  344. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +5 -7
  346. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  347. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  348. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  349. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +13 -0
  350. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +136 -18
  351. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/MentionPopover.js +17 -14
  353. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +2 -2
  355. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js +20 -33
  358. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +1 -1
  360. package/dist/dist-esm/react-components/src/components/MessageThread.js +82 -52
  361. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -14
  363. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +94 -101
  365. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +2 -0
  367. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +15 -21
  368. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/ParticipantList.js +51 -44
  370. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +46 -32
  372. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  374. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  376. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +6 -19
  378. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/ReactionButton.d.ts +56 -0
  380. package/dist/dist-esm/react-components/src/components/ReactionButton.js +89 -0
  381. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -0
  382. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +7 -0
  383. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +53 -14
  384. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  386. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  388. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +41 -0
  390. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +83 -0
  391. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -0
  392. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +29 -0
  393. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +60 -0
  394. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -0
  395. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextRibbonButtons.d.ts +12 -0
  396. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextRibbonButtons.js +86 -0
  397. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextRibbonButtons.js.map +1 -0
  398. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +92 -0
  399. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +129 -0
  400. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -0
  401. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +16 -0
  402. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +68 -0
  403. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -0
  404. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -14
  405. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/components/SendBox.js +26 -22
  407. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +3 -3
  409. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +2 -4
  412. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  413. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  414. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.d.ts +64 -0
  416. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js +55 -0
  417. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js.map +1 -0
  418. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.d.ts +18 -0
  419. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js +57 -0
  420. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js.map +1 -0
  421. package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.d.ts +141 -0
  422. package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js +4 -0
  423. package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js.map +1 -0
  424. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.d.ts +61 -0
  425. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +128 -0
  426. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -0
  427. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.d.ts +22 -0
  428. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js +55 -0
  429. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js.map +1 -0
  430. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  431. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +70 -25
  433. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +55 -49
  435. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  436. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  437. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  438. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +9 -6
  439. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -1
  441. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  442. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -1
  443. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  444. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +4 -8
  445. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  446. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -1
  447. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +16 -42
  449. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +3 -1
  451. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  452. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +8 -12
  453. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  454. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +6 -12
  455. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  456. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +6 -2
  457. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  458. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +29 -23
  459. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  460. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +14 -10
  461. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +55 -36
  463. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  464. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js +2 -2
  465. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js.map +1 -1
  466. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.d.ts +17 -0
  467. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +111 -0
  468. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +1 -0
  469. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +4 -0
  470. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  471. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  472. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  473. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +9 -17
  474. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +1 -0
  476. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +15 -7
  477. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  478. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +2 -4
  479. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  480. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +48 -32
  481. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  482. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +1 -6
  483. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  484. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +9 -34
  485. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  486. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +2 -11
  487. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  488. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  489. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  490. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  491. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  492. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +1 -3
  493. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  494. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -11
  495. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  496. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +22 -28
  497. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  498. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +10 -5
  499. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  500. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +11 -0
  501. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +72 -34
  502. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  503. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  504. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +8 -1
  505. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +122 -100
  506. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  507. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +44 -2
  508. package/dist/dist-esm/react-components/src/components/VideoGallery.js +178 -43
  509. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  510. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +16 -0
  511. package/dist/dist-esm/react-components/src/components/VideoTile.js +91 -64
  512. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  513. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +2 -4
  514. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  515. package/dist/dist-esm/react-components/src/components/index.d.ts +11 -0
  516. package/dist/dist-esm/react-components/src/components/index.js +13 -2
  517. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  518. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  519. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  520. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  521. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +4 -0
  522. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +12 -6
  523. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  524. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  525. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  526. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  527. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.d.ts +10 -4
  528. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +17 -4
  529. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  530. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  531. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  532. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  533. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +2 -6
  534. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
  535. package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.js.map +1 -1
  536. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +2 -5
  537. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  538. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
  539. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  540. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +4 -10
  541. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  542. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.d.ts +0 -1
  543. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +2 -3
  544. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  545. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  546. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.d.ts +36 -0
  547. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +120 -0
  548. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -0
  549. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +54 -0
  550. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +156 -0
  551. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -0
  552. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +17 -0
  553. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +30 -0
  554. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -0
  555. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +15 -0
  556. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +24 -21
  557. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  558. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  559. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +1 -1
  560. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +3 -6
  561. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  562. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  563. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +1 -2
  564. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  565. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  566. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  567. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +1 -2
  568. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  569. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +5 -19
  570. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  571. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +11 -0
  572. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +37 -0
  573. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  574. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  575. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +23 -0
  576. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +44 -0
  577. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -0
  578. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +29 -0
  579. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +88 -0
  580. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -0
  581. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +1 -4
  582. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  583. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -1
  584. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +4 -3
  585. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  586. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  587. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  588. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  589. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +4 -7
  590. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  591. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  592. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  593. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  594. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  595. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  596. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +10 -1
  597. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  598. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  599. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  600. package/dist/dist-esm/react-components/src/components/utils.d.ts +0 -6
  601. package/dist/dist-esm/react-components/src/components/utils.js +13 -18
  602. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  603. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.d.ts +2 -3
  604. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +9 -7
  605. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  606. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  607. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +0 -2
  608. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  609. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  610. package/dist/dist-esm/react-components/src/index.d.ts +5 -0
  611. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  612. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +9 -0
  613. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  614. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  615. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js +1 -3
  616. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js.map +1 -1
  617. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +23 -4
  618. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js +1 -3
  619. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js.map +1 -1
  620. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +23 -4
  621. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js +1 -3
  622. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js.map +1 -1
  623. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +23 -4
  624. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js +1 -3
  625. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js.map +1 -1
  626. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +23 -4
  627. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +3 -1
  628. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js +1 -3
  629. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js.map +1 -1
  630. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +23 -4
  631. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js +1 -3
  632. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js.map +1 -1
  633. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +23 -4
  634. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js +1 -3
  635. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js.map +1 -1
  636. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +23 -4
  637. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js +1 -3
  638. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js.map +1 -1
  639. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +23 -4
  640. package/dist/dist-esm/react-components/src/localization/locales/index.js +1 -3
  641. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  642. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js +1 -3
  643. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js.map +1 -1
  644. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +23 -4
  645. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js +1 -3
  646. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js.map +1 -1
  647. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +25 -6
  648. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js +1 -3
  649. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js.map +1 -1
  650. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +23 -4
  651. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js +1 -3
  652. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js.map +1 -1
  653. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +23 -4
  654. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js +1 -3
  655. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js.map +1 -1
  656. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +23 -4
  657. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js +1 -3
  658. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js.map +1 -1
  659. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +23 -4
  660. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js +1 -3
  661. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js.map +1 -1
  662. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +23 -4
  663. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js +1 -3
  664. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js.map +1 -1
  665. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +23 -4
  666. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js +1 -3
  667. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js.map +1 -1
  668. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +23 -4
  669. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js +1 -3
  670. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js.map +1 -1
  671. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +23 -4
  672. package/dist/dist-esm/react-components/src/localization/locales/utils.js +2 -2
  673. package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
  674. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js +1 -3
  675. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js.map +1 -1
  676. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +23 -4
  677. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js +1 -3
  678. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js.map +1 -1
  679. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +23 -4
  680. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +8 -10
  681. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  682. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +1 -1
  683. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  684. package/dist/dist-esm/react-components/src/theming/generateTheme.js +15 -1
  685. package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
  686. package/dist/dist-esm/react-components/src/theming/icons.d.ts +17 -0
  687. package/dist/dist-esm/react-components/src/theming/icons.js +67 -34
  688. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  689. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  690. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  691. package/dist/dist-esm/react-components/src/theming/themeDuplicates.js.map +1 -1
  692. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  693. package/dist/dist-esm/react-components/src/theming/themes.d.ts +1 -1
  694. package/dist/dist-esm/react-components/src/theming/themes.js +2 -4
  695. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  696. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +8 -7
  697. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  698. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.js.map +1 -1
  699. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  700. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +3 -10
  701. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  702. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  703. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  704. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  705. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  706. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +34 -0
  707. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  708. package/dist/dist-esm/react-components/src/types/ReactionTypes.d.ts +44 -1
  709. package/dist/dist-esm/react-components/src/types/ReactionTypes.js +2 -1
  710. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  711. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  712. package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -1
  713. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -1
  714. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +16 -0
  715. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  716. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  718. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +46 -0
  719. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +60 -43
  720. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +110 -0
  722. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +20 -2
  724. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +229 -97
  725. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +54 -0
  727. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +7 -1
  728. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  729. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +14 -7
  731. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  732. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +1 -3
  734. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +11 -5
  738. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -0
  740. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -0
  742. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +147 -43
  743. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +55 -72
  745. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +2 -2
  747. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +133 -141
  748. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +10 -18
  750. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +1 -7
  752. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  755. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +1 -7
  756. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  757. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  758. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  759. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  760. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  761. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +4 -4
  762. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +33 -24
  764. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +37 -26
  766. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  767. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +26 -30
  768. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  769. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +4 -0
  770. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +80 -50
  771. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  773. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  775. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.d.ts +73 -0
  777. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +41 -0
  778. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -0
  779. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +1 -0
  780. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +30 -11
  781. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +7 -0
  784. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +119 -8
  785. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +13 -8
  787. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  789. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  790. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +3 -5
  791. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
  792. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +9 -3
  793. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  794. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +19 -11
  795. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  797. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +7 -11
  799. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  800. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  801. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  803. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +1 -9
  805. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.d.ts +16 -0
  807. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js +26 -0
  808. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js.map +1 -0
  809. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +3 -1
  810. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  811. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.d.ts +2 -2
  812. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +7 -7
  813. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.d.ts +2 -1
  815. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +72 -14
  816. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  817. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.d.ts +2 -1
  818. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  819. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.d.ts +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -0
  823. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +32 -37
  825. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +75 -32
  827. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +5 -14
  829. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +13 -7
  831. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  832. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +15 -7
  833. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  835. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  836. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.d.ts +56 -0
  837. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js +29 -0
  838. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js.map +1 -0
  839. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.d.ts +14 -0
  840. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js +27 -0
  841. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js.map +1 -0
  842. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +23 -23
  843. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  844. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -3
  845. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  846. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  847. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  848. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  849. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +2 -1
  850. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  851. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -1
  852. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  853. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  854. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  855. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -1
  856. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +1 -4
  857. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  858. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.d.ts +14 -0
  859. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js +13 -0
  860. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js.map +1 -0
  861. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  863. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -1
  865. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  866. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  867. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  868. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  869. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +7 -5
  870. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  872. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  873. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  874. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +10 -10
  875. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +1 -3
  876. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  877. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  878. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  879. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  880. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  881. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  883. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  884. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  885. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  886. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  887. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  888. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  889. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  890. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  891. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  892. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  893. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +2 -6
  894. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  895. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +11 -11
  896. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  897. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  898. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  899. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -1
  900. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +1 -4
  901. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  902. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  903. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +2 -9
  904. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  905. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  906. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +1 -2
  907. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  908. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  909. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  910. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -2
  911. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  912. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +6 -24
  913. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  914. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +2 -2
  915. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  916. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  917. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  918. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +11 -15
  919. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  920. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +17 -11
  921. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  922. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -2
  923. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  924. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  925. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +44 -28
  926. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  927. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  928. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.d.ts +16 -0
  929. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +136 -0
  930. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -0
  931. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +2 -2
  932. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -1
  933. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -1
  934. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +46 -0
  935. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +89 -38
  936. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  937. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  938. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  939. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +9 -7
  940. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  941. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +6 -9
  942. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  943. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js +2 -2
  944. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  945. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  946. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +10 -0
  947. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +77 -21
  948. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  949. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +33 -3
  950. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  951. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +8 -1
  952. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +30 -5
  953. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  954. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +0 -2
  955. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  956. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  957. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  958. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  959. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  960. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  961. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  962. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +8 -0
  963. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +6 -1
  964. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  965. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  966. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +14 -0
  967. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +9 -3
  968. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  969. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  970. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  971. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -1
  972. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +88 -78
  973. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  974. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  975. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  976. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +3 -5
  977. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -1
  978. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  979. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +35 -45
  980. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  981. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +15 -20
  982. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  983. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  984. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  985. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  986. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  987. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +11 -6
  988. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  989. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  990. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  991. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.d.ts +2 -2
  992. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +1 -3
  993. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  994. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +8 -3
  995. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  996. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  997. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +1 -1
  998. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  999. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  1000. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +1 -0
  1001. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  1002. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  1003. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +6 -6
  1004. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +3 -5
  1005. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -1
  1006. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  1007. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  1008. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +9 -17
  1009. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  1010. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +23 -25
  1011. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  1012. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  1013. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +8 -7
  1014. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  1015. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +5 -14
  1016. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  1017. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +9 -23
  1018. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  1019. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  1020. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.d.ts +1 -0
  1021. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +6 -8
  1022. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  1023. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +12 -16
  1024. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  1025. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  1026. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  1027. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +1 -5
  1028. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  1029. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +2 -0
  1030. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +83 -46
  1031. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  1032. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +10 -1
  1033. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +39 -33
  1034. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  1035. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +108 -86
  1036. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  1037. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +1 -8
  1038. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  1039. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  1040. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  1041. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  1042. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.d.ts +21 -0
  1043. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js +43 -0
  1044. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -0
  1045. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +4 -0
  1046. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +107 -151
  1047. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  1048. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  1049. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +3 -0
  1050. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js +0 -1
  1051. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  1052. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.d.ts +21 -0
  1053. package/dist/dist-esm/react-composites/src/composites/common/Drawer/{CaptionSettingsDrawer.js → SpokenLanguageSettingsDrawer.js} +8 -9
  1054. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -0
  1055. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  1056. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.d.ts +14 -0
  1057. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +16 -0
  1058. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -0
  1059. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  1060. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  1061. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +20 -14
  1062. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  1063. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  1064. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  1065. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +11 -13
  1066. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  1067. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +2 -2
  1068. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +19 -8
  1069. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  1070. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +9 -0
  1071. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +20 -0
  1072. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -0
  1073. package/dist/dist-esm/react-composites/src/composites/common/SendBox.d.ts +17 -0
  1074. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js +45 -0
  1075. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js.map +1 -0
  1076. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +3 -0
  1077. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +13 -16
  1078. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  1079. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.d.ts +6 -0
  1080. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js +29 -0
  1081. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js.map +1 -0
  1082. package/dist/dist-esm/react-composites/src/composites/common/Survey.d.ts +20 -0
  1083. package/dist/dist-esm/react-composites/src/composites/common/Survey.js +129 -0
  1084. package/dist/dist-esm/react-composites/src/composites/common/Survey.js.map +1 -0
  1085. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.d.ts +13 -0
  1086. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js +44 -0
  1087. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js.map +1 -0
  1088. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +1 -0
  1089. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +14 -8
  1090. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  1091. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.d.ts +8 -0
  1092. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +23 -0
  1093. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -0
  1094. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +16 -13
  1095. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  1096. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  1097. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  1098. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +28 -0
  1099. package/dist/dist-esm/react-composites/src/composites/common/icons.js +12 -16
  1100. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  1101. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  1102. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  1103. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  1104. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  1105. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +4 -10
  1106. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  1107. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -44
  1108. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  1109. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +6 -29
  1110. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  1111. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +4 -22
  1112. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  1113. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.d.ts +10 -0
  1114. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js +36 -0
  1115. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js.map +1 -0
  1116. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +11 -0
  1117. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  1118. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  1119. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  1120. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  1121. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  1122. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  1123. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  1124. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  1125. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +11 -7
  1126. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  1127. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +11 -7
  1128. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  1129. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +11 -7
  1130. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  1131. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +11 -7
  1132. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +7 -5
  1133. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  1134. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +11 -7
  1135. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  1136. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +11 -7
  1137. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  1138. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +11 -7
  1139. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  1140. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +11 -7
  1141. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  1142. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  1143. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +11 -7
  1144. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  1145. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +11 -7
  1146. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  1147. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +11 -7
  1148. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  1149. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +11 -7
  1150. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  1151. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +11 -7
  1152. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  1153. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +11 -7
  1154. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  1155. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +11 -7
  1156. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  1157. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +11 -7
  1158. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  1159. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +11 -7
  1160. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  1161. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +11 -7
  1162. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js +5 -1
  1163. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js.map +1 -1
  1164. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  1165. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +11 -7
  1166. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  1167. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +11 -7
  1168. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  1169. package/dist/tsdoc-metadata.json +1 -1
  1170. package/package.json +11 -12
  1171. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +0 -1
  1172. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +0 -179
  1173. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +0 -1
  1174. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js +0 -132
  1175. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js.map +0 -1
  1176. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.d.ts +0 -21
  1177. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AzureCommunicationCallAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { compositeLogger } from '../../../Logger';\nimport { _isInCall, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallClientState, CallError, CallState, _createStatefulCallClientInner, StatefulCallClient, StatefulDeviceManager, TeamsCall, TeamsCallAgent as BetaTeamsCallAgent, _isACSCall, _isTeamsCall } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(call-transfer) */\nimport { AcceptedTransfer } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { _isTeamsCallAgent } from '@internal/calling-stateful-client';\nimport { CallCommon } from '@internal/calling-stateful-client';\nimport { _TelemetryImplementationHint } from '@internal/acs-ui-common';\nimport { AudioOptions, CallAgent, GroupCallLocator, TeamsMeetingLinkLocator, LocalVideoStream as SDKLocalVideoStream, AudioDeviceInfo, VideoDeviceInfo, RemoteParticipant, PermissionConstraints, PropertyChangedEvent, StartCallOptions, VideoOptions, Call } from '@azure/communication-calling';\n/* @conditional-compile-remove(close-captions) */\nimport { TeamsCaptions } from '@azure/communication-calling';\n/* @conditional-compile-remove(call-transfer) */\nimport { TransferEventArgs } from '@azure/communication-calling';\n/* @conditional-compile-remove(close-captions) */\nimport { StartCaptionsOptions, TeamsCaptionsInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport type { BackgroundBlurConfig, BackgroundReplacementConfig } from '@azure/communication-calling';\n/* @conditional-compile-remove(capabilities) */\nimport type { CapabilitiesChangeInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-identity-support)) */\nimport { TeamsCallAgent } from '@azure/communication-calling';\n/* @conditional-compile-remove(rooms) */\nimport { RoomCallLocator } from '@azure/communication-calling';\n/* @conditional-compile-remove(unsupported-browser) */ /* @conditional-compile-remove(video-background-effects) */ /* @conditional-compile-remove(close-captions) */ /* @conditional-compile-remove(capabilities) */\nimport { Features } from '@azure/communication-calling';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\n/* @conditional-compile-remove(dtmf-dialer) */\nimport { DtmfTone } from '@azure/communication-calling';\nimport { EventEmitter } from 'events';\nimport { CommonCallAdapter, CallEndedListener, CallIdChangedListener, CallAdapterState, DisplayNameChangedListener, IsMutedChangedListener, IsLocalScreenSharingActiveChangedListener, IsSpeakingChangedListener, ParticipantsJoinedListener, ParticipantsLeftListener, DiagnosticChangedEventListner, CallAdapterCallEndedEvent, CallAdapter, JoinCallOptions, StartCallIdentifier } from './CallAdapter';\n/* @conditional-compile-remove(call-transfer) */\nimport { TransferAcceptedListener } from './CallAdapter';\n/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangedListener } from './CallAdapter';\n/* @conditional-compile-remove(close-captions) */\nimport { CaptionsReceivedListener, IsCaptionsActiveChangedListener, IsCaptionLanguageChangedListener, IsSpokenLanguageChangedListener } from './CallAdapter';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundImage, VideoBackgroundEffect, VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from './CallAdapter';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCallAdapter } from './CallAdapter';\nimport { getCallCompositePage, getLocatorOrTargetCallees, IsCallEndedPage, isCameraOn } from '../utils';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { toFlatCommunicationIdentifier, _toCommunicationIdentifier, _isValidIdentifier } from '@internal/acs-ui-common';\nimport { CommunicationTokenCredential, CommunicationUserIdentifier, CommunicationIdentifier, MicrosoftTeamsUserIdentifier, isMicrosoftTeamsUserIdentifier, MicrosoftTeamsAppIdentifier, UnknownIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(teams-identity-support) */ /* @conditional-compile-remove(PSTN-calls) */\nimport { isCommunicationUserIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { isPhoneNumberIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { ParticipantSubscriber } from './ParticipantSubcriber';\nimport { AdapterError } from '../../common/adapters';\nimport { DiagnosticsForwarder } from './DiagnosticsForwarder';\nimport { useEffect, useRef, useState } from 'react';\nimport { CallHandlersOf, createHandlers } from './createHandlers';\nimport { createProfileStateModifier, OnFetchProfileCallback } from './OnFetchProfileCallback';\n/* @conditional-compile-remove(video-background-effects) */\nimport { getBackgroundEffectFromSelectedEffect } from '../utils';\nimport { getSelectedCameraFromAdapterState } from '../utils';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(calling-sounds) */\nimport { CallingSoundSubscriber } from './CallingSoundSubscriber';\n/* @conditional-compile-remove(calling-sounds) */\nimport { CallingSounds } from './CallAdapter';\ntype CallTypeOf<AgentType extends CallAgent | BetaTeamsCallAgent> = AgentType extends CallAgent ? Call : TeamsCall;\n\n/** Context of call, which is a centralized context for all state updates */\nclass CallContext {\n private emitter: EventEmitter = new EventEmitter();\n private state: CallAdapterState;\n private callId: string | undefined;\n private displayNameModifier: AdapterStateModifier | undefined;\n constructor(clientState: CallClientState, isTeamsCall: boolean, /* @conditional-compile-remove(rooms) */\n isRoomsCall: boolean, options?: {\n maxListeners?: number;\n onFetchProfile?: OnFetchProfileCallback;\n /* @conditional-compile-remove(video-background-effects) */\n videoBackgroundOptions?: {\n videoBackgroundImages?: VideoBackgroundImage[];\n onResolveDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n };\n /* @conditional-compile-remove(calling-sounds) */\n callingSounds?: CallingSounds;\n }, targetCallees?: StartCallIdentifier[]) {\n this.state = {\n isLocalPreviewMicrophoneEnabled: false,\n userId: clientState.userId,\n displayName: clientState.callAgent?.displayName,\n devices: clientState.deviceManager,\n call: undefined,\n /* @conditional-compile-remove(calling-sounds) */targetCallees: (targetCallees as CommunicationIdentifier[]),\n page: 'configuration',\n latestErrors: clientState.latestErrors,\n isTeamsCall,\n /* @conditional-compile-remove(rooms) */isRoomsCall,\n /* @conditional-compile-remove(PSTN-calls) */alternateCallerId: clientState.alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */environmentInfo: clientState.environmentInfo,\n /* @conditional-compile-remove(unsupported-browser) */unsupportedBrowserVersionsAllowed: false,\n /* @conditional-compile-remove(video-background-effects) */videoBackgroundImages: options?.videoBackgroundOptions?.videoBackgroundImages,\n /* @conditional-compile-remove(video-background-effects) */\n onResolveVideoEffectDependency: options?.videoBackgroundOptions?.onResolveDependency,\n /* @conditional-compile-remove(video-background-effects) */selectedVideoBackgroundEffect: undefined,\n cameraStatus: undefined,\n /* @conditional-compile-remove(calling-sounds) */sounds: options?.callingSounds\n };\n this.emitter.setMaxListeners(options?.maxListeners ?? 50);\n this.bindPublicMethods();\n this.displayNameModifier = options?.onFetchProfile ? createProfileStateModifier(options.onFetchProfile, () => {\n this.setState(this.getState());\n }) : undefined;\n }\n private bindPublicMethods(): void {\n /* @conditional-compile-remove(unsupported-browser) */\n this.setAllowedUnsupportedBrowser.bind(this);\n }\n public onStateChange(handler: (_uiState: CallAdapterState) => void): void {\n this.emitter.on('stateChanged', handler);\n }\n public offStateChange(handler: (_uiState: CallAdapterState) => void): void {\n this.emitter.off('stateChanged', handler);\n }\n public setState(state: CallAdapterState): void {\n this.state = this.displayNameModifier ? this.displayNameModifier(state) : state;\n this.emitter.emit('stateChanged', this.state);\n }\n public getState(): CallAdapterState {\n return this.state;\n }\n public setIsLocalMicrophoneEnabled(isLocalPreviewMicrophoneEnabled: boolean): void {\n this.setState({\n ...this.state,\n isLocalPreviewMicrophoneEnabled\n });\n }\n\n // This is the key to find current call object in client state\n public setCurrentCallId(callId: string | undefined): void {\n this.callId = callId;\n }\n\n /* @conditional-compile-remove(calling-sounds) */\n public setTargetCallee(targetCallees: StartCallIdentifier[]): void {\n this.setState({\n ...this.state,\n targetCallees\n });\n }\n public onCallEnded(handler: (callEndedData: CallAdapterCallEndedEvent) => void): void {\n this.emitter.on('callEnded', handler);\n }\n public offCallEnded(handler: (callEndedData: CallAdapterCallEndedEvent) => void): void {\n this.emitter.off('callEnded', handler);\n }\n public updateClientState(clientState: CallClientState): void {\n let call = this.callId ? clientState.calls[this.callId] : undefined;\n const latestEndedCall = clientState.callsEnded ? findLatestEndedCall(clientState.callsEnded) : undefined;\n // As the state is transitioning to a new state, trigger appropriate callback events.\n const oldPage = this.state.page;\n /* @conditional-compile-remove(unsupported-browser) */\n const environmentInfo = {\n environmentInfo: this.state.environmentInfo,\n unsupportedBrowserVersionOptedIn: this.state.unsupportedBrowserVersionsAllowed\n };\n\n /* @conditional-compile-remove(call-transfer) */\n const latestAcceptedTransfer = call?.transfer.acceptedTransfers ? findLatestAcceptedTransfer(call.transfer.acceptedTransfers) : undefined;\n /* @conditional-compile-remove(call-transfer) */\n const transferCall = latestAcceptedTransfer ? clientState.calls[latestAcceptedTransfer.callId] : undefined;\n const newPage = getCallCompositePage(call, latestEndedCall, /* @conditional-compile-remove(call-transfer) */transferCall, /* @conditional-compile-remove(unsupported-browser) */environmentInfo);\n if (!IsCallEndedPage(oldPage) && IsCallEndedPage(newPage)) {\n this.emitter.emit('callEnded', {\n callId: this.callId\n });\n // Reset the callId to undefined as the call has ended.\n this.setCurrentCallId(undefined);\n // Make sure that the call is set to undefined in the state.\n call = undefined;\n }\n if (this.state.page) {\n this.setState({\n ...this.state,\n userId: clientState.userId,\n displayName: clientState.callAgent?.displayName,\n call,\n page: newPage,\n endedCall: latestEndedCall,\n devices: clientState.deviceManager,\n latestErrors: clientState.latestErrors,\n cameraStatus: call?.localVideoStreams.find(s => s.mediaStreamType === 'Video') || clientState.deviceManager.unparentedViews.find(s => s.mediaStreamType === 'Video') ? 'On' : 'Off',\n /* @conditional-compile-remove(call-transfer) */acceptedTransferCallState: transferCall\n });\n }\n }\n\n /* @conditional-compile-remove(unsupported-browser) */\n public setAllowedUnsupportedBrowser(): void {\n this.setState({\n ...this.state,\n unsupportedBrowserVersionsAllowed: true\n });\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n public setBackroundPickerImages(videoBackgroundImages: VideoBackgroundImage[]): void {\n this.setState({\n ...this.state,\n videoBackgroundImages\n });\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n public setSelectedVideoBackgroundEffect(selectedVideoBackgroundEffect?: VideoBackgroundEffect): void {\n this.setState({\n ...this.state,\n selectedVideoBackgroundEffect\n });\n }\n\n /* @conditional-compile-remove(call-transfer) */\n public setAcceptedTransferCall(call?: CallState): void {\n this.setState({\n ...this.state,\n acceptedTransferCallState: call\n });\n }\n}\nconst findLatestEndedCall = (calls: {\n [key: string]: CallState;\n}): CallState | undefined => {\n const callStates = Object.values(calls);\n if (callStates.length === 0) {\n return undefined;\n }\n let latestCall = callStates[0];\n for (const call of callStates.slice(1)) {\n if ((call.endTime?.getTime() ?? 0) > (latestCall.endTime?.getTime() ?? 0)) {\n latestCall = call;\n }\n }\n return latestCall;\n};\n\n/* @conditional-compile-remove(call-transfer) */\nconst findLatestAcceptedTransfer = (acceptedTransfers: {\n [key: string]: AcceptedTransfer;\n}): AcceptedTransfer | undefined => {\n const acceptedTransferValues = Object.values(acceptedTransfers);\n if (acceptedTransferValues.length === 0) {\n return undefined;\n }\n let latestAcceptedTransfer = acceptedTransferValues[0];\n for (const acceptedTransfer of acceptedTransferValues.slice(1)) {\n if ((acceptedTransfer.timestamp?.getTime() ?? 0) > (latestAcceptedTransfer.timestamp?.getTime() ?? 0)) {\n latestAcceptedTransfer = acceptedTransfer;\n }\n }\n return latestAcceptedTransfer;\n};\n\n/**\n * @private\n */\nexport type AdapterStateModifier = (state: CallAdapterState) => CallAdapterState;\n\n/**\n * @private\n */\nexport class AzureCommunicationCallAdapter<AgentType extends CallAgent | BetaTeamsCallAgent = CallAgent> implements CommonCallAdapter {\n private callClient: StatefulCallClient;\n private callAgent: AgentType;\n private deviceManager: StatefulDeviceManager;\n private locator?: CallAdapterLocator;\n targetCallees?: StartCallIdentifier[];\n // Never use directly, even internally. Use `call` property instead.\n private _call?: CallCommon;\n private context: CallContext;\n private diagnosticsForwarder?: DiagnosticsForwarder;\n private handlers: CallHandlersOf<AgentType>;\n private participantSubscribers = new Map<string, ParticipantSubscriber>();\n private emitter: EventEmitter = new EventEmitter();\n /* @conditional-compile-remove(calling-sounds) */\n private callingSoundSubscriber;\n private onClientStateChange: (clientState: CallClientState) => void;\n /* @conditional-compile-remove(video-background-effects) */\n private onResolveVideoBackgroundEffectsDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n private get call(): CallCommon | undefined {\n return this._call;\n }\n private set call(newCall: CallCommon | undefined) {\n this.resetDiagnosticsForwarder(newCall);\n this._call = newCall;\n }\n constructor(callClient: StatefulCallClient, locator: CallAdapterLocator, callAgent: AgentType, deviceManager: StatefulDeviceManager, options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions);\n constructor(callClient: StatefulCallClient, targetCallees: StartCallIdentifier[], callAgent: AgentType, deviceManager: StatefulDeviceManager, options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions);\n constructor(callClient: StatefulCallClient, locatorOrTargetCalless: CallAdapterLocator | StartCallIdentifier[], callAgent: AgentType, deviceManager: StatefulDeviceManager, options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions) {\n this.bindPublicMethods();\n this.callClient = callClient;\n this.callAgent = callAgent;\n this.targetCallees = getLocatorOrTargetCallees(locatorOrTargetCalless) === true ? (locatorOrTargetCalless as StartCallIdentifier[]) : undefined;\n this.locator = getLocatorOrTargetCallees(locatorOrTargetCalless) === false ? (locatorOrTargetCalless as CallAdapterLocator) : undefined;\n this.deviceManager = deviceManager;\n const isTeamsMeeting = this.locator ? 'meetingLink' in this.locator : false;\n\n /* @conditional-compile-remove(rooms) */\n const isRoomsCall = this.locator ? 'roomId' in this.locator : false;\n\n /* @conditional-compile-remove(video-background-effects) */\n this.onResolveVideoBackgroundEffectsDependency = options?.videoBackgroundOptions?.onResolveDependency;\n this.context = new CallContext(callClient.getState(), isTeamsMeeting, /* @conditional-compile-remove(rooms) */isRoomsCall, /* @conditional-compile-remove(video-background-effects) */options, this.targetCallees);\n this.context.onCallEnded(endCallData => this.emitter.emit('callEnded', endCallData));\n const onStateChange = (clientState: CallClientState): void => {\n // unsubscribe when the instance gets disposed\n if (!this) {\n callClient.offStateChange(onStateChange);\n return;\n }\n\n // `updateClientState` searches for the current call from all the calls in the state using a cached `call.id`\n // from the call object. `call.id` can change during a call. We must update the cached `call.id` before\n // calling `updateClientState` so that we find the correct state object for the call even when `call.id`\n // has changed.\n // https://github.com/Azure/communication-ui-library/pull/1820\n if (this.call?.id) {\n this.context.setCurrentCallId(this.call.id);\n }\n\n // If the call connects we need to clean up any previous unparentedViews\n if ((this.call?.state === 'InLobby' || this.call?.state === 'Connected') && this.callClient.getState().deviceManager.unparentedViews.length > 0) {\n this.callClient.getState().deviceManager.unparentedViews.forEach(view => {\n this.callClient.disposeView(undefined, undefined, view);\n });\n }\n this.context.updateClientState(clientState);\n };\n this.handlers = createHandlers(callClient, callAgent, deviceManager, undefined, /* @conditional-compile-remove(video-background-effects) */{\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n });\n this.onClientStateChange = onStateChange;\n this.subscribeDeviceManagerEvents();\n this.callClient.onStateChange(onStateChange);\n /* @conditional-compile-remove(call-transfer) */\n if (this.callAgent.kind === 'CallAgent') {\n const onCallsUpdated = (args: {\n added: Call[];\n removed: Call[];\n }): void => {\n if (this.call?.id) {\n const removedCall = args.removed.find(call => call.id === this.call?.id);\n if (removedCall) {\n const removedCallState = this.callClient.getState().callsEnded[removedCall.id];\n const latestAcceptedTransfer = findLatestAcceptedTransfer(removedCallState.transfer.acceptedTransfers);\n const _callAgent = (callAgent as CallAgent);\n const transferCall = _callAgent.calls.find((call: Call) => call.id === latestAcceptedTransfer?.callId);\n if (transferCall) {\n this.processNewCall(transferCall);\n }\n }\n }\n };\n (this.callAgent as CallAgent).on('callsUpdated', onCallsUpdated);\n }\n /* @conditional-compile-remove(teams-identity-support) */\n if (this.callAgent.kind === 'TeamsCallAgent') {\n const onTeamsCallsUpdated = (args: {\n added: TeamsCall[];\n removed: TeamsCall[];\n }): void => {\n if (this.call?.id) {\n const removedCall = args.removed.find(call => call.id === this.call?.id);\n if (removedCall) {\n const removedCallState = this.callClient.getState().callsEnded[removedCall.id];\n const latestAcceptedTransfer = findLatestAcceptedTransfer(removedCallState.transfer.acceptedTransfers);\n const _callAgent = (callAgent as TeamsCallAgent);\n const transferCall = _callAgent.calls.find((call: TeamsCall) => call.id === latestAcceptedTransfer?.callId);\n if (transferCall) {\n this.processNewCall(transferCall);\n }\n }\n }\n };\n (this.callAgent as TeamsCallAgent).on('callsUpdated', onTeamsCallsUpdated);\n }\n }\n\n // TODO: update this to include the 'selectedCameraChanged' when calling adds it to the device manager\n private subscribeDeviceManagerEvents(): void {\n this.deviceManager.on('selectedMicrophoneChanged', () => {\n this.emitter.emit('selectedMicrophoneChanged');\n });\n this.deviceManager.on('selectedSpeakerChanged', () => {\n this.emitter.emit('selectedSpeakerChanged');\n });\n }\n private bindPublicMethods(): void {\n this.onStateChange.bind(this);\n this.offStateChange.bind(this);\n this.getState.bind(this);\n this.dispose.bind(this);\n this.joinCall.bind(this);\n this.leaveCall.bind(this);\n this.setCamera.bind(this);\n this.setMicrophone.bind(this);\n this.setSpeaker.bind(this);\n this.askDevicePermission.bind(this);\n this.queryCameras.bind(this);\n this.queryMicrophones.bind(this);\n this.querySpeakers.bind(this);\n this.startCamera.bind(this);\n this.stopCamera.bind(this);\n this.mute.bind(this);\n this.unmute.bind(this);\n this.startCall.bind(this);\n this.startScreenShare.bind(this);\n this.stopScreenShare.bind(this);\n /* @conditional-compile-remove(raise-hand) */\n this.raiseHand.bind(this);\n this.lowerHand.bind(this);\n this.removeParticipant.bind(this);\n this.createStreamView.bind(this);\n this.disposeStreamView.bind(this);\n this.disposeScreenShareStreamView.bind(this);\n this.disposeRemoteVideoStreamView.bind(this);\n this.disposeLocalVideoStreamView.bind(this);\n this.on.bind(this);\n this.off.bind(this);\n this.processNewCall.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */\n this.addParticipant.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */\n this.holdCall.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */\n this.resumeCall.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */\n this.sendDtmfTone.bind(this);\n /* @conditional-compile-remove(unsupported-browser) */\n this.allowUnsupportedBrowserVersion.bind(this);\n /* @conditional-compile-remove(close-captions) */\n {\n this.startCaptions.bind(this);\n this.stopCaptions.bind(this);\n this.setSpokenLanguage.bind(this);\n this.setCaptionLanguage.bind(this);\n }\n /* @conditional-compile-remove(video-background-effects) */\n this.startVideoBackgroundEffect.bind(this);\n /* @conditional-compile-remove(video-background-effects) */\n this.stopVideoBackgroundEffects.bind(this);\n /* @conditional-compile-remove(video-background-effects) */\n this.updateBackgroundPickerImages.bind(this);\n }\n public dispose(): void {\n this.resetDiagnosticsForwarder();\n this.callClient.offStateChange(this.onClientStateChange);\n this.callAgent.dispose();\n }\n public async queryCameras(): Promise<VideoDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const cameras = await this.deviceManager.getCameras();\n const endTime = new Date().getTime();\n compositeLogger.info('time to query cameras', endTime - startTime, 'ms');\n return cameras;\n });\n }\n public async queryMicrophones(): Promise<AudioDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const microphones = await this.deviceManager.getMicrophones();\n const endTime = new Date().getTime();\n compositeLogger.info('time to query microphones', endTime - startTime, 'ms');\n return microphones;\n });\n }\n public async querySpeakers(): Promise<AudioDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const speakers = (await this.deviceManager.isSpeakerSelectionAvailable) ? this.deviceManager.getSpeakers() : [];\n const endTime = new Date().getTime();\n compositeLogger.info('time to query speakers', endTime - startTime, 'ms');\n return speakers;\n });\n }\n public async askDevicePermission(constrain: PermissionConstraints): Promise<void> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.deviceManager.askDevicePermission(constrain);\n const endTime = new Date().getTime();\n compositeLogger.info('time to query askDevicePermissions', endTime - startTime, 'ms');\n });\n }\n public joinCall(options?: boolean | JoinCallOptions): CallTypeOf<AgentType> | undefined {\n if (_isInCall(this.getState().call?.state ?? 'None')) {\n throw new Error('You are already in the call!');\n } else if (this.locator === undefined) {\n throw new Error('Locator is not defined!');\n }\n return this.teeErrorToEventEmitter(() => {\n // Default to keeping camera/mic on if no override argument specified\n let shouldCameraBeOnInCall = this.getState().cameraStatus === 'On';\n let shouldMicrophoneBeOnInCall = this.getState().isLocalPreviewMicrophoneEnabled;\n\n // Apply override arguments\n if (typeof options === 'boolean') {\n // Deprecated joinCall API (boolen)\n shouldMicrophoneBeOnInCall = options;\n } else if (typeof options === 'object') {\n // Options bag API\n if (options.microphoneOn && options.microphoneOn !== 'keep') {\n shouldMicrophoneBeOnInCall = options.microphoneOn;\n }\n if (options.cameraOn && options.cameraOn !== 'keep') {\n shouldCameraBeOnInCall = options.cameraOn;\n }\n }\n const audioOptions: AudioOptions = {\n muted: !shouldMicrophoneBeOnInCall\n };\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n const videoOptions: VideoOptions = selectedCamera && shouldCameraBeOnInCall ? {\n localVideoStreams: [new SDKLocalVideoStream(selectedCamera)]\n } : {};\n const call = this._joinCall(audioOptions, videoOptions);\n this.processNewCall(call);\n return call;\n });\n }\n private _joinCall(audioOptions: AudioOptions, videoOptions: VideoOptions): CallTypeOf<AgentType> {\n const isTeamsMeeting = this.locator ? 'meetingLink' in this.locator : false;\n /* @conditional-compile-remove(rooms) */\n const isRoomsCall = this.locator ? 'roomId' in this.locator : false;\n\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(this.callAgent)) {\n if (!isTeamsMeeting) {\n throw new Error('Locator not supported by TeamsCallAgent');\n }\n return (this.callAgent.join((this.locator as TeamsMeetingLinkLocator), {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>);\n }\n if (isTeamsMeeting) {\n return (this.callAgent.join((this.locator as TeamsMeetingLinkLocator), {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>);\n }\n /* @conditional-compile-remove(rooms) */\n if (isRoomsCall) {\n return (this.callAgent.join((this.locator as RoomCallLocator), {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>);\n }\n return (this.callAgent.join((this.locator as GroupCallLocator), {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>);\n }\n public async createStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void | CreateVideoStreamViewResult> {\n if (remoteUserId === undefined) {\n return await this.handlers.onCreateLocalStreamView(options);\n } else {\n return await this.handlers.onCreateRemoteStreamView(remoteUserId, options);\n }\n }\n public async disposeStreamView(remoteUserId?: string): Promise<void> {\n if (remoteUserId === undefined) {\n await this.handlers.onDisposeLocalStreamView();\n } else {\n await this.handlers.onDisposeRemoteStreamView(remoteUserId);\n }\n }\n public async disposeScreenShareStreamView(remoteUserId: string): Promise<void> {\n await this.handlers.onDisposeRemoteScreenShareStreamView(remoteUserId);\n }\n public async disposeRemoteVideoStreamView(remoteUserId: string): Promise<void> {\n await this.handlers.onDisposeRemoteVideoStreamView(remoteUserId);\n }\n public async disposeLocalVideoStreamView(): Promise<void> {\n await this.handlers.onDisposeLocalStreamView();\n }\n public async leaveCall(forEveryone?: boolean): Promise<void> {\n if (this.getState().page === 'transferring') {\n const transferCall = this.callAgent.calls.filter(call => call.id === this.getState().acceptedTransferCallState?.id)[0];\n transferCall?.hangUp();\n }\n await this.handlers.onHangUp(forEveryone);\n this.unsubscribeCallEvents();\n this.handlers = createHandlers(this.callClient, this.callAgent, this.deviceManager, this.call, /* @conditional-compile-remove(video-background-effects) */{\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n });\n // We set the adapter.call object to undefined immediately when a call is ended.\n // We do not set the context.callId to undefined because it is a part of the immutable data flow loop.\n this.call = undefined;\n this.stopCamera();\n this.mute();\n }\n public async setCamera(device: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectCamera(device, options);\n });\n }\n public async setMicrophone(device: AudioDeviceInfo): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectMicrophone(device);\n });\n }\n public async setSpeaker(device: AudioDeviceInfo): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectSpeaker(device);\n });\n }\n public async startCamera(options?: VideoStreamOptions): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (!isCameraOn(this.getState())) {\n // First kick off the effect on the local device before starting the camera in the call.\n // This prevents the effect not being applied for a brief moment when the camera is started.\n /* @conditional-compile-remove(video-background-effects) */\n {\n const selectedEffect = this.getState().selectedVideoBackgroundEffect;\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n if (selectedEffect && selectedCamera && this.onResolveVideoBackgroundEffectsDependency) {\n const stream = new SDKLocalVideoStream(selectedCamera);\n const effect = getBackgroundEffectFromSelectedEffect(selectedEffect, await this.onResolveVideoBackgroundEffectsDependency());\n if (effect) {\n await stream.feature(Features.VideoEffects).startEffects(effect);\n } else {\n await stream.feature(Features.VideoEffects).stopEffects();\n }\n }\n }\n await this.handlers.onToggleCamera(options);\n }\n });\n }\n public async stopCamera(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (isCameraOn(this.getState())) {\n await this.handlers.onToggleCamera();\n }\n });\n }\n public async mute(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n this.context.setIsLocalMicrophoneEnabled(false);\n if (_isInCall(this.call?.state) && !this.call?.isMuted) {\n await this.handlers.onToggleMicrophone();\n }\n });\n }\n public async unmute(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n this.context.setIsLocalMicrophoneEnabled(true);\n if ((_isInCall(this.call?.state) || _isInLobbyOrConnecting(this.call?.state)) && this.call?.isMuted) {\n await this.handlers.onToggleMicrophone();\n }\n });\n }\n public async startScreenShare(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (!this.call?.isScreenSharingOn) {\n await this.handlers.onToggleScreenShare();\n }\n });\n }\n public async stopScreenShare(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (this.call?.isScreenSharingOn) {\n await this.handlers.onToggleScreenShare();\n }\n });\n }\n\n /* @conditional-compile-remove(raise-hand) */\n public async raiseHand(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onToggleRaiseHand();\n });\n }\n\n /* @conditional-compile-remove(raise-hand) */\n public async lowerHand(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onToggleRaiseHand();\n });\n }\n /* @conditional-compile-remove(unsupported-browser) */\n public allowUnsupportedBrowserVersion(): void {\n this.context.setAllowedUnsupportedBrowser();\n this.context.updateClientState(this.callClient.getState());\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n public async startVideoBackgroundEffect(videoBackgroundEffect: VideoBackgroundEffect): Promise<void> {\n if (this.isBlurEffect(videoBackgroundEffect)) {\n const blurConfig = (videoBackgroundEffect as BackgroundBlurConfig);\n await this.handlers.onBlurVideoBackground(blurConfig);\n } else if (this.isReplacementEffect(videoBackgroundEffect)) {\n const replaceConfig = (videoBackgroundEffect as BackgroundReplacementConfig);\n await this.handlers.onReplaceVideoBackground(replaceConfig);\n }\n }\n /* @conditional-compile-remove(video-background-effects) */\n public async stopVideoBackgroundEffects(): Promise<void> {\n await this.handlers.onRemoveVideoBackgroundEffects();\n }\n /* @conditional-compile-remove(video-background-effects) */\n public updateBackgroundPickerImages(backgroundImages: VideoBackgroundImage[]): void {\n this.context.setBackroundPickerImages(backgroundImages);\n }\n /* @conditional-compile-remove(video-background-effects) */\n public updateSelectedVideoBackgroundEffect(selectedVideoBackground: VideoBackgroundEffect): void {\n this.context.setSelectedVideoBackgroundEffect(selectedVideoBackground);\n }\n public startCall(participants: string[] | (MicrosoftTeamsAppIdentifier | /* @conditional-compile-remove(PSTN-calls) */PhoneNumberIdentifier | /* @conditional-compile-remove(one-to-n-calling) */CommunicationUserIdentifier | /* @conditional-compile-remove(teams-adhoc-call) */MicrosoftTeamsUserIdentifier | UnknownIdentifier)[], options?: StartCallOptions): CallTypeOf<AgentType> | undefined {\n if (_isInCall(this.getState().call?.state ?? 'None')) {\n throw new Error('You are already in the call.');\n }\n const isCameraOn = this.getState().cameraStatus === 'On';\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n /* we only configure the video options here since the Calling SDK always unmutes the participant when starting a call */\n const startCallVideoOptions: StartCallOptions = selectedCamera ? {\n videoOptions: isCameraOn ? {\n localVideoStreams: [new SDKLocalVideoStream(selectedCamera)]\n } : undefined\n } : {};\n const combinedCallOptions = {\n ...startCallVideoOptions,\n ...options\n };\n const idsToAdd = participants.map(participant => {\n let backendId = participant;\n if (typeof participant === 'string') {\n backendId = _toCommunicationIdentifier(participant);\n }\n if (backendId.phoneNumber) {\n if (options?.alternateCallerId === undefined) {\n throw new Error('Unable to start call, PSTN user present with no alternateCallerId.');\n }\n return (backendId as CommunicationIdentifier);\n }\n return (backendId as CommunicationIdentifier);\n });\n\n /* @conditional-compile-remove(calling-sounds) */\n this.context.setTargetCallee((idsToAdd as (MicrosoftTeamsAppIdentifier | /* @conditional-compile-remove(PSTN-calls) */PhoneNumberIdentifier | /* @conditional-compile-remove(one-to-n-calling) */CommunicationUserIdentifier | /* @conditional-compile-remove(teams-adhoc-call) */MicrosoftTeamsUserIdentifier | UnknownIdentifier)[]));\n const call = (this.handlers.onStartCall(idsToAdd, combinedCallOptions) as CallTypeOf<AgentType>);\n if (!call) {\n throw new Error('Unable to start call.');\n }\n this.processNewCall(call);\n return call;\n }\n private processNewCall(call: CallCommon): void {\n this.call = call;\n this.context.setCurrentCallId(call.id);\n\n // Resync state after callId is set\n this.context.updateClientState(this.callClient.getState());\n this.handlers = createHandlers(this.callClient, this.callAgent, this.deviceManager, this.call, /* @conditional-compile-remove(video-background-effects) */{\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n });\n this.subscribeCallEvents();\n }\n /* @conditional-compile-remove(video-background-effects) */\n private isBlurEffect(effect: VideoBackgroundEffect): effect is VideoBackgroundBlurEffect {\n return effect.effectName === 'blur';\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n private isReplacementEffect(effect: VideoBackgroundEffect): effect is VideoBackgroundReplacementEffect {\n return effect.effectName === 'replacement';\n }\n public async removeParticipant(userId: string | /* @conditional-compile-remove(PSTN-calls) */CommunicationIdentifier): Promise<void> {\n let participant = userId;\n /* @conditional-compile-remove(PSTN-calls) */\n participant = _toCommunicationIdentifier(userId);\n this.handlers.onRemoveParticipant(participant);\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n public async addParticipant(participant: CommunicationUserIdentifier): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n public async addParticipant(participant: PhoneNumberIdentifier | CommunicationUserIdentifier, options?: AddPhoneNumberOptions): Promise<void> {\n if (isPhoneNumberIdentifier(participant) && options) {\n this.handlers.onAddParticipant(participant, options);\n } else if (isCommunicationUserIdentifier(participant)) {\n this.handlers.onAddParticipant(participant);\n }\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async holdCall(): Promise<void> {\n if (this.call?.state !== 'LocalHold') {\n if (this.call?.isLocalVideoStarted) {\n this.stopCamera().then(() => {\n this.handlers.onToggleHold();\n });\n } else {\n this.handlers.onToggleHold();\n }\n }\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async resumeCall(): Promise<void> {\n if (this.call?.state === 'LocalHold') {\n this.handlers.onToggleHold().then(() => {\n if (this.call?.feature(Features.Capabilities).capabilities.turnVideoOn.isPresent === false) {\n this.stopCamera();\n }\n });\n }\n }\n\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */\n public async sendDtmfTone(dtmfTone: DtmfTone): Promise<void> {\n this.handlers.onSendDtmfTone(dtmfTone);\n }\n\n /* @conditional-compile-remove(close-captions) */\n public async startCaptions(options?: StartCaptionsOptions): Promise<void> {\n this.handlers.onStartCaptions(options);\n }\n\n /* @conditional-compile-remove(close-captions) */\n public async stopCaptions(): Promise<void> {\n this.handlers.onStopCaptions();\n }\n\n /* @conditional-compile-remove(close-captions) */\n public async setCaptionLanguage(language: string): Promise<void> {\n this.handlers.onSetCaptionLanguage(language);\n }\n\n /* @conditional-compile-remove(close-captions) */\n public async setSpokenLanguage(language: string): Promise<void> {\n this.handlers.onSetSpokenLanguage(language);\n }\n public getState(): CallAdapterState {\n return this.context.getState();\n }\n public onStateChange(handler: (state: CallAdapterState) => void): void {\n this.context.onStateChange(handler);\n }\n public offStateChange(handler: (state: CallAdapterState) => void): void {\n this.context.offStateChange(handler);\n }\n on(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;\n on(event: 'participantsLeft', listener: ParticipantsLeftListener): void;\n on(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n on(event: 'callIdChanged', listener: CallIdChangedListener): void;\n on(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n on(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n on(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n on(event: 'callEnded', listener: CallEndedListener): void;\n on(event: 'diagnosticChanged', listener: DiagnosticChangedEventListner): void;\n on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n on(event: 'error', errorHandler: (e: AdapterError) => void): void;\n /* @conditional-compile-remove(close-captions) */\n on(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n /* @conditional-compile-remove(close-captions) */\n on(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n /* @conditional-compile-remove(close-captions) */\n on(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n /* @conditional-compile-remove(close-captions) */\n on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n /* @conditional-compile-remove(call-transfer) */\n on(event: 'transferAccepted', listener: TransferAcceptedListener): void;\n /* @conditional-compile-remove(capabilities) */\n on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n /* @conditional-compile-remove(capabilities) */\n on(event: 'roleChanged', listener: PropertyChangedEvent): void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public on(event: string, listener: (e: any) => void): void {\n this.emitter.on(event, listener);\n }\n\n /* @conditional-compile-remove(close-captions) */\n private subscribeToCaptionEvents(): void {\n if (this.call && this.call.state === 'Connected' && this.context.getState().isTeamsCall) {\n const captionsFeature = (this.call?.feature(Features.Captions).captions as TeamsCaptions);\n captionsFeature.on('CaptionsReceived', this.captionsReceived.bind(this));\n captionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n captionsFeature.on('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));\n captionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n }\n }\n\n /* @conditional-compile-remove(close-captions) */\n private unsubscribeFromCaptionEvents(): void {\n if (this.call && this.call.state === 'Connected' && this.context.getState().isTeamsCall) {\n const captionsFeature = (this.call?.feature(Features.Captions).captions as TeamsCaptions);\n captionsFeature.off('CaptionsReceived', this.captionsReceived.bind(this));\n captionsFeature.off('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n captionsFeature.off('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));\n captionsFeature.off('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n this.call?.off('stateChanged', this.subscribeToCaptionEvents.bind(this));\n }\n }\n private subscribeCallEvents(): void {\n /* @conditional-compile-remove(calling-sounds) */\n if (this.call) {\n this.callingSoundSubscriber = new CallingSoundSubscriber(this.call, this.getState().targetCallees, this.getState().sounds);\n }\n this.call?.on('remoteParticipantsUpdated', this.onRemoteParticipantsUpdated.bind(this));\n this.call?.on('isMutedChanged', this.isMyMutedChanged.bind(this));\n this.call?.on('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));\n this.call?.on('idChanged', this.callIdChanged.bind(this));\n /* @conditional-compile-remove(close-captions) */\n this.call?.on('stateChanged', this.subscribeToCaptionEvents.bind(this));\n /* @conditional-compile-remove(rooms) */\n this.call?.on('roleChanged', this.roleChanged.bind(this));\n /* @conditional-compile-remove(call-transfer) */\n this.call?.feature(Features.Transfer).on('transferAccepted', this.transferAccepted.bind(this));\n /* @conditional-compile-remove(capabilities) */\n this.call?.feature(Features.Capabilities).on('capabilitiesChanged', this.capabilitiesChanged.bind(this));\n }\n private unsubscribeCallEvents(): void {\n for (const subscriber of this.participantSubscribers.values()) {\n subscriber.unsubscribeAll();\n }\n this.participantSubscribers.clear();\n this.call?.off('remoteParticipantsUpdated', this.onRemoteParticipantsUpdated.bind(this));\n this.call?.off('isMutedChanged', this.isMyMutedChanged.bind(this));\n this.call?.off('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));\n this.call?.off('idChanged', this.callIdChanged.bind(this));\n /* @conditional-compile-remove(rooms) */\n this.call?.off('roleChanged', this.roleChanged.bind(this));\n\n /* @conditional-compile-remove(close-captions) */\n this.unsubscribeFromCaptionEvents();\n /* @conditional-compile-remove(calling-sounds) */\n if (this.callingSoundSubscriber) {\n this.callingSoundSubscriber.unsubscribeAll();\n }\n }\n private isMyMutedChanged = (): void => {\n this.emitter.emit('isMutedChanged', {\n participantId: this.getState().userId,\n isMuted: this.call?.isMuted\n });\n };\n private onRemoteParticipantsUpdated({\n added,\n removed\n }: {\n added: RemoteParticipant[];\n removed: RemoteParticipant[];\n }): void {\n if (added && added.length > 0) {\n this.emitter.emit('participantsJoined', {\n joined: added\n });\n }\n if (removed && removed.length > 0) {\n this.emitter.emit('participantsLeft', {\n removed: removed\n });\n }\n added.forEach(participant => {\n this.participantSubscribers.set(toFlatCommunicationIdentifier(participant.identifier), new ParticipantSubscriber(participant, this.emitter));\n });\n removed.forEach(participant => {\n const subscriber = this.participantSubscribers.get(toFlatCommunicationIdentifier(participant.identifier));\n subscriber && subscriber.unsubscribeAll();\n this.participantSubscribers.delete(toFlatCommunicationIdentifier(participant.identifier));\n });\n }\n private isScreenSharingOnChanged(): void {\n this.emitter.emit('isLocalScreenSharingActiveChanged', {\n isScreenSharingOn: this.call?.isScreenSharingOn\n });\n }\n\n /* @conditional-compile-remove(close-captions) */\n private captionsReceived(captionsInfo: TeamsCaptionsInfo): void {\n this.emitter.emit('captionsReceived', {\n captionsInfo\n });\n }\n\n /* @conditional-compile-remove(close-captions) */\n private isCaptionsActiveChanged(): void {\n const captionsFeature = (this.call?.feature(Features.Captions).captions as TeamsCaptions);\n this.emitter.emit('isCaptionsActiveChanged', {\n isActive: captionsFeature.isCaptionsFeatureActive\n });\n }\n\n /* @conditional-compile-remove(close-captions) */\n private isSpokenLanguageChanged(): void {\n const captionsFeature = (this.call?.feature(Features.Captions).captions as TeamsCaptions);\n this.emitter.emit('isSpokenLanguageChanged', {\n activeSpokenLanguage: captionsFeature.activeSpokenLanguage\n });\n }\n\n /* @conditional-compile-remove(close-captions) */\n private isCaptionLanguageChanged(): void {\n const captionsFeature = (this.call?.feature(Features.Captions).captions as TeamsCaptions);\n this.emitter.emit('isCaptionLanguageChanged', {\n activeCaptionLanguage: captionsFeature.activeCaptionLanguage\n });\n }\n\n /* @conditional-compile-remove(call-transfer) */\n private transferAccepted(args: TransferEventArgs): void {\n this.emitter.emit('transferAccepted', args);\n }\n\n /* @conditional-compile-remove(capabilities) */\n private capabilitiesChanged(data: CapabilitiesChangeInfo): void {\n if (data.newValue.turnVideoOn?.isPresent === false) {\n // Only stop camera when the call state is not on hold. The Calling SDK does not allow us to stop camera when\n // the call state is on hold.\n if (this.call?.state !== 'LocalHold' && this.call?.state !== 'RemoteHold') {\n this.stopCamera();\n }\n this.disposeLocalVideoStreamView();\n }\n if (data.newValue.unmuteMic?.isPresent === false) {\n this.mute();\n }\n if (data.newValue.shareScreen?.isPresent === false) {\n this.stopScreenShare();\n }\n this.emitter.emit('capabilitiesChanged', data);\n }\n\n /* @conditional-compile-remove(rooms) */\n private roleChanged(): void {\n if (this.call?.role === 'Consumer') {\n this.call?.feature(Features.RaiseHand).lowerHand();\n }\n this.emitter.emit('roleChanged');\n }\n private callIdChanged(): void {\n this.call?.id && this.emitter.emit('callIdChanged', {\n callId: this.call.id\n });\n }\n private resetDiagnosticsForwarder(newCall?: CallCommon): void {\n if (this.diagnosticsForwarder) {\n this.diagnosticsForwarder.unsubscribe();\n }\n if (newCall) {\n this.diagnosticsForwarder = new DiagnosticsForwarder(this.emitter, newCall);\n }\n }\n off(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;\n off(event: 'participantsLeft', listener: ParticipantsLeftListener): void;\n off(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n off(event: 'callIdChanged', listener: CallIdChangedListener): void;\n off(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n off(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n off(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n off(event: 'callEnded', listener: CallEndedListener): void;\n off(event: 'diagnosticChanged', listener: DiagnosticChangedEventListner): void;\n off(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n off(event: 'error', errorHandler: (e: AdapterError) => void): void;\n /* @conditional-compile-remove(close-captions) */\n off(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n /* @conditional-compile-remove(close-captions) */\n off(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n /* @conditional-compile-remove(close-captions) */\n off(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n /* @conditional-compile-remove(close-captions) */\n off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n /* @conditional-compile-remove(call-transfer) */\n off(event: 'transferAccepted', listener: TransferAcceptedListener): void;\n /* @conditional-compile-remove(capabilities) */\n off(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n /* @conditional-compile-remove(rooms) */\n off(event: 'roleChanged', listener: PropertyChangedEvent): void;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public off(event: string, listener: (e: any) => void): void {\n this.emitter.off(event, listener);\n }\n private async asyncTeeErrorToEventEmitter<T>(f: () => Promise<T>): Promise<T> {\n try {\n return await f();\n } catch (error) {\n if (isCallError((error as Error))) {\n this.emitter.emit('error', (error as AdapterError));\n }\n throw error;\n }\n }\n private teeErrorToEventEmitter<T>(f: () => T): T {\n try {\n return f();\n } catch (error) {\n if (isCallError((error as Error))) {\n this.emitter.emit('error', (error as AdapterError));\n }\n throw error;\n }\n }\n}\n\n/* @conditional-compile-remove(teams-adhoc-call) */\n/* @conditional-compile-remove(PSTN-calls) */\n/**\n * Locator used by {@link createAzureCommunicationCallAdapter} to call one or more participants\n *\n * @remarks\n * This is currently in beta and only supports calling one Teams User.\n *\n * @example\n * ```\n * ['8:orgid:ab220efe-5725-4742-9792-9fba7c9ac458']\n * ```\n *\n * @beta\n */\nexport type CallParticipantsLocator = {\n participantIds: string[];\n};\n\n/**\n * Locator used by {@link createAzureCommunicationCallAdapter} to locate the call to join\n *\n * @public\n */\nexport type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator | /* @conditional-compile-remove(rooms) */RoomCallLocator | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */CallParticipantsLocator;\n\n/**\n * Common optional parameters to create {@link AzureCommunicationCallAdapter} or {@link TeamsCallAdapter}\n *\n * @public\n */\nexport type CommonCallAdapterOptions = {\n /* @conditional-compile-remove(video-background-effects) */\n /**\n * Default set of background images for background image picker.\n */\n videoBackgroundOptions?: {\n videoBackgroundImages?: VideoBackgroundImage[];\n onResolveDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n };\n /* @conditional-compile-remove(teams-identity-support) */\n /**\n * Use this to fetch profile information which will override data in {@link CallAdapterState} like display name\n * The onFetchProfile is fetch-and-forget one time action for each user, once a user profile is updated, the value will be cached\n * and would not be updated again within the lifecycle of adapter.\n */\n onFetchProfile?: OnFetchProfileCallback;\n /* @conditional-compile-remove(calling-sounds) */\n /**\n * Sounds to use for calling events\n */\n callingSounds?: CallingSounds;\n};\n\n/**\n * Optional parameters to create {@link AzureCommunicationCallAdapter}\n *\n * @public\n */\nexport type AzureCommunicationCallAdapterOptions = CommonCallAdapterOptions;\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link CallAdapter}.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport type AzureCommunicationCallAdapterArgs = {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAdapterLocator;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * A phone number in E.164 format procured using Azure Communication Services that will be used to represent callers identity.\n * E.164 numbers are formatted as [+] [country code] [phone number including area code]. For example, +14255550123 for a US phone number.\n */\n alternateCallerId?: string;\n /* @conditional-compile-remove(video-background-effects) */\n /**\n * Optional parameters for the {@link AzureCommunicationCallAdapter} created\n */\n options?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link CallAdapter}.\n *\n * These arguments are used to create an outbound call scenarios.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport type AzureCommunicationOutboundCallAdapterArgs = {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n targetCallees: StartCallIdentifier[];\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * A phone number in E.164 format procured using Azure Communication Services that will be used to represent callers identity.\n * E.164 numbers are formatted as [+] [country code] [phone number including area code]. For example, +14255550123 for a US phone number.\n */\n alternateCallerId?: string;\n /* @conditional-compile-remove(video-background-effects) */\n /**\n * Optional parameters for the {@link AzureCommunicationCallAdapter} created\n */\n options?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Optional parameters to create {@link TeamsCallAdapter}\n *\n * @public\n */\nexport type TeamsAdapterOptions = CommonCallAdapterOptions;\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link TeamsCallAdapter}.\n *\n * @beta\n */\nexport type TeamsCallAdapterArgs = {\n userId: MicrosoftTeamsUserIdentifier;\n credential: CommunicationTokenCredential;\n locator: TeamsMeetingLinkLocator | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */CallParticipantsLocator;\n /**\n * Optional parameters for the {@link TeamsCallAdapter} created\n */\n options?: TeamsAdapterOptions;\n};\n\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(args: AzureCommunicationCallAdapterArgs): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(args: AzureCommunicationOutboundCallAdapterArgs): Promise<CallAdapter>;\n/**\n * @public\n */\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(args: AzureCommunicationCallAdapterArgs | AzureCommunicationOutboundCallAdapterArgs): Promise<CallAdapter> {\n if (isMicrosoftTeamsUserIdentifier(args.userId)) {\n throw new Error('Microsoft Teams user identifier is not supported by AzureCommunicationCallAdapter. Instead use TeamsCallAdapter.');\n }\n return _createAzureCommunicationCallAdapterInner({\n userId: args.userId,\n displayName: args.displayName,\n credential: args.credential,\n locator: (args as AzureCommunicationCallAdapterArgs).locator,\n targetCallees: (args as AzureCommunicationOutboundCallAdapterArgs).targetCallees,\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId: args.alternateCallerId,\n /* @conditional-compile-remove(video-background-effects) */\n options: args.options\n });\n}\n\n/**\n * This inner function is used to allow injection of TelemetryImplementationHint without changing the public API.\n *\n * @internal\n */\nexport const _createAzureCommunicationCallAdapterInner = async ({\n userId,\n displayName,\n credential,\n locator,\n targetCallees,\n /* @conditional-compile-remove(PSTN-calls) */alternateCallerId,\n /* @conditional-compile-remove(video-background-effects) */options,\n telemetryImplementationHint = 'Call'\n}: {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAdapterLocator;\n targetCallees?: StartCallIdentifier[];\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId?: string;\n /* @conditional-compile-remove(video-background-effects) */\n options?: AzureCommunicationCallAdapterOptions;\n telemetryImplementationHint?: _TelemetryImplementationHint;\n}): Promise<CallAdapter> => {\n if (!_isValidIdentifier(userId)) {\n throw new Error('Invalid identifier. Please provide valid identifier object.');\n }\n const callClient = _createStatefulCallClientInner({\n userId,\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId\n }, undefined, telemetryImplementationHint);\n const callAgent = await callClient.createCallAgent(credential, {\n displayName\n });\n let adapter;\n if (locator) {\n adapter = createAzureCommunicationCallAdapterFromClient(callClient, callAgent, locator, /* @conditional-compile-remove(video-background-effects) */options);\n } else {\n adapter = createAzureCommunicationCallAdapterFromClient(callClient, callAgent, (targetCallees as StartCallIdentifier[]), /* @conditional-compile-remove(video-background-effects) */options);\n }\n return adapter;\n};\n\n/* @conditional-compile-remove(teams-identity-support) */\n/**\n * @beta\n */\nexport const createTeamsCallAdapter = async ({\n userId,\n credential,\n locator,\n options\n}: TeamsCallAdapterArgs): Promise<TeamsCallAdapter> => {\n if (isCommunicationUserIdentifier(userId)) {\n throw new Error('Communication User identifier is not supported by TeamsCallAdapter, please use our AzureCommunicationCallAdapter.');\n }\n const callClient = _createStatefulCallClientInner({\n userId\n }, undefined, ('Call' as _TelemetryImplementationHint));\n const callAgent = await callClient.createTeamsCallAgent(credential, {\n undefined\n });\n const adapter = createTeamsCallAdapterFromClient(callClient, callAgent, locator, options);\n return adapter;\n};\ntype PartialArgsType<Adapter> = Adapter extends CallAdapter ? Partial<AzureCommunicationCallAdapterArgs> : Partial<TeamsCallAdapterArgs>;\ntype PartialArgsOutboundType<Adapter> = Adapter extends CallAdapter ? Partial<AzureCommunicationOutboundCallAdapterArgs> : Partial<TeamsCallAdapterArgs>;\ntype AdapterOf<AdapterKind extends 'AzureCommunication' | 'Teams'> = AdapterKind extends 'AzureCommunication' ? CallAdapter : never | /* @conditional-compile-remove(teams-identity-support) */TeamsCallAdapter;\n\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<AdapterKind extends 'AzureCommunication' | 'Teams', Adapter extends AdapterOf<AdapterKind>>(args: PartialArgsType<Adapter>, adapterKind: AdapterKind, afterCreate?: (adapter: Adapter) => Promise<Adapter>, beforeDispose?: (adapter: Adapter) => Promise<void>): Adapter | undefined;\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<AdapterKind extends 'AzureCommunication' | 'Teams', Adapter extends AdapterOf<AdapterKind>>(args: PartialArgsOutboundType<Adapter>, adapterKind: AdapterKind, afterCreate?: (adapter: Adapter) => Promise<Adapter>, beforeDispose?: (adapter: Adapter) => Promise<void>): Adapter | undefined;\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<AdapterKind extends 'AzureCommunication' | 'Teams', Adapter extends AdapterOf<AdapterKind>>(args: PartialArgsType<Adapter> | PartialArgsOutboundType<Adapter>, adapterKind: AdapterKind = ('AzureCommunication' as AdapterKind), afterCreate?: (adapter: Adapter) => Promise<Adapter>, beforeDispose?: (adapter: Adapter) => Promise<void>): Adapter | undefined {\n const {\n credential,\n userId\n } = args;\n const locator = 'locator' in args ? args.locator : undefined;\n const targetCallees = 'targetCallees' in args ? args.targetCallees : undefined;\n const displayName = 'displayName' in args ? args.displayName : undefined;\n /* @conditional-compile-remove(PSTN-calls) */\n const alternateCallerId = 'alternateCallerId' in args ? args.alternateCallerId : undefined;\n /* @conditional-compile-remove(video-background-effects) */\n const options = 'options' in args ? args.options : undefined;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<Adapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<Adapter | undefined>(undefined);\n const creatingAdapterRef = useRef<boolean>(false);\n const afterCreateRef = useRef<((adapter: Adapter) => Promise<Adapter>) | undefined>(undefined);\n const beforeDisposeRef = useRef<((adapter: Adapter) => Promise<void>) | undefined>(undefined);\n // These refs are updated on *each* render, so that the latest values\n // are used in the `useEffect` closures below.\n // Using a Ref ensures that new values for the callbacks do not trigger the\n // useEffect blocks, and a new adapter creation / distruction is not triggered.\n afterCreateRef.current = afterCreate;\n beforeDisposeRef.current = beforeDispose;\n useEffect(() => {\n if (!credential || !locator && !targetCallees || !userId) {\n return;\n }\n if (adapterKind === 'AzureCommunication' && !displayName) {\n return;\n }\n (async () => {\n if (adapterRef.current) {\n // Dispose the old adapter when a new one is created.\n //\n // This clean up function uses `adapterRef` because `adapter` can not be added to the dependency array of\n // this `useEffect` -- we do not want to trigger a new adapter creation because of the first adapter\n // creation.\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n let newAdapter: Adapter | undefined = undefined;\n if (adapterKind === 'AzureCommunication') {\n // This is just the type check to ensure that displayName is defined.\n if (!displayName) {\n throw new Error('Unreachable code, displayName already checked above.');\n }\n if (creatingAdapterRef.current) {\n console.warn('Adapter is already being created, please see storybook for more information: https://azure.github.io/communication-ui-library/?path=/story/troubleshooting--page');\n return;\n }\n creatingAdapterRef.current = true;\n if (locator) {\n newAdapter = (await createAzureCommunicationCallAdapter({\n credential,\n displayName: displayName,\n locator,\n userId: (userId as CommunicationUserIdentifier),\n /* @conditional-compile-remove(PSTN-calls) */alternateCallerId,\n /* @conditional-compile-remove(video-background-effects) */options\n }) as Adapter);\n } else if (targetCallees) {\n newAdapter = (await createAzureCommunicationCallAdapter({\n credential,\n displayName: displayName,\n targetCallees,\n userId: (userId as CommunicationUserIdentifier),\n /* @conditional-compile-remove(PSTN-calls) */alternateCallerId,\n /* @conditional-compile-remove(video-background-effects) */options\n }) as Adapter);\n }\n } else if (adapterKind === 'Teams') {\n if (creatingAdapterRef.current) {\n console.warn('Adapter is already being created, skipping creation.');\n return;\n }\n creatingAdapterRef.current = true;\n /* @conditional-compile-remove(teams-identity-support) */\n newAdapter = (await createTeamsCallAdapter({\n credential,\n locator: (locator as TeamsMeetingLinkLocator),\n userId: (userId as MicrosoftTeamsUserIdentifier),\n options\n }) as Adapter);\n } else {\n throw new Error('Unreachable code, unknown adapterKind');\n }\n if (!newAdapter) {\n throw Error('Unreachable code! Get undefined adapter');\n }\n if (afterCreateRef.current) {\n newAdapter = await afterCreateRef.current(newAdapter);\n }\n adapterRef.current = newAdapter;\n creatingAdapterRef.current = false;\n setAdapter(newAdapter);\n })();\n },\n // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.\n [adapterRef, afterCreateRef, beforeDisposeRef, adapterKind, credential, locator, userId, displayName, /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId, options, targetCallees]);\n\n // Dispose any existing adapter when the component unmounts.\n useEffect(() => {\n return () => {\n (async () => {\n if (adapterRef.current) {\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n })();\n };\n }, []);\n return adapter;\n}\n\n/**\n * A custom React hook to simplify the creation of {@link CallAdapter}.\n *\n * Similar to {@link createAzureCommunicationCallAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @public\n */\nexport const useAzureCommunicationCallAdapter = (args: Partial<AzureCommunicationCallAdapterArgs | AzureCommunicationOutboundCallAdapterArgs>, afterCreate?: (adapter: CallAdapter) => Promise<CallAdapter>, beforeDispose?: (adapter: CallAdapter) => Promise<void>): CallAdapter | undefined => {\n return useAzureCommunicationCallAdapterGeneric(args, 'AzureCommunication', afterCreate, beforeDispose);\n};\n\n/* @conditional-compile-remove(teams-identity-support) */\n/**\n * A custom React hook to simplify the creation of {@link TeamsCallAdapter}.\n *\n * Similar to {@link createTeamsAzureCommunicationCallAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @beta\n */\nexport const useTeamsCallAdapter = (args: Partial<TeamsCallAdapterArgs>, afterCreate?: (adapter: TeamsCallAdapter) => Promise<TeamsCallAdapter>, beforeDispose?: (adapter: TeamsCallAdapter) => Promise<void>): TeamsCallAdapter | undefined => {\n return useAzureCommunicationCallAdapterGeneric(args, 'Teams', afterCreate, beforeDispose);\n};\n\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(callClient: StatefulCallClient, callAgent: CallAgent, targetCallees: StartCallIdentifier[], /* @conditional-compile-remove(video-background-effects) */options?: AzureCommunicationCallAdapterOptions): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(callClient: StatefulCallClient, callAgent: CallAgent, locator: CallAdapterLocator, /* @conditional-compile-remove(video-background-effects) */options?: AzureCommunicationCallAdapterOptions): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(callClient: StatefulCallClient, callAgent: CallAgent, locatorOrtargetCallees: CallAdapterLocator | StartCallIdentifier[], /* @conditional-compile-remove(video-background-effects) */options?: AzureCommunicationCallAdapterOptions): Promise<CallAdapter> {\n const deviceManager = (await callClient.getDeviceManager() as StatefulDeviceManager);\n await Promise.all([deviceManager.getCameras(), deviceManager.getMicrophones()]);\n if (deviceManager.isSpeakerSelectionAvailable) {\n await deviceManager.getSpeakers();\n }\n /* @conditional-compile-remove(unsupported-browser) */\n await callClient.feature(Features.DebugInfo).getEnvironmentInfo();\n if (getLocatorOrTargetCallees(locatorOrtargetCallees)) {\n return new AzureCommunicationCallAdapter(callClient, (locatorOrtargetCallees as StartCallIdentifier[]), callAgent, deviceManager, /* @conditional-compile-remove(video-background-effects) */options);\n } else {\n return new AzureCommunicationCallAdapter(callClient, (locatorOrtargetCallees as CallAdapterLocator), callAgent, deviceManager, /* @conditional-compile-remove(video-background-effects) */options);\n }\n}\n\n/* @conditional-compile-remove(teams-identity-support) */\n/**\n * Create a {@link TeamsCallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @beta\n */\nexport const createTeamsCallAdapterFromClient = async (callClient: StatefulCallClient, callAgent: TeamsCallAgent, locator: CallAdapterLocator, options?: TeamsAdapterOptions): Promise<TeamsCallAdapter> => {\n const deviceManager = (await callClient.getDeviceManager() as StatefulDeviceManager);\n await Promise.all([deviceManager.getCameras(), deviceManager.getMicrophones()]);\n if (deviceManager.isSpeakerSelectionAvailable) {\n await deviceManager.getSpeakers();\n }\n /* @conditional-compile-remove(unsupported-browser) */\n await callClient.feature(Features.DebugInfo).getEnvironmentInfo();\n return new AzureCommunicationCallAdapter(callClient, locator, callAgent, deviceManager, options);\n};\nconst isCallError = (e: Error): e is CallError => {\n return e['target'] !== undefined && e['innerError'] !== undefined;\n};"]}
1
+ {"version":3,"file":"AzureCommunicationCallAdapter.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { compositeLogger } from '../../../Logger';\nimport { _isInCall, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport {\n CallClientState,\n CallError,\n CallState,\n _createStatefulCallClientInner,\n StatefulCallClient,\n StatefulDeviceManager,\n TeamsCall,\n TeamsCallAgent as BetaTeamsCallAgent,\n _isACSCall,\n _isTeamsCall\n} from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(call-transfer) */\nimport { AcceptedTransfer } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { _isTeamsCallAgent } from '@internal/calling-stateful-client';\nimport { CallCommon } from '@internal/calling-stateful-client';\nimport { _TelemetryImplementationHint } from '@internal/acs-ui-common';\nimport {\n AudioOptions,\n CallAgent,\n GroupCallLocator,\n TeamsMeetingLinkLocator,\n LocalVideoStream as SDKLocalVideoStream,\n AudioDeviceInfo,\n VideoDeviceInfo,\n RemoteParticipant,\n PermissionConstraints,\n PropertyChangedEvent,\n StartCallOptions,\n VideoOptions,\n Call\n} from '@azure/communication-calling';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightedParticipant } from '@azure/communication-calling';\n/* @conditional-compile-remove(reaction) */\nimport { Reaction } from '@azure/communication-calling';\n/* @conditional-compile-remove(close-captions) */\nimport { TeamsCaptions } from '@azure/communication-calling';\n/* @conditional-compile-remove(acs-close-captions) */\nimport { Captions, CaptionsInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(call-transfer) */\nimport { TransferEventArgs } from '@azure/communication-calling';\n/* @conditional-compile-remove(close-captions) */\nimport { StartCaptionsOptions, TeamsCaptionsInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport type { BackgroundBlurConfig, BackgroundReplacementConfig } from '@azure/communication-calling';\n/* @conditional-compile-remove(capabilities) */\nimport type { CapabilitiesChangeInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(teams-identity-support)) */\nimport { TeamsCallAgent } from '@azure/communication-calling';\n/* @conditional-compile-remove(rooms) */\nimport { RoomCallLocator } from '@azure/communication-calling';\n/* @conditional-compile-remove(unsupported-browser) */ /* @conditional-compile-remove(video-background-effects) */ /* @conditional-compile-remove(close-captions) */ /* @conditional-compile-remove(capabilities) */\nimport { Features } from '@azure/communication-calling';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\nimport { DtmfTone } from '@azure/communication-calling';\nimport { EventEmitter } from 'events';\nimport {\n CommonCallAdapter,\n CallEndedListener,\n CallIdChangedListener,\n CallAdapterState,\n DisplayNameChangedListener,\n IsMutedChangedListener,\n IsLocalScreenSharingActiveChangedListener,\n IsSpeakingChangedListener,\n ParticipantsJoinedListener,\n ParticipantsLeftListener,\n DiagnosticChangedEventListner,\n CallAdapterCallEndedEvent,\n CallAdapter,\n JoinCallOptions,\n StartCallIdentifier\n} from './CallAdapter';\n/* @conditional-compile-remove(reaction) */\nimport { ReactionResources } from '@internal/react-components';\n/* @conditional-compile-remove(call-transfer) */\nimport { TransferAcceptedListener } from './CallAdapter';\n/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangedListener } from './CallAdapter';\n/* @conditional-compile-remove(spotlight) */\nimport { SpotlightChangedListener } from './CallAdapter';\n/* @conditional-compile-remove(close-captions) */\nimport {\n CaptionsReceivedListener,\n IsCaptionsActiveChangedListener,\n IsCaptionLanguageChangedListener,\n IsSpokenLanguageChangedListener\n} from './CallAdapter';\n/* @conditional-compile-remove(video-background-effects) */\nimport {\n VideoBackgroundImage,\n VideoBackgroundEffect,\n VideoBackgroundBlurEffect,\n VideoBackgroundReplacementEffect\n} from './CallAdapter';\n/* @conditional-compile-remove(teams-identity-support) */\nimport { TeamsCallAdapter } from './CallAdapter';\nimport { getCallCompositePage, getLocatorOrTargetCallees, IsCallEndedPage, isCameraOn } from '../utils';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { toFlatCommunicationIdentifier, _toCommunicationIdentifier, _isValidIdentifier } from '@internal/acs-ui-common';\nimport {\n CommunicationTokenCredential,\n CommunicationUserIdentifier,\n CommunicationIdentifier,\n MicrosoftTeamsUserIdentifier,\n isMicrosoftTeamsUserIdentifier,\n MicrosoftTeamsAppIdentifier,\n UnknownIdentifier\n} from '@azure/communication-common';\n/* @conditional-compile-remove(teams-identity-support) */ /* @conditional-compile-remove(PSTN-calls) */\nimport { isCommunicationUserIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { isPhoneNumberIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { ParticipantSubscriber } from './ParticipantSubcriber';\nimport { AdapterError } from '../../common/adapters';\nimport { DiagnosticsForwarder } from './DiagnosticsForwarder';\nimport { useEffect, useRef, useState } from 'react';\nimport { CallHandlersOf, createHandlers } from './createHandlers';\nimport { createProfileStateModifier, OnFetchProfileCallback } from './OnFetchProfileCallback';\n/* @conditional-compile-remove(video-background-effects) */\nimport { getBackgroundEffectFromSelectedEffect } from '../utils';\nimport { getSelectedCameraFromAdapterState } from '../utils';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\n/* @conditional-compile-remove(calling-sounds) */\nimport { CallingSoundSubscriber } from './CallingSoundSubscriber';\n/* @conditional-compile-remove(calling-sounds) */\nimport { CallingSounds } from './CallAdapter';\n\ntype CallTypeOf<AgentType extends CallAgent | BetaTeamsCallAgent> = AgentType extends CallAgent ? Call : TeamsCall;\n\n/** Context of call, which is a centralized context for all state updates */\nclass CallContext {\n private emitter: EventEmitter = new EventEmitter();\n private state: CallAdapterState;\n private callId: string | undefined;\n private displayNameModifier: AdapterStateModifier | undefined;\n\n constructor(\n clientState: CallClientState,\n isTeamsCall: boolean,\n /* @conditional-compile-remove(rooms) */\n isRoomsCall: boolean,\n options?: {\n maxListeners?: number;\n onFetchProfile?: OnFetchProfileCallback;\n /* @conditional-compile-remove(video-background-effects) */\n videoBackgroundOptions?: {\n videoBackgroundImages?: VideoBackgroundImage[];\n onResolveDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n };\n /* @conditional-compile-remove(calling-sounds) */\n callingSounds?: CallingSounds;\n /* @conditional-compile-remove(reaction) */\n reactionResources?: ReactionResources;\n },\n targetCallees?: StartCallIdentifier[]\n ) {\n this.state = {\n isLocalPreviewMicrophoneEnabled: false,\n userId: clientState.userId,\n displayName: clientState.callAgent?.displayName,\n devices: clientState.deviceManager,\n call: undefined,\n /* @conditional-compile-remove(calling-sounds) */ targetCallees: targetCallees as CommunicationIdentifier[],\n page: 'configuration',\n latestErrors: clientState.latestErrors,\n isTeamsCall,\n /* @conditional-compile-remove(rooms) */ isRoomsCall,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId: clientState.alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */ environmentInfo: clientState.environmentInfo,\n /* @conditional-compile-remove(unsupported-browser) */ unsupportedBrowserVersionsAllowed: false,\n /* @conditional-compile-remove(video-background-effects) */ videoBackgroundImages:\n options?.videoBackgroundOptions?.videoBackgroundImages,\n /* @conditional-compile-remove(video-background-effects) */\n onResolveVideoEffectDependency: options?.videoBackgroundOptions?.onResolveDependency,\n /* @conditional-compile-remove(video-background-effects) */ selectedVideoBackgroundEffect: undefined,\n cameraStatus: undefined,\n /* @conditional-compile-remove(calling-sounds) */ sounds: options?.callingSounds,\n /* @conditional-compile-remove(reaction) */ reactions: options?.reactionResources\n };\n this.emitter.setMaxListeners(options?.maxListeners ?? 50);\n this.bindPublicMethods();\n this.displayNameModifier = options?.onFetchProfile\n ? createProfileStateModifier(options.onFetchProfile, () => {\n this.setState(this.getState());\n })\n : undefined;\n }\n\n private bindPublicMethods(): void {\n /* @conditional-compile-remove(unsupported-browser) */\n this.setAllowedUnsupportedBrowser.bind(this);\n }\n\n public onStateChange(handler: (_uiState: CallAdapterState) => void): void {\n this.emitter.on('stateChanged', handler);\n }\n\n public offStateChange(handler: (_uiState: CallAdapterState) => void): void {\n this.emitter.off('stateChanged', handler);\n }\n\n public setState(state: CallAdapterState): void {\n this.state = this.displayNameModifier ? this.displayNameModifier(state) : state;\n this.emitter.emit('stateChanged', this.state);\n }\n\n public getState(): CallAdapterState {\n return this.state;\n }\n\n public setIsLocalMicrophoneEnabled(isLocalPreviewMicrophoneEnabled: boolean): void {\n this.setState({ ...this.state, isLocalPreviewMicrophoneEnabled });\n }\n\n // This is the key to find current call object in client state\n public setCurrentCallId(callId: string | undefined): void {\n this.callId = callId;\n }\n\n /* @conditional-compile-remove(calling-sounds) */\n public setTargetCallee(targetCallees: StartCallIdentifier[]): void {\n this.setState({ ...this.state, targetCallees });\n }\n\n public onCallEnded(handler: (callEndedData: CallAdapterCallEndedEvent) => void): void {\n this.emitter.on('callEnded', handler);\n }\n\n public offCallEnded(handler: (callEndedData: CallAdapterCallEndedEvent) => void): void {\n this.emitter.off('callEnded', handler);\n }\n\n public updateClientState(clientState: CallClientState): void {\n let call = this.callId ? clientState.calls[this.callId] : undefined;\n const latestEndedCall = clientState.callsEnded ? findLatestEndedCall(clientState.callsEnded) : undefined;\n // As the state is transitioning to a new state, trigger appropriate callback events.\n const oldPage = this.state.page;\n /* @conditional-compile-remove(unsupported-browser) */\n const environmentInfo = {\n environmentInfo: this.state.environmentInfo,\n unsupportedBrowserVersionOptedIn: this.state.unsupportedBrowserVersionsAllowed\n };\n\n /* @conditional-compile-remove(call-transfer) */\n const latestAcceptedTransfer = call?.transfer.acceptedTransfers\n ? findLatestAcceptedTransfer(call.transfer.acceptedTransfers)\n : undefined;\n /* @conditional-compile-remove(call-transfer) */\n const transferCall = latestAcceptedTransfer ? clientState.calls[latestAcceptedTransfer.callId] : undefined;\n\n const newPage = getCallCompositePage(\n call,\n latestEndedCall,\n /* @conditional-compile-remove(call-transfer) */ transferCall,\n /* @conditional-compile-remove(unsupported-browser) */ environmentInfo\n );\n if (!IsCallEndedPage(oldPage) && IsCallEndedPage(newPage)) {\n this.emitter.emit('callEnded', { callId: this.callId });\n // Reset the callId to undefined as the call has ended.\n this.setCurrentCallId(undefined);\n // Make sure that the call is set to undefined in the state.\n call = undefined;\n }\n\n if (this.state.page) {\n this.setState({\n ...this.state,\n userId: clientState.userId,\n displayName: clientState.callAgent?.displayName,\n call,\n page: newPage,\n endedCall: latestEndedCall,\n devices: clientState.deviceManager,\n latestErrors: clientState.latestErrors,\n cameraStatus:\n call?.localVideoStreams.find((s) => s.mediaStreamType === 'Video') ||\n clientState.deviceManager.unparentedViews.find((s) => s.mediaStreamType === 'Video')\n ? 'On'\n : 'Off',\n /* @conditional-compile-remove(call-transfer) */ acceptedTransferCallState: transferCall\n });\n }\n }\n\n /* @conditional-compile-remove(unsupported-browser) */\n public setAllowedUnsupportedBrowser(): void {\n this.setState({ ...this.state, unsupportedBrowserVersionsAllowed: true });\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n public setBackroundPickerImages(videoBackgroundImages: VideoBackgroundImage[]): void {\n this.setState({ ...this.state, videoBackgroundImages });\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n public setSelectedVideoBackgroundEffect(selectedVideoBackgroundEffect?: VideoBackgroundEffect): void {\n this.setState({ ...this.state, selectedVideoBackgroundEffect });\n }\n\n /* @conditional-compile-remove(call-transfer) */\n public setAcceptedTransferCall(call?: CallState): void {\n this.setState({ ...this.state, acceptedTransferCallState: call });\n }\n}\n\nconst findLatestEndedCall = (calls: { [key: string]: CallState }): CallState | undefined => {\n const callStates = Object.values(calls);\n if (callStates.length === 0) {\n return undefined;\n }\n let latestCall = callStates[0];\n for (const call of callStates.slice(1)) {\n if ((call.endTime?.getTime() ?? 0) > (latestCall.endTime?.getTime() ?? 0)) {\n latestCall = call;\n }\n }\n return latestCall;\n};\n\n/* @conditional-compile-remove(call-transfer) */\nconst findLatestAcceptedTransfer = (acceptedTransfers: {\n [key: string]: AcceptedTransfer;\n}): AcceptedTransfer | undefined => {\n const acceptedTransferValues = Object.values(acceptedTransfers);\n if (acceptedTransferValues.length === 0) {\n return undefined;\n }\n let latestAcceptedTransfer = acceptedTransferValues[0];\n for (const acceptedTransfer of acceptedTransferValues.slice(1)) {\n if ((acceptedTransfer.timestamp?.getTime() ?? 0) > (latestAcceptedTransfer.timestamp?.getTime() ?? 0)) {\n latestAcceptedTransfer = acceptedTransfer;\n }\n }\n return latestAcceptedTransfer;\n};\n\n/**\n * @private\n */\nexport type AdapterStateModifier = (state: CallAdapterState) => CallAdapterState;\n\n/**\n * @private\n */\nexport class AzureCommunicationCallAdapter<AgentType extends CallAgent | BetaTeamsCallAgent = CallAgent>\n implements CommonCallAdapter\n{\n private callClient: StatefulCallClient;\n private callAgent: AgentType;\n private deviceManager: StatefulDeviceManager;\n private locator?: CallAdapterLocator;\n targetCallees?: StartCallIdentifier[];\n // Never use directly, even internally. Use `call` property instead.\n private _call?: CallCommon;\n private context: CallContext;\n private diagnosticsForwarder?: DiagnosticsForwarder;\n private handlers: CallHandlersOf<AgentType>;\n private participantSubscribers = new Map<string, ParticipantSubscriber>();\n private emitter: EventEmitter = new EventEmitter();\n /* @conditional-compile-remove(calling-sounds) */\n private callingSoundSubscriber: CallingSoundSubscriber | undefined;\n private onClientStateChange: (clientState: CallClientState) => void;\n /* @conditional-compile-remove(video-background-effects) */\n private onResolveVideoBackgroundEffectsDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n\n private get call(): CallCommon | undefined {\n return this._call;\n }\n\n private set call(newCall: CallCommon | undefined) {\n this.resetDiagnosticsForwarder(newCall);\n this._call = newCall;\n }\n constructor(\n callClient: StatefulCallClient,\n locator: CallAdapterLocator,\n callAgent: AgentType,\n deviceManager: StatefulDeviceManager,\n options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions\n );\n constructor(\n callClient: StatefulCallClient,\n targetCallees: StartCallIdentifier[],\n callAgent: AgentType,\n deviceManager: StatefulDeviceManager,\n options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions\n );\n constructor(\n callClient: StatefulCallClient,\n locatorOrTargetCalless: CallAdapterLocator | StartCallIdentifier[],\n callAgent: AgentType,\n deviceManager: StatefulDeviceManager,\n options?: AzureCommunicationCallAdapterOptions | TeamsAdapterOptions\n ) {\n this.bindPublicMethods();\n this.callClient = callClient;\n this.callAgent = callAgent;\n this.targetCallees =\n getLocatorOrTargetCallees(locatorOrTargetCalless) === true\n ? (locatorOrTargetCalless as StartCallIdentifier[])\n : undefined;\n this.locator =\n getLocatorOrTargetCallees(locatorOrTargetCalless) === false\n ? (locatorOrTargetCalless as CallAdapterLocator)\n : undefined;\n this.deviceManager = deviceManager;\n const isTeamsMeeting = this.locator ? 'meetingLink' in this.locator : false;\n\n /* @conditional-compile-remove(rooms) */\n const isRoomsCall = this.locator ? 'roomId' in this.locator : false;\n\n /* @conditional-compile-remove(video-background-effects) */\n this.onResolveVideoBackgroundEffectsDependency = options?.videoBackgroundOptions?.onResolveDependency;\n\n this.context = new CallContext(\n callClient.getState(),\n isTeamsMeeting,\n /* @conditional-compile-remove(rooms) */ isRoomsCall,\n /* @conditional-compile-remove(video-background-effects) */ options,\n this.targetCallees\n );\n\n this.context.onCallEnded((endCallData) => this.emitter.emit('callEnded', endCallData));\n\n const onStateChange = (clientState: CallClientState): void => {\n // unsubscribe when the instance gets disposed\n if (!this) {\n callClient.offStateChange(onStateChange);\n return;\n }\n\n // `updateClientState` searches for the current call from all the calls in the state using a cached `call.id`\n // from the call object. `call.id` can change during a call. We must update the cached `call.id` before\n // calling `updateClientState` so that we find the correct state object for the call even when `call.id`\n // has changed.\n // https://github.com/Azure/communication-ui-library/pull/1820\n if (this.call?.id) {\n this.context.setCurrentCallId(this.call.id);\n }\n\n // If the call connects we need to clean up any previous unparentedViews\n if (\n (this.call?.state === 'InLobby' || this.call?.state === 'Connected') &&\n this.callClient.getState().deviceManager.unparentedViews.length > 0\n ) {\n this.callClient.getState().deviceManager.unparentedViews.forEach((view) => {\n this.callClient.disposeView(undefined, undefined, view);\n });\n }\n\n this.context.updateClientState(clientState);\n };\n\n this.handlers = createHandlers(\n callClient,\n callAgent,\n deviceManager,\n undefined,\n /* @conditional-compile-remove(video-background-effects) */ {\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n }\n );\n\n this.onClientStateChange = onStateChange;\n\n this.subscribeDeviceManagerEvents();\n\n this.callClient.onStateChange(onStateChange);\n /* @conditional-compile-remove(call-transfer) */\n if (this.callAgent.kind === 'CallAgent') {\n const onCallsUpdated = (args: { added: Call[]; removed: Call[] }): void => {\n if (this.call?.id) {\n const removedCall = args.removed.find((call) => call.id === this.call?.id);\n if (removedCall) {\n const removedCallState = this.callClient.getState().callsEnded[removedCall.id];\n const latestAcceptedTransfer = findLatestAcceptedTransfer(removedCallState.transfer.acceptedTransfers);\n const _callAgent = callAgent as CallAgent;\n const transferCall = _callAgent.calls.find((call: Call) => call.id === latestAcceptedTransfer?.callId);\n if (transferCall) {\n this.processNewCall(transferCall);\n }\n }\n }\n };\n (this.callAgent as CallAgent).on('callsUpdated', onCallsUpdated);\n }\n /* @conditional-compile-remove(teams-identity-support) */\n if (this.callAgent.kind === 'TeamsCallAgent') {\n const onTeamsCallsUpdated = (args: { added: TeamsCall[]; removed: TeamsCall[] }): void => {\n if (this.call?.id) {\n const removedCall = args.removed.find((call) => call.id === this.call?.id);\n if (removedCall) {\n const removedCallState = this.callClient.getState().callsEnded[removedCall.id];\n const latestAcceptedTransfer = findLatestAcceptedTransfer(removedCallState.transfer.acceptedTransfers);\n const _callAgent = callAgent as TeamsCallAgent;\n const transferCall = _callAgent.calls.find((call: TeamsCall) => call.id === latestAcceptedTransfer?.callId);\n if (transferCall) {\n this.processNewCall(transferCall);\n }\n }\n }\n };\n (this.callAgent as TeamsCallAgent).on('callsUpdated', onTeamsCallsUpdated);\n }\n }\n\n // TODO: update this to include the 'selectedCameraChanged' when calling adds it to the device manager\n private subscribeDeviceManagerEvents(): void {\n this.deviceManager.on('selectedMicrophoneChanged', () => {\n this.emitter.emit('selectedMicrophoneChanged');\n });\n this.deviceManager.on('selectedSpeakerChanged', () => {\n this.emitter.emit('selectedSpeakerChanged');\n });\n }\n\n private bindPublicMethods(): void {\n this.onStateChange.bind(this);\n this.offStateChange.bind(this);\n this.getState.bind(this);\n this.dispose.bind(this);\n this.joinCall.bind(this);\n this.leaveCall.bind(this);\n this.setCamera.bind(this);\n this.setMicrophone.bind(this);\n this.setSpeaker.bind(this);\n this.askDevicePermission.bind(this);\n this.queryCameras.bind(this);\n this.queryMicrophones.bind(this);\n this.querySpeakers.bind(this);\n this.startCamera.bind(this);\n this.stopCamera.bind(this);\n this.mute.bind(this);\n this.unmute.bind(this);\n this.startCall.bind(this);\n this.startScreenShare.bind(this);\n this.stopScreenShare.bind(this);\n this.raiseHand.bind(this);\n /* @conditional-compile-remove(reaction) */\n this.onReactionClick.bind(this);\n this.lowerHand.bind(this);\n this.removeParticipant.bind(this);\n this.createStreamView.bind(this);\n this.disposeStreamView.bind(this);\n this.disposeScreenShareStreamView.bind(this);\n this.disposeRemoteVideoStreamView.bind(this);\n this.disposeLocalVideoStreamView.bind(this);\n this.on.bind(this);\n this.off.bind(this);\n this.processNewCall.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */\n this.addParticipant.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */\n this.holdCall.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */\n this.resumeCall.bind(this);\n this.sendDtmfTone.bind(this);\n /* @conditional-compile-remove(unsupported-browser) */\n this.allowUnsupportedBrowserVersion.bind(this);\n /* @conditional-compile-remove(close-captions) */\n {\n this.startCaptions.bind(this);\n this.stopCaptions.bind(this);\n this.setSpokenLanguage.bind(this);\n this.setCaptionLanguage.bind(this);\n }\n /* @conditional-compile-remove(video-background-effects) */\n this.startVideoBackgroundEffect.bind(this);\n /* @conditional-compile-remove(video-background-effects) */\n this.stopVideoBackgroundEffects.bind(this);\n /* @conditional-compile-remove(video-background-effects) */\n this.updateBackgroundPickerImages.bind(this);\n /* @conditional-compile-remove(end-of-call-survey) */\n this.submitSurvey.bind(this);\n /* @conditional-compile-remove(spotlight) */\n this.startSpotlight.bind(this);\n /* @conditional-compile-remove(spotlight) */\n this.stopSpotlight.bind(this);\n /* @conditional-compile-remove(spotlight) */\n this.stopAllSpotlight.bind(this);\n }\n\n public dispose(): void {\n this.resetDiagnosticsForwarder();\n this.callClient.offStateChange(this.onClientStateChange);\n this.callAgent.dispose();\n }\n\n public async queryCameras(): Promise<VideoDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const cameras = await this.deviceManager.getCameras();\n const endTime = new Date().getTime();\n compositeLogger.info('time to query cameras', endTime - startTime, 'ms');\n return cameras;\n });\n }\n\n public async queryMicrophones(): Promise<AudioDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const microphones = await this.deviceManager.getMicrophones();\n const endTime = new Date().getTime();\n compositeLogger.info('time to query microphones', endTime - startTime, 'ms');\n return microphones;\n });\n }\n\n public async querySpeakers(): Promise<AudioDeviceInfo[]> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const speakers = (await this.deviceManager.isSpeakerSelectionAvailable) ? this.deviceManager.getSpeakers() : [];\n const endTime = new Date().getTime();\n compositeLogger.info('time to query speakers', endTime - startTime, 'ms');\n return speakers;\n });\n }\n\n public async askDevicePermission(constrain: PermissionConstraints): Promise<void> {\n const startTime = new Date().getTime();\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.deviceManager.askDevicePermission(constrain);\n const endTime = new Date().getTime();\n compositeLogger.info('time to query askDevicePermissions', endTime - startTime, 'ms');\n });\n }\n\n public joinCall(options?: boolean | JoinCallOptions): CallTypeOf<AgentType> | undefined {\n if (_isInCall(this.getState().call?.state ?? 'None')) {\n throw new Error('You are already in the call!');\n } else if (this.locator === undefined) {\n throw new Error('Locator is not defined!');\n }\n\n return this.teeErrorToEventEmitter(() => {\n // Default to keeping camera/mic on if no override argument specified\n let shouldCameraBeOnInCall = this.getState().cameraStatus === 'On';\n let shouldMicrophoneBeOnInCall = this.getState().isLocalPreviewMicrophoneEnabled;\n\n // Apply override arguments\n if (typeof options === 'boolean') {\n // Deprecated joinCall API (boolen)\n shouldMicrophoneBeOnInCall = options;\n } else if (typeof options === 'object') {\n // Options bag API\n if (options.microphoneOn && options.microphoneOn !== 'keep') {\n shouldMicrophoneBeOnInCall = options.microphoneOn;\n }\n if (options.cameraOn && options.cameraOn !== 'keep') {\n shouldCameraBeOnInCall = options.cameraOn;\n }\n }\n\n const audioOptions: AudioOptions = { muted: !shouldMicrophoneBeOnInCall };\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n const videoOptions: VideoOptions =\n selectedCamera && shouldCameraBeOnInCall\n ? { localVideoStreams: [new SDKLocalVideoStream(selectedCamera)] }\n : {};\n const call = this._joinCall(audioOptions, videoOptions);\n\n this.processNewCall(call);\n return call;\n });\n }\n\n private _joinCall(audioOptions: AudioOptions, videoOptions: VideoOptions): CallTypeOf<AgentType> {\n const isTeamsMeeting = this.locator ? 'meetingLink' in this.locator : false;\n /* @conditional-compile-remove(rooms) */\n const isRoomsCall = this.locator ? 'roomId' in this.locator : false;\n\n /* @conditional-compile-remove(teams-identity-support) */\n if (_isTeamsCallAgent(this.callAgent)) {\n if (!isTeamsMeeting) {\n throw new Error('Locator not supported by TeamsCallAgent');\n }\n\n return this.callAgent.join(this.locator as TeamsMeetingLinkLocator, {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>;\n }\n if (isTeamsMeeting) {\n return this.callAgent.join(this.locator as TeamsMeetingLinkLocator, {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>;\n }\n /* @conditional-compile-remove(rooms) */\n if (isRoomsCall) {\n return this.callAgent.join(this.locator as RoomCallLocator, {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>;\n }\n return this.callAgent.join(this.locator as GroupCallLocator, {\n audioOptions,\n videoOptions\n }) as CallTypeOf<AgentType>;\n }\n\n public async createStreamView(\n remoteUserId?: string,\n options?: VideoStreamOptions\n ): Promise<void | CreateVideoStreamViewResult> {\n if (remoteUserId === undefined) {\n return await this.handlers.onCreateLocalStreamView(options);\n } else {\n return await this.handlers.onCreateRemoteStreamView(remoteUserId, options);\n }\n }\n\n public async disposeStreamView(remoteUserId?: string): Promise<void> {\n if (remoteUserId === undefined) {\n await this.handlers.onDisposeLocalStreamView();\n } else {\n await this.handlers.onDisposeRemoteStreamView(remoteUserId);\n }\n }\n\n public async disposeScreenShareStreamView(remoteUserId: string): Promise<void> {\n await this.handlers.onDisposeRemoteScreenShareStreamView(remoteUserId);\n }\n\n public async disposeRemoteVideoStreamView(remoteUserId: string): Promise<void> {\n await this.handlers.onDisposeRemoteVideoStreamView(remoteUserId);\n }\n\n public async disposeLocalVideoStreamView(): Promise<void> {\n await this.handlers.onDisposeLocalStreamView();\n }\n\n public async leaveCall(forEveryone?: boolean): Promise<void> {\n if (this.getState().page === 'transferring') {\n const transferCall = this.callAgent.calls.filter(\n (call) => call.id === this.getState().acceptedTransferCallState?.id\n )[0];\n transferCall?.hangUp();\n }\n await this.handlers.onHangUp(forEveryone);\n this.unsubscribeCallEvents();\n this.handlers = createHandlers(\n this.callClient,\n this.callAgent,\n this.deviceManager,\n this.call,\n /* @conditional-compile-remove(video-background-effects) */ {\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n }\n );\n // We set the adapter.call object to undefined immediately when a call is ended.\n // We do not set the context.callId to undefined because it is a part of the immutable data flow loop.\n this.call = undefined;\n this.stopCamera();\n this.mute();\n }\n\n public async setCamera(device: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectCamera(device, options);\n });\n }\n\n public async setMicrophone(device: AudioDeviceInfo): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectMicrophone(device);\n });\n }\n\n public async setSpeaker(device: AudioDeviceInfo): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onSelectSpeaker(device);\n });\n }\n\n public async startCamera(options?: VideoStreamOptions): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (!isCameraOn(this.getState())) {\n // First kick off the effect on the local device before starting the camera in the call.\n // This prevents the effect not being applied for a brief moment when the camera is started.\n /* @conditional-compile-remove(video-background-effects) */\n {\n const selectedEffect = this.getState().selectedVideoBackgroundEffect;\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n if (selectedEffect && selectedCamera && this.onResolveVideoBackgroundEffectsDependency) {\n const stream = new SDKLocalVideoStream(selectedCamera);\n const effect = getBackgroundEffectFromSelectedEffect(\n selectedEffect,\n await this.onResolveVideoBackgroundEffectsDependency()\n );\n\n if (effect) {\n await stream.feature(Features.VideoEffects).startEffects(effect);\n } else {\n await stream.feature(Features.VideoEffects).stopEffects();\n }\n }\n }\n\n await this.handlers.onToggleCamera(options);\n }\n });\n }\n\n public async stopCamera(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (isCameraOn(this.getState())) {\n await this.handlers.onToggleCamera();\n }\n });\n }\n\n public async mute(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n this.context.setIsLocalMicrophoneEnabled(false);\n if (_isInCall(this.call?.state) && !this.call?.isMuted) {\n await this.handlers.onToggleMicrophone();\n }\n });\n }\n\n public async unmute(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n this.context.setIsLocalMicrophoneEnabled(true);\n if ((_isInCall(this.call?.state) || _isInLobbyOrConnecting(this.call?.state)) && this.call?.isMuted) {\n await this.handlers.onToggleMicrophone();\n }\n });\n }\n\n public async startScreenShare(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (!this.call?.isScreenSharingOn) {\n await this.handlers.onToggleScreenShare();\n }\n });\n }\n\n public async stopScreenShare(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n if (this.call?.isScreenSharingOn) {\n await this.handlers.onToggleScreenShare();\n }\n });\n }\n\n public async raiseHand(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onToggleRaiseHand();\n });\n }\n\n public async lowerHand(): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onToggleRaiseHand();\n });\n }\n\n /* @conditional-compile-remove(reaction) */\n public async onReactionClick(reaction: Reaction): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onReactionClick(reaction);\n });\n }\n\n /* @conditional-compile-remove(unsupported-browser) */\n public allowUnsupportedBrowserVersion(): void {\n this.context.setAllowedUnsupportedBrowser();\n this.context.updateClientState(this.callClient.getState());\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n public async startVideoBackgroundEffect(videoBackgroundEffect: VideoBackgroundEffect): Promise<void> {\n if (this.isBlurEffect(videoBackgroundEffect)) {\n const blurConfig = videoBackgroundEffect as BackgroundBlurConfig;\n await this.handlers.onBlurVideoBackground(blurConfig);\n } else if (this.isReplacementEffect(videoBackgroundEffect)) {\n const replaceConfig = videoBackgroundEffect as BackgroundReplacementConfig;\n await this.handlers.onReplaceVideoBackground(replaceConfig);\n }\n }\n /* @conditional-compile-remove(video-background-effects) */\n public async stopVideoBackgroundEffects(): Promise<void> {\n await this.handlers.onRemoveVideoBackgroundEffects();\n }\n /* @conditional-compile-remove(video-background-effects) */\n public updateBackgroundPickerImages(backgroundImages: VideoBackgroundImage[]): void {\n this.context.setBackroundPickerImages(backgroundImages);\n }\n /* @conditional-compile-remove(video-background-effects) */\n public updateSelectedVideoBackgroundEffect(selectedVideoBackground: VideoBackgroundEffect): void {\n this.context.setSelectedVideoBackgroundEffect(selectedVideoBackground);\n }\n\n public startCall(\n participants:\n | string[]\n | (\n | MicrosoftTeamsAppIdentifier\n | /* @conditional-compile-remove(PSTN-calls) */ PhoneNumberIdentifier\n | /* @conditional-compile-remove(one-to-n-calling) */ CommunicationUserIdentifier\n | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier\n | UnknownIdentifier\n )[],\n options?: StartCallOptions\n ): CallTypeOf<AgentType> | undefined {\n if (_isInCall(this.getState().call?.state ?? 'None')) {\n throw new Error('You are already in the call.');\n }\n\n const isCameraOn = this.getState().cameraStatus === 'On';\n const selectedCamera = getSelectedCameraFromAdapterState(this.getState());\n /* we only configure the video options here since the Calling SDK always unmutes the participant when starting a call */\n const startCallVideoOptions: StartCallOptions = selectedCamera\n ? {\n videoOptions: isCameraOn ? { localVideoStreams: [new SDKLocalVideoStream(selectedCamera)] } : undefined\n }\n : {};\n\n const combinedCallOptions = { ...startCallVideoOptions, ...options };\n\n const idsToAdd = participants.map((participant) => {\n const backendId: CommunicationIdentifier = _toCommunicationIdentifier(participant);\n if ('phoneNumber' in backendId) {\n if (options?.alternateCallerId === undefined) {\n throw new Error('Unable to start call, PSTN user present with no alternateCallerId.');\n }\n }\n return backendId;\n });\n\n /* @conditional-compile-remove(calling-sounds) */\n this.context.setTargetCallee(\n idsToAdd as (\n | MicrosoftTeamsAppIdentifier\n | /* @conditional-compile-remove(PSTN-calls) */ PhoneNumberIdentifier\n | /* @conditional-compile-remove(one-to-n-calling) */ CommunicationUserIdentifier\n | /* @conditional-compile-remove(teams-adhoc-call) */ MicrosoftTeamsUserIdentifier\n | UnknownIdentifier\n )[]\n );\n\n const call = this.handlers.onStartCall(idsToAdd, combinedCallOptions) as CallTypeOf<AgentType>;\n if (!call) {\n throw new Error('Unable to start call.');\n }\n this.processNewCall(call);\n\n return call;\n }\n\n private processNewCall(call: CallCommon): void {\n this.call = call;\n this.context.setCurrentCallId(call.id);\n\n // Resync state after callId is set\n this.context.updateClientState(this.callClient.getState());\n this.handlers = createHandlers(\n this.callClient,\n this.callAgent,\n this.deviceManager,\n this.call,\n /* @conditional-compile-remove(video-background-effects) */ {\n onResolveVideoBackgroundEffectsDependency: this.onResolveVideoBackgroundEffectsDependency\n }\n );\n this.subscribeCallEvents();\n }\n /* @conditional-compile-remove(video-background-effects) */\n private isBlurEffect(effect: VideoBackgroundEffect): effect is VideoBackgroundBlurEffect {\n return effect.effectName === 'blur';\n }\n\n /* @conditional-compile-remove(video-background-effects) */\n private isReplacementEffect(effect: VideoBackgroundEffect): effect is VideoBackgroundReplacementEffect {\n return effect.effectName === 'replacement';\n }\n\n public async removeParticipant(\n userId: string | /* @conditional-compile-remove(PSTN-calls) */ CommunicationIdentifier\n ): Promise<void> {\n let participant = userId;\n /* @conditional-compile-remove(PSTN-calls) */\n participant = _toCommunicationIdentifier(userId);\n this.handlers.onRemoveParticipant(participant);\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n public async addParticipant(participant: CommunicationUserIdentifier): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n public async addParticipant(\n participant: PhoneNumberIdentifier | CommunicationUserIdentifier,\n options?: AddPhoneNumberOptions\n ): Promise<void> {\n if (isPhoneNumberIdentifier(participant) && options) {\n this.handlers.onAddParticipant(participant, options);\n } else if (isCommunicationUserIdentifier(participant)) {\n this.handlers.onAddParticipant(participant);\n }\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async holdCall(): Promise<void> {\n if (this.call?.state !== 'LocalHold') {\n if (this.call?.isLocalVideoStarted) {\n this.stopCamera().then(() => {\n this.handlers.onToggleHold();\n });\n } else {\n this.handlers.onToggleHold();\n }\n }\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async resumeCall(): Promise<void> {\n if (this.call?.state === 'LocalHold') {\n this.handlers.onToggleHold().then(() => {\n if (this.call?.feature(Features.Capabilities).capabilities.turnVideoOn.isPresent === false) {\n this.stopCamera();\n }\n });\n }\n }\n\n public async sendDtmfTone(dtmfTone: DtmfTone): Promise<void> {\n this.handlers.onSendDtmfTone(dtmfTone);\n }\n\n /* @conditional-compile-remove(close-captions) */\n public async startCaptions(options?: StartCaptionsOptions): Promise<void> {\n this.handlers.onStartCaptions(options);\n }\n\n /* @conditional-compile-remove(close-captions) */\n public async stopCaptions(): Promise<void> {\n this.handlers.onStopCaptions();\n }\n\n /* @conditional-compile-remove(close-captions) */\n public async setCaptionLanguage(language: string): Promise<void> {\n this.handlers.onSetCaptionLanguage(language);\n }\n\n /* @conditional-compile-remove(close-captions) */\n public async setSpokenLanguage(language: string): Promise<void> {\n this.handlers.onSetSpokenLanguage(language);\n }\n /* @conditional-compile-remove(end-of-call-survey) */\n public async submitSurvey(survey: CallSurvey): Promise<CallSurveyResponse | undefined> {\n return this.handlers.onSubmitSurvey(survey);\n }\n\n /* @conditional-compile-remove(spotlight) */\n public async startSpotlight(userIds: string[]): Promise<void> {\n this.handlers.onStartSpotlight(userIds);\n }\n\n /* @conditional-compile-remove(spotlight) */\n public async stopSpotlight(userIds: string[]): Promise<void> {\n this.handlers.onStopSpotlight(userIds);\n }\n\n /* @conditional-compile-remove(spotlight) */\n public async stopAllSpotlight(): Promise<void> {\n this.handlers.onStopAllSpotlight();\n }\n\n public getState(): CallAdapterState {\n return this.context.getState();\n }\n\n public onStateChange(handler: (state: CallAdapterState) => void): void {\n this.context.onStateChange(handler);\n }\n\n public offStateChange(handler: (state: CallAdapterState) => void): void {\n this.context.offStateChange(handler);\n }\n\n on(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;\n on(event: 'participantsLeft', listener: ParticipantsLeftListener): void;\n on(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n on(event: 'callIdChanged', listener: CallIdChangedListener): void;\n on(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n on(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n on(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n on(event: 'callEnded', listener: CallEndedListener): void;\n on(event: 'diagnosticChanged', listener: DiagnosticChangedEventListner): void;\n on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n on(event: 'error', errorHandler: (e: AdapterError) => void): void;\n /* @conditional-compile-remove(close-captions) */\n on(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n /* @conditional-compile-remove(close-captions) */\n on(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n /* @conditional-compile-remove(close-captions) */\n on(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n /* @conditional-compile-remove(close-captions) */\n on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n /* @conditional-compile-remove(call-transfer) */\n on(event: 'transferAccepted', listener: TransferAcceptedListener): void;\n /* @conditional-compile-remove(capabilities) */\n on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n /* @conditional-compile-remove(capabilities) */\n on(event: 'roleChanged', listener: PropertyChangedEvent): void;\n /* @conditional-compile-remove(spotlight) */\n on(event: 'spotlightChanged', listener: SpotlightChangedListener): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public on(event: string, listener: (e: any) => void): void {\n this.emitter.on(event, listener);\n }\n\n /* @conditional-compile-remove(close-captions) */\n private subscribeToCaptionEvents(): void {\n if (this.call && this.call.state === 'Connected') {\n if (this.context.getState().isTeamsCall) {\n const captionsFeature = this.call?.feature(Features.Captions).captions as TeamsCaptions;\n captionsFeature.on('CaptionsReceived', this.teamsCaptionsReceived.bind(this));\n captionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n captionsFeature.on('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));\n captionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n } else {\n /* @conditional-compile-remove(acs-close-captions) */\n const captionsFeature = this.call?.feature(Features.Captions).captions as Captions;\n /* @conditional-compile-remove(acs-close-captions) */\n captionsFeature.on('CaptionsReceived', this.captionsReceived.bind(this));\n /* @conditional-compile-remove(acs-close-captions) */\n captionsFeature.on('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n /* @conditional-compile-remove(acs-close-captions) */\n captionsFeature.on('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n }\n }\n }\n\n /* @conditional-compile-remove(close-captions) */\n private unsubscribeFromCaptionEvents(): void {\n if (this.call && this.call.state === 'Connected') {\n if (this.context.getState().isTeamsCall) {\n const captionsFeature = this.call?.feature(Features.Captions).captions as TeamsCaptions;\n captionsFeature.off('CaptionsReceived', this.teamsCaptionsReceived.bind(this));\n captionsFeature.off('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n captionsFeature.off('CaptionLanguageChanged', this.isCaptionLanguageChanged.bind(this));\n captionsFeature.off('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n } else {\n /* @conditional-compile-remove(acs-close-captions) */\n const captionsFeature = this.call?.feature(Features.Captions).captions as Captions;\n /* @conditional-compile-remove(acs-close-captions) */\n captionsFeature.off('CaptionsReceived', this.captionsReceived.bind(this));\n /* @conditional-compile-remove(acs-close-captions) */\n captionsFeature.off('CaptionsActiveChanged', this.isCaptionsActiveChanged.bind(this));\n /* @conditional-compile-remove(acs-close-captions) */\n captionsFeature.off('SpokenLanguageChanged', this.isSpokenLanguageChanged.bind(this));\n }\n this.call?.off('stateChanged', this.subscribeToCaptionEvents.bind(this));\n }\n }\n\n private subscribeCallEvents(): void {\n /* @conditional-compile-remove(calling-sounds) */\n if (this.call) {\n this.callingSoundSubscriber = new CallingSoundSubscriber(\n this.call,\n this.getState().targetCallees,\n this.getState().sounds\n );\n }\n this.call?.on('remoteParticipantsUpdated', this.onRemoteParticipantsUpdated.bind(this));\n this.call?.on('isMutedChanged', this.isMyMutedChanged.bind(this));\n this.call?.on('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));\n this.call?.on('idChanged', this.callIdChanged.bind(this));\n /* @conditional-compile-remove(close-captions) */\n this.call?.on('stateChanged', this.subscribeToCaptionEvents.bind(this));\n /* @conditional-compile-remove(rooms) */\n this.call?.on('roleChanged', this.roleChanged.bind(this));\n /* @conditional-compile-remove(call-transfer) */\n this.call?.feature(Features.Transfer).on('transferAccepted', this.transferAccepted.bind(this));\n /* @conditional-compile-remove(capabilities) */\n this.call?.feature(Features.Capabilities).on('capabilitiesChanged', this.capabilitiesChanged.bind(this));\n /* @conditional-compile-remove(spotlight) */\n this.call?.feature(Features.Spotlight).on('spotlightChanged', this.spotlightChanged.bind(this));\n }\n\n private unsubscribeCallEvents(): void {\n for (const subscriber of this.participantSubscribers.values()) {\n subscriber.unsubscribeAll();\n }\n this.participantSubscribers.clear();\n this.call?.off('remoteParticipantsUpdated', this.onRemoteParticipantsUpdated.bind(this));\n this.call?.off('isMutedChanged', this.isMyMutedChanged.bind(this));\n this.call?.off('isScreenSharingOnChanged', this.isScreenSharingOnChanged.bind(this));\n this.call?.off('idChanged', this.callIdChanged.bind(this));\n /* @conditional-compile-remove(rooms) */\n this.call?.off('roleChanged', this.roleChanged.bind(this));\n\n /* @conditional-compile-remove(close-captions) */\n this.unsubscribeFromCaptionEvents();\n /* @conditional-compile-remove(calling-sounds) */\n if (this.callingSoundSubscriber) {\n this.callingSoundSubscriber.unsubscribeAll();\n }\n }\n\n private isMyMutedChanged = (): void => {\n this.emitter.emit('isMutedChanged', {\n participantId: this.getState().userId,\n isMuted: this.call?.isMuted\n });\n };\n\n private onRemoteParticipantsUpdated({\n added,\n removed\n }: {\n added: RemoteParticipant[];\n removed: RemoteParticipant[];\n }): void {\n if (added && added.length > 0) {\n this.emitter.emit('participantsJoined', { joined: added });\n }\n if (removed && removed.length > 0) {\n this.emitter.emit('participantsLeft', { removed: removed });\n }\n\n added.forEach((participant) => {\n this.participantSubscribers.set(\n toFlatCommunicationIdentifier(participant.identifier),\n new ParticipantSubscriber(participant, this.emitter)\n );\n });\n\n removed.forEach((participant) => {\n const subscriber = this.participantSubscribers.get(toFlatCommunicationIdentifier(participant.identifier));\n subscriber && subscriber.unsubscribeAll();\n this.participantSubscribers.delete(toFlatCommunicationIdentifier(participant.identifier));\n });\n }\n\n private isScreenSharingOnChanged(): void {\n this.emitter.emit('isLocalScreenSharingActiveChanged', { isScreenSharingOn: this.call?.isScreenSharingOn });\n }\n\n /* @conditional-compile-remove(close-captions) */\n private teamsCaptionsReceived(captionsInfo: TeamsCaptionsInfo): void {\n this.emitter.emit('captionsReceived', { captionsInfo });\n }\n\n /* @conditional-compile-remove(acs-close-captions) */\n private captionsReceived(captionsInfo: CaptionsInfo): void {\n this.emitter.emit('captionsReceived', { captionsInfo });\n }\n\n /* @conditional-compile-remove(close-captions) */\n private isCaptionsActiveChanged(): void {\n const captionsFeature = this.call?.feature(Features.Captions).captions as\n | TeamsCaptions\n | /* @conditional-compile-remove(acs-close-captions) */ Captions;\n this.emitter.emit('isCaptionsActiveChanged', {\n isActive: captionsFeature.isCaptionsFeatureActive\n });\n }\n\n /* @conditional-compile-remove(close-captions) */\n private isSpokenLanguageChanged(): void {\n const captionsFeature = this.call?.feature(Features.Captions).captions as\n | TeamsCaptions\n | /* @conditional-compile-remove(acs-close-captions) */ Captions;\n this.emitter.emit('isSpokenLanguageChanged', {\n activeSpokenLanguage: captionsFeature.activeSpokenLanguage\n });\n }\n\n /* @conditional-compile-remove(close-captions) */\n private isCaptionLanguageChanged(): void {\n const captionsFeature = this.call?.feature(Features.Captions).captions as TeamsCaptions;\n this.emitter.emit('isCaptionLanguageChanged', {\n activeCaptionLanguage: captionsFeature.activeCaptionLanguage\n });\n }\n\n /* @conditional-compile-remove(call-transfer) */\n private transferAccepted(args: TransferEventArgs): void {\n this.emitter.emit('transferAccepted', args);\n }\n\n /* @conditional-compile-remove(capabilities) */\n private capabilitiesChanged(data: CapabilitiesChangeInfo): void {\n if (data.newValue.turnVideoOn?.isPresent === false) {\n // Only stop camera when the call state is not on hold. The Calling SDK does not allow us to stop camera when\n // the call state is on hold.\n if (this.call?.state !== 'LocalHold' && this.call?.state !== 'RemoteHold') {\n this.stopCamera();\n }\n this.disposeLocalVideoStreamView();\n }\n if (data.newValue.unmuteMic?.isPresent === false) {\n this.mute();\n }\n if (data.newValue.shareScreen?.isPresent === false) {\n this.stopScreenShare();\n }\n this.emitter.emit('capabilitiesChanged', data);\n }\n\n /* @conditional-compile-remove(rooms) */\n private roleChanged(): void {\n if (this.call?.role === 'Consumer') {\n this.call?.feature(Features.RaiseHand).lowerHand();\n }\n this.emitter.emit('roleChanged');\n }\n\n /* @conditional-compile-remove(spotlight) */\n private spotlightChanged(args: { added: SpotlightedParticipant[]; removed: SpotlightedParticipant[] }): void {\n this.emitter.emit('spotlightChanged', args);\n }\n\n private callIdChanged(): void {\n this.call?.id && this.emitter.emit('callIdChanged', { callId: this.call.id });\n }\n\n private resetDiagnosticsForwarder(newCall?: CallCommon): void {\n if (this.diagnosticsForwarder) {\n this.diagnosticsForwarder.unsubscribe();\n }\n if (newCall) {\n this.diagnosticsForwarder = new DiagnosticsForwarder(this.emitter, newCall);\n }\n }\n\n off(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;\n off(event: 'participantsLeft', listener: ParticipantsLeftListener): void;\n off(event: 'isMutedChanged', listener: IsMutedChangedListener): void;\n off(event: 'callIdChanged', listener: CallIdChangedListener): void;\n off(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;\n off(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;\n off(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;\n off(event: 'callEnded', listener: CallEndedListener): void;\n off(event: 'diagnosticChanged', listener: DiagnosticChangedEventListner): void;\n off(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n off(event: 'error', errorHandler: (e: AdapterError) => void): void;\n /* @conditional-compile-remove(close-captions) */\n off(event: 'captionsReceived', listener: CaptionsReceivedListener): void;\n /* @conditional-compile-remove(close-captions) */\n off(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;\n /* @conditional-compile-remove(close-captions) */\n off(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;\n /* @conditional-compile-remove(close-captions) */\n off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;\n /* @conditional-compile-remove(call-transfer) */\n off(event: 'transferAccepted', listener: TransferAcceptedListener): void;\n /* @conditional-compile-remove(capabilities) */\n off(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;\n /* @conditional-compile-remove(rooms) */\n off(event: 'roleChanged', listener: PropertyChangedEvent): void;\n /* @conditional-compile-remove(spotlight) */\n off(event: 'spotlightChanged', listener: SpotlightChangedListener): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public off(event: string, listener: (e: any) => void): void {\n this.emitter.off(event, listener);\n }\n\n private async asyncTeeErrorToEventEmitter<T>(f: () => Promise<T>): Promise<T> {\n try {\n return await f();\n } catch (error) {\n if (isCallError(error as Error)) {\n this.emitter.emit('error', error as AdapterError);\n }\n throw error;\n }\n }\n\n private teeErrorToEventEmitter<T>(f: () => T): T {\n try {\n return f();\n } catch (error) {\n if (isCallError(error as Error)) {\n this.emitter.emit('error', error as AdapterError);\n }\n throw error;\n }\n }\n}\n\n/* @conditional-compile-remove(teams-adhoc-call) */\n/* @conditional-compile-remove(PSTN-calls) */\n/**\n * Locator used by {@link createAzureCommunicationCallAdapter} to call one or more participants\n *\n * @remarks\n * This is currently in beta and only supports calling one Teams User.\n *\n * @example\n * ```\n * ['8:orgid:ab220efe-5725-4742-9792-9fba7c9ac458']\n * ```\n *\n * @beta\n */\nexport type CallParticipantsLocator = {\n participantIds: string[];\n};\n\n/**\n * Locator used by {@link createAzureCommunicationCallAdapter} to locate the call to join\n *\n * @public\n */\nexport type CallAdapterLocator =\n | TeamsMeetingLinkLocator\n | GroupCallLocator\n | /* @conditional-compile-remove(rooms) */ RoomCallLocator\n | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */ CallParticipantsLocator;\n\n/**\n * Common optional parameters to create {@link AzureCommunicationCallAdapter} or {@link TeamsCallAdapter}\n *\n * @public\n */\nexport type CommonCallAdapterOptions = {\n /* @conditional-compile-remove(video-background-effects) */\n /**\n * Default set of background images for background image picker.\n */\n videoBackgroundOptions?: {\n videoBackgroundImages?: VideoBackgroundImage[];\n onResolveDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n };\n /* @conditional-compile-remove(teams-identity-support) */\n /**\n * Use this to fetch profile information which will override data in {@link CallAdapterState} like display name\n * The onFetchProfile is fetch-and-forget one time action for each user, once a user profile is updated, the value will be cached\n * and would not be updated again within the lifecycle of adapter.\n */\n onFetchProfile?: OnFetchProfileCallback;\n /* @conditional-compile-remove(calling-sounds) */\n /**\n * Sounds to use for calling events\n */\n callingSounds?: CallingSounds;\n /* @conditional-compile-remove(reaction) */\n /**\n * Reaction resource for reaction resources\n * @beta\n */\n reactionResources?: ReactionResources;\n};\n\n/**\n * Optional parameters to create {@link AzureCommunicationCallAdapter}\n *\n * @public\n */\nexport type AzureCommunicationCallAdapterOptions = CommonCallAdapterOptions;\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link CallAdapter}.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport type AzureCommunicationCallAdapterArgs = {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAdapterLocator;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * A phone number in E.164 format procured using Azure Communication Services that will be used to represent callers identity.\n * E.164 numbers are formatted as [+] [country code] [phone number including area code]. For example, +14255550123 for a US phone number.\n */\n alternateCallerId?: string;\n /* @conditional-compile-remove(video-background-effects) */\n /**\n * Optional parameters for the {@link AzureCommunicationCallAdapter} created\n */\n options?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link CallAdapter}.\n *\n * These arguments are used to create an outbound call scenarios.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport type AzureCommunicationOutboundCallAdapterArgs = {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n targetCallees: StartCallIdentifier[];\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * A phone number in E.164 format procured using Azure Communication Services that will be used to represent callers identity.\n * E.164 numbers are formatted as [+] [country code] [phone number including area code]. For example, +14255550123 for a US phone number.\n */\n alternateCallerId?: string;\n /* @conditional-compile-remove(video-background-effects) */\n /**\n * Optional parameters for the {@link AzureCommunicationCallAdapter} created\n */\n options?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Optional parameters to create {@link TeamsCallAdapter}\n *\n * @public\n */\nexport type TeamsAdapterOptions = CommonCallAdapterOptions;\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link TeamsCallAdapter}.\n *\n * @beta\n */\nexport type TeamsCallAdapterArgs = {\n userId: MicrosoftTeamsUserIdentifier;\n credential: CommunicationTokenCredential;\n locator:\n | TeamsMeetingLinkLocator\n | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */ CallParticipantsLocator;\n /**\n * Optional parameters for the {@link TeamsCallAdapter} created\n */\n options?: TeamsAdapterOptions;\n};\n\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(\n args: AzureCommunicationCallAdapterArgs\n): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(\n args: AzureCommunicationOutboundCallAdapterArgs\n): Promise<CallAdapter>;\n/**\n * @public\n */\n/**\n * Create a {@link CallAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link CallAdapter} provided by this library.\n *\n * Note: `displayName` can be a maximum of 256 characters.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapter(\n args: AzureCommunicationCallAdapterArgs | AzureCommunicationOutboundCallAdapterArgs\n): Promise<CallAdapter> {\n if (isMicrosoftTeamsUserIdentifier(args.userId)) {\n throw new Error(\n 'Microsoft Teams user identifier is not supported by AzureCommunicationCallAdapter. Instead use TeamsCallAdapter.'\n );\n }\n return _createAzureCommunicationCallAdapterInner({\n userId: args.userId,\n displayName: args.displayName,\n credential: args.credential,\n locator: (args as AzureCommunicationCallAdapterArgs).locator,\n targetCallees: (args as AzureCommunicationOutboundCallAdapterArgs).targetCallees,\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId: args.alternateCallerId,\n /* @conditional-compile-remove(video-background-effects) */\n options: args.options\n });\n}\n\n/**\n * This inner function is used to allow injection of TelemetryImplementationHint without changing the public API.\n *\n * @internal\n */\nexport const _createAzureCommunicationCallAdapterInner = async ({\n userId,\n displayName,\n credential,\n locator,\n targetCallees,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n /* @conditional-compile-remove(video-background-effects) */ options,\n telemetryImplementationHint = 'Call'\n}: {\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAdapterLocator;\n targetCallees?: StartCallIdentifier[];\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId?: string;\n /* @conditional-compile-remove(video-background-effects) */ options?: AzureCommunicationCallAdapterOptions;\n telemetryImplementationHint?: _TelemetryImplementationHint;\n}): Promise<CallAdapter> => {\n if (!_isValidIdentifier(userId)) {\n throw new Error('Invalid identifier. Please provide valid identifier object.');\n }\n const callClient = _createStatefulCallClientInner(\n {\n userId,\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId\n },\n undefined,\n telemetryImplementationHint\n );\n const callAgent = await callClient.createCallAgent(credential, {\n displayName\n });\n let adapter;\n if (locator) {\n adapter = createAzureCommunicationCallAdapterFromClient(\n callClient,\n callAgent,\n locator,\n /* @conditional-compile-remove(video-background-effects) */ options\n );\n } else {\n adapter = createAzureCommunicationCallAdapterFromClient(\n callClient,\n callAgent,\n targetCallees as StartCallIdentifier[],\n /* @conditional-compile-remove(video-background-effects) */ options\n );\n }\n return adapter;\n};\n\n/* @conditional-compile-remove(teams-identity-support) */\n/**\n * @beta\n */\nexport const createTeamsCallAdapter = async ({\n userId,\n credential,\n locator,\n options\n}: TeamsCallAdapterArgs): Promise<TeamsCallAdapter> => {\n if (isCommunicationUserIdentifier(userId)) {\n throw new Error(\n 'Communication User identifier is not supported by TeamsCallAdapter, please use our AzureCommunicationCallAdapter.'\n );\n }\n const callClient = _createStatefulCallClientInner(\n {\n userId\n },\n undefined,\n 'Call' as _TelemetryImplementationHint\n );\n const callAgent = await callClient.createTeamsCallAgent(credential, {\n undefined\n });\n const adapter = createTeamsCallAdapterFromClient(callClient, callAgent, locator, options);\n return adapter;\n};\n\ntype PartialArgsType<Adapter> = Adapter extends CallAdapter\n ? Partial<AzureCommunicationCallAdapterArgs>\n : Partial<TeamsCallAdapterArgs>;\n\ntype PartialArgsOutboundType<Adapter> = Adapter extends CallAdapter\n ? Partial<AzureCommunicationOutboundCallAdapterArgs>\n : Partial<TeamsCallAdapterArgs>;\n\ntype AdapterOf<AdapterKind extends 'AzureCommunication' | 'Teams'> = AdapterKind extends 'AzureCommunication'\n ? CallAdapter\n : never | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallAdapter;\n\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<\n AdapterKind extends 'AzureCommunication' | 'Teams',\n Adapter extends AdapterOf<AdapterKind>\n>(\n args: PartialArgsType<Adapter>,\n adapterKind: AdapterKind,\n afterCreate?: (adapter: Adapter) => Promise<Adapter>,\n beforeDispose?: (adapter: Adapter) => Promise<void>\n): Adapter | undefined;\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<\n AdapterKind extends 'AzureCommunication' | 'Teams',\n Adapter extends AdapterOf<AdapterKind>\n>(\n args: PartialArgsOutboundType<Adapter>,\n adapterKind: AdapterKind,\n afterCreate?: (adapter: Adapter) => Promise<Adapter>,\n beforeDispose?: (adapter: Adapter) => Promise<void>\n): Adapter | undefined;\n/**\n * @private\n */\nfunction useAzureCommunicationCallAdapterGeneric<\n AdapterKind extends 'AzureCommunication' | 'Teams',\n Adapter extends AdapterOf<AdapterKind>\n>(\n args: PartialArgsType<Adapter> | PartialArgsOutboundType<Adapter>,\n adapterKind: AdapterKind = 'AzureCommunication' as AdapterKind,\n afterCreate?: (adapter: Adapter) => Promise<Adapter>,\n beforeDispose?: (adapter: Adapter) => Promise<void>\n): Adapter | undefined {\n const { credential, userId } = args;\n const locator = 'locator' in args ? args.locator : undefined;\n const targetCallees = 'targetCallees' in args ? args.targetCallees : undefined;\n const displayName = 'displayName' in args ? args.displayName : undefined;\n /* @conditional-compile-remove(PSTN-calls) */\n const alternateCallerId = 'alternateCallerId' in args ? args.alternateCallerId : undefined;\n /* @conditional-compile-remove(video-background-effects) */\n const options = 'options' in args ? args.options : undefined;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<Adapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<Adapter | undefined>(undefined);\n const creatingAdapterRef = useRef<boolean>(false);\n\n const afterCreateRef = useRef<((adapter: Adapter) => Promise<Adapter>) | undefined>(undefined);\n const beforeDisposeRef = useRef<((adapter: Adapter) => Promise<void>) | undefined>(undefined);\n // These refs are updated on *each* render, so that the latest values\n // are used in the `useEffect` closures below.\n // Using a Ref ensures that new values for the callbacks do not trigger the\n // useEffect blocks, and a new adapter creation / distruction is not triggered.\n afterCreateRef.current = afterCreate;\n beforeDisposeRef.current = beforeDispose;\n\n useEffect(\n () => {\n if (!credential || (!locator && !targetCallees) || !userId) {\n return;\n }\n\n if (adapterKind === 'AzureCommunication' && !displayName) {\n return;\n }\n (async () => {\n if (adapterRef.current) {\n // Dispose the old adapter when a new one is created.\n //\n // This clean up function uses `adapterRef` because `adapter` can not be added to the dependency array of\n // this `useEffect` -- we do not want to trigger a new adapter creation because of the first adapter\n // creation.\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n let newAdapter: Adapter | undefined = undefined;\n if (adapterKind === 'AzureCommunication') {\n // This is just the type check to ensure that displayName is defined.\n if (!displayName) {\n throw new Error('Unreachable code, displayName already checked above.');\n }\n if (creatingAdapterRef.current) {\n console.warn(\n 'Adapter is already being created, please see storybook for more information: https://azure.github.io/communication-ui-library/?path=/story/troubleshooting--page'\n );\n return;\n }\n creatingAdapterRef.current = true;\n if (locator) {\n newAdapter = (await createAzureCommunicationCallAdapter({\n credential,\n displayName: displayName,\n locator,\n userId: userId as CommunicationUserIdentifier,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n /* @conditional-compile-remove(video-background-effects) */ options\n })) as Adapter;\n } else if (targetCallees) {\n newAdapter = (await createAzureCommunicationCallAdapter({\n credential,\n displayName: displayName,\n targetCallees,\n userId: userId as CommunicationUserIdentifier,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n /* @conditional-compile-remove(video-background-effects) */ options\n })) as Adapter;\n }\n } else if (adapterKind === 'Teams') {\n if (creatingAdapterRef.current) {\n console.warn('Adapter is already being created, skipping creation.');\n return;\n }\n creatingAdapterRef.current = true;\n /* @conditional-compile-remove(teams-identity-support) */\n newAdapter = (await createTeamsCallAdapter({\n credential,\n locator: locator as TeamsMeetingLinkLocator,\n userId: userId as MicrosoftTeamsUserIdentifier,\n options\n })) as Adapter;\n } else {\n throw new Error('Unreachable code, unknown adapterKind');\n }\n\n if (!newAdapter) {\n throw Error('Unreachable code! Get undefined adapter');\n }\n\n if (afterCreateRef.current) {\n newAdapter = await afterCreateRef.current(newAdapter);\n }\n adapterRef.current = newAdapter;\n creatingAdapterRef.current = false;\n setAdapter(newAdapter);\n })();\n },\n // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.\n [\n adapterRef,\n afterCreateRef,\n beforeDisposeRef,\n adapterKind,\n credential,\n locator,\n userId,\n displayName,\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId,\n options,\n targetCallees\n ]\n );\n\n // Dispose any existing adapter when the component unmounts.\n useEffect(() => {\n return () => {\n (async () => {\n if (adapterRef.current) {\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n })();\n };\n }, []);\n\n return adapter;\n}\n\n/**\n * A custom React hook to simplify the creation of {@link CallAdapter}.\n *\n * Similar to {@link createAzureCommunicationCallAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @public\n */\nexport const useAzureCommunicationCallAdapter = (\n /**\n * Arguments to be passed to {@link createAzureCommunicationCallAdapter}.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n */\n args: Partial<AzureCommunicationCallAdapterArgs | AzureCommunicationOutboundCallAdapterArgs>,\n /**\n * Optional callback to modify the adapter once it is created.\n *\n * If set, must return the modified adapter.\n */\n afterCreate?: (adapter: CallAdapter) => Promise<CallAdapter>,\n /**\n * Optional callback called before the adapter is disposed.\n *\n * This is useful for clean up tasks, e.g., leaving any ongoing calls.\n */\n beforeDispose?: (adapter: CallAdapter) => Promise<void>\n): CallAdapter | undefined => {\n return useAzureCommunicationCallAdapterGeneric(args, 'AzureCommunication', afterCreate, beforeDispose);\n};\n\n/* @conditional-compile-remove(teams-identity-support) */\n/**\n * A custom React hook to simplify the creation of {@link TeamsCallAdapter}.\n *\n * Similar to {@link createTeamsAzureCommunicationCallAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @beta\n */\nexport const useTeamsCallAdapter = (\n /**\n * Arguments to be passed to {@link createAzureCommunicationCallAdapter}.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n */\n args: Partial<TeamsCallAdapterArgs>,\n /**\n * Optional callback to modify the adapter once it is created.\n *\n * If set, must return the modified adapter.\n */\n afterCreate?: (adapter: TeamsCallAdapter) => Promise<TeamsCallAdapter>,\n /**\n * Optional callback called before the adapter is disposed.\n *\n * This is useful for clean up tasks, e.g., leaving any ongoing calls.\n */\n beforeDispose?: (adapter: TeamsCallAdapter) => Promise<void>\n): TeamsCallAdapter | undefined => {\n return useAzureCommunicationCallAdapterGeneric(args, 'Teams', afterCreate, beforeDispose);\n};\n\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(\n callClient: StatefulCallClient,\n callAgent: CallAgent,\n targetCallees: StartCallIdentifier[],\n /* @conditional-compile-remove(video-background-effects) */ options?: AzureCommunicationCallAdapterOptions\n): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(\n callClient: StatefulCallClient,\n callAgent: CallAgent,\n locator: CallAdapterLocator,\n /* @conditional-compile-remove(video-background-effects) */ options?: AzureCommunicationCallAdapterOptions\n): Promise<CallAdapter>;\n/**\n * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationCallAdapterFromClient(\n callClient: StatefulCallClient,\n callAgent: CallAgent,\n locatorOrtargetCallees: CallAdapterLocator | StartCallIdentifier[],\n /* @conditional-compile-remove(video-background-effects) */ options?: AzureCommunicationCallAdapterOptions\n): Promise<CallAdapter> {\n const deviceManager = (await callClient.getDeviceManager()) as StatefulDeviceManager;\n await Promise.all([deviceManager.getCameras(), deviceManager.getMicrophones()]);\n if (deviceManager.isSpeakerSelectionAvailable) {\n await deviceManager.getSpeakers();\n }\n /* @conditional-compile-remove(unsupported-browser) */\n await callClient.feature(Features.DebugInfo).getEnvironmentInfo();\n if (getLocatorOrTargetCallees(locatorOrtargetCallees)) {\n return new AzureCommunicationCallAdapter(\n callClient,\n locatorOrtargetCallees as StartCallIdentifier[],\n callAgent,\n deviceManager,\n /* @conditional-compile-remove(video-background-effects) */ options\n );\n } else {\n return new AzureCommunicationCallAdapter(\n callClient,\n locatorOrtargetCallees as CallAdapterLocator,\n callAgent,\n deviceManager,\n /* @conditional-compile-remove(video-background-effects) */ options\n );\n }\n}\n\n/* @conditional-compile-remove(teams-identity-support) */\n/**\n * Create a {@link TeamsCallAdapter} using the provided {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.\n *\n * @beta\n */\nexport const createTeamsCallAdapterFromClient = async (\n callClient: StatefulCallClient,\n callAgent: TeamsCallAgent,\n locator: CallAdapterLocator,\n options?: TeamsAdapterOptions\n): Promise<TeamsCallAdapter> => {\n const deviceManager = (await callClient.getDeviceManager()) as StatefulDeviceManager;\n await Promise.all([deviceManager.getCameras(), deviceManager.getMicrophones()]);\n if (deviceManager.isSpeakerSelectionAvailable) {\n await deviceManager.getSpeakers();\n }\n /* @conditional-compile-remove(unsupported-browser) */\n await callClient.feature(Features.DebugInfo).getEnvironmentInfo();\n return new AzureCommunicationCallAdapter(callClient, locator, callAgent, deviceManager, options);\n};\n\nconst isCallError = (e: Error): e is CallError => {\n return 'target' in e && 'innerError' in e;\n};\n"]}