@azure/communication-react 1.9.0 → 1.10.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/dist/communication-react.d.ts +2403 -189
  2. package/dist/dist-cjs/communication-react/index.js +14191 -7849
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +2 -1
  7. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +8 -0
  8. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +12 -0
  10. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +13 -1
  11. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +4 -0
  13. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +13 -3
  15. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +18 -2
  16. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +10 -0
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +15 -1
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +45 -0
  22. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +91 -0
  23. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -0
  24. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +4 -1
  25. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +19 -0
  26. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +6 -0
  28. package/dist/dist-esm/calling-component-bindings/src/index.js +8 -0
  29. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -0
  31. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +16 -3
  32. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +4 -3
  34. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +14 -2
  36. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +20 -1
  37. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +7 -0
  39. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +12 -0
  40. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.d.ts +4 -0
  42. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +11 -0
  43. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +2 -1
  45. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +8 -1
  46. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +8 -2
  48. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  49. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +6 -5
  50. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  51. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +15 -1
  52. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  53. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +2 -1
  54. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +5 -0
  55. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +60 -3
  57. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +8 -1
  59. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +62 -1
  60. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  61. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +41 -0
  62. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  64. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +8 -0
  65. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  66. package/dist/dist-esm/calling-stateful-client/src/Converter.js +12 -0
  67. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.d.ts +1 -0
  69. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js +8 -0
  70. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +1 -0
  72. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +8 -0
  73. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  74. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +25 -1
  75. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +33 -2
  76. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +19 -0
  78. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +91 -0
  79. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -0
  80. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +23 -0
  81. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +49 -0
  82. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -0
  83. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  84. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +8 -0
  85. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +3 -0
  87. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  88. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +4 -1
  89. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  90. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +119 -6
  91. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  92. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  93. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  94. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  95. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  96. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +3 -1
  97. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  98. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +4 -1
  99. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  100. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +1 -0
  101. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  102. package/dist/dist-esm/communication-react/src/index.d.ts +27 -0
  103. package/dist/dist-esm/communication-react/src/index.js +16 -0
  104. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  105. package/dist/dist-esm/react-components/src/components/Caption.js +1 -0
  106. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  107. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +22 -1
  108. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +9 -2
  109. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  110. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +2 -0
  111. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +25 -16
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +22 -1
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +49 -15
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +15 -0
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +92 -2
  118. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  119. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +10 -0
  120. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +15 -0
  121. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -0
  122. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
  123. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +43 -0
  124. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
  125. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
  126. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +75 -0
  127. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
  128. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +105 -0
  129. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +68 -0
  130. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -0
  131. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +86 -0
  132. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +39 -0
  133. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -0
  134. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +6 -0
  135. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  136. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +2 -2
  137. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.d.ts +4 -0
  139. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +20 -19
  140. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +29 -1
  142. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +24 -2
  143. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  144. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +49 -0
  145. package/dist/dist-esm/react-components/src/components/HoldButton.js +25 -0
  146. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -0
  147. package/dist/dist-esm/react-components/src/components/ImageGallery.d.ts +71 -0
  148. package/dist/dist-esm/react-components/src/components/ImageGallery.js +56 -0
  149. package/dist/dist-esm/react-components/src/components/ImageGallery.js.map +1 -0
  150. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +3 -5
  151. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +22 -5
  152. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  153. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +1 -1
  154. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +121 -0
  155. package/dist/dist-esm/react-components/src/components/MentionPopover.js +117 -0
  156. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -0
  157. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +51 -2
  158. package/dist/dist-esm/react-components/src/components/MessageThread.js +57 -8
  159. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  160. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +13 -0
  161. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +3 -0
  162. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  163. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +15 -0
  164. package/dist/dist-esm/react-components/src/components/ParticipantList.js +22 -4
  165. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  166. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -1
  167. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +3 -1
  168. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  169. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +41 -0
  170. package/dist/dist-esm/react-components/src/components/SendBox.js +32 -4
  171. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +41 -0
  173. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +573 -0
  174. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -0
  175. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +152 -0
  176. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +816 -0
  177. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -0
  178. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +2 -0
  179. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  180. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +2 -0
  181. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +24 -0
  183. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +2 -0
  185. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +7 -3
  187. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.d.ts +4 -0
  189. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +25 -15
  190. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.d.ts +2 -2
  192. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +6 -4
  193. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.d.ts +5 -0
  195. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +8 -3
  196. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.d.ts +1 -1
  198. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +1 -1
  199. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.d.ts +5 -0
  200. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +8 -3
  201. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +15 -3
  203. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +13 -0
  205. package/dist/dist-esm/react-components/src/components/VideoGallery.js +15 -5
  206. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  207. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +7 -0
  208. package/dist/dist-esm/react-components/src/components/VideoTile.js +7 -1
  209. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/index.d.ts +19 -0
  211. package/dist/dist-esm/react-components/src/components/index.js +12 -0
  212. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  213. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  214. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  215. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  216. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +12 -0
  217. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +25 -2
  218. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  219. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +2 -2
  220. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.d.ts +68 -0
  222. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js +205 -0
  223. package/dist/dist-esm/react-components/src/components/styles/ImageGallery.style.js.map +1 -0
  224. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.d.ts +0 -4
  225. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +0 -9
  226. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +26 -0
  228. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +68 -0
  229. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -0
  230. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +1 -1
  231. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +38 -0
  232. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +92 -0
  233. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -0
  234. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +26 -0
  235. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +67 -0
  236. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -0
  237. package/dist/dist-esm/react-components/src/components/utils/common.js +4 -0
  238. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +2 -1
  240. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +7 -0
  242. package/dist/dist-esm/react-components/src/components/utils/merge.js +16 -0
  243. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -0
  244. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +4 -0
  245. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +5 -1
  246. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/index.d.ts +1 -0
  248. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +63 -0
  250. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/theming/icons.d.ts +87 -72
  252. package/dist/dist-esm/react-components/src/theming/icons.js +108 -0
  253. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
  255. package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
  256. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
  257. package/dist/dist-esm/react-components/src/theming/themes.d.ts +21 -2
  258. package/dist/dist-esm/react-components/src/theming/themes.js +16 -0
  259. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +27 -1
  261. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +8 -0
  263. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +6 -0
  265. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +2 -0
  266. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  267. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +78 -0
  268. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +87 -7
  269. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  270. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +144 -0
  271. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  272. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +75 -5
  273. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +317 -50
  274. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  275. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +130 -1
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  278. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -1
  279. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +7 -1
  280. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +6 -0
  282. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +2 -0
  283. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  284. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +2 -0
  285. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +67 -10
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +1 -0
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +121 -12
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +48 -0
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +218 -0
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -0
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +2 -0
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +27 -0
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +20 -2
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +2 -0
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +27 -0
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +12 -0
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +93 -0
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -0
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +33 -6
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.d.ts +0 -9
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +21 -37
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +0 -4
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +4 -2
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +36 -2
  315. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  316. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +4 -2
  317. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +8 -0
  319. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +26 -0
  320. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -0
  321. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +8 -1
  322. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +6 -2
  324. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  325. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +23 -6
  326. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  327. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +6 -0
  328. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +2 -0
  329. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  330. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -2
  331. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +6 -3
  332. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  333. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +7 -0
  334. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +97 -6
  335. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +24 -0
  337. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +28 -0
  338. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -0
  339. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
  340. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  341. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.d.ts +11 -0
  342. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +113 -0
  343. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -0
  344. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +15 -0
  345. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +54 -0
  346. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -0
  347. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +5 -0
  348. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.d.ts +5 -0
  349. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +9 -0
  350. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +10 -0
  351. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  352. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +5 -0
  353. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +5 -0
  354. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +5 -0
  355. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +5 -0
  356. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +5 -0
  357. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +5 -0
  358. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +4 -0
  359. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  360. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +5 -0
  361. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +5 -0
  362. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +5 -0
  363. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +5 -0
  364. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +10 -0
  365. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +5 -0
  366. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -0
  367. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +32 -0
  368. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +81 -0
  369. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -0
  370. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.d.ts +37 -0
  371. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +73 -0
  372. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -0
  373. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +1 -80
  374. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  375. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +15 -3
  376. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +88 -1
  377. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  378. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +68 -1
  379. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +35 -5
  380. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  381. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +32 -0
  382. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  383. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +30 -5
  384. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +111 -4
  385. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  386. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +64 -0
  387. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  388. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +10 -2
  389. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +40 -0
  390. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  391. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +13 -0
  392. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +37 -1
  393. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  394. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -0
  395. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  396. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +24 -0
  397. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +11 -1
  398. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  399. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +20 -0
  400. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +4 -0
  401. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  402. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +133 -5
  403. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  404. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  405. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  406. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  407. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +15 -0
  408. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +23 -0
  409. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +1 -0
  410. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +4 -0
  411. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  412. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +28 -2
  413. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +126 -4
  414. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  415. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +28 -0
  416. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +159 -1
  417. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  418. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +17 -2
  419. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  420. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +2 -0
  421. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  422. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +8 -1
  423. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  424. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
  425. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
  426. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
  427. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +4 -0
  428. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  429. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +12 -0
  430. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +15 -0
  431. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
  432. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +34 -0
  433. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +14 -0
  434. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +1 -0
  435. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +5 -1
  436. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +11 -0
  437. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  438. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +22 -0
  439. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +107 -0
  440. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -0
  441. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +17 -0
  442. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +32 -0
  443. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -0
  444. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +5 -0
  445. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +3 -2
  446. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  447. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +22 -0
  448. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +74 -0
  449. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -0
  450. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +15 -0
  451. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +61 -0
  452. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -0
  453. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.d.ts +2 -0
  454. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +8 -2
  455. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  456. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +2 -0
  457. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +14 -6
  458. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  459. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +84 -23
  460. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +13 -5
  461. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  462. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +2 -0
  463. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +70 -1
  464. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  465. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +65 -3
  466. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  467. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +1 -0
  468. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  469. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +20 -3
  470. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  471. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.d.ts +1 -2
  472. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +3 -1
  473. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  474. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +21 -2
  475. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  476. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.d.ts +17 -0
  477. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +50 -0
  478. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -0
  479. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.d.ts +11 -0
  480. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js +40 -0
  481. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.styles.js.map +1 -0
  482. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +103 -73
  483. package/dist/dist-esm/react-composites/src/composites/common/icons.js +18 -2
  484. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  485. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +21 -83
  486. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  487. package/dist/dist-esm/react-composites/src/composites/index.d.ts +1 -0
  488. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  489. package/dist/tsdoc-metadata.json +1 -1
  490. package/package.json +6 -74
  491. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +0 -13
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +0 -32
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +0 -1
@@ -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 { BackgroundBlurConfig } from '@azure/communication-calling';
22
23
  import { BackgroundBlurEffect } from '@azure/communication-calling';
@@ -29,6 +30,7 @@ import { CallClientOptions } from '@azure/communication-calling';
29
30
  import { CallDirection } from '@azure/communication-calling';
30
31
  import { CallEndReason } from '@azure/communication-calling';
31
32
  import { CallerInfo } from '@azure/communication-calling';
33
+ import { CallKind } from '@azure/communication-calling';
32
34
  import { CallState as CallState_2 } from '@azure/communication-calling';
33
35
  import { CapabilitiesChangeInfo } from '@azure/communication-calling';
34
36
  import { CaptionsResultType } from '@azure/communication-calling';
@@ -47,6 +49,8 @@ import { CreateViewOptions } from '@azure/communication-calling';
47
49
  import { DeviceAccess } from '@azure/communication-calling';
48
50
  import { DeviceManager } from '@azure/communication-calling';
49
51
  import { DominantSpeakersInfo } from '@azure/communication-calling';
52
+ import { DtmfTone as DtmfTone_2 } from '@azure/communication-calling';
53
+ import { EnvironmentInfo } from '@azure/communication-calling';
50
54
  import { GroupCallLocator } from '@azure/communication-calling';
51
55
  import { IButtonProps } from '@fluentui/react';
52
56
  import { IButtonStyles } from '@fluentui/react';
@@ -54,18 +58,23 @@ import { IContextualMenuItem } from '@fluentui/react';
54
58
  import { IContextualMenuItemStyles } from '@fluentui/react';
55
59
  import { IContextualMenuProps } from '@fluentui/react';
56
60
  import { IContextualMenuStyles } from '@fluentui/react';
61
+ import { ILinkStyles } from '@fluentui/react';
57
62
  import { IMessageBarProps } from '@fluentui/react';
63
+ import { IncomingCall } from '@azure/communication-calling';
58
64
  import { IPersonaStyleProps } from '@fluentui/react';
59
65
  import { IPersonaStyles } from '@fluentui/react';
60
66
  import { IRawStyle } from '@fluentui/react';
61
67
  import { IRenderFunction } from '@fluentui/react';
62
68
  import { IStyle } from '@fluentui/react';
63
69
  import { IStyleFunctionOrObject } from '@fluentui/react';
70
+ import { ITextFieldStyles } from '@fluentui/react';
64
71
  import { LatestMediaDiagnostics } from '@azure/communication-calling';
65
72
  import { LatestNetworkDiagnostics } from '@azure/communication-calling';
66
73
  import { LocalVideoStream } from '@azure/communication-calling';
67
74
  import type { MediaDiagnosticChangedEventArgs } from '@azure/communication-calling';
68
75
  import { MediaStreamType } from '@azure/communication-calling';
76
+ import { MicrosoftTeamsAppKind } from '@azure/communication-common';
77
+ import { MicrosoftTeamsUserIdentifier } from '@azure/communication-common';
69
78
  import { MicrosoftTeamsUserKind } from '@azure/communication-common';
70
79
  import type { NetworkDiagnosticChangedEventArgs } from '@azure/communication-calling';
71
80
  import { PartialTheme } from '@fluentui/react';
@@ -81,20 +90,40 @@ import { PropertyChangedEvent } from '@azure/communication-calling';
81
90
  import { default as React_2 } from 'react';
82
91
  import type { RemoteParticipant } from '@azure/communication-calling';
83
92
  import { RemoteParticipantState as RemoteParticipantState_2 } from '@azure/communication-calling';
93
+ import { RoomCallLocator } from '@azure/communication-calling';
84
94
  import { ScalingMode } from '@azure/communication-calling';
85
95
  import { SendMessageOptions } from '@azure/communication-chat';
86
96
  import { StartCallOptions } from '@azure/communication-calling';
87
97
  import { StartCaptionsOptions } from '@azure/communication-calling';
98
+ import { SyntheticEvent } from 'react';
99
+ import { TeamsCall } from '@azure/communication-calling';
100
+ import { TeamsCallAgent } from '@azure/communication-calling';
88
101
  import { TeamsMeetingLinkLocator } from '@azure/communication-calling';
89
102
  import { Theme } from '@fluentui/react';
103
+ import { TransferRequestedEventArgs } from '@azure/communication-calling';
90
104
  import { TypingIndicatorReceivedEvent } from '@azure/communication-chat';
91
- import { UnknownIdentifier } from '@azure/communication-common';
92
105
  import { UnknownIdentifierKind } from '@azure/communication-common';
93
106
  import { VideoDeviceInfo } from '@azure/communication-calling';
94
107
  import { VideoEffectName } from '@azure/communication-calling';
95
108
  import { VideoStreamRenderer } from '@azure/communication-calling';
96
109
  import { VideoStreamRendererView } from '@azure/communication-calling';
97
110
 
111
+ /**
112
+ * Transfer feature state
113
+ *
114
+ * @beta
115
+ */
116
+ export declare interface AcceptedTransfer {
117
+ /**
118
+ * Stores call id of accepted transfer
119
+ */
120
+ callId: string;
121
+ /**
122
+ * Stores timestamp when transfer was accepted
123
+ */
124
+ timestamp: Date;
125
+ }
126
+
98
127
  /**
99
128
  * Active error messages to be shown via {@link ErrorBar}.
100
129
  *
@@ -114,6 +143,38 @@ export declare interface ActiveErrorMessage {
114
143
  timestamp?: Date;
115
144
  }
116
145
 
146
+ /**
147
+ * Attributes required for SendBox to show file uploads like name, progress etc.
148
+ * @beta
149
+ */
150
+ export declare interface ActiveFileUpload {
151
+ /**
152
+ * Unique identifier for the file upload.
153
+ */
154
+ id: string;
155
+ /**
156
+ * File name to be rendered for uploaded file.
157
+ */
158
+ filename: string;
159
+ /**
160
+ * A number between 0 and 1 indicating the progress of the upload.
161
+ * This is unrelated to the `uploadComplete` property.
162
+ * It is only used to show the progress of the upload.
163
+ * Progress of 1 doesn't mark the upload as complete, set the `uploadComplete`
164
+ * property to true to mark the upload as complete.
165
+ */
166
+ progress: number;
167
+ /**
168
+ * Error to be displayed to the user if the upload fails.
169
+ */
170
+ error?: SendBoxErrorBarError;
171
+ /**
172
+ * `true` means that the upload is completed.
173
+ * This is independent of the upload `progress`.
174
+ */
175
+ uploadComplete?: boolean;
176
+ }
177
+
117
178
  /**
118
179
  * Error reported via error events and stored in adapter state.
119
180
  *
@@ -180,6 +241,13 @@ export declare type AreParamEqual<A extends (props: any) => JSX.Element | undefi
180
241
  */
181
242
  export declare type AreTypeEqual<A, B> = A extends B ? (B extends A ? true : false) : false;
182
243
 
244
+ /**
245
+ * @beta
246
+ */
247
+ export declare interface AttachmentDownloadResult {
248
+ blobUrl: string;
249
+ }
250
+
183
251
  /**
184
252
  * Custom data attributes for displaying avatar for a user.
185
253
  *
@@ -209,6 +277,11 @@ export declare type AvatarPersonaData = {
209
277
  * @defaultvalue `white`
210
278
  */
211
279
  initialsTextColor?: string;
280
+ /**
281
+ * If true, show the special coin for unknown persona.
282
+ * It has '?' in place of initials, with static font and background colors
283
+ */
284
+ showUnknownPersonaCoin?: boolean;
212
285
  };
213
286
 
214
287
  /**
@@ -230,6 +303,11 @@ export declare type AzureCommunicationCallAdapterArgs = {
230
303
  displayName: string;
231
304
  credential: CommunicationTokenCredential;
232
305
  locator: CallAdapterLocator;
306
+ /**
307
+ * A phone number in E.164 format procured using Azure Communication Services that will be used to represent callers identity.
308
+ * E.164 numbers are formatted as [+] [country code] [phone number including area code]. For example, +14255550123 for a US phone number.
309
+ */
310
+ alternateCallerId?: string;
233
311
  /**
234
312
  * Optional parameters for the {@link AzureCommunicationCallAdapter} created
235
313
  */
@@ -254,6 +332,7 @@ export declare type AzureCommunicationCallWithChatAdapterArgs = {
254
332
  displayName: string;
255
333
  credential: CommunicationTokenCredential;
256
334
  locator: CallAndChatLocator | TeamsMeetingLinkLocator;
335
+ alternateCallerId?: string;
257
336
  callAdapterOptions?: AzureCommunicationCallAdapterOptions;
258
337
  };
259
338
 
@@ -269,6 +348,7 @@ export declare type AzureCommunicationCallWithChatAdapterFromClientArgs = {
269
348
  chatClient: StatefulChatClient;
270
349
  chatThreadClient: ChatThreadClient;
271
350
  callAdapterOptions?: AzureCommunicationCallAdapterOptions;
351
+ chatAdapterOptions?: AzureCommunicationChatAdapterOptions;
272
352
  };
273
353
 
274
354
  /**
@@ -284,6 +364,14 @@ export declare type AzureCommunicationChatAdapterArgs = {
284
364
  threadId: string;
285
365
  };
286
366
 
367
+ /**
368
+ * Configuration options to include when creating AzureCommunicationChatAdapter.
369
+ * @beta
370
+ */
371
+ export declare type AzureCommunicationChatAdapterOptions = {
372
+ credential?: CommunicationTokenCredential;
373
+ };
374
+
287
375
  /**
288
376
  * Properties common to all composites exported from this library.
289
377
  *
@@ -339,6 +427,186 @@ export declare interface BaseCustomStyles {
339
427
  root?: IStyle;
340
428
  }
341
429
 
430
+ /**
431
+ * Base interface that all Meta Data should extend.
432
+ * Typically used for ACS to ACS file transfers.
433
+ * @beta
434
+ */
435
+ export declare interface BaseFileMetadata {
436
+ /**
437
+ * File name to be displayed.
438
+ */
439
+ name: string;
440
+ /**
441
+ * Extension is used for rendering the file icon.
442
+ * An unknown extension will be rendered as a generic icon.
443
+ * Example: `jpeg`
444
+ */
445
+ extension: string;
446
+ /**
447
+ * Download URL for the file.
448
+ */
449
+ url: string;
450
+ /**
451
+ * Unique ID of the file.
452
+ */
453
+ id: string;
454
+ /**
455
+ * Attachment Type
456
+ */
457
+ attachmentType: FileMetadataAttachmentType;
458
+ }
459
+
460
+ /**
461
+ * Content blocked message type.
462
+ *
463
+ * Content blocked messages will rendered default value, but applications can provide custom strings and icon to renderers.
464
+ *
465
+ * @beta
466
+ */
467
+ export declare interface BlockedMessage extends MessageCommon {
468
+ messageType: 'blocked';
469
+ warningText?: string;
470
+ linkText?: string;
471
+ link?: string;
472
+ deletedOn?: Date;
473
+ senderId?: string;
474
+ senderDisplayName?: string;
475
+ status?: MessageStatus;
476
+ attached?: MessageAttachedStatus;
477
+ mine?: boolean;
478
+ }
479
+
480
+ /**
481
+ * @beta
482
+ * Props for BrowserPermissionDeniedIOS component.
483
+ */
484
+ export declare interface BrowserPermissionDeniedIOSProps extends BrowserPermissionDeniedProps {
485
+ /**
486
+ * Localization strings for BrowserPermissionDeniedIOS component.
487
+ */
488
+ strings?: BrowserPermissionDeniedIOSStrings;
489
+ /**
490
+ * Link to image source.
491
+ *
492
+ * Image is inserted into the top of the component.
493
+ */
494
+ imageSource?: string;
495
+ }
496
+
497
+ /**
498
+ * @beta
499
+ * Strings for BrowserPermissionDeniedIOS component
500
+ */
501
+ export declare interface BrowserPermissionDeniedIOSStrings extends BrowserPermissionDeniedStrings {
502
+ /**
503
+ * Image alt text
504
+ */
505
+ imageAltText: string;
506
+ /**
507
+ * Main text string.
508
+ */
509
+ primaryText: string;
510
+ /**
511
+ * Subtext string.
512
+ */
513
+ secondaryText: string;
514
+ /**
515
+ * Step 1 string
516
+ */
517
+ step1Text: string;
518
+ /**
519
+ * Step 1 digit string
520
+ */
521
+ step1DigitText: string;
522
+ /**
523
+ * Step 2 string
524
+ */
525
+ step2Text: string;
526
+ /**
527
+ * Step 2 digit string
528
+ */
529
+ step2DigitText: string;
530
+ /**
531
+ * Step 3 string
532
+ */
533
+ step3Text: string;
534
+ /**
535
+ * Step 3 digit string
536
+ */
537
+ step3DigitText: string;
538
+ /**
539
+ * Step 4 string
540
+ */
541
+ step4Text: string;
542
+ /**
543
+ * Step 4 digit string
544
+ */
545
+ step4DigitText: string;
546
+ }
547
+
548
+ /**
549
+ * @beta
550
+ * Props for BrowserPermissionDenied component.
551
+ */
552
+ export declare interface BrowserPermissionDeniedProps {
553
+ /**
554
+ * Action to be taken by the more help link. Possible to send to external page or show other modal.
555
+ */
556
+ onTroubleshootingClick?: () => void;
557
+ /**
558
+ * Action to be taken by the try again primary button.
559
+ */
560
+ onTryAgainClick?: () => void;
561
+ /**
562
+ * Localization strings for BrowserPermissionDenied component.
563
+ */
564
+ strings?: BrowserPermissionDeniedStrings;
565
+ /**
566
+ * Allows users to pass in an object contains custom CSS styles.
567
+ * @Example
568
+ * ```
569
+ * <BrowserPermissionDenied styles={{ primaryButton: { root: {backgroundColor: 'blue' }}}} />
570
+ * ```
571
+ */
572
+ styles?: BrowserPermissionDeniedStyles;
573
+ }
574
+
575
+ /**
576
+ * @beta
577
+ * Strings for BrowserPermissionDenied component
578
+ */
579
+ export declare interface BrowserPermissionDeniedStrings {
580
+ /**
581
+ * Main button text string.
582
+ */
583
+ primaryButtonText: string;
584
+ /**
585
+ * Main text string.
586
+ */
587
+ primaryText: string;
588
+ /**
589
+ * Subtext string.
590
+ */
591
+ secondaryText: string;
592
+ /**
593
+ * More help link string.
594
+ */
595
+ linkText: string;
596
+ }
597
+
598
+ /**
599
+ * Fluent styles for {@link BrowserPermissionDenied}.
600
+ *
601
+ * @beta
602
+ */
603
+ export declare interface BrowserPermissionDeniedStyles extends BaseCustomStyles {
604
+ /** Styles for the primary button. */
605
+ primaryButton?: IButtonStyles;
606
+ /** Styles for the help troubleshooting link text. */
607
+ troubleshootingLink?: ILinkStyles;
608
+ }
609
+
342
610
  /**
343
611
  * An Adapter interface specific for Azure Communication identity which extends {@link CommonCallAdapter}.
344
612
  *
@@ -372,6 +640,12 @@ export declare interface CallAdapter extends CommonCallAdapter {
372
640
  * @public
373
641
  */
374
642
  startCall(participants: string[], options?: StartCallOptions): Call | undefined;
643
+ /**
644
+ * Start the call.
645
+ * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called
646
+ * @beta
647
+ */
648
+ startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): Call | undefined;
375
649
  }
376
650
 
377
651
  /**
@@ -416,6 +690,12 @@ export declare interface CallAdapterCallManagement extends CallAdapterCallOperat
416
690
  * @public
417
691
  */
418
692
  startCall(participants: string[], options?: StartCallOptions): Call | undefined;
693
+ /**
694
+ * Start the call.
695
+ * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called
696
+ * @beta
697
+ */
698
+ startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): Call | undefined;
419
699
  }
420
700
 
421
701
  /**
@@ -492,6 +772,12 @@ export declare interface CallAdapterCallOperations {
492
772
  * @public
493
773
  */
494
774
  removeParticipant(userId: string): Promise<void>;
775
+ /**
776
+ * Remove a participant from the call.
777
+ * @param participant - {@link @azure/communication-common#CommunicationIdentifier} of the participant to be removed
778
+ * @beta
779
+ */
780
+ removeParticipant(participant: CommunicationIdentifier): Promise<void>;
495
781
  /**
496
782
  * Create the html view for a stream.
497
783
  *
@@ -543,6 +829,35 @@ export declare interface CallAdapterCallOperations {
543
829
  * @public
544
830
  */
545
831
  disposeLocalVideoStreamView(): Promise<void>;
832
+ /**
833
+ * Holds the call.
834
+ *
835
+ * @beta
836
+ */
837
+ holdCall(): Promise<void>;
838
+ /**
839
+ * Resumes the call from a `LocalHold` state.
840
+ *
841
+ * @beta
842
+ */
843
+ resumeCall(): Promise<void>;
844
+ /**
845
+ * Add a participant to the call.
846
+ *
847
+ * @beta
848
+ */
849
+ addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;
850
+ addParticipant(participant: CommunicationUserIdentifier): Promise<void>;
851
+ /**
852
+ * send dtmf tone to another participant in a 1:1 PSTN call
853
+ *
854
+ * @beta
855
+ */
856
+ sendDtmfTone(dtmfTone: DtmfTone_2): Promise<void>;
857
+ /**
858
+ * Continues into a call when the browser version is not supported.
859
+ */
860
+ allowUnsupportedBrowserVersion(): void;
546
861
  /**
547
862
  * Function to Start captions
548
863
  * @param options - options for start captions
@@ -602,10 +917,22 @@ export declare type CallAdapterClientState = {
602
917
  devices: DeviceManagerState;
603
918
  endedCall?: CallState;
604
919
  isTeamsCall: boolean;
920
+ /**
921
+ * State to track whether the call is a rooms call.
922
+ */
923
+ isRoomsCall: boolean;
605
924
  /**
606
925
  * Latest error encountered for each operation performed via the adapter.
607
926
  */
608
927
  latestErrors: AdapterErrors;
928
+ /**
929
+ * Azure communications Phone number to make PSTN calls with.
930
+ */
931
+ alternateCallerId?: string;
932
+ /**
933
+ * Environment information about system the adapter is made on
934
+ */
935
+ environmentInfo?: EnvironmentInfo;
609
936
  /**
610
937
  * State to track whether the local participant's camera is on. To be used when creating a custom
611
938
  * control bar with the CallComposite.
@@ -623,6 +950,10 @@ export declare type CallAdapterClientState = {
623
950
  * State to track the selected video background effect.
624
951
  */
625
952
  selectedVideoBackgroundEffect?: VideoBackgroundEffect;
953
+ /**
954
+ * Call from transfer request accepted by local user
955
+ */
956
+ acceptedTransferCallState?: CallState;
626
957
  };
627
958
 
628
959
  /**
@@ -707,7 +1038,7 @@ export declare interface CallAdapterDeviceManagement {
707
1038
  *
708
1039
  * @public
709
1040
  */
710
- export declare type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator;
1041
+ export declare type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator | /* @conditional-compile-remove(rooms) */ RoomCallLocator | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */ CallParticipantsLocator;
711
1042
 
712
1043
  /**
713
1044
  * {@link CommonCallAdapter} state.
@@ -800,6 +1131,10 @@ export declare interface CallAdapterSubscribers {
800
1131
  * Subscribe function for 'isSpokenLanguageChanged' event.
801
1132
  */
802
1133
  on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;
1134
+ /**
1135
+ * Subscribe function for 'transferRequested' event.
1136
+ */
1137
+ on(event: 'transferRequested', listener: TransferRequestedListener): void;
803
1138
  /**
804
1139
  * Subscribe function for 'capabilitiesChanged' event.
805
1140
  */
@@ -868,6 +1203,10 @@ export declare interface CallAdapterSubscribers {
868
1203
  * Unsubscribe function for 'isSpokenLanguageChanged' event.
869
1204
  */
870
1205
  off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;
1206
+ /**
1207
+ * Unsubscribe function for 'transferRequested' event.
1208
+ */
1209
+ off(event: 'transferRequested', listener: TransferRequestedListener): void;
871
1210
  /**
872
1211
  * Unsubscribe function for 'capabilitiesChanged' event.
873
1212
  */
@@ -882,6 +1221,7 @@ export declare interface CallAdapterSubscribers {
882
1221
  export declare type CallAdapterUiState = {
883
1222
  isLocalPreviewMicrophoneEnabled: boolean;
884
1223
  page: CallCompositePage;
1224
+ unsupportedBrowserVersionsAllowed?: boolean;
885
1225
  };
886
1226
 
887
1227
  /**
@@ -900,7 +1240,7 @@ export declare const CallAgentProvider: (props: CallAgentProviderProps) => JSX.E
900
1240
  */
901
1241
  export declare interface CallAgentProviderProps {
902
1242
  children: React_2.ReactNode;
903
- callAgent?: CallAgent;
1243
+ callAgent?: CallAgent | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallAgent;
904
1244
  }
905
1245
 
906
1246
  /**
@@ -925,7 +1265,7 @@ export declare interface CallAgentState {
925
1265
  */
926
1266
  export declare interface CallAndChatLocator {
927
1267
  /** Locator used by {@link createAzureCommunicationCallWithChatAdapter} to locate the call to join */
928
- callLocator: GroupCallLocator;
1268
+ callLocator: GroupCallLocator | /* @conditional-compile-remove(teams-adhoc-call) */ CallParticipantsLocator;
929
1269
  /** Chat thread ID used by {@link createAzureCommunicationCallWithChatAdapter} to locate the chat thread to join */
930
1270
  chatThreadId: string;
931
1271
  }
@@ -1012,6 +1352,16 @@ export declare interface CallClientState {
1012
1352
  * See documentation of {@Link CallErrors} for details.
1013
1353
  */
1014
1354
  latestErrors: CallErrors;
1355
+ /**
1356
+ * A phone number in E.164 format that will be used to represent callers identity.
1357
+ * For example, using the alternateCallerId to add a participant using PSTN, this number will
1358
+ * be used as the caller id in the PSTN call.
1359
+ */
1360
+ alternateCallerId?: string;
1361
+ /**
1362
+ * state to track the environment that the stateful client was made in is supported
1363
+ */
1364
+ environmentInfo?: EnvironmentInfo;
1015
1365
  }
1016
1366
 
1017
1367
  /**
@@ -1082,6 +1432,10 @@ export declare type CallCompositeIcons = {
1082
1432
  ParticipantItemScreenShareStart?: JSX.Element;
1083
1433
  VideoTileMicOff?: JSX.Element;
1084
1434
  LocalCameraSwitch?: JSX.Element;
1435
+ PeoplePaneAddPerson?: JSX.Element;
1436
+ PeoplePaneOpenDialpad?: JSX.Element;
1437
+ DialpadStartCall?: JSX.Element;
1438
+ NoticePageAccessDeniedRoomsCall?: JSX.Element;
1085
1439
  BlurVideoBackground?: JSX.Element;
1086
1440
  RemoveVideoBackgroundEffect?: JSX.Element;
1087
1441
  GalleryOptions?: JSX.Element;
@@ -1091,6 +1445,7 @@ export declare type CallCompositeIcons = {
1091
1445
  FocusedContentGalleryLayout?: JSX.Element;
1092
1446
  OverflowGalleryTop?: JSX.Element;
1093
1447
  LargeGalleryLayout?: JSX.Element;
1448
+ DefaultCustomButton?: JSX.Element;
1094
1449
  };
1095
1450
 
1096
1451
  /**
@@ -1111,10 +1466,66 @@ export declare type CallCompositeOptions = {
1111
1466
  * @defaultValue true
1112
1467
  */
1113
1468
  callControls?: boolean | CallControlOptions;
1469
+ /**
1470
+ * Device permissions check options for your call.
1471
+ * Here you can choose what device permissions you prompt the user for,
1472
+ * as well as what device permissions must be accepted before starting a call.
1473
+ */
1474
+ deviceChecks?: DeviceCheckOptions;
1475
+ /**
1476
+ * Callback you may provide to supply users with further steps to troubleshoot why they have been
1477
+ * unable to grant your site the required permissions for the call.
1478
+ *
1479
+ * @example
1480
+ * ```ts
1481
+ * onPermissionsTroubleshootingClick: () =>
1482
+ * window.open('https://contoso.com/permissions-troubleshooting', '_blank');
1483
+ * ```
1484
+ *
1485
+ * @remarks
1486
+ * if this is not supplied, the composite will not show a 'further troubleshooting' link.
1487
+ */
1488
+ onPermissionsTroubleshootingClick?: (permissionsState: {
1489
+ camera: PermissionState;
1490
+ microphone: PermissionState;
1491
+ }) => void;
1492
+ /**
1493
+ * Callback you may provide to supply users with further steps to troubleshoot why they have been
1494
+ * having network issues when connecting to the call.
1495
+ *
1496
+ * @example
1497
+ * ```ts
1498
+ * onNetworkingTroubleShootingClick?: () =>
1499
+ * window.open('https://contoso.com/network-troubleshooting', '_blank');
1500
+ * ```
1501
+ *
1502
+ * @remarks
1503
+ * if this is not supplied, the composite will not show a 'network troubleshooting' link.
1504
+ */
1505
+ onNetworkingTroubleShootingClick?: () => void;
1506
+ /**
1507
+ * Callback you may provide to supply users with a provided page to showcase supported browsers by ACS.
1508
+ *
1509
+ * @example
1510
+ * ```ts
1511
+ * onBrowserTroubleShootingClick?: () =>
1512
+ * window.open('https://contoso.com/browser-troubleshooting', '_blank');
1513
+ * ```
1514
+ *
1515
+ * @remarks
1516
+ * if this is not supplied, the composite will not show a unsupported browser page.
1517
+ */
1518
+ onEnvironmentInfoTroubleshootingClick?: () => void;
1114
1519
  /**
1115
1520
  * Remote participant video tile menu options
1116
1521
  */
1117
1522
  remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;
1523
+ /**
1524
+ * Options for controlling the local video tile.
1525
+ *
1526
+ * @remarks if 'false' the local video tile will not be rendered.
1527
+ */
1528
+ localVideoTile?: boolean | LocalVideoTileOptions;
1118
1529
  /**
1119
1530
  * Options for controlling the starting layout of the composite's video gallery
1120
1531
  */
@@ -1131,7 +1542,7 @@ export declare type CallCompositeOptions = {
1131
1542
  *
1132
1543
  * @public
1133
1544
  */
1134
- export declare type CallCompositePage = 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'leaving' | 'lobby' | 'removedFromCall';
1545
+ export declare type CallCompositePage = 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | /* @conditional-compile-remove(PSTN-calls) */ 'hold' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'leaving' | 'lobby' | /* @conditional-compile-remove(rooms) */ 'deniedPermissionToRoom' | 'removedFromCall' | /* @conditional-compile-remove(rooms) */ 'roomNotFound' | /* @conditional-compile-remove(unsupported-browser) */ 'unsupportedEnvironment' | /* @conditional-compile-remove(call-transfer) */ 'transferring';
1135
1546
 
1136
1547
  /**
1137
1548
  * Props for {@link CallComposite}.
@@ -1377,14 +1788,86 @@ export declare interface CallCompositeStrings {
1377
1788
  * Label for SidePaneHeader dismiss button
1378
1789
  */
1379
1790
  dismissSidePaneButtonLabel?: string;
1791
+ /**
1792
+ * Side pane People section subheader.
1793
+ */
1794
+ peoplePaneSubTitle: string;
1795
+ /**
1796
+ * Label for button to copy invite link
1797
+ */
1798
+ copyInviteLinkButtonLabel: string;
1799
+ /**
1800
+ * Label for button to open dialpad
1801
+ */
1802
+ openDialpadButtonLabel: string;
1803
+ /**
1804
+ * Label for menu item to remove participant
1805
+ */
1806
+ removeMenuLabel: string;
1807
+ /**
1808
+ * Label for add people dropdown
1809
+ */
1810
+ peoplePaneAddPeopleButtonLabel: string;
1811
+ /**
1812
+ * Label for button to start a call
1813
+ */
1814
+ dialpadStartCallButtonLabel: string;
1815
+ /**
1816
+ * Title for dialpad Modal
1817
+ */
1818
+ dialpadModalTitle: string;
1819
+ /**
1820
+ * Aria Label for dialpad Modal
1821
+ */
1822
+ dialpadModalAriaLabel: string;
1823
+ /**
1824
+ * Aria Label for dialpad Modal close button
1825
+ */
1826
+ dialpadCloseModalButtonAriaLabel: string;
1380
1827
  /**
1381
1828
  * label for more button in the Calling composite
1382
1829
  */
1383
1830
  moreButtonCallingLabel: string;
1831
+ /**
1832
+ * Label for the resume call button on the hold pane
1833
+ */
1834
+ resumeCallButtonLabel: string;
1835
+ /**
1836
+ * Label for the resume call button on the hold pane when call is resuming
1837
+ */
1838
+ resumingCallButtonLabel: string;
1839
+ /**
1840
+ * Aria label for the resume call button on the hold pane
1841
+ */
1842
+ resumeCallButtonAriaLabel: string;
1843
+ /**
1844
+ * Aria label for the resume call button on the hold pane when call is resuming
1845
+ */
1846
+ resumingCallButtonAriaLabel: string;
1847
+ /**
1848
+ * Label for the hold pane
1849
+ */
1850
+ holdScreenLabel: string;
1851
+ /**
1852
+ * Placeholder text for dtmf dialpad
1853
+ */
1854
+ dtmfDialpadPlaceholderText: string;
1855
+ /**
1856
+ * Label for the button to open dtmf dialpad
1857
+ */
1858
+ openDtmfDialpadLabel: string;
1384
1859
  /**
1385
1860
  * aria label for when the invite link has been actioned
1386
1861
  */
1387
1862
  copyInviteLinkActionedAriaLabel: string;
1863
+ /**
1864
+ * Title text of the page shown to the user when the user attempts to join a room that cannot be found.
1865
+ */
1866
+ roomNotFoundTitle: string;
1867
+ /**
1868
+ * More details text of the page shown to the user when the user attempts to join a room that cannot be found.
1869
+ */
1870
+ roomNotFoundDetails?: string;
1388
1871
  /**
1389
1872
  * Video Effects pane title.
1390
1873
  */
@@ -1422,17 +1905,37 @@ export declare interface CallCompositeStrings {
1422
1905
  */
1423
1906
  cameraOffBackgroundEffectWarningText?: string;
1424
1907
  /**
1425
- * Notice to be announced by narrator when a participant joins a call
1908
+ * Title text of the page shown to the user when the user attempts to join a room to which they are not invited.
1426
1909
  */
1427
- participantJoinedNoticeString: string;
1910
+ deniedPermissionToRoomTitle: string;
1428
1911
  /**
1429
- * Notice to be announced by narrator when a participant joins a call
1912
+ * More details text of the page shown to the user when the user attempts to join a room to which they are not invited.
1430
1913
  */
1431
- twoParticipantJoinedNoticeString: string;
1914
+ deniedPermissionToRoomDetails?: string;
1432
1915
  /**
1433
- * Notice to be announced by narrator when a participant joins a call
1916
+ * Control bar People button ToolTipContent
1434
1917
  */
1435
- threeParticipantJoinedNoticeString: string;
1918
+ peopleButtonTooltipOpen: string;
1919
+ /**
1920
+ * Control bar People button ToolTipContent
1921
+ */
1922
+ peopleButtonTooltipClose: string;
1923
+ /**
1924
+ * Label disaplayed on the lobby screen during a 1:1 outbound call.
1925
+ */
1926
+ outboundCallingNoticeString: string;
1927
+ /**
1928
+ * Notice to be announced by narrator when a participant joins a call
1929
+ */
1930
+ participantJoinedNoticeString: string;
1931
+ /**
1932
+ * Notice to be announced by narrator when a participant joins a call
1933
+ */
1934
+ twoParticipantJoinedNoticeString: string;
1935
+ /**
1936
+ * Notice to be announced by narrator when a participant joins a call
1937
+ */
1938
+ threeParticipantJoinedNoticeString: string;
1436
1939
  /**
1437
1940
  * Notice to be announced by narrator when a participant leaves a call
1438
1941
  */
@@ -1545,6 +2048,58 @@ export declare interface CallCompositeStrings {
1545
2048
  * captions banner loading spinner label
1546
2049
  */
1547
2050
  captionsBannerSpinnerText?: string;
2051
+ /**
2052
+ * transfer page text when showing the transferor who initiated the transfer
2053
+ */
2054
+ transferPageTransferorText: string;
2055
+ /**
2056
+ * transfer page text when showing the transfer target
2057
+ */
2058
+ transferPageTransferTargetText: string;
2059
+ /**
2060
+ * transfer page display name for unknown participant
2061
+ */
2062
+ transferPageUnknownTransferorDisplayName: string;
2063
+ /**
2064
+ * transfer page display name for unknown participant
2065
+ */
2066
+ transferPageUnknownTransferTargetDisplayName: string;
2067
+ /**
2068
+ * notice to be announced by narrator the transfer page is showing
2069
+ */
2070
+ transferPageNoticeString: string;
2071
+ /**
2072
+ * Title text of the page shown to the user when target participant could not be reached
2073
+ */
2074
+ participantCouldNotBeReachedTitle?: string;
2075
+ /**
2076
+ * More details text of the page shown to the user when target participant could not be reached
2077
+ */
2078
+ participantCouldNotBeReachedMoreDetails?: string;
2079
+ /**
2080
+ * Title text of the page shown to the user when permission to reach participant is not allowed
2081
+ */
2082
+ permissionToReachTargetParticipantNotAllowedTitle?: string;
2083
+ /**
2084
+ * More details text of the page shown to the user when permission to reach participant is not allowed
2085
+ */
2086
+ permissionToReachTargetParticipantNotAllowedMoreDetails?: string;
2087
+ /**
2088
+ * Title text of the page shown to the user when tenant id for the target participant could not be resolved
2089
+ */
2090
+ unableToResolveTenantTitle?: string;
2091
+ /**
2092
+ * More details text of the page shown to the user when tenant id for the target participant could not be resolved
2093
+ */
2094
+ unableToResolveTenantMoreDetails?: string;
2095
+ /**
2096
+ * Title text of the page shown to the user when target participant id is malformed
2097
+ */
2098
+ participantIdIsMalformedTitle?: string;
2099
+ /**
2100
+ * More details text of the page shown to the user when target participant id is malformed
2101
+ */
2102
+ participantIdIsMalformedMoreDetails?: string;
1548
2103
  /**
1549
2104
  * Controls label to move the overflow gallery around
1550
2105
  */
@@ -1661,7 +2216,7 @@ export declare type CallErrors = {
1661
2216
  *
1662
2217
  * @public
1663
2218
  */
1664
- export declare type CallErrorTarget = 'Call.addParticipant' | 'Call.dispose' | 'Call.feature' | 'Call.hangUp' | 'Call.hold' | 'Call.mute' | 'Call.muteIncomingAudio' | 'Call.off' | 'Call.on' | 'Call.removeParticipant' | 'Call.resume' | 'Call.sendDtmf' | 'Call.startAudio' | 'Call.startScreenSharing' | 'Call.startVideo' | 'Call.stopScreenSharing' | 'Call.stopAudio' | 'Call.stopVideo' | 'Call.unmute' | 'Call.unmuteIncomingAudio' | 'CallAgent.dispose' | 'CallAgent.feature' | 'CallAgent.join' | 'CallAgent.off' | 'CallAgent.on' | 'CallAgent.startCall' | 'CallClient.createCallAgent' | 'CallClient.createTeamsCallAgent' | 'CallClient.feature' | 'CallClient.getDeviceManager' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'IncomingCall.accept' | 'IncomingCall.reject' | 'VideoEffectsFeature.startEffects';
2219
+ export declare type CallErrorTarget = 'Call.addParticipant' | 'Call.dispose' | 'Call.feature' | 'Call.hangUp' | 'Call.hold' | 'Call.mute' | 'Call.muteIncomingAudio' | 'Call.off' | 'Call.on' | 'Call.removeParticipant' | 'Call.resume' | 'Call.sendDtmf' | 'Call.startAudio' | 'Call.startScreenSharing' | 'Call.startVideo' | 'Call.stopScreenSharing' | 'Call.stopAudio' | 'Call.stopVideo' | 'Call.unmute' | 'Call.unmuteIncomingAudio' | 'CallAgent.dispose' | 'CallAgent.feature' | 'CallAgent.join' | 'CallAgent.off' | 'CallAgent.on' | 'CallAgent.startCall' | 'CallClient.createCallAgent' | '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' | /* @conditional-compile-remove(calling-beta-sdk) */ /* @conditional-compile-remove(teams-identity-support) */ 'TeamsCall.addParticipant' | 'VideoEffectsFeature.startEffects' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallAgent.handlePushNotification' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.admit' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.rejectParticipant' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.admitAll' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.muteAllRemoteParticipants' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.setConstraints';
1665
2220
 
1666
2221
  /**
1667
2222
  * Callback for {@link CallAdapterSubscribers} 'callIdChanged' event.
@@ -1741,6 +2296,23 @@ export declare type CallParticipantListParticipant = ParticipantListParticipant
1741
2296
  raisedHand?: RaisedHand;
1742
2297
  };
1743
2298
 
2299
+ /**
2300
+ * Locator used by {@link createAzureCommunicationCallAdapter} to call one or more participants
2301
+ *
2302
+ * @remarks
2303
+ * This is currently in beta and only supports calling one Teams User.
2304
+ *
2305
+ * @example
2306
+ * ```
2307
+ * ['8:orgid:ab220efe-5725-4742-9792-9fba7c9ac458']
2308
+ * ```
2309
+ *
2310
+ * @beta
2311
+ */
2312
+ export declare type CallParticipantsLocator = {
2313
+ participantIds: string[];
2314
+ };
2315
+
1744
2316
  /**
1745
2317
  * A {@link React.Context} that stores a {@link @azure/communication-calling#Call}.
1746
2318
  *
@@ -1757,7 +2329,7 @@ export declare const CallProvider: (props: CallProviderProps) => JSX.Element;
1757
2329
  */
1758
2330
  export declare interface CallProviderProps {
1759
2331
  children: React_2.ReactNode;
1760
- call?: Call;
2332
+ call?: Call | /* @conditional-compile-remove(teams-identity-support) */ TeamsCall;
1761
2333
  }
1762
2334
 
1763
2335
  /**
@@ -1771,6 +2343,10 @@ export declare interface CallState {
1771
2343
  * Proxy of {@link @azure/communication-calling#Call.id}.
1772
2344
  */
1773
2345
  id: string;
2346
+ /**
2347
+ * Type of the call.
2348
+ */
2349
+ kind: CallKind;
1774
2350
  /**
1775
2351
  * Proxy of {@link @azure/communication-calling#Call.callerInfo}.
1776
2352
  */
@@ -1869,6 +2445,14 @@ export declare interface CallState {
1869
2445
  * Proxy of {@link @azure/communication-calling#Call.role}.
1870
2446
  */
1871
2447
  role?: ParticipantRole;
2448
+ /**
2449
+ * Proxy of {@link @azure/communication-calling#Call.totalParticipantCount}.
2450
+ */
2451
+ totalParticipantCount?: number;
2452
+ /**
2453
+ * Transfer state of call
2454
+ */
2455
+ transfer: TransferFeature;
1872
2456
  /**
1873
2457
  * Proxy of {@link @azure/communication-calling#CapabilitiesFeature}.
1874
2458
  */
@@ -1896,6 +2480,12 @@ export declare interface CallWithChatAdapterManagement {
1896
2480
  * @public
1897
2481
  */
1898
2482
  removeParticipant(userId: string): Promise<void>;
2483
+ /**
2484
+ * Remove a participant from the call.
2485
+ * @param participant - {@link @azure/communication-common#CommunicationIdentifier} of the participant to be removed
2486
+ * @beta
2487
+ */
2488
+ removeParticipant(participant: CommunicationIdentifier): Promise<void>;
1899
2489
  /**
1900
2490
  * Join the call with microphone initially on/off.
1901
2491
  * @deprecated Use joinCall(options?:JoinCallOptions) instead.
@@ -1961,6 +2551,12 @@ export declare interface CallWithChatAdapterManagement {
1961
2551
  * @public
1962
2552
  */
1963
2553
  startCall(participants: string[], options?: StartCallOptions): Call | undefined;
2554
+ /**
2555
+ * Start the call.
2556
+ * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called
2557
+ * @beta
2558
+ */
2559
+ startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): Call | undefined;
1964
2560
  /**
1965
2561
  * Start sharing the screen during a call.
1966
2562
  *
@@ -2150,6 +2746,52 @@ export declare interface CallWithChatAdapterManagement {
2150
2746
  * @public
2151
2747
  */
2152
2748
  loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
2749
+ /** @beta */
2750
+ registerActiveFileUploads: (files: File[]) => FileUploadManager[];
2751
+ /** @beta */
2752
+ registerCompletedFileUploads: (metadata: FileMetadata[]) => FileUploadManager[];
2753
+ /** @beta */
2754
+ clearFileUploads: () => void;
2755
+ /** @beta */
2756
+ cancelFileUpload: (id: string) => void;
2757
+ /** @beta */
2758
+ updateFileUploadProgress: (id: string, progress: number) => void;
2759
+ /** @beta */
2760
+ updateFileUploadErrorMessage: (id: string, errorMessage: string) => void;
2761
+ /** @beta */
2762
+ updateFileUploadMetadata: (id: string, metadata: FileMetadata) => void;
2763
+ downloadAttachments: (options: {
2764
+ attachmentUrls: string[];
2765
+ }) => Promise<AttachmentDownloadResult[]>;
2766
+ /**
2767
+ * Puts the Call in a Localhold.
2768
+ *
2769
+ * @beta
2770
+ */
2771
+ holdCall: () => Promise<void>;
2772
+ /**
2773
+ * Resumes the call from a LocalHold state.
2774
+ *
2775
+ * @beta
2776
+ */
2777
+ resumeCall: () => Promise<void>;
2778
+ /**
2779
+ * Adds a new Participant to the call.
2780
+ *
2781
+ * @beta
2782
+ */
2783
+ addParticipant(participant: PhoneNumberIdentifier, options?: AddPhoneNumberOptions): Promise<void>;
2784
+ addParticipant(participant: CommunicationUserIdentifier): Promise<void>;
2785
+ /**
2786
+ * send dtmf tone to another participant in the call in 1:1 calls
2787
+ *
2788
+ * @beta
2789
+ */
2790
+ sendDtmfTone: (dtmfTone: DtmfTone_2) => Promise<void>;
2791
+ /**
2792
+ * Continues into a call when the browser version is not supported.
2793
+ */
2794
+ allowUnsupportedBrowserVersion(): void;
2153
2795
  /**
2154
2796
  * Function to Start captions
2155
2797
  * @param options - options for start captions
@@ -2275,6 +2917,22 @@ export declare interface CallWithChatAdapterUiState {
2275
2917
  * @public
2276
2918
  */
2277
2919
  page: CallCompositePage;
2920
+ /**
2921
+ * Files being uploaded by a user in the current thread.
2922
+ * Should be set to null once the upload is complete.
2923
+ * Array of type {@link FileUploadsUiState}
2924
+ *
2925
+ * @beta
2926
+ */
2927
+ fileUploads?: FileUploadsUiState;
2928
+ /**
2929
+ * State to track whether the end user has opted in to using a
2930
+ * out of date version of a supported browser. Allows the user
2931
+ * to start a call in this state.
2932
+ *
2933
+ * @beta
2934
+ */
2935
+ unsupportedBrowserVersionsAllowed?: boolean;
2278
2936
  }
2279
2937
 
2280
2938
  /**
@@ -2299,6 +2957,12 @@ export declare interface CallWithChatClientState {
2299
2957
  devices: DeviceManagerState;
2300
2958
  /** State of whether the active call is a Teams interop call */
2301
2959
  isTeamsCall: boolean;
2960
+ /** State of whether the active call is a rooms call */
2961
+ isRoomsCall: boolean;
2962
+ /** alternateCallerId for PSTN call */
2963
+ alternateCallerId?: string | undefined;
2964
+ /** Environment information for system adapter is made on */
2965
+ environmentInfo?: EnvironmentInfo;
2302
2966
  /** Default set of background images for background replacement effect */
2303
2967
  videoBackgroundImages?: VideoBackgroundImage[];
2304
2968
  /** Dependency to be injected for video background effects */
@@ -2373,6 +3037,10 @@ export declare type CallWithChatCompositeIcons = {
2373
3037
  ParticipantItemScreenShareStart?: JSX.Element;
2374
3038
  VideoTileMicOff?: JSX.Element;
2375
3039
  LocalCameraSwitch?: JSX.Element;
3040
+ PeoplePaneAddPerson?: JSX.Element;
3041
+ PeoplePaneOpenDialpad?: JSX.Element;
3042
+ DialpadStartCall?: JSX.Element;
3043
+ DefaultCustomButton?: JSX.Element;
2376
3044
  EditBoxCancel?: JSX.Element;
2377
3045
  EditBoxSubmit?: JSX.Element;
2378
3046
  MessageDelivered?: JSX.Element;
@@ -2399,10 +3067,72 @@ export declare type CallWithChatCompositeOptions = {
2399
3067
  * If using the boolean values, true will cause default behavior across the whole control bar. False hides the whole control bar.
2400
3068
  */
2401
3069
  callControls?: boolean | CallWithChatControlOptions;
3070
+ /**
3071
+ * Properties for configuring the File Sharing feature.
3072
+ * If undefined, file sharing feature will be disabled.
3073
+ * @beta
3074
+ */
3075
+ fileSharing?: FileSharingOptions;
3076
+ /**
3077
+ * Device permissions check options for your call.
3078
+ * Here you can choose what device permissions you prompt the user for,
3079
+ * as well as what device permissions must be accepted before starting a call.
3080
+ */
3081
+ deviceChecks?: DeviceCheckOptions;
3082
+ /**
3083
+ * Callback you may provide to supply users with further steps to troubleshoot why they have been
3084
+ * unable to grant your site the required permissions for the call.
3085
+ *
3086
+ * @example
3087
+ * ```ts
3088
+ * onPermissionsTroubleshootingClick: () =>
3089
+ * window.open('https://contoso.com/permissions-troubleshooting', '_blank');
3090
+ * ```
3091
+ *
3092
+ * @remarks
3093
+ * if this is not supplied, the composite will not show a 'further troubleshooting' link.
3094
+ */
3095
+ onPermissionsTroubleshootingClick?: (permissionsState: {
3096
+ camera: PermissionState;
3097
+ microphone: PermissionState;
3098
+ }) => void;
3099
+ /**
3100
+ * Optional callback to supply users with further troubleshooting steps for network issues
3101
+ * experienced when connecting to a call.
3102
+ *
3103
+ * @example
3104
+ * ```ts
3105
+ * onNetworkingTroubleShootingClick?: () =>
3106
+ * window.open('https://contoso.com/network-troubleshooting', '_blank');
3107
+ * ```
3108
+ *
3109
+ * @remarks
3110
+ * if this is not supplied, the composite will not show a 'network troubleshooting' link.
3111
+ */
3112
+ onNetworkingTroubleShootingClick?: () => void;
3113
+ /**
3114
+ * Callback you may provide to supply users with a provided page to showcase supported browsers by ACS.
3115
+ *
3116
+ * @example
3117
+ * ```ts
3118
+ * onBrowserTroubleShootingClick?: () =>
3119
+ * window.open('https://contoso.com/browser-troubleshooting', '_blank');
3120
+ * ```
3121
+ *
3122
+ * @remarks
3123
+ * if this is not supplied, the composite will not show a unsupported browser page.
3124
+ */
3125
+ onEnvironmentInfoTroubleshootingClick?: () => void;
2402
3126
  /**
2403
3127
  * Remote participant video tile menu options
2404
3128
  */
2405
3129
  remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;
3130
+ /**
3131
+ * Options for controlling the local video tile.
3132
+ *
3133
+ * @remarks if 'false' the local video tile will not be rendered.
3134
+ */
3135
+ localVideoTile?: boolean | LocalVideoTileOptions;
2406
3136
  /**
2407
3137
  * Options for controlling the starting layout of the composite's video gallery
2408
3138
  */
@@ -2563,6 +3293,10 @@ export declare interface CallWithChatCompositeStrings {
2563
3293
  * Label for button to copy invite link
2564
3294
  */
2565
3295
  copyInviteLinkButtonLabel: string;
3296
+ /**
3297
+ * Label for button to open dialpad
3298
+ */
3299
+ openDialpadButtonLabel: string;
2566
3300
  /**
2567
3301
  * Label for SidePaneHeader dismiss button
2568
3302
  */
@@ -2575,6 +3309,34 @@ export declare interface CallWithChatCompositeStrings {
2575
3309
  * Aria label string for return to call back button
2576
3310
  */
2577
3311
  returnToCallButtonAriaLabel?: string;
3312
+ /**
3313
+ * Label for add people dropdown
3314
+ */
3315
+ peoplePaneAddPeopleButtonLabel: string;
3316
+ /**
3317
+ * Label for button to start a call
3318
+ */
3319
+ dialpadStartCallButtonLabel: string;
3320
+ /**
3321
+ * Title for dialpad Modal
3322
+ */
3323
+ dialpadModalTitle: string;
3324
+ /**
3325
+ * Aria Label for dialpad Modal
3326
+ */
3327
+ dialpadModalAriaLabel: string;
3328
+ /**
3329
+ * Aria Label for dialpad Modal close button
3330
+ */
3331
+ dialpadCloseModalButtonAriaLabel: string;
3332
+ /**
3333
+ * Placeholder text for dtmf dialpad
3334
+ */
3335
+ dtmfDialpadPlaceholderText: string;
3336
+ /**
3337
+ * Label for the button to open dtmf dialpad
3338
+ */
3339
+ openDtmfDialpadLabel: string;
2578
3340
  /**
2579
3341
  * aria label for when the invite link has been actioned
2580
3342
  */
@@ -2591,7 +3353,9 @@ export declare interface CallWithChatControlOptions extends CommonCallControlOpt
2591
3353
  * Show or hide the chat button in the call-with-chat composite control bar.
2592
3354
  * @defaultValue true
2593
3355
  */
2594
- chatButton?: boolean;
3356
+ chatButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
3357
+ disabled: boolean;
3358
+ };
2595
3359
  }
2596
3360
 
2597
3361
  /**
@@ -2601,6 +3365,35 @@ export declare interface CallWithChatControlOptions extends CommonCallControlOpt
2601
3365
  */
2602
3366
  export declare type CallWithChatEvent = 'callError' | 'chatError' | 'callEnded' | 'isMutedChanged' | 'callIdChanged' | 'isLocalScreenSharingActiveChanged' | 'displayNameChanged' | 'isSpeakingChanged' | 'callParticipantsJoined' | 'callParticipantsLeft' | 'selectedMicrophoneChanged' | 'selectedSpeakerChanged' | /* @conditional-compile-remove(close-captions) */ 'isCaptionsActiveChanged' | /* @conditional-compile-remove(close-captions) */ 'captionsReceived' | /* @conditional-compile-remove(close-captions) */ 'isCaptionLanguageChanged' | /* @conditional-compile-remove(close-captions) */ 'isSpokenLanguageChanged' | /* @conditional-compile-remove(capabilities) */ 'capabilitiesChanged' | 'messageReceived' | 'messageSent' | 'messageRead' | 'chatParticipantsAdded' | 'chatParticipantsRemoved';
2603
3367
 
3368
+ /**
3369
+ * @beta
3370
+ *
3371
+ * Component to allow Contoso to help their end user with their devices should their permissions be blocked
3372
+ * by their browsers settings.
3373
+ */
3374
+ export declare const CameraAndMicrophoneSitePermissions: (props: CameraAndMicrophoneSitePermissionsProps) => JSX.Element;
3375
+
3376
+ /**
3377
+ * @beta
3378
+ * Props for CameraAndMicrophoneSitePermissions component.
3379
+ */
3380
+ export declare interface CameraAndMicrophoneSitePermissionsProps extends CommonSitePermissionsProps {
3381
+ /** Icon name for the camera icon */
3382
+ cameraIconName?: string;
3383
+ /** Icon name for the microphone icon */
3384
+ microphoneIconName?: string;
3385
+ /** Icon name for the central icon between the camera and microphone icons */
3386
+ connectorIconName?: string;
3387
+ /** Strings for use with the {@link CameraAndMicrophoneSitePermissions} */
3388
+ strings?: CameraAndMicrophoneSitePermissionsStrings;
3389
+ }
3390
+
3391
+ /**
3392
+ * @beta
3393
+ * Strings for CameraAndMicrophoneSitePermissions component.
3394
+ */
3395
+ export declare type CameraAndMicrophoneSitePermissionsStrings = SitePermissionsStrings;
3396
+
2604
3397
  /**
2605
3398
  * A button to turn camera on / off.
2606
3399
  *
@@ -2757,6 +3550,31 @@ export declare interface CameraButtonStyles extends ControlBarButtonStyles {
2757
3550
  menuStyles?: Partial<CameraButtonContextualMenuStyles>;
2758
3551
  }
2759
3552
 
3553
+ /**
3554
+ * Component to allow Contoso to help their end user with their devices should their permissions be blocked
3555
+ * by their browsers settings.
3556
+ *
3557
+ * @beta
3558
+ */
3559
+ export declare const CameraSitePermissions: (props: CameraSitePermissionsProps) => JSX.Element;
3560
+
3561
+ /**
3562
+ * @beta
3563
+ * Props for CameraSitePermissions component.
3564
+ */
3565
+ export declare interface CameraSitePermissionsProps extends CommonSitePermissionsProps {
3566
+ /** Icon name for the camera icon */
3567
+ cameraIconName?: string;
3568
+ /** Strings for use with the {@link CameraSitePermissions} */
3569
+ strings?: CameraSitePermissionsStrings;
3570
+ }
3571
+
3572
+ /**
3573
+ * @beta
3574
+ * Strings for CameraSitePermissions component.
3575
+ */
3576
+ export declare type CameraSitePermissionsStrings = SitePermissionsStrings;
3577
+
2760
3578
  /**
2761
3579
  * @public
2762
3580
  * Callback function run when a message edit is cancelled.
@@ -2962,7 +3780,7 @@ export declare type CaptionsReceivedListener = (event: {
2962
3780
  *
2963
3781
  * @public
2964
3782
  */
2965
- export declare type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable & ChatAdapterSubscribers;
3783
+ export declare type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable & ChatAdapterSubscribers & /* @conditional-compile-remove(file-sharing) */ FileUploadAdapter;
2966
3784
 
2967
3785
  /**
2968
3786
  * {@link ChatAdapter} state.
@@ -3070,7 +3888,9 @@ export declare interface ChatAdapterThreadManagement {
3070
3888
  /**
3071
3889
  * Update a message content.
3072
3890
  */
3073
- updateMessage(messageId: string, content: string, metadata?: Record<string, string>): Promise<void>;
3891
+ updateMessage(messageId: string, content: string, metadata?: Record<string, string>, /* @conditional-compile-remove(file-sharing) */ options?: {
3892
+ attachedFilesMetadata?: FileMetadata[];
3893
+ }): Promise<void>;
3074
3894
  /**
3075
3895
  * Delete a message in the thread.
3076
3896
  */
@@ -3083,6 +3903,9 @@ export declare interface ChatAdapterThreadManagement {
3083
3903
  *
3084
3904
  */
3085
3905
  loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
3906
+ downloadAttachments: (options: {
3907
+ attachmentUrls: string[];
3908
+ }) => Promise<AttachmentDownloadResult[]>;
3086
3909
  }
3087
3910
 
3088
3911
  /**
@@ -3092,6 +3915,13 @@ export declare interface ChatAdapterThreadManagement {
3092
3915
  */
3093
3916
  export declare type ChatAdapterUiState = {
3094
3917
  error?: Error;
3918
+ /**
3919
+ * Files being uploaded by a user in the current thread.
3920
+ * Should be set to null once the upload is complete.
3921
+ * Array of type {@link FileUploadsUiState}
3922
+ * @beta
3923
+ */
3924
+ fileUploads?: FileUploadsUiState;
3095
3925
  };
3096
3926
 
3097
3927
  /**
@@ -3194,6 +4024,7 @@ export declare type ChatCompositeIcons = {
3194
4024
  ParticipantItemOptionsHovered?: JSX.Element;
3195
4025
  SendBoxSend?: JSX.Element;
3196
4026
  SendBoxSendHovered?: JSX.Element;
4027
+ SendBoxAttachFile?: JSX.Element;
3197
4028
  };
3198
4029
 
3199
4030
  /**
@@ -3208,6 +4039,13 @@ export declare type ChatCompositeOptions = {
3208
4039
  * @defaultValue true
3209
4040
  */
3210
4041
  errorBar?: boolean;
4042
+ /**
4043
+ * Show or hide the participant pane. This feature is in beta and not supported on mobile or narrow screen views.
4044
+ * @defaultValue false
4045
+ *
4046
+ * @beta
4047
+ */
4048
+ participantPane?: boolean;
3211
4049
  /**
3212
4050
  * Show or hide the topic at the top of the chat. Hidden if set to `false`
3213
4051
  * @defaultValue true
@@ -3218,6 +4056,12 @@ export declare type ChatCompositeOptions = {
3218
4056
  * When undefined nothing has focus on render
3219
4057
  */
3220
4058
  autoFocus?: 'sendBoxTextField';
4059
+ /**
4060
+ * Properties for configuring the File Sharing feature.
4061
+ * If undefined, file sharing feature will be disabled.
4062
+ * @beta
4063
+ */
4064
+ fileSharing?: FileSharingOptions;
3221
4065
  };
3222
4066
 
3223
4067
  /**
@@ -3245,6 +4089,12 @@ export declare interface ChatCompositeProps extends BaseCompositeProps<ChatCompo
3245
4089
  * Flags to enable/disable visual elements of the {@link ChatComposite}.
3246
4090
  */
3247
4091
  options?: ChatCompositeOptions;
4092
+ /**
4093
+ * Optimizes the composite form factor for either desktop or mobile.
4094
+ * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.
4095
+ * @defaultValue 'desktop'
4096
+ */
4097
+ formFactor?: 'desktop' | 'mobile';
3248
4098
  }
3249
4099
 
3250
4100
  /**
@@ -3259,6 +4109,10 @@ export declare interface ChatCompositeStrings {
3259
4109
  * Chat list header text
3260
4110
  */
3261
4111
  chatListHeader: string;
4112
+ /**
4113
+ * Upload File Button text
4114
+ */
4115
+ uploadFile: string;
3262
4116
  }
3263
4117
 
3264
4118
  /**
@@ -3307,7 +4161,7 @@ export declare type ChatErrors = {
3307
4161
  *
3308
4162
  * @public
3309
4163
  */
3310
- export declare type ChatErrorTarget = 'ChatClient.createChatThread' | 'ChatClient.deleteChatThread' | 'ChatClient.getChatThreadClient' | 'ChatClient.listChatThreads' | 'ChatClient.off' | 'ChatClient.on' | 'ChatClient.startRealtimeNotifications' | 'ChatClient.stopRealtimeNotifications' | 'ChatThreadClient.addParticipants' | 'ChatThreadClient.deleteMessage' | 'ChatThreadClient.getMessage' | 'ChatThreadClient.getProperties' | 'ChatThreadClient.listMessages' | 'ChatThreadClient.listParticipants' | 'ChatThreadClient.listReadReceipts' | 'ChatThreadClient.removeParticipant' | 'ChatThreadClient.sendMessage' | 'ChatThreadClient.sendReadReceipt' | 'ChatThreadClient.sendTypingNotification' | 'ChatThreadClient.updateMessage' | 'ChatThreadClient.updateTopic';
4164
+ export declare type ChatErrorTarget = 'ChatClient.createChatThread' | 'ChatClient.deleteChatThread' | 'ChatClient.getChatThreadClient' | 'ChatClient.listChatThreads' | 'ChatClient.off' | 'ChatClient.on' | 'ChatClient.startRealtimeNotifications' | 'ChatClient.stopRealtimeNotifications' | 'ChatThreadClient.addParticipants' | 'ChatThreadClient.deleteMessage' | 'ChatThreadClient.getMessage' | 'ChatThreadClient.getProperties' | 'ChatThreadClient.listMessages' | 'ChatThreadClient.listParticipants' | 'ChatThreadClient.listReadReceipts' | 'ChatThreadClient.removeParticipant' | 'ChatThreadClient.sendMessage' | 'ChatThreadClient.sendReadReceipt' | 'ChatThreadClient.sendTypingNotification' | 'ChatThreadClient.updateMessage' | /* @conditional-compile-remove(chat-beta-sdk) */ 'ChatThreadClient.updateProperties' | 'ChatThreadClient.updateTopic';
3311
4165
 
3312
4166
  /**
3313
4167
  * Object containing all the handlers required for chat components.
@@ -3324,7 +4178,9 @@ export declare type ChatHandlers = {
3324
4178
  onRemoveParticipant: (userId: string) => Promise<void>;
3325
4179
  updateThreadTopicName: (topicName: string) => Promise<void>;
3326
4180
  onLoadPreviousChatMessages: (messagesToLoad: number) => Promise<boolean>;
3327
- onUpdateMessage: (messageId: string, content: string) => Promise<void>;
4181
+ onUpdateMessage: (messageId: string, content: string, /* @conditional-compile-remove(file-sharing) */ metadata?: Record<string, string>, /* @conditional-compile-remove(file-sharing) */ options?: {
4182
+ attachedFilesMetadata?: FileMetadata[];
4183
+ }) => Promise<void>;
3328
4184
  onDeleteMessage: (messageId: string) => Promise<void>;
3329
4185
  };
3330
4186
 
@@ -3351,6 +4207,12 @@ export declare interface ChatMessage extends MessageCommon {
3351
4207
  * {@link @azure/communication-chat#ChatMessage.metadata}
3352
4208
  */
3353
4209
  metadata?: Record<string, string>;
4210
+ /**
4211
+ * @beta
4212
+ * A list of files attached to the message.
4213
+ * {@link FileMetadata}
4214
+ */
4215
+ attachedFilesMetadata?: FileMetadata[];
3354
4216
  }
3355
4217
 
3356
4218
  /**
@@ -3364,6 +4226,7 @@ export declare interface ChatMessage extends MessageCommon {
3364
4226
  export declare type ChatMessageWithStatus = ChatMessage_2 & {
3365
4227
  clientMessageId?: string;
3366
4228
  status: MessageStatus;
4229
+ policyViolation?: boolean;
3367
4230
  };
3368
4231
 
3369
4232
  /**
@@ -3383,6 +4246,26 @@ export declare type ChatParticipantListSelector = (state: ChatClientState, props
3383
4246
  */
3384
4247
  export declare type ChatReturnProps<Component extends (props: any) => JSX.Element> = GetChatSelector<Component> extends (state: ChatClientState, props: any) => any ? ReturnType<GetChatSelector<Component>> & Common<ChatHandlers, Parameters<Component>[0]> : never;
3385
4248
 
4249
+ /**
4250
+ * Custom Fluent theme palette used by chat related components in this library.
4251
+ *
4252
+ * @beta
4253
+ */
4254
+ export declare interface ChatTheme {
4255
+ /**
4256
+ * Custom Fluent theme palette used by chat related components in this library.
4257
+ *
4258
+ * @beta
4259
+ */
4260
+ chatPalette: {
4261
+ modalOverlayBlack: string;
4262
+ modalTitleWhite: string;
4263
+ modalButtonBackground: string;
4264
+ modalButtonBackgroundHover: string;
4265
+ modalButtonBackgroundActive: string;
4266
+ };
4267
+ }
4268
+
3386
4269
  /**
3387
4270
  * A {@link React.Context} that stores a {@link @azure/communication-chat#ChatThreadClient}.
3388
4271
  *
@@ -3508,6 +4391,12 @@ export declare interface CommonCallAdapter extends AdapterState<CallAdapterState
3508
4391
  * @public
3509
4392
  */
3510
4393
  startCall(participants: string[], options?: StartCallOptions): void;
4394
+ /**
4395
+ * Start the call.
4396
+ * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called
4397
+ * @beta
4398
+ */
4399
+ startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): void;
3511
4400
  }
3512
4401
 
3513
4402
  /**
@@ -3523,6 +4412,12 @@ export declare type CommonCallAdapterOptions = {
3523
4412
  videoBackgroundImages?: VideoBackgroundImage[];
3524
4413
  onResolveDependency?: () => Promise<VideoBackgroundEffectsDependency>;
3525
4414
  };
4415
+ /**
4416
+ * Use this to fetch profile information which will override data in {@link CallAdapterState} like display name
4417
+ * The onFetchProfile is fetch-and-forget one time action for each user, once a user profile is updated, the value will be cached
4418
+ * and would not be updated again within the lifecycle of adapter.
4419
+ */
4420
+ onFetchProfile?: OnFetchProfileCallback;
3526
4421
  };
3527
4422
 
3528
4423
  /**
@@ -3545,7 +4440,9 @@ export declare type CommonCallControlOptions = {
3545
4440
  * Show or Hide Camera Button during a call
3546
4441
  * @defaultValue true
3547
4442
  */
3548
- cameraButton?: boolean;
4443
+ cameraButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
4444
+ disabled: boolean;
4445
+ };
3549
4446
  /**
3550
4447
  * Show or Hide EndCall button during a call.
3551
4448
  * @defaultValue true
@@ -3555,12 +4452,16 @@ export declare type CommonCallControlOptions = {
3555
4452
  * Show or Hide Microphone button during a call.
3556
4453
  * @defaultValue true
3557
4454
  */
3558
- microphoneButton?: boolean;
4455
+ microphoneButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
4456
+ disabled: boolean;
4457
+ };
3559
4458
  /**
3560
4459
  * Show or Hide Devices button during a call.
3561
4460
  * @defaultValue true
3562
4461
  */
3563
- devicesButton?: boolean;
4462
+ devicesButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
4463
+ disabled: boolean;
4464
+ };
3564
4465
  /**
3565
4466
  * Show, Hide or Disable participants button during a call.
3566
4467
  * @defaultValue true
@@ -3587,11 +4488,22 @@ export declare type CommonCallControlOptions = {
3587
4488
  raiseHandButton?: boolean | {
3588
4489
  disabled: boolean;
3589
4490
  };
4491
+ /**
4492
+ * Inject custom buttons in the call controls.
4493
+ *
4494
+ * @beta
4495
+ */
4496
+ onFetchCustomButtonProps?: CustomCallControlButtonCallback[];
4497
+ holdButton?: boolean | {
4498
+ disabled: boolean;
4499
+ };
3590
4500
  /**
3591
4501
  * Show or hide the people button in the composite control bar.
3592
4502
  * @defaultValue true
3593
4503
  */
3594
- peopleButton?: boolean;
4504
+ peopleButton?: boolean | /* @conditional-compile-remove(PSTN-calls) */ {
4505
+ disabled: boolean;
4506
+ };
3595
4507
  };
3596
4508
 
3597
4509
  /**
@@ -3616,6 +4528,9 @@ export declare interface CommonCallingHandlers {
3616
4528
  onRaiseHand: () => Promise<void>;
3617
4529
  onLowerHand: () => Promise<void>;
3618
4530
  onToggleRaiseHand: () => Promise<void>;
4531
+ onToggleHold: () => Promise<void>;
4532
+ onAddParticipant(participant: CommunicationUserIdentifier): Promise<void>;
4533
+ onAddParticipant(participant: PhoneNumberIdentifier, options: AddPhoneNumberOptions): Promise<void>;
3619
4534
  onCreateLocalStreamView: (options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
3620
4535
  onCreateRemoteStreamView: (userId: string, options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
3621
4536
  /**
@@ -3625,8 +4540,11 @@ export declare interface CommonCallingHandlers {
3625
4540
  onDisposeLocalStreamView: () => Promise<void>;
3626
4541
  onDisposeRemoteVideoStreamView: (userId: string) => Promise<void>;
3627
4542
  onDisposeRemoteScreenShareStreamView: (userId: string) => Promise<void>;
4543
+ onSendDtmfTone: (dtmfTone: DtmfTone_2) => Promise<void>;
3628
4544
  onRemoveParticipant(userId: string): Promise<void>;
3629
- onStartCall: (participants: (CommunicationUserIdentifier | PhoneNumberIdentifier | UnknownIdentifier)[], options?: StartCallOptions) => void;
4545
+ onRemoveParticipant(participant: CommunicationIdentifier): Promise<void>;
4546
+ askDevicePermission: (constrain: PermissionConstraints) => Promise<void>;
4547
+ onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions) => void;
3630
4548
  onRemoveVideoBackgroundEffects: () => Promise<void>;
3631
4549
  onBlurVideoBackground: (backgroundBlurConfig?: BackgroundBlurConfig) => Promise<void>;
3632
4550
  onReplaceVideoBackground: (backgroundReplacementConfig: BackgroundReplacementConfig) => Promise<void>;
@@ -3645,6 +4563,39 @@ export declare type CommonProperties<A, B> = {
3645
4563
  [P in keyof A & keyof B]: A[P] extends B[P] ? P : never;
3646
4564
  }[keyof A & keyof B];
3647
4565
 
4566
+ /**
4567
+ * @beta
4568
+ * Props for SitePermissions components.
4569
+ */
4570
+ export declare interface CommonSitePermissionsProps {
4571
+ /**
4572
+ * Name of application calling experience is in.
4573
+ */
4574
+ appName: string;
4575
+ /**
4576
+ * Kind of the Site Permissions component.
4577
+ */
4578
+ kind: 'request' | 'denied' | 'check';
4579
+ /**
4580
+ * Type of the browser used, the Site permission component will show different guidance text based on the browser type
4581
+ */
4582
+ browserHint?: 'safari' | 'unset';
4583
+ /**
4584
+ * Action to be taken by the more help link. Possible to send to external page or show other modal.
4585
+ * If this is not provided the button will not be shown.
4586
+ */
4587
+ onTroubleshootingClick?: () => void;
4588
+ /**
4589
+ * Action that is taken when the user clicks the continue anyway button.
4590
+ * If this is not provided the button will not be shown.
4591
+ */
4592
+ onContinueAnywayClick?: () => void;
4593
+ /**
4594
+ * Styles for SitePermissions component.
4595
+ */
4596
+ styles?: SitePermissionsStyles;
4597
+ }
4598
+
3648
4599
  /**
3649
4600
  * A Chat or Calling participant's state, as reflected in the UI.
3650
4601
  *
@@ -3821,6 +4772,11 @@ export declare type ComponentIcons = Record<keyof typeof DEFAULT_COMPONENT_ICONS
3821
4772
  export declare interface ComponentLocale {
3822
4773
  /** Strings for components */
3823
4774
  strings: ComponentStrings;
4775
+ /**
4776
+ * Optional function to provide customized date format.
4777
+ * @beta
4778
+ */
4779
+ onDisplayDateTimeString?: (messageDate: Date) => string;
3824
4780
  }
3825
4781
 
3826
4782
  /**
@@ -3866,16 +4822,62 @@ export declare interface ComponentStrings {
3866
4822
  typingIndicator: TypingIndicatorStrings;
3867
4823
  /** Strings for SendBox */
3868
4824
  sendBox: SendBoxStrings;
4825
+ /** Strings for MentionPopover */
4826
+ mentionPopover: MentionPopoverStrings;
4827
+ /** Strings for ImageGallery */
4828
+ imageGallery: ImageGalleryStrings;
3869
4829
  /** Strings for MessageStatusIndicator */
3870
4830
  messageStatusIndicator: MessageStatusIndicatorStrings;
3871
4831
  /** Strings for ErroBar */
3872
4832
  errorBar: ErrorBarStrings;
3873
4833
  /** Strings for VideoGallery */
3874
4834
  videoGallery: VideoGalleryStrings;
4835
+ /** Strings for Dialpad */
4836
+ dialpad: DialpadStrings;
4837
+ /** Strings for VideoTile */
4838
+ videoTile: VideoTileStrings;
4839
+ /** Strings for HoldButton */
4840
+ holdButton: HoldButtonStrings;
4841
+ /** Strings for a site's permission request prompt */
4842
+ CameraAndMicrophoneSitePermissionsRequest: SitePermissionsStrings;
4843
+ /** Strings for a site's permission request prompt */
4844
+ CameraSitePermissionsRequest: SitePermissionsStrings;
4845
+ /** Strings for a site's permission request prompt */
4846
+ MicrophoneSitePermissionsRequest: SitePermissionsStrings;
4847
+ /** Strings for a site's permission generic checking prompt */
4848
+ CameraAndMicrophoneSitePermissionsCheck: SitePermissionsStrings;
4849
+ /** Strings for a site's permission generic checking prompt */
4850
+ CameraSitePermissionsCheck: SitePermissionsStrings;
4851
+ /** Strings for a site's permission generic checking prompt */
4852
+ MicrophoneSitePermissionsCheck: SitePermissionsStrings;
4853
+ /** Strings for a site's permission denied prompt */
4854
+ CameraAndMicrophoneSitePermissionsDenied: SitePermissionsStrings;
4855
+ /** Strings for a site's permission denied prompt for safari browsers*/
4856
+ CameraAndMicrophoneSitePermissionsDeniedSafari: SitePermissionsStrings;
4857
+ /** Strings for a site's permission denied prompt */
4858
+ CameraSitePermissionsDenied: SitePermissionsStrings;
4859
+ /** Strings for a site's permission denied prompt */
4860
+ MicrophoneSitePermissionsDenied: SitePermissionsStrings;
4861
+ /** Strings for a site's permission denied prompt for safari browsers*/
4862
+ CameraSitePermissionsDeniedSafari: SitePermissionsStrings;
4863
+ /** Strings for a site's permission denied prompt for safari browsers*/
4864
+ MicrophoneSitePermissionsDeniedSafari: SitePermissionsStrings;
4865
+ /** Strings for unsupported browser UI */
4866
+ UnsupportedBrowser: UnsupportedBrowserStrings;
4867
+ /** Strings for unsupported browser version UI */
4868
+ UnsupportedBrowserVersion: UnsupportedBrowserVersionStrings;
4869
+ /** Strings for unsupported browser version UI */
4870
+ UnsupportedOperatingSystem: UnsupportedOperatingSystemStrings;
4871
+ /** Strings for BrowserPemissionDenied */
4872
+ BrowserPermissionDenied: BrowserPermissionDeniedStrings;
4873
+ /** Strings for BrowserPemissionDeniedIOS */
4874
+ BrowserPermissionDeniedIOS: BrowserPermissionDeniedIOSStrings;
3875
4875
  /**
3876
4876
  * Strings for the VerticalGallery.
3877
4877
  */
3878
4878
  verticalGallery: VerticalGalleryStrings;
4879
+ /** Strings for the participant list component */
4880
+ ParticipantList: ParticipantListStrings;
3879
4881
  }
3880
4882
 
3881
4883
  /**
@@ -4232,7 +5234,7 @@ export declare interface ControlBarProps {
4232
5234
  *
4233
5235
  * @public
4234
5236
  */
4235
- export declare const createAzureCommunicationCallAdapter: ({ userId, displayName, credential, locator, options }: AzureCommunicationCallAdapterArgs) => Promise<CallAdapter>;
5237
+ export declare const createAzureCommunicationCallAdapter: ({ userId, displayName, credential, locator, alternateCallerId, options }: AzureCommunicationCallAdapterArgs) => Promise<CallAdapter>;
4236
5238
 
4237
5239
  /**
4238
5240
  * Create a {@link CallAdapter} using the provided {@link StatefulCallClient}.
@@ -4250,7 +5252,7 @@ export declare const createAzureCommunicationCallAdapterFromClient: (callClient:
4250
5252
  *
4251
5253
  * @public
4252
5254
  */
4253
- export declare const createAzureCommunicationCallWithChatAdapter: ({ userId, displayName, credential, endpoint, locator, callAdapterOptions }: AzureCommunicationCallWithChatAdapterArgs) => Promise<CallWithChatAdapter>;
5255
+ export declare const createAzureCommunicationCallWithChatAdapter: ({ userId, displayName, credential, endpoint, locator, alternateCallerId, callAdapterOptions }: AzureCommunicationCallWithChatAdapterArgs) => Promise<CallWithChatAdapter>;
4254
5256
 
4255
5257
  /**
4256
5258
  * Create a {@link CallWithChatAdapter} using the provided {@link StatefulChatClient} and {@link StatefulCallClient}.
@@ -4261,7 +5263,7 @@ export declare const createAzureCommunicationCallWithChatAdapter: ({ userId, dis
4261
5263
  *
4262
5264
  * @public
4263
5265
  */
4264
- export declare const createAzureCommunicationCallWithChatAdapterFromClients: ({ callClient, callAgent, callLocator, chatClient, chatThreadClient, callAdapterOptions }: AzureCommunicationCallWithChatAdapterFromClientArgs) => Promise<CallWithChatAdapter>;
5266
+ export declare const createAzureCommunicationCallWithChatAdapterFromClients: ({ callClient, callAgent, callLocator, chatClient, chatThreadClient, callAdapterOptions, chatAdapterOptions }: AzureCommunicationCallWithChatAdapterFromClientArgs) => Promise<CallWithChatAdapter>;
4265
5267
 
4266
5268
  /**
4267
5269
  * Create a {@link ChatAdapter} backed by Azure Communication Services.
@@ -4280,7 +5282,9 @@ export declare const createAzureCommunicationChatAdapter: ({ endpoint: endpointU
4280
5282
  *
4281
5283
  * @public
4282
5284
  */
4283
- export declare function createAzureCommunicationChatAdapterFromClient(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient): Promise<ChatAdapter>;
5285
+ export declare function createAzureCommunicationChatAdapterFromClient(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient, /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ options?: {
5286
+ credential?: CommunicationTokenCredential;
5287
+ }): Promise<ChatAdapter>;
4284
5288
 
4285
5289
  /**
4286
5290
  * Type of {@link createDefaultCallingHandlers}.
@@ -4311,6 +5315,18 @@ export declare const createDefaultCallingHandlers: CreateDefaultCallingHandlers;
4311
5315
  */
4312
5316
  export declare const createDefaultChatHandlers: (chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient) => ChatHandlers;
4313
5317
 
5318
+ /**
5319
+ * Create the default implementation of {@link TeamsCallingHandlers} for teams call.
5320
+ *
5321
+ * Useful when implementing a custom component that utilizes the providers
5322
+ * exported from this library.
5323
+ *
5324
+ * @beta
5325
+ */
5326
+ export declare const createDefaultTeamsCallingHandlers: (callClient: StatefulCallClient, callAgent: undefined | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallAgent, deviceManager: StatefulDeviceManager | undefined, call: undefined | /* @conditional-compile-remove(teams-identity-support) */ TeamsCall, options?: {
5327
+ onResolveVideoBackgroundEffectsDependency?: (() => Promise<VideoBackgroundEffectsDependency>) | undefined;
5328
+ } | undefined) => never | TeamsCallingHandlers;
5329
+
4314
5330
  /**
4315
5331
  * Creates a StatefulCallClient {@link StatefulCallClient} by proxying CallClient
4316
5332
  * {@link @azure/communication-calling#CallClient} with ProxyCallClient {@link ProxyCallClient} which then allows access
@@ -4336,6 +5352,21 @@ export declare const createStatefulCallClient: (args: StatefulCallClientArgs, op
4336
5352
  */
4337
5353
  export declare const createStatefulChatClient: (args: StatefulChatClientArgs, options?: StatefulChatClientOptions | undefined) => StatefulChatClient;
4338
5354
 
5355
+ /**
5356
+ * @beta
5357
+ */
5358
+ export declare const createTeamsCallAdapter: ({ userId, credential, locator, options }: TeamsCallAdapterArgs) => Promise<TeamsCallAdapter>;
5359
+
5360
+ /**
5361
+ * Create a {@link TeamsCallAdapter} using the provided {@link StatefulCallClient}.
5362
+ *
5363
+ * Useful if you want to keep a reference to {@link StatefulCallClient}.
5364
+ * Consider using {@link createAzureCommunicationCallAdapter} for a simpler API.
5365
+ *
5366
+ * @beta
5367
+ */
5368
+ export declare const createTeamsCallAdapterFromClient: (callClient: StatefulCallClient, callAgent: TeamsCallAgent, locator: CallAdapterLocator, options?: CommonCallAdapterOptions | undefined) => Promise<TeamsCallAdapter>;
5369
+
4339
5370
  /**
4340
5371
  * Object returned after creating a local or remote VideoStream.
4341
5372
  * This contains helper functions to manipulate the render of the stream.
@@ -4386,16 +5417,129 @@ export declare type CustomAvatarOptions = {
4386
5417
  styles?: IStyleFunctionOrObject<IPersonaStyleProps, IPersonaStyles>;
4387
5418
  /** Display name to be used in Persona */
4388
5419
  text?: string;
5420
+ /** State for the participant to be displayed in the defaultPlaceHolder */
5421
+ participantState?: ParticipantState;
5422
+ /**
5423
+ * If true, show the special coin for unknown persona.
5424
+ * It has '?' in place of initials, with static font and background colors
5425
+ */
5426
+ showUnknownPersonaCoin?: boolean;
4389
5427
  };
4390
5428
 
4391
5429
  /**
4392
- * A custom message type.
5430
+ * A callback that returns the props to render a custom {@link ControlBarButton} and {@link DrawerMenuItem}.
4393
5431
  *
4394
- * Custom messages are not rendered by default, but applications can provide custom renderers for them.
5432
+ * The response indicates where the custom button should be placed.
4395
5433
  *
5434
+ * Performance tip: This callback is only called when either the callback or its arguments change.
4396
5435
  * @public
4397
5436
  */
4398
- export declare interface CustomMessage extends MessageCommon {
5437
+ export declare type CustomCallControlButtonCallback = (args: CustomCallControlButtonCallbackArgs) => CustomCallControlButtonProps;
5438
+
5439
+ /**
5440
+ * Arguments for {@link CustomCallControlButtonCallback}.
5441
+ *
5442
+ * @public
5443
+ */
5444
+ export declare interface CustomCallControlButtonCallbackArgs {
5445
+ /**
5446
+ * Buttons should reduce the size to fit a smaller viewport when `displayType` is `'compact'`.
5447
+ *
5448
+ * @defaultValue `'default'`
5449
+ */
5450
+ displayType?: CallControlDisplayType;
5451
+ }
5452
+
5453
+ /**
5454
+ * Placement for a custom button injected in the {@link CommonCallControlBar}.
5455
+ *
5456
+ * 'primary': Place the button(s) on the right end of the center control bar but before the EndCallButton (left end in rtl mode).
5457
+ * 'overflow': Place the buttons(s) on the end of the overflow Menu.
5458
+ * 'secondary': Place the button(s) on the left end of the side control bar (right in rtl mode).
5459
+ *
5460
+ * Multiple buttons assigned the same placement are appended in order.
5461
+ * E.g., if two buttons are placed in 'secondary', they'll both appear on the left end (right end in rtl mode)
5462
+ * in the order provided.
5463
+ *
5464
+ * Only 'primary' placement works when legacy call control is enabled in call composite
5465
+ *
5466
+ * @public
5467
+ */
5468
+ export declare type CustomCallControlButtonPlacement = 'primary' | 'overflow' | 'secondary';
5469
+
5470
+ /**
5471
+ * Response from {@link CustomCallControlButtonCallback}.
5472
+ * Includes the base props necessary to render a {@link ControlBarButton} or {@link DrawerMenuItem}.
5473
+ *
5474
+ * @public
5475
+ */
5476
+ export declare interface CustomCallControlButtonProps {
5477
+ /**
5478
+ * Where to place the custom button relative to other buttons.
5479
+ */
5480
+ placement: CustomCallControlButtonPlacement;
5481
+ /**
5482
+ * Icon to render. Icon is a non-default icon name that needs to be registered as a
5483
+ * custom icon using registerIcons through fluentui. Examples include icons from the fluentui library
5484
+ */
5485
+ iconName?: string;
5486
+ /**
5487
+ * Calback for when button is clicked
5488
+ */
5489
+ onItemClick?: () => void;
5490
+ /**
5491
+ * Whether the buttons is disabled
5492
+ *
5493
+ * @defaultValue true
5494
+ */
5495
+ disabled?: boolean;
5496
+ /**
5497
+ * Whether the label is displayed or not.
5498
+ * If no value is set, showLabel will follow composite rules
5499
+ */
5500
+ showLabel?: boolean;
5501
+ /**
5502
+ * A unique id set for the standard HTML id attibute
5503
+ */
5504
+ id?: string;
5505
+ /**
5506
+ * Optional strings to override in component
5507
+ */
5508
+ strings?: CustomCallControlButtonStrings;
5509
+ }
5510
+
5511
+ /**
5512
+ * Strings for CustomCallControlButtons
5513
+ *
5514
+ * @public
5515
+ */
5516
+ export declare interface CustomCallControlButtonStrings {
5517
+ /**
5518
+ * Optional label for the button
5519
+ */
5520
+ label?: string;
5521
+ /**
5522
+ * Text that is shown in Tooltip content
5523
+ */
5524
+ tooltipContent?: string;
5525
+ /**
5526
+ * The aria label of the button for the benefit of screen readers.
5527
+ */
5528
+ ariaLabel?: string;
5529
+ /**
5530
+ * Detailed description of the button for the benefit of screen readers.
5531
+ */
5532
+ ariaDescription?: string;
5533
+ }
5534
+
5535
+ /**
5536
+ * A custom message type.
5537
+ *
5538
+ * Custom messages are not rendered by default, but applications can provide custom renderers for them.
5539
+ *
5540
+ * @public
5541
+ */
5542
+ export declare interface CustomMessage extends MessageCommon {
4399
5543
  messageType: 'custom';
4400
5544
  content: string;
4401
5545
  }
@@ -4405,7 +5549,19 @@ export declare interface CustomMessage extends MessageCommon {
4405
5549
  *
4406
5550
  * @public
4407
5551
  */
4408
- export declare const darkTheme: PartialTheme & CallingTheme;
5552
+ export declare const darkTheme: PartialTheme & CallingTheme & /* @conditional-compile-remove(image-gallery) */ ChatTheme;
5553
+
5554
+ /**
5555
+ * @beta
5556
+ * `DeclarativeCallAgent` extends and proxies the {@link @azure/communication-calling#CallAgent}
5557
+ */
5558
+ export declare type DeclarativeCallAgent = CallAgent & /* @conditional-compile-remove(one-to-n-calling) */ IncomingCallManagement;
5559
+
5560
+ /**
5561
+ * @beta
5562
+ * Proxies the {@link @azure/communication-calling#IncomingCall} interface.
5563
+ */
5564
+ export declare type DeclarativeIncomingCall = IncomingCall;
4409
5565
 
4410
5566
  /**
4411
5567
  * The default set of icons that are available to use in the UI components.
@@ -4415,77 +5571,92 @@ export declare const darkTheme: PartialTheme & CallingTheme;
4415
5571
  * @public
4416
5572
  */
4417
5573
  export declare const DEFAULT_COMPONENT_ICONS: {
4418
- ChatMessageOptions: JSX.Element;
4419
- ControlButtonCameraOff: JSX.Element;
4420
- ControlButtonCameraOn: JSX.Element;
4421
- ControlButtonEndCall: JSX.Element;
4422
- ControlButtonMicOff: JSX.Element;
4423
- ControlButtonMicOn: JSX.Element;
4424
- ControlButtonOptions: JSX.Element;
4425
- ControlButtonParticipants: JSX.Element;
4426
- ControlButtonScreenShareStart: JSX.Element;
4427
- ControlButtonScreenShareStop: JSX.Element;
4428
- ControlButtonRaiseHand: JSX.Element;
4429
- ControlButtonLowerHand: JSX.Element;
4430
- RaiseHandContextualMenuItem: JSX.Element;
4431
- LowerHandContextualMenuItem: JSX.Element;
4432
- EditBoxCancel: JSX.Element;
4433
- EditBoxSubmit: JSX.Element;
4434
- ErrorBarCallCameraAccessDenied: JSX.Element;
4435
- ErrorBarCallCameraAlreadyInUse: JSX.Element;
4436
- ErrorBarCallLocalVideoFreeze: JSX.Element;
4437
- ErrorBarCallMacOsCameraAccessDenied: JSX.Element;
4438
- ErrorBarCallMacOsMicrophoneAccessDenied: JSX.Element;
4439
- ErrorBarCallMicrophoneAccessDenied: JSX.Element;
4440
- ErrorBarCallMicrophoneMutedBySystem: JSX.Element;
4441
- ErrorBarCallMicrophoneUnmutedBySystem: JSX.Element;
4442
- ErrorBarCallNetworkQualityLow: JSX.Element;
4443
- ErrorBarCallNoMicrophoneFound: JSX.Element;
4444
- ErrorBarCallNoSpeakerFound: JSX.Element;
4445
- ErrorBarClear: JSX.Element;
4446
- ErrorBarCallVideoRecoveredBySystem: JSX.Element;
4447
- ErrorBarCallVideoStoppedBySystem: JSX.Element;
4448
- HorizontalGalleryLeftButton: JSX.Element;
4449
- HorizontalGalleryRightButton: JSX.Element;
4450
- MessageDelivered: JSX.Element;
4451
- MessageEdit: JSX.Element;
4452
- MessageFailed: JSX.Element;
4453
- MessageRemove: JSX.Element;
4454
- MessageResend: JSX.Element;
4455
- MessageSeen: JSX.Element;
4456
- MessageSending: JSX.Element;
4457
- OptionsCamera: JSX.Element;
4458
- OptionsMic: JSX.Element;
4459
- OptionsSpeaker: JSX.Element;
4460
- ParticipantItemMicOff: JSX.Element;
4461
- ParticipantItemOptions: JSX.Element;
4462
- ParticipantItemOptionsHovered: JSX.Element;
4463
- ParticipantItemScreenShareStart: JSX.Element;
4464
- SendBoxSend: JSX.Element;
4465
- SendBoxSendHovered: JSX.Element;
4466
- VideoTileMicOff: JSX.Element;
4467
- VideoTilePinned: JSX.Element;
4468
- VideoTileMoreOptions: JSX.Element;
4469
- VideoTileScaleFit: JSX.Element;
4470
- VideoTileScaleFill: JSX.Element;
4471
- PinParticipant: JSX.Element;
4472
- UnpinParticipant: JSX.Element;
4473
- SplitButtonPrimaryActionCameraOn: JSX.Element;
4474
- SplitButtonPrimaryActionCameraOff: JSX.Element;
4475
- SplitButtonPrimaryActionMicUnmuted: JSX.Element;
4476
- SplitButtonPrimaryActionMicMuted: JSX.Element;
4477
- VerticalGalleryLeftButton: JSX.Element;
4478
- VerticalGalleryRightButton: JSX.Element;
4479
- ControlButtonVideoEffectsOption: JSX.Element;
4480
- ConfigurationScreenVideoEffectsButton: JSX.Element;
4481
- CaptionsIcon: JSX.Element;
4482
- CaptionsOffIcon: JSX.Element;
4483
- CaptionsSettingsIcon: JSX.Element;
4484
- ChangeSpokenLanguageIcon: JSX.Element;
4485
- ChangeCaptionLanguageIcon: JSX.Element;
4486
- ContextMenuCameraIcon: JSX.Element;
4487
- ContextMenuMicIcon: JSX.Element;
4488
- ContextMenuSpeakerIcon: JSX.Element;
5574
+ ChatMessageOptions: React_2.JSX.Element;
5575
+ ControlButtonCameraOff: React_2.JSX.Element;
5576
+ ControlButtonCameraOn: React_2.JSX.Element;
5577
+ ControlButtonEndCall: React_2.JSX.Element;
5578
+ ControlButtonMicOff: React_2.JSX.Element;
5579
+ ControlButtonMicOn: React_2.JSX.Element;
5580
+ ControlButtonOptions: React_2.JSX.Element;
5581
+ ControlButtonParticipants: React_2.JSX.Element;
5582
+ ControlButtonParticipantsContextualMenuItem: React_2.JSX.Element;
5583
+ ControlButtonScreenShareStart: React_2.JSX.Element;
5584
+ ControlButtonScreenShareStop: React_2.JSX.Element;
5585
+ ControlButtonRaiseHand: React_2.JSX.Element;
5586
+ ControlButtonLowerHand: React_2.JSX.Element;
5587
+ RaiseHandContextualMenuItem: React_2.JSX.Element;
5588
+ LowerHandContextualMenuItem: React_2.JSX.Element;
5589
+ CancelFileUpload: React_2.JSX.Element;
5590
+ DownloadFile: React_2.JSX.Element;
5591
+ DataLossPreventionProhibited: React_2.JSX.Element;
5592
+ EditBoxCancel: React_2.JSX.Element;
5593
+ EditBoxSubmit: React_2.JSX.Element;
5594
+ ErrorBarCallCameraAccessDenied: React_2.JSX.Element;
5595
+ ErrorBarCallCameraAlreadyInUse: React_2.JSX.Element;
5596
+ ErrorBarCallLocalVideoFreeze: React_2.JSX.Element;
5597
+ ErrorBarCallMacOsCameraAccessDenied: React_2.JSX.Element;
5598
+ ErrorBarCallMacOsMicrophoneAccessDenied: React_2.JSX.Element;
5599
+ ErrorBarCallMicrophoneAccessDenied: React_2.JSX.Element;
5600
+ ErrorBarCallMicrophoneMutedBySystem: React_2.JSX.Element;
5601
+ ErrorBarCallMicrophoneUnmutedBySystem: React_2.JSX.Element;
5602
+ ErrorBarCallNetworkQualityLow: React_2.JSX.Element;
5603
+ ErrorBarCallNoMicrophoneFound: React_2.JSX.Element;
5604
+ ErrorBarCallNoSpeakerFound: React_2.JSX.Element;
5605
+ ErrorBarClear: React_2.JSX.Element;
5606
+ ErrorBarCallVideoRecoveredBySystem: React_2.JSX.Element;
5607
+ ErrorBarCallVideoStoppedBySystem: React_2.JSX.Element;
5608
+ HorizontalGalleryLeftButton: React_2.JSX.Element;
5609
+ HorizontalGalleryRightButton: React_2.JSX.Element;
5610
+ MessageDelivered: React_2.JSX.Element;
5611
+ MessageEdit: React_2.JSX.Element;
5612
+ MessageFailed: React_2.JSX.Element;
5613
+ MessageRemove: React_2.JSX.Element;
5614
+ MessageResend: React_2.JSX.Element;
5615
+ MessageSeen: React_2.JSX.Element;
5616
+ MessageSending: React_2.JSX.Element;
5617
+ OptionsCamera: React_2.JSX.Element;
5618
+ OptionsMic: React_2.JSX.Element;
5619
+ OptionsSpeaker: React_2.JSX.Element;
5620
+ ParticipantItemMicOff: React_2.JSX.Element;
5621
+ ParticipantItemOptions: React_2.JSX.Element;
5622
+ ParticipantItemOptionsHovered: React_2.JSX.Element;
5623
+ ParticipantItemScreenShareStart: React_2.JSX.Element;
5624
+ HoldCallContextualMenuItem: React_2.JSX.Element;
5625
+ HoldCallButton: React_2.JSX.Element;
5626
+ ResumeCall: React_2.JSX.Element;
5627
+ SendBoxSend: React_2.JSX.Element;
5628
+ SendBoxSendHovered: React_2.JSX.Element;
5629
+ VideoTileMicOff: React_2.JSX.Element;
5630
+ DialpadBackspace: React_2.JSX.Element;
5631
+ SitePermissionsSparkle: React_2.JSX.Element;
5632
+ SitePermissionCamera: React_2.JSX.Element;
5633
+ SitePermissionMic: React_2.JSX.Element;
5634
+ SitePermissionCameraDenied: React_2.JSX.Element;
5635
+ SitePermissionMicDenied: React_2.JSX.Element;
5636
+ UnsupportedEnvironmentWarning: React_2.JSX.Element;
5637
+ BrowserPermissionDeniedError: React_2.JSX.Element;
5638
+ VideoTilePinned: React_2.JSX.Element;
5639
+ VideoTileMoreOptions: React_2.JSX.Element;
5640
+ VideoTileScaleFit: React_2.JSX.Element;
5641
+ VideoTileScaleFill: React_2.JSX.Element;
5642
+ PinParticipant: React_2.JSX.Element;
5643
+ UnpinParticipant: React_2.JSX.Element;
5644
+ SplitButtonPrimaryActionCameraOn: React_2.JSX.Element;
5645
+ SplitButtonPrimaryActionCameraOff: React_2.JSX.Element;
5646
+ SplitButtonPrimaryActionMicUnmuted: React_2.JSX.Element;
5647
+ SplitButtonPrimaryActionMicMuted: React_2.JSX.Element;
5648
+ VerticalGalleryLeftButton: React_2.JSX.Element;
5649
+ VerticalGalleryRightButton: React_2.JSX.Element;
5650
+ ControlButtonVideoEffectsOption: React_2.JSX.Element;
5651
+ ConfigurationScreenVideoEffectsButton: React_2.JSX.Element;
5652
+ CaptionsIcon: React_2.JSX.Element;
5653
+ CaptionsOffIcon: React_2.JSX.Element;
5654
+ CaptionsSettingsIcon: React_2.JSX.Element;
5655
+ ChangeSpokenLanguageIcon: React_2.JSX.Element;
5656
+ ChangeCaptionLanguageIcon: React_2.JSX.Element;
5657
+ ContextMenuCameraIcon: React_2.JSX.Element;
5658
+ ContextMenuMicIcon: React_2.JSX.Element;
5659
+ ContextMenuSpeakerIcon: React_2.JSX.Element;
4489
5660
  };
4490
5661
 
4491
5662
  /**
@@ -4494,48 +5665,49 @@ export declare const DEFAULT_COMPONENT_ICONS: {
4494
5665
  * @public
4495
5666
  */
4496
5667
  export declare const DEFAULT_COMPOSITE_ICONS: {
4497
- EditBoxCancel: JSX.Element;
4498
- EditBoxSubmit: JSX.Element;
4499
- MessageDelivered: JSX.Element;
4500
- MessageEdit: JSX.Element;
4501
- MessageFailed: JSX.Element;
4502
- MessageRemove: JSX.Element;
4503
- MessageSeen: JSX.Element;
4504
- MessageSending: JSX.Element;
4505
- ParticipantItemOptions: JSX.Element;
4506
- ParticipantItemOptionsHovered: JSX.Element;
4507
- SendBoxSend: JSX.Element;
4508
- SendBoxSendHovered: JSX.Element;
5668
+ EditBoxCancel: JSX.Element | React_2.JSX.Element;
5669
+ EditBoxSubmit: JSX.Element | React_2.JSX.Element;
5670
+ MessageDelivered: JSX.Element | React_2.JSX.Element;
5671
+ MessageEdit: JSX.Element | React_2.JSX.Element;
5672
+ MessageFailed: JSX.Element | React_2.JSX.Element;
5673
+ MessageRemove: JSX.Element | React_2.JSX.Element;
5674
+ MessageSeen: JSX.Element | React_2.JSX.Element;
5675
+ MessageSending: JSX.Element | React_2.JSX.Element;
5676
+ ParticipantItemOptions: JSX.Element | React_2.JSX.Element;
5677
+ ParticipantItemOptionsHovered: JSX.Element | React_2.JSX.Element;
5678
+ SendBoxSend: JSX.Element | React_2.JSX.Element;
5679
+ SendBoxSendHovered: JSX.Element | React_2.JSX.Element;
5680
+ SendBoxAttachFile?: JSX.Element | undefined;
4509
5681
  ControlBarPeopleButton?: JSX.Element | undefined;
4510
- ControlButtonCameraOff: JSX.Element;
4511
- ControlButtonCameraOn: JSX.Element;
4512
- ControlButtonEndCall: JSX.Element;
4513
- ControlButtonMicOff: JSX.Element;
4514
- ControlButtonMicOn: JSX.Element;
4515
- ControlButtonOptions: JSX.Element;
4516
- ControlButtonParticipants: JSX.Element;
4517
- ControlButtonScreenShareStart: JSX.Element;
4518
- ControlButtonScreenShareStop: JSX.Element;
5682
+ ControlButtonCameraOff: JSX.Element | React_2.JSX.Element;
5683
+ ControlButtonCameraOn: JSX.Element | React_2.JSX.Element;
5684
+ ControlButtonEndCall: JSX.Element | React_2.JSX.Element;
5685
+ ControlButtonMicOff: JSX.Element | React_2.JSX.Element;
5686
+ ControlButtonMicOn: JSX.Element | React_2.JSX.Element;
5687
+ ControlButtonOptions: JSX.Element | React_2.JSX.Element;
5688
+ ControlButtonParticipants: JSX.Element | React_2.JSX.Element;
5689
+ ControlButtonScreenShareStart: JSX.Element | React_2.JSX.Element;
5690
+ ControlButtonScreenShareStop: JSX.Element | React_2.JSX.Element;
4519
5691
  ControlButtonCameraProhibited?: JSX.Element | undefined;
4520
5692
  ControlButtonMicProhibited?: JSX.Element | undefined;
4521
- ControlButtonRaiseHand: JSX.Element;
4522
- ControlButtonLowerHand: JSX.Element;
4523
- RaiseHandContextualMenuItem: JSX.Element;
4524
- LowerHandContextualMenuItem: JSX.Element;
4525
- ErrorBarCallCameraAccessDenied: JSX.Element;
4526
- ErrorBarCallCameraAlreadyInUse: JSX.Element;
4527
- ErrorBarCallLocalVideoFreeze: JSX.Element;
4528
- ErrorBarCallMacOsCameraAccessDenied: JSX.Element;
4529
- ErrorBarCallMacOsMicrophoneAccessDenied: JSX.Element;
4530
- ErrorBarCallMicrophoneAccessDenied: JSX.Element;
4531
- ErrorBarCallMicrophoneMutedBySystem: JSX.Element;
4532
- ErrorBarCallMicrophoneUnmutedBySystem: JSX.Element;
4533
- ErrorBarCallNetworkQualityLow: JSX.Element;
4534
- ErrorBarCallNoMicrophoneFound: JSX.Element;
4535
- ErrorBarCallNoSpeakerFound: JSX.Element;
4536
- ErrorBarClear: JSX.Element;
4537
- HorizontalGalleryLeftButton: JSX.Element;
4538
- HorizontalGalleryRightButton: JSX.Element;
5693
+ ControlButtonRaiseHand: JSX.Element | React_2.JSX.Element;
5694
+ ControlButtonLowerHand: JSX.Element | React_2.JSX.Element;
5695
+ RaiseHandContextualMenuItem: JSX.Element | React_2.JSX.Element;
5696
+ LowerHandContextualMenuItem: JSX.Element | React_2.JSX.Element;
5697
+ ErrorBarCallCameraAccessDenied: JSX.Element | React_2.JSX.Element;
5698
+ ErrorBarCallCameraAlreadyInUse: JSX.Element | React_2.JSX.Element;
5699
+ ErrorBarCallLocalVideoFreeze: JSX.Element | React_2.JSX.Element;
5700
+ ErrorBarCallMacOsCameraAccessDenied: JSX.Element | React_2.JSX.Element;
5701
+ ErrorBarCallMacOsMicrophoneAccessDenied: JSX.Element | React_2.JSX.Element;
5702
+ ErrorBarCallMicrophoneAccessDenied: JSX.Element | React_2.JSX.Element;
5703
+ ErrorBarCallMicrophoneMutedBySystem: JSX.Element | React_2.JSX.Element;
5704
+ ErrorBarCallMicrophoneUnmutedBySystem: JSX.Element | React_2.JSX.Element;
5705
+ ErrorBarCallNetworkQualityLow: JSX.Element | React_2.JSX.Element;
5706
+ ErrorBarCallNoMicrophoneFound: JSX.Element | React_2.JSX.Element;
5707
+ ErrorBarCallNoSpeakerFound: JSX.Element | React_2.JSX.Element;
5708
+ ErrorBarClear: JSX.Element | React_2.JSX.Element;
5709
+ HorizontalGalleryLeftButton: JSX.Element | React_2.JSX.Element;
5710
+ HorizontalGalleryRightButton: JSX.Element | React_2.JSX.Element;
4539
5711
  LobbyScreenConnectingToCall?: JSX.Element | undefined;
4540
5712
  LobbyScreenWaitingToBeAdmitted?: JSX.Element | undefined;
4541
5713
  LocalDeviceSettingsCamera?: JSX.Element | undefined;
@@ -4548,13 +5720,17 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
4548
5720
  NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element | undefined;
4549
5721
  NoticePageLeftCall?: JSX.Element | undefined;
4550
5722
  NoticePageRemovedFromCall?: JSX.Element | undefined;
4551
- OptionsCamera: JSX.Element;
4552
- OptionsMic: JSX.Element;
4553
- OptionsSpeaker: JSX.Element;
4554
- ParticipantItemMicOff: JSX.Element;
4555
- ParticipantItemScreenShareStart: JSX.Element;
4556
- VideoTileMicOff: JSX.Element;
5723
+ OptionsCamera: JSX.Element | React_2.JSX.Element;
5724
+ OptionsMic: JSX.Element | React_2.JSX.Element;
5725
+ OptionsSpeaker: JSX.Element | React_2.JSX.Element;
5726
+ ParticipantItemMicOff: JSX.Element | React_2.JSX.Element;
5727
+ ParticipantItemScreenShareStart: JSX.Element | React_2.JSX.Element;
5728
+ VideoTileMicOff: JSX.Element | React_2.JSX.Element;
4557
5729
  LocalCameraSwitch?: JSX.Element | undefined;
5730
+ PeoplePaneAddPerson?: JSX.Element | undefined;
5731
+ PeoplePaneOpenDialpad?: JSX.Element | undefined;
5732
+ DialpadStartCall?: JSX.Element | undefined;
5733
+ NoticePageAccessDeniedRoomsCall?: JSX.Element | undefined;
4558
5734
  BlurVideoBackground?: JSX.Element | undefined;
4559
5735
  RemoveVideoBackgroundEffect?: JSX.Element | undefined;
4560
5736
  GalleryOptions?: JSX.Element | undefined;
@@ -4564,6 +5740,7 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
4564
5740
  FocusedContentGalleryLayout?: JSX.Element | undefined;
4565
5741
  OverflowGalleryTop?: JSX.Element | undefined;
4566
5742
  LargeGalleryLayout?: JSX.Element | undefined;
5743
+ DefaultCustomButton?: JSX.Element | undefined;
4567
5744
  ChevronLeft?: JSX.Element | undefined;
4568
5745
  ControlBarChatButtonActive?: JSX.Element | undefined;
4569
5746
  ControlBarChatButtonInactive?: JSX.Element | undefined;
@@ -4573,35 +5750,72 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
4573
5750
  MoreDrawerSelectedMicrophone?: JSX.Element | undefined;
4574
5751
  MoreDrawerSelectedSpeaker?: JSX.Element | undefined;
4575
5752
  MoreDrawerSpeakers?: JSX.Element | undefined;
4576
- SendBoxAttachFile?: JSX.Element | undefined;
4577
- ChatMessageOptions: JSX.Element;
4578
- ErrorBarCallVideoRecoveredBySystem: JSX.Element;
4579
- ErrorBarCallVideoStoppedBySystem: JSX.Element;
4580
- MessageResend: JSX.Element;
4581
- VideoTilePinned: JSX.Element;
4582
- VideoTileMoreOptions: JSX.Element;
4583
- VideoTileScaleFit: JSX.Element;
4584
- VideoTileScaleFill: JSX.Element;
4585
- PinParticipant: JSX.Element;
4586
- UnpinParticipant: JSX.Element;
4587
- SplitButtonPrimaryActionCameraOn: JSX.Element;
4588
- SplitButtonPrimaryActionCameraOff: JSX.Element;
4589
- SplitButtonPrimaryActionMicUnmuted: JSX.Element;
4590
- SplitButtonPrimaryActionMicMuted: JSX.Element;
4591
- VerticalGalleryLeftButton: JSX.Element;
4592
- VerticalGalleryRightButton: JSX.Element;
4593
- ControlButtonVideoEffectsOption: JSX.Element;
4594
- ConfigurationScreenVideoEffectsButton: JSX.Element;
4595
- CaptionsIcon: JSX.Element;
4596
- CaptionsOffIcon: JSX.Element;
4597
- CaptionsSettingsIcon: JSX.Element;
4598
- ChangeSpokenLanguageIcon: JSX.Element;
4599
- ChangeCaptionLanguageIcon: JSX.Element;
4600
- ContextMenuCameraIcon: JSX.Element;
4601
- ContextMenuMicIcon: JSX.Element;
4602
- ContextMenuSpeakerIcon: JSX.Element;
5753
+ ChatMessageOptions: React_2.JSX.Element;
5754
+ ControlButtonParticipantsContextualMenuItem: React_2.JSX.Element;
5755
+ CancelFileUpload: React_2.JSX.Element;
5756
+ DownloadFile: React_2.JSX.Element;
5757
+ DataLossPreventionProhibited: React_2.JSX.Element;
5758
+ ErrorBarCallVideoRecoveredBySystem: React_2.JSX.Element;
5759
+ ErrorBarCallVideoStoppedBySystem: React_2.JSX.Element;
5760
+ MessageResend: React_2.JSX.Element;
5761
+ HoldCallContextualMenuItem: React_2.JSX.Element;
5762
+ HoldCallButton: React_2.JSX.Element;
5763
+ ResumeCall: React_2.JSX.Element;
5764
+ DialpadBackspace: React_2.JSX.Element;
5765
+ SitePermissionsSparkle: React_2.JSX.Element;
5766
+ SitePermissionCamera: React_2.JSX.Element;
5767
+ SitePermissionMic: React_2.JSX.Element;
5768
+ SitePermissionCameraDenied: React_2.JSX.Element;
5769
+ SitePermissionMicDenied: React_2.JSX.Element;
5770
+ UnsupportedEnvironmentWarning: React_2.JSX.Element;
5771
+ BrowserPermissionDeniedError: React_2.JSX.Element;
5772
+ VideoTilePinned: React_2.JSX.Element;
5773
+ VideoTileMoreOptions: React_2.JSX.Element;
5774
+ VideoTileScaleFit: React_2.JSX.Element;
5775
+ VideoTileScaleFill: React_2.JSX.Element;
5776
+ PinParticipant: React_2.JSX.Element;
5777
+ UnpinParticipant: React_2.JSX.Element;
5778
+ SplitButtonPrimaryActionCameraOn: React_2.JSX.Element;
5779
+ SplitButtonPrimaryActionCameraOff: React_2.JSX.Element;
5780
+ SplitButtonPrimaryActionMicUnmuted: React_2.JSX.Element;
5781
+ SplitButtonPrimaryActionMicMuted: React_2.JSX.Element;
5782
+ VerticalGalleryLeftButton: React_2.JSX.Element;
5783
+ VerticalGalleryRightButton: React_2.JSX.Element;
5784
+ ControlButtonVideoEffectsOption: React_2.JSX.Element;
5785
+ ConfigurationScreenVideoEffectsButton: React_2.JSX.Element;
5786
+ CaptionsIcon: React_2.JSX.Element;
5787
+ CaptionsOffIcon: React_2.JSX.Element;
5788
+ CaptionsSettingsIcon: React_2.JSX.Element;
5789
+ ChangeSpokenLanguageIcon: React_2.JSX.Element;
5790
+ ChangeCaptionLanguageIcon: React_2.JSX.Element;
5791
+ ContextMenuCameraIcon: React_2.JSX.Element;
5792
+ ContextMenuMicIcon: React_2.JSX.Element;
5793
+ ContextMenuSpeakerIcon: React_2.JSX.Element;
4603
5794
  };
4604
5795
 
5796
+ /**
5797
+ * Device Checks.
5798
+ * Choose whether or not to block starting a call depending on camera and microphone permission options.
5799
+ *
5800
+ * @beta
5801
+ */
5802
+ export declare interface DeviceCheckOptions {
5803
+ /**
5804
+ * Camera Permission prompts for your call.
5805
+ * 'required' - requires the permission to be allowed before permitting the user join the call.
5806
+ * 'optional' - permission can be disallowed and the user is still permitted to join the call.
5807
+ * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.
5808
+ */
5809
+ camera: 'required' | 'optional' | 'doNotPrompt';
5810
+ /**
5811
+ * Microphone permission prompts for your call.
5812
+ * 'required' - requires the permission to be allowed before permitting the user join the call.
5813
+ * 'optional' - permission can be disallowed and the user is still permitted to join the call.
5814
+ * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.
5815
+ */
5816
+ microphone: 'required' | 'optional' | 'doNotPrompt';
5817
+ }
5818
+
4605
5819
  /**
4606
5820
  * This type is meant to encapsulate all the state inside {@link @azure/communication-calling#DeviceManager}. For
4607
5821
  * optional parameters they may not be available until permission is granted by the user. The cameras, microphones,
@@ -4820,6 +6034,60 @@ export declare interface DiagnosticsCallFeatureState {
4820
6034
  media: MediaDiagnosticsState;
4821
6035
  }
4822
6036
 
6037
+ /**
6038
+ * A component to allow users to enter phone number through clicking on dialpad/using keyboard
6039
+ * It will return empty component for stable builds
6040
+ *
6041
+ * @beta
6042
+ */
6043
+ export declare const Dialpad: (props: DialpadProps) => JSX.Element;
6044
+
6045
+ /**
6046
+ * Props for {@link Dialpad} component.
6047
+ *
6048
+ * @beta
6049
+ */
6050
+ export declare interface DialpadProps {
6051
+ strings?: DialpadStrings;
6052
+ /** function to send dtmf tones on button click */
6053
+ onSendDtmfTone?: (dtmfTone: DtmfTone) => Promise<void>;
6054
+ /** Callback for dialpad button behavior*/
6055
+ onClickDialpadButton?: (buttonValue: string, buttonIndex: number) => void;
6056
+ /** set dialpad textfield content */
6057
+ textFieldValue?: string;
6058
+ /** on change function for text field, provides an unformatted plain text*/
6059
+ onChange?: (input: string) => void;
6060
+ /** boolean input to determine when to show/hide delete button, default true */
6061
+ showDeleteButton?: boolean;
6062
+ /** boolean input to determine if dialpad is in mobile view, default false */
6063
+ isMobile?: boolean;
6064
+ styles?: DialpadStyles;
6065
+ }
6066
+
6067
+ /**
6068
+ * Strings of {@link Dialpad} that can be overridden.
6069
+ *
6070
+ * @beta
6071
+ */
6072
+ export declare interface DialpadStrings {
6073
+ placeholderText: string;
6074
+ deleteButtonAriaLabel?: string;
6075
+ }
6076
+
6077
+ /**
6078
+ * Styles for {@link Dialpad} component.
6079
+ *
6080
+ * @beta
6081
+ */
6082
+ export declare interface DialpadStyles {
6083
+ root?: IStyle;
6084
+ button?: IButtonStyles;
6085
+ textField?: Partial<ITextFieldStyles>;
6086
+ digit?: IStyle;
6087
+ letter?: IStyle;
6088
+ deleteIcon?: IButtonStyles;
6089
+ }
6090
+
4823
6091
  /**
4824
6092
  * Callback for {@link CallAdapterSubscribers} 'displayNameChanged' event.
4825
6093
  *
@@ -4840,6 +6108,13 @@ export declare interface Disposable {
4840
6108
  dispose(): void;
4841
6109
  }
4842
6110
 
6111
+ /**
6112
+ * DTMF tone for PSTN calls.
6113
+ *
6114
+ * @beta
6115
+ */
6116
+ export declare type DtmfTone = 'A' | 'B' | 'C' | 'D' | 'Flash' | 'Num0' | 'Num1' | 'Num2' | 'Num3' | 'Num4' | 'Num5' | 'Num6' | 'Num7' | 'Num8' | 'Num9' | 'Pound' | 'Star';
6117
+
4843
6118
  /**
4844
6119
  * A type for trivial selectors that return no data.
4845
6120
  *
@@ -5093,6 +6368,199 @@ export declare interface ErrorBarStrings {
5093
6368
  */
5094
6369
  export declare type ErrorType = keyof ErrorBarStrings;
5095
6370
 
6371
+ /**
6372
+ * @beta
6373
+ * A file download error returned via a {@link FileDownloadHandler}.
6374
+ * This error message is used to render an error message in the UI.
6375
+ */
6376
+ export declare interface FileDownloadError {
6377
+ /** The error message to display in the UI */
6378
+ errorMessage: string;
6379
+ }
6380
+
6381
+ /**
6382
+ * @beta
6383
+ *
6384
+ * A callback function for handling file downloads.
6385
+ * The function needs to return a promise that resolves to a file download URL.
6386
+ * If the promise is rejected, the {@link Error.message} will be used to display an error message to the user.
6387
+ *
6388
+ * @example
6389
+ * ```ts
6390
+ * const fileDownloadHandler: FileDownloadHandler = async (userId, fileData) => {
6391
+ * if (isUnauthorizedUser(userId)) {
6392
+ * return { errorMessage: 'You don’t have permission to download this file.' };
6393
+ * } else {
6394
+ * return new URL(fileData.url);
6395
+ * }
6396
+ * }
6397
+ *
6398
+ * const App = () => (
6399
+ * <ChatComposite
6400
+ * ...
6401
+ * fileSharing={{
6402
+ * fileDownloadHandler: fileDownloadHandler
6403
+ * }}
6404
+ * />
6405
+ * )
6406
+ *
6407
+ * ```
6408
+ * @param userId - The user ID of the user downloading the file.
6409
+ * @param fileMetadata - The {@link FileMetadata} containing file `url`, `extension` and `name`.
6410
+ */
6411
+ export declare type FileDownloadHandler = (userId: string, fileMetadata: FileMetadata) => Promise<URL | FileDownloadError>;
6412
+
6413
+ /**
6414
+ * Meta Data containing information about the uploaded file.
6415
+ * @beta
6416
+ */
6417
+ export declare type FileMetadata = FileSharingMetadata | /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ ImageFileMetadata;
6418
+
6419
+ /**
6420
+ * @beta
6421
+ */
6422
+ export declare type FileMetadataAttachmentType = 'fileSharing' | /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */ 'inlineImage' | 'unknown';
6423
+
6424
+ /**
6425
+ * Meta Data containing basic information about the uploaded file.
6426
+ * Typically used for ACS to ACS file transfers.
6427
+ * @beta
6428
+ */
6429
+ export declare interface FileSharingMetadata extends BaseFileMetadata {
6430
+ attachmentType: 'fileSharing';
6431
+ payload?: Record<string, string>;
6432
+ }
6433
+
6434
+ /**
6435
+ * Properties for configuring the File Sharing feature.
6436
+ * @beta
6437
+ */
6438
+ export declare interface FileSharingOptions {
6439
+ /**
6440
+ * A string containing the comma separated list of accepted file types.
6441
+ * Similar to the `accept` attribute of the `<input type="file" />` element.
6442
+ * Accepts any type of file if not specified.
6443
+ * @beta
6444
+ */
6445
+ accept?: string;
6446
+ /**
6447
+ * Allows multiple files to be selected if set to `true`.
6448
+ * Similar to the `multiple` attribute of the `<input type="file" />` element.
6449
+ * @defaultValue false
6450
+ * @beta
6451
+ */
6452
+ multiple?: boolean;
6453
+ /**
6454
+ * A function of type {@link FileUploadHandler} for handling file uploads.
6455
+ * @beta
6456
+ */
6457
+ uploadHandler: FileUploadHandler;
6458
+ /**
6459
+ * A function of type {@link FileDownloadHandler} for handling file downloads.
6460
+ * If the function is not specified, the file's `url` will be opened in a new tab to
6461
+ * initiate the download.
6462
+ */
6463
+ downloadHandler?: FileDownloadHandler;
6464
+ }
6465
+
6466
+ /**
6467
+ * @beta
6468
+ */
6469
+ export declare interface FileUploadAdapter {
6470
+ registerActiveFileUploads: (files: File[]) => FileUploadManager[];
6471
+ registerCompletedFileUploads: (metadata: FileMetadata[]) => FileUploadManager[];
6472
+ clearFileUploads: () => void;
6473
+ cancelFileUpload: (id: string) => void;
6474
+ updateFileUploadProgress: (id: string, progress: number) => void;
6475
+ updateFileUploadErrorMessage: (id: string, errorMessage: string) => void;
6476
+ updateFileUploadMetadata: (id: string, metadata: FileMetadata) => void;
6477
+ }
6478
+
6479
+ /**
6480
+ * @beta
6481
+ * Error message to be displayed to the user if the upload fails.
6482
+ */
6483
+ export declare type FileUploadError = {
6484
+ message: string;
6485
+ timestamp: number;
6486
+ };
6487
+
6488
+ /**
6489
+ * @beta
6490
+ * A callback function for handling file uploads.
6491
+ *
6492
+ * @param userId - The user ID of the user uploading the file.
6493
+ * @param fileUploads - The list of uploaded files. Each file is represented by an {@link FileUpload} object.
6494
+ */
6495
+ export declare type FileUploadHandler = (userId: string, fileUploads: FileUploadManager[]) => void;
6496
+
6497
+ /**
6498
+ * A wrapper object for a file that is being uploaded.
6499
+ * Allows mmanaging file uploads by providing common functions for updating the
6500
+ * upload progress, canceling an upload, completing an upload etc.
6501
+ * @beta
6502
+ */
6503
+ export declare interface FileUploadManager {
6504
+ /**
6505
+ * Unique identifier for the file upload.
6506
+ */
6507
+ id: string;
6508
+ /**
6509
+ * HTML {@link File} object for the uploaded file.
6510
+ */
6511
+ file?: File;
6512
+ /**
6513
+ * Update the progress of the upload.
6514
+ * @param value - number between 0 and 1
6515
+ */
6516
+ notifyUploadProgressChanged: (value: number) => void;
6517
+ /**
6518
+ * Mark the upload as complete.
6519
+ * Requires the `metadata` param containing uploaded file information.
6520
+ * @param metadata - {@link FileMetadata}
6521
+ */
6522
+ notifyUploadCompleted: (metadata: FileMetadata) => void;
6523
+ /**
6524
+ * Mark the upload as failed.
6525
+ * @param message - An error message that can be displayed to the user.
6526
+ */
6527
+ notifyUploadFailed: (message: string) => void;
6528
+ }
6529
+
6530
+ /**
6531
+ * Contains the state attibutes of a file upload like name, progress etc.
6532
+ * @beta
6533
+ */
6534
+ export declare interface FileUploadState {
6535
+ /**
6536
+ * Unique identifier for the file upload.
6537
+ */
6538
+ id: string;
6539
+ /**
6540
+ * Filename extracted from the {@link File} object.
6541
+ * This attribute is used to render the filename if `metadata.name` is not available.
6542
+ */
6543
+ filename: string;
6544
+ /**
6545
+ * A number between 0 and 1 indicating the progress of the upload.
6546
+ */
6547
+ progress: number;
6548
+ /**
6549
+ * Meta Data {@link FileMetadata} containing information about the uploaded file.
6550
+ */
6551
+ metadata?: FileMetadata;
6552
+ /**
6553
+ * Error message to be displayed to the user if the upload fails.
6554
+ */
6555
+ error?: FileUploadError;
6556
+ }
6557
+
6558
+ /**
6559
+ * A record containing {@link FileUploadState} mapped to unique ids.
6560
+ * @beta
6561
+ */
6562
+ export declare type FileUploadsUiState = Record<string, FileUploadState>;
6563
+
5096
6564
  /**
5097
6565
  * Provider to apply a Fluent theme across this library's react components.
5098
6566
  *
@@ -5132,7 +6600,7 @@ export declare const fromFlatCommunicationIdentifier: (id: string) => Communicat
5132
6600
  *
5133
6601
  * @public
5134
6602
  */
5135
- 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;
6603
+ 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 : undefined;
5136
6604
 
5137
6605
  /**
5138
6606
  * Get the selector for a specified component.
@@ -5194,6 +6662,63 @@ export declare interface GridLayoutStyles extends BaseCustomStyles {
5194
6662
  children?: IStyle;
5195
6663
  }
5196
6664
 
6665
+ /**
6666
+ * a button to hold or resume a ongoing call.
6667
+ *
6668
+ * Can be used with {@link ControlBar}
6669
+ *
6670
+ * @param props - properties for the hold button.
6671
+ * @returns
6672
+ * @beta
6673
+ */
6674
+ export declare const HoldButton: (props: HoldButtonProps) => JSX.Element;
6675
+
6676
+ /**
6677
+ *@beta
6678
+ */
6679
+ export declare interface HoldButtonProps extends ControlBarButtonProps {
6680
+ /**
6681
+ * Utility property for using this component with communication react handlers
6682
+ * Holds the call or resumes it based on call state.
6683
+ */
6684
+ onToggleHold: () => Promise<void>;
6685
+ /**
6686
+ * Optional strings to override in component
6687
+ */
6688
+ strings?: HoldButtonStrings;
6689
+ }
6690
+
6691
+ /**
6692
+ * Selector type for the {@link HoldButton} component.
6693
+ * @public
6694
+ */
6695
+ export declare type HoldButtonSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {
6696
+ checked: boolean;
6697
+ };
6698
+
6699
+ /**
6700
+ * Strings for the hold button labels
6701
+ * @beta
6702
+ */
6703
+ export declare interface HoldButtonStrings {
6704
+ /**
6705
+ * Label for when action is to resume call.
6706
+ */
6707
+ onLabel: string;
6708
+ /**
6709
+ * Label for when action is to hold call.
6710
+ */
6711
+ offLabel: string;
6712
+ /**
6713
+ * Content for when button is checked
6714
+ */
6715
+ tooltipOnContent: string;
6716
+ /**
6717
+ * Content for when button is unchecked
6718
+ */
6719
+ tooltipOffContent: string;
6720
+ }
6721
+
5197
6722
  /**
5198
6723
  * {@link HorizontalGallery} Component Styles.
5199
6724
  * @public
@@ -5278,8 +6803,108 @@ export declare interface _Identifiers {
5278
6803
  verticalGalleryVideoTile: string;
5279
6804
  /** `data-ui-id` value for `VerticalGallery` Component's page counter */
5280
6805
  verticalGalleryPageCounter: string;
6806
+ /** `data-ui-id` value for `MentionPopover` Component's suggestion list */
6807
+ mentionSuggestionList: string;
6808
+ /** `data-ui-id` value for `MentionPopover` Component's suggestion list item */
6809
+ mentionSuggestionItem: string;
6810
+ }
6811
+
6812
+ /**
6813
+ * Meta Data containing data for images.
6814
+ * @beta
6815
+ */
6816
+ export declare interface ImageFileMetadata extends BaseFileMetadata {
6817
+ attachmentType: 'inlineImage';
6818
+ previewUrl?: string;
6819
+ }
6820
+
6821
+ /**
6822
+ * Component to render a fullscreen modal for a selected image.
6823
+ *
6824
+ * @beta
6825
+ */
6826
+ export declare const ImageGallery: (props: ImageGalleryProps) => JSX.Element;
6827
+
6828
+ /**
6829
+ * Props for {@link ImageGallery}.
6830
+ *
6831
+ * @beta
6832
+ */
6833
+ export declare interface ImageGalleryImageProps {
6834
+ /** Image Url used to display the image in a large scale. */
6835
+ imageUrl: string;
6836
+ /** String used as a file name when downloading this image to user's local device. */
6837
+ downloadFilename: string;
6838
+ /** Optional string used as a alt text for the image. @default 'image' */
6839
+ altText?: string;
6840
+ /** Optional string used as the title of the image and displayed on the top left corner of the ImageGallery. */
6841
+ title?: string;
6842
+ /** Optional JSX element used as a title icon and displayed to the left of the title element. */
6843
+ titleIcon?: JSX.Element;
5281
6844
  }
5282
6845
 
6846
+ /**
6847
+ * Props for {@link ImageGallery}.
6848
+ *
6849
+ * @beta
6850
+ */
6851
+ export declare interface ImageGalleryProps {
6852
+ /**
6853
+ * Boolean that controls whether the modal is displayed.
6854
+ */
6855
+ isOpen: boolean;
6856
+ /**
6857
+ * Array of images used to populate the ImageGallery
6858
+ */
6859
+ images: Array<ImageGalleryImageProps>;
6860
+ /**
6861
+ * Callback to invoke when the ImageGallery modal is dismissed
6862
+ */
6863
+ onDismiss: () => void;
6864
+ /**
6865
+ * Callback called when the download button is clicked.
6866
+ */
6867
+ onImageDownloadButtonClicked: (imageUrl: string, downloadFilename: string) => void;
6868
+ /**
6869
+ * Callback called when there's an error loading the image.
6870
+ */
6871
+ onError?: (event: SyntheticEvent<HTMLImageElement, Event>) => void;
6872
+ /**
6873
+ * Indicating which index of the images array to start with.
6874
+ */
6875
+ startIndex?: number;
6876
+ }
6877
+
6878
+ /**
6879
+ * Strings of {@link ImageGallery} that can be overridden.
6880
+ *
6881
+ * @beta
6882
+ */
6883
+ export declare interface ImageGalleryStrings {
6884
+ /**
6885
+ * Download button label for ImageGallery
6886
+ */
6887
+ downloadButtonLabel: string;
6888
+ /**
6889
+ * Dismiss button aria label for ImageGallery
6890
+ */
6891
+ dismissButtonAriaLabel: string;
6892
+ }
6893
+
6894
+ /**
6895
+ * @beta
6896
+ * This contains a readonly array that returns all the active `incomingCalls`.
6897
+ * An active incoming call is a call that has not been answered, declined or disconnected.
6898
+ */
6899
+ export declare type IncomingCallManagement = {
6900
+ /**
6901
+ * @beta
6902
+ * @Remark This attribute doesn't exist on the {@link @azure/communication-calling#CallAgent} interface.
6903
+ * @returns readonly array of {@link DeclarativeIncomingCall}
6904
+ */
6905
+ incomingCalls: ReadonlyArray<DeclarativeIncomingCall>;
6906
+ };
6907
+
5283
6908
  /**
5284
6909
  * State only version of {@link @azure/communication-calling#IncomingCall}. {@link StatefulCallClient} will
5285
6910
  * automatically detect incoming calls and add their state to the state exposed by {@link StatefulCallClient}.
@@ -5410,7 +7035,7 @@ export declare interface JumpToNewMessageButtonProps {
5410
7035
  *
5411
7036
  * @public
5412
7037
  */
5413
- export declare const lightTheme: PartialTheme & CallingTheme;
7038
+ export declare const lightTheme: PartialTheme & CallingTheme & /* @conditional-compile-remove(image-gallery) */ ChatTheme;
5414
7039
 
5415
7040
  /**
5416
7041
  * Whether the stream is loading or not.
@@ -5495,21 +7120,116 @@ export declare interface LocalVideoStreamVideoEffectsState {
5495
7120
  }
5496
7121
 
5497
7122
  /**
5498
- * Payload for {@link DiagnosticChangedEventListner} where there is a change in a media diagnostic.
7123
+ * Options for the local video tile in the Call composite.
7124
+ *
7125
+ * @beta
7126
+ */
7127
+ export declare interface LocalVideoTileOptions {
7128
+ /**
7129
+ * Position of the local video tile. If unset will render the local tile in the floating local position.
7130
+ *
7131
+ * @defaultValue 'floating'
7132
+ * @remarks 'grid' - local video tile will be rendered in the grid view of the videoGallery.
7133
+ * 'floating' - local video tile will be rendered in the floating position and will observe overflow gallery
7134
+ * local video tile rules and be docked in the bottom corner.
7135
+ * This does not affect the Configuration screen or the side pane Picture in Picture in Picture view.
7136
+ */
7137
+ position?: 'grid' | 'floating';
7138
+ }
7139
+
7140
+ /**
7141
+ * different modes of the local video tile
7142
+ *
7143
+ * @beta
7144
+ */
7145
+ export declare type LocalVideoTileSize = '9:16' | '16:9' | 'hidden' | 'followDeviceOrientation';
7146
+
7147
+ /**
7148
+ * Payload for {@link DiagnosticChangedEventListner} where there is a change in a media diagnostic.
7149
+ *
7150
+ * @public
7151
+ */
7152
+ export declare type MediaDiagnosticChangedEvent = MediaDiagnosticChangedEventArgs & {
7153
+ type: 'media';
7154
+ };
7155
+
7156
+ /**
7157
+ * State only proxy for {@link @azure/communication-calling#MediaDiagnostics}.
7158
+ *
7159
+ * @public
7160
+ */
7161
+ export declare interface MediaDiagnosticsState {
7162
+ latest: LatestMediaDiagnostics;
7163
+ }
7164
+
7165
+ /**
7166
+ * Mention's state, as reflected in the UI.
7167
+ *
7168
+ * @beta
7169
+ */
7170
+ export declare interface Mention {
7171
+ /** ID of a mention */
7172
+ id: string;
7173
+ /** Display text of a mention */
7174
+ displayText: string;
7175
+ /** Optional React element to render an item icon of a mention suggestion */
7176
+ icon?: JSX.Element;
7177
+ }
7178
+
7179
+ /**
7180
+ * Options to display suggestions in the mention scenario.
7181
+ *
7182
+ * @beta
7183
+ */
7184
+ export declare interface MentionDisplayOptions {
7185
+ /**
7186
+ * Optional callback for customizing the mention renderer in a message thread.
7187
+ */
7188
+ onRenderMention?: (mention: Mention, defaultOnRender: (mention: Mention) => JSX.Element) => JSX.Element;
7189
+ }
7190
+
7191
+ /**
7192
+ * Options to lookup suggestions in the mention scenario.
7193
+ *
7194
+ * @beta
7195
+ */
7196
+ export declare interface MentionLookupOptions {
7197
+ /**
7198
+ * Optional string to set trigger keyword for mention a specific participant.
7199
+ *
7200
+ * @defaultValue `@`
7201
+ */
7202
+ trigger?: string;
7203
+ /**
7204
+ * Optional callback to fetch a list of mention suggestions base on the query.
7205
+ */
7206
+ onQueryUpdated: (query: string) => Promise<Mention[]>;
7207
+ /**
7208
+ * Optional callback to render an item of the mention suggestions list.
7209
+ */
7210
+ onRenderSuggestionItem?: (suggestion: Mention, onSuggestionSelected: (suggestion: Mention) => void) => JSX.Element;
7211
+ }
7212
+
7213
+ /**
7214
+ * Options to lookup suggestions and display mentions in the mention scenario.
5499
7215
  *
5500
- * @public
7216
+ * @beta
5501
7217
  */
5502
- export declare type MediaDiagnosticChangedEvent = MediaDiagnosticChangedEventArgs & {
5503
- type: 'media';
7218
+ export declare type MentionOptions = {
7219
+ lookupOptions?: MentionLookupOptions;
7220
+ displayOptions?: MentionDisplayOptions;
5504
7221
  };
5505
7222
 
5506
7223
  /**
5507
- * State only proxy for {@link @azure/communication-calling#MediaDiagnostics}.
7224
+ * Strings of {@link _MentionPopover} that can be overridden.
5508
7225
  *
5509
- * @public
7226
+ * @beta
5510
7227
  */
5511
- export declare interface MediaDiagnosticsState {
5512
- latest: LatestMediaDiagnostics;
7228
+ export declare interface MentionPopoverStrings {
7229
+ /**
7230
+ * Header text for MentionPopover
7231
+ */
7232
+ mentionPopoverHeader: string;
5513
7233
  }
5514
7234
 
5515
7235
  /**
@@ -5519,7 +7239,7 @@ export declare interface MediaDiagnosticsState {
5519
7239
  *
5520
7240
  * @public
5521
7241
  */
5522
- export declare type Message = ChatMessage | SystemMessage | CustomMessage;
7242
+ export declare type Message = ChatMessage | SystemMessage | CustomMessage | /* @conditional-compile-remove(data-loss-prevention) */ BlockedMessage;
5523
7243
 
5524
7244
  /**
5525
7245
  * Indicate whether a chat message should be displayed merged with the message before / after it.
@@ -5739,7 +7459,7 @@ export declare type MessageThreadProps = {
5739
7459
  /**
5740
7460
  * Messages to render in message thread. A message can be of type `ChatMessage`, `SystemMessage`, `BlockedMessage` or `CustomMessage`.
5741
7461
  */
5742
- messages: (ChatMessage | SystemMessage | CustomMessage)[];
7462
+ messages: (ChatMessage | SystemMessage | CustomMessage | /* @conditional-compile-remove(data-loss-prevention) */ BlockedMessage)[];
5743
7463
  /**
5744
7464
  * number of participants in the thread
5745
7465
  */
@@ -5821,6 +7541,17 @@ export declare type MessageThreadProps = {
5821
7541
  * `messageRenderer` is not provided for `CustomMessage` and thus only available for `ChatMessage` and `SystemMessage`.
5822
7542
  */
5823
7543
  onRenderMessage?: (messageProps: MessageProps, messageRenderer?: MessageRenderer) => JSX.Element;
7544
+ /**
7545
+ * Optional callback to render uploaded files in the message component.
7546
+ * @beta
7547
+ */
7548
+ onRenderFileDownloads?: (userId: string, message: ChatMessage) => JSX.Element;
7549
+ /**
7550
+ * Optional callback to retrieve the inline image in a message.
7551
+ * @param attachment - FileMetadata object we want to render
7552
+ * @beta
7553
+ */
7554
+ onFetchAttachments?: (attachment: FileMetadata) => Promise<AttachmentDownloadResult[]>;
5824
7555
  /**
5825
7556
  * Optional callback to edit a message.
5826
7557
  *
@@ -5862,6 +7593,28 @@ export declare type MessageThreadProps = {
5862
7593
  * Optional strings to override in component
5863
7594
  */
5864
7595
  strings?: Partial<MessageThreadStrings>;
7596
+ /**
7597
+ * @beta
7598
+ * Optional function called when someone clicks on the file download icon.
7599
+ * If file attachments are defined in the `message.metadata` property using the `fileSharingMetadata` key,
7600
+ * this function will be called with the data inside `fileSharingMetadata` key.
7601
+ */
7602
+ fileDownloadHandler?: FileDownloadHandler;
7603
+ /**
7604
+ * Optional function to provide customized date format.
7605
+ * @beta
7606
+ */
7607
+ onDisplayDateTimeString?: (messageDate: Date) => string;
7608
+ /**
7609
+ * Optional props needed to lookup a mention query and display mentions
7610
+ * @beta
7611
+ */
7612
+ mentionOptions?: MentionOptions;
7613
+ /**
7614
+ * Optional callback called when an inline image is clicked.
7615
+ * @beta
7616
+ */
7617
+ onInlineImageClicked?: (attachmentId: string, messageId: string) => Promise<void>;
5865
7618
  };
5866
7619
 
5867
7620
  /**
@@ -5933,6 +7686,14 @@ export declare interface MessageThreadStrings {
5933
7686
  editBoxSubmitButton: string;
5934
7687
  /** String for action menu indicating there are more options */
5935
7688
  actionMenuMoreOptions?: string;
7689
+ /** String for download file button in file card */
7690
+ downloadFile: string;
7691
+ /** String for policy violation message removal */
7692
+ blockedWarningText: string;
7693
+ /** String for policy violation message removal details link */
7694
+ blockedWarningLinkText: string;
7695
+ /** String for aria text in file attachment group*/
7696
+ fileCardGroupMessage: string;
5936
7697
  }
5937
7698
 
5938
7699
  /**
@@ -5960,6 +7721,7 @@ export declare interface MessageThreadStyles extends BaseCustomStyles {
5960
7721
  /** Styles for system message container. */
5961
7722
  systemMessageContainer?: ComponentSlotStyle;
5962
7723
  /** Styles for blocked message container. */
7724
+ blockedMessageContainer?: ComponentSlotStyle;
5963
7725
  /** Styles for message status indicator container. */
5964
7726
  messageStatusContainer?: (mine: boolean) => IStyle;
5965
7727
  }
@@ -6128,6 +7890,31 @@ export declare interface MicrophoneButtonStyles extends ControlBarButtonStyles {
6128
7890
  menuStyles?: Partial<MicrophoneButtonContextualMenuStyles>;
6129
7891
  }
6130
7892
 
7893
+ /**
7894
+ * Component to allow Contoso to help their end user with their devices should their permissions be blocked
7895
+ * by their browsers settings.
7896
+ *
7897
+ * @beta
7898
+ */
7899
+ export declare const MicrophoneSitePermissions: (props: MicrophoneSitePermissionsProps) => JSX.Element;
7900
+
7901
+ /**
7902
+ * @beta
7903
+ * Props for MicrophoneSitePermissions component.
7904
+ */
7905
+ export declare interface MicrophoneSitePermissionsProps extends CommonSitePermissionsProps {
7906
+ /** Icon name for the microphone icon */
7907
+ microphoneIconName?: string;
7908
+ /** Strings for use with the {@link MicrophoneSitePermissions} */
7909
+ strings?: MicrophoneSitePermissionsStrings;
7910
+ }
7911
+
7912
+ /**
7913
+ * @beta
7914
+ * Strings for MicrophoneSitePermissions component.
7915
+ */
7916
+ export declare type MicrophoneSitePermissionsStrings = SitePermissionsStrings;
7917
+
6131
7918
  /**
6132
7919
  * Payload for {@link DiagnosticChangedEventListner} where there is a change in a network diagnostic.
6133
7920
  *
@@ -6146,6 +7933,13 @@ export declare interface NetworkDiagnosticsState {
6146
7933
  latest: LatestNetworkDiagnostics;
6147
7934
  }
6148
7935
 
7936
+ /**
7937
+ * Callback function used to provide custom data to build profile for a user.
7938
+ *
7939
+ * @beta
7940
+ */
7941
+ export declare type OnFetchProfileCallback = (userId: string, defaultProfile?: Profile) => Promise<Profile | undefined>;
7942
+
6149
7943
  /**
6150
7944
  * A custom rendered callback that allows users to customize the rendering of a Persona Component.
6151
7945
  *
@@ -6268,6 +8062,14 @@ export declare interface ParticipantItemProps {
6268
8062
  onClick?: (props?: ParticipantItemProps) => void;
6269
8063
  /** Optional value to determine if the tooltip should be shown for participants or not */
6270
8064
  showParticipantOverflowTooltip?: boolean;
8065
+ /**
8066
+ * Optional value to determine and display a participants connection status.
8067
+ * For example, `Connecting`, `Ringing` etc.
8068
+ * The actual text that is displayed is determined by the localized string
8069
+ * corresponding to the provided participant state.
8070
+ * For example, `strings.participantStateConnecting` will be used if `participantState` is `Connecting`.
8071
+ */
8072
+ participantState?: ParticipantState;
6271
8073
  /**
6272
8074
  * Optional aria property that prefixes the ParticipantItems aria content
6273
8075
  * Takes in a unique id value of the element you would like to be read before the ParticipantItem.
@@ -6293,6 +8095,10 @@ export declare interface ParticipantItemStrings {
6293
8095
  mutedIconLabel: string;
6294
8096
  /** placeholder text for participants who does not have a display name*/
6295
8097
  displayNamePlaceholder?: string;
8098
+ /** String shown when `participantState` is `Ringing` */
8099
+ participantStateRinging?: string;
8100
+ /** String shown when `participantState` is `Hold` */
8101
+ participantStateHold?: string;
6296
8102
  }
6297
8103
 
6298
8104
  /**
@@ -6372,6 +8178,10 @@ export declare type ParticipantListProps = {
6372
8178
  styles?: ParticipantListStyles;
6373
8179
  /** Optional value to determine if the tooltip should be shown for participants or not */
6374
8180
  showParticipantOverflowTooltip?: boolean;
8181
+ /** Total number of people in the call. This number can be larger than the remote participant count. */
8182
+ totalParticipantCount?: number;
8183
+ /** Strings for the participant list */
8184
+ strings?: ParticipantListStrings;
6375
8185
  /** Optional aria-lablledby prop that prefixes each ParticipantItem aria-label */
6376
8186
  participantAriaLabelledBy?: string;
6377
8187
  };
@@ -6384,8 +8194,21 @@ export declare type ParticipantListProps = {
6384
8194
  export declare type ParticipantListSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {
6385
8195
  participants: CallParticipantListParticipant[];
6386
8196
  myUserId: string;
8197
+ totalParticipantCount?: number;
6387
8198
  };
6388
8199
 
8200
+ /**
8201
+ * Strings for the {@link ParticipantList}.
8202
+ *
8203
+ * @beta
8204
+ */
8205
+ export declare interface ParticipantListStrings {
8206
+ /**
8207
+ * String for rendering the count of participants not contained in the displayed participant list
8208
+ */
8209
+ overflowParticipantCount?: string;
8210
+ }
8211
+
6389
8212
  /**
6390
8213
  * Styles for the {@link ParticipantList}.
6391
8214
  *
@@ -6602,6 +8425,18 @@ export declare type ParticipantsRemovedListener = (event: {
6602
8425
  */
6603
8426
  export declare type ParticipantState = 'Idle' | 'Connecting' | 'Ringing' | 'Connected' | 'Hold' | 'InLobby' | 'EarlyMedia' | 'Disconnected';
6604
8427
 
8428
+ /**
8429
+ * The profile of a user.
8430
+ *
8431
+ * @beta
8432
+ */
8433
+ export declare type Profile = {
8434
+ /**
8435
+ * Primary text to display, usually the name of the person.
8436
+ */
8437
+ displayName?: string;
8438
+ };
8439
+
6605
8440
  /**
6606
8441
  * Raised hand state with order
6607
8442
  *
@@ -6726,7 +8561,7 @@ export declare interface RemoteParticipantState {
6726
8561
  /**
6727
8562
  * Proxy of {@link @azure/communication-calling#RemoteParticipant.identifier}.
6728
8563
  */
6729
- identifier: CommunicationUserKind | PhoneNumberKind | MicrosoftTeamsUserKind | UnknownIdentifierKind;
8564
+ identifier: CommunicationUserKind | PhoneNumberKind | MicrosoftTeamsUserKind | UnknownIdentifierKind | MicrosoftTeamsAppKind;
6730
8565
  /**
6731
8566
  * Proxy of {@link @azure/communication-calling#RemoteParticipant.displayName}.
6732
8567
  */
@@ -6754,6 +8589,10 @@ export declare interface RemoteParticipantState {
6754
8589
  * Proxy of {@link @azure/communication-calling#RemoteParticipant.isSpeaking}.
6755
8590
  */
6756
8591
  isSpeaking: boolean;
8592
+ /**
8593
+ * Proxy of {@link @azure/communication-calling#RemoteParticipant.role}.
8594
+ */
8595
+ role?: ParticipantRole;
6757
8596
  /**
6758
8597
  * Proxy of {@link @azure/communication-calling#Call.RaisedHand.raisedHands}.
6759
8598
  */
@@ -6782,6 +8621,7 @@ export declare interface RemoteVideoStreamState {
6782
8621
  * Proxy of {@link @azure/communication-calling#RemoteVideoStream.isReceiving}.
6783
8622
  * @beta
6784
8623
  */
8624
+ isReceiving: boolean;
6785
8625
  /**
6786
8626
  * {@link VideoStreamRendererView} that is managed by createView/disposeView in {@link StatefulCallClient}
6787
8627
  * API. This can be undefined if the stream has not yet been rendered and defined after createView creates the view.
@@ -6881,6 +8721,19 @@ export declare type Selector = (state: ClientState, props: any) => any;
6881
8721
  */
6882
8722
  export declare const SendBox: (props: SendBoxProps) => JSX.Element;
6883
8723
 
8724
+ /**
8725
+ * @beta
8726
+ * Error to be displayed to the user in an error bar above sendbox.
8727
+ */
8728
+ export declare interface SendBoxErrorBarError {
8729
+ /** Error Message to be displayed */
8730
+ message: string;
8731
+ /**
8732
+ * Unix Timestamp. Preferred generation using `Date.now()`
8733
+ */
8734
+ timestamp: number;
8735
+ }
8736
+
6884
8737
  /**
6885
8738
  * Props for {@link SendBox}.
6886
8739
  *
@@ -6900,6 +8753,11 @@ export declare interface SendBoxProps {
6900
8753
  * Optional override behavior on send button click
6901
8754
  */
6902
8755
  onSendMessage?: (content: string) => Promise<void>;
8756
+ /**
8757
+ * Optional props needed to lookup suggestions in the mention scenario.
8758
+ * @beta
8759
+ */
8760
+ mentionLookupOptions?: MentionLookupOptions;
6903
8761
  /**
6904
8762
  * Optional callback called when user is typing
6905
8763
  */
@@ -6936,6 +8794,25 @@ export declare interface SendBoxProps {
6936
8794
  * When undefined nothing has focus on render
6937
8795
  */
6938
8796
  autoFocus?: 'sendBoxTextField';
8797
+ /**
8798
+ * Optional callback to render uploaded files in the SendBox. The sendBox will expand
8799
+ * vertically to accommodate the uploaded files. File uploads will
8800
+ * be rendered below the text area in sendBox.
8801
+ * @beta
8802
+ */
8803
+ onRenderFileUploads?: () => JSX.Element;
8804
+ /**
8805
+ * Optional array of active file uploads where each object has attributes
8806
+ * of a file upload like name, progress, errorMessage etc.
8807
+ * @beta
8808
+ */
8809
+ activeFileUploads?: ActiveFileUpload[];
8810
+ /**
8811
+ * Optional callback to remove the file upload before sending by clicking on
8812
+ * cancel icon.
8813
+ * @beta
8814
+ */
8815
+ onCancelFileUpload?: (fileId: string) => void;
6939
8816
  }
6940
8817
 
6941
8818
  /**
@@ -6966,6 +8843,22 @@ export declare interface SendBoxStrings {
6966
8843
  * Aria label for send message button
6967
8844
  */
6968
8845
  sendButtonAriaLabel: string;
8846
+ /**
8847
+ * Error message indicating that all file uploads are not complete.
8848
+ */
8849
+ fileUploadsPendingError: string;
8850
+ /**
8851
+ * Aria label to notify user when focus is on cancel file upload button.
8852
+ */
8853
+ removeFile: string;
8854
+ /**
8855
+ * Aria label to notify user file uploading starts.
8856
+ */
8857
+ uploading: string;
8858
+ /**
8859
+ * Aria label to notify user file is uploaded.
8860
+ */
8861
+ uploadCompleted: string;
6969
8862
  }
6970
8863
 
6971
8864
  /**
@@ -6986,6 +8879,45 @@ export declare interface SendBoxStylesProps extends BaseCustomStyles {
6986
8879
  systemMessage?: IStyle;
6987
8880
  }
6988
8881
 
8882
+ /**
8883
+ * @beta
8884
+ * Strings for SitePermissions component
8885
+ */
8886
+ export declare type SitePermissionsStrings = {
8887
+ /**
8888
+ * Main text string.
8889
+ */
8890
+ primaryText?: string;
8891
+ /**
8892
+ * Subtext string.
8893
+ */
8894
+ secondaryText?: string;
8895
+ /**
8896
+ * More help link string.
8897
+ */
8898
+ linkText?: string;
8899
+ /**
8900
+ * Primary button text string.
8901
+ */
8902
+ primaryButtonText?: string;
8903
+ /**
8904
+ * Aria label describing the content of the container
8905
+ */
8906
+ ariaLabel?: string;
8907
+ };
8908
+
8909
+ /**
8910
+ * Fluent styles for {@link SitePermissionsContainer}.
8911
+ *
8912
+ * @beta
8913
+ */
8914
+ export declare interface SitePermissionsStyles extends BaseCustomStyles {
8915
+ /** Styles for the primary button. */
8916
+ primaryButton?: IButtonStyles;
8917
+ /** Styles for the help troubleshooting link text. */
8918
+ troubleshootingLink?: ILinkStyles;
8919
+ }
8920
+
6989
8921
  /**
6990
8922
  * @public
6991
8923
  * spoken language strings for captions setting modal
@@ -7142,6 +9074,19 @@ export declare interface StatefulCallClient extends CallClient {
7142
9074
  * @param stream - The LocalVideoStreamState or RemoteVideoStreamState to dispose.
7143
9075
  */
7144
9076
  disposeView(callId: string | undefined, participantId: CommunicationIdentifier | undefined, stream: LocalVideoStreamState | RemoteVideoStreamState): void;
9077
+ /** @conditional-compile-remove(one-to-n-calling) */
9078
+ /**
9079
+ * The CallAgent is used to handle calls.
9080
+ * To create the CallAgent, pass a CommunicationTokenCredential object provided from SDK.
9081
+ * - The CallClient can only have one active CallAgent instance at a time.
9082
+ * - You can create a new CallClient instance to create a new CallAgent.
9083
+ * - You can dispose of a CallClient's current active CallAgent, and call the CallClient's
9084
+ * createCallAgent() method again to create a new CallAgent.
9085
+ * @param tokenCredential - The token credential. Use AzureCommunicationTokenCredential from `@azure/communication-common` to create a credential.
9086
+ * @param options - The CallAgentOptions for additional options like display name.
9087
+ * @public
9088
+ */
9089
+ createCallAgent(...args: Parameters<CallClient['createCallAgent']>): Promise<DeclarativeCallAgent>;
7145
9090
  }
7146
9091
 
7147
9092
  /**
@@ -7154,7 +9099,16 @@ export declare type StatefulCallClientArgs = {
7154
9099
  * UserId from SDK. This is provided for developer convenience to easily access the userId from the
7155
9100
  * state. It is not used by StatefulCallClient.
7156
9101
  */
7157
- userId: CommunicationUserIdentifier;
9102
+ userId: CommunicationUserIdentifier | /* @conditional-compile-remove(teams-identity-support) */ MicrosoftTeamsUserIdentifier;
9103
+ /**
9104
+ * A phone number in E.164 format that will be used to represent the callers identity. This number is required
9105
+ * to start a PSTN call.
9106
+ *
9107
+ * example: +11234567
9108
+ *
9109
+ * This is not a cached value from the headless calling client.
9110
+ */
9111
+ alternateCallerId?: string;
7158
9112
  };
7159
9113
 
7160
9114
  /**
@@ -7309,6 +9263,74 @@ export declare interface SystemMessageCommon extends MessageCommon {
7309
9263
  */
7310
9264
  export declare type TeamsAdapterOptions = CommonCallAdapterOptions;
7311
9265
 
9266
+ /**
9267
+ * An Adapter interface specific for Teams identity which extends {@link CommonCallAdapter}.
9268
+ *
9269
+ * @beta
9270
+ */
9271
+ export declare interface TeamsCallAdapter extends CommonCallAdapter {
9272
+ /**
9273
+ * Join the call with microphone initially on/off.
9274
+ * @deprecated Use joinCall(options?:JoinCallOptions) instead.
9275
+ * @param microphoneOn - Whether microphone is initially enabled
9276
+ *
9277
+ * @beta
9278
+ */
9279
+ joinCall(microphoneOn?: boolean): TeamsCall | undefined;
9280
+ /**
9281
+ * Join the call with options bag to set microphone/camera initial state when joining call
9282
+ * true = turn on the device when joining call
9283
+ * false = turn off the device when joining call
9284
+ * 'keep'/undefined = retain devices' precall state
9285
+ *
9286
+ * @param options - param to set microphone/camera initially on/off.
9287
+ *
9288
+ * @public
9289
+ */
9290
+ joinCall(options?: JoinCallOptions): TeamsCall | undefined;
9291
+ /**
9292
+ * Start the call.
9293
+ *
9294
+ * @param participants - An array of participant ids to join
9295
+ *
9296
+ * @beta
9297
+ */
9298
+ startCall(participants: string[], options?: StartCallOptions): TeamsCall | undefined;
9299
+ /**
9300
+ * Start the call.
9301
+ * @param participants - An array of {@link @azure/communication-common#CommunicationIdentifier} to be called
9302
+ * @beta
9303
+ */
9304
+ startCall(participants: CommunicationIdentifier[], options?: StartCallOptions): TeamsCall | undefined;
9305
+ }
9306
+
9307
+ /**
9308
+ * Arguments for creating the Azure Communication Services implementation of {@link TeamsCallAdapter}.
9309
+ *
9310
+ * @beta
9311
+ */
9312
+ export declare type TeamsCallAdapterArgs = {
9313
+ userId: MicrosoftTeamsUserIdentifier;
9314
+ credential: CommunicationTokenCredential;
9315
+ locator: TeamsMeetingLinkLocator | /* @conditional-compile-remove(teams-adhoc-call) */ /* @conditional-compile-remove(PSTN-calls) */ CallParticipantsLocator;
9316
+ /**
9317
+ * Optional parameters for the {@link TeamsCallAdapter} created
9318
+ */
9319
+ options?: TeamsAdapterOptions;
9320
+ };
9321
+
9322
+ /**
9323
+ * Object containing all the teams call handlers required for calling components.
9324
+ *
9325
+ * Calling related components from this package are able to pick out relevant handlers from this object.
9326
+ * See {@link useHandlers} and {@link usePropsFor}.
9327
+ *
9328
+ * @beta
9329
+ */
9330
+ export declare interface TeamsCallingHandlers extends CommonCallingHandlers {
9331
+ onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions) => undefined | /* @conditional-compile-remove(teams-identity-support) */ TeamsCall;
9332
+ }
9333
+
7312
9334
  /**
7313
9335
  * A string representation of a {@link @azure/communication-common#CommunicationIdentifier}.
7314
9336
  *
@@ -7354,6 +9376,27 @@ export declare interface TranscriptionCallFeature {
7354
9376
  isTranscriptionActive: boolean;
7355
9377
  }
7356
9378
 
9379
+ /**
9380
+ * Transfer feature state
9381
+ *
9382
+ * @beta
9383
+ */
9384
+ export declare interface TransferFeature {
9385
+ /**
9386
+ * Accepted transfer requests
9387
+ */
9388
+ acceptedTransfers: {
9389
+ [key: string]: AcceptedTransfer;
9390
+ };
9391
+ }
9392
+
9393
+ /**
9394
+ * Callback for {@link CallAdapterSubscribers} 'transferRequested' event.
9395
+ *
9396
+ * @beta
9397
+ */
9398
+ export declare type TransferRequestedListener = (event: TransferRequestedEventArgs) => void;
9399
+
7357
9400
  /**
7358
9401
  * Component to notify local user when one or more participants in the chat thread are typing.
7359
9402
  *
@@ -7488,11 +9531,117 @@ export declare interface TypingIndicatorStylesProps extends BaseCustomStyles {
7488
9531
  typingString?: IStyle;
7489
9532
  }
7490
9533
 
9534
+ /**
9535
+ * UI to display to the user that the browser they are using is not supported by Azure Communications Calling service.
9536
+ *
9537
+ * @beta
9538
+ */
9539
+ export declare const UnsupportedBrowser: (props: UnsupportedBrowserProps) => JSX.Element;
9540
+
9541
+ /**
9542
+ * props for {@link UnsupportedBrowser} UI
9543
+ *
9544
+ * @beta
9545
+ */
9546
+ export declare interface UnsupportedBrowserProps {
9547
+ /** Handler to perform an action when the help link is actioned */
9548
+ onTroubleshootingClick?: () => void;
9549
+ /** String overrides for the component */
9550
+ strings?: UnsupportedBrowserStrings;
9551
+ }
9552
+
9553
+ /**
9554
+ * Strings for UnsupportedBrowser component
9555
+ *
9556
+ * @beta
9557
+ */
9558
+ export declare interface UnsupportedBrowserStrings {
9559
+ /** String for the primary text */
9560
+ primaryText: string;
9561
+ /** String for the secondary text */
9562
+ secondaryText: string;
9563
+ /** String to display in the text for the help link */
9564
+ moreHelpLinkText: string;
9565
+ }
9566
+
9567
+ /**
9568
+ * UI to display to the user that the browser version they are using is out of date
9569
+ * and not supported by Azure Communications Calling service.
9570
+ *
9571
+ * @beta
9572
+ */
9573
+ export declare const UnsupportedBrowserVersion: (props: UnsupportedBrowserVersionProps) => JSX.Element;
9574
+
9575
+ /**
9576
+ * props for {@link UnsupportedBrowserVersion} UI
9577
+ *
9578
+ * @beta
9579
+ */
9580
+ export declare interface UnsupportedBrowserVersionProps {
9581
+ /** Handler to perform an action when the help link is actioned */
9582
+ onTroubleshootingClick?: () => void;
9583
+ /** String overrides for the component */
9584
+ strings?: UnsupportedBrowserVersionStrings;
9585
+ /** Handler to allow user to continue into the call */
9586
+ onContinueAnywayClick?: () => void;
9587
+ }
9588
+
9589
+ /**
9590
+ * Strings for UnsupportedBrowser component
9591
+ *
9592
+ * @beta
9593
+ */
9594
+ export declare interface UnsupportedBrowserVersionStrings {
9595
+ /** String for the primary text */
9596
+ primaryText: string;
9597
+ /** String for the secondary text */
9598
+ secondaryText: string;
9599
+ /** String to display in the text for the help link */
9600
+ moreHelpLinkText: string;
9601
+ /** String for continue without updating button */
9602
+ continueAnywayButtonText?: string;
9603
+ }
9604
+
9605
+ /**
9606
+ * UI to display to the user that the operating system they are using is not supported by Azure Communications Calling service.
9607
+ *
9608
+ * @beta
9609
+ */
9610
+ export declare const UnsupportedOperatingSystem: (props: UnsupportedOperatingSystemProps) => JSX.Element;
9611
+
9612
+ /**
9613
+ * Props for {@link UnsupportedOperatingSystem} UI
9614
+ *
9615
+ * @beta
9616
+ */
9617
+ export declare interface UnsupportedOperatingSystemProps {
9618
+ /** Handler to perform a action when the help link is actioned */
9619
+ onTroubleshootingClick?: () => void;
9620
+ /** String overrides for the component */
9621
+ strings?: UnsupportedOperatingSystemStrings;
9622
+ }
9623
+
9624
+ /**
9625
+ * Strings for UnsupportedBrowser component
9626
+ *
9627
+ * @beta
9628
+ */
9629
+ export declare interface UnsupportedOperatingSystemStrings {
9630
+ /** String for the primary text */
9631
+ primaryText: string;
9632
+ /** String for the secondary text */
9633
+ secondaryText: string;
9634
+ /** String to display in the text for the help link */
9635
+ moreHelpLinkText: string;
9636
+ }
9637
+
7491
9638
  /**
7492
9639
  * @public
7493
9640
  * Callback function run when a message is updated.
7494
9641
  */
7495
- export declare type UpdateMessageCallback = (messageId: string, content: string) => Promise<void>;
9642
+ export declare type UpdateMessageCallback = (messageId: string, content: string, /* @conditional-compile-remove(file-sharing) */ metadata?: Record<string, string>, /* @conditional-compile-remove(file-sharing) */ options?: {
9643
+ attachedFilesMetadata?: FileMetadata[];
9644
+ }) => Promise<void>;
7496
9645
 
7497
9646
  /**
7498
9647
  * A custom React hook to simplify the creation of {@link CallAdapter}.
@@ -7640,6 +9789,44 @@ export declare const usePropsFor: <Component extends (props: any) => JSX.Element
7640
9789
  */
7641
9790
  export declare const useSelector: <ParamT extends Selector | undefined>(selector: ParamT, selectorProps?: (ParamT extends Selector ? Parameters<ParamT>[1] : undefined) | undefined, type?: "chat" | "calling" | undefined) => ParamT extends Selector ? ReturnType<ParamT> : undefined;
7642
9791
 
9792
+ /**
9793
+ * Hook to obtain {@link @azure/communication-calling#TeamsCall} from the provider.
9794
+ *
9795
+ * Useful when implementing a custom component that utilizes the providers
9796
+ * exported from this library.
9797
+ *
9798
+ * you must have previously used the CallProvider with a TeamsCall object to use this hook
9799
+ *
9800
+ * @beta
9801
+ */
9802
+ export declare const useTeamsCall: () => undefined | /* @conditional-compile-remove(teams-identity-support) */ TeamsCall;
9803
+
9804
+ /**
9805
+ * A custom React hook to simplify the creation of {@link TeamsCallAdapter}.
9806
+ *
9807
+ * Similar to {@link createTeamsAzureCommunicationCallAdapter}, but takes care of asynchronous
9808
+ * creation of the adapter internally.
9809
+ *
9810
+ * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments
9811
+ * as they are created. The adapter is only created when all arguments are defined.
9812
+ *
9813
+ * Note that you must memoize the arguments to avoid recreating adapter on each render.
9814
+ * See storybook for typical usage examples.
9815
+ *
9816
+ * @beta
9817
+ */
9818
+ export declare const useTeamsCallAdapter: (args: Partial<TeamsCallAdapterArgs>, afterCreate?: ((adapter: TeamsCallAdapter) => Promise<TeamsCallAdapter>) | undefined, beforeDispose?: ((adapter: TeamsCallAdapter) => Promise<void>) | undefined) => TeamsCallAdapter | undefined;
9819
+
9820
+ /**
9821
+ * Hook to obtain {@link @azure/communication-calling#TeamsCallAgent} from the provider.
9822
+ *
9823
+ * Useful when implementing a custom component that utilizes the providers
9824
+ * exported from this library.
9825
+ *
9826
+ * @beta
9827
+ */
9828
+ export declare const useTeamsCallAgent: () => undefined | /* @conditional-compile-remove(teams-identity-support) */ TeamsCallAgent;
9829
+
7643
9830
  /**
7644
9831
  * React hook to access theme
7645
9832
  *
@@ -7901,6 +10088,13 @@ export declare interface VideoGalleryProps {
7901
10088
  * @defaultValue 'horizontalBottom'
7902
10089
  */
7903
10090
  overflowGalleryPosition?: OverflowGalleryPosition;
10091
+ /**
10092
+ * Determines the aspect ratio of local video tile in the video gallery.
10093
+ * @remarks 'followDeviceOrientation' will be responsive to the screen orientation and will change between 9:16 (portrait) and
10094
+ * 16:9 (landscape) aspect ratios.
10095
+ * @defaultValue 'followDeviceOrientation'
10096
+ */
10097
+ localVideoTileSize?: LocalVideoTileSize;
7904
10098
  }
7905
10099
 
7906
10100
  /**
@@ -7913,6 +10107,11 @@ export declare interface VideoGalleryRemoteParticipant extends VideoGalleryParti
7913
10107
  isSpeaking?: boolean;
7914
10108
  /** Video stream of shared screen */
7915
10109
  screenShareStream?: VideoGalleryStream;
10110
+ /**
10111
+ * @beta
10112
+ * The connection state of the participant. For example, 'Hold', 'Connecting' etc.
10113
+ */
10114
+ state?: ParticipantState;
7916
10115
  /** Whether participant is raised a hand */
7917
10116
  raisedHand?: RaisedHand;
7918
10117
  }
@@ -8152,6 +10351,12 @@ export declare interface VideoTileProps {
8152
10351
  isSpeaking?: boolean;
8153
10352
  /** Whether the participant is raised hand. Show a indicator (border) and icon with order */
8154
10353
  raisedHand?: RaisedHand;
10354
+ /**
10355
+ * The call connection state of the participant.
10356
+ * For example, `Hold` means the participant is on hold.
10357
+ */
10358
+ participantState?: ParticipantState;
10359
+ strings?: VideoTileStrings;
8155
10360
  /**
8156
10361
  * Display custom menu items in the VideoTile's contextual menu.
8157
10362
  * Uses Fluent UI ContextualMenu.
@@ -8164,6 +10369,15 @@ export declare interface VideoTileProps {
8164
10369
  onLongTouch?: () => void;
8165
10370
  }
8166
10371
 
10372
+ /**
10373
+ * Strings of {@link VideoTile} that can be overridden.
10374
+ * @beta
10375
+ */
10376
+ export declare interface VideoTileStrings {
10377
+ participantStateRinging: string;
10378
+ participantStateHold: string;
10379
+ }
10380
+
8167
10381
  /**
8168
10382
  * Fluent styles for {@link VideoTile}.
8169
10383
  *