@azure/communication-react 1.4.0 → 1.4.1-beta.1

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 (833) hide show
  1. package/{CHANGELOG.md → CHANGELOG.beta.md} +47 -283
  2. package/CHANGELOG.json +507 -0
  3. package/CHANGELOG.stable.md +287 -0
  4. package/dist/communication-react.d.ts +1781 -58
  5. package/dist/dist-cjs/communication-react/index.js +17182 -13123
  6. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/identifier.js +7 -24
  14. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js +2 -1
  17. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/logEvent.js +2 -0
  19. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/safeStringify.js +2 -1
  22. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/telemetry.d.ts +10 -0
  24. package/dist/dist-esm/acs-ui-common/src/telemetry.js +10 -0
  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 +9 -0
  29. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +10 -0
  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 +13 -0
  32. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +27 -9
  33. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  34. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +22 -46
  35. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +51 -0
  37. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +270 -0
  38. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -0
  39. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.d.ts +20 -0
  40. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +36 -0
  41. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -0
  42. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +7 -43
  43. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +26 -266
  44. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +43 -0
  46. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +81 -0
  47. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -0
  48. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js +17 -5
  50. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +7 -3
  52. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +29 -0
  53. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js +6 -3
  55. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +6 -0
  57. package/dist/dist-esm/calling-component-bindings/src/index.js +8 -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 +26 -9
  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 +2 -0
  62. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  63. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +12 -2
  64. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js +27 -1
  65. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  66. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +8 -3
  67. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  68. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +16 -2
  69. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +27 -1
  70. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  71. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  72. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js +2 -0
  73. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  74. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +11 -0
  75. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +19 -3
  76. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  77. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +7 -1
  78. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +11 -0
  79. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  80. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +13 -4
  81. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  82. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +21 -5
  83. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +26 -0
  85. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js +4 -0
  86. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -0
  87. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +16 -2
  88. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js +42 -187
  89. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +53 -0
  91. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +204 -0
  92. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -0
  93. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +21 -1
  94. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js +4 -1
  95. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +4 -0
  97. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +60 -10
  98. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +12 -80
  100. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.d.ts +13 -0
  102. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +88 -0
  103. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -0
  104. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js +2 -1
  105. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +3 -2
  108. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +19 -8
  109. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +4 -3
  111. package/dist/dist-esm/calling-stateful-client/src/Converter.js +15 -8
  112. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  113. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +58 -55
  114. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.d.ts +2 -1
  116. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -16
  117. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  118. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.d.ts +3 -3
  119. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js +4 -1
  120. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +11 -18
  122. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +1 -0
  125. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +12 -1
  126. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +4 -1
  128. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  129. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +1 -0
  130. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +14 -2
  131. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  132. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +23 -0
  133. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +52 -36
  134. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  135. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +21 -23
  136. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  137. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +19 -0
  138. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +89 -0
  139. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -0
  140. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +23 -0
  141. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +48 -0
  142. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -0
  143. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js +4 -1
  144. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  145. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +19 -0
  146. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +35 -0
  147. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -0
  148. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +5 -3
  149. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  150. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +8 -0
  151. package/dist/dist-esm/calling-stateful-client/src/index-public.js +4 -0
  152. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -0
  153. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +3 -5
  154. package/dist/dist-esm/calling-stateful-client/src/index.js +2 -1
  155. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  156. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +6 -4
  157. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  158. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  159. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  160. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +21 -18
  161. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  162. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +4 -1
  163. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +11 -13
  164. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  165. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  166. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  167. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js +4 -1
  168. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  169. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  170. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +48 -13
  171. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  172. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  173. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  174. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  175. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js +2 -0
  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 +5 -8
  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 +7 -2
  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.map +1 -1
  183. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js +4 -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.js +17 -16
  186. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  187. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  188. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +16 -15
  189. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  190. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  191. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +59 -68
  192. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  193. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +115 -121
  194. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  195. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +2 -0
  196. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  197. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  198. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js +2 -0
  199. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  200. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js +2 -0
  201. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  202. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js +2 -0
  203. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  204. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js +2 -0
  205. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  206. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js +2 -0
  207. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  208. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js +2 -0
  209. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  210. package/dist/dist-esm/communication-react/src/index.d.ts +20 -2
  211. package/dist/dist-esm/communication-react/src/index.js +13 -1
  212. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  213. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  215. package/dist/dist-esm/react-components/src/components/CameraButton.js +10 -9
  216. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  217. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
  218. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +38 -17
  220. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +12 -5
  222. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +26 -31
  224. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +63 -28
  226. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +9 -12
  228. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  230. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +19 -10
  232. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +4 -3
  234. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/ControlBar.js +13 -15
  239. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  241. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +6 -15
  243. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  244. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
  245. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +37 -0
  246. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
  247. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
  248. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +58 -0
  249. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
  250. package/dist/dist-esm/react-components/src/components/{DevicePermissionDropdown.d.ts → DevicePermissions/DevicePermissionDropdown.d.ts} +4 -0
  251. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +27 -0
  252. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -0
  253. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissions.d.ts +101 -0
  254. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissions.js +80 -0
  255. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissions.js.map +1 -0
  256. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissionsScaffolding.d.ts +86 -0
  257. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissionsScaffolding.js +31 -0
  258. package/dist/dist-esm/react-components/src/components/DevicePermissions/DomainPermissionsScaffolding.js.map +1 -0
  259. package/dist/dist-esm/react-components/src/components/DevicesButton.js +7 -30
  260. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +48 -48
  262. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  263. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  265. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +12 -9
  267. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  269. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -3
  271. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/EndCallButton.js +5 -8
  274. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/ErrorBar.js +4 -6
  276. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/FileCard.js +4 -4
  278. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  280. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +14 -10
  282. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +10 -8
  284. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/GridLayout.js +55 -44
  286. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +4 -3
  288. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
  290. package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
  291. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
  292. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -8
  293. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +6 -12
  295. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  297. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +28 -9
  299. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +27 -36
  301. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +23 -1
  303. package/dist/dist-esm/react-components/src/components/MessageThread.js +188 -120
  304. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -11
  306. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +137 -137
  308. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +15 -0
  310. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +19 -16
  311. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/ParticipantList.js +25 -9
  313. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +44 -31
  315. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  316. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  317. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  318. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  319. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  320. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +18 -5
  321. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +6 -4
  323. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  324. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -12
  325. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +35 -0
  327. package/dist/dist-esm/react-components/src/components/SendBox.js +37 -10
  328. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +4 -3
  330. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  331. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/StreamMedia.js +5 -4
  333. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  335. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.d.ts +2 -1
  337. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +29 -17
  338. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  339. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +15 -9
  340. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  341. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +32 -0
  342. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +33 -0
  343. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -0
  344. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  345. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  347. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  349. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +13 -6
  351. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/VideoGallery.js +97 -44
  353. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +11 -0
  355. package/dist/dist-esm/react-components/src/components/VideoTile.js +36 -32
  356. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +4 -10
  358. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/index.d.ts +16 -2
  360. package/dist/dist-esm/react-components/src/components/index.js +11 -1
  361. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  363. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  364. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  365. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
  366. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js +2 -0
  368. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js +0 -2
  370. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.d.ts +38 -0
  372. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js +92 -0
  373. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js.map +1 -0
  374. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  376. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js +2 -0
  377. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
  380. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  382. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +10 -11
  383. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +0 -1
  385. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +3 -11
  388. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
  390. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.d.ts +1 -5
  393. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +0 -12
  394. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.d.ts +22 -0
  397. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js +53 -0
  398. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js.map +1 -0
  399. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +18 -39
  400. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +4 -0
  402. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +6 -0
  403. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +10 -4
  406. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/utils/common.js +6 -0
  408. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js +10 -5
  411. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -7
  413. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +7 -0
  416. package/dist/dist-esm/react-components/src/components/utils/merge.js +16 -0
  417. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -0
  418. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  419. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  421. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  422. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/utils.d.ts +4 -0
  424. package/dist/dist-esm/react-components/src/components/utils.js +21 -11
  425. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +21 -13
  427. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  431. package/dist/dist-esm/react-components/src/index.d.ts +2 -0
  432. package/dist/dist-esm/react-components/src/index.js +2 -0
  433. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +42 -0
  435. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  436. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +56 -2
  438. package/dist/dist-esm/react-components/src/localization/locales/index.js +16 -42
  439. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +61 -0
  441. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +74 -0
  442. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -0
  443. package/dist/dist-esm/react-components/src/permissions/index.d.ts +2 -0
  444. package/dist/dist-esm/react-components/src/permissions/index.js +4 -0
  445. package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -0
  446. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +7 -8
  447. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/theming/icons.d.ts +15 -0
  449. package/dist/dist-esm/react-components/src/theming/icons.js +113 -12
  450. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  451. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
  452. package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
  453. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
  454. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  455. package/dist/dist-esm/react-components/src/theming/themeUtils.js +4 -1
  456. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/theming/themes.js +2 -0
  458. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +7 -0
  460. package/dist/dist-esm/react-components/src/types/ChatMessage.js +2 -0
  461. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  463. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js +2 -0
  464. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  465. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +3 -0
  466. package/dist/dist-esm/react-components/src/types/OnRender.js +2 -0
  467. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +3 -0
  469. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +2 -0
  470. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  471. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +6 -0
  473. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  474. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  475. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +76 -0
  476. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +110 -18
  477. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  478. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +120 -0
  479. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  480. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +52 -6
  481. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +167 -47
  482. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  483. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +51 -1
  484. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +11 -1
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +2 -0
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -0
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +76 -10
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -0
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +136 -13
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +24 -0
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +80 -0
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -0
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.d.ts +2 -0
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js +23 -0
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js.map +1 -1
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.d.ts +28 -0
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js +32 -0
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js.map +1 -0
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.d.ts +2 -0
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js +25 -0
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js.map +1 -1
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +12 -0
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +3 -3
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +35 -23
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +2 -0
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +73 -20
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +16 -21
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +4 -14
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +4 -3
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +17 -0
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +63 -0
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -0
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +41 -4
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +12 -8
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +8 -0
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +3 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +7 -9
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +29 -6
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +16 -0
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +38 -0
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +1 -0
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -0
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +10 -4
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +8 -0
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +139 -12
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +15 -0
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +36 -0
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +1 -0
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +21 -8
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +13 -0
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +26 -0
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +5 -0
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +7 -0
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +13 -6
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +3 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +2 -0
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -2
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +2 -2
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +2 -2
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.d.ts +6 -2
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +11 -10
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -6
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js +2 -0
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +4 -2
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -4
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +3 -4
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js +2 -0
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +23 -3
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js +2 -0
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +9 -1
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +77 -17
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +78 -4
  647. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +77 -18
  648. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +1 -0
  650. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +43 -16
  651. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
  652. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +2 -0
  653. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +36 -14
  654. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  655. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js +11 -7
  658. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js +2 -0
  660. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  661. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +67 -0
  662. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +75 -0
  663. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +1 -0
  664. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js +3 -6
  665. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.d.ts +1 -0
  669. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
  671. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +22 -4
  673. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +140 -11
  674. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +56 -0
  676. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +9 -2
  678. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +36 -1
  679. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +9 -0
  681. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +34 -1
  682. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +4 -2
  684. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  685. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +13 -0
  686. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +65 -0
  687. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +1 -0
  688. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +67 -21
  689. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js +2 -1
  691. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  692. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -0
  693. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +3 -1
  695. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +11 -0
  697. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
  698. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -2
  700. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +2 -13
  701. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  702. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
  703. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +8 -2
  704. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  706. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +41 -9
  708. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  709. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  710. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  711. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  712. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +15 -0
  713. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +21 -0
  714. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -0
  715. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
  716. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +9 -0
  718. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +111 -36
  719. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +28 -0
  721. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +156 -1
  722. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +13 -2
  724. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js +2 -0
  725. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +7 -0
  727. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  728. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  729. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +18 -6
  730. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  731. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js +2 -0
  732. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +6 -6
  735. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +5 -1
  737. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
  740. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
  741. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
  742. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +3 -0
  743. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
  745. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +13 -0
  746. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
  747. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +23 -0
  748. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +12 -0
  749. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -0
  750. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  751. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +5 -1
  753. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -6
  754. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  755. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +22 -0
  756. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +105 -0
  757. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
  758. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
  759. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
  760. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
  761. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +10 -4
  762. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +15 -14
  764. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
  766. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +60 -0
  767. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
  768. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
  769. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
  770. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
  771. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +3 -5
  772. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  773. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +22 -6
  774. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  776. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  777. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +7 -9
  778. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +7 -1
  780. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +26 -7
  781. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +17 -0
  783. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +42 -0
  784. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -0
  785. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +11 -0
  786. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +40 -0
  787. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -0
  788. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +2 -1
  789. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +6 -18
  790. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  791. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -1
  792. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +10 -8
  793. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  794. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  795. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +28 -1
  796. package/dist/dist-esm/react-composites/src/composites/common/icons.js +23 -8
  797. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js +2 -0
  799. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  800. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +5 -16
  801. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -51
  803. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +5 -22
  805. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +6 -22
  807. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  809. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  810. package/dist/dist-esm/react-composites/src/composites/index.js +2 -0
  811. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  813. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  815. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -2
  816. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -2
  817. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -2
  818. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -2
  819. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +2 -0
  820. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -2
  822. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -2
  823. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +2 -2
  824. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -2
  825. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -2
  826. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -2
  827. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -2
  828. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -2
  829. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -2
  830. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  831. package/package.json +12 -12
  832. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js +0 -29
  833. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js.map +0 -1
@@ -1,3 +1,5 @@
1
+ // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT license.
1
3
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
4
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
5
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -7,8 +9,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
9
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
10
  });
9
11
  };
10
- // Copyright (c) Microsoft Corporation.
11
- // Licensed under the MIT license.
12
12
  import { createDefaultCallingHandlers, _isInCall } from "../../../../../calling-component-bindings/src";
13
13
  import { createStatefulCallClient } from "../../../../../calling-stateful-client/src";
14
14
  import { EventEmitter } from 'events';
@@ -20,8 +20,8 @@ import { DiagnosticsForwarder } from './DiagnosticsForwarder';
20
20
  import { useEffect, useRef, useState } from 'react';
21
21
  /** Context of call, which is a centralized context for all state updates */
22
22
  class CallContext {
23
- constructor(clientState, isTeamsCall) {
24
- var _a;
23
+ constructor(clientState, isTeamsCall, options) {
24
+ var _a, _b;
25
25
  this.emitter = new EventEmitter();
26
26
  this.state = {
27
27
  isLocalPreviewMicrophoneEnabled: false,
@@ -31,8 +31,11 @@ class CallContext {
31
31
  call: undefined,
32
32
  page: 'configuration',
33
33
  latestErrors: clientState.latestErrors,
34
- isTeamsCall
34
+ isTeamsCall,
35
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId: clientState.alternateCallerId,
36
+ /* @conditional-compile-remove(rooms) */ roleHint: options === null || options === void 0 ? void 0 : options.roleHint
35
37
  };
38
+ this.emitter.setMaxListeners((_b = options === null || options === void 0 ? void 0 : options.maxListeners) !== null && _b !== void 0 ? _b : 50);
36
39
  }
37
40
  onStateChange(handler) {
38
41
  this.emitter.on('stateChanged', handler);
@@ -49,7 +52,8 @@ class CallContext {
49
52
  }
50
53
  setIsLocalMicrophoneEnabled(isLocalPreviewMicrophoneEnabled) {
51
54
  this.setState(Object.assign(Object.assign({}, this.state), { isLocalPreviewMicrophoneEnabled }));
52
- } // This is the key to find current call object in client state
55
+ }
56
+ // This is the key to find current call object in client state
53
57
  setCurrentCallId(callId) {
54
58
  this.callId = callId;
55
59
  }
@@ -62,14 +66,15 @@ class CallContext {
62
66
  updateClientState(clientState) {
63
67
  var _a;
64
68
  let call = this.callId ? clientState.calls[this.callId] : undefined;
65
- const latestEndedCall = findLatestEndedCall(clientState.callsEnded); // As the state is transitioning to a new state, trigger appropriate callback events.
69
+ const latestEndedCall = findLatestEndedCall(clientState.callsEnded);
70
+ // As the state is transitioning to a new state, trigger appropriate callback events.
66
71
  const oldPage = this.state.page;
67
72
  const newPage = getCallCompositePage(call, latestEndedCall);
68
73
  if (!IsCallEndedPage(oldPage) && IsCallEndedPage(newPage)) {
69
- this.emitter.emit('callEnded', {
70
- callId: this.callId
71
- }); // Reset the callId to undefined as the call has ended.
72
- this.setCurrentCallId(undefined); // Make sure that the call is set to undefined in the state.
74
+ this.emitter.emit('callEnded', { callId: this.callId });
75
+ // Reset the callId to undefined as the call has ended.
76
+ this.setCurrentCallId(undefined);
77
+ // Make sure that the call is set to undefined in the state.
73
78
  call = undefined;
74
79
  }
75
80
  if (this.state.page) {
@@ -95,7 +100,8 @@ const findLatestEndedCall = (calls) => {
95
100
  * @private
96
101
  */
97
102
  export class AzureCommunicationCallAdapter {
98
- constructor(callClient, locator, callAgent, deviceManager) {
103
+ constructor(callClient, locator, callAgent, deviceManager,
104
+ /* @conditional-compile-remove(rooms) */ options) {
99
105
  this.participantSubscribers = new Map();
100
106
  this.emitter = new EventEmitter();
101
107
  this.isMyMutedChanged = () => {
@@ -110,16 +116,18 @@ export class AzureCommunicationCallAdapter {
110
116
  this.callAgent = callAgent;
111
117
  this.locator = locator;
112
118
  this.deviceManager = deviceManager;
113
- const isTeamsMeeting = ('meetingLink' in this.locator);
114
- this.context = new CallContext(callClient.getState(), isTeamsMeeting);
115
- this.context.onCallEnded(endCallData => this.emitter.emit('callEnded', endCallData));
119
+ const isTeamsMeeting = 'meetingLink' in this.locator;
120
+ this.context = new CallContext(callClient.getState(), isTeamsMeeting,
121
+ /* @conditional-compile-remove(rooms) */ options);
122
+ this.context.onCallEnded((endCallData) => this.emitter.emit('callEnded', endCallData));
116
123
  const onStateChange = (clientState) => {
117
124
  var _a;
118
125
  // unsubscribe when the instance gets disposed
119
126
  if (!this) {
120
127
  callClient.offStateChange(onStateChange);
121
128
  return;
122
- } // `updateClientState` searches for the current call from all the calls in the state using a cached `call.id`
129
+ }
130
+ // `updateClientState` searches for the current call from all the calls in the state using a cached `call.id`
123
131
  // from the call object. `call.id` can change during a call. We must update the cached `call.id` before
124
132
  // calling `updateClientState` so that we find the correct state object for the call even when `call.id`
125
133
  // has changed.
@@ -133,7 +141,7 @@ export class AzureCommunicationCallAdapter {
133
141
  this.onClientStateChange = onStateChange;
134
142
  this.subscribeDeviceManagerEvents();
135
143
  this.callClient.onStateChange(onStateChange);
136
- } // TODO: update this to include the 'selectedCameraChanged' when calling adds it to the device manager
144
+ }
137
145
  get call() {
138
146
  return this._call;
139
147
  }
@@ -141,6 +149,7 @@ export class AzureCommunicationCallAdapter {
141
149
  this.resetDiagnosticsForwarder(newCall);
142
150
  this._call = newCall;
143
151
  }
152
+ // TODO: update this to include the 'selectedCameraChanged' when calling adds it to the device manager
144
153
  subscribeDeviceManagerEvents() {
145
154
  this.deviceManager.on('selectedMicrophoneChanged', () => {
146
155
  this.emitter.emit('selectedMicrophoneChanged');
@@ -176,6 +185,14 @@ export class AzureCommunicationCallAdapter {
176
185
  this.on.bind(this);
177
186
  this.off.bind(this);
178
187
  this.processNewCall.bind(this);
188
+ /* @conditional-compile-remove(PSTN-calls) */
189
+ this.addParticipant.bind(this);
190
+ /* @conditional-compile-remove(PSTN-calls) */
191
+ this.holdCall.bind(this);
192
+ /* @conditional-compile-remove(PSTN-calls) */
193
+ this.resumeCall.bind(this);
194
+ /* @conditional-compile-remove(PSTN-calls) */
195
+ this.sendDtmfTone.bind(this);
179
196
  }
180
197
  dispose() {
181
198
  this.resetDiagnosticsForwarder();
@@ -216,25 +233,41 @@ export class AzureCommunicationCallAdapter {
216
233
  throw new Error('You are already in the call!');
217
234
  }
218
235
  return this.teeErrorToEventEmitter(() => {
219
- const audioOptions = {
220
- muted: !(microphoneOn !== null && microphoneOn !== void 0 ? microphoneOn : this.getState().isLocalPreviewMicrophoneEnabled)
221
- }; // TODO: find a way to expose stream to here
222
- const videoOptions = {
223
- localVideoStreams: this.localStream ? [this.localStream] : undefined
224
- };
236
+ const audioOptions = { muted: !(microphoneOn !== null && microphoneOn !== void 0 ? microphoneOn : this.getState().isLocalPreviewMicrophoneEnabled) };
237
+ // TODO: find a way to expose stream to here
238
+ const videoOptions = { localVideoStreams: this.localStream ? [this.localStream] : undefined };
239
+ /* @conditional-compile-remove(teams-adhoc-call) */
240
+ /* @conditional-compile-remove(PSTN-calls) */
241
+ if (isOutboundCall(this.locator)) {
242
+ const phoneNumber = this.getState().alternateCallerId;
243
+ return this.startCall(this.locator.participantIds, {
244
+ alternateCallerId: phoneNumber ? { phoneNumber: phoneNumber } : undefined,
245
+ audioOptions,
246
+ videoOptions
247
+ });
248
+ }
225
249
  const call = this._joinCall(audioOptions, videoOptions);
226
250
  this.processNewCall(call);
227
251
  return call;
228
252
  });
229
253
  }
230
254
  _joinCall(audioOptions, videoOptions) {
231
- const isTeamsMeeting = ('meetingLink' in this.locator);
255
+ const isTeamsMeeting = 'meetingLink' in this.locator;
256
+ /* @conditional-compile-remove(rooms) */
257
+ const isRoomsCall = 'roomId' in this.locator;
232
258
  if (isTeamsMeeting) {
233
259
  return this.callAgent.join(this.locator, {
234
260
  audioOptions,
235
261
  videoOptions
236
262
  });
237
263
  }
264
+ /* @conditional-compile-remove(rooms) */
265
+ if (isRoomsCall) {
266
+ return this.callAgent.join(this.locator, {
267
+ audioOptions,
268
+ videoOptions
269
+ });
270
+ }
238
271
  return this.callAgent.join(this.locator, {
239
272
  audioOptions,
240
273
  videoOptions
@@ -264,7 +297,8 @@ export class AzureCommunicationCallAdapter {
264
297
  return __awaiter(this, void 0, void 0, function* () {
265
298
  yield this.handlers.onHangUp(forEveryone);
266
299
  this.unsubscribeCallEvents();
267
- this.handlers = createDefaultCallingHandlers(this.callClient, this.callAgent, this.deviceManager, undefined); // We set the adapter.call object to undefined immediately when a call is ended.
300
+ this.handlers = createDefaultCallingHandlers(this.callClient, this.callAgent, this.deviceManager, undefined);
301
+ // We set the adapter.call object to undefined immediately when a call is ended.
268
302
  // We do not set the context.callId to undefined because it is a part of the immutable data flow loop.
269
303
  this.call = undefined;
270
304
  this.stopCamera();
@@ -357,7 +391,7 @@ export class AzureCommunicationCallAdapter {
357
391
  if (_isInCall((_b = (_a = this.getState().call) === null || _a === void 0 ? void 0 : _a.state) !== null && _b !== void 0 ? _b : 'None')) {
358
392
  throw new Error('You are already in the call.');
359
393
  }
360
- const idsToAdd = participants.map(participant => {
394
+ const idsToAdd = participants.map((participant) => {
361
395
  // FIXME: `onStartCall` does not allow a Teams user.
362
396
  // Need some way to return an error if a Teams user is provided.
363
397
  const backendId = _toCommunicationIdentifier(participant);
@@ -381,7 +415,8 @@ export class AzureCommunicationCallAdapter {
381
415
  }
382
416
  processNewCall(call) {
383
417
  this.call = call;
384
- this.context.setCurrentCallId(call.id); // Resync state after callId is set
418
+ this.context.setCurrentCallId(call.id);
419
+ // Resync state after callId is set
385
420
  this.context.updateClientState(this.callClient.getState());
386
421
  this.handlers = createDefaultCallingHandlers(this.callClient, this.callAgent, this.deviceManager, this.call);
387
422
  this.subscribeCallEvents();
@@ -389,9 +424,46 @@ export class AzureCommunicationCallAdapter {
389
424
  removeParticipant(userId) {
390
425
  return __awaiter(this, void 0, void 0, function* () {
391
426
  let participant = userId;
427
+ /* @conditional-compile-remove(PSTN-calls) */
428
+ participant = _toCommunicationIdentifier(userId);
392
429
  this.handlers.onRemoveParticipant(participant);
393
430
  });
394
431
  }
432
+ /* @conditional-compile-remove(PSTN-calls) */
433
+ addParticipant(participant, options) {
434
+ return __awaiter(this, void 0, void 0, function* () {
435
+ if (isPhoneNumberIdentifier(participant) && options) {
436
+ this.handlers.onAddParticipant(participant, options);
437
+ }
438
+ else if (isCommunicationUserIdentifier(participant)) {
439
+ this.handlers.onAddParticipant(participant);
440
+ }
441
+ });
442
+ }
443
+ /* @conditional-compile-remove(PSTN-calls) */
444
+ holdCall() {
445
+ var _a;
446
+ return __awaiter(this, void 0, void 0, function* () {
447
+ if (((_a = this.call) === null || _a === void 0 ? void 0 : _a.state) !== 'LocalHold') {
448
+ this.handlers.onToggleHold();
449
+ }
450
+ });
451
+ }
452
+ /* @conditional-compile-remove(PSTN-calls) */
453
+ resumeCall() {
454
+ var _a;
455
+ return __awaiter(this, void 0, void 0, function* () {
456
+ if (((_a = this.call) === null || _a === void 0 ? void 0 : _a.state) === 'LocalHold') {
457
+ this.handlers.onToggleHold();
458
+ }
459
+ });
460
+ }
461
+ /* @conditional-compile-remove(PSTN-calls) */
462
+ sendDtmfTone(dtmfTone) {
463
+ return __awaiter(this, void 0, void 0, function* () {
464
+ this.handlers.onSendDtmfTone(dtmfTone);
465
+ });
466
+ }
395
467
  getState() {
396
468
  return this.context.getState();
397
469
  }
@@ -401,6 +473,7 @@ export class AzureCommunicationCallAdapter {
401
473
  offStateChange(handler) {
402
474
  this.context.offStateChange(handler);
403
475
  }
476
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
404
477
  on(event, listener) {
405
478
  this.emitter.on(event, listener);
406
479
  }
@@ -429,10 +502,10 @@ export class AzureCommunicationCallAdapter {
429
502
  if (removed && removed.length > 0) {
430
503
  this.emitter.emit('participantsLeft', removed);
431
504
  }
432
- added.forEach(participant => {
505
+ added.forEach((participant) => {
433
506
  this.participantSubscribers.set(toFlatCommunicationIdentifier(participant.identifier), new ParticipantSubscriber(participant, this.emitter));
434
507
  });
435
- removed.forEach(participant => {
508
+ removed.forEach((participant) => {
436
509
  const subscriber = this.participantSubscribers.get(toFlatCommunicationIdentifier(participant.identifier));
437
510
  subscriber && subscriber.unsubscribeAll();
438
511
  this.participantSubscribers.delete(toFlatCommunicationIdentifier(participant.identifier));
@@ -440,15 +513,11 @@ export class AzureCommunicationCallAdapter {
440
513
  }
441
514
  isScreenSharingOnChanged() {
442
515
  var _a;
443
- this.emitter.emit('isLocalScreenSharingActiveChanged', {
444
- isScreenSharingOn: (_a = this.call) === null || _a === void 0 ? void 0 : _a.isScreenSharingOn
445
- });
516
+ this.emitter.emit('isLocalScreenSharingActiveChanged', { isScreenSharingOn: (_a = this.call) === null || _a === void 0 ? void 0 : _a.isScreenSharingOn });
446
517
  }
447
518
  callIdChanged() {
448
519
  var _a;
449
- ((_a = this.call) === null || _a === void 0 ? void 0 : _a.id) && this.emitter.emit('callIdChanged', {
450
- callId: this.call.id
451
- });
520
+ ((_a = this.call) === null || _a === void 0 ? void 0 : _a.id) && this.emitter.emit('callIdChanged', { callId: this.call.id });
452
521
  }
453
522
  resetDiagnosticsForwarder(newCall) {
454
523
  if (this.diagnosticsForwarder) {
@@ -458,6 +527,7 @@ export class AzureCommunicationCallAdapter {
458
527
  this.diagnosticsForwarder = new DiagnosticsForwarder(this.emitter, newCall);
459
528
  }
460
529
  }
530
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
461
531
  off(event, listener) {
462
532
  this.emitter.off(event, listener);
463
533
  }
@@ -495,14 +565,18 @@ export class AzureCommunicationCallAdapter {
495
565
  *
496
566
  * @public
497
567
  */
498
- export const createAzureCommunicationCallAdapter = ({ userId, displayName, credential, locator }) => __awaiter(void 0, void 0, void 0, function* () {
568
+ export const createAzureCommunicationCallAdapter = ({ userId, displayName, credential, locator,
569
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,
570
+ /* @conditional-compile-remove(rooms) */ options }) => __awaiter(void 0, void 0, void 0, function* () {
499
571
  const callClient = createStatefulCallClient({
500
- userId
572
+ userId,
573
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId
501
574
  });
502
575
  const callAgent = yield callClient.createCallAgent(credential, {
503
576
  displayName
504
577
  });
505
- const adapter = createAzureCommunicationCallAdapterFromClient(callClient, callAgent, locator);
578
+ const adapter = createAzureCommunicationCallAdapterFromClient(callClient, callAgent, locator,
579
+ /* @conditional-compile-remove(rooms) */ options);
506
580
  return adapter;
507
581
  });
508
582
  /**
@@ -519,12 +593,36 @@ export const createAzureCommunicationCallAdapter = ({ userId, displayName, crede
519
593
  *
520
594
  * @public
521
595
  */
522
- export const useAzureCommunicationCallAdapter = (args, afterCreate, beforeDispose) => {
523
- const { credential, displayName, locator, userId } = args; // State update needed to rerender the parent component when a new adapter is created.
524
- const [adapter, setAdapter] = useState(undefined); // Ref needed for cleanup to access the old adapter created asynchronously.
596
+ export const useAzureCommunicationCallAdapter = (
597
+ /**
598
+ * Arguments to be passed to {@link createAzureCommunicationCallAdapter}.
599
+ *
600
+ * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments
601
+ * as they are created. The adapter is only created when all arguments are defined.
602
+ */
603
+ args,
604
+ /**
605
+ * Optional callback to modify the adapter once it is created.
606
+ *
607
+ * If set, must return the modified adapter.
608
+ */
609
+ afterCreate,
610
+ /**
611
+ * Optional callback called before the adapter is disposed.
612
+ *
613
+ * This is useful for clean up tasks, e.g., leaving any ongoing calls.
614
+ */
615
+ beforeDispose) => {
616
+ const { credential, displayName, locator, userId,
617
+ /*@conditional-compile-remove(PSTN-calls) */ alternateCallerId,
618
+ /*@conditional-compile-remove(rooms) */ options } = args;
619
+ // State update needed to rerender the parent component when a new adapter is created.
620
+ const [adapter, setAdapter] = useState(undefined);
621
+ // Ref needed for cleanup to access the old adapter created asynchronously.
525
622
  const adapterRef = useRef(undefined);
526
623
  const afterCreateRef = useRef(undefined);
527
- const beforeDisposeRef = useRef(undefined); // These refs are updated on *each* render, so that the latest values
624
+ const beforeDisposeRef = useRef(undefined);
625
+ // These refs are updated on *each* render, so that the latest values
528
626
  // are used in the `useEffect` closures below.
529
627
  // Using a Ref ensures that new values for the callbacks do not trigger the
530
628
  // useEffect blocks, and a new adapter creation / distruction is not triggered.
@@ -551,7 +649,9 @@ export const useAzureCommunicationCallAdapter = (args, afterCreate, beforeDispos
551
649
  credential,
552
650
  displayName,
553
651
  locator,
554
- userId
652
+ userId,
653
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,
654
+ /* @conditional-compile-remove(rooms) */ options
555
655
  });
556
656
  if (afterCreateRef.current) {
557
657
  newAdapter = yield afterCreateRef.current(newAdapter);
@@ -559,8 +659,20 @@ export const useAzureCommunicationCallAdapter = (args, afterCreate, beforeDispos
559
659
  adapterRef.current = newAdapter;
560
660
  setAdapter(newAdapter);
561
661
  }))();
562
- }, // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.
563
- [adapterRef, afterCreateRef, beforeDisposeRef, credential, displayName, locator, userId]); // Dispose any existing adapter when the component unmounts.
662
+ },
663
+ // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.
664
+ [
665
+ adapterRef,
666
+ afterCreateRef,
667
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,
668
+ beforeDisposeRef,
669
+ credential,
670
+ displayName,
671
+ locator,
672
+ userId,
673
+ /* @conditional-compile-remove(PSTN-calls) */ options
674
+ ]);
675
+ // Dispose any existing adapter when the component unmounts.
564
676
  useEffect(() => {
565
677
  return () => {
566
678
  (() => __awaiter(void 0, void 0, void 0, function* () {
@@ -584,11 +696,19 @@ export const useAzureCommunicationCallAdapter = (args, afterCreate, beforeDispos
584
696
  *
585
697
  * @public
586
698
  */
587
- export const createAzureCommunicationCallAdapterFromClient = (callClient, callAgent, locator) => __awaiter(void 0, void 0, void 0, function* () {
588
- const deviceManager = yield callClient.getDeviceManager();
699
+ export const createAzureCommunicationCallAdapterFromClient = (callClient, callAgent, locator,
700
+ /* @conditional-compile-remove(rooms) */ options) => __awaiter(void 0, void 0, void 0, function* () {
701
+ const deviceManager = (yield callClient.getDeviceManager());
702
+ /* @conditional-compile-remove(rooms) */
703
+ return new AzureCommunicationCallAdapter(callClient, locator, callAgent, deviceManager, options);
589
704
  return new AzureCommunicationCallAdapter(callClient, locator, callAgent, deviceManager);
590
705
  });
591
706
  const isCallError = (e) => {
592
707
  return e['target'] !== undefined && e['innerError'] !== undefined;
593
708
  };
709
+ /* @conditional-compile-remove(teams-adhoc-call) */
710
+ /* @conditional-compile-remove(PSTN-calls) */
711
+ const isOutboundCall = (callLocator) => {
712
+ return 'participantIds' in callLocator;
713
+ };
594
714
  //# sourceMappingURL=AzureCommunicationCallAdapter.js.map
@@ -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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"}
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 {\n CallingHandlers,\n createDefaultCallingHandlers,\n _isInCall,\n _isInLobbyOrConnecting\n} from '@internal/calling-component-bindings';\nimport {\n CallClientState,\n CallError,\n CallState,\n createStatefulCallClient,\n StatefulCallClient,\n StatefulDeviceManager\n} from '@internal/calling-stateful-client';\nimport {\n AudioOptions,\n CallAgent,\n Call,\n GroupCallLocator,\n TeamsMeetingLinkLocator,\n LocalVideoStream as SDKLocalVideoStream,\n AudioDeviceInfo,\n VideoDeviceInfo,\n RemoteParticipant,\n PermissionConstraints,\n PropertyChangedEvent,\n StartCallOptions,\n VideoOptions\n} from '@azure/communication-calling';\n/* @conditional-compile-remove(rooms) */\nimport { RoomCallLocator } from '@azure/communication-calling';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions, DtmfTone } from '@azure/communication-calling';\nimport { EventEmitter } from 'events';\nimport {\n CallAdapter,\n CallEndedListener,\n CallIdChangedListener,\n CallAdapterState,\n DisplayNameChangedListener,\n IsMutedChangedListener,\n IsLocalScreenSharingActiveChangedListener,\n IsSpeakingChangedListener,\n ParticipantsJoinedListener,\n ParticipantsLeftListener,\n DiagnosticChangedEventListner,\n CallAdapterCallEndedEvent\n} from './CallAdapter';\nimport { getCallCompositePage, IsCallEndedPage, isCameraOn } from '../utils';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\n/* @conditional-compile-remove(rooms) */\nimport { Role } from '@internal/react-components';\nimport { toFlatCommunicationIdentifier, _toCommunicationIdentifier } from '@internal/acs-ui-common';\nimport {\n CommunicationTokenCredential,\n CommunicationUserIdentifier,\n isCommunicationUserIdentifier,\n isPhoneNumberIdentifier,\n UnknownIdentifier,\n PhoneNumberIdentifier,\n CommunicationIdentifier\n} from '@azure/communication-common';\nimport { ParticipantSubscriber } from './ParticipantSubcriber';\nimport { AdapterError } from '../../common/adapters';\nimport { DiagnosticsForwarder } from './DiagnosticsForwarder';\nimport { useEffect, useRef, useState } from 'react';\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\n constructor(\n clientState: CallClientState,\n isTeamsCall: boolean,\n options?: { maxListeners?: number; /* @conditional-compile-remove(rooms) */ roleHint?: Role }\n ) {\n this.state = {\n isLocalPreviewMicrophoneEnabled: false,\n userId: clientState.userId,\n displayName: clientState.callAgent?.displayName,\n devices: clientState.deviceManager,\n call: undefined,\n page: 'configuration',\n latestErrors: clientState.latestErrors,\n isTeamsCall,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId: clientState.alternateCallerId,\n /* @conditional-compile-remove(rooms) */ roleHint: options?.roleHint\n };\n this.emitter.setMaxListeners(options?.maxListeners ?? 50);\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 = 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 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 = findLatestEndedCall(clientState.callsEnded);\n\n // As the state is transitioning to a new state, trigger appropriate callback events.\n const oldPage = this.state.page;\n const newPage = getCallCompositePage(call, latestEndedCall);\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 });\n }\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/**\n * @private\n */\nexport class AzureCommunicationCallAdapter implements CallAdapter {\n private callClient: StatefulCallClient;\n private callAgent: CallAgent;\n private deviceManager: StatefulDeviceManager;\n private localStream: SDKLocalVideoStream | undefined;\n private locator: CallAdapterLocator;\n // Never use directly, even internally. Use `call` property instead.\n private _call?: Call;\n private context: CallContext;\n private diagnosticsForwarder?: DiagnosticsForwarder;\n private handlers: CallingHandlers;\n private participantSubscribers = new Map<string, ParticipantSubscriber>();\n private emitter: EventEmitter = new EventEmitter();\n private onClientStateChange: (clientState: CallClientState) => void;\n\n private get call(): Call | undefined {\n return this._call;\n }\n\n private set call(newCall: Call | undefined) {\n this.resetDiagnosticsForwarder(newCall);\n this._call = newCall;\n }\n\n constructor(\n callClient: StatefulCallClient,\n locator: CallAdapterLocator,\n callAgent: CallAgent,\n deviceManager: StatefulDeviceManager,\n /* @conditional-compile-remove(rooms) */ options?: { /* @conditional-compile-remove(rooms) */ roleHint?: Role }\n ) {\n this.bindPublicMethods();\n this.callClient = callClient;\n this.callAgent = callAgent;\n this.locator = locator;\n this.deviceManager = deviceManager;\n const isTeamsMeeting = 'meetingLink' in this.locator;\n this.context = new CallContext(\n callClient.getState(),\n isTeamsMeeting,\n /* @conditional-compile-remove(rooms) */ options\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 this.context.updateClientState(clientState);\n };\n\n this.handlers = createDefaultCallingHandlers(callClient, callAgent, deviceManager, undefined);\n\n this.onClientStateChange = onStateChange;\n\n this.subscribeDeviceManagerEvents();\n\n this.callClient.onStateChange(onStateChange);\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.removeParticipant.bind(this);\n this.createStreamView.bind(this);\n this.disposeStreamView.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) */\n this.sendDtmfTone.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 return await this.asyncTeeErrorToEventEmitter(async () => {\n return this.deviceManager.getCameras();\n });\n }\n\n public async queryMicrophones(): Promise<AudioDeviceInfo[]> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n return this.deviceManager.getMicrophones();\n });\n }\n\n public async querySpeakers(): Promise<AudioDeviceInfo[]> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n return this.deviceManager.isSpeakerSelectionAvailable ? this.deviceManager.getSpeakers() : [];\n });\n }\n\n public async askDevicePermission(constrain: PermissionConstraints): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n await this.deviceManager.askDevicePermission(constrain);\n });\n }\n\n public joinCall(microphoneOn?: boolean): Call | undefined {\n if (_isInCall(this.getState().call?.state ?? 'None')) {\n throw new Error('You are already in the call!');\n }\n\n return this.teeErrorToEventEmitter(() => {\n const audioOptions: AudioOptions = { muted: !(microphoneOn ?? this.getState().isLocalPreviewMicrophoneEnabled) };\n // TODO: find a way to expose stream to here\n const videoOptions = { localVideoStreams: this.localStream ? [this.localStream] : undefined };\n /* @conditional-compile-remove(teams-adhoc-call) */\n /* @conditional-compile-remove(PSTN-calls) */\n if (isOutboundCall(this.locator)) {\n const phoneNumber = this.getState().alternateCallerId;\n return this.startCall(this.locator.participantIds, {\n alternateCallerId: phoneNumber ? { phoneNumber: phoneNumber } : undefined,\n audioOptions,\n videoOptions\n });\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): Call {\n const isTeamsMeeting = 'meetingLink' in this.locator;\n /* @conditional-compile-remove(rooms) */\n const isRoomsCall = 'roomId' in this.locator;\n\n if (isTeamsMeeting) {\n return this.callAgent.join(this.locator as TeamsMeetingLinkLocator, {\n audioOptions,\n videoOptions\n });\n }\n /* @conditional-compile-remove(rooms) */\n if (isRoomsCall) {\n return this.callAgent.join(this.locator as RoomCallLocator, {\n audioOptions,\n videoOptions\n });\n }\n return this.callAgent.join(this.locator as GroupCallLocator, {\n audioOptions,\n videoOptions\n });\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 leaveCall(forEveryone?: boolean): Promise<void> {\n await this.handlers.onHangUp(forEveryone);\n this.unsubscribeCallEvents();\n this.handlers = createDefaultCallingHandlers(this.callClient, this.callAgent, this.deviceManager, undefined);\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 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) && 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 startCall(\n participants:\n | string[]\n /* @conditional-compile-remove(PSTN-calls) */\n | CommunicationIdentifier[],\n options?: StartCallOptions\n ): Call | undefined {\n if (_isInCall(this.getState().call?.state ?? 'None')) {\n throw new Error('You are already in the call.');\n }\n\n const idsToAdd = participants.map((participant) => {\n // FIXME: `onStartCall` does not allow a Teams user.\n // Need some way to return an error if a Teams user is provided.\n const backendId: CommunicationIdentifier = _toCommunicationIdentifier(participant);\n if (isPhoneNumberIdentifier(backendId)) {\n if (options?.alternateCallerId === undefined) {\n throw new Error('Unable to start call, PSTN user present with no alternateCallerId.');\n }\n return backendId as PhoneNumberIdentifier;\n } else if (isCommunicationUserIdentifier(backendId)) {\n return backendId as CommunicationUserIdentifier;\n }\n return backendId as UnknownIdentifier;\n });\n\n const call = this.handlers.onStartCall(idsToAdd, options);\n if (!call) {\n throw new Error('Unable to start call.');\n }\n this.processNewCall(call);\n\n return this.call;\n }\n\n private processNewCall(call: Call): 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 = createDefaultCallingHandlers(this.callClient, this.callAgent, this.deviceManager, this.call);\n this.subscribeCallEvents();\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 this.handlers.onToggleHold();\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();\n }\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async sendDtmfTone(dtmfTone: DtmfTone): Promise<void> {\n this.handlers.onSendDtmfTone(dtmfTone);\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\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 private subscribeCallEvents(): void {\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 }\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 }\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', added);\n }\n if (removed && removed.length > 0) {\n this.emitter.emit('participantsLeft', 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 private callIdChanged(): void {\n this.call?.id && this.emitter.emit('callIdChanged', { callId: this.call.id });\n }\n\n private resetDiagnosticsForwarder(newCall?: Call): 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\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/* @conditional-compile-remove(rooms) */\n/**\n * Optional parameters to create {@link AzureCommunicationCallAdapter}\n *\n * @beta\n */\nexport type AzureCommunicationCallAdapterOptions = {\n /**\n * Use this to hint the role of the user when the role is not available before a Rooms call is started. This value\n * should be obtained using the Rooms API. This role will determine permissions in the configuration page of the\n * {@link CallComposite}. The true role of the user will be synced with ACS services when a Rooms call starts.\n */\n roleHint?: Role;\n};\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 alternateCallerId?: string;\n /* @conditional-compile-remove(rooms) */\n /**\n * Optional parameters for the {@link AzureCommunicationCallAdapter} created\n */\n options?: AzureCommunicationCallAdapterOptions;\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 const createAzureCommunicationCallAdapter = async ({\n userId,\n displayName,\n credential,\n locator,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n /* @conditional-compile-remove(rooms) */ options\n}: AzureCommunicationCallAdapterArgs): Promise<CallAdapter> => {\n const callClient = createStatefulCallClient({\n userId,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId\n });\n const callAgent = await callClient.createCallAgent(credential, {\n displayName\n });\n const adapter = createAzureCommunicationCallAdapterFromClient(\n callClient,\n callAgent,\n locator,\n /* @conditional-compile-remove(rooms) */ options\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>,\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 const {\n credential,\n displayName,\n locator,\n userId,\n /*@conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n /*@conditional-compile-remove(rooms) */ options\n } = args;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<CallAdapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<CallAdapter | undefined>(undefined);\n\n const afterCreateRef = useRef<((adapter: CallAdapter) => Promise<CallAdapter>) | undefined>(undefined);\n const beforeDisposeRef = useRef<((adapter: CallAdapter) => 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 || !displayName || !locator || !userId) {\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\n let newAdapter = await createAzureCommunicationCallAdapter({\n credential,\n displayName,\n locator,\n userId,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n /* @conditional-compile-remove(rooms) */ options\n });\n if (afterCreateRef.current) {\n newAdapter = await afterCreateRef.current(newAdapter);\n }\n adapterRef.current = newAdapter;\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 /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n beforeDisposeRef,\n credential,\n displayName,\n locator,\n userId,\n /* @conditional-compile-remove(PSTN-calls) */ options\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 * 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 const createAzureCommunicationCallAdapterFromClient: (\n callClient: StatefulCallClient,\n callAgent: CallAgent,\n locator: CallAdapterLocator,\n /* @conditional-compile-remove(rooms) */ options?: { roleHint?: Role }\n) => Promise<CallAdapter> = async (\n callClient: StatefulCallClient,\n callAgent: CallAgent,\n locator: CallAdapterLocator,\n /* @conditional-compile-remove(rooms) */ options?: { /* @conditional-compile-remove(rooms) */ roleHint?: Role }\n): Promise<CallAdapter> => {\n const deviceManager = (await callClient.getDeviceManager()) as StatefulDeviceManager;\n /* @conditional-compile-remove(rooms) */\n return new AzureCommunicationCallAdapter(callClient, locator, callAgent, deviceManager, options);\n return new AzureCommunicationCallAdapter(callClient, locator, callAgent, deviceManager);\n};\n\nconst isCallError = (e: Error): e is CallError => {\n return e['target'] !== undefined && e['innerError'] !== undefined;\n};\n\n/* @conditional-compile-remove(teams-adhoc-call) */\n/* @conditional-compile-remove(PSTN-calls) */\nconst isOutboundCall = (callLocator: CallAdapterLocator): callLocator is CallParticipantsLocator => {\n return 'participantIds' in callLocator;\n};\n\"../../../../../calling-component-bindings/src\"\"../../../../../calling-stateful-client/src\"\"../../../../../react-components/src\"\"../../../../../acs-ui-common/src\""]}