@azure/communication-react 1.16.0-beta.1 → 1.16.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 (536) hide show
  1. package/dist/communication-react.d.ts +170 -1980
  2. package/dist/dist-cjs/communication-react/index.js +32462 -160
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -5
  7. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +3 -11
  8. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +0 -12
  10. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -13
  11. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -4
  13. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -10
  15. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +0 -14
  16. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +0 -10
  18. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -15
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  21. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +1 -3
  22. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +0 -17
  23. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  24. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -5
  25. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -6
  26. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  28. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +12 -11
  29. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -4
  31. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +2 -14
  33. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -20
  34. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -7
  36. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -12
  37. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +2 -1
  39. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +5 -4
  40. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +6 -6
  42. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  43. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -6
  44. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  45. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
  46. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  47. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -2
  48. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -5
  49. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  50. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +10 -61
  51. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  52. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +2 -12
  53. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +18 -69
  54. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  55. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +0 -46
  56. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  57. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -3
  58. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +4 -29
  59. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  60. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +4 -0
  61. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  62. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.d.ts +0 -17
  63. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js +3 -61
  64. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +0 -5
  66. package/dist/dist-esm/calling-stateful-client/src/Converter.js +21 -21
  67. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
  69. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +0 -11
  70. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  71. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +1 -25
  72. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -33
  73. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  74. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  75. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -8
  76. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -3
  78. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  79. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -5
  80. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +4 -13
  81. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  82. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -2
  83. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -5
  84. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  85. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +1 -84
  86. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  87. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  88. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  89. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  90. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  91. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -4
  92. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  93. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +0 -1
  94. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  95. package/dist/dist-esm/communication-react/src/index.d.ts +0 -26
  96. package/dist/dist-esm/communication-react/src/index.js +0 -16
  97. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  98. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.d.ts +1 -1
  99. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js +0 -9
  100. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js.map +1 -1
  101. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -12
  102. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +2 -10
  103. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  104. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -16
  105. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +30 -63
  106. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  107. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -17
  108. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +4 -10
  109. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  110. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
  111. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -26
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -6
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +5 -27
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +2 -18
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -22
  118. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  119. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +1 -27
  120. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +3 -11
  121. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  122. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -17
  123. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +5 -11
  124. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  125. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +5 -32
  126. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  127. package/dist/dist-esm/react-components/src/components/DevicesButton.d.ts +2 -1
  128. package/dist/dist-esm/react-components/src/components/DevicesButton.js +6 -2
  129. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  130. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +1 -5
  131. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  132. package/dist/dist-esm/react-components/src/components/InputBoxButton.d.ts +1 -0
  133. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +9 -8
  134. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  135. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
  136. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -18
  137. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +2 -46
  139. package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -30
  140. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +2 -13
  142. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +0 -3
  143. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  144. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  145. package/dist/dist-esm/react-components/src/components/ParticipantList.js +15 -21
  146. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  147. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +27 -6
  148. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  149. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +0 -46
  150. package/dist/dist-esm/react-components/src/components/SendBox.js +18 -72
  151. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  152. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -2
  153. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  154. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -2
  155. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  156. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -24
  157. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  158. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -2
  159. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  160. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +2 -2
  161. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  162. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +3 -15
  163. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  164. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -0
  165. package/dist/dist-esm/react-components/src/components/VideoGallery.js +1 -2
  166. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +0 -7
  168. package/dist/dist-esm/react-components/src/components/VideoTile.js +1 -7
  169. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  170. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -19
  171. package/dist/dist-esm/react-components/src/components/index.js +0 -15
  172. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
  174. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +0 -1
  175. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -3
  176. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  177. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +2 -1
  178. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -8
  180. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -13
  181. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  182. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +3 -11
  183. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +2 -36
  184. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +14 -9
  186. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +16 -14
  187. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -4
  189. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  191. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  193. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -5
  194. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/index.d.ts +0 -1
  196. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  197. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -60
  198. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  199. package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -29
  200. package/dist/dist-esm/react-components/src/theming/icons.js +1 -137
  201. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
  203. package/dist/dist-esm/react-components/src/theming/themes.js +0 -10
  204. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  205. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -27
  206. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  207. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +0 -8
  208. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  209. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +0 -6
  210. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  211. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  212. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +7 -72
  213. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +7 -30
  214. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  215. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -104
  216. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  217. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +7 -71
  218. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +20 -214
  219. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  220. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +6 -91
  221. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  222. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  223. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -2
  224. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +1 -7
  225. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  226. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -4
  227. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -2
  228. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  229. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +16 -25
  230. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  231. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -1
  232. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +2 -38
  233. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  234. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.d.ts +13 -0
  235. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +9 -1
  236. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  237. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  238. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -27
  239. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  240. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -20
  241. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  242. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  243. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -27
  244. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  245. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  246. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +5 -19
  247. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  248. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +1 -0
  249. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +3 -3
  250. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  251. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +2 -6
  252. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  253. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +7 -30
  254. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  255. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -4
  256. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -2
  257. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  258. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
  259. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +2 -2
  260. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  261. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  262. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +7 -80
  263. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  264. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -8
  265. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -11
  266. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  267. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  268. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +0 -4
  269. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  270. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -14
  271. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +7 -90
  272. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  273. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +1 -61
  274. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +7 -27
  275. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  276. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.d.ts +1 -1
  277. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js +3 -3
  278. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  279. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +10 -30
  280. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +52 -38
  282. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +179 -174
  283. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  284. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +12 -57
  285. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  286. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +1 -9
  287. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -32
  288. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  289. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +0 -9
  290. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -38
  291. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  292. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -1
  293. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  294. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +2 -22
  295. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +4 -9
  296. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -20
  298. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -6
  299. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  300. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +6 -42
  301. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  302. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -4
  303. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  304. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.d.ts +0 -29
  305. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js +1 -187
  306. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js.map +1 -1
  307. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +1 -15
  308. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -92
  309. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -18
  311. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  312. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +0 -2
  313. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  314. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +1 -8
  315. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  316. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -1
  317. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -7
  319. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  320. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -3
  321. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  322. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
  323. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +23 -20
  324. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  325. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +0 -5
  326. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +2 -3
  327. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  328. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.d.ts +10 -0
  329. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js +39 -0
  330. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js.map +1 -0
  331. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +0 -1
  332. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +10 -13
  333. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  334. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -26
  335. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +1 -25
  337. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  338. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +0 -1
  339. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  340. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -3
  341. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  342. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +1 -0
  343. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +5 -16
  344. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  345. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +1 -1
  346. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  347. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -40
  348. package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -12
  349. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  350. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +4 -20
  351. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  352. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +4 -0
  353. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +4 -0
  354. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +4 -0
  355. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +4 -0
  356. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +8 -0
  357. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +4 -0
  358. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +4 -0
  359. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +4 -0
  360. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +4 -0
  361. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +4 -0
  362. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +4 -0
  363. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +4 -0
  364. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +4 -0
  365. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +4 -0
  366. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +4 -0
  367. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +4 -0
  368. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +4 -0
  369. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +4 -0
  370. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +4 -0
  371. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +4 -0
  372. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +4 -0
  373. package/package.json +3 -3
  374. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-N5ydNkHZ.js +0 -115
  375. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-N5ydNkHZ.js.map +0 -1
  376. package/dist/dist-cjs/communication-react/index-BaI-AJud.js +0 -38969
  377. package/dist/dist-cjs/communication-react/index-BaI-AJud.js.map +0 -1
  378. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -45
  379. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +0 -91
  380. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +0 -1
  381. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
  382. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -36
  383. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
  384. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +0 -19
  385. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +0 -91
  386. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +0 -1
  387. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +0 -23
  388. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -49
  389. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +0 -1
  390. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  391. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  392. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  393. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +0 -19
  394. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +0 -100
  395. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +0 -1
  396. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  397. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -43
  398. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  399. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  400. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -75
  401. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  402. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  403. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -68
  404. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  405. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  406. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
  407. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  408. package/dist/dist-esm/react-components/src/components/ErrorBoundary.d.ts +0 -20
  409. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js +0 -33
  410. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js.map +0 -1
  411. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +0 -49
  412. package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
  413. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
  414. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  415. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -123
  416. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  417. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/RichTextRibbonButtons.d.ts +0 -7
  418. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/RichTextRibbonButtons.js +0 -75
  419. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/RichTextRibbonButtons.js.map +0 -1
  420. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTableButton.d.ts +0 -7
  421. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTableButton.js +0 -55
  422. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTableButton.js.map +0 -1
  423. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTablePane.d.ts +0 -16
  424. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTablePane.js +0 -59
  425. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTablePane.js.map +0 -1
  426. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextTableContextMenu.d.ts +0 -8
  427. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextTableContextMenu.js +0 -73
  428. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextTableContextMenu.js.map +0 -1
  429. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/insertTableAction.d.ts +0 -9
  430. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/insertTableAction.js +0 -56
  431. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/insertTableAction.js.map +0 -1
  432. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +0 -23
  433. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +0 -78
  434. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +0 -1
  435. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +0 -57
  436. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +0 -133
  437. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +0 -1
  438. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +0 -34
  439. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +0 -64
  440. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +0 -1
  441. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -138
  442. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +0 -186
  443. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +0 -1
  444. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +0 -16
  445. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +0 -73
  446. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +0 -1
  447. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -34
  448. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -42
  449. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
  450. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
  451. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
  452. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
  453. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
  454. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
  455. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  456. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  457. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -816
  458. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  459. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  460. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  461. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  462. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  463. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
  464. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  465. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +0 -82
  466. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +0 -311
  467. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +0 -1
  468. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +0 -21
  469. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +0 -38
  470. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +0 -1
  471. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  472. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  473. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  474. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
  475. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
  476. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
  477. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  478. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  479. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  480. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorStringsUtils.d.ts +0 -15
  481. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorStringsUtils.js +0 -39
  482. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorStringsUtils.js.map +0 -1
  483. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +0 -22
  484. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +0 -29
  485. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +0 -1
  486. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  487. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  488. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  489. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  490. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  491. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  492. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -48
  493. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -218
  494. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  495. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.d.ts +0 -12
  496. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +0 -93
  497. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +0 -1
  498. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.d.ts +0 -8
  499. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +0 -26
  500. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +0 -1
  501. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +0 -24
  502. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +0 -28
  503. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +0 -1
  504. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  505. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -54
  506. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  507. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.d.ts +0 -32
  508. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js +0 -81
  509. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +0 -1
  510. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +0 -15
  511. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +0 -23
  512. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +0 -1
  513. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  514. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  515. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  516. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +0 -6
  517. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +0 -11
  518. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +0 -1
  519. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.d.ts +0 -29
  520. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.js +0 -14
  521. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.js.map +0 -1
  522. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -12
  523. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -15
  524. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
  525. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.d.ts +0 -22
  526. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +0 -107
  527. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +0 -1
  528. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.d.ts +0 -17
  529. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js +0 -32
  530. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +0 -1
  531. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.d.ts +0 -22
  532. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +0 -74
  533. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +0 -1
  534. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.d.ts +0 -15
  535. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js +0 -61
  536. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +0 -1
@@ -23,27 +23,16 @@ 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';
25
25
  import { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';
26
- /* @conditional-compile-remove(chat-composite-participant-pane) */
27
- import { ChatScreenPeoplePane } from './ChatScreenPeoplePane';
28
26
  import { toFlatCommunicationIdentifier } from "../../../../acs-ui-common/src";
29
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
30
- import { AttachmentDownloadErrorBar } from './AttachmentDownloadErrorBar';
31
- import { _AttachmentDownloadCards } from "../../../../react-components/src";
32
27
  import { ImageOverlay } from "../../../../react-components/src";
33
28
  import { SendBox } from "../../../../react-components/src";
34
- /* @conditional-compile-remove(attachment-upload) */
35
- import { useSelector } from './hooks/useSelector';
36
- /* @conditional-compile-remove(attachment-upload) */
37
- import { attachmentUploadsSelector } from './selectors/attachmentUploadsSelector';
38
29
  /**
39
30
  * @private
40
31
  */
41
32
  export const ChatScreen = (props) => {
42
- var _a, _b, _c, _d;
33
+ var _a, _b, _c;
43
34
  const { onFetchAvatarPersonaData, onRenderMessage, onRenderTypingIndicator, options, styles, attachmentOptions, formFactor } = props;
44
35
  const defaultNumberOfChatMessagesToReload = 5;
45
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
46
- const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');
47
36
  const [overlayImageItem, setOverlayImageItem] = useState();
48
37
  const [isImageOverlayOpen, setIsImageOverlayOpen] = useState(false);
49
38
  const adapter = useAdapter();
@@ -106,22 +95,10 @@ export const ChatScreen = (props) => {
106
95
  }, [styles === null || styles === void 0 ? void 0 : styles.sendBox]);
107
96
  const userId = toFlatCommunicationIdentifier(adapter.getState().userId);
108
97
  const attachmentUploadButtonOnChange = useCallback((files) => {
109
- var _a;
110
98
  if (!files) {
111
99
  return;
112
100
  }
113
- /* @conditional-compile-remove(attachment-upload) */
114
- const uploadTasks = adapter.registerActiveUploads(Array.from(files));
115
- /* @conditional-compile-remove(attachment-upload) */
116
- (_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentSelection(uploadTasks);
117
101
  }, [adapter, attachmentOptions]);
118
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
119
- const onRenderAttachmentDownloads = useCallback((userId, message) => {
120
- var _a, _b, _c;
121
- return ((_b = (_a = message === null || message === void 0 ? void 0 : message.attachments) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0 > 0) ? React.createElement(_AttachmentDownloadCards, { attachments: message.attachments, message: message, actionsForAttachment: (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.downloadOptions) === null || _c === void 0 ? void 0 : _c.actionsForAttachment, onActionHandlerFailed: (errorMessage) => {
122
- setDownloadErrorMessage(errorMessage);
123
- } }) : React.createElement(React.Fragment, null);
124
- }, [(_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.downloadOptions) === null || _a === void 0 ? void 0 : _a.actionsForAttachment]);
125
102
  const onInlineImageClicked = useCallback((attachmentId, messageId) => {
126
103
  var _a, _b;
127
104
  const message = adapter.getState().thread.chatMessages[messageId];
@@ -218,34 +195,21 @@ export const ChatScreen = (props) => {
218
195
  return null;
219
196
  }
220
197
  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 });
221
- }, [(_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.handleAttachmentSelection, (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.supportedMediaTypes, (_d = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _d === void 0 ? void 0 : _d.disableMultipleUploads, attachmentUploadButtonOnChange]);
222
- /* @conditional-compile-remove(attachment-upload) */
223
- const attachmentsWithProgress = useSelector(attachmentUploadsSelector).attachments;
198
+ }, [(_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentSelection, (_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.supportedMediaTypes, (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.disableMultipleUploads, attachmentUploadButtonOnChange]);
224
199
  return React.createElement(Stack, { className: chatContainer, grow: true },
225
200
  (options === null || options === void 0 ? void 0 : options.topic) !== false && React.createElement(ChatHeader, Object.assign({}, headerProps)),
226
201
  React.createElement(Stack, { className: chatArea, tokens: participantListContainerPadding, horizontal: true, grow: true },
227
202
  React.createElement(Stack, { className: chatWrapper, grow: true },
228
- (options === null || options === void 0 ? void 0 : options.errorBar) !== false && React.createElement(ErrorBar, Object.assign({}, errorBarProps)), /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */
229
- React.createElement(AttachmentDownloadErrorBar, { onDismissDownloadErrorMessage: useCallback(() => {
230
- setDownloadErrorMessage('');
231
- }, []), attachmentDownloadErrorMessage: downloadErrorMessage || '' }),
232
- React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage,
233
- /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ onRenderAttachmentDownloads: onRenderAttachmentDownloads, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles })),
203
+ (options === null || options === void 0 ? void 0 : options.errorBar) !== false && React.createElement(ErrorBar, Object.assign({}, errorBarProps)),
204
+ React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles })),
234
205
  React.createElement(Stack, { className: mergeStyles(sendboxContainerStyles) },
235
206
  React.createElement("div", { className: mergeStyles(typingIndicatorContainerStyles) }, onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : React.createElement(TypingIndicator, Object.assign({}, typingIndicatorProps, { styles: typingIndicatorStyles }))),
236
207
  React.createElement(Stack, { horizontal: formFactor === 'mobile' },
237
208
  formFactor === 'mobile' && React.createElement(Stack, { verticalAlign: "center" },
238
209
  React.createElement(AttachmentButton, null)),
239
210
  React.createElement(Stack, { grow: true },
240
- React.createElement(SendBox, Object.assign({}, sendBoxProps, { autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus, styles: sendBoxStyles,
241
- /* @conditional-compile-remove(attachment-upload) */ attachmentsWithProgress: attachmentsWithProgress,
242
- /* @conditional-compile-remove(attachment-upload) */ onCancelAttachmentUpload: id => {
243
- var _a, _b, _c;
244
- (_a = adapter.cancelUpload) === null || _a === void 0 ? void 0 : _a.call(adapter, id);
245
- (_c = (_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.handleAttachmentRemoval) === null || _c === void 0 ? void 0 : _c.call(_b, id);
246
- } }))),
247
- formFactor !== 'mobile' && React.createElement(AttachmentButton, null)))), /* @conditional-compile-remove(chat-composite-participant-pane) */
248
- (options === null || options === void 0 ? void 0 : options.participantPane) === true && React.createElement(ChatScreenPeoplePane, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, isMobile: formFactor === 'mobile' })),
211
+ React.createElement(SendBox, Object.assign({}, sendBoxProps, { autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus, styles: sendBoxStyles }))),
212
+ formFactor !== 'mobile' && React.createElement(AttachmentButton, null))))),
249
213
  overlayImageItem && React.createElement(ImageOverlay, Object.assign({}, overlayImageItem, { isOpen: isImageOverlayOpen, onDismiss: () => {
250
214
  setOverlayImageItem(undefined);
251
215
  setIsImageOverlayOpen(false);
@@ -1 +1 @@
1
- {"version":3,"file":"ChatScreen.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/ChatScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isIOS } from '@fluentui/react';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { PersonaSize } from '@fluentui/react';\nimport { CommunicationParticipant, ErrorBar, MessageProps, MessageRenderer, MessageThread, MessageThreadStyles, ParticipantMenuItemsCallback, SendBoxStylesProps, TypingIndicator, TypingIndicatorStylesProps, useTheme } from '@internal/react-components';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { ChatMessage } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { useState } from 'react';\nimport { AvatarPersona, AvatarPersonaDataCallback, AvatarPersonaProps } from '../common/AvatarPersona';\nimport { useAdapter } from './adapter/ChatAdapterProvider';\nimport { ChatCompositeOptions } from './ChatComposite';\nimport { ChatHeader, getHeaderProps } from './ChatHeader';\nimport { AttachmentUploadButtonWrapper as AttachmentUploadButton } from './file-sharing';\nimport { useAdaptedSelector } from './hooks/useAdaptedSelector';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';\nimport { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';\n/* @conditional-compile-remove(chat-composite-participant-pane) */\nimport { ChatScreenPeoplePane } from './ChatScreenPeoplePane';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nimport { AttachmentDownloadErrorBar } from './AttachmentDownloadErrorBar';\nimport { _AttachmentDownloadCards } from '@internal/react-components';\nimport { ImageOverlay } from '@internal/react-components';\nimport { InlineImage } from '@internal/react-components';\nimport { ResourceFetchResult } from '@internal/chat-stateful-client';\nimport { AttachmentOptions } from '@internal/react-components';\nimport { SendBox } from '@internal/react-components';\n/* @conditional-compile-remove(attachment-upload) */\nimport { useSelector } from './hooks/useSelector';\n/* @conditional-compile-remove(attachment-upload) */\nimport { attachmentUploadsSelector } from './selectors/attachmentUploadsSelector';\n\n/**\n * @private\n */\nexport type ChatScreenProps = {\n options?: ChatCompositeOptions;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onRenderMessage?: (messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element;\n onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n styles?: ChatScreenStyles;\n attachmentOptions?: AttachmentOptions;\n formFactor?: 'desktop' | 'mobile';\n};\n\n/**\n * @private\n */\nexport type ChatScreenStyles = {\n messageThread?: MessageThreadStyles;\n sendBox?: SendBoxStylesProps;\n typingIndicator?: TypingIndicatorStylesProps;\n};\n\n/**\n * @private\n */\ninterface OverlayImageItem {\n imageSrc: string;\n title: string;\n titleIcon: JSX.Element;\n attachmentId: string;\n messageId: string;\n imageUrl: string;\n}\n\n/**\n * @private\n */\nexport const ChatScreen = (props: ChatScreenProps): JSX.Element => {\n const {\n onFetchAvatarPersonaData,\n onRenderMessage,\n onRenderTypingIndicator,\n options,\n styles,\n attachmentOptions,\n formFactor\n } = props;\n const defaultNumberOfChatMessagesToReload = 5;\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');\n const [overlayImageItem, setOverlayImageItem] = useState<OverlayImageItem>();\n const [isImageOverlayOpen, setIsImageOverlayOpen] = useState<boolean>(false);\n const adapter = useAdapter();\n const theme = useTheme();\n useEffect(() => {\n // Initial data should be always fetched by the composite(or external caller) instead of the adapter\n const fetchData: () => Promise<void> = async () => {\n // Fetch initial data for adapter\n await adapter.fetchInitialData();\n // Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.\n await adapter.loadPreviousChatMessages(defaultNumberOfChatMessagesToReload);\n };\n fetchData();\n }, [adapter]);\n const messageThreadProps = usePropsFor(MessageThread);\n const sendBoxProps = usePropsFor(SendBox);\n const typingIndicatorProps = usePropsFor(TypingIndicator);\n const headerProps = useAdaptedSelector(getHeaderProps);\n const errorBarProps = usePropsFor(ErrorBar);\n useEffect(() => {\n if (overlayImageItem === undefined) {\n return;\n }\n const message = adapter.getState().thread.chatMessages[overlayImageItem.messageId];\n if (message === undefined) {\n return;\n }\n const resourceCache = message.resourceCache;\n if (overlayImageItem.imageSrc === '' && resourceCache && resourceCache[overlayImageItem.imageUrl]) {\n const fullSizeImageSrc = getResourceSourceUrl(resourceCache[overlayImageItem.imageUrl]);\n if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' || overlayImageItem.imageSrc === fullSizeImageSrc) {\n return;\n }\n setOverlayImageItem({\n ...overlayImageItem,\n imageSrc: fullSizeImageSrc\n });\n }\n // Disable eslint because we are using the overlayImageItem in this effect but don't want to have it as a dependency, as it will cause an infinite loop.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [messageThreadProps.messages]);\n const getResourceSourceUrl = (result: ResourceFetchResult): string => {\n let src = '';\n if (result.error || !result.sourceUrl) {\n src = 'blob://';\n } else {\n src = result.sourceUrl;\n }\n return src;\n };\n const onRenderAvatarCallback = useCallback((userId?: string, defaultOptions?: AvatarPersonaProps) => {\n return <AvatarPersona userId={userId} hidePersonaDetails={true} {...defaultOptions} dataProvider={onFetchAvatarPersonaData} />;\n }, [onFetchAvatarPersonaData]);\n const messageThreadStyles = useMemo(() => {\n return Object.assign({}, messageThreadChatCompositeStyles(theme.semanticColors.bodyBackground), styles?.messageThread);\n }, [styles?.messageThread, theme.semanticColors.bodyBackground]);\n const typingIndicatorStyles = useMemo(() => {\n return Object.assign({}, styles?.typingIndicator);\n }, [styles?.typingIndicator]);\n const sendBoxStyles = useMemo(() => {\n return Object.assign({}, styles?.sendBox);\n }, [styles?.sendBox]);\n const userId = toFlatCommunicationIdentifier(adapter.getState().userId);\n const attachmentUploadButtonOnChange = useCallback((files: FileList | null): void => {\n if (!files) {\n return;\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n const uploadTasks = adapter.registerActiveUploads(Array.from(files));\n /* @conditional-compile-remove(attachment-upload) */\n attachmentOptions?.uploadOptions?.handleAttachmentSelection(uploadTasks);\n }, [adapter, attachmentOptions]);\n\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n const onRenderAttachmentDownloads = useCallback((userId: string, message: ChatMessage) => message?.attachments?.length ?? 0 > 0 ? <_AttachmentDownloadCards attachments={message.attachments} message={message} actionsForAttachment={attachmentOptions?.downloadOptions?.actionsForAttachment} onActionHandlerFailed={(errorMessage: string) => {\n setDownloadErrorMessage(errorMessage);\n }} /> : <></>, [attachmentOptions?.downloadOptions?.actionsForAttachment]);\n const onInlineImageClicked = useCallback((attachmentId: string, messageId: string) => {\n const message = adapter.getState().thread.chatMessages[messageId];\n const inlinedImages = message.content?.attachments?.filter(attachment => {\n return attachment.attachmentType === 'image' && attachment.id === attachmentId;\n });\n if (!inlinedImages || inlinedImages.length <= 0) {\n return;\n }\n const attachment = inlinedImages[0];\n const resourceCache = message.resourceCache;\n let imageSrc = '';\n if (attachment.url) {\n if (resourceCache && resourceCache[attachment.url]) {\n imageSrc = getResourceSourceUrl(resourceCache[attachment.url]);\n } else {\n adapter.downloadResourceToCache({\n threadId: adapter.getState().thread.threadId,\n messageId: messageId,\n resourceUrl: attachment.url\n });\n }\n }\n const titleIconRenderOptions = {\n text: message.senderDisplayName,\n size: PersonaSize.size32,\n showOverflowTooltip: false,\n imageAlt: message.senderDisplayName\n };\n const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;\n const titleIcon = onRenderAvatarCallback && onRenderAvatarCallback(messageSenderId, titleIconRenderOptions);\n const overlayImage: OverlayImageItem = {\n title: message.senderDisplayName || '',\n titleIcon: titleIcon,\n attachmentId: attachment.id,\n imageSrc: imageSrc,\n messageId: messageId,\n imageUrl: attachment.url || ''\n };\n setIsImageOverlayOpen(true);\n setOverlayImageItem(overlayImage);\n }, [adapter, onRenderAvatarCallback, userId]);\n const onRenderInlineImage = useCallback((inlineImage: InlineImage, defaultOnRender: (inlineImage: InlineImage) => JSX.Element): JSX.Element => {\n const message = adapter.getState().thread.chatMessages[inlineImage.messageId];\n const attachment = message?.content?.attachments?.find(attachment => attachment.id === inlineImage.imageAttributes.id);\n if (attachment === undefined) {\n return defaultOnRender(inlineImage);\n }\n let pointerEvents: 'none' | 'auto' = inlineImage.imageAttributes.src === '' ? 'none' : 'auto';\n const resourceCache = message.resourceCache;\n if (resourceCache && attachment.previewUrl && resourceCache[attachment.previewUrl] && resourceCache[attachment.previewUrl].error) {\n pointerEvents = 'none';\n }\n return <span key={inlineImage.imageAttributes.id} onClick={() => onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId)} tabIndex={0} role=\"button\" onKeyDown={e => {\n if (e.key === 'Enter') {\n onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId);\n }\n }} style={{\n cursor: 'pointer',\n pointerEvents\n }}>\n {defaultOnRender(inlineImage)}\n </span>;\n }, [adapter, onInlineImageClicked]);\n const inlineImageOptions = useMemo(() => {\n return {\n onRenderInlineImage: onRenderInlineImage\n };\n }, [onRenderInlineImage]);\n const onDownloadButtonClicked = useCallback((imageSrc: string): void => {\n if (imageSrc === '') {\n return;\n }\n if (isIOS()) {\n window.open(imageSrc, '_blank');\n } else {\n // Create a new anchor element\n const a = document.createElement('a');\n // Set the href and download attributes for the anchor element\n a.href = imageSrc;\n a.download = overlayImageItem?.attachmentId || '';\n a.rel = 'noopener noreferrer';\n a.target = '_blank';\n\n // Programmatically click the anchor element to trigger the download\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n }, [overlayImageItem?.attachmentId]);\n const AttachmentButton = useCallback(() => {\n if (!attachmentOptions?.uploadOptions?.handleAttachmentSelection) {\n return null;\n }\n return <AttachmentUploadButton supportedMediaTypes={attachmentOptions?.uploadOptions?.supportedMediaTypes} disableMultipleUploads={attachmentOptions?.uploadOptions?.disableMultipleUploads} onChange={attachmentUploadButtonOnChange} />;\n }, [attachmentOptions?.uploadOptions?.handleAttachmentSelection, attachmentOptions?.uploadOptions?.supportedMediaTypes, attachmentOptions?.uploadOptions?.disableMultipleUploads, attachmentUploadButtonOnChange]);\n\n /* @conditional-compile-remove(attachment-upload) */\n const attachmentsWithProgress = useSelector(attachmentUploadsSelector).attachments;\n return <Stack className={chatContainer} grow>\n {options?.topic !== false && <ChatHeader {...headerProps} />}\n <Stack className={chatArea} tokens={participantListContainerPadding} horizontal grow>\n <Stack className={chatWrapper} grow>\n {options?.errorBar !== false && <ErrorBar {...errorBarProps} />}\n {/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\n <AttachmentDownloadErrorBar onDismissDownloadErrorMessage={useCallback(() => {\n setDownloadErrorMessage('');\n }, [])} attachmentDownloadErrorMessage={downloadErrorMessage || ''} />}\n <MessageThread {...messageThreadProps} onRenderAvatar={onRenderAvatarCallback} onRenderMessage={onRenderMessage}\n /* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */ onRenderAttachmentDownloads={onRenderAttachmentDownloads} inlineImageOptions={inlineImageOptions} numberOfChatMessagesToReload={defaultNumberOfChatMessagesToReload} styles={messageThreadStyles} />\n <Stack className={mergeStyles(sendboxContainerStyles)}>\n <div className={mergeStyles(typingIndicatorContainerStyles)}>\n {onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : <TypingIndicator {...typingIndicatorProps} styles={typingIndicatorStyles} />}\n </div>\n <Stack horizontal={formFactor === 'mobile'}>\n {formFactor === 'mobile' && <Stack verticalAlign=\"center\">\n <AttachmentButton />\n </Stack>}\n <Stack grow>\n <SendBox {...sendBoxProps} autoFocus={options?.autoFocus} styles={sendBoxStyles}\n /* @conditional-compile-remove(attachment-upload) */ attachmentsWithProgress={attachmentsWithProgress}\n /* @conditional-compile-remove(attachment-upload) */ onCancelAttachmentUpload={id => {\n adapter.cancelUpload?.(id);\n attachmentOptions?.uploadOptions?.handleAttachmentRemoval?.(id);\n }} />\n </Stack>\n {formFactor !== 'mobile' && <AttachmentButton />}\n </Stack>\n </Stack>\n </Stack>\n {/* @conditional-compile-remove(chat-composite-participant-pane) */\n options?.participantPane === true && <ChatScreenPeoplePane onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={props.onFetchParticipantMenuItems} isMobile={formFactor === 'mobile'} />}\n </Stack>\n {overlayImageItem && <ImageOverlay {...overlayImageItem} isOpen={isImageOverlayOpen} onDismiss={() => {\n setOverlayImageItem(undefined);\n setIsImageOverlayOpen(false);\n adapter.removeResourceFromCache({\n threadId: adapter.getState().thread.threadId,\n messageId: overlayImageItem.messageId,\n resourceUrl: overlayImageItem.imageUrl\n });\n }} onDownloadButtonClicked={onDownloadButtonClicked} />}\n </Stack>;\n};"]}
1
+ {"version":3,"file":"ChatScreen.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/ChatScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isIOS } from '@fluentui/react';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { PersonaSize } from '@fluentui/react';\nimport { CommunicationParticipant, ErrorBar, MessageProps, MessageRenderer, MessageThread, MessageThreadStyles, ParticipantMenuItemsCallback, SendBoxStylesProps, TypingIndicator, TypingIndicatorStylesProps, useTheme } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { useState } from 'react';\nimport { AvatarPersona, AvatarPersonaDataCallback, AvatarPersonaProps } from '../common/AvatarPersona';\nimport { useAdapter } from './adapter/ChatAdapterProvider';\nimport { ChatCompositeOptions } from './ChatComposite';\nimport { ChatHeader, getHeaderProps } from './ChatHeader';\nimport { AttachmentUploadButtonWrapper as AttachmentUploadButton } from './file-sharing';\nimport { useAdaptedSelector } from './hooks/useAdaptedSelector';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';\nimport { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { _AttachmentDownloadCards } from '@internal/react-components';\nimport { ImageOverlay } from '@internal/react-components';\nimport { InlineImage } from '@internal/react-components';\nimport { ResourceFetchResult } from '@internal/chat-stateful-client';\nimport { AttachmentOptions } from '@internal/react-components';\nimport { SendBox } from '@internal/react-components';\n/**\n * @private\n */\nexport type ChatScreenProps = {\n options?: ChatCompositeOptions;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onRenderMessage?: (messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element;\n onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n styles?: ChatScreenStyles;\n attachmentOptions?: AttachmentOptions;\n formFactor?: 'desktop' | 'mobile';\n};\n\n/**\n * @private\n */\nexport type ChatScreenStyles = {\n messageThread?: MessageThreadStyles;\n sendBox?: SendBoxStylesProps;\n typingIndicator?: TypingIndicatorStylesProps;\n};\n\n/**\n * @private\n */\ninterface OverlayImageItem {\n imageSrc: string;\n title: string;\n titleIcon: JSX.Element;\n attachmentId: string;\n messageId: string;\n imageUrl: string;\n}\n\n/**\n * @private\n */\nexport const ChatScreen = (props: ChatScreenProps): JSX.Element => {\n const {\n onFetchAvatarPersonaData,\n onRenderMessage,\n onRenderTypingIndicator,\n options,\n styles,\n attachmentOptions,\n formFactor\n } = props;\n const defaultNumberOfChatMessagesToReload = 5;\n const [overlayImageItem, setOverlayImageItem] = useState<OverlayImageItem>();\n const [isImageOverlayOpen, setIsImageOverlayOpen] = useState<boolean>(false);\n const adapter = useAdapter();\n const theme = useTheme();\n useEffect(() => {\n // Initial data should be always fetched by the composite(or external caller) instead of the adapter\n const fetchData: () => Promise<void> = async () => {\n // Fetch initial data for adapter\n await adapter.fetchInitialData();\n // Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.\n await adapter.loadPreviousChatMessages(defaultNumberOfChatMessagesToReload);\n };\n fetchData();\n }, [adapter]);\n const messageThreadProps = usePropsFor(MessageThread);\n const sendBoxProps = usePropsFor(SendBox);\n const typingIndicatorProps = usePropsFor(TypingIndicator);\n const headerProps = useAdaptedSelector(getHeaderProps);\n const errorBarProps = usePropsFor(ErrorBar);\n useEffect(() => {\n if (overlayImageItem === undefined) {\n return;\n }\n const message = adapter.getState().thread.chatMessages[overlayImageItem.messageId];\n if (message === undefined) {\n return;\n }\n const resourceCache = message.resourceCache;\n if (overlayImageItem.imageSrc === '' && resourceCache && resourceCache[overlayImageItem.imageUrl]) {\n const fullSizeImageSrc = getResourceSourceUrl(resourceCache[overlayImageItem.imageUrl]);\n if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' || overlayImageItem.imageSrc === fullSizeImageSrc) {\n return;\n }\n setOverlayImageItem({\n ...overlayImageItem,\n imageSrc: fullSizeImageSrc\n });\n }\n // Disable eslint because we are using the overlayImageItem in this effect but don't want to have it as a dependency, as it will cause an infinite loop.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [messageThreadProps.messages]);\n const getResourceSourceUrl = (result: ResourceFetchResult): string => {\n let src = '';\n if (result.error || !result.sourceUrl) {\n src = 'blob://';\n } else {\n src = result.sourceUrl;\n }\n return src;\n };\n const onRenderAvatarCallback = useCallback((userId?: string, defaultOptions?: AvatarPersonaProps) => {\n return <AvatarPersona userId={userId} hidePersonaDetails={true} {...defaultOptions} dataProvider={onFetchAvatarPersonaData} />;\n }, [onFetchAvatarPersonaData]);\n const messageThreadStyles = useMemo(() => {\n return Object.assign({}, messageThreadChatCompositeStyles(theme.semanticColors.bodyBackground), styles?.messageThread);\n }, [styles?.messageThread, theme.semanticColors.bodyBackground]);\n const typingIndicatorStyles = useMemo(() => {\n return Object.assign({}, styles?.typingIndicator);\n }, [styles?.typingIndicator]);\n const sendBoxStyles = useMemo(() => {\n return Object.assign({}, styles?.sendBox);\n }, [styles?.sendBox]);\n const userId = toFlatCommunicationIdentifier(adapter.getState().userId);\n const attachmentUploadButtonOnChange = useCallback((files: FileList | null): void => {\n if (!files) {\n return;\n }\n }, [adapter, attachmentOptions]);\n const onInlineImageClicked = useCallback((attachmentId: string, messageId: string) => {\n const message = adapter.getState().thread.chatMessages[messageId];\n const inlinedImages = message.content?.attachments?.filter(attachment => {\n return attachment.attachmentType === 'image' && attachment.id === attachmentId;\n });\n if (!inlinedImages || inlinedImages.length <= 0) {\n return;\n }\n const attachment = inlinedImages[0];\n const resourceCache = message.resourceCache;\n let imageSrc = '';\n if (attachment.url) {\n if (resourceCache && resourceCache[attachment.url]) {\n imageSrc = getResourceSourceUrl(resourceCache[attachment.url]);\n } else {\n adapter.downloadResourceToCache({\n threadId: adapter.getState().thread.threadId,\n messageId: messageId,\n resourceUrl: attachment.url\n });\n }\n }\n const titleIconRenderOptions = {\n text: message.senderDisplayName,\n size: PersonaSize.size32,\n showOverflowTooltip: false,\n imageAlt: message.senderDisplayName\n };\n const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;\n const titleIcon = onRenderAvatarCallback && onRenderAvatarCallback(messageSenderId, titleIconRenderOptions);\n const overlayImage: OverlayImageItem = {\n title: message.senderDisplayName || '',\n titleIcon: titleIcon,\n attachmentId: attachment.id,\n imageSrc: imageSrc,\n messageId: messageId,\n imageUrl: attachment.url || ''\n };\n setIsImageOverlayOpen(true);\n setOverlayImageItem(overlayImage);\n }, [adapter, onRenderAvatarCallback, userId]);\n const onRenderInlineImage = useCallback((inlineImage: InlineImage, defaultOnRender: (inlineImage: InlineImage) => JSX.Element): JSX.Element => {\n const message = adapter.getState().thread.chatMessages[inlineImage.messageId];\n const attachment = message?.content?.attachments?.find(attachment => attachment.id === inlineImage.imageAttributes.id);\n if (attachment === undefined) {\n return defaultOnRender(inlineImage);\n }\n let pointerEvents: 'none' | 'auto' = inlineImage.imageAttributes.src === '' ? 'none' : 'auto';\n const resourceCache = message.resourceCache;\n if (resourceCache && attachment.previewUrl && resourceCache[attachment.previewUrl] && resourceCache[attachment.previewUrl].error) {\n pointerEvents = 'none';\n }\n return <span key={inlineImage.imageAttributes.id} onClick={() => onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId)} tabIndex={0} role=\"button\" onKeyDown={e => {\n if (e.key === 'Enter') {\n onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId);\n }\n }} style={{\n cursor: 'pointer',\n pointerEvents\n }}>\n {defaultOnRender(inlineImage)}\n </span>;\n }, [adapter, onInlineImageClicked]);\n const inlineImageOptions = useMemo(() => {\n return {\n onRenderInlineImage: onRenderInlineImage\n };\n }, [onRenderInlineImage]);\n const onDownloadButtonClicked = useCallback((imageSrc: string): void => {\n if (imageSrc === '') {\n return;\n }\n if (isIOS()) {\n window.open(imageSrc, '_blank');\n } else {\n // Create a new anchor element\n const a = document.createElement('a');\n // Set the href and download attributes for the anchor element\n a.href = imageSrc;\n a.download = overlayImageItem?.attachmentId || '';\n a.rel = 'noopener noreferrer';\n a.target = '_blank';\n\n // Programmatically click the anchor element to trigger the download\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n }, [overlayImageItem?.attachmentId]);\n const AttachmentButton = useCallback(() => {\n if (!attachmentOptions?.uploadOptions?.handleAttachmentSelection) {\n return null;\n }\n return <AttachmentUploadButton supportedMediaTypes={attachmentOptions?.uploadOptions?.supportedMediaTypes} disableMultipleUploads={attachmentOptions?.uploadOptions?.disableMultipleUploads} onChange={attachmentUploadButtonOnChange} />;\n }, [attachmentOptions?.uploadOptions?.handleAttachmentSelection, attachmentOptions?.uploadOptions?.supportedMediaTypes, attachmentOptions?.uploadOptions?.disableMultipleUploads, attachmentUploadButtonOnChange]);\n return <Stack className={chatContainer} grow>\n {options?.topic !== false && <ChatHeader {...headerProps} />}\n <Stack className={chatArea} tokens={participantListContainerPadding} horizontal grow>\n <Stack className={chatWrapper} grow>\n {options?.errorBar !== false && <ErrorBar {...errorBarProps} />}\n {}\n <MessageThread {...messageThreadProps} onRenderAvatar={onRenderAvatarCallback} onRenderMessage={onRenderMessage} inlineImageOptions={inlineImageOptions} numberOfChatMessagesToReload={defaultNumberOfChatMessagesToReload} styles={messageThreadStyles} />\n <Stack className={mergeStyles(sendboxContainerStyles)}>\n <div className={mergeStyles(typingIndicatorContainerStyles)}>\n {onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : <TypingIndicator {...typingIndicatorProps} styles={typingIndicatorStyles} />}\n </div>\n <Stack horizontal={formFactor === 'mobile'}>\n {formFactor === 'mobile' && <Stack verticalAlign=\"center\">\n <AttachmentButton />\n </Stack>}\n <Stack grow>\n <SendBox {...sendBoxProps} autoFocus={options?.autoFocus} styles={sendBoxStyles} />\n </Stack>\n {formFactor !== 'mobile' && <AttachmentButton />}\n </Stack>\n </Stack>\n </Stack>\n {}\n </Stack>\n {overlayImageItem && <ImageOverlay {...overlayImageItem} isOpen={isImageOverlayOpen} onDismiss={() => {\n setOverlayImageItem(undefined);\n setIsImageOverlayOpen(false);\n adapter.removeResourceFromCache({\n threadId: adapter.getState().thread.threadId,\n messageId: overlayImageItem.messageId,\n resourceUrl: overlayImageItem.imageUrl\n });\n }} onDownloadButtonClicked={onDownloadButtonClicked} />}\n </Stack>;\n};"]}
@@ -10,9 +10,5 @@ export interface ChatCompositeStrings {
10
10
  * Chat list header text
11
11
  */
12
12
  chatListHeader: string;
13
- /**
14
- * Upload Attachment Button text
15
- */
16
- uploadAttachment: string;
17
13
  }
18
14
  //# sourceMappingURL=Strings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/Strings.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Strings used by the {@link ChatComposite} directly.\n *\n * This strings are in addition to those used by the components from the component library.\n *\n * @public\n */\nexport interface ChatCompositeStrings {\n /**\n * Chat list header text\n */\n chatListHeader: string;\n\n /* @conditional-compile-remove(attachment-upload) */\n /**\n * Upload Attachment Button text\n */\n uploadAttachment: string;\n}"]}
1
+ {"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/Strings.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Strings used by the {@link ChatComposite} directly.\n *\n * This strings are in addition to those used by the components from the component library.\n *\n * @public\n */\nexport interface ChatCompositeStrings {\n /**\n * Chat list header text\n */\n chatListHeader: string;\n}"]}
@@ -1,6 +1,4 @@
1
1
  import { AttachmentUploadTask, AttachmentMetadata, AttachmentMetadataWithProgress } from "../../../../../react-components/src";
2
- import { FileSharingMetadata } from '../file-sharing';
3
- import { ChatContext } from './AzureCommunicationChatAdapter';
4
2
  /**
5
3
  * A record containing {@link AttachmentMetadata} mapped to unique attachment upload task ids.
6
4
  * @internal
@@ -18,31 +16,4 @@ export interface _AttachmentUploadAdapter {
18
16
  updateUploadStatusMessage: (id: string, errorMessage: string) => void;
19
17
  updateUploadMetadata: (id: string, metadata: AttachmentMetadata) => void;
20
18
  }
21
- /**
22
- * @internal
23
- */
24
- export declare class AzureCommunicationAttachmentUploadAdapter implements _AttachmentUploadAdapter {
25
- private context;
26
- private attachmentUploads;
27
- constructor(chatContext: ChatContext);
28
- private findAttachmentUpload;
29
- private deleteAttachmentUploads;
30
- private deleteErroneousAttachmentUploads;
31
- private registerAttachmentUploads;
32
- registerActiveUploads(files: File[]): AttachmentUploadTask[];
33
- registerCompletedUploads(metadata: AttachmentMetadata[]): AttachmentUploadTask[];
34
- clearUploads(): void;
35
- cancelUpload(id: string): void;
36
- updateUploadProgress(id: string, progress: number): void;
37
- updateUploadStatusMessage(id: string, errorMessage: string): void;
38
- updateUploadMetadata(id: string, metadata: AttachmentMetadata): void;
39
- setAttachmentMetadata(taskId: string, attachmentId: string, attachmentUrl: string): void;
40
- private subscribeAllEvents;
41
- private unsubscribeAllEvents;
42
- }
43
- /**
44
- * @param attachmentUploadUiState {@link _AttachmentUploadsUiState}
45
- * @private
46
- */
47
- export declare const convertAttachmentUploadsUiStateToMessageMetadata: (attachmentUploads?: _AttachmentUploadsUiState) => FileSharingMetadata | undefined;
48
19
  //# sourceMappingURL=AzureCommunicationAttachmentUploadAdapter.d.ts.map
@@ -1,190 +1,4 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- /* @conditional-compile-remove(attachment-upload) */
4
- import { produce } from 'immer';
5
- /* @conditional-compile-remove(attachment-upload) */
6
- import { AttachmentUpload } from '../file-sharing';
7
- /* @conditional-compile-remove(attachment-upload) */
8
- /**
9
- * @internal
10
- */
11
- class AttachmentUploadContext {
12
- constructor(chatContext) {
13
- this.chatContext = chatContext;
14
- }
15
- getAttachmentUploads() {
16
- return this.chatContext.getState()._attachmentUploads;
17
- }
18
- addAttachmentUploads(attachmentUploads) {
19
- const attachmentUploadsMap = convertObservableAttachmentUploadToAttachmentUploadsUiState(attachmentUploads);
20
- this.chatContext.setState(produce(this.chatContext.getState(), draft => {
21
- draft._attachmentUploads = draft._attachmentUploads || {};
22
- draft._attachmentUploads = Object.assign(Object.assign({}, draft._attachmentUploads), attachmentUploadsMap);
23
- }));
24
- }
25
- clearUploads() {
26
- this.chatContext.setState(produce(this.chatContext.getState(), (draft) => {
27
- draft._attachmentUploads = {};
28
- }));
29
- }
30
- updateAttachmentUpload(id, data) {
31
- this.chatContext.setState(produce(this.chatContext.getState(), (draft) => {
32
- var _a, _b, _c, _d;
33
- if ((_a = draft._attachmentUploads) === null || _a === void 0 ? void 0 : _a[id]) {
34
- draft._attachmentUploads[(_b = data.id) !== null && _b !== void 0 ? _b : id] = Object.assign(Object.assign({}, (_c = draft._attachmentUploads) === null || _c === void 0 ? void 0 : _c[id]), data);
35
- if (data.id) {
36
- (_d = draft._attachmentUploads) === null || _d === void 0 ? true : delete _d[id];
37
- }
38
- }
39
- }));
40
- }
41
- deleteAttachmentUploads(ids) {
42
- this.chatContext.setState(produce(this.chatContext.getState(), (draft) => {
43
- ids.forEach(id => {
44
- var _a;
45
- const keys = Object.keys((_a = draft === null || draft === void 0 ? void 0 : draft._attachmentUploads) !== null && _a !== void 0 ? _a : []).filter(rawID => { var _a; return ((_a = draft._attachmentUploads) === null || _a === void 0 ? void 0 : _a[rawID].id) === id; });
46
- keys.forEach(key => {
47
- var _a;
48
- (_a = draft._attachmentUploads) === null || _a === void 0 ? true : delete _a[key];
49
- });
50
- });
51
- }));
52
- }
53
- }
54
- /* @conditional-compile-remove(attachment-upload) */
55
- /**
56
- * @internal
57
- */
58
- export class AzureCommunicationAttachmentUploadAdapter {
59
- constructor(chatContext) {
60
- this.attachmentUploads = [];
61
- this.context = new AttachmentUploadContext(chatContext);
62
- }
63
- findAttachmentUpload(id) {
64
- return this.attachmentUploads.find(attachmentUpload => attachmentUpload.taskId === id);
65
- }
66
- deleteAttachmentUploads(ids) {
67
- this.attachmentUploads = this.attachmentUploads.filter(attachmentUpload => !ids.includes(attachmentUpload.taskId));
68
- this.context.deleteAttachmentUploads(ids);
69
- }
70
- deleteErroneousAttachmentUploads() {
71
- const attachmentUploads = this.context.getAttachmentUploads() || {};
72
- const ids = Object.values(attachmentUploads).filter((item) => item.error).map((item) => item.id);
73
- ids.forEach(id => {
74
- const attachmentUpload = this.findAttachmentUpload(id);
75
- this.unsubscribeAllEvents(attachmentUpload);
76
- });
77
- this.deleteAttachmentUploads(ids);
78
- }
79
- registerAttachmentUploads(files) {
80
- this.deleteErroneousAttachmentUploads();
81
- const attachmentUploads = [];
82
- files.forEach(file => attachmentUploads.push(new AttachmentUpload(file)));
83
- attachmentUploads.forEach(attachmentUpload => this.subscribeAllEvents(attachmentUpload));
84
- this.attachmentUploads = this.attachmentUploads.concat(attachmentUploads);
85
- this.context.addAttachmentUploads(attachmentUploads);
86
- return attachmentUploads;
87
- }
88
- registerActiveUploads(files) {
89
- return this.registerAttachmentUploads(files);
90
- }
91
- registerCompletedUploads(metadata) {
92
- return this.registerAttachmentUploads(metadata);
93
- }
94
- clearUploads() {
95
- this.context.clearUploads();
96
- this.attachmentUploads.forEach(attachmentUpload => this.unsubscribeAllEvents(attachmentUpload));
97
- this.attachmentUploads = [];
98
- }
99
- cancelUpload(id) {
100
- this.deleteErroneousAttachmentUploads();
101
- const attachmentUpload = this.findAttachmentUpload(id);
102
- this.unsubscribeAllEvents(attachmentUpload);
103
- this.deleteAttachmentUploads([id]);
104
- }
105
- updateUploadProgress(id, progress) {
106
- this.context.updateAttachmentUpload(id, {
107
- progress
108
- });
109
- }
110
- updateUploadStatusMessage(id, errorMessage) {
111
- this.context.updateAttachmentUpload(id, {
112
- error: {
113
- message: errorMessage
114
- }
115
- });
116
- }
117
- updateUploadMetadata(id, metadata) {
118
- this.context.updateAttachmentUpload(id, {
119
- progress: 1,
120
- id: metadata.id,
121
- name: metadata.name,
122
- url: metadata.url,
123
- extension: metadata.extension
124
- });
125
- }
126
- setAttachmentMetadata(taskId, attachmentId, attachmentUrl) {
127
- const attachmentUpload = this.findAttachmentUpload(taskId);
128
- this.context.updateAttachmentUpload(taskId, {
129
- progress: 1,
130
- id: attachmentId,
131
- name: attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.name,
132
- url: attachmentUrl,
133
- extension: (attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.name.split('.').pop()) || ''
134
- });
135
- }
136
- subscribeAllEvents(attachmentUpload) {
137
- attachmentUpload.on('uploadProgressChange', this.updateUploadProgress.bind(this));
138
- attachmentUpload.on('uploadComplete', this.setAttachmentMetadata.bind(this));
139
- attachmentUpload.on('uploadFail', this.updateUploadStatusMessage.bind(this));
140
- }
141
- unsubscribeAllEvents(attachmentUpload) {
142
- attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.off('uploadProgressChange', this.updateUploadProgress.bind(this));
143
- attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.off('uploadComplete', this.setAttachmentMetadata.bind(this));
144
- attachmentUpload === null || attachmentUpload === void 0 ? void 0 : attachmentUpload.off('uploadFail', this.updateUploadStatusMessage.bind(this));
145
- }
146
- }
147
- /* @conditional-compile-remove(attachment-upload) */
148
- /**
149
- * @param attachmentUploadUiState {@link _AttachmentUploadsUiState}
150
- * @private
151
- */
152
- export const convertAttachmentUploadsUiStateToMessageMetadata = (attachmentUploads) => {
153
- if (attachmentUploads) {
154
- const attachmentMetadata = [];
155
- Object.keys(attachmentUploads).forEach(key => {
156
- const attachment = attachmentUploads[key];
157
- if (attachment && !attachment.error) {
158
- attachmentMetadata.push({
159
- id: attachment.id,
160
- name: attachment.name,
161
- extension: attachment.extension,
162
- url: attachment.url,
163
- progress: attachment.progress
164
- });
165
- }
166
- });
167
- if (attachmentMetadata.length > 0) {
168
- return {
169
- fileSharingMetadata: JSON.stringify(attachmentMetadata)
170
- };
171
- }
172
- }
173
- return undefined;
174
- };
175
- /* @conditional-compile-remove(attachment-upload) */
176
- /**
177
- * @private
178
- */
179
- const convertObservableAttachmentUploadToAttachmentUploadsUiState = (attachmentUploads) => {
180
- return attachmentUploads.reduce((map, attachmentUpload) => {
181
- map[attachmentUpload.taskId] = {
182
- id: attachmentUpload.taskId,
183
- name: attachmentUpload.name,
184
- progress: 0,
185
- extension: attachmentUpload.name.split('.').pop() || ''
186
- };
187
- return map;
188
- }, {});
189
- };
3
+ export {};
190
4
  //# sourceMappingURL=AzureCommunicationAttachmentUploadAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AzureCommunicationAttachmentUploadAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AttachmentUploadTask, AttachmentMetadata, AttachmentMetadataWithProgress } from '@internal/react-components';\n/* @conditional-compile-remove(attachment-upload) */\nimport { produce } from 'immer';\n/* @conditional-compile-remove(attachment-upload) */\nimport { FileSharingMetadata, AttachmentUpload } from '../file-sharing';\n/* @conditional-compile-remove(attachment-upload) */\nimport { ChatContext } from './AzureCommunicationChatAdapter';\n/* @conditional-compile-remove(attachment-upload) */\nimport { ChatAdapterState } from './ChatAdapter';\n\n/**\n * A record containing {@link AttachmentMetadata} mapped to unique attachment upload task ids.\n * @internal\n */\nexport type _AttachmentUploadsUiState = Record<string, AttachmentMetadataWithProgress>;\n\n/**\n * @internal\n */\nexport interface _AttachmentUploadAdapter {\n registerActiveUploads: (files: File[]) => AttachmentUploadTask[];\n registerCompletedUploads: (metadata: AttachmentMetadata[]) => AttachmentUploadTask[];\n clearUploads: () => void;\n cancelUpload: (id: string) => void;\n updateUploadProgress: (id: string, progress: number) => void;\n updateUploadStatusMessage: (id: string, errorMessage: string) => void;\n updateUploadMetadata: (id: string, metadata: AttachmentMetadata) => void;\n}\n\n/* @conditional-compile-remove(attachment-upload) */\n/**\n * @internal\n */\nclass AttachmentUploadContext {\n private chatContext: ChatContext;\n constructor(chatContext: ChatContext) {\n this.chatContext = chatContext;\n }\n public getAttachmentUploads(): _AttachmentUploadsUiState | undefined {\n return this.chatContext.getState()._attachmentUploads;\n }\n public addAttachmentUploads(attachmentUploads: AttachmentUpload[]): void {\n const attachmentUploadsMap = convertObservableAttachmentUploadToAttachmentUploadsUiState(attachmentUploads);\n this.chatContext.setState(produce(this.chatContext.getState(), draft => {\n draft._attachmentUploads = draft._attachmentUploads || {};\n draft._attachmentUploads = {\n ...draft._attachmentUploads,\n ...attachmentUploadsMap\n };\n }));\n }\n public clearUploads(): void {\n this.chatContext.setState(produce(this.chatContext.getState(), (draft: ChatAdapterState) => {\n draft._attachmentUploads = {};\n }));\n }\n public updateAttachmentUpload(id: string, data: Partial<Pick<AttachmentMetadataWithProgress, 'progress' | 'id' | 'name' | 'extension' | 'error' | 'url'>>): void {\n this.chatContext.setState(produce(this.chatContext.getState(), (draft: ChatAdapterState) => {\n if (draft._attachmentUploads?.[id]) {\n draft._attachmentUploads[data.id ?? id] = {\n ...draft._attachmentUploads?.[id],\n ...data\n };\n if (data.id) {\n delete draft._attachmentUploads?.[id];\n }\n }\n }));\n }\n public deleteAttachmentUploads(ids: string[]): void {\n this.chatContext.setState(produce(this.chatContext.getState(), (draft: ChatAdapterState) => {\n ids.forEach(id => {\n const keys = Object.keys(draft?._attachmentUploads ?? []).filter(rawID => draft._attachmentUploads?.[rawID].id === id);\n keys.forEach(key => {\n delete draft._attachmentUploads?.[key];\n });\n });\n }));\n }\n}\n\n/* @conditional-compile-remove(attachment-upload) */\n/**\n * @internal\n */\nexport class AzureCommunicationAttachmentUploadAdapter implements _AttachmentUploadAdapter {\n private context: AttachmentUploadContext;\n private attachmentUploads: AttachmentUpload[] = [];\n constructor(chatContext: ChatContext) {\n this.context = new AttachmentUploadContext(chatContext);\n }\n private findAttachmentUpload(id: string): AttachmentUpload | undefined {\n return this.attachmentUploads.find(attachmentUpload => attachmentUpload.taskId === id);\n }\n private deleteAttachmentUploads(ids: string[]): void {\n this.attachmentUploads = this.attachmentUploads.filter(attachmentUpload => !ids.includes(attachmentUpload.taskId));\n this.context.deleteAttachmentUploads(ids);\n }\n private deleteErroneousAttachmentUploads(): void {\n const attachmentUploads = this.context.getAttachmentUploads() || {};\n const ids = Object.values(attachmentUploads).filter((item: AttachmentMetadataWithProgress) => item.error).map((item: AttachmentMetadataWithProgress) => item.id);\n ids.forEach(id => {\n const attachmentUpload = this.findAttachmentUpload(id);\n this.unsubscribeAllEvents(attachmentUpload);\n });\n this.deleteAttachmentUploads(ids);\n }\n private registerAttachmentUploads(files: File[] | AttachmentMetadata[]): AttachmentUploadTask[] {\n this.deleteErroneousAttachmentUploads();\n const attachmentUploads: AttachmentUpload[] = [];\n files.forEach(file => attachmentUploads.push(new AttachmentUpload(file)));\n attachmentUploads.forEach(attachmentUpload => this.subscribeAllEvents(attachmentUpload));\n this.attachmentUploads = this.attachmentUploads.concat(attachmentUploads);\n this.context.addAttachmentUploads(attachmentUploads);\n return attachmentUploads;\n }\n registerActiveUploads(files: File[]): AttachmentUploadTask[] {\n return this.registerAttachmentUploads(files);\n }\n registerCompletedUploads(metadata: AttachmentMetadata[]): AttachmentUploadTask[] {\n return this.registerAttachmentUploads(metadata);\n }\n clearUploads(): void {\n this.context.clearUploads();\n this.attachmentUploads.forEach(attachmentUpload => this.unsubscribeAllEvents(attachmentUpload));\n this.attachmentUploads = [];\n }\n cancelUpload(id: string): void {\n this.deleteErroneousAttachmentUploads();\n const attachmentUpload = this.findAttachmentUpload(id);\n this.unsubscribeAllEvents(attachmentUpload);\n this.deleteAttachmentUploads([id]);\n }\n updateUploadProgress(id: string, progress: number): void {\n this.context.updateAttachmentUpload(id, {\n progress\n });\n }\n updateUploadStatusMessage(id: string, errorMessage: string): void {\n this.context.updateAttachmentUpload(id, {\n error: {\n message: errorMessage\n }\n });\n }\n updateUploadMetadata(id: string, metadata: AttachmentMetadata): void {\n this.context.updateAttachmentUpload(id, {\n progress: 1,\n id: metadata.id,\n name: metadata.name,\n url: metadata.url,\n extension: metadata.extension\n });\n }\n setAttachmentMetadata(taskId: string, attachmentId: string, attachmentUrl: string): void {\n const attachmentUpload = this.findAttachmentUpload(taskId);\n this.context.updateAttachmentUpload(taskId, {\n progress: 1,\n id: attachmentId,\n name: attachmentUpload?.name,\n url: attachmentUrl,\n extension: attachmentUpload?.name.split('.').pop() || ''\n });\n }\n private subscribeAllEvents(attachmentUpload: AttachmentUpload): void {\n attachmentUpload.on('uploadProgressChange', this.updateUploadProgress.bind(this));\n attachmentUpload.on('uploadComplete', this.setAttachmentMetadata.bind(this));\n attachmentUpload.on('uploadFail', this.updateUploadStatusMessage.bind(this));\n }\n private unsubscribeAllEvents(attachmentUpload?: AttachmentUpload): void {\n attachmentUpload?.off('uploadProgressChange', this.updateUploadProgress.bind(this));\n attachmentUpload?.off('uploadComplete', this.setAttachmentMetadata.bind(this));\n attachmentUpload?.off('uploadFail', this.updateUploadStatusMessage.bind(this));\n }\n}\n\n/* @conditional-compile-remove(attachment-upload) */\n/**\n * @param attachmentUploadUiState {@link _AttachmentUploadsUiState}\n * @private\n */\nexport const convertAttachmentUploadsUiStateToMessageMetadata = (attachmentUploads?: _AttachmentUploadsUiState): FileSharingMetadata | undefined => {\n if (attachmentUploads) {\n const attachmentMetadata: AttachmentMetadataWithProgress[] = [];\n Object.keys(attachmentUploads).forEach(key => {\n const attachment = attachmentUploads[key];\n if (attachment && !attachment.error) {\n attachmentMetadata.push({\n id: attachment.id,\n name: attachment.name,\n extension: attachment.extension,\n url: attachment.url,\n progress: attachment.progress\n });\n }\n });\n if (attachmentMetadata.length > 0) {\n return {\n fileSharingMetadata: JSON.stringify(attachmentMetadata)\n };\n }\n }\n return undefined;\n};\n\n/* @conditional-compile-remove(attachment-upload) */\n/**\n * @private\n */\nconst convertObservableAttachmentUploadToAttachmentUploadsUiState = (attachmentUploads: AttachmentUpload[]): _AttachmentUploadsUiState => {\n return attachmentUploads.reduce((map: _AttachmentUploadsUiState, attachmentUpload) => {\n map[attachmentUpload.taskId] = {\n id: attachmentUpload.taskId,\n name: attachmentUpload.name,\n progress: 0,\n extension: attachmentUpload.name.split('.').pop() || ''\n };\n return map;\n }, {});\n};"]}
1
+ {"version":3,"file":"AzureCommunicationAttachmentUploadAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AttachmentUploadTask, AttachmentMetadata, AttachmentMetadataWithProgress } from '@internal/react-components';\n/**\n * A record containing {@link AttachmentMetadata} mapped to unique attachment upload task ids.\n * @internal\n */\nexport type _AttachmentUploadsUiState = Record<string, AttachmentMetadataWithProgress>;\n\n/**\n * @internal\n */\nexport interface _AttachmentUploadAdapter {\n registerActiveUploads: (files: File[]) => AttachmentUploadTask[];\n registerCompletedUploads: (metadata: AttachmentMetadata[]) => AttachmentUploadTask[];\n clearUploads: () => void;\n cancelUpload: (id: string) => void;\n updateUploadProgress: (id: string, progress: number) => void;\n updateUploadStatusMessage: (id: string, errorMessage: string) => void;\n updateUploadMetadata: (id: string, metadata: AttachmentMetadata) => void;\n}"]}
@@ -5,8 +5,6 @@ import { _TelemetryImplementationHint } from "../../../../../acs-ui-common/src";
5
5
  import { ChatAdapter, ChatAdapterState, MessageDeletedListener, MessageEditedListener, MessageReadListener, MessageReceivedListener, ParticipantsAddedListener, ParticipantsRemovedListener, TopicChangedListener } from './ChatAdapter';
6
6
  import { ResourceDetails } from './ChatAdapter';
7
7
  import { AdapterError } from '../../common/adapters';
8
- import { AttachmentMetadata } from "../../../../../react-components/src";
9
- import { AttachmentUploadTask } from "../../../../../react-components/src";
10
8
  /**
11
9
  * Context of Chat, which is a centralized context for all state updates
12
10
  * @private
@@ -30,7 +28,6 @@ export declare class AzureCommunicationChatAdapter implements ChatAdapter {
30
28
  private chatClient;
31
29
  private chatThreadClient;
32
30
  private context;
33
- private attachmentUploadAdapter;
34
31
  private handlers;
35
32
  private emitter;
36
33
  constructor(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient);
@@ -41,24 +38,13 @@ export declare class AzureCommunicationChatAdapter implements ChatAdapter {
41
38
  onStateChange(handler: (state: ChatAdapterState) => void): void;
42
39
  offStateChange(handler: (state: ChatAdapterState) => void): void;
43
40
  sendMessage(content: string, options?: SendMessageOptions): Promise<void>;
44
- /** Send a chat message with attachments. */
45
- sendMessageWithAttachments(content: string, attachments: AttachmentMetadata[]): Promise<void>;
46
41
  sendReadReceipt(chatMessageId: string): Promise<void>;
47
42
  sendTypingIndicator(): Promise<void>;
48
43
  removeParticipant(userId: string): Promise<void>;
49
44
  setTopic(topicName: string): Promise<void>;
50
45
  loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
51
- updateMessage(messageId: string, content: string, metadata?: Record<string, string>, options?: {
52
- attachmentMetadata?: AttachmentMetadata[];
53
- }): Promise<void>;
46
+ updateMessage(messageId: string, content: string, metadata?: Record<string, string>, options?: {}): Promise<void>;
54
47
  deleteMessage(messageId: string): Promise<void>;
55
- registerActiveUploads(files: File[]): AttachmentUploadTask[];
56
- registerCompletedUploads(metadata: AttachmentMetadata[]): AttachmentUploadTask[];
57
- clearUploads(): void;
58
- cancelUpload(id: string): void;
59
- updateUploadProgress(id: string, progress: number): void;
60
- updateUploadStatusMessage(id: string, errorMessage: string): void;
61
- updateUploadMetadata(id: string, metadata: AttachmentMetadata): void;
62
48
  downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void>;
63
49
  removeResourceFromCache(resourceDetails: ResourceDetails): void;
64
50
  private messageReceivedListener;