@azure/communication-react 1.22.0-beta.1 → 1.22.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 (577) hide show
  1. package/dist/communication-react.d.ts +348 -1690
  2. package/dist/dist-cjs/communication-react/index.js +36397 -172
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/common.d.ts +0 -13
  5. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/constants.d.ts +0 -5
  7. package/dist/dist-esm/acs-ui-common/src/constants.js +0 -5
  8. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/index.d.ts +0 -4
  10. package/dist/dist-esm/acs-ui-common/src/index.js +0 -3
  11. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +5 -13
  15. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -11
  16. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  17. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.d.ts +18 -18
  18. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +6 -6
  19. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  20. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -11
  21. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +0 -6
  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/createHandlers.js +1 -5
  24. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +1 -19
  26. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +3 -2
  28. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +8 -1
  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 +2 -3
  31. package/dist/dist-esm/calling-component-bindings/src/index.js +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +5 -34
  34. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.d.ts +0 -1
  36. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +1 -3
  37. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -1
  39. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +2 -2
  40. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  41. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +0 -4
  42. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  43. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +2 -79
  44. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  45. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +0 -15
  46. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +2 -95
  47. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  48. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -5
  49. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +4 -27
  50. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  51. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -3
  52. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  53. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.d.ts +0 -1
  54. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +1 -7
  55. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  56. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +0 -17
  57. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  58. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -3
  59. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  60. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +2 -6
  61. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -35
  62. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  63. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.d.ts +1 -2
  64. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +0 -3
  65. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  66. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +3 -26
  67. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  68. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +0 -6
  69. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  70. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -3
  71. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  72. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -15
  73. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  74. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +1 -2
  75. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  76. package/dist/dist-esm/chat-stateful-client/src/index.d.ts +0 -1
  77. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  78. package/dist/dist-esm/communication-react/src/index.d.ts +8 -29
  79. package/dist/dist-esm/communication-react/src/index.js +3 -6
  80. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  81. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +0 -2
  82. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +0 -1
  83. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  84. package/dist/dist-esm/react-components/src/components/Caption.d.ts +2 -2
  85. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  86. package/dist/dist-esm/react-components/src/components/CaptionsBanner.d.ts +42 -11
  87. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +6 -3
  88. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  89. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.d.ts +86 -17
  90. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +17 -6
  91. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  92. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -13
  93. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +3 -9
  94. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  95. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +0 -11
  96. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -32
  97. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  98. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -8
  99. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +5 -9
  100. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  101. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -2
  102. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +4 -4
  103. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  104. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.d.ts +1 -4
  105. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +6 -31
  106. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  107. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +1 -15
  108. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +0 -9
  109. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  110. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -23
  111. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +6 -17
  112. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  113. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -8
  114. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -10
  115. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  116. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +5 -5
  117. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  118. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +1 -1
  119. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  120. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +1 -1
  121. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  122. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +0 -2
  123. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  124. package/dist/dist-esm/react-components/src/components/InputBoxComponent.d.ts +0 -2
  125. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +0 -15
  126. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  127. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +5 -81
  128. package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -13
  129. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  130. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +0 -20
  131. package/dist/dist-esm/react-components/src/components/NotificationStack.js +0 -5
  132. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  133. package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +0 -15
  134. package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -12
  135. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  136. package/dist/dist-esm/react-components/src/components/ParticipantsButton.d.ts +4 -0
  137. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +1 -1
  138. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  139. package/dist/dist-esm/react-components/src/components/ReactionButton.js +1 -1
  140. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  141. package/dist/dist-esm/react-components/src/components/SendBox.d.ts +1 -47
  142. package/dist/dist-esm/react-components/src/components/SendBox.js +6 -57
  143. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  144. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.d.ts +10 -10
  145. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +6 -3
  146. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  147. package/dist/dist-esm/react-components/src/components/SystemMessage.js +17 -6
  148. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  149. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +0 -1
  150. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  151. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +0 -1
  152. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  153. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +0 -19
  154. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  155. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +0 -1
  156. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  157. package/dist/dist-esm/react-components/src/components/index.d.ts +0 -20
  158. package/dist/dist-esm/react-components/src/components/index.js +0 -7
  159. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  160. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
  161. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.d.ts +1 -1
  162. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js +4 -4
  163. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  164. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js +4 -2
  165. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  166. package/dist/dist-esm/react-components/src/components/styles/Common.style.d.ts +0 -13
  167. package/dist/dist-esm/react-components/src/components/styles/Common.style.js +0 -13
  168. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  169. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
  170. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +0 -8
  171. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  172. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -37
  173. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -30
  174. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  175. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -4
  176. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +2 -9
  177. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  178. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +1 -38
  179. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +4 -131
  180. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/utils/common.js +0 -2
  182. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -2
  184. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  185. package/dist/dist-esm/react-components/src/components/utils.d.ts +2 -2
  186. package/dist/dist-esm/react-components/src/components/utils.js +6 -9
  187. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +0 -4
  189. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -3
  190. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  191. package/dist/dist-esm/react-components/src/index.d.ts +1 -2
  192. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  193. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +16 -55
  194. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  195. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +128 -2
  196. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +128 -2
  197. package/dist/dist-esm/react-components/src/localization/locales/cy-GB/strings.json +128 -2
  198. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +128 -2
  199. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +128 -2
  200. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +128 -2
  201. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +128 -2
  202. package/dist/dist-esm/react-components/src/localization/locales/es-MX/strings.json +128 -2
  203. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +128 -2
  204. package/dist/dist-esm/react-components/src/localization/locales/fr-CA/strings.json +128 -2
  205. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +128 -2
  206. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +128 -2
  207. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +128 -2
  208. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +128 -2
  209. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +128 -2
  210. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +128 -2
  211. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +128 -2
  212. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +128 -2
  213. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +128 -2
  214. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +128 -2
  215. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +128 -2
  216. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +128 -2
  217. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +128 -2
  218. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +128 -2
  219. package/dist/dist-esm/react-components/src/theming/icons.d.ts +0 -30
  220. package/dist/dist-esm/react-components/src/theming/icons.js +5 -96
  221. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/theming/themes.d.ts +0 -6
  223. package/dist/dist-esm/react-components/src/theming/themes.js +0 -9
  224. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  225. package/dist/dist-esm/react-components/src/types/Attachment.d.ts +0 -13
  226. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  227. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.d.ts +4 -4
  228. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  229. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -20
  230. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  231. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +8 -73
  232. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +8 -21
  233. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  234. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +0 -34
  235. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  236. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +5 -47
  237. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +7 -105
  238. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  239. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -24
  240. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -1
  241. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  242. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +0 -2
  243. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  244. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +2 -0
  245. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +5 -11
  246. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  247. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.d.ts +0 -2
  248. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +0 -19
  249. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  250. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +2 -10
  251. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  252. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.d.ts +0 -2
  253. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +0 -19
  254. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  255. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.d.ts +0 -1
  256. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +3 -5
  257. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  258. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.d.ts +0 -1
  259. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +1 -19
  260. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  261. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +1 -2
  262. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  263. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +0 -3
  264. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  265. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -3
  266. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  267. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -2
  268. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +7 -5
  269. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  270. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +0 -7
  271. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +5 -40
  272. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  273. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +2 -2
  274. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  275. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +2 -2
  276. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  277. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +2 -2
  278. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  279. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +0 -18
  280. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +0 -16
  281. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  282. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.d.ts +2 -1
  283. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +29 -10
  284. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  285. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -12
  286. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +0 -59
  287. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  288. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +0 -65
  289. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +5 -24
  290. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  291. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +0 -8
  292. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  293. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +3 -22
  294. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +2 -136
  295. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  296. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +3 -28
  297. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  298. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +0 -2
  299. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -9
  300. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  301. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +4 -10
  302. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +2 -14
  303. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  304. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -11
  305. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +1 -2
  306. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  307. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.d.ts +0 -5
  308. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +0 -13
  309. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  310. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +0 -27
  311. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +1 -2
  312. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  313. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.d.ts +0 -2
  314. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +11 -189
  315. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  316. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.d.ts +0 -20
  317. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  318. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -6
  319. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +0 -36
  320. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  321. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -12
  322. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  323. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +2 -13
  324. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  325. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.d.ts +0 -2
  326. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  327. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +0 -4
  328. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +0 -4
  329. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  330. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +1 -13
  331. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  332. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.d.ts +1 -1
  333. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js +8 -3
  334. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js.map +1 -1
  335. package/dist/dist-esm/react-composites/src/composites/common/{CaptionsBanner.d.ts → CallingCaptionsBanner.d.ts} +2 -2
  336. package/dist/dist-esm/react-composites/src/composites/common/{CaptionsBanner.js → CallingCaptionsBanner.js} +8 -11
  337. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsBanner.js.map +1 -0
  338. package/dist/dist-esm/react-composites/src/composites/common/{CaptionsSettingsModal.d.ts → CallingCaptionsSettingsModal.d.ts} +2 -2
  339. package/dist/dist-esm/react-composites/src/composites/common/{CaptionsSettingsModal.js → CallingCaptionsSettingsModal.js} +6 -9
  340. package/dist/dist-esm/react-composites/src/composites/common/CallingCaptionsSettingsModal.js.map +1 -0
  341. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +7 -10
  342. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  343. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +5 -17
  344. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  345. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +5 -9
  346. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  347. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -1
  348. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +5 -0
  349. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +12 -14
  350. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  351. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +2 -0
  352. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  353. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -1
  354. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -2
  355. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  356. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +2 -41
  357. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +0 -21
  358. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  359. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js.map +1 -1
  360. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -1
  361. package/dist/dist-esm/react-composites/src/composites/common/adapters.d.ts +0 -23
  362. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  363. package/dist/dist-esm/react-composites/src/composites/common/constants.d.ts +0 -5
  364. package/dist/dist-esm/react-composites/src/composites/common/constants.js +0 -5
  365. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  366. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -32
  367. package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -2
  368. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  369. package/dist/dist-esm/react-composites/src/composites/common/utils.d.ts +0 -4
  370. package/dist/dist-esm/react-composites/src/composites/common/utils.js +0 -22
  371. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  372. package/dist/dist-esm/react-composites/src/composites/index.d.ts +0 -1
  373. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  374. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +25 -1
  375. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +25 -1
  376. package/dist/dist-esm/react-composites/src/composites/localization/locales/cy-GB/strings.json +25 -1
  377. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +25 -1
  378. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +25 -1
  379. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +25 -1
  380. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +25 -1
  381. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-MX/strings.json +25 -1
  382. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +25 -1
  383. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-CA/strings.json +25 -1
  384. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +25 -1
  385. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +25 -1
  386. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +25 -1
  387. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +25 -1
  388. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +25 -1
  389. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +25 -1
  390. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +25 -1
  391. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +25 -1
  392. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +25 -1
  393. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +25 -1
  394. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +25 -1
  395. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +25 -1
  396. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +25 -1
  397. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +25 -1
  398. package/package.json +5 -5
  399. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CwxvsFHy.js +0 -206
  400. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CwxvsFHy.js.map +0 -1
  401. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-DMdQIGV5.js +0 -50
  402. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-DMdQIGV5.js.map +0 -1
  403. package/dist/dist-cjs/communication-react/index-D7R-o8dv.js +0 -43117
  404. package/dist/dist-cjs/communication-react/index-D7R-o8dv.js.map +0 -1
  405. package/dist/dist-esm/acs-ui-common/src/dataConversion.d.ts +0 -6
  406. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +0 -20
  407. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +0 -1
  408. package/dist/dist-esm/acs-ui-common/src/removeImageTags.d.ts +0 -7
  409. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +0 -18
  410. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +0 -1
  411. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.d.ts +0 -20
  412. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +0 -118
  413. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +0 -1
  414. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.d.ts +0 -17
  415. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +0 -33
  416. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +0 -1
  417. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +0 -6
  418. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +0 -20
  419. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +0 -1
  420. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.d.ts +0 -10
  421. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +0 -15
  422. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +0 -1
  423. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +0 -24
  424. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +0 -196
  425. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +0 -1
  426. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.d.ts +0 -69
  427. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +0 -36
  428. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +0 -1
  429. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.d.ts +0 -75
  430. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +0 -67
  431. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +0 -1
  432. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.d.ts +0 -105
  433. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +0 -51
  434. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +0 -1
  435. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.d.ts +0 -86
  436. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +0 -40
  437. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +0 -1
  438. package/dist/dist-esm/react-components/src/components/MentionPopover.d.ts +0 -121
  439. package/dist/dist-esm/react-components/src/components/MentionPopover.js +0 -119
  440. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +0 -1
  441. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.d.ts +0 -9
  442. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js +0 -29
  443. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +0 -1
  444. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +0 -30
  445. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +0 -98
  446. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +0 -1
  447. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.d.ts +0 -12
  448. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js +0 -23
  449. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +0 -1
  450. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +0 -15
  451. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +0 -42
  452. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +0 -1
  453. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.d.ts +0 -24
  454. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +0 -64
  455. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +0 -1
  456. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.d.ts +0 -20
  457. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js +0 -45
  458. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +0 -1
  459. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.d.ts +0 -14
  460. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +0 -42
  461. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +0 -1
  462. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.d.ts +0 -29
  463. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +0 -87
  464. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +0 -1
  465. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +0 -58
  466. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +0 -332
  467. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +0 -1
  468. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +0 -37
  469. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +0 -75
  470. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +0 -1
  471. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +0 -215
  472. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +0 -168
  473. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +0 -1
  474. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.d.ts +0 -16
  475. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +0 -75
  476. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +0 -1
  477. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.d.ts +0 -19
  478. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +0 -221
  479. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +0 -1
  480. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.d.ts +0 -7
  481. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +0 -51
  482. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +0 -1
  483. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.d.ts +0 -15
  484. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +0 -64
  485. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +0 -1
  486. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.d.ts +0 -6
  487. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +0 -13
  488. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +0 -1
  489. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.d.ts +0 -56
  490. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +0 -75
  491. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +0 -1
  492. package/dist/dist-esm/react-components/src/components/SendBoxErrors.d.ts +0 -14
  493. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +0 -18
  494. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +0 -1
  495. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.d.ts +0 -24
  496. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +0 -550
  497. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +0 -1
  498. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.d.ts +0 -152
  499. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +0 -819
  500. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +0 -1
  501. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.d.ts +0 -58
  502. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js +0 -144
  503. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +0 -1
  504. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.d.ts +0 -26
  505. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js +0 -69
  506. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +0 -1
  507. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.d.ts +0 -82
  508. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +0 -320
  509. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +0 -1
  510. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.d.ts +0 -21
  511. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +0 -38
  512. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +0 -1
  513. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.d.ts +0 -38
  514. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js +0 -99
  515. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +0 -1
  516. package/dist/dist-esm/react-components/src/components/styles/Stack.style.d.ts +0 -5
  517. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js +0 -32
  518. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +0 -1
  519. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.d.ts +0 -26
  520. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js +0 -69
  521. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +0 -1
  522. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.d.ts +0 -72
  523. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +0 -177
  524. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +0 -1
  525. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.d.ts +0 -33
  526. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +0 -119
  527. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +0 -1
  528. package/dist/dist-esm/react-components/src/components/utils/merge.d.ts +0 -7
  529. package/dist/dist-esm/react-components/src/components/utils/merge.js +0 -16
  530. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +0 -1
  531. package/dist/dist-esm/react-components/src/theming/icons.styles.d.ts +0 -6
  532. package/dist/dist-esm/react-components/src/theming/icons.styles.js +0 -25
  533. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +0 -1
  534. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.d.ts +0 -47
  535. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +0 -48
  536. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +0 -1
  537. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.d.ts +0 -11
  538. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +0 -36
  539. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +0 -1
  540. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +0 -49
  541. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +0 -203
  542. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +0 -1
  543. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.d.ts +0 -7
  544. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +0 -14
  545. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +0 -1
  546. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.d.ts +0 -15
  547. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +0 -41
  548. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +0 -1
  549. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.d.ts +0 -15
  550. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +0 -23
  551. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +0 -1
  552. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.d.ts +0 -18
  553. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +0 -18
  554. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +0 -1
  555. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.d.ts +0 -49
  556. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +0 -44
  557. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +0 -1
  558. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.d.ts +0 -39
  559. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +0 -265
  560. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +0 -1
  561. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.d.ts +0 -80
  562. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +0 -36
  563. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +0 -1
  564. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.d.ts +0 -38
  565. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +0 -67
  566. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +0 -1
  567. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.d.ts +0 -5
  568. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js +0 -5
  569. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +0 -1
  570. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +0 -1
  571. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +0 -1
  572. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.d.ts +0 -12
  573. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +0 -52
  574. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +0 -1
  575. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.d.ts +0 -10
  576. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +0 -16
  577. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +0 -1
@@ -14,53 +14,29 @@ import { mergeStyles, Stack } from '@fluentui/react';
14
14
  import { PersonaSize } from '@fluentui/react';
15
15
  import { ErrorBar, MessageThread, TypingIndicator, useTheme } from "../../../../react-components/src";
16
16
  import React, { useCallback, useEffect, useMemo } from 'react';
17
- import { useReducer } from 'react';
18
17
  import { useState } from 'react';
19
18
  import { AvatarPersona } from '../common/AvatarPersona';
20
19
  import { useAdapter } from './adapter/ChatAdapterProvider';
21
20
  import { ChatHeader, getHeaderProps } from './ChatHeader';
22
- import { AttachmentUploadButtonWrapper as AttachmentUploadButton } from './file-sharing';
23
21
  import { useAdaptedSelector } from './hooks/useAdaptedSelector';
24
22
  import { usePropsFor } from './hooks/usePropsFor';
25
23
  import { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';
26
24
  import { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';
27
- import { ChatScreenPeoplePane } from './ChatScreenPeoplePane';
28
25
  import { toFlatCommunicationIdentifier } from "../../../../acs-ui-common/src";
29
- import { removeImageTags } from "../../../../acs-ui-common/src";
30
- import { AttachmentDownloadErrorBar } from './AttachmentDownloadErrorBar';
31
- import { _AttachmentDownloadCards } from "../../../../react-components/src";
32
26
  import { ImageOverlay } from "../../../../react-components/src";
33
- import { nanoid } from 'nanoid';
34
- import { AttachmentUploadActionType, AttachmentUploadReducer } from './file-sharing/AttachmentUpload';
35
27
  import { SendBoxPicker } from '../common/SendBoxPicker';
36
- import { loadRichTextSendBox } from '../common/SendBoxPicker';
37
- import { cancelInlineImageUpload, getEditBoxMessagesInlineImages, getImageFileNameFromAttributes, getSendBoxInlineImages, onInsertInlineImageForEditBox, onInsertInlineImageForSendBox, updateContentStringWithUploadedInlineImages } from './ImageUpload/ImageUploadUtils';
38
- import { isMicrosoftTeamsUserIdentifier } from '@azure/communication-common';
39
- import { SEND_BOX_UPLOADS_KEY_VALUE } from '../common/constants';
40
- import { ImageUploadReducer } from './ImageUpload/ImageUploadReducer';
41
- import { useLocale } from '../localization';
42
28
  import { useSelector } from './hooks/useSelector';
43
29
  import { getChatMessages, getThreadId, getUserId } from './selectors/baseSelectors';
44
- import { getCreatedBy, getTextOnlyChat } from './selectors/baseSelectors';
45
30
  /**
46
31
  * @private
47
32
  */
48
33
  export const ChatScreen = (props) => {
49
- var _a, _b, _c, _d, _e;
50
- const { onFetchAvatarPersonaData, onRenderMessage, onRenderTypingIndicator, options, styles, attachmentOptions, formFactor } = props;
34
+ const { onFetchAvatarPersonaData, onRenderMessage, onRenderTypingIndicator, options, styles, formFactor } = props;
51
35
  const defaultNumberOfChatMessagesToReload = 5;
52
- const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');
53
36
  const [overlayImageItem, setOverlayImageItem] = useState();
54
37
  const [isImageOverlayOpen, setIsImageOverlayOpen] = useState(false);
55
- const [uploads, handleUploadAction] = useReducer(AttachmentUploadReducer, []);
56
38
  const adapter = useAdapter();
57
39
  const theme = useTheme();
58
- const localeStrings = useLocale().strings;
59
- const textOnlyChat = !!useSelector(getTextOnlyChat);
60
- const createdBy = useSelector(getCreatedBy);
61
- const isACSChat = createdBy && !isMicrosoftTeamsUserIdentifier(createdBy);
62
- const [editBoxInlineImageUploads, handleEditBoxInlineImageUploadAction] = useReducer(ImageUploadReducer, undefined);
63
- const [sendBoxInlineImageUploads, handleSendBoxInlineImageUploadAction] = useReducer(ImageUploadReducer, undefined);
64
40
  useEffect(() => {
65
41
  // Initial data should be always fetched by the composite(or external caller) instead of the adapter
66
42
  const fetchData = () => __awaiter(void 0, void 0, void 0, function* () {
@@ -71,14 +47,6 @@ export const ChatScreen = (props) => {
71
47
  });
72
48
  fetchData();
73
49
  }, [adapter]);
74
- useEffect(() => {
75
- // if rich text editor is enabled, the rich text editor component should be loaded early for good UX
76
- if (options === null || options === void 0 ? void 0 : options.richTextEditor) {
77
- // this line is needed to load the Rooster JS dependencies early in the lifecycle
78
- // when the rich text editor is enabled
79
- loadRichTextSendBox();
80
- }
81
- }, [options === null || options === void 0 ? void 0 : options.richTextEditor]);
82
50
  const messageThreadProps = usePropsFor(MessageThread);
83
51
  const typingIndicatorProps = usePropsFor(TypingIndicator);
84
52
  const headerProps = useAdaptedSelector(getHeaderProps);
@@ -128,81 +96,6 @@ export const ChatScreen = (props) => {
128
96
  }, [styles === null || styles === void 0 ? void 0 : styles.sendBox]);
129
97
  const userIdObject = useSelector(getUserId);
130
98
  const userId = toFlatCommunicationIdentifier(userIdObject);
131
- const setKeyboardFocusAfterFileSelection = useCallback(() => {
132
- var _a;
133
- // look up sendbox by ID for now, we will use `useRef`
134
- // once attachment button is moved inside of send box component
135
- // see ADO workitem #3764245
136
- if ((_a = props.options) === null || _a === void 0 ? void 0 : _a.richTextEditor) {
137
- const richTextSendBox = document === null || document === void 0 ? void 0 : document.querySelector(`[id="richTextSendBox"]`);
138
- richTextSendBox === null || richTextSendBox === void 0 ? void 0 : richTextSendBox.focus();
139
- return;
140
- }
141
- const sendBox = document === null || document === void 0 ? void 0 : document.querySelector(`[id="sendbox"]`);
142
- // set send box on focus after file selection per A11y requirement
143
- sendBox === null || sendBox === void 0 ? void 0 : sendBox.focus();
144
- }, [(_a = props.options) === null || _a === void 0 ? void 0 : _a.richTextEditor]);
145
- const attachmentUploadButtonOnChange = useCallback((files) => {
146
- var _a;
147
- setKeyboardFocusAfterFileSelection();
148
- if (!files) {
149
- return;
150
- }
151
- // Get files, change to tasks, store locally and pass back to Contoso
152
- const newUploads = Array.from(files).map((file) => {
153
- const taskId = nanoid();
154
- return {
155
- file,
156
- taskId,
157
- metadata: {
158
- id: taskId,
159
- name: file.name,
160
- progress: 0
161
- },
162
- notifyUploadProgressChanged: (value) => {
163
- handleUploadAction({
164
- type: AttachmentUploadActionType.Progress,
165
- taskId,
166
- progress: value
167
- });
168
- },
169
- notifyUploadCompleted: (id, url) => {
170
- handleUploadAction({
171
- type: AttachmentUploadActionType.Completed,
172
- taskId,
173
- id,
174
- url
175
- });
176
- },
177
- notifyUploadFailed: (message) => {
178
- handleUploadAction({
179
- type: AttachmentUploadActionType.Failed,
180
- taskId,
181
- message
182
- });
183
- // remove the failed upload task when error banner is auto dismissed after 10 seconds
184
- // so the banner won't be shown again on UI re-rendering.
185
- setTimeout(() => {
186
- handleUploadAction({
187
- type: AttachmentUploadActionType.Remove,
188
- id: taskId
189
- });
190
- }, 10 * 1000);
191
- }
192
- };
193
- });
194
- handleUploadAction({
195
- type: AttachmentUploadActionType.Set,
196
- newUploads
197
- });
198
- (_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentSelection(newUploads);
199
- }, [attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions, setKeyboardFocusAfterFileSelection]);
200
- const onRenderAttachmentDownloads = useCallback((message) => {
201
- var _a, _b, _c;
202
- return ((_b = (_a = message === null || message === void 0 ? void 0 : message.attachments) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0 > 0) ? React.createElement(_AttachmentDownloadCards, { attachments: message.attachments, message: message, actionsForAttachment: (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.downloadOptions) === null || _c === void 0 ? void 0 : _c.actionsForAttachment, onActionHandlerFailed: (errorMessage) => {
203
- setDownloadErrorMessage(errorMessage);
204
- } }) : React.createElement(React.Fragment, null);
205
- }, [(_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.downloadOptions) === null || _b === void 0 ? void 0 : _b.actionsForAttachment]);
206
99
  const threadId = useSelector(getThreadId);
207
100
  const onInlineImageClicked = useCallback((attachmentId, messageId) => {
208
101
  var _a, _b, _c;
@@ -294,103 +187,32 @@ export const ChatScreen = (props) => {
294
187
  document.body.removeChild(a);
295
188
  }
296
189
  }, [overlayImageItem === null || overlayImageItem === void 0 ? void 0 : overlayImageItem.attachmentId]);
297
- const attachmentButton = useMemo(() => {
298
- var _a, _b, _c;
299
- if (!((_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentSelection) || textOnlyChat) {
300
- return null;
301
- }
302
- return React.createElement(AttachmentUploadButton, { supportedMediaTypes: (_b = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _b === void 0 ? void 0 : _b.supportedMediaTypes, disableMultipleUploads: (_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.disableMultipleUploads, onChange: attachmentUploadButtonOnChange });
303
- return React.createElement(React.Fragment, null);
304
- }, [(_c = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _c === void 0 ? void 0 : _c.handleAttachmentSelection, (_d = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _d === void 0 ? void 0 : _d.supportedMediaTypes, (_e = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _e === void 0 ? void 0 : _e.disableMultipleUploads, attachmentUploadButtonOnChange, textOnlyChat]);
305
- const attachments = useMemo(() => {
306
- return uploads === null || uploads === void 0 ? void 0 : uploads.map(v => v.metadata);
307
- }, [uploads]);
308
- const onSendMessageHandler = useCallback(function (content, options) {
190
+ const onSendMessageHandler = useCallback(function (content) {
309
191
  return __awaiter(this, void 0, void 0, function* () {
310
- var _a;
311
- content = updateContentStringWithUploadedInlineImages(content, sendBoxInlineImageUploads);
312
- const attachments = (_a = options === null || options === void 0 ? void 0 : options.attachments) !== null && _a !== void 0 ? _a : [];
313
- handleUploadAction({
314
- type: AttachmentUploadActionType.Clear
315
- });
316
- handleSendBoxInlineImageUploadAction({
317
- type: AttachmentUploadActionType.Clear,
318
- messageId: SEND_BOX_UPLOADS_KEY_VALUE
319
- });
320
- yield adapter.sendMessage(content, {
321
- attachments: attachments,
322
- type: options === null || options === void 0 ? void 0 : options.type
323
- });
324
- return;
325
- yield adapter.sendMessage(content, {
326
- type: options === null || options === void 0 ? void 0 : options.type
327
- });
192
+ yield adapter.sendMessage(content, {});
328
193
  });
329
- }, [adapter, handleSendBoxInlineImageUploadAction, sendBoxInlineImageUploads]);
330
- const onUpdateMessageHandler = useCallback(function (messageId, content, options) {
194
+ }, [adapter]);
195
+ const onUpdateMessageHandler = useCallback(function (messageId, content) {
331
196
  return __awaiter(this, void 0, void 0, function* () {
332
- content = updateContentStringWithUploadedInlineImages(content, editBoxInlineImageUploads, messageId);
333
- yield messageThreadProps.onUpdateMessage(messageId, content, options);
334
- handleEditBoxInlineImageUploadAction({
335
- type: AttachmentUploadActionType.Clear,
336
- messageId
337
- });
338
- });
339
- }, [handleEditBoxInlineImageUploadAction, editBoxInlineImageUploads, messageThreadProps]);
340
- const onCancelEditMessageHandler = useCallback((messageId) => {
341
- handleEditBoxInlineImageUploadAction({
342
- type: AttachmentUploadActionType.Clear,
343
- messageId
344
- });
345
- }, [handleEditBoxInlineImageUploadAction]);
346
- const onCancelUploadHandler = useCallback((id) => {
347
- var _a, _b;
348
- handleUploadAction({
349
- type: AttachmentUploadActionType.Remove,
350
- id
197
+ yield messageThreadProps.onUpdateMessage(messageId, content);
351
198
  });
352
- (_b = (_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentRemoval) === null || _b === void 0 ? void 0 : _b.call(_a, id);
353
- }, [attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions]);
354
- const richTextEditorOptions = useMemo(() => {
355
- const onPasteCallback = !!isACSChat || textOnlyChat ? removeImageTags : undefined;
356
- return (options === null || options === void 0 ? void 0 : options.richTextEditor) ? {
357
- onPaste: onPasteCallback
358
- } : undefined;
359
- }, [isACSChat, textOnlyChat, options === null || options === void 0 ? void 0 : options.richTextEditor]);
360
- const richTextEditBoxOptions = useMemo(() => {
361
- return (options === null || options === void 0 ? void 0 : options.richTextEditor) ? Object.assign(Object.assign({}, richTextEditorOptions), { onInsertInlineImage: (imageAttributes, messageId) => {
362
- onInsertInlineImageForEditBox(imageAttributes, getImageFileNameFromAttributes(imageAttributes), messageId, adapter, handleEditBoxInlineImageUploadAction, localeStrings.chat);
363
- }, messagesInlineImagesWithProgress: getEditBoxMessagesInlineImages(editBoxInlineImageUploads), onRemoveInlineImage: (imageAttributes, messageId) => {
364
- cancelInlineImageUpload(imageAttributes, editBoxInlineImageUploads, messageId, handleEditBoxInlineImageUploadAction, adapter);
365
- } }) : undefined;
366
- }, [options === null || options === void 0 ? void 0 : options.richTextEditor, richTextEditorOptions, editBoxInlineImageUploads, adapter, localeStrings.chat]);
367
- const richTextSendBoxOptions = useMemo(() => {
368
- return (options === null || options === void 0 ? void 0 : options.richTextEditor) ? Object.assign(Object.assign({}, richTextEditorOptions), { onInsertInlineImage: (imageAttributes) => {
369
- onInsertInlineImageForSendBox(imageAttributes, getImageFileNameFromAttributes(imageAttributes), adapter, handleSendBoxInlineImageUploadAction, localeStrings.chat);
370
- }, inlineImagesWithProgress: getSendBoxInlineImages(sendBoxInlineImageUploads), onRemoveInlineImage: (imageAttributes) => {
371
- cancelInlineImageUpload(imageAttributes, sendBoxInlineImageUploads, SEND_BOX_UPLOADS_KEY_VALUE, handleSendBoxInlineImageUploadAction, adapter);
372
- } }) : undefined;
373
- }, [options === null || options === void 0 ? void 0 : options.richTextEditor, richTextEditorOptions, sendBoxInlineImageUploads, localeStrings.chat, adapter]);
199
+ }, [messageThreadProps]);
374
200
  return React.createElement(Stack, { className: chatContainer, grow: true },
375
201
  (options === null || options === void 0 ? void 0 : options.topic) !== false && React.createElement(ChatHeader, Object.assign({}, headerProps)),
376
202
  React.createElement(Stack, { className: chatArea, tokens: participantListContainerPadding, horizontal: true, grow: true },
377
203
  React.createElement(Stack, { className: chatWrapper, grow: true },
378
204
  (options === null || options === void 0 ? void 0 : options.errorBar) !== false && React.createElement(ErrorBar, Object.assign({}, errorBarProps)),
379
- React.createElement(AttachmentDownloadErrorBar, { onDismissDownloadErrorMessage: useCallback(() => {
380
- setDownloadErrorMessage('');
381
- }, []), attachmentDownloadErrorMessage: downloadErrorMessage || '' }),
382
- React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onUpdateMessage: onUpdateMessageHandler, onCancelEditMessage: onCancelEditMessageHandler, onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage, onRenderAttachmentDownloads: onRenderAttachmentDownloads, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles, richTextEditorOptions: richTextEditBoxOptions })),
205
+ React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onUpdateMessage: onUpdateMessageHandler, onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles })),
383
206
  React.createElement(Stack, { className: mergeStyles(sendboxContainerStyles) },
384
207
  React.createElement("div", { className: mergeStyles(typingIndicatorContainerStyles) }, onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : React.createElement(TypingIndicator, Object.assign({}, typingIndicatorProps, { styles: typingIndicatorStyles }))),
385
208
  React.createElement(Stack, { horizontal: formFactor === 'mobile' },
386
- formFactor === 'mobile' && (React.createElement(Stack, { verticalAlign: "center" }, attachmentButton)),
209
+ formFactor === 'mobile',
387
210
  React.createElement(Stack, { grow: true },
388
- React.createElement(SendBoxPicker, { styles: sendBoxStyles, autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus, richTextEditorOptions: richTextSendBoxOptions, attachments: attachments, onCancelAttachmentUpload: onCancelUploadHandler,
211
+ React.createElement(SendBoxPicker, { styles: sendBoxStyles, autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus,
389
212
  // we need to overwrite onSendMessage for SendBox because we need to clear attachment state
390
213
  // when submit button is clicked
391
214
  onSendMessage: onSendMessageHandler })),
392
- formFactor !== 'mobile' && attachmentButton))),
393
- (options === null || options === void 0 ? void 0 : options.participantPane) === true && React.createElement(ChatScreenPeoplePane, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, isMobile: formFactor === 'mobile' })),
215
+ formFactor !== 'mobile')))),
394
216
  overlayImageItem && React.createElement(ImageOverlay, Object.assign({}, overlayImageItem, { isOpen: isImageOverlayOpen, onDismiss: () => {
395
217
  setOverlayImageItem(undefined);
396
218
  setIsImageOverlayOpen(false);
@@ -1 +1 @@
1
- {"version":3,"file":"ChatScreen.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/ChatScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isIOS } from '@fluentui/react';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { PersonaSize } from '@fluentui/react';\nimport { CommunicationParticipant, ErrorBar, MessageProps, MessageRenderer, MessageThread, MessageThreadStyles, ParticipantMenuItemsCallback, SendBoxStylesProps, TypingIndicator, TypingIndicatorStylesProps, useTheme } from '@internal/react-components';\nimport { RichTextEditBoxOptions } from '@internal/react-components';\nimport { ChatMessage } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { useReducer } from 'react';\nimport { useState } from 'react';\nimport { AvatarPersona, AvatarPersonaDataCallback, AvatarPersonaProps } from '../common/AvatarPersona';\nimport { useAdapter } from './adapter/ChatAdapterProvider';\nimport { ChatCompositeOptions } from './ChatComposite';\nimport { ChatHeader, getHeaderProps } from './ChatHeader';\nimport { AttachmentUploadButtonWrapper as AttachmentUploadButton } from './file-sharing';\nimport { useAdaptedSelector } from './hooks/useAdaptedSelector';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';\nimport { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';\nimport { ChatScreenPeoplePane } from './ChatScreenPeoplePane';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { removeImageTags, _IMAGE_ATTRIBUTE_INLINE_IMAGE_FILE_NAME_KEY } from '@internal/acs-ui-common';\nimport { AttachmentDownloadErrorBar } from './AttachmentDownloadErrorBar';\nimport { _AttachmentDownloadCards } from '@internal/react-components';\nimport { ImageOverlay } from '@internal/react-components';\nimport { InlineImage } from '@internal/react-components';\nimport { ChatMessageWithStatus, ResourceFetchResult } from '@internal/chat-stateful-client';\nimport { AttachmentOptions } from '@internal/react-components';\nimport { nanoid } from 'nanoid';\nimport { AttachmentUploadActionType, AttachmentUpload, AttachmentUploadReducer } from './file-sharing/AttachmentUpload';\nimport { MessageOptions } from '@internal/acs-ui-common';\nimport { SendBoxPicker } from '../common/SendBoxPicker';\nimport { loadRichTextSendBox, RichTextSendBoxOptions } from '../common/SendBoxPicker';\nimport { cancelInlineImageUpload, getEditBoxMessagesInlineImages, getImageFileNameFromAttributes, getSendBoxInlineImages, onInsertInlineImageForEditBox, onInsertInlineImageForSendBox, updateContentStringWithUploadedInlineImages } from './ImageUpload/ImageUploadUtils';\nimport { isMicrosoftTeamsUserIdentifier } from '@azure/communication-common';\nimport { SEND_BOX_UPLOADS_KEY_VALUE, _DEFAULT_INLINE_IMAGE_FILE_NAME } from '../common/constants';\nimport { ImageUploadReducer } from './ImageUpload/ImageUploadReducer';\nimport { useLocale } from '../localization';\nimport { useSelector } from './hooks/useSelector';\nimport { getChatMessages, getThreadId, getUserId } from './selectors/baseSelectors';\nimport { getCreatedBy, getTextOnlyChat } from './selectors/baseSelectors';\n\n/**\n * @private\n */\nexport type ChatScreenProps = {\n options?: ChatCompositeOptions;\n onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n onRenderMessage?: (messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element;\n onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;\n onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n styles?: ChatScreenStyles;\n attachmentOptions?: AttachmentOptions;\n formFactor?: 'desktop' | 'mobile';\n};\n\n/**\n * @private\n */\nexport type ChatScreenStyles = {\n messageThread?: MessageThreadStyles;\n sendBox?: SendBoxStylesProps;\n typingIndicator?: TypingIndicatorStylesProps;\n};\n\n/**\n * @private\n */\ninterface OverlayImageItem {\n imageSrc: string;\n title: string;\n titleIcon: JSX.Element;\n attachmentId: string;\n messageId: string;\n imageUrl: string;\n}\n\n/**\n * @private\n */\nexport const ChatScreen = (props: ChatScreenProps): JSX.Element => {\n const {\n onFetchAvatarPersonaData,\n onRenderMessage,\n onRenderTypingIndicator,\n options,\n styles,\n attachmentOptions,\n formFactor\n } = props;\n const defaultNumberOfChatMessagesToReload = 5;\n const [downloadErrorMessage, setDownloadErrorMessage] = React.useState('');\n const [overlayImageItem, setOverlayImageItem] = useState<OverlayImageItem>();\n const [isImageOverlayOpen, setIsImageOverlayOpen] = useState<boolean>(false);\n const [uploads, handleUploadAction] = useReducer(AttachmentUploadReducer, []);\n const adapter = useAdapter();\n const theme = useTheme();\n const localeStrings = useLocale().strings;\n const textOnlyChat = !!useSelector(getTextOnlyChat);\n const createdBy = useSelector(getCreatedBy);\n const isACSChat = createdBy && !isMicrosoftTeamsUserIdentifier(createdBy);\n const [editBoxInlineImageUploads, handleEditBoxInlineImageUploadAction] = useReducer(ImageUploadReducer, undefined);\n const [sendBoxInlineImageUploads, handleSendBoxInlineImageUploadAction] = useReducer(ImageUploadReducer, undefined);\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 useEffect(() => {\n // if rich text editor is enabled, the rich text editor component should be loaded early for good UX\n if (options?.richTextEditor) {\n // this line is needed to load the Rooster JS dependencies early in the lifecycle\n // when the rich text editor is enabled\n loadRichTextSendBox();\n }\n }, [options?.richTextEditor]);\n const messageThreadProps = usePropsFor(MessageThread);\n const typingIndicatorProps = usePropsFor(TypingIndicator);\n const headerProps = useAdaptedSelector(getHeaderProps);\n const errorBarProps = usePropsFor(ErrorBar);\n const overlayImageItemRef = React.useRef<OverlayImageItem | undefined>(overlayImageItem);\n overlayImageItemRef.current = overlayImageItem;\n const adapterChatMessages = useSelector(getChatMessages);\n useEffect(() => {\n if (overlayImageItemRef.current === undefined) {\n return;\n }\n const message: ChatMessageWithStatus | undefined = adapterChatMessages[overlayImageItemRef.current.messageId];\n if (message === undefined) {\n return;\n }\n const resourceFetchResult = message.resourceCache?.[overlayImageItemRef.current.imageUrl];\n if (overlayImageItemRef.current.imageSrc === '' && resourceFetchResult) {\n const fullSizeImageSrc = getResourceSourceUrl(resourceFetchResult);\n if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' || overlayImageItemRef.current.imageSrc === fullSizeImageSrc) {\n return;\n }\n setOverlayImageItem({\n ...overlayImageItemRef.current,\n imageSrc: fullSizeImageSrc\n });\n }\n }, [adapterChatMessages]);\n const getResourceSourceUrl = (result: ResourceFetchResult): string => {\n let src = '';\n if (result.error || !result.sourceUrl) {\n src = 'blob://';\n } else {\n src = result.sourceUrl;\n }\n return src;\n };\n const onRenderAvatarCallback = useCallback((userId?: string, defaultOptions?: AvatarPersonaProps) => {\n return <AvatarPersona userId={userId} hidePersonaDetails={true} {...defaultOptions} dataProvider={onFetchAvatarPersonaData} />;\n }, [onFetchAvatarPersonaData]);\n const messageThreadStyles = useMemo(() => {\n return Object.assign({}, messageThreadChatCompositeStyles(theme.semanticColors.bodyBackground), styles?.messageThread);\n }, [styles?.messageThread, theme.semanticColors.bodyBackground]);\n const typingIndicatorStyles = useMemo(() => {\n return Object.assign({}, styles?.typingIndicator);\n }, [styles?.typingIndicator]);\n const sendBoxStyles = useMemo(() => {\n return Object.assign({}, styles?.sendBox);\n }, [styles?.sendBox]);\n const userIdObject = useSelector(getUserId);\n const userId = toFlatCommunicationIdentifier(userIdObject);\n const setKeyboardFocusAfterFileSelection = useCallback(() => {\n // look up sendbox by ID for now, we will use `useRef`\n // once attachment button is moved inside of send box component\n // see ADO workitem #3764245\n if (props.options?.richTextEditor) {\n const richTextSendBox = document?.querySelector(`[id=\"richTextSendBox\"]`) as HTMLDivElement;\n richTextSendBox?.focus();\n return;\n }\n const sendBox = document?.querySelector(`[id=\"sendbox\"]`) as HTMLTextAreaElement;\n // set send box on focus after file selection per A11y requirement\n sendBox?.focus();\n }, [props.options?.richTextEditor]);\n const attachmentUploadButtonOnChange = useCallback((files: FileList | null): void => {\n setKeyboardFocusAfterFileSelection();\n if (!files) {\n return;\n }\n\n // Get files, change to tasks, store locally and pass back to Contoso\n const newUploads = Array.from(files).map((file): AttachmentUpload => {\n const taskId = nanoid();\n return {\n file,\n taskId,\n metadata: {\n id: taskId,\n name: file.name,\n progress: 0\n },\n notifyUploadProgressChanged: (value: number) => {\n handleUploadAction({\n type: AttachmentUploadActionType.Progress,\n taskId,\n progress: value\n });\n },\n notifyUploadCompleted: (id: string, url: string) => {\n handleUploadAction({\n type: AttachmentUploadActionType.Completed,\n taskId,\n id,\n url\n });\n },\n notifyUploadFailed: (message: string) => {\n handleUploadAction({\n type: AttachmentUploadActionType.Failed,\n taskId,\n message\n });\n // remove the failed upload task when error banner is auto dismissed after 10 seconds\n // so the banner won't be shown again on UI re-rendering.\n setTimeout(() => {\n handleUploadAction({\n type: AttachmentUploadActionType.Remove,\n id: taskId\n });\n }, 10 * 1000);\n }\n };\n });\n handleUploadAction({\n type: AttachmentUploadActionType.Set,\n newUploads\n });\n attachmentOptions?.uploadOptions?.handleAttachmentSelection(newUploads);\n }, [attachmentOptions?.uploadOptions, setKeyboardFocusAfterFileSelection]);\n const onRenderAttachmentDownloads = useCallback((message: ChatMessage) => message?.attachments?.length ?? 0 > 0 ? <_AttachmentDownloadCards attachments={message.attachments} message={message} actionsForAttachment={attachmentOptions?.downloadOptions?.actionsForAttachment} onActionHandlerFailed={(errorMessage: string) => {\n setDownloadErrorMessage(errorMessage);\n }} /> : <></>, [attachmentOptions?.downloadOptions?.actionsForAttachment]);\n const threadId = useSelector(getThreadId);\n const onInlineImageClicked = useCallback((attachmentId: string, messageId: string) => {\n const message: ChatMessageWithStatus | undefined = adapterChatMessages[messageId];\n const inlinedImages = message?.content?.attachments?.filter(attachment => {\n return attachment.attachmentType === 'image' && attachment.id === attachmentId;\n });\n const attachment = inlinedImages?.[0];\n if (!attachment) {\n return;\n }\n let imageSrc = '';\n if (attachment.url) {\n const resourceFetchResult = message?.resourceCache?.[attachment.url];\n if (resourceFetchResult) {\n imageSrc = getResourceSourceUrl(resourceFetchResult);\n } else {\n adapter.downloadResourceToCache({\n threadId,\n 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, adapterChatMessages, onRenderAvatarCallback, userId, threadId]);\n const onRenderInlineImage = useCallback((inlineImage: InlineImage, defaultOnRender: (inlineImage: InlineImage) => JSX.Element): JSX.Element => {\n const message = adapterChatMessages[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 }, [adapterChatMessages, onInlineImageClicked]);\n const inlineImageOptions = useMemo(() => {\n return {\n onRenderInlineImage: onRenderInlineImage\n };\n }, [onRenderInlineImage]);\n const onDownloadButtonClicked = useCallback((imageSrc: string): void => {\n if (imageSrc === '') {\n return;\n }\n if (isIOS()) {\n window.open(imageSrc, '_blank');\n } else {\n // Create a new anchor element\n const a = document.createElement('a');\n // Set the href and download attributes for the anchor element\n a.href = imageSrc;\n a.download = overlayImageItem?.attachmentId || '';\n a.rel = 'noopener noreferrer';\n a.target = '_blank';\n\n // Programmatically click the anchor element to trigger the download\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n }, [overlayImageItem?.attachmentId]);\n const attachmentButton = useMemo(() => {\n if (!attachmentOptions?.uploadOptions?.handleAttachmentSelection || textOnlyChat) {\n return null;\n }\n return <AttachmentUploadButton supportedMediaTypes={attachmentOptions?.uploadOptions?.supportedMediaTypes} disableMultipleUploads={attachmentOptions?.uploadOptions?.disableMultipleUploads} onChange={attachmentUploadButtonOnChange} />;\n return <></>;\n }, [attachmentOptions?.uploadOptions?.handleAttachmentSelection, attachmentOptions?.uploadOptions?.supportedMediaTypes, attachmentOptions?.uploadOptions?.disableMultipleUploads, attachmentUploadButtonOnChange, textOnlyChat]);\n const attachments = useMemo(() => {\n return uploads?.map(v => v.metadata);\n }, [uploads]);\n const onSendMessageHandler = useCallback(async function (content: string, options?: MessageOptions) {\n content = updateContentStringWithUploadedInlineImages(content, sendBoxInlineImageUploads);\n const attachments = options?.attachments ?? [];\n handleUploadAction({\n type: AttachmentUploadActionType.Clear\n });\n handleSendBoxInlineImageUploadAction({\n type: AttachmentUploadActionType.Clear,\n messageId: SEND_BOX_UPLOADS_KEY_VALUE\n });\n await adapter.sendMessage(content, {\n attachments: attachments,\n type: options?.type\n });\n return;\n await adapter.sendMessage(content, {\n type: options?.type\n });\n }, [adapter, handleSendBoxInlineImageUploadAction, sendBoxInlineImageUploads]);\n const onUpdateMessageHandler = useCallback(async function (messageId: string, content: string, options?: MessageOptions) {\n content = updateContentStringWithUploadedInlineImages(content, editBoxInlineImageUploads, messageId);\n await messageThreadProps.onUpdateMessage(messageId, content, options);\n handleEditBoxInlineImageUploadAction({\n type: AttachmentUploadActionType.Clear,\n messageId\n });\n }, [handleEditBoxInlineImageUploadAction, editBoxInlineImageUploads, messageThreadProps]);\n const onCancelEditMessageHandler = useCallback((messageId: string) => {\n handleEditBoxInlineImageUploadAction({\n type: AttachmentUploadActionType.Clear,\n messageId\n });\n }, [handleEditBoxInlineImageUploadAction]);\n const onCancelUploadHandler = useCallback((id: string) => {\n handleUploadAction({\n type: AttachmentUploadActionType.Remove,\n id\n });\n attachmentOptions?.uploadOptions?.handleAttachmentRemoval?.(id);\n }, [attachmentOptions?.uploadOptions]);\n const richTextEditorOptions = useMemo(() => {\n const onPasteCallback = !!isACSChat || textOnlyChat ? removeImageTags : undefined;\n return options?.richTextEditor ? {\n onPaste: onPasteCallback\n } : undefined;\n }, [isACSChat, textOnlyChat, options?.richTextEditor]);\n const richTextEditBoxOptions: RichTextEditBoxOptions | undefined = useMemo(() => {\n return options?.richTextEditor ? {\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n ...richTextEditorOptions,\n onInsertInlineImage: (imageAttributes: Record<string, string>, messageId: string) => {\n onInsertInlineImageForEditBox(imageAttributes, getImageFileNameFromAttributes(imageAttributes), messageId, adapter, handleEditBoxInlineImageUploadAction, localeStrings.chat);\n },\n messagesInlineImagesWithProgress: getEditBoxMessagesInlineImages(editBoxInlineImageUploads),\n onRemoveInlineImage: (imageAttributes: Record<string, string>, messageId: string) => {\n cancelInlineImageUpload(imageAttributes, editBoxInlineImageUploads, messageId, handleEditBoxInlineImageUploadAction, adapter);\n }\n } : undefined;\n }, [options?.richTextEditor, richTextEditorOptions, editBoxInlineImageUploads, adapter, localeStrings.chat]);\n const richTextSendBoxOptions: RichTextSendBoxOptions | undefined = useMemo(() => {\n return options?.richTextEditor ? {\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n ...richTextEditorOptions,\n onInsertInlineImage: (imageAttributes: Record<string, string>) => {\n onInsertInlineImageForSendBox(imageAttributes, getImageFileNameFromAttributes(imageAttributes), adapter, handleSendBoxInlineImageUploadAction, localeStrings.chat);\n },\n inlineImagesWithProgress: getSendBoxInlineImages(sendBoxInlineImageUploads),\n onRemoveInlineImage: (imageAttributes: Record<string, string>) => {\n cancelInlineImageUpload(imageAttributes, sendBoxInlineImageUploads, SEND_BOX_UPLOADS_KEY_VALUE, handleSendBoxInlineImageUploadAction, adapter);\n }\n } : undefined;\n }, [options?.richTextEditor, richTextEditorOptions, sendBoxInlineImageUploads, localeStrings.chat, adapter]);\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 {<AttachmentDownloadErrorBar onDismissDownloadErrorMessage={useCallback(() => {\n setDownloadErrorMessage('');\n }, [])} attachmentDownloadErrorMessage={downloadErrorMessage || ''} />}\n <MessageThread {...messageThreadProps} onUpdateMessage={onUpdateMessageHandler} onCancelEditMessage={onCancelEditMessageHandler} onRenderAvatar={onRenderAvatarCallback} onRenderMessage={onRenderMessage} onRenderAttachmentDownloads={onRenderAttachmentDownloads} inlineImageOptions={inlineImageOptions} numberOfChatMessagesToReload={defaultNumberOfChatMessagesToReload} styles={messageThreadStyles} richTextEditorOptions={richTextEditBoxOptions} />\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\">{attachmentButton}</Stack>)}\n <Stack grow>\n <SendBoxPicker styles={sendBoxStyles} autoFocus={options?.autoFocus} richTextEditorOptions={richTextSendBoxOptions} attachments={attachments} onCancelAttachmentUpload={onCancelUploadHandler}\n // we need to overwrite onSendMessage for SendBox because we need to clear attachment state\n // when submit button is clicked\n onSendMessage={onSendMessageHandler} />\n </Stack>\n {formFactor !== 'mobile' && attachmentButton}\n </Stack>\n </Stack>\n </Stack>\n {options?.participantPane === true && <ChatScreenPeoplePane onFetchAvatarPersonaData={onFetchAvatarPersonaData} onFetchParticipantMenuItems={props.onFetchParticipantMenuItems} isMobile={formFactor === 'mobile'} />}\n </Stack>\n {overlayImageItem && <ImageOverlay {...overlayImageItem} isOpen={isImageOverlayOpen} onDismiss={() => {\n setOverlayImageItem(undefined);\n setIsImageOverlayOpen(false);\n adapter.removeResourceFromCache({\n threadId,\n messageId: overlayImageItem.messageId,\n resourceUrl: overlayImageItem.imageUrl\n });\n }} onDownloadButtonClicked={onDownloadButtonClicked} />}\n </Stack>;\n};"]}
1
+ {"version":3,"file":"ChatScreen.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/ChatScreen.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isIOS } from '@fluentui/react';\nimport { mergeStyles, Stack } from '@fluentui/react';\nimport { PersonaSize } from '@fluentui/react';\nimport { CommunicationParticipant, ErrorBar, MessageProps, MessageRenderer, MessageThread, MessageThreadStyles, ParticipantMenuItemsCallback, SendBoxStylesProps, TypingIndicator, TypingIndicatorStylesProps, useTheme } from '@internal/react-components';\nimport React, { useCallback, useEffect, useMemo } from 'react';\nimport { useState } from 'react';\nimport { AvatarPersona, AvatarPersonaDataCallback, AvatarPersonaProps } from '../common/AvatarPersona';\nimport { useAdapter } from './adapter/ChatAdapterProvider';\nimport { ChatCompositeOptions } from './ChatComposite';\nimport { ChatHeader, getHeaderProps } from './ChatHeader';\nimport { useAdaptedSelector } from './hooks/useAdaptedSelector';\nimport { usePropsFor } from './hooks/usePropsFor';\nimport { chatArea, chatContainer, chatWrapper, messageThreadChatCompositeStyles, sendboxContainerStyles, typingIndicatorContainerStyles } from './styles/Chat.styles';\nimport { participantListContainerPadding } from '../common/styles/ParticipantContainer.styles';\nimport { toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { _AttachmentDownloadCards } from '@internal/react-components';\nimport { ImageOverlay } from '@internal/react-components';\nimport { InlineImage } from '@internal/react-components';\nimport { ChatMessageWithStatus, ResourceFetchResult } from '@internal/chat-stateful-client';\nimport { SendBoxPicker } from '../common/SendBoxPicker';\nimport { useSelector } from './hooks/useSelector';\nimport { getChatMessages, getThreadId, getUserId } from './selectors/baseSelectors';\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 formFactor?: 'desktop' | 'mobile';\n};\n\n/**\n * @private\n */\nexport type ChatScreenStyles = {\n messageThread?: MessageThreadStyles;\n sendBox?: SendBoxStylesProps;\n typingIndicator?: TypingIndicatorStylesProps;\n};\n\n/**\n * @private\n */\ninterface OverlayImageItem {\n imageSrc: string;\n title: string;\n titleIcon: JSX.Element;\n attachmentId: string;\n messageId: string;\n imageUrl: string;\n}\n\n/**\n * @private\n */\nexport const ChatScreen = (props: ChatScreenProps): JSX.Element => {\n const {\n onFetchAvatarPersonaData,\n onRenderMessage,\n onRenderTypingIndicator,\n options,\n styles,\n formFactor\n } = props;\n const defaultNumberOfChatMessagesToReload = 5;\n const [overlayImageItem, setOverlayImageItem] = useState<OverlayImageItem>();\n const [isImageOverlayOpen, setIsImageOverlayOpen] = useState<boolean>(false);\n const adapter = useAdapter();\n const theme = useTheme();\n useEffect(() => {\n // Initial data should be always fetched by the composite(or external caller) instead of the adapter\n const fetchData: () => Promise<void> = async () => {\n // Fetch initial data for adapter\n await adapter.fetchInitialData();\n // Fetch initial set of messages. Without fetching messages here, if the Composite's adapter is changed the message thread does not load new messages.\n await adapter.loadPreviousChatMessages(defaultNumberOfChatMessagesToReload);\n };\n fetchData();\n }, [adapter]);\n const messageThreadProps = usePropsFor(MessageThread);\n const typingIndicatorProps = usePropsFor(TypingIndicator);\n const headerProps = useAdaptedSelector(getHeaderProps);\n const errorBarProps = usePropsFor(ErrorBar);\n const overlayImageItemRef = React.useRef<OverlayImageItem | undefined>(overlayImageItem);\n overlayImageItemRef.current = overlayImageItem;\n const adapterChatMessages = useSelector(getChatMessages);\n useEffect(() => {\n if (overlayImageItemRef.current === undefined) {\n return;\n }\n const message: ChatMessageWithStatus | undefined = adapterChatMessages[overlayImageItemRef.current.messageId];\n if (message === undefined) {\n return;\n }\n const resourceFetchResult = message.resourceCache?.[overlayImageItemRef.current.imageUrl];\n if (overlayImageItemRef.current.imageSrc === '' && resourceFetchResult) {\n const fullSizeImageSrc = getResourceSourceUrl(resourceFetchResult);\n if (fullSizeImageSrc === undefined || fullSizeImageSrc === '' || overlayImageItemRef.current.imageSrc === fullSizeImageSrc) {\n return;\n }\n setOverlayImageItem({\n ...overlayImageItemRef.current,\n imageSrc: fullSizeImageSrc\n });\n }\n }, [adapterChatMessages]);\n const getResourceSourceUrl = (result: ResourceFetchResult): string => {\n let src = '';\n if (result.error || !result.sourceUrl) {\n src = 'blob://';\n } else {\n src = result.sourceUrl;\n }\n return src;\n };\n const onRenderAvatarCallback = useCallback((userId?: string, defaultOptions?: AvatarPersonaProps) => {\n return <AvatarPersona userId={userId} hidePersonaDetails={true} {...defaultOptions} dataProvider={onFetchAvatarPersonaData} />;\n }, [onFetchAvatarPersonaData]);\n const messageThreadStyles = useMemo(() => {\n return Object.assign({}, messageThreadChatCompositeStyles(theme.semanticColors.bodyBackground), styles?.messageThread);\n }, [styles?.messageThread, theme.semanticColors.bodyBackground]);\n const typingIndicatorStyles = useMemo(() => {\n return Object.assign({}, styles?.typingIndicator);\n }, [styles?.typingIndicator]);\n const sendBoxStyles = useMemo(() => {\n return Object.assign({}, styles?.sendBox);\n }, [styles?.sendBox]);\n const userIdObject = useSelector(getUserId);\n const userId = toFlatCommunicationIdentifier(userIdObject);\n const threadId = useSelector(getThreadId);\n const onInlineImageClicked = useCallback((attachmentId: string, messageId: string) => {\n const message: ChatMessageWithStatus | undefined = adapterChatMessages[messageId];\n const inlinedImages = message?.content?.attachments?.filter(attachment => {\n return attachment.attachmentType === 'image' && attachment.id === attachmentId;\n });\n const attachment = inlinedImages?.[0];\n if (!attachment) {\n return;\n }\n let imageSrc = '';\n if (attachment.url) {\n const resourceFetchResult = message?.resourceCache?.[attachment.url];\n if (resourceFetchResult) {\n imageSrc = getResourceSourceUrl(resourceFetchResult);\n } else {\n adapter.downloadResourceToCache({\n threadId,\n 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, adapterChatMessages, onRenderAvatarCallback, userId, threadId]);\n const onRenderInlineImage = useCallback((inlineImage: InlineImage, defaultOnRender: (inlineImage: InlineImage) => JSX.Element): JSX.Element => {\n const message = adapterChatMessages[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 }, [adapterChatMessages, onInlineImageClicked]);\n const inlineImageOptions = useMemo(() => {\n return {\n onRenderInlineImage: onRenderInlineImage\n };\n }, [onRenderInlineImage]);\n const onDownloadButtonClicked = useCallback((imageSrc: string): void => {\n if (imageSrc === '') {\n return;\n }\n if (isIOS()) {\n window.open(imageSrc, '_blank');\n } else {\n // Create a new anchor element\n const a = document.createElement('a');\n // Set the href and download attributes for the anchor element\n a.href = imageSrc;\n a.download = overlayImageItem?.attachmentId || '';\n a.rel = 'noopener noreferrer';\n a.target = '_blank';\n\n // Programmatically click the anchor element to trigger the download\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n }, [overlayImageItem?.attachmentId]);\n const onSendMessageHandler = useCallback(async function (content: string) {\n await adapter.sendMessage(content, {});\n }, [adapter]);\n const onUpdateMessageHandler = useCallback(async function (messageId: string, content: string) {\n await messageThreadProps.onUpdateMessage(messageId, content);\n }, [messageThreadProps]);\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} onUpdateMessage={onUpdateMessageHandler} onRenderAvatar={onRenderAvatarCallback} onRenderMessage={onRenderMessage} inlineImageOptions={inlineImageOptions} numberOfChatMessagesToReload={defaultNumberOfChatMessagesToReload} styles={messageThreadStyles} />\n <Stack className={mergeStyles(sendboxContainerStyles)}>\n <div className={mergeStyles(typingIndicatorContainerStyles)}>\n {onRenderTypingIndicator ? onRenderTypingIndicator(typingIndicatorProps.typingUsers) : <TypingIndicator {...typingIndicatorProps} styles={typingIndicatorStyles} />}\n </div>\n <Stack horizontal={formFactor === 'mobile'}>\n {formFactor === 'mobile'}\n <Stack grow>\n <SendBoxPicker styles={sendBoxStyles} autoFocus={options?.autoFocus}\n // we need to overwrite onSendMessage for SendBox because we need to clear attachment state\n // when submit button is clicked\n onSendMessage={onSendMessageHandler} />\n </Stack>\n {formFactor !== 'mobile'}\n </Stack>\n </Stack>\n </Stack>\n {}\n </Stack>\n {overlayImageItem && <ImageOverlay {...overlayImageItem} isOpen={isImageOverlayOpen} onDismiss={() => {\n setOverlayImageItem(undefined);\n setIsImageOverlayOpen(false);\n adapter.removeResourceFromCache({\n threadId,\n messageId: overlayImageItem.messageId,\n resourceUrl: overlayImageItem.imageUrl\n });\n }} onDownloadButtonClicked={onDownloadButtonClicked} />}\n </Stack>;\n};"]}
@@ -10,25 +10,5 @@ export interface ChatCompositeStrings {
10
10
  * Chat list header text
11
11
  */
12
12
  chatListHeader: string;
13
- /**
14
- * Upload Attachment Button text
15
- */
16
- uploadAttachment: string;
17
- /**
18
- * Error Message for image data is not provided for image upload
19
- */
20
- uploadImageDataNotProvided: string;
21
- /**
22
- * Error Message for upload image is too large
23
- */
24
- uploadImageIsTooLarge: string;
25
- /**
26
- * Error Message for unsupported image extension for image upload
27
- */
28
- uploadImageExtensionIsNotAllowed: string;
29
- /**
30
- * Error Message for unable to upload image
31
- */
32
- uploadImageFailed: string;
33
13
  }
34
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 * Upload Attachment Button text\n */\n uploadAttachment: string;\n /**\n * Error Message for image data is not provided for image upload\n */\n uploadImageDataNotProvided: string;\n /**\n * Error Message for upload image is too large\n */\n uploadImageIsTooLarge: string;\n /**\n * Error Message for unsupported image extension for image upload\n */\n uploadImageExtensionIsNotAllowed: string;\n /**\n * Error Message for unable to upload image\n */\n uploadImageFailed: string;\n}"]}
1
+ {"version":3,"file":"Strings.js","sourceRoot":"","sources":["../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/Strings.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Strings used by the {@link ChatComposite} directly.\n *\n * This strings are in addition to those used by the components from the component library.\n *\n * @public\n */\nexport interface ChatCompositeStrings {\n /**\n * Chat list header text\n */\n chatListHeader: string;\n}"]}
@@ -1,12 +1,10 @@
1
1
  import { ChatClientState, StatefulChatClient } from "../../../../../chat-stateful-client/src";
2
2
  import { ChatThreadClient, SendMessageOptions } from '@azure/communication-chat';
3
3
  import { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';
4
- import type { UploadChatImageResult } from "../../../../../acs-ui-common/src";
5
4
  import { _TelemetryImplementationHint } from "../../../../../acs-ui-common/src";
6
5
  import { ChatAdapter, ChatAdapterState, MessageDeletedListener, MessageEditedListener, MessageReadListener, MessageReceivedListener, ParticipantsAddedListener, ParticipantsRemovedListener, TopicChangedListener } from './ChatAdapter';
7
6
  import { ResourceDetails } from './ChatAdapter';
8
7
  import { AdapterError } from '../../common/adapters';
9
- import { MessageOptions } from "../../../../../acs-ui-common/src";
10
8
  /**
11
9
  * Context of Chat, which is a centralized context for all state updates
12
10
  * @private
@@ -39,15 +37,13 @@ export declare class AzureCommunicationChatAdapter implements ChatAdapter {
39
37
  getState(): ChatAdapterState;
40
38
  onStateChange(handler: (state: ChatAdapterState) => void): void;
41
39
  offStateChange(handler: (state: ChatAdapterState) => void): void;
42
- sendMessage(content: string, options?: SendMessageOptions | MessageOptions): Promise<void>;
43
- uploadImage(image: Blob, imageFilename: string): Promise<UploadChatImageResult>;
44
- deleteImage(imageId: string): Promise<void>;
40
+ sendMessage(content: string, options?: SendMessageOptions): Promise<void>;
45
41
  sendReadReceipt(chatMessageId: string): Promise<void>;
46
42
  sendTypingIndicator(): Promise<void>;
47
43
  removeParticipant(userId: string): Promise<void>;
48
44
  setTopic(topicName: string): Promise<void>;
49
45
  loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
50
- updateMessage(messageId: string, content: string, options?: Record<string, string> | MessageOptions): Promise<void>;
46
+ updateMessage(messageId: string, content: string, options?: Record<string, string>): Promise<void>;
51
47
  deleteMessage(messageId: string): Promise<void>;
52
48
  downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void>;
53
49
  removeResourceFromCache(resourceDetails: ResourceDetails): void;
@@ -69,7 +69,6 @@ export class ChatContext {
69
69
  thread,
70
70
  latestErrors: clientState.latestErrors
71
71
  };
72
- updatedState = Object.assign({}, updatedState);
73
72
  this.setState(updatedState);
74
73
  }
75
74
  }
@@ -102,8 +101,6 @@ export class AzureCommunicationChatAdapter {
102
101
  this.dispose = this.dispose.bind(this);
103
102
  this.fetchInitialData = this.fetchInitialData.bind(this);
104
103
  this.sendMessage = this.sendMessage.bind(this);
105
- this.uploadImage = this.uploadImage.bind(this);
106
- this.deleteImage = this.deleteImage.bind(this);
107
104
  this.sendReadReceipt = this.sendReadReceipt.bind(this);
108
105
  this.sendTypingIndicator = this.sendTypingIndicator.bind(this);
109
106
  this.updateMessage = this.updateMessage.bind(this);
@@ -165,20 +162,6 @@ export class AzureCommunicationChatAdapter {
165
162
  }));
166
163
  });
167
164
  }
168
- uploadImage(image, imageFilename) {
169
- return __awaiter(this, void 0, void 0, function* () {
170
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
171
- return yield this.handlers.onUploadImage(image, imageFilename);
172
- }));
173
- });
174
- }
175
- deleteImage(imageId) {
176
- return __awaiter(this, void 0, void 0, function* () {
177
- return yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
178
- return yield this.handlers.onDeleteImage(imageId);
179
- }));
180
- });
181
- }
182
165
  sendReadReceipt(chatMessageId) {
183
166
  return __awaiter(this, void 0, void 0, function* () {
184
167
  yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
@@ -217,25 +200,6 @@ export class AzureCommunicationChatAdapter {
217
200
  updateMessage(messageId, content, options) {
218
201
  return __awaiter(this, void 0, void 0, function* () {
219
202
  return yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
220
- var _a;
221
- const messageOptions = {};
222
- if (options && (
223
- // if options.attachments is an array or undefined (for removal all attachments),
224
- // then given options is a MessageOptions
225
- Array.isArray(options.attachments) || options.attachments === undefined)) {
226
- messageOptions.attachments = (_a = options.attachments) !== null && _a !== void 0 ? _a : [];
227
- }
228
- if (options &&
229
- // if options.metadata is provided, we need to add it in MessageOptions
230
- options.metadata && typeof options.metadata === 'object') {
231
- messageOptions.metadata = options.metadata;
232
- }
233
- if (options && !('attachments' in options) && !('metadata' in options)) {
234
- // if options don't have attachments or metadata,
235
- // then it is a Record<string, string>
236
- return yield this.handlers.onUpdateMessage(messageId, content, options);
237
- }
238
- return yield this.handlers.onUpdateMessage(messageId, content, messageOptions);
239
203
  // metadata is never used in the current stable
240
204
  return yield this.handlers.onUpdateMessage(messageId, content);
241
205
  }));