@azure/communication-react 1.5.0 → 1.5.2-alpha-202301190014.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (839) hide show
  1. package/dist/communication-react.d.ts +1975 -28
  2. package/dist/dist-cjs/communication-react/index.js +12525 -8218
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/identifier.js +3 -64
  11. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +11 -1
  21. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +12 -0
  22. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +13 -0
  24. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +20 -5
  25. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +20 -49
  27. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +11 -1
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +35 -31
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +11 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +13 -1
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +43 -0
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +81 -0
  37. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -0
  38. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +4 -1
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +22 -0
  42. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +6 -0
  45. package/dist/dist-esm/calling-component-bindings/src/index.js +8 -0
  46. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +31 -10
  48. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  50. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +4 -3
  51. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +6 -3
  53. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +14 -2
  55. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +20 -1
  56. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +14 -0
  60. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +25 -4
  61. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +5 -0
  63. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +11 -0
  64. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  65. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +25 -9
  66. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  67. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +21 -5
  68. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  69. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +6 -5
  70. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +15 -1
  72. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +2 -1
  74. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +62 -67
  75. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +27 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +7 -1
  79. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +56 -4
  80. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +7 -8
  82. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +56 -64
  84. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  88. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +9 -3
  89. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/Converter.js +13 -8
  91. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +51 -57
  93. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +14 -16
  95. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  97. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +3 -15
  98. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  100. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +1 -0
  101. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +8 -0
  102. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +1 -0
  105. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +8 -0
  106. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +25 -1
  108. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +69 -40
  109. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +3 -13
  111. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +19 -0
  113. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +89 -0
  114. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -0
  115. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +23 -0
  116. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +48 -0
  117. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -0
  118. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  120. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +8 -0
  121. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  122. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  123. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  124. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +6 -7
  125. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  126. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +2 -0
  127. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  128. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  129. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  130. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  131. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  132. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +13 -14
  134. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +4 -1
  136. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +3 -10
  137. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  139. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  140. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  142. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +41 -10
  143. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  144. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  145. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  146. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  147. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  148. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +3 -7
  149. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  150. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +3 -1
  151. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  152. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  153. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  155. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +5 -9
  156. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  157. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +7 -12
  159. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  161. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +57 -67
  162. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  163. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +113 -127
  164. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  165. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  166. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  167. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  168. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  169. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  170. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  171. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  172. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  173. package/dist/dist-esm/communication-react/src/index.d.ts +21 -0
  174. package/dist/dist-esm/communication-react/src/index.js +14 -0
  175. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  176. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  177. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  178. package/dist/dist-esm/react-components/src/components/CameraButton.js +6 -6
  179. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  180. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
  181. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +36 -17
  183. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +8 -4
  185. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +24 -30
  187. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +55 -24
  189. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +7 -11
  191. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  193. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +7 -4
  195. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  197. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/components/ControlBar.js +10 -14
  202. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  203. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  204. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +3 -14
  206. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  207. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
  208. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +37 -0
  209. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
  210. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
  211. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +58 -0
  212. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
  213. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +5 -8
  214. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  215. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +105 -0
  216. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +86 -0
  217. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -0
  218. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +86 -0
  219. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +31 -0
  220. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -0
  221. package/dist/dist-esm/react-components/src/components/DevicesButton.js +7 -30
  222. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  223. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +42 -44
  224. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.d.ts +1 -0
  226. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +18 -2
  227. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  229. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.d.ts +4 -0
  231. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +6 -6
  232. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  234. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.d.ts +4 -0
  236. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +3 -3
  237. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/EndCallButton.js +3 -7
  240. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/ErrorBar.js +2 -5
  242. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/FileCard.js +2 -3
  244. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  246. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +12 -9
  248. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +8 -7
  250. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  252. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  254. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  255. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
  256. package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
  257. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
  258. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +5 -7
  259. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +5 -12
  261. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  263. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +27 -9
  265. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +23 -36
  267. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +23 -1
  269. package/dist/dist-esm/react-components/src/components/MessageThread.js +157 -97
  270. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +9 -6
  272. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +94 -101
  274. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +13 -0
  276. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +22 -21
  277. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/ParticipantList.js +25 -9
  279. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  280. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +46 -32
  281. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  282. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  283. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  285. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +2 -1
  287. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +68 -12
  288. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  290. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -12
  292. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +35 -0
  294. package/dist/dist-esm/react-components/src/components/SendBox.js +32 -8
  295. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  297. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  299. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  300. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  302. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  304. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +9 -6
  306. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +1 -1
  308. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +12 -1
  309. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +13 -1
  311. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +20 -0
  313. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.d.ts +1 -1
  315. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +12 -1
  316. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +31 -12
  318. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +11 -14
  320. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +39 -20
  322. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.d.ts +4 -0
  324. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  326. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  327. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  328. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +9 -0
  330. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +18 -0
  331. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -0
  332. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js +2 -7
  333. package/dist/dist-esm/react-components/src/components/VideoGallery/VideoGalleryResponsiveHorizontalGallery.js.map +1 -1
  334. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +1 -6
  335. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  336. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +8 -29
  337. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +2 -11
  339. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.d.ts +6 -0
  341. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js +9 -0
  342. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -0
  343. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.d.ts +10 -0
  347. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +29 -0
  348. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -0
  349. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -10
  350. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +10 -5
  352. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +2 -0
  354. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +31 -30
  355. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +7 -16
  357. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +55 -26
  358. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  359. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +66 -0
  360. package/dist/dist-esm/react-components/src/components/VideoGallery.js +140 -20
  361. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +22 -1
  363. package/dist/dist-esm/react-components/src/components/VideoTile.js +98 -46
  364. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +3 -10
  366. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/index.d.ts +13 -0
  368. package/dist/dist-esm/react-components/src/components/index.js +8 -0
  369. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  371. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  372. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  373. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
  374. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  376. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
  382. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  383. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +2 -7
  385. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +0 -1
  387. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
  390. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +38 -0
  392. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +92 -0
  393. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -0
  394. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
  395. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +2 -2
  398. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  399. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +26 -0
  401. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +67 -0
  402. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -0
  403. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +2 -13
  404. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/utils/common.js +4 -0
  409. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  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 +2 -5
  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.d.ts +1 -0
  421. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +15 -2
  422. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  423. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  424. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  425. package/dist/dist-esm/react-components/src/components/utils.js +9 -8
  426. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  427. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +14 -10
  428. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  429. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  431. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/index.d.ts +2 -0
  433. package/dist/dist-esm/react-components/src/index.js +2 -0
  434. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +54 -0
  436. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  437. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  438. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +6 -96
  439. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +5 -95
  440. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +1 -2
  441. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +5 -95
  442. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +6 -96
  443. package/dist/dist-esm/react-components/src/localization/locales/index.js +14 -42
  444. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  445. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +5 -95
  446. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +5 -95
  447. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +5 -95
  448. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +5 -95
  449. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +6 -96
  450. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +5 -95
  451. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +6 -96
  452. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +5 -95
  453. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +5 -95
  454. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +61 -0
  455. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +74 -0
  456. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -0
  457. package/dist/dist-esm/react-components/src/permissions/index.d.ts +2 -0
  458. package/dist/dist-esm/react-components/src/permissions/index.js +4 -0
  459. package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -0
  460. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +3 -6
  461. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/theming/icons.d.ts +20 -0
  463. package/dist/dist-esm/react-components/src/theming/icons.js +121 -11
  464. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  465. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
  466. package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
  467. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
  468. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  469. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  471. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +7 -0
  472. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  473. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  474. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +8 -0
  476. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.d.ts +3 -0
  478. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +2 -0
  479. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  480. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +8 -0
  482. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +2 -0
  483. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  484. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +89 -0
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +95 -17
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +120 -0
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +77 -6
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +248 -31
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +107 -1
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +9 -1
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +3 -2
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +8 -2
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +5 -0
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +2 -0
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -0
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +76 -10
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -0
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +135 -13
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +24 -0
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +80 -0
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -0
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +48 -0
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +210 -0
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -0
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +2 -0
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +21 -0
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +20 -2
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +2 -0
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +21 -0
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +12 -0
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +2 -2
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +32 -22
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +66 -19
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +16 -21
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +2 -0
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +25 -17
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +17 -0
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +63 -0
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -0
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +44 -5
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +8 -6
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +8 -0
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +3 -1
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +13 -9
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +27 -6
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +16 -0
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +38 -0
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +1 -0
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +7 -0
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +2 -0
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +8 -2
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +8 -0
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +140 -12
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  585. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +15 -0
  586. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +38 -0
  587. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
  588. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +1 -0
  589. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +19 -7
  590. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  592. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  593. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +15 -0
  594. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +54 -0
  595. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  596. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  597. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  599. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +10 -0
  600. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +10 -0
  601. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  602. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  603. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  604. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  607. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  608. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  610. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +11 -5
  611. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  612. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  613. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  615. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  616. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  617. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  618. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  619. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  620. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  623. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  624. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  625. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  626. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  627. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  628. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  629. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  630. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  631. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  632. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  633. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +2 -6
  634. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -6
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +2 -0
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +1 -4
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +1 -4
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +23 -3
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +9 -11
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +15 -3
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +106 -12
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  661. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +87 -4
  662. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +78 -14
  663. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  664. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +1 -0
  665. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +41 -15
  666. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +2 -0
  668. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +34 -12
  669. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js +1 -1
  671. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js +9 -7
  673. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +67 -0
  676. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +75 -0
  677. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +1 -0
  678. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js +3 -6
  679. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js +1 -1
  681. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +1 -1
  682. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.d.ts +1 -0
  683. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +1 -1
  684. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
  685. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  686. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +25 -4
  687. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +139 -7
  688. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  689. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +60 -0
  690. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +10 -2
  692. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +39 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +9 -0
  695. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +31 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +13 -0
  699. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +65 -0
  700. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +1 -0
  701. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +67 -21
  702. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
  703. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -0
  705. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  706. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  707. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  708. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +22 -0
  709. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
  710. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  711. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
  713. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +6 -2
  714. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  716. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +41 -9
  718. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  720. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  721. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  722. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +15 -0
  723. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +21 -0
  724. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -0
  725. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
  726. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +9 -0
  728. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +88 -25
  729. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +28 -0
  731. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +154 -1
  732. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +13 -2
  734. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +2 -0
  736. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +18 -6
  739. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  742. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +3 -5
  743. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +3 -1
  745. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
  748. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
  749. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
  750. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +3 -0
  751. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
  753. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +13 -0
  754. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
  755. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +23 -0
  756. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +12 -0
  757. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -0
  758. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  759. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +5 -1
  761. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -6
  762. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +22 -0
  764. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +105 -0
  765. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
  766. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
  767. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
  768. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
  769. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +5 -0
  770. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +10 -4
  771. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +5 -14
  773. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
  775. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +60 -0
  776. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
  777. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
  778. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
  779. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
  780. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +1 -5
  781. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +21 -6
  785. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  787. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +6 -8
  789. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  790. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +6 -1
  791. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +24 -5
  792. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  793. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +17 -0
  794. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +42 -0
  795. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -0
  796. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +11 -0
  797. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +40 -0
  798. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -0
  799. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +2 -1
  800. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +6 -18
  801. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -1
  803. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +10 -8
  804. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  805. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +33 -1
  807. package/dist/dist-esm/react-composites/src/composites/common/icons.js +19 -5
  808. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  809. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  810. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +6 -16
  811. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -51
  813. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +5 -22
  815. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  816. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +4 -22
  817. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  819. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  821. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  822. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +3 -17
  825. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +3 -17
  826. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +3 -17
  827. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +3 -17
  828. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  829. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +3 -17
  830. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +3 -17
  831. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +3 -17
  832. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +3 -17
  833. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +3 -17
  834. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +3 -17
  835. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +3 -17
  836. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +3 -17
  837. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +3 -17
  838. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  839. package/package.json +15 -14
@@ -13,9 +13,12 @@ import { createAzureCommunicationCallAdapter } from '../../CallComposite';
13
13
  import { callWithChatAdapterStateFromBackingStates, mergeCallAdapterStateIntoCallWithChatAdapterState, mergeChatAdapterStateIntoCallWithChatAdapterState } from '../state/CallWithChatAdapterState';
14
14
  import { createAzureCommunicationChatAdapter, createAzureCommunicationChatAdapterFromClient } from '../../ChatComposite/adapter/AzureCommunicationChatAdapter';
15
15
  import { EventEmitter } from 'events';
16
+ /* @conditional-compile-remove(PSTN-calls) */
17
+ import { isCommunicationUserIdentifier } from '@azure/communication-common';
16
18
  import { getChatThreadFromTeamsLink } from './parseTeamsUrl';
17
19
  import { createAzureCommunicationCallAdapterFromClient } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';
18
20
  import { useEffect, useRef, useState } from 'react';
21
+ import { _toCommunicationIdentifier } from "../../../../../acs-ui-common/src";
19
22
  /** Context of Call with Chat, which is a centralized context for all state updates */
20
23
  class CallWithChatContext {
21
24
  constructor(clientState, maxListeners = 50) {
@@ -52,6 +55,34 @@ class CallWithChatContext {
52
55
  */
53
56
  export class AzureCommunicationCallWithChatAdapter {
54
57
  constructor(callAdapter, chatAdapter) {
58
+ /* @conditional-compile-remove(file-sharing) */
59
+ this.registerActiveFileUploads = (files) => {
60
+ return this.chatAdapter.registerActiveFileUploads(files);
61
+ };
62
+ /* @conditional-compile-remove(file-sharing) */
63
+ this.registerCompletedFileUploads = (metadata) => {
64
+ return this.chatAdapter.registerCompletedFileUploads(metadata);
65
+ };
66
+ /* @conditional-compile-remove(file-sharing) */
67
+ this.clearFileUploads = () => {
68
+ this.chatAdapter.clearFileUploads();
69
+ };
70
+ /* @conditional-compile-remove(file-sharing) */
71
+ this.cancelFileUpload = (id) => {
72
+ this.chatAdapter.cancelFileUpload(id);
73
+ };
74
+ /* @conditional-compile-remove(file-sharing) */
75
+ this.updateFileUploadProgress = (id, progress) => {
76
+ this.chatAdapter.updateFileUploadProgress(id, progress);
77
+ };
78
+ /* @conditional-compile-remove(file-sharing) */
79
+ this.updateFileUploadErrorMessage = (id, errorMessage) => {
80
+ this.chatAdapter.updateFileUploadErrorMessage(id, errorMessage);
81
+ };
82
+ /* @conditional-compile-remove(file-sharing) */
83
+ this.updateFileUploadMetadata = (id, metadata) => {
84
+ this.chatAdapter.updateFileUploadMetadata(id, metadata);
85
+ };
55
86
  this.bindPublicMethods();
56
87
  this.callAdapter = callAdapter;
57
88
  this.chatAdapter = chatAdapter;
@@ -100,6 +131,30 @@ export class AzureCommunicationCallWithChatAdapter {
100
131
  this.deleteMessage.bind(this);
101
132
  this.on.bind(this);
102
133
  this.off.bind(this);
134
+ /* @conditional-compile-remove(file-sharing) */
135
+ this.registerActiveFileUploads = this.registerActiveFileUploads.bind(this);
136
+ /* @conditional-compile-remove(file-sharing) */
137
+ this.registerCompletedFileUploads = this.registerCompletedFileUploads.bind(this);
138
+ /* @conditional-compile-remove(file-sharing) */
139
+ this.clearFileUploads = this.clearFileUploads.bind(this);
140
+ /* @conditional-compile-remove(file-sharing) */
141
+ this.cancelFileUpload = this.cancelFileUpload.bind(this);
142
+ /* @conditional-compile-remove(file-sharing) */
143
+ this.updateFileUploadProgress = this.updateFileUploadProgress.bind(this);
144
+ /* @conditional-compile-remove(file-sharing) */
145
+ this.updateFileUploadErrorMessage = this.updateFileUploadErrorMessage.bind(this);
146
+ /* @conditional-compile-remove(file-sharing) */
147
+ this.updateFileUploadMetadata = this.updateFileUploadMetadata.bind(this);
148
+ /* @conditional-compile-remove(PSTN-calls) */
149
+ this.holdCall.bind(this);
150
+ /* @conditional-compile-remove(PSTN-calls) */
151
+ this.resumeCall.bind(this);
152
+ /* @conditional-compile-remove(PSTN-calls) */
153
+ this.addParticipant.bind(this);
154
+ /* @conditional-compile-remove(PSTN-calls) */
155
+ this.sendDtmfTone.bind(this);
156
+ /* @conditional-compile-remove(unsupported-browser) */
157
+ this.allowUnsupportedBrowserVersion.bind(this);
103
158
  }
104
159
  /** Join existing Call. */
105
160
  joinCall(microphoneOn) {
@@ -115,6 +170,8 @@ export class AzureCommunicationCallWithChatAdapter {
115
170
  /** Start a new Call. */
116
171
  startCall(participants, options) {
117
172
  let communicationParticipants = participants;
173
+ /* @conditional-compile-remove(PSTN-calls) */
174
+ communicationParticipants = participants.map(_toCommunicationIdentifier);
118
175
  return this.callAdapter.startCall(communicationParticipants, options);
119
176
  }
120
177
  /**
@@ -146,6 +203,8 @@ export class AzureCommunicationCallWithChatAdapter {
146
203
  removeParticipant(userId) {
147
204
  return __awaiter(this, void 0, void 0, function* () {
148
205
  let participant = userId;
206
+ /* @conditional-compile-remove(PSTN-calls) */
207
+ participant = _toCommunicationIdentifier(userId);
149
208
  yield this.callAdapter.removeParticipant(participant);
150
209
  });
151
210
  }
@@ -279,6 +338,39 @@ export class AzureCommunicationCallWithChatAdapter {
279
338
  return yield this.chatAdapter.deleteMessage(messageId);
280
339
  });
281
340
  }
341
+ /* @conditional-compile-remove(PSTN-calls) */
342
+ holdCall() {
343
+ return __awaiter(this, void 0, void 0, function* () {
344
+ return yield this.callAdapter.holdCall();
345
+ });
346
+ }
347
+ /* @conditional-compile-remove(PSTN-calls) */
348
+ resumeCall() {
349
+ return __awaiter(this, void 0, void 0, function* () {
350
+ return yield this.callAdapter.resumeCall();
351
+ });
352
+ }
353
+ /* @conditional-compile-remove(PSTN-calls) */
354
+ addParticipant(participant, options) {
355
+ return __awaiter(this, void 0, void 0, function* () {
356
+ if (isCommunicationUserIdentifier(participant)) {
357
+ return yield this.callAdapter.addParticipant(participant);
358
+ }
359
+ else {
360
+ return yield this.callAdapter.addParticipant(participant, options);
361
+ }
362
+ });
363
+ }
364
+ /* @conditional-compile-remove(PSTN-calls) */
365
+ sendDtmfTone(dtmfTone) {
366
+ return __awaiter(this, void 0, void 0, function* () {
367
+ return yield this.callAdapter.sendDtmfTone(dtmfTone);
368
+ });
369
+ }
370
+ /* @conditional-compile-remove(unsupported-browser) */
371
+ allowUnsupportedBrowserVersion() {
372
+ return this.callAdapter.allowUnsupportedBrowserVersion();
373
+ }
282
374
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
283
375
  on(event, listener) {
284
376
  switch (event) {
@@ -402,15 +494,21 @@ export class AzureCommunicationCallWithChatAdapter {
402
494
  *
403
495
  * @public
404
496
  */
405
- export const createAzureCommunicationCallWithChatAdapter = ({ userId, displayName, credential, endpoint, locator }) => __awaiter(void 0, void 0, void 0, function* () {
497
+ export const createAzureCommunicationCallWithChatAdapter = ({ userId, displayName, credential, endpoint, locator,
498
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,
499
+ /* @conditional-compile-remove(unsupported-browser) */ callAdapterOptions }) => __awaiter(void 0, void 0, void 0, function* () {
406
500
  const callAdapterLocator = isTeamsMeetingLinkLocator(locator) ? locator : locator.callLocator;
407
501
  const createCallAdapterPromise = createAzureCommunicationCallAdapter({
408
502
  userId,
409
503
  displayName,
410
504
  credential,
411
- locator: callAdapterLocator
505
+ locator: callAdapterLocator,
506
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,
507
+ /* @conditional-compile-remove(unsupported-browser) */ options: callAdapterOptions
412
508
  });
413
- const threadId = isTeamsMeetingLinkLocator(locator) ? getChatThreadFromTeamsLink(locator.meetingLink) : locator.chatThreadId;
509
+ const threadId = isTeamsMeetingLinkLocator(locator)
510
+ ? getChatThreadFromTeamsLink(locator.meetingLink)
511
+ : locator.chatThreadId;
414
512
  const createChatAdapterPromise = createAzureCommunicationChatAdapter({
415
513
  endpoint,
416
514
  userId,
@@ -435,8 +533,29 @@ export const createAzureCommunicationCallWithChatAdapter = ({ userId, displayNam
435
533
  *
436
534
  * @public
437
535
  */
438
- export const useAzureCommunicationCallWithChatAdapter = (args, afterCreate, beforeDispose) => {
439
- const { credential, displayName, endpoint, locator, userId } = args;
536
+ export const useAzureCommunicationCallWithChatAdapter = (
537
+ /**
538
+ * Arguments to be passed to {@link createAzureCommunicationCallWithChatAdapter}.
539
+ *
540
+ * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments
541
+ * as they are created. The adapter is only created when all arguments are defined.
542
+ */
543
+ args,
544
+ /**
545
+ * Optional callback to modify the adapter once it is created.
546
+ *
547
+ * If set, must return the modified adapter.
548
+ */
549
+ afterCreate,
550
+ /**
551
+ * Optional callback called before the adapter is disposed.
552
+ *
553
+ * This is useful for clean up tasks, e.g., leaving any ongoing calls.
554
+ */
555
+ beforeDispose) => {
556
+ const { credential, displayName, endpoint, locator, userId,
557
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,
558
+ /* @conditional-compile-remove(unsupported-browser) */ callAdapterOptions } = args;
440
559
  // State update needed to rerender the parent component when a new adapter is created.
441
560
  const [adapter, setAdapter] = useState(undefined);
442
561
  // Ref needed for cleanup to access the old adapter created asynchronously.
@@ -471,7 +590,9 @@ export const useAzureCommunicationCallWithChatAdapter = (args, afterCreate, befo
471
590
  displayName,
472
591
  endpoint,
473
592
  locator,
474
- userId
593
+ userId,
594
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,
595
+ /* @conditional-compile-remove(unsupported-browser) */ callAdapterOptions
475
596
  });
476
597
  if (afterCreateRef.current) {
477
598
  newAdapter = yield afterCreateRef.current(newAdapter);
@@ -481,7 +602,18 @@ export const useAzureCommunicationCallWithChatAdapter = (args, afterCreate, befo
481
602
  }))();
482
603
  },
483
604
  // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.
484
- [adapterRef, afterCreateRef, beforeDisposeRef, credential, displayName, endpoint, locator, userId]);
605
+ [
606
+ adapterRef,
607
+ afterCreateRef,
608
+ /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,
609
+ beforeDisposeRef,
610
+ credential,
611
+ displayName,
612
+ endpoint,
613
+ locator,
614
+ userId,
615
+ /* @conditional-compile-remove(unsupported-browser) */ callAdapterOptions
616
+ ]);
485
617
  // Dispose any existing adapter when the component unmounts.
486
618
  useEffect(() => {
487
619
  return () => {
@@ -1 +1 @@
1
- {"version":3,"file":"AzureCommunicationCallWithChatAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* eslint-disable @typescript-eslint/no-unused-vars */ // REMOVE ONCE THIS FILE IS IMPLEMENTED\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ // REMOVE ONCE THIS FILE IS IMPLEMENTED\n\nimport { AudioDeviceInfo, Call, CallAgent, GroupCallLocator, PermissionConstraints, PropertyChangedEvent, TeamsMeetingLinkLocator, StartCallOptions, VideoDeviceInfo } from '@azure/communication-calling';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { ParticipantsJoinedListener, ParticipantsLeftListener, IsMutedChangedListener, CallIdChangedListener, IsLocalScreenSharingActiveChangedListener, DisplayNameChangedListener, IsSpeakingChangedListener, CallAdapter, CallAdapterState, createAzureCommunicationCallAdapter, CallEndedListener } from '../../CallComposite';\nimport { MessageReceivedListener, MessageReadListener, ChatAdapter, ChatAdapterState, ParticipantsRemovedListener, ParticipantsAddedListener } from '../../ChatComposite';\nimport { CallWithChatAdapter, CallWithChatEvent } from './CallWithChatAdapter';\nimport { callWithChatAdapterStateFromBackingStates, CallWithChatAdapterState, mergeCallAdapterStateIntoCallWithChatAdapterState, mergeChatAdapterStateIntoCallWithChatAdapterState } from '../state/CallWithChatAdapterState';\nimport { createAzureCommunicationChatAdapter, createAzureCommunicationChatAdapterFromClient } from '../../ChatComposite/adapter/AzureCommunicationChatAdapter';\nimport { EventEmitter } from 'events';\nimport { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';\nimport { getChatThreadFromTeamsLink } from './parseTeamsUrl';\nimport { AdapterError } from '../../common/adapters';\nimport { CallAdapterLocator, createAzureCommunicationCallAdapterFromClient } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\nimport { StatefulCallClient } from '@internal/calling-stateful-client';\nimport { StatefulChatClient } from '@internal/chat-stateful-client';\nimport { ChatThreadClient } from '@azure/communication-chat';\nimport { useEffect, useRef, useState } from 'react';\nimport { _toCommunicationIdentifier } from '@internal/acs-ui-common';\ntype CallWithChatAdapterStateChangedHandler = (newState: CallWithChatAdapterState) => void;\n\n/** Context of Call with Chat, which is a centralized context for all state updates */\nclass CallWithChatContext {\n private emitter = new EventEmitter();\n private state: CallWithChatAdapterState;\n constructor(clientState: CallWithChatAdapterState, maxListeners = 50) {\n this.state = clientState;\n this.emitter.setMaxListeners(maxListeners);\n }\n public onStateChange(handler: CallWithChatAdapterStateChangedHandler): void {\n this.emitter.on('stateChanged', handler);\n }\n public offStateChange(handler: CallWithChatAdapterStateChangedHandler): void {\n this.emitter.off('stateChanged', handler);\n }\n public setState(state: CallWithChatAdapterState): void {\n this.state = state;\n this.emitter.emit('stateChanged', this.state);\n }\n public getState(): CallWithChatAdapterState {\n return this.state;\n }\n public updateClientState(clientState: CallWithChatAdapterState): void {\n this.setState(clientState);\n }\n public updateClientStateWithChatState(chatAdapterState: ChatAdapterState): void {\n this.updateClientState(mergeChatAdapterStateIntoCallWithChatAdapterState(this.state, chatAdapterState));\n }\n public updateClientStateWithCallState(callAdapterState: CallAdapterState): void {\n this.updateClientState(mergeCallAdapterStateIntoCallWithChatAdapterState(this.state, callAdapterState));\n }\n}\n\n/**\n * CallWithChat adapter backed by Azure Communication Services.\n * Created for easy use with the {@link CallWithChatComposite}.\n */\nexport class AzureCommunicationCallWithChatAdapter implements CallWithChatAdapter {\n private callAdapter: CallAdapter;\n private chatAdapter: ChatAdapter;\n private context: CallWithChatContext;\n private onChatStateChange: (newChatAdapterState: ChatAdapterState) => void;\n private onCallStateChange: (newChatAdapterState: CallAdapterState) => void;\n constructor(callAdapter: CallAdapter, chatAdapter: ChatAdapter) {\n this.bindPublicMethods();\n this.callAdapter = callAdapter;\n this.chatAdapter = chatAdapter;\n this.context = new CallWithChatContext(callWithChatAdapterStateFromBackingStates(callAdapter, chatAdapter));\n const onChatStateChange = (newChatAdapterState: ChatAdapterState): void => {\n this.context.updateClientStateWithChatState(newChatAdapterState);\n };\n this.chatAdapter.onStateChange(onChatStateChange);\n this.onChatStateChange = onChatStateChange;\n const onCallStateChange = (newCallAdapterState: CallAdapterState): void => {\n this.context.updateClientStateWithCallState(newCallAdapterState);\n };\n this.callAdapter.onStateChange(onCallStateChange);\n this.onCallStateChange = onCallStateChange;\n }\n private bindPublicMethods(): void {\n this.joinCall.bind(this);\n this.leaveCall.bind(this);\n this.startCall.bind(this);\n this.onStateChange.bind(this);\n this.offStateChange.bind(this);\n this.getState.bind(this);\n this.dispose.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.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.fetchInitialData.bind(this);\n this.sendMessage.bind(this);\n this.sendReadReceipt.bind(this);\n this.sendTypingIndicator.bind(this);\n this.loadPreviousChatMessages.bind(this);\n this.updateMessage.bind(this);\n this.deleteMessage.bind(this);\n this.on.bind(this);\n this.off.bind(this);\n }\n\n /** Join existing Call. */\n public joinCall(microphoneOn?: boolean): Call | undefined {\n return this.callAdapter.joinCall(microphoneOn);\n }\n /** Leave current Call. */\n public async leaveCall(forEveryone?: boolean): Promise<void> {\n // Only remove self from the GroupCall. Contoso must manage access to Chat.\n await this.callAdapter.leaveCall(forEveryone);\n }\n /** Start a new Call. */\n public startCall(participants: string[], options?: StartCallOptions): Call | undefined {\n let communicationParticipants = participants;\n return this.callAdapter.startCall(communicationParticipants, options);\n }\n /**\n * Subscribe to state change events.\n * @param handler - handler to be called when the state changes. This is passed the new state.\n */\n public onStateChange(handler: (state: CallWithChatAdapterState) => void): void {\n this.context.onStateChange(handler);\n }\n /**\n * Unsubscribe to state change events.\n * @param handler - handler to be no longer called when state changes.\n */\n public offStateChange(handler: (state: CallWithChatAdapterState) => void): void {\n this.context.offStateChange(handler);\n }\n /** Get current Call and Chat state. */\n public getState(): CallWithChatAdapterState {\n return this.context.getState();\n }\n /** Dispose of the current CallWithChatAdapter. */\n public dispose(): void {\n this.chatAdapter.offStateChange(this.onChatStateChange);\n this.callAdapter.offStateChange(this.onCallStateChange);\n this.chatAdapter.dispose();\n this.callAdapter.dispose();\n }\n /** Remove a participant from the Call only. */\n public async removeParticipant(userId: string): Promise<void> {\n let participant = userId;\n await this.callAdapter.removeParticipant(participant);\n }\n public async setCamera(device: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.setCamera(device, options);\n }\n /** Set the microphone to be used in the Call. */\n public async setMicrophone(device: AudioDeviceInfo): Promise<void> {\n await this.callAdapter.setMicrophone(device);\n }\n /** Set the speaker to be used in the Call. */\n public async setSpeaker(device: AudioDeviceInfo): Promise<void> {\n await this.callAdapter.setSpeaker(device);\n }\n public async askDevicePermission(constraints: PermissionConstraints): Promise<void> {\n await this.callAdapter.askDevicePermission(constraints);\n }\n /** Query for available cameras. */\n public async queryCameras(): Promise<VideoDeviceInfo[]> {\n return await this.callAdapter.queryCameras();\n }\n /** Query for available microphones. */\n public async queryMicrophones(): Promise<AudioDeviceInfo[]> {\n return await this.callAdapter.queryMicrophones();\n }\n /** Query for available speakers. */\n public async querySpeakers(): Promise<AudioDeviceInfo[]> {\n return await this.callAdapter.querySpeakers();\n }\n /** Start the camera for the user in the Call. */\n public async startCamera(options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.startCamera(options);\n }\n /** Stop the camera for the user in the Call. */\n public async stopCamera(): Promise<void> {\n await this.callAdapter.stopCamera();\n }\n /** Mute the user in the Call. */\n public async mute(): Promise<void> {\n await this.callAdapter.mute();\n }\n /** Unmute the user in the Call. */\n public async unmute(): Promise<void> {\n await this.callAdapter.unmute();\n }\n /** Trigger the user to start screen share. */\n public async startScreenShare(): Promise<void> {\n await this.callAdapter.startScreenShare();\n }\n /** Stop the current active screen share. */\n public async stopScreenShare(): Promise<void> {\n await this.callAdapter.stopScreenShare();\n }\n /** Create a stream view for a remote participants video feed. */\n public async createStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void | CreateVideoStreamViewResult> {\n return await this.callAdapter.createStreamView(remoteUserId, options);\n }\n /** Dispose of a created stream view of a remote participants video feed. */\n public async disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.disposeStreamView(remoteUserId, options);\n }\n /** Fetch initial Call and Chat data such as chat messages. */\n public async fetchInitialData(): Promise<void> {\n await this.chatAdapter.fetchInitialData();\n }\n /** Send a chat message. */\n public async sendMessage(content: string): Promise<void> {\n await this.chatAdapter.sendMessage(content);\n }\n /** Send a chat read receipt. */\n public async sendReadReceipt(chatMessageId: string): Promise<void> {\n await this.chatAdapter.sendReadReceipt(chatMessageId);\n }\n /** Send an isTyping indicator. */\n public async sendTypingIndicator(): Promise<void> {\n await this.chatAdapter.sendTypingIndicator();\n }\n /** Load previous Chat messages. */\n public async loadPreviousChatMessages(messagesToLoad: number): Promise<boolean> {\n return await this.chatAdapter.loadPreviousChatMessages(messagesToLoad);\n }\n /** Update an existing message. */\n public async updateMessage(messageId: string, content: string, metadata?: Record<string, string>): Promise<void> {\n return await this.chatAdapter.updateMessage(messageId, content, metadata);\n }\n /** Delete an existing message. */\n public async deleteMessage(messageId: string): Promise<void> {\n return await this.chatAdapter.deleteMessage(messageId);\n }\n on(event: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n on(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n on(event: 'callEnded', listener: CallEndedListener): void;\n on(event: 'callError', listener: (e: AdapterError) => void): 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: 'messageReceived', listener: MessageReceivedListener): void;\n on(event: 'messageSent', listener: MessageReceivedListener): void;\n on(event: 'messageRead', listener: MessageReadListener): void;\n on(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n on(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n on(event: 'chatError', listener: (e: AdapterError) => void): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n on(event: CallWithChatEvent, listener: any): void {\n switch (event) {\n case 'callParticipantsJoined':\n this.callAdapter.on('participantsJoined', listener);\n break;\n case 'callParticipantsLeft':\n this.callAdapter.on('participantsLeft', listener);\n break;\n case 'callEnded':\n this.callAdapter.on('callEnded', listener);\n break;\n case 'isMutedChanged':\n this.callAdapter.on('isMutedChanged', listener);\n break;\n case 'callIdChanged':\n this.callAdapter.on('callIdChanged', listener);\n break;\n case 'isLocalScreenSharingActiveChanged':\n this.callAdapter.on('isLocalScreenSharingActiveChanged', listener);\n break;\n case 'displayNameChanged':\n this.callAdapter.on('displayNameChanged', listener);\n break;\n case 'isSpeakingChanged':\n this.callAdapter.on('isSpeakingChanged', listener);\n break;\n case 'selectedMicrophoneChanged':\n this.callAdapter.on('selectedMicrophoneChanged', listener);\n break;\n case 'selectedSpeakerChanged':\n this.callAdapter.on('selectedSpeakerChanged', listener);\n break;\n case 'messageReceived':\n this.chatAdapter.on('messageReceived', listener);\n break;\n case 'messageSent':\n this.chatAdapter.on('messageSent', listener);\n break;\n case 'messageRead':\n this.chatAdapter.on('messageRead', listener);\n break;\n case 'chatParticipantsAdded':\n this.chatAdapter.on('participantsAdded', listener);\n break;\n case 'chatParticipantsRemoved':\n this.chatAdapter.on('participantsRemoved', listener);\n break;\n case 'callError':\n this.callAdapter.on('error', listener);\n break;\n case 'chatError':\n this.chatAdapter.on('error', listener);\n break;\n default:\n throw `Unknown AzureCommunicationCallWithChatAdapter Event: ${event}`;\n }\n }\n off(event: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n off(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n off(event: 'callEnded', listener: CallEndedListener): void;\n off(event: 'callError', listener: (e: AdapterError) => void): 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: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n off(event: 'messageSent', listener: MessageReceivedListener): void;\n off(event: 'messageRead', listener: MessageReadListener): void;\n off(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n off(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n off(event: 'chatError', listener: (e: AdapterError) => void): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n off(event: CallWithChatEvent, listener: any): void {\n switch (event) {\n case 'callParticipantsJoined':\n this.callAdapter.off('participantsJoined', listener);\n break;\n case 'callParticipantsLeft':\n this.callAdapter.off('participantsLeft', listener);\n break;\n case 'callEnded':\n this.callAdapter.off('callEnded', listener);\n break;\n case 'isMutedChanged':\n this.callAdapter.off('isMutedChanged', listener);\n break;\n case 'callIdChanged':\n this.callAdapter.off('callIdChanged', listener);\n break;\n case 'isLocalScreenSharingActiveChanged':\n this.callAdapter.off('isLocalScreenSharingActiveChanged', listener);\n break;\n case 'displayNameChanged':\n this.callAdapter.off('displayNameChanged', listener);\n break;\n case 'isSpeakingChanged':\n this.callAdapter.off('isSpeakingChanged', listener);\n break;\n case 'selectedMicrophoneChanged':\n this.callAdapter.off('selectedMicrophoneChanged', listener);\n break;\n case 'selectedSpeakerChanged':\n this.callAdapter.off('selectedSpeakerChanged', listener);\n break;\n case 'messageReceived':\n this.chatAdapter.off('messageReceived', listener);\n break;\n case 'messageSent':\n this.chatAdapter.off('messageSent', listener);\n break;\n case 'messageRead':\n this.chatAdapter.off('messageRead', listener);\n break;\n case 'chatParticipantsAdded':\n this.chatAdapter.off('participantsAdded', listener);\n break;\n case 'chatParticipantsRemoved':\n this.chatAdapter.off('participantsRemoved', listener);\n break;\n case 'callError':\n this.callAdapter.off('error', listener);\n break;\n case 'chatError':\n this.chatAdapter.off('error', listener);\n break;\n default:\n throw `Unknown AzureCommunicationCallWithChatAdapter Event: ${event}`;\n }\n }\n}\n\n/**\n * Arguments for use in {@link createAzureCommunicationCallWithChatAdapter} to join a Call with an associated Chat thread.\n *\n * @public\n */\nexport interface CallAndChatLocator {\n /** Locator used by {@link createAzureCommunicationCallWithChatAdapter} to locate the call to join */\n callLocator: GroupCallLocator;\n /** Chat thread ID used by {@link createAzureCommunicationCallWithChatAdapter} to locate the chat thread to join */\n chatThreadId: string;\n}\n\n/**\n * Arguments for {@link createAzureCommunicationCallWithChatAdapter}\n *\n * @public\n */\nexport type AzureCommunicationCallWithChatAdapterArgs = {\n endpoint: string;\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAndChatLocator | TeamsMeetingLinkLocator;\n};\n\n/**\n * Create a CallWithChatAdapter backed by Azure Communication services\n * to plug into the {@link CallWithChatComposite}.\n *\n * @public\n */\nexport const createAzureCommunicationCallWithChatAdapter = async ({\n userId,\n displayName,\n credential,\n endpoint,\n locator\n}: AzureCommunicationCallWithChatAdapterArgs): Promise<CallWithChatAdapter> => {\n const callAdapterLocator = isTeamsMeetingLinkLocator(locator) ? locator : locator.callLocator;\n const createCallAdapterPromise = createAzureCommunicationCallAdapter({\n userId,\n displayName,\n credential,\n locator: callAdapterLocator\n });\n const threadId = isTeamsMeetingLinkLocator(locator) ? getChatThreadFromTeamsLink(locator.meetingLink) : locator.chatThreadId;\n const createChatAdapterPromise = createAzureCommunicationChatAdapter({\n endpoint,\n userId,\n displayName,\n credential,\n threadId\n });\n const [callAdapter, chatAdapter] = await Promise.all([createCallAdapterPromise, createChatAdapterPromise]);\n return new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);\n};\n\n/**\n * A custom React hook to simplify the creation of {@link CallWithChatAdapter}.\n *\n * Similar to {@link createAzureCommunicationCallWithChatAdapter}, 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 useAzureCommunicationCallWithChatAdapter = (args: Partial<AzureCommunicationCallWithChatAdapterArgs>, afterCreate?: (adapter: CallWithChatAdapter) => Promise<CallWithChatAdapter>, beforeDispose?: (adapter: CallWithChatAdapter) => Promise<void>): CallWithChatAdapter | undefined => {\n const {\n credential,\n displayName,\n endpoint,\n locator,\n userId\n } = args;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<CallWithChatAdapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<CallWithChatAdapter | undefined>(undefined);\n const afterCreateRef = useRef<((adapter: CallWithChatAdapter) => Promise<CallWithChatAdapter>) | undefined>(undefined);\n const beforeDisposeRef = useRef<((adapter: CallWithChatAdapter) => Promise<void>) | undefined>(undefined);\n // These refs are updated on *each* render, so that the latest values\n // are used in the `useEffect` closures below.\n // Using a Ref ensures that new values for the callbacks do not trigger the\n // useEffect blocks, and a new adapter creation / distruction is not triggered.\n afterCreateRef.current = afterCreate;\n beforeDisposeRef.current = beforeDispose;\n useEffect(() => {\n if (!credential || !displayName || !endpoint || !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 let newAdapter = await createAzureCommunicationCallWithChatAdapter({\n credential,\n displayName,\n endpoint,\n locator,\n userId\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 [adapterRef, afterCreateRef, beforeDisposeRef, credential, displayName, endpoint, locator, userId]);\n\n // Dispose any existing adapter when the component unmounts.\n useEffect(() => {\n return () => {\n (async () => {\n if (adapterRef.current) {\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n })();\n };\n }, []);\n return adapter;\n};\n\n/**\n * Arguments for {@link createAzureCommunicationCallWithChatAdapterFromClient}\n *\n * @public\n */\nexport type AzureCommunicationCallWithChatAdapterFromClientArgs = {\n callLocator: CallAdapterLocator | TeamsMeetingLinkLocator;\n callAgent: CallAgent;\n callClient: StatefulCallClient;\n chatClient: StatefulChatClient;\n chatThreadClient: ChatThreadClient;\n};\n\n/**\n * Create a {@link CallWithChatAdapter} using the provided {@link StatefulChatClient} and {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulChatClient} and {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallWithChatAdapter} for a simpler API.\n *\n * @public\n */\nexport const createAzureCommunicationCallWithChatAdapterFromClients = async ({\n callClient,\n callAgent,\n callLocator,\n chatClient,\n chatThreadClient\n}: AzureCommunicationCallWithChatAdapterFromClientArgs): Promise<CallWithChatAdapter> => {\n const createCallAdapterPromise = createAzureCommunicationCallAdapterFromClient(callClient, callAgent, callLocator);\n const createChatAdapterPromise = createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);\n const [callAdapter, chatAdapter] = await Promise.all([createCallAdapterPromise, createChatAdapterPromise]);\n return new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);\n};\n\n/**\n * Create a {@link CallWithChatAdapter} from the underlying adapters.\n *\n * This is an internal factory function used by browser tests to inject fake adapters for call and chat.\n *\n * @internal\n */\nexport const _createAzureCommunicationCallWithChatAdapterFromAdapters = (callAdapter: CallAdapter, chatAdapter: ChatAdapter): CallWithChatAdapter => new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);\nconst isTeamsMeetingLinkLocator = (locator: CallAndChatLocator | TeamsMeetingLinkLocator): locator is TeamsMeetingLinkLocator => {\n return 'meetingLink' in locator;\n};\"../../../../../react-components/src\"\"../../../../../calling-stateful-client/src\"\"../../../../../chat-stateful-client/src\"\"../../../../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"AzureCommunicationCallWithChatAdapter.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* eslint-disable @typescript-eslint/no-unused-vars */ // REMOVE ONCE THIS FILE IS IMPLEMENTED\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ // REMOVE ONCE THIS FILE IS IMPLEMENTED\n\nimport {\n AudioDeviceInfo,\n Call,\n CallAgent,\n GroupCallLocator,\n PermissionConstraints,\n PropertyChangedEvent,\n TeamsMeetingLinkLocator,\n StartCallOptions,\n VideoDeviceInfo\n} from '@azure/communication-calling';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions, DtmfTone } from '@azure/communication-calling';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileMetadata } from '@internal/react-components';\nimport {\n ParticipantsJoinedListener,\n ParticipantsLeftListener,\n IsMutedChangedListener,\n CallIdChangedListener,\n IsLocalScreenSharingActiveChangedListener,\n DisplayNameChangedListener,\n IsSpeakingChangedListener,\n CallAdapter,\n CallAdapterState,\n createAzureCommunicationCallAdapter,\n CallEndedListener\n} from '../../CallComposite';\nimport {\n MessageReceivedListener,\n MessageReadListener,\n ChatAdapter,\n ChatAdapterState,\n ParticipantsRemovedListener,\n ParticipantsAddedListener\n} from '../../ChatComposite';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileUploadManager } from '../../ChatComposite';\nimport { CallWithChatAdapter, CallWithChatEvent } from './CallWithChatAdapter';\nimport {\n callWithChatAdapterStateFromBackingStates,\n CallWithChatAdapterState,\n mergeCallAdapterStateIntoCallWithChatAdapterState,\n mergeChatAdapterStateIntoCallWithChatAdapterState\n} from '../state/CallWithChatAdapterState';\nimport {\n createAzureCommunicationChatAdapter,\n createAzureCommunicationChatAdapterFromClient\n} from '../../ChatComposite/adapter/AzureCommunicationChatAdapter';\nimport { EventEmitter } from 'events';\nimport { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(PSTN-calls) */\nimport {\n CommunicationIdentifier,\n isCommunicationUserIdentifier,\n PhoneNumberIdentifier\n} from '@azure/communication-common';\nimport { getChatThreadFromTeamsLink } from './parseTeamsUrl';\nimport { AdapterError } from '../../common/adapters';\n\n/* @conditional-compile-remove(teams-adhoc-call) */\nimport { CallParticipantsLocator } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\n\nimport {\n CallAdapterLocator,\n createAzureCommunicationCallAdapterFromClient\n} from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\nimport { StatefulCallClient } from '@internal/calling-stateful-client';\nimport { StatefulChatClient } from '@internal/chat-stateful-client';\nimport { ChatThreadClient } from '@azure/communication-chat';\nimport { useEffect, useRef, useState } from 'react';\nimport { _toCommunicationIdentifier } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { AzureCommunicationCallAdapterOptions } from '../../CallComposite/adapter/AzureCommunicationCallAdapter';\n\ntype CallWithChatAdapterStateChangedHandler = (newState: CallWithChatAdapterState) => void;\n\n/** Context of Call with Chat, which is a centralized context for all state updates */\nclass CallWithChatContext {\n private emitter = new EventEmitter();\n private state: CallWithChatAdapterState;\n\n constructor(clientState: CallWithChatAdapterState, maxListeners = 50) {\n this.state = clientState;\n this.emitter.setMaxListeners(maxListeners);\n }\n\n public onStateChange(handler: CallWithChatAdapterStateChangedHandler): void {\n this.emitter.on('stateChanged', handler);\n }\n\n public offStateChange(handler: CallWithChatAdapterStateChangedHandler): void {\n this.emitter.off('stateChanged', handler);\n }\n\n public setState(state: CallWithChatAdapterState): void {\n this.state = state;\n this.emitter.emit('stateChanged', this.state);\n }\n\n public getState(): CallWithChatAdapterState {\n return this.state;\n }\n\n public updateClientState(clientState: CallWithChatAdapterState): void {\n this.setState(clientState);\n }\n\n public updateClientStateWithChatState(chatAdapterState: ChatAdapterState): void {\n this.updateClientState(mergeChatAdapterStateIntoCallWithChatAdapterState(this.state, chatAdapterState));\n }\n\n public updateClientStateWithCallState(callAdapterState: CallAdapterState): void {\n this.updateClientState(mergeCallAdapterStateIntoCallWithChatAdapterState(this.state, callAdapterState));\n }\n}\n\n/**\n * CallWithChat adapter backed by Azure Communication Services.\n * Created for easy use with the {@link CallWithChatComposite}.\n */\nexport class AzureCommunicationCallWithChatAdapter implements CallWithChatAdapter {\n private callAdapter: CallAdapter;\n private chatAdapter: ChatAdapter;\n private context: CallWithChatContext;\n private onChatStateChange: (newChatAdapterState: ChatAdapterState) => void;\n private onCallStateChange: (newChatAdapterState: CallAdapterState) => void;\n\n constructor(callAdapter: CallAdapter, chatAdapter: ChatAdapter) {\n this.bindPublicMethods();\n this.callAdapter = callAdapter;\n this.chatAdapter = chatAdapter;\n this.context = new CallWithChatContext(callWithChatAdapterStateFromBackingStates(callAdapter, chatAdapter));\n\n const onChatStateChange = (newChatAdapterState: ChatAdapterState): void => {\n this.context.updateClientStateWithChatState(newChatAdapterState);\n };\n this.chatAdapter.onStateChange(onChatStateChange);\n this.onChatStateChange = onChatStateChange;\n\n const onCallStateChange = (newCallAdapterState: CallAdapterState): void => {\n this.context.updateClientStateWithCallState(newCallAdapterState);\n };\n this.callAdapter.onStateChange(onCallStateChange);\n this.onCallStateChange = onCallStateChange;\n }\n\n private bindPublicMethods(): void {\n this.joinCall.bind(this);\n this.leaveCall.bind(this);\n this.startCall.bind(this);\n this.onStateChange.bind(this);\n this.offStateChange.bind(this);\n this.getState.bind(this);\n this.dispose.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.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.fetchInitialData.bind(this);\n this.sendMessage.bind(this);\n this.sendReadReceipt.bind(this);\n this.sendTypingIndicator.bind(this);\n this.loadPreviousChatMessages.bind(this);\n this.updateMessage.bind(this);\n this.deleteMessage.bind(this);\n this.on.bind(this);\n this.off.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.registerActiveFileUploads = this.registerActiveFileUploads.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.registerCompletedFileUploads = this.registerCompletedFileUploads.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.clearFileUploads = this.clearFileUploads.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.cancelFileUpload = this.cancelFileUpload.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.updateFileUploadProgress = this.updateFileUploadProgress.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.updateFileUploadErrorMessage = this.updateFileUploadErrorMessage.bind(this);\n /* @conditional-compile-remove(file-sharing) */\n this.updateFileUploadMetadata = this.updateFileUploadMetadata.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.addParticipant.bind(this);\n /* @conditional-compile-remove(PSTN-calls) */\n this.sendDtmfTone.bind(this);\n /* @conditional-compile-remove(unsupported-browser) */\n this.allowUnsupportedBrowserVersion.bind(this);\n }\n\n /** Join existing Call. */\n public joinCall(microphoneOn?: boolean): Call | undefined {\n return this.callAdapter.joinCall(microphoneOn);\n }\n /** Leave current Call. */\n public async leaveCall(forEveryone?: boolean): Promise<void> {\n // Only remove self from the GroupCall. Contoso must manage access to Chat.\n await this.callAdapter.leaveCall(forEveryone);\n }\n /** Start a new Call. */\n public startCall(\n participants: string[] | /* @conditional-compile-remove(PSTN-calls) */ CommunicationIdentifier[],\n options?: StartCallOptions\n ): Call | undefined {\n let communicationParticipants = participants;\n /* @conditional-compile-remove(PSTN-calls) */\n communicationParticipants = participants.map(_toCommunicationIdentifier);\n return this.callAdapter.startCall(communicationParticipants, options);\n }\n /**\n * Subscribe to state change events.\n * @param handler - handler to be called when the state changes. This is passed the new state.\n */\n public onStateChange(handler: (state: CallWithChatAdapterState) => void): void {\n this.context.onStateChange(handler);\n }\n /**\n * Unsubscribe to state change events.\n * @param handler - handler to be no longer called when state changes.\n */\n public offStateChange(handler: (state: CallWithChatAdapterState) => void): void {\n this.context.offStateChange(handler);\n }\n /** Get current Call and Chat state. */\n public getState(): CallWithChatAdapterState {\n return this.context.getState();\n }\n /** Dispose of the current CallWithChatAdapter. */\n public dispose(): void {\n this.chatAdapter.offStateChange(this.onChatStateChange);\n this.callAdapter.offStateChange(this.onCallStateChange);\n\n this.chatAdapter.dispose();\n this.callAdapter.dispose();\n }\n /** Remove a participant from the Call only. */\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 await this.callAdapter.removeParticipant(participant);\n }\n public async setCamera(device: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.setCamera(device, options);\n }\n /** Set the microphone to be used in the Call. */\n public async setMicrophone(device: AudioDeviceInfo): Promise<void> {\n await this.callAdapter.setMicrophone(device);\n }\n /** Set the speaker to be used in the Call. */\n public async setSpeaker(device: AudioDeviceInfo): Promise<void> {\n await this.callAdapter.setSpeaker(device);\n }\n public async askDevicePermission(constraints: PermissionConstraints): Promise<void> {\n await this.callAdapter.askDevicePermission(constraints);\n }\n /** Query for available cameras. */\n public async queryCameras(): Promise<VideoDeviceInfo[]> {\n return await this.callAdapter.queryCameras();\n }\n /** Query for available microphones. */\n public async queryMicrophones(): Promise<AudioDeviceInfo[]> {\n return await this.callAdapter.queryMicrophones();\n }\n /** Query for available speakers. */\n public async querySpeakers(): Promise<AudioDeviceInfo[]> {\n return await this.callAdapter.querySpeakers();\n }\n /** Start the camera for the user in the Call. */\n public async startCamera(options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.startCamera(options);\n }\n /** Stop the camera for the user in the Call. */\n public async stopCamera(): Promise<void> {\n await this.callAdapter.stopCamera();\n }\n /** Mute the user in the Call. */\n public async mute(): Promise<void> {\n await this.callAdapter.mute();\n }\n /** Unmute the user in the Call. */\n public async unmute(): Promise<void> {\n await this.callAdapter.unmute();\n }\n /** Trigger the user to start screen share. */\n public async startScreenShare(): Promise<void> {\n await this.callAdapter.startScreenShare();\n }\n /** Stop the current active screen share. */\n public async stopScreenShare(): Promise<void> {\n await this.callAdapter.stopScreenShare();\n }\n /** Create a stream view for a remote participants video feed. */\n public async createStreamView(\n remoteUserId?: string,\n options?: VideoStreamOptions\n ): Promise<void | CreateVideoStreamViewResult> {\n return await this.callAdapter.createStreamView(remoteUserId, options);\n }\n /** Dispose of a created stream view of a remote participants video feed. */\n public async disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void> {\n await this.callAdapter.disposeStreamView(remoteUserId, options);\n }\n /** Fetch initial Call and Chat data such as chat messages. */\n public async fetchInitialData(): Promise<void> {\n await this.chatAdapter.fetchInitialData();\n }\n /** Send a chat message. */\n public async sendMessage(content: string): Promise<void> {\n await this.chatAdapter.sendMessage(content);\n }\n /** Send a chat read receipt. */\n public async sendReadReceipt(chatMessageId: string): Promise<void> {\n await this.chatAdapter.sendReadReceipt(chatMessageId);\n }\n /** Send an isTyping indicator. */\n public async sendTypingIndicator(): Promise<void> {\n await this.chatAdapter.sendTypingIndicator();\n }\n /** Load previous Chat messages. */\n public async loadPreviousChatMessages(messagesToLoad: number): Promise<boolean> {\n return await this.chatAdapter.loadPreviousChatMessages(messagesToLoad);\n }\n /** Update an existing message. */\n public async updateMessage(messageId: string, content: string, metadata?: Record<string, string>): Promise<void> {\n return await this.chatAdapter.updateMessage(messageId, content, metadata);\n }\n /** Delete an existing message. */\n public async deleteMessage(messageId: string): Promise<void> {\n return await this.chatAdapter.deleteMessage(messageId);\n }\n /* @conditional-compile-remove(file-sharing) */\n public registerActiveFileUploads = (files: File[]): FileUploadManager[] => {\n return this.chatAdapter.registerActiveFileUploads(files);\n };\n /* @conditional-compile-remove(file-sharing) */\n public registerCompletedFileUploads = (metadata: FileMetadata[]): FileUploadManager[] => {\n return this.chatAdapter.registerCompletedFileUploads(metadata);\n };\n /* @conditional-compile-remove(file-sharing) */\n public clearFileUploads = (): void => {\n this.chatAdapter.clearFileUploads();\n };\n /* @conditional-compile-remove(file-sharing) */\n public cancelFileUpload = (id: string): void => {\n this.chatAdapter.cancelFileUpload(id);\n };\n /* @conditional-compile-remove(file-sharing) */\n public updateFileUploadProgress = (id: string, progress: number): void => {\n this.chatAdapter.updateFileUploadProgress(id, progress);\n };\n /* @conditional-compile-remove(file-sharing) */\n public updateFileUploadErrorMessage = (id: string, errorMessage: string): void => {\n this.chatAdapter.updateFileUploadErrorMessage(id, errorMessage);\n };\n /* @conditional-compile-remove(file-sharing) */\n public updateFileUploadMetadata = (id: string, metadata: FileMetadata): void => {\n this.chatAdapter.updateFileUploadMetadata(id, metadata);\n };\n /* @conditional-compile-remove(PSTN-calls) */\n public async holdCall(): Promise<void> {\n return await this.callAdapter.holdCall();\n }\n /* @conditional-compile-remove(PSTN-calls) */\n public async resumeCall(): Promise<void> {\n return await this.callAdapter.resumeCall();\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 (isCommunicationUserIdentifier(participant)) {\n return await this.callAdapter.addParticipant(participant);\n } else {\n return await this.callAdapter.addParticipant(participant, options);\n }\n }\n\n /* @conditional-compile-remove(PSTN-calls) */\n public async sendDtmfTone(dtmfTone: DtmfTone): Promise<void> {\n return await this.callAdapter.sendDtmfTone(dtmfTone);\n }\n\n /* @conditional-compile-remove(unsupported-browser) */\n public allowUnsupportedBrowserVersion(): void {\n return this.callAdapter.allowUnsupportedBrowserVersion();\n }\n\n on(event: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n on(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n on(event: 'callEnded', listener: CallEndedListener): void;\n on(event: 'callError', listener: (e: AdapterError) => void): 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: 'messageReceived', listener: MessageReceivedListener): void;\n on(event: 'messageSent', listener: MessageReceivedListener): void;\n on(event: 'messageRead', listener: MessageReadListener): void;\n on(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n on(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n on(event: 'chatError', listener: (e: AdapterError) => void): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n on(event: CallWithChatEvent, listener: any): void {\n switch (event) {\n case 'callParticipantsJoined':\n this.callAdapter.on('participantsJoined', listener);\n break;\n case 'callParticipantsLeft':\n this.callAdapter.on('participantsLeft', listener);\n break;\n case 'callEnded':\n this.callAdapter.on('callEnded', listener);\n break;\n case 'isMutedChanged':\n this.callAdapter.on('isMutedChanged', listener);\n break;\n case 'callIdChanged':\n this.callAdapter.on('callIdChanged', listener);\n break;\n case 'isLocalScreenSharingActiveChanged':\n this.callAdapter.on('isLocalScreenSharingActiveChanged', listener);\n break;\n case 'displayNameChanged':\n this.callAdapter.on('displayNameChanged', listener);\n break;\n case 'isSpeakingChanged':\n this.callAdapter.on('isSpeakingChanged', listener);\n break;\n case 'selectedMicrophoneChanged':\n this.callAdapter.on('selectedMicrophoneChanged', listener);\n break;\n case 'selectedSpeakerChanged':\n this.callAdapter.on('selectedSpeakerChanged', listener);\n break;\n case 'messageReceived':\n this.chatAdapter.on('messageReceived', listener);\n break;\n case 'messageSent':\n this.chatAdapter.on('messageSent', listener);\n break;\n case 'messageRead':\n this.chatAdapter.on('messageRead', listener);\n break;\n case 'chatParticipantsAdded':\n this.chatAdapter.on('participantsAdded', listener);\n break;\n case 'chatParticipantsRemoved':\n this.chatAdapter.on('participantsRemoved', listener);\n break;\n case 'callError':\n this.callAdapter.on('error', listener);\n break;\n case 'chatError':\n this.chatAdapter.on('error', listener);\n break;\n default:\n throw `Unknown AzureCommunicationCallWithChatAdapter Event: ${event}`;\n }\n }\n\n off(event: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n off(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n off(event: 'callEnded', listener: CallEndedListener): void;\n off(event: 'callError', listener: (e: AdapterError) => void): 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: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n off(event: 'messageSent', listener: MessageReceivedListener): void;\n off(event: 'messageRead', listener: MessageReadListener): void;\n off(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n off(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n off(event: 'chatError', listener: (e: AdapterError) => void): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n off(event: CallWithChatEvent, listener: any): void {\n switch (event) {\n case 'callParticipantsJoined':\n this.callAdapter.off('participantsJoined', listener);\n break;\n case 'callParticipantsLeft':\n this.callAdapter.off('participantsLeft', listener);\n break;\n case 'callEnded':\n this.callAdapter.off('callEnded', listener);\n break;\n case 'isMutedChanged':\n this.callAdapter.off('isMutedChanged', listener);\n break;\n case 'callIdChanged':\n this.callAdapter.off('callIdChanged', listener);\n break;\n case 'isLocalScreenSharingActiveChanged':\n this.callAdapter.off('isLocalScreenSharingActiveChanged', listener);\n break;\n case 'displayNameChanged':\n this.callAdapter.off('displayNameChanged', listener);\n break;\n case 'isSpeakingChanged':\n this.callAdapter.off('isSpeakingChanged', listener);\n break;\n case 'selectedMicrophoneChanged':\n this.callAdapter.off('selectedMicrophoneChanged', listener);\n break;\n case 'selectedSpeakerChanged':\n this.callAdapter.off('selectedSpeakerChanged', listener);\n break;\n case 'messageReceived':\n this.chatAdapter.off('messageReceived', listener);\n break;\n case 'messageSent':\n this.chatAdapter.off('messageSent', listener);\n break;\n case 'messageRead':\n this.chatAdapter.off('messageRead', listener);\n break;\n case 'chatParticipantsAdded':\n this.chatAdapter.off('participantsAdded', listener);\n break;\n case 'chatParticipantsRemoved':\n this.chatAdapter.off('participantsRemoved', listener);\n break;\n case 'callError':\n this.callAdapter.off('error', listener);\n break;\n case 'chatError':\n this.chatAdapter.off('error', listener);\n break;\n default:\n throw `Unknown AzureCommunicationCallWithChatAdapter Event: ${event}`;\n }\n }\n}\n\n/**\n * Arguments for use in {@link createAzureCommunicationCallWithChatAdapter} to join a Call with an associated Chat thread.\n *\n * @public\n */\nexport interface CallAndChatLocator {\n /** Locator used by {@link createAzureCommunicationCallWithChatAdapter} to locate the call to join */\n callLocator: GroupCallLocator | /* @conditional-compile-remove(teams-adhoc-call) */ CallParticipantsLocator;\n /** Chat thread ID used by {@link createAzureCommunicationCallWithChatAdapter} to locate the chat thread to join */\n chatThreadId: string;\n}\n\n/**\n * Arguments for {@link createAzureCommunicationCallWithChatAdapter}\n *\n * @public\n */\nexport type AzureCommunicationCallWithChatAdapterArgs = {\n endpoint: string;\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n locator: CallAndChatLocator | TeamsMeetingLinkLocator;\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId?: string;\n /* @conditional-compile-remove(unsupported-browser) */\n callAdapterOptions?: AzureCommunicationCallAdapterOptions;\n};\n\n/**\n * Create a CallWithChatAdapter backed by Azure Communication services\n * to plug into the {@link CallWithChatComposite}.\n *\n * @public\n */\nexport const createAzureCommunicationCallWithChatAdapter = async ({\n userId,\n displayName,\n credential,\n endpoint,\n locator,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */ callAdapterOptions\n}: AzureCommunicationCallWithChatAdapterArgs): Promise<CallWithChatAdapter> => {\n const callAdapterLocator = isTeamsMeetingLinkLocator(locator) ? locator : locator.callLocator;\n const createCallAdapterPromise = createAzureCommunicationCallAdapter({\n userId,\n displayName,\n credential,\n locator: callAdapterLocator,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */ options: callAdapterOptions\n });\n\n const threadId = isTeamsMeetingLinkLocator(locator)\n ? getChatThreadFromTeamsLink(locator.meetingLink)\n : locator.chatThreadId;\n const createChatAdapterPromise = createAzureCommunicationChatAdapter({\n endpoint,\n userId,\n displayName,\n credential,\n threadId\n });\n\n const [callAdapter, chatAdapter] = await Promise.all([createCallAdapterPromise, createChatAdapterPromise]);\n return new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);\n};\n\n/**\n * A custom React hook to simplify the creation of {@link CallWithChatAdapter}.\n *\n * Similar to {@link createAzureCommunicationCallWithChatAdapter}, 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 useAzureCommunicationCallWithChatAdapter = (\n /**\n * Arguments to be passed to {@link createAzureCommunicationCallWithChatAdapter}.\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<AzureCommunicationCallWithChatAdapterArgs>,\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: CallWithChatAdapter) => Promise<CallWithChatAdapter>,\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: CallWithChatAdapter) => Promise<void>\n): CallWithChatAdapter | undefined => {\n const {\n credential,\n displayName,\n endpoint,\n locator,\n userId,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */ callAdapterOptions\n } = args;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<CallWithChatAdapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<CallWithChatAdapter | undefined>(undefined);\n\n const afterCreateRef = useRef<((adapter: CallWithChatAdapter) => Promise<CallWithChatAdapter>) | undefined>(\n undefined\n );\n const beforeDisposeRef = useRef<((adapter: CallWithChatAdapter) => 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 || !endpoint || !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 createAzureCommunicationCallWithChatAdapter({\n credential,\n displayName,\n endpoint,\n locator,\n userId,\n /* @conditional-compile-remove(PSTN-calls) */ alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */ callAdapterOptions\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 endpoint,\n locator,\n userId,\n /* @conditional-compile-remove(unsupported-browser) */ callAdapterOptions\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 * Arguments for {@link createAzureCommunicationCallWithChatAdapterFromClient}\n *\n * @public\n */\nexport type AzureCommunicationCallWithChatAdapterFromClientArgs = {\n callLocator: CallAdapterLocator | TeamsMeetingLinkLocator;\n callAgent: CallAgent;\n callClient: StatefulCallClient;\n chatClient: StatefulChatClient;\n chatThreadClient: ChatThreadClient;\n};\n\n/**\n * Create a {@link CallWithChatAdapter} using the provided {@link StatefulChatClient} and {@link StatefulCallClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulChatClient} and {@link StatefulCallClient}.\n * Consider using {@link createAzureCommunicationCallWithChatAdapter} for a simpler API.\n *\n * @public\n */\nexport const createAzureCommunicationCallWithChatAdapterFromClients = async ({\n callClient,\n callAgent,\n callLocator,\n chatClient,\n chatThreadClient\n}: AzureCommunicationCallWithChatAdapterFromClientArgs): Promise<CallWithChatAdapter> => {\n const createCallAdapterPromise = createAzureCommunicationCallAdapterFromClient(callClient, callAgent, callLocator);\n\n const createChatAdapterPromise = createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);\n const [callAdapter, chatAdapter] = await Promise.all([createCallAdapterPromise, createChatAdapterPromise]);\n return new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);\n};\n\n/**\n * Create a {@link CallWithChatAdapter} from the underlying adapters.\n *\n * This is an internal factory function used by browser tests to inject fake adapters for call and chat.\n *\n * @internal\n */\nexport const _createAzureCommunicationCallWithChatAdapterFromAdapters = (\n callAdapter: CallAdapter,\n chatAdapter: ChatAdapter\n): CallWithChatAdapter => new AzureCommunicationCallWithChatAdapter(callAdapter, chatAdapter);\n\nconst isTeamsMeetingLinkLocator = (\n locator: CallAndChatLocator | TeamsMeetingLinkLocator\n): locator is TeamsMeetingLinkLocator => {\n return 'meetingLink' in locator;\n};\n\"../../../../../react-components/src\"\"../../../../../calling-stateful-client/src\"\"../../../../../chat-stateful-client/src\"\"../../../../../acs-ui-common/src\""]}
@@ -3,8 +3,13 @@ import { MessageReadListener, MessageReceivedListener, MessageSentListener, Part
3
3
  import { CallWithChatAdapterState } from '../state/CallWithChatAdapterState';
4
4
  import type { AdapterError, AdapterState, Disposable } from '../../common/adapters';
5
5
  import { AudioDeviceInfo, Call, PermissionConstraints, PropertyChangedEvent, StartCallOptions, VideoDeviceInfo } from '@azure/communication-calling';
6
+ import { AddPhoneNumberOptions, DtmfTone } from '@azure/communication-calling';
6
7
  import { CreateVideoStreamViewResult, VideoStreamOptions } from "../../../../../react-components/src";
7
8
  import { SendMessageOptions } from '@azure/communication-chat';
9
+ import { FileMetadata } from "../../../../../react-components/src";
10
+ import { FileUploadManager } from '../../ChatComposite';
11
+ import { CommunicationUserIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';
12
+ import { CommunicationIdentifier } from '@azure/communication-common';
8
13
  /**
9
14
  * Functionality for managing the current call with chat.
10
15
  * @public
@@ -18,6 +23,12 @@ export interface CallWithChatAdapterManagement {
18
23
  * @public
19
24
  */
20
25
  removeParticipant(userId: string): Promise<void>;
26
+ /**
27
+ * Remove a participant from the call.
28
+ * @param participant - {@link @azure/communication-common#CommunicationIdentifier} of the participant to be removed
29
+ * @beta
30
+ */
31
+ removeParticipant(participant: CommunicationIdentifier): Promise<void>;
21
32
  /**
22
33
  * Join the call with microphone initially on/off.
23
34
  *
@@ -72,6 +83,12 @@ export interface CallWithChatAdapterManagement {
72
83
  * @public
73
84
  */
74
85
  startCall(participants: string[], options?: StartCallOptions): Call | undefined;
86
+ /**
87
+ * Start the call.
88
+ * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called
89
+ * @beta
90
+ */
91
+ startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): Call | undefined;
75
92
  /**
76
93
  * Start sharing the screen during a call.
77
94
  *
@@ -224,6 +241,49 @@ export interface CallWithChatAdapterManagement {
224
241
  * @public
225
242
  */
226
243
  loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
244
+ /** @beta */
245
+ registerActiveFileUploads: (files: File[]) => FileUploadManager[];
246
+ /** @beta */
247
+ registerCompletedFileUploads: (metadata: FileMetadata[]) => FileUploadManager[];
248
+ /** @beta */
249
+ clearFileUploads: () => void;
250
+ /** @beta */
251
+ cancelFileUpload: (id: string) => void;
252
+ /** @beta */
253
+ updateFileUploadProgress: (id: string, progress: number) => void;
254
+ /** @beta */
255
+ updateFileUploadErrorMessage: (id: string, errorMessage: string) => void;
256
+ /** @beta */
257
+ updateFileUploadMetadata: (id: string, metadata: FileMetadata) => void;
258
+ /**
259
+ * Puts the Call in a Localhold.
260
+ *
261
+ * @beta
262
+ */
263
+ holdCall: () => Promise<void>;
264
+ /**
265
+ * Resumes the call from a LocalHold state.
266
+ *
267
+ * @beta
268
+ */
269
+ resumeCall: () => Promise<void>;
270
+ /**
271
+ * Adds a new Participant to the call.
272
+ *
273
+ * @beta
274
+ */
275
+ addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;
276
+ addParticipant(participant: CommunicationUserIdentifier): Promise<void>;
277
+ /**
278
+ * send dtmf tone to another participant in the call in 1:1 calls
279
+ *
280
+ * @beta
281
+ */
282
+ sendDtmfTone: (dtmfTone: DtmfTone) => Promise<void>;
283
+ /**
284
+ * Continues into a call when the browser version is not supported.
285
+ */
286
+ allowUnsupportedBrowserVersion(): void;
227
287
  }
228
288
  /**
229
289
  * Call and Chat events that can be subscribed to in the {@link CallWithChatAdapter}.
@@ -1 +1 @@
1
- {"version":3,"file":"CallWithChatAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/adjacent-overload-signatures */\n\nimport { CallIdChangedListener, DisplayNameChangedListener, IsMutedChangedListener, IsLocalScreenSharingActiveChangedListener, IsSpeakingChangedListener, ParticipantsJoinedListener, ParticipantsLeftListener, CallEndedListener } from '../../CallComposite';\nimport { MessageReadListener, MessageReceivedListener, MessageSentListener, ParticipantsAddedListener, ParticipantsRemovedListener } from '../../ChatComposite';\nimport { CallWithChatAdapterState } from '../state/CallWithChatAdapterState';\nimport type { AdapterError, AdapterState, Disposable } from '../../common/adapters';\nimport { AudioDeviceInfo, Call, PermissionConstraints, PropertyChangedEvent, StartCallOptions, VideoDeviceInfo } from '@azure/communication-calling';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { SendMessageOptions } from '@azure/communication-chat';\n/**\n * Functionality for managing the current call with chat.\n * @public\n */\nexport interface CallWithChatAdapterManagement {\n // CallWithChat-specific Interface methods\n /**\n * Remove a participant from a Call.\n *\n * @param userId - UserId of the participant to remove.\n *\n * @public\n */\n removeParticipant(userId: string): Promise<void>;\n // Call Interface Methods\n /**\n * Join the call with microphone initially on/off.\n *\n * @param microphoneOn - Whether microphone is initially enabled\n *\n * @public\n */\n joinCall(microphoneOn?: boolean): Call | undefined;\n /**\n * Leave the call.\n *\n * @param forEveryone - Whether to remove all participants when leaving\n *\n * @public\n */\n leaveCall(forEveryone?: boolean): Promise<void>;\n /**\n * Start the camera.\n *\n * This method will start rendering a local camera view when the call is not active.\n *\n * @param options - Options to control how video streams are rendered {@link @azure/communication-calling#VideoStreamOptions }\n *\n * @public\n */\n startCamera(options?: VideoStreamOptions): Promise<void>;\n /**\n * Stop the camera.\n *\n * This method will stop rendering a local camera view when the call is not active.\n *\n * @public\n */\n stopCamera(): Promise<void>;\n /**\n * Mute the current user during the call or disable microphone locally.\n *\n * @public\n */\n mute(): Promise<void>;\n /**\n * Unmute the current user during the call or enable microphone locally.\n *\n * @public\n */\n unmute(): Promise<void>;\n /**\n * Start the call.\n *\n * @param participants - An array of participant ids to join\n *\n * @public\n */\n startCall(participants: string[], options?: StartCallOptions): Call | undefined;\n /**\n * Start sharing the screen during a call.\n *\n * @public\n */\n startScreenShare(): Promise<void>;\n /**\n * Stop sharing the screen.\n *\n * @public\n */\n stopScreenShare(): Promise<void>;\n /**\n * Create the html view for a stream.\n *\n * @remarks\n * This method is implemented for composite.\n *\n * @param remoteUserId - Id of the participant to render, leave it undefined to create the local camera view\n * @param options - Options to control how video streams are rendered {@link @azure/communication-calling#VideoStreamOptions }\n *\n * @public\n */\n createStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void | CreateVideoStreamViewResult>;\n /**\n * Dispose the html view for a stream.\n *\n * @remarks\n * This method is implemented for composite.\n *\n * @param remoteUserId - Id of the participant to render, leave it undefined to dispose the local camera view\n * @param options - Options to control how video streams are rendered {@link @azure/communication-calling#VideoStreamOptions }\n *\n * @public\n */\n disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void>;\n /**\n * Ask for permissions of devices.\n *\n * @remarks\n * Browser permission window will pop up if permissions are not granted yet.\n *\n * @param constrain - Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }\n *\n * @public\n */\n askDevicePermission(constrain: PermissionConstraints): Promise<void>;\n /**\n * Query for available camera devices.\n *\n * @remarks\n * This method should be called after askDevicePermission()\n *\n * @return An array of video device information entities {@link @azure/communication-calling#VideoDeviceInfo }\n *\n * @public\n */\n queryCameras(): Promise<VideoDeviceInfo[]>;\n /**\n * Query for available microphone devices.\n *\n * @remarks\n * This method should be called after askDevicePermission()\n *\n * @return An array of audio device information entities {@link @azure/communication-calling#AudioDeviceInfo }\n *\n * @public\n */\n queryMicrophones(): Promise<AudioDeviceInfo[]>;\n /**\n * Query for available microphone devices.\n *\n * @remarks\n * This method should be called after askDevicePermission()\n *\n * @return An array of audio device information entities {@link @azure/communication-calling#AudioDeviceInfo }\n *\n * @public\n */\n querySpeakers(): Promise<AudioDeviceInfo[]>;\n /**\n * Set the camera to use in the call.\n *\n * @param sourceInfo - Camera device to choose, pick one returned by {@link CallAdapterDeviceManagement#queryCameras }\n * @param options - Options to control how the camera stream is rendered {@link @azure/communication-calling#VideoStreamOptions }\n *\n * @public\n */\n setCamera(sourceInfo: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void>;\n /**\n * Set the microphone to use in the call.\n *\n * @param sourceInfo - Microphone device to choose, pick one returned by {@link CallAdapterDeviceManagement#queryMicrophones }\n *\n * @public\n */\n setMicrophone(sourceInfo: AudioDeviceInfo): Promise<void>;\n /**\n * Set the speaker to use in the call.\n *\n * @param sourceInfo - Speaker device to choose, pick one returned by {@link CallAdapterDeviceManagement#querySpeakers }\n *\n * @public\n */\n setSpeaker(sourceInfo: AudioDeviceInfo): Promise<void>;\n\n // Chat Interface Methods\n /**\n * Fetch initial state for the Chat adapter.\n *\n * Performs the minimal fetch necessary for ChatComposite and API methods.\n *\n * @public\n */\n fetchInitialData(): Promise<void>;\n /**\n * Send a message in the thread.\n *\n * @public\n */\n sendMessage(content: string, options?: SendMessageOptions): Promise<void>;\n /**\n * Send a read receipt for a message.\n *\n * @public\n */\n sendReadReceipt(chatMessageId: string): Promise<void>;\n /**\n * Send typing indicator in the thread.\n *\n * @public\n */\n sendTypingIndicator(): Promise<void>;\n /**\n * Update a message content.\n *\n * @public\n */\n updateMessage(messageId: string, content: string, metadata?: Record<string, string>): Promise<void>;\n /**\n * Delete a message in the thread.\n *\n * @public\n */\n deleteMessage(messageId: string): Promise<void>;\n /**\n * Load more previous messages in the chat thread history.\n *\n * @remarks\n * This method is usually used to control incremental fetch/infinite scroll.\n *\n * @public\n */\n loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;\n}\n\n/**\n * Call and Chat events that can be subscribed to in the {@link CallWithChatAdapter}.\n * @public\n */\nexport interface CallWithChatAdapterSubscriptions {\n // Call subscriptions\n on(event: 'callEnded', listener: CallEndedListener): 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: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n on(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n on(event: 'callError', listener: (e: AdapterError) => void): void;\n off(event: 'callEnded', listener: CallEndedListener): 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: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n off(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n off(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n off(event: 'callError', listener: (e: AdapterError) => void): void;\n\n // Chat subscriptions\n on(event: 'messageReceived', listener: MessageReceivedListener): void;\n on(event: 'messageSent', listener: MessageSentListener): void;\n on(event: 'messageRead', listener: MessageReadListener): void;\n on(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n on(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n on(event: 'chatError', listener: (e: AdapterError) => void): void;\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n off(event: 'messageSent', listener: MessageSentListener): void;\n off(event: 'messageRead', listener: MessageReadListener): void;\n off(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n off(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n off(event: 'chatError', listener: (e: AdapterError) => void): void;\n}\n\n/**\n * {@link CallWithChatComposite} Adapter interface.\n *\n * @public\n */\nexport interface CallWithChatAdapter extends CallWithChatAdapterManagement, AdapterState<CallWithChatAdapterState>, Disposable, CallWithChatAdapterSubscriptions {}\n\n/**\n * Events fired off by the {@link CallWithChatAdapter}.\n *\n * @public\n */\nexport type CallWithChatEvent = 'callError' | 'chatError' | 'callEnded' | 'isMutedChanged' | 'callIdChanged' | 'isLocalScreenSharingActiveChanged' | 'displayNameChanged' | 'isSpeakingChanged' | 'callParticipantsJoined' | 'callParticipantsLeft' | 'selectedMicrophoneChanged' | 'selectedSpeakerChanged' | 'messageReceived' | 'messageSent' | 'messageRead' | 'chatParticipantsAdded' | 'chatParticipantsRemoved';\"../../../../../react-components/src\""]}
1
+ {"version":3,"file":"CallWithChatAdapter.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/adjacent-overload-signatures */\n\nimport {\n CallIdChangedListener,\n DisplayNameChangedListener,\n IsMutedChangedListener,\n IsLocalScreenSharingActiveChangedListener,\n IsSpeakingChangedListener,\n ParticipantsJoinedListener,\n ParticipantsLeftListener,\n CallEndedListener\n} from '../../CallComposite';\nimport {\n MessageReadListener,\n MessageReceivedListener,\n MessageSentListener,\n ParticipantsAddedListener,\n ParticipantsRemovedListener\n} from '../../ChatComposite';\nimport { CallWithChatAdapterState } from '../state/CallWithChatAdapterState';\nimport type { AdapterError, AdapterState, Disposable } from '../../common/adapters';\nimport {\n AudioDeviceInfo,\n Call,\n PermissionConstraints,\n PropertyChangedEvent,\n StartCallOptions,\n VideoDeviceInfo\n} from '@azure/communication-calling';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions, DtmfTone } from '@azure/communication-calling';\nimport { CreateVideoStreamViewResult, VideoStreamOptions } from '@internal/react-components';\nimport { SendMessageOptions } from '@azure/communication-chat';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileMetadata } from '@internal/react-components';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileUploadManager } from '../../ChatComposite';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { CommunicationUserIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { CommunicationIdentifier } from '@azure/communication-common';\n\n/**\n * Functionality for managing the current call with chat.\n * @public\n */\nexport interface CallWithChatAdapterManagement {\n // CallWithChat-specific Interface methods\n /**\n * Remove a participant from a Call.\n *\n * @param userId - UserId of the participant to remove.\n *\n * @public\n */\n removeParticipant(userId: string): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * Remove a participant from the call.\n * @param participant - {@link @azure/communication-common#CommunicationIdentifier} of the participant to be removed\n * @beta\n */\n removeParticipant(participant: CommunicationIdentifier): Promise<void>;\n\n // Call Interface Methods\n /**\n * Join the call with microphone initially on/off.\n *\n * @param microphoneOn - Whether microphone is initially enabled\n *\n * @public\n */\n joinCall(microphoneOn?: boolean): Call | undefined;\n /**\n * Leave the call.\n *\n * @param forEveryone - Whether to remove all participants when leaving\n *\n * @public\n */\n leaveCall(forEveryone?: boolean): Promise<void>;\n /**\n * Start the camera.\n *\n * This method will start rendering a local camera view when the call is not active.\n *\n * @param options - Options to control how video streams are rendered {@link @azure/communication-calling#VideoStreamOptions }\n *\n * @public\n */\n startCamera(options?: VideoStreamOptions): Promise<void>;\n /**\n * Stop the camera.\n *\n * This method will stop rendering a local camera view when the call is not active.\n *\n * @public\n */\n stopCamera(): Promise<void>;\n /**\n * Mute the current user during the call or disable microphone locally.\n *\n * @public\n */\n mute(): Promise<void>;\n /**\n * Unmute the current user during the call or enable microphone locally.\n *\n * @public\n */\n unmute(): Promise<void>;\n /**\n * Start the call.\n *\n * @param participants - An array of participant ids to join\n *\n * @public\n */\n startCall(participants: string[], options?: StartCallOptions): Call | undefined;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * Start the call.\n * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called\n * @beta\n */\n startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): Call | undefined;\n /**\n * Start sharing the screen during a call.\n *\n * @public\n */\n startScreenShare(): Promise<void>;\n /**\n * Stop sharing the screen.\n *\n * @public\n */\n stopScreenShare(): Promise<void>;\n /**\n * Create the html view for a stream.\n *\n * @remarks\n * This method is implemented for composite.\n *\n * @param remoteUserId - Id of the participant to render, leave it undefined to create the local camera view\n * @param options - Options to control how video streams are rendered {@link @azure/communication-calling#VideoStreamOptions }\n *\n * @public\n */\n createStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void | CreateVideoStreamViewResult>;\n /**\n * Dispose the html view for a stream.\n *\n * @remarks\n * This method is implemented for composite.\n *\n * @param remoteUserId - Id of the participant to render, leave it undefined to dispose the local camera view\n * @param options - Options to control how video streams are rendered {@link @azure/communication-calling#VideoStreamOptions }\n *\n * @public\n */\n disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void>;\n /**\n * Ask for permissions of devices.\n *\n * @remarks\n * Browser permission window will pop up if permissions are not granted yet.\n *\n * @param constrain - Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }\n *\n * @public\n */\n askDevicePermission(constrain: PermissionConstraints): Promise<void>;\n /**\n * Query for available camera devices.\n *\n * @remarks\n * This method should be called after askDevicePermission()\n *\n * @return An array of video device information entities {@link @azure/communication-calling#VideoDeviceInfo }\n *\n * @public\n */\n queryCameras(): Promise<VideoDeviceInfo[]>;\n /**\n * Query for available microphone devices.\n *\n * @remarks\n * This method should be called after askDevicePermission()\n *\n * @return An array of audio device information entities {@link @azure/communication-calling#AudioDeviceInfo }\n *\n * @public\n */\n queryMicrophones(): Promise<AudioDeviceInfo[]>;\n /**\n * Query for available microphone devices.\n *\n * @remarks\n * This method should be called after askDevicePermission()\n *\n * @return An array of audio device information entities {@link @azure/communication-calling#AudioDeviceInfo }\n *\n * @public\n */\n querySpeakers(): Promise<AudioDeviceInfo[]>;\n /**\n * Set the camera to use in the call.\n *\n * @param sourceInfo - Camera device to choose, pick one returned by {@link CallAdapterDeviceManagement#queryCameras }\n * @param options - Options to control how the camera stream is rendered {@link @azure/communication-calling#VideoStreamOptions }\n *\n * @public\n */\n setCamera(sourceInfo: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void>;\n /**\n * Set the microphone to use in the call.\n *\n * @param sourceInfo - Microphone device to choose, pick one returned by {@link CallAdapterDeviceManagement#queryMicrophones }\n *\n * @public\n */\n setMicrophone(sourceInfo: AudioDeviceInfo): Promise<void>;\n /**\n * Set the speaker to use in the call.\n *\n * @param sourceInfo - Speaker device to choose, pick one returned by {@link CallAdapterDeviceManagement#querySpeakers }\n *\n * @public\n */\n setSpeaker(sourceInfo: AudioDeviceInfo): Promise<void>;\n\n // Chat Interface Methods\n /**\n * Fetch initial state for the Chat adapter.\n *\n * Performs the minimal fetch necessary for ChatComposite and API methods.\n *\n * @public\n */\n fetchInitialData(): Promise<void>;\n /**\n * Send a message in the thread.\n *\n * @public\n */\n sendMessage(content: string, options?: SendMessageOptions): Promise<void>;\n /**\n * Send a read receipt for a message.\n *\n * @public\n */\n sendReadReceipt(chatMessageId: string): Promise<void>;\n /**\n * Send typing indicator in the thread.\n *\n * @public\n */\n sendTypingIndicator(): Promise<void>;\n /**\n * Update a message content.\n *\n * @public\n */\n updateMessage(messageId: string, content: string, metadata?: Record<string, string>): Promise<void>;\n /**\n * Delete a message in the thread.\n *\n * @public\n */\n deleteMessage(messageId: string): Promise<void>;\n /**\n * Load more previous messages in the chat thread history.\n *\n * @remarks\n * This method is usually used to control incremental fetch/infinite scroll.\n *\n * @public\n */\n loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;\n /* @conditional-compile-remove(file-sharing) */\n /** @beta */\n registerActiveFileUploads: (files: File[]) => FileUploadManager[];\n /* @conditional-compile-remove(file-sharing) */\n /** @beta */\n registerCompletedFileUploads: (metadata: FileMetadata[]) => FileUploadManager[];\n /* @conditional-compile-remove(file-sharing) */\n /** @beta */\n clearFileUploads: () => void;\n /* @conditional-compile-remove(file-sharing) */\n /** @beta */\n cancelFileUpload: (id: string) => void;\n /* @conditional-compile-remove(file-sharing) */\n /** @beta */\n updateFileUploadProgress: (id: string, progress: number) => void;\n /* @conditional-compile-remove(file-sharing) */\n /** @beta */\n updateFileUploadErrorMessage: (id: string, errorMessage: string) => void;\n /* @conditional-compile-remove(file-sharing) */\n /** @beta */\n updateFileUploadMetadata: (id: string, metadata: FileMetadata) => void;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * Puts the Call in a Localhold.\n *\n * @beta\n */\n holdCall: () => Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * Resumes the call from a LocalHold state.\n *\n * @beta\n */\n resumeCall: () => Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * Adds a new Participant to the call.\n *\n * @beta\n */\n addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n addParticipant(participant: CommunicationUserIdentifier): Promise<void>;\n /* @conditional-compile-remove(PSTN-calls) */\n /**\n * send dtmf tone to another participant in the call in 1:1 calls\n *\n * @beta\n */\n sendDtmfTone: (dtmfTone: DtmfTone) => Promise<void>;\n /* @conditional-compile-remove(unsupported-browser) */\n /**\n * Continues into a call when the browser version is not supported.\n */\n allowUnsupportedBrowserVersion(): void;\n}\n\n/**\n * Call and Chat events that can be subscribed to in the {@link CallWithChatAdapter}.\n * @public\n */\nexport interface CallWithChatAdapterSubscriptions {\n // Call subscriptions\n on(event: 'callEnded', listener: CallEndedListener): 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: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n on(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n on(event: 'callError', listener: (e: AdapterError) => void): void;\n\n off(event: 'callEnded', listener: CallEndedListener): 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: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;\n off(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;\n off(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;\n off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;\n off(event: 'callError', listener: (e: AdapterError) => void): void;\n\n // Chat subscriptions\n on(event: 'messageReceived', listener: MessageReceivedListener): void;\n on(event: 'messageSent', listener: MessageSentListener): void;\n on(event: 'messageRead', listener: MessageReadListener): void;\n on(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n on(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n on(event: 'chatError', listener: (e: AdapterError) => void): void;\n\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n off(event: 'messageSent', listener: MessageSentListener): void;\n off(event: 'messageRead', listener: MessageReadListener): void;\n off(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;\n off(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;\n off(event: 'chatError', listener: (e: AdapterError) => void): void;\n}\n\n/**\n * {@link CallWithChatComposite} Adapter interface.\n *\n * @public\n */\nexport interface CallWithChatAdapter\n extends CallWithChatAdapterManagement,\n AdapterState<CallWithChatAdapterState>,\n Disposable,\n CallWithChatAdapterSubscriptions {}\n\n/**\n * Events fired off by the {@link CallWithChatAdapter}.\n *\n * @public\n */\nexport type CallWithChatEvent =\n | 'callError'\n | 'chatError'\n | 'callEnded'\n | 'isMutedChanged'\n | 'callIdChanged'\n | 'isLocalScreenSharingActiveChanged'\n | 'displayNameChanged'\n | 'isSpeakingChanged'\n | 'callParticipantsJoined'\n | 'callParticipantsLeft'\n | 'selectedMicrophoneChanged'\n | 'selectedSpeakerChanged'\n | 'messageReceived'\n | 'messageSent'\n | 'messageRead'\n | 'chatParticipantsAdded'\n | 'chatParticipantsRemoved';\n\"../../../../../react-components/src\""]}