@azure/communication-react 1.30.0 → 1.31.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 (381) hide show
  1. package/dist/communication-react.d.ts +1373 -24
  2. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DdSFdo_m.js +213 -0
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DdSFdo_m.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-C2HrwCVY.js +49 -0
  5. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-C2HrwCVY.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index-CH39vOsT.js +46344 -0
  7. package/dist/dist-cjs/communication-react/index-CH39vOsT.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +174 -40373
  9. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/common.d.ts +13 -0
  11. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/constants.d.ts +5 -0
  13. package/dist/dist-esm/acs-ui-common/src/constants.js +5 -0
  14. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +6 -0
  16. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +20 -0
  17. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +1 -0
  18. package/dist/dist-esm/acs-ui-common/src/index.d.ts +4 -0
  19. package/dist/dist-esm/acs-ui-common/src/index.js +3 -0
  20. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +7 -0
  22. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +18 -0
  23. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +1 -0
  24. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  25. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  26. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +2 -0
  27. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  28. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +2 -0
  29. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +6 -0
  30. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +25 -1
  32. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +1 -0
  34. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +3 -1
  35. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  36. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +4 -0
  37. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  38. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +42 -2
  39. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  40. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +6 -0
  41. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +35 -0
  42. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  43. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +4 -0
  44. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +24 -4
  45. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  46. package/dist/dist-esm/calling-stateful-client/src/Converter.js +3 -0
  47. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  48. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +17 -0
  49. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +33 -0
  50. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -0
  51. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +1 -0
  52. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +7 -1
  53. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  54. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +17 -0
  55. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
  57. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  58. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +6 -2
  59. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +36 -2
  60. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  61. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +2 -1
  62. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +4 -0
  63. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  64. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +25 -2
  65. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  66. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +6 -0
  67. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +20 -0
  68. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -0
  69. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  70. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  71. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +15 -1
  72. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  73. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +2 -1
  74. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  75. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +1 -0
  76. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  77. package/dist/dist-esm/communication-react/src/index.d.ts +21 -0
  78. package/dist/dist-esm/communication-react/src/index.js +3 -0
  79. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  80. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +2 -0
  81. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +1 -0
  82. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  83. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +13 -1
  84. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +9 -3
  85. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  86. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +11 -0
  87. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +32 -2
  88. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  89. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +10 -0
  90. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +15 -0
  91. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -0
  92. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +8 -1
  93. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +9 -5
  94. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  95. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +2 -1
  96. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -4
  97. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  98. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +4 -1
  99. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +31 -6
  100. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  101. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +15 -1
  102. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +9 -0
  103. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  104. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +24 -0
  105. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +203 -0
  106. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -0
  107. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +23 -2
  108. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +17 -6
  109. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  110. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +8 -1
  111. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +10 -6
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +5 -5
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  115. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +69 -0
  116. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +36 -0
  117. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -0
  118. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +75 -0
  119. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +67 -0
  120. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -0
  121. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +105 -0
  122. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +51 -0
  123. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -0
  124. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +86 -0
  125. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +40 -0
  126. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -0
  127. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +2 -0
  128. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  129. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +2 -0
  130. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +15 -0
  131. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  132. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +121 -0
  133. package/dist/dist-esm/react-components/src/components/MentionPopover.js +119 -0
  134. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -0
  135. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +81 -5
  136. package/dist/dist-esm/react-components/src/components/MessageThread.js +13 -3
  137. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +15 -0
  139. package/dist/dist-esm/react-components/src/components/ParticipantList.js +12 -3
  140. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +9 -0
  142. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +29 -0
  143. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +1 -0
  144. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +30 -0
  145. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +98 -0
  146. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -0
  147. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +19 -0
  148. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +43 -0
  149. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +1 -0
  150. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +15 -0
  151. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +42 -0
  152. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +1 -0
  153. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +24 -0
  154. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +64 -0
  155. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +1 -0
  156. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +20 -0
  157. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +45 -0
  158. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +1 -0
  159. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +14 -0
  160. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +42 -0
  161. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -0
  162. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +30 -0
  163. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +99 -0
  164. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +1 -0
  165. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +59 -0
  166. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +334 -0
  167. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -0
  168. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +37 -0
  169. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +78 -0
  170. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -0
  171. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +215 -0
  172. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +184 -0
  173. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -0
  174. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +16 -0
  175. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +75 -0
  176. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -0
  177. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.d.ts +9 -0
  178. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.js +16 -0
  179. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxUtils.js.map +1 -0
  180. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +19 -0
  181. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +229 -0
  182. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +1 -0
  183. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +7 -0
  184. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +51 -0
  185. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +1 -0
  186. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +15 -0
  187. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +64 -0
  188. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +1 -0
  189. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +6 -0
  190. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +13 -0
  191. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +1 -0
  192. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +51 -1
  193. package/dist/dist-esm/react-components/src/components/SendBox.js +58 -6
  194. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +56 -0
  196. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +75 -0
  197. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -0
  198. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +14 -0
  199. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +18 -0
  200. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -0
  201. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +24 -0
  202. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +550 -0
  203. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -0
  204. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +152 -0
  205. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +819 -0
  206. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -0
  207. package/dist/dist-esm/react-components/src/components/index.d.ts +21 -0
  208. package/dist/dist-esm/react-components/src/components/index.js +8 -0
  209. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
  211. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
  212. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +58 -0
  213. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +144 -0
  214. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -0
  215. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +26 -0
  216. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +69 -0
  217. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -0
  218. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
  219. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +8 -0
  220. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  221. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +82 -0
  222. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +328 -0
  223. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -0
  224. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +21 -0
  225. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +38 -0
  226. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -0
  227. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +38 -0
  228. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +99 -0
  229. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -0
  230. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +5 -0
  231. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +32 -0
  232. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +1 -0
  233. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +38 -1
  234. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +30 -3
  235. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +4 -2
  237. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +9 -2
  238. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +73 -0
  240. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +178 -0
  241. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -0
  242. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +33 -0
  243. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +119 -0
  244. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +1 -0
  245. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +47 -1
  246. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +154 -4
  247. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  248. package/dist/dist-esm/react-components/src/components/utils/common.js +2 -0
  249. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +2 -1
  251. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +7 -0
  253. package/dist/dist-esm/react-components/src/components/utils/merge.js +16 -0
  254. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -0
  255. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +4 -0
  256. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +3 -1
  257. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  258. package/dist/dist-esm/react-components/src/index.d.ts +1 -0
  259. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +45 -0
  261. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/theming/icons.d.ts +24 -0
  263. package/dist/dist-esm/react-components/src/theming/icons.js +67 -0
  264. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  265. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +6 -0
  266. package/dist/dist-esm/react-components/src/theming/icons.styles.js +25 -0
  267. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -0
  268. package/dist/dist-esm/react-components/src/theming/themes.d.ts +6 -0
  269. package/dist/dist-esm/react-components/src/theming/themes.js +9 -0
  270. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +13 -0
  272. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +20 -1
  274. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  275. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +59 -0
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +15 -10
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  278. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +38 -6
  279. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +12 -1
  280. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +2 -0
  282. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  283. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +46 -0
  284. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +200 -0
  285. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -0
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +2 -0
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +19 -0
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +10 -2
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +2 -0
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +19 -0
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +1 -0
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +5 -3
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +3 -0
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +3 -0
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -2
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +7 -0
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +43 -5
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +2 -2
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +2 -2
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +8 -0
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +68 -0
  314. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  315. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +52 -0
  316. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +10 -4
  317. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +10 -3
  319. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +20 -2
  320. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  321. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +16 -2
  322. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +10 -4
  324. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +14 -2
  325. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  326. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +15 -0
  327. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +23 -0
  328. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +1 -0
  329. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +27 -0
  330. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +2 -1
  331. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  332. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +2 -0
  333. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +189 -11
  334. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  335. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +18 -0
  336. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +18 -0
  337. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -0
  338. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +49 -0
  339. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +44 -0
  340. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +1 -0
  341. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +39 -0
  342. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +267 -0
  343. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -0
  344. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +20 -0
  345. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  346. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +6 -2
  347. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +36 -0
  348. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  349. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +12 -2
  350. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  351. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +80 -0
  352. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +36 -0
  353. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -0
  354. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +38 -0
  355. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +66 -0
  356. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -0
  357. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +5 -0
  358. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +5 -0
  359. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -0
  360. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +13 -2
  361. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  362. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +2 -0
  363. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  364. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +4 -0
  365. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +4 -0
  366. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  367. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +2 -1
  368. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  369. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +10 -0
  370. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +16 -0
  371. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -0
  372. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +41 -2
  373. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +21 -0
  374. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  375. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +5 -0
  376. package/dist/dist-esm/react-composites/src/composites/common/constants.js +5 -0
  377. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  378. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +26 -1
  379. package/dist/dist-esm/react-composites/src/composites/common/icons.js +2 -0
  380. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  381. package/package.json +4 -4
@@ -17,6 +17,7 @@ import { CallClientOptions } from '@azure/communication-calling';
17
17
  import { CallDirection } from '@azure/communication-calling';
18
18
  import { CallEndReason } from '@azure/communication-calling';
19
19
  import { CallerInfo } from '@azure/communication-calling';
20
+ import { CallInfo } from '@azure/communication-calling';
20
21
  import { CallKind } from '@azure/communication-calling';
21
22
  import { CallState as CallState_2 } from '@azure/communication-calling';
22
23
  import { CallSurvey } from '@azure/communication-calling';
@@ -50,6 +51,7 @@ import { IContextualMenuProps } from '@fluentui/react';
50
51
  import { IContextualMenuStyles } from '@fluentui/react';
51
52
  import { IIconProps } from '@fluentui/react';
52
53
  import { IIconStyles } from '@fluentui/react';
54
+ import { ILinkStyles } from '@fluentui/react';
53
55
  import { IMessageBarProps } from '@fluentui/react';
54
56
  import { IncomingCall } from '@azure/communication-calling';
55
57
  import { IncomingCallKind } from '@azure/communication-calling';
@@ -63,6 +65,7 @@ import { IStyleFunctionOrObject } from '@fluentui/react';
63
65
  import { ITextFieldStyles } from '@fluentui/react';
64
66
  import { LatestMediaDiagnostics } from '@azure/communication-calling';
65
67
  import { LatestNetworkDiagnostics } from '@azure/communication-calling';
68
+ import { LocalRecordingInfo } from '@azure/communication-calling';
66
69
  import { LocalVideoStream } from '@azure/communication-calling';
67
70
  import type { MediaDiagnosticChangedEventArgs } from '@azure/communication-calling';
68
71
  import { MediaStreamType } from '@azure/communication-calling';
@@ -84,6 +87,7 @@ import { Reaction as Reaction_2 } from '@azure/communication-calling';
84
87
  import { ReactionMessage } from '@azure/communication-calling';
85
88
  import { RealTimeTextInfo as RealTimeTextInfo_2 } from '@azure/communication-calling';
86
89
  import { RealTimeTextResultType } from '@azure/communication-calling';
90
+ import { RecordingInfo } from '@azure/communication-calling';
87
91
  import type { RemoteParticipant } from '@azure/communication-calling';
88
92
  import { RemoteParticipantState as RemoteParticipantState_2 } from '@azure/communication-calling';
89
93
  import { RoomCallLocator } from '@azure/communication-calling';
@@ -274,6 +278,40 @@ export declare type AreParamEqual<A extends (props: any) => JSX.Element | undefi
274
278
  */
275
279
  export declare type AreTypeEqual<A, B> = A extends B ? (B extends A ? true : false) : false;
276
280
 
281
+ /**
282
+ * @beta
283
+ * A callback function that defines what actions user can perform on an attachment.
284
+ * By default, the UI library would have default actions that opens attachment URL in a new tab.
285
+ * You can override the default actions or add new actions by providing this callback function.
286
+ * Moreover, you can also return dynamic actions based on the properties in {@link AttachmentMetadata} and/or {@link ChatMessage}.
287
+ *
288
+ * @param attachment - The file attachment that user is trying to perform actions on.
289
+ * @param message - The chat message that contains this attachment.
290
+ * @returns A list of {@link AttachmentMenuAction} that defines the type of actions user can perform on the attachment.
291
+ */
292
+ export declare type AttachmentActionHandler = (attachment: AttachmentMetadata, message?: ChatMessage) => AttachmentMenuAction[];
293
+
294
+ /**
295
+ * @beta
296
+ *
297
+ * Attachment download options defines the list of actions that can be performed on an attachment.
298
+ */
299
+ export declare interface AttachmentDownloadOptions {
300
+ actionsForAttachment: AttachmentActionHandler;
301
+ }
302
+
303
+ /**
304
+ * @beta
305
+ *
306
+ * Attachment menu action defines buttons that can be shown on the attachment card.
307
+ * If there's one action, it will be shown as a button, if there are multiple actions, it will be shown as a dropdown.
308
+ */
309
+ export declare interface AttachmentMenuAction {
310
+ name: string;
311
+ icon: JSX.Element;
312
+ onClick: (attachment: AttachmentMetadata) => Promise<void>;
313
+ }
314
+
277
315
  /**
278
316
  * Data model that represents a chat message attachment
279
317
  * where it contains an ID to uniquely identify the attachment,
@@ -297,6 +335,150 @@ export declare interface AttachmentMetadata {
297
335
  url: string;
298
336
  }
299
337
 
338
+ /**
339
+ * Data model that represents a chat message attachment being uploaded
340
+ * where it contains an ID to uniquely identify the attachment,
341
+ * a name that represents the name of file,
342
+ * an optional URL to download the attachment,
343
+ * an optional progress value between 0 and 1 indicating the progress of the upload, and
344
+ * an optional error object that contains error message would be shown to the user.
345
+ *
346
+ *
347
+ * @beta
348
+ */
349
+ export declare interface AttachmentMetadataInProgress {
350
+ /**
351
+ * Unique ID of the attachment.
352
+ */
353
+ id: string;
354
+ /**
355
+ * Attachment name to be displayed.
356
+ */
357
+ name: string;
358
+ /**
359
+ * Download URL for the attachment.
360
+ */
361
+ url?: string;
362
+ /**
363
+ * A number between 0 and 1 indicating the progress of the upload.
364
+ */
365
+ progress?: number;
366
+ /**
367
+ * A object contains error message would be shown to the user.
368
+ */
369
+ error?: AttachmentProgressError;
370
+ }
371
+
372
+ /**
373
+ * @beta
374
+ *
375
+ * Attachment Options that defines behaviour for uploading and downloading attachments.
376
+ */
377
+ export declare interface AttachmentOptions {
378
+ uploadOptions?: AttachmentUploadOptions;
379
+ downloadOptions?: AttachmentDownloadOptions;
380
+ }
381
+
382
+ /**
383
+ * @beta
384
+ * A attachment progress error object that contains message to be shown to
385
+ * the user when upload fails.
386
+ */
387
+ export declare interface AttachmentProgressError {
388
+ message: string;
389
+ }
390
+
391
+ /**
392
+ * @beta
393
+ * A callback function for handling attachment removed by the user in send box.
394
+ *
395
+ * @param attachmentId - The ID of uploaded attachments.
396
+ */
397
+ export declare type AttachmentRemovalHandler = (attachmentId: string) => void;
398
+
399
+ /**
400
+ * @beta
401
+ * A callback function for handling list of upload tasks that contains files selected by user to upload.
402
+ *
403
+ * @param AttachmentUploads - The list of uploaded attachments. Each attachment is represented by an {@link AttachmentUpload} object.
404
+ */
405
+ export declare type AttachmentSelectionHandler = (attachmentUploads: AttachmentUploadTask[]) => void;
406
+
407
+ /**
408
+ * @beta
409
+ */
410
+ export declare interface AttachmentUploadOptions {
411
+ /**
412
+ * A list of strings containing the comma separated list of supported media (aka. mime) types.
413
+ * i.e. ['image/*', 'video/*', 'audio/*']
414
+ * Default value is `['*']`, meaning all media types are supported.
415
+ * Similar to the `accept` attribute of the `<input type="attachment" />` element.
416
+ * @beta
417
+ */
418
+ supportedMediaTypes?: string[];
419
+ /**
420
+ * Disable multiple attachments to be selected if set to `true`.
421
+ * Default value is `false`, meaning multiple attachments can be selected.
422
+ * Similar to the `multiple` attribute of the `<input type="attachment" />` element.
423
+ * @beta
424
+ */
425
+ disableMultipleUploads?: boolean;
426
+ /**
427
+ * A callback function of type {@link AttachmentSelectionHandler} that will be called
428
+ * when user finishes selecting files in browser's file picker. This function is required since
429
+ * this would be where upload logic is implemented to your own storage.
430
+ * @beta
431
+ */
432
+ handleAttachmentSelection: AttachmentSelectionHandler;
433
+ /**
434
+ * A optional callback function that will be called
435
+ * when user removing files before clicking send message button. This function will be
436
+ * where you can remove the file from your storage.
437
+ * @beta
438
+ */
439
+ handleAttachmentRemoval?: AttachmentRemovalHandler;
440
+ }
441
+
442
+ /**
443
+ * A upload task represents and manages an attachment that is being uploaded.
444
+ * When using the Composite, an attachment upload task is created for each file user is selected to upload.
445
+ * A upload task is complete when notifyUploadCompleted is called.
446
+ * A upload task is failed when notifyUploadFailed is called.
447
+ * @beta
448
+ */
449
+ export declare interface AttachmentUploadTask {
450
+ /**
451
+ * Unique identifier for the attachment upload task.
452
+ */
453
+ taskId: string;
454
+ /**
455
+ * HTML {@link File} object for the uploaded attachment.
456
+ */
457
+ file?: File;
458
+ /**
459
+ * {@link Blob} object for the uploaded inline image.
460
+ */
461
+ image?: Blob;
462
+ /**
463
+ * Update the progress of the upload changed.
464
+ * A upload is considered complete when the progress reaches 1.
465
+ * @param value - number between 0 and 1
466
+ */
467
+ notifyUploadProgressChanged: (value: number) => void;
468
+ /**
469
+ * Mark the upload task as complete.
470
+ * An attachment is considered completed uploading when ID and URL are provided.
471
+ * @param id - the unique identifier of the attachment.
472
+ * @param url - the download URL of the attachment.
473
+ */
474
+ notifyUploadCompleted: (id: string, url: string) => void;
475
+ /**
476
+ * Mark the upload task as failed.
477
+ * @param message - An error message that can be displayed to the user.
478
+ */
479
+ notifyUploadFailed: (message: string) => void;
480
+ }
481
+
300
482
  /**
301
483
  * Custom data attributes for displaying avatar for a user.
302
484
  *
@@ -488,6 +670,26 @@ export declare interface BaseCustomStyles {
488
670
  root?: IStyle;
489
671
  }
490
672
 
673
+ /**
674
+ * Content blocked message type.
675
+ *
676
+ * Content blocked messages will rendered default value, but applications can provide custom strings and icon to renderers.
677
+ *
678
+ * @beta
679
+ */
680
+ export declare interface BlockedMessage extends MessageCommon {
681
+ messageType: 'blocked';
682
+ warningText?: string;
683
+ linkText?: string;
684
+ link?: string;
685
+ deletedOn?: Date;
686
+ senderId?: string;
687
+ senderDisplayName?: string;
688
+ status?: MessageStatus;
689
+ attached?: MessageAttachedStatus;
690
+ mine?: boolean;
691
+ }
692
+
491
693
  /**
492
694
  * Breakout rooms state
493
695
  *
@@ -502,6 +704,136 @@ export declare interface BreakoutRoomsState {
502
704
  breakoutRoomDisplayName?: string;
503
705
  }
504
706
 
707
+ /**
708
+ * @beta
709
+ * Props for BrowserPermissionDeniedIOS component.
710
+ */
711
+ export declare interface BrowserPermissionDeniedIOSProps extends BrowserPermissionDeniedProps {
712
+ /**
713
+ * Localization strings for BrowserPermissionDeniedIOS component.
714
+ */
715
+ strings?: BrowserPermissionDeniedIOSStrings;
716
+ /**
717
+ * Link to image source.
718
+ *
719
+ * Image is inserted into the top of the component.
720
+ */
721
+ imageSource?: string;
722
+ }
723
+
724
+ /**
725
+ * @beta
726
+ * Strings for BrowserPermissionDeniedIOS component
727
+ */
728
+ export declare interface BrowserPermissionDeniedIOSStrings extends BrowserPermissionDeniedStrings {
729
+ /**
730
+ * Image alt text
731
+ */
732
+ imageAltText: string;
733
+ /**
734
+ * Main text string.
735
+ */
736
+ primaryText: string;
737
+ /**
738
+ * Subtext string.
739
+ */
740
+ secondaryText: string;
741
+ /**
742
+ * Step 1 string
743
+ */
744
+ step1Text: string;
745
+ /**
746
+ * Step 1 digit string
747
+ */
748
+ step1DigitText: string;
749
+ /**
750
+ * Step 2 string
751
+ */
752
+ step2Text: string;
753
+ /**
754
+ * Step 2 digit string
755
+ */
756
+ step2DigitText: string;
757
+ /**
758
+ * Step 3 string
759
+ */
760
+ step3Text: string;
761
+ /**
762
+ * Step 3 digit string
763
+ */
764
+ step3DigitText: string;
765
+ /**
766
+ * Step 4 string
767
+ */
768
+ step4Text: string;
769
+ /**
770
+ * Step 4 digit string
771
+ */
772
+ step4DigitText: string;
773
+ }
774
+
775
+ /**
776
+ * @beta
777
+ * Props for BrowserPermissionDenied component.
778
+ */
779
+ export declare interface BrowserPermissionDeniedProps {
780
+ /**
781
+ * Action to be taken by the more help link. Possible to send to external page or show other modal.
782
+ */
783
+ onTroubleshootingClick?: () => void;
784
+ /**
785
+ * Action to be taken by the try again primary button.
786
+ */
787
+ onTryAgainClick?: () => void;
788
+ /**
789
+ * Localization strings for BrowserPermissionDenied component.
790
+ */
791
+ strings?: BrowserPermissionDeniedStrings;
792
+ /**
793
+ * Allows users to pass in an object contains custom CSS styles.
794
+ * @Example
795
+ * ```
796
+ * <BrowserPermissionDenied styles={{ primaryButton: { root: {backgroundColor: 'blue' }}}} />
797
+ * ```
798
+ */
799
+ styles?: BrowserPermissionDeniedStyles;
800
+ }
801
+
802
+ /**
803
+ * @beta
804
+ * Strings for BrowserPermissionDenied component
805
+ */
806
+ export declare interface BrowserPermissionDeniedStrings {
807
+ /**
808
+ * Main button text string.
809
+ */
810
+ primaryButtonText: string;
811
+ /**
812
+ * Main text string.
813
+ */
814
+ primaryText: string;
815
+ /**
816
+ * Subtext string.
817
+ */
818
+ secondaryText: string;
819
+ /**
820
+ * More help link string.
821
+ */
822
+ linkText: string;
823
+ }
824
+
825
+ /**
826
+ * Fluent styles for {@link BrowserPermissionDenied}.
827
+ *
828
+ * @beta
829
+ */
830
+ export declare interface BrowserPermissionDeniedStyles extends BaseCustomStyles {
831
+ /** Styles for the primary button. */
832
+ primaryButton?: IButtonStyles;
833
+ /** Styles for the help troubleshooting link text. */
834
+ troubleshootingLink?: ILinkStyles;
835
+ }
836
+
505
837
  /**
506
838
  * An Adapter interface specific for Azure Communication identity which extends {@link CommonCallAdapter}.
507
839
  *
@@ -1101,7 +1433,7 @@ export declare interface CallAdapterDeviceManagement {
1101
1433
  *
1102
1434
  * @public
1103
1435
  */
1104
- export declare type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator | RoomCallLocator | TeamsMeetingIdLocator;
1436
+ export declare type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator | RoomCallLocator | CallParticipantsLocator | TeamsMeetingIdLocator;
1105
1437
 
1106
1438
  /**
1107
1439
  * {@link CommonCallAdapter} state.
@@ -1367,7 +1699,7 @@ export declare interface CallAgentState {
1367
1699
  */
1368
1700
  export declare interface CallAndChatLocator {
1369
1701
  /** Locator used by {@link createAzureCommunicationCallWithChatAdapter} to locate the call to join */
1370
- callLocator: GroupCallLocator;
1702
+ callLocator: GroupCallLocator | CallParticipantsLocator;
1371
1703
  /** Chat thread ID used by {@link createAzureCommunicationCallWithChatAdapter} to locate the chat thread to join */
1372
1704
  chatThreadId: string;
1373
1705
  }
@@ -1637,6 +1969,43 @@ export declare type CallCompositeOptions = {
1637
1969
  * @defaultValue true
1638
1970
  */
1639
1971
  callControls?: boolean | CallControlOptions;
1972
+ /**
1973
+ * Device permissions check options for your call.
1974
+ * Here you can choose what device permissions you prompt the user for,
1975
+ * as well as what device permissions must be accepted before starting a call.
1976
+ */
1977
+ deviceChecks?: DeviceCheckOptions;
1978
+ /**
1979
+ * Callback you may provide to supply users with further steps to troubleshoot why they have been
1980
+ * unable to grant your site the required permissions for the call.
1981
+ *
1982
+ * @example
1983
+ * ```ts
1984
+ * onPermissionsTroubleshootingClick: () =>
1985
+ * window.open('https://contoso.com/permissions-troubleshooting', '_blank');
1986
+ * ```
1987
+ *
1988
+ * @remarks
1989
+ * if this is not supplied, the composite will not show a 'further troubleshooting' link.
1990
+ */
1991
+ onPermissionsTroubleshootingClick?: (permissionsState: {
1992
+ camera: PermissionState;
1993
+ microphone: PermissionState;
1994
+ }) => void;
1995
+ /**
1996
+ * Callback you may provide to supply users with further steps to troubleshoot why they have been
1997
+ * having network issues when connecting to the call.
1998
+ *
1999
+ * @example
2000
+ * ```ts
2001
+ * onNetworkingTroubleShootingClick?: () =>
2002
+ * window.open('https://contoso.com/network-troubleshooting', '_blank');
2003
+ * ```
2004
+ *
2005
+ * @remarks
2006
+ * if this is not supplied, the composite will not show a 'network troubleshooting' link.
2007
+ */
2008
+ onNetworkingTroubleShootingClick?: () => void;
1640
2009
  /**
1641
2010
  * Remote participant video tile menu options
1642
2011
  */
@@ -2891,7 +3260,7 @@ export declare type CallErrors = {
2891
3260
  *
2892
3261
  * @public
2893
3262
  */
2894
- 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.dispose' | 'CallClient.feature' | 'CallClient.getDeviceManager' | 'CallClient.getEnvironmentInfo' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'DeviceManager.startPreheatDevices' | 'DeviceManager.stopPreheatDevices' | 'IncomingCall.accept' | 'IncomingCall.reject' | 'TeamsCall.addParticipant' | 'VideoEffectsFeature.startEffects' | 'CallAgent.handlePushNotification' | 'Call.mutedByOthers' | 'Call.muteAllRemoteParticipants' | 'Call.setConstraints';
3263
+ 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.dispose' | 'CallClient.feature' | 'CallClient.getDeviceManager' | 'CallClient.getEnvironmentInfo' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'DeviceManager.startPreheatDevices' | 'DeviceManager.stopPreheatDevices' | 'IncomingCall.accept' | 'IncomingCall.reject' | 'TeamsCall.addParticipant' | 'VideoEffectsFeature.startEffects' | 'CallAgent.handlePushNotification' | 'Call.admit' | 'Call.rejectParticipant' | 'Call.admitAll' | 'Call.mutedByOthers' | 'Call.muteAllRemoteParticipants' | 'Call.setConstraints';
2895
3264
 
2896
3265
  /**
2897
3266
  * Represents the name of the call feature stream
@@ -3062,6 +3431,23 @@ export declare type CallParticipantListParticipant = ParticipantListParticipant
3062
3431
  mediaAccess?: MediaAccess;
3063
3432
  };
3064
3433
 
3434
+ /**
3435
+ * Locator used by {@link createAzureCommunicationCallAdapter} to call one or more participants
3436
+ *
3437
+ * @remarks
3438
+ * This is currently in beta and only supports calling one Teams User.
3439
+ *
3440
+ * @example
3441
+ * ```
3442
+ * ['8:orgid:ab220efe-5725-4742-9792-9fba7c9ac458']
3443
+ * ```
3444
+ *
3445
+ * @beta
3446
+ */
3447
+ export declare type CallParticipantsLocator = {
3448
+ participantIds: string[];
3449
+ };
3450
+
3065
3451
  /**
3066
3452
  * A {@link React.Context} that stores a {@link @azure/communication-calling#Call}.
3067
3453
  *
@@ -3166,6 +3552,10 @@ export declare interface CallState {
3166
3552
  * Proxy of {@link @azure/communication-calling#RecordingCallFeature}.
3167
3553
  */
3168
3554
  recording: RecordingCallFeature;
3555
+ /**
3556
+ * Proxy of {@link @azure/communication-calling#LocalRecordingCallFeature}.
3557
+ */
3558
+ localRecording: LocalRecordingCallFeatureState;
3169
3559
  /**
3170
3560
  * Proxy of {@link @azure/communication-calling#PPTLiveCallFeature}.
3171
3561
  *
@@ -3226,6 +3616,10 @@ export declare interface CallState {
3226
3616
  * Proxy of {@link @azure/communication-calling#Call.role}.
3227
3617
  */
3228
3618
  role?: ParticipantRole;
3619
+ /**
3620
+ * Proxy of {@link @azure/communication-calling#Call.totalParticipantCount}.
3621
+ */
3622
+ totalParticipantCount?: number;
3229
3623
  /**
3230
3624
  * Transfer state of call
3231
3625
  */
@@ -3245,7 +3639,7 @@ export declare interface CallState {
3245
3639
  /**
3246
3640
  * Proxy of {@link @azure/communication-calling#Call.info}.
3247
3641
  */
3248
- info?: TeamsCallInfo;
3642
+ info?: TeamsCallInfo | CallInfo;
3249
3643
  /**
3250
3644
  * Proxy of {@link @azure/communication-calling#TeamsMeetingAudioConferencingCallFeature}.
3251
3645
  */
@@ -3587,7 +3981,19 @@ export declare interface CallWithChatAdapterManagement {
3587
3981
  *
3588
3982
  * @public
3589
3983
  */
3590
- sendMessage(content: string, options?: SendMessageOptions): Promise<void>;
3984
+ sendMessage(content: string, options?: SendMessageOptions | MessageOptions): Promise<void>;
3985
+ /**
3986
+ * Upload an inline image for a message.
3987
+ *
3988
+ * @beta
3989
+ */
3990
+ uploadImage(image: Blob, imageFilename: string): Promise<UploadChatImageResult>;
3991
+ /**
3992
+ * Delete an inline image for a message.
3993
+ *
3994
+ * @beta
3995
+ */
3996
+ deleteImage(imageId: string): Promise<void>;
3591
3997
  /**
3592
3998
  * Send a read receipt for a message.
3593
3999
  *
@@ -3605,7 +4011,7 @@ export declare interface CallWithChatAdapterManagement {
3605
4011
  *
3606
4012
  * @public
3607
4013
  */
3608
- updateMessage(messageId: string, content: string, options?: Record<string, string>): Promise<void>;
4014
+ updateMessage(messageId: string, content: string, options?: Record<string, string> | MessageOptions): Promise<void>;
3609
4015
  /**
3610
4016
  * Delete a message in the thread.
3611
4017
  *
@@ -4052,6 +4458,49 @@ export declare type CallWithChatCompositeOptions = {
4052
4458
  * If using the boolean values, true will cause default behavior across the whole control bar. False hides the whole control bar.
4053
4459
  */
4054
4460
  callControls?: boolean | CallWithChatControlOptions;
4461
+ /**
4462
+ * Properties for configuring the File Sharing feature.
4463
+ * If undefined, file sharing feature will be disabled.
4464
+ * @beta
4465
+ */
4466
+ attachmentOptions?: AttachmentOptions;
4467
+ /**
4468
+ * Device permissions check options for your call.
4469
+ * Here you can choose what device permissions you prompt the user for,
4470
+ * as well as what device permissions must be accepted before starting a call.
4471
+ */
4472
+ deviceChecks?: DeviceCheckOptions;
4473
+ /**
4474
+ * Callback you may provide to supply users with further steps to troubleshoot why they have been
4475
+ * unable to grant your site the required permissions for the call.
4476
+ *
4477
+ * @example
4478
+ * ```ts
4479
+ * onPermissionsTroubleshootingClick: () =>
4480
+ * window.open('https://contoso.com/permissions-troubleshooting', '_blank');
4481
+ * ```
4482
+ *
4483
+ * @remarks
4484
+ * if this is not supplied, the composite will not show a 'further troubleshooting' link.
4485
+ */
4486
+ onPermissionsTroubleshootingClick?: (permissionsState: {
4487
+ camera: PermissionState;
4488
+ microphone: PermissionState;
4489
+ }) => void;
4490
+ /**
4491
+ * Optional callback to supply users with further troubleshooting steps for network issues
4492
+ * experienced when connecting to a call.
4493
+ *
4494
+ * @example
4495
+ * ```ts
4496
+ * onNetworkingTroubleShootingClick?: () =>
4497
+ * window.open('https://contoso.com/network-troubleshooting', '_blank');
4498
+ * ```
4499
+ *
4500
+ * @remarks
4501
+ * if this is not supplied, the composite will not show a 'network troubleshooting' link.
4502
+ */
4503
+ onNetworkingTroubleShootingClick?: () => void;
4055
4504
  /**
4056
4505
  * Remote participant video tile menu options
4057
4506
  */
@@ -4158,6 +4607,13 @@ export declare type CallWithChatCompositeOptions = {
4158
4607
  */
4159
4608
  hideSpotlightButtons?: boolean;
4160
4609
  };
4610
+ /**
4611
+ * Enables rich text editor for the send and edit boxes
4612
+ * @defaultValue `false`
4613
+ *
4614
+ * @beta
4615
+ */
4616
+ richTextEditor?: boolean;
4161
4617
  /**
4162
4618
  * Options for settings related to joining a call.
4163
4619
  */
@@ -4413,6 +4869,35 @@ export declare interface CallWithChatControlOptions extends CommonCallControlOpt
4413
4869
  */
4414
4870
  export declare type CallWithChatEvent = 'callError' | 'chatError' | 'callEnded' | 'isMutedChanged' | 'callIdChanged' | 'isLocalScreenSharingActiveChanged' | 'displayNameChanged' | 'isSpeakingChanged' | 'callParticipantsJoined' | 'callParticipantsLeft' | 'selectedMicrophoneChanged' | 'selectedSpeakerChanged' | 'isCaptionsActiveChanged' | 'captionsReceived' | 'isCaptionLanguageChanged' | 'isSpokenLanguageChanged' | 'realTimeTextReceived' | 'capabilitiesChanged' | 'spotlightChanged' | 'breakoutRoomsUpdated' | 'messageReceived' | 'messageEdited' | 'messageDeleted' | 'messageSent' | 'messageRead' | 'chatParticipantsAdded' | 'chatParticipantsRemoved' | 'chatInitialized';
4415
4871
 
4872
+ /**
4873
+ * @beta
4874
+ *
4875
+ * Component to allow Contoso to help their end user with their devices should their permissions be blocked
4876
+ * by their browsers settings.
4877
+ */
4878
+ export declare const CameraAndMicrophoneSitePermissions: (props: CameraAndMicrophoneSitePermissionsProps) => JSX.Element;
4879
+
4880
+ /**
4881
+ * @beta
4882
+ * Props for CameraAndMicrophoneSitePermissions component.
4883
+ */
4884
+ export declare interface CameraAndMicrophoneSitePermissionsProps extends CommonSitePermissionsProps {
4885
+ /** Icon name for the camera icon */
4886
+ cameraIconName?: string;
4887
+ /** Icon name for the microphone icon */
4888
+ microphoneIconName?: string;
4889
+ /** Icon name for the central icon between the camera and microphone icons */
4890
+ connectorIconName?: string;
4891
+ /** Strings for use with the {@link CameraAndMicrophoneSitePermissions} */
4892
+ strings?: CameraAndMicrophoneSitePermissionsStrings;
4893
+ }
4894
+
4895
+ /**
4896
+ * @beta
4897
+ * Strings for CameraAndMicrophoneSitePermissions component.
4898
+ */
4899
+ export declare type CameraAndMicrophoneSitePermissionsStrings = SitePermissionsStrings;
4900
+
4416
4901
  /**
4417
4902
  * A button to turn camera on / off.
4418
4903
  *
@@ -4573,6 +5058,31 @@ export declare interface CameraButtonStyles extends ControlBarButtonStyles {
4573
5058
  menuStyles?: Partial<CameraButtonContextualMenuStyles>;
4574
5059
  }
4575
5060
 
5061
+ /**
5062
+ * Component to allow Contoso to help their end user with their devices should their permissions be blocked
5063
+ * by their browsers settings.
5064
+ *
5065
+ * @beta
5066
+ */
5067
+ export declare const CameraSitePermissions: (props: CameraSitePermissionsProps) => JSX.Element;
5068
+
5069
+ /**
5070
+ * @beta
5071
+ * Props for CameraSitePermissions component.
5072
+ */
5073
+ export declare interface CameraSitePermissionsProps extends CommonSitePermissionsProps {
5074
+ /** Icon name for the camera icon */
5075
+ cameraIconName?: string;
5076
+ /** Strings for use with the {@link CameraSitePermissions} */
5077
+ strings?: CameraSitePermissionsStrings;
5078
+ }
5079
+
5080
+ /**
5081
+ * @beta
5082
+ * Strings for CameraSitePermissions component.
5083
+ */
5084
+ export declare type CameraSitePermissionsStrings = SitePermissionsStrings;
5085
+
4576
5086
  /**
4577
5087
  * @public
4578
5088
  * Callback function run when a message edit is cancelled.
@@ -5208,7 +5718,15 @@ export declare interface ChatAdapterThreadManagement {
5208
5718
  * Send a message in the thread.
5209
5719
  * Please note that SendMessageOptions is being deprecated, please use MessageOptions instead.
5210
5720
  */
5211
- sendMessage(content: string, options?: SendMessageOptions): Promise<void>;
5721
+ sendMessage(content: string, options?: SendMessageOptions | MessageOptions): Promise<void>;
5722
+ /**
5723
+ * Upload an inline image for a message.
5724
+ */
5725
+ uploadImage(image: Blob, imageFilename: string): Promise<UploadChatImageResult>;
5726
+ /**
5727
+ * Delete an inline image for a message.
5728
+ */
5729
+ deleteImage(imageId: string): Promise<void>;
5212
5730
  /**
5213
5731
  * Send a read receipt for a message.
5214
5732
  */
@@ -5229,7 +5747,7 @@ export declare interface ChatAdapterThreadManagement {
5229
5747
  * Update a message content.
5230
5748
  * Please note that metadata is being deprecated, please use MessageOptions.metadata instead.
5231
5749
  */
5232
- updateMessage(messageId: string, content: string, options?: Record<string, string>): Promise<void>;
5750
+ updateMessage(messageId: string, content: string, options?: Record<string, string> | MessageOptions): Promise<void>;
5233
5751
  /**
5234
5752
  * Delete a message in the thread.
5235
5753
  */
@@ -5367,6 +5885,7 @@ export declare type ChatCompositeIcons = {
5367
5885
  ParticipantItemOptionsHovered?: JSX.Element;
5368
5886
  SendBoxSend?: JSX.Element;
5369
5887
  SendBoxSendHovered?: JSX.Element;
5888
+ SendBoxAttachFile?: JSX.Element;
5370
5889
  };
5371
5890
 
5372
5891
  /**
@@ -5414,6 +5933,13 @@ export declare type ChatCompositeOptions = {
5414
5933
  * @defaultValue true
5415
5934
  */
5416
5935
  errorBar?: boolean;
5936
+ /**
5937
+ * Show or hide the participant pane. This feature is in beta and not supported on mobile or narrow screen views.
5938
+ * @defaultValue false
5939
+ *
5940
+ * @beta
5941
+ */
5942
+ participantPane?: boolean;
5417
5943
  /**
5418
5944
  * Show or hide the topic at the top of the chat. Hidden if set to `false`
5419
5945
  * @defaultValue true
@@ -5424,6 +5950,19 @@ export declare type ChatCompositeOptions = {
5424
5950
  * When undefined nothing has focus on render
5425
5951
  */
5426
5952
  autoFocus?: 'sendBoxTextField';
5953
+ /**
5954
+ * Properties for configuring the File Sharing feature.
5955
+ * If undefined, file sharing feature will be disabled.
5956
+ * @beta
5957
+ */
5958
+ attachmentOptions?: AttachmentOptions;
5959
+ /**
5960
+ * Enables rich text editor for the send and edit boxes
5961
+ * @defaultValue `false`
5962
+ *
5963
+ * @beta
5964
+ */
5965
+ richTextEditor?: boolean;
5427
5966
  };
5428
5967
 
5429
5968
  /**
@@ -5451,6 +5990,12 @@ export declare interface ChatCompositeProps extends BaseCompositeProps<ChatCompo
5451
5990
  * Flags to enable/disable visual elements of the {@link ChatComposite}.
5452
5991
  */
5453
5992
  options?: ChatCompositeOptions;
5993
+ /**
5994
+ * Optimizes the composite form factor for either desktop or mobile.
5995
+ * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.
5996
+ * @defaultValue 'desktop'
5997
+ */
5998
+ formFactor?: 'desktop' | 'mobile';
5454
5999
  }
5455
6000
 
5456
6001
  /**
@@ -5465,6 +6010,26 @@ export declare interface ChatCompositeStrings {
5465
6010
  * Chat list header text
5466
6011
  */
5467
6012
  chatListHeader: string;
6013
+ /**
6014
+ * Upload Attachment Button text
6015
+ */
6016
+ uploadAttachment: string;
6017
+ /**
6018
+ * Error Message for image data is not provided for image upload
6019
+ */
6020
+ uploadImageDataNotProvided: string;
6021
+ /**
6022
+ * Error Message for upload image is too large
6023
+ */
6024
+ uploadImageIsTooLarge: string;
6025
+ /**
6026
+ * Error Message for unsupported image extension for image upload
6027
+ */
6028
+ uploadImageExtensionIsNotAllowed: string;
6029
+ /**
6030
+ * Error Message for unable to upload image
6031
+ */
6032
+ uploadImageFailed: string;
5468
6033
  }
5469
6034
 
5470
6035
  /**
@@ -5513,7 +6078,7 @@ export declare type ChatErrors = {
5513
6078
  *
5514
6079
  * @public
5515
6080
  */
5516
- 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.updateProperties' | 'ChatThreadClient.updateTopic';
6081
+ 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.updateProperties' | 'ChatThreadClient.updateTopic' | 'ChatThreadClient.uploadImage' | 'ChatThreadClient.deleteImage';
5517
6082
 
5518
6083
  /**
5519
6084
  * Object containing all the handlers required for chat components.
@@ -5524,13 +6089,15 @@ export declare type ChatErrorTarget = 'ChatClient.createChatThread' | 'ChatClien
5524
6089
  * @public
5525
6090
  */
5526
6091
  export declare type ChatHandlers = {
5527
- onSendMessage: (content: string, options?: SendMessageOptions) => Promise<void>;
6092
+ onSendMessage: (content: string, options?: SendMessageOptions | MessageOptions) => Promise<void>;
6093
+ onUploadImage: (image: Blob, imageFilename: string) => Promise<UploadChatImageResult>;
6094
+ onDeleteImage: (imageId: string) => Promise<void>;
5528
6095
  onMessageSeen: (chatMessageId: string) => Promise<void>;
5529
6096
  onTyping: () => Promise<void>;
5530
6097
  onRemoveParticipant: (userId: string) => Promise<void>;
5531
6098
  updateThreadTopicName: (topicName: string) => Promise<void>;
5532
6099
  onLoadPreviousChatMessages: (messagesToLoad: number) => Promise<boolean>;
5533
- onUpdateMessage: (messageId: string, content: string) => Promise<void>;
6100
+ onUpdateMessage: (messageId: string, content: string, options?: MessageOptions) => Promise<void>;
5534
6101
  onDeleteMessage: (messageId: string) => Promise<void>;
5535
6102
  };
5536
6103
 
@@ -5573,6 +6140,12 @@ export declare interface ChatMessage extends MessageCommon {
5573
6140
  attachments?: AttachmentMetadata[];
5574
6141
  }
5575
6142
 
6143
+ /**
6144
+ * @beta
6145
+ * Type of the message content, either 'text' or 'html'.
6146
+ */
6147
+ export declare type ChatMessageType = 'text' | 'html';
6148
+
5576
6149
  /**
5577
6150
  * An extension to {@link @azure/communication-chat#ChatMessage} that stores
5578
6151
  * client-side only metadata for chat messages.
@@ -5691,6 +6264,8 @@ export declare type ChatThreadClientState = {
5691
6264
  */
5692
6265
  export declare type ChatThreadProperties = {
5693
6266
  topic?: string;
6267
+ createdBy?: CommunicationIdentifierKind;
6268
+ messagingPolicy?: MessagingPolicy;
5694
6269
  };
5695
6270
 
5696
6271
  /**
@@ -5962,6 +6537,7 @@ export declare interface CommonCallingHandlers {
5962
6537
  onSendDtmfTone: (dtmfTone: DtmfTone_2) => Promise<void>;
5963
6538
  onRemoveParticipant(userId: string): Promise<void>;
5964
6539
  onRemoveParticipant(participant: CommunicationIdentifier): Promise<void>;
6540
+ askDevicePermission: (constrain: PermissionConstraints) => Promise<void>;
5965
6541
  onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions) => void;
5966
6542
  onAcceptCall: (incomingCallId: string, useVideo?: boolean) => Promise<void>;
5967
6543
  onRejectCall: (incomingCallId: string) => Promise<void>;
@@ -6048,6 +6624,39 @@ export declare type CommonProperties<A, B> = {
6048
6624
  [P in keyof A & keyof B]: A[P] extends B[P] ? P : never;
6049
6625
  }[keyof A & keyof B];
6050
6626
 
6627
+ /**
6628
+ * @beta
6629
+ * Props for SitePermissions components.
6630
+ */
6631
+ export declare interface CommonSitePermissionsProps {
6632
+ /**
6633
+ * Name of application calling experience is in.
6634
+ */
6635
+ appName: string;
6636
+ /**
6637
+ * Kind of the Site Permissions component.
6638
+ */
6639
+ kind: 'request' | 'denied' | 'check';
6640
+ /**
6641
+ * Type of the browser used, the Site permission component will show different guidance text based on the browser type
6642
+ */
6643
+ browserHint?: 'safari' | 'unset';
6644
+ /**
6645
+ * Action to be taken by the more help link. Possible to send to external page or show other modal.
6646
+ * If this is not provided the button will not be shown.
6647
+ */
6648
+ onTroubleshootingClick?: () => void;
6649
+ /**
6650
+ * Action that is taken when the user clicks the continue anyway button.
6651
+ * If this is not provided the button will not be shown.
6652
+ */
6653
+ onContinueAnywayClick?: () => void;
6654
+ /**
6655
+ * Styles for SitePermissions component.
6656
+ */
6657
+ styles?: SitePermissionsStyles;
6658
+ }
6659
+
6051
6660
  /**
6052
6661
  * A Chat or Calling participant's state, as reflected in the UI.
6053
6662
  *
@@ -6245,6 +6854,11 @@ export declare type ComponentIcons = Record<keyof typeof DEFAULT_COMPONENT_ICONS
6245
6854
  export declare interface ComponentLocale {
6246
6855
  /** Strings for components */
6247
6856
  strings: ComponentStrings;
6857
+ /**
6858
+ * Optional function to provide customized date format.
6859
+ * @beta
6860
+ */
6861
+ onDisplayDateTimeString?: (messageDate: Date) => string;
6248
6862
  }
6249
6863
 
6250
6864
  /**
@@ -6294,6 +6908,10 @@ export declare interface ComponentStrings {
6294
6908
  typingIndicator: TypingIndicatorStrings;
6295
6909
  /** Strings for SendBox */
6296
6910
  sendBox: SendBoxStrings;
6911
+ /** Strings for RichTextSendBox */
6912
+ richTextSendBox: RichTextSendBoxStrings;
6913
+ /** Strings for MentionPopover */
6914
+ mentionPopover: MentionPopoverStrings;
6297
6915
  /** Strings for ImageOverlay */
6298
6916
  imageOverlay: ImageOverlayStrings;
6299
6917
  /** Strings for MessageStatusIndicator */
@@ -6310,10 +6928,40 @@ export declare interface ComponentStrings {
6310
6928
  videoTile: VideoTileStrings;
6311
6929
  /** Strings for HoldButton */
6312
6930
  holdButton: HoldButtonStrings;
6931
+ /** Strings for a site's permission request prompt */
6932
+ CameraAndMicrophoneSitePermissionsRequest: SitePermissionsStrings;
6933
+ /** Strings for a site's permission request prompt */
6934
+ CameraSitePermissionsRequest: SitePermissionsStrings;
6935
+ /** Strings for a site's permission request prompt */
6936
+ MicrophoneSitePermissionsRequest: SitePermissionsStrings;
6937
+ /** Strings for a site's permission generic checking prompt */
6938
+ CameraAndMicrophoneSitePermissionsCheck: SitePermissionsStrings;
6939
+ /** Strings for a site's permission generic checking prompt */
6940
+ CameraSitePermissionsCheck: SitePermissionsStrings;
6941
+ /** Strings for a site's permission generic checking prompt */
6942
+ MicrophoneSitePermissionsCheck: SitePermissionsStrings;
6943
+ /** Strings for a site's permission denied prompt */
6944
+ CameraAndMicrophoneSitePermissionsDenied: SitePermissionsStrings;
6945
+ /** Strings for a site's permission denied prompt for safari browsers*/
6946
+ CameraAndMicrophoneSitePermissionsDeniedSafari: SitePermissionsStrings;
6947
+ /** Strings for a site's permission denied prompt */
6948
+ CameraSitePermissionsDenied: SitePermissionsStrings;
6949
+ /** Strings for a site's permission denied prompt */
6950
+ MicrophoneSitePermissionsDenied: SitePermissionsStrings;
6951
+ /** Strings for a site's permission denied prompt for safari browsers*/
6952
+ CameraSitePermissionsDeniedSafari: SitePermissionsStrings;
6953
+ /** Strings for a site's permission denied prompt for safari browsers*/
6954
+ MicrophoneSitePermissionsDeniedSafari: SitePermissionsStrings;
6955
+ /** Strings for BrowserPemissionDenied */
6956
+ BrowserPermissionDenied: BrowserPermissionDeniedStrings;
6957
+ /** Strings for BrowserPemissionDeniedIOS */
6958
+ BrowserPermissionDeniedIOS: BrowserPermissionDeniedIOSStrings;
6313
6959
  /**
6314
6960
  * Strings for the VerticalGallery.
6315
6961
  */
6316
6962
  verticalGallery: VerticalGalleryStrings;
6963
+ /** Strings for the participant list component */
6964
+ ParticipantList: ParticipantListStrings;
6317
6965
  /** Strings for the MeetingConferencePhoneInfoModal */
6318
6966
  meetingConferencePhoneInfo: MeetingConferencePhoneInfoModalStrings;
6319
6967
  IncomingCallNotification: IncomingCallNotificationStrings;
@@ -6888,7 +7536,7 @@ export declare const createStatefulChatClient: (args: StatefulChatClientArgs, op
6888
7536
  /**
6889
7537
  * @public
6890
7538
  */
6891
- export declare const createTeamsCallAdapter: (args: TeamsCallAdapterArgs) => Promise<TeamsCallAdapter>;
7539
+ export declare const createTeamsCallAdapter: (args: TeamsCallAdapterArgs | TeamsOutboundCallAdapterArgs) => Promise<TeamsCallAdapter>;
6892
7540
 
6893
7541
  /**
6894
7542
  * Create a {@link TeamsCallAdapter} using the provided {@link StatefulCallClient}.
@@ -6898,7 +7546,7 @@ export declare const createTeamsCallAdapter: (args: TeamsCallAdapterArgs) => Pro
6898
7546
  *
6899
7547
  * @public
6900
7548
  */
6901
- export declare const createTeamsCallAdapterFromClient: (callClient: StatefulCallClient, callAgent: TeamsCallAgent, locator: CallAdapterLocator, options?: TeamsAdapterOptions) => Promise<TeamsCallAdapter>;
7549
+ export declare const createTeamsCallAdapterFromClient: (callClient: StatefulCallClient, callAgent: TeamsCallAgent, locator: CallAdapterLocator | StartTeamsCallIdentifier[], options?: TeamsAdapterOptions) => Promise<TeamsCallAdapter>;
6902
7550
 
6903
7551
  /**
6904
7552
  * Object returned after creating a local or remote VideoStream.
@@ -7139,7 +7787,11 @@ export declare const DEFAULT_COMPONENT_ICONS: {
7139
7787
  RaiseHandContextualMenuItem: React_2.JSX.Element;
7140
7788
  LowerHandContextualMenuItem: React_2.JSX.Element;
7141
7789
  ReactionButtonIcon: React_2.JSX.Element;
7790
+ CancelAttachmentUpload: React_2.JSX.Element;
7791
+ DownloadAttachment: React_2.JSX.Element;
7142
7792
  OpenAttachment: React_2.JSX.Element;
7793
+ AttachmentMoreMenu: React_2.JSX.Element;
7794
+ DataLossPreventionProhibited: React_2.JSX.Element;
7143
7795
  EditBoxCancel: React_2.JSX.Element;
7144
7796
  EditBoxSubmit: React_2.JSX.Element;
7145
7797
  ErrorBarCallCameraAccessDenied: React_2.JSX.Element;
@@ -7191,6 +7843,12 @@ export declare const DEFAULT_COMPONENT_ICONS: {
7191
7843
  VideoTileMicOff: React_2.JSX.Element;
7192
7844
  VideoTileCameraOff: React_2.JSX.Element;
7193
7845
  DialpadBackspace: React_2.JSX.Element;
7846
+ SitePermissionsSparkle: React_2.JSX.Element;
7847
+ SitePermissionCamera: React_2.JSX.Element;
7848
+ SitePermissionMic: React_2.JSX.Element;
7849
+ SitePermissionCameraDenied: React_2.JSX.Element;
7850
+ SitePermissionMicDenied: React_2.JSX.Element;
7851
+ BrowserPermissionDeniedError: React_2.JSX.Element;
7194
7852
  VideoTilePinned: React_2.JSX.Element;
7195
7853
  ParticipantItemPinned: React_2.JSX.Element;
7196
7854
  VideoTileMoreOptions: React_2.JSX.Element;
@@ -7220,6 +7878,20 @@ export declare const DEFAULT_COMPONENT_ICONS: {
7220
7878
  StartSpotlightContextualMenuItem: React_2.JSX.Element;
7221
7879
  StopSpotlightContextualMenuItem: React_2.JSX.Element;
7222
7880
  VideoTileSpotlighted: React_2.JSX.Element;
7881
+ RichTextBoldButtonIcon: React_2.JSX.Element;
7882
+ RichTextItalicButtonIcon: React_2.JSX.Element;
7883
+ RichTextUnderlineButtonIcon: React_2.JSX.Element;
7884
+ RichTextBulletListButtonIcon: React_2.JSX.Element;
7885
+ RichTextNumberListButtonIcon: React_2.JSX.Element;
7886
+ RichTextIndentDecreaseButtonIcon: React_2.JSX.Element;
7887
+ RichTextIndentIncreaseButtonIcon: React_2.JSX.Element;
7888
+ RichTextDividerIcon: React_2.JSX.Element;
7889
+ RichTextEditorButtonIcon: React_2.JSX.Element;
7890
+ RichTextEditorButtonIconFilled: React_2.JSX.Element;
7891
+ RichTextInsertTableRegularIcon: React_2.JSX.Element;
7892
+ RichTextInsertTableFilledIcon: React_2.JSX.Element;
7893
+ RichTextTableInsertMenuIcon: React_2.JSX.Element;
7894
+ RichTextTableDeleteMenuIcon: React_2.JSX.Element;
7223
7895
  ContextualMenuMicMutedIcon: React_2.JSX.Element;
7224
7896
  IncomingCallNotificationRejectIcon: React_2.JSX.Element;
7225
7897
  IncomingCallNotificationAcceptIcon: React_2.JSX.Element;
@@ -7248,6 +7920,7 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
7248
7920
  ParticipantItemOptionsHovered: JSX.Element;
7249
7921
  SendBoxSend: JSX.Element;
7250
7922
  SendBoxSendHovered: JSX.Element;
7923
+ SendBoxAttachFile?: JSX.Element | undefined;
7251
7924
  ControlBarPeopleButton?: JSX.Element | undefined;
7252
7925
  ControlButtonCameraOff: JSX.Element;
7253
7926
  ControlButtonCameraOn: JSX.Element;
@@ -7338,10 +8011,13 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
7338
8011
  MoreDrawerSelectedMicrophone?: JSX.Element | undefined;
7339
8012
  MoreDrawerSelectedSpeaker?: JSX.Element | undefined;
7340
8013
  MoreDrawerSpeakers?: JSX.Element | undefined;
7341
- SendBoxAttachFile?: JSX.Element | undefined;
7342
8014
  ChatMessageOptions: React_2.JSX.Element;
7343
8015
  ControlButtonParticipantsContextualMenuItem: React_2.JSX.Element;
8016
+ CancelAttachmentUpload: React_2.JSX.Element;
8017
+ DownloadAttachment: React_2.JSX.Element;
7344
8018
  OpenAttachment: React_2.JSX.Element;
8019
+ AttachmentMoreMenu: React_2.JSX.Element;
8020
+ DataLossPreventionProhibited: React_2.JSX.Element;
7345
8021
  ErrorBarCallVideoRecoveredBySystem: React_2.JSX.Element;
7346
8022
  ErrorBarCallVideoStoppedBySystem: React_2.JSX.Element;
7347
8023
  ErrorBarMutedByRemoteParticipant: React_2.JSX.Element;
@@ -7361,6 +8037,12 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
7361
8037
  ResumeCall: React_2.JSX.Element;
7362
8038
  VideoTileCameraOff: React_2.JSX.Element;
7363
8039
  DialpadBackspace: React_2.JSX.Element;
8040
+ SitePermissionsSparkle: React_2.JSX.Element;
8041
+ SitePermissionCamera: React_2.JSX.Element;
8042
+ SitePermissionMic: React_2.JSX.Element;
8043
+ SitePermissionCameraDenied: React_2.JSX.Element;
8044
+ SitePermissionMicDenied: React_2.JSX.Element;
8045
+ BrowserPermissionDeniedError: React_2.JSX.Element;
7364
8046
  VideoTilePinned: React_2.JSX.Element;
7365
8047
  ParticipantItemPinned: React_2.JSX.Element;
7366
8048
  VideoTileMoreOptions: React_2.JSX.Element;
@@ -7390,6 +8072,20 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
7390
8072
  StartSpotlightContextualMenuItem: React_2.JSX.Element;
7391
8073
  StopSpotlightContextualMenuItem: React_2.JSX.Element;
7392
8074
  VideoTileSpotlighted: React_2.JSX.Element;
8075
+ RichTextBoldButtonIcon: React_2.JSX.Element;
8076
+ RichTextItalicButtonIcon: React_2.JSX.Element;
8077
+ RichTextUnderlineButtonIcon: React_2.JSX.Element;
8078
+ RichTextBulletListButtonIcon: React_2.JSX.Element;
8079
+ RichTextNumberListButtonIcon: React_2.JSX.Element;
8080
+ RichTextIndentDecreaseButtonIcon: React_2.JSX.Element;
8081
+ RichTextIndentIncreaseButtonIcon: React_2.JSX.Element;
8082
+ RichTextDividerIcon: React_2.JSX.Element;
8083
+ RichTextEditorButtonIcon: React_2.JSX.Element;
8084
+ RichTextEditorButtonIconFilled: React_2.JSX.Element;
8085
+ RichTextInsertTableRegularIcon: React_2.JSX.Element;
8086
+ RichTextInsertTableFilledIcon: React_2.JSX.Element;
8087
+ RichTextTableInsertMenuIcon: React_2.JSX.Element;
8088
+ RichTextTableDeleteMenuIcon: React_2.JSX.Element;
7393
8089
  ContextualMenuMicMutedIcon: React_2.JSX.Element;
7394
8090
  IncomingCallNotificationRejectIcon: React_2.JSX.Element;
7395
8091
  IncomingCallNotificationAcceptIcon: React_2.JSX.Element;
@@ -7400,6 +8096,36 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
7400
8096
  MinimizeIcon: React_2.JSX.Element;
7401
8097
  };
7402
8098
 
8099
+ /**
8100
+ * @beta
8101
+ *
8102
+ * The default menu action for downloading attachments. This action will open the attachment's URL in a new tab.
8103
+ */
8104
+ export declare const defaultAttachmentMenuAction: AttachmentMenuAction;
8105
+
8106
+ /**
8107
+ * Device Checks.
8108
+ * Choose whether or not to block starting a call depending on camera and microphone permission options.
8109
+ *
8110
+ * @beta
8111
+ */
8112
+ export declare interface DeviceCheckOptions {
8113
+ /**
8114
+ * Camera Permission prompts for your call.
8115
+ * 'required' - requires the permission to be allowed before permitting the user join the call.
8116
+ * 'optional' - permission can be disallowed and the user is still permitted to join the call.
8117
+ * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.
8118
+ */
8119
+ camera: 'required' | 'optional' | 'doNotPrompt';
8120
+ /**
8121
+ * Microphone permission prompts for your call.
8122
+ * 'required' - requires the permission to be allowed before permitting the user join the call.
8123
+ * 'optional' - permission can be disallowed and the user is still permitted to join the call.
8124
+ * 'doNotPrompt' - permission is not required and the user is not prompted to allow the permission.
8125
+ */
8126
+ microphone: 'required' | 'optional' | 'doNotPrompt';
8127
+ }
8128
+
7403
8129
  /**
7404
8130
  * This type is meant to encapsulate all the state inside {@link @azure/communication-calling#DeviceManager}. For
7405
8131
  * optional parameters they may not be available until permission is granted by the user. The cameras, microphones,
@@ -8084,7 +8810,7 @@ export declare const getCallingSelector: <Component extends (props: any) => JSX.
8084
8810
  *
8085
8811
  * @public
8086
8812
  */
8087
- export declare type GetChatSelector<Component extends (props: any) => JSX.Element | undefined> = AreEqual<Component, typeof SendBox> extends true ? SendBoxSelector : AreEqual<Component, typeof MessageThread> extends true ? MessageThreadSelector : AreEqual<Component, typeof TypingIndicator> extends true ? TypingIndicatorSelector : AreEqual<Component, typeof ParticipantList> extends true ? ChatParticipantListSelector : AreEqual<Component, typeof ErrorBar> extends true ? ChatErrorBarSelector : undefined;
8813
+ export declare type GetChatSelector<Component extends (props: any) => JSX.Element | undefined> = AreEqual<Component, typeof SendBox> extends true ? SendBoxSelector : AreEqual<Component, typeof RichTextSendBox> extends true ? SendBoxSelector : AreEqual<Component, typeof MessageThread> extends true ? MessageThreadSelector : AreEqual<Component, typeof TypingIndicator> extends true ? TypingIndicatorSelector : AreEqual<Component, typeof ParticipantList> extends true ? ChatParticipantListSelector : AreEqual<Component, typeof ErrorBar> extends true ? ChatErrorBarSelector : undefined;
8088
8814
 
8089
8815
  /**
8090
8816
  * Get the selector for a specified component.
@@ -8270,6 +8996,10 @@ export declare interface _Identifiers {
8270
8996
  verticalGalleryVideoTile: string;
8271
8997
  /** `data-ui-id` value for `VerticalGallery` Component's page counter */
8272
8998
  verticalGalleryPageCounter: string;
8999
+ /** `data-ui-id` value for `MentionPopover` Component's suggestion list */
9000
+ mentionSuggestionList: string;
9001
+ /** `data-ui-id` value for `MentionPopover` Component's suggestion list item */
9002
+ mentionSuggestionItem: string;
8273
9003
  }
8274
9004
 
8275
9005
  /**
@@ -8335,6 +9065,13 @@ export declare interface ImageOverlayStrings {
8335
9065
  overlayVisibleMessage: string;
8336
9066
  }
8337
9067
 
9068
+ /**
9069
+ * Preset dark theme for the ImageOverlay component.
9070
+ *
9071
+ * @public
9072
+ */
9073
+ export declare const imageOverlayTheme: PartialTheme;
9074
+
8338
9075
  /**
8339
9076
  * @public
8340
9077
  * This contains a readonly array that returns all the active `incomingCalls`.
@@ -8788,6 +9525,28 @@ export declare type LocalizationProviderProps = {
8788
9525
  children: React_2.ReactNode;
8789
9526
  };
8790
9527
 
9528
+ /**
9529
+ * State only version of {@link @azure/communication-calling#LocalRecordingCallFeature}. {@link StatefulCallClient} will
9530
+ * automatically listen for local recording state of the call and update the state exposed by {@link StatefulCallClient} accordingly.
9531
+ *
9532
+ * @beta
9533
+ */
9534
+ export declare interface LocalRecordingCallFeatureState {
9535
+ /**
9536
+ * Proxy of {@link @azure/communication-calling#LocalRecordingCallFeature.isRecordingActive}.
9537
+ */
9538
+ isLocalRecordingActive: boolean;
9539
+ /**
9540
+ * Contains list of information of started recordings
9541
+ * Proxy of {@link @azure/communication-calling#LocalRecordingCallFeature.recordings}.
9542
+ */
9543
+ activeLocalRecordings?: LocalRecordingInfo[];
9544
+ /**
9545
+ * Contains list of information of stopped recordings
9546
+ */
9547
+ lastStoppedLocalRecording?: LocalRecordingInfo[];
9548
+ }
9549
+
8791
9550
  /**
8792
9551
  * @public
8793
9552
  */
@@ -8962,6 +9721,76 @@ export declare interface MeetingConferencePhoneInfoModalStrings {
8962
9721
  meetingConferencePhoneInfoModalNoPhoneAvailable: string;
8963
9722
  }
8964
9723
 
9724
+ /**
9725
+ * Mention's state, as reflected in the UI.
9726
+ *
9727
+ * @beta
9728
+ */
9729
+ export declare interface Mention {
9730
+ /** ID of a mention */
9731
+ id: string;
9732
+ /** Display text of a mention */
9733
+ displayText: string;
9734
+ /** Optional React element to render an item icon of a mention suggestion */
9735
+ icon?: JSX.Element;
9736
+ }
9737
+
9738
+ /**
9739
+ * Options to display suggestions in the mention scenario.
9740
+ *
9741
+ * @beta
9742
+ */
9743
+ export declare interface MentionDisplayOptions {
9744
+ /**
9745
+ * Optional callback for customizing the mention renderer in a message thread.
9746
+ */
9747
+ onRenderMention?: (mention: Mention, defaultOnRender: (mention: Mention) => JSX.Element) => JSX.Element;
9748
+ }
9749
+
9750
+ /**
9751
+ * Options to lookup suggestions in the mention scenario.
9752
+ *
9753
+ * @beta
9754
+ */
9755
+ export declare interface MentionLookupOptions {
9756
+ /**
9757
+ * Optional string to set trigger keyword for mention a specific participant.
9758
+ *
9759
+ * @defaultValue `@`
9760
+ */
9761
+ trigger?: string;
9762
+ /**
9763
+ * Optional callback to fetch a list of mention suggestions base on the query.
9764
+ */
9765
+ onQueryUpdated: (query: string) => Promise<Mention[]>;
9766
+ /**
9767
+ * Optional callback to render an item of the mention suggestions list.
9768
+ */
9769
+ onRenderSuggestionItem?: (suggestion: Mention, onSuggestionSelected: (suggestion: Mention) => void, isActive: boolean) => JSX.Element;
9770
+ }
9771
+
9772
+ /**
9773
+ * Options to lookup suggestions and display mentions in the mention scenario.
9774
+ *
9775
+ * @beta
9776
+ */
9777
+ export declare type MentionOptions = {
9778
+ lookupOptions?: MentionLookupOptions;
9779
+ displayOptions?: MentionDisplayOptions;
9780
+ };
9781
+
9782
+ /**
9783
+ * Strings of {@link _MentionPopover} that can be overridden.
9784
+ *
9785
+ * @beta
9786
+ */
9787
+ export declare interface MentionPopoverStrings {
9788
+ /**
9789
+ * Header text for MentionPopover
9790
+ */
9791
+ mentionPopoverHeader: string;
9792
+ }
9793
+
8965
9794
  /**
8966
9795
  * Discriminated union of all messages.
8967
9796
  *
@@ -8969,7 +9798,7 @@ export declare interface MeetingConferencePhoneInfoModalStrings {
8969
9798
  *
8970
9799
  * @public
8971
9800
  */
8972
- export declare type Message = ChatMessage | SystemMessage | CustomMessage;
9801
+ export declare type Message = ChatMessage | SystemMessage | CustomMessage | BlockedMessage;
8973
9802
 
8974
9803
  /**
8975
9804
  * Indicate whether a chat message should be displayed merged with the message before / after it.
@@ -9011,6 +9840,20 @@ export declare type MessageDeletedListener = MessageReceivedListener;
9011
9840
  */
9012
9841
  export declare type MessageEditedListener = MessageReceivedListener;
9013
9842
 
9843
+ /**
9844
+ * @beta
9845
+ * Message option that defines properties that can be set when
9846
+ * sending or updating a chat message.
9847
+ * @property metadata - Metadata that contains additional information about the message to be passed between 2 users.
9848
+ * @property attachments - Attachments that contains file attachments attached to the message.
9849
+ * @property type - Type of the message content, either 'text' or 'html'.
9850
+ */
9851
+ export declare type MessageOptions = {
9852
+ metadata?: Record<string, string>;
9853
+ attachments?: AttachmentMetadata[];
9854
+ type?: ChatMessageType;
9855
+ };
9856
+
9014
9857
  /**
9015
9858
  * Props to render a single message.
9016
9859
  *
@@ -9026,7 +9869,7 @@ export declare type MessageProps = {
9026
9869
  /**
9027
9870
  * Strings from parent MessageThread component
9028
9871
  */
9029
- strings: MessageThreadStrings;
9872
+ strings: MessageThreadStrings & Partial<RichTextStrings>;
9030
9873
  /**
9031
9874
  * Custom CSS styles for chat message container.
9032
9875
  */
@@ -9072,7 +9915,7 @@ export declare type MessageProps = {
9072
9915
  * @param options - message options to be included in the message
9073
9916
  *
9074
9917
  */
9075
- onSendMessage?: (content: string) => Promise<void>;
9918
+ onSendMessage?: (content: string, options?: MessageOptions) => Promise<void>;
9076
9919
  };
9077
9920
 
9078
9921
  /**
@@ -9204,7 +10047,7 @@ export declare type MessageThreadProps = {
9204
10047
  /**
9205
10048
  * Messages to render in message thread. A message can be of type `ChatMessage`, `SystemMessage`, `BlockedMessage` or `CustomMessage`.
9206
10049
  */
9207
- messages: (ChatMessage | SystemMessage | CustomMessage)[];
10050
+ messages: (ChatMessage | SystemMessage | CustomMessage | BlockedMessage)[];
9208
10051
  /**
9209
10052
  * number of participants in the thread
9210
10053
  */
@@ -9285,6 +10128,11 @@ export declare type MessageThreadProps = {
9285
10128
  * `messageRenderer` is not provided for `CustomMessage` and thus only available for `ChatMessage` and `SystemMessage`.
9286
10129
  */
9287
10130
  onRenderMessage?: (messageProps: MessageProps, messageRenderer?: MessageRenderer) => JSX.Element;
10131
+ /**
10132
+ * Optional callback to render attachments in the message component.
10133
+ * @beta
10134
+ */
10135
+ onRenderAttachmentDownloads?: (message: ChatMessage) => JSX.Element;
9288
10136
  /**
9289
10137
  * Optional callback to edit a message.
9290
10138
  *
@@ -9313,7 +10161,7 @@ export declare type MessageThreadProps = {
9313
10161
  * @param options - message options to be included in the message
9314
10162
  *
9315
10163
  */
9316
- onSendMessage?: (content: string) => Promise<void>;
10164
+ onSendMessage?: (content: string, options?: MessageOptions) => Promise<void>;
9317
10165
  /**
9318
10166
  /**
9319
10167
  * Disable editing messages.
@@ -9327,11 +10175,32 @@ export declare type MessageThreadProps = {
9327
10175
  * Optional strings to override in component
9328
10176
  */
9329
10177
  strings?: Partial<MessageThreadStrings>;
10178
+ /**
10179
+ * @beta
10180
+ * Optional attachment options, which defines behvaiour for uploading and downloading attachments.
10181
+ * As this moment, the uploadOptions would be ignored and this option is intended for download only.
10182
+ */
10183
+ attachmentOptions?: AttachmentOptions;
10184
+ /**
10185
+ * Optional function to provide customized date format.
10186
+ * @beta
10187
+ */
10188
+ onDisplayDateTimeString?: (messageDate: Date) => string;
10189
+ /**
10190
+ * Optional props needed to lookup a mention query and display mentions
10191
+ * @beta
10192
+ */
10193
+ mentionOptions?: MentionOptions;
9330
10194
  /**
9331
10195
  * Optional callback called when an inline image is clicked.
9332
10196
  * @beta
9333
10197
  */
9334
10198
  inlineImageOptions?: InlineImageOptions;
10199
+ /**
10200
+ * Options to enable rich text editor for the edit box.
10201
+ * @beta
10202
+ */
10203
+ richTextEditorOptions?: RichTextEditBoxOptions;
9335
10204
  };
9336
10205
 
9337
10206
  /**
@@ -9411,10 +10280,20 @@ export declare interface MessageThreadStrings {
9411
10280
  actionMenuMoreOptions?: string;
9412
10281
  /** Aria label to announce when a message is deleted */
9413
10282
  messageDeletedAnnouncementAriaLabel: string;
10283
+ /** String for download attachment button in attachment card */
10284
+ downloadAttachment: string;
9414
10285
  /** String for open attachment button in attachment card */
9415
10286
  openAttachment: string;
10287
+ /** String for policy violation message removal */
10288
+ blockedWarningText: string;
10289
+ /** String for policy violation message removal details link */
10290
+ blockedWarningLinkText: string;
9416
10291
  /** String for aria text in attachment card group*/
9417
10292
  attachmentCardGroupMessage: string;
10293
+ /**
10294
+ * Error message indicating that one or more image uploads are not complete.
10295
+ */
10296
+ imageUploadsPendingError: string;
9418
10297
  }
9419
10298
 
9420
10299
  /**
@@ -9442,10 +10321,24 @@ export declare interface MessageThreadStyles extends BaseCustomStyles {
9442
10321
  /** Styles for system message container. */
9443
10322
  systemMessageContainer?: ComponentSlotStyle;
9444
10323
  /** Styles for blocked message container. */
10324
+ blockedMessageContainer?: ComponentSlotStyle;
9445
10325
  /** Styles for message status indicator container. */
9446
10326
  messageStatusContainer?: (mine: boolean) => IStyle;
9447
10327
  }
9448
10328
 
10329
+ /**
10330
+ *
10331
+ * Messaging policy of a chat thread.
10332
+ *
10333
+ * @beta
10334
+ */
10335
+ export declare interface MessagingPolicy {
10336
+ /**
10337
+ * Boolean to track whether or not messages are restricted to only text.
10338
+ * */
10339
+ textOnlyChat?: boolean;
10340
+ }
10341
+
9449
10342
  /**
9450
10343
  * A button to turn microphone on / off.
9451
10344
  *
@@ -9638,6 +10531,31 @@ export declare interface MicrophoneButtonStyles extends ControlBarButtonStyles {
9638
10531
  menuStyles?: Partial<MicrophoneButtonContextualMenuStyles>;
9639
10532
  }
9640
10533
 
10534
+ /**
10535
+ * Component to allow Contoso to help their end user with their devices should their permissions be blocked
10536
+ * by their browsers settings.
10537
+ *
10538
+ * @beta
10539
+ */
10540
+ export declare const MicrophoneSitePermissions: (props: MicrophoneSitePermissionsProps) => JSX.Element;
10541
+
10542
+ /**
10543
+ * @beta
10544
+ * Props for MicrophoneSitePermissions component.
10545
+ */
10546
+ export declare interface MicrophoneSitePermissionsProps extends CommonSitePermissionsProps {
10547
+ /** Icon name for the microphone icon */
10548
+ microphoneIconName?: string;
10549
+ /** Strings for use with the {@link MicrophoneSitePermissions} */
10550
+ strings?: MicrophoneSitePermissionsStrings;
10551
+ }
10552
+
10553
+ /**
10554
+ * @beta
10555
+ * Strings for MicrophoneSitePermissions component.
10556
+ */
10557
+ export declare type MicrophoneSitePermissionsStrings = SitePermissionsStrings;
10558
+
9641
10559
  /**
9642
10560
  * Payload for {@link DiagnosticChangedEventListner} where there is a change in a network diagnostic.
9643
10561
  *
@@ -10419,6 +11337,10 @@ export declare type ParticipantListProps = {
10419
11337
  styles?: ParticipantListStyles;
10420
11338
  /** Optional value to determine if the tooltip should be shown for participants or not */
10421
11339
  showParticipantOverflowTooltip?: boolean;
11340
+ /** Total number of people in the call. This number can be larger than the remote participant count. */
11341
+ totalParticipantCount?: number;
11342
+ /** Strings for the participant list */
11343
+ strings?: ParticipantListStrings;
10422
11344
  /** Optional aria-labelledby prop that prefixes each ParticipantItem aria-label */
10423
11345
  participantAriaLabelledBy?: string;
10424
11346
  /** List of pinned participants */
@@ -10433,8 +11355,21 @@ export declare type ParticipantListProps = {
10433
11355
  export declare type ParticipantListSelector = (state: CallClientState, props: CallingBaseSelectorProps) => {
10434
11356
  participants: CallParticipantListParticipant[];
10435
11357
  myUserId: string;
11358
+ totalParticipantCount?: number;
10436
11359
  };
10437
11360
 
11361
+ /**
11362
+ * Strings for the {@link ParticipantList}.
11363
+ *
11364
+ * @beta
11365
+ */
11366
+ export declare interface ParticipantListStrings {
11367
+ /**
11368
+ * String for rendering the count of participants not contained in the displayed participant list
11369
+ */
11370
+ overflowParticipantCount?: string;
11371
+ }
11372
+
10438
11373
  /**
10439
11374
  * Styles for the {@link ParticipantList}.
10440
11375
  *
@@ -11126,6 +12061,15 @@ export declare interface RecordingCallFeature {
11126
12061
  * Proxy of {@link @azure/communication-calling#RecordingCallFeature.isRecordingActive}.
11127
12062
  */
11128
12063
  isRecordingActive: boolean;
12064
+ /**
12065
+ * Contains list of information of started recordings
12066
+ * Proxy of {@link @azure/communication-calling#RecordingCallFeature.recordings}.
12067
+ */
12068
+ activeRecordings?: RecordingInfo[];
12069
+ /**
12070
+ * Contains list of information of stopped recordings
12071
+ */
12072
+ lastStoppedRecording?: RecordingInfo[];
11129
12073
  }
11130
12074
 
11131
12075
  /**
@@ -11268,6 +12212,256 @@ export declare type ResourceFetchResult = {
11268
12212
  error?: Error;
11269
12213
  };
11270
12214
 
12215
+ /**
12216
+ * Options for the rich text editor edit box configuration.
12217
+ *
12218
+ * @beta
12219
+ */
12220
+ export declare interface RichTextEditBoxOptions extends RichTextEditorOptions {
12221
+ /**
12222
+ * Optional callback to handle an inline image that's inserted in the rich text editor.
12223
+ * When not provided, pasting images into rich text editor will be disabled.
12224
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
12225
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name']
12226
+ * @param messageId - the id of the message that the inlineImage belongs to.
12227
+ */
12228
+ onInsertInlineImage?: (imageAttributes: Record<string, string>, messageId: string) => void;
12229
+ /**
12230
+ * Optional callback invoked after inline image is removed from the UI.
12231
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
12232
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name'].
12233
+ * Note that if the src attribute is a local blob url, it has been revoked at this point.
12234
+ * @param messageId - the id of the message that the inlineImage belongs to.
12235
+ */
12236
+ onRemoveInlineImage?: (imageAttributes: Record<string, string>, messageId: string) => void;
12237
+ /**
12238
+ * Optional Record of type {@link AttachmentMetadataInProgress}
12239
+ * to render the errorBar for inline images inserted in the MessageThread's edit boxes when:
12240
+ * - there is an error provided in the messagesInlineImagesWithProgress
12241
+ * - progress is less than 1 when the send button is clicked
12242
+ * - content html string is longer than the max allowed length.
12243
+ * (Note that the id and the url prop of the messagesInlineImagesWithProgress will be used as the id and src attribute of the content html
12244
+ * when calculating the content length, only for the purpose of displaying the content length overflow error.)
12245
+ */
12246
+ messagesInlineImagesWithProgress?: Record<string, AttachmentMetadataInProgress[]>;
12247
+ }
12248
+
12249
+ /**
12250
+ * Options for the rich text editor configuration.
12251
+ *
12252
+ * @beta
12253
+ */
12254
+ export declare interface RichTextEditorOptions {
12255
+ /**
12256
+ * Optional callback to handle paste event.
12257
+ */
12258
+ onPaste?: (event: {
12259
+ content: DocumentFragment;
12260
+ }) => void;
12261
+ }
12262
+
12263
+ /**
12264
+ * A component to render SendBox with Rich Text Editor support.
12265
+ *
12266
+ * @beta
12267
+ */
12268
+ export declare const RichTextSendBox: (props: RichTextSendBoxProps) => JSX.Element;
12269
+
12270
+ /**
12271
+ * Props for {@link RichTextSendBox}.
12272
+ *
12273
+ * @beta
12274
+ */
12275
+ export declare interface RichTextSendBoxProps {
12276
+ /**
12277
+ * Optional boolean to disable text box
12278
+ * @defaultValue false
12279
+ */
12280
+ disabled?: boolean;
12281
+ /**
12282
+ * Optional callback to handle paste event.
12283
+ */
12284
+ onPaste?: (event: {
12285
+ content: DocumentFragment;
12286
+ }) => void;
12287
+ /**
12288
+ * Optional strings to override in component
12289
+ */
12290
+ strings?: Partial<RichTextSendBoxStrings>;
12291
+ /**
12292
+ * Optional text for system message above the text box
12293
+ */
12294
+ systemMessage?: string;
12295
+ /**
12296
+ * Optional array of type {@link AttachmentMetadataInProgress}
12297
+ * to render attachments being uploaded in the SendBox.
12298
+ * @beta
12299
+ */
12300
+ attachments?: AttachmentMetadataInProgress[];
12301
+ /**
12302
+ * enumerable to determine if the input box has focus on render or not.
12303
+ * When undefined nothing has focus on render
12304
+ */
12305
+ autoFocus?: 'sendBoxTextField';
12306
+ /**
12307
+ * Optional callback to remove the attachment upload before sending by clicking on
12308
+ * cancel icon.
12309
+ */
12310
+ onCancelAttachmentUpload?: (attachmentId: string) => void;
12311
+ /**
12312
+ * Optional callback invoked after inline image is removed from the UI.
12313
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
12314
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name'].
12315
+ * Note that if the src attribute is a local blob url, it has been revoked at this point.
12316
+ */
12317
+ onRemoveInlineImage?: (imageAttributes: Record<string, string>) => void;
12318
+ /**
12319
+ * Callback function used when the send button is clicked.
12320
+ */
12321
+ onSendMessage: (content: string, options?: MessageOptions) => Promise<void>;
12322
+ /**
12323
+ * Optional callback called when user is typing
12324
+ */
12325
+ onTyping?: () => Promise<void>;
12326
+ /**
12327
+ * Optional callback to handle an inline image that's inserted in the rich text editor.
12328
+ * When not provided, pasting images into rich text editor will be disabled.
12329
+ * @param imageAttributes - attributes of the image such as id, src, style, etc.
12330
+ * It also contains the image file name which can be accessed through imageAttributes['data-image-file-name']
12331
+ */
12332
+ onInsertInlineImage?: (imageAttributes: Record<string, string>) => void;
12333
+ /**
12334
+ * Optional Array of type {@link AttachmentMetadataInProgress}
12335
+ * to render the errorBar for inline images inserted in the RichTextSendBox when:
12336
+ * - there is an error provided in the inlineImagesWithProgress
12337
+ * - progress is less than 1 when the send button is clicked
12338
+ * - content html string is longer than the max allowed length.
12339
+ * (Note that the id and the url prop of the inlineImagesWithProgress will be used as the id and src attribute of the content html
12340
+ * when calculating the content length, only for the purpose of displaying the content length overflow error.)
12341
+ */
12342
+ inlineImagesWithProgress?: AttachmentMetadataInProgress[];
12343
+ }
12344
+
12345
+ /**
12346
+ * Strings of {@link RichTextSendBox} that can be overridden.
12347
+ *
12348
+ * @beta
12349
+ */
12350
+ export declare interface RichTextSendBoxStrings extends RichTextStrings, SendBoxStrings {
12351
+ }
12352
+
12353
+ /**
12354
+ * Strings of RichText that can be overridden.
12355
+ *
12356
+ * @beta
12357
+ */
12358
+ export declare interface RichTextStrings {
12359
+ /**
12360
+ * Tooltip text for the bold button.
12361
+ */
12362
+ richTextBoldTooltip: string;
12363
+ /**
12364
+ * Tooltip text for the italic button.
12365
+ */
12366
+ richTextItalicTooltip: string;
12367
+ /**
12368
+ * Tooltip text for the underline button.
12369
+ */
12370
+ richTextUnderlineTooltip: string;
12371
+ /**
12372
+ * Tooltip text for the bullet list button.
12373
+ */
12374
+ richTextBulletListTooltip: string;
12375
+ /**
12376
+ * Tooltip text for the number list button.
12377
+ */
12378
+ richTextNumberListTooltip: string;
12379
+ /**
12380
+ * Tooltip text for the increase indent button.
12381
+ */
12382
+ richTextIncreaseIndentTooltip: string;
12383
+ /**
12384
+ * Tooltip text for the decrease indent button.
12385
+ */
12386
+ richTextDecreaseIndentTooltip: string;
12387
+ /**
12388
+ * Tooltip text insert table button.
12389
+ */
12390
+ richTextInsertTableTooltip: string;
12391
+ /**
12392
+ * Tooltip text for the rich text format button button.
12393
+ */
12394
+ richTextFormatButtonTooltip: string;
12395
+ /**
12396
+ * Text for the insert menu item.
12397
+ */
12398
+ richTextInsertRowOrColumnMenu: string;
12399
+ /**
12400
+ * Title for the insert table menu.
12401
+ */
12402
+ richTextInsertTableMenuTitle: string;
12403
+ /**
12404
+ * Text for the insert menu item to insert row above the current selection.
12405
+ */
12406
+ richTextInsertRowAboveMenu: string;
12407
+ /**
12408
+ * Text for the insert menu item to insert row below the current selection.
12409
+ */
12410
+ richTextInsertRowBelowMenu: string;
12411
+ /**
12412
+ * Text for the insert menu item to insert column to the left from the current selection.
12413
+ */
12414
+ richTextInsertColumnLeftMenu: string;
12415
+ /**
12416
+ * Text for the insert menu item to insert column to the right from the current selection.
12417
+ */
12418
+ richTextInsertColumnRightMenu: string;
12419
+ /**
12420
+ * Text for the delete row or column menu.
12421
+ */
12422
+ richTextDeleteRowOrColumnMenu: string;
12423
+ /**
12424
+ * Text for the delete column menu.
12425
+ */
12426
+ richTextDeleteColumnMenu: string;
12427
+ /**
12428
+ * Text for the delete row menu.
12429
+ */
12430
+ richTextDeleteRowMenu: string;
12431
+ /**
12432
+ * Text for the delete table menu.
12433
+ */
12434
+ richTextDeleteTableMenu: string;
12435
+ /**
12436
+ * Text for the rich text toolbar.
12437
+ */
12438
+ richTextToolbarAriaLabel: string;
12439
+ /**
12440
+ * Text for the rich text toolbar more button.
12441
+ */
12442
+ richTextToolbarMoreButtonAriaLabel: string;
12443
+ /**
12444
+ * Text for announcement when a new bulleted list item is added.
12445
+ */
12446
+ richTextNewBulletedListItemAnnouncement: string;
12447
+ /**
12448
+ * Text for announcement when a new numbered list item is added.
12449
+ */
12450
+ richTextNewNumberedListItemAnnouncement: string;
12451
+ /**
12452
+ * Text for announcement when the bulleted list style is applied.
12453
+ */
12454
+ richTextBulletedListAppliedAnnouncement: string;
12455
+ /**
12456
+ * Text for announcement when the numbered list style is applied.
12457
+ */
12458
+ richTextNumberedListAppliedAnnouncement: string;
12459
+ /**
12460
+ * Error message indicating image upload is not complete.
12461
+ */
12462
+ imageUploadsPendingError: string;
12463
+ }
12464
+
11271
12465
  /**
11272
12466
  * A button to start / stop screen sharing.
11273
12467
  *
@@ -11339,6 +12533,42 @@ export declare type Selector = (state: ClientState, props: any) => any;
11339
12533
  */
11340
12534
  export declare const SendBox: (props: SendBoxProps) => JSX.Element;
11341
12535
 
12536
+ /**
12537
+ * @beta
12538
+ * Error to be displayed to the user in an error bar above sendbox.
12539
+ */
12540
+ export declare interface SendBoxErrorBarError {
12541
+ /** Error Message to be displayed */
12542
+ message: string;
12543
+ /**
12544
+ * Unix Timestamp. Preferred generation using `Date.now()`
12545
+ */
12546
+ timestamp: number;
12547
+ /**
12548
+ * ErrorBar type. Defaults to `warning`.
12549
+ */
12550
+ errorBarType?: SendBoxErrorBarType;
12551
+ }
12552
+
12553
+ /**
12554
+ * @beta
12555
+ * Error bar type for {@link SendBoxErrorBarError}
12556
+ */
12557
+ export declare enum SendBoxErrorBarType {
12558
+ /** Info styled MessageBar */
12559
+ info = 0,
12560
+ /** Error styled MessageBar */
12561
+ error = 1,
12562
+ /** Blocked styled MessageBar */
12563
+ blocked = 2,
12564
+ /** SevereWarning styled MessageBar */
12565
+ severeWarning = 3,
12566
+ /** Success styled MessageBar */
12567
+ success = 4,
12568
+ /** Warning styled MessageBar */
12569
+ warning = 5
12570
+ }
12571
+
11342
12572
  /**
11343
12573
  * Props for {@link SendBox}.
11344
12574
  *
@@ -11357,7 +12587,12 @@ export declare interface SendBoxProps {
11357
12587
  /**
11358
12588
  * Optional override behavior on send button click
11359
12589
  */
11360
- onSendMessage?: (content: string) => Promise<void>;
12590
+ onSendMessage?: (content: string, options?: MessageOptions) => Promise<void>;
12591
+ /**
12592
+ * Optional props needed to lookup suggestions in the mention scenario.
12593
+ * @beta
12594
+ */
12595
+ mentionLookupOptions?: MentionLookupOptions;
11361
12596
  /**
11362
12597
  * Optional callback called when user is typing
11363
12598
  */
@@ -11394,6 +12629,25 @@ export declare interface SendBoxProps {
11394
12629
  * When undefined nothing has focus on render
11395
12630
  */
11396
12631
  autoFocus?: 'sendBoxTextField';
12632
+ /**
12633
+ * Optional callback to render uploaded attachments in the SendBox. The sendBox will expand
12634
+ * vertically to accommodate the uploaded attachments. Attachment uploads will
12635
+ * be rendered below the text area in sendBox.
12636
+ * @beta
12637
+ */
12638
+ onRenderAttachmentUploads?: () => JSX.Element;
12639
+ /**
12640
+ * Optional array of type {@link AttachmentMetadataInProgress}
12641
+ * to render attachments being uploaded in the SendBox.
12642
+ * @beta
12643
+ */
12644
+ attachments?: AttachmentMetadataInProgress[];
12645
+ /**
12646
+ * Optional callback to remove the attachment upload before sending by clicking on
12647
+ * cancel icon.
12648
+ * @beta
12649
+ */
12650
+ onCancelAttachmentUpload?: (attachmentId: string) => void;
11397
12651
  }
11398
12652
 
11399
12653
  /**
@@ -11424,6 +12678,30 @@ export declare interface SendBoxStrings {
11424
12678
  * Aria label for send message button
11425
12679
  */
11426
12680
  sendButtonAriaLabel: string;
12681
+ /**
12682
+ * Error message indicating that all attachment uploads are not complete.
12683
+ */
12684
+ attachmentUploadsPendingError: string;
12685
+ /**
12686
+ * Aria label to notify user when focus is on cancel attachment upload button.
12687
+ */
12688
+ removeAttachment: string;
12689
+ /**
12690
+ * Aria label to notify user attachment uploading starts.
12691
+ */
12692
+ uploading: string;
12693
+ /**
12694
+ * Aria label to notify user attachment upload progress.
12695
+ */
12696
+ uploadProgress: string;
12697
+ /**
12698
+ * Aria label to notify user attachment is uploaded.
12699
+ */
12700
+ uploadCompleted: string;
12701
+ /**
12702
+ * Aria label to notify user more attachment action menu.
12703
+ */
12704
+ attachmentMoreMenu: string;
11427
12705
  }
11428
12706
 
11429
12707
  /**
@@ -11444,6 +12722,45 @@ export declare interface SendBoxStylesProps extends BaseCustomStyles {
11444
12722
  systemMessage?: IStyle;
11445
12723
  }
11446
12724
 
12725
+ /**
12726
+ * @beta
12727
+ * Strings for SitePermissions component
12728
+ */
12729
+ export declare type SitePermissionsStrings = {
12730
+ /**
12731
+ * Main text string.
12732
+ */
12733
+ primaryText?: string;
12734
+ /**
12735
+ * Subtext string.
12736
+ */
12737
+ secondaryText?: string;
12738
+ /**
12739
+ * More help link string.
12740
+ */
12741
+ linkText?: string;
12742
+ /**
12743
+ * Primary button text string.
12744
+ */
12745
+ primaryButtonText?: string;
12746
+ /**
12747
+ * Aria label describing the content of the container
12748
+ */
12749
+ ariaLabel?: string;
12750
+ };
12751
+
12752
+ /**
12753
+ * Fluent styles for {@link SitePermissionsContainer}.
12754
+ *
12755
+ * @beta
12756
+ */
12757
+ export declare interface SitePermissionsStyles extends BaseCustomStyles {
12758
+ /** Styles for the primary button. */
12759
+ primaryButton?: IButtonStyles;
12760
+ /** Styles for the help troubleshooting link text. */
12761
+ troubleshootingLink?: ILinkStyles;
12762
+ }
12763
+
11447
12764
  /**
11448
12765
  * @public
11449
12766
  * Type for representing a custom sound to use for a calling event
@@ -11763,6 +13080,13 @@ export declare interface StartRealTimeTextButtonStrings {
11763
13080
  tooltipOffContent: string;
11764
13081
  }
11765
13082
 
13083
+ /**
13084
+ * Parameter to start a call using a Teams user identity.
13085
+ *
13086
+ * @beta
13087
+ */
13088
+ export declare type StartTeamsCallIdentifier = MicrosoftTeamsUserIdentifier | PhoneNumberIdentifier | MicrosoftTeamsAppIdentifier | UnknownIdentifier;
13089
+
11766
13090
  /**
11767
13091
  * Defines the methods that allow CallClient {@link @azure/communication-calling#CallClient} to be used statefully.
11768
13092
  * The interface provides access to proxied state and also allows registering a handler for state change events. For
@@ -12220,7 +13544,7 @@ export declare interface TeamsCallAdapter extends CommonCallAdapter {
12220
13544
  * @public
12221
13545
  */
12222
13546
  export declare type TeamsCallAdapterArgs = TeamsCallAdapterArgsCommon & {
12223
- locator: TeamsMeetingLinkLocator | TeamsMeetingIdLocator;
13547
+ locator: TeamsMeetingLinkLocator | CallParticipantsLocator | TeamsMeetingIdLocator;
12224
13548
  };
12225
13549
 
12226
13550
  /**
@@ -12293,6 +13617,17 @@ export declare interface TeamsIncomingCallState {
12293
13617
  endTime?: Date;
12294
13618
  }
12295
13619
 
13620
+ /**
13621
+ * Arguments for creating the Azure Communication Services implementation of {@link TeamsCallAdapter}.
13622
+ *
13623
+ * This is used to create an outbound call scenarios.
13624
+ *
13625
+ * @beta
13626
+ */
13627
+ export declare type TeamsOutboundCallAdapterArgs = TeamsCallAdapterArgsCommon & {
13628
+ targetCallees: StartTeamsCallIdentifier[];
13629
+ };
13630
+
12296
13631
  /**
12297
13632
  * A string representation of a {@link @azure/communication-common#CommunicationIdentifier}.
12298
13633
  *
@@ -12583,7 +13918,21 @@ export declare interface TypingIndicatorStylesProps extends BaseCustomStyles {
12583
13918
  * @public
12584
13919
  * Callback function run when a message is updated.
12585
13920
  */
12586
- export declare type UpdateMessageCallback = (messageId: string, content: string) => Promise<void>;
13921
+ export declare type UpdateMessageCallback = (messageId: string, content: string, options?: MessageOptions) => Promise<void>;
13922
+
13923
+ /**
13924
+ * Result payload for uploading an image.
13925
+ *
13926
+ * @beta
13927
+ */
13928
+ export declare type UploadChatImageResult = {
13929
+ /** Id of the image. */
13930
+ id: string;
13931
+ /** The type of attachment. */
13932
+ attachmentType?: 'image' | 'file' | 'unknown';
13933
+ /** The name including file extension type of the attachment. */
13934
+ name?: string;
13935
+ };
12587
13936
 
12588
13937
  /**
12589
13938
  * A custom React hook to simplify the creation of {@link CallAdapter}.
@@ -12757,7 +14106,7 @@ export declare const useTeamsCall: () => undefined | TeamsCall;
12757
14106
  *
12758
14107
  * @public
12759
14108
  */
12760
- export declare const useTeamsCallAdapter: (args: Partial<TeamsCallAdapterArgs>, afterCreate?: (adapter: TeamsCallAdapter) => Promise<TeamsCallAdapter>, beforeDispose?: (adapter: TeamsCallAdapter) => Promise<void>) => TeamsCallAdapter | undefined;
14109
+ export declare const useTeamsCallAdapter: (args: Partial<TeamsCallAdapterArgs | TeamsOutboundCallAdapterArgs>, afterCreate?: (adapter: TeamsCallAdapter) => Promise<TeamsCallAdapter>, beforeDispose?: (adapter: TeamsCallAdapter) => Promise<void>) => TeamsCallAdapter | undefined;
12761
14110
 
12762
14111
  /**
12763
14112
  * Hook to obtain {@link @azure/communication-calling#TeamsCallAgent} from the provider.