@azure/communication-react 1.14.0-beta.2 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (538) hide show
  1. package/dist/communication-react.d.ts +65 -1785
  2. package/dist/dist-cjs/communication-react/index.js +8999 -14017
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/common.d.ts +5 -0
  5. package/dist/dist-esm/acs-ui-common/src/common.js +7 -0
  6. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/index.d.ts +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -2
  13. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -5
  14. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  15. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.d.ts +0 -12
  16. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +1 -13
  17. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  18. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +0 -4
  19. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -10
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +0 -14
  22. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +0 -10
  24. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +1 -15
  26. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +1 -3
  28. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +0 -12
  29. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  30. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +0 -6
  31. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -8
  32. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  34. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +2 -8
  35. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  36. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.d.ts +3 -4
  37. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.d.ts +2 -14
  39. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js +1 -20
  40. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +0 -7
  42. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +0 -12
  43. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +2 -7
  46. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +0 -3
  49. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  50. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +5 -6
  51. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  52. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -15
  53. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  54. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.d.ts +1 -2
  55. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -5
  56. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  57. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -22
  58. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  59. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -5
  60. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +2 -39
  61. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  62. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -1
  63. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +0 -8
  64. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -6
  66. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  67. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.d.ts +0 -1
  68. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -8
  69. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +2 -25
  71. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +2 -33
  72. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
  74. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -8
  75. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  76. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -2
  77. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  78. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -5
  79. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  80. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +21 -131
  81. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  82. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  83. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  84. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  85. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  86. package/dist/dist-esm/chat-stateful-client/src/ChatContext.d.ts +1 -1
  87. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +28 -9
  88. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  89. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.d.ts +23 -14
  90. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +91 -70
  91. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  92. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +1 -1
  93. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  94. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -4
  95. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  96. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +1 -0
  97. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  98. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +9 -2
  99. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  100. package/dist/dist-esm/communication-react/src/index.d.ts +2 -23
  101. package/dist/dist-esm/communication-react/src/index.js +0 -12
  102. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  103. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +4 -4
  104. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  105. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.d.ts +1 -13
  106. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js +3 -7
  107. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponent.js.map +1 -1
  108. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.d.ts +1 -6
  109. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js +21 -60
  110. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsEditBox.js.map +1 -1
  111. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.d.ts +1 -17
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js +4 -30
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentAsMessageBubble.js.map +1 -1
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -8
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +2 -10
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +3 -14
  118. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +23 -57
  119. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  120. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.d.ts +1 -2
  121. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js +6 -25
  122. package/dist/dist-esm/react-components/src/components/ChatMessage/FluentChatMessageComponentWrapper.js.map +1 -1
  123. package/dist/dist-esm/react-components/src/components/FileDownloadCards.d.ts +3 -32
  124. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js +5 -27
  125. package/dist/dist-esm/react-components/src/components/FileDownloadCards.js.map +1 -1
  126. package/dist/dist-esm/react-components/src/components/ImageOverlay.d.ts +3 -3
  127. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +14 -10
  128. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  129. package/dist/dist-esm/react-components/src/components/InputBoxButton.d.ts +1 -0
  130. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +2 -2
  131. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  132. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
  133. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -18
  134. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  135. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +2 -40
  136. package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -14
  137. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  138. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -13
  139. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +0 -3
  140. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  142. package/dist/dist-esm/react-components/src/components/ParticipantList.js +4 -22
  143. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  144. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +1 -3
  145. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  146. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +0 -42
  147. package/dist/dist-esm/react-components/src/components/SendBox.js +8 -63
  148. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  149. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +1 -1
  150. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  151. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -2
  152. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  153. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -2
  154. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  155. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -24
  156. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  157. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -2
  158. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  159. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +3 -4
  160. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  161. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +4 -5
  162. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  163. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +0 -1
  164. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  165. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +4 -5
  166. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  167. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +4 -21
  168. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  169. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -2
  170. package/dist/dist-esm/react-components/src/components/VideoGallery.js +5 -12
  171. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/components/VideoTile.d.ts +0 -7
  173. package/dist/dist-esm/react-components/src/components/VideoTile.js +1 -7
  174. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  175. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -15
  176. package/dist/dist-esm/react-components/src/components/index.js +0 -10
  177. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  178. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +4 -0
  179. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +10 -0
  180. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.d.ts +10 -4
  182. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js +17 -4
  183. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +2 -2
  185. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.d.ts +15 -1
  186. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +22 -12
  187. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +16 -0
  189. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +27 -0
  190. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -0
  191. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -10
  192. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +1 -15
  193. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -4
  195. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  197. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/utils.d.ts +0 -6
  199. package/dist/dist-esm/react-components/src/components/utils.js +0 -8
  200. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  201. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  202. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -5
  203. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/index.d.ts +0 -1
  205. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +0 -57
  207. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +23 -4
  209. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +23 -4
  210. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +23 -4
  211. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +23 -4
  212. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +3 -1
  213. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +23 -4
  214. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +23 -4
  215. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +23 -4
  216. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +23 -4
  217. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +23 -4
  218. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +25 -6
  219. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +23 -4
  220. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +23 -4
  221. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +23 -4
  222. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +23 -4
  223. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +23 -4
  224. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +23 -4
  225. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +23 -4
  226. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +23 -4
  227. package/dist/dist-esm/react-components/src/localization/locales/utils.js +2 -2
  228. package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +23 -4
  230. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +23 -4
  231. package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -13
  232. package/dist/dist-esm/react-components/src/theming/icons.js +0 -102
  233. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
  235. package/dist/dist-esm/react-components/src/theming/themes.js +0 -10
  236. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +7 -0
  238. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -34
  240. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/types/OnRender.d.ts +0 -8
  242. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.d.ts +0 -6
  244. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js +0 -2
  245. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  246. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -72
  247. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +6 -31
  248. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  249. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -104
  250. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  251. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +6 -77
  252. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +7 -192
  253. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  254. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +2 -91
  255. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  256. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  257. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +7 -5
  258. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  259. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +1 -2
  260. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +1 -7
  261. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  262. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -5
  263. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js +0 -2
  264. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  265. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +9 -33
  266. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  267. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -1
  268. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +2 -38
  269. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  270. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  271. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -27
  272. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  273. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -20
  274. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  275. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -27
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  278. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  279. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +5 -31
  280. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  281. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +2 -8
  282. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  283. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +1 -0
  284. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +2 -2
  285. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -10
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  288. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +2 -6
  289. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  290. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +10 -21
  291. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  292. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +0 -4
  293. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +0 -2
  294. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  295. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +4 -33
  296. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  297. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  298. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +7 -81
  299. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  300. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +1 -2
  301. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  302. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -5
  303. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -5
  304. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  305. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +0 -4
  306. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  307. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +0 -2
  308. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  309. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +7 -2
  310. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  311. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -14
  312. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +9 -96
  313. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  314. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +1 -61
  315. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +4 -30
  316. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  317. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -32
  318. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  319. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +4 -24
  320. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +3 -92
  321. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  322. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +3 -53
  323. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  324. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -10
  325. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +1 -34
  326. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  327. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +0 -9
  328. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +1 -31
  329. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  330. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -22
  331. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +1 -9
  332. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  333. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -20
  334. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -3
  335. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  336. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -1
  337. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +70 -76
  338. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  339. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -4
  340. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  341. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +1 -13
  342. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -68
  343. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  344. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.d.ts +0 -28
  345. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js +1 -159
  346. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationFileUploadAdapter.js.map +1 -1
  347. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -13
  348. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  349. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js +0 -2
  350. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  351. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUpload.js.map +1 -1
  352. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js +1 -8
  353. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/FileUploadButton.js.map +1 -1
  354. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +1 -3
  355. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  356. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -3
  357. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  358. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.d.ts +1 -5
  359. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +0 -15
  360. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  361. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.d.ts +0 -5
  362. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +2 -3
  363. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  364. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.d.ts +0 -1
  365. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +7 -21
  366. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  367. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +10 -1
  368. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +5 -1
  369. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  370. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +1 -40
  371. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  372. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +0 -7
  373. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  374. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.d.ts +21 -0
  375. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js +45 -0
  376. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -0
  377. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +4 -37
  378. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  379. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +0 -1
  380. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js +0 -1
  381. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  382. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.d.ts +21 -0
  383. package/dist/dist-esm/react-composites/src/composites/common/Drawer/{CaptionSettingsDrawer.js → SpokenLanguageSettingsDrawer.js} +4 -3
  384. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -0
  385. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +3 -3
  386. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  387. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  388. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -3
  389. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  390. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +2 -2
  391. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +2 -14
  392. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  393. package/dist/dist-esm/react-composites/src/composites/common/SendBox.d.ts +15 -0
  394. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js +18 -0
  395. package/dist/dist-esm/react-composites/src/composites/common/SendBox.js.map +1 -0
  396. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  397. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.d.ts +1 -0
  398. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +8 -1
  399. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  400. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -24
  401. package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -23
  402. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  403. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +1 -0
  404. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  405. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +4 -15
  406. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  407. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +6 -2
  408. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +6 -2
  409. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +6 -2
  410. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +6 -2
  411. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -0
  412. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +6 -2
  413. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +6 -2
  414. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +6 -2
  415. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +6 -2
  416. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +6 -2
  417. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +7 -3
  418. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +6 -2
  419. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +6 -2
  420. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +6 -2
  421. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +6 -2
  422. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +6 -2
  423. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +6 -2
  424. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +6 -2
  425. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +6 -2
  426. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js +5 -1
  427. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js.map +1 -1
  428. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +6 -2
  429. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +6 -2
  430. package/dist/tsdoc-metadata.json +1 -1
  431. package/package.json +10 -9
  432. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +0 -45
  433. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +0 -91
  434. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +0 -1
  435. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +0 -19
  436. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +0 -91
  437. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +0 -1
  438. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.d.ts +0 -23
  439. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -49
  440. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +0 -1
  441. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  442. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  443. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  444. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  445. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -43
  446. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  447. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  448. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -75
  449. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  450. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  451. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -68
  452. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  453. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  454. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -39
  455. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  456. package/dist/dist-esm/react-components/src/components/HoldButton.d.ts +0 -49
  457. package/dist/dist-esm/react-components/src/components/HoldButton.js +0 -25
  458. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +0 -1
  459. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  460. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -123
  461. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  462. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
  463. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
  464. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
  465. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
  466. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
  467. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  468. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  469. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -816
  470. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  471. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  472. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  473. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  474. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  475. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
  476. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  477. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  478. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -92
  479. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  480. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
  481. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
  482. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
  483. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  484. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -67
  485. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.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/ChatScreenPeoplePane.d.ts +0 -18
  511. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  512. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  513. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.d.ts +0 -15
  514. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.js +0 -23
  515. package/dist/dist-esm/react-composites/src/composites/ChatComposite/FileDownloadErrorBar.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/baseSelectors.d.ts +0 -12
  520. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -15
  521. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +0 -1
  522. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.d.ts +0 -27
  523. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.js +0 -14
  524. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/fileUploadsSelector.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
  537. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.d.ts +0 -21
  538. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionSettingsDrawer.js.map +0 -1
@@ -14,7 +14,7 @@ import { isIOS } from '@fluentui/react';
14
14
  import { mergeStyles, Stack } from '@fluentui/react';
15
15
  /* @conditional-compile-remove(image-overlay) */
16
16
  import { PersonaSize } from '@fluentui/react';
17
- import { ErrorBar, MessageThread, SendBox, TypingIndicator, useTheme } from "../../../../react-components/src";
17
+ import { ErrorBar, MessageThread, TypingIndicator, useTheme } from "../../../../react-components/src";
18
18
  import React, { useCallback, useEffect, useMemo } from 'react';
19
19
  /* @conditional-compile-remove(image-overlay) */
20
20
  import { useState } from 'react';
@@ -26,27 +26,16 @@ import { useAdaptedSelector } from './hooks/useAdaptedSelector';
26
26
  import { usePropsFor } from './hooks/usePropsFor';
27
27
  import { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';
28
28
  import { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';
29
- /* @conditional-compile-remove(chat-composite-participant-pane) */
30
- import { ChatScreenPeoplePane } from './ChatScreenPeoplePane';
31
29
  import { toFlatCommunicationIdentifier } from "../../../../acs-ui-common/src";
32
- /* @conditional-compile-remove(file-sharing) */
33
- import { fileUploadsSelector } from './selectors/fileUploadsSelector';
34
- /* @conditional-compile-remove(file-sharing) */
35
- import { useSelector } from './hooks/useSelector';
36
- /* @conditional-compile-remove(file-sharing) */
37
- import { FileDownloadErrorBar } from './FileDownloadErrorBar';
38
- /* @conditional-compile-remove(file-sharing) */
39
- import { _FileDownloadCards } from "../../../../react-components/src";
40
30
  /* @conditional-compile-remove(image-overlay) */
41
31
  import { ImageOverlay } from "../../../../react-components/src";
32
+ import { SendBox } from '../common/SendBox';
42
33
  /**
43
34
  * @private
44
35
  */
45
36
  export const ChatScreen = (props) => {
46
37
  const { onFetchAvatarPersonaData, onRenderMessage, onRenderTypingIndicator, options, styles, fileSharing, formFactor } = props;
47
38
  const defaultNumberOfChatMessagesToReload = 5;
48
- /* @conditional-compile-remove(file-sharing) */
49
- const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');
50
39
  /* @conditional-compile-remove(image-overlay) */
51
40
  const [overlayImageItem, setOverlayImageItem] = useState();
52
41
  /* @conditional-compile-remove(image-overlay) */
@@ -64,35 +53,39 @@ export const ChatScreen = (props) => {
64
53
  fetchData();
65
54
  }, [adapter]);
66
55
  const messageThreadProps = usePropsFor(MessageThread);
67
- const sendBoxProps = usePropsFor(SendBox);
68
56
  const typingIndicatorProps = usePropsFor(TypingIndicator);
69
57
  const headerProps = useAdaptedSelector(getHeaderProps);
70
58
  const errorBarProps = usePropsFor(ErrorBar);
71
59
  /* @conditional-compile-remove(image-overlay) */
72
60
  useEffect(() => {
73
- var _a;
74
61
  if (overlayImageItem === undefined) {
75
62
  return;
76
63
  }
77
- const messages = messageThreadProps.messages.filter(message => {
78
- return message.messageId === (overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.messageId);
79
- });
80
- if (messages.length <= 0 || messages[0].messageType !== 'chat') {
64
+ const message = adapter.getState().thread.chatMessages[overlayImageItem.messageId];
65
+ if (message === undefined) {
81
66
  return;
82
67
  }
83
- const message = messages[0];
84
- if (overlayImageItem.imageSrc === '' && message.inlineImages && ((_a = message.inlineImages) === null || _a === void 0 ? void 0 : _a.length) > 0) {
85
- const inlineImages = message.inlineImages.filter(attachment => {
86
- return attachment.id === (overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.attachmentId);
87
- });
88
- if (inlineImages.length <= 0 || inlineImages[0].fullSizeImageSrc === undefined || inlineImages[0].fullSizeImageSrc === '' || overlayImageItem.imageSrc === inlineImages[0].fullSizeImageSrc) {
68
+ const resourceCache = message.resourceCache;
69
+ if (overlayImageItem.imageSrc === '' && resourceCache && resourceCache[overlayImageItem.imageUrl]) {
70
+ const fullSizeImageSrc = getResourceSourceUrl(resourceCache[overlayImageItem.imageUrl]);
71
+ if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' || overlayImageItem.imageSrc === fullSizeImageSrc) {
89
72
  return;
90
73
  }
91
- setOverlayImageItem(Object.assign(Object.assign({}, overlayImageItem), { imageSrc: inlineImages[0].fullSizeImageSrc }));
74
+ setOverlayImageItem(Object.assign(Object.assign({}, overlayImageItem), { imageSrc: fullSizeImageSrc }));
92
75
  }
93
76
  // 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.
94
77
  // eslint-disable-next-line react-hooks/exhaustive-deps
95
78
  }, [messageThreadProps.messages]);
79
+ const getResourceSourceUrl = (result) => {
80
+ let src = '';
81
+ if (result.error || !result.sourceUrl) {
82
+ src = 'blob://';
83
+ }
84
+ else {
85
+ src = result.sourceUrl;
86
+ }
87
+ return src;
88
+ };
96
89
  const onRenderAvatarCallback = useCallback((userId, defaultOptions) => {
97
90
  return React.createElement(AvatarPersona, Object.assign({ userId: userId, hidePersonaDetails: true }, defaultOptions, { dataProvider: onFetchAvatarPersonaData }));
98
91
  }, [onFetchAvatarPersonaData]);
@@ -102,73 +95,77 @@ export const ChatScreen = (props) => {
102
95
  const typingIndicatorStyles = useMemo(() => {
103
96
  return Object.assign({}, styles === null || styles === void 0 ? void 0 : styles.typingIndicator);
104
97
  }, [styles === null || styles === void 0 ? void 0 : styles.typingIndicator]);
105
- const sendBoxStyles = useMemo(() => {
106
- return Object.assign({}, styles === null || styles === void 0 ? void 0 : styles.sendBox);
107
- }, [styles === null || styles === void 0 ? void 0 : styles.sendBox]);
108
98
  const userId = toFlatCommunicationIdentifier(adapter.getState().userId);
109
99
  const fileUploadButtonOnChange = useCallback((files) => {
110
100
  if (!files) {
111
101
  return;
112
102
  }
113
- /* @conditional-compile-remove(file-sharing) */
114
- const fileUploads = adapter.registerActiveFileUploads(Array.from(files));
115
- /* @conditional-compile-remove(file-sharing) */
116
- fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.uploadHandler(userId, fileUploads);
117
103
  }, [adapter, fileSharing, userId]);
118
- /* @conditional-compile-remove(file-sharing) */
119
- const onRenderFileDownloads = useCallback((userId, message) => React.createElement(_FileDownloadCards, { userId: userId, fileMetadata: message.files || [], downloadHandler: fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler, onDownloadErrorMessage: (errorMessage) => {
120
- setDownloadErrorMessage(errorMessage);
121
- } }), [fileSharing === null || fileSharing === void 0 ? void 0 : fileSharing.downloadHandler]);
122
104
  /* @conditional-compile-remove(image-overlay) */
123
- const onInlineImageClicked = useCallback((attachmentId, messageId) => __awaiter(void 0, void 0, void 0, function* () {
105
+ const onInlineImageClicked = useCallback((attachmentId, messageId) => {
124
106
  var _a, _b;
125
- const messages = (_a = messageThreadProps.messages) === null || _a === void 0 ? void 0 : _a.filter(message => {
126
- return message.messageId === messageId;
127
- });
128
- if (!messages || messages.length <= 0) {
129
- return;
130
- }
131
- const chatMessage = messages[0];
132
- const inlinedImages = (_b = chatMessage.inlineImages) === null || _b === void 0 ? void 0 : _b.filter(attachment => {
133
- return attachment.id === attachmentId;
107
+ const message = adapter.getState().thread.chatMessages[messageId];
108
+ const inlinedImages = (_b = (_a = message.content) === null || _a === void 0 ? void 0 : _a.attachments) === null || _b === void 0 ? void 0 : _b.filter(attachment => {
109
+ return attachment.attachmentType === 'image' && attachment.id === attachmentId;
134
110
  });
135
111
  if (!inlinedImages || inlinedImages.length <= 0) {
136
112
  return;
137
113
  }
138
114
  const attachment = inlinedImages[0];
115
+ const resourceCache = message.resourceCache;
116
+ let imageSrc = '';
117
+ if (attachment.url) {
118
+ if (resourceCache && resourceCache[attachment.url]) {
119
+ imageSrc = getResourceSourceUrl(resourceCache[attachment.url]);
120
+ }
121
+ else {
122
+ adapter.downloadResourceToCache({
123
+ threadId: adapter.getState().thread.threadId,
124
+ messageId: messageId,
125
+ resourceUrl: attachment.url
126
+ });
127
+ }
128
+ }
139
129
  const titleIconRenderOptions = {
140
- text: chatMessage.senderDisplayName,
130
+ text: message.senderDisplayName,
141
131
  size: PersonaSize.size32,
142
132
  showOverflowTooltip: false,
143
- imageAlt: chatMessage.senderDisplayName
133
+ imageAlt: message.senderDisplayName
144
134
  };
145
- const titleIcon = onRenderAvatarCallback && onRenderAvatarCallback(chatMessage.senderId, titleIconRenderOptions);
135
+ const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;
136
+ const titleIcon = onRenderAvatarCallback && onRenderAvatarCallback(messageSenderId, titleIconRenderOptions);
146
137
  const overlayImage = {
147
- title: chatMessage.senderDisplayName || '',
138
+ title: message.senderDisplayName || '',
148
139
  titleIcon: titleIcon,
149
140
  attachmentId: attachment.id,
150
- imageSrc: attachment.fullSizeImageSrc || '',
151
- messageId: messageId
141
+ imageSrc: imageSrc,
142
+ messageId: messageId,
143
+ imageUrl: attachment.url || ''
152
144
  };
153
145
  setIsImageOverlayOpen(true);
154
146
  setOverlayImageItem(overlayImage);
155
- if (attachment.attachmentType === 'inlineImage' && attachment.url) {
156
- adapter.downloadResourceToCache({
157
- threadId: adapter.getState().thread.threadId,
158
- messageId: messageId,
159
- resourceUrl: attachment.url
160
- });
161
- }
162
- }), [adapter, messageThreadProps, onRenderAvatarCallback]);
147
+ }, [adapter, onRenderAvatarCallback, userId]);
163
148
  /* @conditional-compile-remove(image-overlay) */
164
149
  const inlineImageOptions = {
165
150
  onRenderInlineImage: (inlineImage, defaultOnRender) => {
166
- return React.createElement("span", { key: inlineImage.imgAttrs.id, onClick: () => onInlineImageClicked(inlineImage.imgAttrs.id || '', inlineImage.messageId), tabIndex: 0, role: "button", onKeyDown: e => {
151
+ var _a, _b;
152
+ const message = adapter.getState().thread.chatMessages[inlineImage.messageId];
153
+ const attachment = (_b = (_a = message === null || message === void 0 ? void 0 : message.content) === null || _a === void 0 ? void 0 : _a.attachments) === null || _b === void 0 ? void 0 : _b.find(attachment => attachment.id === inlineImage.imageAttributes.id);
154
+ if (attachment === undefined) {
155
+ return defaultOnRender(inlineImage);
156
+ }
157
+ let pointerEvents = inlineImage.imageAttributes.src === '' ? 'none' : 'auto';
158
+ const resourceCache = message.resourceCache;
159
+ if (resourceCache && attachment.previewUrl && resourceCache[attachment.previewUrl] && resourceCache[attachment.previewUrl].error) {
160
+ pointerEvents = 'none';
161
+ }
162
+ return React.createElement("span", { key: inlineImage.imageAttributes.id, onClick: () => onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId), tabIndex: 0, role: "button", onKeyDown: e => {
167
163
  if (e.key === 'Enter') {
168
- onInlineImageClicked(inlineImage.imgAttrs.id || '', inlineImage.messageId);
164
+ onInlineImageClicked(inlineImage.imageAttributes.id || '', inlineImage.messageId);
169
165
  }
170
166
  }, style: {
171
- cursor: 'pointer'
167
+ cursor: 'pointer',
168
+ pointerEvents
172
169
  } }, defaultOnRender(inlineImage));
173
170
  }
174
171
  };
@@ -204,27 +201,24 @@ export const ChatScreen = (props) => {
204
201
  (options === null || options === void 0 ? void 0 : options.topic) !== false && React.createElement(ChatHeader, Object.assign({}, headerProps)),
205
202
  React.createElement(Stack, { className: chatArea, tokens: participantListContainerPadding, horizontal: true, grow: true },
206
203
  React.createElement(Stack, { className: chatWrapper, grow: true },
207
- (options === null || options === void 0 ? void 0 : options.errorBar) !== false && React.createElement(ErrorBar, Object.assign({}, errorBarProps)), /* @conditional-compile-remove(file-sharing) */
208
- React.createElement(FileDownloadErrorBar, { onDismissDownloadErrorMessage: useCallback(() => {
209
- setDownloadErrorMessage('');
210
- }, []), fileDownloadErrorMessage: downloadErrorMessage || '' }),
211
- React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage,
212
- /* @conditional-compile-remove(file-sharing) */ onRenderFileDownloads: onRenderFileDownloads,
213
- /* @conditional-compile-remove(image-overlay) */ inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles })),
204
+ (options === null || options === void 0 ? void 0 : options.errorBar) !== false && React.createElement(ErrorBar, Object.assign({}, errorBarProps)),
205
+ React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles })),
214
206
  React.createElement(Stack, { className: mergeStyles(sendboxContainerStyles) },
215
207
  React.createElement("div", { className: mergeStyles(typingIndicatorContainerStyles) }, onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : React.createElement(TypingIndicator, Object.assign({}, typingIndicatorProps, { styles: typingIndicatorStyles }))),
216
208
  React.createElement(Stack, { horizontal: formFactor === 'mobile' },
217
209
  formFactor === 'mobile' && React.createElement(Stack, { verticalAlign: "center" },
218
210
  React.createElement(AttachFileButton, null)),
219
211
  React.createElement(Stack, { grow: true },
220
- React.createElement(SendBox, Object.assign({}, sendBoxProps, { autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus, styles: sendBoxStyles,
221
- /* @conditional-compile-remove(file-sharing) */ activeFileUploads: useSelector(fileUploadsSelector).files,
222
- /* @conditional-compile-remove(file-sharing) */ onCancelFileUpload: adapter.cancelFileUpload }))),
223
- formFactor !== 'mobile' && React.createElement(AttachFileButton, null)))), /* @conditional-compile-remove(chat-composite-participant-pane) */
224
- (options === null || options === void 0 ? void 0 : options.participantPane) === true && React.createElement(ChatScreenPeoplePane, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, isMobile: formFactor === 'mobile' })), /* @conditional-compile-remove(image-overlay) */
212
+ React.createElement(SendBox, { options: options, styles: styles === null || styles === void 0 ? void 0 : styles.sendBox })),
213
+ formFactor !== 'mobile' && React.createElement(AttachFileButton, null))))), /* @conditional-compile-remove(image-overlay) */
225
214
  overlayImageItem && React.createElement(ImageOverlay, Object.assign({}, overlayImageItem, { isOpen: isImageOverlayOpen, onDismiss: () => {
226
215
  setOverlayImageItem(undefined);
227
216
  setIsImageOverlayOpen(false);
217
+ adapter.removeResourceFromCache({
218
+ threadId: adapter.getState().thread.threadId,
219
+ messageId: overlayImageItem.messageId,
220
+ resourceUrl: overlayImageItem.imageUrl
221
+ });
228
222
  }, onDownloadButtonClicked: onDownloadButtonClicked })));
229
223
  };
230
224
  //# sourceMappingURL=ChatScreen.js.map
@@ -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\n/* @conditional-compile-remove(image-overlay) */\nimport { isIOS } from '@fluentui/react';\nimport { mergeStyles, Stack } from '@fluentui/react';\n/* @conditional-compile-remove(image-overlay) */\nimport { PersonaSize } from '@fluentui/react';\nimport { CommunicationParticipant, ErrorBar, MessageProps, MessageRenderer, MessageThread, MessageThreadStyles, ParticipantMenuItemsCallback, SendBox, SendBoxStylesProps, TypingIndicator, TypingIndicatorStylesProps, useTheme } from '@internal/react-components';\n/* @conditional-compile-remove(image-overlay) */ /* @conditional-compile-remove(file-sharing) */\nimport { ChatMessage } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo } from 'react';\n/* @conditional-compile-remove(image-overlay) */\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 { FileDownloadHandler } from '@internal/react-components';\nimport { FileUploadButtonWrapper as FileUploadButton, FileUploadHandler } 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(file-sharing) */\nimport { fileUploadsSelector } from './selectors/fileUploadsSelector';\n/* @conditional-compile-remove(file-sharing) */\nimport { useSelector } from './hooks/useSelector';\n/* @conditional-compile-remove(file-sharing) */\nimport { FileDownloadErrorBar } from './FileDownloadErrorBar';\n/* @conditional-compile-remove(file-sharing) */\nimport { _FileDownloadCards } from '@internal/react-components';\n/* @conditional-compile-remove(image-overlay) */\nimport { ImageOverlay } from '@internal/react-components';\n/* @conditional-compile-remove(image-overlay) */\nimport { InlineImage } from '@internal/react-components';\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 hasFocusOnMount?: 'sendBoxTextField';\n fileSharing?: FileSharingOptions;\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 * Properties for configuring the File Sharing feature.\n * @beta\n */\nexport interface FileSharingOptions {\n /**\n * A string containing the comma separated list of accepted file types.\n * Similar to the `accept` attribute of the `<input type=\"file\" />` element.\n * Accepts any type of file if not specified.\n * @beta\n */\n accept?: string;\n /**\n * Allows multiple files to be selected if set to `true`.\n * Similar to the `multiple` attribute of the `<input type=\"file\" />` element.\n * @defaultValue false\n * @beta\n */\n multiple?: boolean;\n /**\n * A function of type {@link FileUploadHandler} for handling file uploads.\n * @beta\n */\n uploadHandler: FileUploadHandler;\n /**\n * A function of type {@link FileDownloadHandler} for handling file downloads.\n * If the function is not specified, the file's `url` will be opened in a new tab to\n * initiate the download.\n */\n downloadHandler?: FileDownloadHandler;\n}\n\n/**\n * @private\n */\n/* @conditional-compile-remove(image-overlay) */\ninterface OverlayImageItem {\n imageSrc: string;\n title: string;\n titleIcon: JSX.Element;\n attachmentId: string;\n messageId: 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 fileSharing,\n formFactor\n } = props;\n const defaultNumberOfChatMessagesToReload = 5;\n /* @conditional-compile-remove(file-sharing) */\n const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');\n /* @conditional-compile-remove(image-overlay) */\n const [overlayImageItem, setOverlayImageItem] = useState<OverlayImageItem>();\n /* @conditional-compile-remove(image-overlay) */\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\n /* @conditional-compile-remove(image-overlay) */\n useEffect(() => {\n if (overlayImageItem === undefined) {\n return;\n }\n const messages = messageThreadProps.messages.filter(message => {\n return message.messageId === overlayImageItem?.messageId;\n });\n if (messages.length <= 0 || messages[0].messageType !== 'chat') {\n return;\n }\n const message = (messages[0] as ChatMessage);\n if (overlayImageItem.imageSrc === '' && message.inlineImages && message.inlineImages?.length > 0) {\n const inlineImages = message.inlineImages.filter(attachment => {\n return attachment.id === overlayImageItem?.attachmentId;\n });\n if (inlineImages.length <= 0 || inlineImages[0].fullSizeImageSrc === undefined || inlineImages[0].fullSizeImageSrc === '' || overlayImageItem.imageSrc === inlineImages[0].fullSizeImageSrc) {\n return;\n }\n setOverlayImageItem({\n ...overlayImageItem,\n imageSrc: inlineImages[0].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 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 fileUploadButtonOnChange = useCallback((files: FileList | null): void => {\n if (!files) {\n return;\n }\n\n /* @conditional-compile-remove(file-sharing) */\n const fileUploads = adapter.registerActiveFileUploads(Array.from(files));\n /* @conditional-compile-remove(file-sharing) */\n fileSharing?.uploadHandler(userId, fileUploads);\n }, [adapter, fileSharing, userId]);\n\n /* @conditional-compile-remove(file-sharing) */\n const onRenderFileDownloads = useCallback((userId: string, message: ChatMessage) => <_FileDownloadCards userId={userId} fileMetadata={message.files || []} downloadHandler={fileSharing?.downloadHandler} onDownloadErrorMessage={(errorMessage: string) => {\n setDownloadErrorMessage(errorMessage);\n }} />, [fileSharing?.downloadHandler]);\n\n /* @conditional-compile-remove(image-overlay) */\n const onInlineImageClicked = useCallback(async (attachmentId: string, messageId: string): Promise<void> => {\n const messages = messageThreadProps.messages?.filter(message => {\n return message.messageId === messageId;\n });\n if (!messages || messages.length <= 0) {\n return;\n }\n const chatMessage = (messages[0] as ChatMessage);\n const inlinedImages = chatMessage.inlineImages?.filter(attachment => {\n return attachment.id === attachmentId;\n });\n if (!inlinedImages || inlinedImages.length <= 0) {\n return;\n }\n const attachment = inlinedImages[0];\n const titleIconRenderOptions = {\n text: chatMessage.senderDisplayName,\n size: PersonaSize.size32,\n showOverflowTooltip: false,\n imageAlt: chatMessage.senderDisplayName\n };\n const titleIcon = onRenderAvatarCallback && onRenderAvatarCallback(chatMessage.senderId, titleIconRenderOptions);\n const overlayImage: OverlayImageItem = {\n title: chatMessage.senderDisplayName || '',\n titleIcon: titleIcon,\n attachmentId: attachment.id,\n imageSrc: attachment.fullSizeImageSrc || '',\n messageId: messageId\n };\n setIsImageOverlayOpen(true);\n setOverlayImageItem(overlayImage);\n if (attachment.attachmentType === 'inlineImage' && attachment.url) {\n adapter.downloadResourceToCache({\n threadId: adapter.getState().thread.threadId,\n messageId: messageId,\n resourceUrl: attachment.url\n });\n }\n }, [adapter, messageThreadProps, onRenderAvatarCallback]);\n\n /* @conditional-compile-remove(image-overlay) */\n const inlineImageOptions = {\n onRenderInlineImage: (inlineImage: InlineImage, defaultOnRender: (inlineImage: InlineImage) => JSX.Element): JSX.Element => {\n return <span key={inlineImage.imgAttrs.id} onClick={() => onInlineImageClicked(inlineImage.imgAttrs.id || '', inlineImage.messageId)} tabIndex={0} role=\"button\" onKeyDown={e => {\n if (e.key === 'Enter') {\n onInlineImageClicked(inlineImage.imgAttrs.id || '', inlineImage.messageId);\n }\n }} style={{\n cursor: 'pointer'\n }}>\n {defaultOnRender(inlineImage)}\n </span>;\n }\n };\n\n /* @conditional-compile-remove(image-overlay) */\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 AttachFileButton = useCallback(() => {\n if (!fileSharing?.uploadHandler) {\n return null;\n }\n return <FileUploadButton accept={fileSharing?.accept} multiple={fileSharing?.multiple} onChange={fileUploadButtonOnChange} />;\n }, [fileSharing?.accept, fileSharing?.multiple, fileSharing?.uploadHandler, fileUploadButtonOnChange]);\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(file-sharing) */\n <FileDownloadErrorBar onDismissDownloadErrorMessage={useCallback(() => {\n setDownloadErrorMessage('');\n }, [])} fileDownloadErrorMessage={downloadErrorMessage || ''} />}\n <MessageThread {...messageThreadProps} onRenderAvatar={onRenderAvatarCallback} onRenderMessage={onRenderMessage}\n /* @conditional-compile-remove(file-sharing) */ onRenderFileDownloads={onRenderFileDownloads}\n /* @conditional-compile-remove(image-overlay) */ 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 <AttachFileButton />\n </Stack>}\n <Stack grow>\n <SendBox {...sendBoxProps} autoFocus={options?.autoFocus} styles={sendBoxStyles}\n /* @conditional-compile-remove(file-sharing) */ activeFileUploads={useSelector(fileUploadsSelector).files}\n /* @conditional-compile-remove(file-sharing) */ onCancelFileUpload={adapter.cancelFileUpload} />\n </Stack>\n {formFactor !== 'mobile' && <AttachFileButton />}\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 {/* @conditional-compile-remove(image-overlay) */\n overlayImageItem && <ImageOverlay {...overlayImageItem} isOpen={isImageOverlayOpen} onDismiss={() => {\n setOverlayImageItem(undefined);\n setIsImageOverlayOpen(false);\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\n/* @conditional-compile-remove(image-overlay) */\nimport { isIOS } from '@fluentui/react';\nimport { mergeStyles, Stack } from '@fluentui/react';\n/* @conditional-compile-remove(image-overlay) */\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';\n/* @conditional-compile-remove(image-overlay) */\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 { FileDownloadHandler } from '@internal/react-components';\nimport { FileUploadButtonWrapper as FileUploadButton, FileUploadHandler } 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';\n/* @conditional-compile-remove(image-overlay) */\nimport { ImageOverlay } from '@internal/react-components';\n/* @conditional-compile-remove(image-overlay) */\nimport { InlineImage } from '@internal/react-components';\nimport { SendBox } from '../common/SendBox';\nimport { ResourceFetchResult } from '@internal/chat-stateful-client';\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 fileSharing?: FileSharingOptions;\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 * Properties for configuring the File Sharing feature.\n * @beta\n */\nexport interface FileSharingOptions {\n /**\n * A string containing the comma separated list of accepted file types.\n * Similar to the `accept` attribute of the `<input type=\"file\" />` element.\n * Accepts any type of file if not specified.\n * @beta\n */\n accept?: string;\n /**\n * Allows multiple files to be selected if set to `true`.\n * Similar to the `multiple` attribute of the `<input type=\"file\" />` element.\n * @defaultValue false\n * @beta\n */\n multiple?: boolean;\n /**\n * A function of type {@link FileUploadHandler} for handling file uploads.\n * @beta\n */\n uploadHandler: FileUploadHandler;\n /**\n * A function of type {@link FileDownloadHandler} for handling file downloads.\n * If the function is not specified, the file's `url` will be opened in a new tab to\n * initiate the download.\n */\n downloadHandler?: FileDownloadHandler;\n}\n\n/**\n * @private\n */\n/* @conditional-compile-remove(image-overlay) */\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 fileSharing,\n formFactor\n } = props;\n const defaultNumberOfChatMessagesToReload = 5;\n /* @conditional-compile-remove(image-overlay) */\n const [overlayImageItem, setOverlayImageItem] = useState<OverlayImageItem>();\n /* @conditional-compile-remove(image-overlay) */\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 typingIndicatorProps = usePropsFor(TypingIndicator);\n const headerProps = useAdaptedSelector(getHeaderProps);\n const errorBarProps = usePropsFor(ErrorBar);\n\n /* @conditional-compile-remove(image-overlay) */\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 userId = toFlatCommunicationIdentifier(adapter.getState().userId);\n const fileUploadButtonOnChange = useCallback((files: FileList | null): void => {\n if (!files) {\n return;\n }\n }, [adapter, fileSharing, userId]);\n /* @conditional-compile-remove(image-overlay) */\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\n /* @conditional-compile-remove(image-overlay) */\n const inlineImageOptions = {\n onRenderInlineImage: (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 }\n };\n\n /* @conditional-compile-remove(image-overlay) */\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 AttachFileButton = useCallback(() => {\n if (!fileSharing?.uploadHandler) {\n return null;\n }\n return <FileUploadButton accept={fileSharing?.accept} multiple={fileSharing?.multiple} onChange={fileUploadButtonOnChange} />;\n }, [fileSharing?.accept, fileSharing?.multiple, fileSharing?.uploadHandler, fileUploadButtonOnChange]);\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} /* @conditional-compile-remove(image-overlay) */\n 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 <AttachFileButton />\n </Stack>}\n <Stack grow>\n <SendBox options={options} styles={styles?.sendBox} />\n </Stack>\n {formFactor !== 'mobile' && <AttachFileButton />}\n </Stack>\n </Stack>\n </Stack>\n {}\n </Stack>\n {/* @conditional-compile-remove(image-overlay) */\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 File Button text
15
- */
16
- uploadFile: 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(file-sharing) */\n /**\n * Upload File Button text\n */\n uploadFile: 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}"]}
@@ -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 { FileUploadManager } from '../file-sharing';
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 fileUploadAdapter;
34
31
  private handlers;
35
32
  private emitter;
36
33
  constructor(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient);
@@ -46,17 +43,8 @@ export declare class AzureCommunicationChatAdapter implements ChatAdapter {
46
43
  removeParticipant(userId: string): Promise<void>;
47
44
  setTopic(topicName: string): Promise<void>;
48
45
  loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
49
- updateMessage(messageId: string, content: string, metadata?: Record<string, string>, options?: {
50
- attachmentMetadata?: AttachmentMetadata[];
51
- }): Promise<void>;
46
+ updateMessage(messageId: string, content: string, metadata?: Record<string, string>, options?: {}): Promise<void>;
52
47
  deleteMessage(messageId: string): Promise<void>;
53
- registerActiveFileUploads(files: File[]): FileUploadManager[];
54
- registerCompletedFileUploads(metadata: AttachmentMetadata[]): FileUploadManager[];
55
- clearFileUploads(): void;
56
- cancelFileUpload(id: string): void;
57
- updateFileUploadProgress(id: string, progress: number): void;
58
- updateFileUploadErrorMessage(id: string, errorMessage: string): void;
59
- updateFileUploadMetadata(id: string, metadata: AttachmentMetadata): void;
60
48
  downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void>;
61
49
  removeResourceFromCache(resourceDetails: ResourceDetails): void;
62
50
  private messageReceivedListener;
@@ -20,10 +20,6 @@ import { _createStatefulChatClientInner } from "../../../../../chat-stateful-cli
20
20
  import { createDefaultChatHandlers } from "../../../../../chat-component-bindings/src";
21
21
  import { toFlatCommunicationIdentifier } from "../../../../../acs-ui-common/src";
22
22
  import EventEmitter from 'events';
23
- /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
24
- import { convertFileUploadsUiStateToMessageMetadata } from './AzureCommunicationFileUploadAdapter';
25
- /* @conditional-compile-remove(file-sharing) */
26
- import { AzureCommunicationFileUploadAdapter } from './AzureCommunicationFileUploadAdapter';
27
23
  import { useEffect, useRef, useState } from 'react';
28
24
  import { _isValidIdentifier } from "../../../../../acs-ui-common/src";
29
25
  /**
@@ -72,8 +68,6 @@ export class ChatContext {
72
68
  thread,
73
69
  latestErrors: clientState.latestErrors
74
70
  };
75
- /* @conditional-compile-remove(file-sharing) */
76
- updatedState = Object.assign(Object.assign({}, updatedState), { fileUploads: this.state.fileUploads });
77
71
  this.setState(updatedState);
78
72
  }
79
73
  }
@@ -87,8 +81,6 @@ export class AzureCommunicationChatAdapter {
87
81
  this.chatClient = chatClient;
88
82
  this.chatThreadClient = chatThreadClient;
89
83
  this.context = new ChatContext(chatClient.getState(), chatThreadClient.threadId);
90
- /* @conditional-compile-remove(file-sharing) */
91
- this.fileUploadAdapter = new AzureCommunicationFileUploadAdapter(this.context);
92
84
  const onStateChange = (clientState) => {
93
85
  // unsubscribe when the instance gets disposed
94
86
  if (!this) {
@@ -117,20 +109,6 @@ export class AzureCommunicationChatAdapter {
117
109
  this.loadPreviousChatMessages = this.loadPreviousChatMessages.bind(this);
118
110
  this.on = this.on.bind(this);
119
111
  this.off = this.off.bind(this);
120
- /* @conditional-compile-remove(file-sharing) */
121
- this.registerActiveFileUploads = this.registerActiveFileUploads.bind(this);
122
- /* @conditional-compile-remove(file-sharing) */
123
- this.registerCompletedFileUploads = this.registerCompletedFileUploads.bind(this);
124
- /* @conditional-compile-remove(file-sharing) */
125
- this.clearFileUploads = this.clearFileUploads.bind(this);
126
- /* @conditional-compile-remove(file-sharing) */
127
- this.cancelFileUpload = this.cancelFileUpload.bind(this);
128
- /* @conditional-compile-remove(file-sharing) */
129
- this.updateFileUploadProgress = this.updateFileUploadProgress.bind(this);
130
- /* @conditional-compile-remove(file-sharing) */
131
- this.updateFileUploadErrorMessage = this.updateFileUploadErrorMessage.bind(this);
132
- /* @conditional-compile-remove(file-sharing) */
133
- this.updateFileUploadMetadata = this.updateFileUploadMetadata.bind(this);
134
112
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
135
113
  this.downloadResourceToCache = this.downloadResourceToCache.bind(this);
136
114
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
@@ -182,17 +160,6 @@ export class AzureCommunicationChatAdapter {
182
160
  sendMessage(content, options = {}) {
183
161
  return __awaiter(this, void 0, void 0, function* () {
184
162
  yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
185
- /* @conditional-compile-remove(file-sharing) */
186
- options.metadata = Object.assign(Object.assign({}, options.metadata), convertFileUploadsUiStateToMessageMetadata(this.context.getState().fileUploads));
187
- /* @conditional-compile-remove(file-sharing) */
188
- /**
189
- * All the current uploads need to be clear from the state before a message has been sent.
190
- * This ensures the following behavior:
191
- * 1. File Upload cards are removed from sendbox at the same time text in sendbox is removed.
192
- * 2. any component rendering these file uploads doesn't continue to do so.
193
- * 3. Cleans the state for new file uploads with a fresh message.
194
- */
195
- this.fileUploadAdapter.clearFileUploads();
196
163
  yield this.handlers.onSendMessage(content, options);
197
164
  }));
198
165
  });
@@ -235,13 +202,6 @@ export class AzureCommunicationChatAdapter {
235
202
  updateMessage(messageId, content, metadata, options) {
236
203
  return __awaiter(this, void 0, void 0, function* () {
237
204
  return yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
238
- /* @conditional-compile-remove(file-sharing) */
239
- const updatedOptions = options ? {
240
- attachmentMetadata: options.attachmentMetadata,
241
- metadata: metadata
242
- } : {};
243
- /* @conditional-compile-remove(file-sharing) */
244
- return yield this.handlers.onUpdateMessage(messageId, content, updatedOptions);
245
205
  return yield this.handlers.onUpdateMessage(messageId, content);
246
206
  }));
247
207
  });
@@ -253,34 +213,6 @@ export class AzureCommunicationChatAdapter {
253
213
  }));
254
214
  });
255
215
  }
256
- /* @conditional-compile-remove(file-sharing) */
257
- registerActiveFileUploads(files) {
258
- return this.fileUploadAdapter.registerActiveFileUploads(files);
259
- }
260
- /* @conditional-compile-remove(file-sharing) */
261
- registerCompletedFileUploads(metadata) {
262
- return this.fileUploadAdapter.registerCompletedFileUploads(metadata);
263
- }
264
- /* @conditional-compile-remove(file-sharing) */
265
- clearFileUploads() {
266
- this.fileUploadAdapter.clearFileUploads();
267
- }
268
- /* @conditional-compile-remove(file-sharing) */
269
- cancelFileUpload(id) {
270
- this.fileUploadAdapter.cancelFileUpload(id);
271
- }
272
- /* @conditional-compile-remove(file-sharing) */
273
- updateFileUploadProgress(id, progress) {
274
- this.fileUploadAdapter.updateFileUploadProgress(id, progress);
275
- }
276
- /* @conditional-compile-remove(file-sharing) */
277
- updateFileUploadErrorMessage(id, errorMessage) {
278
- this.fileUploadAdapter.updateFileUploadErrorMessage(id, errorMessage);
279
- }
280
- /* @conditional-compile-remove(file-sharing) */
281
- updateFileUploadMetadata(id, metadata) {
282
- this.fileUploadAdapter.updateFileUploadMetadata(id, metadata);
283
- }
284
216
  /* @conditional-compile-remove(teams-inline-images-and-file-sharing) */
285
217
  downloadResourceToCache(resourceDetails) {
286
218
  return __awaiter(this, void 0, void 0, function* () {