@azure/communication-react 1.20.0-beta.1 → 1.21.0-alpha-202410180016

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 (1150) hide show
  1. package/README.md +2 -2
  2. package/dist/communication-react.d.ts +309 -43
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-CK3wKmiQ.js → ChatMessageComponentAsRichTextEditBox-gYu0HYYZ.js} +114 -41
  4. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-gYu0HYYZ.js.map +1 -0
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Duh89Mej.js → RichTextSendBoxWrapper-CaxLScti.js} +4 -2
  6. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-CaxLScti.js.map +1 -0
  7. package/dist/dist-cjs/communication-react/{index-XC7Z08jO.js → index-CAY7MwjX.js} +8138 -6129
  8. package/dist/dist-cjs/communication-react/index-CAY7MwjX.js.map +1 -0
  9. package/dist/dist-cjs/communication-react/index.js +3 -1
  10. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  14. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/constants.js +1 -0
  16. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/dataConversion.js +6 -1
  19. package/dist/dist-esm/acs-ui-common/src/dataConversion.js.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/identifier.js +4 -1
  21. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/index.js +3 -0
  23. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  24. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  25. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  26. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  27. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js +1 -1
  28. package/dist/dist-esm/acs-ui-common/src/removeImageTags.js.map +1 -1
  29. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  30. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  31. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  32. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  33. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.d.ts +16 -7
  34. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js +10 -13
  35. package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js.map +1 -1
  36. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.d.ts +17 -7
  37. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js +12 -13
  38. package/dist/dist-esm/acs-ui-javascript-loaders/src/callWithChatCompositeLoader.js.map +1 -1
  39. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.d.ts +13 -7
  40. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js +10 -12
  41. package/dist/dist-esm/acs-ui-javascript-loaders/src/chatCompositeLoader.js.map +1 -1
  42. package/dist/dist-esm/acs-ui-javascript-loaders/src/index.js.map +1 -1
  43. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.d.ts +16 -7
  44. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js +15 -15
  45. package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js.map +1 -1
  46. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.js +1 -1
  47. package/dist/dist-esm/acs-ui-javascript-loaders/src/utils.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +3 -4
  49. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +3 -1
  50. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +19 -9
  52. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +7 -1
  54. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  55. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +23 -55
  56. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  57. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +3 -2
  58. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
  59. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +12 -0
  60. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +100 -61
  61. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  62. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  63. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  64. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.d.ts +6 -0
  65. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js +10 -7
  66. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  67. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.d.ts +2 -0
  68. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +10 -10
  69. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  70. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  71. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  72. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  73. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  74. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js +8 -2
  75. package/dist/dist-esm/calling-component-bindings/src/incomingCallStackSelector.js.map +1 -1
  76. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -2
  77. package/dist/dist-esm/calling-component-bindings/src/index.js +1 -2
  78. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  79. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +42 -65
  80. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  81. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +29 -9
  82. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  83. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  84. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  85. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +6 -3
  86. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  87. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  88. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  89. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  90. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.d.ts +1 -2
  91. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +21 -10
  92. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  93. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +11 -9
  94. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  95. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +14 -9
  96. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  97. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +26 -6
  98. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  100. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js +17 -10
  101. package/dist/dist-esm/calling-stateful-client/src/BreakoutRoomsSubscriber.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +65 -74
  104. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +63 -2
  106. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +3 -0
  108. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +106 -47
  109. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  110. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +7 -8
  111. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +99 -108
  113. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  114. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  117. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +27 -8
  118. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  120. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/Converter.js +15 -22
  122. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  123. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +99 -108
  124. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  125. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +14 -16
  126. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  127. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  128. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +3 -15
  129. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  130. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js +3 -0
  131. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -1
  132. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  133. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  134. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +1 -3
  135. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  136. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  137. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  138. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  139. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -1
  140. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js +6 -1
  141. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  142. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  143. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -1
  144. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +2 -1
  145. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +66 -68
  146. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  147. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.d.ts +2 -1
  148. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +32 -24
  149. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  150. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +8 -11
  151. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  152. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +2 -1
  153. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  154. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +8 -8
  155. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  156. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js +14 -16
  157. package/dist/dist-esm/calling-stateful-client/src/TeamsIncomingCallDeclarative.js.map +1 -1
  158. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.d.ts +19 -0
  159. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js +32 -0
  160. package/dist/dist-esm/calling-stateful-client/src/TogetherModeSubscriber.js.map +1 -0
  161. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  162. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js +0 -4
  163. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  164. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.d.ts +1 -0
  165. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +33 -3
  166. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  167. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +6 -7
  168. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  169. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +3 -0
  170. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  171. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  172. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  173. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  174. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +10 -14
  175. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  176. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +15 -15
  177. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  178. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  179. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +28 -10
  180. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  181. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  182. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js +3 -2
  183. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  184. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  185. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  186. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +49 -16
  187. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  188. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  189. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  190. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  191. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  192. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +5 -9
  193. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  194. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +3 -1
  195. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  196. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  197. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +4 -1
  198. package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -1
  199. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +10 -3
  200. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  201. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -1
  202. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  203. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +19 -27
  204. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  205. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  206. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +9 -11
  207. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  208. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  209. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +8 -19
  210. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  211. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +57 -67
  212. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  213. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +114 -128
  214. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  215. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  216. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  217. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  218. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  219. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  220. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  221. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  222. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  223. package/dist/dist-esm/communication-react/src/api-summary.d.ts +2 -1
  224. package/dist/dist-esm/communication-react/src/api-summary.js +3 -1
  225. package/dist/dist-esm/communication-react/src/api-summary.js.map +1 -1
  226. package/dist/dist-esm/communication-react/src/index.d.ts +1 -0
  227. package/dist/dist-esm/communication-react/src/index.js +6 -0
  228. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  229. package/dist/dist-esm/communication-react/src/javascript-loaders.js +1 -0
  230. package/dist/dist-esm/communication-react/src/javascript-loaders.js.map +1 -1
  231. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +3 -6
  233. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +4 -10
  237. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  238. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  239. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  240. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  241. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  242. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +14 -13
  244. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js +1 -1
  246. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCardGroup.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.d.ts +1 -1
  248. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js +17 -6
  249. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentDownloadCards.js.map +1 -1
  250. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js +21 -18
  251. package/dist/dist-esm/react-components/src/components/Attachment/AttachmentUploadCards.js.map +1 -1
  252. package/dist/dist-esm/react-components/src/components/CameraButton.js +8 -19
  253. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  254. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  255. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +13 -8
  257. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  258. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +36 -19
  259. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +2 -5
  261. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +37 -22
  263. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +1 -1
  265. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +25 -25
  266. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  267. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +46 -35
  268. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  269. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js +9 -5
  270. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -1
  271. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +1 -1
  272. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.d.ts +1 -1
  274. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +43 -9
  275. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  276. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.d.ts +1 -1
  277. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +57 -12
  278. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +42 -37
  280. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +7 -0
  282. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +13 -2
  283. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  284. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +120 -39
  285. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  286. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +1 -1
  287. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +47 -12
  288. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.d.ts +1 -1
  290. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +53 -12
  291. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  292. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +97 -16
  293. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  295. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +7 -4
  297. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  299. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  301. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  303. package/dist/dist-esm/react-components/src/components/ControlBar.js +10 -14
  304. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +14 -4
  306. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +5 -16
  308. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  309. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +11 -10
  310. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  311. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +22 -31
  312. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  313. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +5 -8
  314. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  315. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +41 -6
  316. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +12 -20
  318. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/DevicesButton.js +19 -27
  320. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js +12 -48
  322. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +51 -55
  324. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  326. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  327. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +2 -6
  328. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +11 -9
  330. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  331. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +11 -23
  332. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +6 -4
  334. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +11 -5
  336. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  338. package/dist/dist-esm/react-components/src/components/EndCallButton.js +23 -16
  339. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  340. package/dist/dist-esm/react-components/src/components/ErrorBar.js +9 -5
  341. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js +2 -6
  343. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/GridLayout.js +40 -37
  345. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  347. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  349. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +10 -13
  351. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +11 -14
  353. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js +26 -39
  355. package/dist/dist-esm/react-components/src/components/IncomingCallNotification.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js +5 -7
  357. package/dist/dist-esm/react-components/src/components/IncomingCallStack.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +3 -10
  359. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +8 -7
  361. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +6 -5
  363. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +1 -0
  365. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +40 -23
  366. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  367. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +17 -24
  368. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  369. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +4 -12
  370. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/MentionPopover.js +20 -13
  372. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  373. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +2 -2
  374. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  376. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js +20 -33
  377. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js.map +1 -1
  378. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +2 -2
  379. package/dist/dist-esm/react-components/src/components/MessageThread.js +109 -52
  380. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts +24 -0
  382. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +38 -11
  383. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  384. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +96 -102
  385. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  386. package/dist/dist-esm/react-components/src/components/Notification.js +5 -9
  387. package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -1
  388. package/dist/dist-esm/react-components/src/components/NotificationStack.js +13 -9
  389. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  390. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +15 -22
  391. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  392. package/dist/dist-esm/react-components/src/components/ParticipantList.js +50 -46
  393. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  394. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +46 -32
  395. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  396. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  397. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  398. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  399. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  400. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +6 -12
  401. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  402. package/dist/dist-esm/react-components/src/components/ReactionButton.js +43 -52
  403. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  404. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +27 -18
  405. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  406. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  407. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  408. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  409. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  410. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/ContextMenuPlugin.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +25 -11
  412. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  413. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/KeyboardInputPlugin.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +1 -1
  415. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js +4 -2
  416. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/RichTextToolbarPlugin.js.map +1 -1
  417. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/TableEditContextMenuProvider.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js +17 -3
  419. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UndoRedoPlugin.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js +3 -4
  421. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/UpdateContentPlugin.js.map +1 -1
  422. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +84 -31
  423. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  424. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +33 -11
  425. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +138 -32
  427. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +18 -16
  429. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js +37 -26
  431. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/RichTextToolbar.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js +8 -10
  433. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTableCommandBarItem.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js +6 -3
  435. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextInsertTablePane.js.map +1 -1
  436. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js +2 -2
  437. package/dist/dist-esm/react-components/src/components/RichTextEditor/Toolbar/Table/RichTextToolbarTableIcon.js.map +1 -1
  438. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +6 -14
  439. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/components/SendBox.js +70 -30
  441. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  442. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +17 -1
  443. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  444. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +3 -1
  445. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  446. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +2 -4
  447. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/components/StreamMedia.js +5 -5
  449. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js +10 -3
  451. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js.map +1 -1
  452. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js.map +1 -1
  453. package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js.map +1 -1
  454. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +23 -23
  455. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -1
  456. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/components/SystemMessage.js +2 -4
  458. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +67 -22
  460. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  461. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +59 -54
  462. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  463. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  464. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  465. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +9 -6
  466. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  467. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +2 -1
  468. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  469. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +2 -1
  470. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  471. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +9 -8
  472. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  473. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +2 -1
  474. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +14 -31
  476. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +3 -1
  478. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  479. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +11 -15
  480. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +8 -22
  482. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  483. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +6 -2
  484. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  485. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +19 -8
  486. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  487. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +19 -11
  488. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  489. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +40 -16
  490. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  491. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js +2 -2
  492. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js.map +1 -1
  493. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.d.ts +17 -0
  494. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +99 -0
  495. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +1 -0
  496. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  497. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +4 -2
  498. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  499. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +6 -4
  500. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  501. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +17 -11
  502. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -1
  503. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +34 -28
  504. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
  505. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +8 -6
  506. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  507. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +2 -4
  508. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  509. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +34 -10
  510. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  511. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +1 -6
  512. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  513. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +9 -34
  514. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  515. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +2 -11
  516. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  517. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  518. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  519. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  520. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +1 -3
  521. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +10 -11
  523. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  524. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +22 -28
  525. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  526. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +11 -6
  527. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  528. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +41 -51
  529. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  530. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  531. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -1
  532. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +58 -44
  533. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  534. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +1 -1
  535. package/dist/dist-esm/react-components/src/components/VideoGallery.js +121 -28
  536. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  537. package/dist/dist-esm/react-components/src/components/VideoTile.js +34 -59
  538. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  539. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +2 -2
  540. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  541. package/dist/dist-esm/react-components/src/components/index.js +6 -0
  542. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  543. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  544. package/dist/dist-esm/react-components/src/components/styles/AttachmentCardGroup.styles.js.map +1 -1
  545. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  546. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  547. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  548. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +3 -10
  549. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  550. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  551. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  552. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  553. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  554. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  555. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  556. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +2 -5
  557. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
  558. package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.js.map +1 -1
  559. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +2 -5
  560. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  561. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
  562. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  563. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +5 -10
  564. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  565. package/dist/dist-esm/react-components/src/components/styles/Notification.styles.js.map +1 -1
  566. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +6 -4
  567. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  568. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  569. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.d.ts +13 -6
  570. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +47 -19
  571. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
  572. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.d.ts +0 -6
  573. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +8 -37
  574. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
  575. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +9 -34
  576. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
  577. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +8 -12
  578. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -1
  579. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +2 -10
  580. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  581. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  582. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +1 -1
  583. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +8 -8
  584. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  585. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  586. package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.js.map +1 -1
  587. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +1 -2
  588. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  589. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  590. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  591. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +1 -2
  592. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  593. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +5 -19
  594. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  595. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +2 -1
  596. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  597. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  598. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +15 -4
  599. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  600. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -2
  601. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +38 -10
  602. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  603. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +1 -4
  604. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  605. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +19 -8
  606. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
  607. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +29 -18
  608. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +1 -1
  609. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +28 -12
  610. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  611. package/dist/dist-esm/react-components/src/components/utils/common.js +2 -0
  612. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  613. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  614. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  615. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.d.ts +1 -1
  616. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +2 -5
  617. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  618. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  619. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  620. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  621. package/dist/dist-esm/react-components/src/components/utils/responsive.js +8 -2
  622. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  623. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +10 -1
  624. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  625. package/dist/dist-esm/react-components/src/components/utils.js +25 -17
  626. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  627. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +8 -6
  628. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  629. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  630. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +2 -0
  631. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  632. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  633. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  634. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  635. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  636. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js.map +1 -1
  637. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js.map +1 -1
  638. package/dist/dist-esm/react-components/src/localization/locales/cy-GB/ComponentLocale.js.map +1 -1
  639. package/dist/dist-esm/react-components/src/localization/locales/cy-GB/strings.json +1 -1
  640. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js.map +1 -1
  641. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js.map +1 -1
  642. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js.map +1 -1
  643. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js.map +1 -1
  644. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js.map +1 -1
  645. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js.map +1 -1
  646. package/dist/dist-esm/react-components/src/localization/locales/index.js +1 -3
  647. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  648. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js.map +1 -1
  649. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js.map +1 -1
  650. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js.map +1 -1
  651. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js.map +1 -1
  652. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js.map +1 -1
  653. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js.map +1 -1
  654. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js.map +1 -1
  655. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js.map +1 -1
  656. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js.map +1 -1
  657. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js.map +1 -1
  658. package/dist/dist-esm/react-components/src/localization/locales/utils.js +1 -1
  659. package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
  660. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js.map +1 -1
  661. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js.map +1 -1
  662. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +3 -5
  663. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  664. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +2 -2
  665. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  666. package/dist/dist-esm/react-components/src/theming/generateTheme.js +25 -3
  667. package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
  668. package/dist/dist-esm/react-components/src/theming/icons.js +72 -30
  669. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  670. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  671. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  672. package/dist/dist-esm/react-components/src/theming/themeDuplicates.js.map +1 -1
  673. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  674. package/dist/dist-esm/react-components/src/theming/themes.js +1 -0
  675. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  676. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +1 -7
  677. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  678. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  679. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.js.map +1 -1
  680. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  681. package/dist/dist-esm/react-components/src/types/ChatMessage.d.ts +1 -1
  682. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  683. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  684. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  685. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  686. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  687. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  688. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  689. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  690. package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -1
  691. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -1
  692. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  693. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  694. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  695. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +86 -57
  696. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  697. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -0
  698. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +19 -6
  700. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +216 -95
  701. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  702. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +29 -4
  703. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +7 -1
  704. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  705. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  706. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.d.ts +2 -2
  707. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +13 -9
  708. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  709. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +9 -6
  711. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  713. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -0
  714. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -2
  715. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js +3 -3
  718. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Banner.js.map +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js +14 -9
  720. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BreakoutRoomsBanner.js.map +1 -1
  721. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +98 -49
  722. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.d.ts +0 -3
  724. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +102 -69
  725. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +151 -134
  727. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  728. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +16 -20
  729. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  730. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +9 -7
  731. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  732. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +12 -2
  733. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  734. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +9 -7
  735. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  736. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +5 -4
  737. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  738. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  739. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  740. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +4 -4
  741. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  742. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +33 -22
  743. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +74 -40
  745. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +26 -30
  747. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  748. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +83 -49
  749. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  750. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  751. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +12 -12
  753. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  754. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.d.ts +1 -0
  755. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +10 -32
  756. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
  757. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.d.ts +1 -0
  758. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +29 -11
  759. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  760. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  761. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +120 -72
  764. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +8 -5
  766. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  767. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  768. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  769. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +3 -5
  770. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
  771. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +9 -6
  772. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  773. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +14 -11
  774. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +52 -17
  776. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  777. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.d.ts +3 -0
  778. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +14 -7
  779. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  780. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +5 -2
  781. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  782. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  784. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +1 -1
  785. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js +1 -1
  787. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js.map +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +5 -5
  789. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  790. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +5 -7
  791. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  792. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js +8 -1
  793. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useCompositeStringsForNotificationStack.js.map +1 -1
  794. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +40 -16
  795. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  796. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  797. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  799. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  800. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +8 -6
  801. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  802. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +99 -34
  803. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +12 -22
  805. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +14 -6
  807. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +17 -7
  809. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  810. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  811. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js +2 -2
  813. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js +2 -2
  815. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js.map +1 -1
  816. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +23 -21
  817. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +16 -3
  819. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  821. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +2 -1
  824. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  825. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +21 -7
  826. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +23 -0
  827. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  829. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -1
  831. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +1 -4
  832. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  833. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.d.ts +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js +1 -1
  835. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js.map +1 -1
  836. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  837. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  838. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -1
  839. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -1
  840. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  841. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  842. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  843. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +1 -1
  844. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +4 -2
  845. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  846. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.d.ts +1 -1
  847. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js +10 -4
  848. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js.map +1 -1
  849. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  850. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  851. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  852. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +10 -10
  853. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +10 -2
  854. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  855. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  856. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +5 -4
  857. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  858. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  859. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  861. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  862. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  863. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  865. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  866. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  867. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  868. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  870. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +2 -6
  872. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  873. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +41 -29
  874. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  875. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  876. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +1 -2
  877. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  878. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -1
  879. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +1 -4
  880. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  881. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +2 -9
  883. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  884. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  885. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +2 -4
  886. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  887. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  888. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  889. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +1 -2
  890. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  891. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +6 -24
  892. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  893. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  894. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  895. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  896. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +21 -22
  897. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  898. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +19 -7
  899. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  900. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +4 -2
  901. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  902. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -2
  903. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +59 -38
  904. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  905. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  906. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +15 -5
  907. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -1
  908. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +2 -2
  909. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -1
  910. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -1
  911. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +96 -22
  912. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  913. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  914. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  915. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +9 -7
  916. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  917. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +6 -9
  918. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  919. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js +2 -2
  920. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  921. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  922. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +6 -4
  923. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +112 -42
  924. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  925. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +13 -5
  926. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  927. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +4 -2
  928. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +23 -0
  929. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  930. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.d.ts +1 -1
  931. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js +8 -2
  932. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  933. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  934. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  935. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  936. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  937. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +11 -0
  938. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +12 -1
  939. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  940. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js +1 -0
  941. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  942. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +3 -5
  943. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +1 -1
  944. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +9 -2
  945. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  946. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +3 -5
  947. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  948. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +223 -137
  949. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  950. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  951. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  952. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js +11 -7
  953. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadReducer.js.map +1 -1
  954. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js +44 -24
  955. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.js.map +1 -1
  956. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  957. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.d.ts +2 -2
  958. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +47 -37
  959. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  960. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  961. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  962. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  963. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js +12 -7
  964. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
  965. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +21 -6
  966. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  967. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  968. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +1 -3
  969. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  970. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +17 -4
  971. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  972. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  973. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.d.ts +6 -0
  974. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +11 -0
  975. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -0
  976. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  977. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.d.ts +16 -0
  978. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js +15 -0
  979. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -0
  980. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +2 -6
  981. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  982. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +9 -17
  983. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  984. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +24 -25
  985. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  986. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  987. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js.map +1 -1
  988. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +7 -3
  989. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  990. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +5 -14
  991. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  992. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +9 -23
  993. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  994. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  995. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js +3 -5
  996. package/dist/dist-esm/react-composites/src/composites/common/CalloutWithIcon.js.map +1 -1
  997. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +12 -14
  998. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  999. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +12 -16
  1000. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  1001. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  1002. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  1003. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +1 -5
  1004. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  1005. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +129 -45
  1006. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  1007. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +39 -37
  1008. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  1009. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +107 -72
  1010. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  1011. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +1 -1
  1012. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  1013. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  1014. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  1015. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js +2 -4
  1016. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/Timer.js.map +1 -1
  1017. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  1018. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js +5 -7
  1019. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -1
  1020. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +92 -124
  1021. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  1022. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  1023. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  1024. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js +5 -7
  1025. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -1
  1026. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  1027. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +1 -1
  1028. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -1
  1029. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +4 -1
  1030. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  1031. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +11 -9
  1032. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  1033. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +27 -17
  1034. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  1035. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  1036. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  1037. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +15 -16
  1038. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  1039. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +3 -0
  1040. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +16 -15
  1041. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  1042. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js +4 -0
  1043. package/dist/dist-esm/react-composites/src/composites/common/RichTextSendBoxWrapper.js.map +1 -1
  1044. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +7 -0
  1045. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +26 -8
  1046. package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
  1047. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +7 -15
  1048. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  1049. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js.map +1 -1
  1050. package/dist/dist-esm/react-composites/src/composites/common/Survey.js +19 -34
  1051. package/dist/dist-esm/react-composites/src/composites/common/Survey.js.map +1 -1
  1052. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js +2 -2
  1053. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js.map +1 -1
  1054. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +11 -8
  1055. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  1056. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +1 -1
  1057. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -1
  1058. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +2 -0
  1059. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +20 -16
  1060. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  1061. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  1062. package/dist/dist-esm/react-composites/src/composites/common/constants.js +1 -0
  1063. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  1064. package/dist/dist-esm/react-composites/src/composites/common/icons.js +5 -3
  1065. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  1066. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.d.ts +8 -0
  1067. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js +26 -0
  1068. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js.map +1 -0
  1069. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.d.ts +8 -0
  1070. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js +25 -0
  1071. package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js.map +1 -0
  1072. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  1073. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  1074. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  1075. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  1076. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +4 -10
  1077. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  1078. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +11 -44
  1079. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  1080. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +6 -29
  1081. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  1082. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +4 -22
  1083. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  1084. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js +15 -13
  1085. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js.map +1 -1
  1086. package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.js.map +1 -1
  1087. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +1 -1
  1088. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  1089. package/dist/dist-esm/react-composites/src/composites/common/utils.js +20 -14
  1090. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  1091. package/dist/dist-esm/react-composites/src/composites/index.d.ts +2 -0
  1092. package/dist/dist-esm/react-composites/src/composites/index.js +4 -0
  1093. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  1094. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  1095. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  1096. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  1097. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  1098. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +2 -1
  1099. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  1100. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +2 -1
  1101. package/dist/dist-esm/react-composites/src/composites/localization/locales/cy-GB/CompositeLocale.js.map +1 -1
  1102. package/dist/dist-esm/react-composites/src/composites/localization/locales/cy-GB/strings.json +2 -1
  1103. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  1104. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +2 -1
  1105. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  1106. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +2 -1
  1107. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -1
  1108. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  1109. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +2 -1
  1110. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  1111. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +2 -1
  1112. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  1113. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +2 -1
  1114. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  1115. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +2 -1
  1116. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  1117. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  1118. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +2 -1
  1119. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  1120. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +2 -1
  1121. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  1122. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +1 -0
  1123. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  1124. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +2 -1
  1125. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  1126. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +2 -1
  1127. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  1128. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +2 -1
  1129. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  1130. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +2 -1
  1131. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  1132. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +2 -1
  1133. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  1134. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +2 -1
  1135. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  1136. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +2 -1
  1137. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js +1 -1
  1138. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js.map +1 -1
  1139. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  1140. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +2 -1
  1141. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  1142. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +2 -1
  1143. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  1144. package/package.json +6 -7
  1145. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CK3wKmiQ.js.map +0 -1
  1146. package/dist/dist-cjs/communication-react/RichTextSendBoxWrapper-Duh89Mej.js.map +0 -1
  1147. package/dist/dist-cjs/communication-react/index-XC7Z08jO.js.map +0 -1
  1148. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.d.ts +0 -8
  1149. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +0 -25
  1150. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ImageUploadUtils.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { AttachmentMetadataInProgress, _IMAGE_ATTRIBUTE_INLINE_IMAGE_FILE_NAME_KEY } from '@internal/acs-ui-common';\nimport { AttachmentUpload, AttachmentUploadActionType, AttachmentUploadTask } from '../file-sharing/AttachmentUpload';\nimport { _DEFAULT_INLINE_IMAGE_FILE_NAME, SEND_BOX_UPLOADS_KEY_VALUE } from '../../common/constants';\nimport { ChatAdapter } from '../adapter/ChatAdapter';\nimport { Dispatch } from 'react';\nimport { ImageActions } from './ImageUploadReducer';\nimport { nanoid } from 'nanoid';\nimport { ChatCompositeStrings } from '../Strings';\nconst MAX_INLINE_IMAGE_UPLOAD_SIZE_MB = 20;\nconst fetchBlobData = async (resource: string | URL | Request, options: {\n timeout?: number;\n headers?: Headers;\n abortController: AbortController;\n}): Promise<Response> => {\n // default timeout is 30 seconds\n const {\n timeout = 30000,\n abortController\n } = options;\n const id = setTimeout(() => {\n abortController.abort();\n }, timeout);\n const response = await fetch(resource, {\n ...options,\n signal: abortController.signal\n });\n clearTimeout(id);\n return response;\n};\n/**\n * @private\n */\nexport const getInlineImageData = async (image: string): Promise<Blob | undefined> => {\n if (image.startsWith('blob') || image.startsWith('http')) {\n try {\n const res = await fetchBlobData(image, {\n abortController: new AbortController()\n });\n const blobImage = await res.blob();\n return blobImage;\n } catch (error) {\n console.error('Error fetching image data', error);\n return;\n }\n }\n return;\n};\n/**\n * @internal\n */\nexport const getEditBoxMessagesInlineImages = (editBoxInlineImageUploads: Record<string, AttachmentUpload[]> | undefined): Record<string, AttachmentMetadataInProgress[]> | undefined => {\n if (!editBoxInlineImageUploads) {\n return;\n }\n const messageIds = Object.keys(editBoxInlineImageUploads || {});\n const messagesInlineImagesWithProgress: Record<string, AttachmentMetadataInProgress[]> = {};\n messageIds.map(messageId => {\n const messageUploads = editBoxInlineImageUploads[messageId].map(upload => {\n return upload.metadata;\n });\n messagesInlineImagesWithProgress[messageId] = messageUploads;\n });\n return messagesInlineImagesWithProgress;\n};\n/**\n * @internal\n */\nexport const getSendBoxInlineImages = (sendBoxInlineImageUploads: Record<string, AttachmentUpload[]> | undefined): AttachmentMetadataInProgress[] | undefined => {\n if (!sendBoxInlineImageUploads) {\n return;\n }\n return sendBoxInlineImageUploads[SEND_BOX_UPLOADS_KEY_VALUE]?.map(upload => upload.metadata);\n};\nconst inlineImageUploadHandler = async (uploadTasks: AttachmentUpload[], adapter: ChatAdapter, strings: ChatCompositeStrings): Promise<void> => {\n for (const task of uploadTasks) {\n const uploadTask = task as AttachmentUploadTask;\n const image: Blob | undefined = uploadTask.image;\n if (!image) {\n uploadTask.notifyUploadFailed(strings.uploadImageDataNotProvided);\n continue;\n }\n if (image && image.size > MAX_INLINE_IMAGE_UPLOAD_SIZE_MB * 1024 * 1024) {\n uploadTask.notifyUploadFailed(strings.uploadImageIsTooLarge.replace('{maxImageSize}', `${MAX_INLINE_IMAGE_UPLOAD_SIZE_MB}`));\n continue;\n }\n const SUPPORTED_FILES: Array<string> = ['jpg', 'jpeg', 'png', 'gif', 'heic', 'webp'];\n const imageExtension = task.metadata?.name.split('.').pop() ?? '';\n if (!SUPPORTED_FILES.includes(imageExtension)) {\n uploadTask.notifyUploadFailed(strings.uploadImageExtensionIsNotAllowed.replace('{imageExtension}', imageExtension));\n continue;\n }\n try {\n const response = await adapter.uploadImage(image, task.metadata?.name);\n // Use response id as the image src because we need to keep the original image id as a reference to find the image.\n // Also the html content we send to ChatSDK does not need image src,\n // it only need the response id to match the uploaded image, url is not needed.\n uploadTask.notifyUploadCompleted(task.metadata.id, response.id);\n } catch (error) {\n console.error(error);\n uploadTask.notifyUploadFailed(strings.uploadImageFailed);\n }\n }\n};\nconst generateUploadTask = async (imageAttributes: Record<string, string>, fileName: string, messageId: string, inlineImageUploadActionHandler: Dispatch<ImageActions>): Promise<AttachmentUpload | undefined> => {\n const imageData = await getInlineImageData(imageAttributes.src);\n if (!imageData) {\n return;\n }\n const taskId = nanoid();\n const uploadTask: AttachmentUpload = {\n image: imageData,\n taskId,\n metadata: {\n id: imageAttributes.id,\n name: fileName,\n url: imageAttributes.src,\n progress: 0\n },\n notifyUploadProgressChanged: (value: number) => {\n inlineImageUploadActionHandler({\n type: AttachmentUploadActionType.Progress,\n taskId,\n progress: value,\n messageId\n });\n },\n notifyUploadCompleted: (id: string, url: string) => {\n inlineImageUploadActionHandler({\n type: AttachmentUploadActionType.Completed,\n taskId,\n id,\n url,\n messageId\n });\n },\n notifyUploadFailed: (message: string) => {\n inlineImageUploadActionHandler({\n type: AttachmentUploadActionType.Failed,\n taskId,\n message,\n messageId\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 inlineImageUploadActionHandler({\n type: AttachmentUploadActionType.Remove,\n id: taskId,\n messageId\n });\n }, 10 * 1000);\n }\n };\n return uploadTask;\n};\n/**\n * @internal\n */\nexport const onInsertInlineImageForEditBox = async (imageAttributes: Record<string, string>, fileName: string, messageId: string, adapter: ChatAdapter, handleEditBoxInlineImageUploadAction: Dispatch<ImageActions>, chatCompositeStrings: ChatCompositeStrings): Promise<void> => {\n const uploadTask: AttachmentUpload | undefined = await generateUploadTask(imageAttributes, fileName, messageId, handleEditBoxInlineImageUploadAction);\n if (!uploadTask) {\n return;\n }\n handleEditBoxInlineImageUploadAction({\n type: AttachmentUploadActionType.Set,\n newUploads: [uploadTask],\n messageId\n });\n inlineImageUploadHandler([uploadTask], adapter, chatCompositeStrings);\n};\n/**\n * @internal\n */\nexport const onInsertInlineImageForSendBox = async (imageAttributes: Record<string, string>, fileName: string, adapter: ChatAdapter, handleSendBoxInlineImageUploadAction: Dispatch<ImageActions>, chatCompositeStrings: ChatCompositeStrings): Promise<void> => {\n const uploadTask: AttachmentUpload | undefined = await generateUploadTask(imageAttributes, fileName, SEND_BOX_UPLOADS_KEY_VALUE, handleSendBoxInlineImageUploadAction);\n if (!uploadTask) {\n return;\n }\n handleSendBoxInlineImageUploadAction({\n type: AttachmentUploadActionType.Set,\n newUploads: [uploadTask],\n messageId: SEND_BOX_UPLOADS_KEY_VALUE\n });\n inlineImageUploadHandler([uploadTask], adapter, chatCompositeStrings);\n};\n/**\n * @internal\n */\nexport const cancelInlineImageUpload = (imageAttributes: Record<string, string>, imageUploads: Record<string, AttachmentUpload[]> | undefined, messageId: string, inlineImageUploadActionHandler: Dispatch<ImageActions>, adapter: ChatAdapter): void => {\n if (!imageUploads || !imageUploads[messageId]) {\n deleteExistingInlineImageForEditBox(imageAttributes.id, messageId, adapter);\n return;\n }\n const imageUpload = imageUploads[messageId].find(upload => upload.metadata.id === imageAttributes.id);\n if (!imageUpload || !imageUpload?.metadata.id) {\n deleteExistingInlineImageForEditBox(imageAttributes.id, messageId, adapter);\n return;\n }\n inlineImageUploadActionHandler({\n type: AttachmentUploadActionType.Remove,\n id: imageUpload?.metadata.id,\n messageId\n });\n if (imageUpload?.metadata.progress === 1 && imageUpload?.metadata.url) {\n // The image id that we got back from the ChatSDK response is stored in the image src attribute,\n // while the metadata id is the internal image id that we assigned to the image when it was pasted in.\n deleteInlineImageFromServer(imageUpload?.metadata.url, adapter);\n }\n};\nconst deleteInlineImageFromServer = (imageId: string, adapter: ChatAdapter): void => {\n try {\n adapter.deleteImage(imageId);\n } catch (error) {\n console.error(error);\n }\n}; // This function is used to delete the inline image that existed before editing starts\nconst deleteExistingInlineImageForEditBox = (imageId: string, messageId: string, adapter: ChatAdapter): void => {\n messageId !== SEND_BOX_UPLOADS_KEY_VALUE && deleteInlineImageFromServer(imageId, adapter);\n};\n/**\n * @internal\n */\nexport const updateContentStringWithUploadedInlineImages = (content: string, imageUploads: Record<string, AttachmentUpload[]> | undefined, messageId: string = SEND_BOX_UPLOADS_KEY_VALUE): string => {\n if (!imageUploads || !imageUploads[messageId]) {\n return content;\n }\n const messageUploads = imageUploads[messageId];\n const document = new DOMParser().parseFromString(content ?? '', 'text/html');\n document.querySelectorAll('img').forEach(img => {\n const uploadInlineImage = messageUploads.find(upload => !upload.metadata.error && upload.metadata.progress === 1 && upload.metadata.id === img.id);\n if (uploadInlineImage) {\n // ChatSDK uses the respond id provided by the upload response. We store the response id in the image src attribute previously.\n img.id = uploadInlineImage.metadata.url ?? img.id;\n img.src = '';\n }\n });\n content = document.body.innerHTML;\n return content;\n};\n/**\n * @internal\n */\nexport const getImageFileNameFromAttributes = (imageAttributes: Record<string, string>): string => {\n const fileName = imageAttributes[_IMAGE_ATTRIBUTE_INLINE_IMAGE_FILE_NAME_KEY];\n if (!fileName || fileName === '' || fileName === 'undefined' || fileName === 'null') {\n return _DEFAULT_INLINE_IMAGE_FILE_NAME;\n }\n return fileName;\n};"]}
1
+ {"version":3,"file":"ImageUploadUtils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/ImageUpload/ImageUploadUtils.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,gEAAgE;AAChE,OAAO,EAAgC,2CAA2C,EAAE,yCAAgC;AACpH,gEAAgE;AAChE,OAAO,EAAoB,0BAA0B,EAAwB,MAAM,kCAAkC,CAAC;AACtH,gEAAgE;AAChE,OAAO,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAOrG,gEAAgE;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,gEAAgE;AAChE,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAE3C,gEAAgE;AAChE,MAAM,aAAa,GAAG,CACpB,QAAgC,EAChC,OAAkF,EAC/D,EAAE;IACrB,gCAAgC;IAChC,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAErD,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;QACzB,eAAe,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,EAAE,OAAO,CAAC,CAAC;IAEZ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,kCAChC,OAAO,KACV,MAAM,EAAE,eAAe,CAAC,MAAM,IAC9B,CAAC;IACH,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAA,CAAC;AAEF,gEAAgE;AAChE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAO,KAAa,EAA6B,EAAE;IACnF,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,EAAE,eAAe,EAAE,IAAI,eAAe,EAAE,EAAE,CAAC,CAAC;YACnF,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;IACH,CAAC;IACD,OAAO;AACT,CAAC,CAAA,CAAC;AAEF,gEAAgE;AAChE;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,yBAAyE,EACb,EAAE;IAC9D,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,MAAM,gCAAgC,GAAmD,EAAE,CAAC;IAC5F,MAAM,CAAC,OAAO,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,EAAE;QACrF,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACtD,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,gCAAgC,CAAC,SAAS,CAAC,GAAG,cAAc,CAAC;IAC/D,CAAC,CAAC,CAAC;IACH,OAAO,gCAAgC,CAAC;AAC1C,CAAC,CAAC;AAEF,gEAAgE;AAChE;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,yBAAyE,EAC7B,EAAE;;IAC9C,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,OAAO,MAAA,yBAAyB,CAAC,0BAA0B,CAAC,0CAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjG,CAAC,CAAC;AAEF,gEAAgE;AAChE,MAAM,wBAAwB,GAAG,CAC/B,WAA+B,EAC/B,OAAoB,EACpB,OAA6B,EACd,EAAE;;IACjB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,UAAU,GAAG,IAA4B,CAAC;QAChD,MAAM,KAAK,GAAqB,UAAU,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QACD,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,GAAG,+BAA+B,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;YACxE,UAAU,CAAC,kBAAkB,CAC3B,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,+BAA+B,EAAE,CAAC,CAC9F,CAAC;YACF,SAAS;QACX,CAAC;QAED,MAAM,eAAe,GAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrF,MAAM,cAAc,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,mCAAI,EAAE,CAAC;QAClE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9C,UAAU,CAAC,kBAAkB,CAC3B,OAAO,CAAC,gCAAgC,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC,CACrF,CAAC;YACF,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC;YACvE,mHAAmH;YACnH,oEAAoE;YACpE,+EAA+E;YAC/E,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,UAAU,CAAC,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;AACH,CAAC,CAAA,CAAC;AAEF,gEAAgE;AAChE,MAAM,kBAAkB,GAAG,CACzB,eAAuC,EACvC,QAAgB,EAChB,SAAiB,EACjB,8BAAsD,EACf,EAAE;IACzC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,MAAM,UAAU,GAAqB;QACnC,KAAK,EAAE,SAAS;QAChB,MAAM;QACN,QAAQ,EAAE;YACR,EAAE,EAAE,eAAe,CAAC,EAAE;YACtB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,eAAe,CAAC,GAAG;YACxB,QAAQ,EAAE,CAAC;SACZ;QACD,2BAA2B,EAAE,CAAC,KAAa,EAAE,EAAE;YAC7C,8BAA8B,CAAC;gBAC7B,IAAI,EAAE,0BAA0B,CAAC,QAAQ;gBACzC,MAAM;gBACN,QAAQ,EAAE,KAAK;gBACf,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QACD,qBAAqB,EAAE,CAAC,EAAU,EAAE,GAAW,EAAE,EAAE;YACjD,8BAA8B,CAAC;gBAC7B,IAAI,EAAE,0BAA0B,CAAC,SAAS;gBAC1C,MAAM;gBACN,EAAE;gBACF,GAAG;gBACH,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QACD,kBAAkB,EAAE,CAAC,OAAe,EAAE,EAAE;YACtC,8BAA8B,CAAC,EAAE,IAAI,EAAE,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;YACxG,qFAAqF;YACrF,yDAAyD;YACzD,UAAU,CAAC,GAAG,EAAE;gBACd,8BAA8B,CAAC,EAAE,IAAI,EAAE,0BAA0B,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACrG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QAChB,CAAC;KACF,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAA,CAAC;AAEF,gEAAgE;AAChE;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,eAAuC,EACvC,QAAgB,EAChB,SAAiB,EACjB,OAAoB,EACpB,oCAA4D,EAC5D,oBAA0C,EAC3B,EAAE;IACjB,MAAM,UAAU,GAAiC,MAAM,kBAAkB,CACvE,eAAe,EACf,QAAQ,EACR,SAAS,EACT,oCAAoC,CACrC,CAAC;IACF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,oCAAoC,CAAC;QACnC,IAAI,EAAE,0BAA0B,CAAC,GAAG;QACpC,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,SAAS;KACV,CAAC,CAAC;IACH,wBAAwB,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;AACxE,CAAC,CAAA,CAAC;AAEF,gEAAgE;AAChE;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,eAAuC,EACvC,QAAgB,EAChB,OAAoB,EACpB,oCAA4D,EAC5D,oBAA0C,EAC3B,EAAE;IACjB,MAAM,UAAU,GAAiC,MAAM,kBAAkB,CACvE,eAAe,EACf,QAAQ,EACR,0BAA0B,EAC1B,oCAAoC,CACrC,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,oCAAoC,CAAC;QACnC,IAAI,EAAE,0BAA0B,CAAC,GAAG;QACpC,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,SAAS,EAAE,0BAA0B;KACtC,CAAC,CAAC;IACH,wBAAwB,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC;AACxE,CAAC,CAAA,CAAC;AAEF,gEAAgE;AAChE;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,eAAuC,EACvC,YAA4D,EAC5D,SAAiB,EACjB,8BAAsD,EACtD,OAAoB,EACd,EAAE;;IACR,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO;IACT,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,mCAAmC,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,MAAA,YAAY,CAAC,SAAS,CAAC,0CAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,eAAe,CAAC,EAAE,CAAC,CAAC;IAEzG,IAAI,CAAC,WAAW,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,EAAE,CAAA,EAAE,CAAC;QAC9C,mCAAmC,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,8BAA8B,CAAC;QAC7B,IAAI,EAAE,0BAA0B,CAAC,MAAM;QACvC,EAAE,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,EAAE;QAC5B,SAAS;KACV,CAAC,CAAC;IAEH,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,QAAQ,MAAK,CAAC,KAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,GAAG,CAAA,EAAE,CAAC;QACtE,gGAAgG;QAChG,sGAAsG;QACtG,2BAA2B,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;AACH,CAAC,CAAC;AAEF,gEAAgE;AAChE,MAAM,2BAA2B,GAAG,CAAC,OAAe,EAAE,OAAoB,EAAQ,EAAE;IAClF,IAAI,CAAC;QACH,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AAEF,gEAAgE;AAChE,sFAAsF;AACtF,MAAM,mCAAmC,GAAG,CAAC,OAAe,EAAE,SAAiB,EAAE,OAAoB,EAAQ,EAAE;IAC7G,SAAS,KAAK,0BAA0B,IAAI,2BAA2B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5F,CAAC,CAAC;AAEF,gEAAgE;AAChE;;GAEG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAG,CACzD,OAAe,EACf,YAA4D,EAC5D,YAAoB,0BAA0B,EACtC,EAAE;IACV,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EAAE,WAAW,CAAC,CAAC;IAC7E,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;;QAC/C,MAAM,iBAAiB,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAC5C,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CACtG,CAAC;QAEF,IAAI,iBAAiB,EAAE,CAAC;YACtB,+HAA+H;YAC/H,GAAG,CAAC,EAAE,GAAG,MAAA,iBAAiB,CAAC,QAAQ,CAAC,GAAG,mCAAI,GAAG,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;IAElC,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,gEAAgE;AAChE;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,eAAuC,EAAU,EAAE;IAChG,MAAM,QAAQ,GAAG,eAAe,CAAC,2CAA2C,CAAC,CAAC;IAC9E,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACpF,OAAO,+BAA+B,CAAC;IACzC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { AttachmentMetadataInProgress, _IMAGE_ATTRIBUTE_INLINE_IMAGE_FILE_NAME_KEY } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { AttachmentUpload, AttachmentUploadActionType, AttachmentUploadTask } from '../file-sharing/AttachmentUpload';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { _DEFAULT_INLINE_IMAGE_FILE_NAME, SEND_BOX_UPLOADS_KEY_VALUE } from '../../common/constants';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { ChatAdapter } from '../adapter/ChatAdapter';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { Dispatch } from 'react';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { ImageActions } from './ImageUploadReducer';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { nanoid } from 'nanoid';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { ChatCompositeStrings } from '../Strings';\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nconst MAX_INLINE_IMAGE_UPLOAD_SIZE_MB = 20;\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nconst fetchBlobData = async (\n resource: string | URL | Request,\n options: { timeout?: number; headers?: Headers; abortController: AbortController }\n): Promise<Response> => {\n // default timeout is 30 seconds\n const { timeout = 30000, abortController } = options;\n\n const id = setTimeout(() => {\n abortController.abort();\n }, timeout);\n\n const response = await fetch(resource, {\n ...options,\n signal: abortController.signal\n });\n clearTimeout(id);\n return response;\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @private\n */\nexport const getInlineImageData = async (image: string): Promise<Blob | undefined> => {\n if (image.startsWith('blob') || image.startsWith('http')) {\n try {\n const res = await fetchBlobData(image, { abortController: new AbortController() });\n const blobImage = await res.blob();\n return blobImage;\n } catch (error) {\n console.error('Error fetching image data', error);\n return;\n }\n }\n return;\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const getEditBoxMessagesInlineImages = (\n editBoxInlineImageUploads: Record<string, AttachmentUpload[]> | undefined\n): Record<string, AttachmentMetadataInProgress[]> | undefined => {\n if (!editBoxInlineImageUploads) {\n return;\n }\n\n const messagesInlineImagesWithProgress: Record<string, AttachmentMetadataInProgress[]> = {};\n Object.entries(editBoxInlineImageUploads || {}).map(([messageId, attachmentUploads]) => {\n const messageUploads = attachmentUploads.map((upload) => {\n return upload.metadata;\n });\n messagesInlineImagesWithProgress[messageId] = messageUploads;\n });\n return messagesInlineImagesWithProgress;\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const getSendBoxInlineImages = (\n sendBoxInlineImageUploads: Record<string, AttachmentUpload[]> | undefined\n): AttachmentMetadataInProgress[] | undefined => {\n if (!sendBoxInlineImageUploads) {\n return;\n }\n return sendBoxInlineImageUploads[SEND_BOX_UPLOADS_KEY_VALUE]?.map((upload) => upload.metadata);\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nconst inlineImageUploadHandler = async (\n uploadTasks: AttachmentUpload[],\n adapter: ChatAdapter,\n strings: ChatCompositeStrings\n): Promise<void> => {\n for (const task of uploadTasks) {\n const uploadTask = task as AttachmentUploadTask;\n const image: Blob | undefined = uploadTask.image;\n if (!image) {\n uploadTask.notifyUploadFailed(strings.uploadImageDataNotProvided);\n continue;\n }\n if (image && image.size > MAX_INLINE_IMAGE_UPLOAD_SIZE_MB * 1024 * 1024) {\n uploadTask.notifyUploadFailed(\n strings.uploadImageIsTooLarge.replace('{maxImageSize}', `${MAX_INLINE_IMAGE_UPLOAD_SIZE_MB}`)\n );\n continue;\n }\n\n const SUPPORTED_FILES: Array<string> = ['jpg', 'jpeg', 'png', 'gif', 'heic', 'webp'];\n const imageExtension = task.metadata?.name.split('.').pop() ?? '';\n if (!SUPPORTED_FILES.includes(imageExtension)) {\n uploadTask.notifyUploadFailed(\n strings.uploadImageExtensionIsNotAllowed.replace('{imageExtension}', imageExtension)\n );\n continue;\n }\n\n try {\n const response = await adapter.uploadImage(image, task.metadata?.name);\n // Use response id as the image src because we need to keep the original image id as a reference to find the image.\n // Also the html content we send to ChatSDK does not need image src,\n // it only need the response id to match the uploaded image, url is not needed.\n uploadTask.notifyUploadCompleted(task.metadata.id, response.id);\n } catch (error) {\n console.error(error);\n uploadTask.notifyUploadFailed(strings.uploadImageFailed);\n }\n }\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nconst generateUploadTask = async (\n imageAttributes: Record<string, string>,\n fileName: string,\n messageId: string,\n inlineImageUploadActionHandler: Dispatch<ImageActions>\n): Promise<AttachmentUpload | undefined> => {\n if (!imageAttributes.src) {\n console.error('Cannot upload image - Image src is not provided');\n return;\n }\n if (!imageAttributes.id) {\n console.error('Cannot upload image - Image id is not provided');\n return;\n }\n const imageData = await getInlineImageData(imageAttributes.src);\n if (!imageData) {\n return;\n }\n const taskId = nanoid();\n const uploadTask: AttachmentUpload = {\n image: imageData,\n taskId,\n metadata: {\n id: imageAttributes.id,\n name: fileName,\n url: imageAttributes.src,\n progress: 0\n },\n notifyUploadProgressChanged: (value: number) => {\n inlineImageUploadActionHandler({\n type: AttachmentUploadActionType.Progress,\n taskId,\n progress: value,\n messageId\n });\n },\n notifyUploadCompleted: (id: string, url: string) => {\n inlineImageUploadActionHandler({\n type: AttachmentUploadActionType.Completed,\n taskId,\n id,\n url,\n messageId\n });\n },\n notifyUploadFailed: (message: string) => {\n inlineImageUploadActionHandler({ type: AttachmentUploadActionType.Failed, taskId, message, messageId });\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 inlineImageUploadActionHandler({ type: AttachmentUploadActionType.Remove, id: taskId, messageId });\n }, 10 * 1000);\n }\n };\n return uploadTask;\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const onInsertInlineImageForEditBox = async (\n imageAttributes: Record<string, string>,\n fileName: string,\n messageId: string,\n adapter: ChatAdapter,\n handleEditBoxInlineImageUploadAction: Dispatch<ImageActions>,\n chatCompositeStrings: ChatCompositeStrings\n): Promise<void> => {\n const uploadTask: AttachmentUpload | undefined = await generateUploadTask(\n imageAttributes,\n fileName,\n messageId,\n handleEditBoxInlineImageUploadAction\n );\n if (!uploadTask) {\n return;\n }\n\n handleEditBoxInlineImageUploadAction({\n type: AttachmentUploadActionType.Set,\n newUploads: [uploadTask],\n messageId\n });\n inlineImageUploadHandler([uploadTask], adapter, chatCompositeStrings);\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const onInsertInlineImageForSendBox = async (\n imageAttributes: Record<string, string>,\n fileName: string,\n adapter: ChatAdapter,\n handleSendBoxInlineImageUploadAction: Dispatch<ImageActions>,\n chatCompositeStrings: ChatCompositeStrings\n): Promise<void> => {\n const uploadTask: AttachmentUpload | undefined = await generateUploadTask(\n imageAttributes,\n fileName,\n SEND_BOX_UPLOADS_KEY_VALUE,\n handleSendBoxInlineImageUploadAction\n );\n\n if (!uploadTask) {\n return;\n }\n\n handleSendBoxInlineImageUploadAction({\n type: AttachmentUploadActionType.Set,\n newUploads: [uploadTask],\n messageId: SEND_BOX_UPLOADS_KEY_VALUE\n });\n inlineImageUploadHandler([uploadTask], adapter, chatCompositeStrings);\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const cancelInlineImageUpload = (\n imageAttributes: Record<string, string>,\n imageUploads: Record<string, AttachmentUpload[]> | undefined,\n messageId: string,\n inlineImageUploadActionHandler: Dispatch<ImageActions>,\n adapter: ChatAdapter\n): void => {\n if (!imageAttributes.id) {\n console.error('Cannot cancel image upload - Image id is not provided');\n return;\n }\n\n if (!imageUploads || !imageUploads[messageId]) {\n deleteExistingInlineImageForEditBox(imageAttributes.id, messageId, adapter);\n return;\n }\n const imageUpload = imageUploads[messageId]?.find((upload) => upload.metadata.id === imageAttributes.id);\n\n if (!imageUpload || !imageUpload?.metadata.id) {\n deleteExistingInlineImageForEditBox(imageAttributes.id, messageId, adapter);\n return;\n }\n\n inlineImageUploadActionHandler({\n type: AttachmentUploadActionType.Remove,\n id: imageUpload?.metadata.id,\n messageId\n });\n\n if (imageUpload?.metadata.progress === 1 && imageUpload?.metadata.url) {\n // The image id that we got back from the ChatSDK response is stored in the image src attribute,\n // while the metadata id is the internal image id that we assigned to the image when it was pasted in.\n deleteInlineImageFromServer(imageUpload?.metadata.url, adapter);\n }\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nconst deleteInlineImageFromServer = (imageId: string, adapter: ChatAdapter): void => {\n try {\n adapter.deleteImage(imageId);\n } catch (error) {\n console.error(error);\n }\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n// This function is used to delete the inline image that existed before editing starts\nconst deleteExistingInlineImageForEditBox = (imageId: string, messageId: string, adapter: ChatAdapter): void => {\n messageId !== SEND_BOX_UPLOADS_KEY_VALUE && deleteInlineImageFromServer(imageId, adapter);\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const updateContentStringWithUploadedInlineImages = (\n content: string,\n imageUploads: Record<string, AttachmentUpload[]> | undefined,\n messageId: string = SEND_BOX_UPLOADS_KEY_VALUE\n): string => {\n if (!imageUploads || !imageUploads[messageId]) {\n return content;\n }\n const messageUploads = imageUploads[messageId];\n const document = new DOMParser().parseFromString(content ?? '', 'text/html');\n document.querySelectorAll('img').forEach((img) => {\n const uploadInlineImage = messageUploads?.find(\n (upload) => !upload.metadata.error && upload.metadata.progress === 1 && upload.metadata.id === img.id\n );\n\n if (uploadInlineImage) {\n // ChatSDK uses the respond id provided by the upload response. We store the response id in the image src attribute previously.\n img.id = uploadInlineImage.metadata.url ?? img.id;\n img.src = '';\n }\n });\n content = document.body.innerHTML;\n\n return content;\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const getImageFileNameFromAttributes = (imageAttributes: Record<string, string>): string => {\n const fileName = imageAttributes[_IMAGE_ATTRIBUTE_INLINE_IMAGE_FILE_NAME_KEY];\n if (!fileName || fileName === '' || fileName === 'undefined' || fileName === 'null') {\n return _DEFAULT_INLINE_IMAGE_FILE_NAME;\n }\n return fileName;\n};\n"]}
@@ -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":["../../../../../../../react-composites/src/composites/ChatComposite/Strings.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Strings used by the {@link ChatComposite} directly.\n *\n * This strings are in addition to those used by the components from the component library.\n *\n * @public\n */\nexport interface ChatCompositeStrings {\n /**\n * Chat list header text\n */\n chatListHeader: string;\n\n /* @conditional-compile-remove(file-sharing-acs) */\n /**\n * Upload Attachment Button text\n */\n uploadAttachment: string;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Error Message for image data is not provided for image upload\n */\n uploadImageDataNotProvided: string;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Error Message for upload image is too large\n */\n uploadImageIsTooLarge: string;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Error Message for unsupported image extension for image upload\n */\n uploadImageExtensionIsNotAllowed: string;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Error Message for unable to upload image\n */\n uploadImageFailed: string;\n}\n"]}
@@ -39,7 +39,7 @@ export declare class AzureCommunicationChatAdapter implements ChatAdapter {
39
39
  getState(): ChatAdapterState;
40
40
  onStateChange(handler: (state: ChatAdapterState) => void): void;
41
41
  offStateChange(handler: (state: ChatAdapterState) => void): void;
42
- sendMessage(content: string, options?: SendMessageOptions | MessageOptions): Promise<void>;
42
+ sendMessage(content: string, options?: SendMessageOptions | /* @conditional-compile-remove(file-sharing-acs) */ MessageOptions): Promise<void>;
43
43
  uploadImage(image: Blob, imageFilename: string): Promise<UploadChatImageResult>;
44
44
  deleteImage(imageId: string): Promise<void>;
45
45
  sendReadReceipt(chatMessageId: string): Promise<void>;
@@ -47,7 +47,7 @@ export declare class AzureCommunicationChatAdapter implements ChatAdapter {
47
47
  removeParticipant(userId: string): Promise<void>;
48
48
  setTopic(topicName: string): Promise<void>;
49
49
  loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
50
- updateMessage(messageId: string, content: string, options?: Record<string, string> | MessageOptions): Promise<void>;
50
+ updateMessage(messageId: string, content: string, options?: Record<string, string> | /* @conditional-compile-remove(file-sharing-acs) */ MessageOptions): Promise<void>;
51
51
  deleteMessage(messageId: string): Promise<void>;
52
52
  downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void>;
53
53
  removeResourceFromCache(resourceDetails: ResourceDetails): void;
@@ -69,6 +69,7 @@ export class ChatContext {
69
69
  thread,
70
70
  latestErrors: clientState.latestErrors
71
71
  };
72
+ /* @conditional-compile-remove(file-sharing-acs) */
72
73
  updatedState = Object.assign({}, updatedState);
73
74
  this.setState(updatedState);
74
75
  }
@@ -102,7 +103,9 @@ export class AzureCommunicationChatAdapter {
102
103
  this.dispose = this.dispose.bind(this);
103
104
  this.fetchInitialData = this.fetchInitialData.bind(this);
104
105
  this.sendMessage = this.sendMessage.bind(this);
106
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
105
107
  this.uploadImage = this.uploadImage.bind(this);
108
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
106
109
  this.deleteImage = this.deleteImage.bind(this);
107
110
  this.sendReadReceipt = this.sendReadReceipt.bind(this);
108
111
  this.sendTypingIndicator = this.sendTypingIndicator.bind(this);
@@ -165,6 +168,7 @@ export class AzureCommunicationChatAdapter {
165
168
  }));
166
169
  });
167
170
  }
171
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
168
172
  uploadImage(image, imageFilename) {
169
173
  return __awaiter(this, void 0, void 0, function* () {
170
174
  return yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
@@ -172,6 +176,7 @@ export class AzureCommunicationChatAdapter {
172
176
  }));
173
177
  });
174
178
  }
179
+ /* @conditional-compile-remove(rich-text-editor-image-upload) */
175
180
  deleteImage(imageId) {
176
181
  return __awaiter(this, void 0, void 0, function* () {
177
182
  return yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
@@ -218,23 +223,30 @@ export class AzureCommunicationChatAdapter {
218
223
  return __awaiter(this, void 0, void 0, function* () {
219
224
  return yield this.asyncTeeErrorToEventEmitter(() => __awaiter(this, void 0, void 0, function* () {
220
225
  var _a;
226
+ /* @conditional-compile-remove(file-sharing-acs) */
221
227
  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)) {
228
+ /* @conditional-compile-remove(file-sharing-acs) */
229
+ if (options &&
230
+ // if options.attachments is an array or undefined (for removal all attachments),
231
+ // then given options is a MessageOptions
232
+ (Array.isArray(options.attachments) || options.attachments === undefined)) {
226
233
  messageOptions.attachments = (_a = options.attachments) !== null && _a !== void 0 ? _a : [];
227
234
  }
235
+ /* @conditional-compile-remove(file-sharing-acs) */
228
236
  if (options &&
229
237
  // if options.metadata is provided, we need to add it in MessageOptions
230
- options.metadata && typeof options.metadata === 'object') {
238
+ options.metadata &&
239
+ typeof options.metadata === 'object') {
231
240
  messageOptions.metadata = options.metadata;
232
241
  }
242
+ /* @conditional-compile-remove(file-sharing-acs) */
233
243
  if (options && !('attachments' in options) && !('metadata' in options)) {
234
244
  // if options don't have attachments or metadata,
235
245
  // then it is a Record<string, string>
246
+ /* @conditional-compile-remove(file-sharing-acs) */
236
247
  return yield this.handlers.onUpdateMessage(messageId, content, options);
237
248
  }
249
+ /* @conditional-compile-remove(file-sharing-acs) */
238
250
  return yield this.handlers.onUpdateMessage(messageId, content, messageOptions);
239
251
  // metadata is never used in the current stable
240
252
  return yield this.handlers.onUpdateMessage(messageId, content);
@@ -262,14 +274,10 @@ export class AzureCommunicationChatAdapter {
262
274
  return;
263
275
  }
264
276
  const message = convertEventToChatMessage(event);
265
- this.emitter.emit('messageReceived', {
266
- message
267
- });
277
+ this.emitter.emit('messageReceived', { message });
268
278
  const currentUserId = toFlatCommunicationIdentifier(this.chatClient.getState().userId);
269
279
  if ((message === null || message === void 0 ? void 0 : message.sender) && toFlatCommunicationIdentifier(message.sender) === currentUserId) {
270
- this.emitter.emit('messageSent', {
271
- message
272
- });
280
+ this.emitter.emit('messageSent', { message });
273
281
  }
274
282
  }
275
283
  messageEditedListener(event) {
@@ -278,9 +286,7 @@ export class AzureCommunicationChatAdapter {
278
286
  return;
279
287
  }
280
288
  const message = convertEventToChatMessage(event);
281
- this.emitter.emit('messageEdited', {
282
- message
283
- });
289
+ this.emitter.emit('messageEdited', { message });
284
290
  }
285
291
  messageDeletedListener(event) {
286
292
  const isCurrentChatAdapterThread = event.threadId === this.chatThreadClient.threadId;
@@ -288,35 +294,22 @@ export class AzureCommunicationChatAdapter {
288
294
  return;
289
295
  }
290
296
  const message = convertEventToChatMessage(event);
291
- this.emitter.emit('messageDeleted', {
292
- message
293
- });
297
+ this.emitter.emit('messageDeleted', { message });
294
298
  }
295
299
  messageReadListener({ chatMessageId, recipient }) {
296
300
  const message = this.getState().thread.chatMessages[chatMessageId];
297
301
  if (message) {
298
- this.emitter.emit('messageRead', {
299
- message,
300
- readBy: recipient
301
- });
302
+ this.emitter.emit('messageRead', { message, readBy: recipient });
302
303
  }
303
304
  }
304
305
  participantsAddedListener({ addedBy, participantsAdded }) {
305
- this.emitter.emit('participantsAdded', {
306
- addedBy,
307
- participantsAdded
308
- });
306
+ this.emitter.emit('participantsAdded', { addedBy, participantsAdded });
309
307
  }
310
308
  participantsRemovedListener({ removedBy, participantsRemoved }) {
311
- this.emitter.emit('participantsRemoved', {
312
- removedBy,
313
- participantsRemoved
314
- });
309
+ this.emitter.emit('participantsRemoved', { removedBy, participantsRemoved });
315
310
  }
316
311
  chatThreadPropertiesUpdatedListener(event) {
317
- this.emitter.emit('topicChanged', {
318
- topic: event.properties.topic
319
- });
312
+ this.emitter.emit('topicChanged', { topic: event.properties.topic });
320
313
  }
321
314
  subscribeAllEvents() {
322
315
  this.chatClient.on('chatThreadPropertiesUpdated', this.chatThreadPropertiesUpdatedListener.bind(this));
@@ -364,9 +357,7 @@ const convertEventToChatMessage = (event) => {
364
357
  return {
365
358
  id: event.id,
366
359
  version: event.version,
367
- content: isChatMessageDeletedEvent(event) ? undefined : {
368
- message: event.message
369
- },
360
+ content: isChatMessageDeletedEvent(event) ? undefined : { message: event.message },
370
361
  type: convertEventType(event.type),
371
362
  sender: event.sender,
372
363
  senderDisplayName: event.senderDisplayName,
@@ -438,7 +429,7 @@ export const _createLazyAzureCommunicationChatAdapterInner = (endpoint_2, userId
438
429
  credential
439
430
  }, undefined, telemetryImplementationHint);
440
431
  return threadId.then((threadId) => __awaiter(void 0, void 0, void 0, function* () {
441
- if (UNSUPPORTED_CHAT_THREAD_TYPE.some(t => threadId.includes(t))) {
432
+ if (UNSUPPORTED_CHAT_THREAD_TYPE.some((t) => threadId.includes(t))) {
442
433
  console.error(`Invalid Chat ThreadId: ${threadId}. Please note with Teams Channel Meetings, only Calling is supported and Chat is not currently supported. Read more: ${TEAMS_LIMITATION_LEARN_MORE}.`);
443
434
  }
444
435
  const chatThreadClient = yield chatClient.getChatThreadClient(threadId);
@@ -461,7 +452,26 @@ export const _createLazyAzureCommunicationChatAdapterInner = (endpoint_2, userId
461
452
  *
462
453
  * @public
463
454
  */
464
- export const useAzureCommunicationChatAdapter = (args, afterCreate, beforeDispose) => {
455
+ export const useAzureCommunicationChatAdapter = (
456
+ /**
457
+ * Arguments to be passed to {@link createAzureCommunicationChatAdapter}.
458
+ *
459
+ * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments
460
+ * as they are created. The adapter is only created when all arguments are defined.
461
+ */
462
+ args,
463
+ /**
464
+ * Optional callback to modify the adapter once it is created.
465
+ *
466
+ * If set, must return the modified adapter.
467
+ */
468
+ afterCreate,
469
+ /**
470
+ * Optional callback called before the adapter is disposed.
471
+ *
472
+ * This is useful for clean up tasks, e.g., leaving any ongoing calls.
473
+ */
474
+ beforeDispose) => {
465
475
  const { credential, displayName, endpoint, threadId, userId } = args;
466
476
  // State update needed to rerender the parent component when a new adapter is created.
467
477
  const [adapter, setAdapter] = useState(undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"AzureCommunicationChatAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { _createStatefulChatClientInner, ChatClientState, ChatError, StatefulChatClient } from '@internal/chat-stateful-client';\nimport { ChatHandlers, createDefaultChatHandlers } from '@internal/chat-component-bindings';\nimport { ChatMessage, ChatMessageType, ChatThreadClient, SendMessageOptions } from '@azure/communication-chat';\nimport { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';\nimport type { ChatMessageDeletedEvent, ChatMessageEditedEvent, ChatMessageReceivedEvent, ChatThreadPropertiesUpdatedEvent, ParticipantsAddedEvent, ParticipantsRemovedEvent, ReadReceiptReceivedEvent } from '@azure/communication-chat';\nimport type { UploadChatImageResult } from '@internal/acs-ui-common';\nimport { toFlatCommunicationIdentifier, _TelemetryImplementationHint } from '@internal/acs-ui-common';\nimport { EventEmitter } from 'events';\nimport { ChatAdapter, ChatAdapterState, MessageDeletedListener, MessageEditedListener, MessageReadListener, MessageReceivedListener, ParticipantsAddedListener, ParticipantsRemovedListener, TopicChangedListener } from './ChatAdapter';\nimport { ResourceDetails } from './ChatAdapter';\nimport { AdapterError } from '../../common/adapters';\nimport { useEffect, useRef, useState } from 'react';\nimport { _isValidIdentifier } from '@internal/acs-ui-common';\nimport { TEAMS_LIMITATION_LEARN_MORE, UNSUPPORTED_CHAT_THREAD_TYPE } from '../../common/constants';\nimport { MessageOptions } from '@internal/acs-ui-common';\n\n/**\n * Context of Chat, which is a centralized context for all state updates\n * @private\n */\nexport class ChatContext {\n private emitter: EventEmitter = new EventEmitter();\n private state: ChatAdapterState;\n private threadId: string;\n constructor(clientState: ChatClientState, threadId: string) {\n const thread = clientState.threads[threadId];\n this.threadId = threadId;\n if (!thread) {\n throw 'Cannot find threadId, please initialize thread before use!';\n }\n this.state = {\n userId: clientState.userId,\n displayName: clientState.displayName,\n thread,\n latestErrors: clientState.latestErrors\n };\n }\n public onStateChange(handler: (_uiState: ChatAdapterState) => void): void {\n this.emitter.on('stateChanged', handler);\n }\n public offStateChange(handler: (_uiState: ChatAdapterState) => void): void {\n this.emitter.off('stateChanged', handler);\n }\n public setState(state: ChatAdapterState): void {\n this.state = state;\n this.emitter.emit('stateChanged', this.state);\n }\n public getState(): ChatAdapterState {\n return this.state;\n }\n public setError(error: Error): void {\n this.setState({\n ...this.state,\n error\n });\n }\n public updateClientState(clientState: ChatClientState): void {\n const thread = clientState.threads[this.threadId];\n if (!thread) {\n throw 'Cannot find threadId, please make sure thread state is still in Stateful ChatClient.';\n }\n let updatedState: ChatAdapterState = {\n userId: clientState.userId,\n displayName: clientState.displayName,\n thread,\n latestErrors: clientState.latestErrors\n };\n updatedState = {\n ...updatedState\n };\n this.setState(updatedState);\n }\n}\n\n/**\n * @private\n */\nexport class AzureCommunicationChatAdapter implements ChatAdapter {\n private chatClient: StatefulChatClient;\n private chatThreadClient: ChatThreadClient;\n private context: ChatContext;\n private handlers: ChatHandlers;\n private emitter: EventEmitter = new EventEmitter();\n constructor(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient) {\n this.bindAllPublicMethods();\n this.chatClient = chatClient;\n this.chatThreadClient = chatThreadClient;\n this.context = new ChatContext(chatClient.getState(), chatThreadClient.threadId);\n const onStateChange = (clientState: ChatClientState): void => {\n // unsubscribe when the instance gets disposed\n if (!this) {\n chatClient.offStateChange(onStateChange);\n return;\n }\n this.context.updateClientState(clientState);\n };\n this.handlers = createDefaultChatHandlers(chatClient, chatThreadClient);\n this.chatClient.onStateChange(onStateChange);\n this.subscribeAllEvents();\n }\n private bindAllPublicMethods(): void {\n this.onStateChange = this.onStateChange.bind(this);\n this.offStateChange = this.offStateChange.bind(this);\n this.getState = this.getState.bind(this);\n this.dispose = this.dispose.bind(this);\n this.fetchInitialData = this.fetchInitialData.bind(this);\n this.sendMessage = this.sendMessage.bind(this);\n this.uploadImage = this.uploadImage.bind(this);\n this.deleteImage = this.deleteImage.bind(this);\n this.sendReadReceipt = this.sendReadReceipt.bind(this);\n this.sendTypingIndicator = this.sendTypingIndicator.bind(this);\n this.updateMessage = this.updateMessage.bind(this);\n this.deleteMessage = this.deleteMessage.bind(this);\n this.removeParticipant = this.removeParticipant.bind(this);\n this.setTopic = this.setTopic.bind(this);\n this.loadPreviousChatMessages = this.loadPreviousChatMessages.bind(this);\n this.on = this.on.bind(this);\n this.off = this.off.bind(this);\n this.downloadResourceToCache = this.downloadResourceToCache.bind(this);\n this.removeResourceFromCache = this.removeResourceFromCache.bind(this);\n }\n dispose(): void {\n this.unsubscribeAllEvents();\n this.chatClient.dispose();\n }\n async fetchInitialData(): Promise<void> {\n // If get properties fails we dont want to try to get the participants after.\n await this.asyncTeeErrorToEventEmitter(async () => {\n await this.chatThreadClient.getProperties();\n // Fetch all participants who joined before the local user.\n for await (const _page of this.chatThreadClient.listParticipants().byPage({\n // Fetch 100 participants per page by default.\n maxPageSize: 100\n // eslint-disable-next-line curly\n }));\n });\n }\n getState(): ChatAdapterState {\n return this.context.getState();\n }\n onStateChange(handler: (state: ChatAdapterState) => void): void {\n this.context.onStateChange(handler);\n }\n offStateChange(handler: (state: ChatAdapterState) => void): void {\n this.context.offStateChange(handler);\n }\n async sendMessage(content: string, options?: SendMessageOptions | MessageOptions): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n return await this.handlers.onSendMessage(content, options);\n });\n }\n async uploadImage(image: Blob, imageFilename: string): Promise<UploadChatImageResult> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n return await this.handlers.onUploadImage(image, imageFilename);\n });\n }\n async deleteImage(imageId: string): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n return await this.handlers.onDeleteImage(imageId);\n });\n }\n async sendReadReceipt(chatMessageId: string): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onMessageSeen(chatMessageId);\n });\n }\n async sendTypingIndicator(): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onTyping();\n });\n }\n async removeParticipant(userId: string): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onRemoveParticipant(userId);\n });\n }\n async setTopic(topicName: string): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.updateThreadTopicName(topicName);\n });\n }\n async loadPreviousChatMessages(messagesToLoad: number): Promise<boolean> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n return await this.handlers.onLoadPreviousChatMessages(messagesToLoad);\n });\n }\n async updateMessage(messageId: string, content: string, options?: Record<string, string> | MessageOptions): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n const messageOptions: MessageOptions = {};\n if (options && (\n // if options.attachments is an array or undefined (for removal all attachments),\n // then given options is a MessageOptions\n Array.isArray(options.attachments) || options.attachments === undefined)) {\n messageOptions.attachments = options.attachments ?? [];\n }\n if (options &&\n // if options.metadata is provided, we need to add it in MessageOptions\n options.metadata && typeof options.metadata === 'object') {\n messageOptions.metadata = options.metadata;\n }\n if (options && !('attachments' in options) && !('metadata' in options)) {\n // if options don't have attachments or metadata,\n // then it is a Record<string, string>\n return await this.handlers.onUpdateMessage(messageId, content, options);\n }\n return await this.handlers.onUpdateMessage(messageId, content, messageOptions);\n // metadata is never used in the current stable\n return await this.handlers.onUpdateMessage(messageId, content);\n });\n }\n async deleteMessage(messageId: string): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n return await this.handlers.onDeleteMessage(messageId);\n });\n }\n async downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void> {\n this.chatClient.downloadResourceToCache(resourceDetails.threadId, resourceDetails.messageId, resourceDetails.resourceUrl);\n }\n removeResourceFromCache(resourceDetails: ResourceDetails): void {\n this.chatClient.removeResourceFromCache(resourceDetails.threadId, resourceDetails.messageId, resourceDetails.resourceUrl);\n }\n private messageReceivedListener(event: ChatMessageReceivedEvent): void {\n const isCurrentChatAdapterThread = event.threadId === this.chatThreadClient.threadId;\n if (!isCurrentChatAdapterThread) {\n return;\n }\n const message = convertEventToChatMessage(event);\n this.emitter.emit('messageReceived', {\n message\n });\n const currentUserId = toFlatCommunicationIdentifier(this.chatClient.getState().userId);\n if (message?.sender && toFlatCommunicationIdentifier(message.sender) === currentUserId) {\n this.emitter.emit('messageSent', {\n message\n });\n }\n }\n private messageEditedListener(event: ChatMessageEditedEvent): void {\n const isCurrentChatAdapterThread = event.threadId === this.chatThreadClient.threadId;\n if (!isCurrentChatAdapterThread) {\n return;\n }\n const message = convertEventToChatMessage(event);\n this.emitter.emit('messageEdited', {\n message\n });\n }\n private messageDeletedListener(event: ChatMessageDeletedEvent): void {\n const isCurrentChatAdapterThread = event.threadId === this.chatThreadClient.threadId;\n if (!isCurrentChatAdapterThread) {\n return;\n }\n const message = convertEventToChatMessage(event);\n this.emitter.emit('messageDeleted', {\n message\n });\n }\n private messageReadListener({\n chatMessageId,\n recipient\n }: ReadReceiptReceivedEvent): void {\n const message = this.getState().thread.chatMessages[chatMessageId];\n if (message) {\n this.emitter.emit('messageRead', {\n message,\n readBy: recipient\n });\n }\n }\n private participantsAddedListener({\n addedBy,\n participantsAdded\n }: ParticipantsAddedEvent): void {\n this.emitter.emit('participantsAdded', {\n addedBy,\n participantsAdded\n });\n }\n private participantsRemovedListener({\n removedBy,\n participantsRemoved\n }: ParticipantsRemovedEvent): void {\n this.emitter.emit('participantsRemoved', {\n removedBy,\n participantsRemoved\n });\n }\n private chatThreadPropertiesUpdatedListener(event: ChatThreadPropertiesUpdatedEvent): void {\n this.emitter.emit('topicChanged', {\n topic: event.properties.topic\n });\n }\n private subscribeAllEvents(): void {\n this.chatClient.on('chatThreadPropertiesUpdated', this.chatThreadPropertiesUpdatedListener.bind(this));\n this.chatClient.on('participantsAdded', this.participantsAddedListener.bind(this));\n this.chatClient.on('participantsRemoved', this.participantsRemovedListener.bind(this));\n this.chatClient.on('chatMessageReceived', this.messageReceivedListener.bind(this));\n this.chatClient.on('chatMessageEdited', this.messageEditedListener.bind(this));\n this.chatClient.on('chatMessageDeleted', this.messageDeletedListener.bind(this));\n this.chatClient.on('readReceiptReceived', this.messageReadListener.bind(this));\n this.chatClient.on('participantsRemoved', this.participantsRemovedListener.bind(this));\n }\n private unsubscribeAllEvents(): void {\n this.chatClient.off('chatThreadPropertiesUpdated', this.chatThreadPropertiesUpdatedListener.bind(this));\n this.chatClient.off('participantsAdded', this.participantsAddedListener.bind(this));\n this.chatClient.off('participantsRemoved', this.participantsRemovedListener.bind(this));\n this.chatClient.off('chatMessageReceived', this.messageReceivedListener.bind(this));\n this.chatClient.off('chatMessageEdited', this.messageEditedListener.bind(this));\n this.chatClient.off('chatMessageDeleted', this.messageDeletedListener.bind(this));\n this.chatClient.off('readReceiptReceived', this.messageReadListener.bind(this));\n this.chatClient.off('participantsRemoved', this.participantsRemovedListener.bind(this));\n }\n on(event: 'messageReceived', listener: MessageReceivedListener): void;\n on(event: 'messageEdited', listener: MessageEditedListener): void;\n on(event: 'messageDeleted', listener: MessageDeletedListener): void;\n on(event: 'messageSent', listener: MessageReceivedListener): void;\n on(event: 'messageRead', listener: MessageReadListener): void;\n on(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n on(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n on(event: 'topicChanged', listener: TopicChangedListener): void;\n on(event: 'error', listener: (e: AdapterError) => void): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n on(event: string, listener: (e: any) => void): void {\n this.emitter.on(event, listener);\n }\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n off(event: 'messageEdited', listener: MessageEditedListener): void;\n off(event: 'messageDeleted', listener: MessageDeletedListener): void;\n off(event: 'messageSent', listener: MessageReceivedListener): void;\n off(event: 'messageRead', listener: MessageReadListener): void;\n off(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n off(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n off(event: 'topicChanged', listener: TopicChangedListener): void;\n off(event: 'error', listener: (e: AdapterError) => void): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n off(event: string, listener: (e: any) => void): void {\n this.emitter.off(event, listener);\n }\n private async asyncTeeErrorToEventEmitter<T>(f: () => Promise<T>): Promise<T> {\n try {\n return await f();\n } catch (error) {\n if (isChatError(error as Error)) {\n this.emitter.emit('error', error as AdapterError);\n }\n throw error;\n }\n }\n}\nconst convertEventToChatMessage = (event: ChatMessageReceivedEvent | ChatMessageEditedEvent | ChatMessageDeletedEvent): ChatMessage => {\n return {\n id: event.id,\n version: event.version,\n content: isChatMessageDeletedEvent(event) ? undefined : {\n message: event.message\n },\n type: convertEventType(event.type),\n sender: event.sender,\n senderDisplayName: event.senderDisplayName,\n sequenceId: '',\n createdOn: new Date(event.createdOn),\n editedOn: isChatMessageEditedEvent(event) ? event.editedOn : undefined,\n deletedOn: isChatMessageDeletedEvent(event) ? event.deletedOn : undefined\n };\n};\nconst isChatMessageEditedEvent = (event: ChatMessageReceivedEvent | ChatMessageEditedEvent | ChatMessageDeletedEvent): event is ChatMessageEditedEvent => {\n return 'editedOn' in event;\n};\nconst isChatMessageDeletedEvent = (event: ChatMessageReceivedEvent | ChatMessageEditedEvent | ChatMessageDeletedEvent): event is ChatMessageDeletedEvent => {\n return 'deletedOn' in event;\n};\n\n// only text/html message type will be received from event\nconst convertEventType = (type: string): ChatMessageType => {\n const lowerCaseType = type.toLowerCase();\n if (lowerCaseType === 'richtext/html' || lowerCaseType === 'html') {\n return 'html';\n } else {\n return 'text';\n }\n};\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link ChatAdapter}.\n *\n * @public\n */\nexport type AzureCommunicationChatAdapterArgs = {\n endpoint: string;\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n threadId: string;\n};\n\n/**\n * Create a {@link ChatAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link ChatAdapter} provided by this library.\n *\n * @public\n */\nexport const createAzureCommunicationChatAdapter = async ({\n endpoint: endpointUrl,\n userId,\n displayName,\n credential,\n threadId\n}: AzureCommunicationChatAdapterArgs): Promise<ChatAdapter> => {\n return _createAzureCommunicationChatAdapterInner(endpointUrl, userId, displayName, credential, threadId);\n};\n\n/**\n * This inner function is used to allow injection of TelemetryImplementationHint without changing the public API.\n *\n * @internal\n */\nexport const _createAzureCommunicationChatAdapterInner = async (endpoint: string, userId: CommunicationUserIdentifier, displayName: string, credential: CommunicationTokenCredential, threadId: string, telemetryImplementationHint: _TelemetryImplementationHint = 'Chat'): Promise<ChatAdapter> => {\n if (!_isValidIdentifier(userId)) {\n throw new Error('Provided userId is invalid. Please provide valid identifier object.');\n }\n const chatClient = _createStatefulChatClientInner({\n userId,\n displayName,\n endpoint,\n credential\n }, undefined, telemetryImplementationHint);\n const chatThreadClient = await chatClient.getChatThreadClient(threadId);\n await chatClient.startRealtimeNotifications();\n const adapter = await createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);\n return adapter;\n};\n\n/**\n * This inner function to create ChatAdapterPromise in case when threadID is not avaialble.\n * ThreadId is a promise to allow for lazy initialization of the adapter.\n * @internal\n */\nexport const _createLazyAzureCommunicationChatAdapterInner = async (endpoint: string, userId: CommunicationUserIdentifier, displayName: string, credential: CommunicationTokenCredential, threadId: Promise<string>, telemetryImplementationHint: _TelemetryImplementationHint = 'Chat'): Promise<ChatAdapter> => {\n if (!_isValidIdentifier(userId)) {\n throw new Error('Provided userId is invalid. Please provide valid identifier object.');\n }\n const chatClient = _createStatefulChatClientInner({\n userId,\n displayName,\n endpoint,\n credential\n }, undefined, telemetryImplementationHint);\n return threadId.then(async threadId => {\n if (UNSUPPORTED_CHAT_THREAD_TYPE.some(t => threadId.includes(t))) {\n console.error(`Invalid Chat ThreadId: ${threadId}. Please note with Teams Channel Meetings, only Calling is supported and Chat is not currently supported. Read more: ${TEAMS_LIMITATION_LEARN_MORE}.`);\n }\n const chatThreadClient = await chatClient.getChatThreadClient(threadId);\n await chatClient.startRealtimeNotifications();\n const adapter = await createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);\n return adapter;\n });\n};\n\n/**\n * A custom React hook to simplify the creation of {@link ChatAdapter}.\n *\n * Similar to {@link createAzureCommunicationChatAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @public\n */\nexport const useAzureCommunicationChatAdapter = (args: Partial<AzureCommunicationChatAdapterArgs>, afterCreate?: (adapter: ChatAdapter) => Promise<ChatAdapter>, beforeDispose?: (adapter: ChatAdapter) => Promise<void>): ChatAdapter | undefined => {\n const {\n credential,\n displayName,\n endpoint,\n threadId,\n userId\n } = args;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<ChatAdapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<ChatAdapter | undefined>(undefined);\n const creatingAdapterRef = useRef<boolean>(false);\n const afterCreateRef = useRef<((adapter: ChatAdapter) => Promise<ChatAdapter>) | undefined>(undefined);\n const beforeDisposeRef = useRef<((adapter: ChatAdapter) => Promise<void>) | undefined>(undefined);\n // These refs are updated on *each* render, so that the latest values\n // are used in the `useEffect` closures below.\n // Using a Ref ensures that new values for the callbacks do not trigger the\n // useEffect blocks, and a new adapter creation / distruction is not triggered.\n afterCreateRef.current = afterCreate;\n beforeDisposeRef.current = beforeDispose;\n useEffect(() => {\n if (!credential || !displayName || !endpoint || !threadId || !userId) {\n return;\n }\n (async () => {\n if (adapterRef.current) {\n // Dispose the old adapter when a new one is created.\n //\n // This clean up function uses `adapterRef` because `adapter` can not be added to the dependency array of\n // this `useEffect` -- we do not want to trigger a new adapter creation because of the first adapter\n // creation.\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n if (creatingAdapterRef.current) {\n console.warn('Adapter is already being created, please see storybook for more information: https://azure.github.io/communication-ui-library/?path=/story/troubleshooting--page');\n return;\n }\n creatingAdapterRef.current = true;\n let newAdapter = await createAzureCommunicationChatAdapter({\n credential,\n displayName,\n endpoint,\n threadId,\n userId\n });\n if (afterCreateRef.current) {\n newAdapter = await afterCreateRef.current(newAdapter);\n }\n adapterRef.current = newAdapter;\n creatingAdapterRef.current = false;\n setAdapter(newAdapter);\n })();\n },\n // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.\n [adapterRef, afterCreateRef, beforeDisposeRef, credential, displayName, endpoint, threadId, userId]);\n\n // Dispose any existing adapter when the component unmounts.\n useEffect(() => {\n return () => {\n (async () => {\n if (adapterRef.current) {\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n })();\n };\n }, []);\n return adapter;\n};\n\n/**\n * Create a {@link ChatAdapter} using the provided {@link StatefulChatClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulChatClient}.\n * Consider using {@link createAzureCommunicationChatAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationChatAdapterFromClient(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient): Promise<ChatAdapter> {\n return new AzureCommunicationChatAdapter(chatClient, chatThreadClient);\n}\nconst isChatError = (e: Error): e is ChatError => {\n return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;\n};"]}
1
+ {"version":3,"file":"AzureCommunicationChatAdapter.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n _createStatefulChatClientInner,\n ChatClientState,\n ChatError,\n StatefulChatClient\n} from '@internal/chat-stateful-client';\nimport { ChatHandlers, createDefaultChatHandlers } from '@internal/chat-component-bindings';\nimport { ChatMessage, ChatMessageType, ChatThreadClient, SendMessageOptions } from '@azure/communication-chat';\nimport { CommunicationTokenCredential, CommunicationUserIdentifier } from '@azure/communication-common';\nimport type {\n ChatMessageDeletedEvent,\n ChatMessageEditedEvent,\n ChatMessageReceivedEvent,\n ChatThreadPropertiesUpdatedEvent,\n ParticipantsAddedEvent,\n ParticipantsRemovedEvent,\n ReadReceiptReceivedEvent\n} from '@azure/communication-chat';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport type { UploadChatImageResult } from '@internal/acs-ui-common';\nimport { toFlatCommunicationIdentifier, _TelemetryImplementationHint } from '@internal/acs-ui-common';\nimport { EventEmitter } from 'events';\nimport {\n ChatAdapter,\n ChatAdapterState,\n MessageDeletedListener,\n MessageEditedListener,\n MessageReadListener,\n MessageReceivedListener,\n ParticipantsAddedListener,\n ParticipantsRemovedListener,\n TopicChangedListener\n} from './ChatAdapter';\nimport { ResourceDetails } from './ChatAdapter';\nimport { AdapterError } from '../../common/adapters';\nimport { useEffect, useRef, useState } from 'react';\nimport { _isValidIdentifier } from '@internal/acs-ui-common';\nimport { TEAMS_LIMITATION_LEARN_MORE, UNSUPPORTED_CHAT_THREAD_TYPE } from '../../common/constants';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { MessageOptions } from '@internal/acs-ui-common';\n\n/**\n * Context of Chat, which is a centralized context for all state updates\n * @private\n */\nexport class ChatContext {\n private emitter: EventEmitter = new EventEmitter();\n private state: ChatAdapterState;\n private threadId: string;\n\n constructor(clientState: ChatClientState, threadId: string) {\n const thread = clientState.threads[threadId];\n this.threadId = threadId;\n if (!thread) {\n throw 'Cannot find threadId, please initialize thread before use!';\n }\n this.state = {\n userId: clientState.userId,\n displayName: clientState.displayName,\n thread,\n latestErrors: clientState.latestErrors\n };\n }\n\n public onStateChange(handler: (_uiState: ChatAdapterState) => void): void {\n this.emitter.on('stateChanged', handler);\n }\n\n public offStateChange(handler: (_uiState: ChatAdapterState) => void): void {\n this.emitter.off('stateChanged', handler);\n }\n\n public setState(state: ChatAdapterState): void {\n this.state = state;\n this.emitter.emit('stateChanged', this.state);\n }\n\n public getState(): ChatAdapterState {\n return this.state;\n }\n\n public setError(error: Error): void {\n this.setState({ ...this.state, error });\n }\n\n public updateClientState(clientState: ChatClientState): void {\n const thread = clientState.threads[this.threadId];\n if (!thread) {\n throw 'Cannot find threadId, please make sure thread state is still in Stateful ChatClient.';\n }\n\n let updatedState: ChatAdapterState = {\n userId: clientState.userId,\n displayName: clientState.displayName,\n thread,\n latestErrors: clientState.latestErrors\n };\n\n /* @conditional-compile-remove(file-sharing-acs) */\n updatedState = { ...updatedState };\n\n this.setState(updatedState);\n }\n}\n\n/**\n * @private\n */\nexport class AzureCommunicationChatAdapter implements ChatAdapter {\n private chatClient: StatefulChatClient;\n private chatThreadClient: ChatThreadClient;\n private context: ChatContext;\n private handlers: ChatHandlers;\n private emitter: EventEmitter = new EventEmitter();\n\n constructor(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient) {\n this.bindAllPublicMethods();\n this.chatClient = chatClient;\n this.chatThreadClient = chatThreadClient;\n this.context = new ChatContext(chatClient.getState(), chatThreadClient.threadId);\n\n const onStateChange = (clientState: ChatClientState): void => {\n // unsubscribe when the instance gets disposed\n if (!this) {\n chatClient.offStateChange(onStateChange);\n return;\n }\n this.context.updateClientState(clientState);\n };\n\n this.handlers = createDefaultChatHandlers(chatClient, chatThreadClient);\n\n this.chatClient.onStateChange(onStateChange);\n this.subscribeAllEvents();\n }\n\n private bindAllPublicMethods(): void {\n this.onStateChange = this.onStateChange.bind(this);\n this.offStateChange = this.offStateChange.bind(this);\n this.getState = this.getState.bind(this);\n this.dispose = this.dispose.bind(this);\n this.fetchInitialData = this.fetchInitialData.bind(this);\n this.sendMessage = this.sendMessage.bind(this);\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n this.uploadImage = this.uploadImage.bind(this);\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n this.deleteImage = this.deleteImage.bind(this);\n this.sendReadReceipt = this.sendReadReceipt.bind(this);\n this.sendTypingIndicator = this.sendTypingIndicator.bind(this);\n this.updateMessage = this.updateMessage.bind(this);\n this.deleteMessage = this.deleteMessage.bind(this);\n this.removeParticipant = this.removeParticipant.bind(this);\n this.setTopic = this.setTopic.bind(this);\n this.loadPreviousChatMessages = this.loadPreviousChatMessages.bind(this);\n this.on = this.on.bind(this);\n this.off = this.off.bind(this);\n this.downloadResourceToCache = this.downloadResourceToCache.bind(this);\n this.removeResourceFromCache = this.removeResourceFromCache.bind(this);\n }\n\n dispose(): void {\n this.unsubscribeAllEvents();\n this.chatClient.dispose();\n }\n\n async fetchInitialData(): Promise<void> {\n // If get properties fails we dont want to try to get the participants after.\n await this.asyncTeeErrorToEventEmitter(async () => {\n await this.chatThreadClient.getProperties();\n // Fetch all participants who joined before the local user.\n for await (const _page of this.chatThreadClient.listParticipants().byPage({\n // Fetch 100 participants per page by default.\n maxPageSize: 100\n // eslint-disable-next-line curly\n }));\n });\n }\n\n getState(): ChatAdapterState {\n return this.context.getState();\n }\n\n onStateChange(handler: (state: ChatAdapterState) => void): void {\n this.context.onStateChange(handler);\n }\n\n offStateChange(handler: (state: ChatAdapterState) => void): void {\n this.context.offStateChange(handler);\n }\n\n async sendMessage(\n content: string,\n options?: SendMessageOptions | /* @conditional-compile-remove(file-sharing-acs) */ MessageOptions\n ): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n return await this.handlers.onSendMessage(content, options);\n });\n }\n\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n async uploadImage(image: Blob, imageFilename: string): Promise<UploadChatImageResult> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n return await this.handlers.onUploadImage(image, imageFilename);\n });\n }\n\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n async deleteImage(imageId: string): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n return await this.handlers.onDeleteImage(imageId);\n });\n }\n\n async sendReadReceipt(chatMessageId: string): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onMessageSeen(chatMessageId);\n });\n }\n\n async sendTypingIndicator(): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onTyping();\n });\n }\n\n async removeParticipant(userId: string): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.onRemoveParticipant(userId);\n });\n }\n\n async setTopic(topicName: string): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n await this.handlers.updateThreadTopicName(topicName);\n });\n }\n\n async loadPreviousChatMessages(messagesToLoad: number): Promise<boolean> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n return await this.handlers.onLoadPreviousChatMessages(messagesToLoad);\n });\n }\n\n async updateMessage(\n messageId: string,\n content: string,\n options?: Record<string, string> | /* @conditional-compile-remove(file-sharing-acs) */ MessageOptions\n ): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n /* @conditional-compile-remove(file-sharing-acs) */\n const messageOptions: MessageOptions = {};\n /* @conditional-compile-remove(file-sharing-acs) */\n if (\n options &&\n // if options.attachments is an array or undefined (for removal all attachments),\n // then given options is a MessageOptions\n (Array.isArray(options.attachments) || options.attachments === undefined)\n ) {\n messageOptions.attachments = options.attachments ?? [];\n }\n /* @conditional-compile-remove(file-sharing-acs) */\n if (\n options &&\n // if options.metadata is provided, we need to add it in MessageOptions\n options.metadata &&\n typeof options.metadata === 'object'\n ) {\n messageOptions.metadata = options.metadata;\n }\n /* @conditional-compile-remove(file-sharing-acs) */\n if (options && !('attachments' in options) && !('metadata' in options)) {\n // if options don't have attachments or metadata,\n // then it is a Record<string, string>\n /* @conditional-compile-remove(file-sharing-acs) */\n return await this.handlers.onUpdateMessage(messageId, content, options);\n }\n /* @conditional-compile-remove(file-sharing-acs) */\n return await this.handlers.onUpdateMessage(messageId, content, messageOptions);\n // metadata is never used in the current stable\n return await this.handlers.onUpdateMessage(messageId, content);\n });\n }\n\n async deleteMessage(messageId: string): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n return await this.handlers.onDeleteMessage(messageId);\n });\n }\n\n async downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void> {\n this.chatClient.downloadResourceToCache(\n resourceDetails.threadId,\n resourceDetails.messageId,\n resourceDetails.resourceUrl\n );\n }\n\n removeResourceFromCache(resourceDetails: ResourceDetails): void {\n this.chatClient.removeResourceFromCache(\n resourceDetails.threadId,\n resourceDetails.messageId,\n resourceDetails.resourceUrl\n );\n }\n\n private messageReceivedListener(event: ChatMessageReceivedEvent): void {\n const isCurrentChatAdapterThread = event.threadId === this.chatThreadClient.threadId;\n\n if (!isCurrentChatAdapterThread) {\n return;\n }\n\n const message = convertEventToChatMessage(event);\n this.emitter.emit('messageReceived', { message });\n\n const currentUserId = toFlatCommunicationIdentifier(this.chatClient.getState().userId);\n if (message?.sender && toFlatCommunicationIdentifier(message.sender) === currentUserId) {\n this.emitter.emit('messageSent', { message });\n }\n }\n\n private messageEditedListener(event: ChatMessageEditedEvent): void {\n const isCurrentChatAdapterThread = event.threadId === this.chatThreadClient.threadId;\n if (!isCurrentChatAdapterThread) {\n return;\n }\n\n const message = convertEventToChatMessage(event);\n this.emitter.emit('messageEdited', { message });\n }\n\n private messageDeletedListener(event: ChatMessageDeletedEvent): void {\n const isCurrentChatAdapterThread = event.threadId === this.chatThreadClient.threadId;\n if (!isCurrentChatAdapterThread) {\n return;\n }\n\n const message = convertEventToChatMessage(event);\n this.emitter.emit('messageDeleted', { message });\n }\n\n private messageReadListener({ chatMessageId, recipient }: ReadReceiptReceivedEvent): void {\n const message = this.getState().thread.chatMessages[chatMessageId];\n if (message) {\n this.emitter.emit('messageRead', { message, readBy: recipient });\n }\n }\n\n private participantsAddedListener({ addedBy, participantsAdded }: ParticipantsAddedEvent): void {\n this.emitter.emit('participantsAdded', { addedBy, participantsAdded });\n }\n\n private participantsRemovedListener({ removedBy, participantsRemoved }: ParticipantsRemovedEvent): void {\n this.emitter.emit('participantsRemoved', { removedBy, participantsRemoved });\n }\n\n private chatThreadPropertiesUpdatedListener(event: ChatThreadPropertiesUpdatedEvent): void {\n this.emitter.emit('topicChanged', { topic: event.properties.topic });\n }\n\n private subscribeAllEvents(): void {\n this.chatClient.on('chatThreadPropertiesUpdated', this.chatThreadPropertiesUpdatedListener.bind(this));\n this.chatClient.on('participantsAdded', this.participantsAddedListener.bind(this));\n this.chatClient.on('participantsRemoved', this.participantsRemovedListener.bind(this));\n this.chatClient.on('chatMessageReceived', this.messageReceivedListener.bind(this));\n this.chatClient.on('chatMessageEdited', this.messageEditedListener.bind(this));\n this.chatClient.on('chatMessageDeleted', this.messageDeletedListener.bind(this));\n this.chatClient.on('readReceiptReceived', this.messageReadListener.bind(this));\n this.chatClient.on('participantsRemoved', this.participantsRemovedListener.bind(this));\n }\n\n private unsubscribeAllEvents(): void {\n this.chatClient.off('chatThreadPropertiesUpdated', this.chatThreadPropertiesUpdatedListener.bind(this));\n this.chatClient.off('participantsAdded', this.participantsAddedListener.bind(this));\n this.chatClient.off('participantsRemoved', this.participantsRemovedListener.bind(this));\n this.chatClient.off('chatMessageReceived', this.messageReceivedListener.bind(this));\n this.chatClient.off('chatMessageEdited', this.messageEditedListener.bind(this));\n this.chatClient.off('chatMessageDeleted', this.messageDeletedListener.bind(this));\n this.chatClient.off('readReceiptReceived', this.messageReadListener.bind(this));\n this.chatClient.off('participantsRemoved', this.participantsRemovedListener.bind(this));\n }\n\n on(event: 'messageReceived', listener: MessageReceivedListener): void;\n on(event: 'messageEdited', listener: MessageEditedListener): void;\n on(event: 'messageDeleted', listener: MessageDeletedListener): void;\n on(event: 'messageSent', listener: MessageReceivedListener): void;\n on(event: 'messageRead', listener: MessageReadListener): void;\n on(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n on(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n on(event: 'topicChanged', listener: TopicChangedListener): void;\n on(event: 'error', listener: (e: AdapterError) => void): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n on(event: string, listener: (e: any) => void): void {\n this.emitter.on(event, listener);\n }\n\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n off(event: 'messageEdited', listener: MessageEditedListener): void;\n off(event: 'messageDeleted', listener: MessageDeletedListener): void;\n off(event: 'messageSent', listener: MessageReceivedListener): void;\n off(event: 'messageRead', listener: MessageReadListener): void;\n off(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n off(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n off(event: 'topicChanged', listener: TopicChangedListener): void;\n off(event: 'error', listener: (e: AdapterError) => void): void;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n off(event: string, listener: (e: any) => void): void {\n this.emitter.off(event, listener);\n }\n\n private async asyncTeeErrorToEventEmitter<T>(f: () => Promise<T>): Promise<T> {\n try {\n return await f();\n } catch (error) {\n if (isChatError(error as Error)) {\n this.emitter.emit('error', error as AdapterError);\n }\n throw error;\n }\n }\n}\n\nconst convertEventToChatMessage = (\n event: ChatMessageReceivedEvent | ChatMessageEditedEvent | ChatMessageDeletedEvent\n): ChatMessage => {\n return {\n id: event.id,\n version: event.version,\n content: isChatMessageDeletedEvent(event) ? undefined : { message: event.message },\n type: convertEventType(event.type),\n sender: event.sender,\n senderDisplayName: event.senderDisplayName,\n sequenceId: '',\n createdOn: new Date(event.createdOn),\n editedOn: isChatMessageEditedEvent(event) ? event.editedOn : undefined,\n deletedOn: isChatMessageDeletedEvent(event) ? event.deletedOn : undefined\n };\n};\n\nconst isChatMessageEditedEvent = (\n event: ChatMessageReceivedEvent | ChatMessageEditedEvent | ChatMessageDeletedEvent\n): event is ChatMessageEditedEvent => {\n return 'editedOn' in event;\n};\n\nconst isChatMessageDeletedEvent = (\n event: ChatMessageReceivedEvent | ChatMessageEditedEvent | ChatMessageDeletedEvent\n): event is ChatMessageDeletedEvent => {\n return 'deletedOn' in event;\n};\n\n// only text/html message type will be received from event\nconst convertEventType = (type: string): ChatMessageType => {\n const lowerCaseType = type.toLowerCase();\n if (lowerCaseType === 'richtext/html' || lowerCaseType === 'html') {\n return 'html';\n } else {\n return 'text';\n }\n};\n\n/**\n * Arguments for creating the Azure Communication Services implementation of {@link ChatAdapter}.\n *\n * @public\n */\nexport type AzureCommunicationChatAdapterArgs = {\n endpoint: string;\n userId: CommunicationUserIdentifier;\n displayName: string;\n credential: CommunicationTokenCredential;\n threadId: string;\n};\n\n/**\n * Create a {@link ChatAdapter} backed by Azure Communication Services.\n *\n * This is the default implementation of {@link ChatAdapter} provided by this library.\n *\n * @public\n */\nexport const createAzureCommunicationChatAdapter = async ({\n endpoint: endpointUrl,\n userId,\n displayName,\n credential,\n threadId\n}: AzureCommunicationChatAdapterArgs): Promise<ChatAdapter> => {\n return _createAzureCommunicationChatAdapterInner(endpointUrl, userId, displayName, credential, threadId);\n};\n\n/**\n * This inner function is used to allow injection of TelemetryImplementationHint without changing the public API.\n *\n * @internal\n */\nexport const _createAzureCommunicationChatAdapterInner = async (\n endpoint: string,\n userId: CommunicationUserIdentifier,\n displayName: string,\n credential: CommunicationTokenCredential,\n threadId: string,\n telemetryImplementationHint: _TelemetryImplementationHint = 'Chat'\n): Promise<ChatAdapter> => {\n if (!_isValidIdentifier(userId)) {\n throw new Error('Provided userId is invalid. Please provide valid identifier object.');\n }\n\n const chatClient = _createStatefulChatClientInner(\n {\n userId,\n displayName,\n endpoint,\n credential\n },\n undefined,\n telemetryImplementationHint\n );\n const chatThreadClient = await chatClient.getChatThreadClient(threadId);\n await chatClient.startRealtimeNotifications();\n\n const adapter = await createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);\n\n return adapter;\n};\n\n/**\n * This inner function to create ChatAdapterPromise in case when threadID is not avaialble.\n * ThreadId is a promise to allow for lazy initialization of the adapter.\n * @internal\n */\nexport const _createLazyAzureCommunicationChatAdapterInner = async (\n endpoint: string,\n userId: CommunicationUserIdentifier,\n displayName: string,\n credential: CommunicationTokenCredential,\n threadId: Promise<string>,\n telemetryImplementationHint: _TelemetryImplementationHint = 'Chat'\n): Promise<ChatAdapter> => {\n if (!_isValidIdentifier(userId)) {\n throw new Error('Provided userId is invalid. Please provide valid identifier object.');\n }\n\n const chatClient = _createStatefulChatClientInner(\n {\n userId,\n displayName,\n endpoint,\n credential\n },\n undefined,\n telemetryImplementationHint\n );\n return threadId.then(async (threadId) => {\n if (UNSUPPORTED_CHAT_THREAD_TYPE.some((t) => threadId.includes(t))) {\n console.error(\n `Invalid Chat ThreadId: ${threadId}. Please note with Teams Channel Meetings, only Calling is supported and Chat is not currently supported. Read more: ${TEAMS_LIMITATION_LEARN_MORE}.`\n );\n }\n\n const chatThreadClient = await chatClient.getChatThreadClient(threadId);\n await chatClient.startRealtimeNotifications();\n\n const adapter = await createAzureCommunicationChatAdapterFromClient(chatClient, chatThreadClient);\n\n return adapter;\n });\n};\n\n/**\n * A custom React hook to simplify the creation of {@link ChatAdapter}.\n *\n * Similar to {@link createAzureCommunicationChatAdapter}, but takes care of asynchronous\n * creation of the adapter internally.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n *\n * Note that you must memoize the arguments to avoid recreating adapter on each render.\n * See storybook for typical usage examples.\n *\n * @public\n */\nexport const useAzureCommunicationChatAdapter = (\n /**\n * Arguments to be passed to {@link createAzureCommunicationChatAdapter}.\n *\n * Allows arguments to be undefined so that you can respect the rule-of-hooks and pass in arguments\n * as they are created. The adapter is only created when all arguments are defined.\n */\n args: Partial<AzureCommunicationChatAdapterArgs>,\n /**\n * Optional callback to modify the adapter once it is created.\n *\n * If set, must return the modified adapter.\n */\n afterCreate?: (adapter: ChatAdapter) => Promise<ChatAdapter>,\n /**\n * Optional callback called before the adapter is disposed.\n *\n * This is useful for clean up tasks, e.g., leaving any ongoing calls.\n */\n beforeDispose?: (adapter: ChatAdapter) => Promise<void>\n): ChatAdapter | undefined => {\n const { credential, displayName, endpoint, threadId, userId } = args;\n\n // State update needed to rerender the parent component when a new adapter is created.\n const [adapter, setAdapter] = useState<ChatAdapter | undefined>(undefined);\n // Ref needed for cleanup to access the old adapter created asynchronously.\n const adapterRef = useRef<ChatAdapter | undefined>(undefined);\n const creatingAdapterRef = useRef<boolean>(false);\n\n const afterCreateRef = useRef<((adapter: ChatAdapter) => Promise<ChatAdapter>) | undefined>(undefined);\n const beforeDisposeRef = useRef<((adapter: ChatAdapter) => Promise<void>) | undefined>(undefined);\n // These refs are updated on *each* render, so that the latest values\n // are used in the `useEffect` closures below.\n // Using a Ref ensures that new values for the callbacks do not trigger the\n // useEffect blocks, and a new adapter creation / distruction is not triggered.\n afterCreateRef.current = afterCreate;\n beforeDisposeRef.current = beforeDispose;\n\n useEffect(\n () => {\n if (!credential || !displayName || !endpoint || !threadId || !userId) {\n return;\n }\n (async () => {\n if (adapterRef.current) {\n // Dispose the old adapter when a new one is created.\n //\n // This clean up function uses `adapterRef` because `adapter` can not be added to the dependency array of\n // this `useEffect` -- we do not want to trigger a new adapter creation because of the first adapter\n // creation.\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n if (creatingAdapterRef.current) {\n console.warn(\n 'Adapter is already being created, please see storybook for more information: https://azure.github.io/communication-ui-library/?path=/story/troubleshooting--page'\n );\n return;\n }\n creatingAdapterRef.current = true;\n let newAdapter = await createAzureCommunicationChatAdapter({\n credential,\n displayName,\n endpoint,\n threadId,\n userId\n });\n if (afterCreateRef.current) {\n newAdapter = await afterCreateRef.current(newAdapter);\n }\n adapterRef.current = newAdapter;\n creatingAdapterRef.current = false;\n setAdapter(newAdapter);\n })();\n },\n // Explicitly list all arguments so that caller doesn't have to memoize the `args` object.\n [adapterRef, afterCreateRef, beforeDisposeRef, credential, displayName, endpoint, threadId, userId]\n );\n\n // Dispose any existing adapter when the component unmounts.\n useEffect(() => {\n return () => {\n (async () => {\n if (adapterRef.current) {\n if (beforeDisposeRef.current) {\n await beforeDisposeRef.current(adapterRef.current);\n }\n adapterRef.current.dispose();\n adapterRef.current = undefined;\n }\n })();\n };\n }, []);\n\n return adapter;\n};\n\n/**\n * Create a {@link ChatAdapter} using the provided {@link StatefulChatClient}.\n *\n * Useful if you want to keep a reference to {@link StatefulChatClient}.\n * Consider using {@link createAzureCommunicationChatAdapter} for a simpler API.\n *\n * @public\n */\nexport async function createAzureCommunicationChatAdapterFromClient(\n chatClient: StatefulChatClient,\n chatThreadClient: ChatThreadClient\n): Promise<ChatAdapter> {\n return new AzureCommunicationChatAdapter(chatClient, chatThreadClient);\n}\n\nconst isChatError = (e: Error): e is ChatError => {\n return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;\n};\n"]}
@@ -48,7 +48,7 @@ export interface ChatAdapterThreadManagement {
48
48
  * Send a message in the thread.
49
49
  * Please note that SendMessageOptions is being deprecated, please use MessageOptions instead.
50
50
  */
51
- sendMessage(content: string, options?: SendMessageOptions | MessageOptions): Promise<void>;
51
+ sendMessage(content: string, options?: SendMessageOptions | /* @conditional-compile-remove(file-sharing-acs) */ MessageOptions): Promise<void>;
52
52
  /**
53
53
  * Upload an inline image for a message.
54
54
  */
@@ -77,7 +77,7 @@ export interface ChatAdapterThreadManagement {
77
77
  * Update a message content.
78
78
  * Please note that metadata is being deprecated, please use MessageOptions.metadata instead.
79
79
  */
80
- updateMessage(messageId: string, content: string, options?: Record<string, string> | MessageOptions): Promise<void>;
80
+ updateMessage(messageId: string, content: string, options?: Record<string, string> | /* @conditional-compile-remove(file-sharing-acs) */ MessageOptions): Promise<void>;
81
81
  /**
82
82
  * Delete a message in the thread.
83
83
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAdapter.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ChatMessage, ChatParticipant, SendMessageOptions } from '@azure/communication-chat';\nimport type { UploadChatImageResult } from '@internal/acs-ui-common';\nimport type { CommunicationIdentifierKind, CommunicationUserKind } from '@azure/communication-common';\nimport { ChatThreadClientState } from '@internal/chat-stateful-client';\nimport type { AdapterError, AdapterErrors, AdapterState, Disposable } from '../../common/adapters';\nimport { MessageOptions } from '@internal/acs-ui-common';\n\n/**\n * {@link ChatAdapter} state for pure UI purposes.\n *\n * @public\n */\nexport type ChatAdapterUiState = {\n // FIXME(Delete?)\n // Self-contained state for composite\n error?: Error;\n};\n\n/**\n * {@link ChatAdapter} state inferred from Azure Communication Services backend.\n *\n * @public\n */\nexport type ChatCompositeClientState = {\n userId: CommunicationIdentifierKind;\n displayName: string;\n thread: ChatThreadClientState;\n /**\n * Latest error encountered for each operation performed via the adapter.\n */\n latestErrors: AdapterErrors;\n};\n\n/**\n * {@link ChatAdapter} state.\n *\n * @public\n */\nexport type ChatAdapterState = ChatAdapterUiState & ChatCompositeClientState;\n\n/**\n * Functionality for managing the current chat thread.\n *\n * @public\n */\nexport interface ChatAdapterThreadManagement {\n /**\n * Fetch initial state for the Chat adapter.\n *\n * Performs the minimal fetch necessary for ChatComposite and API methods.\n */\n fetchInitialData(): Promise<void>;\n /**\n * Send a message in the thread.\n * Please note that SendMessageOptions is being deprecated, please use MessageOptions instead.\n */\n sendMessage(content: string, options?: SendMessageOptions | MessageOptions): Promise<void>;\n /**\n * Upload an inline image for a message.\n */\n uploadImage(image: Blob, imageFilename: string): Promise<UploadChatImageResult>;\n /**\n * Delete an inline image for a message.\n */\n deleteImage(imageId: string): Promise<void>;\n /**\n * Send a read receipt for a message.\n */\n sendReadReceipt(chatMessageId: string): Promise<void>;\n /**\n * Send typing indicator in the thread.\n */\n sendTypingIndicator(): Promise<void>;\n /**\n * Remove a participant in the thread.\n */\n removeParticipant(userId: string): Promise<void>;\n /**\n * Set the topic for the thread.\n */\n setTopic(topicName: string): Promise<void>;\n /**\n * Update a message content.\n * Please note that metadata is being deprecated, please use MessageOptions.metadata instead.\n */\n updateMessage(messageId: string, content: string, options?: Record<string, string> | MessageOptions): Promise<void>;\n /**\n * Delete a message in the thread.\n */\n deleteMessage(messageId: string): Promise<void>;\n /**\n * Load more previous messages in the chat thread history.\n *\n * @remarks\n * This method is usually used to control incremental fetch/infinite scroll\n *\n */\n loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;\n /**\n * Downloads a resource into the cache for the given message.\n */\n downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void>;\n /**\n * Removes a resource from the cache for the given message.\n */\n removeResourceFromCache(resourceDetails: ResourceDetails): void;\n}\n/**\n * Details required for download a resource to cache.\n *\n * @public\n */\nexport type ResourceDetails = {\n threadId: string;\n messageId: string;\n resourceUrl: string;\n};\n\n/**\n * Chat composite events that can be subscribed to.\n *\n * @public\n */\nexport interface ChatAdapterSubscribers {\n /**\n * Subscribe function for 'messageReceived' event.\n */\n on(event: 'messageReceived', listener: MessageReceivedListener): void;\n /**\n * Subscribe function for 'messageEdited' event.\n */\n on(event: 'messageEdited', listener: MessageEditedListener): void;\n /**\n * Subscribe function for 'messageDeleted' event.\n */\n on(event: 'messageDeleted', listener: MessageDeletedListener): void;\n /**\n * Subscribe function for 'messageSent' event.\n */\n on(event: 'messageSent', listener: MessageSentListener): void;\n /**\n * Subscribe function for 'messageRead' event.\n */\n on(event: 'messageRead', listener: MessageReadListener): void;\n /**\n * Subscribe function for 'participantsAdded' event.\n */\n on(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n /**\n * Subscribe function for 'participantsRemoved' event.\n */\n on(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n /**\n * Subscribe function for 'topicChanged' event.\n */\n on(event: 'topicChanged', listener: TopicChangedListener): void;\n /**\n * Subscribe function for 'error' event.\n */\n on(event: 'error', listener: (e: AdapterError) => void): void;\n\n /**\n * Unsubscribe function for 'messageReceived' event.\n */\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n /**\n * Unsubscribe function for 'messageEdited' event.\n */\n off(event: 'messageEdited', listener: MessageEditedListener): void;\n /**\n * Unsubscribe function for 'messageDeleted' event.\n */\n off(event: 'messageDeleted', listener: MessageDeletedListener): void;\n /**\n * Unsubscribe function for 'messageSent' event.\n */\n off(event: 'messageSent', listener: MessageSentListener): void;\n /**\n * Unsubscribe function for 'messageRead' event.\n */\n off(event: 'messageRead', listener: MessageReadListener): void;\n /**\n * Unsubscribe function for 'participantsAdded' event.\n */\n off(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n /**\n * Unsubscribe function for 'participantsRemoved' event.\n */\n off(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n /**\n * Unsubscribe function for 'topicChanged' event.\n */\n off(event: 'topicChanged', listener: TopicChangedListener): void;\n /**\n * Unsubscribe function for 'error' event.\n */\n off(event: 'error', listener: (e: AdapterError) => void): void;\n}\n\n/**\n * {@link ChatComposite} Adapter interface.\n *\n * @public\n */\nexport type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable & ChatAdapterSubscribers;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageReceived' event.\n *\n * @public\n */\nexport type MessageReceivedListener = (event: {\n message: ChatMessage;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageSent' event.\n *\n * @public\n */\nexport type MessageSentListener = MessageReceivedListener;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageEdited' event.\n *\n * @public\n */\nexport type MessageEditedListener = MessageReceivedListener;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageDeleted' event.\n *\n * @public\n */\nexport type MessageDeletedListener = MessageReceivedListener;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageRead' event.\n *\n * @public\n */\nexport type MessageReadListener = (event: {\n message: ChatMessage;\n readBy: CommunicationUserKind;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'participantsAdded' event.\n *\n * @public\n */\nexport type ParticipantsAddedListener = (event: {\n participantsAdded: ChatParticipant[];\n addedBy: ChatParticipant;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'participantsRemoved' event.\n *\n * @public\n */\nexport type ParticipantsRemovedListener = (event: {\n participantsRemoved: ChatParticipant[];\n removedBy: ChatParticipant;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'topicChanged' event.\n *\n * @public\n */\nexport type TopicChangedListener = (event: {\n topic: string;\n}) => void;"]}
1
+ {"version":3,"file":"ChatAdapter.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/adapter/ChatAdapter.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { ChatMessage, ChatParticipant, SendMessageOptions } from '@azure/communication-chat';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport type { UploadChatImageResult } from '@internal/acs-ui-common';\nimport type { CommunicationIdentifierKind, CommunicationUserKind } from '@azure/communication-common';\nimport { ChatThreadClientState } from '@internal/chat-stateful-client';\nimport type { AdapterError, AdapterErrors, AdapterState, Disposable } from '../../common/adapters';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { MessageOptions } from '@internal/acs-ui-common';\n\n/**\n * {@link ChatAdapter} state for pure UI purposes.\n *\n * @public\n */\nexport type ChatAdapterUiState = {\n // FIXME(Delete?)\n // Self-contained state for composite\n error?: Error;\n};\n\n/**\n * {@link ChatAdapter} state inferred from Azure Communication Services backend.\n *\n * @public\n */\nexport type ChatCompositeClientState = {\n userId: CommunicationIdentifierKind;\n displayName: string;\n thread: ChatThreadClientState;\n /**\n * Latest error encountered for each operation performed via the adapter.\n */\n latestErrors: AdapterErrors;\n};\n\n/**\n * {@link ChatAdapter} state.\n *\n * @public\n */\nexport type ChatAdapterState = ChatAdapterUiState & ChatCompositeClientState;\n\n/**\n * Functionality for managing the current chat thread.\n *\n * @public\n */\nexport interface ChatAdapterThreadManagement {\n /**\n * Fetch initial state for the Chat adapter.\n *\n * Performs the minimal fetch necessary for ChatComposite and API methods.\n */\n fetchInitialData(): Promise<void>;\n /**\n * Send a message in the thread.\n * Please note that SendMessageOptions is being deprecated, please use MessageOptions instead.\n */\n sendMessage(\n content: string,\n options?: SendMessageOptions | /* @conditional-compile-remove(file-sharing-acs) */ MessageOptions\n ): Promise<void>;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Upload an inline image for a message.\n */\n uploadImage(image: Blob, imageFilename: string): Promise<UploadChatImageResult>;\n /* @conditional-compile-remove(rich-text-editor-image-upload) */\n /**\n * Delete an inline image for a message.\n */\n deleteImage(imageId: string): Promise<void>;\n /**\n * Send a read receipt for a message.\n */\n sendReadReceipt(chatMessageId: string): Promise<void>;\n /**\n * Send typing indicator in the thread.\n */\n sendTypingIndicator(): Promise<void>;\n /**\n * Remove a participant in the thread.\n */\n removeParticipant(userId: string): Promise<void>;\n /**\n * Set the topic for the thread.\n */\n setTopic(topicName: string): Promise<void>;\n /**\n * Update a message content.\n * Please note that metadata is being deprecated, please use MessageOptions.metadata instead.\n */\n updateMessage(\n messageId: string,\n content: string,\n options?: Record<string, string> | /* @conditional-compile-remove(file-sharing-acs) */ MessageOptions\n ): Promise<void>;\n /**\n * Delete a message in the thread.\n */\n deleteMessage(messageId: string): Promise<void>;\n /**\n * Load more previous messages in the chat thread history.\n *\n * @remarks\n * This method is usually used to control incremental fetch/infinite scroll\n *\n */\n loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;\n /**\n * Downloads a resource into the cache for the given message.\n */\n downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void>;\n /**\n * Removes a resource from the cache for the given message.\n */\n removeResourceFromCache(resourceDetails: ResourceDetails): void;\n}\n/**\n * Details required for download a resource to cache.\n *\n * @public\n */\nexport type ResourceDetails = {\n threadId: string;\n messageId: string;\n resourceUrl: string;\n};\n\n/**\n * Chat composite events that can be subscribed to.\n *\n * @public\n */\nexport interface ChatAdapterSubscribers {\n /**\n * Subscribe function for 'messageReceived' event.\n */\n on(event: 'messageReceived', listener: MessageReceivedListener): void;\n /**\n * Subscribe function for 'messageEdited' event.\n */\n on(event: 'messageEdited', listener: MessageEditedListener): void;\n /**\n * Subscribe function for 'messageDeleted' event.\n */\n on(event: 'messageDeleted', listener: MessageDeletedListener): void;\n /**\n * Subscribe function for 'messageSent' event.\n */\n on(event: 'messageSent', listener: MessageSentListener): void;\n /**\n * Subscribe function for 'messageRead' event.\n */\n on(event: 'messageRead', listener: MessageReadListener): void;\n /**\n * Subscribe function for 'participantsAdded' event.\n */\n on(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n /**\n * Subscribe function for 'participantsRemoved' event.\n */\n on(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n /**\n * Subscribe function for 'topicChanged' event.\n */\n on(event: 'topicChanged', listener: TopicChangedListener): void;\n /**\n * Subscribe function for 'error' event.\n */\n on(event: 'error', listener: (e: AdapterError) => void): void;\n\n /**\n * Unsubscribe function for 'messageReceived' event.\n */\n off(event: 'messageReceived', listener: MessageReceivedListener): void;\n /**\n * Unsubscribe function for 'messageEdited' event.\n */\n off(event: 'messageEdited', listener: MessageEditedListener): void;\n /**\n * Unsubscribe function for 'messageDeleted' event.\n */\n off(event: 'messageDeleted', listener: MessageDeletedListener): void;\n /**\n * Unsubscribe function for 'messageSent' event.\n */\n off(event: 'messageSent', listener: MessageSentListener): void;\n /**\n * Unsubscribe function for 'messageRead' event.\n */\n off(event: 'messageRead', listener: MessageReadListener): void;\n /**\n * Unsubscribe function for 'participantsAdded' event.\n */\n off(event: 'participantsAdded', listener: ParticipantsAddedListener): void;\n /**\n * Unsubscribe function for 'participantsRemoved' event.\n */\n off(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;\n /**\n * Unsubscribe function for 'topicChanged' event.\n */\n off(event: 'topicChanged', listener: TopicChangedListener): void;\n /**\n * Unsubscribe function for 'error' event.\n */\n off(event: 'error', listener: (e: AdapterError) => void): void;\n}\n\n/**\n * {@link ChatComposite} Adapter interface.\n *\n * @public\n */\nexport type ChatAdapter = ChatAdapterThreadManagement &\n AdapterState<ChatAdapterState> &\n Disposable &\n ChatAdapterSubscribers;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageReceived' event.\n *\n * @public\n */\nexport type MessageReceivedListener = (event: { message: ChatMessage }) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageSent' event.\n *\n * @public\n */\nexport type MessageSentListener = MessageReceivedListener;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageEdited' event.\n *\n * @public\n */\nexport type MessageEditedListener = MessageReceivedListener;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageDeleted' event.\n *\n * @public\n */\nexport type MessageDeletedListener = MessageReceivedListener;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'messageRead' event.\n *\n * @public\n */\nexport type MessageReadListener = (event: { message: ChatMessage; readBy: CommunicationUserKind }) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'participantsAdded' event.\n *\n * @public\n */\nexport type ParticipantsAddedListener = (event: {\n participantsAdded: ChatParticipant[];\n addedBy: ChatParticipant;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'participantsRemoved' event.\n *\n * @public\n */\nexport type ParticipantsRemovedListener = (event: {\n participantsRemoved: ChatParticipant[];\n removedBy: ChatParticipant;\n}) => void;\n\n/**\n * Callback for {@link ChatAdapterSubscribers} 'topicChanged' event.\n *\n * @public\n */\nexport type TopicChangedListener = (event: { topic: string }) => void;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatAdapterProvider.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAUzD,MAAM,kBAAkB,GAAG,aAAa,CAA0B,SAAS,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAwB,EAAe,EAAE;IAC3E,MAAM,EACJ,OAAO,EACR,GAAG,KAAK,CAAC;IACV,OAAO,oBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IAAG,KAAK,CAAC,QAAQ,CAA+B,CAAC;AACrG,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAgB,EAAE;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,qDAAqD,CAAC;IAC9D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { createContext, useContext } from 'react';\nimport { ChatAdapter } from './ChatAdapter';\n\n/**\n * @private\n */\ntype ChatProviderProps = {\n children: React.ReactNode;\n adapter: ChatAdapter;\n};\nconst ChatAdapterContext = createContext<ChatAdapter | undefined>(undefined);\n\n/**\n * @private\n */\nexport const ChatAdapterProvider = (props: ChatProviderProps): JSX.Element => {\n const {\n adapter\n } = props;\n return <ChatAdapterContext.Provider value={adapter}>{props.children}</ChatAdapterContext.Provider>;\n};\n\n/**\n * @private\n */\nexport const useAdapter = (): ChatAdapter => {\n const adapter = useContext(ChatAdapterContext);\n if (!adapter) {\n throw 'Cannot find adapter please initialize before usage.';\n }\n return adapter;\n};"]}
1
+ {"version":3,"file":"ChatAdapterProvider.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAWzD,MAAM,kBAAkB,GAAG,aAAa,CAA0B,SAAS,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAwB,EAAe,EAAE;IAC3E,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,OAAO,oBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,IAAG,KAAK,CAAC,QAAQ,CAA+B,CAAC;AACrG,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAgB,EAAE;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,qDAAqD,CAAC;IAC9D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { createContext, useContext } from 'react';\nimport { ChatAdapter } from './ChatAdapter';\n\n/**\n * @private\n */\ntype ChatProviderProps = {\n children: React.ReactNode;\n adapter: ChatAdapter;\n};\n\nconst ChatAdapterContext = createContext<ChatAdapter | undefined>(undefined);\n\n/**\n * @private\n */\nexport const ChatAdapterProvider = (props: ChatProviderProps): JSX.Element => {\n const { adapter } = props;\n return <ChatAdapterContext.Provider value={adapter}>{props.children}</ChatAdapterContext.Provider>;\n};\n\n/**\n * @private\n */\nexport const useAdapter = (): ChatAdapter => {\n const adapter = useContext(ChatAdapterContext);\n if (!adapter) {\n throw 'Cannot find adapter please initialize before usage.';\n }\n return adapter;\n};\n"]}