@azure/communication-react 1.4.0 → 1.4.2-alpha-202211010021.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 (770) hide show
  1. package/CHANGELOG.md +0 -1
  2. package/dist/communication-react.d.ts +1537 -26
  3. package/dist/dist-cjs/communication-react/index.js +9966 -6538
  4. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/identifier.js +7 -24
  12. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js +2 -1
  15. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/logEvent.js +2 -0
  17. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/safeStringify.js +2 -1
  20. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  23. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +4 -0
  25. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +5 -0
  26. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +13 -0
  28. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +27 -9
  29. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +22 -46
  31. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +9 -0
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +71 -34
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +5 -1
  38. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +29 -0
  39. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js +4 -1
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -0
  43. package/dist/dist-esm/calling-component-bindings/src/index.js +4 -0
  44. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +17 -7
  46. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js +2 -0
  48. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js +2 -0
  50. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +8 -3
  52. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js +2 -0
  56. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +4 -2
  58. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  60. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +13 -4
  61. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +21 -5
  63. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  64. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +12 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js +70 -70
  66. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  67. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +17 -1
  68. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js +4 -1
  69. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +4 -0
  71. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +60 -10
  72. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +65 -72
  74. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js +2 -1
  76. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  79. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +19 -8
  80. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/Converter.js +11 -8
  82. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +58 -55
  84. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  85. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -16
  86. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  87. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.d.ts +1 -2
  88. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js +4 -1
  89. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +11 -18
  91. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  92. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +1 -0
  94. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +12 -1
  95. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +4 -1
  97. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +1 -0
  99. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +14 -2
  100. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +23 -0
  102. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +36 -36
  103. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +21 -23
  105. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  106. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js +4 -1
  107. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  108. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +5 -3
  109. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/index.d.ts +2 -0
  111. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  112. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +6 -4
  113. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  114. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  115. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  116. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +21 -18
  117. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  118. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +4 -1
  119. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +11 -13
  120. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  121. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  122. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  123. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js +4 -1
  124. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  125. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  126. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +48 -13
  127. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  128. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  129. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  130. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  131. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js +2 -0
  132. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +5 -8
  134. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +7 -2
  136. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  137. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  139. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js +4 -1
  140. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  141. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +17 -16
  142. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  143. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  144. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +16 -15
  145. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  146. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  147. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +59 -68
  148. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  149. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +115 -121
  150. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  151. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +2 -0
  152. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  153. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  154. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js +2 -0
  155. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  156. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js +2 -0
  157. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js +2 -0
  159. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js +2 -0
  161. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js +2 -0
  163. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js +2 -0
  165. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  166. package/dist/dist-esm/communication-react/src/index.d.ts +16 -0
  167. package/dist/dist-esm/communication-react/src/index.js +10 -0
  168. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  169. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  171. package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.d.ts +69 -0
  172. package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.js +35 -0
  173. package/dist/dist-esm/react-components/src/components/BrowserPermissionDenied.js.map +1 -0
  174. package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.d.ts +75 -0
  175. package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.js +57 -0
  176. package/dist/dist-esm/react-components/src/components/BrowserPermissionDeniedIOS.js.map +1 -0
  177. package/dist/dist-esm/react-components/src/components/CameraButton.js +10 -9
  178. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +7 -8
  180. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +38 -17
  182. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +12 -5
  184. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +26 -31
  186. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  187. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +63 -28
  188. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  189. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +9 -12
  190. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  192. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +19 -10
  194. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +4 -3
  196. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ControlBar.js +13 -15
  201. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  203. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +6 -15
  205. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js +5 -8
  207. package/dist/dist-esm/react-components/src/components/DevicePermissionDropdown.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/DevicesButton.js +7 -30
  209. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +48 -48
  211. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/DomainPermissions.d.ts +57 -0
  213. package/dist/dist-esm/react-components/src/components/DomainPermissions.js +47 -0
  214. package/dist/dist-esm/react-components/src/components/DomainPermissions.js.map +1 -0
  215. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  217. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +12 -9
  219. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  221. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -3
  223. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/components/EndCallButton.js +5 -8
  226. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/ErrorBar.js +4 -6
  228. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/components/FileCard.js +4 -4
  230. package/dist/dist-esm/react-components/src/components/FileCard.js.map +1 -1
  231. package/dist/dist-esm/react-components/src/components/FileCardGroup.js +1 -1
  232. package/dist/dist-esm/react-components/src/components/FileCardGroup.js.map +1 -1
  233. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +14 -10
  234. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/FileUploadCards.js +10 -8
  236. package/dist/dist-esm/react-components/src/components/FileUploadCards.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/GridLayout.js +55 -44
  238. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +4 -3
  240. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
  242. package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
  243. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
  244. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -8
  245. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  246. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +6 -12
  247. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -5
  249. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +28 -9
  251. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js +27 -36
  253. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +23 -1
  255. package/dist/dist-esm/react-components/src/components/MessageThread.js +182 -110
  256. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  257. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +17 -11
  258. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  259. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +137 -137
  260. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  261. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +15 -0
  262. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +19 -16
  263. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/ParticipantList.js +25 -9
  265. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +44 -31
  267. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  269. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  271. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +18 -5
  273. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  274. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +6 -4
  275. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -12
  277. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  278. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +35 -0
  279. package/dist/dist-esm/react-components/src/components/SendBox.js +37 -10
  280. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +4 -3
  282. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/StreamMedia.js +5 -4
  285. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  287. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  288. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.d.ts +2 -1
  289. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +28 -16
  290. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  291. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +15 -9
  292. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  293. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.d.ts +32 -0
  294. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +33 -0
  295. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -0
  296. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  297. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  299. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +13 -6
  303. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/VideoGallery.js +97 -44
  305. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  306. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +7 -0
  307. package/dist/dist-esm/react-components/src/components/VideoTile.js +28 -31
  308. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js +4 -10
  310. package/dist/dist-esm/react-components/src/components/VoiceOverButton.js.map +1 -1
  311. package/dist/dist-esm/react-components/src/components/index.d.ts +13 -0
  312. package/dist/dist-esm/react-components/src/components/index.js +10 -0
  313. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  315. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  316. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  317. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -12
  318. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js +2 -0
  320. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  322. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.d.ts +34 -0
  323. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js +83 -0
  324. package/dist/dist-esm/react-components/src/components/styles/DomainPermissions.styles.js.map +1 -0
  325. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  326. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  327. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js +2 -0
  328. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/styles/IconButton.styles.js.map +1 -1
  330. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +1 -4
  331. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  332. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +10 -11
  334. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +0 -1
  336. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
  339. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +0 -3
  341. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  343. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +0 -1
  344. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  345. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.d.ts +22 -0
  347. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js +53 -0
  348. package/dist/dist-esm/react-components/src/components/styles/UnsupportedBrowser.styles.js.map +1 -0
  349. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +18 -39
  350. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  351. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/styles/VoiceOverButton.style.js.map +1 -1
  353. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +10 -4
  354. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  355. package/dist/dist-esm/react-components/src/components/utils/common.js +6 -0
  356. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  357. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js +10 -5
  359. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -7
  361. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  363. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  364. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  365. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js +1 -3
  367. package/dist/dist-esm/react-components/src/components/utils/videoTileStylesUtils.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/utils.js +15 -11
  369. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +21 -13
  371. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  374. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/index.d.ts +2 -0
  376. package/dist/dist-esm/react-components/src/index.js +2 -0
  377. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +26 -0
  379. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  380. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -1
  382. package/dist/dist-esm/react-components/src/localization/locales/index.js +16 -42
  383. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.d.ts +60 -0
  385. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js +74 -0
  386. package/dist/dist-esm/react-components/src/permissions/PermissionsProvider.js.map +1 -0
  387. package/dist/dist-esm/react-components/src/permissions/index.d.ts +2 -0
  388. package/dist/dist-esm/react-components/src/permissions/index.js +4 -0
  389. package/dist/dist-esm/react-components/src/permissions/index.js.map +1 -0
  390. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +7 -8
  391. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/theming/icons.d.ts +12 -0
  393. package/dist/dist-esm/react-components/src/theming/icons.js +101 -12
  394. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/theming/themeUtils.js +4 -1
  397. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/theming/themes.js +2 -0
  399. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +7 -0
  401. package/dist/dist-esm/react-components/src/types/ChatMessage.js +2 -0
  402. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  403. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js +2 -0
  405. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +3 -0
  407. package/dist/dist-esm/react-components/src/types/OnRender.js +2 -0
  408. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js +2 -0
  410. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +6 -0
  413. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +81 -0
  416. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +107 -19
  417. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  418. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +120 -0
  419. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +28 -4
  421. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +148 -41
  422. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  423. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +44 -1
  424. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +11 -1
  425. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  426. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  427. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  428. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -0
  430. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  431. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -0
  432. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +74 -10
  433. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  434. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +2 -0
  435. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +136 -13
  436. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  437. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.d.ts +24 -0
  438. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js +80 -0
  439. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallPane.js.map +1 -0
  440. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.d.ts +1 -0
  441. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js +23 -0
  442. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageCameraDropdown.js.map +1 -1
  443. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.d.ts +28 -0
  444. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js +32 -0
  445. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageErrorBar.js.map +1 -0
  446. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.d.ts +1 -0
  447. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js +25 -0
  448. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationpageMicDropdown.js.map +1 -1
  449. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  450. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  451. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +12 -0
  452. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
  453. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
  454. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +3 -3
  455. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  456. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +35 -23
  457. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  458. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  459. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +69 -20
  460. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  461. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +16 -21
  462. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  463. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +4 -14
  464. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  466. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +4 -3
  468. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  469. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  470. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  471. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -1
  472. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  473. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +17 -0
  474. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +63 -0
  475. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -0
  476. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +41 -4
  477. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  478. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +5 -2
  479. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  480. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +12 -8
  481. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  482. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  483. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  484. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +8 -0
  485. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
  486. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
  487. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +3 -1
  488. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  489. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +7 -9
  490. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +29 -6
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.d.ts +16 -0
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js +38 -0
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSidePaneState.js.map +1 -0
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +2 -0
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +10 -4
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +8 -0
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +110 -12
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +15 -0
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +36 -0
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
  510. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +1 -0
  511. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +21 -8
  512. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  513. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +2 -2
  514. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  515. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +13 -0
  516. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +26 -0
  517. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  518. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  519. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  520. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  521. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +2 -0
  522. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  523. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  524. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  525. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  526. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  527. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  528. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  529. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  530. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +2 -2
  531. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +13 -6
  532. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  533. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +1 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +3 -1
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +4 -4
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +2 -0
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -2
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +2 -2
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +2 -2
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  549. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  550. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  551. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +2 -2
  552. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  553. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  554. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  555. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.d.ts +6 -2
  556. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +11 -10
  557. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  558. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +2 -6
  559. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  560. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js +2 -0
  561. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  562. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +4 -2
  563. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  564. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -4
  565. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  566. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
  567. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
  568. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
  569. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +3 -4
  570. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  571. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  572. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  573. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  574. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js +2 -0
  575. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  576. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +0 -1
  577. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  578. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +23 -3
  579. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js +2 -0
  580. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  581. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  582. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +51 -17
  583. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  584. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  585. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +78 -4
  586. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +77 -18
  587. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  588. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +1 -0
  589. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +43 -16
  590. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
  591. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.d.ts +2 -0
  592. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js +35 -13
  593. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatPane.js.map +1 -1
  594. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js +1 -1
  595. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton.js.map +1 -1
  596. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js +11 -7
  597. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  598. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js +2 -0
  599. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  600. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +67 -0
  601. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +75 -0
  602. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +1 -0
  603. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js +3 -6
  604. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/NotificationIcon.js.map +1 -1
  605. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js +1 -1
  606. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PeopleButton.js.map +1 -1
  607. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.d.ts +1 -0
  608. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/PreparedMoreDrawer.js.map +1 -1
  609. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
  610. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  611. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +22 -4
  612. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +138 -10
  613. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  614. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +56 -0
  615. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  616. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +9 -2
  617. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +36 -1
  618. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  619. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +9 -0
  620. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +34 -1
  621. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  622. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +4 -2
  623. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  624. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +13 -0
  625. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +65 -0
  626. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +1 -0
  627. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +67 -21
  628. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
  629. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js +2 -1
  630. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  631. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -0
  632. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  633. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +3 -1
  634. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +11 -0
  636. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +10 -2
  637. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -2
  639. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +2 -13
  640. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  641. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
  642. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +8 -2
  643. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  644. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  645. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +41 -9
  647. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  648. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  649. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  650. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  651. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +15 -0
  652. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +21 -0
  653. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -0
  654. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
  655. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +9 -0
  657. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +111 -36
  658. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  659. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +28 -0
  660. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +156 -1
  661. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  662. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +13 -2
  663. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js +2 -0
  664. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  665. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +7 -0
  666. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +18 -6
  669. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js +2 -0
  671. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadHandler.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  673. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +6 -6
  674. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  675. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +5 -1
  676. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  677. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  678. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
  679. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
  680. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
  681. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +3 -0
  682. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  683. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
  684. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +13 -0
  685. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
  686. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +23 -0
  687. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +12 -0
  688. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -0
  689. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  690. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  691. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +5 -1
  692. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -6
  693. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +22 -0
  695. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +105 -0
  696. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
  697. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
  698. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
  699. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
  700. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +10 -4
  701. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  702. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +6 -14
  703. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
  705. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +60 -0
  706. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
  707. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
  708. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
  709. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
  710. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +3 -5
  711. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +22 -6
  713. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  714. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +6 -8
  717. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  718. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +7 -1
  719. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +26 -7
  720. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +17 -0
  722. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +42 -0
  723. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -0
  724. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +11 -0
  725. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +40 -0
  726. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -0
  727. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.d.ts +2 -1
  728. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +6 -18
  729. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +2 -1
  731. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +10 -8
  732. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +25 -1
  735. package/dist/dist-esm/react-composites/src/composites/common/icons.js +21 -6
  736. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js +2 -0
  738. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +5 -16
  740. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +12 -51
  742. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  743. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +5 -22
  744. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  745. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +6 -22
  746. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  747. package/dist/dist-esm/react-composites/src/composites/common/utils.js +17 -12
  748. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  749. package/dist/dist-esm/react-composites/src/composites/index.js +2 -0
  750. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  751. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  752. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -2
  755. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -2
  756. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -2
  757. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -2
  758. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js +2 -0
  759. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -2
  761. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -2
  762. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +2 -2
  763. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -2
  764. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -2
  765. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -2
  766. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -2
  767. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -2
  768. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -2
  769. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  770. package/package.json +14 -14
@@ -17,6 +17,7 @@
17
17
 
18
18
  /// <reference types="react" />
19
19
 
20
+ import { AddPhoneNumberOptions } from '@azure/communication-calling';
20
21
  import { AudioDeviceInfo } from '@azure/communication-calling';
21
22
  import { Call } from '@azure/communication-calling';
22
23
  import { CallAgent } from '@azure/communication-calling';
@@ -42,18 +43,24 @@ import { CreateViewOptions } from '@azure/communication-calling';
42
43
  import { DeviceAccess } from '@azure/communication-calling';
43
44
  import { DeviceManager } from '@azure/communication-calling';
44
45
  import { DominantSpeakersInfo } from '@azure/communication-calling';
46
+ import { DtmfTone as DtmfTone_2 } from '@azure/communication-calling';
45
47
  import { GroupCallLocator } from '@azure/communication-calling';
46
48
  import { IButtonProps } from '@fluentui/react';
47
49
  import { IButtonStyles } from '@fluentui/react';
48
50
  import { IContextualMenuItem } from '@fluentui/react';
49
51
  import { IContextualMenuItemStyles } from '@fluentui/react';
50
52
  import { IContextualMenuStyles } from '@fluentui/react';
53
+ import { IDropdownOption } from '@fluentui/react';
54
+ import { IDropdownStyles } from '@fluentui/react';
55
+ import { ILinkStyles } from '@fluentui/react';
51
56
  import { IMessageBarProps } from '@fluentui/react';
57
+ import { IncomingCall } from '@azure/communication-calling';
52
58
  import { IPersonaStyleProps } from '@fluentui/react';
53
59
  import { IPersonaStyles } from '@fluentui/react';
54
60
  import { IRenderFunction } from '@fluentui/react';
55
61
  import { IStyle } from '@fluentui/react';
56
62
  import { IStyleFunctionOrObject } from '@fluentui/react';
63
+ import { ITextFieldStyles } from '@fluentui/react';
57
64
  import { LatestMediaDiagnostics } from '@azure/communication-calling';
58
65
  import { LatestNetworkDiagnostics } from '@azure/communication-calling';
59
66
  import type { MediaDiagnosticChangedEventArgs } from '@azure/communication-calling';
@@ -61,6 +68,7 @@ import { MediaStreamType } from '@azure/communication-calling';
61
68
  import { MicrosoftTeamsUserKind } from '@azure/communication-common';
62
69
  import type { NetworkDiagnosticChangedEventArgs } from '@azure/communication-calling';
63
70
  import { PartialTheme } from '@fluentui/react';
71
+ import { ParticipantRole } from '@azure/communication-calling';
64
72
  import { PermissionConstraints } from '@azure/communication-calling';
65
73
  import { PersonaInitialsColor } from '@fluentui/react';
66
74
  import { PersonaPresence } from '@fluentui/react';
@@ -71,6 +79,7 @@ import { PropertyChangedEvent } from '@azure/communication-calling';
71
79
  import { default as React_2 } from 'react';
72
80
  import type { RemoteParticipant } from '@azure/communication-calling';
73
81
  import { RemoteParticipantState as RemoteParticipantState_2 } from '@azure/communication-calling';
82
+ import { RoomCallLocator } from '@azure/communication-calling';
74
83
  import { ScalingMode } from '@azure/communication-calling';
75
84
  import { SendMessageOptions } from '@azure/communication-chat';
76
85
  import { StartCallOptions } from '@azure/communication-calling';
@@ -102,6 +111,38 @@ export declare interface ActiveErrorMessage {
102
111
  timestamp?: Date;
103
112
  }
104
113
 
114
+ /**
115
+ * Attributes required for SendBox to show file uploads like name, progress etc.
116
+ * @beta
117
+ */
118
+ export declare interface ActiveFileUpload {
119
+ /**
120
+ * Unique identifier for the file upload.
121
+ */
122
+ id: string;
123
+ /**
124
+ * File name to be rendered for uploaded file.
125
+ */
126
+ filename: string;
127
+ /**
128
+ * A number between 0 and 1 indicating the progress of the upload.
129
+ * This is unrelated to the `uploadComplete` property.
130
+ * It is only used to show the progress of the upload.
131
+ * Progress of 1 doesn't mark the upload as complete, set the `uploadComplete`
132
+ * property to true to mark the upload as complete.
133
+ */
134
+ progress: number;
135
+ /**
136
+ * Error to be displayed to the user if the upload fails.
137
+ */
138
+ error?: SendBoxErrorBarError;
139
+ /**
140
+ * `true` means that the upload is completed.
141
+ * This is independent of the upload `progress`.
142
+ */
143
+ uploadComplete?: boolean;
144
+ }
145
+
105
146
  /**
106
147
  * Error reported via error events and stored in adapter state.
107
148
  *
@@ -218,6 +259,7 @@ export declare type AzureCommunicationCallAdapterArgs = {
218
259
  displayName: string;
219
260
  credential: CommunicationTokenCredential;
220
261
  locator: CallAdapterLocator;
262
+ alternateCallerId?: string;
221
263
  };
222
264
 
223
265
  /**
@@ -231,6 +273,7 @@ export declare type AzureCommunicationCallWithChatAdapterArgs = {
231
273
  displayName: string;
232
274
  credential: CommunicationTokenCredential;
233
275
  locator: CallAndChatLocator | TeamsMeetingLinkLocator;
276
+ alternateCallerId?: string;
234
277
  };
235
278
 
236
279
  /**
@@ -314,6 +357,136 @@ export declare interface BaseCustomStyles {
314
357
  root?: IStyle;
315
358
  }
316
359
 
360
+ /**
361
+ * @beta
362
+ * Props for BrowserPermissionDeniedIOS component.
363
+ */
364
+ export declare interface BrowserPermissionDeniedIOSProps extends BrowserPermissionDeniedProps {
365
+ /**
366
+ * Localization strings for BrowserPermissionDeniedIOS component.
367
+ */
368
+ strings: BrowserPermissionDeniedIOSStrings;
369
+ /**
370
+ * Link to image source.
371
+ *
372
+ * Image is inserted into the top of the component.
373
+ */
374
+ imageSource?: string;
375
+ }
376
+
377
+ /**
378
+ * @beta
379
+ * Strings for BrowserPermissionDeniedIOS component
380
+ */
381
+ export declare interface BrowserPermissionDeniedIOSStrings extends BrowserPermissionDeniedStrings {
382
+ /**
383
+ * Image alt text
384
+ */
385
+ imageAltText: string;
386
+ /**
387
+ * Main text string.
388
+ */
389
+ primaryText: string;
390
+ /**
391
+ * Subtext string.
392
+ */
393
+ secondaryText: string;
394
+ /**
395
+ * Step 1 string
396
+ */
397
+ step1Text: string;
398
+ /**
399
+ * Step 1 digit string
400
+ */
401
+ step1DigitText: string;
402
+ /**
403
+ * Step 2 string
404
+ */
405
+ step2Text: string;
406
+ /**
407
+ * Step 2 digit string
408
+ */
409
+ step2DigitText: string;
410
+ /**
411
+ * Step 3 string
412
+ */
413
+ step3Text: string;
414
+ /**
415
+ * Step 3 digit string
416
+ */
417
+ step3DigitText: string;
418
+ /**
419
+ * Step 4 string
420
+ */
421
+ step4Text: string;
422
+ /**
423
+ * Step 4 digit string
424
+ */
425
+ step4DigitText: string;
426
+ }
427
+
428
+ /**
429
+ * @beta
430
+ * Props for BrowserPermissionDenied component.
431
+ */
432
+ export declare interface BrowserPermissionDeniedProps {
433
+ /**
434
+ * Action to be taken by the more help link. Possible to send to external page or show other modal.
435
+ */
436
+ onTroubleshootingClick: () => void;
437
+ /**
438
+ * Action to be taken by the try again primary button.
439
+ */
440
+ onTryAgainClick: () => void;
441
+ /**
442
+ * Localization strings for BrowserPermissionDenied component.
443
+ */
444
+ strings: BrowserPermissionDeniedStrings;
445
+ /**
446
+ * Allows users to pass in an object contains custom CSS styles.
447
+ * @Example
448
+ * ```
449
+ * <BrowserPermissionDenied styles={{ primaryButton: { root: {backgroundColor: 'blue' }}}} />
450
+ * ```
451
+ */
452
+ styles?: BrowserPermissionDeniedStyles;
453
+ }
454
+
455
+ /**
456
+ * @beta
457
+ * Strings for BrowserPermissionDenied component
458
+ */
459
+ export declare interface BrowserPermissionDeniedStrings {
460
+ /**
461
+ * Main button text string.
462
+ */
463
+ primaryButtonText: string;
464
+ /**
465
+ * Main text string.
466
+ */
467
+ primaryText: string;
468
+ /**
469
+ * Subtext string.
470
+ */
471
+ secondaryText: string;
472
+ /**
473
+ * More help link string.
474
+ */
475
+ linkText: string;
476
+ }
477
+
478
+ /**
479
+ * Fluent styles for {@link BrowserPermissionDenied}.
480
+ *
481
+ * @beta
482
+ */
483
+ export declare interface BrowserPermissionDeniedStyles extends BaseCustomStyles {
484
+ /** Styles for the primary button. */
485
+ primaryButton?: IButtonStyles;
486
+ /** Styles for the help troubleshooting link text. */
487
+ troubleshootingLink?: ILinkStyles;
488
+ }
489
+
317
490
  /**
318
491
  * {@link CallComposite} Adapter interface.
319
492
  *
@@ -389,6 +562,12 @@ export declare interface CallAdapterCallManagement {
389
562
  * @public
390
563
  */
391
564
  startCall(participants: string[], options?: StartCallOptions): Call | undefined;
565
+ /**
566
+ * Start the call.
567
+ * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called
568
+ * @beta
569
+ */
570
+ startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): Call | undefined;
392
571
  /**
393
572
  * Start sharing the screen during a call.
394
573
  *
@@ -409,6 +588,12 @@ export declare interface CallAdapterCallManagement {
409
588
  * @public
410
589
  */
411
590
  removeParticipant(userId: string): Promise<void>;
591
+ /**
592
+ * Remove a participant from the call.
593
+ * @param participant - {@link @azure/communication-common#CommunicationIdentifier} of the participant to be removed
594
+ * @beta
595
+ */
596
+ removeParticipant(participant: CommunicationIdentifier): Promise<void>;
412
597
  /**
413
598
  * Create the html view for a stream.
414
599
  *
@@ -433,6 +618,31 @@ export declare interface CallAdapterCallManagement {
433
618
  * @public
434
619
  */
435
620
  disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void>;
621
+ /**
622
+ * Holds the call.
623
+ *
624
+ * @beta
625
+ */
626
+ holdCall(): Promise<void>;
627
+ /**
628
+ * Resumes the call from a `LocalHold` state.
629
+ *
630
+ * @beta
631
+ */
632
+ resumeCall(): Promise<void>;
633
+ /**
634
+ * Add a participant to the call.
635
+ *
636
+ * @beta
637
+ */
638
+ addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;
639
+ addParticipant(participant: CommunicationUserIdentifier): Promise<void>;
640
+ /**
641
+ * send dtmf tone to another participant in a 1:1 PSTN call
642
+ *
643
+ * @beta
644
+ */
645
+ sendDtmfTone(dtmfTone: DtmfTone_2): Promise<void>;
436
646
  }
437
647
 
438
648
  /**
@@ -451,6 +661,10 @@ export declare type CallAdapterClientState = {
451
661
  * Latest error encountered for each operation performed via the adapter.
452
662
  */
453
663
  latestErrors: AdapterErrors;
664
+ /**
665
+ * Azure communications Phone number to make PSTN calls with.
666
+ */
667
+ alternateCallerId?: string;
454
668
  };
455
669
 
456
670
  /**
@@ -535,7 +749,7 @@ export declare interface CallAdapterDeviceManagement {
535
749
  *
536
750
  * @public
537
751
  */
538
- export declare type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator;
752
+ export declare type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator | /* @conditional-compile-remove(rooms) */ RoomCallLocator | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */ CallParticipantsLocator;
539
753
 
540
754
  /**
541
755
  * {@link CallAdapter} state.
@@ -713,7 +927,7 @@ export declare interface CallAgentState {
713
927
  */
714
928
  export declare interface CallAndChatLocator {
715
929
  /** Locator used by {@link createAzureCommunicationCallWithChatAdapter} to locate the call to join */
716
- callLocator: GroupCallLocator;
930
+ callLocator: GroupCallLocator | /* @conditional-compile-remove(teams-adhoc-call) */ CallParticipantsLocator;
717
931
  /** Chat thread ID used by {@link createAzureCommunicationCallWithChatAdapter} to locate the chat thread to join */
718
932
  chatThreadId: string;
719
933
  }
@@ -800,6 +1014,12 @@ export declare interface CallClientState {
800
1014
  * See documentation of {@Link CallErrors} for details.
801
1015
  */
802
1016
  latestErrors: CallErrors;
1017
+ /**
1018
+ * A phone number in E.164 format that will be used to represent callers identity.
1019
+ * For example, using the alternateCallerId to add a participant using PSTN, this number will
1020
+ * be used as the caller id in the PSTN call.
1021
+ */
1022
+ alternateCallerId?: string;
803
1023
  }
804
1024
 
805
1025
  /**
@@ -863,6 +1083,10 @@ export declare type CallCompositeIcons = {
863
1083
  ParticipantItemScreenShareStart?: JSX.Element;
864
1084
  VideoTileMicOff?: JSX.Element;
865
1085
  LocalCameraSwitch?: JSX.Element;
1086
+ PeoplePaneAddPerson?: JSX.Element;
1087
+ PeoplePaneOpenDialpad?: JSX.Element;
1088
+ DialpadStartCall?: JSX.Element;
1089
+ NoticePageInvalidRoom?: JSX.Element;
866
1090
  };
867
1091
 
868
1092
  /**
@@ -883,6 +1107,60 @@ export declare type CallCompositeOptions = {
883
1107
  * @defaultValue true
884
1108
  */
885
1109
  callControls?: boolean | CallControlOptions;
1110
+ /**
1111
+ * Device permission restrictions for your call.
1112
+ * Require device permissions to be set or have them as optional or not required to start a call
1113
+ */
1114
+ devicePermissions?: DevicePermissionRestrictions;
1115
+ /**
1116
+ * Opt in call readiness feature for your call
1117
+ * Setting this to `true` will add call readiness features to the call experience
1118
+ */
1119
+ callReadinessOptedIn?: boolean;
1120
+ /**
1121
+ * Callback you may provide to supply users with further steps to troubleshoot why they have been
1122
+ * unable to grant your site the required permissions for the call.
1123
+ *
1124
+ * @example
1125
+ * ```ts
1126
+ * onPermissionsTroubleshootingClick: () =>
1127
+ * window.open('https://contoso.com/permissions-troubleshooting', '_blank');
1128
+ * ```
1129
+ *
1130
+ * @remarks
1131
+ * if this is not supplied, the composite will not show a 'further troubleshooting' link.
1132
+ */
1133
+ onPermissionsTroubleshootingClick?: (permissionsState: {
1134
+ camera: PermissionState;
1135
+ microphone: PermissionState;
1136
+ }) => void;
1137
+ /**
1138
+ * Callback you may provide to supply users with further steps to troubleshoot why they have been
1139
+ * having network issues when connecting to the call.
1140
+ *
1141
+ * @example
1142
+ * ```ts
1143
+ * onNetworkingTroubleShootingClick?: () =>
1144
+ * window.open('https://contoso.com/network-troubleshooting', '_blank');
1145
+ * ```
1146
+ *
1147
+ * @remarks
1148
+ * if this is not supplied, the composite will not show a 'network troubleshooting' link.
1149
+ */
1150
+ onNetworkingTroubleShootingClick?: () => void;
1151
+ /**
1152
+ * Callback you may provide to supply users with a provided page to showcase supported browsers by ACS.
1153
+ *
1154
+ * @example
1155
+ * ```ts
1156
+ * onBrowserTroubleShootingClick?: () =>
1157
+ * window.open('https://contoso.com/browser-troubleshooting', '_blank');
1158
+ * ```
1159
+ *
1160
+ * @remarks
1161
+ * if this is not supplied, the composite will not show a unsupported browser page.
1162
+ */
1163
+ onEnvironmentInfoTroubleshootingClick?: () => void;
886
1164
  };
887
1165
 
888
1166
  /**
@@ -890,7 +1168,7 @@ export declare type CallCompositeOptions = {
890
1168
  *
891
1169
  * @public
892
1170
  */
893
- export declare type CallCompositePage = 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'lobby' | 'removedFromCall';
1171
+ export declare type CallCompositePage = 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | /* @conditional-compile-remove(PSTN-calls) */ 'hold' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'lobby' | /* @conditional-compile-remove(rooms) */ 'deniedPermissionToRoom' | 'removedFromCall' | /* @conditional-compile-remove(rooms) */ 'roomNotFound' | /* @conditional-compile-remove(unsupported-browser) */ 'unsupportedEnvironment';
894
1172
 
895
1173
  /**
896
1174
  * Props for {@link CallComposite}.
@@ -918,6 +1196,10 @@ export declare interface CallCompositeProps extends BaseCompositeProps<CallCompo
918
1196
  * Flags to enable/disable or customize UI elements of the {@link CallComposite}.
919
1197
  */
920
1198
  options?: CallCompositeOptions;
1199
+ /**
1200
+ * Set this to enable/disable capacities for different roles
1201
+ */
1202
+ role?: Role;
921
1203
  }
922
1204
 
923
1205
  /**
@@ -1092,10 +1374,130 @@ export declare interface CallCompositeStrings {
1092
1374
  * Tooltip text used to inform a user that toggling microphone in lobby is not supported.
1093
1375
  */
1094
1376
  microphoneToggleInLobbyNotAllowed: string;
1377
+ /**
1378
+ * Side pane People section Title.
1379
+ */
1380
+ peoplePaneTitle: string;
1381
+ /**
1382
+ * Aria label string for return to call back button
1383
+ */
1384
+ returnToCallButtonAriaLabel?: string;
1385
+ /**
1386
+ * Aria Description string for return to call button
1387
+ */
1388
+ returnToCallButtonAriaDescription?: string;
1389
+ /**
1390
+ * control bar People button label
1391
+ */
1392
+ peopleButtonLabel: string;
1393
+ /**
1394
+ * control bar Chat button label.
1395
+ */
1396
+ chatButtonLabel: string;
1397
+ /**
1398
+ * Label for SidePaneHeader dismiss button
1399
+ */
1400
+ dismissSidePaneButtonLabel?: string;
1401
+ /**
1402
+ * Side pane People section subheader.
1403
+ */
1404
+ peoplePaneSubTitle: string;
1405
+ /**
1406
+ * Label for button to copy invite link
1407
+ */
1408
+ copyInviteLinkButtonLabel: string;
1409
+ /**
1410
+ * Label for button to open dialpad
1411
+ */
1412
+ openDialpadButtonLabel: string;
1413
+ /**
1414
+ * Label for menu item to remove participant
1415
+ */
1416
+ removeMenuLabel: string;
1417
+ /**
1418
+ * Label for add people dropdown
1419
+ */
1420
+ peoplePaneAddPeopleButtonLabel: string;
1421
+ /**
1422
+ * Label for button to start a call
1423
+ */
1424
+ dialpadStartCallButtonLabel: string;
1425
+ /**
1426
+ * Title for dialpad Modal
1427
+ */
1428
+ dialpadModalTitle: string;
1429
+ /**
1430
+ * Aria Label for dialpad Modal
1431
+ */
1432
+ dialpadModalAriaLabel: string;
1433
+ /**
1434
+ * Aria Label for dialpad Modal close button
1435
+ */
1436
+ dialpadCloseModalButtonAriaLabel: string;
1437
+ /**
1438
+ * label for more button in the Calling composite
1439
+ */
1440
+ moreButtonCallingLabel: string;
1441
+ /**
1442
+ * Label for the resume call button on the hold pane
1443
+ */
1444
+ resumeCallButtonLabel: string;
1445
+ /**
1446
+ * Label for the resume call button on the hold pane when call is resuming
1447
+ */
1448
+ resumingCallButtonLabel: string;
1449
+ /**
1450
+ * Aria label for the resume call button on the hold pane
1451
+ */
1452
+ resumeCallButtonAriaLabel: string;
1453
+ /**
1454
+ * Aria label for the resume call button on the hold pane when call is resuming
1455
+ */
1456
+ resumingCallButtonAriaLabel: string;
1457
+ /**
1458
+ * Label for the hold pane
1459
+ */
1460
+ holdScreenLabel: string;
1461
+ /**
1462
+ * Placeholder text for dtmf dialpad
1463
+ */
1464
+ dtmfDialpadPlaceholderText: string;
1465
+ /**
1466
+ * Label for the button to open dtmf dialpad
1467
+ */
1468
+ openDtmfDialpadLabel: string;
1095
1469
  /**
1096
1470
  * aria label for when the invite link has been actioned
1097
1471
  */
1098
1472
  copyInviteLinkActionedAriaLabel: string;
1473
+ /**
1474
+ * Title text of the page shown to the user when the user attempts to join a room that cannot be found.
1475
+ */
1476
+ roomNotFoundTitle: string;
1477
+ /**
1478
+ * More details text of the page shown to the user when the user attempts to join a room that cannot be found.
1479
+ */
1480
+ roomNotFoundDetails?: string;
1481
+ /**
1482
+ * Title text of the page shown to the user when the user attempts to join a room to which they are not invited.
1483
+ */
1484
+ deniedPermissionToRoomTitle: string;
1485
+ /**
1486
+ * More details text of the page shown to the user when the user attempts to join a room to which they are not invited.
1487
+ */
1488
+ deniedPermissionToRoomDetails?: string;
1489
+ /**
1490
+ * Control bar People button ToolTipContent
1491
+ */
1492
+ peopleButtonTooltipOpen: string;
1493
+ /**
1494
+ * Control bar People button ToolTipContent
1495
+ */
1496
+ peopleButtonTooltipClose: string;
1497
+ /**
1498
+ * Label disaplayed on the lobby screen during a 1:1 outbound call.
1499
+ */
1500
+ outboundCallingNoticeString: string;
1099
1501
  }
1100
1502
 
1101
1503
  /**
@@ -1125,7 +1527,9 @@ export declare type CallControlOptions = {
1125
1527
  * Show or Hide Camera Button during a call
1126
1528
  * @defaultValue true
1127
1529
  */
1128
- cameraButton?: boolean;
1530
+ cameraButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
1531
+ disabled: boolean;
1532
+ };
1129
1533
  /**
1130
1534
  * Show or Hide EndCall button during a call.
1131
1535
  * @defaultValue true
@@ -1135,12 +1539,16 @@ export declare type CallControlOptions = {
1135
1539
  * Show or Hide Microphone button during a call.
1136
1540
  * @defaultValue true
1137
1541
  */
1138
- microphoneButton?: boolean;
1542
+ microphoneButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
1543
+ disabled: boolean;
1544
+ };
1139
1545
  /**
1140
1546
  * Show or Hide Devices button during a call.
1141
1547
  * @defaultValue true
1142
1548
  */
1143
- devicesButton?: boolean;
1549
+ devicesButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
1550
+ disabled: boolean;
1551
+ };
1144
1552
  /**
1145
1553
  * Show, Hide or Disable participants button during a call.
1146
1554
  * @defaultValue true
@@ -1155,6 +1563,20 @@ export declare type CallControlOptions = {
1155
1563
  screenShareButton?: boolean | {
1156
1564
  disabled: boolean;
1157
1565
  };
1566
+ /**
1567
+ * Show, Hide or disable the more button during a call.
1568
+ * @defaultValue true
1569
+ */
1570
+ moreButton?: boolean;
1571
+ /**
1572
+ * Inject custom buttons in the call controls.
1573
+ *
1574
+ * @beta
1575
+ */
1576
+ onFetchCustomButtonProps?: CustomCallControlButtonCallback[];
1577
+ holdButton?: boolean | {
1578
+ disabled: boolean;
1579
+ };
1158
1580
  };
1159
1581
 
1160
1582
  /**
@@ -1216,7 +1638,7 @@ export declare type CallErrors = {
1216
1638
  *
1217
1639
  * @public
1218
1640
  */
1219
- export declare type CallErrorTarget = 'Call.addParticipant' | 'Call.feature' | 'Call.hangUp' | 'Call.hold' | 'Call.mute' | 'Call.off' | 'Call.on' | 'Call.removeParticipant' | 'Call.resume' | 'Call.sendDtmf' | 'Call.startScreenSharing' | 'Call.startVideo' | 'Call.stopScreenSharing' | 'Call.stopVideo' | 'Call.unmute' | 'CallAgent.dispose' | 'CallAgent.feature' | 'CallAgent.join' | 'CallAgent.off' | 'CallAgent.on' | 'CallAgent.startCall' | 'CallClient.createCallAgent' | 'CallClient.feature' | 'CallClient.getDeviceManager' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'IncomingCall.accept' | 'IncomingCall.reject';
1641
+ export declare type CallErrorTarget = 'Call.addParticipant' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.dispose' | 'Call.feature' | 'Call.hangUp' | 'Call.hold' | 'Call.mute' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.muteIncomingAudio' | 'Call.off' | 'Call.on' | 'Call.removeParticipant' | 'Call.resume' | 'Call.sendDtmf' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.startAudio' | 'Call.startScreenSharing' | 'Call.startVideo' | 'Call.stopScreenSharing' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.stopAudio' | 'Call.stopVideo' | 'Call.unmute' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.unmuteIncomingAudio' | 'CallAgent.dispose' | 'CallAgent.feature' | 'CallAgent.join' | 'CallAgent.off' | 'CallAgent.on' | 'CallAgent.startCall' | 'CallClient.createCallAgent' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.createTeamsCallAgent' | 'CallClient.feature' | 'CallClient.getDeviceManager' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.getEnvironmentInfo' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'IncomingCall.accept' | 'IncomingCall.reject';
1220
1642
 
1221
1643
  /**
1222
1644
  * Callback for {@link CallAdapterSubscribers} 'callIdChanged' event.
@@ -1256,11 +1678,17 @@ export declare type CallingHandlers = {
1256
1678
  onStopScreenShare: () => Promise<void>;
1257
1679
  onToggleScreenShare: () => Promise<void>;
1258
1680
  onHangUp: (forEveryone?: boolean) => Promise<void>;
1681
+ onToggleHold: () => Promise<void>;
1682
+ onAddParticipant(participant: CommunicationUserIdentifier): Promise<void>;
1683
+ onAddParticipant(participant: PhoneNumberIdentifier, options: AddPhoneNumberOptions): Promise<void>;
1259
1684
  onCreateLocalStreamView: (options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
1260
1685
  onCreateRemoteStreamView: (userId: string, options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
1261
1686
  onRemoveParticipant(userId: string): Promise<void>;
1687
+ onRemoveParticipant(participant: CommunicationIdentifier): Promise<void>;
1262
1688
  onDisposeRemoteStreamView: (userId: string) => Promise<void>;
1263
1689
  onDisposeLocalStreamView: () => Promise<void>;
1690
+ onSendDtmfTone: (dtmfTone: DtmfTone_2) => Promise<void>;
1691
+ askDevicePermission: (constrain: PermissionConstraints) => Promise<void>;
1264
1692
  };
1265
1693
 
1266
1694
  /**
@@ -1300,6 +1728,23 @@ export declare type CallParticipantListParticipant = ParticipantListParticipant
1300
1728
  isSpeaking?: boolean;
1301
1729
  };
1302
1730
 
1731
+ /**
1732
+ * Locator used by {@link createAzureCommunicationCallAdapter} to call one or more participants
1733
+ *
1734
+ * @remarks
1735
+ * This is currently in beta and only supports calling one Teams User.
1736
+ *
1737
+ * @example
1738
+ * ```
1739
+ * ['8:orgid:ab220efe-5725-4742-9792-9fba7c9ac458']
1740
+ * ```
1741
+ *
1742
+ * @beta
1743
+ */
1744
+ export declare type CallParticipantsLocator = {
1745
+ participantIds: string[];
1746
+ };
1747
+
1303
1748
  /**
1304
1749
  * A {@link React.Context} that stores a {@link @azure/communication-calling#Call}.
1305
1750
  *
@@ -1412,6 +1857,10 @@ export declare interface CallState {
1412
1857
  * Stores the latest call diagnostics.
1413
1858
  */
1414
1859
  diagnostics: DiagnosticsCallFeatureState;
1860
+ /**
1861
+ * Proxy of {@link @azure/communication-calling#Call.role}.
1862
+ */
1863
+ role?: ParticipantRole;
1415
1864
  }
1416
1865
 
1417
1866
  /**
@@ -1435,6 +1884,12 @@ export declare interface CallWithChatAdapterManagement {
1435
1884
  * @public
1436
1885
  */
1437
1886
  removeParticipant(userId: string): Promise<void>;
1887
+ /**
1888
+ * Remove a participant from the call.
1889
+ * @param participant - {@link @azure/communication-common#CommunicationIdentifier} of the participant to be removed
1890
+ * @beta
1891
+ */
1892
+ removeParticipant(participant: CommunicationIdentifier): Promise<void>;
1438
1893
  /**
1439
1894
  * Join the call with microphone initially on/off.
1440
1895
  *
@@ -1489,6 +1944,12 @@ export declare interface CallWithChatAdapterManagement {
1489
1944
  * @public
1490
1945
  */
1491
1946
  startCall(participants: string[], options?: StartCallOptions): Call | undefined;
1947
+ /**
1948
+ * Start the call.
1949
+ * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called
1950
+ * @beta
1951
+ */
1952
+ startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): Call | undefined;
1492
1953
  /**
1493
1954
  * Start sharing the screen during a call.
1494
1955
  *
@@ -1641,6 +2102,45 @@ export declare interface CallWithChatAdapterManagement {
1641
2102
  * @public
1642
2103
  */
1643
2104
  loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
2105
+ /** @beta */
2106
+ registerActiveFileUploads: (files: File[]) => FileUploadManager[];
2107
+ /** @beta */
2108
+ registerCompletedFileUploads: (metadata: FileMetadata[]) => FileUploadManager[];
2109
+ /** @beta */
2110
+ clearFileUploads: () => void;
2111
+ /** @beta */
2112
+ cancelFileUpload: (id: string) => void;
2113
+ /** @beta */
2114
+ updateFileUploadProgress: (id: string, progress: number) => void;
2115
+ /** @beta */
2116
+ updateFileUploadErrorMessage: (id: string, errorMessage: string) => void;
2117
+ /** @beta */
2118
+ updateFileUploadMetadata: (id: string, metadata: FileMetadata) => void;
2119
+ /**
2120
+ * Puts the Call in a Localhold.
2121
+ *
2122
+ * @beta
2123
+ */
2124
+ holdCall: () => Promise<void>;
2125
+ /**
2126
+ * Resumes the call from a LocalHold state.
2127
+ *
2128
+ * @beta
2129
+ */
2130
+ resumeCall: () => Promise<void>;
2131
+ /**
2132
+ * Adds a new Participant to the call.
2133
+ *
2134
+ * @beta
2135
+ */
2136
+ addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;
2137
+ addParticipant(participant: CommunicationUserIdentifier): Promise<void>;
2138
+ /**
2139
+ * send dtmf tone to another participant in the call in 1:1 calls
2140
+ *
2141
+ * @beta
2142
+ */
2143
+ sendDtmfTone: (dtmfTone: DtmfTone_2) => Promise<void>;
1644
2144
  }
1645
2145
 
1646
2146
  /**
@@ -1711,6 +2211,14 @@ export declare interface CallWithChatAdapterUiState {
1711
2211
  * @public
1712
2212
  */
1713
2213
  page: CallCompositePage;
2214
+ /**
2215
+ * Files being uploaded by a user in the current thread.
2216
+ * Should be set to null once the upload is complete.
2217
+ * Array of type {@link FileUploadsUiState}
2218
+ *
2219
+ * @beta
2220
+ */
2221
+ fileUploads?: FileUploadsUiState;
1714
2222
  }
1715
2223
 
1716
2224
  /**
@@ -1735,6 +2243,8 @@ export declare interface CallWithChatClientState {
1735
2243
  devices: DeviceManagerState;
1736
2244
  /** State of whether the active call is a Teams interop call */
1737
2245
  isTeamsCall: boolean;
2246
+ /** alternateCallerId for PSTN call */
2247
+ alternateCallerId?: string | undefined;
1738
2248
  }
1739
2249
 
1740
2250
  /**
@@ -1801,6 +2311,9 @@ export declare type CallWithChatCompositeIcons = {
1801
2311
  ParticipantItemScreenShareStart?: JSX.Element;
1802
2312
  VideoTileMicOff?: JSX.Element;
1803
2313
  LocalCameraSwitch?: JSX.Element;
2314
+ PeoplePaneAddPerson?: JSX.Element;
2315
+ PeoplePaneOpenDialpad?: JSX.Element;
2316
+ DialpadStartCall?: JSX.Element;
1804
2317
  EditBoxCancel?: JSX.Element;
1805
2318
  EditBoxSubmit?: JSX.Element;
1806
2319
  MessageDelivered?: JSX.Element;
@@ -1827,6 +2340,53 @@ export declare type CallWithChatCompositeOptions = {
1827
2340
  * If using the boolean values, true will cause default behavior across the whole control bar. False hides the whole control bar.
1828
2341
  */
1829
2342
  callControls?: boolean | CallWithChatControlOptions;
2343
+ /**
2344
+ * Properties for configuring the File Sharing feature.
2345
+ * If undefined, file sharing feature will be disabled.
2346
+ * @beta
2347
+ */
2348
+ fileSharing?: FileSharingOptions;
2349
+ /**
2350
+ * Device permission restrictions for your call.
2351
+ * Require device permissions to be set or have them as optional or not required to start a call
2352
+ */
2353
+ devicePermissions?: DevicePermissionRestrictions;
2354
+ /**
2355
+ * Callback you may provide to supply users with further steps to troubleshoot why they have been
2356
+ * unable to grant your site the required permissions for the call.
2357
+ *
2358
+ * @example
2359
+ * ```ts
2360
+ * onPermissionsTroubleshootingClick: () =>
2361
+ * window.open('https://contoso.com/permissions-troubleshooting', '_blank');
2362
+ * ```
2363
+ *
2364
+ * @remarks
2365
+ * if this is not supplied, the composite will not show a 'further troubleshooting' link.
2366
+ */
2367
+ onPermissionsTroubleshootingClick?: (permissionsState: {
2368
+ camera: PermissionState;
2369
+ microphone: PermissionState;
2370
+ }) => void;
2371
+ /**
2372
+ * Optional callback to supply users with further troubleshooting steps for network issues
2373
+ * experienced when connecting to a call.
2374
+ *
2375
+ * @example
2376
+ * ```ts
2377
+ * onNetworkingTroubleShootingClick?: () =>
2378
+ * window.open('https://contoso.com/network-troubleshooting', '_blank');
2379
+ * ```
2380
+ *
2381
+ * @remarks
2382
+ * if this is not supplied, the composite will not show a 'network troubleshooting' link.
2383
+ */
2384
+ onNetworkingTroubleShootingClick?: () => void;
2385
+ /**
2386
+ * Opt in call readiness feature for your call
2387
+ * setting this to True will add call readiness feature in call experience
2388
+ */
2389
+ callReadinessOptedIn?: boolean;
1830
2390
  };
1831
2391
 
1832
2392
  /**
@@ -1952,6 +2512,10 @@ export declare interface CallWithChatCompositeStrings {
1952
2512
  * Label for button to copy invite link
1953
2513
  */
1954
2514
  copyInviteLinkButtonLabel: string;
2515
+ /**
2516
+ * Label for button to open dialpad
2517
+ */
2518
+ openDialpadButtonLabel: string;
1955
2519
  /**
1956
2520
  * Label for SidePaneHeader dismiss button
1957
2521
  */
@@ -1964,6 +2528,34 @@ export declare interface CallWithChatCompositeStrings {
1964
2528
  * Aria label string for return to call back button
1965
2529
  */
1966
2530
  returnToCallButtonAriaLabel?: string;
2531
+ /**
2532
+ * Label for add people dropdown
2533
+ */
2534
+ peoplePaneAddPeopleButtonLabel: string;
2535
+ /**
2536
+ * Label for button to start a call
2537
+ */
2538
+ dialpadStartCallButtonLabel: string;
2539
+ /**
2540
+ * Title for dialpad Modal
2541
+ */
2542
+ dialpadModalTitle: string;
2543
+ /**
2544
+ * Aria Label for dialpad Modal
2545
+ */
2546
+ dialpadModalAriaLabel: string;
2547
+ /**
2548
+ * Aria Label for dialpad Modal close button
2549
+ */
2550
+ dialpadCloseModalButtonAriaLabel: string;
2551
+ /**
2552
+ * Placeholder text for dtmf dialpad
2553
+ */
2554
+ dtmfDialpadPlaceholderText: string;
2555
+ /**
2556
+ * Label for the button to open dtmf dialpad
2557
+ */
2558
+ openDtmfDialpadLabel: string;
1967
2559
  /**
1968
2560
  * aria label for when the invite link has been actioned
1969
2561
  */
@@ -1990,12 +2582,16 @@ export declare interface CallWithChatControlOptions {
1990
2582
  * Show or Hide Microphone button during a call.
1991
2583
  * @defaultValue true
1992
2584
  */
1993
- microphoneButton?: boolean;
2585
+ microphoneButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
2586
+ disabled: boolean;
2587
+ };
1994
2588
  /**
1995
2589
  * Show or Hide Camera Button during a call
1996
2590
  * @defaultValue true
1997
2591
  */
1998
- cameraButton?: boolean;
2592
+ cameraButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
2593
+ disabled: boolean;
2594
+ };
1999
2595
  /**
2000
2596
  * Show, Hide or Disable the screen share button during a call.
2001
2597
  * @defaultValue true
@@ -2012,12 +2608,32 @@ export declare interface CallWithChatControlOptions {
2012
2608
  * Show or hide the chat button in the call-with-chat composite control bar.
2013
2609
  * @defaultValue true
2014
2610
  */
2015
- chatButton?: boolean;
2611
+ chatButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
2612
+ disabled: boolean;
2613
+ };
2016
2614
  /**
2017
2615
  * Show or hide the people button in the call-with-chat composite control bar.
2018
2616
  * @defaultValue true
2019
2617
  */
2020
- peopleButton?: boolean;
2618
+ peopleButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
2619
+ disabled: boolean;
2620
+ };
2621
+ /**
2622
+ * Inject custom buttons in the call controls.
2623
+ *
2624
+ * @beta
2625
+ */
2626
+ onFetchCustomButtonProps?: CustomCallWithChatControlButtonCallback[];
2627
+ /**
2628
+ * Show or hide the more button in the call-with-chat control bar.
2629
+ */
2630
+ moreButton?: boolean;
2631
+ /**
2632
+ * Show or hide the hold button in the bottom sheet drawer
2633
+ */
2634
+ holdButton?: boolean | {
2635
+ disabled: boolean;
2636
+ };
2021
2637
  }
2022
2638
 
2023
2639
  /**
@@ -2168,7 +2784,7 @@ export declare interface CameraButtonStyles extends ControlBarButtonStyles {
2168
2784
  *
2169
2785
  * @public
2170
2786
  */
2171
- export declare type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable & ChatAdapterSubscribers;
2787
+ export declare type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable & ChatAdapterSubscribers & FileUploadAdapter;
2172
2788
 
2173
2789
  /**
2174
2790
  * {@link ChatAdapter} state.
@@ -2276,7 +2892,9 @@ export declare interface ChatAdapterThreadManagement {
2276
2892
  /**
2277
2893
  * Update a message content.
2278
2894
  */
2279
- updateMessage(messageId: string, content: string, metadata?: Record<string, string>): Promise<void>;
2895
+ updateMessage(messageId: string, content: string, metadata?: Record<string, string>, options?: {
2896
+ attachedFilesMetadata?: FileMetadata[];
2897
+ }): Promise<void>;
2280
2898
  /**
2281
2899
  * Delete a message in the thread.
2282
2900
  */
@@ -2298,6 +2916,13 @@ export declare interface ChatAdapterThreadManagement {
2298
2916
  */
2299
2917
  export declare type ChatAdapterUiState = {
2300
2918
  error?: Error;
2919
+ /**
2920
+ * Files being uploaded by a user in the current thread.
2921
+ * Should be set to null once the upload is complete.
2922
+ * Array of type {@link FileUploadsUiState}
2923
+ * @beta
2924
+ */
2925
+ fileUploads?: FileUploadsUiState;
2301
2926
  };
2302
2927
 
2303
2928
  /**
@@ -2400,6 +3025,7 @@ export declare type ChatCompositeIcons = {
2400
3025
  ParticipantItemOptionsHovered?: JSX.Element;
2401
3026
  SendBoxSend?: JSX.Element;
2402
3027
  SendBoxSendHovered?: JSX.Element;
3028
+ SendBoxAttachFile?: JSX.Element;
2403
3029
  };
2404
3030
 
2405
3031
  /**
@@ -2414,6 +3040,13 @@ export declare type ChatCompositeOptions = {
2414
3040
  * @defaultValue true
2415
3041
  */
2416
3042
  errorBar?: boolean;
3043
+ /**
3044
+ * Show or hide the participant pane. This feature is in beta and not supported on mobile or narrow screen views.
3045
+ * @defaultValue false
3046
+ *
3047
+ * @beta
3048
+ */
3049
+ participantPane?: boolean;
2417
3050
  /**
2418
3051
  * Show or hide the topic at the top of the chat. Hidden if set to `false`
2419
3052
  * @defaultValue true
@@ -2424,6 +3057,12 @@ export declare type ChatCompositeOptions = {
2424
3057
  * When undefined nothing has focus on render
2425
3058
  */
2426
3059
  autoFocus?: 'sendBoxTextField';
3060
+ /**
3061
+ * Properties for configuring the File Sharing feature.
3062
+ * If undefined, file sharing feature will be disabled.
3063
+ * @beta
3064
+ */
3065
+ fileSharing?: FileSharingOptions;
2427
3066
  };
2428
3067
 
2429
3068
  /**
@@ -2451,6 +3090,12 @@ export declare interface ChatCompositeProps extends BaseCompositeProps<ChatCompo
2451
3090
  * Flags to enable/disable visual elements of the {@link ChatComposite}.
2452
3091
  */
2453
3092
  options?: ChatCompositeOptions;
3093
+ /**
3094
+ * Optimizes the composite form factor for either desktop or mobile.
3095
+ * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.
3096
+ * @defaultValue 'desktop'
3097
+ */
3098
+ formFactor?: 'desktop' | 'mobile';
2454
3099
  }
2455
3100
 
2456
3101
  /**
@@ -2465,6 +3110,10 @@ export declare interface ChatCompositeStrings {
2465
3110
  * Chat list header text
2466
3111
  */
2467
3112
  chatListHeader: string;
3113
+ /**
3114
+ * Upload File Button text
3115
+ */
3116
+ uploadFile: string;
2468
3117
  }
2469
3118
 
2470
3119
  /**
@@ -2530,7 +3179,9 @@ export declare type ChatHandlers = {
2530
3179
  onRemoveParticipant: (userId: string) => Promise<void>;
2531
3180
  updateThreadTopicName: (topicName: string) => Promise<void>;
2532
3181
  onLoadPreviousChatMessages: (messagesToLoad: number) => Promise<boolean>;
2533
- onUpdateMessage: (messageId: string, content: string) => Promise<void>;
3182
+ onUpdateMessage: (messageId: string, content: string, metadata?: Record<string, string>, options?: {
3183
+ attachedFilesMetadata?: FileMetadata[];
3184
+ }) => Promise<void>;
2534
3185
  onDeleteMessage: (messageId: string) => Promise<void>;
2535
3186
  };
2536
3187
 
@@ -2556,6 +3207,12 @@ export declare interface ChatMessage extends MessageCommon {
2556
3207
  * {@link @azure/communication-chat#ChatMessage.metadata}
2557
3208
  */
2558
3209
  metadata?: Record<string, string>;
3210
+ /**
3211
+ * @beta
3212
+ * A list of files attached to the message.
3213
+ * {@link FileMetadata}
3214
+ */
3215
+ attachedFilesMetadata?: FileMetadata[];
2559
3216
  }
2560
3217
 
2561
3218
  /**
@@ -2816,6 +3473,11 @@ export declare type ComponentIcons = Record<keyof typeof DEFAULT_COMPONENT_ICONS
2816
3473
  export declare interface ComponentLocale {
2817
3474
  /** Strings for components */
2818
3475
  strings: ComponentStrings;
3476
+ /**
3477
+ * Optional function to provide customized date format.
3478
+ * @beta
3479
+ */
3480
+ onDisplayDateTimeString?: (messageDate: Date) => string;
2819
3481
  }
2820
3482
 
2821
3483
  /**
@@ -2857,6 +3519,20 @@ export declare interface ComponentStrings {
2857
3519
  errorBar: ErrorBarStrings;
2858
3520
  /** Strings for VideoGallery */
2859
3521
  videoGallery: VideoGalleryStrings;
3522
+ /** Strings for Dialpad */
3523
+ dialpad: DialpadStrings;
3524
+ /** Strings for VideoTile */
3525
+ videoTile: VideoTileStrings;
3526
+ /** Strings for HoldButton */
3527
+ holdButton: HoldButtonStrings;
3528
+ /** Strings for DomainPermissions */
3529
+ DomainPermissions: DomainPermissionsStrings;
3530
+ /** Strings for unsupported browser UI */
3531
+ UnsupportedBrowser: UnsupportedBrowserStrings;
3532
+ /** Strings for BrowserPemissionDenied */
3533
+ BrowserPermissionDenied: BrowserPermissionDeniedStrings;
3534
+ /** Strings for BrowserPemissionDeniedIOS */
3535
+ BrowserPermissionDeniedIOS: BrowserPermissionDeniedIOSStrings;
2860
3536
  }
2861
3537
 
2862
3538
  /**
@@ -3164,7 +3840,7 @@ export declare interface ControlBarProps {
3164
3840
  *
3165
3841
  * @public
3166
3842
  */
3167
- export declare const createAzureCommunicationCallAdapter: ({ userId, displayName, credential, locator }: AzureCommunicationCallAdapterArgs) => Promise<CallAdapter>;
3843
+ export declare const createAzureCommunicationCallAdapter: ({ userId, displayName, credential, locator, alternateCallerId }: AzureCommunicationCallAdapterArgs) => Promise<CallAdapter>;
3168
3844
 
3169
3845
  /**
3170
3846
  * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.
@@ -3182,7 +3858,7 @@ export declare const createAzureCommunicationCallAdapterFromClient: (callClient:
3182
3858
  *
3183
3859
  * @public
3184
3860
  */
3185
- export declare const createAzureCommunicationCallWithChatAdapter: ({ userId, displayName, credential, endpoint, locator }: AzureCommunicationCallWithChatAdapterArgs) => Promise<CallWithChatAdapter>;
3861
+ export declare const createAzureCommunicationCallWithChatAdapter: ({ userId, displayName, credential, endpoint, locator, alternateCallerId }: AzureCommunicationCallWithChatAdapterArgs) => Promise<CallWithChatAdapter>;
3186
3862
 
3187
3863
  /**
3188
3864
  * Create a {@link CallWithChatAdapter} using the provided {@link StatefulChatClient} and {@link StatefulCallClient}.
@@ -3310,8 +3986,159 @@ export declare type CustomAvatarOptions = {
3310
3986
  styles?: IStyleFunctionOrObject<IPersonaStyleProps, IPersonaStyles>;
3311
3987
  /** Display name to be used in Persona */
3312
3988
  text?: string;
3989
+ /** State for the participant to be displayed in the defaultPlaceHolder */
3990
+ participantState?: ParticipantState;
3313
3991
  };
3314
3992
 
3993
+ /**
3994
+ * A callback that returns the props to render a custom {@link ControlBarButton}.
3995
+ *
3996
+ * The response indicates where the custom button should be placed.
3997
+ *
3998
+ * Performance tip: This callback is only called when either the callback or its arguments change.
3999
+ *
4000
+ * @beta
4001
+ */
4002
+ export declare type CustomCallControlButtonCallback = (args: CustomCallControlButtonCallbackArgs) => CustomCallControlButtonProps;
4003
+
4004
+ /**
4005
+ * Arguments for {@link CustomCallControlButtonCallback}.
4006
+ *
4007
+ * @beta
4008
+ */
4009
+ export declare interface CustomCallControlButtonCallbackArgs {
4010
+ /**
4011
+ * Buttons should reduce the size to fit a smaller viewport when `displayType` is `'compact'`.
4012
+ *
4013
+ * @defaultValue `'default'`
4014
+ */
4015
+ displayType?: CallControlDisplayType;
4016
+ }
4017
+
4018
+ /**
4019
+ * Placement for a custom button injected in the {@link CallControls}.
4020
+ *
4021
+ * 'primary': Place the button(s) on the right end of the center control bar but before the EndCallButton (left end in rtl mode).
4022
+ *
4023
+ * Multiple buttons assigned the same placement are appended in order.
4024
+ * E.g., if two buttons are placed in 'primary', they'll both appear on the right end (left end in rtl mode)
4025
+ * before the EndCallButton in the order provided.
4026
+ *
4027
+ * @beta
4028
+ */
4029
+ export declare type CustomCallControlButtonPlacement = 'primary';
4030
+
4031
+ /**
4032
+ * Response from {@link CustomCallControlButtonCallback}.
4033
+ *
4034
+ * Includes the placement prop necessary to indicate where to place the
4035
+ * {@link ControlBarButton} and a {@link DrawerMenuItem}
4036
+ *
4037
+ * @beta
4038
+ */
4039
+ export declare interface CustomCallControlButtonProps extends CustomControlButtonProps {
4040
+ /**
4041
+ * Where to place the custom button relative to other buttons.
4042
+ */
4043
+ placement: CustomCallControlButtonPlacement;
4044
+ /**
4045
+ * Icon to render. Icon is a non-default icon name that needs to be registered as a
4046
+ * custom icon using registerIcons through fluentui. Examples include icons from the fluentui library
4047
+ */
4048
+ iconName?: string;
4049
+ }
4050
+
4051
+ /**
4052
+ * A callback that returns the props to render a custom {@link ControlBarButton} and {@link DrawerMenuItem}.
4053
+ *
4054
+ * The response indicates where the custom button should be placed.
4055
+ *
4056
+ * Performance tip: This callback is only called when either the callback or its arguments change.
4057
+ * @beta
4058
+ */
4059
+ export declare type CustomCallWithChatControlButtonCallback = (args: CustomCallControlButtonCallbackArgs) => CustomCallWithChatControlButtonProps;
4060
+
4061
+ /**
4062
+ * Placement for a custom button injected in the {@link CallWithChatControlBar}.
4063
+ *
4064
+ * 'primary': Place the button(s) on the right end of the center control bar but before the EndCallButton (left end in rtl mode).
4065
+ * 'overflow': Place the buttons(s) on the end of the overflow Menu.
4066
+ * 'secondary': Place the button(s) on the left end of the side control bar (right in rtl mode).
4067
+ *
4068
+ * Multiple buttons assigned the same placement are appended in order.
4069
+ * E.g., if two buttons are placed in 'secondary', they'll both appear on the left end (right end in rtl mode)
4070
+ * in the order provided.
4071
+ *
4072
+ * @beta
4073
+ */
4074
+ export declare type CustomCallWithChatControlButtonPlacement = 'primary' | 'overflow' | 'secondary';
4075
+
4076
+ /**
4077
+ * Response from {@link CustomCallWithChatControlButtonCallback}.
4078
+ *
4079
+ * Includes the icon and placement prop necessary to indicate where to place the
4080
+ * {@link ControlBarButton} and a {@link DrawerMenuItem}
4081
+ *
4082
+ * @beta
4083
+ */
4084
+ export declare interface CustomCallWithChatControlButtonProps extends CustomControlButtonProps {
4085
+ /**
4086
+ * Where to place the custom button relative to other buttons.
4087
+ */
4088
+ placement: CustomCallWithChatControlButtonPlacement;
4089
+ /**
4090
+ * Icon to render. Icon is a non-default icon name that needs to be registered as a
4091
+ * custom icon using registerIcons through fluentui. Examples include icons from the fluentui library
4092
+ */
4093
+ iconName?: string;
4094
+ }
4095
+
4096
+ /**
4097
+ * Includes the base props necessary to render a {@link ControlBarButton} or {@link DrawerMenuItem}.
4098
+ *
4099
+ * @beta
4100
+ */
4101
+ export declare interface CustomControlButtonProps {
4102
+ /**
4103
+ * Calback for when button is clicked
4104
+ */
4105
+ onItemClick?: () => void;
4106
+ /**
4107
+ * Whether the buttons is disabled
4108
+ */
4109
+ disabled?: boolean;
4110
+ /**
4111
+ * Whether the label is displayed or not.
4112
+ *
4113
+ * @defaultValue `false`
4114
+ */
4115
+ showLabel?: boolean;
4116
+ /**
4117
+ * Fluent styles, common to all {@link ControlBarButton}s or {@link DrawerMenuItem}s.
4118
+ */
4119
+ styles?: ControlBarButtonStyles | BaseCustomStyles;
4120
+ /**
4121
+ * Optional label for the button
4122
+ */
4123
+ text?: string;
4124
+ /**
4125
+ * A unique key for the button
4126
+ */
4127
+ key?: string | number;
4128
+ /**
4129
+ * The aria label of the button for the benefit of screen readers.
4130
+ */
4131
+ ariaLabel?: string;
4132
+ /**
4133
+ * Detailed description of the button for the benefit of screen readers.
4134
+ */
4135
+ ariaDescription?: string;
4136
+ /**
4137
+ * A unique id set for the standard HTML id attibute
4138
+ */
4139
+ id?: string;
4140
+ }
4141
+
3315
4142
  /**
3316
4143
  * A custom message type.
3317
4144
  *
@@ -3331,6 +4158,28 @@ export declare interface CustomMessage extends MessageCommon {
3331
4158
  */
3332
4159
  export declare const darkTheme: PartialTheme & CallingTheme;
3333
4160
 
4161
+ /**
4162
+ * @public
4163
+ * `DeclarativeCallAgent` extends and proxies the {@link @azure/communication-calling#CallAgent}
4164
+ */
4165
+ export declare type DeclarativeCallAgent = CallAgent & /* @conditional-compile-remove(one-to-n-calling) */ {
4166
+ /**
4167
+ * @beta
4168
+ * A readonly array that returns all the active `incomingCalls`.
4169
+ * An active incoming call is a call that has not been answered, declined or disconnected.
4170
+ *
4171
+ * @Remark This attribute doesn't exist on the {@link @azure/communication-calling#CallAgent} interface.
4172
+ * @returns readonly array of {@link DeclarativeIncomingCall}
4173
+ */
4174
+ incomingCalls: ReadonlyArray<DeclarativeIncomingCall>;
4175
+ };
4176
+
4177
+ /**
4178
+ * @beta
4179
+ * Proxies the {@link @azure/communication-calling#IncomingCall} interface.
4180
+ */
4181
+ export declare type DeclarativeIncomingCall = IncomingCall;
4182
+
3334
4183
  /**
3335
4184
  * The default set of icons that are available to use in the UI components.
3336
4185
  *
@@ -3347,8 +4196,11 @@ export declare const DEFAULT_COMPONENT_ICONS: {
3347
4196
  ControlButtonMicOn: JSX.Element;
3348
4197
  ControlButtonOptions: JSX.Element;
3349
4198
  ControlButtonParticipants: JSX.Element;
4199
+ ControlButtonParticipantsContextualMenuItem: JSX.Element;
3350
4200
  ControlButtonScreenShareStart: JSX.Element;
3351
4201
  ControlButtonScreenShareStop: JSX.Element;
4202
+ CancelFileUpload: JSX.Element;
4203
+ DownloadFile: JSX.Element;
3352
4204
  EditBoxCancel: JSX.Element;
3353
4205
  EditBoxSubmit: JSX.Element;
3354
4206
  ErrorBarCallCameraAccessDenied: JSX.Element;
@@ -3381,9 +4233,18 @@ export declare const DEFAULT_COMPONENT_ICONS: {
3381
4233
  ParticipantItemOptions: JSX.Element;
3382
4234
  ParticipantItemOptionsHovered: JSX.Element;
3383
4235
  ParticipantItemScreenShareStart: JSX.Element;
4236
+ HoldCallContextualMenuItem: JSX.Element;
4237
+ HoldCallButton: JSX.Element;
4238
+ ResumeCall: JSX.Element;
3384
4239
  SendBoxSend: JSX.Element;
3385
4240
  SendBoxSendHovered: JSX.Element;
3386
4241
  VideoTileMicOff: JSX.Element;
4242
+ BackSpace: JSX.Element;
4243
+ DomainPermissionsSparkle: JSX.Element;
4244
+ DomainPermissionCamera: JSX.Element;
4245
+ DomainPermissionMic: JSX.Element;
4246
+ UnsupportedBrowserWarning: JSX.Element;
4247
+ BrowserPermissionDeniedError: JSX.Element;
3387
4248
  };
3388
4249
 
3389
4250
  /**
@@ -3404,6 +4265,7 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
3404
4265
  ParticipantItemOptionsHovered: JSX.Element;
3405
4266
  SendBoxSend: JSX.Element;
3406
4267
  SendBoxSendHovered: JSX.Element;
4268
+ SendBoxAttachFile?: JSX.Element | undefined;
3407
4269
  ControlButtonCameraOff: JSX.Element;
3408
4270
  ControlButtonCameraOn: JSX.Element;
3409
4271
  ControlButtonEndCall: JSX.Element;
@@ -3446,6 +4308,10 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
3446
4308
  ParticipantItemScreenShareStart: JSX.Element;
3447
4309
  VideoTileMicOff: JSX.Element;
3448
4310
  LocalCameraSwitch?: JSX.Element | undefined;
4311
+ PeoplePaneAddPerson?: JSX.Element | undefined;
4312
+ PeoplePaneOpenDialpad?: JSX.Element | undefined;
4313
+ DialpadStartCall?: JSX.Element | undefined;
4314
+ NoticePageInvalidRoom?: JSX.Element | undefined;
3449
4315
  ChevronLeft?: JSX.Element | undefined;
3450
4316
  ControlBarChatButtonActive?: JSX.Element | undefined;
3451
4317
  ControlBarChatButtonInactive?: JSX.Element | undefined;
@@ -3456,11 +4322,22 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
3456
4322
  MoreDrawerSelectedMicrophone?: JSX.Element | undefined;
3457
4323
  MoreDrawerSelectedSpeaker?: JSX.Element | undefined;
3458
4324
  MoreDrawerSpeakers?: JSX.Element | undefined;
3459
- SendBoxAttachFile?: JSX.Element | undefined;
3460
4325
  ChatMessageOptions: JSX.Element;
4326
+ ControlButtonParticipantsContextualMenuItem: JSX.Element;
4327
+ CancelFileUpload: JSX.Element;
4328
+ DownloadFile: JSX.Element;
3461
4329
  ErrorBarCallVideoRecoveredBySystem: JSX.Element;
3462
4330
  ErrorBarCallVideoStoppedBySystem: JSX.Element;
3463
4331
  MessageResend: JSX.Element;
4332
+ HoldCallContextualMenuItem: JSX.Element;
4333
+ HoldCallButton: JSX.Element;
4334
+ ResumeCall: JSX.Element;
4335
+ BackSpace: JSX.Element;
4336
+ DomainPermissionsSparkle: JSX.Element;
4337
+ DomainPermissionCamera: JSX.Element;
4338
+ DomainPermissionMic: JSX.Element;
4339
+ UnsupportedBrowserWarning: JSX.Element;
4340
+ BrowserPermissionDeniedError: JSX.Element;
3464
4341
  };
3465
4342
 
3466
4343
  /**
@@ -3509,14 +4386,99 @@ export declare type DeviceManagerState = {
3509
4386
  */
3510
4387
  deviceAccess?: DeviceAccess;
3511
4388
  /**
3512
- * Stores created views that are not associated with any CallState (when {@link StatefulCallClient.createView} is
3513
- * called with undefined callId, undefined participantId, and defined LocalVideoStream).
3514
- *
3515
- * The values in this array are generated internally when {@link StatefulCallClient.createView} is called and are
3516
- * considered immutable.
4389
+ * Stores created views that are not associated with any CallState (when {@link StatefulCallClient.createView} is
4390
+ * called with undefined callId, undefined participantId, and defined LocalVideoStream).
4391
+ *
4392
+ * The values in this array are generated internally when {@link StatefulCallClient.createView} is called and are
4393
+ * considered immutable.
4394
+ */
4395
+ unparentedViews: LocalVideoStreamState[];
4396
+ };
4397
+
4398
+ /**
4399
+ * A dropdown to trigger device permission prompt
4400
+ *
4401
+ * @internal
4402
+ */
4403
+ export declare const _DevicePermissionDropdown: (props: _DevicePermissionDropdownProps) => JSX.Element;
4404
+
4405
+ /**
4406
+ * Props for {@link _DevicePermissionDropdown}.
4407
+ *
4408
+ * @internal
4409
+ */
4410
+ export declare interface _DevicePermissionDropdownProps {
4411
+ /**
4412
+ * icon shown in dropdown placeholder
4413
+ */
4414
+ icon?: JSX.Element;
4415
+ /**
4416
+ * Dropdown content
4417
+ */
4418
+ options?: IDropdownOption[];
4419
+ /**
4420
+ * Ask for permissions of devices.
4421
+ *
4422
+ * @remarks
4423
+ * Browser permission window will pop up if permissions are not granted yet
4424
+ *
4425
+ * @param constrain - Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }
4426
+ */
4427
+ askDevicePermission?(constrain: _PermissionConstraints): Promise<void>;
4428
+ /**
4429
+ * Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }
4430
+ */
4431
+ constrain?: _PermissionConstraints;
4432
+ /**
4433
+ * Strings for devicepermissiondropdown
4434
+ */
4435
+ strings?: _DevicePermissionDropdownStrings;
4436
+ /**
4437
+ * Styles for devicepermissiondropdown
4438
+ */
4439
+ styles?: Partial<IDropdownStyles>;
4440
+ }
4441
+
4442
+ /**
4443
+ * Strings of {@link DevicePermissionDropdown} that can be overridden.
4444
+ *
4445
+ * @internal
4446
+ */
4447
+ export declare interface _DevicePermissionDropdownStrings {
4448
+ /**
4449
+ * dropdown label
4450
+ */
4451
+ label?: string;
4452
+ /**
4453
+ * dropdown placeholder
4454
+ */
4455
+ placeHolderText: string;
4456
+ /** string for action button */
4457
+ actionButtonContent?: string;
4458
+ }
4459
+
4460
+ /**
4461
+ * Device Permission restrictions.
4462
+ * Be able to start a call depending on camera and microphone permission options.
4463
+ *
4464
+ * @beta
4465
+ */
4466
+ export declare interface DevicePermissionRestrictions {
4467
+ /**
4468
+ * Camera Permission prompts for your call.
4469
+ * 'required' - requires the permission to be allowed before permitting the user join the call.
4470
+ * 'optional' - permission can be disallowed and the user is still permitted to join the call.
4471
+ * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.
4472
+ */
4473
+ camera: 'required' | 'optional' | 'doNotPrompt';
4474
+ /**
4475
+ * Microphone permission prompts for your call.
4476
+ * 'required' - requires the permission to be allowed before permitting the user join the call.
4477
+ * 'optional' - permission can be disallowed and the user is still permitted to join the call.
4478
+ * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.
3517
4479
  */
3518
- unparentedViews: LocalVideoStreamState[];
3519
- };
4480
+ microphone: 'required' | 'optional' | 'doNotPrompt';
4481
+ }
3520
4482
 
3521
4483
  /**
3522
4484
  * A button to open a menu that controls device options.
@@ -3681,6 +4643,60 @@ export declare interface DiagnosticsCallFeatureState {
3681
4643
  media: MediaDiagnosticsState;
3682
4644
  }
3683
4645
 
4646
+ /**
4647
+ * A component to allow users to enter phone number through clicking on dialpad/using keyboard
4648
+ * It will return empty component for stable builds
4649
+ *
4650
+ * @beta
4651
+ */
4652
+ export declare const Dialpad: (props: DialpadProps) => JSX.Element;
4653
+
4654
+ /**
4655
+ * Props for {@link Dialpad} component.
4656
+ *
4657
+ * @beta
4658
+ */
4659
+ export declare interface DialpadProps {
4660
+ strings?: DialpadStrings;
4661
+ /** function to send dtmf tones on button click */
4662
+ onSendDtmfTone?: (dtmfTone: DtmfTone) => Promise<void>;
4663
+ /** Callback for dialpad button behavior*/
4664
+ onClickDialpadButton?: (buttonValue: string, buttonIndex: number) => void;
4665
+ /** set dialpad textfield content */
4666
+ textFieldValue?: string;
4667
+ /** on change function for text field, provides an unformatted plain text*/
4668
+ onChange?: (input: string) => void;
4669
+ /** boolean input to determine when to show/hide delete button, default true */
4670
+ showDeleteButton?: boolean;
4671
+ /** boolean input to determine if dialpad is in mobile view, default false */
4672
+ isMobile?: boolean;
4673
+ styles?: DialpadStyles;
4674
+ }
4675
+
4676
+ /**
4677
+ * Strings of {@link Dialpad} that can be overridden.
4678
+ *
4679
+ * @beta
4680
+ */
4681
+ export declare interface DialpadStrings {
4682
+ placeholderText: string;
4683
+ deleteButtonAriaLabel?: string;
4684
+ }
4685
+
4686
+ /**
4687
+ * Styles for {@link Dialpad} component.
4688
+ *
4689
+ * @beta
4690
+ */
4691
+ export declare interface DialpadStyles {
4692
+ root?: IStyle;
4693
+ button?: IButtonStyles;
4694
+ textField?: Partial<ITextFieldStyles>;
4695
+ digit?: IStyle;
4696
+ letter?: IStyle;
4697
+ deleteIcon?: IButtonStyles;
4698
+ }
4699
+
3684
4700
  /**
3685
4701
  * Callback for {@link CallAdapterSubscribers} 'displayNameChanged' event.
3686
4702
  *
@@ -3701,6 +4717,71 @@ export declare interface Disposable {
3701
4717
  dispose(): void;
3702
4718
  }
3703
4719
 
4720
+ /**
4721
+ * @beta
4722
+ *
4723
+ * Component to allow Contoso to help their end user with their devices should their permissions be blocked
4724
+ * by their browsers settings.
4725
+ */
4726
+ export declare const DomainPermissions: (props: DomainPermissionsProps) => JSX.Element;
4727
+
4728
+ /**
4729
+ * @beta
4730
+ * Props for DomainPermissions component.
4731
+ */
4732
+ export declare interface DomainPermissionsProps {
4733
+ /**
4734
+ * Name of application calling experience is in.
4735
+ */
4736
+ appName: string;
4737
+ /**
4738
+ * Action to be taken by the more help link. Possible to send to external page or show other modal.
4739
+ */
4740
+ onTroubleshootingClick?: () => void;
4741
+ /**
4742
+ * Action to be taken by the Allow Access button.
4743
+ */
4744
+ onAllowAccessClick?: () => void;
4745
+ /**
4746
+ * Localization strings for DomainPermissions component.
4747
+ */
4748
+ strings?: DomainPermissionsStrings;
4749
+ }
4750
+
4751
+ /**
4752
+ * @beta
4753
+ * Strings for DomainPermissions component
4754
+ */
4755
+ export declare interface DomainPermissionsStrings {
4756
+ /**
4757
+ * Main text string.
4758
+ */
4759
+ primaryText: string;
4760
+ /**
4761
+ * Subtext string.
4762
+ */
4763
+ secondaryText: string;
4764
+ /**
4765
+ * More help link string.
4766
+ */
4767
+ linkText: string;
4768
+ /**
4769
+ * Primary button text string.
4770
+ */
4771
+ primaryButtonText: string;
4772
+ /**
4773
+ * Aira label describing the content of the container
4774
+ */
4775
+ ariaLabel: string;
4776
+ }
4777
+
4778
+ /**
4779
+ * DTMF tone for PSTN calls.
4780
+ *
4781
+ * @beta
4782
+ */
4783
+ export declare type DtmfTone = 'A' | 'B' | 'C' | 'D' | 'Flash' | 'Num0' | 'Num1' | 'Num2' | 'Num3' | 'Num4' | 'Num5' | 'Num6' | 'Num7' | 'Num8' | 'Num9' | 'Pound' | 'Star';
4784
+
3704
4785
  /**
3705
4786
  * A type for trivial selectors that return no data.
3706
4787
  *
@@ -3923,6 +5004,199 @@ export declare interface ErrorBarStrings {
3923
5004
  */
3924
5005
  export declare type ErrorType = keyof ErrorBarStrings;
3925
5006
 
5007
+ /**
5008
+ * @beta
5009
+ * A file download error returned via a {@link FileDownloadHandler}.
5010
+ * This error message is used to render an error message in the UI.
5011
+ */
5012
+ export declare interface FileDownloadError {
5013
+ /** The error message to display in the UI */
5014
+ errorMessage: string;
5015
+ }
5016
+
5017
+ /**
5018
+ * @beta
5019
+ *
5020
+ * A callback function for handling file downloads.
5021
+ * The function needs to return a promise that resolves to a file download URL.
5022
+ * If the promise is rejected, the {@link Error.message} will be used to display an error message to the user.
5023
+ *
5024
+ * @example
5025
+ * ```ts
5026
+ * const fileDownloadHandler: FileDownloadHandler = async (userId, fileData) => {
5027
+ * if (isUnauthorizedUser(userId)) {
5028
+ * return { errorMessage: 'You don’t have permission to download this file.' };
5029
+ * } else {
5030
+ * return new URL(fileData.url);
5031
+ * }
5032
+ * }
5033
+ *
5034
+ * const App = () => (
5035
+ * <ChatComposite
5036
+ * ...
5037
+ * fileSharing={{
5038
+ * fileDownloadHandler: fileDownloadHandler
5039
+ * }}
5040
+ * />
5041
+ * )
5042
+ *
5043
+ * ```
5044
+ * @param userId - The user ID of the user downloading the file.
5045
+ * @param fileMetadata - The {@link FileMetadata} containing file `url`, `extension` and `name`.
5046
+ */
5047
+ export declare type FileDownloadHandler = (userId: string, fileMetadata: FileMetadata) => Promise<URL | FileDownloadError>;
5048
+
5049
+ /**
5050
+ * Meta Data containing information about the uploaded file.
5051
+ * @beta
5052
+ */
5053
+ export declare interface FileMetadata {
5054
+ /**
5055
+ * File name to be displayed.
5056
+ */
5057
+ name: string;
5058
+ /**
5059
+ * Extension is used for rendering the file icon.
5060
+ * An unknown extension will be rendered as a generic icon.
5061
+ * Example: `jpeg`
5062
+ */
5063
+ extension: string;
5064
+ /**
5065
+ * Download URL for the file.
5066
+ */
5067
+ url: string;
5068
+ }
5069
+
5070
+ /**
5071
+ * Properties for configuring the File Sharing feature.
5072
+ * @beta
5073
+ */
5074
+ export declare interface FileSharingOptions {
5075
+ /**
5076
+ * A string containing the comma separated list of accepted file types.
5077
+ * Similar to the `accept` attribute of the `<input type="file" />` element.
5078
+ * Accepts any type of file if not specified.
5079
+ * @beta
5080
+ */
5081
+ accept?: string;
5082
+ /**
5083
+ * Allows multiple files to be selected if set to `true`.
5084
+ * Similar to the `multiple` attribute of the `<input type="file" />` element.
5085
+ * @defaultValue false
5086
+ * @beta
5087
+ */
5088
+ multiple?: boolean;
5089
+ /**
5090
+ * A function of type {@link FileUploadHandler} for handling file uploads.
5091
+ * @beta
5092
+ */
5093
+ uploadHandler: FileUploadHandler;
5094
+ /**
5095
+ * A function of type {@link FileDownloadHandler} for handling file downloads.
5096
+ * If the function is not specified, the file's `url` will be opened in a new tab to
5097
+ * initiate the download.
5098
+ */
5099
+ downloadHandler?: FileDownloadHandler;
5100
+ }
5101
+
5102
+ /**
5103
+ * @beta
5104
+ */
5105
+ export declare interface FileUploadAdapter {
5106
+ registerActiveFileUploads: (files: File[]) => FileUploadManager[];
5107
+ registerCompletedFileUploads: (metadata: FileMetadata[]) => FileUploadManager[];
5108
+ clearFileUploads: () => void;
5109
+ cancelFileUpload: (id: string) => void;
5110
+ updateFileUploadProgress: (id: string, progress: number) => void;
5111
+ updateFileUploadErrorMessage: (id: string, errorMessage: string) => void;
5112
+ updateFileUploadMetadata: (id: string, metadata: FileMetadata) => void;
5113
+ }
5114
+
5115
+ /**
5116
+ * @beta
5117
+ * Error message to be displayed to the user if the upload fails.
5118
+ */
5119
+ export declare type FileUploadError = {
5120
+ message: string;
5121
+ timestamp: number;
5122
+ };
5123
+
5124
+ /**
5125
+ * @beta
5126
+ * A callback function for handling file uploads.
5127
+ *
5128
+ * @param userId - The user ID of the user uploading the file.
5129
+ * @param fileUploads - The list of uploaded files. Each file is represented by an {@link FileUpload} object.
5130
+ */
5131
+ export declare type FileUploadHandler = (userId: string, fileUploads: FileUploadManager[]) => void;
5132
+
5133
+ /**
5134
+ * A wrapper object for a file that is being uploaded.
5135
+ * Allows mmanaging file uploads by providing common functions for updating the
5136
+ * upload progress, canceling an upload, completing an upload etc.
5137
+ * @beta
5138
+ */
5139
+ export declare interface FileUploadManager {
5140
+ /**
5141
+ * Unique identifier for the file upload.
5142
+ */
5143
+ id: string;
5144
+ /**
5145
+ * HTML {@link File} object for the uploaded file.
5146
+ */
5147
+ file?: File;
5148
+ /**
5149
+ * Update the progress of the upload.
5150
+ * @param value - number between 0 and 1
5151
+ */
5152
+ notifyUploadProgressChanged: (value: number) => void;
5153
+ /**
5154
+ * Mark the upload as complete.
5155
+ * Requires the `metadata` param containing uploaded file information.
5156
+ * @param metadata - {@link FileMetadata}
5157
+ */
5158
+ notifyUploadCompleted: (metadata: FileMetadata) => void;
5159
+ /**
5160
+ * Mark the upload as failed.
5161
+ * @param message - An error message that can be displayed to the user.
5162
+ */
5163
+ notifyUploadFailed: (message: string) => void;
5164
+ }
5165
+
5166
+ /**
5167
+ * Contains the state attibutes of a file upload like name, progress etc.
5168
+ * @beta
5169
+ */
5170
+ export declare interface FileUploadState {
5171
+ /**
5172
+ * Unique identifier for the file upload.
5173
+ */
5174
+ id: string;
5175
+ /**
5176
+ * Filename extracted from the {@link File} object.
5177
+ * This attribute is used to render the filename if `metadata.name` is not available.
5178
+ */
5179
+ filename: string;
5180
+ /**
5181
+ * A number between 0 and 1 indicating the progress of the upload.
5182
+ */
5183
+ progress: number;
5184
+ /**
5185
+ * Meta Data {@link FileMetadata} containing information about the uploaded file.
5186
+ */
5187
+ metadata?: FileMetadata;
5188
+ /**
5189
+ * Error message to be displayed to the user if the upload fails.
5190
+ */
5191
+ error?: FileUploadError;
5192
+ }
5193
+
5194
+ /**
5195
+ * A record containing {@link FileUploadState} mapped to unique ids.
5196
+ * @beta
5197
+ */
5198
+ export declare type FileUploadsUiState = Record<string, FileUploadState>;
5199
+
3926
5200
  /**
3927
5201
  * Provider to apply a Fluent theme across this library's react components.
3928
5202
  *
@@ -3963,7 +5237,7 @@ export declare const fromFlatCommunicationIdentifier: (id: string) => Communicat
3963
5237
  *
3964
5238
  * @public
3965
5239
  */
3966
- export declare type GetCallingSelector<Component extends (props: any) => JSX.Element | undefined> = AreEqual<Component, typeof VideoGallery> extends true ? VideoGallerySelector : AreEqual<Component, typeof DevicesButton> extends true ? DevicesButtonSelector : AreEqual<Component, typeof MicrophoneButton> extends true ? MicrophoneButtonSelector : AreEqual<Component, typeof CameraButton> extends true ? CameraButtonSelector : AreEqual<Component, typeof ScreenShareButton> extends true ? ScreenShareButtonSelector : AreEqual<Component, typeof ParticipantList> extends true ? ParticipantListSelector : AreEqual<Component, typeof ParticipantsButton> extends true ? ParticipantsButtonSelector : AreEqual<Component, typeof EndCallButton> extends true ? EmptySelector : AreEqual<Component, typeof ErrorBar> extends true ? CallErrorBarSelector : undefined;
5240
+ export declare type GetCallingSelector<Component extends (props: any) => JSX.Element | undefined> = AreEqual<Component, typeof VideoGallery> extends true ? VideoGallerySelector : AreEqual<Component, typeof DevicesButton> extends true ? DevicesButtonSelector : AreEqual<Component, typeof MicrophoneButton> extends true ? MicrophoneButtonSelector : AreEqual<Component, typeof CameraButton> extends true ? CameraButtonSelector : AreEqual<Component, typeof ScreenShareButton> extends true ? ScreenShareButtonSelector : AreEqual<Component, typeof ParticipantList> extends true ? ParticipantListSelector : AreEqual<Component, typeof ParticipantsButton> extends true ? ParticipantsButtonSelector : AreEqual<Component, typeof EndCallButton> extends true ? EmptySelector : AreEqual<Component, typeof ErrorBar> extends true ? CallErrorBarSelector : AreEqual<Component, typeof Dialpad> extends true ? EmptySelector : AreEqual<Component, typeof HoldButton> extends true ? HoldButtonSelector : AreEqual<Component, typeof _DevicePermissionDropdown> extends true ? EmptySelector : undefined;
3967
5241
 
3968
5242
  /**
3969
5243
  * Get the selector for a specified component.
@@ -4025,6 +5299,63 @@ export declare interface GridLayoutStyles extends BaseCustomStyles {
4025
5299
  children?: IStyle;
4026
5300
  }
4027
5301
 
5302
+ /**
5303
+ * a button to hold or resume a ongoing call.
5304
+ *
5305
+ * Can be used with {@link ControlBar}
5306
+ *
5307
+ * @param props - properties for the hold button.
5308
+ * @returns
5309
+ * @beta
5310
+ */
5311
+ export declare const HoldButton: (props: HoldButtonProps) => JSX.Element;
5312
+
5313
+ /**
5314
+ *@beta
5315
+ */
5316
+ export declare interface HoldButtonProps extends ControlBarButtonProps {
5317
+ /**
5318
+ * Utility property for using this component with communication react handlers
5319
+ * Holds the call or resumes it based on call state.
5320
+ */
5321
+ onToggleHold: () => Promise<void>;
5322
+ /**
5323
+ * Optional strings to override in component
5324
+ */
5325
+ strings?: HoldButtonStrings;
5326
+ }
5327
+
5328
+ /**
5329
+ * Selector type for the {@link HoldButton} component.
5330
+ * @public
5331
+ */
5332
+ export declare type HoldButtonSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {
5333
+ checked: boolean;
5334
+ };
5335
+
5336
+ /**
5337
+ * Strings for the hold button labels
5338
+ * @beta
5339
+ */
5340
+ export declare interface HoldButtonStrings {
5341
+ /**
5342
+ * Label for when action is to resume call.
5343
+ */
5344
+ onLabel: string;
5345
+ /**
5346
+ * Label for when action is to hold call.
5347
+ */
5348
+ offLabel: string;
5349
+ /**
5350
+ * Content for when button is checked
5351
+ */
5352
+ tooltipOnContent: string;
5353
+ /**
5354
+ * Content for when button is unchecked
5355
+ */
5356
+ tooltipOffContent: string;
5357
+ }
5358
+
4028
5359
  /**
4029
5360
  * {@link HorizontalGallery} Component Styles.
4030
5361
  * @public
@@ -4571,6 +5902,11 @@ export declare type MessageThreadProps = {
4571
5902
  * `messageRenderer` is not provided for `CustomMessage` and thus only available for `ChatMessage` and `SystemMessage`.
4572
5903
  */
4573
5904
  onRenderMessage?: (messageProps: MessageProps, messageRenderer?: MessageRenderer) => JSX.Element;
5905
+ /**
5906
+ * Optional callback to render uploaded files in the message component.
5907
+ * @beta
5908
+ */
5909
+ onRenderFileDownloads?: (userId: string, message: ChatMessage) => JSX.Element;
4574
5910
  /**
4575
5911
  * Optional callback to edit a message.
4576
5912
  *
@@ -4606,6 +5942,18 @@ export declare type MessageThreadProps = {
4606
5942
  * Optional strings to override in component
4607
5943
  */
4608
5944
  strings?: Partial<MessageThreadStrings>;
5945
+ /**
5946
+ * @beta
5947
+ * Optional function called when someone clicks on the file download icon.
5948
+ * If file attachments are defined in the `message.metadata` property using the `fileSharingMetadata` key,
5949
+ * this function will be called with the data inside `fileSharingMetadata` key.
5950
+ */
5951
+ fileDownloadHandler?: FileDownloadHandler;
5952
+ /**
5953
+ * Optional function to provide customized date format.
5954
+ * @beta
5955
+ */
5956
+ onDisplayDateTimeString?: (messageDate: Date) => string;
4609
5957
  };
4610
5958
 
4611
5959
  /**
@@ -4677,6 +6025,8 @@ export declare interface MessageThreadStrings {
4677
6025
  editBoxSubmitButton: string;
4678
6026
  /** String for action menu indicating there are more options */
4679
6027
  actionMenuMoreOptions?: string;
6028
+ /** String for download file button in file card */
6029
+ downloadFile: string;
4680
6030
  }
4681
6031
 
4682
6032
  /**
@@ -4966,6 +6316,14 @@ export declare interface ParticipantItemProps {
4966
6316
  onClick?: (props?: ParticipantItemProps) => void;
4967
6317
  /** prop to determine if we should show tooltip for participants or not */
4968
6318
  showParticipantOverflowTooltip?: boolean;
6319
+ /**
6320
+ * Optional value to determine and display a participants connection status.
6321
+ * For example, `Connecting`, `Ringing` etc.
6322
+ * The actual text that is displayed is determined by the localized string
6323
+ * corresponding to the provided participant state.
6324
+ * For example, `strings.participantStateConnecting` will be used if `participantState` is `Connecting`.
6325
+ */
6326
+ participantState?: ParticipantState;
4969
6327
  }
4970
6328
 
4971
6329
  /**
@@ -4986,6 +6344,12 @@ export declare interface ParticipantItemStrings {
4986
6344
  mutedIconLabel: string;
4987
6345
  /** placeholder text for participants who does not have a display name*/
4988
6346
  displayNamePlaceholder?: string;
6347
+ /** String shown when `participantState` is `Connecting` */
6348
+ participantStateConnecting?: string;
6349
+ /** String shown when `participantState` is `Ringing` */
6350
+ participantStateRinging?: string;
6351
+ /** String shown when `participantState` is `Hold` */
6352
+ participantStateHold?: string;
4989
6353
  }
4990
6354
 
4991
6355
  /**
@@ -5289,6 +6653,16 @@ export declare type ParticipantsRemovedListener = (event: {
5289
6653
  */
5290
6654
  export declare type ParticipantState = 'Idle' | 'Connecting' | 'Ringing' | 'Connected' | 'Hold' | 'InLobby' | 'EarlyMedia' | 'Disconnected';
5291
6655
 
6656
+ /**
6657
+ * Define constraints for accessing local devices {@link @azure/communication-calling#PermissionConstraints }
6658
+ *
6659
+ * @internal
6660
+ */
6661
+ export declare type _PermissionConstraints = {
6662
+ audio: boolean;
6663
+ video: boolean;
6664
+ };
6665
+
5292
6666
  /**
5293
6667
  * An array of key value pairs that stores each sender's display name and last read message
5294
6668
  *
@@ -5352,6 +6726,10 @@ export declare interface RemoteParticipantState {
5352
6726
  * Proxy of {@link @azure/communication-calling#RemoteParticipant.isSpeaking}.
5353
6727
  */
5354
6728
  isSpeaking: boolean;
6729
+ /**
6730
+ * Proxy of {@link @azure/communication-calling#RemoteParticipant.role}.
6731
+ */
6732
+ role?: ParticipantRole;
5355
6733
  }
5356
6734
 
5357
6735
  /**
@@ -5376,6 +6754,7 @@ export declare interface RemoteVideoStreamState {
5376
6754
  * Proxy of {@link @azure/communication-calling#RemoteVideoStream.isReceiving}.
5377
6755
  * @beta
5378
6756
  */
6757
+ isReceiving: boolean;
5379
6758
  /**
5380
6759
  * {@link VideoStreamRendererView} that is managed by createView/disposeView in {@link StatefulCallClient}
5381
6760
  * API. This can be undefined if the stream has not yet been rendered and defined after createView creates the view.
@@ -5383,6 +6762,11 @@ export declare interface RemoteVideoStreamState {
5383
6762
  view?: VideoStreamRendererViewState;
5384
6763
  }
5385
6764
 
6765
+ /**
6766
+ * @beta
6767
+ */
6768
+ export declare type Role = 'Presenter' | 'Attendee' | 'Consumer';
6769
+
5386
6770
  /**
5387
6771
  * A button to start / stop screen sharing.
5388
6772
  *
@@ -5416,6 +6800,7 @@ export declare interface ScreenShareButtonProps extends ControlBarButtonProps {
5416
6800
  */
5417
6801
  export declare type ScreenShareButtonSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {
5418
6802
  checked?: boolean;
6803
+ disabled?: boolean;
5419
6804
  };
5420
6805
 
5421
6806
  /**
@@ -5453,6 +6838,19 @@ export declare type Selector = (state: ClientState, props: any) => any;
5453
6838
  */
5454
6839
  export declare const SendBox: (props: SendBoxProps) => JSX.Element;
5455
6840
 
6841
+ /**
6842
+ * @beta
6843
+ * Error to be displayed to the user in an error bar above sendbox.
6844
+ */
6845
+ export declare interface SendBoxErrorBarError {
6846
+ /** Error Message to be displayed */
6847
+ message: string;
6848
+ /**
6849
+ * Unix Timestamp. Preferred generation using `Date.now()`
6850
+ */
6851
+ timestamp: number;
6852
+ }
6853
+
5456
6854
  /**
5457
6855
  * Props for {@link SendBox}.
5458
6856
  *
@@ -5508,6 +6906,25 @@ export declare interface SendBoxProps {
5508
6906
  * When undefined nothing has focus on render
5509
6907
  */
5510
6908
  autoFocus?: 'sendBoxTextField';
6909
+ /**
6910
+ * Optional callback to render uploaded files in the SendBox. The sendbox will expand
6911
+ * veritcally to accomodate the uploaded files. File uploads will
6912
+ * be rendered below the text area in sendbox.
6913
+ * @beta
6914
+ */
6915
+ onRenderFileUploads?: () => JSX.Element;
6916
+ /**
6917
+ * Optional array of active file uploads where each object has attibutes
6918
+ * of a file upload like name, progress, errorMessage etc.
6919
+ * @beta
6920
+ */
6921
+ activeFileUploads?: ActiveFileUpload[];
6922
+ /**
6923
+ * Optional callback to remove the file upload before sending by clicking on
6924
+ * cancel icon.
6925
+ * @beta
6926
+ */
6927
+ onCancelFileUpload?: (fileId: string) => void;
5511
6928
  }
5512
6929
 
5513
6930
  /**
@@ -5538,6 +6955,22 @@ export declare interface SendBoxStrings {
5538
6955
  * Aria label for send message button
5539
6956
  */
5540
6957
  sendButtonAriaLabel: string;
6958
+ /**
6959
+ * Error message indicating that all file uploads are not complete.
6960
+ */
6961
+ fileUploadsPendingError: string;
6962
+ /**
6963
+ * Aria label to notify user when focus is on cancel file upload button.
6964
+ */
6965
+ removeFile: string;
6966
+ /**
6967
+ * Aria label to notify user file uploading starts.
6968
+ */
6969
+ uploading: string;
6970
+ /**
6971
+ * Aria label to notify user file is uploaded.
6972
+ */
6973
+ uploadCompleted: string;
5541
6974
  }
5542
6975
 
5543
6976
  /**
@@ -5664,6 +7097,19 @@ export declare interface StatefulCallClient extends CallClient {
5664
7097
  * @param stream - The LocalVideoStreamState or RemoteVideoStreamState to dispose.
5665
7098
  */
5666
7099
  disposeView(callId: string | undefined, participantId: CommunicationIdentifier | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState): void;
7100
+ /** @conditional-compile-remove(one-to-n-calling) */
7101
+ /**
7102
+ * The CallAgent is used to handle calls.
7103
+ * To create the CallAgent, pass a CommunicationTokenCredential object provided from SDK.
7104
+ * - The CallClient can only have one active CallAgent instance at a time.
7105
+ * - You can create a new CallClient instance to create a new CallAgent.
7106
+ * - You can dispose of a CallClient's current active CallAgent, and call the CallClient's
7107
+ * createCallAgent() method again to create a new CallAgent.
7108
+ * @param tokenCredential - The token credential. Use AzureCommunicationTokenCredential from `@azure/communication-common` to create a credential.
7109
+ * @param options - The CallAgentOptions for additional options like display name.
7110
+ * @public
7111
+ */
7112
+ createCallAgent(...args: Parameters<CallClient['createCallAgent']>): Promise<DeclarativeCallAgent>;
5667
7113
  }
5668
7114
 
5669
7115
  /**
@@ -5677,6 +7123,15 @@ export declare type StatefulCallClientArgs = {
5677
7123
  * state. It is not used by StatefulCallClient.
5678
7124
  */
5679
7125
  userId: CommunicationUserIdentifier;
7126
+ /**
7127
+ * A phone number in E.164 format that will be used to represent the callers identity. This number is required
7128
+ * to start a PSTN call.
7129
+ *
7130
+ * example: +11234567
7131
+ *
7132
+ * This is not a cached value from the headless calling client.
7133
+ */
7134
+ alternateCallerId?: string;
5680
7135
  };
5681
7136
 
5682
7137
  /**
@@ -5995,11 +7450,46 @@ export declare interface TypingIndicatorStylesProps extends BaseCustomStyles {
5995
7450
  typingString?: IStyle;
5996
7451
  }
5997
7452
 
7453
+ /**
7454
+ * UI to display to the user that the browser they are using is not supported by calling application.
7455
+ *
7456
+ * @beta
7457
+ */
7458
+ export declare const UnsupportedBrowser: (props: UnsupportedBrowserProps) => JSX.Element;
7459
+
7460
+ /**
7461
+ * props for UnsupportedBrowser UI
7462
+ *
7463
+ * @beta
7464
+ */
7465
+ export declare interface UnsupportedBrowserProps {
7466
+ /** Handler to perform a action when the help link is actioned */
7467
+ onTroubleshootingClick?: () => void;
7468
+ /** String overrides for the component */
7469
+ strings: UnsupportedBrowserStrings;
7470
+ }
7471
+
7472
+ /**
7473
+ * Strings for UnsupportedBrowser component
7474
+ *
7475
+ * @beta
7476
+ */
7477
+ export declare interface UnsupportedBrowserStrings {
7478
+ /** String for the primary text */
7479
+ primaryText: string;
7480
+ /** String for the secondary text */
7481
+ secondaryText: string;
7482
+ /** String for the help link */
7483
+ moreHelpLink: string;
7484
+ }
7485
+
5998
7486
  /**
5999
7487
  * @public
6000
7488
  * Callback function run when a message is updated.
6001
7489
  */
6002
- export declare type UpdateMessageCallback = (messageId: string, content: string) => Promise<void>;
7490
+ export declare type UpdateMessageCallback = (messageId: string, content: string, metadata?: Record<string, string>, options?: {
7491
+ attachedFilesMetadata?: FileMetadata[];
7492
+ }) => Promise<void>;
6003
7493
 
6004
7494
  /**
6005
7495
  * A custom React hook to simplify the creation of {@link CallAdapter}.
@@ -6263,6 +7753,11 @@ export declare interface VideoGalleryRemoteParticipant extends VideoGalleryParti
6263
7753
  isSpeaking?: boolean;
6264
7754
  /** Video stream of shared screen */
6265
7755
  screenShareStream?: VideoGalleryStream;
7756
+ /**
7757
+ * @beta
7758
+ * The connection state of the participant. For example, 'Hold', 'Connecting' etc.
7759
+ */
7760
+ state?: ParticipantState;
6266
7761
  }
6267
7762
 
6268
7763
  /**
@@ -6438,6 +7933,22 @@ export declare interface VideoTileProps {
6438
7933
  noVideoAvailableAriaLabel?: string;
6439
7934
  /** Whether the participant in the videoTile is speaking. Shows a speaking indicator (border). */
6440
7935
  isSpeaking?: boolean;
7936
+ /**
7937
+ * The call connection state of the participant.
7938
+ * For example, `Hold` means the participant is on hold.
7939
+ */
7940
+ participantState?: ParticipantState;
7941
+ strings?: VideoTileStrings;
7942
+ }
7943
+
7944
+ /**
7945
+ * Strings of {@link VideoTile} that can be overridden.
7946
+ * @beta
7947
+ */
7948
+ export declare interface VideoTileStrings {
7949
+ participantStateConnecting: string;
7950
+ participantStateRinging: string;
7951
+ participantStateHold: string;
6441
7952
  }
6442
7953
 
6443
7954
  /**