@azure/communication-react 1.16.0-alpha-202404270012 → 1.16.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1047) hide show
  1. package/dist/communication-react.d.ts +11 -47
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DSlV4PZz.js → ChatMessageComponentAsRichTextEditBox-N5ydNkHZ.js} +24 -38
  3. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-N5ydNkHZ.js.map +1 -0
  4. package/dist/dist-cjs/communication-react/{index-aGXLnB_I.js → index-BaI-AJud.js} +4807 -5640
  5. package/dist/dist-cjs/communication-react/index-BaI-AJud.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index.js +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/MessageStatus.js.map +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/areEqual.js.map +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/common.js.map +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/commonProperties.js.map +1 -1
  11. package/dist/dist-esm/acs-ui-common/src/constants.js.map +1 -1
  12. package/dist/dist-esm/acs-ui-common/src/cssUtils.js.map +1 -1
  13. package/dist/dist-esm/acs-ui-common/src/identifier.js +1 -4
  14. package/dist/dist-esm/acs-ui-common/src/identifier.js.map +1 -1
  15. package/dist/dist-esm/acs-ui-common/src/index.js.map +1 -1
  16. package/dist/dist-esm/acs-ui-common/src/localizationUtils.js.map +1 -1
  17. package/dist/dist-esm/acs-ui-common/src/logEvent.js.map +1 -1
  18. package/dist/dist-esm/acs-ui-common/src/memoizeFnAll.js.map +1 -1
  19. package/dist/dist-esm/acs-ui-common/src/safeStringify.js.map +1 -1
  20. package/dist/dist-esm/acs-ui-common/src/telemetry.js.map +1 -1
  21. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  22. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  23. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +0 -3
  24. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  25. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js +7 -13
  26. package/dist/dist-esm/calling-component-bindings/src/callControlSelectors.js.map +1 -1
  27. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +1 -7
  28. package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
  29. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +55 -20
  30. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  31. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js +1 -1
  32. package/dist/dist-esm/calling-component-bindings/src/getRemoteParticipantsExcludingConsumers.js.map +1 -1
  33. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +59 -61
  34. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  35. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js +2 -2
  36. package/dist/dist-esm/calling-component-bindings/src/handlers/createDefaultCallingHandlersForComponent.js.map +1 -1
  37. package/dist/dist-esm/calling-component-bindings/src/handlers/createHandlers.js.map +1 -1
  38. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js +6 -2
  39. package/dist/dist-esm/calling-component-bindings/src/handlers/createTeamsCallHandlers.js.map +1 -1
  40. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.d.ts +1 -1
  41. package/dist/dist-esm/calling-component-bindings/src/hooks/useHandlers.js.map +1 -1
  42. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  43. package/dist/dist-esm/calling-component-bindings/src/hooks/useSelector.js.map +1 -1
  44. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  45. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js +10 -41
  46. package/dist/dist-esm/calling-component-bindings/src/participantListSelector.js.map +1 -1
  47. package/dist/dist-esm/calling-component-bindings/src/participantsButtonSelector.js.map +1 -1
  48. package/dist/dist-esm/calling-component-bindings/src/providers/CallAgentProvider.js.map +1 -1
  49. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js +3 -6
  50. package/dist/dist-esm/calling-component-bindings/src/providers/CallClientProvider.js.map +1 -1
  51. package/dist/dist-esm/calling-component-bindings/src/providers/CallProvider.js.map +1 -1
  52. package/dist/dist-esm/calling-component-bindings/src/providers/index.js.map +1 -1
  53. package/dist/dist-esm/calling-component-bindings/src/utils/SelectorUtils.js.map +1 -1
  54. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js +7 -11
  55. package/dist/dist-esm/calling-component-bindings/src/utils/callUtils.js.map +1 -1
  56. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js +9 -11
  57. package/dist/dist-esm/calling-component-bindings/src/utils/participantListSelectorUtils.js.map +1 -1
  58. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +1 -2
  59. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +15 -28
  60. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  61. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +9 -46
  62. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  63. package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
  64. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.d.ts +1 -1
  65. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarative.js.map +1 -1
  66. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js +75 -65
  67. package/dist/dist-esm/calling-stateful-client/src/CallAgentDeclarativeCommon.js.map +1 -1
  68. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +0 -9
  69. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  70. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +1 -2
  71. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +29 -47
  72. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  73. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js +8 -7
  74. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  75. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +96 -83
  76. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  77. package/dist/dist-esm/calling-stateful-client/src/CallIdHistory.js.map +1 -1
  78. package/dist/dist-esm/calling-stateful-client/src/CallIdRef.js.map +1 -1
  79. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +3 -1
  80. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  81. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js +0 -4
  82. package/dist/dist-esm/calling-stateful-client/src/CapabilitiesSubscriber.js.map +1 -1
  83. package/dist/dist-esm/calling-stateful-client/src/CaptionsSubscriber.js.map +1 -1
  84. package/dist/dist-esm/calling-stateful-client/src/Converter.js +17 -24
  85. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  86. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +73 -58
  87. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  88. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js +16 -14
  89. package/dist/dist-esm/calling-stateful-client/src/IncomingCallDeclarative.js.map +1 -1
  90. package/dist/dist-esm/calling-stateful-client/src/IncomingCallSubscriber.js.map +1 -1
  91. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +15 -3
  92. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  93. package/dist/dist-esm/calling-stateful-client/src/LocalRecordingSubscriber.js.map +1 -1
  94. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +1 -1
  95. package/dist/dist-esm/calling-stateful-client/src/Logger.js.map +1 -1
  96. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js +3 -1
  97. package/dist/dist-esm/calling-stateful-client/src/OptimalVideoCountSubscriber.js.map +1 -1
  98. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  99. package/dist/dist-esm/calling-stateful-client/src/ParticipantSubscriber.js.map +1 -1
  100. package/dist/dist-esm/calling-stateful-client/src/RaiseHandSubscriber.js.map +1 -1
  101. package/dist/dist-esm/calling-stateful-client/src/ReactionSubscriber.js.map +1 -1
  102. package/dist/dist-esm/calling-stateful-client/src/RecordingSubscriber.js.map +1 -1
  103. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  104. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -1
  105. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +67 -65
  106. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  107. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +24 -32
  108. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  109. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js +11 -8
  110. package/dist/dist-esm/calling-stateful-client/src/StreamUtilsLogging.js.map +1 -1
  111. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +1 -1
  112. package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
  113. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js +8 -7
  114. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  115. package/dist/dist-esm/calling-stateful-client/src/TranscriptionSubscriber.js.map +1 -1
  116. package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
  117. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js +3 -3
  118. package/dist/dist-esm/calling-stateful-client/src/UserFacingDiagnosticsSubscriber.js.map +1 -1
  119. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js +7 -6
  120. package/dist/dist-esm/calling-stateful-client/src/VideoStreamRendererViewDeclarative.js.map +1 -1
  121. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  122. package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
  123. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js +4 -4
  124. package/dist/dist-esm/chat-component-bindings/src/baseSelectors.js.map +1 -1
  125. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js +3 -3
  126. package/dist/dist-esm/chat-component-bindings/src/chatParticipantListSelector.js.map +1 -1
  127. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js +15 -15
  128. package/dist/dist-esm/chat-component-bindings/src/errorBarSelector.js.map +1 -1
  129. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.d.ts +1 -1
  130. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +11 -6
  131. package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
  132. package/dist/dist-esm/chat-component-bindings/src/hooks/useHandlers.js.map +1 -1
  133. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  134. package/dist/dist-esm/chat-component-bindings/src/hooks/useSelector.js.map +1 -1
  135. package/dist/dist-esm/chat-component-bindings/src/index.js.map +1 -1
  136. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js +15 -38
  137. package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
  138. package/dist/dist-esm/chat-component-bindings/src/providers/ChatClientProvider.js.map +1 -1
  139. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js +1 -1
  140. package/dist/dist-esm/chat-component-bindings/src/providers/ChatThreadClientProvider.js.map +1 -1
  141. package/dist/dist-esm/chat-component-bindings/src/sendBoxSelector.js.map +1 -1
  142. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js +7 -3
  143. package/dist/dist-esm/chat-component-bindings/src/typingIndicatorSelector.js.map +1 -1
  144. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js +1 -3
  145. package/dist/dist-esm/chat-component-bindings/src/utils/compareMessages.js.map +1 -1
  146. package/dist/dist-esm/chat-component-bindings/src/utils/constants.js.map +1 -1
  147. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js +3 -10
  148. package/dist/dist-esm/chat-component-bindings/src/utils/updateMessagesWithAttached.js.map +1 -1
  149. package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
  150. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +22 -16
  151. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  152. package/dist/dist-esm/chat-stateful-client/src/Constants.js.map +1 -1
  153. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +11 -8
  154. package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
  155. package/dist/dist-esm/chat-stateful-client/src/Logger.js.map +1 -1
  156. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +16 -4
  157. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  158. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +67 -57
  159. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  160. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js +128 -114
  161. package/dist/dist-esm/chat-stateful-client/src/StatefulChatThreadClient.js.map +1 -1
  162. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -4
  163. package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
  164. package/dist/dist-esm/chat-stateful-client/src/index.js.map +1 -1
  165. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedIterator.js.map +1 -1
  166. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListMessages.js.map +1 -1
  167. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListParticipants.js.map +1 -1
  168. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListReadReceipts.js.map +1 -1
  169. package/dist/dist-esm/chat-stateful-client/src/iterators/createDecoratedListThreads.js.map +1 -1
  170. package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
  171. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  172. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  173. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js +6 -3
  174. package/dist/dist-esm/react-components/src/components/Announcer/Announcer.js.map +1 -1
  175. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerContext.js.map +1 -1
  176. package/dist/dist-esm/react-components/src/components/Announcer/AnnouncerMessage.js.map +1 -1
  177. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js +10 -4
  178. package/dist/dist-esm/react-components/src/components/Announcer/LiveAnnouncer.js.map +1 -1
  179. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js +1 -1
  180. package/dist/dist-esm/react-components/src/components/Announcer/LiveMessage.js.map +1 -1
  181. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js +1 -1
  182. package/dist/dist-esm/react-components/src/components/Announcer/MessageBlock.js.map +1 -1
  183. package/dist/dist-esm/react-components/src/components/Announcer.js.map +1 -1
  184. package/dist/dist-esm/react-components/src/components/AttachmentCard.js +7 -7
  185. package/dist/dist-esm/react-components/src/components/AttachmentCard.js.map +1 -1
  186. package/dist/dist-esm/react-components/src/components/AttachmentCardGroup.js +1 -1
  187. package/dist/dist-esm/react-components/src/components/AttachmentCardGroup.js.map +1 -1
  188. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js +11 -12
  189. package/dist/dist-esm/react-components/src/components/AttachmentDownloadCards.js.map +1 -1
  190. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js +21 -24
  191. package/dist/dist-esm/react-components/src/components/AttachmentUploadCards.js.map +1 -1
  192. package/dist/dist-esm/react-components/src/components/CameraButton.js +19 -8
  193. package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
  194. package/dist/dist-esm/react-components/src/components/Caption.js +2 -2
  195. package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
  196. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js +8 -9
  197. package/dist/dist-esm/react-components/src/components/CaptionsBanner.js.map +1 -1
  198. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js +19 -36
  199. package/dist/dist-esm/react-components/src/components/CaptionsSettingsModal.js.map +1 -1
  200. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js +5 -2
  201. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionMenu.js.map +1 -1
  202. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js +22 -37
  203. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageActionsFlyout.js.map +1 -1
  204. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js +24 -22
  205. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
  206. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +28 -54
  207. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  208. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js +5 -9
  209. package/dist/dist-esm/react-components/src/components/ChatMessage/DefaultSystemMessage.js.map +1 -1
  210. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js +1 -1
  211. package/dist/dist-esm/react-components/src/components/ChatMessage/MentionRenderer.js.map +1 -1
  212. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +7 -31
  213. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  214. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js +16 -37
  215. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/FluentChatMessageComponent.js.map +1 -1
  216. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +36 -33
  217. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
  218. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +2 -2
  219. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
  220. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +22 -36
  221. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
  222. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +11 -19
  223. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
  224. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +10 -37
  225. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  226. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +25 -59
  227. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
  228. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js +18 -18
  229. package/dist/dist-esm/react-components/src/components/ComplianceBanner/BannerMessage.js.map +1 -1
  230. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js +4 -7
  231. package/dist/dist-esm/react-components/src/components/ComplianceBanner/ComplianceBanner.js.map +1 -1
  232. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js +2 -2
  233. package/dist/dist-esm/react-components/src/components/ComplianceBanner/DelayedUpdateBanner.js.map +1 -1
  234. package/dist/dist-esm/react-components/src/components/ComplianceBanner/Utils.js.map +1 -1
  235. package/dist/dist-esm/react-components/src/components/ComplianceBanner/index.js.map +1 -1
  236. package/dist/dist-esm/react-components/src/components/ComplianceBanner/types.js.map +1 -1
  237. package/dist/dist-esm/react-components/src/components/ControlBar.js +14 -10
  238. package/dist/dist-esm/react-components/src/components/ControlBar.js.map +1 -1
  239. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +4 -14
  240. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  241. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js +14 -3
  242. package/dist/dist-esm/react-components/src/components/ControlButtonTooltip.js.map +1 -1
  243. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js +10 -4
  244. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDenied.js.map +1 -1
  245. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js +31 -14
  246. package/dist/dist-esm/react-components/src/components/DevicePermissions/BrowserPermissionDeniedIOS.js.map +1 -1
  247. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js +8 -5
  248. package/dist/dist-esm/react-components/src/components/DevicePermissions/DevicePermissionDropdown.js.map +1 -1
  249. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js +6 -24
  250. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  251. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js +20 -12
  252. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissionsScaffolding.js.map +1 -1
  253. package/dist/dist-esm/react-components/src/components/DevicesButton.d.ts +1 -2
  254. package/dist/dist-esm/react-components/src/components/DevicesButton.js +29 -25
  255. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  256. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js +48 -12
  257. package/dist/dist-esm/react-components/src/components/Dialpad/DTMFToneGenerator.js.map +1 -1
  258. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +51 -45
  259. package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
  260. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js +4 -4
  261. package/dist/dist-esm/react-components/src/components/Drawer/DrawerContentContainer.js.map +1 -1
  262. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js +6 -2
  263. package/dist/dist-esm/react-components/src/components/Drawer/DrawerLightDismiss.js.map +1 -1
  264. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +9 -11
  265. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  266. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js +23 -11
  267. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenuItem.js.map +1 -1
  268. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +4 -6
  269. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  270. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js +5 -11
  271. package/dist/dist-esm/react-components/src/components/Drawer/ReactionDrawerMenuItem.js.map +1 -1
  272. package/dist/dist-esm/react-components/src/components/Drawer/index.js.map +1 -1
  273. package/dist/dist-esm/react-components/src/components/EndCallButton.js +16 -16
  274. package/dist/dist-esm/react-components/src/components/EndCallButton.js.map +1 -1
  275. package/dist/dist-esm/react-components/src/components/ErrorBar.js +5 -9
  276. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  277. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js +6 -2
  278. package/dist/dist-esm/react-components/src/components/ErrorBoundary.js.map +1 -1
  279. package/dist/dist-esm/react-components/src/components/GridLayout.js +37 -37
  280. package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
  281. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js +2 -2
  282. package/dist/dist-esm/react-components/src/components/HighContrastAwareIcon.js.map +1 -1
  283. package/dist/dist-esm/react-components/src/components/HoldButton.js +1 -1
  284. package/dist/dist-esm/react-components/src/components/HoldButton.js.map +1 -1
  285. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +9 -7
  286. package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
  287. package/dist/dist-esm/react-components/src/components/ImageOverlay.js +14 -9
  288. package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
  289. package/dist/dist-esm/react-components/src/components/InputBoxButton.d.ts +0 -1
  290. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +17 -11
  291. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  292. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +7 -5
  293. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  294. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +5 -3
  295. package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
  296. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js +22 -45
  297. package/dist/dist-esm/react-components/src/components/LocalVideoTile.js.map +1 -1
  298. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js +12 -4
  299. package/dist/dist-esm/react-components/src/components/MeetingReactionOverlay.js.map +1 -1
  300. package/dist/dist-esm/react-components/src/components/MentionPopover.js +14 -17
  301. package/dist/dist-esm/react-components/src/components/MentionPopover.js.map +1 -1
  302. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js +2 -2
  303. package/dist/dist-esm/react-components/src/components/MessageStatusIcon.js.map +1 -1
  304. package/dist/dist-esm/react-components/src/components/MessageStatusIndicator.js.map +1 -1
  305. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js +33 -20
  306. package/dist/dist-esm/react-components/src/components/MessageStatusIndicatorInternal.js.map +1 -1
  307. package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +1 -1
  308. package/dist/dist-esm/react-components/src/components/MessageThread.js +49 -83
  309. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  310. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js +14 -17
  311. package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
  312. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +101 -94
  313. package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
  314. package/dist/dist-esm/react-components/src/components/ParticipantItem.d.ts +0 -2
  315. package/dist/dist-esm/react-components/src/components/ParticipantItem.js +20 -15
  316. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  317. package/dist/dist-esm/react-components/src/components/ParticipantList.js +37 -51
  318. package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
  319. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js +32 -46
  320. package/dist/dist-esm/react-components/src/components/ParticipantsButton.js.map +1 -1
  321. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js +3 -3
  322. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPicture.js.map +1 -1
  323. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js +3 -3
  324. package/dist/dist-esm/react-components/src/components/PictureInPictureInPicture/PictureInPictureInPictureTile.js.map +1 -1
  325. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js +12 -6
  326. package/dist/dist-esm/react-components/src/components/RaiseHandButton.js.map +1 -1
  327. package/dist/dist-esm/react-components/src/components/ReactionButton.js +25 -26
  328. package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
  329. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +13 -38
  330. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  331. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +2 -2
  332. package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
  333. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js +2 -2
  334. package/dist/dist-esm/react-components/src/components/ResponsiveVerticalGallery.js.map +1 -1
  335. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/RichTextRibbonButtons.js +1 -12
  336. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/RichTextRibbonButtons.js.map +1 -1
  337. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTableButton.js +1 -1
  338. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTableButton.js.map +1 -1
  339. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTablePane.d.ts +2 -1
  340. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTablePane.js +5 -10
  341. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextInsertTablePane.js.map +1 -1
  342. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextTableContextMenu.js +13 -6
  343. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/RichTextTableContextMenu.js.map +1 -1
  344. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/insertTableAction.js +1 -1
  345. package/dist/dist-esm/react-components/src/components/RichTextEditor/Buttons/Table/insertTableAction.js.map +1 -1
  346. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +1 -1
  347. package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
  348. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +10 -15
  349. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  350. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +11 -25
  351. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  352. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +36 -80
  353. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
  354. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js +17 -12
  355. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBoxErrors.js.map +1 -1
  356. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js +14 -6
  357. package/dist/dist-esm/react-components/src/components/ScreenShareButton.js.map +1 -1
  358. package/dist/dist-esm/react-components/src/components/SendBox.js +30 -55
  359. package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
  360. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +2 -2
  361. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  362. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js +1 -3
  363. package/dist/dist-esm/react-components/src/components/SendBoxErrors.js.map +1 -1
  364. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js +4 -2
  365. package/dist/dist-esm/react-components/src/components/StartCaptionsButton.js.map +1 -1
  366. package/dist/dist-esm/react-components/src/components/StreamMedia.js +3 -3
  367. package/dist/dist-esm/react-components/src/components/StreamMedia.js.map +1 -1
  368. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js +3 -10
  369. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.js.map +1 -1
  370. package/dist/dist-esm/react-components/src/components/Survey/StarSurvey/StarSurvey.styles.js.map +1 -1
  371. package/dist/dist-esm/react-components/src/components/Survey/SurveyTypes.js.map +1 -1
  372. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js +23 -23
  373. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.js.map +1 -1
  374. package/dist/dist-esm/react-components/src/components/Survey/TagsSurvey/TagsSurvey.styles.js.map +1 -1
  375. package/dist/dist-esm/react-components/src/components/SystemMessage.js +4 -2
  376. package/dist/dist-esm/react-components/src/components/SystemMessage.js.map +1 -1
  377. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +22 -67
  378. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
  379. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +49 -55
  380. package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
  381. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +10 -10
  382. package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
  383. package/dist/dist-esm/react-components/src/components/TypingIndicator.js +6 -9
  384. package/dist/dist-esm/react-components/src/components/TypingIndicator.js.map +1 -1
  385. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js +1 -1
  386. package/dist/dist-esm/react-components/src/components/UnsupportedBrowser.js.map +1 -1
  387. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js +1 -1
  388. package/dist/dist-esm/react-components/src/components/UnsupportedBrowserVersion.js.map +1 -1
  389. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js +8 -4
  390. package/dist/dist-esm/react-components/src/components/UnsupportedEnvironment.js.map +1 -1
  391. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js +1 -1
  392. package/dist/dist-esm/react-components/src/components/UnsupportedOperatingSystem.js.map +1 -1
  393. package/dist/dist-esm/react-components/src/components/VerticalGallery.js +31 -13
  394. package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
  395. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js +1 -3
  396. package/dist/dist-esm/react-components/src/components/VideoEffects/PresetVideoEffectsItems.js.map +1 -1
  397. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +12 -8
  398. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  399. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js +12 -6
  400. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.js.map +1 -1
  401. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js +2 -6
  402. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoEffectsItem.styles.js.map +1 -1
  403. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +11 -26
  404. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  405. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +10 -14
  406. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
  407. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +19 -50
  408. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  409. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js +2 -2
  410. package/dist/dist-esm/react-components/src/components/VideoGallery/FocusContentLayout.js.map +1 -1
  411. package/dist/dist-esm/react-components/src/components/VideoGallery/Layout.js.map +1 -1
  412. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js +7 -7
  413. package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.js.map +1 -1
  414. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +4 -6
  415. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  416. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js +11 -17
  417. package/dist/dist-esm/react-components/src/components/VideoGallery/ParticipantVideoTileOverlay.js.map +1 -1
  418. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +24 -29
  419. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
  420. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +7 -9
  421. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  422. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +4 -2
  423. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  424. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js +13 -44
  425. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  426. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js +6 -1
  427. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/DefaultLayout.styles.js.map +1 -1
  428. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +34 -9
  429. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
  430. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js +11 -2
  431. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideoLayout.styles.js.map +1 -1
  432. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/Layout.styles.js.map +1 -1
  433. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/LocalScreenShare.styles.js.map +1 -1
  434. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteScreenShare.styles.js.map +1 -1
  435. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/RemoteVideoTile.styles.js.map +1 -1
  436. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +3 -1
  437. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  438. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +11 -10
  439. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
  440. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +28 -22
  441. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  442. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js +6 -11
  443. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoStreamLifecycleMaintainer.js.map +1 -1
  444. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +45 -35
  445. package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
  446. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
  447. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/reactionUtils.js.map +1 -1
  448. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +22 -40
  449. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  450. package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +1 -3
  451. package/dist/dist-esm/react-components/src/components/VideoGallery.js +45 -144
  452. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  453. package/dist/dist-esm/react-components/src/components/VideoTile.js +60 -36
  454. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  455. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js +2 -2
  456. package/dist/dist-esm/react-components/src/components/assets/RaisedHandIcon.js.map +1 -1
  457. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  458. package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
  459. package/dist/dist-esm/react-components/src/components/styles/BrowserPermissionDenied.styles.js.map +1 -1
  460. package/dist/dist-esm/react-components/src/components/styles/Captions.style.js.map +1 -1
  461. package/dist/dist-esm/react-components/src/components/styles/CaptionsSettingsModal.styles.js.map +1 -1
  462. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +6 -2
  463. package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
  464. package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
  465. package/dist/dist-esm/react-components/src/components/styles/ControlBar.styles.js.map +1 -1
  466. package/dist/dist-esm/react-components/src/components/styles/Dialpad.styles.js.map +1 -1
  467. package/dist/dist-esm/react-components/src/components/styles/EditBox.styles.js.map +1 -1
  468. package/dist/dist-esm/react-components/src/components/styles/GridLayout.styles.js.map +1 -1
  469. package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
  470. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +5 -2
  471. package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
  472. package/dist/dist-esm/react-components/src/components/styles/InputBoxButton.style.js.map +1 -1
  473. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js +5 -2
  474. package/dist/dist-esm/react-components/src/components/styles/InputBoxComponent.style.js.map +1 -1
  475. package/dist/dist-esm/react-components/src/components/styles/MentionPopover.style.js.map +1 -1
  476. package/dist/dist-esm/react-components/src/components/styles/MessageStatusIndicator.styles.js.map +1 -1
  477. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +10 -4
  478. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  479. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js +2 -1
  480. package/dist/dist-esm/react-components/src/components/styles/ParticipantItem.styles.js.map +1 -1
  481. package/dist/dist-esm/react-components/src/components/styles/ParticipantList.styles.js.map +1 -1
  482. package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
  483. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +8 -14
  484. package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
  485. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +28 -8
  486. package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
  487. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js +12 -8
  488. package/dist/dist-esm/react-components/src/components/styles/RichTextInputBoxComponent.styles.js.map +1 -1
  489. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js +10 -2
  490. package/dist/dist-esm/react-components/src/components/styles/SendBox.styles.js.map +1 -1
  491. package/dist/dist-esm/react-components/src/components/styles/SitePermissions.styles.js.map +1 -1
  492. package/dist/dist-esm/react-components/src/components/styles/Stack.style.js.map +1 -1
  493. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js +6 -3
  494. package/dist/dist-esm/react-components/src/components/styles/StreamMedia.styles.js.map +1 -1
  495. package/dist/dist-esm/react-components/src/components/styles/SystemMessage.styles.js.map +1 -1
  496. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js +2 -1
  497. package/dist/dist-esm/react-components/src/components/styles/TroubleshootingGuideErrorBar.styles.js.map +1 -1
  498. package/dist/dist-esm/react-components/src/components/styles/TypingIndicator.styles.js.map +1 -1
  499. package/dist/dist-esm/react-components/src/components/styles/UnsupportedEnvironment.styles.js.map +1 -1
  500. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js +2 -1
  501. package/dist/dist-esm/react-components/src/components/styles/VerticalGallery.styles.js.map +1 -1
  502. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js +19 -5
  503. package/dist/dist-esm/react-components/src/components/styles/VideoGallery.styles.js.map +1 -1
  504. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  505. package/dist/dist-esm/react-components/src/components/styles/v8StyleShim.js.map +1 -1
  506. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.d.ts +1 -1
  507. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js +3 -10
  508. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  509. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.d.ts +2 -2
  510. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js +14 -32
  511. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  512. package/dist/dist-esm/react-components/src/components/utils/Datetime.js +4 -1
  513. package/dist/dist-esm/react-components/src/components/utils/Datetime.js.map +1 -1
  514. package/dist/dist-esm/react-components/src/components/utils/RichTextEditorStringsUtils.js.map +1 -1
  515. package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +1 -1
  516. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +0 -15
  517. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +2 -24
  518. package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
  519. package/dist/dist-esm/react-components/src/components/utils/common.js.map +1 -1
  520. package/dist/dist-esm/react-components/src/components/utils/delay.js.map +1 -1
  521. package/dist/dist-esm/react-components/src/components/utils/formatPhoneNumber.js.map +1 -1
  522. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js +7 -4
  523. package/dist/dist-esm/react-components/src/components/utils/getParticipantsWhoHaveReadMessage.js.map +1 -1
  524. package/dist/dist-esm/react-components/src/components/utils/keyboardNavigation.js.map +1 -1
  525. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  526. package/dist/dist-esm/react-components/src/components/utils/overFlowGalleriesUtils.js.map +1 -1
  527. package/dist/dist-esm/react-components/src/components/utils/responsive.js +2 -2
  528. package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
  529. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js +1 -10
  530. package/dist/dist-esm/react-components/src/components/utils/useLongPress.js.map +1 -1
  531. package/dist/dist-esm/react-components/src/components/utils.js +10 -13
  532. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  533. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js +6 -8
  534. package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
  535. package/dist/dist-esm/react-components/src/gallery/index.js.map +1 -1
  536. package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
  537. package/dist/dist-esm/react-components/src/identifiers/index.js.map +1 -1
  538. package/dist/dist-esm/react-components/src/index.js.map +1 -1
  539. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  540. package/dist/dist-esm/react-components/src/localization/index.js.map +1 -1
  541. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js +3 -1
  542. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/ComponentLocale.js.map +1 -1
  543. package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +5 -3
  544. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js +3 -1
  545. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/ComponentLocale.js.map +1 -1
  546. package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +5 -3
  547. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js +3 -1
  548. package/dist/dist-esm/react-components/src/localization/locales/de-DE/ComponentLocale.js.map +1 -1
  549. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +5 -3
  550. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js +3 -1
  551. package/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js.map +1 -1
  552. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +5 -3
  553. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js +3 -1
  554. package/dist/dist-esm/react-components/src/localization/locales/es-ES/ComponentLocale.js.map +1 -1
  555. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +5 -3
  556. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js +3 -1
  557. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/ComponentLocale.js.map +1 -1
  558. package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +5 -3
  559. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js +3 -1
  560. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js.map +1 -1
  561. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +5 -3
  562. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js +3 -1
  563. package/dist/dist-esm/react-components/src/localization/locales/he-IL/ComponentLocale.js.map +1 -1
  564. package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +5 -3
  565. package/dist/dist-esm/react-components/src/localization/locales/index.js +3 -1
  566. package/dist/dist-esm/react-components/src/localization/locales/index.js.map +1 -1
  567. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js +3 -1
  568. package/dist/dist-esm/react-components/src/localization/locales/it-IT/ComponentLocale.js.map +1 -1
  569. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +5 -3
  570. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js +3 -1
  571. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/ComponentLocale.js.map +1 -1
  572. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +5 -3
  573. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js +3 -1
  574. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/ComponentLocale.js.map +1 -1
  575. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +5 -3
  576. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js +3 -1
  577. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/ComponentLocale.js.map +1 -1
  578. package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +5 -3
  579. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js +3 -1
  580. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/ComponentLocale.js.map +1 -1
  581. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +5 -3
  582. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js +3 -1
  583. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/ComponentLocale.js.map +1 -1
  584. package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +5 -3
  585. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js +3 -1
  586. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/ComponentLocale.js.map +1 -1
  587. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +5 -3
  588. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js +3 -1
  589. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/ComponentLocale.js.map +1 -1
  590. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +5 -3
  591. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js +3 -1
  592. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/ComponentLocale.js.map +1 -1
  593. package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +5 -3
  594. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js +3 -1
  595. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/ComponentLocale.js.map +1 -1
  596. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +5 -3
  597. package/dist/dist-esm/react-components/src/localization/locales/utils.js +1 -1
  598. package/dist/dist-esm/react-components/src/localization/locales/utils.js.map +1 -1
  599. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js +3 -1
  600. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/ComponentLocale.js.map +1 -1
  601. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +5 -3
  602. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js +3 -1
  603. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/ComponentLocale.js.map +1 -1
  604. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +5 -3
  605. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +5 -3
  606. package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
  607. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js +1 -1
  608. package/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js.map +1 -1
  609. package/dist/dist-esm/react-components/src/theming/generateTheme.js +1 -15
  610. package/dist/dist-esm/react-components/src/theming/generateTheme.js.map +1 -1
  611. package/dist/dist-esm/react-components/src/theming/icons.js +30 -21
  612. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  613. package/dist/dist-esm/react-components/src/theming/icons.styles.js.map +1 -1
  614. package/dist/dist-esm/react-components/src/theming/index.js.map +1 -1
  615. package/dist/dist-esm/react-components/src/theming/themeDuplicates.js.map +1 -1
  616. package/dist/dist-esm/react-components/src/theming/themeUtils.js.map +1 -1
  617. package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
  618. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +7 -1
  619. package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
  620. package/dist/dist-esm/react-components/src/types/Attachment.js.map +1 -1
  621. package/dist/dist-esm/react-components/src/types/CallSurveyImprovementSuggestions.js.map +1 -1
  622. package/dist/dist-esm/react-components/src/types/CaptionsAvailableLanguageStrings.js.map +1 -1
  623. package/dist/dist-esm/react-components/src/types/ChatMessage.js.map +1 -1
  624. package/dist/dist-esm/react-components/src/types/CommunicationParticipant.js.map +1 -1
  625. package/dist/dist-esm/react-components/src/types/ComponentSlotStyle.js.map +1 -1
  626. package/dist/dist-esm/react-components/src/types/CustomStylesProps.js.map +1 -1
  627. package/dist/dist-esm/react-components/src/types/OnRender.js.map +1 -1
  628. package/dist/dist-esm/react-components/src/types/ParticipantListParticipant.js.map +1 -1
  629. package/dist/dist-esm/react-components/src/types/ReactionTypes.js.map +1 -1
  630. package/dist/dist-esm/react-components/src/types/ReadReceiptsBySenderId.js.map +1 -1
  631. package/dist/dist-esm/react-components/src/types/SurveyIssues.js.map +1 -1
  632. package/dist/dist-esm/react-components/src/types/SurveyIssuesHeadingStrings.js.map +1 -1
  633. package/dist/dist-esm/react-components/src/types/VideoGalleryParticipant.js.map +1 -1
  634. package/dist/dist-esm/react-components/src/types/index.js.map +1 -1
  635. package/dist/dist-esm/react-composites/src/Logger.js.map +1 -1
  636. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +38 -41
  637. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  638. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +0 -4
  639. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  640. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +1 -2
  641. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +57 -124
  642. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  643. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +0 -4
  644. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js +1 -7
  645. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  646. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapterProvider.js.map +1 -1
  647. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js +3 -8
  648. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallingSoundSubscriber.js.map +1 -1
  649. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/DiagnosticsForwarder.js.map +1 -1
  650. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js +3 -1
  651. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/OnFetchProfileCallback.js.map +1 -1
  652. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/ParticipantSubcriber.js.map +1 -1
  653. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js +2 -2
  654. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
  655. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
  656. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +30 -69
  657. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  658. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +60 -37
  659. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  660. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +141 -133
  661. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  662. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js +18 -10
  663. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CapabilitiesChangedNotificationBar.js.map +1 -1
  664. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js +7 -1
  665. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageCameraDropdown.js.map +1 -1
  666. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js +1 -1
  667. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageErrorBar.js.map +1 -1
  668. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js +7 -1
  669. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ConfigurationPageMicDropdown.js.map +1 -1
  670. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js +4 -5
  671. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/ExpandedLocalVideoTile.js.map +1 -1
  672. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js +4 -4
  673. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/HoldPane.js.map +1 -1
  674. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js +4 -4
  675. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LobbyTile.js.map +1 -1
  676. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js +22 -33
  677. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalAndRemotePIP.js.map +1 -1
  678. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +25 -35
  679. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  680. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js +30 -26
  681. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalPreview.js.map +1 -1
  682. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js +45 -76
  683. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  684. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js +2 -2
  685. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MutedNotification.js.map +1 -1
  686. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +2 -2
  687. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  688. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js +32 -10
  689. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
  690. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js +11 -29
  691. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  692. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePaneProvider.js.map +1 -1
  693. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +0 -1
  694. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +40 -61
  695. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  696. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +4 -4
  697. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
  698. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js +1 -1
  699. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/StartCallButton.js.map +1 -1
  700. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js +5 -3
  701. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SvgWithWordWrapping.js.map +1 -1
  702. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +1 -3
  703. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
  704. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js +7 -10
  705. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Devices.js.map +1 -1
  706. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js +13 -23
  707. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/EndCall.js.map +1 -1
  708. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -3
  709. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  710. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js +2 -5
  711. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Participants.js.map +1 -1
  712. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js +1 -1
  713. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/People.js.map +1 -1
  714. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js +1 -1
  715. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/RaiseHand.js.map +1 -1
  716. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js +1 -1
  717. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Reaction.js.map +1 -1
  718. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js +1 -1
  719. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/ScreenShare.js.map +1 -1
  720. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js +7 -7
  721. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useAdaptedSelector.js.map +1 -1
  722. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.d.ts +1 -1
  723. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +13 -25
  724. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  725. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/usePropsFor.js.map +1 -1
  726. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js +1 -1
  727. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useSelector.js.map +1 -1
  728. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  729. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +11 -18
  730. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  731. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +24 -56
  732. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  733. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +13 -5
  734. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  735. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +7 -13
  736. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  737. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +7 -15
  738. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  739. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +3 -3
  740. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  741. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js +2 -2
  742. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/SurveyPage.js.map +1 -1
  743. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.d.ts +1 -1
  744. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js +3 -4
  745. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ThankYouForFeedbackPage.js.map +1 -1
  746. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +21 -18
  747. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  748. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js +3 -3
  749. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/UnsupportedBrowser.js.map +1 -1
  750. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.d.ts +2 -2
  751. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js +1 -1
  752. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/LocalVideoTileSelector.js.map +1 -1
  753. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js +1 -2
  754. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/activeVideoBackgroundEffectSelector.js.map +1 -1
  755. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
  756. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.d.ts +1 -1
  757. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/callStatusSelector.js.map +1 -1
  758. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.d.ts +1 -1
  759. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js +4 -1
  760. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitiesChangedInfoAndRoleSelector.js.map +1 -1
  761. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.d.ts +1 -1
  762. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js +1 -1
  763. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/capabilitySelector.js.map +1 -1
  764. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.d.ts +1 -1
  765. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/complianceBannerSelector.js.map +1 -1
  766. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.d.ts +1 -1
  767. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/deviceCountSelector.js.map +1 -1
  768. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.d.ts +2 -2
  769. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js +1 -1
  770. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/devicePermissionSelector.js.map +1 -1
  771. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.d.ts +1 -1
  772. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js +1 -3
  773. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/dominantRemoteParticipantSelector.js.map +1 -1
  774. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.d.ts +1 -1
  775. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js +4 -10
  776. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/getFirstSpotlightedRemoteParticipantSelector.js.map +1 -1
  777. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.d.ts +4 -4
  778. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js +1 -1
  779. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/lobbySelector.js.map +1 -1
  780. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.d.ts +3 -3
  781. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js +2 -11
  782. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localAndRemotePIPSelector.js.map +1 -1
  783. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.d.ts +2 -2
  784. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js +4 -4
  785. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localPreviewSelector.js.map +1 -1
  786. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.d.ts +1 -1
  787. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js +1 -1
  788. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/localVideoStreamSelector.js.map +1 -1
  789. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.d.ts +5 -5
  790. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js +4 -4
  791. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mediaGallerySelector.js.map +1 -1
  792. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.d.ts +2 -2
  793. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js +1 -1
  794. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/mutedNotificationSelector.js.map +1 -1
  795. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.d.ts +5 -5
  796. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/networkReconnectTileSelector.js.map +1 -1
  797. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js +1 -1
  798. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/Buttons.styles.js.map +1 -1
  799. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js +6 -2
  800. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallComposite.styles.js.map +1 -1
  801. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +29 -41
  802. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  803. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallControls.styles.js.map +1 -1
  804. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  805. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/DtmfDialpadPage.styles.js.map +1 -1
  806. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js +4 -1
  807. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/ExpandedLocalVideoTile.styles.js.map +1 -1
  808. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/HoldPane.styles.js.map +1 -1
  809. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js +9 -2
  810. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LobbyTile.styles.js.map +1 -1
  811. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalDeviceSettings.styles.js.map +1 -1
  812. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js +4 -2
  813. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/LocalPreview.styles.js.map +1 -1
  814. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NetworkReconnectTile.styles.js.map +1 -1
  815. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/NoticePage.styles.js.map +1 -1
  816. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js +2 -1
  817. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/StartCallButton.styles.js.map +1 -1
  818. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js +24 -6
  819. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/TransferPage.styles.js.map +1 -1
  820. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +2 -2
  821. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  822. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CapabilityChangedNotificationTracking.js.map +1 -1
  823. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  824. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +13 -11
  825. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  826. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js +10 -11
  827. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackCapabilityChangedNotifications.js.map +1 -1
  828. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js +2 -2
  829. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  830. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +1 -1
  831. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +29 -49
  832. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  833. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/index.js.map +1 -1
  834. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +5 -15
  835. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -1
  836. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js +2 -2
  837. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/timerUtils.js.map +1 -1
  838. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/useConsoleErrors.js.map +1 -1
  839. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +29 -79
  840. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  841. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js +1 -1
  842. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButton.js.map +1 -1
  843. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js +7 -9
  844. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/ChatButtonWithUnreadMessagesBadge.js.map +1 -1
  845. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js +9 -6
  846. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/NotificationIcon.js.map +1 -1
  847. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.d.ts +1 -1
  848. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js +5 -5
  849. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/ChatButton/useUnreadMessagesTracker.js.map +1 -1
  850. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  851. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +13 -49
  852. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +68 -221
  853. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  854. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +1 -11
  855. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  856. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  857. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedChatAdapter.js.map +1 -1
  858. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js +1 -1
  859. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/parseTeamsUrl.js.map +1 -1
  860. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/hooks/useCallWithChatCompositeStrings.js.map +1 -1
  861. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -1
  862. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
  863. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js +1 -1
  864. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/selectors/moreDrawerSelector.js.map +1 -1
  865. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -2
  866. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js +0 -3
  867. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
  868. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/styles/CallWithChatCompositeStyles.js.map +1 -1
  869. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js +5 -3
  870. package/dist/dist-esm/react-composites/src/composites/ChatComposite/AttachmentDownloadErrorBar.js.map +1 -1
  871. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js +4 -7
  872. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
  873. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js +5 -3
  874. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatHeader.js.map +1 -1
  875. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +28 -36
  876. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  877. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js +1 -1
  878. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreenPeoplePane.js.map +1 -1
  879. package/dist/dist-esm/react-composites/src/composites/ChatComposite/Strings.js.map +1 -1
  880. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js +18 -16
  881. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationAttachmentUploadAdapter.js.map +1 -1
  882. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js +36 -31
  883. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/AzureCommunicationChatAdapter.js.map +1 -1
  884. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.d.ts +2 -2
  885. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapter.js.map +1 -1
  886. package/dist/dist-esm/react-composites/src/composites/ChatComposite/adapter/ChatAdapterProvider.js.map +1 -1
  887. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.js.map +1 -1
  888. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js +6 -11
  889. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.js.map +1 -1
  890. package/dist/dist-esm/react-composites/src/composites/ChatComposite/file-sharing/index.js.map +1 -1
  891. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js +3 -1
  892. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.js.map +1 -1
  893. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js +3 -8
  894. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useHandlers.js.map +1 -1
  895. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/usePropsFor.js.map +1 -1
  896. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js +1 -1
  897. package/dist/dist-esm/react-composites/src/composites/ChatComposite/hooks/useSelector.js.map +1 -1
  898. package/dist/dist-esm/react-composites/src/composites/ChatComposite/index.js.map +1 -1
  899. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.d.ts +4 -4
  900. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.js +5 -3
  901. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/attachmentUploadsSelector.js.map +1 -1
  902. package/dist/dist-esm/react-composites/src/composites/ChatComposite/selectors/baseSelectors.js.map +1 -1
  903. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js +6 -2
  904. package/dist/dist-esm/react-composites/src/composites/ChatComposite/styles/Chat.styles.js.map +1 -1
  905. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js +17 -9
  906. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleButton.js.map +1 -1
  907. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +25 -23
  908. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  909. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.styles.js.map +1 -1
  910. package/dist/dist-esm/react-composites/src/composites/common/AudioProvider.js.map +1 -1
  911. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js +3 -8
  912. package/dist/dist-esm/react-composites/src/composites/common/AvatarPersona.js.map +1 -1
  913. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +14 -5
  914. package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
  915. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +23 -9
  916. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  917. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.styles.js.map +1 -1
  918. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js +7 -5
  919. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBanner.js.map +1 -1
  920. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js +16 -12
  921. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  922. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js +1 -1
  923. package/dist/dist-esm/react-composites/src/composites/common/CaptionsSettingsModal.js.map +1 -1
  924. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js +5 -1
  925. package/dist/dist-esm/react-composites/src/composites/common/ContainerRectProps.js.map +1 -1
  926. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +41 -59
  927. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  928. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +37 -39
  929. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  930. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +66 -105
  931. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  932. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +1 -1
  933. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  934. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js +1 -1
  935. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/PeopleButton.js.map +1 -1
  936. package/dist/dist-esm/react-composites/src/composites/common/ConvertContextualMenuItemToDrawerMenuItem.js.map +1 -1
  937. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js +7 -5
  938. package/dist/dist-esm/react-composites/src/composites/common/Drawer/CaptionLanguageSettingsDrawer.js.map +1 -1
  939. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +118 -86
  940. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  941. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.styles.js.map +1 -1
  942. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  943. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js +7 -5
  944. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageSettingsDrawer.js.map +1 -1
  945. package/dist/dist-esm/react-composites/src/composites/common/Drawer/captionSettingsDrawer.styles.js.map +1 -1
  946. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js +1 -1
  947. package/dist/dist-esm/react-composites/src/composites/common/ExitSpotlightButton.js.map +1 -1
  948. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js +1 -1
  949. package/dist/dist-esm/react-composites/src/composites/common/HiddenFocusStartPoint.js.map +1 -1
  950. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js +11 -18
  951. package/dist/dist-esm/react-composites/src/composites/common/ModalLocalAndRemotePIP.js.map +1 -1
  952. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js +1 -1
  953. package/dist/dist-esm/react-composites/src/composites/common/MoreButton.js.map +1 -1
  954. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +15 -13
  955. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  956. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +0 -1
  957. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +12 -28
  958. package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
  959. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js +15 -7
  960. package/dist/dist-esm/react-composites/src/composites/common/SidePaneHeader.js.map +1 -1
  961. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js +1 -2
  962. package/dist/dist-esm/react-composites/src/composites/common/StarSurvey.js.map +1 -1
  963. package/dist/dist-esm/react-composites/src/composites/common/Survey.js +34 -19
  964. package/dist/dist-esm/react-composites/src/composites/common/Survey.js.map +1 -1
  965. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js +3 -4
  966. package/dist/dist-esm/react-composites/src/composites/common/SurveyContent.js.map +1 -1
  967. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js +8 -11
  968. package/dist/dist-esm/react-composites/src/composites/common/TabHeader.js.map +1 -1
  969. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js +2 -3
  970. package/dist/dist-esm/react-composites/src/composites/common/TagsSurvey.js.map +1 -1
  971. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +12 -11
  972. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  973. package/dist/dist-esm/react-composites/src/composites/common/adapters.js.map +1 -1
  974. package/dist/dist-esm/react-composites/src/composites/common/constants.js.map +1 -1
  975. package/dist/dist-esm/react-composites/src/composites/common/icons.js +3 -3
  976. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  977. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependency.js.map +1 -1
  978. package/dist/dist-esm/react-composites/src/composites/common/resolveVideoEffectDependencyLazy.js.map +1 -1
  979. package/dist/dist-esm/react-composites/src/composites/common/styles/Composite.styles.js.map +1 -1
  980. package/dist/dist-esm/react-composites/src/composites/common/styles/GlobalHostLayer.styles.js.map +1 -1
  981. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js +10 -4
  982. package/dist/dist-esm/react-composites/src/composites/common/styles/ModalLocalAndRemotePIP.styles.js.map +1 -1
  983. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js +44 -11
  984. package/dist/dist-esm/react-composites/src/composites/common/styles/Pane.styles.js.map +1 -1
  985. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js +29 -6
  986. package/dist/dist-esm/react-composites/src/composites/common/styles/ParticipantContainer.styles.js.map +1 -1
  987. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js +22 -4
  988. package/dist/dist-esm/react-composites/src/composites/common/styles/PeoplePaneContent.styles.js.map +1 -1
  989. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js +13 -15
  990. package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js.map +1 -1
  991. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  992. package/dist/dist-esm/react-composites/src/composites/common/utils.js +12 -17
  993. package/dist/dist-esm/react-composites/src/composites/common/utils.js.map +1 -1
  994. package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
  995. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js +2 -2
  996. package/dist/dist-esm/react-composites/src/composites/localization/LocalizationProvider.js.map +1 -1
  997. package/dist/dist-esm/react-composites/src/composites/localization/index.js.map +1 -1
  998. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/CompositeLocale.js.map +1 -1
  999. package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +3 -3
  1000. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/CompositeLocale.js.map +1 -1
  1001. package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +3 -3
  1002. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/CompositeLocale.js.map +1 -1
  1003. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +3 -3
  1004. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/CompositeLocale.js.map +1 -1
  1005. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +3 -3
  1006. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/CompositeLocale.js.map +1 -1
  1007. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +3 -3
  1008. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/CompositeLocale.js.map +1 -1
  1009. package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +3 -3
  1010. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/CompositeLocale.js.map +1 -1
  1011. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +3 -3
  1012. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/CompositeLocale.js.map +1 -1
  1013. package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +3 -3
  1014. package/dist/dist-esm/react-composites/src/composites/localization/locales/index.js.map +1 -1
  1015. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/CompositeLocale.js.map +1 -1
  1016. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +3 -3
  1017. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/CompositeLocale.js.map +1 -1
  1018. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +3 -3
  1019. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/CompositeLocale.js.map +1 -1
  1020. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +3 -3
  1021. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/CompositeLocale.js.map +1 -1
  1022. package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +3 -3
  1023. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/CompositeLocale.js.map +1 -1
  1024. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +3 -3
  1025. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/CompositeLocale.js.map +1 -1
  1026. package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +3 -3
  1027. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/CompositeLocale.js.map +1 -1
  1028. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +4 -4
  1029. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/CompositeLocale.js.map +1 -1
  1030. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +3 -3
  1031. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/CompositeLocale.js.map +1 -1
  1032. package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +3 -3
  1033. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/CompositeLocale.js.map +1 -1
  1034. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +3 -3
  1035. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js +1 -1
  1036. package/dist/dist-esm/react-composites/src/composites/localization/locales/utils.js.map +1 -1
  1037. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/CompositeLocale.js.map +1 -1
  1038. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +3 -3
  1039. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/CompositeLocale.js.map +1 -1
  1040. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +3 -3
  1041. package/dist/dist-esm/react-composites/src/index-public.js.map +1 -1
  1042. package/package.json +1 -1
  1043. package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DSlV4PZz.js.map +0 -1
  1044. package/dist/dist-cjs/communication-react/index-aGXLnB_I.js.map +0 -1
  1045. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.d.ts +0 -17
  1046. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +0 -112
  1047. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +0 -1
@@ -1 +1 @@
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';\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';\n/* @conditional-compile-remove(attachment-upload) */\nimport {\n _AttachmentUploadAdapter,\n convertAttachmentUploadsUiStateToMessageMetadata\n} from './AzureCommunicationAttachmentUploadAdapter';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AzureCommunicationAttachmentUploadAdapter } from './AzureCommunicationAttachmentUploadAdapter';\nimport { useEffect, useRef, useState } from 'react';\nimport { _isValidIdentifier } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '@internal/react-components';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentUploadTask } from '@internal/react-components';\n/* @conditional-compile-remove(attachment-upload) */\nimport { FileSharingMetadata } from '../../ChatComposite/file-sharing';\nimport { TEAMS_LIMITATION_LEARN_MORE, UNSUPPORTED_CHAT_THREAD_TYPE } from '../../common/constants';\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(attachment-upload) */\n updatedState = { ...updatedState, _attachmentUploads: this.state._attachmentUploads };\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 /* @conditional-compile-remove(attachment-upload) */\n private attachmentUploadAdapter: _AttachmentUploadAdapter;\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 /* @conditional-compile-remove(attachment-upload) */\n this.attachmentUploadAdapter = new AzureCommunicationAttachmentUploadAdapter(this.context);\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(attachment-upload) */\n this.sendMessageWithAttachments = this.sendMessageWithAttachments.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 /* @conditional-compile-remove(attachment-upload) */\n this.registerActiveUploads = this.registerActiveUploads.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.registerCompletedUploads = this.registerCompletedUploads.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.clearUploads = this.clearUploads.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.cancelUpload = this.cancelUpload.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.updateUploadProgress = this.updateUploadProgress.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.updateUploadStatusMessage = this.updateUploadStatusMessage.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.updateUploadMetadata = this.updateUploadMetadata.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(content: string, options: SendMessageOptions = {}): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n /* @conditional-compile-remove(attachment-upload) */\n options.metadata = {\n ...options.metadata,\n ...convertAttachmentUploadsUiStateToMessageMetadata(this.context.getState()._attachmentUploads)\n };\n\n /* @conditional-compile-remove(attachment-upload) */\n /**\n * All the current uploads need to be clear from the state before a message has been sent.\n * This ensures the following behavior:\n * 1. Attachment Upload cards are removed from sendbox at the same time text in sendbox is removed.\n * 2. any component rendering these attachment uploads doesn't continue to do so.\n * 3. Cleans the state for new attachment uploads with a fresh message.\n */\n this.attachmentUploadAdapter.clearUploads();\n\n await this.handlers.onSendMessage(content, options);\n });\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n /** Send a chat message with attachments. */\n public async sendMessageWithAttachments(content: string, attachments: AttachmentMetadata[]): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n const fileSharingMetadata: FileSharingMetadata = {\n fileSharingMetadata: JSON.stringify(attachments)\n };\n /**\n * All the current uploads need to be clear from the state before a message has been sent.\n * This ensures the following behavior:\n * 1. Attachment Upload cards are removed from sendbox at the same time text in sendbox is removed.\n * 2. any component rendering these attachment uploads doesn't continue to do so.\n * 3. Cleans the state for new attachment uploads with a fresh message.\n */\n this.attachmentUploadAdapter.clearUploads();\n await this.handlers.onSendMessage(content, {\n metadata: fileSharingMetadata\n });\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 metadata?: Record<string, string>,\n options?: {\n /* @conditional-compile-remove(attachment-upload) */\n attachmentMetadata?: AttachmentMetadata[];\n }\n ): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n /* @conditional-compile-remove(attachment-upload) */\n const updatedOptions = { attachmentMetadata: options?.attachmentMetadata, metadata: metadata };\n /* @conditional-compile-remove(attachment-upload) */\n return await this.handlers.onUpdateMessage(messageId, content, updatedOptions);\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 /* @conditional-compile-remove(attachment-upload) */\n registerActiveUploads(files: File[]): AttachmentUploadTask[] {\n return this.attachmentUploadAdapter.registerActiveUploads(files);\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n registerCompletedUploads(metadata: AttachmentMetadata[]): AttachmentUploadTask[] {\n return this.attachmentUploadAdapter.registerCompletedUploads(metadata);\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n clearUploads(): void {\n this.attachmentUploadAdapter.clearUploads();\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n cancelUpload(id: string): void {\n this.attachmentUploadAdapter.cancelUpload(id);\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n updateUploadProgress(id: string, progress: number): void {\n this.attachmentUploadAdapter.updateUploadProgress(id, progress);\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n updateUploadStatusMessage(id: string, errorMessage: string): void {\n this.attachmentUploadAdapter.updateUploadStatusMessage(id, errorMessage);\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n updateUploadMetadata(id: string, metadata: AttachmentMetadata): void {\n this.attachmentUploadAdapter.updateUploadMetadata(id, metadata);\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\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\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 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"]}
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 { 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';\n/* @conditional-compile-remove(attachment-upload) */\nimport { _AttachmentUploadAdapter, convertAttachmentUploadsUiStateToMessageMetadata } from './AzureCommunicationAttachmentUploadAdapter';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AzureCommunicationAttachmentUploadAdapter } from './AzureCommunicationAttachmentUploadAdapter';\nimport { useEffect, useRef, useState } from 'react';\nimport { _isValidIdentifier } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '@internal/react-components';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentUploadTask } from '@internal/react-components';\n/* @conditional-compile-remove(attachment-upload) */\nimport { FileSharingMetadata } from '../../ChatComposite/file-sharing';\nimport { TEAMS_LIMITATION_LEARN_MORE, UNSUPPORTED_CHAT_THREAD_TYPE } from '../../common/constants';\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\n /* @conditional-compile-remove(attachment-upload) */\n updatedState = {\n ...updatedState,\n _attachmentUploads: this.state._attachmentUploads\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 /* @conditional-compile-remove(attachment-upload) */\n private attachmentUploadAdapter: _AttachmentUploadAdapter;\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 /* @conditional-compile-remove(attachment-upload) */\n this.attachmentUploadAdapter = new AzureCommunicationAttachmentUploadAdapter(this.context);\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 /* @conditional-compile-remove(attachment-upload) */\n this.sendMessageWithAttachments = this.sendMessageWithAttachments.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 /* @conditional-compile-remove(attachment-upload) */\n this.registerActiveUploads = this.registerActiveUploads.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.registerCompletedUploads = this.registerCompletedUploads.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.clearUploads = this.clearUploads.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.cancelUpload = this.cancelUpload.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.updateUploadProgress = this.updateUploadProgress.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.updateUploadStatusMessage = this.updateUploadStatusMessage.bind(this);\n /* @conditional-compile-remove(attachment-upload) */\n this.updateUploadMetadata = this.updateUploadMetadata.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 = {}): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n /* @conditional-compile-remove(attachment-upload) */\n options.metadata = {\n ...options.metadata,\n ...convertAttachmentUploadsUiStateToMessageMetadata(this.context.getState()._attachmentUploads)\n };\n\n /* @conditional-compile-remove(attachment-upload) */\n /**\n * All the current uploads need to be clear from the state before a message has been sent.\n * This ensures the following behavior:\n * 1. Attachment Upload cards are removed from sendbox at the same time text in sendbox is removed.\n * 2. any component rendering these attachment uploads doesn't continue to do so.\n * 3. Cleans the state for new attachment uploads with a fresh message.\n */\n this.attachmentUploadAdapter.clearUploads();\n await this.handlers.onSendMessage(content, options);\n });\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n /** Send a chat message with attachments. */\n public async sendMessageWithAttachments(content: string, attachments: AttachmentMetadata[]): Promise<void> {\n await this.asyncTeeErrorToEventEmitter(async () => {\n const fileSharingMetadata: FileSharingMetadata = {\n fileSharingMetadata: JSON.stringify(attachments)\n };\n /**\n * All the current uploads need to be clear from the state before a message has been sent.\n * This ensures the following behavior:\n * 1. Attachment Upload cards are removed from sendbox at the same time text in sendbox is removed.\n * 2. any component rendering these attachment uploads doesn't continue to do so.\n * 3. Cleans the state for new attachment uploads with a fresh message.\n */\n this.attachmentUploadAdapter.clearUploads();\n await this.handlers.onSendMessage(content, {\n metadata: fileSharingMetadata\n });\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, metadata?: Record<string, string>, options?: {\n /* @conditional-compile-remove(attachment-upload) */\n attachmentMetadata?: AttachmentMetadata[];\n }): Promise<void> {\n return await this.asyncTeeErrorToEventEmitter(async () => {\n /* @conditional-compile-remove(attachment-upload) */\n const updatedOptions = {\n attachmentMetadata: options?.attachmentMetadata,\n metadata: metadata\n };\n /* @conditional-compile-remove(attachment-upload) */\n return await this.handlers.onUpdateMessage(messageId, content, updatedOptions);\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\n /* @conditional-compile-remove(attachment-upload) */\n registerActiveUploads(files: File[]): AttachmentUploadTask[] {\n return this.attachmentUploadAdapter.registerActiveUploads(files);\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n registerCompletedUploads(metadata: AttachmentMetadata[]): AttachmentUploadTask[] {\n return this.attachmentUploadAdapter.registerCompletedUploads(metadata);\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n clearUploads(): void {\n this.attachmentUploadAdapter.clearUploads();\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n cancelUpload(id: string): void {\n this.attachmentUploadAdapter.cancelUpload(id);\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n updateUploadProgress(id: string, progress: number): void {\n this.attachmentUploadAdapter.updateUploadProgress(id, progress);\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n updateUploadStatusMessage(id: string, errorMessage: string): void {\n this.attachmentUploadAdapter.updateUploadStatusMessage(id, errorMessage);\n }\n\n /* @conditional-compile-remove(attachment-upload) */\n updateUploadMetadata(id: string, metadata: AttachmentMetadata): void {\n this.attachmentUploadAdapter.updateUploadMetadata(id, metadata);\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 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 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 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};"]}
@@ -79,7 +79,7 @@ export interface ChatAdapterThreadManagement {
79
79
  /**
80
80
  * Update a message content.
81
81
  */
82
- updateMessage(messageId: string, content: string, metadata?: Record<string, string>, options?: {
82
+ updateMessage(messageId: string, content: string, metadata?: Record<string, string>, /* @conditional-compile-remove(attachment-upload) */ options?: {
83
83
  attachmentMetadata?: AttachmentMetadata[];
84
84
  }): Promise<void>;
85
85
  /**
@@ -197,7 +197,7 @@ export interface ChatAdapterSubscribers {
197
197
  *
198
198
  * @public
199
199
  */
200
- export type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable & ChatAdapterSubscribers & _AttachmentUploadAdapter;
200
+ export type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable & ChatAdapterSubscribers & /* @conditional-compile-remove(attachment-upload) */ _AttachmentUploadAdapter;
201
201
  /**
202
202
  * Callback for {@link ChatAdapterSubscribers} 'messageReceived' event.
203
203
  *
@@ -1 +1 @@
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';\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(attachment-upload) */\nimport { _AttachmentUploadAdapter, _AttachmentUploadsUiState } from './AzureCommunicationAttachmentUploadAdapter';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '@internal/react-components';\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 /* @conditional-compile-remove(attachment-upload) */\n /**\n * Attachments being uploaded by a user in the current thread.\n * Should be set to null once the upload is complete.\n * Array of type {@link _AttachmentUploadsUiState}\n *\n * @internal\n */\n _attachmentUploads?: _AttachmentUploadsUiState;\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 */\n sendMessage(content: string, options?: SendMessageOptions): Promise<void>;\n /* @conditional-compile-remove(attachment-upload) */\n /**\n * Send a message with attachments in the chat thread.\n */\n sendMessageWithAttachments(content: string, attachments: AttachmentMetadata[]): 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 */\n updateMessage(\n messageId: string,\n content: string,\n metadata?: Record<string, string>,\n /* @conditional-compile-remove(attachment-upload) */\n options?: {\n attachmentMetadata?: AttachmentMetadata[];\n }\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 /* @conditional-compile-remove(attachment-upload) */\n _AttachmentUploadAdapter;\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
+ {"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 { 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(attachment-upload) */\nimport { _AttachmentUploadAdapter, _AttachmentUploadsUiState } from './AzureCommunicationAttachmentUploadAdapter';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '@internal/react-components';\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 /* @conditional-compile-remove(attachment-upload) */\n /**\n * Attachments being uploaded by a user in the current thread.\n * Should be set to null once the upload is complete.\n * Array of type {@link _AttachmentUploadsUiState}\n *\n * @internal\n */\n _attachmentUploads?: _AttachmentUploadsUiState;\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 */\n sendMessage(content: string, options?: SendMessageOptions): Promise<void>;\n /* @conditional-compile-remove(attachment-upload) */\n /**\n * Send a message with attachments in the chat thread.\n */\n sendMessageWithAttachments(content: string, attachments: AttachmentMetadata[]): 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 */\n updateMessage(messageId: string, content: string, metadata?: Record<string, string>, /* @conditional-compile-remove(attachment-upload) */\n options?: {\n attachmentMetadata?: AttachmentMetadata[];\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 & AdapterState<ChatAdapterState> & Disposable & ChatAdapterSubscribers & /* @conditional-compile-remove(attachment-upload) */\n_AttachmentUploadAdapter;\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 +1 @@
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;AAazD,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;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAA6B,EAAE;IACvE,oDAAoD;IACpD,OAAO,UAAU,EAAE,CAAC;IACpB,iFAAiF;IACjF,OAAO;QACL,qBAAqB;YACnB,OAAO,EAA4B,CAAC;QACtC,CAAC;QACD,wBAAwB;YACtB,OAAO,EAA4B,CAAC;QACtC,CAAC;QACD,YAAY;YACV,OAAO;QACT,CAAC;QACD,YAAY;YACV,OAAO;QACT,CAAC;QACD,yBAAyB;YACvB,OAAO;QACT,CAAC;QACD,oBAAoB;YAClB,OAAO;QACT,CAAC;QACD,oBAAoB;YAClB,OAAO;QACT,CAAC;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { createContext, useContext } from 'react';\nimport { AttachmentUploadTask } from '@internal/react-components';\nimport { _AttachmentUploadAdapter } from './AzureCommunicationAttachmentUploadAdapter';\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\n/**\n * @private\n */\nexport const useAttachmentUploadAdapter = (): _AttachmentUploadAdapter => {\n /* @conditional-compile-remove(attachment-upload) */\n return useAdapter();\n // A stub that short-circuits all logic because none of the fields are available.\n return {\n registerActiveUploads() {\n return [] as AttachmentUploadTask[];\n },\n registerCompletedUploads() {\n return [] as AttachmentUploadTask[];\n },\n cancelUpload() {\n // noop\n },\n clearUploads() {\n // noop\n },\n updateUploadStatusMessage() {\n // noop\n },\n updateUploadProgress() {\n // noop\n },\n updateUploadMetadata() {\n // noop\n }\n };\n};\n"]}
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;AAYzD,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;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAA6B,EAAE;IACvE,oDAAoD;IACpD,OAAO,UAAU,EAAE,CAAC;IACpB,iFAAiF;IACjF,OAAO;QACL,qBAAqB;YACnB,OAAQ,EAA6B,CAAC;QACxC,CAAC;QACD,wBAAwB;YACtB,OAAQ,EAA6B,CAAC;QACxC,CAAC;QACD,YAAY;YACV,OAAO;QACT,CAAC;QACD,YAAY;YACV,OAAO;QACT,CAAC;QACD,yBAAyB;YACvB,OAAO;QACT,CAAC;QACD,oBAAoB;YAClB,OAAO;QACT,CAAC;QACD,oBAAoB;YAClB,OAAO;QACT,CAAC;KACF,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { createContext, useContext } from 'react';\nimport { AttachmentUploadTask } from '@internal/react-components';\nimport { _AttachmentUploadAdapter } from './AzureCommunicationAttachmentUploadAdapter';\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};\n\n/**\n * @private\n */\nexport const useAttachmentUploadAdapter = (): _AttachmentUploadAdapter => {\n /* @conditional-compile-remove(attachment-upload) */\n return useAdapter();\n // A stub that short-circuits all logic because none of the fields are available.\n return {\n registerActiveUploads() {\n return ([] as AttachmentUploadTask[]);\n },\n registerCompletedUploads() {\n return ([] as AttachmentUploadTask[]);\n },\n cancelUpload() {\n // noop\n },\n clearUploads() {\n // noop\n },\n updateUploadStatusMessage() {\n // noop\n },\n updateUploadProgress() {\n // noop\n },\n updateUploadMetadata() {\n // noop\n }\n };\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentUpload.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,yCAAgC;AAQ/D;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAe3B,YAAY,IAA+B;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,GAAI,IAAsC,aAAtC,IAAI,uBAAJ,IAAI,CAAoC,IAAI,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,2BAA2B,CAAC,KAAa;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,qBAAqB,CAAC,EAAU,EAAE,GAAW;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IAED,kBAAkB,CAAC,OAAe;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAKD;;;;OAIG;IACH,EAAE,CAAC,KAA6B,EAAE,QAAuC;QACvE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAKD;;;;OAIG;IACH,GAAG,CAAC,KAA6B,EAAE,QAAuC;QACxE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { EventEmitter } from 'events';\nimport { nanoid } from 'nanoid';\nimport { _MAX_EVENT_LISTENERS } from '@internal/acs-ui-common';\nimport {\n AttachmentMetadata,\n AttachmentSelectionHandler,\n AttachmentUploadTask,\n AttachmentProgressError\n} from '@internal/react-components';\n\n/**\n * A wrapper object for a attachments that is being uploaded.\n * Provides common functions for updating the upload progress, canceling an upload etc.\n * @private\n */\nexport class AttachmentUpload implements AttachmentUploadTask, AttachmentUploadEventEmitter {\n private _emitter: EventEmitter;\n // a nanoid to uniquely identify each upload task\n public readonly taskId: string;\n // a file object that represents the attachment selected by the user via browser file picker\n public readonly file?: File;\n /**\n * Name to be displayed in the UI during attachment upload.\n */\n public readonly name: string;\n /**\n * Optional object of type {@link AttachmentMetadata}\n */\n public metadata?: AttachmentMetadata;\n\n constructor(data: File | AttachmentMetadata) {\n this._emitter = new EventEmitter();\n this._emitter.setMaxListeners(_MAX_EVENT_LISTENERS);\n this.taskId = nanoid();\n if (data instanceof File) {\n this.file = data;\n } else {\n this.metadata = data;\n }\n const name = (data as unknown as AttachmentMetadata)?.name;\n this.name = name;\n }\n\n notifyUploadProgressChanged(value: number): void {\n this._emitter.emit('uploadProgressChange', this.taskId, value);\n }\n\n notifyUploadCompleted(id: string, url: string): void {\n this._emitter.emit('uploadComplete', this.taskId, id, url);\n }\n\n notifyUploadFailed(message: string): void {\n this._emitter.emit('uploadFail', this.taskId, message);\n }\n\n on(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n on(event: 'uploadComplete', listener: UploadCompleteListener): void;\n on(event: 'uploadFail', listener: UploadFailedListener): void;\n /**\n * Attachment upload event subscriber.\n * @param event - {@link AttachmentUploadEvents}\n * @param listener - {@link AttachmentUploadEventListener}\n */\n on(event: AttachmentUploadEvents, listener: AttachmentUploadEventListener): void {\n this._emitter.addListener(event, listener);\n }\n\n off(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n off(event: 'uploadComplete', listener: UploadCompleteListener): void;\n off(event: 'uploadFail', listener: UploadFailedListener): void;\n /**\n * Attachment upload event unsubscriber.\n * @param event - {@link AttachmentUploadEvents}\n * @param listener - {@link AttachmentUploadEventListener}\n */\n off(event: AttachmentUploadEvents, listener: AttachmentUploadEventListener): void {\n this._emitter.removeListener(event, listener);\n }\n}\n\nexport type { AttachmentMetadata, AttachmentSelectionHandler, AttachmentUploadTask, AttachmentProgressError };\n\n/**\n * Events emitted by the AttachmentUpload class.\n * @beta\n */\ntype AttachmentUploadEvents = 'uploadProgressChange' | 'uploadComplete' | 'uploadFail';\n\n/**\n * Events listeners supported by the AttachmentUpload class.\n * @beta\n */\ntype AttachmentUploadEventListener = UploadProgressListener | UploadCompleteListener | UploadFailedListener;\n\n/**\n * Listener for `uploadProgressed` event.\n * @beta\n */\ntype UploadProgressListener = (taskId: string, value: number) => void;\n/**\n * Listener for `uploadComplete` event.\n * @beta\n */\ntype UploadCompleteListener = (taskId: string, attachmentId: string, attachmentUrl: string) => void;\n/**\n * Listener for `uploadFailed` event.\n * @beta\n */\ntype UploadFailedListener = (taskId: string, message: string) => void;\n\n/**\n * @beta\n */\ninterface AttachmentUploadEventEmitter {\n /**\n * Subscriber function for `uploadProgressed` event.\n */\n on(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n /**\n * Subscriber function for `uploadComplete` event.\n */\n on(event: 'uploadComplete', listener: UploadCompleteListener): void;\n /**\n * Subscriber function for `uploadFailed` event.\n */\n on(event: 'uploadFail', listener: UploadFailedListener): void;\n\n /**\n * Unsubscriber function for `uploadProgressed` event.\n */\n off(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n /**\n * Unsubscriber function for `uploadComplete` event.\n */\n off(event: 'uploadComplete', listener: UploadCompleteListener): void;\n /**\n * Unsubscriber function for `uploadFailed` event.\n */\n off(event: 'uploadFail', listener: UploadFailedListener): void;\n}\n"]}
1
+ {"version":3,"file":"AttachmentUpload.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUpload.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,yCAAgC;AAG/D;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAc3B,YAAY,IAA+B;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;QACvB,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,GAAK,IAAuC,aAAvC,IAAI,uBAAJ,IAAI,CAAqC,IAAI,CAAC;QAC7D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,2BAA2B,CAAC,KAAa;QACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IACD,qBAAqB,CAAC,EAAU,EAAE,GAAW;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,kBAAkB,CAAC,OAAe;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAID;;;;OAIG;IACH,EAAE,CAAC,KAA6B,EAAE,QAAuC;QACvE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAID;;;;OAIG;IACH,GAAG,CAAC,KAA6B,EAAE,QAAuC;QACxE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { EventEmitter } from 'events';\nimport { nanoid } from 'nanoid';\nimport { _MAX_EVENT_LISTENERS } from '@internal/acs-ui-common';\nimport { AttachmentMetadata, AttachmentSelectionHandler, AttachmentUploadTask, AttachmentProgressError } from '@internal/react-components';\n\n/**\n * A wrapper object for a attachments that is being uploaded.\n * Provides common functions for updating the upload progress, canceling an upload etc.\n * @private\n */\nexport class AttachmentUpload implements AttachmentUploadTask, AttachmentUploadEventEmitter {\n private _emitter: EventEmitter;\n // a nanoid to uniquely identify each upload task\n public readonly taskId: string;\n // a file object that represents the attachment selected by the user via browser file picker\n public readonly file?: File;\n /**\n * Name to be displayed in the UI during attachment upload.\n */\n public readonly name: string;\n /**\n * Optional object of type {@link AttachmentMetadata}\n */\n public metadata?: AttachmentMetadata;\n constructor(data: File | AttachmentMetadata) {\n this._emitter = new EventEmitter();\n this._emitter.setMaxListeners(_MAX_EVENT_LISTENERS);\n this.taskId = nanoid();\n if (data instanceof File) {\n this.file = data;\n } else {\n this.metadata = data;\n }\n const name = ((data as unknown) as AttachmentMetadata)?.name;\n this.name = name;\n }\n notifyUploadProgressChanged(value: number): void {\n this._emitter.emit('uploadProgressChange', this.taskId, value);\n }\n notifyUploadCompleted(id: string, url: string): void {\n this._emitter.emit('uploadComplete', this.taskId, id, url);\n }\n notifyUploadFailed(message: string): void {\n this._emitter.emit('uploadFail', this.taskId, message);\n }\n on(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n on(event: 'uploadComplete', listener: UploadCompleteListener): void;\n on(event: 'uploadFail', listener: UploadFailedListener): void;\n /**\n * Attachment upload event subscriber.\n * @param event - {@link AttachmentUploadEvents}\n * @param listener - {@link AttachmentUploadEventListener}\n */\n on(event: AttachmentUploadEvents, listener: AttachmentUploadEventListener): void {\n this._emitter.addListener(event, listener);\n }\n off(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n off(event: 'uploadComplete', listener: UploadCompleteListener): void;\n off(event: 'uploadFail', listener: UploadFailedListener): void;\n /**\n * Attachment upload event unsubscriber.\n * @param event - {@link AttachmentUploadEvents}\n * @param listener - {@link AttachmentUploadEventListener}\n */\n off(event: AttachmentUploadEvents, listener: AttachmentUploadEventListener): void {\n this._emitter.removeListener(event, listener);\n }\n}\nexport type { AttachmentMetadata, AttachmentSelectionHandler, AttachmentUploadTask, AttachmentProgressError };\n\n/**\n * Events emitted by the AttachmentUpload class.\n * @beta\n */\ntype AttachmentUploadEvents = 'uploadProgressChange' | 'uploadComplete' | 'uploadFail';\n\n/**\n * Events listeners supported by the AttachmentUpload class.\n * @beta\n */\ntype AttachmentUploadEventListener = UploadProgressListener | UploadCompleteListener | UploadFailedListener;\n\n/**\n * Listener for `uploadProgressed` event.\n * @beta\n */\ntype UploadProgressListener = (taskId: string, value: number) => void;\n/**\n * Listener for `uploadComplete` event.\n * @beta\n */\ntype UploadCompleteListener = (taskId: string, attachmentId: string, attachmentUrl: string) => void;\n/**\n * Listener for `uploadFailed` event.\n * @beta\n */\ntype UploadFailedListener = (taskId: string, message: string) => void;\n\n/**\n * @beta\n */\ninterface AttachmentUploadEventEmitter {\n /**\n * Subscriber function for `uploadProgressed` event.\n */\n on(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n /**\n * Subscriber function for `uploadComplete` event.\n */\n on(event: 'uploadComplete', listener: UploadCompleteListener): void;\n /**\n * Subscriber function for `uploadFailed` event.\n */\n on(event: 'uploadFail', listener: UploadFailedListener): void;\n\n /**\n * Unsubscriber function for `uploadProgressed` event.\n */\n off(event: 'uploadProgressChange', listener: UploadProgressListener): void;\n /**\n * Unsubscriber function for `uploadComplete` event.\n */\n off(event: 'uploadComplete', listener: UploadCompleteListener): void;\n /**\n * Unsubscriber function for `uploadFailed` event.\n */\n off(event: 'uploadFail', listener: UploadFailedListener): void;\n}"]}
@@ -32,19 +32,19 @@ export const AttachmentUploadButton = (props) => {
32
32
  background: 'transparent'
33
33
  }
34
34
  });
35
- return (React.createElement(React.Fragment, null,
35
+ return React.createElement(React.Fragment, null,
36
36
  React.createElement(Stack, { verticalAlign: "center", horizontalAlign: "center", className: attachmentUploadButtonClassName, onClick: () => {
37
37
  var _a;
38
38
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click();
39
39
  } },
40
40
  React.createElement(IconButton, { className: iconButtonClassName, ariaLabel: uploadAttachmentButtonStringTrampoline() },
41
41
  React.createElement(SendBoxAttachFileIconTrampoline, null))),
42
- React.createElement("input", { ref: inputRef, hidden: true, multiple: !disableMultipleUploads, accept: supportedMediaTypes.join(','), type: "file", onClick: (e) => {
42
+ React.createElement("input", { ref: inputRef, hidden: true, multiple: !disableMultipleUploads, accept: supportedMediaTypes.join(','), type: "file", onClick: e => {
43
43
  // To ensure that `onChange` is fired even if the same file is picked again.
44
44
  e.currentTarget.value = '';
45
- }, onChange: (e) => {
45
+ }, onChange: e => {
46
46
  onChange && onChange(e.currentTarget.files);
47
- } })));
47
+ } }));
48
48
  };
49
49
  const SendBoxAttachFileIconTrampoline = () => {
50
50
  /* @conditional-compile-remove(attachment-upload) */
@@ -57,13 +57,8 @@ const SendBoxAttachFileIconTrampoline = () => {
57
57
  * It will return `<></>` for stable builds.
58
58
  * @internal
59
59
  */
60
- export const AttachmentUploadButtonWrapper = (
61
- // To make conditional compilation not throw errors.
62
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
63
- props) => {
64
- return (React.createElement(React.Fragment, null,
65
- /* @conditional-compile-remove(attachment-upload) */
66
- React.createElement(AttachmentUploadButton, Object.assign({}, props))));
60
+ export const AttachmentUploadButtonWrapper = (props) => {
61
+ return React.createElement(React.Fragment, null, /* @conditional-compile-remove(attachment-upload) */ React.createElement(AttachmentUploadButton, Object.assign({}, props)));
67
62
  };
68
63
  const uploadAttachmentButtonStringTrampoline = () => {
69
64
  //@conditional-compile-remove(attachment-upload)
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentUploadButton.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IconButton, mergeStyles, Stack, useTheme } from '@fluentui/react';\nimport React from 'react';\nimport { ChatCompositeIcon } from '../../common/icons';\n/* @conditional-compile-remove(attachment-upload) */\nimport { useLocale } from '../../localization';\n\n/**\n * Props for {@link AttachmentUploadButton} component.\n * @internal\n */\nexport interface AttachmentUploadButtonProps {\n /**\n * A list of strings containing the comma separated list of supported media (aka. mime) types.\n * i.e. ['image/*', 'video/*', 'audio/*']\n * Default value is `['*']`, meaning all media types are supported.\n * Similar to the `accept` attribute of the `<input type=\"file\" />` element.\n */\n supportedMediaTypes?: string[];\n /**\n * Disable multiple files to be selected if set to `true`.\n * Default value is `false`, meaning multiple files can be selected.\n * Similar to the `multiple` attribute of the `<input type=\"file\" />` element.\n */\n disableMultipleUploads?: boolean;\n /**\n * onChange handler for the attachment upload button.\n * Similar to the `onChange` attribute of the `<input type=\"file\" />` element.\n * Called every time files are selected through the attachment upload button with a {@link FileList}\n * of selected files.\n */\n onChange?: (files: FileList | null) => void;\n}\n\n/**\n * @internal\n */\nexport const AttachmentUploadButton = (props: AttachmentUploadButtonProps): JSX.Element => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n const theme = useTheme();\n // default supportedMediaTypes is ['*'], meaning all media types are supported.\n // default disableMultipleUploads is false, meaning multiple files can be selected.\n const { supportedMediaTypes = ['*'], disableMultipleUploads = false, onChange } = props;\n\n const attachmentUploadButtonClassName = mergeStyles({\n width: '1.5rem',\n height: '1.5rem',\n cursor: 'pointer',\n padding: '0.15rem',\n ':hover': {\n backgroundColor: theme.palette.neutralLighter\n }\n });\n\n const iconButtonClassName = mergeStyles({\n color: 'unset',\n width: '1.5rem',\n height: '1.5rem',\n ':hover': {\n color: 'unset',\n background: 'transparent'\n }\n });\n\n return (\n <>\n <Stack\n verticalAlign=\"center\"\n horizontalAlign=\"center\"\n className={attachmentUploadButtonClassName}\n onClick={() => {\n inputRef.current?.click();\n }}\n >\n <IconButton className={iconButtonClassName} ariaLabel={uploadAttachmentButtonStringTrampoline()}>\n <SendBoxAttachFileIconTrampoline />\n </IconButton>\n </Stack>\n <input\n ref={inputRef}\n hidden\n multiple={!disableMultipleUploads}\n accept={supportedMediaTypes.join(',')}\n type=\"file\"\n onClick={(e) => {\n // To ensure that `onChange` is fired even if the same file is picked again.\n e.currentTarget.value = '';\n }}\n onChange={(e) => {\n onChange && onChange(e.currentTarget.files);\n }}\n />\n </>\n );\n};\n\nconst SendBoxAttachFileIconTrampoline = (): JSX.Element => {\n /* @conditional-compile-remove(attachment-upload) */\n return <ChatCompositeIcon iconName=\"SendBoxAttachFile\" />;\n // Return _some_ available icon, as the real icon is beta-only.\n return <ChatCompositeIcon iconName=\"EditBoxCancel\" />;\n};\n\n/**\n * A wrapper to return {@link AttachmentUploadButton} component conditionally.\n * It will return `<></>` for stable builds.\n * @internal\n */\nexport const AttachmentUploadButtonWrapper = (\n // To make conditional compilation not throw errors.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n props: Pick<AttachmentUploadButtonProps, 'supportedMediaTypes' | 'disableMultipleUploads' | 'onChange'>\n): JSX.Element => {\n return (\n <>\n {\n /* @conditional-compile-remove(attachment-upload) */\n <AttachmentUploadButton {...props} />\n }\n </>\n );\n};\n\nconst uploadAttachmentButtonStringTrampoline = (): string => {\n //@conditional-compile-remove(attachment-upload)\n //eslint-disable-next-line react-hooks/rules-of-hooks\n return useLocale().strings.chat.uploadAttachment;\n return '';\n};\n"]}
1
+ {"version":3,"file":"AttachmentUploadButton.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/file-sharing/AttachmentUploadButton.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,oDAAoD;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA6B/C;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAkC,EAAe,EAAE;IACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,+EAA+E;IAC/E,mFAAmF;IACnF,MAAM,EACJ,mBAAmB,GAAG,CAAC,GAAG,CAAC,EAC3B,sBAAsB,GAAG,KAAK,EAC9B,QAAQ,EACT,GAAG,KAAK,CAAC;IACV,MAAM,+BAA+B,GAAG,WAAW,CAAC;QAClD,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE;YACR,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;SAC9C;KACF,CAAC,CAAC;IACH,MAAM,mBAAmB,GAAG,WAAW,CAAC;QACtC,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE;YACR,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,aAAa;SAC1B;KACF,CAAC,CAAC;IACH,OAAO;QACH,oBAAC,KAAK,IAAC,aAAa,EAAC,QAAQ,EAAC,eAAe,EAAC,QAAQ,EAAC,SAAS,EAAE,+BAA+B,EAAE,OAAO,EAAE,GAAG,EAAE;;gBACjH,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;YAC5B,CAAC;YACG,oBAAC,UAAU,IAAC,SAAS,EAAE,mBAAmB,EAAE,SAAS,EAAE,sCAAsC,EAAE;gBAC7F,oBAAC,+BAA+B,OAAG,CACxB,CACP;QACR,+BAAO,GAAG,EAAE,QAAQ,EAAE,MAAM,QAAC,QAAQ,EAAE,CAAC,sBAAsB,EAAE,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE;gBAChI,4EAA4E;gBAC5E,CAAC,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;YAC7B,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE;gBACf,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC,GAAI,CACF,CAAC;AACR,CAAC,CAAC;AACF,MAAM,+BAA+B,GAAG,GAAgB,EAAE;IACxD,oDAAoD;IACpD,OAAO,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,mBAAmB,GAAG,CAAC;IAC1D,+DAA+D;IAC/D,OAAO,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,eAAe,GAAG,CAAC;AACxD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,KAAuG,EAAe,EAAE;IACpK,OAAO,0CACF,oDAAoD,CACvD,oBAAC,sBAAsB,oBAAK,KAAK,EAAI,CAClC,CAAC;AACR,CAAC,CAAC;AACF,MAAM,sCAAsC,GAAG,GAAW,EAAE;IAC1D,gDAAgD;IAChD,qDAAqD;IACrD,OAAO,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACjD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IconButton, mergeStyles, Stack, useTheme } from '@fluentui/react';\nimport React from 'react';\nimport { ChatCompositeIcon } from '../../common/icons';\n/* @conditional-compile-remove(attachment-upload) */\nimport { useLocale } from '../../localization';\n\n/**\n * Props for {@link AttachmentUploadButton} component.\n * @internal\n */\nexport interface AttachmentUploadButtonProps {\n /**\n * A list of strings containing the comma separated list of supported media (aka. mime) types.\n * i.e. ['image/*', 'video/*', 'audio/*']\n * Default value is `['*']`, meaning all media types are supported.\n * Similar to the `accept` attribute of the `<input type=\"file\" />` element.\n */\n supportedMediaTypes?: string[];\n /**\n * Disable multiple files to be selected if set to `true`.\n * Default value is `false`, meaning multiple files can be selected.\n * Similar to the `multiple` attribute of the `<input type=\"file\" />` element.\n */\n disableMultipleUploads?: boolean;\n /**\n * onChange handler for the attachment upload button.\n * Similar to the `onChange` attribute of the `<input type=\"file\" />` element.\n * Called every time files are selected through the attachment upload button with a {@link FileList}\n * of selected files.\n */\n onChange?: (files: FileList | null) => void;\n}\n\n/**\n * @internal\n */\nexport const AttachmentUploadButton = (props: AttachmentUploadButtonProps): JSX.Element => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n const theme = useTheme();\n // default supportedMediaTypes is ['*'], meaning all media types are supported.\n // default disableMultipleUploads is false, meaning multiple files can be selected.\n const {\n supportedMediaTypes = ['*'],\n disableMultipleUploads = false,\n onChange\n } = props;\n const attachmentUploadButtonClassName = mergeStyles({\n width: '1.5rem',\n height: '1.5rem',\n cursor: 'pointer',\n padding: '0.15rem',\n ':hover': {\n backgroundColor: theme.palette.neutralLighter\n }\n });\n const iconButtonClassName = mergeStyles({\n color: 'unset',\n width: '1.5rem',\n height: '1.5rem',\n ':hover': {\n color: 'unset',\n background: 'transparent'\n }\n });\n return <>\n <Stack verticalAlign=\"center\" horizontalAlign=\"center\" className={attachmentUploadButtonClassName} onClick={() => {\n inputRef.current?.click();\n }}>\n <IconButton className={iconButtonClassName} ariaLabel={uploadAttachmentButtonStringTrampoline()}>\n <SendBoxAttachFileIconTrampoline />\n </IconButton>\n </Stack>\n <input ref={inputRef} hidden multiple={!disableMultipleUploads} accept={supportedMediaTypes.join(',')} type=\"file\" onClick={e => {\n // To ensure that `onChange` is fired even if the same file is picked again.\n e.currentTarget.value = '';\n }} onChange={e => {\n onChange && onChange(e.currentTarget.files);\n }} />\n </>;\n};\nconst SendBoxAttachFileIconTrampoline = (): JSX.Element => {\n /* @conditional-compile-remove(attachment-upload) */\n return <ChatCompositeIcon iconName=\"SendBoxAttachFile\" />;\n // Return _some_ available icon, as the real icon is beta-only.\n return <ChatCompositeIcon iconName=\"EditBoxCancel\" />;\n};\n\n/**\n * A wrapper to return {@link AttachmentUploadButton} component conditionally.\n * It will return `<></>` for stable builds.\n * @internal\n */\nexport const AttachmentUploadButtonWrapper = (props: Pick<AttachmentUploadButtonProps, 'supportedMediaTypes' | 'disableMultipleUploads' | 'onChange'>): JSX.Element => {\n return <>\n {/* @conditional-compile-remove(attachment-upload) */\n <AttachmentUploadButton {...props} />}\n </>;\n};\nconst uploadAttachmentButtonStringTrampoline = (): string => {\n //@conditional-compile-remove(attachment-upload)\n //eslint-disable-next-line react-hooks/rules-of-hooks\n return useLocale().strings.chat.uploadAttachment;\n return '';\n};"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/file-sharing/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport * from './AttachmentUpload';\nexport * from './AttachmentUploadButton';\n\nexport type {\n AttachmentOptions,\n AttachmentProgressError,\n AttachmentUploadOptions,\n AttachmentSelectionHandler,\n AttachmentRemovalHandler,\n AttachmentUploadTask\n} from '@internal/react-components';\n\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nexport type { AttachmentDownloadOptions } from '@internal/react-components';\n\n/**\n * Metadata used for setting uploaded attachments by a user using chat composite in a group call.\n * @internal\n */\nexport type FileSharingMetadata = {\n fileSharingMetadata: string;\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/file-sharing/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport * from './AttachmentUpload';\nexport * from './AttachmentUploadButton';\nexport type { AttachmentOptions, AttachmentProgressError, AttachmentUploadOptions, AttachmentSelectionHandler, AttachmentRemovalHandler, AttachmentUploadTask } from '@internal/react-components';\n\n/* @conditional-compile-remove(attachment-download) @conditional-compile-remove(attachment-upload) */\nexport type { AttachmentDownloadOptions } from '@internal/react-components';\n\n/**\n * Metadata used for setting uploaded attachments by a user using chat composite in a group call.\n * @internal\n */\nexport type FileSharingMetadata = {\n fileSharingMetadata: string;\n};"]}
@@ -53,7 +53,9 @@ const memoizeState = memoizeOne((userId, displayName, threads, latestErrors) =>
53
53
  threads,
54
54
  latestErrors
55
55
  }));
56
- const memoizeThreads = memoizeOne((thread) => ({ [thread.threadId]: thread }));
56
+ const memoizeThreads = memoizeOne((thread) => ({
57
+ [thread.threadId]: thread
58
+ }));
57
59
  const adaptCompositeState = (compositeState) => {
58
60
  return memoizeState(compositeState.userId, compositeState.displayName, memoizeThreads(compositeState.thread),
59
61
  // This is an unsafe type expansion.
@@ -1 +1 @@
1
- {"version":3,"file":"useAdaptedSelector.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { ChatClientState, ChatErrors, ChatThreadClientState } from '@internal/chat-stateful-client';\nimport { useState, useEffect, useRef, useMemo } from 'react';\nimport { ChatAdapterState } from '../adapter/ChatAdapter';\nimport { useAdapter } from '../adapter/ChatAdapterProvider';\nimport memoizeOne from 'memoize-one';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\n\n/**\n * @private\n */\nexport const useAdaptedSelector = <SelectorT extends (state: ChatClientState, props: any) => any>(\n selector: SelectorT,\n selectorProps?: Parameters<SelectorT>[1]\n): ReturnType<SelectorT> => {\n return useSelectorWithAdaptation(selector, adaptCompositeState, selectorProps);\n};\n\n/**\n * @private\n */\nexport const useSelectorWithAdaptation = <\n SelectorT extends (state: ReturnType<AdaptFuncT>, props: any) => any,\n AdaptFuncT extends (state: ChatAdapterState) => any\n>(\n selector: SelectorT,\n adaptState: AdaptFuncT,\n selectorProps?: Parameters<SelectorT>[1]\n): ReturnType<SelectorT> => {\n const adapter = useAdapter();\n\n // Keeps track of whether the current component is mounted or not. If it has unmounted, make sure we do not modify the\n // state or it will cause React warnings in the console. https://skype.visualstudio.com/SPOOL/_workitems/edit/2453212\n const mounted = useRef(false);\n\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n });\n\n const threadId = adapter.getState().thread.threadId;\n const threadConfigProps = useMemo(\n () => ({\n threadId\n }),\n [threadId]\n );\n\n const [props, setProps] = useState(selector(adaptState(adapter.getState()), selectorProps ?? threadConfigProps));\n const propRef = useRef(props);\n propRef.current = props;\n\n useEffect(() => {\n const onStateChange = (state: ChatAdapterState): void => {\n if (!mounted.current) {\n return;\n }\n const newProps = selector(adaptState(state), selectorProps ?? threadConfigProps);\n if (propRef.current !== newProps) {\n setProps(newProps);\n }\n };\n adapter.onStateChange(onStateChange);\n return () => {\n adapter.offStateChange(onStateChange);\n };\n }, [adaptState, adapter, selector, selectorProps, threadConfigProps]);\n return props;\n};\n\nconst memoizeState = memoizeOne(\n (\n userId: CommunicationIdentifierKind,\n displayName: string,\n threads: { [key: string]: ChatThreadClientState },\n latestErrors: ChatErrors\n ) => ({\n userId,\n displayName,\n threads,\n latestErrors\n })\n);\n\nconst memoizeThreads = memoizeOne((thread: ChatThreadClientState) => ({ [thread.threadId]: thread }));\n\nconst adaptCompositeState = (compositeState: ChatAdapterState): ChatClientState => {\n return memoizeState(\n compositeState.userId,\n compositeState.displayName,\n memoizeThreads(compositeState.thread),\n // This is an unsafe type expansion.\n // compositeState.latestErrors can contain properties that are not valid in ChatErrors.\n //\n // But there is no way to check for valid property names at runtime:\n // - The set of valid property names is built from types in the @azure/communication-chat.\n // Thus we don't have a literal array of allowed strings at runtime.\n // - Due to minification / uglification, the property names from the objects at runtime can't be used\n // to compare against permissible values inferred from the types.\n //\n // This is not a huge problem -- it simply means that our adapted selector will include some extra operations\n // that are unknown to the UI component and data binding libraries. Generic handling of the errors (e.g.,\n // just displaying them in some UI surface) will continue to work for these operations. Handling of\n // specific operations (e.g., acting on errors related to permission issues) will ignore these operations.\n compositeState.latestErrors as ChatErrors\n );\n};\n"]}
1
+ {"version":3,"file":"useAdaptedSelector.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/hooks/useAdaptedSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { ChatClientState, ChatErrors, ChatThreadClientState } from '@internal/chat-stateful-client';\nimport { useState, useEffect, useRef, useMemo } from 'react';\nimport { ChatAdapterState } from '../adapter/ChatAdapter';\nimport { useAdapter } from '../adapter/ChatAdapterProvider';\nimport memoizeOne from 'memoize-one';\nimport { CommunicationIdentifierKind } from '@azure/communication-common';\n\n/**\n * @private\n */\nexport const useAdaptedSelector = <SelectorT extends (state: ChatClientState, props: any) => any,>(selector: SelectorT, selectorProps?: Parameters<SelectorT>[1]): ReturnType<SelectorT> => {\n return useSelectorWithAdaptation(selector, adaptCompositeState, selectorProps);\n};\n\n/**\n * @private\n */\nexport const useSelectorWithAdaptation = <SelectorT extends (state: ReturnType<AdaptFuncT>, props: any) => any, AdaptFuncT extends (state: ChatAdapterState) => any>(selector: SelectorT, adaptState: AdaptFuncT, selectorProps?: Parameters<SelectorT>[1]): ReturnType<SelectorT> => {\n const adapter = useAdapter();\n\n // Keeps track of whether the current component is mounted or not. If it has unmounted, make sure we do not modify the\n // state or it will cause React warnings in the console. https://skype.visualstudio.com/SPOOL/_workitems/edit/2453212\n const mounted = useRef(false);\n useEffect(() => {\n mounted.current = true;\n return () => {\n mounted.current = false;\n };\n });\n const threadId = adapter.getState().thread.threadId;\n const threadConfigProps = useMemo(() => ({\n threadId\n }), [threadId]);\n const [props, setProps] = useState(selector(adaptState(adapter.getState()), selectorProps ?? threadConfigProps));\n const propRef = useRef(props);\n propRef.current = props;\n useEffect(() => {\n const onStateChange = (state: ChatAdapterState): void => {\n if (!mounted.current) {\n return;\n }\n const newProps = selector(adaptState(state), selectorProps ?? threadConfigProps);\n if (propRef.current !== newProps) {\n setProps(newProps);\n }\n };\n adapter.onStateChange(onStateChange);\n return () => {\n adapter.offStateChange(onStateChange);\n };\n }, [adaptState, adapter, selector, selectorProps, threadConfigProps]);\n return props;\n};\nconst memoizeState = memoizeOne((userId: CommunicationIdentifierKind, displayName: string, threads: {\n [key: string]: ChatThreadClientState;\n}, latestErrors: ChatErrors) => ({\n userId,\n displayName,\n threads,\n latestErrors\n}));\nconst memoizeThreads = memoizeOne((thread: ChatThreadClientState) => ({\n [thread.threadId]: thread\n}));\nconst adaptCompositeState = (compositeState: ChatAdapterState): ChatClientState => {\n return memoizeState(compositeState.userId, compositeState.displayName, memoizeThreads(compositeState.thread), (\n // This is an unsafe type expansion.\n // compositeState.latestErrors can contain properties that are not valid in ChatErrors.\n //\n // But there is no way to check for valid property names at runtime:\n // - The set of valid property names is built from types in the @azure/communication-chat.\n // Thus we don't have a literal array of allowed strings at runtime.\n // - Due to minification / uglification, the property names from the objects at runtime can't be used\n // to compare against permissible values inferred from the types.\n //\n // This is not a huge problem -- it simply means that our adapted selector will include some extra operations\n // that are unknown to the UI component and data binding libraries. Generic handling of the errors (e.g.,\n // just displaying them in some UI surface) will continue to work for these operations. Handling of\n // specific operations (e.g., acting on errors related to permission issues) will ignore these operations.\n compositeState.latestErrors as ChatErrors));\n};"]}
@@ -6,9 +6,7 @@ import { useAdapter } from '../adapter/ChatAdapterProvider';
6
6
  * @private
7
7
  */
8
8
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type
9
- export const useHandlers = (
10
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
- _component) => {
9
+ export const useHandlers = (_component) => {
12
10
  return createCompositeHandlers(useAdapter());
13
11
  };
14
12
  const createCompositeHandlers = memoizeOne((adapter) => ({
@@ -18,9 +16,7 @@ const createCompositeHandlers = memoizeOne((adapter) => ({
18
16
  onTyping: adapter.sendTypingIndicator,
19
17
  onRemoveParticipant: adapter.removeParticipant,
20
18
  updateThreadTopicName: adapter.setTopic,
21
- onUpdateMessage: (messageId, content,
22
- /* @conditional-compile-remove(attachment-upload) */
23
- options) => {
19
+ onUpdateMessage: (messageId, content, options) => {
24
20
  let metadata = undefined;
25
21
  /* @conditional-compile-remove(attachment-upload) */
26
22
  metadata = options === null || options === void 0 ? void 0 : options.metadata;
@@ -28,8 +24,7 @@ const createCompositeHandlers = memoizeOne((adapter) => ({
28
24
  const updatedOptions = {
29
25
  attachmentMetadata: options === null || options === void 0 ? void 0 : options.attachmentMetadata
30
26
  };
31
- return adapter.updateMessage(messageId, content, metadata,
32
- /* @conditional-compile-remove(attachment-upload) */ updatedOptions);
27
+ return adapter.updateMessage(messageId, content, metadata, /* @conditional-compile-remove(attachment-upload) */ updatedOptions);
33
28
  },
34
29
  onDeleteMessage: adapter.deleteMessage
35
30
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/hooks/useHandlers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAMlC,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAI5D;;GAEG;AACH,+HAA+H;AAC/H,MAAM,CAAC,MAAM,WAAW,GAAG;AACzB,6DAA6D;AAC7D,UAAkD,EACU,EAAE;IAC9D,OAAO,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,UAAU,CACxC,CAAC,OAAoB,EAAgB,EAAE,CAAC,CAAC;IACvC,aAAa,EAAE,OAAO,CAAC,WAAW;IAClC,0BAA0B,EAAE,OAAO,CAAC,wBAAwB;IAC5D,aAAa,EAAE,OAAO,CAAC,eAAe;IACtC,QAAQ,EAAE,OAAO,CAAC,mBAAmB;IACrC,mBAAmB,EAAE,OAAO,CAAC,iBAAiB;IAC9C,qBAAqB,EAAE,OAAO,CAAC,QAAQ;IACvC,eAAe,EAAE,CACf,SAAiB,EACjB,OAAe;IACf,oDAAoD;IACpD,OAIC,EACD,EAAE;QACF,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,oDAAoD;QACpD,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;QAC7B,oDAAoD;QACpD,MAAM,cAAc,GAAG;YACrB,kBAAkB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;SAChD,CAAC;QACF,OAAO,OAAO,CAAC,aAAa,CAC1B,SAAS,EACT,OAAO,EACP,QAAQ;QACR,oDAAoD,CAAC,cAAc,CACpE,CAAC;IACJ,CAAC;IACD,eAAe,EAAE,OAAO,CAAC,aAAa;CACvC,CAAC,CACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommonProperties } from '@internal/acs-ui-common';\nimport { ChatHandlers } from '@internal/chat-component-bindings';\n\nimport { ReactElement } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { ChatAdapter } from '../adapter/ChatAdapter';\nimport { useAdapter } from '../adapter/ChatAdapterProvider';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '@internal/react-components';\n\n/**\n * @private\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport const useHandlers = <PropsT>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _component: (props: PropsT) => ReactElement | null\n): Pick<ChatHandlers, CommonProperties<ChatHandlers, PropsT>> => {\n return createCompositeHandlers(useAdapter());\n};\n\nconst createCompositeHandlers = memoizeOne(\n (adapter: ChatAdapter): ChatHandlers => ({\n onSendMessage: adapter.sendMessage,\n onLoadPreviousChatMessages: adapter.loadPreviousChatMessages,\n onMessageSeen: adapter.sendReadReceipt,\n onTyping: adapter.sendTypingIndicator,\n onRemoveParticipant: adapter.removeParticipant,\n updateThreadTopicName: adapter.setTopic,\n onUpdateMessage: (\n messageId: string,\n content: string,\n /* @conditional-compile-remove(attachment-upload) */\n options?: {\n metadata?: Record<string, string>;\n /* @conditional-compile-remove(attachment-upload) */\n attachmentMetadata?: AttachmentMetadata[];\n }\n ) => {\n let metadata = undefined;\n /* @conditional-compile-remove(attachment-upload) */\n metadata = options?.metadata;\n /* @conditional-compile-remove(attachment-upload) */\n const updatedOptions = {\n attachmentMetadata: options?.attachmentMetadata\n };\n return adapter.updateMessage(\n messageId,\n content,\n metadata,\n /* @conditional-compile-remove(attachment-upload) */ updatedOptions\n );\n },\n onDeleteMessage: adapter.deleteMessage\n })\n);\n"]}
1
+ {"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/hooks/useHandlers.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAI5D;;GAEG;AACH,+HAA+H;AAC/H,MAAM,CAAC,MAAM,WAAW,GAAG,CAAU,UAAkD,EAA8D,EAAE;IACrJ,OAAO,uBAAuB,CAAC,UAAU,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AACF,MAAM,uBAAuB,GAAG,UAAU,CAAC,CAAC,OAAoB,EAAgB,EAAE,CAAC,CAAC;IAClF,aAAa,EAAE,OAAO,CAAC,WAAW;IAClC,0BAA0B,EAAE,OAAO,CAAC,wBAAwB;IAC5D,aAAa,EAAE,OAAO,CAAC,eAAe;IACtC,QAAQ,EAAE,OAAO,CAAC,mBAAmB;IACrC,mBAAmB,EAAE,OAAO,CAAC,iBAAiB;IAC9C,qBAAqB,EAAE,OAAO,CAAC,QAAQ;IACvC,eAAe,EAAE,CAAC,SAAiB,EAAE,OAAe,EAAE,OAIrD,EAAE,EAAE;QACH,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,oDAAoD;QACpD,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;QAC7B,oDAAoD;QACpD,MAAM,cAAc,GAAG;YACrB,kBAAkB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB;SAChD,CAAC;QACF,OAAO,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,oDAAoD,CAAA,cAAc,CAAC,CAAC;IACjI,CAAC;IACD,eAAe,EAAE,OAAO,CAAC,aAAa;CACvC,CAAC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommonProperties } from '@internal/acs-ui-common';\nimport { ChatHandlers } from '@internal/chat-component-bindings';\nimport { ReactElement } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { ChatAdapter } from '../adapter/ChatAdapter';\nimport { useAdapter } from '../adapter/ChatAdapterProvider';\n/* @conditional-compile-remove(attachment-upload) */\nimport { AttachmentMetadata } from '@internal/react-components';\n\n/**\n * @private\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport const useHandlers = <PropsT,>(_component: (props: PropsT) => ReactElement | null): Pick<ChatHandlers, CommonProperties<ChatHandlers, PropsT>> => {\n return createCompositeHandlers(useAdapter());\n};\nconst createCompositeHandlers = memoizeOne((adapter: ChatAdapter): ChatHandlers => ({\n onSendMessage: adapter.sendMessage,\n onLoadPreviousChatMessages: adapter.loadPreviousChatMessages,\n onMessageSeen: adapter.sendReadReceipt,\n onTyping: adapter.sendTypingIndicator,\n onRemoveParticipant: adapter.removeParticipant,\n updateThreadTopicName: adapter.setTopic,\n onUpdateMessage: (messageId: string, content: string, options?: {\n metadata?: Record<string, string>;\n /* @conditional-compile-remove(attachment-upload) */\n attachmentMetadata?: AttachmentMetadata[];\n }) => {\n let metadata = undefined;\n /* @conditional-compile-remove(attachment-upload) */\n metadata = options?.metadata;\n /* @conditional-compile-remove(attachment-upload) */\n const updatedOptions = {\n attachmentMetadata: options?.attachmentMetadata\n };\n return adapter.updateMessage(messageId, content, metadata, /* @conditional-compile-remove(attachment-upload) */updatedOptions);\n },\n onDeleteMessage: adapter.deleteMessage\n}));"]}
@@ -1 +1 @@
1
- {"version":3,"file":"usePropsFor.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/hooks/usePropsFor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,uDAAuD;AAEvD,OAAO,EAAE,eAAe,EAAiC,mDAA0C;AAEnG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,SAAoB,EAGI,EAAE;IAC1B,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,uCAAY,kBAAkB,CAAC,QAAoB,CAAC,GAAK,WAAW,CAAC,SAAS,CAAC,EAAG;AACpF,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { getChatSelector, ChatHandlers, GetChatSelector } from '@internal/chat-component-bindings';\n\nimport { useHandlers } from './useHandlers';\nimport { useAdaptedSelector } from './useAdaptedSelector';\nimport { Common } from '@internal/acs-ui-common';\n\ntype Selector = (state: any, props: any) => any;\n\n/**\n * @private\n */\nexport const usePropsFor = <Component extends (props: any) => JSX.Element>(\n component: Component\n): GetChatSelector<Component> extends Selector\n ? ReturnType<GetChatSelector<Component>> & Common<ChatHandlers, Parameters<Component>[0]>\n : Record<string, never> => {\n const selector = getChatSelector(component);\n if (!selector) {\n throw new Error(\"Can't find the selector for component, please check supported component list\");\n }\n return { ...useAdaptedSelector(selector as Selector), ...useHandlers(component) };\n};\n"]}
1
+ {"version":3,"file":"usePropsFor.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/hooks/usePropsFor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,uDAAuD;AAEvD,OAAO,EAAE,eAAe,EAAiC,mDAA0C;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAiD,SAAoB,EAAiK,EAAE;IACjQ,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,uCACK,kBAAkB,CAAE,QAAqB,CAAC,GAC1C,WAAW,CAAC,SAAS,CAAC,EACzB;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { getChatSelector, ChatHandlers, GetChatSelector } from '@internal/chat-component-bindings';\nimport { useHandlers } from './useHandlers';\nimport { useAdaptedSelector } from './useAdaptedSelector';\nimport { Common } from '@internal/acs-ui-common';\ntype Selector = (state: any, props: any) => any;\n\n/**\n * @private\n */\nexport const usePropsFor = <Component extends (props: any) => JSX.Element,>(component: Component): GetChatSelector<Component> extends Selector ? ReturnType<GetChatSelector<Component>> & Common<ChatHandlers, Parameters<Component>[0]> : Record<string, never> => {\n const selector = getChatSelector(component);\n if (!selector) {\n throw new Error(\"Can't find the selector for component, please check supported component list\");\n }\n return {\n ...useAdaptedSelector((selector as Selector)),\n ...useHandlers(component)\n };\n};"]}
@@ -6,6 +6,6 @@ import { useSelectorWithAdaptation } from './useAdaptedSelector';
6
6
  */
7
7
  export const useSelector = (selector, selectorProps) => {
8
8
  // use selector with no adaptation
9
- return useSelectorWithAdaptation(selector, (state) => state, selectorProps);
9
+ return useSelectorWithAdaptation(selector, state => state, selectorProps);
10
10
  };
11
11
  //# sourceMappingURL=useSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSelector.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/ChatComposite/hooks/useSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,QAAmB,EACnB,aAAwC,EACjB,EAAE;IACzB,kCAAkC;IAClC,OAAO,yBAAyB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC9E,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { ChatAdapterState } from '../adapter/ChatAdapter';\nimport { useSelectorWithAdaptation } from './useAdaptedSelector';\n\n/**\n * @private\n */\nexport const useSelector = <SelectorT extends (state: ChatAdapterState, props: any) => any>(\n selector: SelectorT,\n selectorProps?: Parameters<SelectorT>[1]\n): ReturnType<SelectorT> => {\n // use selector with no adaptation\n return useSelectorWithAdaptation(selector, (state) => state, selectorProps);\n};\n"]}
1
+ {"version":3,"file":"useSelector.js","sourceRoot":"","sources":["../../../../../../../preprocess-dist/react-composites/src/composites/ChatComposite/hooks/useSelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAKlC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAkE,QAAmB,EAAE,aAAwC,EAAyB,EAAE;IACnL,kCAAkC;IAClC,OAAO,yBAAyB,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC5E,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { ChatAdapterState } from '../adapter/ChatAdapter';\nimport { useSelectorWithAdaptation } from './useAdaptedSelector';\n\n/**\n * @private\n */\nexport const useSelector = <SelectorT extends (state: ChatAdapterState, props: any) => any,>(selector: SelectorT, selectorProps?: Parameters<SelectorT>[1]): ReturnType<SelectorT> => {\n // use selector with no adaptation\n return useSelectorWithAdaptation(selector, state => state, selectorProps);\n};"]}