@azure/communication-react 1.14.1-alpha-202403280012 → 1.14.1-alpha-202404020012

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 (202) hide show
  1. package/dist/communication-react.d.ts +230 -250
  2. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-D3ER8Kz9.js → RichTextSendBoxWrapper-BTyywbnH.js} +4 -4
  3. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-D3ER8Kz9.js.map → RichTextSendBoxWrapper-BTyywbnH.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{index-BI61bnOi.js → index-Bj9ORqhl.js} +1176 -951
  5. package/dist/dist-cjs/communication-react/index-Bj9ORqhl.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index.js +4 -3
  7. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  10. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +4 -4
  11. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  12. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +4 -0
  13. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +6 -1
  14. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  15. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.d.ts +1 -1
  16. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js +2 -2
  17. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -1
  18. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +1 -2
  19. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  20. package/dist/dist-esm/communication-react/src/index.d.ts +2 -2
  21. package/dist/dist-esm/communication-react/src/index.js +2 -0
  22. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  23. package/dist/dist-esm/react-components/src/components/AttachmentCard.d.ts +10 -18
  24. package/dist/dist-esm/react-components/src/components/AttachmentCard.js +28 -41
  25. package/dist/dist-esm/react-components/src/components/AttachmentCard.js.map +1 -1
  26. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.d.ts +18 -11
  27. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js +74 -62
  28. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js.map +1 -1
  29. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.d.ts +5 -36
  30. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js +31 -7
  31. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js.map +1 -1
  32. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +4 -8
  33. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  34. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +6 -3
  35. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  36. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +5 -5
  37. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +7 -7
  38. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  39. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +13 -18
  40. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  41. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +9 -9
  42. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  43. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +9 -9
  44. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +10 -10
  45. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  46. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +12 -10
  47. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  48. package/dist/dist-esm/react-components/src/components/EndCallButton.d.ts +10 -1
  49. package/dist/dist-esm/react-components/src/components/EndCallButton.js +93 -51
  50. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  51. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +10 -9
  52. package/dist/dist-esm/react-components/src/components/MessageThread.js +6 -3
  53. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  54. package/dist/dist-esm/react-components/src/components/ReactionButton.d.ts +2 -2
  55. package/dist/dist-esm/react-components/src/components/ReactionButton.js +8 -5
  56. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  57. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +1 -1
  58. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +3 -3
  59. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  60. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +6 -6
  61. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +23 -23
  62. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  63. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +5 -5
  64. package/dist/dist-esm/react-components/src/components/SendBox.js +16 -16
  65. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  66. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.d.ts +8 -0
  67. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +1 -1
  68. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  69. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +8 -4
  70. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -1
  71. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +4 -4
  72. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
  73. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.d.ts +4 -0
  74. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +22 -1
  75. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  76. package/dist/dist-esm/react-components/src/components/index.d.ts +2 -3
  77. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  78. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
  79. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js +1 -1
  80. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  81. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.d.ts +1 -1
  82. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +3 -2
  83. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
  84. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.d.ts +2 -1
  85. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +10 -12
  86. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
  87. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.d.ts +1 -0
  88. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +3 -1
  89. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  90. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +10 -2
  91. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +20 -14
  92. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  93. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +3 -3
  94. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +7 -7
  95. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  96. package/dist/dist-esm/react-components/src/components/utils/common.d.ts +1 -1
  97. package/dist/dist-esm/react-components/src/components/utils/common.js +1 -1
  98. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  99. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  100. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +4 -1
  101. package/dist/dist-esm/react-components/src/theming/icons.d.ts +3 -2
  102. package/dist/dist-esm/react-components/src/theming/icons.js +5 -3
  103. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  104. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +62 -75
  105. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  106. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +24 -0
  107. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  108. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +3 -3
  109. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  110. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +2 -2
  111. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  112. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +0 -7
  113. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
  114. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +2 -0
  115. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +66 -1
  116. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  117. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +1 -1
  118. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +32 -17
  119. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  120. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.d.ts +5 -1
  121. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js +12 -0
  122. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  123. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.d.ts +2 -14
  124. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +14 -10
  125. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  126. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +2 -2
  127. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +3 -3
  128. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  129. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +8 -8
  130. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +21 -21
  131. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  132. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +8 -8
  133. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  134. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +8 -8
  135. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +15 -15
  136. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  137. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +3 -3
  138. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +2 -2
  139. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  140. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +15 -0
  141. package/dist/dist-esm/react-composites/src/composites/ChatComposite/{FileDownloadErrorBar.js → AttachmentDownloadErrorBar.js} +5 -5
  142. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +1 -0
  143. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +2 -2
  144. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -1
  145. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  146. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +2 -34
  147. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +27 -16
  148. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  149. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.d.ts +47 -0
  150. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js +179 -0
  151. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js.map +1 -0
  152. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +9 -9
  153. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +29 -29
  154. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  155. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +4 -4
  156. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  157. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.d.ts +2 -2
  158. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +8 -8
  159. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  160. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/{FileUpload.d.ts → AttachmentUpload.d.ts} +10 -10
  161. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/{FileUpload.js → AttachmentUpload.js} +12 -12
  162. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -0
  163. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +38 -0
  164. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/{FileUploadButton.js → AttachmentUploadButton.js} +11 -9
  165. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -0
  166. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +4 -2
  167. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +2 -2
  168. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  169. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +2 -3
  170. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  171. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.d.ts +29 -0
  172. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.js +12 -0
  173. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.js.map +1 -0
  174. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +2 -2
  175. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +2 -2
  176. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  177. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +24 -8
  178. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  179. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +11 -2
  180. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  181. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js +5 -5
  182. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js.map +1 -1
  183. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +3 -2
  184. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +7 -1
  185. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  186. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +4 -0
  187. package/dist/dist-esm/react-composites/src/composites/common/utils.js +6 -0
  188. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  189. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +6 -0
  190. package/package.json +7 -7
  191. package/dist/dist-cjs/communication-react/index-BI61bnOi.js.map +0 -1
  192. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +0 -15
  193. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js.map +0 -1
  194. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +0 -48
  195. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +0 -160
  196. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +0 -1
  197. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +0 -1
  198. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.d.ts +0 -36
  199. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +0 -1
  200. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +0 -27
  201. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +0 -12
  202. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js.map +0 -1
@@ -74,32 +74,32 @@ export class CallWithChatBackedChatAdapter {
74
74
  throw new Error(`Chat Topics are not supported in CallWithChatComposite.`);
75
75
  });
76
76
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
77
- this.registerActiveFileUploads = (files) => {
78
- return this.callWithChatAdapter.registerActiveFileUploads(files);
77
+ this.registerActiveUploads = (files) => {
78
+ return this.callWithChatAdapter.registerActiveUploads(files);
79
79
  };
80
80
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
81
- this.registerCompletedFileUploads = (metadata) => {
82
- return this.callWithChatAdapter.registerCompletedFileUploads(metadata);
81
+ this.registerCompletedUploads = (metadata) => {
82
+ return this.callWithChatAdapter.registerCompletedUploads(metadata);
83
83
  };
84
84
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
85
- this.clearFileUploads = () => {
86
- this.callWithChatAdapter.clearFileUploads();
85
+ this.clearUploads = () => {
86
+ this.callWithChatAdapter.clearUploads();
87
87
  };
88
88
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
89
- this.cancelFileUpload = (id) => {
90
- this.callWithChatAdapter.cancelFileUpload(id);
89
+ this.cancelUpload = (id) => {
90
+ this.callWithChatAdapter.cancelUpload(id);
91
91
  };
92
92
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
93
- this.updateFileUploadProgress = (id, progress) => {
94
- this.callWithChatAdapter.updateFileUploadProgress(id, progress);
93
+ this.updateUploadProgress = (id, progress) => {
94
+ this.callWithChatAdapter.updateUploadProgress(id, progress);
95
95
  };
96
96
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
97
- this.updateFileUploadErrorMessage = (id, errorMessage) => {
98
- this.callWithChatAdapter.updateFileUploadErrorMessage(id, errorMessage);
97
+ this.updateUploadStatusMessage = (id, errorMessage) => {
98
+ this.callWithChatAdapter.updateUploadStatusMessage(id, errorMessage);
99
99
  };
100
100
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
101
- this.updateFileUploadMetadata = (id, metadata) => {
102
- this.callWithChatAdapter.updateFileUploadMetadata(id, metadata);
101
+ this.updateUploadMetadata = (id, metadata) => {
102
+ this.callWithChatAdapter.updateUploadMetadata(id, metadata);
103
103
  };
104
104
  this.callWithChatAdapter = callWithChatAdapter;
105
105
  }
@@ -122,7 +122,7 @@ function chatAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState)
122
122
  thread: callWithChatAdapterState.chat,
123
123
  latestErrors: callWithChatAdapterState.latestChatErrors,
124
124
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
125
- fileUploads: callWithChatAdapterState.fileUploads
125
+ attachmentUploads: callWithChatAdapterState.attachmentUploads
126
126
  };
127
127
  }
128
128
  //# sourceMappingURL=CallWithChatBackedChatAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CallWithChatBackedChatAdapter.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallWithChatAdapter } from './CallWithChatAdapter';\nimport { ChatAdapter, ChatAdapterState } from '../../ChatComposite';\nimport { ResourceDetails } from '../../ChatComposite';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { FileUploadManager } from '@internal/react-components';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '@internal/react-components';\nimport { ErrorBarStrings } from '@internal/react-components';\nimport { CallWithChatAdapterState } from '../state/CallWithChatAdapterState';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/**\n * Facade around the CallWithChatAdapter to satisfy the chat adapter interface.\n *\n * @private\n */\nexport class CallWithChatBackedChatAdapter implements ChatAdapter {\n private callWithChatAdapter: CallWithChatAdapter;\n\n // For onStateChange we must convert CallWithChat state to chat state. This involves creating a new handler to be passed into the onStateChange.\n // In order to unsubscribe the handler when offStateChange is called we must have a mapping of the original handler to the newly created handler.\n private eventStore: Map<(state: ChatAdapterState) => void, (state: CallWithChatAdapterState) => void> = new Map();\n\n constructor(callWithChatAdapter: CallWithChatAdapter) {\n this.callWithChatAdapter = callWithChatAdapter;\n }\n\n public fetchInitialData = async (): Promise<void> => await this.callWithChatAdapter.fetchInitialData();\n public sendMessage = async (content: string): Promise<void> => await this.callWithChatAdapter.sendMessage(content);\n public sendReadReceipt = async (chatMessageId: string): Promise<void> =>\n await this.callWithChatAdapter.sendReadReceipt(chatMessageId);\n public sendTypingIndicator = async (): Promise<void> => await this.callWithChatAdapter.sendTypingIndicator();\n public removeParticipant = async (userId: string): Promise<void> =>\n await this.callWithChatAdapter.removeParticipant(userId);\n public loadPreviousChatMessages = async (messagesToLoad: number): Promise<boolean> =>\n await this.callWithChatAdapter.loadPreviousChatMessages(messagesToLoad);\n public dispose = (): void => this.callWithChatAdapter.dispose();\n\n public onStateChange = (handler: (state: ChatAdapterState) => void): void => {\n const convertedHandler = (state: CallWithChatAdapterState): void => {\n handler(chatAdapterStateFromCallWithChatAdapterState(state));\n };\n this.callWithChatAdapter.onStateChange(convertedHandler);\n this.eventStore.set(handler, convertedHandler);\n };\n public offStateChange = (handler: (state: ChatAdapterState) => void): void => {\n const convertedHandler = this.eventStore.get(handler);\n convertedHandler && this.callWithChatAdapter.offStateChange(convertedHandler);\n };\n public getState = (): ChatAdapterState =>\n chatAdapterStateFromCallWithChatAdapterState(this.callWithChatAdapter.getState());\n\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n public on = (event: any, listener: any): void => {\n switch (event) {\n case 'error':\n return this.callWithChatAdapter.on('chatError', listener);\n case 'participantsAdded':\n return this.callWithChatAdapter.on('chatParticipantsAdded', listener);\n case 'participantsRemoved':\n return this.callWithChatAdapter.on('chatParticipantsRemoved', listener);\n default:\n return this.callWithChatAdapter.on(event, listener);\n }\n };\n public off = (event: any, listener: any): void => {\n switch (event) {\n case 'error':\n return this.callWithChatAdapter.off('chatError', listener);\n case 'participantsAdded':\n return this.callWithChatAdapter.off('chatParticipantsAdded', listener);\n case 'participantsRemoved':\n return this.callWithChatAdapter.off('chatParticipantsRemoved', listener);\n default:\n return this.callWithChatAdapter.off(event, listener);\n }\n };\n public updateMessage = async (messageId: string, content: string, metadata?: Record<string, string>): Promise<void> =>\n await this.callWithChatAdapter.updateMessage(messageId, content, metadata);\n public deleteMessage = async (messageId: string): Promise<void> =>\n await this.callWithChatAdapter.deleteMessage(messageId);\n\n public clearErrors = (errorTypes: (keyof ErrorBarStrings)[]): void => {\n throw new Error(`Method not supported in CallWithChatComposite.`);\n };\n\n public setTopic = async (topicName: string): Promise<void> => {\n throw new Error(`Chat Topics are not supported in CallWithChatComposite.`);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public registerActiveFileUploads = (files: File[]): FileUploadManager[] => {\n return this.callWithChatAdapter.registerActiveFileUploads(files);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public registerCompletedFileUploads = (metadata: AttachmentMetadata[]): FileUploadManager[] => {\n return this.callWithChatAdapter.registerCompletedFileUploads(metadata);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public clearFileUploads = (): void => {\n this.callWithChatAdapter.clearFileUploads();\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public cancelFileUpload = (id: string): void => {\n this.callWithChatAdapter.cancelFileUpload(id);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public updateFileUploadProgress = (id: string, progress: number): void => {\n this.callWithChatAdapter.updateFileUploadProgress(id, progress);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public updateFileUploadErrorMessage = (id: string, errorMessage: string): void => {\n this.callWithChatAdapter.updateFileUploadErrorMessage(id, errorMessage);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public updateFileUploadMetadata = (id: string, metadata: AttachmentMetadata): void => {\n this.callWithChatAdapter.updateFileUploadMetadata(id, metadata);\n };\n\n public async downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void> {\n this.callWithChatAdapter.downloadResourceToCache(resourceDetails);\n }\n public removeResourceFromCache(resourceDetails: ResourceDetails): void {\n this.callWithChatAdapter.removeResourceFromCache(resourceDetails);\n }\n}\n\nfunction chatAdapterStateFromCallWithChatAdapterState(\n callWithChatAdapterState: CallWithChatAdapterState\n): ChatAdapterState {\n if (!callWithChatAdapterState.chat) {\n throw new Error('Chat thread state id undefined.');\n }\n\n return {\n userId: callWithChatAdapterState.userId,\n displayName: callWithChatAdapterState.displayName || '',\n thread: callWithChatAdapterState.chat,\n latestErrors: callWithChatAdapterState.latestChatErrors,\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n fileUploads: callWithChatAdapterState.fileUploads\n };\n}\n"]}
1
+ {"version":3,"file":"CallWithChatBackedChatAdapter.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallWithChatAdapter } from './CallWithChatAdapter';\nimport { ChatAdapter, ChatAdapterState } from '../../ChatComposite';\nimport { ResourceDetails } from '../../ChatComposite';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { AttachmentUploadManager } from '@internal/react-components';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '@internal/react-components';\nimport { ErrorBarStrings } from '@internal/react-components';\nimport { CallWithChatAdapterState } from '../state/CallWithChatAdapterState';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n\n/**\n * Facade around the CallWithChatAdapter to satisfy the chat adapter interface.\n *\n * @private\n */\nexport class CallWithChatBackedChatAdapter implements ChatAdapter {\n private callWithChatAdapter: CallWithChatAdapter;\n\n // For onStateChange we must convert CallWithChat state to chat state. This involves creating a new handler to be passed into the onStateChange.\n // In order to unsubscribe the handler when offStateChange is called we must have a mapping of the original handler to the newly created handler.\n private eventStore: Map<(state: ChatAdapterState) => void, (state: CallWithChatAdapterState) => void> = new Map();\n\n constructor(callWithChatAdapter: CallWithChatAdapter) {\n this.callWithChatAdapter = callWithChatAdapter;\n }\n\n public fetchInitialData = async (): Promise<void> => await this.callWithChatAdapter.fetchInitialData();\n public sendMessage = async (content: string): Promise<void> => await this.callWithChatAdapter.sendMessage(content);\n public sendReadReceipt = async (chatMessageId: string): Promise<void> =>\n await this.callWithChatAdapter.sendReadReceipt(chatMessageId);\n public sendTypingIndicator = async (): Promise<void> => await this.callWithChatAdapter.sendTypingIndicator();\n public removeParticipant = async (userId: string): Promise<void> =>\n await this.callWithChatAdapter.removeParticipant(userId);\n public loadPreviousChatMessages = async (messagesToLoad: number): Promise<boolean> =>\n await this.callWithChatAdapter.loadPreviousChatMessages(messagesToLoad);\n public dispose = (): void => this.callWithChatAdapter.dispose();\n\n public onStateChange = (handler: (state: ChatAdapterState) => void): void => {\n const convertedHandler = (state: CallWithChatAdapterState): void => {\n handler(chatAdapterStateFromCallWithChatAdapterState(state));\n };\n this.callWithChatAdapter.onStateChange(convertedHandler);\n this.eventStore.set(handler, convertedHandler);\n };\n public offStateChange = (handler: (state: ChatAdapterState) => void): void => {\n const convertedHandler = this.eventStore.get(handler);\n convertedHandler && this.callWithChatAdapter.offStateChange(convertedHandler);\n };\n public getState = (): ChatAdapterState =>\n chatAdapterStateFromCallWithChatAdapterState(this.callWithChatAdapter.getState());\n\n /* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n public on = (event: any, listener: any): void => {\n switch (event) {\n case 'error':\n return this.callWithChatAdapter.on('chatError', listener);\n case 'participantsAdded':\n return this.callWithChatAdapter.on('chatParticipantsAdded', listener);\n case 'participantsRemoved':\n return this.callWithChatAdapter.on('chatParticipantsRemoved', listener);\n default:\n return this.callWithChatAdapter.on(event, listener);\n }\n };\n public off = (event: any, listener: any): void => {\n switch (event) {\n case 'error':\n return this.callWithChatAdapter.off('chatError', listener);\n case 'participantsAdded':\n return this.callWithChatAdapter.off('chatParticipantsAdded', listener);\n case 'participantsRemoved':\n return this.callWithChatAdapter.off('chatParticipantsRemoved', listener);\n default:\n return this.callWithChatAdapter.off(event, listener);\n }\n };\n public updateMessage = async (messageId: string, content: string, metadata?: Record<string, string>): Promise<void> =>\n await this.callWithChatAdapter.updateMessage(messageId, content, metadata);\n public deleteMessage = async (messageId: string): Promise<void> =>\n await this.callWithChatAdapter.deleteMessage(messageId);\n\n public clearErrors = (errorTypes: (keyof ErrorBarStrings)[]): void => {\n throw new Error(`Method not supported in CallWithChatComposite.`);\n };\n\n public setTopic = async (topicName: string): Promise<void> => {\n throw new Error(`Chat Topics are not supported in CallWithChatComposite.`);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public registerActiveUploads = (files: File[]): AttachmentUploadManager[] => {\n return this.callWithChatAdapter.registerActiveUploads(files);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public registerCompletedUploads = (metadata: AttachmentMetadata[]): AttachmentUploadManager[] => {\n return this.callWithChatAdapter.registerCompletedUploads(metadata);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public clearUploads = (): void => {\n this.callWithChatAdapter.clearUploads();\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public cancelUpload = (id: string): void => {\n this.callWithChatAdapter.cancelUpload(id);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public updateUploadProgress = (id: string, progress: number): void => {\n this.callWithChatAdapter.updateUploadProgress(id, progress);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public updateUploadStatusMessage = (id: string, errorMessage: string): void => {\n this.callWithChatAdapter.updateUploadStatusMessage(id, errorMessage);\n };\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n public updateUploadMetadata = (id: string, metadata: AttachmentMetadata): void => {\n this.callWithChatAdapter.updateUploadMetadata(id, metadata);\n };\n\n public async downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void> {\n this.callWithChatAdapter.downloadResourceToCache(resourceDetails);\n }\n public removeResourceFromCache(resourceDetails: ResourceDetails): void {\n this.callWithChatAdapter.removeResourceFromCache(resourceDetails);\n }\n}\n\nfunction chatAdapterStateFromCallWithChatAdapterState(\n callWithChatAdapterState: CallWithChatAdapterState\n): ChatAdapterState {\n if (!callWithChatAdapterState.chat) {\n throw new Error('Chat thread state id undefined.');\n }\n\n return {\n userId: callWithChatAdapterState.userId,\n displayName: callWithChatAdapterState.displayName || '',\n thread: callWithChatAdapterState.chat,\n latestErrors: callWithChatAdapterState.latestChatErrors,\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n attachmentUploads: callWithChatAdapterState.attachmentUploads\n };\n}\n"]}
@@ -5,7 +5,7 @@ import { CallAdapter, CallAdapterState, CallCompositePage } from '../../CallComp
5
5
  import { VideoBackgroundImage, VideoBackgroundEffect } from '../../CallComposite';
6
6
  import { VideoBackgroundEffectsDependency } from "../../../../../calling-component-bindings/src";
7
7
  import { ChatAdapterState } from '../../ChatComposite';
8
- import { FileUploadsUiState } from '../../ChatComposite';
8
+ import { AttachmentUploadsUiState } from '../../ChatComposite';
9
9
  import { AdapterErrors } from '../../common/adapters';
10
10
  import { EnvironmentInfo } from '@azure/communication-calling';
11
11
  import { ReactionResources } from "../../../../../react-components/src";
@@ -30,11 +30,11 @@ export interface CallWithChatAdapterUiState {
30
30
  /**
31
31
  * Files being uploaded by a user in the current thread.
32
32
  * Should be set to null once the upload is complete.
33
- * Array of type {@link FileUploadsUiState}
33
+ * Array of type {@link AttachmentUploadsUiState}
34
34
  *
35
35
  * @beta
36
36
  */
37
- fileUploads?: FileUploadsUiState;
37
+ attachmentUploads?: AttachmentUploadsUiState;
38
38
  /**
39
39
  * State to track whether the end user has opted in to using a
40
40
  * out of date version of a supported browser. Allows the user
@@ -17,7 +17,7 @@ export function callWithChatAdapterStateFromBackingStates(callAdapter) {
17
17
  latestCallErrors: callAdapterState.latestErrors,
18
18
  latestChatErrors: {},
19
19
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
20
- fileUploads: {},
20
+ attachmentUploads: {},
21
21
  /* @conditional-compile-remove(PSTN-calls) */
22
22
  alternateCallerId: callAdapterState.alternateCallerId,
23
23
  /* @conditional-compile-remove(unsupported-browser) */
@@ -38,7 +38,7 @@ export function callWithChatAdapterStateFromBackingStates(callAdapter) {
38
38
  export function mergeChatAdapterStateIntoCallWithChatAdapterState(existingCallWithChatAdapterState, chatAdapterState) {
39
39
  return Object.assign(Object.assign({}, existingCallWithChatAdapterState), { chat: chatAdapterState.thread, latestChatErrors: chatAdapterState.latestErrors,
40
40
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
41
- fileUploads: chatAdapterState.fileUploads });
41
+ attachmentUploads: chatAdapterState.attachmentUploads });
42
42
  }
43
43
  /**
44
44
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"CallWithChatAdapterState.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAiHlC;;GAEG;AACH,MAAM,UAAU,yCAAyC,CAAC,WAAwB;IAChF,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IAEhD,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,gBAAgB,CAAC,MAAM;QAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,+BAA+B,EAAE,gBAAgB,CAAC,+BAA+B;QACjF,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,gBAAgB,EAAE,EAAE;QACpB,qGAAqG;QACrG,WAAW,EAAE,EAAE;QACf,6CAA6C;QAC7C,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;QACrD,sDAAsD;QACtD,eAAe,EAAE,gBAAgB,CAAC,eAAe;QACjD,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB;QAC7D,8BAA8B,EAAE,gBAAgB,CAAC,8BAA8B;QAC/E,6BAA6B,EAAE,gBAAgB,CAAC,6BAA6B;QAC7E,qDAAqD;QACrD,2CAA2C;QAC3C,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;QACrD,2CAA2C;QAC3C,SAAS,EAAE,gBAAgB,CAAC,SAAS;KACtC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iDAAiD,CAC/D,gCAA0D,EAC1D,gBAAkC;IAElC,uCACK,gCAAgC,KACnC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAC7B,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,qGAAqG;QACrG,WAAW,EAAE,gBAAgB,CAAC,WAAW,IACzC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iDAAiD,CAC/D,gCAA0D,EAC1D,gBAAkC;IAElC,uCACK,gCAAgC,KACnC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW,EACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EACjC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,+BAA+B,EAAE,gBAAgB,CAAC,+BAA+B,EACjF,WAAW,EAAE,gBAAgB,CAAC,WAAW,EACzC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,EAE/C,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB,EAE7D,8BAA8B,EAAE,gBAAgB,CAAC,8BAA8B,EAE/E,6BAA6B,EAAE,gBAAgB,CAAC,6BAA6B,IAC7E;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { CallState, DeviceManagerState } from '@internal/calling-stateful-client';\nimport { ChatThreadClientState } from '@internal/chat-stateful-client';\nimport { CallAdapter, CallAdapterState, CallCompositePage } from '../../CallComposite';\n\nimport { VideoBackgroundImage, VideoBackgroundEffect } from '../../CallComposite';\n\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\nimport { ChatAdapterState } from '../../ChatComposite';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { FileUploadsUiState } from '../../ChatComposite';\nimport { AdapterErrors } from '../../common/adapters';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(reaction) */\nimport { ReactionResources } from '@internal/react-components';\n\n/**\n * UI state pertaining to the {@link CallWithChatComposite}.\n *\n * @public\n */\nexport interface CallWithChatAdapterUiState {\n /**\n * Microphone state before a call has joined.\n *\n * @public\n */\n isLocalPreviewMicrophoneEnabled: boolean;\n /**\n * Current page of the Composite.\n *\n * @public\n */\n page: CallCompositePage;\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n /**\n * Files being uploaded by a user in the current thread.\n * Should be set to null once the upload is complete.\n * Array of type {@link FileUploadsUiState}\n *\n * @beta\n */\n fileUploads?: FileUploadsUiState;\n /* @conditional-compile-remove(unsupported-browser) */\n /**\n * State to track whether the end user has opted in to using a\n * out of date version of a supported browser. Allows the user\n * to start a call in this state.\n *\n * @beta\n */\n unsupportedBrowserVersionsAllowed?: boolean;\n}\n\n/**\n * State from the backend services that drives {@link CallWithChatComposite}.\n *\n * @public\n */\nexport interface CallWithChatClientState {\n /** ID of the call participant using this CallWithChatAdapter. */\n userId: CommunicationIdentifierKind;\n /** Display name of the participant using this CallWithChatAdapter. */\n displayName: string | undefined;\n /** State of the current call. */\n call?: CallState;\n /** State of the current chat. */\n chat?: ChatThreadClientState;\n /** Latest call error encountered for each operation performed via the adapter. */\n latestCallErrors: AdapterErrors;\n /** Latest chat error encountered for each operation performed via the adapter. */\n latestChatErrors: AdapterErrors;\n /** State of available and currently selected devices */\n devices: DeviceManagerState;\n /** State of whether the active call is a Teams interop call */\n isTeamsCall: boolean;\n /* @conditional-compile-remove(PSTN-calls) */\n /** alternateCallerId for PSTN call */\n alternateCallerId?: string | undefined;\n /* @conditional-compile-remove(unsupported-browser) */\n /** Environment information for system adapter is made on */\n environmentInfo?: EnvironmentInfo;\n\n /** Default set of background images for background replacement effect */\n videoBackgroundImages?: VideoBackgroundImage[];\n\n /** Dependency to be injected for video background effects */\n onResolveVideoEffectDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n\n /** State to track the selected video background effect */\n selectedVideoBackgroundEffect?: VideoBackgroundEffect;\n /* @conditional-compile-remove(hide-attendee-name) */\n /** Hide attendee names in teams meeting */\n hideAttendeeNames?: boolean;\n /* @conditional-compile-remove(reaction) */\n /**\n * Reaction resources to render in meetings\n * @beta\n * */\n reactions?: ReactionResources;\n}\n\n/**\n * CallWithChat State is a combination of Stateful Chat and Stateful Calling clients with some\n * state specific to the CallWithChat Composite only.\n *\n * @public\n */\nexport interface CallWithChatAdapterState extends CallWithChatAdapterUiState, CallWithChatClientState {}\n\n/**\n * @private\n */\nexport function callWithChatAdapterStateFromBackingStates(callAdapter: CallAdapter): CallWithChatAdapterState {\n const callAdapterState = callAdapter.getState();\n\n return {\n call: callAdapterState.call,\n chat: undefined,\n userId: callAdapterState.userId,\n page: callAdapterState.page,\n displayName: callAdapterState.displayName,\n devices: callAdapterState.devices,\n isLocalPreviewMicrophoneEnabled: callAdapterState.isLocalPreviewMicrophoneEnabled,\n isTeamsCall: callAdapterState.isTeamsCall,\n latestCallErrors: callAdapterState.latestErrors,\n latestChatErrors: {},\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n fileUploads: {},\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId: callAdapterState.alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo: callAdapterState.environmentInfo,\n videoBackgroundImages: callAdapterState.videoBackgroundImages,\n onResolveVideoEffectDependency: callAdapterState.onResolveVideoEffectDependency,\n selectedVideoBackgroundEffect: callAdapterState.selectedVideoBackgroundEffect,\n /* @conditional-compile-remove(hide-attendee-name) */\n /** Hide attendee names in teams meeting */\n hideAttendeeNames: callAdapterState.hideAttendeeNames,\n /* @conditional-compile-remove(reaction) */\n reactions: callAdapterState.reactions\n };\n}\n\n/**\n * @private\n */\nexport function mergeChatAdapterStateIntoCallWithChatAdapterState(\n existingCallWithChatAdapterState: CallWithChatAdapterState,\n chatAdapterState: ChatAdapterState\n): CallWithChatAdapterState {\n return {\n ...existingCallWithChatAdapterState,\n chat: chatAdapterState.thread,\n latestChatErrors: chatAdapterState.latestErrors,\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n fileUploads: chatAdapterState.fileUploads\n };\n}\n\n/**\n * @private\n */\nexport function mergeCallAdapterStateIntoCallWithChatAdapterState(\n existingCallWithChatAdapterState: CallWithChatAdapterState,\n callAdapterState: CallAdapterState\n): CallWithChatAdapterState {\n return {\n ...existingCallWithChatAdapterState,\n userId: callAdapterState.userId,\n page: callAdapterState.page,\n displayName: callAdapterState.displayName,\n devices: callAdapterState.devices,\n call: callAdapterState.call,\n isLocalPreviewMicrophoneEnabled: callAdapterState.isLocalPreviewMicrophoneEnabled,\n isTeamsCall: callAdapterState.isTeamsCall,\n latestCallErrors: callAdapterState.latestErrors,\n\n videoBackgroundImages: callAdapterState.videoBackgroundImages,\n\n onResolveVideoEffectDependency: callAdapterState.onResolveVideoEffectDependency,\n\n selectedVideoBackgroundEffect: callAdapterState.selectedVideoBackgroundEffect\n };\n}\n"]}
1
+ {"version":3,"file":"CallWithChatAdapterState.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAiHlC;;GAEG;AACH,MAAM,UAAU,yCAAyC,CAAC,WAAwB;IAChF,MAAM,gBAAgB,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IAEhD,OAAO;QACL,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,gBAAgB,CAAC,MAAM;QAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI;QAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO;QACjC,+BAA+B,EAAE,gBAAgB,CAAC,+BAA+B;QACjF,WAAW,EAAE,gBAAgB,CAAC,WAAW;QACzC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,gBAAgB,EAAE,EAAE;QACpB,qGAAqG;QACrG,iBAAiB,EAAE,EAAE;QACrB,6CAA6C;QAC7C,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;QACrD,sDAAsD;QACtD,eAAe,EAAE,gBAAgB,CAAC,eAAe;QACjD,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB;QAC7D,8BAA8B,EAAE,gBAAgB,CAAC,8BAA8B;QAC/E,6BAA6B,EAAE,gBAAgB,CAAC,6BAA6B;QAC7E,qDAAqD;QACrD,2CAA2C;QAC3C,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;QACrD,2CAA2C;QAC3C,SAAS,EAAE,gBAAgB,CAAC,SAAS;KACtC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iDAAiD,CAC/D,gCAA0D,EAC1D,gBAAkC;IAElC,uCACK,gCAAgC,KACnC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAC7B,gBAAgB,EAAE,gBAAgB,CAAC,YAAY;QAC/C,qGAAqG;QACrG,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB,IACrD;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iDAAiD,CAC/D,gCAA0D,EAC1D,gBAAkC;IAElC,uCACK,gCAAgC,KACnC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAC/B,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,WAAW,EAAE,gBAAgB,CAAC,WAAW,EACzC,OAAO,EAAE,gBAAgB,CAAC,OAAO,EACjC,IAAI,EAAE,gBAAgB,CAAC,IAAI,EAC3B,+BAA+B,EAAE,gBAAgB,CAAC,+BAA+B,EACjF,WAAW,EAAE,gBAAgB,CAAC,WAAW,EACzC,gBAAgB,EAAE,gBAAgB,CAAC,YAAY,EAE/C,qBAAqB,EAAE,gBAAgB,CAAC,qBAAqB,EAE7D,8BAA8B,EAAE,gBAAgB,CAAC,8BAA8B,EAE/E,6BAA6B,EAAE,gBAAgB,CAAC,6BAA6B,IAC7E;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\nimport { CallState, DeviceManagerState } from '@internal/calling-stateful-client';\nimport { ChatThreadClientState } from '@internal/chat-stateful-client';\nimport { CallAdapter, CallAdapterState, CallCompositePage } from '../../CallComposite';\n\nimport { VideoBackgroundImage, VideoBackgroundEffect } from '../../CallComposite';\n\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\nimport { ChatAdapterState } from '../../ChatComposite';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { AttachmentUploadsUiState } from '../../ChatComposite';\nimport { AdapterErrors } from '../../common/adapters';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(reaction) */\nimport { ReactionResources } from '@internal/react-components';\n\n/**\n * UI state pertaining to the {@link CallWithChatComposite}.\n *\n * @public\n */\nexport interface CallWithChatAdapterUiState {\n /**\n * Microphone state before a call has joined.\n *\n * @public\n */\n isLocalPreviewMicrophoneEnabled: boolean;\n /**\n * Current page of the Composite.\n *\n * @public\n */\n page: CallCompositePage;\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n /**\n * Files being uploaded by a user in the current thread.\n * Should be set to null once the upload is complete.\n * Array of type {@link AttachmentUploadsUiState}\n *\n * @beta\n */\n attachmentUploads?: AttachmentUploadsUiState;\n /* @conditional-compile-remove(unsupported-browser) */\n /**\n * State to track whether the end user has opted in to using a\n * out of date version of a supported browser. Allows the user\n * to start a call in this state.\n *\n * @beta\n */\n unsupportedBrowserVersionsAllowed?: boolean;\n}\n\n/**\n * State from the backend services that drives {@link CallWithChatComposite}.\n *\n * @public\n */\nexport interface CallWithChatClientState {\n /** ID of the call participant using this CallWithChatAdapter. */\n userId: CommunicationIdentifierKind;\n /** Display name of the participant using this CallWithChatAdapter. */\n displayName: string | undefined;\n /** State of the current call. */\n call?: CallState;\n /** State of the current chat. */\n chat?: ChatThreadClientState;\n /** Latest call error encountered for each operation performed via the adapter. */\n latestCallErrors: AdapterErrors;\n /** Latest chat error encountered for each operation performed via the adapter. */\n latestChatErrors: AdapterErrors;\n /** State of available and currently selected devices */\n devices: DeviceManagerState;\n /** State of whether the active call is a Teams interop call */\n isTeamsCall: boolean;\n /* @conditional-compile-remove(PSTN-calls) */\n /** alternateCallerId for PSTN call */\n alternateCallerId?: string | undefined;\n /* @conditional-compile-remove(unsupported-browser) */\n /** Environment information for system adapter is made on */\n environmentInfo?: EnvironmentInfo;\n\n /** Default set of background images for background replacement effect */\n videoBackgroundImages?: VideoBackgroundImage[];\n\n /** Dependency to be injected for video background effects */\n onResolveVideoEffectDependency?: () => Promise<VideoBackgroundEffectsDependency>;\n\n /** State to track the selected video background effect */\n selectedVideoBackgroundEffect?: VideoBackgroundEffect;\n /* @conditional-compile-remove(hide-attendee-name) */\n /** Hide attendee names in teams meeting */\n hideAttendeeNames?: boolean;\n /* @conditional-compile-remove(reaction) */\n /**\n * Reaction resources to render in meetings\n * @beta\n * */\n reactions?: ReactionResources;\n}\n\n/**\n * CallWithChat State is a combination of Stateful Chat and Stateful Calling clients with some\n * state specific to the CallWithChat Composite only.\n *\n * @public\n */\nexport interface CallWithChatAdapterState extends CallWithChatAdapterUiState, CallWithChatClientState {}\n\n/**\n * @private\n */\nexport function callWithChatAdapterStateFromBackingStates(callAdapter: CallAdapter): CallWithChatAdapterState {\n const callAdapterState = callAdapter.getState();\n\n return {\n call: callAdapterState.call,\n chat: undefined,\n userId: callAdapterState.userId,\n page: callAdapterState.page,\n displayName: callAdapterState.displayName,\n devices: callAdapterState.devices,\n isLocalPreviewMicrophoneEnabled: callAdapterState.isLocalPreviewMicrophoneEnabled,\n isTeamsCall: callAdapterState.isTeamsCall,\n latestCallErrors: callAdapterState.latestErrors,\n latestChatErrors: {},\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n attachmentUploads: {},\n /* @conditional-compile-remove(PSTN-calls) */\n alternateCallerId: callAdapterState.alternateCallerId,\n /* @conditional-compile-remove(unsupported-browser) */\n environmentInfo: callAdapterState.environmentInfo,\n videoBackgroundImages: callAdapterState.videoBackgroundImages,\n onResolveVideoEffectDependency: callAdapterState.onResolveVideoEffectDependency,\n selectedVideoBackgroundEffect: callAdapterState.selectedVideoBackgroundEffect,\n /* @conditional-compile-remove(hide-attendee-name) */\n /** Hide attendee names in teams meeting */\n hideAttendeeNames: callAdapterState.hideAttendeeNames,\n /* @conditional-compile-remove(reaction) */\n reactions: callAdapterState.reactions\n };\n}\n\n/**\n * @private\n */\nexport function mergeChatAdapterStateIntoCallWithChatAdapterState(\n existingCallWithChatAdapterState: CallWithChatAdapterState,\n chatAdapterState: ChatAdapterState\n): CallWithChatAdapterState {\n return {\n ...existingCallWithChatAdapterState,\n chat: chatAdapterState.thread,\n latestChatErrors: chatAdapterState.latestErrors,\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n attachmentUploads: chatAdapterState.attachmentUploads\n };\n}\n\n/**\n * @private\n */\nexport function mergeCallAdapterStateIntoCallWithChatAdapterState(\n existingCallWithChatAdapterState: CallWithChatAdapterState,\n callAdapterState: CallAdapterState\n): CallWithChatAdapterState {\n return {\n ...existingCallWithChatAdapterState,\n userId: callAdapterState.userId,\n page: callAdapterState.page,\n displayName: callAdapterState.displayName,\n devices: callAdapterState.devices,\n call: callAdapterState.call,\n isLocalPreviewMicrophoneEnabled: callAdapterState.isLocalPreviewMicrophoneEnabled,\n isTeamsCall: callAdapterState.isTeamsCall,\n latestCallErrors: callAdapterState.latestErrors,\n\n videoBackgroundImages: callAdapterState.videoBackgroundImages,\n\n onResolveVideoEffectDependency: callAdapterState.onResolveVideoEffectDependency,\n\n selectedVideoBackgroundEffect: callAdapterState.selectedVideoBackgroundEffect\n };\n}\n"]}
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * @private
4
+ */
5
+ export interface AttachmentDownloadErrorBarProps {
6
+ /**callback to dismiss the download error message */
7
+ onDismissDownloadErrorMessage: () => void;
8
+ /** Error message to render */
9
+ attachmentDownloadErrorMessage: string;
10
+ }
11
+ /**
12
+ * @private
13
+ */
14
+ export declare const AttachmentDownloadErrorBar: (props: AttachmentDownloadErrorBarProps) => JSX.Element;
15
+ //# sourceMappingURL=AttachmentDownloadErrorBar.d.ts.map
@@ -5,17 +5,17 @@ import React from 'react';
5
5
  /**
6
6
  * @private
7
7
  */
8
- export const FileDownloadErrorBar = (props) => {
9
- const { fileDownloadErrorMessage, onDismissDownloadErrorMessage } = props;
8
+ export const AttachmentDownloadErrorBar = (props) => {
9
+ const { attachmentDownloadErrorMessage, onDismissDownloadErrorMessage } = props;
10
10
  const messageBarIconProps = { iconName: 'ProtectedDocument' };
11
- if (fileDownloadErrorMessage !== '') {
11
+ if (attachmentDownloadErrorMessage !== '') {
12
12
  return (React.createElement(Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center" },
13
13
  React.createElement(MessageBar, { messageBarType: MessageBarType.warning, onDismiss: () => {
14
14
  onDismissDownloadErrorMessage();
15
- }, messageBarIconProps: messageBarIconProps }, fileDownloadErrorMessage)));
15
+ }, messageBarIconProps: messageBarIconProps }, attachmentDownloadErrorMessage)));
16
16
  }
17
17
  else {
18
18
  return React.createElement(React.Fragment, null);
19
19
  }
20
20
  };
21
- //# sourceMappingURL=FileDownloadErrorBar.js.map
21
+ //# sourceMappingURL=AttachmentDownloadErrorBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttachmentDownloadErrorBar.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAsC,EAAe,EAAE;IAChG,MAAM,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,GAAG,KAAK,CAAC;IAChF,MAAM,mBAAmB,GAAG,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAE9D,IAAI,8BAA8B,KAAK,EAAE,EAAE,CAAC;QAC1C,OAAO,CACL,oBAAC,KAAK,IAAC,UAAU,QAAC,eAAe,EAAC,eAAe,EAAC,aAAa,EAAC,QAAQ;YACtE,oBAAC,UAAU,IACT,cAAc,EAAE,cAAc,CAAC,OAAO,EACtC,SAAS,EAAE,GAAG,EAAE;oBACd,6BAA6B,EAAE,CAAC;gBAClC,CAAC,EACD,mBAAmB,EAAE,mBAAmB,IAEvC,8BAA8B,CACpB,CACP,CACT,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,yCAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { MessageBar, MessageBarType, Stack } from '@fluentui/react';\nimport React from 'react';\n\n/**\n * @private\n */\nexport interface AttachmentDownloadErrorBarProps {\n /**callback to dismiss the download error message */\n onDismissDownloadErrorMessage: () => void;\n /** Error message to render */\n attachmentDownloadErrorMessage: string;\n}\n\n/**\n * @private\n */\nexport const AttachmentDownloadErrorBar = (props: AttachmentDownloadErrorBarProps): JSX.Element => {\n const { attachmentDownloadErrorMessage, onDismissDownloadErrorMessage } = props;\n const messageBarIconProps = { iconName: 'ProtectedDocument' };\n\n if (attachmentDownloadErrorMessage !== '') {\n return (\n <Stack horizontal horizontalAlign=\"space-between\" verticalAlign=\"center\">\n <MessageBar\n messageBarType={MessageBarType.warning}\n onDismiss={() => {\n onDismissDownloadErrorMessage();\n }}\n messageBarIconProps={messageBarIconProps}\n >\n {attachmentDownloadErrorMessage}\n </MessageBar>\n </Stack>\n );\n } else {\n return <></>;\n }\n};\n"]}
@@ -3,7 +3,7 @@ import { CommunicationParticipant, MessageRenderer, MessageProps } from "../../.
3
3
  import { BaseCompositeProps } from '../common/BaseComposite';
4
4
  import { ChatCompositeIcons } from '../common/icons';
5
5
  import { ChatAdapter } from './adapter/ChatAdapter';
6
- import { FileSharingOptions } from './ChatScreen';
6
+ import { AttachmentOptions } from "../../../../react-components/src";
7
7
  /**
8
8
  * Props for {@link ChatComposite}.
9
9
  *
@@ -70,7 +70,7 @@ export type ChatCompositeOptions = {
70
70
  * If undefined, file sharing feature will be disabled.
71
71
  * @beta
72
72
  */
73
- fileSharing?: FileSharingOptions;
73
+ attachmentOptions?: AttachmentOptions;
74
74
  /**
75
75
  * Properties for configuring the richTextEditor feature.
76
76
  * @defaultValue false
@@ -25,6 +25,6 @@ export const ChatComposite = (props) => {
25
25
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
26
26
  formFactor: formFactor, options: options, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onRenderTypingIndicator: onRenderTypingIndicator, onRenderMessage: onRenderMessage, onFetchParticipantMenuItems: onFetchParticipantMenuItems,
27
27
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
28
- fileSharing: options === null || options === void 0 ? void 0 : options.fileSharing })))));
28
+ attachmentOptions: options === null || options === void 0 ? void 0 : options.attachmentOptions })))));
29
29
  };
30
30
  //# sourceMappingURL=ChatComposite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatComposite.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/ChatComposite/ChatComposite.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAsB,MAAM,yBAAyB,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA+F1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAe,EAAE;IACtE,MAAM,EACJ,OAAO,EACP,OAAO,EACP,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC5B,GAAG,KAAK,CAAC;IAEV,qGAAqG;IACrG,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;IAEpD,OAAO,CACL,6BAAK,SAAS,EAAE,wBAAwB;QACtC,oBAAC,YAAY,oBAAK,KAAK;YACrB,oBAAC,mBAAmB,IAAC,OAAO,EAAE,OAAO;gBACnC,oBAAC,UAAU;gBACT,qGAAqG;;oBAArG,qGAAqG;oBACrG,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,wBAAwB,EAAE,wBAAwB,EAClD,uBAAuB,EAAE,uBAAuB,EAChD,eAAe,EAAE,eAAe,EAChC,2BAA2B,EAAE,2BAA2B;oBACxD,qGAAqG;oBACrG,WAAW,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,GACjC,CACkB,CACT,CACX,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommunicationParticipant, MessageRenderer, MessageProps } from '@internal/react-components';\nimport React from 'react';\nimport { BaseProvider, BaseCompositeProps } from '../common/BaseComposite';\nimport { ChatCompositeIcons } from '../common/icons';\nimport { ChatAdapter } from './adapter/ChatAdapter';\nimport { ChatAdapterProvider } from './adapter/ChatAdapterProvider';\nimport { chatScreenContainerStyle } from './styles/Chat.styles';\nimport { ChatScreen } from './ChatScreen';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { FileSharingOptions } from './ChatScreen';\n\n/**\n * Props for {@link ChatComposite}.\n *\n * @public\n */\nexport interface ChatCompositeProps extends BaseCompositeProps<ChatCompositeIcons> {\n /**\n * An adapter provides logic and data to the composite.\n * Composite can also be controlled using the adapter.\n */\n adapter: ChatAdapter;\n /**\n * `(messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element`\n * A callback for customizing the message renderer.\n */\n onRenderMessage?: (messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element;\n /**\n * `(typingUsers: CommunicationParticipant[]) => JSX.Element`\n * A callback for customizing the typing indicator renderer.\n */\n onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;\n /**\n * Flags to enable/disable visual elements of the {@link ChatComposite}.\n */\n options?: ChatCompositeOptions;\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n /**\n * Optimizes the composite form factor for either desktop or mobile.\n * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.\n * @defaultValue 'desktop'\n */\n formFactor?: 'desktop' | 'mobile';\n}\n\n/**\n * Optional features of the {@link ChatComposite}.\n *\n * @public\n */\nexport type ChatCompositeOptions = {\n /**\n * Surface Azure Communication Services backend errors in the UI with {@link @azure/communication-react#ErrorBar}.\n * Hide or show the error bar.\n * @defaultValue true\n */\n errorBar?: boolean;\n /* @conditional-compile-remove(chat-composite-participant-pane) */\n /**\n * Show or hide the participant pane. This feature is in beta and not supported on mobile or narrow screen views.\n * @defaultValue false\n *\n * @beta\n */\n participantPane?: boolean;\n /**\n * Show or hide the topic at the top of the chat. Hidden if set to `false`\n * @defaultValue true\n */\n topic?: boolean;\n /**\n * enumerable to determine if the input box has focus on render or not.\n * When undefined nothing has focus on render\n */\n autoFocus?: 'sendBoxTextField';\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n /**\n * Properties for configuring the File Sharing feature.\n * If undefined, file sharing feature will be disabled.\n * @beta\n */\n fileSharing?: FileSharingOptions;\n\n /* @conditional-compile-remove(rich-text-editor) */\n /**\n * Properties for configuring the richTextEditor feature.\n * @defaultValue false\n *\n * @beta\n */\n richTextEditor?: boolean | RichTextEditorOptions;\n};\n\n/* @conditional-compile-remove(rich-text-editor) */\n/**\n * Options for configuring the rich text editor.\n *\n * @beta\n */\nexport interface RichTextEditorOptions {}\n\n/**\n * A customizable UI composite for the chat experience.\n *\n * @remarks Chat composite min width and height are respectively 17.5rem and 20rem (280px and 320px, with default rem at 16px)\n *\n * @public\n */\nexport const ChatComposite = (props: ChatCompositeProps): JSX.Element => {\n const {\n adapter,\n options,\n onFetchAvatarPersonaData,\n onRenderTypingIndicator,\n onRenderMessage,\n onFetchParticipantMenuItems\n } = props;\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const formFactor = props['formFactor'] || 'desktop';\n\n return (\n <div className={chatScreenContainerStyle}>\n <BaseProvider {...props}>\n <ChatAdapterProvider adapter={adapter}>\n <ChatScreen\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n formFactor={formFactor}\n options={options}\n onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n onRenderTypingIndicator={onRenderTypingIndicator}\n onRenderMessage={onRenderMessage}\n onFetchParticipantMenuItems={onFetchParticipantMenuItems}\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n fileSharing={options?.fileSharing}\n />\n </ChatAdapterProvider>\n </BaseProvider>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"ChatComposite.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/ChatComposite/ChatComposite.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAGlC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAsB,MAAM,yBAAyB,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA+F1C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAe,EAAE;IACtE,MAAM,EACJ,OAAO,EACP,OAAO,EACP,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC5B,GAAG,KAAK,CAAC;IAEV,qGAAqG;IACrG,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC;IAEpD,OAAO,CACL,6BAAK,SAAS,EAAE,wBAAwB;QACtC,oBAAC,YAAY,oBAAK,KAAK;YACrB,oBAAC,mBAAmB,IAAC,OAAO,EAAE,OAAO;gBACnC,oBAAC,UAAU;gBACT,qGAAqG;;oBAArG,qGAAqG;oBACrG,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,wBAAwB,EAAE,wBAAwB,EAClD,uBAAuB,EAAE,uBAAuB,EAChD,eAAe,EAAE,eAAe,EAChC,2BAA2B,EAAE,2BAA2B;oBACxD,qGAAqG;oBACrG,iBAAiB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,GAC7C,CACkB,CACT,CACX,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommunicationParticipant, MessageRenderer, MessageProps } from '@internal/react-components';\nimport React from 'react';\nimport { BaseProvider, BaseCompositeProps } from '../common/BaseComposite';\nimport { ChatCompositeIcons } from '../common/icons';\nimport { ChatAdapter } from './adapter/ChatAdapter';\nimport { ChatAdapterProvider } from './adapter/ChatAdapterProvider';\nimport { chatScreenContainerStyle } from './styles/Chat.styles';\nimport { ChatScreen } from './ChatScreen';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { AttachmentOptions } from '@internal/react-components';\n\n/**\n * Props for {@link ChatComposite}.\n *\n * @public\n */\nexport interface ChatCompositeProps extends BaseCompositeProps<ChatCompositeIcons> {\n /**\n * An adapter provides logic and data to the composite.\n * Composite can also be controlled using the adapter.\n */\n adapter: ChatAdapter;\n /**\n * `(messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element`\n * A callback for customizing the message renderer.\n */\n onRenderMessage?: (messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element;\n /**\n * `(typingUsers: CommunicationParticipant[]) => JSX.Element`\n * A callback for customizing the typing indicator renderer.\n */\n onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;\n /**\n * Flags to enable/disable visual elements of the {@link ChatComposite}.\n */\n options?: ChatCompositeOptions;\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n /**\n * Optimizes the composite form factor for either desktop or mobile.\n * @remarks `mobile` is currently only optimized for Portrait mode on mobile devices and does not support landscape.\n * @defaultValue 'desktop'\n */\n formFactor?: 'desktop' | 'mobile';\n}\n\n/**\n * Optional features of the {@link ChatComposite}.\n *\n * @public\n */\nexport type ChatCompositeOptions = {\n /**\n * Surface Azure Communication Services backend errors in the UI with {@link @azure/communication-react#ErrorBar}.\n * Hide or show the error bar.\n * @defaultValue true\n */\n errorBar?: boolean;\n /* @conditional-compile-remove(chat-composite-participant-pane) */\n /**\n * Show or hide the participant pane. This feature is in beta and not supported on mobile or narrow screen views.\n * @defaultValue false\n *\n * @beta\n */\n participantPane?: boolean;\n /**\n * Show or hide the topic at the top of the chat. Hidden if set to `false`\n * @defaultValue true\n */\n topic?: boolean;\n /**\n * enumerable to determine if the input box has focus on render or not.\n * When undefined nothing has focus on render\n */\n autoFocus?: 'sendBoxTextField';\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n /**\n * Properties for configuring the File Sharing feature.\n * If undefined, file sharing feature will be disabled.\n * @beta\n */\n attachmentOptions?: AttachmentOptions;\n\n /* @conditional-compile-remove(rich-text-editor) */\n /**\n * Properties for configuring the richTextEditor feature.\n * @defaultValue false\n *\n * @beta\n */\n richTextEditor?: boolean | RichTextEditorOptions;\n};\n\n/* @conditional-compile-remove(rich-text-editor) */\n/**\n * Options for configuring the rich text editor.\n *\n * @beta\n */\nexport interface RichTextEditorOptions {}\n\n/**\n * A customizable UI composite for the chat experience.\n *\n * @remarks Chat composite min width and height are respectively 17.5rem and 20rem (280px and 320px, with default rem at 16px)\n *\n * @public\n */\nexport const ChatComposite = (props: ChatCompositeProps): JSX.Element => {\n const {\n adapter,\n options,\n onFetchAvatarPersonaData,\n onRenderTypingIndicator,\n onRenderMessage,\n onFetchParticipantMenuItems\n } = props;\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const formFactor = props['formFactor'] || 'desktop';\n\n return (\n <div className={chatScreenContainerStyle}>\n <BaseProvider {...props}>\n <ChatAdapterProvider adapter={adapter}>\n <ChatScreen\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n formFactor={formFactor}\n options={options}\n onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n onRenderTypingIndicator={onRenderTypingIndicator}\n onRenderMessage={onRenderMessage}\n onFetchParticipantMenuItems={onFetchParticipantMenuItems}\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n attachmentOptions={options?.attachmentOptions}\n />\n </ChatAdapterProvider>\n </BaseProvider>\n </div>\n );\n};\n"]}
@@ -2,8 +2,7 @@
2
2
  import { CommunicationParticipant, MessageProps, MessageRenderer, MessageThreadStyles, ParticipantMenuItemsCallback, SendBoxStylesProps, TypingIndicatorStylesProps } from "../../../../react-components/src";
3
3
  import { AvatarPersonaDataCallback } from '../common/AvatarPersona';
4
4
  import { ChatCompositeOptions } from './ChatComposite';
5
- import { FileDownloadHandler } from "../../../../react-components/src";
6
- import { FileUploadHandler } from "../../../../react-components/src";
5
+ import { AttachmentOptions } from "../../../../react-components/src";
7
6
  /**
8
7
  * @private
9
8
  */
@@ -14,7 +13,7 @@ export type ChatScreenProps = {
14
13
  onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;
15
14
  onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;
16
15
  styles?: ChatScreenStyles;
17
- fileSharing?: FileSharingOptions;
16
+ attachmentOptions?: AttachmentOptions;
18
17
  formFactor?: 'desktop' | 'mobile';
19
18
  };
20
19
  /**
@@ -25,37 +24,6 @@ export type ChatScreenStyles = {
25
24
  sendBox?: SendBoxStylesProps;
26
25
  typingIndicator?: TypingIndicatorStylesProps;
27
26
  };
28
- /**
29
- * Properties for configuring the File Sharing feature.
30
- * @beta
31
- */
32
- export interface FileSharingOptions {
33
- /**
34
- * A string containing the comma separated list of accepted file types.
35
- * Similar to the `accept` attribute of the `<input type="file" />` element.
36
- * Accepts any type of file if not specified.
37
- * @beta
38
- */
39
- accept?: string;
40
- /**
41
- * Allows multiple files to be selected if set to `true`.
42
- * Similar to the `multiple` attribute of the `<input type="file" />` element.
43
- * @defaultValue false
44
- * @beta
45
- */
46
- multiple?: boolean;
47
- /**
48
- * A function of type {@link FileUploadHandler} for handling file uploads.
49
- * @beta
50
- */
51
- uploadHandler: FileUploadHandler;
52
- /**
53
- * A function of type {@link FileDownloadHandler} for handling file downloads.
54
- * If the function is not specified, the file's `url` will be opened in a new tab to
55
- * initiate the download.
56
- */
57
- downloadHandler?: FileDownloadHandler;
58
- }
59
27
  /**
60
28
  * @private
61
29
  */
@@ -18,7 +18,7 @@ import { useState } from 'react';
18
18
  import { AvatarPersona } from '../common/AvatarPersona';
19
19
  import { useAdapter } from './adapter/ChatAdapterProvider';
20
20
  import { ChatHeader, getHeaderProps } from './ChatHeader';
21
- import { FileUploadButtonWrapper as FileUploadButton } from './file-sharing';
21
+ import { AttachmentUploadButtonWrapper as AttachmentUploadButton } from './file-sharing';
22
22
  import { useAdaptedSelector } from './hooks/useAdaptedSelector';
23
23
  import { usePropsFor } from './hooks/usePropsFor';
24
24
  import { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';
@@ -27,7 +27,7 @@ import { participantListContainerPadding } from '../common/styles/ParticipantCon
27
27
  import { ChatScreenPeoplePane } from './ChatScreenPeoplePane';
28
28
  import { toFlatCommunicationIdentifier } from "../../../../acs-ui-common/src";
29
29
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
30
- import { FileDownloadErrorBar } from './FileDownloadErrorBar';
30
+ import { AttachmentDownloadErrorBar } from './AttachmentDownloadErrorBar';
31
31
  import { _AttachmentDownloadCards } from "../../../../react-components/src";
32
32
  import { ImageOverlay } from "../../../../react-components/src";
33
33
  import { SendBox } from '../common/SendBox';
@@ -35,7 +35,8 @@ import { SendBox } from '../common/SendBox';
35
35
  * @private
36
36
  */
37
37
  export const ChatScreen = (props) => {
38
- const { onFetchAvatarPersonaData, onRenderMessage, onRenderTypingIndicator, options, styles, fileSharing, formFactor } = props;
38
+ var _a, _b, _c, _d;
39
+ const { onFetchAvatarPersonaData, onRenderMessage, onRenderTypingIndicator, options, styles, attachmentOptions, formFactor } = props;
39
40
  const defaultNumberOfChatMessagesToReload = 5;
40
41
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
41
42
  const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');
@@ -96,19 +97,23 @@ export const ChatScreen = (props) => {
96
97
  return Object.assign({}, styles === null || styles === void 0 ? void 0 : styles.typingIndicator);
97
98
  }, [styles === null || styles === void 0 ? void 0 : styles.typingIndicator]);
98
99
  const userId = toFlatCommunicationIdentifier(adapter.getState().userId);
99
- const fileUploadButtonOnChange = useCallback((files) => {
100
+ const attachmentUploadButtonOnChange = useCallback((files) => {
101
+ var _a;
100
102
  if (!files) {
101
103
  return;
102
104
  }
103
105
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
104
- const fileUploads = adapter.registerActiveFileUploads(Array.from(files));
106
+ const attachmentUploads = adapter.registerActiveUploads(Array.from(files));
105
107
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
106
- fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.uploadHandler(userId, fileUploads);
107
- }, [adapter, fileSharing, userId]);
108
+ (_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handler(attachmentUploads);
109
+ }, [adapter, attachmentOptions]);
108
110
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
109
- const onRenderFileDownloads = useCallback((userId, message) => (React.createElement(_AttachmentDownloadCards, { userId: userId, fileMetadata: message.files || [], downloadHandler: fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler, onDownloadErrorMessage: (errorMessage) => {
110
- setDownloadErrorMessage(errorMessage);
111
- } })), [fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler]);
111
+ const onRenderAttachmentDownloads = useCallback((userId, message) => {
112
+ var _a;
113
+ return (React.createElement(_AttachmentDownloadCards, { attachments: message.files, message: message, actionsForAttachment: (_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.downloadOptions) === null || _a === void 0 ? void 0 : _a.actionsForAttachment, onActionHandlerFailed: (errorMessage) => {
114
+ setDownloadErrorMessage(errorMessage);
115
+ } }));
116
+ }, [(_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.downloadOptions) === null || _a === void 0 ? void 0 : _a.actionsForAttachment]);
112
117
  const onInlineImageClicked = useCallback((attachmentId, messageId) => {
113
118
  var _a, _b;
114
119
  const message = adapter.getState().thread.chatMessages[messageId];
@@ -197,23 +202,29 @@ export const ChatScreen = (props) => {
197
202
  }
198
203
  }, [overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.attachmentId]);
199
204
  const AttachFileButton = useCallback(() => {
200
- if (!(fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.uploadHandler)) {
205
+ var _a, _b, _c;
206
+ if (!((_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handler)) {
201
207
  return null;
202
208
  }
203
- return (React.createElement(FileUploadButton, { accept: fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.accept, multiple: fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.multiple, onChange: fileUploadButtonOnChange }));
204
- }, [fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.accept, fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.multiple, fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.uploadHandler, fileUploadButtonOnChange]);
209
+ return (React.createElement(AttachmentUploadButton, { supportedMediaTypes: (_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.supportedMediaTypes, disableMultipleUploads: (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.disableMultipleUploads, onChange: attachmentUploadButtonOnChange }));
210
+ }, [
211
+ (_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.handler,
212
+ (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.supportedMediaTypes,
213
+ (_d = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _d === void 0 ? void 0 : _d.disableMultipleUploads,
214
+ attachmentUploadButtonOnChange
215
+ ]);
205
216
  return (React.createElement(Stack, { className: chatContainer, grow: true },
206
217
  (options === null || options === void 0 ? void 0 : options.topic) !== false && React.createElement(ChatHeader, Object.assign({}, headerProps)),
207
218
  React.createElement(Stack, { className: chatArea, tokens: participantListContainerPadding, horizontal: true, grow: true },
208
219
  React.createElement(Stack, { className: chatWrapper, grow: true },
209
220
  (options === null || options === void 0 ? void 0 : options.errorBar) !== false && React.createElement(ErrorBar, Object.assign({}, errorBarProps)),
210
221
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
211
- React.createElement(FileDownloadErrorBar, { onDismissDownloadErrorMessage: useCallback(() => {
222
+ React.createElement(AttachmentDownloadErrorBar, { onDismissDownloadErrorMessage: useCallback(() => {
212
223
  setDownloadErrorMessage('');
213
- }, []), fileDownloadErrorMessage: downloadErrorMessage || '' }),
224
+ }, []), attachmentDownloadErrorMessage: downloadErrorMessage || '' }),
214
225
  React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage,
215
226
  /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
216
- onRenderFileDownloads: onRenderFileDownloads, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles })),
227
+ onRenderAttachmentDownloads: onRenderAttachmentDownloads, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles })),
217
228
  React.createElement(Stack, { className: mergeStyles(sendboxContainerStyles) },
218
229
  React.createElement("div", { className: mergeStyles(typingIndicatorContainerStyles) }, onRenderTypingIndicator ? (onRenderTypingIndicator(typingIndicatorProps.typingUsers)) : (React.createElement(TypingIndicator, Object.assign({}, typingIndicatorProps, { styles: typingIndicatorStyles })))),
219
230
  React.createElement(Stack, { horizontal: formFactor === 'mobile' },